package Ġcom . av ito . android . build _ ver dict . internal Ċ Ċ import Ġcom . av ito . utils . getC ause s Re cursively Ċ import Ġcom . av ito . utils . get StackTrace String Ċ import Ġorg . gradle . internal . exceptions . Multi Cause Exception Ċ Ċ internal Ġsealed Ġclass ĠError Ġ{ ĊĊĠĠĠ Ġabstract Ġval Ġmessage : ĠString ĊĊĠĠĠ Ġdata Ġclass ĠMulti ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġmessage : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġerrors : ĠList < Single > ĊĠĠĠ Ġ) Ġ: ĠError () ĊĊĠĠĠ Ġdata Ġclass ĠSingle ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġmessage : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġstack Trace : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġcauses : ĠList < Cause > ĊĠĠĠ Ġ) Ġ: ĠError () ĊĊĠĠĠ Ġdata Ġclass ĠCause ( val Ġmessage : ĠString ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( throwable : ĠThrowable ) Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrowable Ġis ĠMulti Cause Exception Ġ&& Ġthrowable . cause s . size Ġ> Ġ 1 Ġ-> ĠMulti ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġthrowable . localized Message , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerrors Ġ= Ġthrowable . cause s . map Ġ{ Ġit . to Single () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrowable . to Single () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠThrowable . to Single () Ġ= ĠSingle ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġlocalized Message , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstack Trace Ġ= Ġget StackTrace String (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcauses Ġ= Ġget Cause s Re cursively (). map Ġ{ ĠCause ( it . localized Message Ġ?: Ġ"${ it :: class . java } Ġ( no Ġerror Ġmessage )") Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ