{"version":3,"file":"static/js/main.0bfd6eaf.js","mappings":";qDAEA,IAAIA,EAAkBC,EAAQ,MAE1BC,EAA4B,CAC9B,aAAc,OACd,YAAa,MACb,QAAW,QA2GbC,EAAOC,QAjGP,SAAcC,EAAMC,GAClB,IAAIC,EACFC,EACAC,EACAC,EACAC,EACAC,EACAC,GAAU,EACPP,IACHA,EAAU,CAAC,GAEbC,EAAQD,EAAQC,QAAS,EACzB,IAkDE,GAjDAE,EAAmBT,IAEnBU,EAAQI,SAASC,cACjBJ,EAAYG,SAASE,gBAErBJ,EAAOE,SAASG,cAAc,SACzBC,YAAcb,EAEnBO,EAAKO,WAAa,OAElBP,EAAKQ,MAAMC,IAAM,QAEjBT,EAAKQ,MAAME,SAAW,QACtBV,EAAKQ,MAAMG,IAAM,EACjBX,EAAKQ,MAAMI,KAAO,mBAElBZ,EAAKQ,MAAMK,WAAa,MAExBb,EAAKQ,MAAMM,iBAAmB,OAC9Bd,EAAKQ,MAAMO,cAAgB,OAC3Bf,EAAKQ,MAAMQ,aAAe,OAC1BhB,EAAKQ,MAAMS,WAAa,OACxBjB,EAAKkB,iBAAiB,QAAQ,SAASC,GAErC,GADAA,EAAEC,kBACE1B,EAAQ2B,OAEV,GADAF,EAAEG,iBAC6B,qBAApBH,EAAEI,cAA+B,CAC1C5B,GAAS6B,QAAQC,KAAK,iCACtB9B,GAAS6B,QAAQC,KAAK,4BACtBC,OAAOH,cAAcI,YACrB,IAAIN,EAAS/B,EAA0BI,EAAQ2B,SAAW/B,EAAmC,QAC7FoC,OAAOH,cAAcK,QAAQP,EAAQ5B,EACvC,MACE0B,EAAEI,cAAcI,YAChBR,EAAEI,cAAcK,QAAQlC,EAAQ2B,OAAQ5B,GAGxCC,EAAQmC,SACVV,EAAEG,iBACF5B,EAAQmC,OAAOV,EAAEI,eAErB,IAEArB,SAAS4B,KAAKC,YAAY/B,GAE1BF,EAAMkC,mBAAmBhC,GACzBD,EAAUkC,SAASnC,IAEFI,SAASgC,YAAY,QAEpC,MAAM,IAAIC,MAAM,iCAElBlC,GAAU,CACZ,CAAE,MAAOmC,GACPzC,GAAS6B,QAAQa,MAAM,qCAAsCD,GAC7DzC,GAAS6B,QAAQC,KAAK,4BACtB,IACEC,OAAOH,cAAcK,QAAQlC,EAAQ2B,QAAU,OAAQ5B,GACvDC,EAAQmC,QAAUnC,EAAQmC,OAAOH,OAAOH,eACxCtB,GAAU,CACZ,CAAE,MAAOmC,GACPzC,GAAS6B,QAAQa,MAAM,uCAAwCD,GAC/DzC,GAAS6B,QAAQa,MAAM,0BACvBzC,EAjFN,SAAgBA,GACd,IAAI0C,GAAW,YAAYC,KAAKC,UAAUC,WAAa,SAAM,QAAU,KACvE,OAAO7C,EAAQ8C,QAAQ,gBAAiBJ,EAC1C,CA8EgBjB,CAAO,YAAa3B,EAAUA,EAAQE,QAnFjC,oCAoFf8B,OAAOiB,OAAO/C,EAASH,EACzB,CACF,CAAE,QACIM,IACkC,mBAAzBA,EAAU6C,YACnB7C,EAAU6C,YAAY9C,GAEtBC,EAAU8C,mBAIV7C,GACFE,SAAS4B,KAAKgB,YAAY9C,GAE5BH,GACF,CAEA,OAAOI,CACT,uUChHA,SAAS8C,EAAWC,GAClB,MAA8B,MAAvBA,EAASC,OAAO,EACzB,CAGA,SAASC,EAAUC,EAAMC,GACvB,IAAK,IAAIC,EAAID,EAAOE,EAAID,EAAI,EAAGE,EAAIJ,EAAKK,OAAQF,EAAIC,EAAGF,GAAK,EAAGC,GAAK,EAClEH,EAAKE,GAAKF,EAAKG,GAGjBH,EAAKM,KACP,CA+DA,MA5DA,SAAyBC,EAAIC,QACdC,IAATD,IAAoBA,EAAO,IAE/B,IAkBIE,EAlBAC,EAAWJ,GAAMA,EAAGK,MAAM,MAAS,GACnCC,EAAaL,GAAQA,EAAKI,MAAM,MAAS,GAEzCE,EAAUP,GAAMX,EAAWW,GAC3BQ,EAAYP,GAAQZ,EAAWY,GAC/BQ,EAAaF,GAAWC,EAW5B,GATIR,GAAMX,EAAWW,GAEnBM,EAAYF,EACHA,EAAQN,SAEjBQ,EAAUP,MACVO,EAAYA,EAAUI,OAAON,KAG1BE,EAAUR,OAAQ,MAAO,IAG9B,GAAIQ,EAAUR,OAAQ,CACpB,IAAIa,EAAOL,EAAUA,EAAUR,OAAS,GACxCK,EAA4B,MAATQ,GAAyB,OAATA,GAA0B,KAATA,CACtD,MACER,GAAmB,EAIrB,IADA,IAAIS,EAAK,EACAjB,EAAIW,EAAUR,OAAQH,GAAK,EAAGA,IAAK,CAC1C,IAAIkB,EAAOP,EAAUX,GAER,MAATkB,EACFrB,EAAUc,EAAWX,GACH,OAATkB,GACTrB,EAAUc,EAAWX,GACrBiB,KACSA,IACTpB,EAAUc,EAAWX,GACrBiB,IAEJ,CAEA,IAAKH,EAAY,KAAOG,IAAMA,EAAIN,EAAUQ,QAAQ,OAGlDL,GACiB,KAAjBH,EAAU,IACRA,EAAU,IAAOjB,EAAWiB,EAAU,KAExCA,EAAUQ,QAAQ,IAEpB,IAAIC,EAAST,EAAUU,KAAK,KAI5B,OAFIb,GAA0C,MAAtBY,EAAOE,QAAQ,KAAYF,GAAU,KAEtDA,CACT,ECxEA,SAASG,EAAQC,GACf,OAAOA,EAAID,QAAUC,EAAID,UAAYE,OAAOC,UAAUH,QAAQI,KAAKH,EACrE,CAiCA,MA/BA,SAASI,EAAWC,EAAGC,GAErB,GAAID,IAAMC,EAAG,OAAO,EAGpB,GAAS,MAALD,GAAkB,MAALC,EAAW,OAAO,EAEnC,GAAIC,MAAMC,QAAQH,GAChB,OACEE,MAAMC,QAAQF,IACdD,EAAE1B,SAAW2B,EAAE3B,QACf0B,EAAEI,OAAM,SAASC,EAAMnC,GACrB,OAAO6B,EAAWM,EAAMJ,EAAE/B,GAC5B,IAIJ,GAAiB,kBAAN8B,GAA+B,kBAANC,EAAgB,CAClD,IAAIK,EAASZ,EAAQM,GACjBO,EAASb,EAAQO,GAErB,OAAIK,IAAWN,GAAKO,IAAWN,EAAUF,EAAWO,EAAQC,GAErDX,OAAOY,KAAKZ,OAAOa,OAAO,CAAC,EAAGT,EAAGC,IAAIG,OAAM,SAASM,GACzD,OAAOX,EAAWC,EAAEU,GAAMT,EAAES,GAC9B,GACF,CAEA,OAAO,CACT,YC3BA,SAASC,EAAgBC,GACvB,MAA0B,MAAnBA,EAAK7C,OAAO,GAAa6C,EAAO,IAAMA,CAC/C,CACA,SAASC,EAAkBD,GACzB,MAA0B,MAAnBA,EAAK7C,OAAO,GAAa6C,EAAKnB,OAAO,GAAKmB,CACnD,CAIA,SAASE,EAAcF,EAAMG,GAC3B,OAJF,SAAqBH,EAAMG,GACzB,OAA4D,IAArDH,EAAKI,cAAcC,QAAQF,EAAOC,iBAAuE,IAA/C,MAAMC,QAAQL,EAAK7C,OAAOgD,EAAOzC,QACpG,CAES4C,CAAYN,EAAMG,GAAUH,EAAKnB,OAAOsB,EAAOzC,QAAUsC,CAClE,CACA,SAASO,EAAmBP,GAC1B,MAAwC,MAAjCA,EAAK7C,OAAO6C,EAAKtC,OAAS,GAAasC,EAAKQ,MAAM,GAAI,GAAKR,CACpE,CACA,SAASS,EAAUT,GACjB,IAAI9C,EAAW8C,GAAQ,IACnBU,EAAS,GACTC,EAAO,GACPC,EAAY1D,EAASmD,QAAQ,MAEd,IAAfO,IACFD,EAAOzD,EAAS2B,OAAO+B,GACvB1D,EAAWA,EAAS2B,OAAO,EAAG+B,IAGhC,IAAIC,EAAc3D,EAASmD,QAAQ,KAOnC,OALqB,IAAjBQ,IACFH,EAASxD,EAAS2B,OAAOgC,GACzB3D,EAAWA,EAAS2B,OAAO,EAAGgC,IAGzB,CACL3D,SAAUA,EACVwD,OAAmB,MAAXA,EAAiB,GAAKA,EAC9BC,KAAe,MAATA,EAAe,GAAKA,EAE9B,CACA,SAASG,EAAWC,GAClB,IAAI7D,EAAW6D,EAAS7D,SACpBwD,EAASK,EAASL,OAClBC,EAAOI,EAASJ,KAChBX,EAAO9C,GAAY,IAGvB,OAFIwD,GAAqB,MAAXA,IAAgBV,GAA6B,MAArBU,EAAOvD,OAAO,GAAauD,EAAS,IAAMA,GAC5EC,GAAiB,MAATA,IAAcX,GAA2B,MAAnBW,EAAKxD,OAAO,GAAawD,EAAO,IAAMA,GACjEX,CACT,CAEA,SAASgB,EAAehB,EAAMiB,EAAOnB,EAAKoB,GACxC,IAAIH,EAEgB,kBAATf,GAETe,EAAWN,EAAUT,IACZiB,MAAQA,QAISnD,KAD1BiD,GAAWI,EAAAA,EAAAA,GAAS,CAAC,EAAGnB,IACX9C,WAAwB6D,EAAS7D,SAAW,IAErD6D,EAASL,OACuB,MAA9BK,EAASL,OAAOvD,OAAO,KAAY4D,EAASL,OAAS,IAAMK,EAASL,QAExEK,EAASL,OAAS,GAGhBK,EAASJ,KACqB,MAA5BI,EAASJ,KAAKxD,OAAO,KAAY4D,EAASJ,KAAO,IAAMI,EAASJ,MAEpEI,EAASJ,KAAO,QAGJ7C,IAAVmD,QAA0CnD,IAAnBiD,EAASE,QAAqBF,EAASE,MAAQA,IAG5E,IACEF,EAAS7D,SAAWkE,UAAUL,EAAS7D,SACzC,CAAE,MAAO7B,GACP,MAAIA,aAAagG,SACT,IAAIA,SAAS,aAAeN,EAAS7D,SAAxB,iFAEb7B,CAEV,CAkBA,OAhBIyE,IAAKiB,EAASjB,IAAMA,GAEpBoB,EAEGH,EAAS7D,SAE6B,MAAhC6D,EAAS7D,SAASC,OAAO,KAClC4D,EAAS7D,SAAWoE,EAAgBP,EAAS7D,SAAUgE,EAAgBhE,WAFvE6D,EAAS7D,SAAWgE,EAAgBhE,SAMjC6D,EAAS7D,WACZ6D,EAAS7D,SAAW,KAIjB6D,CACT,CACA,SAASQ,EAAkBnC,EAAGC,GAC5B,OAAOD,EAAElC,WAAamC,EAAEnC,UAAYkC,EAAEsB,SAAWrB,EAAEqB,QAAUtB,EAAEuB,OAAStB,EAAEsB,MAAQvB,EAAEU,MAAQT,EAAES,KAAOX,EAAWC,EAAE6B,MAAO5B,EAAE4B,MAC7H,CAEA,SAASO,IACP,IAAI3E,EAAS,KAiCb,IAAI4E,EAAY,GA4BhB,MAAO,CACLC,UA5DF,SAAmBC,GAGjB,OADA9E,EAAS8E,EACF,WACD9E,IAAW8E,IAAY9E,EAAS,KACtC,CACF,EAuDE+E,oBArDF,SAA6Bb,EAAUc,EAAQC,EAAqBC,GAIlE,GAAc,MAAVlF,EAAgB,CAClB,IAAI8B,EAA2B,oBAAX9B,EAAwBA,EAAOkE,EAAUc,GAAUhF,EAEjD,kBAAX8B,EAC0B,oBAAxBmD,EACTA,EAAoBnD,EAAQoD,GAG5BA,GAAS,GAIXA,GAAoB,IAAXpD,EAEb,MACEoD,GAAS,EAEb,EAiCEC,eA7BF,SAAwBC,GACtB,IAAIC,GAAW,EAEf,SAASC,IACHD,GAAUD,EAAGG,WAAM,EAAQC,UACjC,CAGA,OADAZ,EAAUa,KAAKH,GACR,WACLD,GAAW,EACXT,EAAYA,EAAUc,QAAO,SAAU9C,GACrC,OAAOA,IAAS0C,CAClB,GACF,CACF,EAgBEK,gBAdF,WACE,IAAK,IAAIC,EAAOJ,UAAU3E,OAAQgF,EAAO,IAAIpD,MAAMmD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQN,UAAUM,GAGzBlB,EAAUmB,SAAQ,SAAUT,GAC1B,OAAOA,EAASC,WAAM,EAAQM,EAChC,GACF,EAQF,CAEA,IAAIG,IAAiC,qBAAXjH,SAA0BA,OAAOxB,WAAYwB,OAAOxB,SAASG,eACvF,SAASuI,EAAgBhJ,EAASiI,GAChCA,EAASnG,OAAOmH,QAAQjJ,GAC1B,CAuCA,IAAIkJ,EAAgB,WAChBC,EAAkB,aAEtB,SAASC,IACP,IACE,OAAOtH,OAAOuH,QAAQlC,OAAS,CAAC,CAClC,CAAE,MAAO5F,GAGP,MAAO,CAAC,CACV,CACF,CAOA,SAAS+H,EAAqBC,QACd,IAAVA,IACFA,EAAQ,CAAC,GAGVR,IAAsGS,EAAAA,EAAAA,IAAU,GACjH,IAAIC,EAAgB3H,OAAOuH,QACvBK,EAvDN,WACE,IAAIC,EAAK7H,OAAOc,UAAUC,UAC1B,QAAmC,IAA9B8G,EAAGpD,QAAQ,gBAAuD,IAA/BoD,EAAGpD,QAAQ,iBAA2D,IAAjCoD,EAAGpD,QAAQ,mBAAqD,IAA1BoD,EAAGpD,QAAQ,YAAqD,IAAjCoD,EAAGpD,QAAQ,mBACtJzE,OAAOuH,SAAW,cAAevH,OAAOuH,OACjD,CAmDsBO,GAChBC,KA7CsD,IAAnD/H,OAAOc,UAAUC,UAAU0D,QAAQ,YA8CtCuD,EAASP,EACTQ,EAAsBD,EAAOE,aAC7BA,OAAuC,IAAxBD,GAAyCA,EACxDE,EAAwBH,EAAO9B,oBAC/BA,OAAgD,IAA1BiC,EAAmCjB,EAAkBiB,EAC3EC,EAAmBJ,EAAOK,UAC1BA,OAAiC,IAArBD,EAA8B,EAAIA,EAC9CE,EAAWb,EAAMa,SAAW3D,EAAmBR,EAAgBsD,EAAMa,WAAa,GAEtF,SAASC,EAAeC,GACtB,IAAIC,EAAOD,GAAgB,CAAC,EACxBtE,EAAMuE,EAAKvE,IACXmB,EAAQoD,EAAKpD,MAEbqD,EAAmB1I,OAAOmF,SAI1Bf,EAHWsE,EAAiBpH,SACnBoH,EAAiB5D,OACnB4D,EAAiB3D,KAI5B,OADIuD,IAAUlE,EAAOE,EAAcF,EAAMkE,IAClClD,EAAehB,EAAMiB,EAAOnB,EACrC,CAEA,SAASyE,IACP,OAAOC,KAAKC,SAASC,SAAS,IAAI7F,OAAO,EAAGoF,EAC9C,CAEA,IAAIU,EAAoBnD,IAExB,SAASoD,EAASC,IAChB1D,EAAAA,EAAAA,GAASgC,EAAS0B,GAElB1B,EAAQzF,OAAS6F,EAAc7F,OAC/BiH,EAAkBnC,gBAAgBW,EAAQpC,SAAUoC,EAAQtB,OAC9D,CAEA,SAASiD,EAAeC,IApE1B,SAAmCA,GACjC,YAAuBjH,IAAhBiH,EAAM9D,QAAiE,IAA1CvE,UAAUC,UAAU0D,QAAQ,QAClE,EAoEQ2E,CAA0BD,IAC9BE,EAAUd,EAAeY,EAAM9D,OACjC,CAEA,SAASiE,IACPD,EAAUd,EAAejB,KAC3B,CAEA,IAAIiC,GAAe,EAEnB,SAASF,EAAUlE,GACjB,GAAIoE,EACFA,GAAe,EACfP,QACK,CAELD,EAAkB/C,oBAAoBb,EADzB,MAC2Ce,GAAqB,SAAUsD,GACjFA,EACFR,EAAS,CACP/C,OAJO,MAKPd,SAAUA,IASpB,SAAmBsE,GACjB,IAAIC,EAAanC,EAAQpC,SAIrBwE,EAAUC,EAAQnF,QAAQiF,EAAWxF,MACxB,IAAbyF,IAAgBA,EAAU,GAC9B,IAAIE,EAAYD,EAAQnF,QAAQgF,EAAavF,MAC1B,IAAf2F,IAAkBA,EAAY,GAClC,IAAIC,EAAQH,EAAUE,EAElBC,IACFP,GAAe,EACfQ,EAAGD,GAEP,CArBQE,CAAU7E,EAEd,GACF,CACF,CAmBA,IAAI8E,EAAkB1B,EAAejB,KACjCsC,EAAU,CAACK,EAAgB/F,KAE/B,SAASgG,EAAW/E,GAClB,OAAOmD,EAAWpD,EAAWC,EAC/B,CAsEA,SAAS4E,EAAGlI,GACV8F,EAAcoC,GAAGlI,EACnB,CAUA,IAAIsI,EAAgB,EAEpB,SAASC,EAAkBN,GAGH,KAFtBK,GAAiBL,IAEoB,IAAVA,GACzB9J,OAAOR,iBAAiB4H,EAAe8B,GACnCnB,GAAyB/H,OAAOR,iBAAiB6H,EAAiBiC,IAC3C,IAAlBa,IACTnK,OAAOqK,oBAAoBjD,EAAe8B,GACtCnB,GAAyB/H,OAAOqK,oBAAoBhD,EAAiBiC,GAE7E,CAEA,IAAIgB,GAAY,EAiChB,IAAI/C,EAAU,CACZzF,OAAQ6F,EAAc7F,OACtBmE,OAAQ,MACRd,SAAU8E,EACVC,WAAYA,EACZxD,KApIF,SAActC,EAAMiB,GAElB,IAAIY,EAAS,OACTd,EAAWC,EAAehB,EAAMiB,EAAOsD,IAAapB,EAAQpC,UAChE4D,EAAkB/C,oBAAoBb,EAAUc,EAAQC,GAAqB,SAAUsD,GACrF,GAAKA,EAAL,CACA,IAAIe,EAAOL,EAAW/E,GAClBjB,EAAMiB,EAASjB,IACfmB,EAAQF,EAASE,MAErB,GAAIuC,EAMF,GALAD,EAAc6C,UAAU,CACtBtG,IAAKA,EACLmB,MAAOA,GACN,KAAMkF,GAELrC,EACFlI,OAAOmF,SAASoF,KAAOA,MAClB,CACL,IAAIE,EAAYb,EAAQnF,QAAQ8C,EAAQpC,SAASjB,KAC7CwG,EAAWd,EAAQhF,MAAM,EAAG6F,EAAY,GAC5CC,EAAShE,KAAKvB,EAASjB,KACvB0F,EAAUc,EACV1B,EAAS,CACP/C,OAAQA,EACRd,SAAUA,GAEd,MAGAnF,OAAOmF,SAASoF,KAAOA,CAzBV,CA2BjB,GACF,EAoGEvJ,QAlGF,SAAiBoD,EAAMiB,GAErB,IAAIY,EAAS,UACTd,EAAWC,EAAehB,EAAMiB,EAAOsD,IAAapB,EAAQpC,UAChE4D,EAAkB/C,oBAAoBb,EAAUc,EAAQC,GAAqB,SAAUsD,GACrF,GAAKA,EAAL,CACA,IAAIe,EAAOL,EAAW/E,GAClBjB,EAAMiB,EAASjB,IACfmB,EAAQF,EAASE,MAErB,GAAIuC,EAMF,GALAD,EAAcgD,aAAa,CACzBzG,IAAKA,EACLmB,MAAOA,GACN,KAAMkF,GAELrC,EACFlI,OAAOmF,SAASnE,QAAQuJ,OACnB,CACL,IAAIE,EAAYb,EAAQnF,QAAQ8C,EAAQpC,SAASjB,MAC9B,IAAfuG,IAAkBb,EAAQa,GAAatF,EAASjB,KACpD8E,EAAS,CACP/C,OAAQA,EACRd,SAAUA,GAEd,MAGAnF,OAAOmF,SAASnE,QAAQuJ,EAvBX,CAyBjB,GACF,EAoEER,GAAIA,EACJa,OA/DF,WACEb,GAAI,EACN,EA8DEc,UA5DF,WACEd,EAAG,EACL,EA2DEe,MAzCF,SAAe7J,QACE,IAAXA,IACFA,GAAS,GAGX,IAAI8J,EAAUhC,EAAkBjD,UAAU7E,GAO1C,OALKqJ,IACHF,EAAkB,GAClBE,GAAY,GAGP,WAML,OALIA,IACFA,GAAY,EACZF,GAAmB,IAGdW,GACT,CACF,EAsBEC,OApBF,SAAgBzE,GACd,IAAI0E,EAAWlC,EAAkB3C,eAAeG,GAEhD,OADA6D,EAAkB,GACX,WACLA,GAAmB,GACnBa,GACF,CACF,GAeA,OAAO1D,CACT,CAEA,IAAI2D,EAAoB,aACpBC,EAAiB,CACnBC,SAAU,CACRC,WAAY,SAAoBjH,GAC9B,MAA0B,MAAnBA,EAAK7C,OAAO,GAAa6C,EAAO,KAAOC,EAAkBD,EAClE,EACAkH,WAAY,SAAoBlH,GAC9B,MAA0B,MAAnBA,EAAK7C,OAAO,GAAa6C,EAAKnB,OAAO,GAAKmB,CACnD,GAEFmH,QAAS,CACPF,WAAYhH,EACZiH,WAAYnH,GAEdqH,MAAO,CACLH,WAAYlH,EACZmH,WAAYnH,IAIhB,SAASsH,EAAUC,GACjB,IAAI1G,EAAY0G,EAAIjH,QAAQ,KAC5B,OAAsB,IAAfO,EAAmB0G,EAAMA,EAAI9G,MAAM,EAAGI,EAC/C,CAEA,SAAS2G,IAGP,IAAIpB,EAAOvK,OAAOmF,SAASoF,KACvBvF,EAAYuF,EAAK9F,QAAQ,KAC7B,OAAsB,IAAfO,EAAmB,GAAKuF,EAAKqB,UAAU5G,EAAY,EAC5D,CAMA,SAAS6G,EAAgBzH,GACvBpE,OAAOmF,SAASnE,QAAQyK,EAAUzL,OAAOmF,SAASoF,MAAQ,IAAMnG,EAClE,CAEA,SAAS0H,EAAkBrE,QACX,IAAVA,IACFA,EAAQ,CAAC,GAGVR,IAAmGS,EAAAA,EAAAA,IAAU,GAC9G,IAAIC,EAAgB3H,OAAOuH,QAEvBS,GAnUGhI,OAAOc,UAAUC,UAAU0D,QAAQ,WAmU7BgD,GACTU,EAAwBH,EAAO9B,oBAC/BA,OAAgD,IAA1BiC,EAAmCjB,EAAkBiB,EAC3E4D,EAAkB/D,EAAOgE,SACzBA,OAA+B,IAApBD,EAA6B,QAAUA,EAClDzD,EAAWb,EAAMa,SAAW3D,EAAmBR,EAAgBsD,EAAMa,WAAa,GAClF2D,EAAwBd,EAAea,GACvCX,EAAaY,EAAsBZ,WACnCC,EAAaW,EAAsBX,WAEvC,SAAS/C,IACP,IAAInE,EAAOkH,EAAWK,KAGtB,OADIrD,IAAUlE,EAAOE,EAAcF,EAAMkE,IAClClD,EAAehB,EACxB,CAEA,IAAI2E,EAAoBnD,IAExB,SAASoD,EAASC,IAChB1D,EAAAA,EAAAA,GAASgC,EAAS0B,GAElB1B,EAAQzF,OAAS6F,EAAc7F,OAC/BiH,EAAkBnC,gBAAgBW,EAAQpC,SAAUoC,EAAQtB,OAC9D,CAEA,IAAIsD,GAAe,EACf2C,EAAa,KAMjB,SAAS5C,IACP,IAL4B9F,EAAGC,EAK3BW,EAAOuH,IACPQ,EAAcd,EAAWjH,GAE7B,GAAIA,IAAS+H,EAEXN,EAAgBM,OACX,CACL,IAAIhH,EAAWoD,IACX6D,EAAe7E,EAAQpC,SAC3B,IAAKoE,IAdwB9F,EAc2B0B,GAd9B3B,EAcgB4I,GAbnC9K,WAAamC,EAAEnC,UAAYkC,EAAEsB,SAAWrB,EAAEqB,QAAUtB,EAAEuB,OAAStB,EAAEsB,MAaL,OAEnE,GAAImH,IAAehH,EAAWC,GAAW,OAEzC+G,EAAa,KAKjB,SAAmB/G,GACjB,GAAIoE,EACFA,GAAe,EACfP,QACK,CACL,IAAI/C,EAAS,MACb8C,EAAkB/C,oBAAoBb,EAAUc,EAAQC,GAAqB,SAAUsD,GACjFA,EACFR,EAAS,CACP/C,OAAQA,EACRd,SAAUA,IASpB,SAAmBsE,GACjB,IAAIC,EAAanC,EAAQpC,SAIrBwE,EAAU0C,EAASC,YAAYpH,EAAWwE,KAC7B,IAAbC,IAAgBA,EAAU,GAC9B,IAAIE,EAAYwC,EAASC,YAAYpH,EAAWuE,KAC7B,IAAfI,IAAkBA,EAAY,GAClC,IAAIC,EAAQH,EAAUE,EAElBC,IACFP,GAAe,EACfQ,EAAGD,GAEP,CArBQE,CAAU7E,EAEd,GACF,CACF,CArBIkE,CAAUlE,EACZ,CACF,CAuCA,IAAIf,EAAOuH,IACPQ,EAAcd,EAAWjH,GACzBA,IAAS+H,GAAaN,EAAgBM,GAC1C,IAAIlC,EAAkB1B,IAClB8D,EAAW,CAACnH,EAAW+E,IAuE3B,SAASF,EAAGlI,GAEV8F,EAAcoC,GAAGlI,EACnB,CAUA,IAAIsI,EAAgB,EAEpB,SAASC,EAAkBN,GAGH,KAFtBK,GAAiBL,IAEoB,IAAVA,EACzB9J,OAAOR,iBAAiB0L,EAAmB5B,GAChB,IAAlBa,GACTnK,OAAOqK,oBAAoBa,EAAmB5B,EAElD,CAEA,IAAIgB,GAAY,EAiChB,IAAI/C,EAAU,CACZzF,OAAQ6F,EAAc7F,OACtBmE,OAAQ,MACRd,SAAU8E,EACVC,WAnIF,SAAoB/E,GAClB,IAAIoH,EAAU/N,SAASgO,cAAc,QACjCjC,EAAO,GAMX,OAJIgC,GAAWA,EAAQE,aAAa,UAClClC,EAAOkB,EAAUzL,OAAOmF,SAASoF,OAG5BA,EAAO,IAAMc,EAAW/C,EAAWpD,EAAWC,GACvD,EA2HEuB,KAzHF,SAActC,EAAMiB,GAElB,IAAIY,EAAS,OACTd,EAAWC,EAAehB,OAAMlC,OAAWA,EAAWqF,EAAQpC,UAClE4D,EAAkB/C,oBAAoBb,EAAUc,EAAQC,GAAqB,SAAUsD,GACrF,GAAKA,EAAL,CACA,IAAIpF,EAAOc,EAAWC,GAClBgH,EAAcd,EAAW/C,EAAWlE,GAGxC,GAFkBuH,MAAkBQ,EAEnB,CAIfD,EAAa9H,EAxIrB,SAAsBA,GACpBpE,OAAOmF,SAASJ,KAAOX,CACzB,CAuIQsI,CAAaP,GACb,IAAI1B,EAAY4B,EAASC,YAAYpH,EAAWqC,EAAQpC,WACpDwH,EAAYN,EAASzH,MAAM,EAAG6F,EAAY,GAC9CkC,EAAUjG,KAAKtC,GACfiI,EAAWM,EACX3D,EAAS,CACP/C,OAAQA,EACRd,SAAUA,GAEd,MAEE6D,GArBa,CAuBjB,GACF,EA6FEhI,QA3FF,SAAiBoD,EAAMiB,GAErB,IAAIY,EAAS,UACTd,EAAWC,EAAehB,OAAMlC,OAAWA,EAAWqF,EAAQpC,UAClE4D,EAAkB/C,oBAAoBb,EAAUc,EAAQC,GAAqB,SAAUsD,GACrF,GAAKA,EAAL,CACA,IAAIpF,EAAOc,EAAWC,GAClBgH,EAAcd,EAAW/C,EAAWlE,GACtBuH,MAAkBQ,IAMlCD,EAAa9H,EACbyH,EAAgBM,IAGlB,IAAI1B,EAAY4B,EAAS5H,QAAQS,EAAWqC,EAAQpC,YACjC,IAAfsF,IAAkB4B,EAAS5B,GAAarG,GAC5C4E,EAAS,CACP/C,OAAQA,EACRd,SAAUA,GAjBG,CAmBjB,GACF,EAmEE4E,GAAIA,EACJa,OA7DF,WACEb,GAAI,EACN,EA4DEc,UA1DF,WACEd,EAAG,EACL,EAyDEe,MAzCF,SAAe7J,QACE,IAAXA,IACFA,GAAS,GAGX,IAAI8J,EAAUhC,EAAkBjD,UAAU7E,GAO1C,OALKqJ,IACHF,EAAkB,GAClBE,GAAY,GAGP,WAML,OALIA,IACFA,GAAY,EACZF,GAAmB,IAGdW,GACT,CACF,EAsBEC,OApBF,SAAgBzE,GACd,IAAI0E,EAAWlC,EAAkB3C,eAAeG,GAEhD,OADA6D,EAAkB,GACX,WACLA,GAAmB,GACnBa,GACF,CACF,GAeA,OAAO1D,CACT,CAEA,SAASqF,EAAM/K,EAAGgL,EAAYC,GAC5B,OAAOlE,KAAKmE,IAAInE,KAAKoE,IAAInL,EAAGgL,GAAaC,EAC3C,CAMA,SAASG,EAAoBxF,QACb,IAAVA,IACFA,EAAQ,CAAC,GAGX,IAAIO,EAASP,EACTvB,EAAsB8B,EAAO9B,oBAC7BgH,EAAwBlF,EAAOmF,eAC/BA,OAA2C,IAA1BD,EAAmC,CAAC,KAAOA,EAC5DE,EAAsBpF,EAAOqF,aAC7BA,OAAuC,IAAxBD,EAAiC,EAAIA,EACpDhF,EAAmBJ,EAAOK,UAC1BA,OAAiC,IAArBD,EAA8B,EAAIA,EAC9CW,EAAoBnD,IAExB,SAASoD,EAASC,IAChB1D,EAAAA,EAAAA,GAASgC,EAAS0B,GAElB1B,EAAQzF,OAASyF,EAAQ+F,QAAQxL,OACjCiH,EAAkBnC,gBAAgBW,EAAQpC,SAAUoC,EAAQtB,OAC9D,CAEA,SAAS0C,IACP,OAAOC,KAAKC,SAASC,SAAS,IAAI7F,OAAO,EAAGoF,EAC9C,CAEA,IAAI3G,EAAQkL,EAAMS,EAAc,EAAGF,EAAerL,OAAS,GACvDwL,EAAUH,EAAeI,KAAI,SAAUC,GACzC,OAAmCpI,EAAeoI,OAAOtL,EAAjC,kBAAVsL,EAAsD7E,IAAgD6E,EAAMtJ,KAAOyE,IACnI,IAEIuB,EAAahF,EAyCjB,SAAS6E,EAAGlI,GACV,IAAI4L,EAAYb,EAAMrF,EAAQ7F,MAAQG,EAAG,EAAG0F,EAAQ+F,QAAQxL,OAAS,GAEjEqD,EAAWoC,EAAQ+F,QAAQG,GAC/B1E,EAAkB/C,oBAAoBb,EAFzB,MAE2Ce,GAAqB,SAAUsD,GACjFA,EACFR,EAAS,CACP/C,OALO,MAMPd,SAAUA,EACVzD,MAAO+L,IAKTzE,GAEJ,GACF,CA2BA,IAAIzB,EAAU,CACZzF,OAAQwL,EAAQxL,OAChBmE,OAAQ,MACRd,SAAUmI,EAAQ5L,GAClBA,MAAOA,EACP4L,QAASA,EACTpD,WAAYA,EACZxD,KA1FF,SAActC,EAAMiB,GAElB,IAAIY,EAAS,OACTd,EAAWC,EAAehB,EAAMiB,EAAOsD,IAAapB,EAAQpC,UAChE4D,EAAkB/C,oBAAoBb,EAAUc,EAAQC,GAAqB,SAAUsD,GACrF,GAAKA,EAAL,CACA,IACIiE,EADYlG,EAAQ7F,MACI,EACxBgM,EAAcnG,EAAQ+F,QAAQ1I,MAAM,GAEpC8I,EAAY5L,OAAS2L,EACvBC,EAAYC,OAAOF,EAAWC,EAAY5L,OAAS2L,EAAWtI,GAE9DuI,EAAYhH,KAAKvB,GAGnB6D,EAAS,CACP/C,OAAQA,EACRd,SAAUA,EACVzD,MAAO+L,EACPH,QAASI,GAfI,CAiBjB,GACF,EAoEE1M,QAlEF,SAAiBoD,EAAMiB,GAErB,IAAIY,EAAS,UACTd,EAAWC,EAAehB,EAAMiB,EAAOsD,IAAapB,EAAQpC,UAChE4D,EAAkB/C,oBAAoBb,EAAUc,EAAQC,GAAqB,SAAUsD,GAChFA,IACLjC,EAAQ+F,QAAQ/F,EAAQ7F,OAASyD,EACjC6D,EAAS,CACP/C,OAAQA,EACRd,SAAUA,IAEd,GACF,EAuDE4E,GAAIA,EACJa,OAnCF,WACEb,GAAI,EACN,EAkCEc,UAhCF,WACEd,EAAG,EACL,EA+BE6D,MA7BF,SAAe/L,GACb,IAAI4L,EAAYlG,EAAQ7F,MAAQG,EAChC,OAAO4L,GAAa,GAAKA,EAAYlG,EAAQ+F,QAAQxL,MACvD,EA2BEgJ,MAzBF,SAAe7J,GAKb,YAJe,IAAXA,IACFA,GAAS,GAGJ8H,EAAkBjD,UAAU7E,EACrC,EAoBE+J,OAlBF,SAAgBzE,GACd,OAAOwC,EAAkB3C,eAAeG,EAC1C,GAkBA,OAAOgB,CACT,qCCl5BA,IAAIsG,EAAUlQ,EAAQ,MAMlBmQ,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRC,WAAW,EACXC,MAAM,GAEJC,EAAgB,CAClBC,MAAM,EACN7M,QAAQ,EACRuB,WAAW,EACXuL,QAAQ,EACRC,QAAQ,EACRpI,WAAW,EACXqI,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTd,cAAc,EACdC,aAAa,EACbK,WAAW,EACXC,MAAM,GAEJQ,EAAe,CAAC,EAIpB,SAASC,EAAWC,GAElB,OAAItB,EAAQuB,OAAOD,GACVJ,EAIFE,EAAaE,EAAoB,WAAMrB,CAChD,CAXAmB,EAAapB,EAAQwB,YAhBK,CACxB,UAAY,EACZC,QAAQ,EACRpB,cAAc,EACdC,aAAa,EACbK,WAAW,GAYbS,EAAapB,EAAQ0B,MAAQR,EAY7B,IAAIS,EAAiBpM,OAAOoM,eACxBC,EAAsBrM,OAAOqM,oBAC7BC,EAAwBtM,OAAOsM,sBAC/BC,EAA2BvM,OAAOuM,yBAClCC,EAAiBxM,OAAOwM,eACxBC,EAAkBzM,OAAOC,UAsC7BxF,EAAOC,QArCP,SAASgS,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,kBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBN,EAAeI,GAEpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,EAE9D,CAEA,IAAIjM,EAAOyL,EAAoBO,GAE3BN,IACF1L,EAAOA,EAAKtB,OAAOgN,EAAsBM,KAM3C,IAHA,IAAIG,EAAgBjB,EAAWa,GAC3BK,EAAgBlB,EAAWc,GAEtBrO,EAAI,EAAGA,EAAIqC,EAAKlC,SAAUH,EAAG,CACpC,IAAIuC,EAAMF,EAAKrC,GAEf,IAAK+M,EAAcxK,MAAU+L,IAAaA,EAAU/L,OAAWkM,IAAiBA,EAAclM,OAAWiM,IAAiBA,EAAcjM,IAAO,CAC7I,IAAImM,EAAaV,EAAyBK,EAAiB9L,GAE3D,IAEEsL,EAAeO,EAAiB7L,EAAKmM,EACvC,CAAE,MAAO5Q,GAAI,CACf,CACF,CACF,CAEA,OAAOsQ,CACT,kCC3Fa,IAAItM,EAAE,oBAAoB6M,QAAQA,OAAOC,IAAIC,EAAE/M,EAAE6M,OAAOC,IAAI,iBAAiB,MAAME,EAAEhN,EAAE6M,OAAOC,IAAI,gBAAgB,MAAM9Q,EAAEgE,EAAE6M,OAAOC,IAAI,kBAAkB,MAAMG,EAAEjN,EAAE6M,OAAOC,IAAI,qBAAqB,MAAMI,EAAElN,EAAE6M,OAAOC,IAAI,kBAAkB,MAAMK,EAAEnN,EAAE6M,OAAOC,IAAI,kBAAkB,MAAM3O,EAAE6B,EAAE6M,OAAOC,IAAI,iBAAiB,MAAMM,EAAEpN,EAAE6M,OAAOC,IAAI,oBAAoB,MAAMO,EAAErN,EAAE6M,OAAOC,IAAI,yBAAyB,MAAM1O,EAAE4B,EAAE6M,OAAOC,IAAI,qBAAqB,MAAMQ,EAAEtN,EAAE6M,OAAOC,IAAI,kBAAkB,MAAMS,EAAEvN,EACpf6M,OAAOC,IAAI,uBAAuB,MAAMU,EAAExN,EAAE6M,OAAOC,IAAI,cAAc,MAAMW,EAAEzN,EAAE6M,OAAOC,IAAI,cAAc,MAAMY,EAAE1N,EAAE6M,OAAOC,IAAI,eAAe,MAAMa,EAAE3N,EAAE6M,OAAOC,IAAI,qBAAqB,MAAMc,EAAE5N,EAAE6M,OAAOC,IAAI,mBAAmB,MAAMe,EAAE7N,EAAE6M,OAAOC,IAAI,eAAe,MAClQ,SAASgB,EAAE/N,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIgO,EAAEhO,EAAEiO,SAAS,OAAOD,GAAG,KAAKhB,EAAE,OAAOhN,EAAEA,EAAEiL,MAAQ,KAAKoC,EAAE,KAAKC,EAAE,KAAKrR,EAAE,KAAKkR,EAAE,KAAKD,EAAE,KAAKK,EAAE,OAAOvN,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEiO,UAAY,KAAK7P,EAAE,KAAKC,EAAE,KAAKqP,EAAE,KAAKD,EAAE,KAAKL,EAAE,OAAOpN,EAAE,QAAQ,OAAOgO,GAAG,KAAKf,EAAE,OAAOe,EAAE,CAAC,CAAC,SAASE,EAAElO,GAAG,OAAO+N,EAAE/N,KAAKsN,CAAC,CAAChT,EAAQ6T,UAAUd,EAAE/S,EAAQ8T,eAAed,EAAEhT,EAAQ+T,gBAAgBjQ,EAAE9D,EAAQgU,gBAAgBlB,EAAE9S,EAAQiU,QAAQvB,EAAE1S,EAAQuR,WAAWxN,EAAE/D,EAAQkU,SAASvS,EAAE3B,EAAQmU,KAAKf,EAAEpT,EAAQyR,KAAK0B,EAAEnT,EAAQoU,OAAOzB,EAChf3S,EAAQqU,SAASxB,EAAE7S,EAAQsU,WAAW1B,EAAE5S,EAAQuU,SAAStB,EAAEjT,EAAQwU,YAAY,SAAS9O,GAAG,OAAOkO,EAAElO,IAAI+N,EAAE/N,KAAKqN,CAAC,EAAE/S,EAAQyU,iBAAiBb,EAAE5T,EAAQ0U,kBAAkB,SAAShP,GAAG,OAAO+N,EAAE/N,KAAK5B,CAAC,EAAE9D,EAAQ2U,kBAAkB,SAASjP,GAAG,OAAO+N,EAAE/N,KAAKoN,CAAC,EAAE9S,EAAQ4U,UAAU,SAASlP,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEiO,WAAWjB,CAAC,EAAE1S,EAAQ6U,aAAa,SAASnP,GAAG,OAAO+N,EAAE/N,KAAK3B,CAAC,EAAE/D,EAAQ8U,WAAW,SAASpP,GAAG,OAAO+N,EAAE/N,KAAK/D,CAAC,EAAE3B,EAAQ+U,OAAO,SAASrP,GAAG,OAAO+N,EAAE/N,KAAK0N,CAAC,EAC1dpT,EAAQsR,OAAO,SAAS5L,GAAG,OAAO+N,EAAE/N,KAAKyN,CAAC,EAAEnT,EAAQgV,SAAS,SAAStP,GAAG,OAAO+N,EAAE/N,KAAKiN,CAAC,EAAE3S,EAAQiV,WAAW,SAASvP,GAAG,OAAO+N,EAAE/N,KAAKmN,CAAC,EAAE7S,EAAQkV,aAAa,SAASxP,GAAG,OAAO+N,EAAE/N,KAAKkN,CAAC,EAAE5S,EAAQmV,WAAW,SAASzP,GAAG,OAAO+N,EAAE/N,KAAKuN,CAAC,EAC1OjT,EAAQoV,mBAAmB,SAAS1P,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAI/D,GAAG+D,IAAIsN,GAAGtN,IAAImN,GAAGnN,IAAIkN,GAAGlN,IAAIuN,GAAGvN,IAAIwN,GAAG,kBAAkBxN,GAAG,OAAOA,IAAIA,EAAEiO,WAAWP,GAAG1N,EAAEiO,WAAWR,GAAGzN,EAAEiO,WAAWb,GAAGpN,EAAEiO,WAAW7P,GAAG4B,EAAEiO,WAAW5P,GAAG2B,EAAEiO,WAAWL,GAAG5N,EAAEiO,WAAWJ,GAAG7N,EAAEiO,WAAWH,GAAG9N,EAAEiO,WAAWN,EAAE,EAAErT,EAAQqV,OAAO5B,qCCXjU1T,EAAOC,QAAU,EAAjBD,yDCaF,IAAIuV,EAAgB,SAAS3C,EAAGhN,GAI5B,OAHA2P,EAAgBhQ,OAAOiQ,gBAClB,CAAEC,UAAW,cAAgB5P,OAAS,SAAU+M,EAAGhN,GAAKgN,EAAE6C,UAAY7P,CAAE,GACzE,SAAUgN,EAAGhN,GAAK,IAAK,IAAIsN,KAAKtN,EAAOL,OAAOC,UAAUkQ,eAAejQ,KAAKG,EAAGsN,KAAIN,EAAEM,GAAKtN,EAAEsN,GAAG,EAC5FqC,EAAc3C,EAAGhN,EAC5B,EAEO,SAAS+P,EAAU/C,EAAGhN,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIgQ,UAAU,uBAAyBC,OAAOjQ,GAAK,iCAE7D,SAASkQ,IAAOC,KAAKC,YAAcpD,CAAE,CADrC2C,EAAc3C,EAAGhN,GAEjBgN,EAAEpN,UAAkB,OAANI,EAAaL,OAAO0Q,OAAOrQ,IAAMkQ,EAAGtQ,UAAYI,EAAEJ,UAAW,IAAIsQ,EACnF,CAEO,IAAII,EAAW,WAQlB,OAPAA,EAAW3Q,OAAOa,QAAU,SAAkBiN,GAC1C,IAAK,IAAI8C,EAAGrS,EAAI,EAAGE,EAAI4E,UAAU3E,OAAQH,EAAIE,EAAGF,IAE5C,IAAK,IAAIoP,KADTiD,EAAIvN,UAAU9E,GACOyB,OAAOC,UAAUkQ,eAAejQ,KAAK0Q,EAAGjD,KAAIG,EAAEH,GAAKiD,EAAEjD,IAE9E,OAAOG,CACf,EACW6C,EAASvN,MAAMoN,KAAMnN,UAChC,EA6BO,SAASwN,EAAUC,EAASC,EAAYC,EAAGC,GAC9C,SAASC,EAAMC,GAAS,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,GAAE,SAAUI,GAAWA,EAAQD,EAAO,GAAI,CAC1G,OAAO,IAAKH,IAAMA,EAAIK,WAAU,SAAUD,EAASE,GAC/C,SAASC,EAAUJ,GAAS,IAAMK,EAAKP,EAAUQ,KAAKN,GAAQ,CAAG,MAAO9U,IAAKiV,EAAOjV,GAAG,CAAE,CACzF,SAASqV,EAASP,GAAS,IAAMK,EAAKP,EAAiB,MAAEE,GAAQ,CAAG,MAAO9U,IAAKiV,EAAOjV,GAAG,CAAE,CAC5F,SAASmV,EAAK7R,GAAUA,EAAOgS,KAAOP,EAAQzR,EAAOwR,OAASD,EAAMvR,EAAOwR,OAAOS,KAAKL,EAAWG,EAAU,CAC5GF,GAAMP,EAAYA,EAAU7N,MAAM0N,EAASC,GAAc,KAAKU,OACtE,GACA,CAEO,SAASI,EAAYf,EAAS9T,GACjC,IAAsGsQ,EAAGY,EAAGJ,EAAGP,EAA3GuE,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPlE,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAG,EAAImE,KAAM,GAAIC,IAAK,IAChG,OAAO3E,EAAI,CAAEkE,KAAMU,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXjF,SAA0BK,EAAEL,OAAOkF,UAAY,WAAa,OAAO5B,IAAK,GAAKjD,EACvJ,SAAS4E,EAAK1T,GAAK,OAAO,SAAUsP,GAAK,OAAOyD,EAAK,CAAC/S,EAAGsP,GAAI,CAAG,CAChE,SAASyD,EAAKa,GACV,GAAI/E,EAAG,MAAM,IAAI+C,UAAU,mCAC3B,KAAOyB,OACH,GAAIxE,EAAI,EAAGY,IAAMJ,EAAY,EAARuE,EAAG,GAASnE,EAAU,OAAImE,EAAG,GAAKnE,EAAS,SAAOJ,EAAII,EAAU,SAAMJ,EAAE5N,KAAKgO,GAAI,GAAKA,EAAEuD,SAAW3D,EAAIA,EAAE5N,KAAKgO,EAAGmE,EAAG,KAAKV,KAAM,OAAO7D,EAE3J,OADII,EAAI,EAAGJ,IAAGuE,EAAK,CAAS,EAARA,EAAG,GAAQvE,EAAEqD,QACzBkB,EAAG,IACP,KAAK,EAAG,KAAK,EAAGvE,EAAIuE,EAAI,MACxB,KAAK,EAAc,OAAXP,EAAEC,QAAgB,CAAEZ,MAAOkB,EAAG,GAAIV,MAAM,GAChD,KAAK,EAAGG,EAAEC,QAAS7D,EAAImE,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKP,EAAEI,IAAIvT,MAAOmT,EAAEG,KAAKtT,MAAO,SACxC,QACI,KAAkBmP,GAAZA,EAAIgE,EAAEG,MAAYvT,OAAS,GAAKoP,EAAEA,EAAEpP,OAAS,MAAkB,IAAV2T,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEP,EAAI,EAAG,QAAS,CAC1G,GAAc,IAAVO,EAAG,MAAcvE,GAAMuE,EAAG,GAAKvE,EAAE,IAAMuE,EAAG,GAAKvE,EAAE,IAAM,CAAEgE,EAAEC,MAAQM,EAAG,GAAI,KAAM,CACpF,GAAc,IAAVA,EAAG,IAAYP,EAAEC,MAAQjE,EAAE,GAAI,CAAEgE,EAAEC,MAAQjE,EAAE,GAAIA,EAAIuE,EAAI,KAAM,CACnE,GAAIvE,GAAKgE,EAAEC,MAAQjE,EAAE,GAAI,CAAEgE,EAAEC,MAAQjE,EAAE,GAAIgE,EAAEI,IAAI5O,KAAK+O,GAAK,KAAM,CAC7DvE,EAAE,IAAIgE,EAAEI,IAAIvT,MAChBmT,EAAEG,KAAKtT,MAAO,SAEtB0T,EAAKrV,EAAKkD,KAAK4Q,EAASgB,EACpC,CAAU,MAAOzV,IAAKgW,EAAK,CAAC,EAAGhW,IAAI6R,EAAI,CAAE,CAAG,QAAUZ,EAAIQ,EAAI,CAAE,CACxD,GAAY,EAARuE,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAElB,MAAOkB,EAAG,GAAKA,EAAG,QAAK,EAAQV,MAAM,EAClF,CACA,CA2DO,SAASW,EAAc1T,EAAIC,EAAM0T,GACpC,GAAIA,GAA6B,IAArBlP,UAAU3E,OAAc,IAAK,IAA4B8T,EAAxBjU,EAAI,EAAGkP,EAAI5O,EAAKH,OAAYH,EAAIkP,EAAGlP,KACxEiU,GAAQjU,KAAKM,IACR2T,IAAIA,EAAKlS,MAAML,UAAUuB,MAAMtB,KAAKrB,EAAM,EAAGN,IAClDiU,EAAGjU,GAAKM,EAAKN,IAGrB,OAAOK,EAAGU,OAAOkT,GAAM3T,EAC3B,CCrHA,ICrDA,IAAA4T,EAAA,WACI,SAAAA,EAAqBC,EAAuB7W,EAAsB8W,EAAwBC,GAArE,KAAAF,KAAAA,EAAuB,KAAA7W,IAAAA,EAAsB,KAAA8W,MAAAA,EAAwB,KAAAC,OAAAA,EA4B9F,OA1BIH,EAAAxS,UAAA4S,IAAA,SAAI5E,EAAWC,EAAWF,EAAWR,GACjC,OAAO,IAAIiF,EAAOjC,KAAKkC,KAAOzE,EAAGuC,KAAK3U,IAAMqS,EAAGsC,KAAKmC,MAAQ3E,EAAGwC,KAAKoC,OAASpF,IAG1EiF,EAAAK,eAAP,SAAsBC,EAAkBC,GACpC,OAAO,IAAIP,EACPO,EAAWN,KAAOK,EAAQE,aAAaP,KACvCM,EAAWnX,IAAMkX,EAAQE,aAAapX,IACtCmX,EAAWL,MACXK,EAAWJ,SAIZH,EAAAS,gBAAP,SAAuBH,EAAkBI,GACrC,IAAMC,EAAU9S,MAAMzB,KAAKsU,GAAaE,MAAK,SAACC,GAAS,OAAe,IAAfA,EAAKX,KAAW,IACvE,OAAOS,EACD,IAAIX,EACAW,EAAQV,KAAOK,EAAQE,aAAaP,KACpCU,EAAQvX,IAAMkX,EAAQE,aAAapX,IACnCuX,EAAQT,MACRS,EAAQR,QAEZH,EAAOc,OAGVd,EAAAc,MAAQ,IAAId,EAAO,EAAG,EAAG,EAAG,GACvCA,EA7BA,GA+Bae,EAAc,SAACT,EAAkBU,GAC1C,OAAOhB,EAAOK,eAAeC,EAASU,EAAKC,wBAC/C,EAEaC,EAAoB,SAACvY,GAC9B,IAAM4B,EAAO5B,EAAS4B,KAChB4W,EAAkBxY,EAASwY,gBAEjC,IAAK5W,IAAS4W,EACV,MAAM,IAAIvW,MAAM,+BAEpB,IAAMsV,EAAQnN,KAAKoE,IACfpE,KAAKoE,IAAI5M,EAAK6W,YAAaD,EAAgBC,aAC3CrO,KAAKoE,IAAI5M,EAAK8W,YAAaF,EAAgBE,aAC3CtO,KAAKoE,IAAI5M,EAAK+W,YAAaH,EAAgBG,cAGzCnB,EAASpN,KAAKoE,IAChBpE,KAAKoE,IAAI5M,EAAKgX,aAAcJ,EAAgBI,cAC5CxO,KAAKoE,IAAI5M,EAAKiX,aAAcL,EAAgBK,cAC5CzO,KAAKoE,IAAI5M,EAAKkX,aAAcN,EAAgBM,eAGhD,OAAO,IAAIzB,EAAO,EAAG,EAAGE,EAAOC,EACnC,EDzDauB,EAAe,SAACC,GAIzB,IAHA,IAAMC,EAAa,GACf9V,EAAI,EACFG,EAAS0V,EAAI1V,OACZH,EAAIG,GAAQ,CACf,IAAMyS,EAAQiD,EAAIE,WAAW/V,KAC7B,GAAI4S,GAAS,OAAUA,GAAS,OAAU5S,EAAIG,EAAQ,CAClD,IAAM6V,EAAQH,EAAIE,WAAW/V,KACJ,SAAZ,MAARgW,GACDF,EAAW/Q,OAAe,KAAR6N,IAAkB,KAAe,KAARoD,GAAiB,QAE5DF,EAAW/Q,KAAK6N,GAChB5S,UAGJ8V,EAAW/Q,KAAK6N,GAGxB,OAAOkD,CACX,EAEaG,EAAgB,eAAC,IAAAH,EAAA,GAAAI,EAAA,EAAAA,EAAApR,UAAA3E,OAAA+V,IAAAJ,EAAAI,GAAApR,UAAAoR,GAC1B,GAAInE,OAAOoE,cACP,OAAOpE,OAAOoE,cAAatR,MAApBkN,OAAwB+D,GAGnC,IAAM3V,EAAS2V,EAAW3V,OAC1B,IAAKA,EACD,MAAO,GAOX,IAJA,IAAMiW,EAAY,GAEdrW,GAAS,EACTqB,EAAS,KACJrB,EAAQI,GAAQ,CACrB,IAAIkW,EAAYP,EAAW/V,GACvBsW,GAAa,MACbD,EAAUrR,KAAKsR,IAEfA,GAAa,MACbD,EAAUrR,KAAyB,OAAnBsR,GAAa,IAAeA,EAAY,KAAS,SAEjEtW,EAAQ,IAAMI,GAAUiW,EAAUjW,OAAS,SAC3CiB,GAAU2Q,OAAOuE,aAAYzR,MAAnBkN,OAAuBqE,GACjCA,EAAUjW,OAAS,GAG3B,OAAOiB,CACX,EAEMmV,EAAQ,mEAGRC,EAA+B,qBAAfC,WAA6B,GAAK,IAAIA,WAAW,KAC9DC,EAAI,EAAGA,EAAIH,EAAMpW,OAAQuW,IAC9BF,EAAOD,EAAMR,WAAWW,IAAMA,EEpDlC,IAJA,IAAMC,EAAQ,mEAGRC,EAA+B,qBAAfH,WAA6B,GAAK,IAAIA,WAAW,KAC9DI,EAAI,EAAGA,EAAIF,EAAMxW,OAAQ0W,IAC9BD,EAAOD,EAAMZ,WAAWc,IAAMA,ECDlC,IDIO,IAAMC,EAAS,SAACC,GACnB,IAEI/W,EAEAgX,EACAC,EACAC,EACAC,EAPAC,EAA+B,IAAhBL,EAAO5W,OACtBkX,EAAMN,EAAO5W,OAEbiP,EAAI,EAM0B,MAA9B2H,EAAOA,EAAO5W,OAAS,KACvBiX,IACkC,MAA9BL,EAAOA,EAAO5W,OAAS,IACvBiX,KAIR,IAAME,EACqB,qBAAhBC,aACe,qBAAfd,YAC+B,qBAA/BA,WAAW/U,UAAUuB,MACtB,IAAIsU,YAAYH,GAChB,IAAIrV,MAAMqV,GACdI,EAAQzV,MAAMC,QAAQsV,GAAUA,EAAS,IAAIb,WAAWa,GAE9D,IAAKtX,EAAI,EAAGA,EAAIqX,EAAKrX,GAAK,EACtBgX,EAAWJ,EAAOG,EAAOhB,WAAW/V,IACpCiX,EAAWL,EAAOG,EAAOhB,WAAW/V,EAAI,IACxCkX,EAAWN,EAAOG,EAAOhB,WAAW/V,EAAI,IACxCmX,EAAWP,EAAOG,EAAOhB,WAAW/V,EAAI,IAExCwX,EAAMpI,KAAQ4H,GAAY,EAAMC,GAAY,EAC5CO,EAAMpI,MAAoB,GAAX6H,IAAkB,EAAMC,GAAY,EACnDM,EAAMpI,MAAoB,EAAX8H,IAAiB,EAAiB,GAAXC,EAG1C,OAAOG,CACX,EAEaG,EAAkB,SAACH,GAG5B,IAFA,IAAMnX,EAASmX,EAAOnX,OAChBqX,EAAQ,GACLxX,EAAI,EAAGA,EAAIG,EAAQH,GAAK,EAC7BwX,EAAMzS,KAAMuS,EAAOtX,EAAI,IAAM,EAAKsX,EAAOtX,IAE7C,OAAOwX,CACX,EAEaE,EAAkB,SAACJ,GAG5B,IAFA,IAAMnX,EAASmX,EAAOnX,OAChBqX,EAAQ,GACLxX,EAAI,EAAGA,EAAIG,EAAQH,GAAK,EAC7BwX,EAAMzS,KAAMuS,EAAOtX,EAAI,IAAM,GAAOsX,EAAOtX,EAAI,IAAM,GAAOsX,EAAOtX,EAAI,IAAM,EAAKsX,EAAOtX,IAE7F,OAAOwX,CACX,EE1DaG,EAAiB,EAGjBC,EAAiB,GAQjBC,EAAqB,EAcrBC,EAA6B,OAAWH,EAKxCI,GAF2B,GAAKJ,GAEc,EAuB9CK,EAnB4BF,GAFC,MAASH,GAQN,GAmBhCM,EAAoC,OAAWL,EAK/CM,GAF8B,GA7CXN,EAAiBD,GA+CgB,EAE3DQ,EAAU,SAACC,EAA8BC,EAAeC,GAC1D,OAAIF,EAAKnV,MACEmV,EAAKnV,MAAMoV,EAAOC,GAGtB,IAAIC,YAAYxW,MAAML,UAAUuB,MAAMtB,KAAKyW,EAAMC,EAAOC,GACnE,EAEME,EAAU,SAACJ,EAA8BC,EAAeC,GAC1D,OAAIF,EAAKnV,MACEmV,EAAKnV,MAAMoV,EAAOC,GAGtB,IAAIG,YAAY1W,MAAML,UAAUuB,MAAMtB,KAAKyW,EAAMC,EAAOC,GACnE,EAEaI,EAAuB,SAAC3B,EAAgB4B,GACjD,IAAMrB,EAASR,EAAOC,GAChB6B,EAAS7W,MAAMC,QAAQsV,GAAUI,EAAgBJ,GAAU,IAAImB,YAAYnB,GAC3EuB,EAAS9W,MAAMC,QAAQsV,GAAUG,EAAgBH,GAAU,IAAIiB,YAAYjB,GAC3EwB,EAAe,GAEf/Y,EAAQoY,EAAQU,EAAQC,EAAe,EAAGF,EAAO,GAAK,GACtDG,EACY,IAAdH,EAAO,GACDT,EAAQU,GAASC,EAAeF,EAAO,IAAM,GAC7CJ,EAAQI,EAAQ3R,KAAK+R,MAAMF,EAAeF,EAAO,IAAM,IAEjE,OAAO,IAAIK,EAAKL,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAI7Y,EAAOgZ,EACvE,eAUI,SAAAG,EACIC,EACAC,EACAC,EACAC,EACAvZ,EACAgZ,GAEA9G,KAAKkH,aAAeA,EACpBlH,KAAKmH,WAAaA,EAClBnH,KAAKoH,UAAYA,EACjBpH,KAAKqH,eAAiBA,EACtBrH,KAAKlS,MAAQA,EACbkS,KAAK8G,KAAOA,EAkDpB,OAzCIG,EAAAxX,UAAA6X,IAAA,SAAIlD,GACA,IAAImD,EACJ,GAAInD,GAAa,EAAG,CAChB,GAAIA,EAAY,OAAYA,EAAY,OAAWA,GAAa,MAM5D,OADAmD,IADAA,EAAKvH,KAAKlS,MAAMsW,GAAasB,KACjBE,IAAuBxB,EAAY0B,GACxC9F,KAAK8G,KAAKS,GAGrB,GAAInD,GAAa,MASb,OADAmD,IADAA,EAAKvH,KAAKlS,MAAM+X,GAA+BzB,EAAY,OAAWsB,MAC1DE,IAAuBxB,EAAY0B,GACxC9F,KAAK8G,KAAKS,GAGrB,GAAInD,EAAYpE,KAAKoH,UAOjB,OALAG,EAAKxB,EAAwBC,GAAqC5B,GAAauB,GAC/E4B,EAAKvH,KAAKlS,MAAMyZ,GAChBA,GAAOnD,GAAasB,EAAkBO,EAEtCsB,IADAA,EAAKvH,KAAKlS,MAAMyZ,KACJ3B,IAAuBxB,EAAY0B,GACxC9F,KAAK8G,KAAKS,GAErB,GAAInD,GAAa,QACb,OAAOpE,KAAK8G,KAAK9G,KAAKqH,gBAK9B,OAAOrH,KAAKmH,YAEpBF,CAAA,ID7KMO,EAAQ,mEAGRC,EAA+B,qBAAfjD,WAA6B,GAAK,IAAIA,WAAW,KAC9DkD,EAAI,EAAGA,EAAIF,EAAMtZ,OAAQwZ,IAC9BD,EAAOD,EAAM1D,WAAW4D,IAAMA,EEL3B,ICMMC,EAAyB,GAGhCC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EAELC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,GACLC,EAAM,GAENC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GAELC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAQ,CAAC,KAAQ,OAgDVC,GAAkB,IAClBC,GAAoB,OACpBC,GAAgB,OAChBC,GAAcjE,ED3GvB,4pnDC6GEkE,GAAc,CAACnB,GAAIM,IACnBc,GAAmB,CAAChD,EAAIC,EAAIC,EAAIE,GAChC6C,GAAQ,CAACzC,EAAIF,GACb4C,GAAiB,CAACzB,GAAID,IACtB2B,GAAcH,GAAiB9b,OAAO+b,IACtCG,GAAwB,CAAChB,GAAIC,GAAIC,GAAIN,GAAIC,IACzCoB,GAAS,CAACxC,EAAIF,GAEP2C,GAA+B,SACxCrH,EACAsH,QAAA,IAAAA,IAAAA,EAAA,UAEA,IAAMC,EAAkB,GAClBC,EAAoB,GACpBC,EAAwB,GAgE9B,OA/DAzH,EAAWzQ,SAAQ,SAACgR,EAAWtW,GAC3B,IAAIyd,EAAYb,GAAYpD,IAAIlD,GAQhC,GAPImH,EAAY5D,GACZ2D,EAAWxY,MAAK,GAChByY,GAAa5D,GAEb2D,EAAWxY,MAAK,IAGoC,IAApD,CAAC,SAAU,OAAQ,SAASjC,QAAQsa,KAEyB,IAAzD,CAAC,KAAQ,KAAQ,MAAQ,OAAQta,QAAQuT,GAEzC,OADAiH,EAAQvY,KAAKhF,GACNsd,EAAMtY,KAAK4V,GAI1B,GAAI6C,IAAcxD,GAAMwD,IAAclD,EAAK,CAEvC,GAAc,IAAVva,EAEA,OADAud,EAAQvY,KAAKhF,GACNsd,EAAMtY,KAAK0W,IAKtB,IAAMgC,EAAOJ,EAAMtd,EAAQ,GAC3B,OAAmC,IAA/Bid,GAAYla,QAAQ2a,IACpBH,EAAQvY,KAAKuY,EAAQvd,EAAQ,IACtBsd,EAAMtY,KAAK0Y,KAEtBH,EAAQvY,KAAKhF,GACNsd,EAAMtY,KAAK0W,KAKtB,OAFA6B,EAAQvY,KAAKhF,GAETyd,IAAc9B,GACP2B,EAAMtY,KAAmB,WAAdqY,EAAyBpC,GAAKgB,IAGhDwB,IAAcnB,IAIdmB,IAAchC,GAHP6B,EAAMtY,KAAK0W,IAUlB+B,IAAclB,GACTjG,GAAa,QAAWA,GAAa,QAAaA,GAAa,QAAWA,GAAa,OACjFgH,EAAMtY,KAAKiX,IAEXqB,EAAMtY,KAAK0W,SAI1B4B,EAAMtY,KAAKyY,MAGR,CAACF,EAASD,EAAOE,EAC5B,EAEMG,GAA6B,SAC/B7b,EACAC,EACA6b,EACAC,GAEA,IAAMC,EAAUD,EAAWD,GAC3B,GAAI5b,MAAMC,QAAQH,IAA6B,IAAxBA,EAAEiB,QAAQ+a,GAAkBhc,IAAMgc,EAErD,IADA,IAAI7d,EAAI2d,EACD3d,GAAK4d,EAAWzd,QAAQ,CAI3B,IAFI+S,EAAO0K,IADX5d,MAGa8B,EACT,OAAO,EAGX,GAAIoR,IAASmH,EACT,MAKZ,GAAIwD,IAAYxD,EAGZ,IAFIra,EAAI2d,EAED3d,EAAI,GAAG,CAEV,IAAMyd,EAAOG,IADb5d,GAGA,GAAI+B,MAAMC,QAAQH,IAA0B,IAArBA,EAAEiB,QAAQ2a,GAAe5b,IAAM4b,EAElD,IADA,IAAIvd,EAAIyd,EACDzd,GAAK0d,EAAWzd,QAAQ,CAE3B,IAAI+S,EAEJ,IAFIA,EAAO0K,IADX1d,MAGa4B,EACT,OAAO,EAGX,GAAIoR,IAASmH,EACT,MAKZ,GAAIoD,IAASpD,EACT,MAIZ,OAAO,CACX,EAEMyD,GAA4B,SAACH,EAAsBC,GAErD,IADA,IAAI5d,EAAI2d,EACD3d,GAAK,GAAG,CACX,IAAI8M,EAAO8Q,EAAW5d,GACtB,GAAI8M,IAASuN,EAGT,OAAOvN,EAFP9M,IAKR,OAAO,CACX,EAIM+d,GAAoB,SACtBjI,EACA8H,EACAI,EACAje,EACAke,GAEA,GAAwB,IAApBD,EAASje,GACT,OAAO0c,GAGX,IAAIkB,EAAe5d,EAAQ,EAC3B,GAAIgC,MAAMC,QAAQic,KAAsD,IAAlCA,EAAgBN,GAClD,OAAOlB,GAGX,IAAIyB,EAAcP,EAAe,EAC7BQ,EAAaR,EAAe,EAC5BE,EAAUD,EAAWD,GAIrBS,EAASF,GAAe,EAAIN,EAAWM,GAAe,EACtDhL,EAAO0K,EAAWO,GAEtB,GAAIN,IAAY/D,GAAM5G,IAAS6G,EAC3B,OAAO0C,GAGX,IAA2C,IAAvCI,GAAiB/Z,QAAQ+a,GACzB,OAAOrB,GAIX,IAAwC,IAApCK,GAAiB/Z,QAAQoQ,GACzB,OAAOuJ,GAIX,IAA6B,IAAzBK,GAAMha,QAAQoQ,GACd,OAAOuJ,GAIX,GAAIqB,GAA0BH,EAAcC,KAAgBzD,EACxD,OAAOuC,GAIX,GAAIC,GAAYpD,IAAIzD,EAAW6H,MAAmBrD,EAC9C,OAAOmC,GAIX,IAAKoB,IAAYlC,IAAMkC,IAAYjC,KAAOe,GAAYpD,IAAIzD,EAAWqI,MAAiB7D,EAClF,OAAOmC,GAIX,GAAIoB,IAAY3D,GAAMhH,IAASgH,EAC3B,OAAOuC,GAIX,GAAIoB,IAAYzD,EACZ,OAAOqC,GAIX,IAAuC,IAAnC,CAACpC,EAAIG,EAAIE,GAAI5X,QAAQ+a,IAAmB3K,IAASkH,EACjD,OAAOqC,GAIX,IAA4C,IAAxC,CAAC7B,EAAIC,EAAIC,EAAIK,GAAII,IAAIzY,QAAQoQ,GAC7B,OAAOuJ,GAIX,GAAIqB,GAA0BH,EAAcC,KAAgB3C,GACxD,OAAOwB,GAIX,GAAIiB,GAA2BxC,GAAID,GAAI0C,EAAcC,GACjD,OAAOnB,GAIX,GAAIiB,GAA2B,CAAC9C,EAAIC,GAAKG,GAAI2C,EAAcC,GACvD,OAAOnB,GAIX,GAAIiB,GAA2BnD,EAAIA,EAAIoD,EAAcC,GACjD,OAAOnB,GAIX,GAAIoB,IAAYxD,EACZ,OAAOqC,GAIX,GAAImB,IAAY3C,IAAMhI,IAASgI,GAC3B,OAAOuB,GAIX,GAAIvJ,IAASyH,GAAMkD,IAAYlD,EAC3B,OAAO+B,GAIX,IAAoC,IAAhC,CAAClC,EAAIE,EAAIM,IAAIlY,QAAQoQ,IAAgB2K,IAAYpD,EACjD,OAAOgC,GAIX,GAAI2B,IAAWrC,KAAmC,IAA7BmB,GAAOpa,QAAQ+a,GAChC,OAAOpB,GAIX,GAAIoB,IAAYtC,IAAMrI,IAAS6I,GAC3B,OAAOU,GAIX,GAAIvJ,IAAS6H,GACT,OAAO0B,GAIX,IAAoC,IAA/BG,GAAY9Z,QAAQoQ,IAAgB2K,IAAYzC,KAA0C,IAAlCwB,GAAY9Z,QAAQ+a,IAAmB3K,IAASkI,GACzG,OAAOqB,GAIX,GACKoB,IAAYvC,KAAsC,IAAhC,CAACU,GAAIL,GAAIC,IAAI9Y,QAAQoQ,KACJ,IAAnC,CAAC8I,GAAIL,GAAIC,IAAI9Y,QAAQ+a,IAAmB3K,IAASmI,GAElD,OAAOoB,GAIX,IACuC,IAAlCG,GAAY9Z,QAAQ+a,KAAqD,IAAlCd,GAAeja,QAAQoQ,KACzB,IAArC6J,GAAeja,QAAQ+a,KAAkD,IAA/BjB,GAAY9Z,QAAQoQ,GAE/D,OAAOuJ,GAIX,IAEoC,IAA/B,CAACnB,GAAID,IAAIvY,QAAQ+a,KACb3K,IAASkI,KAAmC,IAA5B,CAACH,GAAIP,GAAI5X,QAAQoQ,IAAgB0K,EAAWO,EAAa,KAAO/C,MAErD,IAA/B,CAACH,GAAIP,GAAI5X,QAAQ+a,IAAmB3K,IAASkI,IAE7CyC,IAAYzC,KAAsC,IAAhC,CAACA,GAAIG,GAAIJ,IAAIrY,QAAQoQ,GAExC,OAAOuJ,GAIX,IAA4C,IAAxC,CAACrB,GAAIG,GAAIJ,GAAIP,EAAIC,GAAI/X,QAAQoQ,GAE7B,IADA,IAAIpK,EAAY6U,EACT7U,GAAa,GAAG,CAEnB,IADIgE,EAAO8Q,EAAW9U,MACTsS,GACT,OAAOqB,GACJ,IAAgC,IAA5B,CAAClB,GAAIJ,IAAIrY,QAAQgK,GAGxB,MAFAhE,IAQZ,IAAgC,IAA5B,CAACwS,GAAID,IAAIvY,QAAQoQ,GAEjB,IADIpK,GAA2C,IAA/B,CAAC8R,EAAIC,GAAI/X,QAAQ+a,GAAkBK,EAAcP,EAC1D7U,GAAa,GAAG,CACnB,IAAIgE,EACJ,IADIA,EAAO8Q,EAAW9U,MACTsS,GACT,OAAOqB,GACJ,IAAgC,IAA5B,CAAClB,GAAIJ,IAAIrY,QAAQgK,GAGxB,MAFAhE,IAQZ,GACKmT,KAAO4B,IAA+C,IAApC,CAAC5B,GAAIC,GAAIL,GAAIC,IAAIhZ,QAAQoQ,KACZ,IAA/B,CAACgJ,GAAIL,IAAI/Y,QAAQ+a,KAA+C,IAA5B,CAAC3B,GAAIC,IAAIrZ,QAAQoQ,KACtB,IAA/B,CAACiJ,GAAIL,IAAIhZ,QAAQ+a,IAAmB3K,IAASiJ,GAE9C,OAAOM,GAIX,IACiD,IAA5CQ,GAAsBna,QAAQ+a,KAA+C,IAA5B,CAAC9C,GAAIM,IAAIvY,QAAQoQ,KACzB,IAAzC+J,GAAsBna,QAAQoQ,IAAgB2K,IAAYvC,GAE3D,OAAOmB,GAIX,IAAsC,IAAlCG,GAAY9Z,QAAQ+a,KAAkD,IAA/BjB,GAAY9Z,QAAQoQ,GAC3D,OAAOuJ,GAIX,GAAIoB,IAAY1C,KAAqC,IAA/ByB,GAAY9Z,QAAQoQ,GACtC,OAAOuJ,GAIX,IACkD,IAA7CG,GAAY7b,OAAOqa,IAAItY,QAAQ+a,IAC5B3K,IAAS+H,KACkC,IAA3CsB,GAAMzZ,QAAQgT,EAAWqI,MACc,IAA1CvB,GAAY7b,OAAOqa,IAAItY,QAAQoQ,IAAgB2K,IAAYhD,EAE5D,OAAO4B,GAKX,GAAIoB,IAAYzB,IAAMlJ,IAASkJ,GAAI,CAG/B,IAFA,IAAIpc,EAAIge,EAASL,GACbU,EAAQ,EACLre,EAAI,GAEH4d,IADJ5d,KACsBoc,IAClBiC,IAKR,GAAIA,EAAQ,IAAM,EACd,OAAO5B,GAKf,OAAIoB,IAAYlC,IAAMzI,IAAS0I,GACpBa,GAGJC,EACX,EA0BM4B,GAAsB,SAACxI,EAAsBzZ,GAC1CA,IACDA,EAAU,CAAC+gB,UAAW,SAAUmB,UAAW,WAE3C,IAAAC,EAAyCrB,GAA6BrH,EAAYzZ,EAAQ+gB,WAAzFY,EAAQQ,EAAA,GAAEZ,EAAUY,EAAA,GAAEC,EAAcD,EAAA,GAEf,cAAtBniB,EAAQkiB,WAAmD,eAAtBliB,EAAQkiB,YAC7CX,EAAaA,EAAWhS,KAAI,SAACkB,GAAS,OAAiC,IAAhC,CAACsO,GAAIK,GAAIY,IAAIvZ,QAAQgK,GAAekP,GAAKlP,CAAI,KAGxF,IAAM4R,EACoB,aAAtBriB,EAAQkiB,UACFE,EAAe7S,KAAI,SAAC+S,EAAc3e,GAC9B,OAAO2e,GAAgB7I,EAAW9V,IAAM,OAAU8V,EAAW9V,IAAM,cAEvEO,EAEV,MAAO,CAACyd,EAAUJ,EAAYc,EAClC,EAkBAE,GAAA,WAMI,SAAAA,EAAY9I,EAAsBsH,EAAmB/E,EAAeC,GAChErG,KAAK6D,WAAaA,EAClB7D,KAAK4M,SAAWzB,IAAcZ,GAC9BvK,KAAKoG,MAAQA,EACbpG,KAAKqG,IAAMA,EAMnB,OAHIsG,EAAAld,UAAAuB,MAAA,WACI,OAAOgT,EAAapR,WAAC,EAAGoN,KAAK6D,WAAW7S,MAAMgP,KAAKoG,MAAOpG,KAAKqG,OAEvEsG,CAAA,CAhBA,GAgCaE,GAAc,SAACjJ,EAAaxZ,GACrC,IAAMyZ,EAAaF,EAAaC,GAC1B2I,EAA+CF,GAAoBxI,EAAYzZ,GAA9E2hB,EAAQQ,EAAA,GAAEZ,EAAUY,EAAA,GAAEE,EAAoBF,EAAA,GAC3Cre,EAAS2V,EAAW3V,OACtB4e,EAAU,EACVjT,EAAY,EAEhB,MAAO,CACHoH,KAAM,WACF,GAAIpH,GAAa3L,EACb,MAAO,CAACiT,MAAM,EAAMR,MAAO,MAG/B,IADA,IAAIwK,EAAYX,GAEZ3Q,EAAY3L,IACXid,EAAYW,GAAkBjI,EAAY8H,EAAYI,IAAYlS,EAAW4S,MAC1EjC,KAGR,GAAIW,IAAcX,IAAqB3Q,IAAc3L,EAAQ,CACzD,IAAMyS,EAAQ,IAAIgM,GAAM9I,EAAYsH,EAAW2B,EAASjT,GAExD,OADAiT,EAAUjT,EACH,CAAC8G,MAAKA,EAAEQ,MAAM,GAGzB,MAAO,CAACA,MAAM,EAAMR,MAAO,OAGvC,ECrhBaoM,GAAoB,EACpBC,GAAU,EACVC,GAAe,EACfC,GAAc,EAErBC,GAAY,GACZC,GAAU,GACVC,GAAkB,GAClBC,GAAuB,EACvBC,GAAQ,GACRC,GAAiB,GACjBC,GAAc,GACdC,GAAc,GACdC,GAAc,GACdC,GAAkB,GAClBC,GAAa,GACbC,GAAmB,GACnBC,GAAoB,GACpBC,GAAW,GACXC,GAAe,GACfC,GAAmB,GACnBC,GAAiB,GACjBC,GAAoB,GACpBC,GAAgB,GAChBC,GAAsB,GACtBC,GAAuB,GACvBC,GAAoB,GACpBC,GAAqB,IACrBC,GAAgB,GAChBC,GAAsB,IACtBC,GAAgB,IAChBC,GAAQ,IACRC,GAAU,IACVC,GAAwB,MACxBC,GAAW,GACXC,GAAY,GACZC,GAAQ,GACRC,GAAQ,GACRC,GAAY,GACZC,GAAY,GACZC,GAAO,EACPC,GAAY,EACZC,GAAkB,GAClBC,GAAY,GACZC,GAA4B,GAC5BC,GAAS,IACTC,IAAO,EACPC,GAAO,GACPjgB,GAAI,GACJ/D,GAAI,IACJiR,GAAI,IACJc,GAAI,IACJD,GAAI,IACJG,GAAI,GACJgS,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GAEJC,GAAU,SAAC9L,GAAsB,OAAAA,GAAayL,IAAQzL,GAAa,EAAM,EACzE+L,GAAuB,SAAC/L,GAAsB,OAAAA,GAAa,OAAUA,GAAa,KAAM,EACxFgM,GAAQ,SAAChM,GACX,OAAA8L,GAAQ9L,IAAeA,GAAatG,IAAKsG,GAAa2L,IAAO3L,GAAaxU,IAAKwU,GAAatH,EAA5F,EACEuT,GAAoB,SAACjM,GAAsB,OAAAA,GAAaxU,IAAKwU,GAAazG,EAAC,EAC3E2S,GAAoB,SAAClM,GAAsB,OAAAA,GAAatG,IAAKsG,GAAa6L,EAAC,EAC3EM,GAAW,SAACnM,GAAsB,OAAAiM,GAAkBjM,IAAckM,GAAkBlM,EAAU,EAC9FoM,GAAsB,SAACpM,GAAsB,OAAAA,GAAa0K,EAAO,EACjE2B,GAAe,SAACrM,GAClB,OAAAA,IAAc+I,IAAa/I,IAAckJ,IAAwBlJ,IAAcmJ,EAA/E,EACEmD,GAAuB,SAACtM,GAC1B,OAAAmM,GAASnM,IAAcoM,GAAoBpM,IAAcA,IAAc4J,EAAvE,EACE2C,GAAkB,SAACvM,GACrB,OAAAsM,GAAqBtM,IAAc8L,GAAQ9L,IAAcA,IAAc6J,EAAvE,EACE2C,GAA0B,SAACxM,GAC7B,OACKA,GAAakL,IAAQlL,GAAamL,IACnCnL,IAAcoL,IACbpL,GAAaqL,IAAarL,GAAasL,IACxCtL,IAAcuL,EAEtB,EACMkB,GAAgB,SAACC,EAAYC,GAC/B,OAAID,IAAOzD,IAIJ0D,IAAO5D,EAClB,EACM6D,GAAoB,SAACF,EAAYC,EAAYE,GAC/C,OAAIH,IAAO7C,GACAyC,GAAqBK,IAAOF,GAAcE,EAAIE,KAC9CP,GAAqBI,MAErBA,IAAOzD,KAAmBwD,GAAcC,EAAIC,GAI3D,EAEMG,GAAgB,SAACJ,EAAYC,EAAYE,GAC3C,OAAIH,IAAO7B,IAAa6B,IAAO7C,KACvBiC,GAAQa,IAILA,IAAO1B,IAAaa,GAAQe,GAI5Bf,GADPY,IAAOzB,GACQ0B,EAGJD,EACnB,EAEMK,GAAiB,SAACtN,GACpB,IAAIjH,EAAI,EACJwU,EAAO,EACPvN,EAAWjH,KAAOqS,IAAapL,EAAWjH,KAAOqR,KAC7CpK,EAAWjH,KAAOqR,KAClBmD,GAAQ,GAEZxU,KAKJ,IAFA,IAAMyU,EAAW,GAEVnB,GAAQrM,EAAWjH,KACtByU,EAASve,KAAK+Q,EAAWjH,MAG7B,IAAM0U,EAAMD,EAASnjB,OAASqjB,SAASvN,EAAapR,WAAC,EAAGye,GAAW,IAAM,EAErExN,EAAWjH,KAAOyS,IAClBzS,IAIJ,IADA,IAAM4U,EAAW,GACVtB,GAAQrM,EAAWjH,KACtB4U,EAAS1e,KAAK+Q,EAAWjH,MAG7B,IAAM6U,EAAQD,EAAStjB,OACjBwjB,EAAOD,EAAQF,SAASvN,EAAapR,WAAC,EAAG4e,GAAW,IAAM,EAE5D3N,EAAWjH,KAAOkT,IAAKjM,EAAWjH,KAAO/Q,IACzC+Q,IAGJ,IAAI+U,EAAU,EAEV9N,EAAWjH,KAAOqS,IAAapL,EAAWjH,KAAOqR,KAC7CpK,EAAWjH,KAAOqR,KAClB0D,GAAW,GAEf/U,KAKJ,IAFA,IAAMgV,EAAW,GAEV1B,GAAQrM,EAAWjH,KACtBgV,EAAS9e,KAAK+Q,EAAWjH,MAG7B,IAAMiV,EAAMD,EAAS1jB,OAASqjB,SAASvN,EAAapR,WAAC,EAAGgf,GAAW,IAAM,EAEzE,OAAOR,GAAQE,EAAMI,EAAO1c,KAAK8c,IAAI,IAAKL,IAAUzc,KAAK8c,IAAI,GAAIH,EAAUE,EAC/E,EAEME,GAAgC,CAClClX,KAAM,GAEJmX,GAAiC,CACnCnX,KAAM,GAEJoX,GAAqB,CAACpX,KAAM,GAC5BqX,GAA4B,CAACrX,KAAM,IACnCsX,GAA4B,CAACtX,KAAM,GACnCuX,GAAsB,CAACvX,KAAM,IAC7BwX,GAA0B,CAACxX,KAAM,GACjCyX,GAA6B,CAACzX,KAAM,IACpC0X,GAAkC,CACpC1X,KAAM,IAEJ2X,GAAmC,CACrC3X,KAAM,IAEJ4X,GAA+B,CAAC5X,KAAM,IACtC6X,GAAuB,CAAC7X,KAAM,IAC9B8X,GAA0B,CAAC9X,KAAM,GACjC+X,GAAmB,CAAC/X,KAAM,IAC1BgY,GAAmB,CAAChY,KAAM,IAC1BiY,GAAqB,CAACjY,KAAM,IAC5BkY,GAAyB,CAAClY,KAAM,IAChCmY,GAAmC,CACrCnY,KAAM,IAEJoY,GAAoC,CACtCpY,KAAM,IAEJqY,GAA0B,CAACrY,KAAM,IAC1BsY,GAAmB,CAACtY,KAAM,IAEvCuY,GAAA,WAGI,SAAAA,IACIpT,KAAKqT,OAAS,GAyetB,OAteID,EAAA3jB,UAAA6jB,MAAA,SAAMC,GACFvT,KAAKqT,OAASrT,KAAKqT,OAAOvkB,OAAO6U,EAAa4P,KAGlDH,EAAA3jB,UAAA+jB,KAAA,WAGI,IAFA,IAAMC,EAAS,GACXC,EAAQ1T,KAAK2T,eACVD,IAAUP,IACbM,EAAO3gB,KAAK4gB,GACZA,EAAQ1T,KAAK2T,eAEjB,OAAOF,GAGHL,EAAA3jB,UAAAkkB,aAAR,WACI,IAAMvP,EAAYpE,KAAK4T,mBAEvB,OAAQxP,GACJ,KAAKoJ,GACD,OAAOxN,KAAK6T,mBAAmBrG,IACnC,KAAKE,GACD,IAAMoD,EAAK9Q,KAAK8T,cAAc,GACxB/C,EAAK/Q,KAAK8T,cAAc,GACxB7C,EAAKjR,KAAK8T,cAAc,GAC9B,GAAInD,GAAgBG,IAAOD,GAAcE,EAAIE,GAAK,CAC9C,IAAM8C,EAAQ/C,GAAkBF,EAAIC,EAAIE,GAAMjE,GAAUD,GAGxD,MAAO,CAAClS,KAAM,EAAsB8F,MAFtBX,KAAKgU,cAEwBD,MAAKA,GAEpD,MACJ,KAAKpG,GACD,GAAI3N,KAAK8T,cAAc,KAAOrG,GAE1B,OADAzN,KAAK4T,mBACE1B,GAEX,MACJ,KAAKrE,GACD,OAAO7N,KAAK6T,mBAAmBhG,IACnC,KAAKC,GACD,OAAOiE,GACX,KAAKhE,GACD,OAAOiE,GACX,KAAKhD,GACD,GAAIhP,KAAK8T,cAAc,KAAOrG,GAE1B,OADAzN,KAAK4T,mBACEnB,GAEX,MACJ,KAAKxD,GACD,GAAIiC,GAAc9M,EAAWpE,KAAK8T,cAAc,GAAI9T,KAAK8T,cAAc,IAEnE,OADA9T,KAAKiU,mBAAmB7P,GACjBpE,KAAKkU,sBAEhB,MACJ,KAAKhF,GACD,OAAO+C,GACX,KAAKhE,GACD,IAAMkG,EAAK/P,EACLgQ,EAAKpU,KAAK8T,cAAc,GACxBO,EAAKrU,KAAK8T,cAAc,GAE9B,GAAI5C,GAAciD,EAAIC,EAAIC,GAEtB,OADArU,KAAKiU,mBAAmB7P,GACjBpE,KAAKkU,sBAGhB,GAAIlD,GAAkBmD,EAAIC,EAAIC,GAE1B,OADArU,KAAKiU,mBAAmB7P,GACjBpE,KAAKsU,wBAGhB,GAAIF,IAAOnG,IAAgBoG,IAAOjG,GAG9B,OAFApO,KAAK4T,mBACL5T,KAAK4T,mBACEf,GAEX,MAEJ,KAAKxD,GACD,GAAI6B,GAAc9M,EAAWpE,KAAK8T,cAAc,GAAI9T,KAAK8T,cAAc,IAEnE,OADA9T,KAAKiU,mBAAmB7P,GACjBpE,KAAKkU,sBAEhB,MACJ,KAAK9G,GACD,GAAIpN,KAAK8T,cAAc,KAAO9E,GAE1B,IADAhP,KAAK4T,qBACQ,CACT,IAAIhX,EAAIoD,KAAK4T,mBACb,GAAIhX,IAAMoS,KACNpS,EAAIoD,KAAK4T,sBACCxG,GACN,OAAOpN,KAAK2T,eAGpB,GAAI/W,IAAMgT,GACN,OAAO5P,KAAK2T,eAIxB,MACJ,KAAKxE,GACD,OAAO2D,GACX,KAAK1D,GACD,OAAO2D,GACX,KAAK5E,GACD,GACInO,KAAK8T,cAAc,KAAO5F,IAC1BlO,KAAK8T,cAAc,KAAO7F,IAC1BjO,KAAK8T,cAAc,KAAO7F,GAI1B,OAFAjO,KAAK4T,mBACL5T,KAAK4T,mBACEhB,GAEX,MACJ,KAAKvE,GACD,IAAMkG,EAAKvU,KAAK8T,cAAc,GACxBU,EAAKxU,KAAK8T,cAAc,GACxBW,EAAKzU,KAAK8T,cAAc,GAC9B,GAAI9C,GAAkBuD,EAAIC,EAAIC,GAE1B,MAAO,CAAC5Z,KAAM,EAA4B8F,MAD5BX,KAAKgU,eAGvB,MACJ,KAAK1F,GACD,OAAO0E,GACX,KAAK3F,GACD,GAAIwD,GAAczM,EAAWpE,KAAK8T,cAAc,IAE5C,OADA9T,KAAKiU,mBAAmB7P,GACjBpE,KAAKsU,wBAEhB,MACJ,KAAK/F,GACD,OAAO0E,GACX,KAAKzE,GACD,GAAIxO,KAAK8T,cAAc,KAAOrG,GAE1B,OADAzN,KAAK4T,mBACEzB,GAEX,MACJ,KAAK1D,GACD,OAAO8D,GACX,KAAK5D,GACD,OAAO6D,GACX,KAAK5U,GACL,KAAKoS,GACD,IAAM0E,EAAK1U,KAAK8T,cAAc,GACxBa,EAAK3U,KAAK8T,cAAc,GAM9B,OALIY,IAAOzF,KAAcmB,GAAMuE,IAAOA,IAAOjG,KACzC1O,KAAK4T,mBACL5T,KAAK4U,4BAET5U,KAAKiU,mBAAmB7P,GACjBpE,KAAKsU,wBAChB,KAAK1F,GACD,GAAI5O,KAAK8T,cAAc,KAAOrG,GAE1B,OADAzN,KAAK4T,mBACEvB,GAEX,GAAIrS,KAAK8T,cAAc,KAAOlF,GAE1B,OADA5O,KAAK4T,mBACExB,GAEX,MACJ,KAAKvD,GACD,GAAI7O,KAAK8T,cAAc,KAAOrG,GAE1B,OADAzN,KAAK4T,mBACEtB,GAEX,MACJ,KAAK1C,GACD,OAAOuD,GAGf,OAAI1C,GAAarM,IACbpE,KAAK6U,oBACE3B,IAGPhD,GAAQ9L,IACRpE,KAAKiU,mBAAmB7P,GACjBpE,KAAKkU,uBAGZxD,GAAqBtM,IACrBpE,KAAKiU,mBAAmB7P,GACjBpE,KAAKsU,yBAGT,CAACzZ,KAAM,EAAuB8F,MAAOqD,EAAcI,KAGtDgP,EAAA3jB,UAAAmkB,iBAAR,WACI,IAAMjT,EAAQX,KAAKqT,OAAOyB,QAE1B,MAAwB,qBAAVnU,GAAyB,EAAIA,GAGvCyS,EAAA3jB,UAAAwkB,mBAAR,SAA2B7P,GACvBpE,KAAKqT,OAAOnkB,QAAQkV,IAGhBgP,EAAA3jB,UAAAqkB,cAAR,SAAsB5d,GAClB,OAAIA,GAAS8J,KAAKqT,OAAOnlB,QACb,EAGL8R,KAAKqT,OAAOnd,IAGfkd,EAAA3jB,UAAAmlB,yBAAR,WAGI,IAFA,IAAMG,EAAS,GACX3Q,EAAYpE,KAAK4T,mBACdxD,GAAMhM,IAAc2Q,EAAO7mB,OAAS,GACvC6mB,EAAOjiB,KAAKsR,GACZA,EAAYpE,KAAK4T,mBAGrB,IADA,IAAIoB,GAAgB,EACb5Q,IAAcsK,IAAiBqG,EAAO7mB,OAAS,GAClD6mB,EAAOjiB,KAAKsR,GACZA,EAAYpE,KAAK4T,mBACjBoB,GAAgB,EAGpB,GAAIA,EAMA,MAAO,CAACna,KAAM,GAA+BuL,MAL/BmL,SACVvN,EAAapR,WAAC,EAAGmiB,EAAOpb,KAAI,SAACsb,GAAU,OAACA,IAAUvG,GAAgBmB,GAAOoF,CAAK,KAC9E,IAGgD5O,IADxCkL,SAASvN,EAAapR,WAAC,EAAGmiB,EAAOpb,KAAI,SAACsb,GAAU,OAACA,IAAUvG,GAAgBqB,GAAIkF,CAAK,KAAK,KAIzG,IAAM7O,EAAQmL,SAASvN,EAAapR,WAAC,EAAGmiB,GAAS,IACjD,GAAI/U,KAAK8T,cAAc,KAAO7F,IAAgBmC,GAAMpQ,KAAK8T,cAAc,IAAK,CACxE9T,KAAK4T,mBACLxP,EAAYpE,KAAK4T,mBAEjB,IADA,IAAMsB,EAAY,GACX9E,GAAMhM,IAAc8Q,EAAUhnB,OAAS,GAC1CgnB,EAAUpiB,KAAKsR,GACfA,EAAYpE,KAAK4T,mBAIrB,MAAO,CAAC/Y,KAAM,GAA+BuL,MAAKA,EAAEC,IAFxCkL,SAASvN,EAAapR,WAAC,EAAGsiB,GAAY,KAIlD,MAAO,CAACra,KAAM,GAA+BuL,MAAKA,EAAEC,IAAKD,IAIzDgN,EAAA3jB,UAAA6kB,sBAAR,WACI,IAAM3T,EAAQX,KAAKgU,cACnB,MAA4B,QAAxBrT,EAAM/P,eAA2BoP,KAAK8T,cAAc,KAAOhG,IAC3D9N,KAAK4T,mBACE5T,KAAKmV,mBACLnV,KAAK8T,cAAc,KAAOhG,IACjC9N,KAAK4T,mBACE,CAAC/Y,KAAM,GAA0B8F,MAAKA,IAG1C,CAAC9F,KAAM,GAAuB8F,MAAKA,IAGtCyS,EAAA3jB,UAAA0lB,gBAAR,WACI,IAAMxU,EAAQ,GAGd,GAFAX,KAAK6U,oBAED7U,KAAK8T,cAAc,KAAOlE,GAC1B,MAAO,CAAC/U,KAAM,GAAqB8F,MAAO,IAG9C,IAAMM,EAAOjB,KAAK8T,cAAc,GAChC,GAAI7S,IAAS4M,IAAc5M,IAASuM,GAAgB,CAChD,IAAM4H,EAAcpV,KAAK6T,mBAAmB7T,KAAK4T,oBACjD,OAAyB,IAArBwB,EAAYva,OACZmF,KAAK6U,oBAED7U,KAAK8T,cAAc,KAAOlE,IAAO5P,KAAK8T,cAAc,KAAO/F,KAC3D/N,KAAK4T,mBACE,CAAC/Y,KAAM,GAAqB8F,MAAOyU,EAAYzU,SAI9DX,KAAKqV,wBACE3C,IAGX,OAAa,CACT,IAAMtO,EAAYpE,KAAK4T,mBACvB,GAAIxP,IAAcwL,IAAOxL,IAAc2J,GACnC,MAAO,CAAClT,KAAM,GAAqB8F,MAAOqD,EAAapR,WAAC,EAAG+N,IACxD,GAAI8P,GAAarM,GAEpB,OADApE,KAAK6U,oBACD7U,KAAK8T,cAAc,KAAOlE,IAAO5P,KAAK8T,cAAc,KAAO/F,IAC3D/N,KAAK4T,mBACE,CAAC/Y,KAAM,GAAqB8F,MAAOqD,EAAapR,WAAC,EAAG+N,MAE/DX,KAAKqV,wBACE3C,IACJ,GACHtO,IAAcoJ,IACdpJ,IAAcyJ,IACdzJ,IAAc0J,IACd8C,GAAwBxM,GAGxB,OADApE,KAAKqV,wBACE3C,GACJ,GAAItO,IAAciJ,GAAiB,CACtC,IAAIwD,GAAczM,EAAWpE,KAAK8T,cAAc,IAI5C,OADA9T,KAAKqV,wBACE3C,GAHP/R,EAAM7N,KAAKkN,KAAKsV,gCAMpB3U,EAAM7N,KAAKsR,KAKfgP,EAAA3jB,UAAAolB,kBAAR,WACI,KAAOpE,GAAazQ,KAAK8T,cAAc,KACnC9T,KAAK4T,oBAILR,EAAA3jB,UAAA4lB,sBAAR,WACI,OAAa,CACT,IAAMjR,EAAYpE,KAAK4T,mBACvB,GAAIxP,IAAc2J,IAAqB3J,IAAcwL,GACjD,OAGAiB,GAAczM,EAAWpE,KAAK8T,cAAc,KAC5C9T,KAAKsV,4BAKTlC,EAAA3jB,UAAA8lB,mBAAR,SAA2BnJ,GAGvB,IAFA,IAAMoJ,EAAmB,IACrB7U,EAAQ,GACLyL,EAAQ,GAAG,CACd,IAAMqJ,EAASzgB,KAAKmE,IAAIqc,EAAkBpJ,GAC1CzL,GAASqD,EAAapR,WAAC,EAAGoN,KAAKqT,OAAOtZ,OAAO,EAAG0b,IAChDrJ,GAASqJ,EAIb,OAFAzV,KAAKqT,OAAOyB,QAELnU,GAGHyS,EAAA3jB,UAAAokB,mBAAR,SAA2B6B,GAIvB,IAHA,IAAI/U,EAAQ,GACR5S,EAAI,IAEL,CACC,IAAMqW,EAAYpE,KAAKqT,OAAOtlB,GAC9B,GAAIqW,IAAcwL,SAAqBthB,IAAd8V,GAA2BA,IAAcsR,EAE9D,MAAO,CAAC7a,KAAM,EAAwB8F,MADtCA,GAASX,KAAKuV,mBAAmBxnB,IAIrC,GAAIqW,IAAc+I,GAEd,OADAnN,KAAKqT,OAAOtZ,OAAO,EAAGhM,GACf4kB,GAGX,GAAIvO,IAAciJ,GAAiB,CAC/B,IAAMpM,EAAOjB,KAAKqT,OAAOtlB,EAAI,GACzBkT,IAAS2O,SAAgBthB,IAAT2S,IACZA,IAASkM,IACTxM,GAASX,KAAKuV,mBAAmBxnB,GACjCA,GAAK,EACLiS,KAAKqT,OAAOyB,SACLjE,GAAczM,EAAWnD,KAChCN,GAASX,KAAKuV,mBAAmBxnB,GACjC4S,GAASqD,EAAchE,KAAKsV,2BAC5BvnB,GAAK,IAKjBA,MAIAqlB,EAAA3jB,UAAAkmB,cAAR,WACI,IAAMC,EAAO,GACT/a,EAAOoS,GACP6D,EAAK9Q,KAAK8T,cAAc,GAK5B,IAJIhD,IAAO7B,IAAa6B,IAAO7C,IAC3B2H,EAAK9iB,KAAKkN,KAAK4T,oBAGZ1D,GAAQlQ,KAAK8T,cAAc,KAC9B8B,EAAK9iB,KAAKkN,KAAK4T,oBAEnB9C,EAAK9Q,KAAK8T,cAAc,GACxB,IAAI/C,EAAK/Q,KAAK8T,cAAc,GAC5B,GAAIhD,IAAOzB,IAAaa,GAAQa,GAG5B,IAFA6E,EAAK9iB,KAAKkN,KAAK4T,mBAAoB5T,KAAK4T,oBACxC/Y,EAAOqS,GACAgD,GAAQlQ,KAAK8T,cAAc,KAC9B8B,EAAK9iB,KAAKkN,KAAK4T,oBAIvB9C,EAAK9Q,KAAK8T,cAAc,GACxB/C,EAAK/Q,KAAK8T,cAAc,GACxB,IAAM7C,EAAKjR,KAAK8T,cAAc,GAC9B,IAAKhD,IAAOhB,IAAKgB,IAAOjlB,OAASklB,IAAO9B,IAAa8B,IAAO9C,KAAiBiC,GAAQe,IAAQf,GAAQa,IAGjG,IAFA6E,EAAK9iB,KAAKkN,KAAK4T,mBAAoB5T,KAAK4T,oBACxC/Y,EAAOqS,GACAgD,GAAQlQ,KAAK8T,cAAc,KAC9B8B,EAAK9iB,KAAKkN,KAAK4T,oBAIvB,MAAO,CAACzC,GAAeyE,GAAO/a,IAG1BuY,EAAA3jB,UAAAykB,oBAAR,WACU,IAAA3H,EAAkBvM,KAAK2V,gBAAtBE,EAAMtJ,EAAA,GAAEwH,EAAKxH,EAAA,GACduE,EAAK9Q,KAAK8T,cAAc,GACxB/C,EAAK/Q,KAAK8T,cAAc,GACxB7C,EAAKjR,KAAK8T,cAAc,GAE9B,OAAI9C,GAAkBF,EAAIC,EAAIE,GAEnB,CAACpW,KAAM,GAA2Bgb,OAAMA,EAAE9B,MAAKA,EAAE+B,KAD3C9V,KAAKgU,eAIlBlD,IAAOlD,IACP5N,KAAK4T,mBACE,CAAC/Y,KAAM,GAA4Bgb,OAAMA,EAAE9B,MAAKA,IAGpD,CAAClZ,KAAM,GAAwBgb,OAAMA,EAAE9B,MAAKA,IAG/CX,EAAA3jB,UAAA6lB,wBAAR,WACI,IAAMlR,EAAYpE,KAAK4T,mBAEvB,GAAIxD,GAAMhM,GAAY,CAElB,IADA,IAAI2R,EAAM/R,EAAcI,GACjBgM,GAAMpQ,KAAK8T,cAAc,KAAOiC,EAAI7nB,OAAS,GAChD6nB,GAAO/R,EAAchE,KAAK4T,oBAG1BnD,GAAazQ,KAAK8T,cAAc,KAChC9T,KAAK4T,mBAGT,IAAMoC,EAAezE,SAASwE,EAAK,IAEnC,OAAqB,IAAjBC,GAAsB7F,GAAqB6F,IAAiBA,EAAe,QACpEjH,GAGJiH,EAGX,OAAI5R,IAAcwL,GACPb,GAGJ3K,GAGHgP,EAAA3jB,UAAAukB,YAAR,WAEI,IADA,IAAI7kB,EAAS,KACA,CACT,IAAMiV,EAAYpE,KAAK4T,mBACvB,GAAIjD,GAAgBvM,GAChBjV,GAAU6U,EAAcI,OACrB,KAAIyM,GAAczM,EAAWpE,KAAK8T,cAAc,IAInD,OADA9T,KAAKiU,mBAAmB7P,GACjBjV,EAHPA,GAAU6U,EAAchE,KAAKsV,8BAO7ClC,CAAA,CA7eA,GC1RA6C,GAAA,WAGI,SAAAA,EAAYxC,GACRzT,KAAKkW,QAAUzC,EA6GvB,OA1GWwC,EAAA/V,OAAP,SAAcS,GACV,IAAMwV,EAAY,IAAI/C,GAEtB,OADA+C,EAAU7C,MAAM3S,GACT,IAAIsV,EAAOE,EAAU3C,SAGzByC,EAAAG,WAAP,SAAkBzV,GACd,OAAOsV,EAAO/V,OAAOS,GAAO0V,uBAGzBJ,EAAAK,YAAP,SAAmB3V,GACf,OAAOsV,EAAO/V,OAAOS,GAAO4V,wBAGhCN,EAAAxmB,UAAA4mB,oBAAA,WAEI,IADA,IAAI3C,EAAQ1T,KAAK2T,eACK,KAAfD,EAAM7Y,MACT6Y,EAAQ1T,KAAK2T,eAGjB,GAAmB,KAAfD,EAAM7Y,KACN,MAAM,IAAI2b,YAAY,qDAG1BxW,KAAKyW,eAAe/C,GACpB,IAAM/S,EAAQX,KAAK0W,wBAEnB,GACIhD,EAAQ1T,KAAK2T,qBACO,KAAfD,EAAM7Y,MAEf,GAAmB,KAAf6Y,EAAM7Y,KACN,OAAO8F,EAGX,MAAM,IAAI6V,YAAY,qFAG1BP,EAAAxmB,UAAA8mB,qBAAA,WAEI,IADA,IAAMI,EAAS,KACF,CACT,IAAMhW,EAAQX,KAAK0W,wBACnB,GAAmB,KAAf/V,EAAM9F,KACN,OAAO8b,EAEXA,EAAO7jB,KAAK6N,GACZgW,EAAO7jB,SAIPmjB,EAAAxmB,UAAAinB,sBAAR,WACI,IAAMhD,EAAQ1T,KAAK2T,eAEnB,OAAQD,EAAM7Y,MACV,KAAK,GACL,KAAK,GACL,KAAK,EACD,OAAOmF,KAAK4W,mBAAmBlD,EAAM7Y,MACzC,KAAK,GACD,OAAOmF,KAAK6W,gBAAgBnD,GAGpC,OAAOA,GAGHuC,EAAAxmB,UAAAmnB,mBAAR,SAA2B/b,GAIvB,IAHA,IAAM3D,EAAkB,CAAC2D,KAAIA,EAAE8b,OAAQ,IAEnCjD,EAAQ1T,KAAK2T,iBACJ,CACT,GAAmB,KAAfD,EAAM7Y,MAAgCic,GAAiBpD,EAAO7Y,GAC9D,OAAO3D,EAGX8I,KAAKyW,eAAe/C,GACpBxc,EAAMyf,OAAO7jB,KAAKkN,KAAK0W,yBACvBhD,EAAQ1T,KAAK2T,iBAIbsC,EAAAxmB,UAAAonB,gBAAR,SAAwBE,GAOpB,IANA,IAAMC,EAA2B,CAC7Bjc,KAAMgc,EAAcpW,MACpBgW,OAAQ,GACR9b,KAAM,MAGG,CACT,IAAM6Y,EAAQ1T,KAAK2T,eACnB,GAAmB,KAAfD,EAAM7Y,MAA+C,IAAf6Y,EAAM7Y,KAC5C,OAAOmc,EAGXhX,KAAKyW,eAAe/C,GACpBsD,EAAYL,OAAO7jB,KAAKkN,KAAK0W,2BAI7BT,EAAAxmB,UAAAkkB,aAAR,WACI,IAAMD,EAAQ1T,KAAKkW,QAAQpB,QAC3B,MAAwB,qBAAVpB,EAAwBP,GAAYO,GAG9CuC,EAAAxmB,UAAAgnB,eAAR,SAAuB/C,GACnB1T,KAAKkW,QAAQhnB,QAAQwkB,IAE7BuC,CAAA,CAjHA,GAmHagB,GAAmB,SAACvD,GAA6C,OAAe,KAAfA,EAAM7Y,IAAI,EAC3Eqc,GAAgB,SAACxD,GAA+C,OAAe,KAAfA,EAAM7Y,IAAI,EAC1Esc,GAAe,SAACzD,GAA+C,OAAe,KAAfA,EAAM7Y,IAAI,EACzEuc,GAAgB,SAAC1D,GAA+C,OAAe,IAAfA,EAAM7Y,IAAI,EAC1Ewc,GAAmB,SAAC3D,EAAiB/S,GAC9C,OAAAwW,GAAazD,IAAUA,EAAM/S,QAAUA,CAAvC,EAES2W,GAAgB,SAAC5D,GAA6B,OAAe,KAAfA,EAAM7Y,IAAI,EACxD0c,GAA0B,SAAC7D,GACpC,OAAe,KAAfA,EAAM7Y,MAAsD,IAAf6Y,EAAM7Y,IAAnD,EAES2c,GAAoB,SAAC/D,GAC9B,IAAMvgB,EAAqB,GACvBukB,EAAkB,GAmBtB,OAlBAhE,EAAOrgB,SAAQ,SAACsgB,GACZ,GAAmB,IAAfA,EAAM7Y,KAAgC,CACtC,GAAmB,IAAf4c,EAAIvpB,OACJ,MAAM,IAAIrB,MAAM,oDAIpB,OAFAqG,EAAKJ,KAAK2kB,QACVA,EAAM,IAIS,KAAf/D,EAAM7Y,MACN4c,EAAI3kB,KAAK4gB,MAGb+D,EAAIvpB,QACJgF,EAAKJ,KAAK2kB,GAGPvkB,CACX,EAEM4jB,GAAmB,SAACpD,EAAiB7Y,GACvC,OAAa,KAATA,GAA8D,KAAf6Y,EAAM7Y,MAG5C,KAATA,GAA+D,KAAf6Y,EAAM7Y,MAI1C,IAATA,GAA4D,IAAf6Y,EAAM7Y,IAC9D,ECtLa6c,GAAW,SAAChE,GACrB,OAAe,KAAfA,EAAM7Y,MAAkD,KAAf6Y,EAAM7Y,IAA/C,ECAS8c,GAAqB,SAACjE,GAC/B,OAAe,KAAfA,EAAM7Y,MAAuC6c,GAAShE,EAAtD,EACSkE,GAA6B,SAACnE,GACvC,OAAAA,EAAOvlB,OAAS,EAAI,CAACulB,EAAO,GAAIA,EAAO,IAAM,CAACA,EAAO,GAArD,EACSoE,GAAgC,CACzChd,KAAM,GACNgb,OAAQ,EACR9B,MAAO9G,IAGE6K,GAAkC,CAC3Cjd,KAAM,GACNgb,OAAQ,GACR9B,MAAO9G,IAGE8K,GAAoC,CAC7Cld,KAAM,GACNgb,OAAQ,IACR9B,MAAO9G,IAGE+K,GAA2B,SACpCC,EACA9V,EACAC,GAEO,IAAA3E,EAAQwa,EAAK,GAAVva,EAAKua,EAAK,GACpB,MAAO,CAACC,GAAiBza,EAAG0E,GAAQ+V,GAA8B,qBAANxa,EAAoBA,EAAID,EAAG2E,GAC3F,EACa8V,GAAmB,SAACxE,EAAyByE,GACtD,GAAmB,KAAfzE,EAAM7Y,KACN,OAAQ6Y,EAAMmC,OAAS,IAAOsC,EAGlC,GAAIlB,GAAiBvD,GACjB,OAAQA,EAAMoC,MACV,IAAK,MACL,IAAK,KACD,OAAO,GAAKpC,EAAMmC,OAEtB,QACI,OAAOnC,EAAMmC,OAIzB,OAAOnC,EAAMmC,MACjB,EC9CMuC,GAAM,MACNC,GAAO,OACPC,GAAM,MACNC,GAAO,OAEAC,GAAiC,CAC1Czd,KAAM,QACN0d,MAAO,SAACC,EAAmB/X,GACvB,GAAmB,KAAfA,EAAM9F,KACN,OAAQ8F,EAAMmV,MACV,KAAKsC,GACD,OAAQpjB,KAAK2jB,GAAKhY,EAAMkV,OAAU,IACtC,KAAKwC,GACD,OAAQrjB,KAAK2jB,GAAK,IAAOhY,EAAMkV,OACnC,KAAKyC,GACD,OAAO3X,EAAMkV,OACjB,KAAK0C,GACD,OAAiB,EAAVvjB,KAAK2jB,GAAShY,EAAMkV,OAIvC,MAAM,IAAIhpB,MAAM,4BAIX+rB,GAAU,SAACjY,GACpB,OAAmB,KAAfA,EAAM9F,OACF8F,EAAMmV,OAASsC,IAAOzX,EAAMmV,OAASuC,IAAQ1X,EAAMmV,OAASwC,IAAO3X,EAAMmV,OAASyC,GAK9F,EAEaM,GAAiB,SAACpF,GAM3B,OALqBA,EAChB1gB,OAAOokB,IACPxd,KAAI,SAACmf,GAAU,OAAAA,EAAMnY,KAAK,IAC1BvR,KAAK,MAGN,IAAK,kBACL,IAAK,kBACL,IAAK,WACL,IAAK,WACD,MAAO,CAACyoB,GAAaA,IACzB,IAAK,SACL,IAAK,SACD,OAAOkB,GAAI,GACf,IAAK,iBACL,IAAK,iBACL,IAAK,YACL,IAAK,YACD,MAAO,CAAClB,GAAaE,IACzB,IAAK,WACL,IAAK,OACD,OAAOgB,GAAI,IACf,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,eACD,MAAO,CAAChB,GAAiBA,IAC7B,IAAK,YACL,IAAK,MACD,OAAOgB,GAAI,KACf,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,cACD,MAAO,CAAChB,GAAiBF,IAC7B,IAAK,UACL,IAAK,QACD,OAAOkB,GAAI,KAGnB,OAAO,CACX,EAEaA,GAAM,SAACA,GAAwB,OAAC/jB,KAAK2jB,GAAKI,EAAO,GAAG,EC7EpDC,GAAgC,CACzCje,KAAM,QACN0d,MAAO,SAAClW,EAAkB5B,GACtB,GAAmB,KAAfA,EAAM9F,KAA6B,CACnC,IAAMoe,EAAgBC,GAA0BvY,EAAM5F,MACtD,GAA6B,qBAAlBke,EACP,MAAM,IAAIpsB,MAAM,sDAAsD8T,EAAM5F,KAAI,KAEpF,OAAOke,EAAc1W,EAAS5B,EAAMgW,QAGxC,GAAmB,IAAfhW,EAAM9F,KAA+B,CACrC,GAA2B,IAAvB8F,EAAMA,MAAMzS,OAAc,CAC1B,IAAMmP,EAAIsD,EAAMA,MAAM3I,UAAU,EAAG,GAC7B+E,EAAI4D,EAAMA,MAAM3I,UAAU,EAAG,GAC7BnI,EAAI8Q,EAAMA,MAAM3I,UAAU,EAAG,GACnC,OAAO+J,GAAKwP,SAASlU,EAAIA,EAAG,IAAKkU,SAASxU,EAAIA,EAAG,IAAKwU,SAAS1hB,EAAIA,EAAG,IAAK,GAG/E,GAA2B,IAAvB8Q,EAAMA,MAAMzS,OAAc,CACpBmP,EAAIsD,EAAMA,MAAM3I,UAAU,EAAG,GAC7B+E,EAAI4D,EAAMA,MAAM3I,UAAU,EAAG,GAC7BnI,EAAI8Q,EAAMA,MAAM3I,UAAU,EAAG,GAFnC,IAGMpI,EAAI+Q,EAAMA,MAAM3I,UAAU,EAAG,GACnC,OAAO+J,GAAKwP,SAASlU,EAAIA,EAAG,IAAKkU,SAASxU,EAAIA,EAAG,IAAKwU,SAAS1hB,EAAIA,EAAG,IAAK0hB,SAAS3hB,EAAIA,EAAG,IAAM,KAGrG,GAA2B,IAAvB+Q,EAAMA,MAAMzS,OAIZ,OAHMmP,EAAIsD,EAAMA,MAAM3I,UAAU,EAAG,GAC7B+E,EAAI4D,EAAMA,MAAM3I,UAAU,EAAG,GAC7BnI,EAAI8Q,EAAMA,MAAM3I,UAAU,EAAG,GAC5B+J,GAAKwP,SAASlU,EAAG,IAAKkU,SAASxU,EAAG,IAAKwU,SAAS1hB,EAAG,IAAK,GAGnE,GAA2B,IAAvB8Q,EAAMA,MAAMzS,OAKZ,OAJMmP,EAAIsD,EAAMA,MAAM3I,UAAU,EAAG,GAC7B+E,EAAI4D,EAAMA,MAAM3I,UAAU,EAAG,GAC7BnI,EAAI8Q,EAAMA,MAAM3I,UAAU,EAAG,GAC7BpI,EAAI+Q,EAAMA,MAAM3I,UAAU,EAAG,GAC5B+J,GAAKwP,SAASlU,EAAG,IAAKkU,SAASxU,EAAG,IAAKwU,SAAS1hB,EAAG,IAAK0hB,SAAS3hB,EAAG,IAAM,KAIzF,GAAmB,KAAf+Q,EAAM9F,KAAgC,CACtC,IAAMse,EAAaC,GAAOzY,EAAMA,MAAM0Y,eACtC,GAA0B,qBAAfF,EACP,OAAOA,EAIf,OAAOC,GAAOE,cAITC,GAAgB,SAACC,GAA0B,OAAmB,KAAlB,IAAOA,EAAY,EAE/DC,GAAW,SAACD,GACrB,IAAME,EAAQ,IAAOF,EACfG,EAAO,IAAQH,GAAS,EACxBI,EAAQ,IAAQJ,GAAS,GACzBK,EAAM,IAAQL,GAAS,GAC7B,OAAOE,EAAQ,IAAM,QAAQG,EAAG,IAAID,EAAK,IAAID,EAAI,IAAID,EAAQ,IAAG,IAAM,OAAOG,EAAG,IAAID,EAAK,IAAID,EAAI,GACrG,EAEa5X,GAAO,SAAC1E,EAAWN,EAAWlN,EAAWD,GAClD,OAAEyN,GAAK,GAAON,GAAK,GAAOlN,GAAK,EAAMmF,KAAK8kB,MAAU,IAAJlqB,IAAY,KAAQ,CAApE,EAEEmqB,GAAqB,SAACrG,EAAiB3lB,GACzC,GAAmB,KAAf2lB,EAAM7Y,KACN,OAAO6Y,EAAMmC,OAGjB,GAAmB,KAAfnC,EAAM7Y,KAAqC,CAC3C,IAAMzB,EAAY,IAANrL,EAAU,EAAI,IAC1B,OAAa,IAANA,EAAW2lB,EAAMmC,OAAS,IAAOzc,EAAMpE,KAAK8kB,MAAOpG,EAAMmC,OAAS,IAAOzc,GAGpF,OAAO,CACX,EAEM4gB,GAAM,SAACtB,EAAmBxlB,GAC5B,IAAMugB,EAASvgB,EAAKH,OAAOwkB,IAE3B,GAAsB,IAAlB9D,EAAOvlB,OAAc,CACf,IAAAqe,EAAYkH,EAAO9Z,IAAIogB,IAAtB1c,EAACkP,EAAA,GAAExP,EAACwP,EAAA,GAAE1c,EAAC0c,EAAA,GACd,OAAOxK,GAAK1E,EAAGN,EAAGlN,EAAG,GAGzB,GAAsB,IAAlB4jB,EAAOvlB,OAAc,CACf,IAAA+rB,EAAexG,EAAO9Z,IAAIogB,IAAhBnqB,GAATyN,EAAC4c,EAAA,GAAEld,EAACkd,EAAA,GAAEpqB,EAACoqB,EAAA,GAAGA,EAAA,IACjB,OAAOlY,GAAK1E,EAAGN,EAAGlN,EAAGD,GAGzB,OAAO,CACX,EAEA,SAASsqB,GAAQC,EAAYC,EAAYC,GAQrC,OAPIA,EAAM,IACNA,GAAO,GAEPA,GAAO,IACPA,GAAO,GAGPA,EAAM,EAAI,GACFD,EAAKD,GAAME,EAAM,EAAIF,EACtBE,EAAM,GACND,EACAC,EAAM,EAAI,EACE,GAAXD,EAAKD,IAAW,EAAI,EAAIE,GAAOF,EAEhCA,CAEf,CAEA,IAAMG,GAAM,SAAC/X,EAAkBrP,GAC3B,IAAMugB,EAASvgB,EAAKH,OAAOwkB,IACpB8C,EAAqC5G,EAAM,GAAtC8G,EAAgC9G,EAAM,GAA1B+G,EAAoB/G,EAAM,GAAfiG,EAASjG,EAAM,GAE5CzW,GAAkB,KAAbqd,EAAIxf,KAAkCke,GAAIsB,EAAIxE,QAAU2C,GAAMC,MAAMlW,EAAS8X,KAAmB,EAAVrlB,KAAK2jB,IAChGvY,EAAIuX,GAAmB4C,GAAcA,EAAW1E,OAAS,IAAM,EAC/D5Y,EAAI0a,GAAmB6C,GAAaA,EAAU3E,OAAS,IAAM,EAC7DjmB,EAAqB,qBAAV8pB,GAAyB/B,GAAmB+B,GAASxB,GAAiBwB,EAAO,GAAK,EAEnG,GAAU,IAANtZ,EACA,OAAO2B,GAAS,IAAJ9E,EAAa,IAAJA,EAAa,IAAJA,EAAS,GAG3C,IAAMmd,EAAKnd,GAAK,GAAMA,GAAKmD,EAAI,GAAKnD,EAAImD,EAAInD,EAAImD,EAE1C+Z,EAAS,EAAJld,EAAQmd,EACb/c,EAAI6c,GAAQC,EAAIC,EAAIpd,EAAI,EAAI,GAC5BD,EAAImd,GAAQC,EAAIC,EAAIpd,GACpBnN,EAAIqqB,GAAQC,EAAIC,EAAIpd,EAAI,EAAI,GAClC,OAAO+E,GAAS,IAAJ1E,EAAa,IAAJN,EAAa,IAAJlN,EAASD,EAC3C,EAEMspB,GAEF,CACAoB,IAAKA,GACLG,KAAMH,GACNN,IAAKA,GACLU,KAAMV,IAGGW,GAAa,SAACpY,EAAkB5B,GACzC,OAAAqY,GAAMP,MAAMlW,EAAS0T,GAAO/V,OAAOS,GAAO0V,sBAA1C,EAES+C,GAAiC,CAC1CwB,UAAW,WACXC,aAAc,WACdC,KAAM,SACNC,WAAY,WACZC,MAAO,WACPC,MAAO,WACPC,OAAQ,WACRC,MAAO,IACPC,eAAgB,WAChBC,KAAM,MACNC,WAAY,WACZC,MAAO,WACPC,UAAW,WACXC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,MAAO,WACPC,eAAgB,WAChBC,SAAU,WACVC,QAAS,WACTC,KAAM,SACNC,SAAU,MACVC,SAAU,QACVC,cAAe,WACfC,SAAU,WACVC,UAAW,QACXC,SAAU,WACVC,UAAW,WACXC,YAAa,WACbC,eAAgB,WAChBC,WAAY,WACZC,WAAY,WACZC,QAAS,WACTC,WAAY,WACZC,aAAc,WACdC,cAAe,WACfC,cAAe,UACfC,cAAe,UACfC,cAAe,SACfC,WAAY,WACZC,SAAU,WACVC,YAAa,SACbC,QAAS,WACTC,QAAS,WACTC,WAAY,UACZC,UAAW,WACXC,YAAa,WACbC,YAAa,UACbC,QAAS,WACTC,UAAW,WACXC,WAAY,WACZC,KAAM,WACNC,UAAW,WACXC,KAAM,WACNC,MAAO,QACPC,YAAa,WACbC,KAAM,WACNC,SAAU,WACVC,QAAS,WACTC,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,SAAU,WACVC,cAAe,WACfC,UAAW,WACXC,aAAc,WACdC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,qBAAsB,WACtBC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,cAAe,UACfC,aAAc,WACdC,eAAgB,WAChBC,eAAgB,WAChBC,eAAgB,WAChBC,YAAa,WACbC,KAAM,SACNC,UAAW,UACXC,MAAO,WACPC,QAAS,WACTC,OAAQ,WACRC,iBAAkB,WAClBC,WAAY,MACZC,aAAc,WACdC,aAAc,WACdC,eAAgB,WAChBC,gBAAiB,WACjBC,kBAAmB,SACnBC,gBAAiB,WACjBC,gBAAiB,WACjBC,aAAc,UACdC,UAAW,WACXC,UAAW,WACXC,SAAU,WACVC,YAAa,WACbC,KAAM,MACNC,QAAS,WACTC,MAAO,WACPC,UAAW,WACXC,OAAQ,WACRC,UAAW,WACXC,OAAQ,WACRC,cAAe,WACfC,UAAW,WACXC,cAAe,WACfC,cAAe,WACfC,WAAY,WACZC,UAAW,WACXC,KAAM,WACNC,KAAM,WACNC,KAAM,WACNC,WAAY,WACZC,OAAQ,WACRC,cAAe,WACfC,IAAK,WACLC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,OAAQ,WACRC,WAAY,WACZC,SAAU,UACVC,SAAU,WACVC,OAAQ,WACRC,OAAQ,WACRC,QAAS,WACTC,UAAW,WACXC,UAAW,WACXC,UAAW,WACXC,KAAM,WACNC,YAAa,SACbC,UAAW,WACXC,IAAK,WACLC,KAAM,QACNC,QAAS,WACTC,OAAQ,WACRlK,YAAa,EACbmK,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,WAAY,WACZC,OAAQ,WACRC,YAAa,YCvSJC,GAA0D,CACnEjpB,KAAM,kBACNmM,aAAc,aACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAOA,EAAO9Z,KAAI,SAAC+Z,GACf,GAAIyD,GAAazD,GACb,OAAQA,EAAM/S,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,OCxBNsjB,GAAgD,CACzDlpB,KAAM,mBACNmM,aAAc,cACdvW,QAAQ,EACRkK,KAAM,EACN9O,OAAQ,SCMCm4B,GAAiB,SAAC3hB,EAAkBrP,GAC7C,IAAMsmB,EAAQR,GAAUP,MAAMlW,EAASrP,EAAK,IACtCixB,EAAOjxB,EAAK,GAClB,OAAOixB,GAAQxM,GAAmBwM,GAAQ,CAAC3K,MAAKA,EAAE2K,KAAIA,GAAI,CAAC3K,MAAKA,EAAE2K,KAAM,KAC5E,EAEaC,GAAoB,SAACC,EAAuCC,GACrE,IAAMC,EAAQF,EAAM,GACdt1B,EAAOs1B,EAAMA,EAAMn2B,OAAS,GACf,OAAfq2B,EAAMJ,OACNI,EAAMJ,KAAOtM,IAGC,OAAd9oB,EAAKo1B,OACLp1B,EAAKo1B,KAAOpM,IAKhB,IAFA,IAAMyM,EAAkC,GACpCC,EAAW,EACN12B,EAAI,EAAGA,EAAIs2B,EAAMn2B,OAAQH,IAAK,CACnC,IAAM22B,EAAOL,EAAMt2B,GAAGo2B,KACtB,GAAa,OAATO,EAAe,CACf,IAAMC,EAAgBzM,GAAiBwM,EAAMJ,GACzCK,EAAgBF,EAChBD,EAAa1xB,KAAK6xB,GAElBH,EAAa1xB,KAAK2xB,GAEtBA,EAAWE,OAEXH,EAAa1xB,KAAK,MAI1B,IAAI8xB,EAAW,KACf,IAAS72B,EAAI,EAAGA,EAAIy2B,EAAat2B,OAAQH,IAAK,CAC1C,IAAM82B,EAAOL,EAAaz2B,GAC1B,GAAa,OAAT82B,EACiB,OAAbD,IACAA,EAAW72B,QAEZ,GAAiB,OAAb62B,EAAmB,CAI1B,IAHA,IAAME,EAAY/2B,EAAI62B,EAEhBG,GAAYF,EADAL,EAAaI,EAAW,KACHE,EAAY,GAC1C/nB,EAAI,EAAGA,GAAK+nB,EAAW/nB,IAC5BynB,EAAaI,EAAW7nB,EAAI,GAAKgoB,EAAWhoB,EAEhD6nB,EAAW,MAInB,OAAOP,EAAM1qB,KAAI,SAAC4S,EAASxe,GACvB,MAAO,CAACyrB,MADYjN,EAAAiN,MACL2K,KAAMnvB,KAAKoE,IAAIpE,KAAKmE,IAAI,EAAIqrB,EAAaz2B,GAAgBu2B,GAAa,MAE7F,EAEMU,GAAqB,SAACC,EAAwB9iB,EAAeC,GAC/D,IAAM8iB,EAAU/iB,EAAQ,EAClBgjB,EAAU/iB,EAAS,EACnB3E,EAAIya,GAAiB+M,EAAO,GAAI9iB,GAAS+iB,EACzCxnB,EAAIynB,EAAUjN,GAAiB+M,EAAO,GAAI7iB,GAEhD,OAAQpN,KAAKowB,MAAM1nB,EAAGD,GAAe,EAAVzI,KAAK2jB,KAAqB,EAAV3jB,KAAK2jB,GACpD,EAEa0M,GAA6B,SACtC7M,EACArW,EACAC,GAEA,IAAMkjB,EAA0B,kBAAV9M,EAAqBA,EAAQwM,GAAmBxM,EAAOrW,EAAOC,GAE9EkiB,EAAatvB,KAAKuwB,IAAIpjB,EAAQnN,KAAKwwB,IAAIF,IAAWtwB,KAAKuwB,IAAInjB,EAASpN,KAAKywB,IAAIH,IAE7EI,EAAYvjB,EAAQ,EACpBwjB,EAAavjB,EAAS,EACtBwjB,EAAiBtB,EAAa,EAE9BuB,EAAQ7wB,KAAKwwB,IAAIF,EAAStwB,KAAK2jB,GAAK,GAAKiN,EACzCE,EAAQ9wB,KAAKywB,IAAIH,EAAStwB,KAAK2jB,GAAK,GAAKiN,EAE/C,MAAO,CAACtB,EAAYoB,EAAYI,EAAOJ,EAAYI,EAAOH,EAAaE,EAAOF,EAAaE,EAC/F,EAEME,GAAW,SAACn2B,EAAWC,GAAsB,OAAAmF,KAAKgxB,KAAKp2B,EAAIA,EAAIC,EAAIA,EAAE,EAErEo2B,GAAa,SAAC9jB,EAAeC,EAAgB3E,EAAWC,EAAWwoB,GAQrE,MAPgB,CACZ,CAAC,EAAG,GACJ,CAAC,EAAG9jB,GACJ,CAACD,EAAO,GACR,CAACA,EAAOC,IAGG+jB,QACX,SAACC,EAAMnB,GACI,IAAAoB,EAAUpB,EAAM,GAAZqB,EAAMrB,EAAM,GACjBpoB,EAAIkpB,GAAStoB,EAAI4oB,EAAI3oB,EAAI4oB,GAC/B,OAAIJ,EAAUrpB,EAAIupB,EAAKG,gBAAkB1pB,EAAIupB,EAAKG,iBACvC,CACHC,cAAevB,EACfsB,gBAAiB1pB,GAIlBupB,IAEX,CACIG,gBAAiBL,EAAUO,KAAW,IACtCD,cAAe,OAErBA,aACN,EAEaE,GAAkB,SAC3BC,EACAlpB,EACAC,EACAyE,EACAC,GAEA,IAAIwkB,EAAK,EACLC,EAAK,EAET,OAAQF,EAASG,MACb,KAAK,EAGsB,IAAnBH,EAASI,MACTH,EAAKC,EAAK7xB,KAAKmE,IAAInE,KAAKuwB,IAAI9nB,GAAIzI,KAAKuwB,IAAI9nB,EAAI0E,GAAQnN,KAAKuwB,IAAI7nB,GAAI1I,KAAKuwB,IAAI7nB,EAAI0E,IACrD,IAAnBukB,EAASI,QAChBH,EAAK5xB,KAAKmE,IAAInE,KAAKuwB,IAAI9nB,GAAIzI,KAAKuwB,IAAI9nB,EAAI0E,IACxC0kB,EAAK7xB,KAAKmE,IAAInE,KAAKuwB,IAAI7nB,GAAI1I,KAAKuwB,IAAI7nB,EAAI0E,KAE5C,MAEJ,KAAK,EAGD,GAAuB,IAAnBukB,EAASI,MACTH,EAAKC,EAAK7xB,KAAKmE,IACX4sB,GAAStoB,EAAGC,GACZqoB,GAAStoB,EAAGC,EAAI0E,GAChB2jB,GAAStoB,EAAI0E,EAAOzE,GACpBqoB,GAAStoB,EAAI0E,EAAOzE,EAAI0E,SAEzB,GAAuB,IAAnBukB,EAASI,MAAkC,CAElD,IAAMnqB,EAAI5H,KAAKmE,IAAInE,KAAKuwB,IAAI7nB,GAAI1I,KAAKuwB,IAAI7nB,EAAI0E,IAAWpN,KAAKmE,IAAInE,KAAKuwB,IAAI9nB,GAAIzI,KAAKuwB,IAAI9nB,EAAI0E,IACrFoK,EAAW0Z,GAAW9jB,EAAOC,EAAQ3E,EAAGC,GAAG,GAA1C2oB,EAAE9Z,EAAA,GAAE+Z,EAAE/Z,EAAA,GAEbsa,EAAKjqB,GADLgqB,EAAKb,GAASM,EAAK5oB,GAAI6oB,EAAK5oB,GAAKd,IAGrC,MAEJ,KAAK,EAEsB,IAAnB+pB,EAASI,MACTH,EAAKC,EAAK7xB,KAAKoE,IAAIpE,KAAKuwB,IAAI9nB,GAAIzI,KAAKuwB,IAAI9nB,EAAI0E,GAAQnN,KAAKuwB,IAAI7nB,GAAI1I,KAAKuwB,IAAI7nB,EAAI0E,IACrD,IAAnBukB,EAASI,QAChBH,EAAK5xB,KAAKoE,IAAIpE,KAAKuwB,IAAI9nB,GAAIzI,KAAKuwB,IAAI9nB,EAAI0E,IACxC0kB,EAAK7xB,KAAKoE,IAAIpE,KAAKuwB,IAAI7nB,GAAI1I,KAAKuwB,IAAI7nB,EAAI0E,KAE5C,MAEJ,KAAK,EAGD,GAAuB,IAAnBukB,EAASI,MACTH,EAAKC,EAAK7xB,KAAKoE,IACX2sB,GAAStoB,EAAGC,GACZqoB,GAAStoB,EAAGC,EAAI0E,GAChB2jB,GAAStoB,EAAI0E,EAAOzE,GACpBqoB,GAAStoB,EAAI0E,EAAOzE,EAAI0E,SAEzB,GAAuB,IAAnBukB,EAASI,MAAkC,CAE5CnqB,EAAI5H,KAAKoE,IAAIpE,KAAKuwB,IAAI7nB,GAAI1I,KAAKuwB,IAAI7nB,EAAI0E,IAAWpN,KAAKoE,IAAIpE,KAAKuwB,IAAI9nB,GAAIzI,KAAKuwB,IAAI9nB,EAAI0E,IAA3F,IACM8X,EAAWgM,GAAW9jB,EAAOC,EAAQ3E,EAAGC,GAAG,GAA1C2oB,EAAEpM,EAAA,GAAEqM,EAAErM,EAAA,GAEb4M,EAAKjqB,GADLgqB,EAAKb,GAASM,EAAK5oB,GAAI6oB,EAAK5oB,GAAKd,KAW7C,OALI9M,MAAMC,QAAQ42B,EAASG,QACvBF,EAAK1O,GAAiByO,EAASG,KAAK,GAAI3kB,GACxC0kB,EAA8B,IAAzBF,EAASG,KAAK54B,OAAegqB,GAAiByO,EAASG,KAAK,GAAI1kB,GAAUwkB,GAG5E,CAACA,EAAIC,EAChB,ECtMaG,GAAuB,SAACzkB,EAAkBkR,GACnD,IAAIwT,EAAiClO,GAAI,KACnCsL,EAAwC,GAoB9C,OAlBA7M,GAAkB/D,GAAQrgB,SAAQ,SAACqkB,EAAK1pB,GACpC,GAAU,IAANA,EAAS,CACT,IAAMm5B,EAAazP,EAAI,GACvB,GACwB,KAApByP,EAAWrsB,OACuD,IAAlE,CAAC,MAAO,OAAQ,QAAS,UAAUhK,QAAQq2B,EAAWvmB,OAGtD,YADAsmB,EAAQpO,GAAepB,IAEpB,GAAImB,GAAQsO,GAEf,YADAD,GAASzO,GAAUC,MAAMlW,EAAS2kB,GAAcnO,GAAI,MAAQA,GAAI,MAIxE,IAAMoO,EAAYjD,GAAe3hB,EAASkV,GAC1C4M,EAAMvxB,KAAKq0B,MAGR,CACH3O,MAAKyO,EACL5C,MAAKA,EACLxpB,KAAM,EAEd,ECrBausB,GAAe,eACfC,GAAgB,gBAChBC,GAAiB,iBACjBC,GAAkB,kBAClBC,GAAS,SACTC,GAAU,UACVC,GAAQ,QACRC,GAAU,UCIVC,GAAuB,SAACrlB,EAAkBkR,GACnD,IAAIsT,EAAK,EACLD,EAAI,EACFzC,EAAwC,GACxCj5B,EAA+B,GAsErC,OApEAosB,GAAkB/D,GAAQrgB,SAAQ,SAACqkB,EAAK1pB,GACpC,IAAI85B,GAAc,EA6DlB,GA5DU,IAAN95B,EACA85B,EAAcpQ,EAAI0O,QAAO,SAAC2B,EAAKpU,GAC3B,GAAIyD,GAAazD,GACb,OAAQA,EAAM/S,OACV,IAAK,SAED,OADAvV,EAAS0H,KAAKglB,KACP,EACX,IAAK,MACL,IAAK,OAED,OADA1sB,EAAS0H,KAAK+kB,KACP,EACX,IAAK,QACL,IAAK,SAED,OADAzsB,EAAS0H,KAAKilB,KACP,OAEZ,GAAIJ,GAAmBjE,IAAUgE,GAAShE,GAE7C,OADAtoB,EAAS0H,KAAK4gB,IACP,EAGX,OAAOoU,IACRD,GACU,IAAN95B,IACP85B,EAAcpQ,EAAI0O,QAAO,SAAC2B,EAAKpU,GAC3B,GAAIyD,GAAazD,GACb,OAAQA,EAAM/S,OACV,KAAK6mB,GAED,OADAT,EAAQ,GACD,EACX,KAAKU,GAED,OADAV,EAAQ,GACD,EACX,KAAKY,GACL,KAAKP,GAED,OADAN,EAAO,GACA,EACX,KAAKO,GAED,OADAP,EAAO,GACA,EACX,KAAKQ,GAED,OADAR,EAAO,GACA,EACX,KAAKY,GACL,KAAKH,GAED,OADAT,EAAO,GACA,OAEZ,GAAIpP,GAAShE,IAAUiE,GAAmBjE,GAK7C,OAJK5jB,MAAMC,QAAQ+2B,KACfA,EAAO,IAEXA,EAAKh0B,KAAK4gB,IACH,EAGX,OAAOoU,IACRD,IAGHA,EAAa,CACb,IAAMV,EAAYjD,GAAe3hB,EAASkV,GAC1C4M,EAAMvxB,KAAKq0B,OAIZ,CAACL,KAAIA,EAAEC,MAAKA,EAAE1C,MAAKA,EAAEj5B,SAAQA,EAAEyP,KAAM,EAChD,ECjFaktB,GAAmB,SAACC,GAC7B,OAA2B,IAApBA,EAAWntB,IACtB,EAEaotB,GAAmB,SAACD,GAC7B,OAA2B,IAApBA,EAAWntB,IACtB,EAuDaqtB,GAAoC,CAC7CntB,KAAM,QACN0d,MAAO,SAAClW,EAAkB5B,GACtB,GAAmB,KAAfA,EAAM9F,KAA8B,CACpC,IAAMstB,EAAqB,CAACrwB,IAAK6I,EAAMA,MAAO9F,KAAM,GAEpD,OADA0H,EAAQ6lB,MAAMC,SAAS1nB,EAAMA,OACtBwnB,EAGX,GAAmB,KAAfxnB,EAAM9F,KAA6B,CACnC,IAAMytB,EAAgBC,GAA0B5nB,EAAM5F,MACtD,GAA6B,qBAAlButB,EACP,MAAM,IAAIz7B,MAAM,sDAAsD8T,EAAM5F,KAAI,KAEpF,OAAOutB,EAAc/lB,EAAS5B,EAAMgW,QAGxC,MAAM,IAAI9pB,MAAM,0BAA0B8T,EAAM9F,iBAIxC2tB,GAAiB7nB,GAC7B,QACqB,KAAfA,EAAM9F,MAAkD,SAAhB8F,EAAMA,SAChC,KAAfA,EAAM9F,QAAiC0tB,GAA0B5nB,EAAM5F,MAEhF,CAEA,ICrGY0tB,GDqGNF,GAA+F,CACjG,kBErG0B,SAAChmB,EAAkBkR,GAC7C,IAAIwT,EAAiClO,GAAI,KACnCsL,EAAwC,GAiB9C,OAfA7M,GAAkB/D,GAAQrgB,SAAQ,SAACqkB,EAAK1pB,GACpC,GAAU,IAANA,EAAS,CACT,IAAMm5B,EAAazP,EAAI,GACvB,GAAwB,KAApByP,EAAWrsB,MAAuD,OAArBqsB,EAAWvmB,MAExD,YADAsmB,EAAQpO,GAAepB,IAEpB,GAAImB,GAAQsO,GAEf,YADAD,EAAQzO,GAAUC,MAAMlW,EAAS2kB,IAIzC,IAAMC,EAAYjD,GAAe3hB,EAASkV,GAC1C4M,EAAMvxB,KAAKq0B,MAGR,CAAC3O,MAAKyO,EAAE5C,MAAKA,EAAExpB,KAAM,EAChC,EFkFI,uBAAwBmsB,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,kBF3F0B,SAACzkB,EAAkBkR,GAC7C,IAAIsT,EAAK,EACLD,EAAI,EACFzC,EAAwC,GACxCj5B,EAA+B,GAmErC,OAlEAosB,GAAkB/D,GAAQrgB,SAAQ,SAACqkB,EAAK1pB,GACpC,IAAI85B,GAAc,EAClB,GAAU,IAAN95B,EAAS,CACT,IAAI26B,GAAe,EACnBb,EAAcpQ,EAAI0O,QAAO,SAAC2B,EAAKpU,GAC3B,GAAIgV,EACA,GAAIvR,GAAazD,GACb,OAAQA,EAAM/S,OACV,IAAK,SAED,OADAvV,EAAS0H,KAAKglB,IACPgQ,EACX,IAAK,MACL,IAAK,OAED,OADA18B,EAAS0H,KAAK+kB,IACPiQ,EACX,IAAK,QACL,IAAK,SAED,OADA18B,EAAS0H,KAAKilB,IACP+P,OAERnQ,GAAmBjE,IAAUgE,GAAShE,KAC7CtoB,EAAS0H,KAAK4gB,QAEf,GAAIyD,GAAazD,GACpB,OAAQA,EAAM/S,OACV,KAAK6mB,GAED,OADAT,EAAQ,GACD,EACX,KAAKU,GAED,OADAV,EAAQ,GACD,EACX,IAAK,KAED,OADA2B,GAAe,GACR,EACX,KAAKtB,GAED,OADAN,EAAO,GACA,EACX,KAAKY,GACL,KAAKL,GAED,OADAP,EAAO,GACA,EACX,KAAKa,GACL,KAAKL,GAED,OADAR,EAAO,GACA,EACX,KAAKS,GAED,OADAT,EAAO,GACA,OAEZ,GAAIpP,GAAShE,IAAUiE,GAAmBjE,GAK7C,OAJK5jB,MAAMC,QAAQ+2B,KACfA,EAAO,IAEXA,EAAKh0B,KAAK4gB,IACH,EAEX,OAAOoU,IACRD,GAGP,GAAIA,EAAa,CACb,IAAMV,EAAYjD,GAAe3hB,EAASkV,GAC1C4M,EAAMvxB,KAAKq0B,OAIZ,CAACL,KAAIA,EAAEC,MAAKA,EAAE1C,MAAKA,EAAEj5B,SAAQA,EAAEyP,KAAM,EAChD,EEoBI,uBAAwB+sB,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,mBGtG0B,SAC1BrlB,EACAkR,GAEA,IAAM+E,EAAQO,GAAI,KACZsL,EAAwC,GAC1CxpB,EAAO,EACLksB,EAAK,EACLD,EAAI,EACJ17B,EAA+B,GAoCrC,OAnCAosB,GAAkB/D,GAAQrgB,SAAQ,SAACqkB,EAAK1pB,GACpC,IAAMm5B,EAAazP,EAAI,GACvB,GAAU,IAAN1pB,EAAS,CACT,GAAIopB,GAAa+P,IAAoC,WAArBA,EAAWvmB,MAEvC,YADA9F,EAAO,GAEJ,GAAIsc,GAAa+P,IAAoC,WAArBA,EAAWvmB,MAE9C,YADA9F,EAAO,GAKf,GAAwB,KAApBqsB,EAAWrsB,KACX,GAAwB,SAApBqsB,EAAWnsB,KAAiB,CAC5B,IAAMye,EAAQR,GAAUP,MAAMlW,EAAS2kB,EAAWvQ,OAAO,IACzD0N,EAAMvxB,KAAK,CAACqxB,KAAMtM,GAAa2B,MAAKA,SACjC,GAAwB,OAApB0N,EAAWnsB,KACZye,EAAQR,GAAUP,MAAMlW,EAAS2kB,EAAWvQ,OAAO,IACzD0N,EAAMvxB,KAAK,CAACqxB,KAAMpM,GAAiByB,MAAKA,SACrC,GAAwB,eAApB0N,EAAWnsB,KAAuB,CACzC,IAAM4b,EAASuQ,EAAWvQ,OAAO5jB,OAAOwkB,IACxC,GAAsB,IAAlBZ,EAAOzoB,OAAc,CACfsrB,EAAQR,GAAUP,MAAMlW,EAASoU,EAAO,IAA9C,IACM+N,EAAO/N,EAAO,GAChBO,GAAcwN,IACdL,EAAMvxB,KAAK,CACPqxB,KAAM,CAACtpB,KAAM,GAA4Bgb,OAAsB,IAAd6O,EAAK7O,OAAc9B,MAAO2Q,EAAK3Q,OAChFyF,MAAKA,SAQb,IAAT3e,EACD,CACI2d,OAAQA,EAAQO,GAAI,MAAQA,GAAI,KAChCsL,MAAKA,EACLxpB,KAAIA,GAER,CAACisB,KAAIA,EAAEC,MAAKA,EAAE1C,MAAKA,EAAEj5B,SAAQA,EAAEyP,KAAIA,EAC7C,GC9Da8tB,GAAwD,CACjE5tB,KAAM,mBACNmM,aAAc,OACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAAClW,EAAkBkR,GACtB,GAAsB,IAAlBA,EAAOvlB,OACP,MAAO,GAGX,IAAMq2B,EAAQ9Q,EAAO,GAErB,OAAmB,KAAf8Q,EAAM1pB,MAAkD,SAAhB0pB,EAAM5jB,MACvC,GAGJ8S,EACF1gB,QAAO,SAAC4N,GAAU,OAAA4W,GAAwB5W,IAAU6nB,GAAiB7nB,EAAM,IAC3EhH,KAAI,SAACgH,GAAU,OAAAunB,GAAMzP,MAAMlW,EAAS5B,EAAM,MCZ1CioB,GAA8D,CACvE7tB,KAAM,oBACNmM,aAAc,aACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAOA,EAAO9Z,KAAI,SAAC+Z,GACf,GAAIyD,GAAazD,GACb,OAAQA,EAAM/S,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,OCnBNkoB,GAAkE,CAC3E9tB,KAAM,sBACNmM,aAAc,QACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAACC,EAAmBjF,GACvB,OAAO+D,GAAkB/D,GACpB9Z,KAAI,SAACgd,GAAuB,OAAAA,EAAO5jB,OAAO4kB,GAAmB,IAC7Dhe,IAAIie,MCJJkR,GAA8D,CACvE/tB,KAAM,oBACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAO+D,GAAkB/D,GACpB9Z,KAAI,SAACgd,GACF,OAAAA,EACK5jB,OAAOokB,IACPxd,KAAI,SAAC+Z,GAAU,OAAAA,EAAM/S,KAAK,IAC1BvR,KAAK,QAEbuK,IAAIovB,MAIXA,GAAwB,SAACpoB,GAC3B,OAAQA,GACJ,IAAK,YACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EAEX,QACI,OAAO,EAEnB,GNrCA,SAAY8nB,GACRA,EAAA,YACAA,EAAA,kBACAA,EAAA,aACH,CAJD,CAAYA,KAAAA,GAAe,KASpB,IObKO,GPaCC,GAA0D,CACnEluB,KAAM,kBACNmM,aAAc,IACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAO+D,GAAkB/D,GAAQ9Z,KAAI,SAACgd,GAAW,OAAAA,EAAO5jB,OAAOm2B,GAA0B,MAI3FA,GAA4B,SAACvoB,GAC/B,OAAAwW,GAAaxW,IAAUgX,GAAmBhX,EAA1C,EQzBEwoB,GAAqB,SAACC,GAA+C,MAAC,CACxEruB,KAAM,UAAUquB,EAAI,SACpBliB,aAAc,cACdvW,QAAQ,EACRkK,KAAM,EACN9O,OAAQ,QACX,EAEYs9B,GAA+CF,GAAmB,OAClEG,GAAiDH,GAAmB,SACpEI,GAAkDJ,GAAmB,UACrEK,GAAgDL,GAAmB,QCN1EM,GAAsB,SAACL,GAAwD,MAAC,CAClFruB,KAAM,iBAAiBquB,EACvBliB,aAAc,MACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAAmE,GAA2BnE,EAAO1gB,OAAO4kB,MAChD,EAEY+R,GAA6DD,GAAoB,YACjFE,GAA8DF,GAAoB,aAClFG,GAAiEH,GAAoB,gBACrFI,GAAgEJ,GAAoB,eCR3FK,GAAqB,SAACV,GAA8D,MAAC,CACvFruB,KAAM,UAAUquB,EAAI,SACpBliB,aAAc,QACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBxtB,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EAEf,OAAO,GAEd,EAEY6+B,GAA8DD,GAAmB,OACjFE,GAAgEF,GAAmB,SACnFG,GAAiEH,GAAmB,UACpFI,GAA+DJ,GAAmB,QC9BzFK,GAAqB,SAACf,GAAmD,MAAC,CAC5EruB,KAAM,UAAUquB,EAAI,SACpBliB,aAAc,IACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAACC,EAAmBhF,GACvB,OAAIuD,GAAiBvD,GACVA,EAAMmC,OAEV,GAEd,EAEYuU,GAAmDD,GAAmB,OACtEE,GAAqDF,GAAmB,SACxEG,GAAsDH,GAAmB,UACzEI,GAAoDJ,GAAmB,QCjBvE3Q,GAAsC,CAC/Cze,KAAM,QACNmM,aAAc,cACdvW,QAAQ,EACRkK,KAAM,EACN9O,OAAQ,SCCCy+B,GAAsD,CAC/DzvB,KAAM,YACNmM,aAAc,MACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmB8R,GACvB,MACS,QADDA,EAEO,EAGA,ICmBVC,GAA4C,CACrD1vB,KAAM,UACNmM,aAAc,eACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAOA,EAAO1gB,OAAOokB,IAAcgP,QAAO,SAACuE,EAAKhX,GAC5C,OAAOgX,EAAMC,GAAkBjX,EAAM/S,SACtC,KAILgqB,GAAoB,SAACF,GACvB,OAAQA,GACJ,IAAK,QACL,IAAK,cACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,OACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,OACL,IAAK,eACD,OAAO,IACX,IAAK,OACL,IAAK,WACD,OAAO,IACX,IAAK,OACD,OAAO,IACX,IAAK,UACD,OAAO,KACX,IAAK,YACD,OAAO,KACX,IAAK,kBACD,OAAO,KACX,IAAK,qBACD,OAAO,KACX,IAAK,qBACD,OAAO,MACX,IAAK,YACD,OAAO,MACX,IAAK,aACD,OAAO,MACX,IAAK,qBACD,OAAO,OACX,IAAK,eACD,OAAO,OACX,IAAK,gBACD,OAAO,OACX,IAAK,YACD,OAAO,QACX,IAAK,YACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,WACD,OAAO,SACX,IAAK,eACD,OAAO,SACX,IAAK,mBACD,OAAO,SACX,IAAK,eACD,OAAO,UACX,IAAK,cACD,OAAO,UACX,IAAK,cACD,OAAO,UAGf,OAAO,CACX,EC1GaG,GAA8C,CACvD7vB,KAAM,QACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBkS,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,eACD,OAAO,EACX,IAAK,aACD,OAAO,EAEf,OAAO,ICtBFC,GAAkD,CAC3D9vB,KAAM,iBACNmM,aAAc,IACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBhF,GACvB,OAAmB,KAAfA,EAAM7Y,MAAkD,WAAhB6Y,EAAM/S,MACvC,EAGQ,KAAf+S,EAAM7Y,MAIS,KAAf6Y,EAAM7Y,KAHC6Y,EAAMmC,OAOV,KTpBf,SAAYmT,GACRA,EAAA,gBACAA,EAAA,eACH,CAHD,CAAYA,KAAAA,GAAU,KAKf,IULK8B,GVKC3f,GAAuD,CAChEpQ,KAAM,aACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBvN,GACvB,MACS,WADDA,EAEO6d,GAAW+B,OAGX/B,GAAWgC,SWdrBC,GAA4C,CACrDlwB,KAAM,cACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,GAGGqwB,GAAoB,SAACxX,EAAiByX,GAC/C,OAAIhU,GAAazD,IAA0B,WAAhBA,EAAM/S,MACtB,IAAMwqB,EACS,KAAfzX,EAAM7Y,KACNswB,EAAWzX,EAAMmC,OACjB8B,GAAmBjE,GACnBwE,GAAiBxE,EAAOyX,GAG5BA,CACX,ECfaC,GAA6D,CACtErwB,KAAM,mBACNmM,aAAc,OACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAAClW,EAAkBmR,GACtB,OAAmB,KAAfA,EAAM7Y,MAAkD,SAAhB6Y,EAAM/S,MACvC,KAGJunB,GAAMzP,MAAMlW,EAASmR,KCTvB2X,GAAwE,CACjFtwB,KAAM,sBACNmM,aAAc,UACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBttB,GACvB,MACS,WADDA,EAEO,EAGA,ICyCVkgC,GAAgE,CACzEvwB,KAAM,kBACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmB7d,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,UACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,uBACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,GACX,IAAK,eACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,qBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,aACD,OAAO,GACX,IAAK,mBACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WAEL,IAAK,SACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,uBACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,MACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,OACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GAEX,QACI,YC5KV0wB,GAAgB,SAACnC,GAAgD,MAAC,CACpEruB,KAAM,UAAUquB,EAChBliB,aAAc,IACdvW,QAAQ,EACRkK,KAAM,EACT,EAEY2wB,GAA2CD,GAAc,OACzDE,GAA6CF,GAAc,SAC3DG,GAA8CH,GAAc,UAC5DI,GAA4CJ,GAAc,QCD1DK,GAAgD,CACzD7wB,KAAM,WACNmM,aAAc,UACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAOA,EAAO1gB,OAAOokB,IAAcxd,KAAI,SAACiyB,GACpC,OAAQA,EAASjrB,OACb,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,OACD,OAAO,EACX,IAAK,OACD,OAAO,EAEX,QACI,OAAO,QCtBdkrB,GAA6D,CACtE9wB,KAAM,gBACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBkT,GACvB,MACS,eADDA,EAEO,aAGA,WChBjBE,GAAiB,SAAC1C,GAA+C,MAAC,CACpEruB,KAAM,WAAWquB,EACjBliB,aAAc,IACdvW,QAAQ,EACRkK,KAAM,EACN9O,OAAQ,oBACX,EAEYggC,GAA2CD,GAAe,OAC1DE,GAA6CF,GAAe,SAC5DG,GAA8CH,GAAe,UAC7DI,GAA4CJ,GAAe,QCL3DK,GAAuD,CAChEpxB,KAAM,aACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmByT,GACvB,OAAQA,GACJ,IAAK,QACD,OAAO,EACX,IAAK,SACL,IAAK,UACD,OAAO,EAEX,QACI,OAAO,KCZV/gC,GAAoD,CAC7D2P,KAAM,WACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBttB,GACvB,OAAQA,GACJ,IAAK,WACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,SACD,OAAO,EAGf,OAAO,ICZFghC,GAAkD,CAC3DrxB,KAAM,cACNmM,aAAc,OACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAAClW,EAAkBkR,GACtB,OAAsB,IAAlBA,EAAOvlB,QAAgBmpB,GAAiB5D,EAAO,GAAI,QAC5C,GAGJ+D,GAAkB/D,GAAQ9Z,KAAI,SAACgd,GAQlC,IAPA,IAAM0V,EAAyB,CAC3B7S,MAAOJ,GAAOE,YACdgT,QAASzU,GACT0U,QAAS1U,GACT2U,KAAM3U,IAENjb,EAAI,EACC7O,EAAI,EAAGA,EAAI4oB,EAAOzoB,OAAQH,IAAK,CACpC,IAAM2lB,EAAQiD,EAAO5oB,GACjB2pB,GAAShE,IACC,IAAN9W,EACAyvB,EAAOC,QAAU5Y,EACJ,IAAN9W,EACPyvB,EAAOE,QAAU7Y,EAEjB2Y,EAAOG,KAAO9Y,EAElB9W,KAEAyvB,EAAO7S,MAAQR,GAAMP,MAAMlW,EAASmR,GAG5C,OAAO2Y,OCvCNI,GAA+D,CACxE1xB,KAAM,iBACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmB+T,GACvB,OAAQA,GACJ,IAAK,YACD,OAAO,EACX,IAAK,YACD,OAAO,EACX,IAAK,aACD,OAAO,EAGf,OAAO,ICjBFC,GAAiD,CAC1D3xB,KAAM,YACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBhF,GACvB,GAAmB,KAAfA,EAAM7Y,MAAkD,SAAhB6Y,EAAM/S,MAC9C,OAAO,KAGX,GAAmB,KAAf+S,EAAM7Y,KAA6B,CACnC,IAAM8xB,EAAoBC,GAA8BlZ,EAAM3Y,MAC9D,GAAiC,qBAAtB4xB,EACP,MAAM,IAAI9/B,MAAM,0DAA0D6mB,EAAM3Y,KAAI,KAExF,OAAO4xB,EAAkBjZ,EAAMiD,QAGnC,OAAO,OAmBTiW,GAEF,CACAC,OAlBW,SAAC35B,GACZ,IAAMyjB,EAASzjB,EAAKH,QAAO,SAAC0kB,GAAQ,OAAa,KAAbA,EAAI5c,IAAI,IAA6BlB,KAAI,SAAC8d,GAA0B,OAAAA,EAAI5B,MAAM,IAElH,OAAyB,IAAlBc,EAAOzoB,OAAgByoB,EAAoB,IACtD,EAeImW,SAZa,SAAC55B,GACd,IAAMyjB,EAASzjB,EAAKH,QAAO,SAAC0kB,GAAQ,OAAa,KAAbA,EAAI5c,IAAI,IAA6BlB,KAAI,SAAC8d,GAA0B,OAAAA,EAAI5B,MAAM,IAE3GtB,EAAkEoC,EAAM,GAApEoW,EAA8DpW,EAAM,GAANA,EAAM,GAANA,EAAM,GAA1D,IAAEnC,EAAkDmC,EAAM,GAApDqW,EAA8CrW,EAAM,GAANA,EAAM,GAANA,EAAM,GAANA,EAAM,GAANA,EAAM,GAANA,EAAM,IAANA,EAAM,IAA1B,IAAEsW,EAAkBtW,EAAM,IAApBuW,EAAcvW,EAAM,IAE/E,OAFyEA,EAAM,IAANA,EAAM,IAEtD,KAAlBA,EAAOzoB,OAAgB,CAACqmB,EAAIwY,EAAIvY,EAAIwY,EAAIC,EAAIC,GAAM,IAC7D,GCnCMC,GAAkC,CACpCtyB,KAAM,GACNgb,OAAQ,GACR9B,MAAO9G,IAELmgB,GAA2B,CAACD,GAAeA,IAEpCE,GAA4D,CACrEtyB,KAAM,mBACNmM,aAAc,UACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,IAAM6Z,EAA8B7Z,EAAO1gB,OAAO4kB,IAElD,OAAuB,IAAnB2V,EAAQp/B,OACDk/B,GAGJ,CAACE,EAAQ,GAAIA,EAAQ,MClBvBC,GAAwD,CACjExyB,KAAM,UACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmB6U,GACvB,OAAQA,GACJ,IAAK,SACD,OAAO,EACX,IAAK,WACD,OAAO,EAEX,QACI,OAAO,MfnBvB,SAAYzC,GACRA,EAAA,gBACAA,EAAA,sBACAA,EAAA,mBACH,CAJD,CAAYA,KAAAA,GAAU,KgBEtB,IhBIO,IAAMxe,GAAuD,CAChEvR,KAAM,aACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBpM,GACvB,OAAQA,GACJ,IAAK,YACD,OAAOwe,GAAW0C,UACtB,IAAK,WACD,OAAO1C,GAAW2C,SAEtB,QACI,OAAO3C,GAAWE,UiBXrB0C,GAA2C,CACpD3yB,KAAM,UACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBhF,GACvB,GAAmB,KAAfA,EAAM7Y,KACN,MAAO,CAAC8yB,MAAM,EAAMC,MAAO,GAG/B,GAAI1W,GAAcxD,GACd,MAAO,CAACia,MAAM,EAAOC,MAAOla,EAAMmC,QAGtC,MAAM,IAAIhpB,MAAM,mCCnBXghC,GAAgC,CACzC9yB,KAAM,OACN0d,MAAO,SAACC,EAAmB/X,GACvB,GAAmB,KAAfA,EAAM9F,KACN,OAAQ8F,EAAMmV,KAAKllB,eACf,IAAK,IACD,OAAO,IAAO+P,EAAMkV,OACxB,IAAK,KACD,OAAOlV,EAAMkV,OAIzB,MAAM,IAAIhpB,MAAM,2BCdXihC,GAA4C,CACrD/yB,KAAM,UACNmM,aAAc,IACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAACC,EAAmBhF,GACvB,OAAIwD,GAAcxD,GACPA,EAAMmC,OAEV,ICVFkY,GAAoD,CAC7DhzB,KAAM,wBACNmM,aAAc,cACdvW,QAAQ,EACRkK,KAAM,EACN9O,OAAQ,SCOCiiC,GAAkE,CAC3EjzB,KAAM,uBACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,OAAOA,EACF1gB,OAAOokB,IACPxd,KAAI,SAAC+Z,GACF,OAAQA,EAAM/S,OACV,IAAK,YACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,eACD,OAAO,EACX,IAAK,OACD,OAAO,EAEf,OAAO,KAEV5N,QAAO,SAACk7B,GAAS,OAAS,IAATA,CAAI,MC1BrBC,GAAkD,CAC3DnzB,KAAM,cACNmM,aAAc,GACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,IAAM0a,EAAwB,GACxBC,EAAoB,GAmB1B,OAlBA3a,EAAOrgB,SAAQ,SAACsgB,GACZ,OAAQA,EAAM7Y,MACV,KAAK,GACL,KAAK,EACDszB,EAAYr7B,KAAK4gB,EAAM/S,OACvB,MACJ,KAAK,GACDwtB,EAAYr7B,KAAK4gB,EAAMmC,OAAO3gB,YAC9B,MACJ,KAAK,EACDk5B,EAAQt7B,KAAKq7B,EAAY/+B,KAAK,MAC9B++B,EAAYjgC,OAAS,MAI7BigC,EAAYjgC,QACZkgC,EAAQt7B,KAAKq7B,EAAY/+B,KAAK,MAE3Bg/B,EAAQz0B,KAAI,SAACxK,GAAW,OAA0B,IAAzBA,EAAO0B,QAAQ,KAAc1B,EAAS,IAAIA,EAAM,GAAG,MCjC9Eg8B,GAAyC,CAClDpwB,KAAM,YACNmM,aAAc,IACdvW,QAAQ,EACRkK,KAAM,EACN9O,OAAQ,UCJCsiC,GAA+C,CACxDtzB,KAAM,cACNmM,aAAc,SACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAACC,EAAmBhF,GACvB,OAAIwD,GAAcxD,GACPA,EAAMmC,OAGbsB,GAAazD,IAEJ,SADDA,EAAM/S,MAEC,IAOZ,MCpBF2tB,GAAiD,CAC1DvzB,KAAM,eACNmM,aAAc,OACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAACC,EAAmBjF,GACvB,OAAOA,EAAO1gB,OAAOokB,IAAcxd,KAAI,SAAC+Z,GAAU,OAAAA,EAAM/S,KAAK,MCDxD4tB,GAAuD,CAChExzB,KAAM,aACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBkT,GACvB,OAAQA,GACJ,IAAK,UACD,MAAO,UACX,IAAK,SACD,MAAO,SAEX,QACI,MAAO,YCrBV4C,GAAW,SAAC9D,EAAa/pB,GAA2B,OAAkB,KAAjB+pB,EAAM/pB,EAAY,ECOvE8tB,GAA4C,CACrD1zB,KAAM,UACNmM,aAAc,OACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAACC,EAAmBjF,GACvB,GAAsB,IAAlBA,EAAOvlB,OACP,MAAO,GAGX,IAAMq2B,EAAQ9Q,EAAO,GAErB,OAAmB,KAAf8Q,EAAM1pB,MAAkD,SAAhB0pB,EAAM5jB,MACvC,GAGJ8S,ICXFib,GAA8D,CACvE3zB,KAAM,oBACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,GAAsB,IAAlBA,EAAOvlB,OACP,OAAO,KAGX,IAAMq2B,EAAQ9Q,EAAO,GAErB,GAAmB,KAAf8Q,EAAM1pB,MAAkD,SAAhB0pB,EAAM5jB,MAC9C,OAAO,KAMX,IAHA,IAAMguB,EAAa,GACbC,EAAWnb,EAAO1gB,OAAOukB,IAEtBvpB,EAAI,EAAGA,EAAI6gC,EAAS1gC,OAAQH,IAAK,CACtC,IAAM8gC,EAAUD,EAAS7gC,GACnBkT,EAAO2tB,EAAS7gC,EAAI,GAC1B,GAAqB,KAAjB8gC,EAAQh0B,KAAgC,CACxC,IAAMi0B,EAAY7tB,GAAQiW,GAAcjW,GAAQA,EAAK4U,OAAS,EAC9D8Y,EAAW77B,KAAK,CAAC+7B,QAASA,EAAQluB,MAAOmuB,UAASA,KAI1D,OAAOH,IC7BFI,GAAsD,CAC/Dh0B,KAAM,gBACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,GAAsB,IAAlBA,EAAOvlB,OACP,MAAO,GAMX,IAHA,IAAM8gC,EAAS,GACTJ,EAAWnb,EAAO1gB,OAAOukB,IAEtBvpB,EAAI,EAAGA,EAAI6gC,EAAS1gC,OAAQH,IAAK,CACtC,IAAM8gC,EAAUD,EAAS7gC,GACnBkT,EAAO2tB,EAAS7gC,EAAI,GAC1B,GAAIopB,GAAa0X,IAA8B,SAAlBA,EAAQluB,MAAkB,CACnD,IAAMsuB,EAAQhuB,GAAQiW,GAAcjW,GAAQA,EAAK4U,OAAS,EAC1DmZ,EAAOl8B,KAAK,CAAC+7B,QAASA,EAAQluB,MAAOsuB,MAAKA,KAIlD,OAAOD,IC5BFE,GAA8C,CACvDn0B,KAAM,WACNmM,aAAc,KACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAAClW,EAAkBkR,GACtB,OAAOA,EAAO1gB,OAAOkkB,IAAkBtd,KAAI,SAAC+Z,GAAU,OAAAma,GAAKpV,MAAMlW,EAASmR,EAAM,MCC3Eyb,GAA0C,CACnDp0B,KAAM,SACNmM,aAAc,OACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,GAAsB,IAAlBA,EAAOvlB,OACP,OAAO,KAGX,IAAMq2B,EAAQ9Q,EAAO,GAErB,GAAmB,KAAf8Q,EAAM1pB,MAAkD,SAAhB0pB,EAAM5jB,MAC9C,OAAO,KAGX,IAAMwuB,EAAS,GACTP,EAAWnb,EAAO1gB,OAAOqkB,IAE/B,GAAIwX,EAAS1gC,OAAS,IAAM,EACxB,OAAO,KAGX,IAAK,IAAIH,EAAI,EAAGA,EAAI6gC,EAAS1gC,OAAQH,GAAK,EAAG,CACzC,IAAMqhC,EAAOR,EAAS7gC,GAAG4S,MACnB0uB,EAAQT,EAAS7gC,EAAI,GAAG4S,MAC9BwuB,EAAOr8B,KAAK,CAACw8B,KAAIF,EAAEG,MAAKF,IAG5B,OAAOF,IAIFK,GAAW,SAACL,EAAgBM,EAAeH,GACpD,IAAKH,EACD,MAAO,GAGX,IAAMO,EAAQP,EAAOn6B,KAAKmE,IAAIs2B,EAAON,EAAOjhC,OAAS,IACrD,OAAKwhC,EAIEJ,EAAOI,EAAMJ,KAAOI,EAAMH,MAHtB,EAIf,ECvCaI,GAAgD,CACzD50B,KAAM,aACNmM,aAAc,OACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAAClW,EAAkBkR,GACtB,OAAsB,IAAlBA,EAAOvlB,QAAgBmpB,GAAiB5D,EAAO,GAAI,QAC5C,GAGJ+D,GAAkB/D,GAAQ9Z,KAAI,SAACgd,GAUlC,IATA,IAAM0V,EAAwB,CAC1B7S,MAAO,IACP8S,QAASzU,GACT0U,QAAS1U,GACT2U,KAAM3U,GACN+X,OAAQ/X,GACRgY,OAAO,GAEPjzB,EAAI,EACC7O,EAAI,EAAGA,EAAI4oB,EAAOzoB,OAAQH,IAAK,CACpC,IAAM2lB,EAAQiD,EAAO5oB,GACjBspB,GAAiB3D,EAAO,SACxB2Y,EAAOwD,OAAQ,EACRnY,GAAShE,IACN,IAAN9W,EACAyvB,EAAOC,QAAU5Y,EACJ,IAAN9W,EACPyvB,EAAOE,QAAU7Y,EACJ,IAAN9W,EACPyvB,EAAOG,KAAO9Y,EAEd2Y,EAAOuD,OAASlc,EAEpB9W,KAEAyvB,EAAO7S,MAAQR,GAAMP,MAAMlW,EAASmR,GAG5C,OAAO2Y,OC7CNyD,GAAkD,CAC3D/0B,KAAM,cACNmM,aAAc,SACdvW,QAAQ,EACRkK,KAAM,EACN4d,MAAO,SAACC,EAAmBjF,GACvB,IAAM0Z,EAAgB,CAAC,EAAD,KAChB4C,EAAqB,GAqB3B,OAnBAtc,EAAO1gB,OAAOokB,IAAc/jB,SAAQ,SAACsgB,GACjC,OAAQA,EAAM/S,OACV,IAAK,SACDovB,EAAOj9B,KAAK,GACZ,MACJ,IAAK,OACDi9B,EAAOj9B,KAAK,GACZ,MACJ,IAAK,UACDi9B,EAAOj9B,KAAK,OAIxBq6B,EAAc/5B,SAAQ,SAACuN,IACY,IAA3BovB,EAAOl/B,QAAQ8P,IACfovB,EAAOj9B,KAAK6N,MAIbovB,ICtCFC,GAAsD,CAC/Dj1B,KAAM,4BACNmM,aAAc,eACdvW,QAAQ,EACRkK,KAAM,EACN9O,OAAQ,SCHCkkC,GAA0D,CACnEl1B,KAAM,4BACNmM,aAAc,IACdrM,KAAM,EACNlK,QAAQ,EACR8nB,MAAO,SAACC,EAAmBhF,GACvB,OAAIuD,GAAiBvD,GACVA,EAAMmC,OAEV,ICuEfqa,GAAA,WAoEI,SAAAA,EAAY3tB,EAAkB4tB,WAC1BnwB,KAAKowB,kBAAoB3X,GAAMlW,EAAS2sB,GAAUiB,EAAYC,mBAC9DpwB,KAAKgkB,eAAiBvL,GAAMlW,EAASyhB,GAAgBmM,EAAYnM,gBACjEhkB,KAAKikB,gBAAkBxL,GAAMlW,EAAS0hB,GAAiBkM,EAAYlM,iBACnEjkB,KAAK2oB,gBAAkBlQ,GAAMlW,EAASomB,GAAiBwH,EAAYxH,iBACnE3oB,KAAK4oB,iBAAmBnQ,GAAMlW,EAASqmB,GAAkBuH,EAAYvH,kBACrE5oB,KAAK6oB,mBAAqBpQ,GAAMlW,EAASsmB,GAAoBsH,EAAYtH,oBACzE7oB,KAAK8oB,iBAAmBrQ,GAAMlW,EAASumB,GAAkBqH,EAAYrH,kBACrE9oB,KAAKipB,eAAiBxQ,GAAMlW,EAAS0mB,GAAgBkH,EAAYlH,gBACjEjpB,KAAKqpB,eAAiB5Q,GAAMlW,EAAS8mB,GAAgB8G,EAAY9G,gBACjErpB,KAAKspB,iBAAmB7Q,GAAMlW,EAAS+mB,GAAkB6G,EAAY7G,kBACrEtpB,KAAKupB,kBAAoB9Q,GAAMlW,EAASgnB,GAAmB4G,EAAY5G,mBACvEvpB,KAAKwpB,gBAAkB/Q,GAAMlW,EAASinB,GAAiB2G,EAAY3G,iBACnExpB,KAAK0pB,oBAAsBjR,GAAMlW,EAASmnB,GAAqByG,EAAYzG,qBAC3E1pB,KAAK2pB,qBAAuBlR,GAAMlW,EAASonB,GAAsBwG,EAAYxG,sBAC7E3pB,KAAK4pB,wBAA0BnR,GAAMlW,EAASqnB,GAAyBuG,EAAYvG,yBACnF5pB,KAAK6pB,uBAAyBpR,GAAMlW,EAASsnB,GAAwBsG,EAAYtG,wBACjF7pB,KAAK+pB,eAAiBtR,GAAMlW,EAASwnB,GAAgBoG,EAAYpG,gBACjE/pB,KAAKgqB,iBAAmBvR,GAAMlW,EAASynB,GAAkBmG,EAAYnG,kBACrEhqB,KAAKiqB,kBAAoBxR,GAAMlW,EAAS0nB,GAAmBkG,EAAYlG,mBACvEjqB,KAAKkqB,gBAAkBzR,GAAMlW,EAAS2nB,GAAiBiG,EAAYjG,iBACnElqB,KAAKoqB,eAAiB3R,GAAMlW,EAAS6nB,GAAgB+F,EAAY/F,gBACjEpqB,KAAKqqB,iBAAmB5R,GAAMlW,EAAS8nB,GAAkB8F,EAAY9F,kBACrErqB,KAAKsqB,kBAAoB7R,GAAMlW,EAAS+nB,GAAmB6F,EAAY7F,mBACvEtqB,KAAKuqB,gBAAkB9R,GAAMlW,EAASgoB,GAAiB4F,EAAY5F,iBACnEvqB,KAAK2vB,UAAYlX,GAAMlW,EAASotB,GAAWQ,EAAYR,WACvD3vB,KAAKwZ,MAAQf,GAAMlW,EAASiX,GAAO2W,EAAY3W,OAC/CxZ,KAAKwqB,UAAY/R,GAAMlW,EAASioB,GAAW2F,EAAY3F,WACvDxqB,KAAKyqB,QAAUhS,GAAMlW,EAASkoB,GAAS0F,EAAY1F,SACnDzqB,KAAK4qB,MAAQnS,GAAMlW,EAASqoB,GAAOuF,EAAYE,UAC/CrwB,KAAKkuB,WAAazV,GAAMlW,EAAS2rB,GAAYiC,EAAYjC,YACzDluB,KAAKmrB,SAAW1S,GAAMlW,EAAS4oB,GAAUgF,EAAYhF,UACrDnrB,KAAKuuB,UAAY9V,GAAMlW,EAASgsB,GAAW4B,EAAY5B,WACvDvuB,KAAKsuB,YAAc7V,GAAMlW,EAAS+rB,GAAa6B,EAAY7B,aAC3DtuB,KAAKquB,WAAa5V,GAAMlW,EAAS8rB,GAAY8B,EAAY9B,YACzDruB,KAAK6qB,cAAgBpS,GAAMlW,EAASsoB,GAAesF,EAAYtF,eAC/D7qB,KAAKmL,UAAYsN,GAAMlW,EAAS4I,GAAWglB,EAAYhlB,WACvDnL,KAAKirB,WAAaxS,GAAMlW,EAAS0oB,GAAYkF,EAAYlF,YACzDjrB,KAAKorB,eAAiB3S,GAAMlW,EAAS6oB,GAAgB+E,EAAY/E,gBACjEprB,KAAKqrB,kBAAoB5S,GAAMlW,EAAS8oB,GAAmB8E,EAAY9E,mBACvErrB,KAAKsrB,cAAgB7S,GAAMlW,EAAS+oB,GAAe6E,EAAY7E,eAC/DtrB,KAAKwrB,UAAY/S,GAAMlW,EAASipB,GAAW2E,EAAY3E,WACvDxrB,KAAKyrB,YAAchT,GAAMlW,EAASkpB,GAAa0E,EAAY1E,aAC3DzrB,KAAK0rB,aAAejT,GAAMlW,EAASmpB,GAAcyE,EAAYzE,cAC7D1rB,KAAK2rB,WAAalT,GAAMlW,EAASopB,GAAYwE,EAAYxE,YACzD3rB,KAAK8tB,QAAUrV,GAAMlW,EAASurB,GAASqC,EAAYrC,SACnD,IAAMwC,EAAgB7X,GAAMlW,EAASqpB,GAAUuE,EAAYvE,UAC3D5rB,KAAKuwB,UAAYD,EAAc,GAC/BtwB,KAAKwwB,UAAYF,EAAcA,EAAcpiC,OAAS,EAAI,EAAI,GAC9D8R,KAAK6rB,aAAepT,GAAMlW,EAASspB,GAAcsE,EAAYtE,cAC7D7rB,KAAK+rB,WAAatT,GAAMlW,EAASwpB,GAAYoE,EAAYpE,YACzD/rB,KAAKgsB,aAAevT,GAAMlW,EAASypB,GAAcmE,EAAYnE,cAC7DhsB,KAAKisB,cAAgBxT,GAAMlW,EAAS0pB,GAAekE,EAAYlE,eAC/DjsB,KAAKksB,YAAczT,GAAMlW,EAAS2pB,GAAaiE,EAAYjE,aAC3DlsB,KAAK8vB,WAAarX,GAAMlW,EAASutB,GAAYK,EAAYL,YACzD9vB,KAAK5U,SAAWqtB,GAAMlW,EAASnX,GAAU+kC,EAAY/kC,UACrD4U,KAAKmsB,UAAY1T,GAAMlW,EAAS4pB,GAAWgE,EAAYhE,WACvDnsB,KAAK+tB,oBAAsBtV,GACvBlW,EACAwrB,GAC+B,QAA/BxhB,EAAA4jB,EAAYpC,2BAAmB,IAAAxhB,EAAAA,EAAI4jB,EAAY3W,OAEnDxZ,KAAKguB,mBAAqBvV,GACtBlW,EACAyrB,GAC8B,QAA9B/T,EAAAkW,EAAYnC,0BAAkB,IAAA/T,EAAAA,EAAIkW,EAAYM,gBAElDzwB,KAAKosB,WAAa3T,GAAMlW,EAAS6pB,GAAY+D,EAAY/D,YACzDpsB,KAAKysB,cAAgBhU,GAAMlW,EAASkqB,GAAe0D,EAAY1D,eAC/DzsB,KAAK0wB,UAAYjY,GAAMlW,EAASmqB,GAAWyD,EAAYO,WACvD1wB,KAAKqtB,gBAAkB5U,GAAMlW,EAAS8qB,GAAiB8C,EAAY9C,iBACnErtB,KAAKutB,WAAa9U,GAAMlW,EAASgrB,GAAY4C,EAAY5C,YACzDvtB,KAAKgwB,sBAAwBvX,GAAMlW,EAASytB,GAAuBG,EAAYH,uBAC/EhwB,KAAKiwB,sBAAwBxX,GAAMlW,EAAS0tB,GAAuBE,EAAYF,uBAC/EjwB,KAAKsM,UAAYmM,GAAMlW,EAAS+J,GAAW6jB,EAAY7jB,WACvDtM,KAAK0tB,OAASjV,GAAMlW,EAASmrB,GAAQyC,EAAYzC,QAqCzD,OAlCIwC,EAAAzgC,UAAAkhC,UAAA,WACI,OAAO3wB,KAAKyqB,QAAU,GAAKzqB,KAAK8tB,QAAU,GAAyB,IAApB9tB,KAAKutB,YAGxD2C,EAAAzgC,UAAA8pB,cAAA,WACI,OAAOA,GAAcvZ,KAAKikB,kBAG9BiM,EAAAzgC,UAAAmhC,cAAA,WACI,OAA0B,OAAnB5wB,KAAK0wB,WAGhBR,EAAAzgC,UAAAohC,aAAA,WACI,OAAyB,IAAlB7wB,KAAK5U,UAGhB8kC,EAAAzgC,UAAAqhC,uBAAA,WACI,OAAO9wB,KAAK6wB,iBAAmB7wB,KAAK0tB,OAAOC,MAG/CuC,EAAAzgC,UAAAshC,WAAA,WACI,OAAsB,IAAf/wB,KAAK4qB,OAGhBsF,EAAAzgC,UAAAuhC,cAAA,WACI,OACIxC,GAASxuB,KAAKyqB,QAAS,IACvB+D,GAASxuB,KAAKyqB,QAAS,WACvB+D,GAASxuB,KAAKyqB,QAAS,YACvB+D,GAASxuB,KAAKyqB,QAAS,YACvB+D,GAASxuB,KAAKyqB,QAAS,WACvB+D,GAASxuB,KAAKyqB,QAAS,YAGnCyF,CAAA,CApLA,GAsLAe,GAAA,WAII,SAAAA,EAAY1uB,EAAkB4tB,GAC1BnwB,KAAKyuB,QAAUhW,GAAMlW,EAASksB,GAAS0B,EAAY1B,SACnDzuB,KAAKmvB,OAAS1W,GAAMlW,EAAS4sB,GAAQgB,EAAYhB,QAEzD,OAAA8B,CAAA,CARA,GAUAC,GAAA,WAII,SAAAA,EAAY3uB,EAAkB4tB,GAC1BnwB,KAAK0uB,iBAAmBjW,GAAMlW,EAASmsB,GAAkByB,EAAYzB,kBACrE1uB,KAAK+uB,aAAetW,GAAMlW,EAASwsB,GAAcoB,EAAYpB,cAErE,OAAAmC,CAAA,CARA,GAWMzY,GAAQ,SAAClW,EAAkB9F,EAAwCvR,GACrE,IAAMirB,EAAY,IAAI/C,GAChBzS,EAAkB,OAAVzV,GAAmC,qBAAVA,EAAwBA,EAAMgK,WAAauH,EAAWyK,aAC7FiP,EAAU7C,MAAM3S,GAChB,IAAMwwB,EAAS,IAAIlb,GAAOE,EAAU3C,QACpC,OAAQ/W,EAAW5B,MACf,KAAK,EACD,IAAM6Y,EAAQyd,EAAO9a,sBACrB,OAAO5Z,EAAWgc,MAAMlW,EAAS4U,GAAazD,GAASA,EAAM/S,MAAQlE,EAAWyK,cACpF,KAAK,EACD,OAAOzK,EAAWgc,MAAMlW,EAAS4uB,EAAO9a,uBAC5C,KAAK,EACD,OAAO5Z,EAAWgc,MAAMlW,EAAS4uB,EAAO5a,wBAC5C,KAAK,EACD,OAAO4a,EAAO9a,sBAClB,KAAK,EACD,OAAQ5Z,EAAW1Q,QACf,IAAK,QACD,OAAOysB,GAAMC,MAAMlW,EAAS4uB,EAAO9a,uBACvC,IAAK,QACD,OAAO2C,GAAUP,MAAMlW,EAAS4uB,EAAO9a,uBAC3C,IAAK,QACD,OAAO6R,GAAMzP,MAAMlW,EAAS4uB,EAAO9a,uBACvC,IAAK,SACD,IAAM+a,EAASD,EAAO9a,sBACtB,OAAOqB,GAAS0Z,GAAUA,EAASvZ,GACvC,IAAK,oBACD,IAAMwZ,EAAQF,EAAO9a,sBACrB,OAAOsB,GAAmB0Z,GAASA,EAAQxZ,GAC/C,IAAK,OACD,OAAOgW,GAAKpV,MAAMlW,EAAS4uB,EAAO9a,wBAItD,EChUMib,GAA2B,yBAS3BC,GAAsB,SAACC,GAEzB,OADkBA,EAAQ34B,aAAay4B,KAEnC,IAAK,MACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,QACI,OAAO,EAEnB,EAEaG,GAAc,SAACD,EAAkB32B,GAC1C,IAAM62B,EAAcH,GAAoBC,GACxC,OAAuB,IAAhBE,GAAoC72B,IAAS62B,CACxD,ECdAC,GAAA,WAOI,SAAAA,EAA+BpvB,EAAkBivB,GAAlB,KAAAjvB,QAAAA,EALtB,KAAAqvB,UAA6B,GAC7B,KAAAC,SAA+B,GAExC,KAAA9d,MAAQ,EAGA0d,GAAYD,EAAS,GAIzBxxB,KAAK8xB,OAAS,IAAI5B,GAAqB3tB,EAASnW,OAAO2lC,iBAAiBP,EAAS,OAE7EQ,GAAkBR,KACdxxB,KAAK8xB,OAAO1B,kBAAkB6B,MAAK,SAAC/C,GAAa,OAAAA,EAAW,CAAC,MAC7DsC,EAAQtmC,MAAMklC,kBAAoB,MAGR,OAA1BpwB,KAAK8xB,OAAOpB,YAEZc,EAAQtmC,MAAMwlC,UAAY,SAIlC1wB,KAAKkyB,OAASlvB,EAAYhD,KAAKuC,QAASivB,GAEpCC,GAAYD,EAAS,KACrBxxB,KAAK+T,OAAS,IAG1B,OAAA4d,CAAA,CA/BA,GCda7sB,GACT,+izBxBDEqtB,GAAQ,mEAGRC,GAA+B,qBAAf5tB,WAA6B,GAAK,IAAIA,WAAW,KAC9D6tB,GAAI,EAAGA,GAAIF,GAAMjkC,OAAQmkC,KAC9BD,GAAOD,GAAMruB,WAAWuuB,KAAMA,GyBDlC,IzBIO,IAAMC,GAAS,SAACxtB,GACnB,IAEI/W,EAEAgX,EACAC,EACAC,EACAC,EAPAC,EAA+B,IAAhBL,EAAO5W,OACtBkX,EAAMN,EAAO5W,OAEbiP,EAAI,EAM0B,MAA9B2H,EAAOA,EAAO5W,OAAS,KACvBiX,IACkC,MAA9BL,EAAOA,EAAO5W,OAAS,IACvBiX,KAIR,IAAME,EACqB,qBAAhBC,aACe,qBAAfd,YAC+B,qBAA/BA,WAAW/U,UAAUuB,MACtB,IAAIsU,YAAYH,GAChB,IAAIrV,MAAMqV,GACdI,EAAQzV,MAAMC,QAAQsV,GAAUA,EAAS,IAAIb,WAAWa,GAE9D,IAAKtX,EAAI,EAAGA,EAAIqX,EAAKrX,GAAK,EACtBgX,EAAWqtB,GAAOttB,EAAOhB,WAAW/V,IACpCiX,EAAWotB,GAAOttB,EAAOhB,WAAW/V,EAAI,IACxCkX,EAAWmtB,GAAOttB,EAAOhB,WAAW/V,EAAI,IACxCmX,EAAWktB,GAAOttB,EAAOhB,WAAW/V,EAAI,IAExCwX,EAAMpI,KAAQ4H,GAAY,EAAMC,GAAY,EAC5CO,EAAMpI,MAAoB,GAAX6H,IAAkB,EAAMC,GAAY,EACnDM,EAAMpI,MAAoB,EAAX8H,IAAiB,EAAiB,GAAXC,EAG1C,OAAOG,CACX,EAEaktB,GAAkB,SAACltB,GAG5B,IAFA,IAAMnX,EAASmX,EAAOnX,OAChBqX,EAAQ,GACLxX,EAAI,EAAGA,EAAIG,EAAQH,GAAK,EAC7BwX,EAAMzS,KAAMuS,EAAOtX,EAAI,IAAM,EAAKsX,EAAOtX,IAE7C,OAAOwX,CACX,EAEaitB,GAAkB,SAACntB,GAG5B,IAFA,IAAMnX,EAASmX,EAAOnX,OAChBqX,EAAQ,GACLxX,EAAI,EAAGA,EAAIG,EAAQH,GAAK,EAC7BwX,EAAMzS,KAAMuS,EAAOtX,EAAI,IAAM,GAAOsX,EAAOtX,EAAI,IAAM,GAAOsX,EAAOtX,EAAI,IAAM,EAAKsX,EAAOtX,IAE7F,OAAOwX,CACX,E0B1DaktB,GAAiB,EAGjBC,GAAiB,GAQjBC,GAAqB,EAcrBC,GAA6B,OAAWH,GAKxCI,IAF2B,GAAKJ,IAEc,EAuB9CK,GAnB4BF,IAFC,MAASH,IAQN,GAmBhCM,GAAoC,OAAWL,GAK/CM,IAF8B,GA7CXN,GAAiBD,IA+CgB,EAE3DQ,GAAU,SAAC9sB,EAA8BC,EAAeC,GAC1D,OAAIF,EAAKnV,MACEmV,EAAKnV,MAAMoV,EAAOC,GAGtB,IAAIC,YAAYxW,MAAML,UAAUuB,MAAMtB,KAAKyW,EAAMC,EAAOC,GACnE,EAEM6sB,GAAU,SAAC/sB,EAA8BC,EAAeC,GAC1D,OAAIF,EAAKnV,MACEmV,EAAKnV,MAAMoV,EAAOC,GAGtB,IAAIG,YAAY1W,MAAML,UAAUuB,MAAMtB,KAAKyW,EAAMC,EAAOC,GACnE,EAEa8sB,GAAuB,SAACruB,EAAgB4B,GACjD,IAAMrB,EAASitB,GAAOxtB,GAChB6B,EAAS7W,MAAMC,QAAQsV,GAAUmtB,GAAgBntB,GAAU,IAAImB,YAAYnB,GAC3EuB,EAAS9W,MAAMC,QAAQsV,GAAUktB,GAAgBltB,GAAU,IAAIiB,YAAYjB,GAC3EwB,EAAe,GAEf/Y,EAAQmlC,GAAQrsB,EAAQC,EAAe,EAAGF,EAAO,GAAK,GACtDG,EACY,IAAdH,EAAO,GACDssB,GAAQrsB,GAASC,EAAeF,EAAO,IAAM,GAC7CusB,GAAQvsB,EAAQ3R,KAAK+R,MAAMF,EAAeF,EAAO,IAAM,IAEjE,OAAO,IAAIM,GAAKN,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAI7Y,EAAOgZ,EACvE,gBAUI,SAAAG,EACIC,EACAC,EACAC,EACAC,EACAvZ,EACAgZ,GAEA9G,KAAKkH,aAAeA,EACpBlH,KAAKmH,WAAaA,EAClBnH,KAAKoH,UAAYA,EACjBpH,KAAKqH,eAAiBA,EACtBrH,KAAKlS,MAAQA,EACbkS,KAAK8G,KAAOA,EAkDpB,OAzCIG,EAAAxX,UAAA6X,IAAA,SAAIlD,GACA,IAAImD,EACJ,GAAInD,GAAa,EAAG,CAChB,GAAIA,EAAY,OAAYA,EAAY,OAAWA,GAAa,MAM5D,OADAmD,IADAA,EAAKvH,KAAKlS,MAAMsW,GAAaquB,MACjBE,KAAuBvuB,EAAYyuB,IACxC7yB,KAAK8G,KAAKS,GAGrB,GAAInD,GAAa,MASb,OADAmD,IADAA,EAAKvH,KAAKlS,MAAM8kC,IAA+BxuB,EAAY,OAAWquB,OAC1DE,KAAuBvuB,EAAYyuB,IACxC7yB,KAAK8G,KAAKS,GAGrB,GAAInD,EAAYpE,KAAKoH,UAOjB,OALAG,EAAKurB,GAAwBC,IAAqC3uB,GAAasuB,IAC/EnrB,EAAKvH,KAAKlS,MAAMyZ,GAChBA,GAAOnD,GAAaquB,GAAkBO,GAEtCzrB,IADAA,EAAKvH,KAAKlS,MAAMyZ,KACJorB,KAAuBvuB,EAAYyuB,IACxC7yB,KAAK8G,KAAKS,GAErB,GAAInD,GAAa,QACb,OAAOpE,KAAK8G,KAAK9G,KAAKqH,gBAK9B,OAAOrH,KAAKmH,YAEpBF,CAAA,ID7KMmsB,GAAQ,mEAGRC,GAA+B,qBAAf7uB,WAA6B,GAAK,IAAIA,WAAW,KAC9DzW,GAAI,EAAGA,GAAIqlC,GAAMllC,OAAQH,KAC9BslC,GAAOD,GAAMtvB,WAAW/V,KAAMA,GEDlC,ICqeKulC,GDreCC,GAAU,EACVC,GAAK,EACLC,GAAK,EACLC,GAAU,EACVC,GAAS,EAETC,GAAc,EACdC,GAAI,EACJC,GAAI,EACJC,GAAI,GACJC,GAAK,GACLC,GAAM,GACNC,GAAM,GACNC,GAAwB,GACxBC,GAAK,GAqBEC,GAAe,SAACzwB,GAIzB,IAHA,IAAMC,EAAa,GACf9V,EAAI,EACFG,EAAS0V,EAAI1V,OACZH,EAAIG,GAAQ,CACf,IAAMyS,EAAQiD,EAAIE,WAAW/V,KAC7B,GAAI4S,GAAS,OAAUA,GAAS,OAAU5S,EAAIG,EAAQ,CAClD,IAAM6V,EAAQH,EAAIE,WAAW/V,KACJ,SAAZ,MAARgW,GACDF,EAAW/Q,OAAe,KAAR6N,IAAkB,KAAe,KAARoD,GAAiB,QAE5DF,EAAW/Q,KAAK6N,GAChB5S,UAGJ8V,EAAW/Q,KAAK6N,GAGxB,OAAOkD,CACX,EAEaK,GAAgB,eAAC,IAAAL,EAAA,GAAAI,EAAA,EAAAA,EAAApR,UAAA3E,OAAA+V,IAAAJ,EAAAI,GAAApR,UAAAoR,GAC1B,GAAInE,OAAOoE,cACP,OAAOpE,OAAOoE,cAAatR,MAApBkN,OAAwB+D,GAGnC,IAAM3V,EAAS2V,EAAW3V,OAC1B,IAAKA,EACD,MAAO,GAOX,IAJA,IAAMiW,EAAY,GAEdrW,GAAS,EACTqB,EAAS,KACJrB,EAAQI,GAAQ,CACrB,IAAIkW,EAAYP,EAAW/V,GACvBsW,GAAa,MACbD,EAAUrR,KAAKsR,IAEfA,GAAa,MACbD,EAAUrR,KAAyB,OAAnBsR,GAAa,IAAeA,EAAY,KAAS,SAEjEtW,EAAQ,IAAMI,GAAUiW,EAAUjW,OAAS,SAC3CiB,GAAU2Q,OAAOuE,aAAYzR,MAAnBkN,OAAuBqE,GACjCA,EAAUjW,OAAS,GAG3B,OAAOiB,CACX,EAEamlC,GAAcnB,GAAqBruB,IAEnCyvB,GAAoB,OACpBC,GAAgB,OAIhBC,GAAmB,SAACrwB,GAA8B,OAAAkwB,GAAYhtB,IAAIlD,EAAU,EAEnFswB,GAAwB,SAACC,EAAuBhpB,EAAsB7d,GACxE,IAAI+I,EAAY/I,EAAQ,EACpB0d,EAAOG,EAAW9U,GAChB+U,EAAUD,EAAW7d,EAAQ,GAC7BmT,EAAO0K,EAAW7d,GAExB,GAAI8d,IAAY4nB,IAAMvyB,IAASwyB,GAC3B,OAAOc,GAIX,GAAI3oB,IAAY4nB,IAAM5nB,IAAY6nB,IAAM7nB,IAAY8nB,GAChD,OAAOc,GAIX,GAAIvzB,IAASuyB,IAAMvyB,IAASwyB,IAAMxyB,IAASyyB,GACvC,OAAOc,GAKX,GAAI5oB,IAAYioB,KAAwC,IAAnC,CAACA,GAAGC,GAAGE,GAAIC,IAAKpjC,QAAQoQ,GACzC,OAAOszB,GAIX,IAAK3oB,IAAYooB,IAAMpoB,IAAYkoB,MAAO7yB,IAAS6yB,IAAK7yB,IAAS8yB,IAC7D,OAAOQ,GAIX,IAAK3oB,IAAYqoB,IAAOroB,IAAYmoB,KAAM9yB,IAAS8yB,GAC/C,OAAOQ,GAIX,GAAItzB,IAASizB,IAAOjzB,IAAS0yB,GACzB,OAAOY,GAIX,GAAItzB,IAAS2yB,GACT,OAAOW,GAIX,GAAI3oB,IAAY2nB,GACZ,OAAOgB,GAIX,GAAI3oB,IAAYsoB,IAAOjzB,IAASkzB,GAAuB,CACnD,KAAO3oB,IAASmoB,IACZnoB,EAAOG,IAAa9U,GAExB,GAAI2U,IAAS2oB,GACT,OAAOI,GAOf,GAAI3oB,IAAYwoB,IAAMnzB,IAASmzB,GAAI,CAE/B,IADA,IAAIQ,EAAU,EACPppB,IAAS4oB,IACZQ,IACAppB,EAAOG,IAAa9U,GAExB,GAAI+9B,EAAU,IAAM,EAChB,OAAOL,GAIf,OAAOC,EACX,EAiBaK,GAAkB,SAACjxB,GAC5B,IAAMC,EAAawwB,GAAazwB,GAC1B1V,EAAS2V,EAAW3V,OACtBJ,EAAQ,EACRgf,EAAU,EACRnB,EAAa9H,EAAWlK,IAAI86B,IAElC,MAAO,CACHxzB,KAAM,WACF,GAAInT,GAASI,EACT,MAAO,CAACiT,MAAM,EAAMR,MAAO,MAI/B,IADA,IAAIm0B,EAAgBP,GAEhBzmC,EAAQI,IACP4mC,EAAgBJ,GAAsB7wB,EAAY8H,IAAc7d,MAAYymC,KAGjF,GAAIO,IAAkBP,IAAqBzmC,IAAUI,EAAQ,CACzD,IAAMyS,EAAQuD,GAActR,MAAM,KAAMiR,EAAW7S,MAAM8b,EAAShf,IAElE,OADAgf,EAAUhf,EACH,CAAC6S,MAAKA,EAAEQ,MAAM,GAGzB,MAAO,CAACA,MAAM,EAAMR,MAAO,OAMvC,EAEao0B,GAAiB,SAACnxB,GAM3B,IALA,IAGIoxB,EAHEC,EAAUJ,GAAgBjxB,GAE1BsxB,EAAY,KAGTF,EAAKC,EAAQh0B,QAAQE,MACtB6zB,EAAGr0B,OACHu0B,EAAUpiC,KAAKkiC,EAAGr0B,MAAM3P,SAIhC,OAAOkkC,CACX,EE5OMC,GAAkB,SAACvqC,GACrB,IAAMwqC,EAAc,IAEpB,GAAIxqC,EAASC,YAAa,CACtB,IAAML,EAAQI,EAASC,cACvB,GAAIL,EAAM0Y,sBAAuB,CAC7B,IAAMmyB,EAAczqC,EAASG,cAAc,aAC3CsqC,EAAYnqC,MAAMkX,OAAYgzB,EAAW,KACzCC,EAAYnqC,MAAMu/B,QAAU,QAC5B7/B,EAAS4B,KAAKC,YAAY4oC,GAE1B7qC,EAAM8qC,WAAWD,GACjB,IAAME,EAAc/qC,EAAM0Y,wBACpBsyB,EAAcxgC,KAAK8kB,MAAMyb,EAAYnzB,QAE3C,GADAxX,EAAS4B,KAAKgB,YAAY6nC,GACtBG,IAAgBJ,EAChB,OAAO,GAKnB,OAAO,CACX,EAEMK,GAAmB,SAAC7qC,GACtB,IAAMyqC,EAAczqC,EAASG,cAAc,aAC3CsqC,EAAYnqC,MAAMiX,MAAQ,OAC1BkzB,EAAYnqC,MAAMu/B,QAAU,QAC5B4K,EAAYnqC,MAAMigC,SAAW,OAC7BkK,EAAYnqC,MAAM2/B,cAAgB,MAClCwK,EAAYnqC,MAAMwqC,YAAc,MAChC9qC,EAAS4B,KAAKC,YAAY4oC,GAC1B,IAAM7qC,EAAQI,EAASC,cAEvBwqC,EAAYM,UAAiC,mBAAd,GAAGC,OAAwB,YAAYA,OAAO,IAAM,GAEnF,IAAM3yB,EAAOoyB,EAAYQ,WAEnBC,EAAWnyB,EAAaV,EAAK6D,MAAMnN,KAAI,SAAC5L,GAAM,OAAAiW,EAAcjW,EAAE,IAChEgoC,EAAS,EACTvqB,EAAgB,CAAC,EAGfwqB,EAAWF,EAAS9lC,OAAM,SAAC7F,EAAM4D,GACnCvD,EAAMyrC,SAAShzB,EAAM8yB,GACrBvrC,EAAM0rC,OAAOjzB,EAAM8yB,EAAS5rC,EAAK+D,QACjC,IAAM4U,EAAOtY,EAAM0Y,wBAEnB6yB,GAAU5rC,EAAK+D,OACf,IAAMioC,EAAarzB,EAAKrF,EAAI+N,EAAK/N,GAAKqF,EAAKpF,EAAI8N,EAAK9N,EAGpD,OADA8N,EAAO1I,EACG,IAAN/U,GAIGooC,KAIX,OADAvrC,EAAS4B,KAAKgB,YAAY6nC,GACnBW,CACX,EAEMI,GAAW,WAAe,MAAmC,qBAA5B,IAAIC,OAAQC,WAA2B,EAExEC,GAAmB,WAAe,MAA6C,kBAAtC,IAAIC,gBAAiBC,YAAyB,EAEvFC,GAAU,SAAC9rC,GACb,IAAM+rC,EAAM,IAAIN,MACVO,EAAShsC,EAASG,cAAc,UAChC8rC,EAAMD,EAAOE,WAAW,MAC9B,IAAKD,EACD,OAAO,EAGXF,EAAII,IAAM,oEAEV,IACIF,EAAIG,UAAUL,EAAK,EAAG,GACtBC,EAAOK,YACT,MAAOprC,IACL,OAAO,EAEX,OAAO,CACX,EAEMqrC,GAAe,SAACpwB,GAClB,OAAY,IAAZA,EAAK,IAAwB,MAAZA,EAAK,IAA0B,IAAZA,EAAK,IAAwB,MAAZA,EAAK,EAA1D,EAEEqwB,GAAoB,SAACvsC,GACvB,IAAMgsC,EAAShsC,EAASG,cAAc,UAChC+7B,EAAO,IACb8P,EAAOz0B,MAAQ2kB,EACf8P,EAAOx0B,OAAS0kB,EAChB,IAAM+P,EAAMD,EAAOE,WAAW,MAC9B,IAAKD,EACD,OAAOh2B,QAAQC,QAAO,GAE1B+1B,EAAIO,UAAY,iBAChBP,EAAIQ,SAAS,EAAG,EAAGvQ,EAAMA,GAEzB,IAAM6P,EAAM,IAAIN,MACViB,EAAgBV,EAAOK,YAC7BN,EAAII,IAAMO,EACV,IAAMC,EAAMC,GAAuB1Q,EAAMA,EAAM,EAAG,EAAG6P,GAIrD,OAHAE,EAAIO,UAAY,MAChBP,EAAIQ,SAAS,EAAG,EAAGvQ,EAAMA,GAElB2Q,GAAkBF,GACpBn2B,MAAK,SAACu1B,GACHE,EAAIG,UAAUL,EAAK,EAAG,GACtB,IAAM7vB,EAAO+vB,EAAIa,aAAa,EAAG,EAAG5Q,EAAMA,GAAMhgB,KAChD+vB,EAAIO,UAAY,MAChBP,EAAIQ,SAAS,EAAG,EAAGvQ,EAAMA,GAEzB,IAAM7jB,EAAOrY,EAASG,cAAc,OAIpC,OAHAkY,EAAK/X,MAAMy9B,gBAAkB,OAAO2O,EAAa,IACjDr0B,EAAK/X,MAAMkX,OAAY0kB,EAAI,KAEpBoQ,GAAapwB,GACd2wB,GAAkBD,GAAuB1Q,EAAMA,EAAM,EAAG,EAAG7jB,IAC3DpC,QAAQC,QAAO,MAExBM,MAAK,SAACu1B,GAGH,OAFAE,EAAIG,UAAUL,EAAK,EAAG,GAEfO,GAAaL,EAAIa,aAAa,EAAG,EAAG5Q,EAAMA,GAAMhgB,SAE1D6wB,OAAM,WAAM,QAAK,GAC1B,EAEaH,GAAyB,SAClCr1B,EACAC,EACA3E,EACAC,EACAuF,GAEA,IAAM20B,EAAQ,6BACRL,EAAM3sC,SAASitC,gBAAgBD,EAAO,OACtCE,EAAgBltC,SAASitC,gBAAgBD,EAAO,iBAatD,OAZAL,EAAIQ,eAAe,KAAM,QAAS51B,EAAMjN,YACxCqiC,EAAIQ,eAAe,KAAM,SAAU31B,EAAOlN,YAE1C4iC,EAAcC,eAAe,KAAM,QAAS,QAC5CD,EAAcC,eAAe,KAAM,SAAU,QAC7CD,EAAcC,eAAe,KAAM,IAAKt6B,EAAEvI,YAC1C4iC,EAAcC,eAAe,KAAM,IAAKr6B,EAAExI,YAC1C4iC,EAAcC,eAAe,KAAM,4BAA6B,QAChER,EAAI9qC,YAAYqrC,GAEhBA,EAAcrrC,YAAYwW,GAEnBs0B,CACX,EAEaE,GAAoB,SAACF,GAC9B,OAAO,IAAI12B,SAAQ,SAACD,EAASE,GACzB,IAAM61B,EAAM,IAAIN,MAChBM,EAAIqB,OAAS,WAAM,OAAAp3B,EAAQ+1B,EAAI,EAC/BA,EAAIsB,QAAUn3B,EAEd61B,EAAII,IAAM,oCAAoCmB,oBAAmB,IAAIC,eAAgBC,kBAAkBb,MAE/G,EAEac,GAAW,CAChBC,2BAEA,IAAM33B,EAAQw0B,GAAgBvqC,UAE9B,OADA4E,OAAOoM,eAAey8B,GAAU,uBAAwB,CAAC13B,MAAKA,IACvDA,GAEP43B,4BAEA,IAAM53B,EAAQ03B,GAASC,sBAAwB7C,GAAiB7qC,UAEhE,OADA4E,OAAOoM,eAAey8B,GAAU,wBAAyB,CAAC13B,MAAKA,IACxDA,GAEP63B,0BAEA,IAAM73B,EAAQ+1B,GAAQ9rC,UAEtB,OADA4E,OAAOoM,eAAey8B,GAAU,sBAAuB,CAAC13B,MAAKA,IACtDA,GAEP83B,oCAEA,IAAM93B,EACoB,oBAAf7Q,MAAMzB,MAA+C,oBAAjBjC,OAAOssC,MAC5CvB,GAAkBvsC,UAClBiW,QAAQD,SAAQ,GAE1B,OADApR,OAAOoM,eAAey8B,GAAU,gCAAiC,CAAC13B,MAAKA,IAChEA,GAEPg4B,0BAEA,IAAMh4B,EAAQy1B,KAEd,OADA5mC,OAAOoM,eAAey8B,GAAU,sBAAuB,CAAC13B,MAAKA,IACtDA,GAEPi4B,4BAEA,IAAMj4B,EAAQ41B,KAEd,OADA/mC,OAAOoM,eAAey8B,GAAU,wBAAyB,CAAC13B,MAAKA,IACxDA,GAEPk4B,uBAEA,IAAMl4B,EAAQ,oBAAqB,IAAI61B,eAEvC,OADAhnC,OAAOoM,eAAey8B,GAAU,mBAAoB,CAAC13B,MAAKA,IACnDA,GAEPm4B,uCAGA,IAAMn4B,IAA2B,qBAATo4B,OAAyBA,KAAaC,WAE9D,OADAxpC,OAAOoM,eAAey8B,GAAU,mCAAoC,CAAC13B,MAAKA,IACnEA,ICnNfs4B,GAAA,WAII,SAAAA,EAAY9uC,EAAc+nC,GACtBlyB,KAAK7V,KAAOA,EACZ6V,KAAKkyB,OAASA,EAEtB,OAAA+G,CAAA,CARA,GAUaC,GAAkB,SAC3B32B,EACA5B,EACAmxB,EACA7uB,GAEA,IAAM6yB,EAAWqD,GAAUx4B,EAAOmxB,GAC5BsH,EAA2B,GAC7BrD,EAAS,EAkCb,OAjCAD,EAAS1iC,SAAQ,SAACjJ,GACd,GAAI2nC,EAAO9D,mBAAmB9/B,QAAU/D,EAAKkvC,OAAOnrC,OAAS,EACzD,GAAImqC,GAASC,qBAAsB,CAC/B,IAAMgB,EAAczuC,GAAYoY,EAAM8yB,EAAQ5rC,EAAK+D,QAAQqrC,iBAC3D,GAAID,EAAYprC,OAAS,EAAG,CACxB,IAAMsrC,EAAcC,GAAiBtvC,GACjCuvC,EAAY,EAChBF,EAAYpmC,SAAQ,SAACumC,GACjBP,EAAWtmC,KACP,IAAImmC,GACAU,EACA13B,EAAOS,gBACHH,EACA1X,GAAYoY,EAAMy2B,EAAY3D,EAAQ4D,EAAWzrC,QAAQqrC,oBAIrEG,GAAaC,EAAWzrC,eAG5BkrC,EAAWtmC,KAAK,IAAImmC,GAAW9uC,EAAM8X,EAAOS,gBAAgBH,EAAS+2B,SAEtE,CACH,IAAMM,EAAkB32B,EAAK42B,UAAU1vC,EAAK+D,QAC5CkrC,EAAWtmC,KAAK,IAAImmC,GAAW9uC,EAAM2vC,GAAiBv3B,EAASU,KAC/DA,EAAO22B,OAEHvB,GAASC,uBACjBr1B,EAAOA,EAAK42B,UAAU1vC,EAAK+D,SAE/B6nC,GAAU5rC,EAAK+D,UAGZkrC,CACX,EAEMU,GAAmB,SAACv3B,EAAkBU,GACxC,IAAM82B,EAAgB92B,EAAK82B,cAC3B,GAAIA,EAAe,CACf,IAAMC,EAAUD,EAAchvC,cAAc,sBAC5CivC,EAAQvtC,YAAYwW,EAAKg3B,WAAU,IACnC,IAAMC,EAAaj3B,EAAKi3B,WACxB,GAAIA,EAAY,CACZA,EAAWC,aAAaH,EAAS/2B,GACjC,IAAMivB,EAASlvB,EAAYT,EAASy3B,GAIpC,OAHIA,EAAQnE,YACRqE,EAAWC,aAAaH,EAAQnE,WAAYmE,GAEzC9H,GAIf,OAAOjwB,EAAOc,KAClB,EAEMlY,GAAc,SAACoY,EAAY8yB,EAAgB7nC,GAC7C,IAAM6rC,EAAgB92B,EAAK82B,cAC3B,IAAKA,EACD,MAAM,IAAIltC,MAAM,8BAEpB,IAAMrC,EAAQuvC,EAAclvC,cAG5B,OAFAL,EAAMyrC,SAAShzB,EAAM8yB,GACrBvrC,EAAM0rC,OAAOjzB,EAAM8yB,EAAS7nC,GACrB1D,CACX,EAEaivC,GAAmB,SAAC94B,GAC7B,GAAI03B,GAASS,iCAAkC,CAE3C,IAAMsB,EAAY,IAAKrB,KAAaC,eAAU,EAAQ,CAACqB,YAAa,aAEpE,OAAOvqC,MAAMzB,KAAK+rC,EAAUE,QAAQ35B,IAAQhH,KAAI,SAAC2gC,GAAiB,OAAAA,EAAQA,OAAO,IAGrF,OAAOvF,GAAep0B,EAC1B,EAEM45B,GAAe,SAAC55B,EAAemxB,GACjC,GAAIuG,GAASS,iCAAkC,CAE3C,IAAMsB,EAAY,IAAKrB,KAAaC,eAAU,EAAQ,CAClDqB,YAAa,SAGjB,OAAOvqC,MAAMzB,KAAK+rC,EAAUE,QAAQ35B,IAAQhH,KAAI,SAAC2gC,GAAiB,OAAAA,EAAQA,OAAO,IAGrF,OAAOE,GAAW75B,EAAOmxB,EAC7B,EAEMqH,GAAY,SAACx4B,EAAemxB,GAC9B,OAAgC,IAAzBA,EAAOjH,cAAsB4O,GAAiB94B,GAAS45B,GAAa55B,EAAOmxB,EACtF,EAGM2I,GAAiB,CAAC,GAAQ,IAAQ,KAAQ,MAAS,MAAS,KAAQ,MAEpED,GAAa,SAAC52B,EAAakuB,GAS7B,IARA,IAMIkD,EANEC,EAAUpoB,GAAYjJ,EAAK,CAC7BuH,UAAW2mB,EAAO3mB,UAClBmB,UAAmC,eAAxBwlB,EAAOjG,aAA4C,aAAeiG,EAAOxlB,YAGlFouB,EAAQ,gBAIV,GAAI1F,EAAGr0B,MAAO,CACV,IAAMA,EAAQq0B,EAAGr0B,MAAM3P,QACjB6S,EAAaF,EAAahD,GAC5Bg6B,EAAO,GACX92B,EAAWzQ,SAAQ,SAACgR,IAC2B,IAAvCq2B,GAAe5pC,QAAQuT,GACvBu2B,GAAQ32B,EAAcI,IAElBu2B,EAAKzsC,QACLwsC,EAAM5nC,KAAK6nC,GAEfD,EAAM5nC,KAAKkR,EAAcI,IACzBu2B,EAAO,OAIXA,EAAKzsC,QACLwsC,EAAM5nC,KAAK6nC,OAlBd3F,EAAKC,EAAQh0B,QAAQE,UAuB9B,OAAOu5B,CACX,ECxJAE,GAAA,WAII,SAAAA,EAAYr4B,EAAkBU,EAAY6uB,GACtC9xB,KAAK7V,KAAOumC,GAAUztB,EAAK6D,KAAMgrB,EAAOrF,eACxCzsB,KAAKo5B,WAAaF,GAAgB32B,EAASvC,KAAK7V,KAAM2nC,EAAQ7uB,GAEtE,OAAA23B,CAAA,CARA,GAUMlK,GAAY,SAACvmC,EAAcumC,GAC7B,OAAQA,GACJ,KAAK,EACD,OAAOvmC,EAAKyG,cAChB,KAAK,EACD,OAAOzG,EAAKiD,QAAQytC,GAAYC,IACpC,KAAK,EACD,OAAO3wC,EAAKkvB,cAChB,QACI,OAAOlvB,EAEnB,EAEM0wC,GAAa,2BAEbC,GAAa,SAAC59B,EAAW69B,EAAYC,GACvC,OAAI99B,EAAEhP,OAAS,EACJ6sC,EAAKC,EAAG3hB,cAGZnc,CACX,ECjCA+9B,GAAA,SAAAC,GAKI,SAAAD,EAAY14B,EAAkBo0B,GAA9B,IAAAwE,EACID,EAAAxrC,KAAA,KAAM6S,EAASo0B,IAAI,YACnBwE,EAAKpE,IAAMJ,EAAIyE,YAAczE,EAAII,IACjCoE,EAAKE,eAAiB1E,EAAI2E,aAC1BH,EAAKI,gBAAkB5E,EAAI6E,cAC3BL,EAAK54B,QAAQ6lB,MAAMC,SAAS8S,EAAKpE,OAEzC,OAZ2Cn3B,EAAAq7B,EAAAC,GAY3CD,CAAA,CAZA,CAA2CtJ,ICA3C8J,GAAA,SAAAP,GAKI,SAAAO,EAAYl5B,EAAkBq0B,GAA9B,IAAAuE,EACID,EAAAxrC,KAAA,KAAM6S,EAASq0B,IAAO,YACtBuE,EAAKvE,OAASA,EACduE,EAAKE,eAAiBzE,EAAOz0B,MAC7Bg5B,EAAKI,gBAAkB3E,EAAOx0B,SAEtC,OAX4CxC,EAAA67B,EAAAP,GAW5CO,CAAA,CAXA,CAA4C9J,ICC5C+J,GAAA,SAAAR,GAKI,SAAAQ,EAAYn5B,EAAkBo0B,GAA9B,IAAAwE,EACID,EAAAxrC,KAAA,KAAM6S,EAASo0B,IAAI,KACbv2B,EAAI,IAAI+3B,cACRjG,EAASlvB,EAAYT,EAASo0B,UACpCA,EAAIgF,aAAa,QAAYzJ,EAAO/vB,MAAK,MACzCw0B,EAAIgF,aAAa,SAAazJ,EAAO9vB,OAAM,MAE3C+4B,EAAK5D,IAAM,sBAAsBW,mBAAmB93B,EAAEg4B,kBAAkBzB,IACxEwE,EAAKE,eAAiB1E,EAAIx0B,MAAMy5B,QAAQj7B,MACxCw6B,EAAKI,gBAAkB5E,EAAIv0B,OAAOw5B,QAAQj7B,MAE1Cw6B,EAAK54B,QAAQ6lB,MAAMC,SAAS8S,EAAK5D,OAEzC,OAlByC33B,EAAA87B,EAAAR,GAkBzCQ,CAAA,CAlBA,CAAyC/J,ICFzCkK,GAAA,SAAAX,GAGI,SAAAW,EAAYt5B,EAAkBivB,GAA9B,IAAA2J,EACID,EAAAxrC,KAAA,KAAM6S,EAASivB,IAAQ,YACvB2J,EAAKx6B,MAAQ6wB,EAAQ7wB,QAE7B,OAPwCf,EAAAi8B,EAAAX,GAOxCW,CAAA,CAPA,CAAwClK,ICAxCmK,GAAA,SAAAZ,GAII,SAAAY,EAAYv5B,EAAkBivB,GAA9B,IAAA2J,EACID,EAAAxrC,KAAA,KAAM6S,EAASivB,IAAQ,YACvB2J,EAAK/0B,MAAQorB,EAAQprB,MACrB+0B,EAAKY,SAAuC,mBAArBvK,EAAQuK,WAA+C,IAArBvK,EAAQuK,WAEzE,OATwCn8B,EAAAk8B,EAAAZ,GASxCY,CAAA,CATA,CAAwCnK,ICOlCqK,GAAgD,CAClD,CACInhC,KAAM,GACNkZ,MAAO,EACP+B,KAAM,KACND,OAAQ,IAIVomB,GAA6C,CAC/C,CACIphC,KAAM,GACNkZ,MAAO,EACP8B,OAAQ,KAIVqmB,GAAsB,SAAChK,GACzB,OAAIA,EAAO/vB,MAAQ+vB,EAAO9vB,OACf,IAAIH,EAAOiwB,EAAOhwB,MAAQgwB,EAAO/vB,MAAQ+vB,EAAO9vB,QAAU,EAAG8vB,EAAO7mC,IAAK6mC,EAAO9vB,OAAQ8vB,EAAO9vB,QAC/F8vB,EAAO/vB,MAAQ+vB,EAAO9vB,OACtB,IAAIH,EAAOiwB,EAAOhwB,KAAMgwB,EAAO7mC,KAAO6mC,EAAO9vB,OAAS8vB,EAAO/vB,OAAS,EAAG+vB,EAAO/vB,MAAO+vB,EAAO/vB,OAElG+vB,CACX,EAEMiK,GAAgB,SAACl5B,GACnB,IAAMtC,EAAQsC,EAAKpI,OAASuhC,GAAW,IAAItsC,MAAMmT,EAAKtC,MAAMzS,OAAS,GAAGkB,KAAK,UAAY6T,EAAKtC,MAE9F,OAAwB,IAAjBA,EAAMzS,OAAe+U,EAAKo5B,aAAe,GAAK17B,CACzD,EAEa27B,GAAW,WACXC,GAAQ,QACRH,GAAW,WACXI,GAAc,UAE3BC,GAAA,SAAAvB,GAKI,SAAAuB,EAAYl6B,EAAkBm6B,GAA9B,IAAAvB,EACID,EAAAxrC,KAAA,KAAM6S,EAASm6B,IAAM,KA2BrB,OA1BAvB,EAAKtgC,KAAO6hC,EAAM7hC,KAAKjK,cACvBuqC,EAAKwB,QAAUD,EAAMC,QACrBxB,EAAKx6B,MAAQw7B,GAAcO,GAEvBvB,EAAKtgC,OAASyhC,IAAYnB,EAAKtgC,OAAS0hC,KACxCpB,EAAKrJ,OAAO7N,gBAAkB,WAC9BkX,EAAKrJ,OAAOzI,eACR8R,EAAKrJ,OAAOxI,iBACZ6R,EAAKrJ,OAAOvI,kBACZ4R,EAAKrJ,OAAOtI,gBACR,WACR2R,EAAKrJ,OAAO1H,eACR+Q,EAAKrJ,OAAOzH,iBACZ8Q,EAAKrJ,OAAOxH,kBACZ6Q,EAAKrJ,OAAOvH,gBACR,EACR4Q,EAAKrJ,OAAO/H,eACRoR,EAAKrJ,OAAO9H,iBACZmR,EAAKrJ,OAAO7H,kBACZkR,EAAKrJ,OAAO5H,gBAAe,EAE/BiR,EAAKrJ,OAAO9N,eAAiB,CAAC,GAC9BmX,EAAKrJ,OAAOlJ,iBAAmB,CAAC,GAChCuS,EAAKjJ,OAASgK,GAAoBf,EAAKjJ,SAGnCiJ,EAAKtgC,MACT,KAAKyhC,GACDnB,EAAKrJ,OAAOnI,qBACRwR,EAAKrJ,OAAOpI,oBACZyR,EAAKrJ,OAAOlI,wBACZuR,EAAKrJ,OAAOjI,uBACRmS,GACR,MACJ,KAAKO,GACDpB,EAAKrJ,OAAOnI,qBACRwR,EAAKrJ,OAAOpI,oBACZyR,EAAKrJ,OAAOlI,wBACZuR,EAAKrJ,OAAOjI,uBACRoS,YAIxB,OAlD2Cr8B,EAAA68B,EAAAvB,GAkD3CuB,CAAA,CAlDA,CAA2C9K,IC5C3CiL,GAAA,SAAA1B,GAEI,SAAA0B,EAAYr6B,EAAkBivB,GAA9B,IAAA2J,EACID,EAAAxrC,KAAA,KAAM6S,EAASivB,IAAQ,KACjBqL,EAASrL,EAAQpnC,QAAQonC,EAAQsL,eAAiB,UACxD3B,EAAKx6B,MAAQk8B,GAASA,EAAO1yC,MAAa,KAElD,OAP4CyV,EAAAg9B,EAAA1B,GAO5C0B,CAAA,CAPA,CAA4CjL,ICA5CoL,GAAA,SAAA7B,GAEI,SAAA6B,EAAYx6B,EAAkBivB,GAA9B,IAAA2J,EACID,EAAAxrC,KAAA,KAAM6S,EAASivB,IAAQ,YACvB2J,EAAKx6B,MAAQ6wB,EAAQ7wB,QAE7B,OAN8Cf,EAAAm9B,EAAA7B,GAM9C6B,CAAA,CANA,CAA8CpL,ICG9CqL,GAAA,SAAA9B,GAOI,SAAA8B,EAAYz6B,EAAkB06B,GAA9B,IAAA9B,EACID,EAAAxrC,KAAA,KAAM6S,EAAS06B,IAAO,KACtB9B,EAAKpE,IAAMkG,EAAOlG,IAClBoE,EAAKh5B,MAAQoP,SAAS0rB,EAAO96B,MAAO,KAAO,EAC3Cg5B,EAAK/4B,OAASmP,SAAS0rB,EAAO76B,OAAQ,KAAO,EAC7C+4B,EAAKlX,gBAAkBkX,EAAKrJ,OAAO7N,gBACnC,IACI,GACIgZ,EAAOC,eACPD,EAAOC,cAActyC,UACrBqyC,EAAOC,cAActyC,SAASwY,gBAChC,CACE+3B,EAAKgC,KAAOC,GAAU76B,EAAS06B,EAAOC,cAActyC,SAASwY,iBAG7D,IAAMi6B,EAA0BJ,EAAOC,cAActyC,SAASwY,gBACxDuX,GACIpY,EACAwvB,iBAAiBkL,EAAOC,cAActyC,SAASwY,iBAAiB6gB,iBAEpE7K,GAAOE,YACPgkB,EAAsBL,EAAOC,cAActyC,SAAS4B,KACpDmuB,GACIpY,EACAwvB,iBAAiBkL,EAAOC,cAActyC,SAAS4B,MAAMy3B,iBAEzD7K,GAAOE,YAEb6hB,EAAKlX,gBAAkB1K,GAAc8jB,GAC/B9jB,GAAc+jB,GACVnC,EAAKrJ,OAAO7N,gBACZqZ,EACJD,GAEZ,MAAOxxC,IAAI,UAErB,OA3C4C+T,EAAAo9B,EAAA9B,GA2C5C8B,CAAA,CA3CA,CAA4CrL,ICStC4L,GAAc,CAAC,KAAM,KAAM,QAE3BC,GAAgB,SAAhBA,EAAiBj7B,EAAkBU,EAAYkV,EAA0BslB,GAC3E,IAAK,IAAIC,EAAYz6B,EAAK4yB,WAAY8H,OAAQ,EAAED,EAAWA,EAAYC,EAGnE,GAFAA,EAAWD,EAAUE,YAEjBC,GAAWH,IAAcA,EAAU52B,KAAKuyB,OAAOnrC,OAAS,EACxDiqB,EAAOyZ,UAAU9+B,KAAK,IAAI8nC,GAAcr4B,EAASm7B,EAAWvlB,EAAO2Z,cAChE,GAAIgM,GAAcJ,GACrB,GAAIK,GAAcL,IAAcA,EAAUM,cACtCN,EAAUM,gBAAgB5qC,SAAQ,SAACsqC,GAAc,OAAAF,EAAcj7B,EAASm7B,EAAWvlB,EAAQslB,EAAK,QAC7F,CACH,IAAMQ,EAAYC,GAAgB37B,EAASm7B,GACvCO,EAAUnM,OAAOnB,cACbwN,GAA2BT,EAAWO,EAAWR,GACjDQ,EAAUlqB,OAAS,EACZqqB,GAAuBH,EAAUnM,UACxCmM,EAAUlqB,OAAS,IAGyB,IAA5CwpB,GAAY1sC,QAAQ6sC,EAAUW,WAC9BJ,EAAUlqB,OAAS,GAGvBoE,EAAO0Z,SAAS/+B,KAAKmrC,GACrBP,EAAUY,KACNZ,EAAUa,WACVf,EAAcj7B,EAASm7B,EAAUa,WAAYN,EAAWR,GAEvDe,GAAkBd,IAClBe,GAAaf,IACbgB,GAAgBhB,IAEjBF,EAAcj7B,EAASm7B,EAAWO,EAAWR,IAMrE,EAEMS,GAAkB,SAAC37B,EAAkBivB,GACvC,OAAImN,GAAenN,GACR,IAAIyJ,GAAsB14B,EAASivB,GAG1CoN,GAAgBpN,GACT,IAAIiK,GAAuBl5B,EAASivB,GAG3CiN,GAAajN,GACN,IAAIkK,GAAoBn5B,EAASivB,GAGxCqN,GAAYrN,GACL,IAAIqK,GAAmBt5B,EAASivB,GAGvCsN,GAAYtN,GACL,IAAIsK,GAAmBv5B,EAASivB,GAGvCuN,GAAevN,GACR,IAAIiL,GAAsBl6B,EAASivB,GAG1CkN,GAAgBlN,GACT,IAAIoL,GAAuBr6B,EAASivB,GAG3CgN,GAAkBhN,GACX,IAAIuL,GAAyBx6B,EAASivB,GAG7CwN,GAAgBxN,GACT,IAAIwL,GAAuBz6B,EAASivB,GAGxC,IAAIG,GAAiBpvB,EAASivB,EACzC,EAEa4L,GAAY,SAAC76B,EAAkBivB,GACxC,IAAMyM,EAAYC,GAAgB37B,EAASivB,GAG3C,OAFAyM,EAAUlqB,OAAS,EACnBypB,GAAcj7B,EAASivB,EAASyM,EAAWA,GACpCA,CACX,EAEME,GAA6B,SAACl7B,EAAeg7B,EAA6BR,GAC5E,OACIQ,EAAUnM,OAAOhB,0BACjBmN,EAAUnM,OAAOhE,QAAU,GAC3BmQ,EAAUnM,OAAOlB,iBAChBqO,GAAch8B,IAASw6B,EAAK3L,OAAOvY,eAE5C,EAEM6kB,GAAyB,SAACtM,GAA0C,OAAAA,EAAOjB,gBAAkBiB,EAAOf,YAAY,EAEzG8M,GAAa,SAAC56B,GAA6B,OAAAA,EAAKi8B,WAAaC,KAAKC,SAAS,EAC3EtB,GAAgB,SAAC76B,GAAgC,OAAAA,EAAKi8B,WAAaC,KAAKE,YAAY,EACpFrN,GAAoB,SAAC/uB,GAC9B,OAAA66B,GAAc76B,IAAgD,qBAA/BA,EAAqB/X,QAA0Bo0C,GAAiBr8B,EAA/F,EACSq8B,GAAmB,SAAC9N,GAC7B,MAA6C,kBAArCA,EAAuB+N,SAA/B,EACSV,GAAc,SAAC57B,GAAyC,MAAiB,OAAjBA,EAAKo7B,OAAgB,EAC7ES,GAAc,SAAC77B,GAA4C,MAAiB,OAAjBA,EAAKo7B,OAAgB,EAChFU,GAAiB,SAAC97B,GAA4C,MAAiB,UAAjBA,EAAKo7B,OAAmB,EACtFmB,GAAgB,SAACv8B,GAA2C,MAAiB,SAAjBA,EAAKo7B,OAAkB,EACnFI,GAAe,SAACx7B,GAAyC,MAAiB,QAAjBA,EAAKo7B,OAAiB,EAC/EY,GAAgB,SAACh8B,GAA2C,MAAiB,SAAjBA,EAAKo7B,OAAkB,EACnFO,GAAkB,SAAC37B,GAA6C,MAAiB,WAAjBA,EAAKo7B,OAAoB,EACzFoB,GAAiB,SAACx8B,GAA4C,MAAiB,UAAjBA,EAAKo7B,OAAmB,EACtFM,GAAiB,SAAC17B,GAA4C,MAAiB,QAAjBA,EAAKo7B,OAAiB,EACpFW,GAAkB,SAAC/7B,GAA6C,MAAiB,WAAjBA,EAAKo7B,OAAoB,EACzFqB,GAAiB,SAACz8B,GAA4C,MAAiB,UAAjBA,EAAKo7B,OAAmB,EACtFsB,GAAkB,SAAC18B,GAA6C,MAAiB,WAAjBA,EAAKo7B,OAAoB,EACzFG,GAAoB,SAACv7B,GAA+C,MAAiB,aAAjBA,EAAKo7B,OAAsB,EAC/FK,GAAkB,SAACz7B,GAA6C,MAAiB,WAAjBA,EAAKo7B,OAAoB,EACzFN,GAAgB,SAAC96B,GAA2C,MAAiB,SAAjBA,EAAKo7B,OAAkB,EAEnFuB,GAAkB,SAAC38B,GAAuC,OAAAA,EAAKo7B,QAAQxtC,QAAQ,KAAO,CAAC,EClIpGgvC,GAAA,oBAAAA,IACqB,KAAAC,SAAsC,CAAC,EAoD5D,OAlDID,EAAApwC,UAAAswC,gBAAA,SAAgBhlC,GACZ,IAAM8zB,EAAU7uB,KAAK8/B,SAAS/kC,GAE9B,OAAI8zB,GAAWA,EAAQ3gC,OACZ2gC,EAAQA,EAAQ3gC,OAAS,GAE7B,GAGX2xC,EAAApwC,UAAAuwC,iBAAA,SAAiBjlC,GACb,IAAM8zB,EAAU7uB,KAAK8/B,SAAS/kC,GAC9B,OAAO8zB,GAAoB,IAG/BgR,EAAApwC,UAAAtB,IAAA,SAAI2xC,GAAJ,IAAA3E,EAAA,KACI2E,EAAS1sC,SAAQ,SAACy7B,GAAY,OAAAsM,EAAK2E,SAASjR,GAAS1gC,KAAK,KAG9D0xC,EAAApwC,UAAAgpB,MAAA,SAAMvtB,GAAN,IAAAiwC,EAAA,KACUzM,EAAmBxjC,EAAMwjC,iBACzBK,EAAe7jC,EAAM6jC,aACvBkR,GAAW,EAEU,OAArBvR,GACAA,EAAiBt7B,SAAQ,SAACwG,GACtB,IAAMi1B,EAAUsM,EAAK2E,SAASlmC,EAAMi1B,SAChCA,GAA+B,IAApBj1B,EAAMk1B,YACjBmR,GAAW,EACNpR,EAAQ3gC,QACT2gC,EAAQ/7B,KAAK,GAEjB+7B,EAAQ75B,KAAKoE,IAAI,EAAGy1B,EAAQ3gC,OAAS,KAAO0L,EAAMk1B,cAK9D,IAAMoR,EAAyB,GAY/B,OAXID,GACAlR,EAAa37B,SAAQ,SAACwG,GAClB,IAAIi1B,EAAUsM,EAAK2E,SAASlmC,EAAMi1B,SAClCqR,EAAaptC,KAAK8G,EAAMi1B,SACnBA,IACDA,EAAUsM,EAAK2E,SAASlmC,EAAMi1B,SAAW,IAE7CA,EAAQ/7B,KAAK8G,EAAMq1B,UAIpBiR,GAEfL,CAAA,CArDA,GA4DMM,GAA8B,CAChC9uB,SAAU,CAAC,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAC9DsF,OAAQ,CAAC,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,MAGzEypB,GAA2B,CAC7B/uB,SAAU,CACN,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAC3G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpDsF,OAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIF0pB,GAAyB,CAC3BhvB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpDsF,OAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIF2pB,GAA2B,CAC7BjvB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5DsF,OAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIF4pB,GAAwB,SAC1B5/B,EACAxH,EACAC,EACAonC,EACAC,EACAC,GAEA,OAAI//B,EAAQxH,GAAOwH,EAAQvH,EAChBunC,GAAkBhgC,EAAO8/B,EAAUC,EAAOxyC,OAAS,GAI1DsyC,EAAQnvB,SAAS8U,QAAO,SAACya,EAAQC,EAAS/yC,GACtC,KAAO6S,GAASkgC,GACZlgC,GAASkgC,EACTD,GAAUJ,EAAQ7pB,OAAO7oB,GAE7B,OAAO8yC,IACR,IAAMF,CAEjB,EAEMI,GAAuC,SACzCngC,EACAogC,EACAC,EACAC,GAEA,IAAIL,EAAS,GAEb,GACSI,GACDrgC,IAEJigC,EAASK,EAAStgC,GAASigC,EAC3BjgC,GAASogC,QACJpgC,EAAQogC,GAAwBA,GAEzC,OAAOH,CACX,EAEMM,GAA8B,SAChCvgC,EACAwgC,EACAC,EACAJ,EACAN,GAEA,IAAMK,EAAuBK,EAAoBD,EAAsB,EAEvE,OACKxgC,EAAQ,EAAI,IAAM,KAClBmgC,GAAqC9rC,KAAKuwB,IAAI5kB,GAAQogC,EAAsBC,GAAW,SAAC58B,GACrF,OAAAJ,EAAchP,KAAKqsC,MAAMj9B,EAAY28B,GAAwBI,MAE7DT,EAEZ,EAEMY,GAAgC,SAAC3gC,EAAe6/B,EAAiBE,QAAA,IAAAA,IAAAA,EAAA,MACnE,IAAMK,EAAuBP,EAAQtyC,OACrC,OACI4yC,GACI9rC,KAAKuwB,IAAI5kB,GACTogC,GACA,GACA,SAAC38B,GAAc,OAAAo8B,EAAQxrC,KAAKqsC,MAAMj9B,EAAY28B,GAAsB,IACpEL,CAEZ,EAEMa,GAAY,EACZC,GAAuB,EACvBC,GAA4B,EAC5BC,GAA2B,EAE3BC,GAAmB,SACrBhhC,EACAihC,EACAC,EACAC,EACApB,EACA3sB,GAEA,GAAIpT,GAAS,MAAQA,EAAQ,KACzB,OAAOggC,GAAkBhgC,EAAO,EAA6B+/B,EAAOxyC,OAAS,GAEjF,IAAI6zC,EAAM/sC,KAAKuwB,IAAI5kB,GACfigC,EAASF,EAEb,GAAY,IAARqB,EACA,OAAOH,EAAQ,GAAKhB,EAGxB,IAAK,IAAI3rB,EAAQ,EAAG8sB,EAAM,GAAK9sB,GAAS,EAAGA,IAAS,CAChD,IAAM+sB,EAAcD,EAAM,GAEN,IAAhBC,GAAqBxT,GAASza,EAAOwtB,KAAyB,KAAXX,EACnDA,EAASgB,EAAQI,GAAepB,EAEhCoB,EAAc,GACG,IAAhBA,GAA+B,IAAV/sB,GACL,IAAhB+sB,GAA+B,IAAV/sB,GAAeuZ,GAASza,EAAOytB,KACpC,IAAhBQ,GAA+B,IAAV/sB,GAAeuZ,GAASza,EAAO0tB,KAA8B9gC,EAAQ,KAC1E,IAAhBqhC,GAAqB/sB,EAAQ,GAAKuZ,GAASza,EAAO2tB,IAEnDd,EAASgB,EAAQI,IAAgB/sB,EAAQ,EAAI4sB,EAAY5sB,EAAQ,GAAK,IAAM2rB,EACrD,IAAhBoB,GAAqB/sB,EAAQ,IACpC2rB,EAASiB,EAAY5sB,EAAQ,GAAK2rB,GAEtCmB,EAAM/sC,KAAKqsC,MAAMU,EAAM,IAG3B,OAAQphC,EAAQ,EAAImhC,EAAe,IAAMlB,CAC7C,EAEMqB,GAA+B,2BAC/BC,GAA6B,2BAC7BC,GAAoB,2BACpBC,GAAkB,2BAEXzB,GAAoB,SAAChgC,EAAe9F,EAAuBwnC,GACpE,IAAMC,EAAgBD,EAAe,KAAO,GACtCE,EAAYF,EAAe,SAAM,GACjCG,EAAeH,EAAe,KAAO,GACrCI,EAAcJ,EAAe,IAAM,GACzC,OAAQxnC,GACJ,KAAK,EACD,MAAO,SAAM4nC,EACjB,KAAK,EACD,MAAO,SAAMA,EACjB,KAAK,EACD,MAAO,SAAMA,EACjB,KAAK,EACD,IAAM7B,EAASM,GAA4BvgC,EAAO,GAAI,IAAI,EAAM2hC,GAChE,OAAO1B,EAAO1yC,OAAS,EAAI,IAAI0yC,EAAWA,EAC9C,KAAK,EACD,OAAOU,GAA8B3gC,EAAO,+DAAc4hC,GAC9D,KAAK,EACD,OAAOhC,GACH5/B,EACA,EACA,KACAw/B,GAAW,EAEXmC,GACF1xC,cACN,KAAK,EACD,OAAO2vC,GAAsB5/B,EAAO,EAAG,KAAMw/B,GAAa,EAAyBmC,GACvF,KAAK,EACD,OAAOpB,GAA4BvgC,EAAO,IAAK,KAAK,EAAO2hC,GAC/D,KAAK,EACD,OAAOpB,GAA4BvgC,EAAO,GAAI,KAAK,EAAO2hC,GAC9D,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,GAAI,IAAI,EAAO2hC,GAC7D,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAM,MAAM,EAAM2hC,GAChE,KAAK,GACL,KAAK,GACD,OAAO/B,GAAsB5/B,EAAO,EAAG,KAAMy/B,GAAU,EAAyBkC,GACpF,KAAK,GACD,OAAO/B,GACH5/B,EACA,EACA,KACAy/B,GAAQ,EAERkC,GACF1xC,cACN,KAAK,GACD,OAAOswC,GAA4BvgC,EAAO,KAAM,MAAM,EAAM2hC,GAChE,KAAK,GACL,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAM,MAAM,EAAM2hC,GAChE,KAAK,GACD,OAAOhB,GAA8B3gC,EAAO,2EAAgB4hC,GAChE,KAAK,GACD,OAAOjB,GAA8B3gC,EAAO,+DAAc4hC,GAC9D,KAAK,GACL,KAAK,GACD,OAAOZ,GACHhhC,EACA,+DACAshC,GACA,SACAM,EACAf,GAAuBC,GAA4BC,IAE3D,KAAK,GACD,OAAOC,GACHhhC,EACA,+DACAuhC,GACA,SACAK,EACAhB,GAAYC,GAAuBC,GAA4BC,IAEvE,KAAK,GACD,OAAOC,GACHhhC,EACA,+DACAshC,GACA,SACAM,EACAf,GAAuBC,GAA4BC,IAE3D,KAAK,GACD,OAAOC,GACHhhC,EACA,+DACAuhC,GACA,SACAK,EACAhB,GAAYC,GAAuBC,GAA4BC,IAEvE,KAAK,GACD,OAAOC,GAAiBhhC,EAAO,+DAAc,2BAAQwhC,GAAmBI,EAAW,GACvF,KAAK,GACD,OAAOZ,GACHhhC,EACA,+DACA,2BACAwhC,GACAI,EACAhB,GAAYC,GAAuBC,IAE3C,KAAK,GACD,OAAOE,GACHhhC,EACA,+DACA,2BACAyhC,GACAI,EACAjB,GAAYC,GAAuBC,IAE3C,KAAK,GACD,OAAOE,GAAiBhhC,EAAO,+DAAc,2BAAQyhC,GAAiBI,EAAc,GACxF,KAAK,GACD,OAAOb,GACHhhC,EACA,+DACA,qBACAyhC,GACAI,EACAjB,GAAYC,GAAuBC,IAE3C,KAAK,GACD,OAAOP,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAO/B,GAAsB5/B,EAAO,EAAG,MAAO2/B,GAAU,EAAyBgC,GACrF,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAO/B,GAAsB5/B,EAAO,EAAG,MAAO0/B,GAAQ,EAAyBiC,GACnF,KAAK,GACD,OAAOhB,GACH3gC,EACA,oSAER,KAAK,GACD,OAAO2gC,GACH3gC,EACA,8RAER,KAAK,GACD,OAAOugC,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOhB,GACH3gC,EACA,mSACA4hC,GAER,KAAK,GACD,OAAOjB,GACH3gC,EACA,6RACA4hC,GAER,KAAK,GACD,OAAOrB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAQ,MAAQ,EAAM2hC,GACpE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAQ,MAAQ,EAAM2hC,GACpE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAClE,KAAK,GACD,OAAOpB,GAA4BvgC,EAAO,KAAO,MAAO,EAAM2hC,GAElE,QACI,OAAOpB,GAA4BvgC,EAAO,GAAI,IAAI,EAAM2hC,GAEpE,EdjdMI,GAAmB,0BAEzBC,GAAA,WAQI,SAAAA,EACqBpgC,EACjBivB,EACiBpnC,GAMjB,GARiB,KAAAmY,QAAAA,EAEA,KAAAnY,QAAAA,EAEjB4V,KAAK4iC,iBAAmB,GACxB5iC,KAAK6iC,iBAAmBrR,EACxBxxB,KAAK8/B,SAAW,IAAID,GACpB7/B,KAAK8iC,WAAa,GACbtR,EAAQuI,cACT,MAAM,IAAIltC,MAAM,kDAGpBmT,KAAKoD,gBAAkBpD,KAAKi6B,UAAUzI,EAAQuI,cAAc32B,iBAAiB,GAmarF,OAhaIu/B,EAAAlzC,UAAAszC,SAAA,SAAShJ,EAAyBiJ,GAAlC,IAAA7H,EAAA,KACU8B,EAA4BgG,GAAsBlJ,EAAeiJ,GAEvE,IAAK/F,EAAOC,cACR,OAAOr8B,QAAQC,OAAO,gCAG1B,IAAMoiC,EAAWnJ,EAAcoJ,YAAuBC,YAChDC,EAAWtJ,EAAcoJ,YAAuBG,YAEhDC,EAActG,EAAOC,cACrBsG,EAA0BD,EAAY34C,SAMtC64C,EAAaC,GAAazG,GAAQ77B,MAAK,kBAAAf,EAAA86B,OAAA,+EAsBzC,OArBAn7B,KAAK4iC,iBAAiBxvC,QAAQuwC,IAC1BJ,IACAA,EAAYK,SAASZ,EAAW9gC,KAAM8gC,EAAW33C,MAE7C,sBAAsB4B,KAAKC,UAAUC,YACpCo2C,EAAYF,UAAYL,EAAW33C,KAAOk4C,EAAYL,UAAYF,EAAW9gC,OAE9ElC,KAAKuC,QAAQshC,OAAO13C,KAAK,yDACzB6T,KAAKuC,QAAQE,aAAezC,KAAKuC,QAAQE,aAAaJ,IAClDkhC,EAAYL,QAAUF,EAAW9gC,KACjCqhC,EAAYF,QAAUL,EAAW33C,IACjC,EACA,KAKNy4C,EAAU9jC,KAAK5V,QAAQ05C,QAIG,qBAF1BjB,EAAmB7iC,KAAK+jC,wBAGnB,CAAP,EAAOljC,QAAQC,OAAO,qBAAqBd,KAAK6iC,iBAAiBmB,SAAQ,4BAGzER,EAAcS,OAAST,EAAcS,MAAMC,MAC3C,GAAMV,EAAcS,MAAMC,OAD1B,aACA33B,EAAA/K,8BAGA,iBAAiBvU,KAAKC,UAAUC,WAChC,GAAMg3C,GAAYX,IADlB,aACAj3B,EAAA/K,wBAGJ,MAAuB,oBAAZsiC,EACA,CAAP,EAAOjjC,QAAQD,UACVQ,MAAK,WAAM,OAAA0iC,EAAQN,EAAeX,EAAiB,IACnDzhC,MAAK,WAAM,OAAA67B,CAAM,KAGnB,CAAP,EAAOA,aAUX,OAPAuG,EAAclU,OACdkU,EAAclwB,MAAS8wB,GAAiBx5C,SAASy5C,SAAQ,iBAEzDC,GAAmBtkC,KAAK6iC,iBAAiB9I,cAAemJ,EAASG,GACjEG,EAAcrJ,aAAaqJ,EAAce,UAAUvkC,KAAKoD,iBAAkBogC,EAAcpgC,iBACxFogC,EAAcjU,QAEPkU,GAGXd,EAAAlzC,UAAA+0C,mBAAA,SAAuDvhC,GAInD,GAHIwuB,GAAYxuB,EAAM,GAGlB27B,GAAgB37B,GAChB,OAAOjD,KAAKykC,kBAAkBxhC,GAElC,GAAIw8B,GAAex8B,GACf,OAAOjD,KAAK0kC,iBAAiBzhC,GAEjC,GAAIy8B,GAAez8B,GACf,OAAOjD,KAAK2kC,iBAAiB1hC,GAGjC,IAAM2hC,EAAQ3hC,EAAKg3B,WAAU,GAY7B,OAXI0E,GAAeiG,KACXjG,GAAe17B,IAASA,EAAKm4B,YAAcn4B,EAAKm4B,aAAen4B,EAAK8zB,MACpE6N,EAAM7N,IAAM9zB,EAAKm4B,WACjBwJ,EAAMC,OAAS,IAGG,SAAlBD,EAAME,UACNF,EAAME,QAAU,UAIpBlF,GAAgBgF,GACT5kC,KAAK+kC,yBAAyBH,GAGlCA,GAGXjC,EAAAlzC,UAAAs1C,yBAAA,SAAyB9hC,GACrB,IAAM2hC,EAAQh6C,SAASG,cAAc,4BAGrC,OAFAi6C,GAAc/hC,EAAK/X,MAAO05C,GAEnBA,GAGXjC,EAAAlzC,UAAAk1C,iBAAA,SAAiB1hC,GACb,IACI,IAAMgiC,EAAQhiC,EAAKgiC,MACnB,GAAIA,GAASA,EAAMC,SAAU,CACzB,IAAMC,EAAc,GAAGn0C,MAAMtB,KAAKu1C,EAAMC,SAAU,GAAG/e,QAAO,SAACgf,EAAaC,GACtE,OAAIA,GAAgC,kBAAjBA,EAAKC,QACbF,EAAMC,EAAKC,QAEfF,IACR,IACGj6C,EAAQ+X,EAAKg3B,WAAU,GAE7B,OADA/uC,EAAMF,YAAcm6C,EACbj6C,GAEb,MAAOW,IAGL,GADAmU,KAAKuC,QAAQshC,OAAO92C,MAAM,qCAAsClB,IACjD,kBAAXA,GAAEkP,KACF,MAAMlP,GAGd,OAAOoX,EAAKg3B,WAAU,IAG1B0I,EAAAlzC,UAAAg1C,kBAAA,SAAkB7N,SACd,GAAI52B,KAAK5V,QAAQk7C,cAAgB1O,EAAOmD,cAAe,CACnD,IAAMpD,EAAMC,EAAOmD,cAAchvC,cAAc,OAC/C,IAEI,OADA4rC,EAAII,IAAMH,EAAOK,YACVN,EACT,MAAO9qC,IACLmU,KAAKuC,QAAQshC,OAAO0B,KAAK,sDAAuD3O,IAIxF,IAAM4O,EAAe5O,EAAOqD,WAAU,GAEtC,IACIuL,EAAarjC,MAAQy0B,EAAOz0B,MAC5BqjC,EAAapjC,OAASw0B,EAAOx0B,OAC7B,IAAMy0B,EAAMD,EAAOE,WAAW,MACxB2O,EAAYD,EAAa1O,WAAW,MAC1C,GAAI2O,EACA,IAAKzlC,KAAK5V,QAAQs7C,YAAc7O,EAC5B4O,EAAUE,aAAa9O,EAAIa,aAAa,EAAG,EAAGd,EAAOz0B,MAAOy0B,EAAOx0B,QAAS,EAAG,OAC5E,CACH,IAAMwjC,EAAgC,QAA3Br5B,EAAAqqB,EAAOE,WAAW,iBAAS,IAAAvqB,EAAAA,EAAIqqB,EAAOE,WAAW,SAC5D,GAAI8O,EAAI,CACJ,IAAMC,EAAUD,EAAGE,wBACoB,KAA5B,OAAPD,QAAO,IAAPA,OAAO,EAAPA,EAASE,wBACT/lC,KAAKuC,QAAQshC,OAAO13C,KAChB,sEACAyqC,GAKZ6O,EAAUzO,UAAUJ,EAAQ,EAAG,GAGvC,OAAO4O,EACT,MAAO35C,IACLmU,KAAKuC,QAAQshC,OAAO0B,KAAK,0CAA2C3O,GAGxE,OAAO4O,GAGX7C,EAAAlzC,UAAAi1C,iBAAA,SAAiBsB,GACb,IAAMpP,EAASoP,EAAMjM,cAAchvC,cAAc,UAEjD6rC,EAAOz0B,MAAQ6jC,EAAM1iC,YACrBszB,EAAOx0B,OAAS4jC,EAAMviC,aACtB,IAAMozB,EAAMD,EAAOE,WAAW,MAE9B,IAOI,OANID,IACAA,EAAIG,UAAUgP,EAAO,EAAG,EAAGpP,EAAOz0B,MAAOy0B,EAAOx0B,QAC3CpC,KAAK5V,QAAQs7C,YACd7O,EAAIa,aAAa,EAAG,EAAGd,EAAOz0B,MAAOy0B,EAAOx0B,SAG7Cw0B,EACT,MAAO/qC,IACLmU,KAAKuC,QAAQshC,OAAO0B,KAAK,yCAA0CS,GAGvE,IAAMC,EAAcD,EAAMjM,cAAchvC,cAAc,UAItD,OAFAk7C,EAAY9jC,MAAQ6jC,EAAM1iC,YAC1B2iC,EAAY7jC,OAAS4jC,EAAMviC,aACpBwiC,GAGXtD,EAAAlzC,UAAAy2C,gBAAA,SAAgBtB,EAAiCuB,EAAaC,GAErDtI,GAAcqI,KACbxG,GAAgBwG,IACbA,EAAME,aAAa3D,KACoB,oBAAhC1iC,KAAK5V,QAAQk8C,gBAAkCtmC,KAAK5V,QAAQk8C,eAAeH,KAElFnmC,KAAK5V,QAAQg8C,YAAetI,GAAcqI,IAAWzG,GAAeyG,IACrEvB,EAAMn4C,YAAYuT,KAAKi6B,UAAUkM,EAAOC,KAKpDzD,EAAAlzC,UAAA82C,gBAAA,SAAgBtjC,EAAe2hC,EAAiCwB,GAC5D,IADJ,IAAAjL,EAAA,KAEYgL,EAAQljC,EAAKs7B,WAAat7B,EAAKs7B,WAAW1I,WAAa5yB,EAAK4yB,WAChEsQ,EACAA,EAAQA,EAAMvI,YAEd,GAAIE,GAAcqI,IAAUpI,GAAcoI,IAAyC,oBAAxBA,EAAMnI,cAA8B,CAC3F,IAAMA,EAAgBmI,EAAMnI,gBACxBA,EAAc9vC,QACd8vC,EAAc5qC,SAAQ,SAACozC,GAAiB,OAAArL,EAAK+K,gBAAgBtB,EAAO4B,EAAcJ,EAAW,SAGjGpmC,KAAKkmC,gBAAgBtB,EAAOuB,EAAOC,IAK/CzD,EAAAlzC,UAAAwqC,UAAA,SAAUh3B,EAAYmjC,GAClB,GAAIvI,GAAW56B,GACX,OAAOrY,SAAS67C,eAAexjC,EAAK6D,MAGxC,IAAK7D,EAAK82B,cACN,OAAO92B,EAAKg3B,WAAU,GAG1B,IAAM7tC,EAAS6W,EAAK82B,cAAcoJ,YAElC,GAAI/2C,GAAU0xC,GAAc76B,KAAU+uB,GAAkB/uB,IAASq8B,GAAiBr8B,IAAQ,CACtF,IAAM2hC,EAAQ5kC,KAAKwkC,mBAAmBvhC,GACtC2hC,EAAM15C,MAAMw7C,mBAAqB,OAEjC,IAAMx7C,EAAQkB,EAAO2lC,iBAAiB9uB,GAChC0jC,EAAcv6C,EAAO2lC,iBAAiB9uB,EAAM,WAC5C2jC,EAAax6C,EAAO2lC,iBAAiB9uB,EAAM,UAE7CjD,KAAK6iC,mBAAqB5/B,GAAQ+uB,GAAkB4S,KACpD5kC,KAAK+jC,uBAAyBa,GAE9B3F,GAAc2F,IACdiC,GAAuBjC,GAG3B,IAAM9E,EAAW9/B,KAAK8/B,SAASrnB,MAAM,IAAIyY,GAA4BlxB,KAAKuC,QAASrX,IAC7EihB,EAASnM,KAAK8mC,qBAAqB7jC,EAAM2hC,EAAO+B,EAAarT,GAAkByT,QAEjFnH,GAAgB38B,KAChBmjC,GAAa,GAGZ3G,GAAex8B,IAChBjD,KAAKumC,gBAAgBtjC,EAAM2hC,EAAOwB,GAGlCj6B,GACAy4B,EAAMoC,aAAa76B,EAAQy4B,EAAM/O,YAGrC,IAAMoR,EAAQjnC,KAAK8mC,qBAAqB7jC,EAAM2hC,EAAOgC,EAAYtT,GAAkB4T,OAyBnF,OAxBID,GACArC,EAAMn4C,YAAYw6C,GAGtBjnC,KAAK8/B,SAAS3xC,IAAI2xC,IAGb50C,IAAU8U,KAAK5V,QAAQg8C,YAAc9G,GAAiBr8B,MAAW+7B,GAAgB/7B,IAClFmjC,IAEApB,GAAc95C,EAAO05C,GAGF,IAAnB3hC,EAAKkkC,WAAuC,IAApBlkC,EAAKmkC,YAC7BpnC,KAAK4iC,iBAAiB9vC,KAAK,CAAC8xC,EAAO3hC,EAAKmkC,WAAYnkC,EAAKkkC,aAIxD3I,GAAkBv7B,IAASy7B,GAAgBz7B,MAC3Cu7B,GAAkBoG,IAAUlG,GAAgBkG,MAE7CA,EAAMjkC,MAAQsC,EAAKtC,OAGhBikC,EAGX,OAAO3hC,EAAKg3B,WAAU,IAG1B0I,EAAAlzC,UAAAq3C,qBAAA,SACI7jC,EACA2hC,EACA15C,EACAm8C,GAJJ,IAAAlM,EAAA,KAMI,GAAKjwC,EAAL,CAIA,IAAMyV,EAAQzV,EAAMujC,QACd7jC,EAAWg6C,EAAM7K,cACvB,GAAKnvC,GAAa+V,GAAmB,SAAVA,GAA8B,qBAAVA,GAAkD,SAAlBzV,EAAMu/B,QAArF,CAIAzqB,KAAK8/B,SAASrnB,MAAM,IAAIyY,GAA4BlxB,KAAKuC,QAASrX,IAClE,IAAMilC,EAAc,IAAIc,GAA2BjxB,KAAKuC,QAASrX,GAE3Do8C,EAA2B18C,EAASG,cAAc,4BACxDi6C,GAAc95C,EAAOo8C,GAErBnX,EAAY1B,QAAQr7B,SAAQ,SAACsgB,GACzB,GAAmB,IAAfA,EAAM7Y,KACNysC,EAAyB76C,YAAY7B,EAAS67C,eAAe/yB,EAAM/S,aAChE,GAAmB,KAAf+S,EAAM7Y,KAA8B,CAC3C,IAAM87B,EAAM/rC,EAASG,cAAc,OACnC4rC,EAAII,IAAMrjB,EAAM/S,MAChBg2B,EAAIzrC,MAAM4iC,QAAU,IACpBwZ,EAAyB76C,YAAYkqC,QAClC,GAAmB,KAAfjjB,EAAM7Y,MACb,GAAmB,SAAf6Y,EAAM3Y,KAAiB,CACvB,IAAMwsC,EAAO7zB,EAAMiD,OAAO5jB,OAAOokB,IAC7BowB,EAAKr5C,QACLo5C,EAAyB76C,YACrB7B,EAAS67C,eAAexjC,EAAKpK,aAAa0uC,EAAK,GAAG5mC,QAAU,UAGjE,GAAmB,YAAf+S,EAAM3Y,KAAoB,CAC3B,IAAAwR,EAA0BmH,EAAMiD,OAAO5jB,OAAOwkB,IAA7CsX,EAAOtiB,EAAA,GAAEi7B,EAAYj7B,EAAA,GAC5B,GAAIsiB,GAAW1X,GAAa0X,GAAU,CAClC,IAAM4Y,EAAetM,EAAK2E,SAASC,gBAAgBlR,EAAQluB,OACrD+mC,EACFF,GAAgBrwB,GAAaqwB,GACvBlc,GAAc7S,MAAM0iB,EAAK54B,QAASilC,EAAa7mC,OAAM,EAG/D2mC,EAAyB76C,YACrB7B,EAAS67C,eAAe9F,GAAkB8G,EAAcC,GAAa,WAG1E,GAAmB,aAAfh0B,EAAM3Y,KAAqB,CAC5B,IAAAkf,EAAiCvG,EAAMiD,OAAO5jB,OAAOwkB,IAA3CowB,GAAT9Y,EAAO5U,EAAA,GAAOA,EAAA,IACrB,GADuButB,EAAYvtB,EAAA,GAC/B4U,GAAW1X,GAAa0X,GAAU,CAClC,IAAM+Y,EAAgBzM,EAAK2E,SAASE,iBAAiBnR,EAAQluB,OACvDknC,EACFL,GAAgBrwB,GAAaqwB,GACvBlc,GAAc7S,MAAM0iB,EAAK54B,QAASilC,EAAa7mC,OAAM,EAEzDmnC,EAAYH,GAAwB,IAAfA,EAAM9sC,KAAkC8sC,EAAMhnC,MAAQ,GAC3ExW,EAAOy9C,EACRjuC,KAAI,SAACgH,GAAU,OAAAggC,GAAkBhgC,EAAOknC,GAAa,EAAM,IAC3Dz4C,KAAK04C,GAEVR,EAAyB76C,YAAY7B,EAAS67C,eAAet8C,WAKlE,GAAmB,KAAfupB,EAAM7Y,KACb,OAAQ6Y,EAAM/S,OACV,IAAK,aACD2mC,EAAyB76C,YACrB7B,EAAS67C,eAAejX,GAASW,EAAYhB,OAAQgM,EAAK2H,cAAc,KAE5E,MACJ,IAAK,cACDwE,EAAyB76C,YACrB7B,EAAS67C,eAAejX,GAASW,EAAYhB,SAAUgM,EAAK2H,YAAY,KAE5E,MACJ,QAEIwE,EAAyB76C,YAAY7B,EAAS67C,eAAe/yB,EAAM/S,YAKnF2mC,EAAyB/H,UAAewI,GAAgC,IAAIC,GAC5E,IAAMC,EACFZ,IAAc/T,GAAkByT,OAC1B,IAAIgB,GACJ,IAAIC,GAQd,OANI1I,GAAiBsF,GACjBA,EAAMrF,UAAU2I,WAAaD,EAE7BrD,EAAMrF,WAAa0I,EAGhBX,KAGJ3E,EAAAwF,QAAP,SAAelK,GACX,QAAIA,EAAU/D,aACV+D,EAAU/D,WAAW1sC,YAAYywC,IAC1B,IAInB0E,CAAA,CAxbA,IA0bA,SAAKrP,GACDA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,gBACH,CAHD,CAAKA,KAAAA,GAAiB,KAKtB,Ie9KK8U,Gf8KCnF,GAAwB,SAAClJ,EAAyB7H,GACpD,IAAMmW,EAAuBtO,EAAchvC,cAAc,UAczD,OAZAs9C,EAAqB9I,UAAY,wBACjC8I,EAAqBn9C,MAAMqiC,WAAa,SACxC8a,EAAqBn9C,MAAME,SAAW,QACtCi9C,EAAqBn9C,MAAMgX,KAAO,WAClCmmC,EAAqBn9C,MAAMG,IAAM,MACjCg9C,EAAqBn9C,MAAMo9C,OAAS,IACpCD,EAAqBlmC,MAAQ+vB,EAAO/vB,MAAMjN,WAC1CmzC,EAAqBjmC,OAAS8vB,EAAO9vB,OAAOlN,WAC5CmzC,EAAqBE,UAAY,KACjCF,EAAqB1M,aAAa+G,GAAkB,QACpD3I,EAAcvtC,KAAKC,YAAY47C,GAExBA,CACX,EAEMG,GAAa,SAAC7R,GAChB,OAAO,IAAI91B,SAAQ,SAACD,GACZ+1B,EAAI8R,SACJ7nC,IAGC+1B,EAAII,KAITJ,EAAIqB,OAASp3B,EACb+1B,EAAIsB,QAAUr3B,GAJVA,MAMZ,EAEMujC,GAAc,SAACv5C,GACjB,OAAOiW,QAAQ1V,IAAI,GAAG6F,MAAMtB,KAAK9E,EAAS89C,OAAQ,GAAG/uC,IAAI6uC,IAC7D,EAEM9E,GAAe,SAACzG,GAClB,OAAO,IAAIp8B,SAAQ,SAACD,EAASE,GACzB,IAAMyiC,EAActG,EAAOC,cAE3B,IAAKqG,EACD,OAAOziC,EAAO,iCAGlB,IAAM0iC,EAAgBD,EAAY34C,SAElC24C,EAAYvL,OAASiF,EAAOjF,OAAS,WACjCuL,EAAYvL,OAASiF,EAAOjF,OAAS,KACrC,IAAM2Q,EAAWC,aAAY,WACrBpF,EAAch3C,KAAKq8C,WAAW36C,OAAS,GAAkC,aAA7Bs1C,EAAcsF,aAC1DC,cAAcJ,GACd/nC,EAAQq8B,MAEb,OAGf,EAEM+L,GAAyB,CAC3B,MACA,IACA,WAGShE,GAAgB,SAAqC95C,EAA4B+9C,GAE1F,IAAK,IAAIl7C,EAAI7C,EAAMgD,OAAS,EAAGH,GAAK,EAAGA,IAAK,CACxC,IAAMm7C,EAAWh+C,EAAM+E,KAAKlC,IACsB,IAA9Ci7C,GAAuBn4C,QAAQq4C,IAC/BD,EAAO/9C,MAAMi+C,YAAYD,EAAUh+C,EAAMk+C,iBAAiBF,IAGlE,OAAOD,CACX,EAEM7E,GAAmB,SAACC,GACtB,IAAIzgC,EAAM,GAsBV,OArBIygC,IACAzgC,GAAO,aACHygC,EAAQtpC,OACR6I,GAAOygC,EAAQtpC,MAGfspC,EAAQgF,iBACRzlC,GAAOygC,EAAQgF,gBAGfhF,EAAQiF,WACR1lC,GAAO,IAAIygC,EAAQiF,SAAQ,KAG3BjF,EAAQkF,WACR3lC,GAAO,IAAIygC,EAAQkF,SAAQ,KAG/B3lC,GAAO,KAGJA,CACX,EAEM0gC,GAAqB,SAACvK,EAAgCt8B,EAAWC,GAE/Dq8B,GACAA,EAAcoJ,cACb1lC,IAAMs8B,EAAcoJ,YAAYC,aAAe1lC,IAAMq8B,EAAcoJ,YAAYG,cAEhFvJ,EAAcoJ,YAAYS,SAASnmC,EAAGC,EAE9C,EAEMimC,GAAoB,SAACp3B,OAACilB,EAAOjlB,EAAA,GAAE9O,EAAC8O,EAAA,GAAE7O,EAAC6O,EAAA,GACrCilB,EAAQ4V,WAAa3pC,EACrB+zB,EAAQ2V,UAAYzpC,CACxB,EAEM8rC,GAAgB,UAChBC,GAAe,SACf1B,GAAmC,wCACnCC,GAAkC,uCAElC0B,GAA4B,mEAK5B7C,GAAyB,SAACr6C,GAC5Bm9C,GACIn9C,EACA,IAAIu7C,GAAmCyB,GAAgBE,GAAyB,eAC5E1B,GAAkCyB,GAAeC,GAE7D,EAEMC,GAAe,SAACn9C,EAAmBslC,GACrC,IAAMlnC,EAAW4B,EAAKutC,cACtB,GAAInvC,EAAU,CACV,IAAMM,EAAQN,EAASG,cAAc,SACrCG,EAAMF,YAAc8mC,EACpBtlC,EAAKC,YAAYvB,GAEzB,EgBznBA0+C,GAAA,oBAAAA,IAAA,CAuBA,OAnBWA,EAAAC,UAAP,SAAiB/xC,GACb,IAAMgyC,EAAOF,EAAaG,MAC1B,OAAKD,GAILA,EAAKnzC,KAAOmB,EACZgyC,EAAKnzC,KAAOmzC,EAAKnzC,KACVmzC,EAAKE,SAAWF,EAAKG,SAAWH,EAAKI,MALjC,eAQRN,EAAAO,aAAP,SAAoBpT,GAChB,OAAO6S,EAAaC,UAAU9S,KAAS6S,EAAaQ,SAGjDR,EAAAS,WAAP,SAAkBj+C,GACdw9C,EAAaG,MAAQ39C,EAAOxB,SAASG,cAAc,KACnD6+C,EAAaQ,QAAUR,EAAaC,UAAUz9C,EAAOmF,SAASoF,OAnBnDizC,EAAAQ,QAAU,cAqB7BR,EAvBA,GAgCAU,GAAA,WAII,SAAAA,EAA6B/nC,EAAmCgoC,GAAnC,KAAAhoC,QAAAA,EAAmC,KAAAgoC,SAAAA,EAF/C,KAAAC,OAAwC,CAAC,EAgI9D,OA5HIF,EAAA76C,UAAA44B,SAAA,SAAS0O,GACL,IAAM5nC,EAAS0R,QAAQD,UACvB,OAAIZ,KAAKyqC,IAAI1T,GACF5nC,EAGPu7C,GAAY3T,IAAQ4T,GAAa5T,KAChC/2B,KAAKwqC,OAAOzT,GAAO/2B,KAAK4qC,UAAU7T,IAAMY,OAAM,eAGxCxoC,GAGJA,GAIXm7C,EAAA76C,UAAAo7C,MAAA,SAAM9T,GACF,OAAO/2B,KAAKwqC,OAAOzT,IAGTuT,EAAA76C,UAAAm7C,UAAd,SAAwBt6C,gHAWpB,OAVM65C,EAAeP,GAAaO,aAAa75C,GACzCw6C,GACDC,GAAcz6C,KAAkC,IAA1B0P,KAAKuqC,SAASO,SAAoBzS,GAASM,sBAAwBwR,EACxFa,GACDD,GAAcz6C,KACd65C,IACAO,GAAYp6C,IACkB,kBAAxB0P,KAAKuqC,SAASU,OACrB5S,GAASQ,mBACRiS,EAEAX,IAC4B,IAA7BnqC,KAAKuqC,SAAS7E,YACbqF,GAAcz6C,IACdo6C,GAAYp6C,IACZ06C,GACAF,GAKD/T,EAAMzmC,EACN06C,EACM,GAAMhrC,KAAKirC,MAAMlU,IADvB,OAJA,WAKAA,EAAMxqB,EAAA/K,wBAKH,OAFPxB,KAAKuC,QAAQshC,OAAOx5C,MAAM,eAAeiG,EAAI0H,UAAU,EAAG,MAEnD,GAAM,IAAI6I,SAAQ,SAACD,EAASE,GAC/B,IAAM61B,EAAM,IAAIN,MAChBM,EAAIqB,OAAS,WAAM,OAAAp3B,EAAQ+1B,EAAI,EAC/BA,EAAIsB,QAAUn3B,GAEVoqC,GAAoBnU,IAAQ+T,KAC5BnU,EAAIL,YAAc,aAEtBK,EAAII,IAAMA,GACW,IAAjBJ,EAAI8R,UAEJ0C,YAAW,WAAM,OAAAvqC,EAAQ+1B,EAAI,GAAE,KAE/BwE,EAAKoP,SAASa,aAAe,GAC7BD,YACI,WAAM,OAAArqC,EAAO,cAAcq6B,EAAKoP,SAASa,aAAY,oBAAoB,GACzEjQ,EAAKoP,SAASa,yBAhB1B,MAAO,CAAP,EAAO7+B,EAAA/K,gBAsBH8oC,EAAA76C,UAAAg7C,IAAR,SAAYn6C,GACR,MAAmC,qBAArB0P,KAAKwqC,OAAOl6C,IAG9Bg6C,EAAA76C,UAAAW,KAAA,WACI,OAAOyQ,QAAQD,QAAQpR,OAAOY,KAAK4P,KAAKwqC,UAGpCF,EAAA76C,UAAAw7C,MAAR,SAAclU,GAAd,IAAAoE,EAAA,KACU8P,EAAQjrC,KAAKuqC,SAASU,MAE5B,IAAKA,EACD,MAAM,IAAIp+C,MAAM,oBAGpB,IAAMyD,EAAMymC,EAAI/+B,UAAU,EAAG,KAE7B,OAAO,IAAI6I,SAAQ,SAACD,EAASE,GACzB,IAAM21B,EAAe4B,GAASO,sBAAwB,OAAS,OACzDyS,EAAM,IAAI7U,eAChB6U,EAAIrT,OAAS,WACT,GAAmB,MAAfqT,EAAIC,OACJ,GAAqB,SAAjB7U,EACA71B,EAAQyqC,EAAIE,cACT,CACH,IAAMC,EAAS,IAAIC,WACnBD,EAAO5/C,iBAAiB,QAAQ,WAAM,OAAAgV,EAAQ4qC,EAAOr8C,OAAiB,IAAE,GACxEq8C,EAAO5/C,iBAAiB,SAAS,SAACC,GAAM,OAAAiV,EAAOjV,EAAE,IAAE,GACnD2/C,EAAOE,cAAcL,EAAIE,eAG7BzqC,EAAO,4BAA4BxQ,EAAG,qBAAqB+6C,EAAIC,SAIvED,EAAIpT,QAAUn3B,EACd,IAAM6qC,EAAcV,EAAMp6C,QAAQ,MAAQ,EAAI,IAAM,IAOpD,GANAw6C,EAAI/b,KAAK,MAAO,GAAG2b,EAAQU,EAAW,OAAOzT,mBAAmBnB,GAAI,iBAAiBN,GAEhE,SAAjBA,GAA2B4U,aAAe7U,iBAC1C6U,EAAI5U,aAAeA,GAGnB0E,EAAKoP,SAASa,aAAc,CAC5B,IAAMQ,EAAUzQ,EAAKoP,SAASa,aAC9BC,EAAIQ,QAAUD,EACdP,EAAIS,UAAY,WAAM,OAAAhrC,EAAO,cAAc8qC,EAAO,gBAAgBt7C,EAAM,EAG5E+6C,EAAIU,WAGhBzB,CAAA,CAlIA,GAoIM0B,GAAa,yBACbC,GAAgB,2BAChBC,GAAa,mBAEbvB,GAAe,SAAC5T,GAAyB,OAAAsB,GAASG,sBAAwB2T,GAAMpV,EAAI,EACpFgU,GAAgB,SAAChU,GAAyB,OAAAmV,GAAWj/C,KAAK8pC,EAAI,EAC9DmU,GAAsB,SAACnU,GAAyB,OAAAkV,GAAch/C,KAAK8pC,EAAI,EACvE2T,GAAc,SAAC3T,GAAyB,MAAqB,SAArBA,EAAI1nC,OAAO,EAAG,EAAa,EAEnE88C,GAAQ,SAACpV,GAAyB,MAAiC,QAAjCA,EAAI1nC,QAAQ,GAAGuB,eAA2Bo7C,GAAW/+C,KAAK8pC,EAAI,EC9KtGqV,GAAA,WAKI,SAAAA,EAAY3uC,EAAWC,GACnBsC,KAAKnF,KAAO,EACZmF,KAAKvC,EAAIA,EACTuC,KAAKtC,EAAIA,EAMjB,OAHI0uC,EAAA38C,UAAA4S,IAAA,SAAIgqC,EAAgBC,GAChB,OAAO,IAAIF,EAAOpsC,KAAKvC,EAAI4uC,EAAQrsC,KAAKtC,EAAI4uC,IAEpDF,CAAA,CAdA,GCCMG,GAAO,SAAC38C,EAAWC,EAAWyN,GAChC,OAAO,IAAI8uC,GAAOx8C,EAAE6N,GAAK5N,EAAE4N,EAAI7N,EAAE6N,GAAKH,EAAG1N,EAAE8N,GAAK7N,EAAE6N,EAAI9N,EAAE8N,GAAKJ,EACjE,EAEAkvC,GAAA,WAOI,SAAAA,EAAYpmC,EAAeqmC,EAAsBC,EAAoBrmC,GACjErG,KAAKnF,KAAO,EACZmF,KAAKoG,MAAQA,EACbpG,KAAKysC,aAAeA,EACpBzsC,KAAK0sC,WAAaA,EAClB1sC,KAAKqG,IAAMA,EAyBnB,OAtBImmC,EAAA/8C,UAAAk9C,UAAA,SAAUrvC,EAAWsvC,GACjB,IAAMC,EAAKN,GAAKvsC,KAAKoG,MAAOpG,KAAKysC,aAAcnvC,GACzCwvC,EAAKP,GAAKvsC,KAAKysC,aAAczsC,KAAK0sC,WAAYpvC,GAC9CyvC,EAAKR,GAAKvsC,KAAK0sC,WAAY1sC,KAAKqG,IAAK/I,GACrC0vC,EAAOT,GAAKM,EAAIC,EAAIxvC,GACpB2vC,EAAOV,GAAKO,EAAIC,EAAIzvC,GACpB4vC,EAAOX,GAAKS,EAAMC,EAAM3vC,GAC9B,OAAOsvC,EAAY,IAAIJ,EAAYxsC,KAAKoG,MAAOymC,EAAIG,EAAME,GAAQ,IAAIV,EAAYU,EAAMD,EAAMF,EAAI/sC,KAAKqG,MAG1GmmC,EAAA/8C,UAAA4S,IAAA,SAAIgqC,EAAgBC,GAChB,OAAO,IAAIE,EACPxsC,KAAKoG,MAAM/D,IAAIgqC,EAAQC,GACvBtsC,KAAKysC,aAAapqC,IAAIgqC,EAAQC,GAC9BtsC,KAAK0sC,WAAWrqC,IAAIgqC,EAAQC,GAC5BtsC,KAAKqG,IAAIhE,IAAIgqC,EAAQC,KAI7BE,EAAA/8C,UAAA09C,QAAA,WACI,OAAO,IAAIX,EAAYxsC,KAAKqG,IAAKrG,KAAK0sC,WAAY1sC,KAAKysC,aAAczsC,KAAKoG,QAElFomC,CAAA,CArCA,GAuCaY,GAAgB,SAAC58C,GAAoC,OAAc,IAAdA,EAAKqK,IAAI,EHxC3EwyC,GAAA,WA0BI,SAAAA,EAAY7b,GACR,IAAMM,EAASN,EAAQM,OACjBI,EAASV,EAAQU,OAEnB3lB,EAAayL,GAAyB8Z,EAAOpI,oBAAqBwI,EAAO/vB,MAAO+vB,EAAO9vB,QAAtFkrC,EAAG/gC,EAAA,GAAEghC,EAAGhhC,EAAA,GACT0N,EAAajC,GAAyB8Z,EAAOnI,qBAAsBuI,EAAO/vB,MAAO+vB,EAAO9vB,QAAvForC,EAAGvzB,EAAA,GAAEwzB,EAAGxzB,EAAA,GACTyzB,EAAa11B,GAAyB8Z,EAAOlI,wBAAyBsI,EAAO/vB,MAAO+vB,EAAO9vB,QAA1FurC,EAAGD,EAAA,GAAEE,EAAGF,EAAA,GACTG,EAAa71B,GAAyB8Z,EAAOjI,uBAAwBqI,EAAO/vB,MAAO+vB,EAAO9vB,QAAzF0rC,EAAGD,EAAA,GAAEE,EAAGF,EAAA,GAEPG,EAAU,GAChBA,EAAQl7C,MAAMw6C,EAAME,GAAOtb,EAAO/vB,OAClC6rC,EAAQl7C,MAAMg7C,EAAMH,GAAOzb,EAAO/vB,OAClC6rC,EAAQl7C,MAAMy6C,EAAMQ,GAAO7b,EAAO9vB,QAClC4rC,EAAQl7C,MAAM26C,EAAMG,GAAO1b,EAAO9vB,QAClC,IAAM6rC,EAAYj5C,KAAKoE,IAAGxG,MAARoC,KAAYg5C,GAE1BC,EAAY,IACZX,GAAOW,EACPV,GAAOU,EACPT,GAAOS,EACPR,GAAOQ,EACPN,GAAOM,EACPL,GAAOK,EACPH,GAAOG,EACPF,GAAOE,GAGX,IAAMC,EAAWhc,EAAO/vB,MAAQqrC,EAC1BW,EAAcjc,EAAO9vB,OAASwrC,EAC9BQ,EAAclc,EAAO/vB,MAAQwrC,EAC7BU,EAAanc,EAAO9vB,OAAS2rC,EAE7B3jB,EAAiB0H,EAAO1H,eACxBC,EAAmByH,EAAOzH,iBAC1BC,EAAoBwH,EAAOxH,kBAC3BC,EAAkBuH,EAAOvH,gBAEzBwB,EAAa7T,GAAiB4Z,EAAO/F,WAAYyF,EAAQU,OAAO/vB,OAChE6pB,EAAe9T,GAAiB4Z,EAAO9F,aAAcwF,EAAQU,OAAO/vB,OACpE8pB,EAAgB/T,GAAiB4Z,EAAO7F,cAAeuF,EAAQU,OAAO/vB,OACtE+pB,EAAchU,GAAiB4Z,EAAO5F,YAAasF,EAAQU,OAAO/vB,OAExEnC,KAAKsuC,4BACDhB,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAAOqoB,EAAkB,EAChC2H,EAAO7mC,IAAM++B,EAAiB,EAC9BkjB,EAAM/iB,EAAkB,EACxBgjB,EAAMnjB,EAAiB,EACvBge,GAAOoG,UAEX,IAAIpC,GAAOla,EAAOhwB,KAAOqoB,EAAkB,EAAG2H,EAAO7mC,IAAM++B,EAAiB,GACtFpqB,KAAKyuC,6BACDnB,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAAOgsC,EACdhc,EAAO7mC,IAAM++B,EAAiB,EAC9BojB,EAAMnjB,EAAmB,EACzBojB,EAAMrjB,EAAiB,EACvBge,GAAOsG,WAEX,IAAItC,GAAOla,EAAOhwB,KAAOgwB,EAAO/vB,MAAQkoB,EAAmB,EAAG6H,EAAO7mC,IAAM++B,EAAiB,GACtGpqB,KAAK2uC,gCACDhB,EAAM,GAAKC,EAAM,EACXW,GACIrc,EAAOhwB,KAAOksC,EACdlc,EAAO7mC,IAAM8iD,EACbR,EAAMtjB,EAAmB,EACzBujB,EAAMtjB,EAAoB,EAC1B8d,GAAOwG,cAEX,IAAIxC,GACAla,EAAOhwB,KAAOgwB,EAAO/vB,MAAQkoB,EAAmB,EAChD6H,EAAO7mC,IAAM6mC,EAAO9vB,OAASkoB,EAAoB,GAE/DtqB,KAAK6uC,+BACDf,EAAM,GAAKC,EAAM,EACXQ,GACIrc,EAAOhwB,KAAOqoB,EAAkB,EAChC2H,EAAO7mC,IAAMgjD,EACbP,EAAMvjB,EAAkB,EACxBwjB,EAAMzjB,EAAoB,EAC1B8d,GAAO0G,aAEX,IAAI1C,GAAOla,EAAOhwB,KAAOqoB,EAAkB,EAAG2H,EAAO7mC,IAAM6mC,EAAO9vB,OAASkoB,EAAoB,GACzGtqB,KAAK+uC,4BACDzB,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAA0B,EAAlBqoB,EAAuB,EACtC2H,EAAO7mC,IAAwB,EAAjB++B,EAAsB,EACpCkjB,EAAyB,EAAlB/iB,EAAuB,EAC9BgjB,EAAwB,EAAjBnjB,EAAsB,EAC7Bge,GAAOoG,UAEX,IAAIpC,GAAOla,EAAOhwB,KAA0B,EAAlBqoB,EAAuB,EAAG2H,EAAO7mC,IAAwB,EAAjB++B,EAAsB,GAClGpqB,KAAKgvC,6BACD1B,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAAOgsC,EACdhc,EAAO7mC,IAAwB,EAAjB++B,EAAsB,EACpCojB,EAA0B,EAAnBnjB,EAAwB,EAC/BojB,EAAwB,EAAjBrjB,EAAsB,EAC7Bge,GAAOsG,WAEX,IAAItC,GACAla,EAAOhwB,KAAOgwB,EAAO/vB,MAA4B,EAAnBkoB,EAAwB,EACtD6H,EAAO7mC,IAAwB,EAAjB++B,EAAsB,GAElDpqB,KAAKivC,gCACDtB,EAAM,GAAKC,EAAM,EACXW,GACIrc,EAAOhwB,KAAOksC,EACdlc,EAAO7mC,IAAM8iD,EACbR,EAA0B,EAAnBtjB,EAAwB,EAC/BujB,EAA2B,EAApBtjB,EAAyB,EAChC8d,GAAOwG,cAEX,IAAIxC,GACAla,EAAOhwB,KAAOgwB,EAAO/vB,MAA4B,EAAnBkoB,EAAwB,EACtD6H,EAAO7mC,IAAM6mC,EAAO9vB,OAA8B,EAApBkoB,EAAyB,GAErEtqB,KAAKkvC,+BACDpB,EAAM,GAAKC,EAAM,EACXQ,GACIrc,EAAOhwB,KAA0B,EAAlBqoB,EAAuB,EACtC2H,EAAO7mC,IAAMgjD,EACbP,EAAyB,EAAlBvjB,EAAuB,EAC9BwjB,EAA2B,EAApBzjB,EAAyB,EAChC8d,GAAO0G,aAEX,IAAI1C,GACAla,EAAOhwB,KAA0B,EAAlBqoB,EAAuB,EACtC2H,EAAO7mC,IAAM6mC,EAAO9vB,OAA8B,EAApBkoB,EAAyB,GAErEtqB,KAAKmvC,oBACD7B,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAAOqoB,EAAkB,EAChC2H,EAAO7mC,IAAM++B,EAAiB,EAC9BkjB,EAAM/iB,EAAkB,EACxBgjB,EAAMnjB,EAAiB,EACvBge,GAAOoG,UAEX,IAAIpC,GAAOla,EAAOhwB,KAAOqoB,EAAkB,EAAG2H,EAAO7mC,IAAM++B,EAAiB,GACtFpqB,KAAKovC,qBACD9B,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAAOgsC,EACdhc,EAAO7mC,IAAM++B,EAAiB,EAC9BojB,EAAMnjB,EAAmB,EACzBojB,EAAMrjB,EAAiB,EACvBge,GAAOsG,WAEX,IAAItC,GAAOla,EAAOhwB,KAAOgwB,EAAO/vB,MAAQkoB,EAAmB,EAAG6H,EAAO7mC,IAAM++B,EAAiB,GACtGpqB,KAAKqvC,wBACD1B,EAAM,GAAKC,EAAM,EACXW,GACIrc,EAAOhwB,KAAOksC,EACdlc,EAAO7mC,IAAM8iD,EACbR,EAAMtjB,EAAmB,EACzBujB,EAAMtjB,EAAoB,EAC1B8d,GAAOwG,cAEX,IAAIxC,GACAla,EAAOhwB,KAAOgwB,EAAO/vB,MAAQkoB,EAAmB,EAChD6H,EAAO7mC,IAAM6mC,EAAO9vB,OAASkoB,EAAoB,GAE/DtqB,KAAKsvC,uBACDxB,EAAM,GAAKC,EAAM,EACXQ,GACIrc,EAAOhwB,KAAOqoB,EAAkB,EAChC2H,EAAO7mC,IAAMgjD,EACbP,EAAMvjB,EAAkB,EACxBwjB,EAAMzjB,EAAoB,EAC1B8d,GAAO0G,aAEX,IAAI1C,GAAOla,EAAOhwB,KAAOqoB,EAAkB,EAAG2H,EAAO7mC,IAAM6mC,EAAO9vB,OAASkoB,EAAoB,GACzGtqB,KAAKuvC,iBACDjC,EAAM,GAAKC,EAAM,EACXgB,GAAerc,EAAOhwB,KAAMgwB,EAAO7mC,IAAKiiD,EAAKC,EAAKnF,GAAOoG,UACzD,IAAIpC,GAAOla,EAAOhwB,KAAMgwB,EAAO7mC,KACzC2U,KAAKwvC,kBACDhC,EAAM,GAAKC,EAAM,EACXc,GAAerc,EAAOhwB,KAAOgsC,EAAUhc,EAAO7mC,IAAKmiD,EAAKC,EAAKrF,GAAOsG,WACpE,IAAItC,GAAOla,EAAOhwB,KAAOgwB,EAAO/vB,MAAO+vB,EAAO7mC,KACxD2U,KAAKyvC,qBACD9B,EAAM,GAAKC,EAAM,EACXW,GAAerc,EAAOhwB,KAAOksC,EAAalc,EAAO7mC,IAAM8iD,EAAaR,EAAKC,EAAKxF,GAAOwG,cACrF,IAAIxC,GAAOla,EAAOhwB,KAAOgwB,EAAO/vB,MAAO+vB,EAAO7mC,IAAM6mC,EAAO9vB,QACrEpC,KAAK0vC,oBACD5B,EAAM,GAAKC,EAAM,EACXQ,GAAerc,EAAOhwB,KAAMgwB,EAAO7mC,IAAMgjD,EAAYP,EAAKC,EAAK3F,GAAO0G,aACtE,IAAI1C,GAAOla,EAAOhwB,KAAMgwB,EAAO7mC,IAAM6mC,EAAO9vB,QACtDpC,KAAK2vC,kBACDrC,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAAOqoB,EACd2H,EAAO7mC,IAAM++B,EACbp1B,KAAKoE,IAAI,EAAGk0C,EAAM/iB,GAClBv1B,KAAKoE,IAAI,EAAGm0C,EAAMnjB,GAClBge,GAAOoG,UAEX,IAAIpC,GAAOla,EAAOhwB,KAAOqoB,EAAiB2H,EAAO7mC,IAAM++B,GACjEpqB,KAAK4vC,mBACDpC,EAAM,GAAKC,EAAM,EACXc,GACIrc,EAAOhwB,KAAOlN,KAAKmE,IAAI+0C,EAAUhc,EAAO/vB,MAAQkoB,GAChD6H,EAAO7mC,IAAM++B,EACb8jB,EAAWhc,EAAO/vB,MAAQkoB,EAAmB,EAAIr1B,KAAKoE,IAAI,EAAGo0C,EAAMnjB,GACnEr1B,KAAKoE,IAAI,EAAGq0C,EAAMrjB,GAClBge,GAAOsG,WAEX,IAAItC,GAAOla,EAAOhwB,KAAOgwB,EAAO/vB,MAAQkoB,EAAkB6H,EAAO7mC,IAAM++B,GACjFpqB,KAAK6vC,sBACDlC,EAAM,GAAKC,EAAM,EACXW,GACIrc,EAAOhwB,KAAOlN,KAAKmE,IAAIi1C,EAAalc,EAAO/vB,MAAQooB,GACnD2H,EAAO7mC,IAAM2J,KAAKmE,IAAIg1C,EAAajc,EAAO9vB,OAASkoB,GACnDt1B,KAAKoE,IAAI,EAAGu0C,EAAMtjB,GAClBr1B,KAAKoE,IAAI,EAAGw0C,EAAMtjB,GAClB8d,GAAOwG,cAEX,IAAIxC,GACAla,EAAOhwB,KAAOgwB,EAAO/vB,MAAQkoB,EAC7B6H,EAAO7mC,IAAM6mC,EAAO9vB,OAASkoB,GAE3CtqB,KAAK8vC,qBACDhC,EAAM,GAAKC,EAAM,EACXQ,GACIrc,EAAOhwB,KAAOqoB,EACd2H,EAAO7mC,IAAM2J,KAAKmE,IAAIk1C,EAAYnc,EAAO9vB,OAASkoB,GAClDt1B,KAAKoE,IAAI,EAAG00C,EAAMvjB,GAClBv1B,KAAKoE,IAAI,EAAG20C,EAAMzjB,GAClB8d,GAAO0G,aAEX,IAAI1C,GAAOla,EAAOhwB,KAAOqoB,EAAiB2H,EAAO7mC,IAAM6mC,EAAO9vB,OAASkoB,GACjFtqB,KAAK+vC,kBACDzC,EAAM,GAAKC,EAAM,EACXgB,GACIrc,EAAOhwB,KAAOqoB,EAAkB2B,EAChCgG,EAAO7mC,IAAM++B,EAAiB2B,EAC9B/2B,KAAKoE,IAAI,EAAGk0C,GAAO/iB,EAAkB2B,IACrCl3B,KAAKoE,IAAI,EAAGm0C,GAAOnjB,EAAiB2B,IACpCqc,GAAOoG,UAEX,IAAIpC,GAAOla,EAAOhwB,KAAOqoB,EAAkB2B,EAAagG,EAAO7mC,IAAM++B,EAAiB2B,GAChG/rB,KAAKgwC,mBACDxC,EAAM,GAAKC,EAAM,EACXc,GACIrc,EAAOhwB,KAAOlN,KAAKmE,IAAI+0C,EAAUhc,EAAO/vB,MAAQooB,EAAkB2B,GAClEgG,EAAO7mC,IAAM++B,EAAiB2B,EAC9BmiB,EAAWhc,EAAO/vB,MAAQooB,EAAkB2B,EAAc,EAAIshB,EAAMjjB,EAAkB2B,EACtFuhB,GAAOrjB,EAAiB2B,GACxBqc,GAAOsG,WAEX,IAAItC,GACAla,EAAOhwB,KAAOgwB,EAAO/vB,OAASkoB,EAAmB2B,GACjDkG,EAAO7mC,IAAM++B,EAAiB2B,GAE5C/rB,KAAKiwC,sBACDtC,EAAM,GAAKC,EAAM,EACXW,GACIrc,EAAOhwB,KAAOlN,KAAKmE,IAAIi1C,EAAalc,EAAO/vB,OAASooB,EAAkB2B,IACtEgG,EAAO7mC,IAAM2J,KAAKmE,IAAIg1C,EAAajc,EAAO9vB,OAASgoB,EAAiB2B,GACpE/2B,KAAKoE,IAAI,EAAGu0C,GAAOtjB,EAAmB2B,IACtC4hB,GAAOtjB,EAAoB2B,GAC3Bmc,GAAOwG,cAEX,IAAIxC,GACAla,EAAOhwB,KAAOgwB,EAAO/vB,OAASkoB,EAAmB2B,GACjDkG,EAAO7mC,IAAM6mC,EAAO9vB,QAAUkoB,EAAoB2B,IAEhEjsB,KAAKkwC,qBACDpC,EAAM,GAAKC,EAAM,EACXQ,GACIrc,EAAOhwB,KAAOqoB,EAAkB2B,EAChCgG,EAAO7mC,IAAMgjD,EACbr5C,KAAKoE,IAAI,EAAG00C,GAAOvjB,EAAkB2B,IACrC6hB,GAAOzjB,EAAoB2B,GAC3Bmc,GAAO0G,aAEX,IAAI1C,GACAla,EAAOhwB,KAAOqoB,EAAkB2B,EAChCgG,EAAO7mC,IAAM6mC,EAAO9vB,QAAUkoB,EAAoB2B,IAGxE,OAAAohB,CAAA,CAxTA,IA0TA,SAAKjF,GACDA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,yBACAA,EAAAA,EAAA,+BACAA,EAAAA,EAAA,4BACH,CALD,CAAKA,KAAAA,GAAM,KAOX,IAAMmG,GAAiB,SAAC9wC,EAAWC,EAAWyyC,EAAYC,EAAYhlD,GAClE,IAAMilD,GAAcr7C,KAAKgxB,KAAK,GAAK,GAAK,EAA1B,EACRsqB,EAAKH,EAAKE,EACVE,EAAKH,EAAKC,EACVG,EAAK/yC,EAAI0yC,EACTM,EAAK/yC,EAAI0yC,EAEf,OAAQhlD,GACJ,KAAKg9C,GAAOoG,SACR,OAAO,IAAIhC,GACP,IAAIJ,GAAO3uC,EAAGgzC,GACd,IAAIrE,GAAO3uC,EAAGgzC,EAAKF,GACnB,IAAInE,GAAOoE,EAAKF,EAAI5yC,GACpB,IAAI0uC,GAAOoE,EAAI9yC,IAEvB,KAAK0qC,GAAOsG,UACR,OAAO,IAAIlC,GACP,IAAIJ,GAAO3uC,EAAGC,GACd,IAAI0uC,GAAO3uC,EAAI6yC,EAAI5yC,GACnB,IAAI0uC,GAAOoE,EAAIC,EAAKF,GACpB,IAAInE,GAAOoE,EAAIC,IAEvB,KAAKrI,GAAOwG,aACR,OAAO,IAAIpC,GACP,IAAIJ,GAAOoE,EAAI9yC,GACf,IAAI0uC,GAAOoE,EAAI9yC,EAAI6yC,GACnB,IAAInE,GAAO3uC,EAAI6yC,EAAIG,GACnB,IAAIrE,GAAO3uC,EAAGgzC,IAEtB,KAAKrI,GAAO0G,YACZ,QACI,OAAO,IAAItC,GACP,IAAIJ,GAAOoE,EAAIC,GACf,IAAIrE,GAAOoE,EAAKF,EAAIG,GACpB,IAAIrE,GAAO3uC,EAAGC,EAAI6yC,GAClB,IAAInE,GAAO3uC,EAAGC,IAG9B,EAEagzC,GAAyB,SAACC,GACnC,MAAO,CAACA,EAAOpB,iBAAkBoB,EAAOnB,kBAAmBmB,EAAOlB,qBAAsBkB,EAAOjB,oBACnG,EAEakB,GAA0B,SAACD,GACpC,MAAO,CACHA,EAAOZ,kBACPY,EAAOX,mBACPW,EAAOV,sBACPU,EAAOT,qBAEf,EAEaW,GAA0B,SAACF,GACpC,MAAO,CACHA,EAAOhB,kBACPgB,EAAOf,mBACPe,EAAOd,sBACPc,EAAOb,qBAEf,EIhXAgB,GAAA,WAII,SAAAA,EAAqBxkB,EAA0BC,EAA0BM,GAApD,KAAAP,QAAAA,EAA0B,KAAAC,QAAAA,EAA0B,KAAAM,OAAAA,EAHhE,KAAAhyB,KAAI,EACJ,KAAAouC,OAAiB,EAG9B,OAAA6H,CAAA,CALA,GAOAC,GAAA,WAGI,SAAAA,EAAqBvgD,EAAuBy4C,GAAvB,KAAAz4C,KAAAA,EAAuB,KAAAy4C,OAAAA,EAFnC,KAAApuC,KAAI,EAGjB,OAAAk2C,CAAA,CAJA,GAMAC,GAAA,WAII,SAAAA,EAAqBljB,GAAA,KAAAA,QAAAA,EAHZ,KAAAjzB,KAAI,EACJ,KAAAouC,OAAiB,EAG9B,OAAA+H,CAAA,CALA,GAOaC,GAAoB,SAACC,GAC9B,OAAgB,IAAhBA,EAAOr2C,IAAP,EACSs2C,GAAe,SAACD,GAAiD,OAAgB,IAAhBA,EAAOr2C,IAAI,EAC5Eu2C,GAAkB,SAACF,GAAoD,OAAgB,IAAhBA,EAAOr2C,IAAI,EC9BlFw2C,GAAY,SAACzhD,EAAWC,GACjC,OAAID,EAAE1B,SAAW2B,EAAE3B,QACR0B,EAAEqiC,MAAK,SAAC10B,EAAGxP,GAAM,OAAAwP,IAAM1N,EAAE9B,EAAE,GAI1C,EAEaujD,GAAgB,SAAC9gD,EAAc67C,EAAgBC,EAAgBiF,EAAgBC,GACxF,OAAOhhD,EAAKmJ,KAAI,SAAC83C,EAAO3jD,GACpB,OAAQA,GACJ,KAAK,EACD,OAAO2jD,EAAMpvC,IAAIgqC,EAAQC,GAC7B,KAAK,EACD,OAAOmF,EAAMpvC,IAAIgqC,EAASkF,EAAQjF,GACtC,KAAK,EACD,OAAOmF,EAAMpvC,IAAIgqC,EAASkF,EAAQjF,EAASkF,GAC/C,KAAK,EACD,OAAOC,EAAMpvC,IAAIgqC,EAAQC,EAASkF,GAE1C,OAAOC,IAEf,ECtBAC,GAAA,WAUI,SAAAA,EAAYzT,GACRj+B,KAAKwxB,QAAUyM,EACfj+B,KAAK2xC,YAAc,GACnB3xC,KAAK4xC,eAAiB,GACtB5xC,KAAK6xC,eAAiB,GACtB7xC,KAAK8xC,uCAAyC,GAC9C9xC,KAAK+xC,eAAiB,GACtB/xC,KAAKgyC,oBAAsB,GAC3BhyC,KAAKiyC,yBAA2B,GAExC,OAAAP,CAAA,CApBA,GAsBAQ,GAAA,WAKI,SAAAA,EAAqBjU,EAAsC9lB,GAMvD,GANiB,KAAA8lB,UAAAA,EAAsC,KAAA9lB,OAAAA,EAJlD,KAAAg6B,QAA4B,GAKjCnyC,KAAK2wC,OAAS,IAAItD,GAAYrtC,KAAKi+B,WAC/Bj+B,KAAKi+B,UAAUnM,OAAOhE,QAAU,GAChC9tB,KAAKmyC,QAAQr/C,KAAK,IAAIk+C,GAAchxC,KAAKi+B,UAAUnM,OAAOhE,UAGtB,OAApC9tB,KAAKi+B,UAAUnM,OAAOpB,UAAoB,CAC1C,IAAMpE,EAAUtsB,KAAKi+B,UAAU/L,OAAOhwB,KAAOlC,KAAKi+B,UAAUnM,OAAOzE,gBAAgB,GAAGxX,OAChF0W,EAAUvsB,KAAKi+B,UAAU/L,OAAO7mC,IAAM2U,KAAKi+B,UAAUnM,OAAOzE,gBAAgB,GAAGxX,OAC/EgX,EAAS7sB,KAAKi+B,UAAUnM,OAAOpB,UACrC1wB,KAAKmyC,QAAQr/C,KAAK,IAAIg+C,GAAgBxkB,EAASC,EAASM,IAG5D,GAAwC,IAApC7sB,KAAKi+B,UAAUnM,OAAOvB,UAAgC,CACtD,IAAM6hB,EAAY1B,GAAuB1wC,KAAK2wC,QACxC0B,EAAaxB,GAAwB7wC,KAAK2wC,QAE5CU,GAAUe,EAAWC,GACrBryC,KAAKmyC,QAAQr/C,KAAK,IAAIi+C,GAAWqB,EAAW,KAE5CpyC,KAAKmyC,QAAQr/C,KAAK,IAAIi+C,GAAWqB,EAAW,IAC5CpyC,KAAKmyC,QAAQr/C,KAAK,IAAIi+C,GAAWsB,EAAY,MAgC7D,OA3BIH,EAAAziD,UAAA6iD,WAAA,SAAWrJ,GAIP,IAHA,IAAIsJ,GAA0F,IAAjF,CAAC,EAAD,GAAoC1hD,QAAQmP,KAAKi+B,UAAUnM,OAAO1mC,UAC3E+sB,EAASnY,KAAKmY,OACZg6B,EAAUnyC,KAAKmyC,QAAQnhD,MAAM,GAC5BmnB,GAAQ,CACX,IAAMq6B,EAAkBr6B,EAAOg6B,QAAQp/C,QAAO,SAACm+C,GAAW,OAACC,GAAaD,EAAO,IAC/E,GAAIqB,GAA+C,IAArCp6B,EAAO8lB,UAAUnM,OAAO1mC,WAAiC+sB,EAAOA,QAG1E,GAFAg6B,EAAQjjD,QAAO0D,MAAfu/C,EAAmBK,GACnBD,GAA4F,IAAnF,CAAC,EAAD,GAAoC1hD,QAAQsnB,EAAO8lB,UAAUnM,OAAO1mC,UACnC,IAAtC+sB,EAAO8lB,UAAUnM,OAAOvB,UAAgC,CACxD,IAAM6hB,EAAY1B,GAAuBv4B,EAAOw4B,QAC1C0B,EAAaxB,GAAwB14B,EAAOw4B,QAC7CU,GAAUe,EAAWC,IACtBF,EAAQjjD,QACJ,IAAI6hD,GAAWsB,EAAY,UAKvCF,EAAQjjD,QAAO0D,MAAfu/C,EAAmBK,GAGvBr6B,EAASA,EAAOA,OAGpB,OAAOg6B,EAAQp/C,QAAO,SAACm+C,GAAW,OAAA1iB,GAAS0iB,EAAOjI,OAAQA,EAAO,KAEzEiJ,CAAA,CA1DA,GA4DMO,GAAiB,SAAjBA,EACFt6B,EACAu6B,EACAC,EACAC,GAEAz6B,EAAO8lB,UAAUpM,SAASz+B,SAAQ,SAAC+yC,GAC/B,IAAM0M,EAA6BrkB,GAAS2X,EAAMpyB,MAAO,GACnDqqB,EAAyB5P,GAAS2X,EAAMpyB,MAAO,GAC/C++B,EAAiB,IAAIZ,GAAa/L,EAAOhuB,GAC3CqW,GAAS2X,EAAMrU,OAAOrH,QAAS,OAC/BmoB,EAAU9/C,KAAKggD,GAGnB,IAAMC,EAAiBvkB,GAAS2X,EAAMpyB,MAAO,GAAuB,GAAK6+B,EAEzE,GAAIC,GAA8BzU,EAAwB,CACtD,IAAM4U,EACFH,GAA8B1M,EAAMrU,OAAOjB,eAAiB8hB,EAAsBD,EAEhFO,EAAQ,IAAIvB,GAAgBoB,GAElC,GAAI3M,EAAMrU,OAAOjB,gBAAkBsV,EAAMrU,OAAOhE,QAAU,GAAKqY,EAAMrU,OAAOlB,gBAAiB,CACzF,IAAMsiB,EAAQ/M,EAAMrU,OAAOpE,OAAOE,MAClC,GAAIslB,EAAQ,EAAG,CACX,IAAIC,EAAQ,EAEZH,EAAYnB,eAAe5f,MAAK,SAACrmB,EAAS7d,GACtC,OAAImlD,EAAQtnC,EAAQ4lB,QAAQyM,UAAUnM,OAAOpE,OAAOE,OAChDulB,EAAQplD,GACD,GACAolD,EAAQ,KAMvBH,EAAYnB,eAAe93C,OAAOo5C,EAAO,EAAGF,QACzC,GAAIC,EAAQ,EAAG,CAClB,IAAIE,EAAQ,EACZJ,EAAYjB,eAAe9f,MAAK,SAACrmB,EAAS7d,GACtC,OAAImlD,GAAStnC,EAAQ4lB,QAAQyM,UAAUnM,OAAOpE,OAAOE,OACjDwlB,EAAQrlD,EAAI,GACL,GACAqlD,EAAQ,KAMvBJ,EAAYjB,eAAeh4C,OAAOq5C,EAAO,EAAGH,QAE5CD,EAAYlB,uCAAuCh/C,KAAKmgD,QAGxD9M,EAAMrU,OAAOf,aACbiiB,EAAYhB,oBAAoBl/C,KAAKmgD,GAErCD,EAAYf,yBAAyBn/C,KAAKmgD,GAIlDR,EACIK,EACAG,EACAJ,EAA6BI,EAAQN,EACrCI,QAGA5M,EAAMrU,OAAOd,gBACb0hB,EAAgBf,YAAY7+C,KAAKggD,GAEjCJ,EAAgBd,eAAe9+C,KAAKggD,GAGxCL,EAAeK,EAAgBJ,EAAiBC,EAAqBI,GAGrEvkB,GAAS2X,EAAMpyB,MAAO,IACtBs/B,GAAiBlN,EAAO4M,KAGpC,EAEMM,GAAmB,SAACC,EAAyBzhB,GAG/C,IAFA,IAAI0hB,EAAYD,aAAiBxX,GAAqBwX,EAAMltC,MAAQ,EAC9D21B,EAAWuX,aAAiBxX,IAAqBwX,EAAMvX,SACpDhuC,EAAI,EAAGA,EAAI8jC,EAAS3jC,OAAQH,IAAK,CACtC,IAAMkC,EAAO4hC,EAAS9jC,GAElBkC,EAAKguC,qBAAqBpC,IACM,kBAAzB5rC,EAAKguC,UAAUt9B,OACG,IAAzB1Q,EAAKguC,UAAUt9B,QAEf4yC,EAAYtjD,EAAKguC,UAAUt9B,OAG/B1Q,EAAKujD,UAAY7S,GAAkB4S,EAAWtjD,EAAKguC,UAAUnM,OAAOxG,eAAe,GAEnFioB,GAAaxX,GAAY,EAAI,EAErC,EAEa0X,GAAwB,SAACxV,GAClC,IAAM6U,EAAiB,IAAIZ,GAAajU,EAAW,MAC7CR,EAAO,IAAIiU,GAAgBoB,GAC3BF,EAA4B,GAGlC,OAFAH,GAAeK,EAAgBrV,EAAMA,EAAMmV,GAC3CS,GAAiBP,EAAe7U,UAAW2U,GACpCnV,CACX,ECxMaiW,GAAqB,SAAC/C,EAAqBgD,GACpD,OAAQA,GACJ,KAAK,EACD,OAAOC,GACHjD,EAAOpB,iBACPoB,EAAOhB,kBACPgB,EAAOnB,kBACPmB,EAAOf,oBAEf,KAAK,EACD,OAAOgE,GACHjD,EAAOnB,kBACPmB,EAAOf,mBACPe,EAAOlB,qBACPkB,EAAOd,uBAEf,KAAK,EACD,OAAO+D,GACHjD,EAAOlB,qBACPkB,EAAOd,sBACPc,EAAOjB,oBACPiB,EAAOb,sBAGf,QACI,OAAO8D,GACHjD,EAAOjB,oBACPiB,EAAOb,qBACPa,EAAOpB,iBACPoB,EAAOhB,mBAGvB,EAEakE,GAAgC,SAAClD,EAAqBgD,GAC/D,OAAQA,GACJ,KAAK,EACD,OAAOC,GACHjD,EAAOpB,iBACPoB,EAAOrC,4BACPqC,EAAOnB,kBACPmB,EAAOlC,8BAEf,KAAK,EACD,OAAOmF,GACHjD,EAAOnB,kBACPmB,EAAOlC,6BACPkC,EAAOlB,qBACPkB,EAAOhC,iCAEf,KAAK,EACD,OAAOiF,GACHjD,EAAOlB,qBACPkB,EAAOhC,gCACPgC,EAAOjB,oBACPiB,EAAO9B,gCAGf,QACI,OAAO+E,GACHjD,EAAOjB,oBACPiB,EAAO9B,+BACP8B,EAAOpB,iBACPoB,EAAOrC,6BAGvB,EAEawF,GAAgC,SAACnD,EAAqBgD,GAC/D,OAAQA,GACJ,KAAK,EACD,OAAOC,GACHjD,EAAO5B,4BACP4B,EAAOhB,kBACPgB,EAAO3B,6BACP2B,EAAOf,oBAEf,KAAK,EACD,OAAOgE,GACHjD,EAAO3B,6BACP2B,EAAOf,mBACPe,EAAO1B,gCACP0B,EAAOd,uBAEf,KAAK,EACD,OAAO+D,GACHjD,EAAO1B,gCACP0B,EAAOd,sBACPc,EAAOzB,+BACPyB,EAAOb,sBAGf,QACI,OAAO8D,GACHjD,EAAOzB,+BACPyB,EAAOb,qBACPa,EAAO5B,4BACP4B,EAAOhB,mBAGvB,EAEaoE,GAA2B,SAACpD,EAAqBgD,GAC1D,OAAQA,GACJ,KAAK,EACD,OAAOK,GAA2BrD,EAAOxB,oBAAqBwB,EAAOvB,sBACzE,KAAK,EACD,OAAO4E,GAA2BrD,EAAOvB,qBAAsBuB,EAAOtB,yBAC1E,KAAK,EACD,OAAO2E,GAA2BrD,EAAOtB,wBAAyBsB,EAAOrB,wBAE7E,QACI,OAAO0E,GAA2BrD,EAAOrB,uBAAwBqB,EAAOxB,qBAEpF,EAEM6E,GAA6B,SAACC,EAAcC,GAC9C,IAAM1jD,EAAO,GAab,OAZI48C,GAAc6G,GACdzjD,EAAKsC,KAAKmhD,EAAOtH,UAAU,IAAK,IAEhCn8C,EAAKsC,KAAKmhD,GAGV7G,GAAc8G,GACd1jD,EAAKsC,KAAKohD,EAAOvH,UAAU,IAAK,IAEhCn8C,EAAKsC,KAAKohD,GAGP1jD,CACX,EAEMojD,GAAuB,SAACK,EAAcE,EAAcD,EAAcE,GACpE,IAAM5jD,EAAO,GAyBb,OAxBI48C,GAAc6G,GACdzjD,EAAKsC,KAAKmhD,EAAOtH,UAAU,IAAK,IAEhCn8C,EAAKsC,KAAKmhD,GAGV7G,GAAc8G,GACd1jD,EAAKsC,KAAKohD,EAAOvH,UAAU,IAAK,IAEhCn8C,EAAKsC,KAAKohD,GAGV9G,GAAcgH,GACd5jD,EAAKsC,KAAKshD,EAAOzH,UAAU,IAAK,GAAMQ,WAEtC38C,EAAKsC,KAAKshD,GAGVhH,GAAc+G,GACd3jD,EAAKsC,KAAKqhD,EAAOxH,UAAU,IAAK,GAAOQ,WAEvC38C,EAAKsC,KAAKqhD,GAGP3jD,CACX,EChKa6hD,GAAa,SAAC7gB,GACvB,IAAMU,EAASV,EAAQU,OACjBJ,EAASN,EAAQM,OACvB,OAAOI,EAAO7vB,IACVyvB,EAAOvH,gBACPuH,EAAO1H,iBACL0H,EAAOzH,iBAAmByH,EAAOvH,mBACjCuH,EAAO1H,eAAiB0H,EAAOxH,mBAEzC,EAEa+pB,GAAa,SAAC7iB,GACvB,IAAMM,EAASN,EAAQM,OACjBI,EAASV,EAAQU,OAEjBhG,EAAchU,GAAiB4Z,EAAO5F,YAAagG,EAAO/vB,OAC1D6pB,EAAe9T,GAAiB4Z,EAAO9F,aAAckG,EAAO/vB,OAC5D4pB,EAAa7T,GAAiB4Z,EAAO/F,WAAYmG,EAAO/vB,OACxD8pB,EAAgB/T,GAAiB4Z,EAAO7F,cAAeiG,EAAO/vB,OAEpE,OAAO+vB,EAAO7vB,IACV6pB,EAAc4F,EAAOvH,gBACrBwB,EAAa+F,EAAO1H,iBAClB0H,EAAOzH,iBAAmByH,EAAOvH,gBAAkB2B,EAAcF,KACjE8F,EAAO1H,eAAiB0H,EAAOxH,kBAAoByB,EAAaE,GAE1E,EClBaqoB,GAAqC,SAC9C1rB,EACA4I,GAEA,OAAyB,IAArB5I,EACO4I,EAAQU,OAGM,IAArBtJ,EACOyrB,GAAW7iB,GAGf6gB,GAAW7gB,EACtB,EAEa+iB,GAAkC,SAACvwB,EAAiCwN,GAC7E,OAAuB,IAAnBxN,EACOwN,EAAQU,OAGI,IAAnBlO,EACOqwB,GAAW7iB,GAGf6gB,GAAW7gB,EACtB,EAEagjB,GAA+B,SACxCvW,EACAnwC,EACA2mD,GAEA,IAAMC,EAA4BJ,GAC9BK,GAA2B1W,EAAUnM,OAAOlJ,iBAAkB96B,GAC9DmwC,GAGE2W,EAAyBL,GAC3BI,GAA2B1W,EAAUnM,OAAO9N,eAAgBl2B,GAC5DmwC,GAGE4W,EAAsBC,GACxBH,GAA2B1W,EAAUnM,OAAO7I,eAAgBn7B,GAC5D2mD,EACAC,GAGGK,EAAyBF,EAAmB,GAAjCG,EAAcH,EAAmB,GAE7CzpD,EAAW4sB,GACb28B,GAA2B1W,EAAUnM,OAAOjJ,mBAAoB/6B,GAChE4mD,EAA0BvyC,MAAQ4yC,EAClCL,EAA0BtyC,OAAS4yC,GAcvC,MAAO,CAXMC,GACTN,GAA2B1W,EAAUnM,OAAOhJ,iBAAkBh7B,GAC9D1C,EACAypD,EACAH,EACAE,GAGY5/C,KAAK8kB,MAAM46B,EAA0BxyC,KAAO9W,EAAS,IACrD4J,KAAK8kB,MAAM46B,EAA0BrpD,IAAMD,EAAS,IAEpC2pD,EAAWC,EAC/C,EAEaE,GAAS,SAACxhC,GAA6B,OAAAyD,GAAazD,IAAUA,EAAM/S,QAAU8nB,GAAgB0sB,IAAI,EAEzGC,GAAoB,SAACz0C,GAA0C,MAAiB,kBAAVA,CAAkB,EAEjFm0C,GAA0B,SACnChuB,EACAva,EACA2lB,OADCmJ,EAAc9uB,EAAA,GAAEgvB,EAAehvB,EAAA,GAAE8oC,EAAmB9oC,EAAA,GAG9CgY,EAAiBuC,EAAI,GAAdwuB,EAAUxuB,EAAI,GAE5B,IAAKvC,EACD,MAAO,CAAC,EAAG,GAGf,GAAI5M,GAAmB4M,IAAU+wB,GAAU39B,GAAmB29B,GAC1D,MAAO,CAACp9B,GAAiBqM,EAAO2N,EAAO/vB,OAAQ+V,GAAiBo9B,EAAQpjB,EAAO9vB,SAGnF,IAAMmzC,EAAyBH,GAAkBC,GAEjD,GAAIl+B,GAAaoN,KAAWA,EAAM5jB,QAAU8nB,GAAgBd,SAAWpD,EAAM5jB,QAAU8nB,GAAgBf,OACnG,OAAI0tB,GAAkBC,GACEnjB,EAAO/vB,MAAQ+vB,EAAO9vB,OAErBizC,KAAyB9wB,EAAM5jB,QAAU8nB,GAAgBf,OACxE,CAACwK,EAAO/vB,MAAO+vB,EAAO/vB,MAAQkzC,GAC9B,CAACnjB,EAAO9vB,OAASizC,EAAqBnjB,EAAO9vB,QAGhD,CAAC8vB,EAAO/vB,MAAO+vB,EAAO9vB,QAGjC,IAAMozC,EAAoBJ,GAAkB/Z,GACtCoa,EAAqBL,GAAkB7Z,GACvCma,EAAyBF,GAAqBC,EAGpD,GAAIP,GAAO3wB,MAAY+wB,GAAUJ,GAAOI,IAEpC,OAAIE,GAAqBC,EACd,CAACpa,EAA0BE,GAMjCga,GAA2BG,EAQ5BA,GAA0BH,EAOnB,CANOC,EACPna,EACAE,EAA8B8Z,EACtBI,EACRla,EACAF,EAA6Bga,GAQjC,CAFOG,EAAqBna,EAA4BnJ,EAAO/vB,MACvDszC,EAAsBla,EAA6BrJ,EAAO9vB,QApB9D,CAAC8vB,EAAO/vB,MAAO+vB,EAAO9vB,QA0BrC,GAAImzC,EAAwB,CACxB,IAAII,EAAQ,EACRC,EAAS,EAab,OAZIj+B,GAAmB4M,GACnBoxB,EAAQz9B,GAAiBqM,EAAO2N,EAAO/vB,OAChCwV,GAAmB29B,KAC1BM,EAAS19B,GAAiBo9B,EAAQpjB,EAAO9vB,SAGzC8yC,GAAO3wB,GACPoxB,EAAQC,EAAUP,EACVC,IAAUJ,GAAOI,KACzBM,EAASD,EAASN,GAGf,CAACM,EAAOC,GAQnB,IAAIzzC,EAAQ,KACRC,EAAS,KAsBb,GApBIuV,GAAmB4M,GACnBpiB,EAAQ+V,GAAiBqM,EAAO2N,EAAO/vB,OAChCmzC,GAAU39B,GAAmB29B,KACpClzC,EAAS8V,GAAiBo9B,EAAQpjB,EAAO9vB,SAG/B,OAAVD,GAAoBmzC,IAAUJ,GAAOI,KACrClzC,EACIozC,GAAqBC,EACdtzC,EAASk5B,EAA8BE,EACxCrJ,EAAO9vB,QAGN,OAAXA,GAAmB8yC,GAAO3wB,KAC1BpiB,EACIqzC,GAAqBC,EACdrzC,EAAUm5B,EAA+BF,EAC1CnJ,EAAO/vB,OAGP,OAAVA,GAA6B,OAAXC,EAClB,MAAO,CAACD,EAAOC,GAGnB,MAAM,IAAIvV,MAAM,kDACpB,EAEa8nD,GAA6B,SAAIh+B,EAAa7oB,GACvD,IAAM6S,EAAQgW,EAAO7oB,GACrB,MAAqB,qBAAV6S,EACAgW,EAAO,GAGXhW,CACX,EAEas0C,GAAgC,SACzCrf,EACArpB,EACA0N,EACAy6B,EACAE,OAHCn3C,EAAC8O,EAAA,GAAE7O,EAAC6O,EAAA,GACJpK,EAAK8X,EAAA,GAAE7X,EAAM6X,EAAA,GAId,OAAQ2b,GACJ,KAAK,EACD,MAAO,CACH,IAAIwW,GAAOp3C,KAAK8kB,MAAM46B,EAA0BxyC,MAAOlN,KAAK8kB,MAAM46B,EAA0BrpD,IAAMqS,IAClG,IAAI0uC,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOwyC,EAA0BvyC,OACtEnN,KAAK8kB,MAAM46B,EAA0BrpD,IAAMqS,IAE/C,IAAI0uC,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOwyC,EAA0BvyC,OACtEnN,KAAK8kB,MAAM1X,EAASsyC,EAA0BrpD,IAAMqS,IAExD,IAAI0uC,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,MACrClN,KAAK8kB,MAAM1X,EAASsyC,EAA0BrpD,IAAMqS,KAGhE,KAAK,EACD,MAAO,CACH,IAAI0uC,GAAOp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,GAAIzI,KAAK8kB,MAAM46B,EAA0BrpD,MAChG,IAAI+gD,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,EAAI0E,GAChDnN,KAAK8kB,MAAM46B,EAA0BrpD,MAEzC,IAAI+gD,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,EAAI0E,GAChDnN,KAAK8kB,MAAM46B,EAA0BtyC,OAASsyC,EAA0BrpD,MAE5E,IAAI+gD,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,GAC5CzI,KAAK8kB,MAAM46B,EAA0BtyC,OAASsyC,EAA0BrpD,OAGpF,KAAK,EACD,MAAO,CACH,IAAI+gD,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,GAC5CzI,KAAK8kB,MAAM46B,EAA0BrpD,IAAMqS,IAE/C,IAAI0uC,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,EAAI0E,GAChDnN,KAAK8kB,MAAM46B,EAA0BrpD,IAAMqS,IAE/C,IAAI0uC,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,EAAI0E,GAChDnN,KAAK8kB,MAAM46B,EAA0BrpD,IAAMqS,EAAI0E,IAEnD,IAAIgqC,GACAp3C,KAAK8kB,MAAM46B,EAA0BxyC,KAAOzE,GAC5CzI,KAAK8kB,MAAM46B,EAA0BrpD,IAAMqS,EAAI0E,KAG3D,QACI,MAAO,CACH,IAAIgqC,GAAOp3C,KAAK8kB,MAAM86B,EAAuB1yC,MAAOlN,KAAK8kB,MAAM86B,EAAuBvpD,MACtF,IAAI+gD,GACAp3C,KAAK8kB,MAAM86B,EAAuB1yC,KAAO0yC,EAAuBzyC,OAChEnN,KAAK8kB,MAAM86B,EAAuBvpD,MAEtC,IAAI+gD,GACAp3C,KAAK8kB,MAAM86B,EAAuB1yC,KAAO0yC,EAAuBzyC,OAChEnN,KAAK8kB,MAAM86B,EAAuBxyC,OAASwyC,EAAuBvpD,MAEtE,IAAI+gD,GACAp3C,KAAK8kB,MAAM86B,EAAuB1yC,MAClClN,KAAK8kB,MAAM86B,EAAuBxyC,OAASwyC,EAAuBvpD,OAItF,ECtSawqD,GAAc,iFCMrBC,GAAc,cAEpBC,GAAA,WAII,SAAAA,EAAYnrD,GACRoV,KAAKg2C,MAAQ,CAAC,EACdh2C,KAAKi2C,UAAYrrD,EAyDzB,OAtDYmrD,EAAAtmD,UAAAymD,aAAR,SAAqBhoB,EAAoB/C,GACrC,IAAM8S,EAAYj+B,KAAKi2C,UAAUlrD,cAAc,OACzC4rC,EAAM32B,KAAKi2C,UAAUlrD,cAAc,OACnCorD,EAAOn2C,KAAKi2C,UAAUlrD,cAAc,QAEpCyB,EAAOwT,KAAKi2C,UAAUzpD,KAE5ByxC,EAAU/yC,MAAMqiC,WAAa,SAC7B0Q,EAAU/yC,MAAMgjC,WAAaA,EAC7B+P,EAAU/yC,MAAMigC,SAAWA,EAC3B8S,EAAU/yC,MAAMkrD,OAAS,IACzBnY,EAAU/yC,MAAMmrD,QAAU,IAC1BpY,EAAU/yC,MAAMK,WAAa,SAE7BiB,EAAKC,YAAYwxC,GAEjBtH,EAAII,IAAM8e,GACVlf,EAAIx0B,MAAQ,EACZw0B,EAAIv0B,OAAS,EAEbu0B,EAAIzrC,MAAMkrD,OAAS,IACnBzf,EAAIzrC,MAAMmrD,QAAU,IACpB1f,EAAIzrC,MAAMorD,cAAgB,WAE1BH,EAAKjrD,MAAMgjC,WAAaA,EACxBioB,EAAKjrD,MAAMigC,SAAWA,EACtBgrB,EAAKjrD,MAAMkrD,OAAS,IACpBD,EAAKjrD,MAAMmrD,QAAU,IAErBF,EAAK1pD,YAAYuT,KAAKi2C,UAAUxP,eAAeqP,KAC/C7X,EAAUxxC,YAAY0pD,GACtBlY,EAAUxxC,YAAYkqC,GACtB,IAAM4f,EAAW5f,EAAI6f,UAAYL,EAAKK,UAAY,EAElDvY,EAAUzwC,YAAY2oD,GACtBlY,EAAUxxC,YAAYuT,KAAKi2C,UAAUxP,eAAeqP,KAEpD7X,EAAU/yC,MAAM+/B,WAAa,SAC7B0L,EAAIzrC,MAAMorD,cAAgB,QAE1B,IAAMG,EAAS9f,EAAI6f,UAAYvY,EAAUuY,UAAY,EAIrD,OAFAhqD,EAAKgB,YAAYywC,GAEV,CAACsY,SAAQA,EAAEE,OAAMA,IAE5BV,EAAAtmD,UAAAinD,WAAA,SAAWxoB,EAAoB/C,GAC3B,IAAM76B,EAAS49B,EAAU,IAAI/C,EAK7B,MAJ+B,qBAApBnrB,KAAKg2C,MAAM1lD,KAClB0P,KAAKg2C,MAAM1lD,GAAO0P,KAAKk2C,aAAahoB,EAAY/C,IAG7CnrB,KAAKg2C,MAAM1lD,IAE1BylD,CAAA,CA/DA,GCLAY,GAAA,WACI,SAAAA,EAA+Bp0C,EAAqCnY,GAArC,KAAAmY,QAAAA,EAAqC,KAAAnY,QAAAA,EACxE,OAAAusD,CAAA,CAFA,GCyDMC,GAAc,IAEpBC,GAAA,SAAA3b,GAMI,SAAA2b,EAAYt0C,EAAkBnY,GAA9B,IAAA+wC,EACID,EAAAxrC,KAAA,KAAM6S,EAASnY,IAAQ,YAJV+wC,EAAA2b,eAAmC,GAKhD3b,EAAKvE,OAASxsC,EAAQwsC,OAASxsC,EAAQwsC,OAAShsC,SAASG,cAAc,UACvEowC,EAAKtE,IAAMsE,EAAKvE,OAAOE,WAAW,MAC7B1sC,EAAQwsC,SACTuE,EAAKvE,OAAOz0B,MAAQnN,KAAKqsC,MAAMj3C,EAAQ+X,MAAQ/X,EAAQ2sD,OACvD5b,EAAKvE,OAAOx0B,OAASpN,KAAKqsC,MAAMj3C,EAAQgY,OAAShY,EAAQ2sD,OACzD5b,EAAKvE,OAAO1rC,MAAMiX,MAAW/X,EAAQ+X,MAAK,KAC1Cg5B,EAAKvE,OAAO1rC,MAAMkX,OAAYhY,EAAQgY,OAAM,MAEhD+4B,EAAK6b,YAAc,IAAIjB,GAAYnrD,UACnCuwC,EAAKtE,IAAIkgB,MAAM5b,EAAK/wC,QAAQ2sD,MAAO5b,EAAK/wC,QAAQ2sD,OAChD5b,EAAKtE,IAAIogB,WAAW7sD,EAAQqT,GAAIrT,EAAQsT,GACxCy9B,EAAKtE,IAAIqgB,aAAe,SACxB/b,EAAK2b,eAAiB,GACtB3b,EAAK54B,QAAQshC,OAAOx5C,MAChB,gCAAgCD,EAAQ+X,MAAK,IAAI/X,EAAQgY,OAAM,gBAAgBhY,EAAQ2sD,SA0zBnG,OAh1BoCn3C,EAAAi3C,EAAA3b,GA0BhC2b,EAAApnD,UAAA0nD,aAAA,SAAahF,GACT,IADJ,IAAAhX,EAAA,KACWn7B,KAAK82C,eAAe5oD,QACvB8R,KAAKo3C,YAGTjF,EAAQ/+C,SAAQ,SAAC89C,GAAW,OAAA/V,EAAKkc,YAAYnG,EAAO,KAGxD2F,EAAApnD,UAAA4nD,YAAA,SAAYnG,GACRlxC,KAAK62B,IAAIygB,OACLlG,GAAgBF,KAChBlxC,KAAK62B,IAAI0gB,YAAcrG,EAAOpjB,SAG9BmjB,GAAkBC,KAClBlxC,KAAK62B,IAAIogB,UAAU/F,EAAO5kB,QAAS4kB,EAAO3kB,SAC1CvsB,KAAK62B,IAAInG,UACLwgB,EAAOrkB,OAAO,GACdqkB,EAAOrkB,OAAO,GACdqkB,EAAOrkB,OAAO,GACdqkB,EAAOrkB,OAAO,GACdqkB,EAAOrkB,OAAO,GACdqkB,EAAOrkB,OAAO,IAElB7sB,KAAK62B,IAAIogB,WAAW/F,EAAO5kB,SAAU4kB,EAAO3kB,UAG5C4kB,GAAaD,KACblxC,KAAKxP,KAAK0gD,EAAO1gD,MACjBwP,KAAK62B,IAAIvrC,QAGb0U,KAAK82C,eAAehkD,KAAKo+C,IAG7B2F,EAAApnD,UAAA2nD,UAAA,WACIp3C,KAAK82C,eAAe3oD,MACpB6R,KAAK62B,IAAI2gB,WAGPX,EAAApnD,UAAAgoD,YAAN,SAAkBxE,oGACCA,EAAMzhB,QAAQyM,UAAUnM,OAC5BnB,YACP,GAAM3wB,KAAK03C,mBAAmBzE,IAD9B,aACA1mC,EAAA/K,0CAIFq1C,EAAApnD,UAAAkoD,WAAN,SAAiBC,oGACTppB,GAASopB,EAAM3Z,UAAUlqB,MAAO,IAIhC6jC,EAAM3Z,UAAUnM,OAAOnB,YACvB,GAAM3wB,KAAK63C,+BAA+BD,IAD1C,aAEA,OADArrC,EAAA/K,OACA,GAAMxB,KAAK83C,kBAAkBF,WAA7BrrC,EAAA/K,0CAIRq1C,EAAApnD,UAAAsoD,4BAAA,SAA4B5tD,EAAkB0gC,EAAuB0rB,GAArE,IAAApb,EAAA,KAC0B,IAAlBtQ,EACA7qB,KAAK62B,IAAImhB,SAAS7tD,EAAKA,KAAMA,EAAK+nC,OAAOhwB,KAAM/X,EAAK+nC,OAAO7mC,IAAMkrD,GAEjD9c,GAAiBtvC,EAAKA,MAC9Bg8B,QAAO,SAACjkB,EAAM+1C,GAGlB,OAFA9c,EAAKtE,IAAImhB,SAASC,EAAQ/1C,EAAM/X,EAAK+nC,OAAO7mC,IAAMkrD,GAE3Cr0C,EAAOi5B,EAAKtE,IAAIqhB,YAAYD,GAAQ91C,QAC5ChY,EAAK+nC,OAAOhwB,OAIf20C,EAAApnD,UAAA0oD,gBAAR,SAAwBrmB,GACpB,IAAMxD,EAAcwD,EAAOxD,YACtBv7B,QAAO,SAACqlD,GAAY,MAAY,WAAZA,GAAoC,eAAZA,CAAwB,IACpEhpD,KAAK,IACJ8+B,EAAamqB,GAAkBvmB,EAAO5D,YAAY9+B,KAAK,MACvD+7B,EAAWlU,GAAiB6a,EAAO3G,UACnC,GAAG2G,EAAO3G,SAAStV,OAASic,EAAO3G,SAASrV,KACzCgc,EAAO3G,SAAStV,OAAM,KAE/B,MAAO,CACH,CAACic,EAAOvD,UAAWD,EAAawD,EAAOzD,WAAYlD,EAAU+C,GAAY9+B,KAAK,KAC9E8+B,EACA/C,IAIF0rB,EAAApnD,UAAA6oD,eAAN,SAAqBnuD,EAAqB2nC,wGAChCvlB,EAA+BvM,KAAKm4C,gBAAgBrmB,GAAnDymB,EAAIhsC,EAAA,GAAE2hB,EAAU3hB,EAAA,GAAE4e,EAAQ5e,EAAA,GAEjCvM,KAAK62B,IAAI0hB,KAAOA,EAEhBv4C,KAAK62B,IAAIrM,UAAiC,IAArBsH,EAAOtH,UAA8B,MAAQ,MAClExqB,KAAK62B,IAAI1K,UAAY,OACrBnsB,KAAK62B,IAAIqgB,aAAe,aAClBj9B,EAAqBja,KAAKg3C,YAAYN,WAAWxoB,EAAY/C,GAA5DorB,EAAQt8B,EAAAs8B,SAAEE,EAAMx8B,EAAAw8B,OACjB3mB,EAAagC,EAAOhC,WAE1B3lC,EAAKivC,WAAWhmC,SAAQ,SAACjJ,GACrB2lC,EAAW18B,SAAQ,SAAColD,GAChB,OAAQA,GACJ,KAAK,EACDrd,EAAKtE,IAAIO,UAAY3d,GAASqY,EAAOtY,OACrC2hB,EAAK4c,4BAA4B5tD,EAAM2nC,EAAOjH,cAAe0rB,GAC7D,IAAMkC,EAA0B3mB,EAAO1F,WAEnCqsB,EAAYvqD,QAAU/D,EAAKA,KAAKkvC,OAAOnrC,SACvCuqD,EACKznD,MAAM,GACNm8C,UACA/5C,SAAQ,SAACg5B,GACN+O,EAAKtE,IAAI6hB,YAAcj/B,GAAS2S,EAAW5S,OAC3C2hB,EAAKtE,IAAI8hB,cAAgBvsB,EAAWE,QAAQzW,OAASslB,EAAK/wC,QAAQ2sD,MAClE5b,EAAKtE,IAAI+hB,cAAgBxsB,EAAWG,QAAQ1W,OAASslB,EAAK/wC,QAAQ2sD,MAClE5b,EAAKtE,IAAIgiB,WAAazsB,EAAWI,KAAK3W,OAEtCslB,EAAK4c,4BAA4B5tD,EAAM2nC,EAAOjH,cAAe0rB,MAGrEpb,EAAKtE,IAAI6hB,YAAc,GACvBvd,EAAKtE,IAAI8hB,cAAgB,EACzBxd,EAAKtE,IAAI+hB,cAAgB,EACzBzd,EAAKtE,IAAIgiB,WAAa,GAGtB/mB,EAAO9D,mBAAmB9/B,SAC1BitC,EAAKtE,IAAIO,UAAY3d,GAASqY,EAAO/D,qBAAuB+D,EAAOtY,OACnEsY,EAAO9D,mBAAmB56B,SAAQ,SAAC46B,GAC/B,OAAQA,GACJ,KAAK,EAIDmN,EAAKtE,IAAIQ,SACLltC,EAAK+nC,OAAOhwB,KACZlN,KAAK8kB,MAAM3vB,EAAK+nC,OAAO7mC,IAAMkrD,GAC7BpsD,EAAK+nC,OAAO/vB,MACZ,GAGJ,MACJ,KAAK,EACDg5B,EAAKtE,IAAIQ,SACLltC,EAAK+nC,OAAOhwB,KACZlN,KAAK8kB,MAAM3vB,EAAK+nC,OAAO7mC,KACvBlB,EAAK+nC,OAAO/vB,MACZ,GAEJ,MACJ,KAAK,EAEDg5B,EAAKtE,IAAIQ,SACLltC,EAAK+nC,OAAOhwB,KACZlN,KAAK+R,KAAK5c,EAAK+nC,OAAO7mC,IAAMorD,GAC5BtsD,EAAK+nC,OAAO/vB,MACZ,QAMpB,MACJ,KAAK,EACG2vB,EAAO7B,uBAAyB9lC,EAAKA,KAAKkvC,OAAOnrC,SACjDitC,EAAKtE,IAAIiiB,YAAcr/B,GAASqY,EAAO9B,uBACvCmL,EAAKtE,IAAIkiB,UAAYjnB,EAAO7B,sBAE5BkL,EAAKtE,IAAImiB,SAAc5sD,OAAe6sD,OAAS,QAAU,QACzD9d,EAAKtE,IAAIqiB,WAAW/uD,EAAKA,KAAMA,EAAK+nC,OAAOhwB,KAAM/X,EAAK+nC,OAAO7mC,IAAMkrD,IAEvEpb,EAAKtE,IAAIiiB,YAAc,GACvB3d,EAAKtE,IAAIkiB,UAAY,EACrB5d,EAAKtE,IAAImiB,SAAW,0BAOxCnC,EAAApnD,UAAA0pD,sBAAA,SACIlb,EACA0S,EACAzoB,GAEA,GAAIA,GAAS+V,EAAU5C,eAAiB,GAAK4C,EAAU1C,gBAAkB,EAAG,CACxE,IAAM6d,EAAM/E,GAAWpW,GACjBztC,EAAOqgD,GAAwBF,GACrC3wC,KAAKxP,KAAKA,GACVwP,KAAK62B,IAAIygB,OACTt3C,KAAK62B,IAAIvrC,OACT0U,KAAK62B,IAAIG,UACL9O,EACA,EACA,EACA+V,EAAU5C,eACV4C,EAAU1C,gBACV6d,EAAIl3C,KACJk3C,EAAI/tD,IACJ+tD,EAAIj3C,MACJi3C,EAAIh3C,QAERpC,KAAK62B,IAAI2gB,YAIXX,EAAApnD,UAAAqoD,kBAAN,SAAwBF,qIACpB53C,KAAKm3C,aAAaS,EAAMtF,WAAW,IAC7BrU,EAAY2Z,EAAM3Z,UAClB0S,EAASiH,EAAMjH,OACf7e,EAASmM,EAAUnM,WACLvlB,EAAA0xB,EAAUrM,kCAAV3tB,EAAAsI,EAAAre,QAATi4C,EAAK55B,EAAAtI,GACZ,GAAMjE,KAAKs4C,eAAenS,EAAOrU,KADE,aACnC4b,EAAAlsC,+BADgByC,sBAIhBg6B,aAAqBhD,IAArB,6BAEkB,gCAAMj7B,KAAKuC,QAAQ6lB,MAAMyiB,MAAM5M,EAAUlH,oBAAjD7O,EAAQwlB,EAAAlsC,OACdxB,KAAKm5C,sBAAsBlb,EAAW0S,EAAQzoB,gCAE9CloB,KAAKuC,QAAQshC,OAAO92C,MAAM,uBAAuBkxC,EAAUlH,qBAI/DkH,aAAqBxC,IACrBz7B,KAAKm5C,sBAAsBlb,EAAW0S,EAAQ1S,EAAUrH,UAGxDqH,aAAqBvC,IAArB,8BAEkB,kCAAM17B,KAAKuC,QAAQ6lB,MAAMyiB,MAAM5M,EAAU1G,qBAAjDrP,EAAQwlB,EAAAlsC,OACdxB,KAAKm5C,sBAAsBlb,EAAW0S,EAAQzoB,kCAE9CloB,KAAKuC,QAAQshC,OAAO92C,MAAM,qBAAqBkxC,EAAU1G,IAAIv/B,UAAU,EAAG,4BAI9EimC,aAAqBjB,IAA0BiB,EAAUd,KAU1C,GATQ,IAAI0Z,EAAe72C,KAAKuC,QAAS,CACpDw0C,MAAO/2C,KAAK5V,QAAQ2sD,MACpB9yB,gBAAiBga,EAAUha,gBAC3BxmB,EAAG,EACHC,EAAG,EACHyE,MAAO87B,EAAU97B,MACjBC,OAAQ67B,EAAU77B,SAGc1G,OAAOuiC,EAAUd,OAVrD,eAUMvG,EAAS8W,EAAAlsC,OACXy8B,EAAU97B,OAAS87B,EAAU77B,QAC7BpC,KAAK62B,IAAIG,UACLJ,EACA,EACA,EACAqH,EAAU97B,MACV87B,EAAU77B,OACV67B,EAAU/L,OAAOhwB,KACjB+7B,EAAU/L,OAAO7mC,IACjB4yC,EAAU/L,OAAO/vB,MACjB87B,EAAU/L,OAAO9vB,2BA4C7B,GAvCI67B,aAAqBxB,KACf3V,EAAO9xB,KAAKmE,IAAI8kC,EAAU/L,OAAO/vB,MAAO87B,EAAU/L,OAAO9vB,QAE3D67B,EAAUpjC,OAASyhC,GACf2B,EAAUtB,UACV38B,KAAK62B,IAAIygB,OACTt3C,KAAKxP,KAAK,CACN,IAAI47C,GAAOnO,EAAU/L,OAAOhwB,KAAc,OAAP4kB,EAAgBmX,EAAU/L,OAAO7mC,IAAa,IAAPy7B,GAC1E,IAAIslB,GAAOnO,EAAU/L,OAAOhwB,KAAc,IAAP4kB,EAAamX,EAAU/L,OAAO7mC,IAAa,MAAPy7B,GACvE,IAAIslB,GAAOnO,EAAU/L,OAAOhwB,KAAc,OAAP4kB,EAAgBmX,EAAU/L,OAAO7mC,IAAa,OAAPy7B,GAC1E,IAAIslB,GAAOnO,EAAU/L,OAAOhwB,KAAc,OAAP4kB,EAAgBmX,EAAU/L,OAAO7mC,IAAa,MAAPy7B,GAC1E,IAAIslB,GAAOnO,EAAU/L,OAAOhwB,KAAc,OAAP4kB,EAAgBmX,EAAU/L,OAAO7mC,IAAa,IAAPy7B,GAC1E,IAAIslB,GAAOnO,EAAU/L,OAAOhwB,KAAc,IAAP4kB,EAAamX,EAAU/L,OAAO7mC,IAAa,OAAPy7B,GACvE,IAAIslB,GAAOnO,EAAU/L,OAAOhwB,KAAc,OAAP4kB,EAAgBmX,EAAU/L,OAAO7mC,IAAa,IAAPy7B,KAG9E9mB,KAAK62B,IAAIO,UAAY3d,GAAS+iB,IAC9Bx8B,KAAK62B,IAAIwiB,OACTr5C,KAAK62B,IAAI2gB,WAENvZ,EAAUpjC,OAAS0hC,IACtB0B,EAAUtB,UACV38B,KAAK62B,IAAIygB,OACTt3C,KAAK62B,IAAIyiB,YACTt5C,KAAK62B,IAAI0iB,IACLtb,EAAU/L,OAAOhwB,KAAO4kB,EAAO,EAC/BmX,EAAU/L,OAAO7mC,IAAMy7B,EAAO,EAC9BA,EAAO,EACP,EACU,EAAV9xB,KAAK2jB,IACL,GAEJ3Y,KAAK62B,IAAIO,UAAY3d,GAAS+iB,IAC9Bx8B,KAAK62B,IAAIwiB,OACTr5C,KAAK62B,IAAI2gB,YAKjBgC,GAAmBvb,IAAcA,EAAUt9B,MAAMzS,OAAQ,CAczD,OAbM+rB,EAAyBja,KAAKm4C,gBAAgBrmB,GAA7C5D,EAAUjU,EAAA,GAAEkR,EAAQlR,EAAA,GACpBs8B,EAAYv2C,KAAKg3C,YAAYN,WAAWxoB,EAAY/C,GAASorB,SAEpEv2C,KAAK62B,IAAI0hB,KAAOrqB,EAChBluB,KAAK62B,IAAIO,UAAY3d,GAASqY,EAAOtY,OAErCxZ,KAAK62B,IAAIqgB,aAAe,aACxBl3C,KAAK62B,IAAI1K,UAAYstB,GAAgBxb,EAAUnM,OAAO3F,WAEhD+F,EAASmiB,GAAWpW,GAEtBxgC,EAAI,EAEAwgC,EAAUnM,OAAO3F,WACrB,KAAK,EACD1uB,GAAKy0B,EAAO/vB,MAAQ,EACpB,MACJ,KAAK,EACD1E,GAAKy0B,EAAO/vB,MAIdi3B,EAAalH,EAAO7vB,IAAI5E,EAAG,EAAG,GAAIy0B,EAAO9vB,OAAS,EAAI,GAE5DpC,KAAK62B,IAAIygB,OACTt3C,KAAKxP,KAAK,CACN,IAAI47C,GAAOla,EAAOhwB,KAAMgwB,EAAO7mC,KAC/B,IAAI+gD,GAAOla,EAAOhwB,KAAOgwB,EAAO/vB,MAAO+vB,EAAO7mC,KAC9C,IAAI+gD,GAAOla,EAAOhwB,KAAOgwB,EAAO/vB,MAAO+vB,EAAO7mC,IAAM6mC,EAAO9vB,QAC3D,IAAIgqC,GAAOla,EAAOhwB,KAAMgwB,EAAO7mC,IAAM6mC,EAAO9vB,UAGhDpC,KAAK62B,IAAIvrC,OACT0U,KAAK+3C,4BACD,IAAI9e,GAAWgF,EAAUt9B,MAAOy4B,GAChCtH,EAAOjH,cACP0rB,GAEJv2C,KAAK62B,IAAI2gB,UACTx3C,KAAK62B,IAAIqgB,aAAe,aACxBl3C,KAAK62B,IAAI1K,UAAY,WAGrBqC,GAASyP,EAAUnM,OAAOrH,QAAS,MAAnC,gBACwC,OAApCwT,EAAUnM,OAAO1G,eAAjB,gBAEiB,KADXuL,EAAMsH,EAAUnM,OAAO1G,gBACrBvwB,KAAJ,aACIqtB,OAAK,EACHpwB,EAAO6+B,EAAoB7+B,uBAErB,mCAAMkI,KAAKuC,QAAQ6lB,MAAMyiB,MAAM/yC,mBAAvCowB,EAAQwlB,EAAAlsC,OACRxB,KAAK62B,IAAIG,UAAU9O,EAAO+V,EAAU/L,OAAOhwB,MAAQgmB,EAAM/lB,MAAQ,IAAK87B,EAAU/L,OAAO7mC,oCAEvF2U,KAAKuC,QAAQshC,OAAO92C,MAAM,kCAAkC+K,uCAG7D8/C,EAAMpE,YAA2C,IAA9BvV,EAAUnM,OAAOxG,gBACpC4C,EAAcluB,KAAKm4C,gBAAgBrmB,GAAO,GAEjD9xB,KAAK62B,IAAI0hB,KAAOrqB,EAChBluB,KAAK62B,IAAIO,UAAY3d,GAASqY,EAAOtY,OAErCxZ,KAAK62B,IAAIqgB,aAAe,SACxBl3C,KAAK62B,IAAI1K,UAAY,QACf+F,EAAS,IAAIjwB,EACfg8B,EAAU/L,OAAOhwB,KACjB+7B,EAAU/L,OAAO7mC,IAAM6sB,GAAiB+lB,EAAUnM,OAAO/F,WAAYkS,EAAU/L,OAAO/vB,OACtF87B,EAAU/L,OAAO/vB,MACjB+oB,GAAkB4G,EAAO7G,WAAY6G,EAAO3G,SAAStV,QAAU,EAAI,GAGvE7V,KAAK+3C,4BACD,IAAI9e,GAAW2e,EAAMpE,UAAWthB,GAChCJ,EAAOjH,cACPK,GAAkB4G,EAAO7G,WAAY6G,EAAO3G,SAAStV,QAAU,EAAI,GAEvE7V,KAAK62B,IAAIqgB,aAAe,SACxBl3C,KAAK62B,IAAI1K,UAAY,6CAK3B0qB,EAAApnD,UAAAioD,mBAAN,SAAyBzE,+HAMrB,OALIzkB,GAASykB,EAAMzhB,QAAQyM,UAAUlqB,MAAO,IAK5C,GAAM/T,KAAK63C,+BAA+B5E,EAAMzhB,iBAAhDkoB,EAAAl4C,WAEoB+K,EAAA0mC,EAAMpB,uCAAN5tC,EAAAsI,EAAAre,QAATi4C,EAAK55B,EAAAtI,GACZ,GAAMjE,KAAKy3C,YAAYtR,KADa,aACpCuT,EAAAl4C,+BADgByC,iBAIpB,SAAMjE,KAAK83C,kBAAkB7E,EAAMzhB,iBAAnCkoB,EAAAl4C,WAEoBksC,EAAAuF,EAAMrB,uCAAN33B,EAAAyzB,EAAAx/C,QAATi4C,EAAKuH,EAAAzzB,GACZ,GAAMja,KAAK23C,WAAWxR,KADc,cACpCuT,EAAAl4C,+BADgByY,sBAOA0/B,EAAA1G,EAAMjB,8CAANnE,EAAA8L,EAAAzrD,QAATi4C,EAAKwT,EAAA9L,GACZ,GAAM7tC,KAAKy3C,YAAYtR,KADkB,eACzCuT,EAAAl4C,iCADgBqsC,uBAIA+L,EAAA3G,EAAMhB,mDAAN4H,EAAAD,EAAA1rD,QAATi4C,EAAKyT,EAAAC,GACZ,GAAM75C,KAAKy3C,YAAYtR,KADuB,eAC9CuT,EAAAl4C,iCADgBq4C,uBAGAC,EAAA7G,EAAMtB,sCAANoI,EAAAD,EAAA5rD,QAATi4C,EAAK2T,EAAAC,GACZ,GAAM/5C,KAAK23C,WAAWxR,KADW,eACjCuT,EAAAl4C,iCADgBu4C,uBAaAC,EAAA/G,EAAMnB,iEAANmI,EAAAD,EAAA9rD,QAATi4C,EAAK6T,EAAAC,GACZ,GAAMj6C,KAAKy3C,YAAYtR,KADqC,eAC5DuT,EAAAl4C,iCADgBy4C,uBAKAC,EAAAjH,EAAMlB,yCAANoI,EAAAD,EAAAhsD,QAATi4C,EAAK+T,EAAAC,GACZ,GAAMn6C,KAAKy3C,YAAYtR,KADa,eACpCuT,EAAAl4C,iCADgB24C,qCAKxBtD,EAAApnD,UAAA2qD,KAAA,SAAKC,GACDr6C,KAAK62B,IAAIyiB,YACTt5C,KAAK62B,IAAIyjB,OAAO,EAAG,GACnBt6C,KAAK62B,IAAI0jB,OAAOv6C,KAAK42B,OAAOz0B,MAAO,GACnCnC,KAAK62B,IAAI0jB,OAAOv6C,KAAK42B,OAAOz0B,MAAOnC,KAAK42B,OAAOx0B,QAC/CpC,KAAK62B,IAAI0jB,OAAO,EAAGv6C,KAAK42B,OAAOx0B,QAC/BpC,KAAK62B,IAAI0jB,OAAO,EAAG,GACnBv6C,KAAKw6C,WAAWH,EAAMrpD,MAAM,GAAGm8C,WAC/BntC,KAAK62B,IAAI4jB,aAGb5D,EAAApnD,UAAAe,KAAA,SAAK6pD,GACDr6C,KAAK62B,IAAIyiB,YACTt5C,KAAKw6C,WAAWH,GAChBr6C,KAAK62B,IAAI4jB,aAGb5D,EAAApnD,UAAA+qD,WAAA,SAAWH,GAAX,IAAAlf,EAAA,KACIkf,EAAMjnD,SAAQ,SAACq+C,EAAO3jD,GAClB,IAAMsY,EAAgBgnC,GAAcqE,GAASA,EAAMrrC,MAAQqrC,EAC7C,IAAV3jD,EACAqtC,EAAKtE,IAAIyjB,OAAOl0C,EAAM3I,EAAG2I,EAAM1I,GAE/By9B,EAAKtE,IAAI0jB,OAAOn0C,EAAM3I,EAAG2I,EAAM1I,GAG/B0vC,GAAcqE,IACdtW,EAAKtE,IAAI6jB,cACLjJ,EAAMhF,aAAahvC,EACnBg0C,EAAMhF,aAAa/uC,EACnB+zC,EAAM/E,WAAWjvC,EACjBg0C,EAAM/E,WAAWhvC,EACjB+zC,EAAMprC,IAAI5I,EACVg0C,EAAMprC,IAAI3I,OAM1Bm5C,EAAApnD,UAAAkrD,aAAA,SAAanqD,EAAcoqD,EAAyCtuB,EAAiBC,GACjFvsB,KAAKxP,KAAKA,GACVwP,KAAK62B,IAAIO,UAAYwjB,EACrB56C,KAAK62B,IAAIogB,UAAU3qB,EAASC,GAC5BvsB,KAAK62B,IAAIwiB,OACTr5C,KAAK62B,IAAIogB,WAAW3qB,GAAUC,IAGlCsqB,EAAApnD,UAAAorD,YAAA,SAAY3yB,EAAyB/lB,EAAeC,SAChD,GAAI8lB,EAAM/lB,QAAUA,GAAS+lB,EAAM9lB,SAAWA,EAC1C,OAAO8lB,EAGX,IACM0O,GADyC,QAAzBrqB,EAAAvM,KAAK42B,OAAOmD,qBAAa,IAAAxtB,EAAAA,EAAI3hB,UACtBG,cAAc,UAK3C,OAJA6rC,EAAOz0B,MAAQnN,KAAKoE,IAAI,EAAG+I,GAC3By0B,EAAOx0B,OAASpN,KAAKoE,IAAI,EAAGgJ,GAChBw0B,EAAOE,WAAW,MAC1BE,UAAU9O,EAAO,EAAG,EAAGA,EAAM/lB,MAAO+lB,EAAM9lB,OAAQ,EAAG,EAAGD,EAAOC,GAC5Dw0B,GAGLigB,EAAApnD,UAAAqrD,sBAAN,SAA4B7c,6GACpBnwC,EAAQmwC,EAAUnM,OAAOnJ,gBAAgBz6B,OAAS,aAC3Cy6B,0HACsB,IAAzBA,EAAgB9tB,KAAhB,YACIqtB,OAAK,EACHpwB,EAAO6wB,EAAgC7wB,qBAEjC,gCAAMijD,EAAKx4C,QAAQ6lB,MAAMyiB,MAAM/yC,kBAAvCowB,EAAQ6xB,EAAAv4C,oCAERu5C,EAAKx4C,QAAQshC,OAAO92C,MAAM,kCAAkC+K,uBAG5DowB,IACMwlB,EAA8B8G,GAA6BvW,EAAWnwC,EAAO,CAC/Eo6B,EAAM/lB,MACN+lB,EAAM9lB,OACN8lB,EAAM/lB,MAAQ+lB,EAAM9lB,SAHjB5R,EAAIk9C,EAAA,GAAEjwC,EAACiwC,EAAA,GAAEhwC,EAACgwC,EAAA,GAAEvrC,EAAKurC,EAAA,GAAEtrC,EAAMsrC,EAAA,GAK1BkN,EAAUG,EAAKlkB,IAAImkB,cACrBD,EAAKF,YAAY3yB,EAAO/lB,EAAOC,GAC/B,UAEJ24C,EAAKJ,aAAanqD,EAAMoqD,EAASn9C,EAAGC,iBAEjCqqB,GAAiBY,IAClBklB,EAA8B2G,GAA6BvW,EAAWnwC,EAAO,CAAC,KAAM,KAAM,OAAzF0C,EAAIq9C,EAAA,GAAEpwC,EAACowC,EAAA,GAAEnwC,EAACmwC,EAAA,GAAE1rC,EAAK0rC,EAAA,GAAEzrC,EAAMyrC,EAAA,GAC1B8L,EAA+Bt0B,GAA2BsD,EAAgBnQ,MAAOrW,EAAOC,GAAvFkiB,EAAUq1B,EAAA,GAAEsB,EAAEtB,EAAA,GAAEuB,EAAEvB,EAAA,GAAEwB,EAAExB,EAAA,GAAEyB,EAAEzB,EAAA,IAE3B/iB,EAAShsC,SAASG,cAAc,WAC/BoX,MAAQA,EACfy0B,EAAOx0B,OAASA,EACVy0B,EAAMD,EAAOE,WAAW,MACxBukB,EAAWxkB,EAAIykB,qBAAqBL,EAAIE,EAAID,EAAIE,GAEtDh3B,GAAkBuE,EAAgBtE,MAAOC,GAAYlxB,SAAQ,SAAC+zB,GAC1D,OAAAk0B,EAASE,aAAap0B,EAAUhD,KAAM1K,GAAS0N,EAAU3N,WAG7Dqd,EAAIO,UAAYikB,EAChBxkB,EAAIQ,SAAS,EAAG,EAAGl1B,EAAOC,GACtBD,EAAQ,GAAKC,EAAS,IAChBw4C,EAAUG,EAAKlkB,IAAImkB,cAAcpkB,EAAQ,UAC/CmkB,EAAKJ,aAAanqD,EAAMoqD,EAASn9C,EAAGC,KAEjCuqB,GAAiBU,KAClBkxB,EAAmCrF,GAA6BvW,EAAWnwC,EAAO,CACpF,KACA,KACA,OAHG0C,EAAIqpD,EAAA,GAAE33C,EAAI23C,EAAA,GAAE2B,EAAA3B,EAAA,GAAK13C,EAAK03C,EAAA,GAAEz3C,EAAMy3C,EAAA,GAK/BzuD,EAA+C,IAApCu9B,EAAgBv9B,SAAS8C,OAAe,CAAC4pB,IAAiB6Q,EAAgBv9B,SACrFqS,EAAIya,GAAiB9sB,EAAS,GAAI+W,GAClCzE,EAAIwa,GAAiB9sB,EAASA,EAAS8C,OAAS,GAAIkU,GAEpDw3C,EAAWlzB,GAAgBiC,EAAiBlrB,EAAGC,EAAGyE,EAAOC,GAAxDwkB,EAAEgzB,EAAA,GAAE/yB,EAAE+yB,EAAA,GACThzB,EAAK,GAAKC,EAAK,IACT40B,EAAiBV,EAAKlkB,IAAI6kB,qBAAqBx5C,EAAOzE,EAAG+9C,EAAM99C,EAAG,EAAGwE,EAAOzE,EAAG+9C,EAAM99C,EAAGkpB,GAE9FxC,GAAkBuE,EAAgBtE,MAAY,EAALuC,GAAQxzB,SAAQ,SAAC+zB,GACtD,OAAAs0B,EAAeF,aAAap0B,EAAUhD,KAAM1K,GAAS0N,EAAU3N,WAGnEuhC,EAAKvqD,KAAKA,GACVuqD,EAAKlkB,IAAIO,UAAYqkB,EACjB70B,IAAOC,GAED80B,EAAO1d,EAAU/L,OAAOhwB,KAAO,GAAM+7B,EAAU/L,OAAO/vB,MACtDy5C,EAAO3d,EAAU/L,OAAO7mC,IAAM,GAAM4yC,EAAU/L,OAAO9vB,OAErDy5C,EAAO,GADP/+C,EAAI+pB,EAAKD,GAGfm0B,EAAKlkB,IAAIygB,OACTyD,EAAKlkB,IAAIogB,UAAU0E,EAAMC,GACzBb,EAAKlkB,IAAInG,UAAU,EAAG,EAAG,EAAG5zB,EAAG,EAAG,GAClCi+C,EAAKlkB,IAAIogB,WAAW0E,GAAOC,GAE3Bb,EAAKlkB,IAAIQ,SAASn1B,EAAM25C,GAAQL,EAAMI,GAAQA,EAAMz5C,EAAOC,EAASy5C,GACpEd,EAAKlkB,IAAI2gB,WAETuD,EAAKlkB,IAAIwiB,iCAIrBvrD,wBAjF0Bye,EAAA0xB,EAAUnM,OAAOnJ,gBAAgB33B,MAAM,GAAGm8C,kCAA1ClpC,EAAAsI,EAAAre,QAAnBy6B,EAAepc,EAAAtI,QAAf0kB,KAAsE,8CAAnD1kB,mCAqF5B4yC,EAAApnD,UAAAqsD,kBAAN,SAAwBtiC,EAAc4P,EAAc2yB,6EAChD/7C,KAAKxP,KAAKkjD,GAAmBqI,EAAa3yB,IAC1CppB,KAAK62B,IAAIO,UAAY3d,GAASD,GAC9BxZ,KAAK62B,IAAIwiB,kBAGPxC,EAAApnD,UAAAusD,mBAAN,SAAyBxiC,EAAcrX,EAAeinB,EAAc2yB,4GAC5D55C,EAAQ,EACR,GAAMnC,KAAK87C,kBAAkBtiC,EAAO4P,EAAM2yB,IAD1C,aAEA,OADAxvC,EAAA/K,OACA,kBAGEy6C,EAAapI,GAA8BkI,EAAa3yB,GAC9DppB,KAAKxP,KAAKyrD,GACVj8C,KAAK62B,IAAIO,UAAY3d,GAASD,GAC9BxZ,KAAK62B,IAAIwiB,OACH6C,EAAapI,GAA8BiI,EAAa3yB,GAC9DppB,KAAKxP,KAAK0rD,GACVl8C,KAAK62B,IAAIwiB,mBAGPxC,EAAApnD,UAAAooD,+BAAN,SAAqCD,+HACjC53C,KAAKm3C,aAAaS,EAAMtF,WAAW,IAC7BxgB,EAAS8lB,EAAM3Z,UAAUnM,OACzBqqB,GAAiB5iC,GAAcuY,EAAO7N,kBAAoB6N,EAAOnJ,gBAAgBz6B,OAEjFkuD,EAAU,CACZ,CAAClxD,MAAO4mC,EAAO/H,eAAgBvQ,MAAOsY,EAAOzI,eAAgBlnB,MAAO2vB,EAAO1H,gBAC3E,CAACl/B,MAAO4mC,EAAO9H,iBAAkBxQ,MAAOsY,EAAOxI,iBAAkBnnB,MAAO2vB,EAAOzH,kBAC/E,CAACn/B,MAAO4mC,EAAO7H,kBAAmBzQ,MAAOsY,EAAOvI,kBAAmBpnB,MAAO2vB,EAAOxH,mBACjF,CAACp/B,MAAO4mC,EAAO5H,gBAAiB1Q,MAAOsY,EAAOtI,gBAAiBrnB,MAAO2vB,EAAOvH,kBAG3EqqB,EAAyByH,GAC3B1H,GAA2B7iB,EAAO9N,eAAgB,GAClD4zB,EAAMjH,QAGNwL,GAAiBrqB,EAAOnC,UAAUzhC,QAClC8R,KAAK62B,IAAIygB,OACTt3C,KAAKxP,KAAKokD,GACV50C,KAAK62B,IAAIvrC,OAEJiuB,GAAcuY,EAAO7N,mBACtBjkB,KAAK62B,IAAIO,UAAY3d,GAASqY,EAAO7N,iBACrCjkB,KAAK62B,IAAIwiB,QAGb,GAAMr5C,KAAK86C,sBAAsBlD,EAAM3Z,aAVvC,aAUA1xB,EAAA/K,OAEAxB,KAAK62B,IAAI2gB,UAET1lB,EAAOnC,UACF3+B,MAAM,GACNm8C,UACA/5C,SAAQ,SAACi5B,GACN8O,EAAKtE,IAAIygB,OACT,IAAMgF,EAAgB5L,GAAuBkH,EAAMjH,QAC7C4L,EAAalwB,EAAOwD,MAAQ,EAAI+mB,GAChC4F,EAAqBlL,GACvBgL,GACCC,GAAclwB,EAAOwD,MAAQ,GAAK,GAAKxD,EAAOuD,OAAO/Z,QACrDwW,EAAOwD,MAAQ,GAAK,GAAKxD,EAAOuD,OAAO/Z,OACxCwW,EAAOuD,OAAO/Z,QAAUwW,EAAOwD,OAAS,EAAI,GAC5CxD,EAAOuD,OAAO/Z,QAAUwW,EAAOwD,OAAS,EAAI,IAG5CxD,EAAOwD,OACPsL,EAAK3qC,KAAK8rD,GACVnhB,EAAKtE,IAAIvrC,OACT6vC,EAAKif,KAAKoC,KAEVrhB,EAAKif,KAAKkC,GACVnhB,EAAKtE,IAAIvrC,OACT6vC,EAAK3qC,KAAKgsD,IAGdrhB,EAAKtE,IAAI8hB,cAAgBtsB,EAAOC,QAAQzW,OAAS0mC,EACjDphB,EAAKtE,IAAI+hB,cAAgBvsB,EAAOE,QAAQ1W,OACxCslB,EAAKtE,IAAI6hB,YAAcj/B,GAAS4S,EAAO7S,OACvC2hB,EAAKtE,IAAIgiB,WAAaxsB,EAAOG,KAAK3W,OAClCslB,EAAKtE,IAAIO,UAAY/K,EAAOwD,MAAQpW,GAAS4S,EAAO7S,OAAS,gBAE7D2hB,EAAKtE,IAAIwiB,OACTle,EAAKtE,IAAI2gB,8BAIjBpuB,EAAO,MACUqzB,EAAAL,0BAAAn4C,EAAAw4C,EAAAvuD,OACI,KADdo6C,EAAMmU,EAAAx4C,IACF/Y,QAAgCquB,GAAc+uB,EAAO9uB,QAAU8uB,EAAOnmC,MAAQ,EAChE,IAAjBmmC,EAAOp9C,MAAP,MACA,GAAM8U,KAAK08C,yBACPpU,EAAO9uB,MACP8uB,EAAOnmC,MACPinB,EACAwuB,EAAMjH,OAAM,IANpB,OADoB,qBAGhBpkC,EAAA/K,4BAOwB,IAAjB8mC,EAAOp9C,MAAP,MACP,GAAM8U,KAAK08C,yBACPpU,EAAO9uB,MACP8uB,EAAOnmC,MACPinB,EACAwuB,EAAMjH,OAAM,kBAJhBpkC,EAAA/K,4BAOwB,IAAjB8mC,EAAOp9C,MAAP,MACP,GAAM8U,KAAKg8C,mBAAmB1T,EAAO9uB,MAAO8uB,EAAOnmC,MAAOinB,EAAMwuB,EAAMjH,uBAAtEpkC,EAAA/K,qBAEA,SAAMxB,KAAK87C,kBAAkBxT,EAAO9uB,MAAO4P,EAAMwuB,EAAMjH,iBAAvDpkC,EAAA/K,0BAGR4nB,8BAxBiBnlB,oCA4BnB4yC,EAAApnD,UAAAitD,yBAAN,SACIljC,EACArX,EACAinB,EACA2yB,EACA7wD,iHAEA8U,KAAK62B,IAAIygB,OAEHqF,EAAc5I,GAAyBgI,EAAa3yB,GACpDwzB,EAAWlJ,GAAmBqI,EAAa3yB,GAEnC,IAAVl+B,IACA8U,KAAKxP,KAAKosD,GACV58C,KAAK62B,IAAIvrC,QAIT8hD,GAAcwP,EAAS,KACvBC,EAAUD,EAAS,GAAmBx2C,MAAM3I,EAC5Cq/C,EAAUF,EAAS,GAAmBx2C,MAAM1I,IAE5Cm/C,EAAUD,EAAS,GAAcn/C,EACjCq/C,EAAUF,EAAS,GAAcl/C,GAEjC0vC,GAAcwP,EAAS,KACvBG,EAAQH,EAAS,GAAmBv2C,IAAI5I,EACxCu/C,EAAQJ,EAAS,GAAmBv2C,IAAI3I,IAExCq/C,EAAQH,EAAS,GAAcn/C,EAC/Bu/C,EAAQJ,EAAS,GAAcl/C,GAK/BxP,EADS,IAATk7B,GAAuB,IAATA,EACLp0B,KAAKuwB,IAAIs3B,EAASE,GAElB/nD,KAAKuwB,IAAIu3B,EAASE,GAG/Bh9C,KAAK62B,IAAIyiB,YACK,IAAVpuD,EACA8U,KAAKw6C,WAAWmC,GAEhB38C,KAAKw6C,WAAWoC,EAAS5rD,MAAM,EAAG,IAGlCisD,EAAa96C,EAAQ,EAAY,EAARA,EAAoB,EAARA,EACrC+6C,EAAc/6C,EAAQ,EAAY,EAARA,EAAYA,EAC5B,IAAVjX,IACA+xD,EAAa96C,EACb+6C,EAAc/6C,GAGdg7C,GAAc,EACdjvD,GAAuB,EAAb+uD,EACVE,GAAc,EACPjvD,GAAuB,EAAb+uD,EAAiBC,GAElCD,GADMG,EAAalvD,GAAU,EAAI+uD,EAAaC,GAE9CA,GAAeE,IAETC,EAAiBroD,KAAKqsC,OAAOnzC,EAASgvD,IAAgBD,EAAaC,IACnEI,GAAYpvD,EAASmvD,EAAiBJ,IAAeI,EAAiB,GAE5EH,GADMK,GAAYrvD,GAAUmvD,EAAiB,GAAKJ,GAAcI,IAEhD,GAAKroD,KAAKuwB,IAAI23B,EAAcI,GAAYtoD,KAAKuwB,IAAI23B,EAAcK,GACrED,EACAC,GAGVJ,IACc,IAAVjyD,EACA8U,KAAK62B,IAAI2mB,YAAY,CAAC,EAAGP,EAAaC,IAEtCl9C,KAAK62B,IAAI2mB,YAAY,CAACP,EAAYC,KAI5B,IAAVhyD,GACA8U,KAAK62B,IAAI4mB,QAAU,QACnBz9C,KAAK62B,IAAIkiB,UAAY52C,GAErBnC,KAAK62B,IAAIkiB,UAAoB,EAAR52C,EAAY,IAErCnC,KAAK62B,IAAIiiB,YAAcr/B,GAASD,GAChCxZ,KAAK62B,IAAI6mB,SACT19C,KAAK62B,IAAI2mB,YAAY,IAGP,IAAVtyD,IACIkiD,GAAcwP,EAAS,MACjBe,EAAQf,EAAS,GACjBgB,EAAQhB,EAAS,GACvB58C,KAAK62B,IAAIyiB,YACTt5C,KAAKw6C,WAAW,CAAC,IAAIpO,GAAOuR,EAAMt3C,IAAI5I,EAAGkgD,EAAMt3C,IAAI3I,GAAI,IAAI0uC,GAAOwR,EAAMx3C,MAAM3I,EAAGmgD,EAAMx3C,MAAM1I,KAC7FsC,KAAK62B,IAAI6mB,UAETtQ,GAAcwP,EAAS,MACjBe,EAAQf,EAAS,GACjBgB,EAAQhB,EAAS,GACvB58C,KAAK62B,IAAIyiB,YACTt5C,KAAKw6C,WAAW,CAAC,IAAIpO,GAAOuR,EAAMt3C,IAAI5I,EAAGkgD,EAAMt3C,IAAI3I,GAAI,IAAI0uC,GAAOwR,EAAMx3C,MAAM3I,EAAGmgD,EAAMx3C,MAAM1I,KAC7FsC,KAAK62B,IAAI6mB,WAIjB19C,KAAK62B,IAAI2gB,qBAGPX,EAAApnD,UAAAiM,OAAN,SAAa81B,mGAQT,OAPIxxB,KAAK5V,QAAQ65B,kBACbjkB,KAAK62B,IAAIO,UAAY3d,GAASzZ,KAAK5V,QAAQ65B,iBAC3CjkB,KAAK62B,IAAIQ,SAASr3B,KAAK5V,QAAQqT,EAAGuC,KAAK5V,QAAQsT,EAAGsC,KAAK5V,QAAQ+X,MAAOnC,KAAK5V,QAAQgY,SAGjF6wC,EAAQQ,GAAsBjiB,GAEpC,GAAMxxB,KAAKy3C,YAAYxE,WAEvB,OAFA1mC,EAAA/K,OACAxB,KAAKm3C,aAAa,IACX,CAAP,EAAOn3C,KAAK42B,gBAEpBigB,CAAA,CAh1BA,CAAoCF,IAk1B9B6C,GAAqB,SACvBvb,GAEA,OAAIA,aAAqBlB,IAEdkB,aAAqBrB,IAErBqB,aAAqBxB,IAAyBwB,EAAUpjC,OAAS0hC,IAAS0B,EAAUpjC,OAASyhC,EAI5G,EAEM+f,GAAwC,SAAC/wD,EAAuBqlD,GAClE,OAAQrlD,GACJ,KAAK,EACD,OAAOolD,GAAuBC,GAClC,KAAK,EACD,OAAOC,GAAwBD,GAEnC,QACI,OAAOE,GAAwBF,GAE3C,EAEM8I,GAAkB,SAACttB,GACrB,OAAQA,GACJ,KAAK,EACD,MAAO,SACX,KAAK,EACD,MAAO,QAEX,QACI,MAAO,OAEnB,EAGM0xB,GAAiB,CAAC,gBAAiB,aAEnCxF,GAAoB,SAACyF,GACvB,MAAO,qBAAqB7wD,KAAKb,OAAOc,UAAUC,WAC5C2wD,EAAa/qD,QAAO,SAACm7B,GAAe,OAAwC,IAAxC2vB,GAAehtD,QAAQq9B,EAAkB,IAC7E4vB,CACV,ECt7BAC,GAAA,SAAA7iB,GAKI,SAAA6iB,EAAYx7C,EAAkBnY,GAA9B,IAAA+wC,EACID,EAAAxrC,KAAA,KAAM6S,EAASnY,IAAQ,YACvB+wC,EAAKvE,OAASxsC,EAAQwsC,OAASxsC,EAAQwsC,OAAShsC,SAASG,cAAc,UACvEowC,EAAKtE,IAAMsE,EAAKvE,OAAOE,WAAW,MAClCqE,EAAK/wC,QAAUA,EACf+wC,EAAKvE,OAAOz0B,MAAQnN,KAAKqsC,MAAMj3C,EAAQ+X,MAAQ/X,EAAQ2sD,OACvD5b,EAAKvE,OAAOx0B,OAASpN,KAAKqsC,MAAMj3C,EAAQgY,OAAShY,EAAQ2sD,OACzD5b,EAAKvE,OAAO1rC,MAAMiX,MAAW/X,EAAQ+X,MAAK,KAC1Cg5B,EAAKvE,OAAO1rC,MAAMkX,OAAYhY,EAAQgY,OAAM,KAE5C+4B,EAAKtE,IAAIkgB,MAAM5b,EAAK/wC,QAAQ2sD,MAAO5b,EAAK/wC,QAAQ2sD,OAChD5b,EAAKtE,IAAIogB,WAAW7sD,EAAQqT,GAAIrT,EAAQsT,GACxCy9B,EAAK54B,QAAQshC,OAAOx5C,MAChB,oDAAoDD,EAAQ+X,MAAK,IAAI/X,EAAQgY,OAAM,OAAOhY,EAAQqT,EAAC,IAAIrT,EAAQsT,EAAC,gBAAgBtT,EAAQ2sD,SAwBpJ,OA1C2Cn3C,EAAAm+C,EAAA7iB,GAsBjC6iB,EAAAtuD,UAAAiM,OAAN,SAAa81B,qGASG,OARN+F,EAAMC,GACRx3B,KAAK5V,QAAQ+X,MAAQnC,KAAK5V,QAAQ2sD,MAClC/2C,KAAK5V,QAAQgY,OAASpC,KAAK5V,QAAQ2sD,MACnC/2C,KAAK5V,QAAQ2sD,MACb/2C,KAAK5V,QAAQ2sD,MACbvlB,GAGQ,GAAMwsB,GAAkBzmB,WASpC,OATMZ,EAAMpqB,EAAA/K,OAERxB,KAAK5V,QAAQ65B,kBACbjkB,KAAK62B,IAAIO,UAAY3d,GAASzZ,KAAK5V,QAAQ65B,iBAC3CjkB,KAAK62B,IAAIQ,SAAS,EAAG,EAAGr3B,KAAK5V,QAAQ+X,MAAQnC,KAAK5V,QAAQ2sD,MAAO/2C,KAAK5V,QAAQgY,OAASpC,KAAK5V,QAAQ2sD,QAGxG/2C,KAAK62B,IAAIG,UAAUL,GAAM32B,KAAK5V,QAAQqT,EAAIuC,KAAK5V,QAAQ2sD,OAAQ/2C,KAAK5V,QAAQsT,EAAIsC,KAAK5V,QAAQ2sD,OAEtF,CAAP,EAAO/2C,KAAK42B,gBAEpBmnB,CAAA,CA1CA,CAA2CpH,IA4C9BqH,GAAoB,SAACzmB,GAC9B,WAAI12B,SAAQ,SAACD,EAASE,GAClB,IAAM61B,EAAM,IAAIN,MAChBM,EAAIqB,OAAS,WACTp3B,EAAQ+1B,IAEZA,EAAIsB,QAAUn3B,EAEd61B,EAAII,IAAM,oCAAoCmB,oBAAmB,IAAIC,eAAgBC,kBAAkBb,MAP3G,EC9CJ0mB,GAAA,WAOI,SAAAA,EAAY1xC,OAAC2xC,EAAE3xC,EAAA2xC,GAAEC,EAAO5xC,EAAA4xC,QACpBn+C,KAAKk+C,GAAKA,EACVl+C,KAAKm+C,QAAUA,EACfn+C,KAAKoG,MAAQg4C,KAAKC,MAwD1B,OApDIJ,EAAAxuD,UAAApF,MAAA,eAAM,IAAA6I,EAAA,GAAA+Q,EAAA,EAAAA,EAAApR,UAAA3E,OAAA+V,IAAA/Q,EAAA+Q,GAAApR,UAAAoR,GACEjE,KAAKm+C,UAEiB,qBAAX/xD,QAA0BA,OAAOF,SAAoC,oBAAlBA,QAAQ7B,MAElE6B,QAAQ7B,MAAKuI,MAAb1G,QAAO4V,EAAA,CAAO9B,KAAKk+C,GAAOl+C,KAAKs+C,UAAS,MAASprD,IAEjD8M,KAAKulC,KAAI3yC,MAAToN,KAAa9M,KAKzB+qD,EAAAxuD,UAAA6uD,QAAA,WACI,OAAOF,KAAKC,MAAQr+C,KAAKoG,OAI7B63C,EAAAxuD,UAAA81C,KAAA,eAAK,IAAAryC,EAAA,GAAA+Q,EAAA,EAAAA,EAAApR,UAAA3E,OAAA+V,IAAA/Q,EAAA+Q,GAAApR,UAAAoR,GACGjE,KAAKm+C,SAEiB,qBAAX/xD,QAA0BA,OAAOF,SAAmC,oBAAjBA,QAAQq5C,MAElEr5C,QAAQq5C,KAAI3yC,MAAZ1G,QAAO4V,EAAA,CAAM9B,KAAKk+C,GAAOl+C,KAAKs+C,UAAS,MAASprD,KAM5D+qD,EAAAxuD,UAAAtD,KAAA,eAAK,IAAA+G,EAAA,GAAA+Q,EAAA,EAAAA,EAAApR,UAAA3E,OAAA+V,IAAA/Q,EAAA+Q,GAAApR,UAAAoR,GACGjE,KAAKm+C,UAEiB,qBAAX/xD,QAA0BA,OAAOF,SAAmC,oBAAjBA,QAAQC,KAElED,QAAQC,KAAIyG,MAAZ1G,QAAO4V,EAAA,CAAM9B,KAAKk+C,GAAOl+C,KAAKs+C,UAAS,MAASprD,IAEhD8M,KAAKulC,KAAI3yC,MAAToN,KAAa9M,KAMzB+qD,EAAAxuD,UAAA1C,MAAA,eAAM,IAAAmG,EAAA,GAAA+Q,EAAA,EAAAA,EAAApR,UAAA3E,OAAA+V,IAAA/Q,EAAA+Q,GAAApR,UAAAoR,GACEjE,KAAKm+C,UAEiB,qBAAX/xD,QAA0BA,OAAOF,SAAoC,oBAAlBA,QAAQa,MAElEb,QAAQa,MAAK6F,MAAb1G,QAAO4V,EAAA,CAAO9B,KAAKk+C,GAAOl+C,KAAKs+C,UAAS,MAASprD,IAEjD8M,KAAKulC,KAAI3yC,MAAToN,KAAa9M,KA7DlB+qD,EAAAM,UAAqC,CAAC,EAiEjDN,EAlEA,GCIAO,GAAA,WAOI,SAAAA,EAAYp0D,EAAgCqY,SAAA,KAAAA,aAAAA,EAN3B,KAAAg8C,aAAe,IAAID,EAAQE,gBAOxC1+C,KAAK6jC,OAAS,IAAIoa,GAAO,CAACC,GAAIl+C,KAAKy+C,aAAcN,QAAS/zD,EAAQu0D,UAClE3+C,KAAKooB,MAAqB,QAAb7b,EAAAniB,EAAQg+B,aAAK,IAAA7b,EAAAA,EAAI,IAAI+9B,GAAMtqC,KAAM5V,GAEtD,OANmBo0D,EAAAE,cAAgB,EAMnCF,EAXA,GCSMI,GAAc,SAACptB,EAAsBpnC,GACvC,YADuC,IAAAA,IAAAA,EAAA,IAChCy0D,GAAcrtB,EAASpnC,EAClC,EAIsB,qBAAXgC,QACPw9C,GAAaS,WAAWj+C,QAG5B,IAAMyyD,GAAgB,SAAOrtB,EAAsBstB,GAAsB,OAAAz+C,OAAA,8JACrE,IAAKmxB,GAA8B,kBAAZA,EACnB,MAAO,CAAP,EAAO3wB,QAAQC,OAAO,+CAI1B,KAFMi5B,EAAgBvI,EAAQuI,eAG1B,MAAM,IAAIltC,MAAM,yCAKpB,KAFMs2C,EAAcpJ,EAAcoJ,aAG9B,MAAM,IAAIt2C,MAAM,wCAkDpB,OA/CMkyD,EAAkB,CACpBrZ,WAA2B,QAAfzrB,EAAA6kC,EAAKpZ,kBAAU,IAAAzrB,GAAAA,EAC3BmxB,aAA+B,QAAjBsC,EAAAoR,EAAK1T,oBAAY,IAAAsC,EAAAA,EAAI,KACnCzC,MAAO6T,EAAK7T,MACZH,QAAqB,QAAZ+C,EAAAiR,EAAKhU,eAAO,IAAA+C,GAAAA,GAGnBmR,EAAc7+C,EAAA,CAChBw+C,QAAqB,QAAZhF,EAAAmF,EAAKH,eAAO,IAAAhF,GAAAA,EACrBvxB,MAAO02B,EAAK12B,OACT22B,GAGDE,EAAgB,CAClBC,YAA6B,QAAhBrF,EAAAiF,EAAKI,mBAAW,IAAArF,EAAAA,EAAI1W,EAAYgc,WAC7CC,aAA+B,QAAjBxF,EAAAkF,EAAKM,oBAAY,IAAAxF,EAAAA,EAAIzW,EAAYkc,YAC/Cnc,QAAqB,QAAZ6W,EAAA+E,EAAK5b,eAAO,IAAA6W,EAAAA,EAAI5W,EAAYC,YACrCC,QAAqB,QAAZyW,EAAAgF,EAAKzb,eAAO,IAAAyW,EAAAA,EAAI3W,EAAYG,aAGnC7gC,EAAe,IAAIR,EACrBg9C,EAAc/b,QACd+b,EAAc5b,QACd4b,EAAcC,YACdD,EAAcG,cAGZ78C,EAAU,IAAIi8C,GAAQQ,EAAgBv8C,GAEtC68C,EAAoD,QAA3BrF,EAAA6E,EAAKQ,8BAAsB,IAAArF,GAAAA,EAEpDsF,EAAoC,CACtC7Z,WAA2B,QAAfsU,EAAA8E,EAAKpZ,kBAAU,IAAAsU,GAAAA,EAC3BlW,QAASgb,EAAKhb,QACdwC,eAAgBwY,EAAKxY,eACrBhB,aAAcga,EACdlZ,WAAYkZ,GAGhB/8C,EAAQshC,OAAOx5C,MACX,qCAAqCoY,EAAaN,MAAK,IACnDM,EAAaL,OAAM,iBACNK,EAAaP,KAAI,KAAKO,EAAapX,KAGlDm0D,EAAiB,IAAI7c,GAAepgC,EAASivB,EAAS+tB,IACtDE,EAAgBD,EAAezb,wBAKnB,GAAMyb,EAAezc,SAAShJ,EAAet3B,IAHpD,CAAP,EAAO5B,QAAQC,OAAO,0DAGpBm9B,EAAYyhB,EAAAl+C,OAEZ+K,EACF0yB,GAAcwgB,IAAkBjgB,GAAcigB,GACxCt8C,EAAkBs8C,EAAc1lB,eAChC/2B,EAAYT,EAASk9C,GAHxBt9C,EAAKoK,EAAApK,MAAEC,EAAMmK,EAAAnK,OAAEF,EAAIqK,EAAArK,KAAE7W,EAAGkhB,EAAAlhB,IAKzB44B,EAAkB07B,GAAqBp9C,EAASk9C,EAAeX,EAAK76B,iBAEpE27B,EAAsC,CACxChpB,OAAQkoB,EAAKloB,OACb3S,gBAAeA,EACf8yB,MAAiD,QAA1CmD,EAAU,QAAVC,EAAA2E,EAAK/H,aAAK,IAAAoD,EAAAA,EAAIhX,EAAY0c,wBAAgB,IAAA3F,EAAAA,EAAI,EACrDz8C,GAAU,QAANi8C,EAAAoF,EAAKrhD,SAAC,IAAAi8C,EAAAA,EAAI,GAAKx3C,EACnBxE,GAAU,QAANoiD,EAAAhB,EAAKphD,SAAC,IAAAoiD,EAAAA,EAAI,GAAKz0D,EACnB8W,MAAiB,QAAV49C,EAAAjB,EAAK38C,aAAK,IAAA49C,EAAAA,EAAI/qD,KAAK+R,KAAK5E,GAC/BC,OAAmB,QAAX49C,EAAAlB,EAAK18C,cAAM,IAAA49C,EAAAA,EAAIhrD,KAAK+R,KAAK3E,IAKjCk9C,GACA/8C,EAAQshC,OAAOx5C,MAAM,mDAEZ,GADQ,IAAI0zD,GAAsBx7C,EAASq9C,GAC5BlkD,OAAO+jD,KAH/B,oBAGA7oB,EAAS8oB,EAAAl+C,oBAkBA,OAhBTe,EAAQshC,OAAOx5C,MACX,uCAAuC6X,EAAI,IAAI7W,EAAG,cAAc8W,EAAK,IAAIC,EAAM,6BAGnFG,EAAQshC,OAAOx5C,MAAM,wBACfozC,EAAOL,GAAU76B,EAASk9C,GAE5Bx7B,IAAoBwZ,EAAK3L,OAAO7N,kBAChCwZ,EAAK3L,OAAO7N,gBAAkB7K,GAAOE,aAGzC/W,EAAQshC,OAAOx5C,MACX,oCAAoCu1D,EAAcniD,EAAC,IAAImiD,EAAcliD,EAAC,cAAckiD,EAAcz9C,MAAK,IAAIy9C,EAAcx9C,QAIpH,GADQ,IAAIy0C,GAAet0C,EAASq9C,GACrBlkD,OAAO+hC,WAA/B7G,EAAS8oB,EAAAl+C,wBAUb,OAPwB,QAApBy+C,EAAAnB,EAAKoB,uBAAe,IAAAD,GAAAA,KACftd,GAAewF,QAAQlK,IACxB17B,EAAQshC,OAAO92C,MAAM,gEAI7BwV,EAAQshC,OAAOx5C,MAAM,sBACd,CAAP,EAAOusC,WAGL+oB,GAAuB,SAACp9C,EAAkBivB,EAAsB2uB,GAClE,IAAMpmB,EAAgBvI,EAAQuI,cAExBsD,EAA0BtD,EAAc32B,gBACxCuX,GAAWpY,EAASwvB,iBAAiBgI,EAAc32B,iBAAiB6gB,iBACpE7K,GAAOE,YACPgkB,EAAsBvD,EAAcvtC,KACpCmuB,GAAWpY,EAASwvB,iBAAiBgI,EAAcvtC,MAAMy3B,iBACzD7K,GAAOE,YAEP8mC,EACiC,kBAA5BD,EACDxlC,GAAWpY,EAAS49C,GACQ,OAA5BA,EACA/mC,GAAOE,YACP,WAEV,OAAOkY,IAAYuI,EAAc32B,gBAC3BmW,GAAc8jB,GACV9jB,GAAc+jB,GACV8iB,EACA9iB,EACJD,EACJ+iB,CACV,8CCtKA,IAAItkD,EAAwBtM,OAAOsM,sBAC/B6D,EAAiBnQ,OAAOC,UAAUkQ,eAClC0gD,EAAmB7wD,OAAOC,UAAU6wD,qBAsDxCr2D,EAAOC,QA5CP,WACC,IACC,IAAKsF,OAAOa,OACX,OAAO,EAMR,IAAIkwD,EAAQ,IAAIzgD,OAAO,OAEvB,GADAygD,EAAM,GAAK,KACkC,MAAzC/wD,OAAOqM,oBAAoB0kD,GAAO,GACrC,OAAO,EAKR,IADA,IAAIC,EAAQ,CAAC,EACJzyD,EAAI,EAAGA,EAAI,GAAIA,IACvByyD,EAAM,IAAM1gD,OAAOuE,aAAatW,IAAMA,EAKvC,GAAwB,eAHXyB,OAAOqM,oBAAoB2kD,GAAO7mD,KAAI,SAAU1L,GAC5D,OAAOuyD,EAAMvyD,EACd,IACWmB,KAAK,IACf,OAAO,EAIR,IAAIqxD,EAAQ,CAAC,EAIb,MAHA,uBAAuBhyD,MAAM,IAAI2E,SAAQ,SAAU6kD,GAClDwI,EAAMxI,GAAUA,CACjB,IAEE,yBADEzoD,OAAOY,KAAKZ,OAAOa,OAAO,CAAC,EAAGowD,IAAQrxD,KAAK,GAMhD,CAAE,MAAOtC,GAER,OAAO,CACR,CACD,CAEiB4zD,GAAoBlxD,OAAOa,OAAS,SAAU44C,EAAQ0X,GAKtE,IAJA,IAAItyD,EAEAmyC,EADApyC,EAtDL,SAAkBwyD,GACjB,GAAY,OAARA,QAAwBtyD,IAARsyD,EACnB,MAAM,IAAI/gD,UAAU,yDAGrB,OAAOrQ,OAAOoxD,EACf,CAgDUC,CAAS5X,GAGT7oC,EAAI,EAAGA,EAAIvN,UAAU3E,OAAQkS,IAAK,CAG1C,IAAK,IAAI9P,KAFTjC,EAAOmB,OAAOqD,UAAUuN,IAGnBT,EAAejQ,KAAKrB,EAAMiC,KAC7BlC,EAAGkC,GAAOjC,EAAKiC,IAIjB,GAAIwL,EAAuB,CAC1B0kC,EAAU1kC,EAAsBzN,GAChC,IAAK,IAAIN,EAAI,EAAGA,EAAIyyC,EAAQtyC,OAAQH,IAC/BsyD,EAAiB3wD,KAAKrB,EAAMmyC,EAAQzyC,MACvCK,EAAGoyC,EAAQzyC,IAAMM,EAAKmyC,EAAQzyC,IAGjC,CACD,CAEA,OAAOK,CACR,wBCzFA,IAAI0yD,EAAU/2D,EAAQ,MAKtBE,EAAOC,QAAU62D,EACjB92D,EAAOC,QAAQuuB,MAAQA,EACvBxuB,EAAOC,QAAQ82D,QAsGf,SAAkBp9C,EAAKxZ,GACrB,OAAO62D,EAAiBxoC,EAAM7U,EAAKxZ,GAAUA,EAC/C,EAvGAH,EAAOC,QAAQ+2D,iBAAmBA,EAClCh3D,EAAOC,QAAQg3D,eAAiBA,EAOhC,IAAIC,EAAc,IAAIC,OAAO,CAG3B,UAOA,0GACAhyD,KAAK,KAAM,KASb,SAASqpB,EAAO7U,EAAKxZ,GAQnB,IAPA,IAKIi3D,EALA5tC,EAAS,GACTnjB,EAAM,EACNxC,EAAQ,EACR0C,EAAO,GACP8wD,EAAmBl3D,GAAWA,EAAQm3D,WAAa,IAGf,OAAhCF,EAAMF,EAAYK,KAAK59C,KAAe,CAC5C,IAAI1G,EAAImkD,EAAI,GACRI,EAAUJ,EAAI,GACdtrB,EAASsrB,EAAIvzD,MAKjB,GAJA0C,GAAQoT,EAAI5S,MAAMlD,EAAOioC,GACzBjoC,EAAQioC,EAAS74B,EAAEhP,OAGfuzD,EACFjxD,GAAQixD,EAAQ,OADlB,CAKA,IAAIxgD,EAAO2C,EAAI9V,GACX6C,EAAS0wD,EAAI,GACbtmD,EAAOsmD,EAAI,GACXK,EAAUL,EAAI,GACdM,EAAQN,EAAI,GACZO,EAAWP,EAAI,GACfQ,EAAWR,EAAI,GAGf7wD,IACFijB,EAAO3gB,KAAKtC,GACZA,EAAO,IAGT,IAAIsxD,EAAoB,MAAVnxD,GAA0B,MAARsQ,GAAgBA,IAAStQ,EACrDilC,EAAsB,MAAbgsB,GAAiC,MAAbA,EAC7BG,EAAwB,MAAbH,GAAiC,MAAbA,EAC/BL,EAAYF,EAAI,IAAMC,EACtB1G,EAAU8G,GAAWC,EAEzBluC,EAAO3gB,KAAK,CACViI,KAAMA,GAAQzK,IACdK,OAAQA,GAAU,GAClB4wD,UAAWA,EACXQ,SAAUA,EACVnsB,OAAQA,EACRksB,QAASA,EACTD,WAAYA,EACZjH,QAASA,EAAUoH,EAAYpH,GAAYiH,EAAW,KAAO,KAAOI,EAAaV,GAAa,OA9BhG,CAgCF,CAYA,OATIzzD,EAAQ8V,EAAI1V,SACdsC,GAAQoT,EAAIvU,OAAOvB,IAIjB0C,GACFijB,EAAO3gB,KAAKtC,GAGPijB,CACT,CAmBA,SAASyuC,EAA0Bt+C,GACjC,OAAOu+C,UAAUv+C,GAAKxW,QAAQ,WAAW,SAAUwP,GACjD,MAAO,IAAMA,EAAEkH,WAAW,GAAG5O,SAAS,IAAImkB,aAC5C,GACF,CAiBA,SAAS4nC,EAAkBxtC,EAAQrpB,GAKjC,IAHA,IAAIg4D,EAAU,IAAItyD,MAAM2jB,EAAOvlB,QAGtBH,EAAI,EAAGA,EAAI0lB,EAAOvlB,OAAQH,IACR,kBAAd0lB,EAAO1lB,KAChBq0D,EAAQr0D,GAAK,IAAIqzD,OAAO,OAAS3tC,EAAO1lB,GAAG6sD,QAAU,KAAM7mC,EAAM3pB,KAIrE,OAAO,SAAUmF,EAAKuvD,GAMpB,IALA,IAAItuD,EAAO,GACPsW,EAAOvX,GAAO,CAAC,EAEf8yD,GADUvD,GAAQ,CAAC,GACFwD,OAASJ,EAA2BhqB,mBAEhDnqC,EAAI,EAAGA,EAAI0lB,EAAOvlB,OAAQH,IAAK,CACtC,IAAI2lB,EAAQD,EAAO1lB,GAEnB,GAAqB,kBAAV2lB,EAAX,CAMA,IACI4mB,EADA35B,EAAQmG,EAAK4M,EAAM3Y,MAGvB,GAAa,MAAT4F,EAAe,CACjB,GAAI+S,EAAMquC,SAAU,CAEdruC,EAAMouC,UACRtxD,GAAQkjB,EAAM/iB,QAGhB,QACF,CACE,MAAM,IAAIkP,UAAU,aAAe6T,EAAM3Y,KAAO,kBAEpD,CAEA,GAAI+lD,EAAQngD,GAAZ,CACE,IAAK+S,EAAMkiB,OACT,MAAM,IAAI/1B,UAAU,aAAe6T,EAAM3Y,KAAO,kCAAoCwnD,KAAKC,UAAU7hD,GAAS,KAG9G,GAAqB,IAAjBA,EAAMzS,OAAc,CACtB,GAAIwlB,EAAMquC,SACR,SAEA,MAAM,IAAIliD,UAAU,aAAe6T,EAAM3Y,KAAO,oBAEpD,CAEA,IAAK,IAAI0nD,EAAI,EAAGA,EAAI9hD,EAAMzS,OAAQu0D,IAAK,CAGrC,GAFAnoB,EAAU+nB,EAAO1hD,EAAM8hD,KAElBL,EAAQr0D,GAAGd,KAAKqtC,GACnB,MAAM,IAAIz6B,UAAU,iBAAmB6T,EAAM3Y,KAAO,eAAiB2Y,EAAMknC,QAAU,oBAAsB2H,KAAKC,UAAUloB,GAAW,KAGvI9pC,IAAe,IAANiyD,EAAU/uC,EAAM/iB,OAAS+iB,EAAM6tC,WAAajnB,CACvD,CAGF,KAxBA,CA4BA,GAFAA,EAAU5mB,EAAMmuC,SA5EbM,UA4EuCxhD,GA5ExBvT,QAAQ,SAAS,SAAUwP,GAC/C,MAAO,IAAMA,EAAEkH,WAAW,GAAG5O,SAAS,IAAImkB,aAC5C,IA0EuDgpC,EAAO1hD,IAErDyhD,EAAQr0D,GAAGd,KAAKqtC,GACnB,MAAM,IAAIz6B,UAAU,aAAe6T,EAAM3Y,KAAO,eAAiB2Y,EAAMknC,QAAU,oBAAsBtgB,EAAU,KAGnH9pC,GAAQkjB,EAAM/iB,OAAS2pC,CARvB,CA1CA,MAHE9pC,GAAQkjB,CAsDZ,CAEA,OAAOljB,CACT,CACF,CAQA,SAASyxD,EAAcr+C,GACrB,OAAOA,EAAIxW,QAAQ,6BAA8B,OACnD,CAQA,SAAS40D,EAAaL,GACpB,OAAOA,EAAMv0D,QAAQ,gBAAiB,OACxC,CASA,SAASs1D,EAAYC,EAAIvyD,GAEvB,OADAuyD,EAAGvyD,KAAOA,EACHuyD,CACT,CAQA,SAAS5uC,EAAO3pB,GACd,OAAOA,GAAWA,EAAQw4D,UAAY,GAAK,GAC7C,CAuEA,SAAS1B,EAAgBztC,EAAQrjB,EAAMhG,GAChC02D,EAAQ1wD,KACXhG,EAAkCgG,GAAQhG,EAC1CgG,EAAO,IAUT,IALA,IAAIyyD,GAFJz4D,EAAUA,GAAW,CAAC,GAEDy4D,OACjBx8C,GAAsB,IAAhBjc,EAAQic,IACdy8C,EAAQ,GAGH/0D,EAAI,EAAGA,EAAI0lB,EAAOvlB,OAAQH,IAAK,CACtC,IAAI2lB,EAAQD,EAAO1lB,GAEnB,GAAqB,kBAAV2lB,EACTovC,GAASb,EAAavuC,OACjB,CACL,IAAI/iB,EAASsxD,EAAavuC,EAAM/iB,QAC5B+wD,EAAU,MAAQhuC,EAAMknC,QAAU,IAEtCxqD,EAAK0C,KAAK4gB,GAENA,EAAMkiB,SACR8rB,GAAW,MAAQ/wD,EAAS+wD,EAAU,MAaxCoB,GANIpB,EAJAhuC,EAAMquC,SACHruC,EAAMouC,QAGCnxD,EAAS,IAAM+wD,EAAU,KAFzB,MAAQ/wD,EAAS,IAAM+wD,EAAU,MAKnC/wD,EAAS,IAAM+wD,EAAU,GAIvC,CACF,CAEA,IAAIH,EAAYU,EAAa73D,EAAQm3D,WAAa,KAC9CwB,EAAoBD,EAAM9xD,OAAOuwD,EAAUrzD,UAAYqzD,EAkB3D,OAZKsB,IACHC,GAASC,EAAoBD,EAAM9xD,MAAM,GAAIuwD,EAAUrzD,QAAU40D,GAAS,MAAQvB,EAAY,WAI9FuB,GADEz8C,EACO,IAIAw8C,GAAUE,EAAoB,GAAK,MAAQxB,EAAY,MAG3DmB,EAAW,IAAItB,OAAO,IAAM0B,EAAO/uC,EAAM3pB,IAAWgG,EAC7D,CAcA,SAAS2wD,EAAcvwD,EAAMJ,EAAMhG,GAQjC,OAPK02D,EAAQ1wD,KACXhG,EAAkCgG,GAAQhG,EAC1CgG,EAAO,IAGThG,EAAUA,GAAW,CAAC,EAElBoG,aAAgB4wD,OAlJtB,SAAyB5wD,EAAMJ,GAE7B,IAAI4yD,EAASxyD,EAAKmwD,OAAO9V,MAAM,aAE/B,GAAImY,EACF,IAAK,IAAIj1D,EAAI,EAAGA,EAAIi1D,EAAO90D,OAAQH,IACjCqC,EAAK0C,KAAK,CACRiI,KAAMhN,EACN4C,OAAQ,KACR4wD,UAAW,KACXQ,UAAU,EACVnsB,QAAQ,EACRksB,SAAS,EACTD,UAAU,EACVjH,QAAS,OAKf,OAAO8H,EAAWlyD,EAAMJ,EAC1B,CA+HW6yD,CAAezyD,EAA6BJ,GAGjD0wD,EAAQtwD,GAxHd,SAAwBA,EAAMJ,EAAMhG,GAGlC,IAFA,IAAI84D,EAAQ,GAEHn1D,EAAI,EAAGA,EAAIyC,EAAKtC,OAAQH,IAC/Bm1D,EAAMpwD,KAAKiuD,EAAavwD,EAAKzC,GAAIqC,EAAMhG,GAASu2D,QAKlD,OAAO+B,EAFM,IAAItB,OAAO,MAAQ8B,EAAM9zD,KAAK,KAAO,IAAK2kB,EAAM3pB,IAEnCgG,EAC5B,CA+GW+yD,CAAqC3yD,EAA8BJ,EAAOhG,GArGrF,SAAyBoG,EAAMJ,EAAMhG,GACnC,OAAO82D,EAAezoC,EAAMjoB,EAAMpG,GAAUgG,EAAMhG,EACpD,CAsGSg5D,CAAsC5yD,EAA8BJ,EAAOhG,EACpF,oBCzaAH,EAAOC,QAAU4F,MAAMC,SAAW,SAAUszD,GAC1C,MAA8C,kBAAvC7zD,OAAOC,UAAUyF,SAASxF,KAAK2zD,EACxC,oCCOA,IAAIC,EAAuBv5D,EAAQ,MAEnC,SAASw5D,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3Ct5D,EAAOC,QAAU,WACf,SAASw5D,EAAK7vD,EAAO8vD,EAAUC,EAAeryD,EAAUsyD,EAAcC,GACpE,GAAIA,IAAWR,EAAf,CAIA,IAAIx2D,EAAM,IAAID,MACZ,mLAKF,MADAC,EAAIiO,KAAO,sBACLjO,CAPN,CAQF,CAEA,SAASi3D,IACP,OAAOL,CACT,CAHAA,EAAKM,WAAaN,EAMlB,IAAIO,EAAiB,CACnBC,MAAOR,EACPS,OAAQT,EACRU,KAAMV,EACNW,KAAMX,EACN7tC,OAAQ6tC,EACRY,OAAQZ,EACR9iB,OAAQ8iB,EACRa,OAAQb,EAERc,IAAKd,EACLe,QAASV,EACTvyB,QAASkyB,EACThyB,YAAagyB,EACbgB,WAAYX,EACZ9gD,KAAMygD,EACNiB,SAAUZ,EACVa,MAAOb,EACPc,UAAWd,EACXh9B,MAAOg9B,EACPe,MAAOf,EAEPgB,eAAgBvB,EAChBC,kBAAmBF,GAKrB,OAFAU,EAAee,UAAYf,EAEpBA,CACT,wBC/CEh6D,EAAOC,QAAUH,EAAQ,IAARA,kCCNnBE,EAAOC,QAFoB,iFCP3B,SAAS+6D,EAAQ11D,GAAkC,OAAO01D,EAAU,mBAAqBvoD,QAAU,iBAAmBA,OAAOkF,SAAW,SAAUrS,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBmN,QAAUnN,EAAI0Q,cAAgBvD,QAAUnN,IAAQmN,OAAOjN,UAAY,gBAAkBF,CAAK,EAAG01D,EAAQ11D,EAAM,CAE/UC,OAAOoM,eAAe1R,EAAS,aAAc,CAC3CyW,OAAO,IAETzW,EAAQg7D,qBAAkB,EAE1B,IAAIC,EAASC,EAAuBr7D,EAAQ,OAExCs7D,EAAmBD,EAAuBr7D,EAAQ,OAElDu7D,EAAY,CAAC,OAAQ,SAAU,UAAW,YAE9C,SAASF,EAAuB71D,GAAO,OAAOA,GAAOA,EAAIg2D,WAAah2D,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASi2D,EAAQlB,EAAQmB,GAAkB,IAAIr1D,EAAOZ,OAAOY,KAAKk0D,GAAS,GAAI90D,OAAOsM,sBAAuB,CAAE,IAAI0kC,EAAUhxC,OAAOsM,sBAAsBwoD,GAASmB,IAAmBjlB,EAAUA,EAAQztC,QAAO,SAAU2yD,GAAO,OAAOl2D,OAAOuM,yBAAyBuoD,EAAQoB,GAAKC,UAAY,KAAKv1D,EAAK0C,KAAKF,MAAMxC,EAAMowC,EAAU,CAAE,OAAOpwC,CAAM,CAEpV,SAASw1D,EAAc3c,GAAU,IAAK,IAAIl7C,EAAI,EAAGA,EAAI8E,UAAU3E,OAAQH,IAAK,CAAE,IAAI4yD,EAAS,MAAQ9tD,UAAU9E,GAAK8E,UAAU9E,GAAK,CAAC,EAAGA,EAAI,EAAIy3D,EAAQh2D,OAAOmxD,IAAS,GAAIvtD,SAAQ,SAAU9C,GAAOu1D,EAAgB5c,EAAQ34C,EAAKqwD,EAAOrwD,GAAO,IAAKd,OAAOs2D,0BAA4Bt2D,OAAOu2D,iBAAiB9c,EAAQz5C,OAAOs2D,0BAA0BnF,IAAW6E,EAAQh2D,OAAOmxD,IAASvtD,SAAQ,SAAU9C,GAAOd,OAAOoM,eAAeqtC,EAAQ34C,EAAKd,OAAOuM,yBAAyB4kD,EAAQrwD,GAAO,GAAI,CAAE,OAAO24C,CAAQ,CAEzf,SAAS+c,EAAyBrF,EAAQsF,GAAY,GAAc,MAAVtF,EAAgB,MAAO,CAAC,EAAG,IAAkErwD,EAAKvC,EAAnEk7C,EAEzF,SAAuC0X,EAAQsF,GAAY,GAAc,MAAVtF,EAAgB,MAAO,CAAC,EAAG,IAA2DrwD,EAAKvC,EAA5Dk7C,EAAS,CAAC,EAAOid,EAAa12D,OAAOY,KAAKuwD,GAAqB,IAAK5yD,EAAI,EAAGA,EAAIm4D,EAAWh4D,OAAQH,IAAOuC,EAAM41D,EAAWn4D,GAAQk4D,EAASp1D,QAAQP,IAAQ,IAAa24C,EAAO34C,GAAOqwD,EAAOrwD,IAAQ,OAAO24C,CAAQ,CAFhNkd,CAA8BxF,EAAQsF,GAAuB,GAAIz2D,OAAOsM,sBAAuB,CAAE,IAAIsqD,EAAmB52D,OAAOsM,sBAAsB6kD,GAAS,IAAK5yD,EAAI,EAAGA,EAAIq4D,EAAiBl4D,OAAQH,IAAOuC,EAAM81D,EAAiBr4D,GAAQk4D,EAASp1D,QAAQP,IAAQ,GAAkBd,OAAOC,UAAU6wD,qBAAqB5wD,KAAKixD,EAAQrwD,KAAgB24C,EAAO34C,GAAOqwD,EAAOrwD,GAAQ,CAAE,OAAO24C,CAAQ,CAM3e,SAASod,EAAkBpd,EAAQp1C,GAAS,IAAK,IAAI9F,EAAI,EAAGA,EAAI8F,EAAM3F,OAAQH,IAAK,CAAE,IAAI0O,EAAa5I,EAAM9F,GAAI0O,EAAWkpD,WAAalpD,EAAWkpD,aAAc,EAAOlpD,EAAW6pD,cAAe,EAAU,UAAW7pD,IAAYA,EAAW8pD,UAAW,GAAM/2D,OAAOoM,eAAeqtC,EAAQxsC,EAAWnM,IAAKmM,EAAa,CAAE,CAM5T,SAAS+pD,EAAgBC,EAAGtpD,GAA+G,OAA1GqpD,EAAkBh3D,OAAOiQ,gBAAkB,SAAyBgnD,EAAGtpD,GAAsB,OAAjBspD,EAAE/mD,UAAYvC,EAAUspD,CAAG,EAAUD,EAAgBC,EAAGtpD,EAAI,CAEzK,SAASupD,EAAaC,GAAW,IAAIC,EAMrC,WAAuC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQx3D,UAAUH,QAAQI,KAAKm3D,QAAQC,UAAUG,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOp7D,GAAK,OAAO,CAAO,CAAE,CANvQq7D,GAA6B,OAAO,WAAkC,IAAsC/3D,EAAlCg4D,EAAQC,EAAgBT,GAAkB,GAAIC,EAA2B,CAAE,IAAIS,EAAYD,EAAgBpnD,MAAMC,YAAa9Q,EAAS03D,QAAQC,UAAUK,EAAOt0D,UAAWw0D,EAAY,MAASl4D,EAASg4D,EAAMv0D,MAAMoN,KAAMnN,WAAc,OAEpX,SAAoCy0D,EAAM53D,GAAQ,GAAIA,IAA2B,WAAlBu1D,EAAQv1D,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAImQ,UAAU,4DAA+D,OAAO0nD,EAAuBD,EAAO,CAF4FE,CAA2BxnD,KAAM7Q,EAAS,CAAG,CAIxa,SAASo4D,EAAuBD,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIG,eAAe,6DAAgE,OAAOH,CAAM,CAIrK,SAASF,EAAgBX,GAAwJ,OAAnJW,EAAkB53D,OAAOiQ,eAAiBjQ,OAAOwM,eAAiB,SAAyByqD,GAAK,OAAOA,EAAE/mD,WAAalQ,OAAOwM,eAAeyqD,EAAI,EAAUW,EAAgBX,EAAI,CAE5M,SAASZ,EAAgBt2D,EAAKe,EAAKqQ,GAAiK,OAApJrQ,KAAOf,EAAOC,OAAOoM,eAAerM,EAAKe,EAAK,CAAEqQ,MAAOA,EAAOglD,YAAY,EAAMW,cAAc,EAAMC,UAAU,IAAkBh3D,EAAIe,GAAOqQ,EAAgBpR,CAAK,CAEhN,IAAI21D,EAA+B,SAAUwC,IAhB7C,SAAmBC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/nD,UAAU,sDAAyD8nD,EAASl4D,UAAYD,OAAO0Q,OAAO0nD,GAAcA,EAAWn4D,UAAW,CAAEwQ,YAAa,CAAEU,MAAOgnD,EAAUpB,UAAU,EAAMD,cAAc,KAAW92D,OAAOoM,eAAe+rD,EAAU,YAAa,CAAEpB,UAAU,IAAcqB,GAAYpB,EAAgBmB,EAAUC,EAAa,CAiBjcC,CAAU3C,EAAiBwC,GAE3B,IArBoBI,EAAaC,EAAYC,EAqBzC9sB,EAASwrB,EAAaxB,GAE1B,SAASA,IACP,IAAI/pB,GA5BR,SAAyB8sB,EAAUH,GAAe,KAAMG,aAAoBH,GAAgB,MAAM,IAAIjoD,UAAU,oCAAwC,CA8BpJqoD,CAAgBloD,KAAMklD,GAEtB,IAAK,IAAIjyD,EAAOJ,UAAU3E,OAAQgF,EAAO,IAAIpD,MAAMmD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQN,UAAUM,GA0BzB,OArBA0yD,EAAgB0B,EAFhBpsB,EAAQD,EAAOxrC,KAAKkD,MAAMsoC,EAAQ,CAACl7B,MAAMlR,OAAOoE,KAED,WAAW,SAAUqC,GAClE,IAAI4yD,EAAchtB,EAAMtnC,MACpB1J,EAAOg+D,EAAYh+D,KACnBoC,EAAS47D,EAAY57D,OACrB67D,EAAWD,EAAYC,SACvBh+D,EAAU+9D,EAAY/9D,QAEtBi+D,EAAOlD,EAAgB,QAAEmD,SAASC,KAAKH,GAEvCj5D,GAAS,EAAIk2D,EAA0B,SAAGl7D,EAAMC,GAEhDmC,GACFA,EAAOpC,EAAMgF,GAIXk5D,GAAQA,EAAKx0D,OAAuC,oBAAvBw0D,EAAKx0D,MAAM20D,SAC1CH,EAAKx0D,MAAM20D,QAAQjzD,EAEvB,IAEO4lC,CACT,CAoBA,OA5EoB2sB,EA0DP5C,GA1DoB6C,EA0DH,CAAC,CAC7Bz3D,IAAK,SACLqQ,MAAO,WACL,IAAI8nD,EAAezoD,KAAKnM,MAIpBu0D,GAHQK,EAAat+D,KACXs+D,EAAal8D,OACZk8D,EAAar+D,QACbq+D,EAAaL,UACxBv0D,EAAQmyD,EAAyByC,EAAcnD,GAE/C+C,EAAOlD,EAAgB,QAAEmD,SAASC,KAAKH,GAE3C,OAAoBjD,EAAgB,QAAEuD,aAAaL,EAAMzC,EAAcA,EAAc,CAAC,EAAG/xD,GAAQ,CAAC,EAAG,CACnG20D,QAASxoD,KAAKwoD,UAElB,MAzE0EnC,EAAkByB,EAAYr4D,UAAWs4D,GAAiBC,GAAa3B,EAAkByB,EAAaE,GAAcx4D,OAAOoM,eAAeksD,EAAa,YAAa,CAAEvB,UAAU,IA4ErPrB,CACT,CA3DmC,CA2DjCC,EAAgB,QAAEwD,eAEpBz+D,EAAQg7D,gBAAkBA,EAE1BW,EAAgBX,EAAiB,eAAgB,CAC/C34D,YAAQ+B,EACRlE,aAASkE,uCC9GX,IACI42D,EADWn7D,EAAQ,KACQm7D,gBAE/BA,EAAgBA,gBAAkBA,EAClCj7D,EAAOC,QAAUg7D,qCCKJ,IAAI0D,EAAG7+D,EAAQ,MAASmT,EAAEnT,EAAQ,MAAiBsT,EAAEtT,EAAQ,MAAa,SAAS2T,EAAE9N,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEgN,EAAE,EAAEA,EAAE/J,UAAU3E,OAAO0O,IAAI/M,GAAG,WAAWqoC,mBAAmBrlC,UAAU+J,IAAI,MAAM,yBAAyBhN,EAAE,WAAWC,EAAE,gHAAgH,CAAC,IAAI+4D,EAAG,MAAM/7D,MAAM6Q,EAAE,MAAM,IAAImrD,EAAG,IAAIC,IAAIC,EAAG,CAAC,EAAE,SAASC,EAAGp5D,EAAEC,GAAGo5D,EAAGr5D,EAAEC,GAAGo5D,EAAGr5D,EAAE,UAAUC,EAAE,CAC7e,SAASo5D,EAAGr5D,EAAEC,GAAW,IAARk5D,EAAGn5D,GAAGC,EAAMD,EAAE,EAAEA,EAAEC,EAAE3B,OAAO0B,IAAIi5D,EAAGxmD,IAAIxS,EAAED,GAAG,CAC5D,IAAIs5D,IAAK,qBAAqB98D,QAAQ,qBAAqBA,OAAOxB,UAAU,qBAAqBwB,OAAOxB,SAASG,eAAeo+D,EAAG,8VAA8VC,EAAG55D,OAAOC,UAAUkQ,eACrf0pD,EAAG,CAAC,EAAEC,EAAG,CAAC,EAC8M,SAASC,EAAE35D,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,EAAEC,GAAGiD,KAAKwpD,gBAAgB,IAAI35D,GAAG,IAAIA,GAAG,IAAIA,EAAEmQ,KAAKypD,cAAc5sD,EAAEmD,KAAK0pD,mBAAmB79D,EAAEmU,KAAK2pD,gBAAgB/sD,EAAEoD,KAAK4pD,aAAah6D,EAAEoQ,KAAKnF,KAAKhL,EAAEmQ,KAAK6pD,YAAY/sD,EAAEkD,KAAK8pD,kBAAkB/sD,CAAC,CAAC,IAAIgtD,EAAE,CAAC,EACpb,uIAAuIt7D,MAAM,KAAK2E,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAewD,SAAQ,SAASxD,GAAG,IAAIC,EAAED,EAAE,GAAGm6D,EAAEl6D,GAAG,IAAI05D,EAAE15D,EAAE,GAAE,EAAGD,EAAE,GAAG,MAAK,GAAG,EAAG,IAAG,CAAC,kBAAkB,YAAY,aAAa,SAASwD,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAEgB,cAAc,MAAK,GAAG,EAAG,IAC1e,CAAC,cAAc,4BAA4B,YAAY,iBAAiBwC,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,8OAA8OnB,MAAM,KAAK2E,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAEgB,cAAc,MAAK,GAAG,EAAG,IACxb,CAAC,UAAU,WAAW,QAAQ,YAAYwC,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,YAAYwD,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,OAAO,OAAO,OAAO,QAAQwD,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,SAASwD,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAEgB,cAAc,MAAK,GAAG,EAAG,IAAG,IAAIo5D,EAAG,gBAAgB,SAASC,EAAGr6D,GAAG,OAAOA,EAAE,GAAGypB,aAAa,CAIxZ,SAAS6wC,EAAGt6D,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAEk+D,EAAEpqD,eAAe9P,GAAGk6D,EAAEl6D,GAAG,MAAW,OAAOhE,EAAE,IAAIA,EAAEgP,MAAKgC,IAAO,EAAEhN,EAAE3B,SAAS,MAAM2B,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,QAPnJ,SAAYD,EAAEC,EAAE+M,EAAEC,GAAG,GAAG,OAAOhN,GAAG,qBAAqBA,GADwE,SAAYD,EAAEC,EAAE+M,EAAEC,GAAG,GAAG,OAAOD,GAAG,IAAIA,EAAE/B,KAAK,OAAM,EAAG,cAAchL,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGgN,IAAc,OAAOD,GAASA,EAAE4sD,gBAAmD,WAAnC55D,EAAEA,EAAEgB,cAAcI,MAAM,EAAE,KAAsB,UAAUpB,GAAE,QAAQ,OAAM,EAAG,CAClUu6D,CAAGv6D,EAAEC,EAAE+M,EAAEC,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOD,EAAE,OAAOA,EAAE/B,MAAM,KAAK,EAAE,OAAOhL,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAOu6D,MAAMv6D,GAAG,KAAK,EAAE,OAAOu6D,MAAMv6D,IAAI,EAAEA,EAAE,OAAM,CAAE,CAOvDw6D,CAAGx6D,EAAE+M,EAAE/Q,EAAEgR,KAAKD,EAAE,MAAMC,GAAG,OAAOhR,EARpL,SAAY+D,GAAG,QAAGw5D,EAAG15D,KAAK45D,EAAG15D,KAAew5D,EAAG15D,KAAK25D,EAAGz5D,KAAeu5D,EAAGl8D,KAAK2C,GAAU05D,EAAG15D,IAAG,GAAGy5D,EAAGz5D,IAAG,GAAS,GAAE,CAQoE06D,CAAGz6D,KAAK,OAAO+M,EAAEhN,EAAE26D,gBAAgB16D,GAAGD,EAAE+rC,aAAa9rC,EAAE,GAAG+M,IAAI/Q,EAAE89D,gBAAgB/5D,EAAE/D,EAAE+9D,cAAc,OAAOhtD,EAAE,IAAI/Q,EAAEgP,MAAQ,GAAG+B,GAAG/M,EAAEhE,EAAE49D,cAAc5sD,EAAEhR,EAAE69D,mBAAmB,OAAO9sD,EAAEhN,EAAE26D,gBAAgB16D,IAAa+M,EAAE,KAAX/Q,EAAEA,EAAEgP,OAAc,IAAIhP,IAAG,IAAK+Q,EAAE,GAAG,GAAGA,EAAEC,EAAEjN,EAAEmoC,eAAel7B,EAAEhN,EAAE+M,GAAGhN,EAAE+rC,aAAa9rC,EAAE+M,KAAK,CAHje,0jCAA0jCnO,MAAM,KAAK2E,SAAQ,SAASxD,GAAG,IAAIC,EAAED,EAAExC,QAAQ48D,EACzmCC,GAAIF,EAAEl6D,GAAG,IAAI05D,EAAE15D,EAAE,GAAE,EAAGD,EAAE,MAAK,GAAG,EAAG,IAAG,2EAA2EnB,MAAM,KAAK2E,SAAQ,SAASxD,GAAG,IAAIC,EAAED,EAAExC,QAAQ48D,EAAGC,GAAIF,EAAEl6D,GAAG,IAAI05D,EAAE15D,EAAE,GAAE,EAAGD,EAAE,gCAA+B,GAAG,EAAG,IAAG,CAAC,WAAW,WAAW,aAAawD,SAAQ,SAASxD,GAAG,IAAIC,EAAED,EAAExC,QAAQ48D,EAAGC,GAAIF,EAAEl6D,GAAG,IAAI05D,EAAE15D,EAAE,GAAE,EAAGD,EAAE,wCAAuC,GAAG,EAAG,IAAG,CAAC,WAAW,eAAewD,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAEgB,cAAc,MAAK,GAAG,EAAG,IACldm5D,EAAES,UAAU,IAAIjB,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAcn2D,SAAQ,SAASxD,GAAGm6D,EAAEn6D,GAAG,IAAI25D,EAAE35D,EAAE,GAAE,EAAGA,EAAEgB,cAAc,MAAK,GAAG,EAAG,IAE5L,IAAI65D,EAAG7B,EAAG8B,mDAAmDC,EAAG,MAAMC,EAAG,MAAM32D,EAAG,MAAM42D,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAChN,GAAG,oBAAoBhvD,QAAQA,OAAOC,IAAI,CAAC,IAAImT,EAAEpT,OAAOC,IAAIguD,EAAG76C,EAAE,iBAAiB86C,EAAG96C,EAAE,gBAAgB7b,EAAG6b,EAAE,kBAAkB+6C,EAAG/6C,EAAE,qBAAqBg7C,EAAGh7C,EAAE,kBAAkBi7C,EAAGj7C,EAAE,kBAAkBk7C,EAAGl7C,EAAE,iBAAiBm7C,EAAGn7C,EAAE,qBAAqBo7C,EAAGp7C,EAAE,kBAAkBq7C,EAAGr7C,EAAE,uBAAuBs7C,EAAGt7C,EAAE,cAAcu7C,EAAGv7C,EAAE,cAAcw7C,EAAGx7C,EAAE,eAAeA,EAAE,eAAey7C,EAAGz7C,EAAE,mBAAmB07C,EAAG17C,EAAE,0BAA0B27C,EAAG37C,EAAE,mBAAmB47C,EAAG57C,EAAE,sBAAsB,CAC9d,IAAmL67C,EAA/KC,EAAG,oBAAoBlvD,QAAQA,OAAOkF,SAAS,SAASiqD,EAAGj8D,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAEg8D,GAAIh8D,EAAEg8D,IAAKh8D,EAAE,eAA0CA,EAAE,IAAI,CAAQ,SAASk8D,EAAGl8D,GAAG,QAAG,IAAS+7D,EAAG,IAAI,MAAM9+D,OAAQ,CAAC,MAAM+P,GAAG,IAAI/M,EAAE+M,EAAEq2C,MAAM5Z,OAAOwR,MAAM,gBAAgB8gB,EAAG97D,GAAGA,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK87D,EAAG/7D,CAAC,CAAC,IAAIm8D,GAAG,EACjU,SAASC,EAAGp8D,EAAEC,GAAG,IAAID,GAAGm8D,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAInvD,EAAE/P,MAAMo/D,kBAAkBp/D,MAAMo/D,uBAAkB,EAAO,IAAI,GAAGp8D,EAAE,GAAGA,EAAE,WAAW,MAAMhD,OAAQ,EAAE2C,OAAOoM,eAAe/L,EAAEJ,UAAU,QAAQ,CAACy8D,IAAI,WAAW,MAAMr/D,OAAQ,IAAI,kBAAkBg6D,SAASA,QAAQC,UAAU,CAAC,IAAID,QAAQC,UAAUj3D,EAAE,GAAG,CAAC,MAAM7B,GAAG,IAAI6O,EAAE7O,CAAC,CAAC64D,QAAQC,UAAUl3D,EAAE,GAAGC,EAAE,KAAK,CAAC,IAAIA,EAAEH,MAAM,CAAC,MAAM1B,GAAG6O,EAAE7O,CAAC,CAAC4B,EAAEF,KAAKG,EAAEJ,UAAU,KAAK,CAAC,IAAI,MAAM5C,OAAQ,CAAC,MAAMmB,GAAG6O,EAAE7O,CAAC,CAAC4B,GAAG,CAAC,CAAC,MAAM5B,GAAG,GAAGA,GAAG6O,GAAG,kBAAkB7O,EAAEilD,MAAM,CAAC,IAAI,IAAIpnD,EAAEmC,EAAEilD,MAAMxkD,MAAM,MACnfqO,EAAED,EAAEo2C,MAAMxkD,MAAM,MAAMsO,EAAElR,EAAEqC,OAAO,EAAE8O,EAAEF,EAAE5O,OAAO,EAAE,GAAG6O,GAAG,GAAGC,GAAGnR,EAAEkR,KAAKD,EAAEE,IAAIA,IAAI,KAAK,GAAGD,GAAG,GAAGC,EAAED,IAAIC,IAAI,GAAGnR,EAAEkR,KAAKD,EAAEE,GAAG,CAAC,GAAG,IAAID,GAAG,IAAIC,EAAG,MAAMD,IAAQ,IAAJC,GAASnR,EAAEkR,KAAKD,EAAEE,GAAG,MAAM,KAAKnR,EAAEkR,GAAG3P,QAAQ,WAAW,cAAc,GAAG2P,GAAG,GAAGC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ+uD,GAAG,EAAGl/D,MAAMo/D,kBAAkBrvD,CAAC,CAAC,OAAOhN,EAAEA,EAAEA,EAAE2K,aAAa3K,EAAEmL,KAAK,IAAI+wD,EAAGl8D,GAAG,EAAE,CAC/T,SAASu8D,EAAGv8D,GAAG,OAAOA,EAAEw8D,KAAK,KAAK,EAAE,OAAON,EAAGl8D,EAAEiL,MAAM,KAAK,GAAG,OAAOixD,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOl8D,EAAEo8D,EAAGp8D,EAAEiL,MAAK,GAAM,KAAK,GAAG,OAAOjL,EAAEo8D,EAAGp8D,EAAEiL,KAAKa,QAAO,GAAM,KAAK,GAAG,OAAO9L,EAAEo8D,EAAGp8D,EAAEiL,KAAKwxD,SAAQ,GAAM,KAAK,EAAE,OAAOz8D,EAAEo8D,EAAGp8D,EAAEiL,MAAK,GAAM,QAAQ,MAAM,GAAG,CACjU,SAASyxD,EAAG18D,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAE2K,aAAa3K,EAAEmL,MAAM,KAAK,GAAG,kBAAkBnL,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKqE,EAAG,MAAM,WAAW,KAAK22D,EAAG,MAAM,SAAS,KAAKE,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKK,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkBv7D,EAAE,OAAOA,EAAEiO,UAAU,KAAKmtD,EAAG,OAAOp7D,EAAE2K,aAAa,WAAW,YAAY,KAAKwwD,EAAG,OAAOn7D,EAAE8oB,SAASne,aAAa,WAAW,YAAY,KAAK0wD,EAAG,IAAIp7D,EAAED,EAAE8L,OACnd,OAD0d7L,EAAEA,EAAE0K,aAAa1K,EAAEkL,MAAM,GAC5enL,EAAE2K,cAAc,KAAK1K,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAKu7D,EAAG,OAAOkB,EAAG18D,EAAEiL,MAAM,KAAKywD,EAAG,OAAOgB,EAAG18D,EAAEy8D,SAAS,KAAKhB,EAAGx7D,EAAED,EAAE28D,SAAS38D,EAAEA,EAAE48D,MAAM,IAAI,OAAOF,EAAG18D,EAAEC,GAAG,CAAC,MAAM+M,GAAG,EAAE,OAAO,IAAI,CAAC,SAAS6vD,EAAG78D,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,OAAOA,EAAE,QAAQ,MAAM,GAAG,CAAC,SAAS88D,EAAG98D,GAAG,IAAIC,EAAED,EAAEiL,KAAK,OAAOjL,EAAEA,EAAEo0C,WAAW,UAAUp0C,EAAEgB,gBAAgB,aAAaf,GAAG,UAAUA,EAAE,CAE5Z,SAAS88D,EAAG/8D,GAAGA,EAAEg9D,gBAAgBh9D,EAAEg9D,cADvD,SAAYh9D,GAAG,IAAIC,EAAE68D,EAAG98D,GAAG,UAAU,QAAQgN,EAAEpN,OAAOuM,yBAAyBnM,EAAEqQ,YAAYxQ,UAAUI,GAAGgN,EAAE,GAAGjN,EAAEC,GAAG,IAAID,EAAE+P,eAAe9P,IAAI,qBAAqB+M,GAAG,oBAAoBA,EAAE0K,KAAK,oBAAoB1K,EAAEsvD,IAAI,CAAC,IAAIrgE,EAAE+Q,EAAE0K,IAAIxK,EAAEF,EAAEsvD,IAAiL,OAA7K18D,OAAOoM,eAAehM,EAAEC,EAAE,CAACy2D,cAAa,EAAGh/C,IAAI,WAAW,OAAOzb,EAAE6D,KAAKsQ,KAAK,EAAEksD,IAAI,SAASt8D,GAAGiN,EAAE,GAAGjN,EAAEkN,EAAEpN,KAAKsQ,KAAKpQ,EAAE,IAAIJ,OAAOoM,eAAehM,EAAEC,EAAE,CAAC81D,WAAW/oD,EAAE+oD,aAAmB,CAACkH,SAAS,WAAW,OAAOhwD,CAAC,EAAEiwD,SAAS,SAASl9D,GAAGiN,EAAE,GAAGjN,CAAC,EAAEm9D,aAAa,WAAWn9D,EAAEg9D,cACxf,YAAYh9D,EAAEC,EAAE,EAAE,CAAC,CAAkDm9D,CAAGp9D,GAAG,CAAC,SAASq9D,EAAGr9D,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIC,EAAED,EAAEg9D,cAAc,IAAI/8D,EAAE,OAAM,EAAG,IAAI+M,EAAE/M,EAAEg9D,WAAehwD,EAAE,GAAqD,OAAlDjN,IAAIiN,EAAE6vD,EAAG98D,GAAGA,EAAE+sC,QAAQ,OAAO,QAAQ/sC,EAAE+Q,QAAO/Q,EAAEiN,KAAaD,IAAG/M,EAAEi9D,SAASl9D,IAAG,EAAM,CAAC,SAASs9D,EAAGt9D,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBhF,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOgF,EAAEu9D,eAAev9D,EAAEpD,IAAI,CAAC,MAAMqD,GAAG,OAAOD,EAAEpD,IAAI,CAAC,CACpa,SAAS4gE,EAAGx9D,EAAEC,GAAG,IAAI+M,EAAE/M,EAAE8sC,QAAQ,OAAOz/B,EAAE,CAAC,EAAErN,EAAE,CAACw9D,oBAAe,EAAOC,kBAAa,EAAO3sD,WAAM,EAAOg8B,QAAQ,MAAM//B,EAAEA,EAAEhN,EAAE29D,cAAcC,gBAAgB,CAAC,SAASC,GAAG79D,EAAEC,GAAG,IAAI+M,EAAE,MAAM/M,EAAEy9D,aAAa,GAAGz9D,EAAEy9D,aAAazwD,EAAE,MAAMhN,EAAE8sC,QAAQ9sC,EAAE8sC,QAAQ9sC,EAAEw9D,eAAezwD,EAAE6vD,EAAG,MAAM58D,EAAE8Q,MAAM9Q,EAAE8Q,MAAM/D,GAAGhN,EAAE29D,cAAc,CAACC,eAAe3wD,EAAEqK,aAAatK,EAAE8wD,WAAW,aAAa79D,EAAEgL,MAAM,UAAUhL,EAAEgL,KAAK,MAAMhL,EAAE8sC,QAAQ,MAAM9sC,EAAE8Q,MAAM,CAAC,SAASgtD,GAAG/9D,EAAEC,GAAe,OAAZA,EAAEA,EAAE8sC,UAAiButB,EAAGt6D,EAAE,UAAUC,GAAE,EAAG,CAC9d,SAASg9C,GAAGj9C,EAAEC,GAAG89D,GAAG/9D,EAAEC,GAAG,IAAI+M,EAAE6vD,EAAG58D,EAAE8Q,OAAO9D,EAAEhN,EAAEgL,KAAK,GAAG,MAAM+B,EAAK,WAAWC,GAAM,IAAID,GAAG,KAAKhN,EAAE+Q,OAAO/Q,EAAE+Q,OAAO/D,KAAEhN,EAAE+Q,MAAM,GAAG/D,GAAOhN,EAAE+Q,QAAQ,GAAG/D,IAAIhN,EAAE+Q,MAAM,GAAG/D,QAAQ,GAAG,WAAWC,GAAG,UAAUA,EAA8B,YAA3BjN,EAAE26D,gBAAgB,SAAgB16D,EAAE8P,eAAe,SAASiuD,GAAGh+D,EAAEC,EAAEgL,KAAK+B,GAAG/M,EAAE8P,eAAe,iBAAiBiuD,GAAGh+D,EAAEC,EAAEgL,KAAK4xD,EAAG58D,EAAEy9D,eAAe,MAAMz9D,EAAE8sC,SAAS,MAAM9sC,EAAEw9D,iBAAiBz9D,EAAEy9D,iBAAiBx9D,EAAEw9D,eAAe,CACla,SAASQ,GAAGj+D,EAAEC,EAAE+M,GAAG,GAAG/M,EAAE8P,eAAe,UAAU9P,EAAE8P,eAAe,gBAAgB,CAAC,IAAI9C,EAAEhN,EAAEgL,KAAK,KAAK,WAAWgC,GAAG,UAAUA,QAAG,IAAShN,EAAE8Q,OAAO,OAAO9Q,EAAE8Q,OAAO,OAAO9Q,EAAE,GAAGD,EAAE29D,cAAcrmD,aAAatK,GAAG/M,IAAID,EAAE+Q,QAAQ/Q,EAAE+Q,MAAM9Q,GAAGD,EAAE09D,aAAaz9D,CAAC,CAAU,MAAT+M,EAAEhN,EAAEmL,QAAcnL,EAAEmL,KAAK,IAAInL,EAAEy9D,iBAAiBz9D,EAAE29D,cAAcC,eAAe,KAAK5wD,IAAIhN,EAAEmL,KAAK6B,EAAE,CACzV,SAASgxD,GAAGh+D,EAAEC,EAAE+M,GAAM,WAAW/M,GAAGq9D,EAAGt9D,EAAEmqC,iBAAiBnqC,IAAE,MAAMgN,EAAEhN,EAAE09D,aAAa,GAAG19D,EAAE29D,cAAcrmD,aAAatX,EAAE09D,eAAe,GAAG1wD,IAAIhN,EAAE09D,aAAa,GAAG1wD,GAAE,CAAsF,SAASkxD,GAAGl+D,EAAEC,GAA6D,OAA1DD,EAAEsN,EAAE,CAACkrD,cAAS,GAAQv4D,IAAMA,EAAlI,SAAYD,GAAG,IAAIC,EAAE,GAAuD,OAApD+4D,EAAGN,SAASl1D,QAAQxD,GAAE,SAASA,GAAG,MAAMA,IAAIC,GAAGD,EAAE,IAAUC,CAAC,CAAgDk+D,CAAGl+D,EAAEu4D,aAAUx4D,EAAEw4D,SAASv4D,GAASD,CAAC,CACxU,SAASo+D,GAAGp+D,EAAEC,EAAE+M,EAAEC,GAAe,GAAZjN,EAAEA,EAAExF,QAAWyF,EAAE,CAACA,EAAE,CAAC,EAAE,IAAI,IAAIhE,EAAE,EAAEA,EAAE+Q,EAAE1O,OAAOrC,IAAIgE,EAAE,IAAI+M,EAAE/Q,KAAI,EAAG,IAAI+Q,EAAE,EAAEA,EAAEhN,EAAE1B,OAAO0O,IAAI/Q,EAAEgE,EAAE8P,eAAe,IAAI/P,EAAEgN,GAAG+D,OAAO/Q,EAAEgN,GAAGqxD,WAAWpiE,IAAI+D,EAAEgN,GAAGqxD,SAASpiE,GAAGA,GAAGgR,IAAIjN,EAAEgN,GAAGsxD,iBAAgB,EAAG,KAAK,CAAmB,IAAlBtxD,EAAE,GAAG6vD,EAAG7vD,GAAG/M,EAAE,KAAShE,EAAE,EAAEA,EAAE+D,EAAE1B,OAAOrC,IAAI,CAAC,GAAG+D,EAAE/D,GAAG8U,QAAQ/D,EAAiD,OAA9ChN,EAAE/D,GAAGoiE,UAAS,OAAGpxD,IAAIjN,EAAE/D,GAAGqiE,iBAAgB,IAAW,OAAOr+D,GAAGD,EAAE/D,GAAGsiE,WAAWt+D,EAAED,EAAE/D,GAAG,CAAC,OAAOgE,IAAIA,EAAEo+D,UAAS,EAAG,CAAC,CACxY,SAASG,GAAGx+D,EAAEC,GAAG,GAAG,MAAMA,EAAEw+D,wBAAwB,MAAMxhE,MAAM6Q,EAAE,KAAK,OAAOR,EAAE,CAAC,EAAErN,EAAE,CAAC8Q,WAAM,EAAO2sD,kBAAa,EAAOlF,SAAS,GAAGx4D,EAAE29D,cAAcrmD,cAAc,CAAC,SAASonD,GAAG1+D,EAAEC,GAAG,IAAI+M,EAAE/M,EAAE8Q,MAAM,GAAG,MAAM/D,EAAE,CAA+B,GAA9BA,EAAE/M,EAAEu4D,SAASv4D,EAAEA,EAAEy9D,aAAgB,MAAM1wD,EAAE,CAAC,GAAG,MAAM/M,EAAE,MAAMhD,MAAM6Q,EAAE,KAAK,GAAG5N,MAAMC,QAAQ6M,GAAG,CAAC,KAAK,GAAGA,EAAE1O,QAAQ,MAAMrB,MAAM6Q,EAAE,KAAKd,EAAEA,EAAE,EAAE,CAAC/M,EAAE+M,CAAC,CAAC,MAAM/M,IAAIA,EAAE,IAAI+M,EAAE/M,CAAC,CAACD,EAAE29D,cAAc,CAACrmD,aAAaulD,EAAG7vD,GAAG,CAClZ,SAAS2xD,GAAG3+D,EAAEC,GAAG,IAAI+M,EAAE6vD,EAAG58D,EAAE8Q,OAAO9D,EAAE4vD,EAAG58D,EAAEy9D,cAAc,MAAM1wD,KAAIA,EAAE,GAAGA,KAAMhN,EAAE+Q,QAAQ/Q,EAAE+Q,MAAM/D,GAAG,MAAM/M,EAAEy9D,cAAc19D,EAAE09D,eAAe1wD,IAAIhN,EAAE09D,aAAa1wD,IAAI,MAAMC,IAAIjN,EAAE09D,aAAa,GAAGzwD,EAAE,CAAC,SAAS2xD,GAAG5+D,GAAG,IAAIC,EAAED,EAAE5E,YAAY6E,IAAID,EAAE29D,cAAcrmD,cAAc,KAAKrX,GAAG,OAAOA,IAAID,EAAE+Q,MAAM9Q,EAAE,CAAC,IAAI4+D,GAAG,CAACC,KAAK,+BAA+BC,OAAO,qCAAqCp3B,IAAI,8BAC9X,SAASq3B,GAAGh/D,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,+BAA+B,CAAC,SAASi/D,GAAGj/D,EAAEC,GAAG,OAAO,MAAMD,GAAG,iCAAiCA,EAAEg/D,GAAG/+D,GAAG,+BAA+BD,GAAG,kBAAkBC,EAAE,+BAA+BD,CAAC,CAC5U,IAAIk/D,GAAel/D,GAAZm/D,IAAYn/D,GAAsJ,SAASA,EAAEC,GAAG,GAAGD,EAAEo/D,eAAeP,GAAGl3B,KAAK,cAAc3nC,EAAEA,EAAE+lC,UAAU9lC,MAAM,CAA2F,KAA1Fi/D,GAAGA,IAAIlkE,SAASG,cAAc,QAAU4qC,UAAU,QAAQ9lC,EAAEP,UAAU4F,WAAW,SAAarF,EAAEi/D,GAAGj5B,WAAWjmC,EAAEimC,YAAYjmC,EAAEpC,YAAYoC,EAAEimC,YAAY,KAAKhmC,EAAEgmC,YAAYjmC,EAAEnD,YAAYoD,EAAEgmC,WAAW,CAAC,EAAja,qBAAqBo5B,OAAOA,MAAMC,wBAAwB,SAASr/D,EAAE+M,EAAEC,EAAEhR,GAAGojE,MAAMC,yBAAwB,WAAW,OAAOt/D,GAAEC,EAAE+M,EAAM,GAAE,EAAEhN,IACtK,SAASu/D,GAAGv/D,EAAEC,GAAG,GAAGA,EAAE,CAAC,IAAI+M,EAAEhN,EAAEimC,WAAW,GAAGj5B,GAAGA,IAAIhN,EAAEw/D,WAAW,IAAIxyD,EAAEsiC,SAAwB,YAAdtiC,EAAEyyD,UAAUx/D,EAAS,CAACD,EAAE5E,YAAY6E,CAAC,CACtH,IAAIy/D,GAAG,CAACC,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGziC,YAAW,EAAG0iC,WAAU,EAAG9lC,YAAW,EAAG6C,SAAQ,EAAGF,OAAM,EAAGojC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGxjC,QAAO,EAAGyjC,MAAK,EAAGC,aAAY,EAC1fC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIC,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAGjiE,EAAEC,EAAE+M,GAAG,OAAO,MAAM/M,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAG+M,GAAG,kBAAkB/M,GAAG,IAAIA,GAAGy/D,GAAG3vD,eAAe/P,IAAI0/D,GAAG1/D,IAAI,GAAGC,GAAGwpC,OAAOxpC,EAAE,IAAI,CACla,SAASiiE,GAAGliE,EAAEC,GAAa,IAAI,IAAI+M,KAAlBhN,EAAEA,EAAE1E,MAAmB2E,EAAE,GAAGA,EAAE8P,eAAe/C,GAAG,CAAC,IAAIC,EAAE,IAAID,EAAE/L,QAAQ,MAAMhF,EAAEgmE,GAAGj1D,EAAE/M,EAAE+M,GAAGC,GAAG,UAAUD,IAAIA,EAAE,YAAYC,EAAEjN,EAAEu5C,YAAYvsC,EAAE/Q,GAAG+D,EAAEgN,GAAG/Q,CAAC,CAAC,CADX2D,OAAOY,KAAKk/D,IAAIl8D,SAAQ,SAASxD,GAAGgiE,GAAGx+D,SAAQ,SAASvD,GAAGA,EAAEA,EAAED,EAAEjC,OAAO,GAAG0rB,cAAczpB,EAAEoI,UAAU,GAAGs3D,GAAGz/D,GAAGy/D,GAAG1/D,EAAE,GAAE,IACzG,IAAImiE,GAAG70D,EAAE,CAAC80D,UAAS,GAAI,CAACC,MAAK,EAAGC,MAAK,EAAGC,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,IAAG,EAAG37B,KAAI,EAAG+F,OAAM,EAAG61B,QAAO,EAAGzoB,MAAK,EAAG0oB,MAAK,EAAGC,OAAM,EAAG9R,QAAO,EAAG+R,OAAM,EAAGC,KAAI,IAClT,SAASC,GAAGhjE,EAAEC,GAAG,GAAGA,EAAE,CAAC,GAAGkiE,GAAGniE,KAAK,MAAMC,EAAEu4D,UAAU,MAAMv4D,EAAEw+D,yBAAyB,MAAMxhE,MAAM6Q,EAAE,IAAI9N,IAAI,GAAG,MAAMC,EAAEw+D,wBAAwB,CAAC,GAAG,MAAMx+D,EAAEu4D,SAAS,MAAMv7D,MAAM6Q,EAAE,KAAK,GAAK,kBAAkB7N,EAAEw+D,2BAAyB,WAAWx+D,EAAEw+D,yBAAyB,MAAMxhE,MAAM6Q,EAAE,IAAK,CAAC,GAAG,MAAM7N,EAAE3E,OAAO,kBAAkB2E,EAAE3E,MAAM,MAAM2B,MAAM6Q,EAAE,IAAK,CAAC,CAClW,SAASm1D,GAAGjjE,EAAEC,GAAG,IAAI,IAAID,EAAEiB,QAAQ,KAAK,MAAM,kBAAkBhB,EAAEijE,GAAG,OAAOljE,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,SAASmjE,GAAGnjE,GAA6F,OAA1FA,EAAEA,EAAEq5C,QAAQr5C,EAAEojE,YAAY5mE,QAAS6mE,0BAA0BrjE,EAAEA,EAAEqjE,yBAAgC,IAAIrjE,EAAEsvC,SAAStvC,EAAEsqC,WAAWtqC,CAAC,CAAC,IAAIsjE,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACxb,SAASC,GAAGzjE,GAAG,GAAGA,EAAE0jE,GAAG1jE,GAAG,CAAC,GAAG,oBAAoBsjE,GAAG,MAAMrmE,MAAM6Q,EAAE,MAAM,IAAI7N,EAAED,EAAE2jE,UAAU1jE,IAAIA,EAAE2jE,GAAG3jE,GAAGqjE,GAAGtjE,EAAE2jE,UAAU3jE,EAAEiL,KAAKhL,GAAG,CAAC,CAAC,SAAS4jE,GAAG7jE,GAAGujE,GAAGC,GAAGA,GAAGtgE,KAAKlD,GAAGwjE,GAAG,CAACxjE,GAAGujE,GAAGvjE,CAAC,CAAC,SAAS8jE,KAAK,GAAGP,GAAG,CAAC,IAAIvjE,EAAEujE,GAAGtjE,EAAEujE,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAGzjE,GAAMC,EAAE,IAAID,EAAE,EAAEA,EAAEC,EAAE3B,OAAO0B,IAAIyjE,GAAGxjE,EAAED,GAAG,CAAC,CAAC,SAAS+jE,GAAG/jE,EAAEC,GAAG,OAAOD,EAAEC,EAAE,CAAC,SAAS+jE,GAAGhkE,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,OAAO+D,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAE,CAAC,SAASgoE,KAAK,CAAC,IAAIC,GAAGH,GAAGI,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAQ,OAAOd,IAAI,OAAOC,KAAGS,KAAKH,KAAI,CAEla,SAASQ,GAAGtkE,EAAEC,GAAG,IAAI+M,EAAEhN,EAAE2jE,UAAU,GAAG,OAAO32D,EAAE,OAAO,KAAK,IAAIC,EAAE22D,GAAG52D,GAAG,GAAG,OAAOC,EAAE,OAAO,KAAKD,EAAEC,EAAEhN,GAAGD,EAAE,OAAOC,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBgN,GAAGA,EAAEsxD,YAAqBtxD,IAAI,YAAbjN,EAAEA,EAAEiL,OAAuB,UAAUjL,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGiN,EAAE,MAAMjN,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGgN,GAAG,oBACleA,EAAE,MAAM/P,MAAM6Q,EAAE,IAAI7N,SAAS+M,IAAI,OAAOA,CAAC,CAAC,IAAIu3D,IAAG,EAAG,GAAGjL,EAAG,IAAI,IAAIkL,GAAG,CAAC,EAAE5kE,OAAOoM,eAAew4D,GAAG,UAAU,CAAC9sD,IAAI,WAAW6sD,IAAG,CAAE,IAAI/nE,OAAOR,iBAAiB,OAAOwoE,GAAGA,IAAIhoE,OAAOqK,oBAAoB,OAAO29D,GAAGA,GAAG,CAAC,MAAMxkE,IAAGukE,IAAG,CAAE,CAAC,SAASE,GAAGzkE,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,EAAEC,EAAEC,EAAEhP,GAAG,IAAIiP,EAAEnN,MAAML,UAAUuB,MAAMtB,KAAKmD,UAAU,GAAG,IAAIhD,EAAE+C,MAAMgK,EAAEK,EAAE,CAAC,MAAMhP,GAAG+R,KAAKs0D,QAAQrmE,EAAE,CAAC,CAAC,IAAIsmE,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAAS1kE,GAAG2kE,IAAG,EAAGC,GAAG5kE,CAAC,GAAG,SAASglE,GAAGhlE,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,EAAEC,EAAEC,EAAEhP,GAAGumE,IAAG,EAAGC,GAAG,KAAKH,GAAGzhE,MAAM+hE,GAAG9hE,UAAU,CACjW,SAASgiE,GAAGjlE,GAAG,IAAIC,EAAED,EAAEgN,EAAEhN,EAAE,GAAGA,EAAEklE,UAAU,KAAKjlE,EAAEklE,QAAQllE,EAAEA,EAAEklE,WAAW,CAACnlE,EAAEC,EAAE,GAAO,KAAa,MAAjBA,EAAED,GAASmkB,SAAcnX,EAAE/M,EAAEklE,QAAQnlE,EAAEC,EAAEklE,aAAanlE,EAAE,CAAC,OAAO,IAAIC,EAAEu8D,IAAIxvD,EAAE,IAAI,CAAC,SAASo4D,GAAGplE,GAAG,GAAG,KAAKA,EAAEw8D,IAAI,CAAC,IAAIv8D,EAAED,EAAEqlE,cAAsE,GAAxD,OAAOplE,IAAkB,QAAdD,EAAEA,EAAEklE,aAAqBjlE,EAAED,EAAEqlE,gBAAmB,OAAOplE,EAAE,OAAOA,EAAEqlE,UAAU,CAAC,OAAO,IAAI,CAAC,SAASC,GAAGvlE,GAAG,GAAGilE,GAAGjlE,KAAKA,EAAE,MAAM/C,MAAM6Q,EAAE,KAAM,CAE1S,SAAS03D,GAAGxlE,GAAW,GAARA,EADtN,SAAYA,GAAG,IAAIC,EAAED,EAAEklE,UAAU,IAAIjlE,EAAE,CAAS,GAAG,QAAXA,EAAEglE,GAAGjlE,IAAe,MAAM/C,MAAM6Q,EAAE,MAAM,OAAO7N,IAAID,EAAE,KAAKA,CAAC,CAAC,IAAI,IAAIgN,EAAEhN,EAAEiN,EAAEhN,IAAI,CAAC,IAAIhE,EAAE+Q,EAAEm4D,OAAO,GAAG,OAAOlpE,EAAE,MAAM,IAAIiR,EAAEjR,EAAEipE,UAAU,GAAG,OAAOh4D,EAAE,CAAY,GAAG,QAAdD,EAAEhR,EAAEkpE,QAAmB,CAACn4D,EAAEC,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAGhR,EAAEs6C,QAAQrpC,EAAEqpC,MAAM,CAAC,IAAIrpC,EAAEjR,EAAEs6C,MAAMrpC,GAAG,CAAC,GAAGA,IAAIF,EAAE,OAAOu4D,GAAGtpE,GAAG+D,EAAE,GAAGkN,IAAID,EAAE,OAAOs4D,GAAGtpE,GAAGgE,EAAEiN,EAAEA,EAAEu4D,OAAO,CAAC,MAAMxoE,MAAM6Q,EAAE,KAAM,CAAC,GAAGd,EAAEm4D,SAASl4D,EAAEk4D,OAAOn4D,EAAE/Q,EAAEgR,EAAEC,MAAM,CAAC,IAAI,IAAIC,GAAE,EAAGC,EAAEnR,EAAEs6C,MAAMnpC,GAAG,CAAC,GAAGA,IAAIJ,EAAE,CAACG,GAAE,EAAGH,EAAE/Q,EAAEgR,EAAEC,EAAE,KAAK,CAAC,GAAGE,IAAIH,EAAE,CAACE,GAAE,EAAGF,EAAEhR,EAAE+Q,EAAEE,EAAE,KAAK,CAACE,EAAEA,EAAEq4D,OAAO,CAAC,IAAIt4D,EAAE,CAAC,IAAIC,EAAEF,EAAEqpC,MAAMnpC,GAAG,CAAC,GAAGA,IAC5fJ,EAAE,CAACG,GAAE,EAAGH,EAAEE,EAAED,EAAEhR,EAAE,KAAK,CAAC,GAAGmR,IAAIH,EAAE,CAACE,GAAE,EAAGF,EAAEC,EAAEF,EAAE/Q,EAAE,KAAK,CAACmR,EAAEA,EAAEq4D,OAAO,CAAC,IAAIt4D,EAAE,MAAMlQ,MAAM6Q,EAAE,KAAM,CAAC,CAAC,GAAGd,EAAEk4D,YAAYj4D,EAAE,MAAMhQ,MAAM6Q,EAAE,KAAM,CAAC,GAAG,IAAId,EAAEwvD,IAAI,MAAMv/D,MAAM6Q,EAAE,MAAM,OAAOd,EAAE22D,UAAU3nD,UAAUhP,EAAEhN,EAAEC,CAAC,CAAkBi9C,CAAGl9C,IAAOA,EAAE,OAAO,KAAK,IAAI,IAAIC,EAAED,IAAI,CAAC,GAAG,IAAIC,EAAEu8D,KAAK,IAAIv8D,EAAEu8D,IAAI,OAAOv8D,EAAE,GAAGA,EAAEs2C,MAAMt2C,EAAEs2C,MAAM4uB,OAAOllE,EAAEA,EAAEA,EAAEs2C,UAAU,CAAC,GAAGt2C,IAAID,EAAE,MAAM,MAAMC,EAAEwlE,SAAS,CAAC,IAAIxlE,EAAEklE,QAAQllE,EAAEklE,SAASnlE,EAAE,OAAO,KAAKC,EAAEA,EAAEklE,MAAM,CAACllE,EAAEwlE,QAAQN,OAAOllE,EAAEklE,OAAOllE,EAAEA,EAAEwlE,OAAO,CAAC,CAAC,OAAO,IAAI,CAChd,SAASC,GAAG1lE,EAAEC,GAAG,IAAI,IAAI+M,EAAEhN,EAAEklE,UAAU,OAAOjlE,GAAG,CAAC,GAAGA,IAAID,GAAGC,IAAI+M,EAAE,OAAM,EAAG/M,EAAEA,EAAEklE,MAAM,CAAC,OAAM,CAAE,CAAC,IAAIQ,GAAGC,GAAGC,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAIC,IAAIC,GAAG,IAAID,IAAIE,GAAG,GAAGC,GAAG,6PAA6P3nE,MAAM,KACrb,SAAS4nE,GAAGzmE,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,MAAM,CAACyqE,UAAU1mE,EAAE2mE,aAAa1mE,EAAE2mE,iBAAmB,GAAF55D,EAAK65D,YAAY5qE,EAAE6qE,iBAAiB,CAAC75D,GAAG,CAAC,SAAS85D,GAAG/mE,EAAEC,GAAG,OAAOD,GAAG,IAAK,UAAU,IAAK,WAAWimE,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAGY,OAAO/mE,EAAEgnE,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBX,GAAGU,OAAO/mE,EAAEgnE,WAAW,CACta,SAASC,GAAGlnE,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAG,OAAG,OAAOlN,GAAGA,EAAE6mE,cAAc35D,GAASlN,EAAEymE,GAAGxmE,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAG,OAAOjN,IAAY,QAARA,EAAEyjE,GAAGzjE,KAAa2lE,GAAG3lE,IAAID,IAAEA,EAAE4mE,kBAAkB35D,EAAEhN,EAAED,EAAE8mE,iBAAiB,OAAO7qE,IAAI,IAAIgE,EAAEgB,QAAQhF,IAAIgE,EAAEiD,KAAKjH,GAAU+D,EAAC,CAE/M,SAASmnE,GAAGnnE,GAAG,IAAIC,EAAEmnE,GAAGpnE,EAAEq5C,QAAQ,GAAG,OAAOp5C,EAAE,CAAC,IAAI+M,EAAEi4D,GAAGhlE,GAAG,GAAG,OAAO+M,EAAE,GAAW,MAAR/M,EAAE+M,EAAEwvD,MAAY,GAAW,QAARv8D,EAAEmlE,GAAGp4D,IAAmH,OAAtGhN,EAAE0mE,UAAUzmE,OAAE6lE,GAAG9lE,EAAEqnE,cAAa,WAAW55D,EAAE65D,yBAAyBtnE,EAAEunE,UAAS,WAAW1B,GAAG74D,EAAE,GAAE,SAAgB,GAAG,IAAI/M,GAAG+M,EAAE22D,UAAU6D,QAA8D,YAArDxnE,EAAE0mE,UAAU,IAAI15D,EAAEwvD,IAAIxvD,EAAE22D,UAAU8D,cAAc,KAAY,CAACznE,EAAE0mE,UAAU,IAAI,CAC9U,SAASgB,GAAG1nE,GAAG,GAAG,OAAOA,EAAE0mE,UAAU,OAAM,EAAG,IAAI,IAAIzmE,EAAED,EAAE8mE,iBAAiB,EAAE7mE,EAAE3B,QAAQ,CAAC,IAAI0O,EAAE26D,GAAG3nE,EAAE2mE,aAAa3mE,EAAE4mE,iBAAiB3mE,EAAE,GAAGD,EAAE6mE,aAAa,GAAG,OAAO75D,EAAE,OAAe,QAAR/M,EAAEyjE,GAAG12D,KAAa44D,GAAG3lE,GAAGD,EAAE0mE,UAAU15D,GAAE,EAAG/M,EAAEilB,OAAO,CAAC,OAAM,CAAE,CAAC,SAAS0iD,GAAG5nE,EAAEC,EAAE+M,GAAG06D,GAAG1nE,IAAIgN,EAAEg6D,OAAO/mE,EAAE,CAC3Q,SAAS4nE,KAAK,IAAI9B,IAAG,EAAG,EAAEC,GAAG1nE,QAAQ,CAAC,IAAI0B,EAAEgmE,GAAG,GAAG,GAAG,OAAOhmE,EAAE0mE,UAAU,CAAmB,QAAlB1mE,EAAE0jE,GAAG1jE,EAAE0mE,aAAqBf,GAAG3lE,GAAG,KAAK,CAAC,IAAI,IAAIC,EAAED,EAAE8mE,iBAAiB,EAAE7mE,EAAE3B,QAAQ,CAAC,IAAI0O,EAAE26D,GAAG3nE,EAAE2mE,aAAa3mE,EAAE4mE,iBAAiB3mE,EAAE,GAAGD,EAAE6mE,aAAa,GAAG,OAAO75D,EAAE,CAAChN,EAAE0mE,UAAU15D,EAAE,KAAK,CAAC/M,EAAEilB,OAAO,CAAC,OAAOllB,EAAE0mE,WAAWV,GAAG9gD,OAAO,CAAC,OAAO+gD,IAAIyB,GAAGzB,MAAMA,GAAG,MAAM,OAAOC,IAAIwB,GAAGxB,MAAMA,GAAG,MAAM,OAAOC,IAAIuB,GAAGvB,MAAMA,GAAG,MAAMC,GAAG5iE,QAAQokE,IAAItB,GAAG9iE,QAAQokE,GAAG,CACxZ,SAASE,GAAG9nE,EAAEC,GAAGD,EAAE0mE,YAAYzmE,IAAID,EAAE0mE,UAAU,KAAKX,KAAKA,IAAG,EAAGt4D,EAAEs6D,0BAA0Bt6D,EAAEu6D,wBAAwBH,KAAK,CAC1H,SAASI,GAAGjoE,GAAG,SAASC,EAAEA,GAAG,OAAO6nE,GAAG7nE,EAAED,EAAE,CAAC,GAAG,EAAEgmE,GAAG1nE,OAAO,CAACwpE,GAAG9B,GAAG,GAAGhmE,GAAG,IAAI,IAAIgN,EAAE,EAAEA,EAAEg5D,GAAG1nE,OAAO0O,IAAI,CAAC,IAAIC,EAAE+4D,GAAGh5D,GAAGC,EAAEy5D,YAAY1mE,IAAIiN,EAAEy5D,UAAU,KAAK,CAAC,CAAyF,IAAxF,OAAOT,IAAI6B,GAAG7B,GAAGjmE,GAAG,OAAOkmE,IAAI4B,GAAG5B,GAAGlmE,GAAG,OAAOmmE,IAAI2B,GAAG3B,GAAGnmE,GAAGomE,GAAG5iE,QAAQvD,GAAGqmE,GAAG9iE,QAAQvD,GAAO+M,EAAE,EAAEA,EAAEu5D,GAAGjoE,OAAO0O,KAAIC,EAAEs5D,GAAGv5D,IAAK05D,YAAY1mE,IAAIiN,EAAEy5D,UAAU,MAAM,KAAK,EAAEH,GAAGjoE,QAAiB,QAAR0O,EAAEu5D,GAAG,IAAYG,WAAYS,GAAGn6D,GAAG,OAAOA,EAAE05D,WAAWH,GAAGrhD,OAAO,CACtY,SAASgjD,GAAGloE,EAAEC,GAAG,IAAI+M,EAAE,CAAC,EAAiF,OAA/EA,EAAEhN,EAAEgB,eAAef,EAAEe,cAAcgM,EAAE,SAAShN,GAAG,SAASC,EAAE+M,EAAE,MAAMhN,GAAG,MAAMC,EAAS+M,CAAC,CAAC,IAAIm7D,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,CAAC,EAAEC,GAAG,CAAC,EACpF,SAASC,GAAG1oE,GAAG,GAAGwoE,GAAGxoE,GAAG,OAAOwoE,GAAGxoE,GAAG,IAAImoE,GAAGnoE,GAAG,OAAOA,EAAE,IAAYgN,EAAR/M,EAAEkoE,GAAGnoE,GAAK,IAAIgN,KAAK/M,EAAE,GAAGA,EAAE8P,eAAe/C,IAAIA,KAAKy7D,GAAG,OAAOD,GAAGxoE,GAAGC,EAAE+M,GAAG,OAAOhN,CAAC,CAA/Xs5D,IAAKmP,GAAGztE,SAASG,cAAc,OAAOG,MAAM,mBAAmBkB,gBAAgB2rE,GAAGC,aAAaO,iBAAiBR,GAAGE,mBAAmBM,iBAAiBR,GAAGG,eAAeK,WAAW,oBAAoBnsE,eAAe2rE,GAAGI,cAAcK,YACxO,IAAIC,GAAGH,GAAG,gBAAgBI,GAAGJ,GAAG,sBAAsBK,GAAGL,GAAG,kBAAkBM,GAAGN,GAAG,iBAAiBO,GAAG,IAAI5C,IAAI6C,GAAG,IAAI7C,IAAI8C,GAAG,CAAC,QAAQ,QAAQN,GAAG,eAAeC,GAAG,qBAAqBC,GAAG,iBAAiB,UAAU,UAAU,iBAAiB,iBAAiB,iBAAiB,iBAAiB,UAAU,UAAU,YAAY,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,oBAAoB,oBAAoB,OAAO,OAAO,aAAa,aAAa,iBAAiB,iBAAiB,YAAY,YAC/e,qBAAqB,qBAAqB,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,aAAa,aAAaC,GAAG,gBAAgB,UAAU,WAAW,SAASI,GAAGppE,EAAEC,GAAG,IAAI,IAAI+M,EAAE,EAAEA,EAAEhN,EAAE1B,OAAO0O,GAAG,EAAE,CAAC,IAAIC,EAAEjN,EAAEgN,GAAG/Q,EAAE+D,EAAEgN,EAAE,GAAG/Q,EAAE,MAAMA,EAAE,GAAGwtB,cAAcxtB,EAAEmF,MAAM,IAAI8nE,GAAG5M,IAAIrvD,EAAEhN,GAAGgpE,GAAG3M,IAAIrvD,EAAEhR,GAAGm9D,EAAGn9D,EAAE,CAACgR,GAAG,CAAC,EAAuBo8D,EAAf57D,EAAE67D,gBAAkB,IAAInpD,GAAE,EAC/X,SAASopD,GAAGvpE,GAAG,GAAG,KAAK,EAAEA,GAAG,OAAOmgB,GAAE,GAAG,EAAE,GAAG,KAAK,EAAEngB,GAAG,OAAOmgB,GAAE,GAAG,EAAE,GAAG,KAAK,EAAEngB,GAAG,OAAOmgB,GAAE,GAAG,EAAE,IAAIlgB,EAAE,GAAGD,EAAE,OAAG,IAAIC,GAASkgB,GAAE,GAAGlgB,GAAK,KAAO,GAAFD,IAAamgB,GAAE,GAAG,IAAc,KAAXlgB,EAAE,IAAID,IAAkBmgB,GAAE,GAAGlgB,GAAK,KAAO,IAAFD,IAAcmgB,GAAE,EAAE,KAAgB,KAAZlgB,EAAE,KAAKD,IAAkBmgB,GAAE,EAAElgB,GAAK,KAAO,KAAFD,IAAemgB,GAAE,EAAE,MAAoB,KAAflgB,EAAE,QAAQD,IAAkBmgB,GAAE,EAAElgB,GAAkB,KAAhBA,EAAE,SAASD,IAAkBmgB,GAAE,EAAElgB,GAAO,SAAFD,GAAkBmgB,GAAE,EAAE,UAAY,KAAO,UAAFngB,IAAoBmgB,GAAE,EAAE,WAA2B,KAAjBlgB,EAAE,UAAUD,IAAkBmgB,GAAE,EAAElgB,GAAK,KAAK,WAAWD,IAAUmgB,GAAE,EAAE,aACjfA,GAAE,EAASngB,EAAC,CACZ,SAASwpE,GAAGxpE,EAAEC,GAAG,IAAI+M,EAAEhN,EAAEypE,aAAa,GAAG,IAAIz8D,EAAE,OAAOmT,GAAE,EAAE,IAAIlT,EAAE,EAAEhR,EAAE,EAAEiR,EAAElN,EAAE0pE,aAAav8D,EAAEnN,EAAE2pE,eAAev8D,EAAEpN,EAAE4pE,YAAY,GAAG,IAAI18D,EAAED,EAAEC,EAAEjR,EAAEkkB,GAAE,QAAQ,GAAiB,KAAdjT,EAAI,UAAFF,GAAkB,CAAC,IAAI5O,EAAE8O,GAAGC,EAAE,IAAI/O,GAAG6O,EAAEs8D,GAAGnrE,GAAGnC,EAAEkkB,IAAS,KAAL/S,GAAGF,KAAUD,EAAEs8D,GAAGn8D,GAAGnR,EAAEkkB,GAAG,MAAa,KAAPjT,EAAEF,GAAGG,IAASF,EAAEs8D,GAAGr8D,GAAGjR,EAAEkkB,IAAG,IAAI/S,IAAIH,EAAEs8D,GAAGn8D,GAAGnR,EAAEkkB,IAAG,GAAG,IAAIlT,EAAE,OAAO,EAAqC,GAAxBA,EAAED,IAAI,GAAjBC,EAAE,GAAG48D,GAAG58D,IAAa,EAAE,GAAGA,IAAI,GAAG,EAAK,IAAIhN,GAAGA,IAAIgN,GAAG,KAAKhN,EAAEkN,GAAG,CAAO,GAANo8D,GAAGtpE,GAAMhE,GAAGkkB,GAAE,OAAOlgB,EAAEkgB,GAAElkB,CAAC,CAAoB,GAAG,KAAtBgE,EAAED,EAAE8pE,gBAAwB,IAAI9pE,EAAEA,EAAE+pE,cAAc9pE,GAAGgN,EAAE,EAAEhN,GAAchE,EAAE,IAAb+Q,EAAE,GAAG68D,GAAG5pE,IAAUgN,GAAGjN,EAAEgN,GAAG/M,IAAIhE,EAAE,OAAOgR,CAAC,CAC3e,SAAS+8D,GAAGhqE,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEypE,cAAsCzpE,EAAI,WAAFA,EAAa,WAAW,CAAC,CAAC,SAASiqE,GAAGjqE,EAAEC,GAAG,OAAOD,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAmB,KAAZA,EAAEkqE,GAAG,IAAIjqE,IAASgqE,GAAG,GAAGhqE,GAAGD,EAAE,KAAK,GAAG,OAAoB,KAAbA,EAAEkqE,GAAG,KAAKjqE,IAASgqE,GAAG,EAAEhqE,GAAGD,EAAE,KAAK,EAAE,OAAqB,KAAdA,EAAEkqE,GAAG,MAAMjqE,MAA4B,KAAjBD,EAAEkqE,GAAG,SAASjqE,MAAWD,EAAE,MAAMA,EAAE,KAAK,EAAE,OAA0B,KAAnBC,EAAEiqE,GAAG,WAAWjqE,MAAWA,EAAE,WAAWA,EAAE,MAAMhD,MAAM6Q,EAAE,IAAI9N,GAAI,CAAC,SAASkqE,GAAGlqE,GAAG,OAAOA,GAAGA,CAAC,CAAC,SAASmqE,GAAGnqE,GAAG,IAAI,IAAIC,EAAE,GAAG+M,EAAE,EAAE,GAAGA,EAAEA,IAAI/M,EAAEiD,KAAKlD,GAAG,OAAOC,CAAC,CACtd,SAASmqE,GAAGpqE,EAAEC,EAAE+M,GAAGhN,EAAEypE,cAAcxpE,EAAE,IAAIgN,EAAEhN,EAAE,EAAED,EAAE2pE,gBAAgB18D,EAAEjN,EAAE4pE,aAAa38D,GAAEjN,EAAEA,EAAEqqE,YAAWpqE,EAAE,GAAG4pE,GAAG5pE,IAAQ+M,CAAC,CAAC,IAAI68D,GAAGzkE,KAAKklE,MAAMllE,KAAKklE,MAAiC,SAAYtqE,GAAG,OAAO,IAAIA,EAAE,GAAG,IAAIuqE,GAAGvqE,GAAGm9C,GAAG,GAAG,CAAC,EAAxEotB,GAAGnlE,KAAKolE,IAAIrtB,GAAG/3C,KAAKqlE,IAAqD,IAAIC,GAAGj9D,EAAEk9D,8BAA8BC,GAAGn9D,EAAE65D,yBAAyBuD,IAAG,EAAG,SAASC,GAAG9qE,EAAEC,EAAE+M,EAAEC,GAAGk3D,IAAIF,KAAK,IAAIhoE,EAAE8uE,GAAG79D,EAAEi3D,GAAGA,IAAG,EAAG,IAAIH,GAAG/nE,EAAE+D,EAAEC,EAAE+M,EAAEC,EAAE,CAAC,SAASk3D,GAAGj3D,IAAIm3D,IAAI,CAAC,CAAC,SAAS/V,GAAGtuD,EAAEC,EAAE+M,EAAEC,GAAG29D,GAAGF,GAAGK,GAAGC,KAAK,KAAKhrE,EAAEC,EAAE+M,EAAEC,GAAG,CACpb,SAAS89D,GAAG/qE,EAAEC,EAAE+M,EAAEC,GAAU,IAAIhR,EAAX,GAAG4uE,GAAU,IAAI5uE,EAAE,KAAO,EAAFgE,KAAO,EAAE+lE,GAAG1nE,SAAS,EAAEkoE,GAAGvlE,QAAQjB,GAAGA,EAAEymE,GAAG,KAAKzmE,EAAEC,EAAE+M,EAAEC,GAAG+4D,GAAG9iE,KAAKlD,OAAO,CAAC,IAAIkN,EAAEy6D,GAAG3nE,EAAEC,EAAE+M,EAAEC,GAAG,GAAG,OAAOC,EAAEjR,GAAG8qE,GAAG/mE,EAAEiN,OAAO,CAAC,GAAGhR,EAAE,CAAC,IAAI,EAAEuqE,GAAGvlE,QAAQjB,GAA+B,OAA3BA,EAAEymE,GAAGv5D,EAAElN,EAAEC,EAAE+M,EAAEC,QAAG+4D,GAAG9iE,KAAKlD,GAAU,GAfhO,SAAYA,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,OAAOgE,GAAG,IAAK,UAAU,OAAOgmE,GAAGiB,GAAGjB,GAAGjmE,EAAEC,EAAE+M,EAAEC,EAAEhR,IAAG,EAAG,IAAK,YAAY,OAAOiqE,GAAGgB,GAAGhB,GAAGlmE,EAAEC,EAAE+M,EAAEC,EAAEhR,IAAG,EAAG,IAAK,YAAY,OAAOkqE,GAAGe,GAAGf,GAAGnmE,EAAEC,EAAE+M,EAAEC,EAAEhR,IAAG,EAAG,IAAK,cAAc,IAAIiR,EAAEjR,EAAEgrE,UAAkD,OAAxCb,GAAG9J,IAAIpvD,EAAEg6D,GAAGd,GAAG1uD,IAAIxK,IAAI,KAAKlN,EAAEC,EAAE+M,EAAEC,EAAEhR,KAAU,EAAG,IAAK,oBAAoB,OAAOiR,EAAEjR,EAAEgrE,UAAUX,GAAGhK,IAAIpvD,EAAEg6D,GAAGZ,GAAG5uD,IAAIxK,IAAI,KAAKlN,EAAEC,EAAE+M,EAAEC,EAAEhR,KAAI,EAAG,OAAM,CAAE,CAehIgvE,CAAG/9D,EAAElN,EAAEC,EAAE+M,EAAEC,GAAG,OAAO85D,GAAG/mE,EAAEiN,EAAE,CAACi+D,GAAGlrE,EAAEC,EAAEgN,EAAE,KAAKD,EAAE,CAAC,CAAE,CACnR,SAAS26D,GAAG3nE,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAEknE,GAAGl2D,GAAW,GAAG,QAAXhR,EAAEmrE,GAAGnrE,IAAe,CAAC,IAAIiR,EAAE+3D,GAAGhpE,GAAG,GAAG,OAAOiR,EAAEjR,EAAE,SAAS,CAAC,IAAIkR,EAAED,EAAEsvD,IAAI,GAAG,KAAKrvD,EAAE,CAAS,GAAG,QAAXlR,EAAEmpE,GAAGl4D,IAAe,OAAOjR,EAAEA,EAAE,IAAI,MAAM,GAAG,IAAIkR,EAAE,CAAC,GAAGD,EAAEy2D,UAAU6D,QAAQ,OAAO,IAAIt6D,EAAEsvD,IAAItvD,EAAEy2D,UAAU8D,cAAc,KAAKxrE,EAAE,IAAI,MAAMiR,IAAIjR,IAAIA,EAAE,KAAK,CAAC,CAAe,OAAdivE,GAAGlrE,EAAEC,EAAEgN,EAAEhR,EAAE+Q,GAAU,IAAI,CAAC,IAAIm+D,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACzT,SAASC,KAAK,GAAGD,GAAG,OAAOA,GAAG,IAAIrrE,EAAkBiN,EAAhBhN,EAAEmrE,GAAGp+D,EAAE/M,EAAE3B,OAASrC,EAAE,UAAUkvE,GAAGA,GAAGp6D,MAAMo6D,GAAG/vE,YAAY8R,EAAEjR,EAAEqC,OAAO,IAAI0B,EAAE,EAAEA,EAAEgN,GAAG/M,EAAED,KAAK/D,EAAE+D,GAAGA,KAAK,IAAImN,EAAEH,EAAEhN,EAAE,IAAIiN,EAAE,EAAEA,GAAGE,GAAGlN,EAAE+M,EAAEC,KAAKhR,EAAEiR,EAAED,GAAGA,KAAK,OAAOo+D,GAAGpvE,EAAEmF,MAAMpB,EAAE,EAAEiN,EAAE,EAAEA,OAAE,EAAO,CAAC,SAASs+D,GAAGvrE,GAAG,IAAIC,EAAED,EAAEwrE,QAA+E,MAAvE,aAAaxrE,EAAgB,KAAbA,EAAEA,EAAEyrE,WAAgB,KAAKxrE,IAAID,EAAE,IAAKA,EAAEC,EAAE,KAAKD,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,CAAC,CAAC,SAAS0rE,KAAK,OAAM,CAAE,CAAC,SAASC,KAAK,OAAM,CAAE,CACnY,SAASC,GAAG5rE,GAAG,SAASC,EAAEA,EAAEgN,EAAEhR,EAAEiR,EAAEC,GAA6G,IAAI,IAAIH,KAAlHoD,KAAKy7D,WAAW5rE,EAAEmQ,KAAK07D,YAAY7vE,EAAEmU,KAAKnF,KAAKgC,EAAEmD,KAAKy2D,YAAY35D,EAAEkD,KAAKipC,OAAOlsC,EAAEiD,KAAK27D,cAAc,KAAkB/rE,EAAEA,EAAE+P,eAAe/C,KAAK/M,EAAED,EAAEgN,GAAGoD,KAAKpD,GAAG/M,EAAEA,EAAEiN,GAAGA,EAAEF,IAAgI,OAA5HoD,KAAK47D,oBAAoB,MAAM9+D,EAAE++D,iBAAiB/+D,EAAE++D,kBAAiB,IAAK/+D,EAAEg/D,aAAaR,GAAGC,GAAGv7D,KAAK+7D,qBAAqBR,GAAUv7D,IAAI,CAC9E,OAD+E9C,EAAErN,EAAEJ,UAAU,CAACzD,eAAe,WAAWgU,KAAK67D,kBAAiB,EAAG,IAAIjsE,EAAEoQ,KAAKy2D,YAAY7mE,IAAIA,EAAE5D,eAAe4D,EAAE5D,iBAAiB,mBAAmB4D,EAAEksE,cAC7elsE,EAAEksE,aAAY,GAAI97D,KAAK47D,mBAAmBN,GAAG,EAAExvE,gBAAgB,WAAW,IAAI8D,EAAEoQ,KAAKy2D,YAAY7mE,IAAIA,EAAE9D,gBAAgB8D,EAAE9D,kBAAkB,mBAAmB8D,EAAEosE,eAAepsE,EAAEosE,cAAa,GAAIh8D,KAAK+7D,qBAAqBT,GAAG,EAAEW,QAAQ,WAAW,EAAEC,aAAaZ,KAAYzrE,CAAC,CACjR,IAAoLssE,GAAGC,GAAGC,GAAtLC,GAAG,CAACC,WAAW,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,SAAS9sE,GAAG,OAAOA,EAAE8sE,WAAWte,KAAKC,KAAK,EAAEwd,iBAAiB,EAAEc,UAAU,GAAGC,GAAGpB,GAAGc,IAAIO,GAAG3/D,EAAE,CAAC,EAAEo/D,GAAG,CAACn2D,KAAK,EAAE22D,OAAO,IAAIC,GAAGvB,GAAGqB,IAAaG,GAAG9/D,EAAE,CAAC,EAAE2/D,GAAG,CAACI,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,iBAAiBC,GAAGC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,SAASnuE,GAAG,YAAO,IAASA,EAAEmuE,cAAcnuE,EAAEouE,cAAcpuE,EAAEojE,WAAWpjE,EAAEquE,UAAUruE,EAAEouE,YAAYpuE,EAAEmuE,aAAa,EAAEG,UAAU,SAAStuE,GAAG,MAAG,cAC3eA,EAASA,EAAEsuE,WAAUtuE,IAAIysE,KAAKA,IAAI,cAAczsE,EAAEiL,MAAMshE,GAAGvsE,EAAEqtE,QAAQZ,GAAGY,QAAQb,GAAGxsE,EAAEstE,QAAQb,GAAGa,SAASd,GAAGD,GAAG,EAAEE,GAAGzsE,GAAUusE,GAAE,EAAEgC,UAAU,SAASvuE,GAAG,MAAM,cAAcA,EAAEA,EAAEuuE,UAAU/B,EAAE,IAAIgC,GAAG5C,GAAGwB,IAAiCqB,GAAG7C,GAA7Bt+D,EAAE,CAAC,EAAE8/D,GAAG,CAACsB,aAAa,KAA4CC,GAAG/C,GAA9Bt+D,EAAE,CAAC,EAAE2/D,GAAG,CAACkB,cAAc,KAA0ES,GAAGhD,GAA5Dt+D,EAAE,CAAC,EAAEo/D,GAAG,CAACmC,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAcC,GAAG1hE,EAAE,CAAC,EAAEo/D,GAAG,CAACrwE,cAAc,SAAS2D,GAAG,MAAM,kBAAkBA,EAAEA,EAAE3D,cAAcG,OAAOH,aAAa,IAAI4yE,GAAGrD,GAAGoD,IAAyBE,GAAGtD,GAArBt+D,EAAE,CAAC,EAAEo/D,GAAG,CAACx1D,KAAK,KAAci4D,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAcC,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASpsC,QAAQ,UAAUqsC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAGrwE,GAAG,IAAIC,EAAEmQ,KAAKy2D,YAAY,OAAO5mE,EAAE8tE,iBAAiB9tE,EAAE8tE,iBAAiB/tE,MAAIA,EAAEiwE,GAAGjwE,OAAMC,EAAED,EAAK,CAAC,SAASguE,KAAK,OAAOqC,EAAE,CAChS,IAAIC,GAAGhjE,EAAE,CAAC,EAAE2/D,GAAG,CAACvsE,IAAI,SAASV,GAAG,GAAGA,EAAEU,IAAI,CAAC,IAAIT,EAAEkvE,GAAGnvE,EAAEU,MAAMV,EAAEU,IAAI,GAAG,iBAAiBT,EAAE,OAAOA,CAAC,CAAC,MAAM,aAAaD,EAAEiL,KAAc,MAARjL,EAAEurE,GAAGvrE,IAAU,QAAQkQ,OAAOuE,aAAazU,GAAI,YAAYA,EAAEiL,MAAM,UAAUjL,EAAEiL,KAAK+kE,GAAGhwE,EAAEwrE,UAAU,eAAe,EAAE,EAAE+E,KAAK,EAAE5uE,SAAS,EAAEgsE,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAE9nC,OAAO,EAAEwqC,OAAO,EAAEzC,iBAAiBC,GAAGvC,SAAS,SAASzrE,GAAG,MAAM,aAAaA,EAAEiL,KAAKsgE,GAAGvrE,GAAG,CAAC,EAAEwrE,QAAQ,SAASxrE,GAAG,MAAM,YAAYA,EAAEiL,MAAM,UAAUjL,EAAEiL,KAAKjL,EAAEwrE,QAAQ,CAAC,EAAEiF,MAAM,SAASzwE,GAAG,MAAM,aAC7eA,EAAEiL,KAAKsgE,GAAGvrE,GAAG,YAAYA,EAAEiL,MAAM,UAAUjL,EAAEiL,KAAKjL,EAAEwrE,QAAQ,CAAC,IAAIkF,GAAG9E,GAAG0E,IAAiIK,GAAG/E,GAA7Ht+D,EAAE,CAAC,EAAE8/D,GAAG,CAACnG,UAAU,EAAE10D,MAAM,EAAEC,OAAO,EAAEo+D,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEC,UAAU,KAAmIC,GAAGvF,GAArHt+D,EAAE,CAAC,EAAE2/D,GAAG,CAACmE,QAAQ,EAAEC,cAAc,EAAEC,eAAe,EAAEzD,OAAO,EAAEC,QAAQ,EAAEH,QAAQ,EAAEC,SAAS,EAAEG,iBAAiBC,MAA0EuD,GAAG3F,GAA3Dt+D,EAAE,CAAC,EAAEo/D,GAAG,CAAC1S,aAAa,EAAE8U,YAAY,EAAEC,cAAc,KAAcyC,GAAGlkE,EAAE,CAAC,EAAE8/D,GAAG,CAAC3wB,OAAO,SAASz8C,GAAG,MAAM,WAAWA,EAAEA,EAAEy8C,OAAO,gBAAgBz8C,GAAGA,EAAEyxE,YAAY,CAAC,EACnf/0B,OAAO,SAAS18C,GAAG,MAAM,WAAWA,EAAEA,EAAE08C,OAAO,gBAAgB18C,GAAGA,EAAE0xE,YAAY,eAAe1xE,GAAGA,EAAE2xE,WAAW,CAAC,EAAEC,OAAO,EAAEC,UAAU,IAAIC,GAAGlG,GAAG4F,IAAIO,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIC,GAAG1Y,GAAI,qBAAqB98D,OAAOy1E,GAAG,KAAK3Y,GAAI,iBAAiBt+D,WAAWi3E,GAAGj3E,SAASk3E,cAAc,IAAIC,GAAG7Y,GAAI,cAAc98D,SAASy1E,GAAGG,GAAG9Y,KAAM0Y,IAAIC,IAAI,EAAEA,IAAI,IAAIA,IAAII,GAAGniE,OAAOuE,aAAa,IAAI69D,IAAG,EAC1W,SAASC,GAAGvyE,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAQ,OAAO,IAAI+xE,GAAG9wE,QAAQhB,EAAEurE,SAAS,IAAK,UAAU,OAAO,MAAMvrE,EAAEurE,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,SAASgH,GAAGxyE,GAAc,MAAM,kBAAjBA,EAAEA,EAAEktE,SAAkC,SAASltE,EAAEA,EAAEkX,KAAK,IAAI,CAAC,IAAIu7D,IAAG,EAE9Q,IAAIC,GAAG,CAAC9oD,OAAM,EAAG+oD,MAAK,EAAGC,UAAS,EAAG,kBAAiB,EAAGC,OAAM,EAAGC,OAAM,EAAG7sD,QAAO,EAAG8sD,UAAS,EAAGn4E,OAAM,EAAG0G,QAAO,EAAG0xE,KAAI,EAAGz4E,MAAK,EAAG0jC,MAAK,EAAG/1B,KAAI,EAAG+qE,MAAK,GAAI,SAASC,GAAGlzE,GAAG,IAAIC,EAAED,GAAGA,EAAEo0C,UAAUp0C,EAAEo0C,SAASpzC,cAAc,MAAM,UAAUf,IAAIyyE,GAAG1yE,EAAEiL,MAAM,aAAahL,CAAO,CAAC,SAASkzE,GAAGnzE,EAAEC,EAAE+M,EAAEC,GAAG42D,GAAG52D,GAAsB,GAAnBhN,EAAEmzE,GAAGnzE,EAAE,aAAgB3B,SAAS0O,EAAE,IAAIggE,GAAG,WAAW,SAAS,KAAKhgE,EAAEC,GAAGjN,EAAEkD,KAAK,CAACyC,MAAMqH,EAAE3K,UAAUpC,IAAI,CAAC,IAAIozE,GAAG,KAAKC,GAAG,KAAK,SAASvgB,GAAG/yD,GAAGuzE,GAAGvzE,EAAE,EAAE,CAAC,SAASwzE,GAAGxzE,GAAe,GAAGq9D,EAAToW,GAAGzzE,IAAY,OAAOA,CAAC,CACpe,SAAS0zE,GAAG1zE,EAAEC,GAAG,GAAG,WAAWD,EAAE,OAAOC,CAAC,CAAC,IAAI0zE,IAAG,EAAG,GAAGra,EAAG,CAAC,IAAIsa,GAAG,GAAGta,EAAG,CAAC,IAAIua,GAAG,YAAY74E,SAAS,IAAI64E,GAAG,CAAC,IAAIC,GAAG94E,SAASG,cAAc,OAAO24E,GAAG/nC,aAAa,UAAU,WAAW8nC,GAAG,oBAAoBC,GAAGC,OAAO,CAACH,GAAGC,EAAE,MAAMD,IAAG,EAAGD,GAAGC,MAAM54E,SAASk3E,cAAc,EAAEl3E,SAASk3E,aAAa,CAAC,SAAS8B,KAAKX,KAAKA,GAAGY,YAAY,mBAAmBC,IAAIZ,GAAGD,GAAG,KAAK,CAAC,SAASa,GAAGl0E,GAAG,GAAG,UAAUA,EAAEg6D,cAAcwZ,GAAGF,IAAI,CAAC,IAAIrzE,EAAE,GAAyB,GAAtBkzE,GAAGlzE,EAAEqzE,GAAGtzE,EAAEmjE,GAAGnjE,IAAIA,EAAE+yD,GAAMoR,GAAGnkE,EAAEC,OAAO,CAACkkE,IAAG,EAAG,IAAIJ,GAAG/jE,EAAEC,EAAE,CAAC,QAAQkkE,IAAG,EAAGE,IAAI,CAAC,CAAC,CAAC,CAClf,SAAS8P,GAAGn0E,EAAEC,EAAE+M,GAAG,YAAYhN,GAAGg0E,KAAUV,GAAGtmE,GAARqmE,GAAGpzE,GAAUm0E,YAAY,mBAAmBF,KAAK,aAAal0E,GAAGg0E,IAAI,CAAC,SAASK,GAAGr0E,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOwzE,GAAGF,GAAG,CAAC,SAASgB,GAAGt0E,EAAEC,GAAG,GAAG,UAAUD,EAAE,OAAOwzE,GAAGvzE,EAAE,CAAC,SAASs0E,GAAGv0E,EAAEC,GAAG,GAAG,UAAUD,GAAG,WAAWA,EAAE,OAAOwzE,GAAGvzE,EAAE,CAAiE,IAAIu0E,GAAG,oBAAoB50E,OAAOsjE,GAAGtjE,OAAOsjE,GAA5G,SAAYljE,EAAEC,GAAG,OAAOD,IAAIC,IAAI,IAAID,GAAG,EAAEA,IAAI,EAAEC,IAAID,IAAIA,GAAGC,IAAIA,CAAC,EAAmDw0E,GAAG70E,OAAOC,UAAUkQ,eAC7a,SAAS2kE,GAAG10E,EAAEC,GAAG,GAAGu0E,GAAGx0E,EAAEC,GAAG,OAAM,EAAG,GAAG,kBAAkBD,GAAG,OAAOA,GAAG,kBAAkBC,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI+M,EAAEpN,OAAOY,KAAKR,GAAGiN,EAAErN,OAAOY,KAAKP,GAAG,GAAG+M,EAAE1O,SAAS2O,EAAE3O,OAAO,OAAM,EAAG,IAAI2O,EAAE,EAAEA,EAAED,EAAE1O,OAAO2O,IAAI,IAAIwnE,GAAG30E,KAAKG,EAAE+M,EAAEC,MAAMunE,GAAGx0E,EAAEgN,EAAEC,IAAIhN,EAAE+M,EAAEC,KAAK,OAAM,EAAG,OAAM,CAAE,CAAC,SAAS0nE,GAAG30E,GAAG,KAAKA,GAAGA,EAAEimC,YAAYjmC,EAAEA,EAAEimC,WAAW,OAAOjmC,CAAC,CACnU,SAAS40E,GAAG50E,EAAEC,GAAG,IAAwBgN,EAApBD,EAAE2nE,GAAG30E,GAAO,IAAJA,EAAE,EAAYgN,GAAG,CAAC,GAAG,IAAIA,EAAEsiC,SAAS,CAA0B,GAAzBriC,EAAEjN,EAAEgN,EAAE5R,YAAYkD,OAAU0B,GAAGC,GAAGgN,GAAGhN,EAAE,MAAM,CAACoT,KAAKrG,EAAEm5B,OAAOlmC,EAAED,GAAGA,EAAEiN,CAAC,CAACjN,EAAE,CAAC,KAAKgN,GAAG,CAAC,GAAGA,EAAEghC,YAAY,CAAChhC,EAAEA,EAAEghC,YAAY,MAAMhuC,CAAC,CAACgN,EAAEA,EAAEs9B,UAAU,CAACt9B,OAAE,CAAM,CAACA,EAAE2nE,GAAG3nE,EAAE,CAAC,CAAC,SAAS6nE,GAAG70E,EAAEC,GAAG,SAAOD,IAAGC,KAAED,IAAIC,KAAKD,GAAG,IAAIA,EAAEsvC,YAAYrvC,GAAG,IAAIA,EAAEqvC,SAASulC,GAAG70E,EAAEC,EAAEqqC,YAAY,aAAatqC,EAAEA,EAAE4+B,SAAS3+B,KAAGD,EAAE80E,4BAAwD,GAA7B90E,EAAE80E,wBAAwB70E,KAAY,CAC9Z,SAAS80E,KAAK,IAAI,IAAI/0E,EAAExD,OAAOyD,EAAEq9D,IAAKr9D,aAAaD,EAAEg1E,mBAAmB,CAAC,IAAI,IAAIhoE,EAAE,kBAAkB/M,EAAEqtC,cAAc3rC,SAASoF,IAAI,CAAC,MAAMkG,GAAGD,GAAE,CAAE,CAAC,IAAGA,EAAyB,MAAM/M,EAAEq9D,GAA/Bt9D,EAAEC,EAAEqtC,eAAgCtyC,SAAS,CAAC,OAAOiF,CAAC,CAAC,SAASg1E,GAAGj1E,GAAG,IAAIC,EAAED,GAAGA,EAAEo0C,UAAUp0C,EAAEo0C,SAASpzC,cAAc,OAAOf,IAAI,UAAUA,IAAI,SAASD,EAAEiL,MAAM,WAAWjL,EAAEiL,MAAM,QAAQjL,EAAEiL,MAAM,QAAQjL,EAAEiL,MAAM,aAAajL,EAAEiL,OAAO,aAAahL,GAAG,SAASD,EAAEk1E,gBAAgB,CACxa,IAAIC,GAAG7b,GAAI,iBAAiBt+D,UAAU,IAAIA,SAASk3E,aAAakD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC3F,SAASC,GAAGx1E,EAAEC,EAAE+M,GAAG,IAAIC,EAAED,EAAExQ,SAASwQ,EAAEA,EAAEhS,SAAS,IAAIgS,EAAEsiC,SAAStiC,EAAEA,EAAEm9B,cAAcorC,IAAI,MAAMH,IAAIA,KAAK9X,EAAGrwD,KAAU,mBAALA,EAAEmoE,KAAyBH,GAAGhoE,GAAGA,EAAE,CAACuJ,MAAMvJ,EAAEwoE,eAAeh/D,IAAIxJ,EAAEyoE,cAAuFzoE,EAAE,CAAC0oE,YAA3E1oE,GAAGA,EAAEk9B,eAAel9B,EAAEk9B,cAAcoJ,aAAa/2C,QAAQtB,gBAA+By6E,WAAWC,aAAa3oE,EAAE2oE,aAAaC,UAAU5oE,EAAE4oE,UAAUC,YAAY7oE,EAAE6oE,aAAcR,IAAIZ,GAAGY,GAAGroE,KAAKqoE,GAAGroE,EAAsB,GAApBA,EAAEmmE,GAAGiC,GAAG,aAAgB/2E,SAAS2B,EAAE,IAAI+sE,GAAG,WAAW,SAAS,KAAK/sE,EAAE+M,GAAGhN,EAAEkD,KAAK,CAACyC,MAAM1F,EAAEoC,UAAU4K,IAAIhN,EAAEo5C,OAAO+7B,KAAK,CACtfhM,GAAG,mjBAAmjBvqE,MAAM,KAC5jB,GAAGuqE,GAAG,oRAAoRvqE,MAAM,KAAK,GAAGuqE,GAAGD,GAAG,GAAG,IAAI,IAAI4M,GAAG,qFAAqFl3E,MAAM,KAAKm3E,GAAG,EAAEA,GAAGD,GAAGz3E,OAAO03E,KAAK9M,GAAG5M,IAAIyZ,GAAGC,IAAI,GAAG3c,EAAG,eAAe,CAAC,WAAW,cACleA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBD,EAAG,WAAW,oEAAoEv6D,MAAM,MAAMu6D,EAAG,WAAW,uFAAuFv6D,MAAM,MAAMu6D,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2Dv6D,MAAM,MAC5fu6D,EAAG,qBAAqB,6DAA6Dv6D,MAAM,MAAMu6D,EAAG,sBAAsB,8DAA8Dv6D,MAAM,MAAM,IAAIo3E,GAAG,sNAAsNp3E,MAAM,KAAKq3E,GAAG,IAAIhd,IAAI,0CAA0Cr6D,MAAM,KAAKK,OAAO+2E,KACnf,SAASE,GAAGn2E,EAAEC,EAAE+M,GAAG,IAAIC,EAAEjN,EAAEiL,MAAM,gBAAgBjL,EAAE+rE,cAAc/+D,EA/CjE,SAAYhN,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,EAAEC,EAAEC,EAAEhP,GAA4B,GAAzB4mE,GAAGhiE,MAAMoN,KAAKnN,WAAc0hE,GAAG,CAAC,IAAGA,GAAgC,MAAM1nE,MAAM6Q,EAAE,MAA1C,IAAIT,EAAEu3D,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAGz3D,EAAE,CAAC,CA+CpE+oE,CAAGnpE,EAAEhN,OAAE,EAAOD,GAAGA,EAAE+rE,cAAc,IAAI,CACxG,SAASwH,GAAGvzE,EAAEC,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAI+M,EAAE,EAAEA,EAAEhN,EAAE1B,OAAO0O,IAAI,CAAC,IAAIC,EAAEjN,EAAEgN,GAAG/Q,EAAEgR,EAAEtH,MAAMsH,EAAEA,EAAE5K,UAAUrC,EAAE,CAAC,IAAIkN,OAAE,EAAO,GAAGjN,EAAE,IAAI,IAAIkN,EAAEF,EAAE3O,OAAO,EAAE,GAAG6O,EAAEA,IAAI,CAAC,IAAIC,EAAEH,EAAEE,GAAG/O,EAAEgP,EAAEirD,SAAShrD,EAAED,EAAE2+D,cAA2B,GAAb3+D,EAAEA,EAAErK,SAAY3E,IAAI8O,GAAGjR,EAAEkwE,uBAAuB,MAAMnsE,EAAEm2E,GAAGl6E,EAAEmR,EAAEC,GAAGH,EAAE9O,CAAC,MAAM,IAAI+O,EAAE,EAAEA,EAAEF,EAAE3O,OAAO6O,IAAI,CAAoD,GAA5C/O,GAAPgP,EAAEH,EAAEE,IAAOkrD,SAAShrD,EAAED,EAAE2+D,cAAc3+D,EAAEA,EAAErK,SAAY3E,IAAI8O,GAAGjR,EAAEkwE,uBAAuB,MAAMnsE,EAAEm2E,GAAGl6E,EAAEmR,EAAEC,GAAGH,EAAE9O,CAAC,CAAC,CAAC,CAAC,GAAGymE,GAAG,MAAM7kE,EAAE8kE,GAAGD,IAAG,EAAGC,GAAG,KAAK9kE,CAAE,CAC5a,SAASq2E,GAAEr2E,EAAEC,GAAG,IAAI+M,EAAEspE,GAAGr2E,GAAGgN,EAAEjN,EAAE,WAAWgN,EAAE6tC,IAAI5tC,KAAKspE,GAAGt2E,EAAED,EAAE,GAAE,GAAIgN,EAAEyF,IAAIxF,GAAG,CAAC,IAAIupE,GAAG,kBAAkBpxE,KAAKC,SAASC,SAAS,IAAIlE,MAAM,GAAG,SAASq1E,GAAGz2E,GAAGA,EAAEw2E,MAAMx2E,EAAEw2E,KAAI,EAAGvd,EAAGz1D,SAAQ,SAASvD,GAAGi2E,GAAGr7B,IAAI56C,IAAIy2E,GAAGz2E,GAAE,EAAGD,EAAE,MAAM02E,GAAGz2E,GAAE,EAAGD,EAAE,KAAK,IAAG,CAC9O,SAAS02E,GAAG12E,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE,EAAEgH,UAAU3E,aAAQ,IAAS2E,UAAU,GAAGA,UAAU,GAAG,EAAEiK,EAAEF,EAA6D,GAA3D,oBAAoBhN,GAAG,IAAIgN,EAAEsiC,WAAWpiC,EAAEF,EAAEm9B,eAAkB,OAAOl9B,IAAIhN,GAAGi2E,GAAGr7B,IAAI76C,GAAG,CAAC,GAAG,WAAWA,EAAE,OAAO/D,GAAG,EAAEiR,EAAED,CAAC,CAAC,IAAIE,EAAEmpE,GAAGppE,GAAGE,EAAEpN,EAAE,MAAMC,EAAE,UAAU,UAAUkN,EAAE0tC,IAAIztC,KAAKnN,IAAIhE,GAAG,GAAGs6E,GAAGrpE,EAAElN,EAAE/D,EAAEgE,GAAGkN,EAAEsF,IAAIrF,GAAG,CACrS,SAASmpE,GAAGv2E,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAEitE,GAAGxxD,IAAIzX,GAAG,YAAO,IAAShE,EAAE,EAAEA,GAAG,KAAK,EAAEA,EAAE6uE,GAAG,MAAM,KAAK,EAAE7uE,EAAEqyD,GAAG,MAAM,QAAQryD,EAAE8uE,GAAG/9D,EAAE/Q,EAAE+uE,KAAK,KAAK/qE,EAAE+M,EAAEhN,GAAG/D,OAAE,GAAQsoE,IAAI,eAAetkE,GAAG,cAAcA,GAAG,UAAUA,IAAIhE,GAAE,GAAIgR,OAAE,IAAShR,EAAE+D,EAAEhE,iBAAiBiE,EAAE+M,EAAE,CAAC8kD,SAAQ,EAAG6kB,QAAQ16E,IAAI+D,EAAEhE,iBAAiBiE,EAAE+M,GAAE,QAAI,IAAS/Q,EAAE+D,EAAEhE,iBAAiBiE,EAAE+M,EAAE,CAAC2pE,QAAQ16E,IAAI+D,EAAEhE,iBAAiBiE,EAAE+M,GAAE,EAAG,CACvW,SAASk+D,GAAGlrE,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,IAAIiR,EAAED,EAAE,GAAG,KAAO,EAAFhN,IAAM,KAAO,EAAFA,IAAM,OAAOgN,EAAEjN,EAAE,OAAO,CAAC,GAAG,OAAOiN,EAAE,OAAO,IAAIE,EAAEF,EAAEuvD,IAAI,GAAG,IAAIrvD,GAAG,IAAIA,EAAE,CAAC,IAAIC,EAAEH,EAAE02D,UAAU8D,cAAc,GAAGr6D,IAAInR,GAAG,IAAImR,EAAEkiC,UAAUliC,EAAEk9B,aAAaruC,EAAE,MAAM,GAAG,IAAIkR,EAAE,IAAIA,EAAEF,EAAEk4D,OAAO,OAAOh4D,GAAG,CAAC,IAAI/O,EAAE+O,EAAEqvD,IAAI,IAAG,IAAIp+D,GAAG,IAAIA,MAAKA,EAAE+O,EAAEw2D,UAAU8D,iBAAkBxrE,GAAG,IAAImC,EAAEkxC,UAAUlxC,EAAEksC,aAAaruC,GAAE,OAAOkR,EAAEA,EAAEg4D,MAAM,CAAC,KAAK,OAAO/3D,GAAG,CAAS,GAAG,QAAXD,EAAEi6D,GAAGh6D,IAAe,OAAe,GAAG,KAAXhP,EAAE+O,EAAEqvD,MAAc,IAAIp+D,EAAE,CAAC6O,EAAEC,EAAEC,EAAE,SAASnN,CAAC,CAACoN,EAAEA,EAAEk9B,UAAU,CAAC,CAACr9B,EAAEA,EAAEk4D,MAAM,EAvDnd,SAAYnlE,EAAEC,EAAE+M,GAAG,GAAGo3D,GAAG,OAAOpkE,EAAEC,EAAE+M,GAAGo3D,IAAG,EAAG,IAAI,OAAOF,GAAGlkE,EAAEC,EAAE+M,EAAE,CAAC,QAAQo3D,IAAG,EAAGC,IAAI,CAAC,CAuD+XuS,EAAG,WAAW,IAAI3pE,EAAEC,EAAEjR,EAAEknE,GAAGn2D,GAAGG,EAAE,GACpfnN,EAAE,CAAC,IAAIoN,EAAE67D,GAAGvxD,IAAI1X,GAAG,QAAG,IAASoN,EAAE,CAAC,IAAIhP,EAAE4uE,GAAGn/D,EAAE7N,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAIurE,GAAGv+D,GAAG,MAAMhN,EAAE,IAAK,UAAU,IAAK,QAAQ5B,EAAEsyE,GAAG,MAAM,IAAK,UAAU7iE,EAAE,QAAQzP,EAAEuwE,GAAG,MAAM,IAAK,WAAW9gE,EAAE,OAAOzP,EAAEuwE,GAAG,MAAM,IAAK,aAAa,IAAK,YAAYvwE,EAAEuwE,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAI3hE,EAAEihE,OAAO,MAAMjuE,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc5B,EAAEowE,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAOpwE,EAC1iBqwE,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAarwE,EAAE+yE,GAAG,MAAM,KAAKtI,GAAG,KAAKC,GAAG,KAAKC,GAAG3qE,EAAEwwE,GAAG,MAAM,KAAK5F,GAAG5qE,EAAEmzE,GAAG,MAAM,IAAK,SAASnzE,EAAE+uE,GAAG,MAAM,IAAK,QAAQ/uE,EAAE0zE,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQ1zE,EAAE6wE,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAY7wE,EAAEuyE,GAAG,IAAI/iE,EAAE,KAAO,EAAF3N,GAAK8N,GAAGH,GAAG,WAAW5N,EAAEgO,EAAEJ,EAAE,OAAOR,EAAEA,EAAE,UAAU,KAAKA,EAAEQ,EAAE,GAAG,IAAI,IAAQJ,EAAJE,EAAET,EAAI,OAC/eS,GAAG,CAAK,IAAIC,GAARH,EAAEE,GAAUi2D,UAAsF,GAA5E,IAAIn2D,EAAEgvD,KAAK,OAAO7uD,IAAIH,EAAEG,EAAE,OAAOK,IAAc,OAAVL,EAAE22D,GAAG52D,EAAEM,KAAYJ,EAAE1K,KAAK2zE,GAAGnpE,EAAEC,EAAEH,MAASO,EAAE,MAAML,EAAEA,EAAEy3D,MAAM,CAAC,EAAEv3D,EAAEtP,SAAS8O,EAAE,IAAIhP,EAAEgP,EAAES,EAAE,KAAKb,EAAE/Q,GAAGkR,EAAEjK,KAAK,CAACyC,MAAMyH,EAAE/K,UAAUuL,IAAI,CAAC,CAAC,GAAG,KAAO,EAAF3N,GAAK,CAA4E,GAAnC7B,EAAE,aAAa4B,GAAG,eAAeA,KAAtEoN,EAAE,cAAcpN,GAAG,gBAAgBA,IAA2C,KAAO,GAAFC,MAAQ4N,EAAEb,EAAEmhE,eAAenhE,EAAEohE,eAAehH,GAAGv5D,KAAIA,EAAEipE,OAAgB14E,GAAGgP,KAAGA,EAAEnR,EAAEO,SAASP,EAAEA,GAAGmR,EAAEnR,EAAEkuC,eAAe/8B,EAAEmmC,aAAanmC,EAAE2pE,aAAav6E,OAAU4B,GAAqCA,EAAE6O,EAAiB,QAAfY,GAAnCA,EAAEb,EAAEmhE,eAAenhE,EAAEqhE,WAAkBjH,GAAGv5D,GAAG,QACleA,KAARE,EAAEk3D,GAAGp3D,KAAU,IAAIA,EAAE2uD,KAAK,IAAI3uD,EAAE2uD,OAAK3uD,EAAE,QAAUzP,EAAE,KAAKyP,EAAEZ,GAAK7O,IAAIyP,GAAE,CAAgU,GAA/TD,EAAE4gE,GAAG7gE,EAAE,eAAeK,EAAE,eAAeN,EAAE,QAAW,eAAe1N,GAAG,gBAAgBA,IAAE4N,EAAE+iE,GAAGhjE,EAAE,iBAAiBK,EAAE,iBAAiBN,EAAE,WAAUK,EAAE,MAAM3P,EAAEgP,EAAEqmE,GAAGr1E,GAAGoP,EAAE,MAAMK,EAAET,EAAEqmE,GAAG5lE,IAAGT,EAAE,IAAIQ,EAAED,EAAED,EAAE,QAAQtP,EAAE4O,EAAE/Q,IAAKo9C,OAAOtrC,EAAEX,EAAE+gE,cAAc3gE,EAAEG,EAAE,KAAKy5D,GAAGnrE,KAAKgR,KAAIW,EAAE,IAAIA,EAAEI,EAAEN,EAAE,QAAQG,EAAEb,EAAE/Q,IAAKo9C,OAAO7rC,EAAEI,EAAEugE,cAAcpgE,EAAEJ,EAAEC,GAAGG,EAAEJ,EAAKvP,GAAGyP,EAAE5N,EAAE,CAAa,IAAR+N,EAAEH,EAAEH,EAAE,EAAMF,EAAhBI,EAAExP,EAAkBoP,EAAEA,EAAEwpE,GAAGxpE,GAAGE,IAAQ,IAAJF,EAAE,EAAMG,EAAEK,EAAEL,EAAEA,EAAEqpE,GAAGrpE,GAAGH,IAAI,KAAK,EAAEE,EAAEF,GAAGI,EAAEopE,GAAGppE,GAAGF,IAAI,KAAK,EAAEF,EAAEE,GAAGM,EACpfgpE,GAAGhpE,GAAGR,IAAI,KAAKE,KAAK,CAAC,GAAGE,IAAII,GAAG,OAAOA,GAAGJ,IAAII,EAAEk3D,UAAU,MAAMjlE,EAAE2N,EAAEopE,GAAGppE,GAAGI,EAAEgpE,GAAGhpE,EAAE,CAACJ,EAAE,IAAI,MAAMA,EAAE,KAAK,OAAOxP,GAAG64E,GAAG9pE,EAAEC,EAAEhP,EAAEwP,GAAE,GAAI,OAAOC,GAAG,OAAOE,GAAGkpE,GAAG9pE,EAAEY,EAAEF,EAAED,GAAE,EAAG,CAA8D,GAAG,YAA1CxP,GAAjBgP,EAAEH,EAAEwmE,GAAGxmE,GAAGzQ,QAAW43C,UAAUhnC,EAAEgnC,SAASpzC,gBAA+B,UAAU5C,GAAG,SAASgP,EAAEnC,KAAK,IAAIisE,EAAExD,QAAQ,GAAGR,GAAG9lE,GAAG,GAAGumE,GAAGuD,EAAE3C,OAAO,CAAC2C,EAAE7C,GAAG,IAAI8C,EAAEhD,EAAE,MAAM/1E,EAAEgP,EAAEgnC,WAAW,UAAUh2C,EAAE4C,gBAAgB,aAAaoM,EAAEnC,MAAM,UAAUmC,EAAEnC,QAAQisE,EAAE5C,IAClV,OADyV4C,IAAIA,EAAEA,EAAEl3E,EAAEiN,IAAKkmE,GAAGhmE,EAAE+pE,EAAElqE,EAAE/Q,IAAWk7E,GAAGA,EAAEn3E,EAAEoN,EAAEH,GAAG,aAAajN,IAAIm3E,EAAE/pE,EAAEuwD,gBACtewZ,EAAErZ,YAAY,WAAW1wD,EAAEnC,MAAM+yD,GAAG5wD,EAAE,SAASA,EAAE2D,QAAOomE,EAAElqE,EAAEwmE,GAAGxmE,GAAGzQ,OAAcwD,GAAG,IAAK,WAAakzE,GAAGiE,IAAI,SAASA,EAAEjC,mBAAgBE,GAAG+B,EAAE9B,GAAGpoE,EAAEqoE,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAGroE,EAAEH,EAAE/Q,GAAG,MAAM,IAAK,kBAAkB,GAAGk5E,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQK,GAAGroE,EAAEH,EAAE/Q,GAAG,IAAIm7E,EAAE,GAAGpF,GAAG/xE,EAAE,CAAC,OAAOD,GAAG,IAAK,mBAAmB,IAAIikC,EAAE,qBAAqB,MAAMhkC,EAAE,IAAK,iBAAiBgkC,EAAE,mBAAmB,MAAMhkC,EACrf,IAAK,oBAAoBgkC,EAAE,sBAAsB,MAAMhkC,EAAEgkC,OAAE,CAAM,MAAMwuC,GAAGF,GAAGvyE,EAAEgN,KAAKi3B,EAAE,oBAAoB,YAAYjkC,GAAG,MAAMgN,EAAEw+D,UAAUvnC,EAAE,sBAAsBA,IAAImuC,IAAI,OAAOplE,EAAEwjE,SAASiC,IAAI,uBAAuBxuC,EAAE,qBAAqBA,GAAGwuC,KAAK2E,EAAE9L,OAAYF,GAAG,UAARD,GAAGlvE,GAAkBkvE,GAAGp6D,MAAMo6D,GAAG/vE,YAAYq3E,IAAG,IAAe,GAAV0E,EAAE/D,GAAGnmE,EAAEg3B,IAAO3lC,SAAS2lC,EAAE,IAAIirC,GAAGjrC,EAAEjkC,EAAE,KAAKgN,EAAE/Q,GAAGkR,EAAEjK,KAAK,CAACyC,MAAMs+B,EAAE5hC,UAAU80E,IAAIC,EAAEnzC,EAAE/sB,KAAKkgE,EAAW,QAARA,EAAE5E,GAAGxlE,MAAci3B,EAAE/sB,KAAKkgE,MAASA,EAAEjF,GA1BjK,SAAYnyE,EAAEC,GAAG,OAAOD,GAAG,IAAK,iBAAiB,OAAOwyE,GAAGvyE,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEwwE,MAAa,MAAK6B,IAAG,EAAUD,IAAG,IAAK,YAAY,OAAOryE,EAAEC,EAAEiX,QAASm7D,IAAIC,GAAG,KAAKtyE,EAAE,QAAQ,OAAO,KAAK,CA0B7Bq3E,CAAGr3E,EAAEgN,GAzB1b,SAAYhN,EAAEC,GAAG,GAAGwyE,GAAG,MAAM,mBAAmBzyE,IAAIgyE,IAAIO,GAAGvyE,EAAEC,IAAID,EAAEsrE,KAAKD,GAAGD,GAAGD,GAAG,KAAKsH,IAAG,EAAGzyE,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAKC,EAAE0tE,SAAS1tE,EAAE4tE,QAAQ5tE,EAAE6tE,UAAU7tE,EAAE0tE,SAAS1tE,EAAE4tE,OAAO,CAAC,GAAG5tE,EAAEq3E,MAAM,EAAEr3E,EAAEq3E,KAAKh5E,OAAO,OAAO2B,EAAEq3E,KAAK,GAAGr3E,EAAEwwE,MAAM,OAAOvgE,OAAOuE,aAAaxU,EAAEwwE,MAAM,CAAC,OAAO,KAAK,IAAK,iBAAiB,OAAO2B,IAAI,OAAOnyE,EAAEuwE,OAAO,KAAKvwE,EAAEiX,KAAyB,CAyBsDqgE,CAAGv3E,EAAEgN,MAA2B,GAAxBC,EAAEmmE,GAAGnmE,EAAE,kBAAqB3O,SAASrC,EAAE,IAAIizE,GAAG,gBACnf,cAAc,KAAKliE,EAAE/Q,GAAGkR,EAAEjK,KAAK,CAACyC,MAAM1J,EAAEoG,UAAU4K,IAAIhR,EAAEib,KAAKkgE,GAAE,CAAC7D,GAAGpmE,EAAElN,EAAE,GAAE,CAAC,SAAS42E,GAAG72E,EAAEC,EAAE+M,GAAG,MAAM,CAACqrD,SAASr4D,EAAE+C,SAAS9C,EAAE8rE,cAAc/+D,EAAE,CAAC,SAASomE,GAAGpzE,EAAEC,GAAG,IAAI,IAAI+M,EAAE/M,EAAE,UAAUgN,EAAE,GAAG,OAAOjN,GAAG,CAAC,IAAI/D,EAAE+D,EAAEkN,EAAEjR,EAAE0nE,UAAU,IAAI1nE,EAAEugE,KAAK,OAAOtvD,IAAIjR,EAAEiR,EAAY,OAAVA,EAAEo3D,GAAGtkE,EAAEgN,KAAYC,EAAE3N,QAAQu3E,GAAG72E,EAAEkN,EAAEjR,IAAc,OAAViR,EAAEo3D,GAAGtkE,EAAEC,KAAYgN,EAAE/J,KAAK2zE,GAAG72E,EAAEkN,EAAEjR,KAAK+D,EAAEA,EAAEmlE,MAAM,CAAC,OAAOl4D,CAAC,CAAC,SAAS+pE,GAAGh3E,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAEmlE,aAAanlE,GAAG,IAAIA,EAAEw8D,KAAK,OAAOx8D,GAAI,IAAI,CAC5a,SAASi3E,GAAGj3E,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,IAAI,IAAIiR,EAAEjN,EAAE4rE,WAAW1+D,EAAE,GAAG,OAAOH,GAAGA,IAAIC,GAAG,CAAC,IAAIG,EAAEJ,EAAE5O,EAAEgP,EAAE83D,UAAU73D,EAAED,EAAEu2D,UAAU,GAAG,OAAOvlE,GAAGA,IAAI6O,EAAE,MAAM,IAAIG,EAAEovD,KAAK,OAAOnvD,IAAID,EAAEC,EAAEpR,EAAa,OAAVmC,EAAEkmE,GAAGt3D,EAAEE,KAAYC,EAAE7N,QAAQu3E,GAAG7pE,EAAE5O,EAAEgP,IAAKnR,GAAc,OAAVmC,EAAEkmE,GAAGt3D,EAAEE,KAAYC,EAAEjK,KAAK2zE,GAAG7pE,EAAE5O,EAAEgP,KAAMJ,EAAEA,EAAEm4D,MAAM,CAAC,IAAIh4D,EAAE7O,QAAQ0B,EAAEkD,KAAK,CAACyC,MAAM1F,EAAEoC,UAAU8K,GAAG,CAAC,SAASqqE,KAAK,CAAC,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAG33E,EAAEC,GAAG,OAAOD,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW,QAAQC,EAAE23E,UAAU,OAAM,CAAE,CAC7b,SAASC,GAAG73E,EAAEC,GAAG,MAAM,aAAaD,GAAG,WAAWA,GAAG,aAAaA,GAAG,kBAAkBC,EAAEu4D,UAAU,kBAAkBv4D,EAAEu4D,UAAU,kBAAkBv4D,EAAEw+D,yBAAyB,OAAOx+D,EAAEw+D,yBAAyB,MAAMx+D,EAAEw+D,wBAAwBqZ,MAAM,CAAC,IAAIC,GAAG,oBAAoBx8B,WAAWA,gBAAW,EAAOy8B,GAAG,oBAAoBC,aAAaA,kBAAa,EAAO,SAASC,GAAGl4E,GAAG,IAAIA,EAAEsvC,SAAStvC,EAAE5E,YAAY,GAAG,IAAI4E,EAAEsvC,WAAoB,OAATtvC,EAAEA,EAAEpD,QAAeoD,EAAE5E,YAAY,IAAI,CAC5c,SAAS+8E,GAAGn4E,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEguC,YAAY,CAAC,IAAI/tC,EAAED,EAAEsvC,SAAS,GAAG,IAAIrvC,GAAG,IAAIA,EAAE,KAAK,CAAC,OAAOD,CAAC,CAAC,SAASo4E,GAAGp4E,GAAGA,EAAEA,EAAEq4E,gBAAgB,IAAI,IAAIp4E,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEsvC,SAAS,CAAC,IAAItiC,EAAEhN,EAAEkX,KAAK,GAAG,MAAMlK,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAI/M,EAAE,OAAOD,EAAEC,GAAG,KAAK,OAAO+M,GAAG/M,GAAG,CAACD,EAAEA,EAAEq4E,eAAe,CAAC,OAAO,IAAI,CAAC,IAAIC,GAAG,EAA0D,IAAIC,GAAGnzE,KAAKC,SAASC,SAAS,IAAIlE,MAAM,GAAGo3E,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAGzB,GAAG,oBAAoByB,GAAGG,GAAG,iBAAiBH,GAC9d,SAASnR,GAAGpnE,GAAG,IAAIC,EAAED,EAAEw4E,IAAI,GAAGv4E,EAAE,OAAOA,EAAE,IAAI,IAAI+M,EAAEhN,EAAEsqC,WAAWt9B,GAAG,CAAC,GAAG/M,EAAE+M,EAAE8pE,KAAK9pE,EAAEwrE,IAAI,CAAe,GAAdxrE,EAAE/M,EAAEilE,UAAa,OAAOjlE,EAAEs2C,OAAO,OAAOvpC,GAAG,OAAOA,EAAEupC,MAAM,IAAIv2C,EAAEo4E,GAAGp4E,GAAG,OAAOA,GAAG,CAAC,GAAGgN,EAAEhN,EAAEw4E,IAAI,OAAOxrE,EAAEhN,EAAEo4E,GAAGp4E,EAAE,CAAC,OAAOC,CAAC,CAAK+M,GAAJhN,EAAEgN,GAAMs9B,UAAU,CAAC,OAAO,IAAI,CAAC,SAASo5B,GAAG1jE,GAAkB,QAAfA,EAAEA,EAAEw4E,KAAKx4E,EAAE82E,MAAc,IAAI92E,EAAEw8D,KAAK,IAAIx8D,EAAEw8D,KAAK,KAAKx8D,EAAEw8D,KAAK,IAAIx8D,EAAEw8D,IAAI,KAAKx8D,CAAC,CAAC,SAASyzE,GAAGzzE,GAAG,GAAG,IAAIA,EAAEw8D,KAAK,IAAIx8D,EAAEw8D,IAAI,OAAOx8D,EAAE2jE,UAAU,MAAM1mE,MAAM6Q,EAAE,IAAK,CAAC,SAAS81D,GAAG5jE,GAAG,OAAOA,EAAEy4E,KAAK,IAAI,CACtb,SAASnC,GAAGt2E,GAAG,IAAIC,EAAED,EAAE04E,IAAkC,YAA9B,IAASz4E,IAAIA,EAAED,EAAE04E,IAAI,IAAIxf,KAAYj5D,CAAC,CAAC,IAAI04E,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAG74E,GAAG,MAAM,CAACgc,QAAQhc,EAAE,CAAC,SAAS84E,GAAE94E,GAAG,EAAE44E,KAAK54E,EAAEgc,QAAQ28D,GAAGC,IAAID,GAAGC,IAAI,KAAKA,KAAK,CAAC,SAASG,GAAE/4E,EAAEC,GAAG24E,KAAKD,GAAGC,IAAI54E,EAAEgc,QAAQhc,EAAEgc,QAAQ/b,CAAC,CAAC,IAAI+4E,GAAG,CAAC,EAAEC,GAAEJ,GAAGG,IAAIE,GAAEL,IAAG,GAAIM,GAAGH,GAC5P,SAASI,GAAGp5E,EAAEC,GAAG,IAAI+M,EAAEhN,EAAEiL,KAAKR,aAAa,IAAIuC,EAAE,OAAOgsE,GAAG,IAAI/rE,EAAEjN,EAAE2jE,UAAU,GAAG12D,GAAGA,EAAEosE,8CAA8Cp5E,EAAE,OAAOgN,EAAEqsE,0CAA0C,IAASpsE,EAALjR,EAAE,CAAC,EAAI,IAAIiR,KAAKF,EAAE/Q,EAAEiR,GAAGjN,EAAEiN,GAAoH,OAAjHD,KAAIjN,EAAEA,EAAE2jE,WAAY0V,4CAA4Cp5E,EAAED,EAAEs5E,0CAA0Cr9E,GAAUA,CAAC,CAAC,SAASs9E,GAAGv5E,GAAyB,OAAO,QAA7BA,EAAEA,EAAEuK,yBAAmC,IAASvK,CAAC,CAAC,SAASw5E,KAAKV,GAAEI,IAAGJ,GAAEG,GAAE,CAAC,SAASQ,GAAGz5E,EAAEC,EAAE+M,GAAG,GAAGisE,GAAEj9D,UAAUg9D,GAAG,MAAM/7E,MAAM6Q,EAAE,MAAMirE,GAAEE,GAAEh5E,GAAG84E,GAAEG,GAAElsE,EAAE,CACjf,SAAS0sE,GAAG15E,EAAEC,EAAE+M,GAAG,IAAIC,EAAEjN,EAAE2jE,UAAgC,GAAtB3jE,EAAEC,EAAEsK,kBAAqB,oBAAoB0C,EAAE0sE,gBAAgB,OAAO3sE,EAAwB,IAAI,IAAI/Q,KAA9BgR,EAAEA,EAAE0sE,kBAAiC,KAAK19E,KAAK+D,GAAG,MAAM/C,MAAM6Q,EAAE,IAAI4uD,EAAGz8D,IAAI,UAAUhE,IAAI,OAAOqR,EAAE,CAAC,EAAEN,EAAEC,EAAE,CAAC,SAAS2sE,GAAG55E,GAAyG,OAAtGA,GAAGA,EAAEA,EAAE2jE,YAAY3jE,EAAE65E,2CAA2Cb,GAAGG,GAAGF,GAAEj9D,QAAQ+8D,GAAEE,GAAEj5E,GAAG+4E,GAAEG,GAAEA,GAAEl9D,UAAe,CAAE,CAAC,SAAS89D,GAAG95E,EAAEC,EAAE+M,GAAG,IAAIC,EAAEjN,EAAE2jE,UAAU,IAAI12D,EAAE,MAAMhQ,MAAM6Q,EAAE,MAAMd,GAAGhN,EAAE05E,GAAG15E,EAAEC,EAAEk5E,IAAIlsE,EAAE4sE,0CAA0C75E,EAAE84E,GAAEI,IAAGJ,GAAEG,IAAGF,GAAEE,GAAEj5E,IAAI84E,GAAEI,IAAGH,GAAEG,GAAElsE,EAAE,CAC/e,IAAI+sE,GAAG,KAAKC,GAAG,KAAKC,GAAGxsE,EAAE65D,yBAAyB4S,GAAGzsE,EAAEs6D,0BAA0BoS,GAAG1sE,EAAE2sE,wBAAwBC,GAAG5sE,EAAE6sE,qBAAqBC,GAAG9sE,EAAE+sE,sBAAsBC,GAAGhtE,EAAE67D,aAAaoR,GAAGjtE,EAAEktE,iCAAiCC,GAAGntE,EAAEotE,2BAA2BC,GAAGrtE,EAAEk9D,8BAA8BoQ,GAAGttE,EAAEu6D,wBAAwBgT,GAAGvtE,EAAEwtE,qBAAqBC,GAAGztE,EAAE0tE,sBAAsBC,GAAG,CAAC,EAAEC,QAAG,IAASd,GAAGA,GAAG,WAAW,EAAEe,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAAGC,GAAGhB,KAAKiB,GAAE,IAAID,GAAGhB,GAAG,WAAW,OAAOA,KAAKgB,EAAE,EACxd,SAASE,KAAK,OAAOjB,MAAM,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,QAAQ,MAAMj+E,MAAM6Q,EAAE,MAAO,CAAC,SAAS8tE,GAAG57E,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAO46E,GAAG,KAAK,GAAG,OAAOE,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOE,GAAG,QAAQ,MAAMj+E,MAAM6Q,EAAE,MAAO,CAAC,SAAS+tE,GAAG77E,EAAEC,GAAW,OAARD,EAAE47E,GAAG57E,GAAUi6E,GAAGj6E,EAAEC,EAAE,CAAC,SAAS67E,GAAG97E,EAAEC,EAAE+M,GAAW,OAARhN,EAAE47E,GAAG57E,GAAUk6E,GAAGl6E,EAAEC,EAAE+M,EAAE,CAAC,SAAS+uE,KAAK,GAAG,OAAOR,GAAG,CAAC,IAAIv7E,EAAEu7E,GAAGA,GAAG,KAAKpB,GAAGn6E,EAAE,CAACg8E,IAAI,CAC/a,SAASA,KAAK,IAAIR,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAIx7E,EAAE,EAAE,IAAI,IAAIC,EAAEq7E,GAAGO,GAAG,IAAG,WAAW,KAAK77E,EAAEC,EAAE3B,OAAO0B,IAAI,CAAC,IAAIgN,EAAE/M,EAAED,GAAG,GAAGgN,EAAEA,GAAE,SAAU,OAAOA,EAAE,CAAC,IAAGsuE,GAAG,IAAI,CAAC,MAAMtuE,GAAG,MAAM,OAAOsuE,KAAKA,GAAGA,GAAGl6E,MAAMpB,EAAE,IAAIk6E,GAAGU,GAAGmB,IAAI/uE,CAAE,CAAC,QAAQwuE,IAAG,CAAE,CAAC,CAAC,CAAC,IAAIS,GAAGphB,EAAGqhB,wBAAwB,SAASC,GAAGn8E,EAAEC,GAAG,GAAGD,GAAGA,EAAE0K,aAAa,CAA4B,IAAI,IAAIsC,KAAnC/M,EAAEqN,EAAE,CAAC,EAAErN,GAAGD,EAAEA,EAAE0K,kBAA4B,IAASzK,EAAE+M,KAAK/M,EAAE+M,GAAGhN,EAAEgN,IAAI,OAAO/M,CAAC,CAAC,OAAOA,CAAC,CAAC,IAAIm8E,GAAGvD,GAAG,MAAMwD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,IAAI,CAChc,SAASI,GAAGz8E,GAAG,IAAIC,EAAEm8E,GAAGpgE,QAAQ88D,GAAEsD,IAAIp8E,EAAEiL,KAAK6d,SAAS4zD,cAAcz8E,CAAC,CAAC,SAAS08E,GAAG38E,EAAEC,GAAG,KAAK,OAAOD,GAAG,CAAC,IAAIgN,EAAEhN,EAAEklE,UAAU,IAAIllE,EAAE48E,WAAW38E,KAAKA,EAAC,CAAC,GAAG,OAAO+M,IAAIA,EAAE4vE,WAAW38E,KAAKA,EAAE,MAAW+M,EAAE4vE,YAAY38E,CAAE,MAAKD,EAAE48E,YAAY38E,EAAE,OAAO+M,IAAIA,EAAE4vE,YAAY38E,GAAGD,EAAEA,EAAEmlE,MAAM,CAAC,CAAC,SAAS0X,GAAG78E,EAAEC,GAAGo8E,GAAGr8E,EAAEu8E,GAAGD,GAAG,KAAsB,QAAjBt8E,EAAEA,EAAE88E,eAAuB,OAAO98E,EAAE+8E,eAAe,KAAK/8E,EAAEg9E,MAAM/8E,KAAKg9E,IAAG,GAAIj9E,EAAE+8E,aAAa,KAAK,CAC5Y,SAASG,GAAGl9E,EAAEC,GAAG,GAAGs8E,KAAKv8E,IAAG,IAAKC,GAAG,IAAIA,EAAmG,GAA7F,kBAAkBA,GAAG,aAAaA,IAAEs8E,GAAGv8E,EAAEC,EAAE,YAAWA,EAAE,CAAC0S,QAAQ3S,EAAEm9E,aAAal9E,EAAEoR,KAAK,MAAS,OAAOirE,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAMp/E,MAAM6Q,EAAE,MAAMwuE,GAAGr8E,EAAEo8E,GAAGS,aAAa,CAACE,MAAM,EAAED,aAAa98E,EAAEm9E,WAAW,KAAK,MAAMd,GAAGA,GAAGjrE,KAAKpR,EAAE,OAAOD,EAAE08E,aAAa,CAAC,IAAIW,IAAG,EAAG,SAASC,GAAGt9E,GAAGA,EAAEu9E,YAAY,CAACC,UAAUx9E,EAAEqlE,cAAcoY,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACC,QAAQ,MAAMr7B,QAAQ,KAAK,CAC/a,SAASs7B,GAAG79E,EAAEC,GAAGD,EAAEA,EAAEu9E,YAAYt9E,EAAEs9E,cAAcv9E,IAAIC,EAAEs9E,YAAY,CAACC,UAAUx9E,EAAEw9E,UAAUC,gBAAgBz9E,EAAEy9E,gBAAgBC,eAAe19E,EAAE09E,eAAeC,OAAO39E,EAAE29E,OAAOp7B,QAAQviD,EAAEuiD,SAAS,CAAC,SAASu7B,GAAG99E,EAAEC,GAAG,MAAM,CAAC89E,UAAU/9E,EAAEg+E,KAAK/9E,EAAEu8D,IAAI,EAAEyhB,QAAQ,KAAKt7E,SAAS,KAAK0O,KAAK,KAAK,CAAC,SAAS6sE,GAAGl+E,EAAEC,GAAmB,GAAG,QAAnBD,EAAEA,EAAEu9E,aAAwB,CAAY,IAAIvwE,GAAfhN,EAAEA,EAAE29E,QAAeC,QAAQ,OAAO5wE,EAAE/M,EAAEoR,KAAKpR,GAAGA,EAAEoR,KAAKrE,EAAEqE,KAAKrE,EAAEqE,KAAKpR,GAAGD,EAAE49E,QAAQ39E,CAAC,CAAC,CACvZ,SAASk+E,GAAGn+E,EAAEC,GAAG,IAAI+M,EAAEhN,EAAEu9E,YAAYtwE,EAAEjN,EAAEklE,UAAU,GAAG,OAAOj4D,GAAoBD,KAAhBC,EAAEA,EAAEswE,aAAmB,CAAC,IAAIthF,EAAE,KAAKiR,EAAE,KAAyB,GAAG,QAAvBF,EAAEA,EAAEywE,iBAA4B,CAAC,EAAE,CAAC,IAAItwE,EAAE,CAAC4wE,UAAU/wE,EAAE+wE,UAAUC,KAAKhxE,EAAEgxE,KAAKxhB,IAAIxvD,EAAEwvD,IAAIyhB,QAAQjxE,EAAEixE,QAAQt7E,SAASqK,EAAErK,SAAS0O,KAAK,MAAM,OAAOnE,EAAEjR,EAAEiR,EAAEC,EAAED,EAAEA,EAAEmE,KAAKlE,EAAEH,EAAEA,EAAEqE,IAAI,OAAO,OAAOrE,GAAG,OAAOE,EAAEjR,EAAEiR,EAAEjN,EAAEiN,EAAEA,EAAEmE,KAAKpR,CAAC,MAAMhE,EAAEiR,EAAEjN,EAAiH,OAA/G+M,EAAE,CAACwwE,UAAUvwE,EAAEuwE,UAAUC,gBAAgBxhF,EAAEyhF,eAAexwE,EAAEywE,OAAO1wE,EAAE0wE,OAAOp7B,QAAQt1C,EAAEs1C,cAASviD,EAAEu9E,YAAYvwE,EAAQ,CAAoB,QAAnBhN,EAAEgN,EAAE0wE,gBAAwB1wE,EAAEywE,gBAAgBx9E,EAAED,EAAEqR,KACnfpR,EAAE+M,EAAE0wE,eAAez9E,CAAC,CACpB,SAASm+E,GAAGp+E,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE+D,EAAEu9E,YAAYF,IAAG,EAAG,IAAInwE,EAAEjR,EAAEwhF,gBAAgBtwE,EAAElR,EAAEyhF,eAAetwE,EAAEnR,EAAE0hF,OAAOC,QAAQ,GAAG,OAAOxwE,EAAE,CAACnR,EAAE0hF,OAAOC,QAAQ,KAAK,IAAIx/E,EAAEgP,EAAEC,EAAEjP,EAAEiT,KAAKjT,EAAEiT,KAAK,KAAK,OAAOlE,EAAED,EAAEG,EAAEF,EAAEkE,KAAKhE,EAAEF,EAAE/O,EAAE,IAAIC,EAAE2B,EAAEklE,UAAU,GAAG,OAAO7mE,EAAE,CAAiB,IAAI6P,GAApB7P,EAAEA,EAAEk/E,aAAoBG,eAAexvE,IAAIf,IAAI,OAAOe,EAAE7P,EAAEo/E,gBAAgBpwE,EAAEa,EAAEmD,KAAKhE,EAAEhP,EAAEq/E,eAAet/E,EAAE,CAAC,CAAC,GAAG,OAAO8O,EAAE,CAA8B,IAA7BgB,EAAEjS,EAAEuhF,UAAUrwE,EAAE,EAAE9O,EAAEgP,EAAEjP,EAAE,OAAO,CAACgP,EAAEF,EAAE8wE,KAAK,IAAIzwE,EAAEL,EAAE6wE,UAAU,IAAI9wE,EAAEG,KAAKA,EAAE,CAAC,OAAO/O,IAAIA,EAAEA,EAAEgT,KAAK,CAAC0sE,UAAUxwE,EAAEywE,KAAK,EAAExhB,IAAItvD,EAAEsvD,IAAIyhB,QAAQ/wE,EAAE+wE,QAAQt7E,SAASuK,EAAEvK,SACrf0O,KAAK,OAAOrR,EAAE,CAAC,IAAIq+E,EAAEr+E,EAAE6N,EAAEX,EAAU,OAARE,EAAEnN,EAAEsN,EAAEP,EAASa,EAAE2uD,KAAK,KAAK,EAAc,GAAG,oBAAf6hB,EAAExwE,EAAEowE,SAAiC,CAAC/vE,EAAEmwE,EAAEv+E,KAAKyN,EAAEW,EAAEd,GAAG,MAAMpN,CAAC,CAACkO,EAAEmwE,EAAE,MAAMr+E,EAAE,KAAK,EAAEq+E,EAAEl6D,OAAe,KAATk6D,EAAEl6D,MAAY,GAAG,KAAK,EAAsD,GAAG,QAA3C/W,EAAE,oBAAdixE,EAAExwE,EAAEowE,SAAgCI,EAAEv+E,KAAKyN,EAAEW,EAAEd,GAAGixE,SAAe,IAASjxE,EAAE,MAAMpN,EAAEkO,EAAEZ,EAAE,CAAC,EAAEY,EAAEd,GAAG,MAAMpN,EAAE,KAAK,EAAEq9E,IAAG,EAAG,CAAC,OAAOnwE,EAAEvK,WAAW3C,EAAEmkB,OAAO,GAAe,QAAZ/W,EAAEnR,EAAEsmD,SAAiBtmD,EAAEsmD,QAAQ,CAACr1C,GAAGE,EAAElK,KAAKgK,GAAG,MAAMK,EAAE,CAACwwE,UAAUxwE,EAAEywE,KAAK5wE,EAAEovD,IAAItvD,EAAEsvD,IAAIyhB,QAAQ/wE,EAAE+wE,QAAQt7E,SAASuK,EAAEvK,SAAS0O,KAAK,MAAM,OAAOhT,GAAGgP,EAAEhP,EAAEkP,EAAEnP,EAAE8P,GAAG7P,EAAEA,EAAEgT,KAAK9D,EAAEJ,GAAGC,EAAW,GAAG,QAAZF,EAAEA,EAAEmE,MAC1e,IAAsB,QAAnBjE,EAAEnR,EAAE0hF,OAAOC,SAAiB,MAAW1wE,EAAEE,EAAEiE,KAAKjE,EAAEiE,KAAK,KAAKpV,EAAEyhF,eAAetwE,EAAEnR,EAAE0hF,OAAOC,QAAQ,IAAI,EAAU,OAAOv/E,IAAID,EAAE8P,GAAGjS,EAAEuhF,UAAUp/E,EAAEnC,EAAEwhF,gBAAgBpwE,EAAEpR,EAAEyhF,eAAer/E,EAAEigF,IAAInxE,EAAEnN,EAAEg9E,MAAM7vE,EAAEnN,EAAEqlE,cAAcn3D,CAAC,CAAC,CAAC,SAASqwE,GAAGv+E,EAAEC,EAAE+M,GAA8B,GAA3BhN,EAAEC,EAAEsiD,QAAQtiD,EAAEsiD,QAAQ,KAAQ,OAAOviD,EAAE,IAAIC,EAAE,EAAEA,EAAED,EAAE1B,OAAO2B,IAAI,CAAC,IAAIgN,EAAEjN,EAAEC,GAAGhE,EAAEgR,EAAEtK,SAAS,GAAG,OAAO1G,EAAE,CAAqB,GAApBgR,EAAEtK,SAAS,KAAKsK,EAAED,EAAK,oBAAoB/Q,EAAE,MAAMgB,MAAM6Q,EAAE,IAAI7R,IAAIA,EAAE6D,KAAKmN,EAAE,CAAC,CAAC,CAAC,IAAIuxE,IAAI,IAAIxlB,EAAGylB,WAAWC,KAC3b,SAASC,GAAG3+E,EAAEC,EAAE+M,EAAEC,GAA8BD,EAAE,QAAXA,EAAEA,EAAEC,EAAtBhN,EAAED,EAAEqlE,sBAAmC,IAASr4D,EAAE/M,EAAEqN,EAAE,CAAC,EAAErN,EAAE+M,GAAGhN,EAAEqlE,cAAcr4D,EAAE,IAAIhN,EAAEg9E,QAAQh9E,EAAEu9E,YAAYC,UAAUxwE,EAAE,CAC7I,IAAI4xE,GAAG,CAACC,UAAU,SAAS7+E,GAAG,SAAOA,EAAEA,EAAE8+E,kBAAiB7Z,GAAGjlE,KAAKA,CAAI,EAAE++E,gBAAgB,SAAS/+E,EAAEC,EAAE+M,GAAGhN,EAAEA,EAAE8+E,gBAAgB,IAAI7xE,EAAE+xE,KAAK/iF,EAAEgjF,GAAGj/E,GAAGkN,EAAE4wE,GAAG7wE,EAAEhR,GAAGiR,EAAE+wE,QAAQh+E,OAAE,IAAS+M,GAAG,OAAOA,IAAIE,EAAEvK,SAASqK,GAAGkxE,GAAGl+E,EAAEkN,GAAGgyE,GAAGl/E,EAAE/D,EAAEgR,EAAE,EAAEkyE,oBAAoB,SAASn/E,EAAEC,EAAE+M,GAAGhN,EAAEA,EAAE8+E,gBAAgB,IAAI7xE,EAAE+xE,KAAK/iF,EAAEgjF,GAAGj/E,GAAGkN,EAAE4wE,GAAG7wE,EAAEhR,GAAGiR,EAAEsvD,IAAI,EAAEtvD,EAAE+wE,QAAQh+E,OAAE,IAAS+M,GAAG,OAAOA,IAAIE,EAAEvK,SAASqK,GAAGkxE,GAAGl+E,EAAEkN,GAAGgyE,GAAGl/E,EAAE/D,EAAEgR,EAAE,EAAEmyE,mBAAmB,SAASp/E,EAAEC,GAAGD,EAAEA,EAAE8+E,gBAAgB,IAAI9xE,EAAEgyE,KAAK/xE,EAAEgyE,GAAGj/E,GAAG/D,EAAE6hF,GAAG9wE,EAAEC,GAAGhR,EAAEugE,IAAI,OAAE,IAASv8D,GAAG,OAAOA,IAAIhE,EAAE0G,SACjf1C,GAAGi+E,GAAGl+E,EAAE/D,GAAGijF,GAAGl/E,EAAEiN,EAAED,EAAE,GAAG,SAASqyE,GAAGr/E,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,EAAEC,GAAiB,MAAM,oBAApBnN,EAAEA,EAAE2jE,WAAsC2b,sBAAsBt/E,EAAEs/E,sBAAsBryE,EAAEC,EAAEC,IAAGlN,EAAEJ,YAAWI,EAAEJ,UAAU0/E,wBAAsB7K,GAAG1nE,EAAEC,KAAKynE,GAAGz4E,EAAEiR,GAAK,CACpN,SAASsyE,GAAGx/E,EAAEC,EAAE+M,GAAG,IAAIC,GAAE,EAAGhR,EAAE+8E,GAAO9rE,EAAEjN,EAAEuK,YAA2W,MAA/V,kBAAkB0C,GAAG,OAAOA,EAAEA,EAAEgwE,GAAGhwE,IAAIjR,EAAEs9E,GAAGt5E,GAAGk5E,GAAGF,GAAEj9D,QAAyB9O,GAAGD,EAAE,QAAtBA,EAAEhN,EAAEwK,oBAA4B,IAASwC,GAAGmsE,GAAGp5E,EAAE/D,GAAG+8E,IAAI/4E,EAAE,IAAIA,EAAE+M,EAAEE,GAAGlN,EAAEqlE,cAAc,OAAOplE,EAAE4B,YAAO,IAAS5B,EAAE4B,MAAM5B,EAAE4B,MAAM,KAAK5B,EAAEw/E,QAAQb,GAAG5+E,EAAE2jE,UAAU1jE,EAAEA,EAAE6+E,gBAAgB9+E,EAAEiN,KAAIjN,EAAEA,EAAE2jE,WAAY0V,4CAA4Cp9E,EAAE+D,EAAEs5E,0CAA0CpsE,GAAUjN,CAAC,CAC5Z,SAASy/E,GAAG1/E,EAAEC,EAAE+M,EAAEC,GAAGjN,EAAEC,EAAE4B,MAAM,oBAAoB5B,EAAE0/E,2BAA2B1/E,EAAE0/E,0BAA0B3yE,EAAEC,GAAG,oBAAoBhN,EAAE2/E,kCAAkC3/E,EAAE2/E,iCAAiC5yE,EAAEC,GAAGhN,EAAE4B,QAAQ7B,GAAG4+E,GAAGO,oBAAoBl/E,EAAEA,EAAE4B,MAAM,KAAK,CACpQ,SAASg+E,GAAG7/E,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE+D,EAAE2jE,UAAU1nE,EAAEgI,MAAM+I,EAAE/Q,EAAE4F,MAAM7B,EAAEqlE,cAAcppE,EAAEyiF,KAAKF,GAAGlB,GAAGt9E,GAAG,IAAIkN,EAAEjN,EAAEuK,YAAY,kBAAkB0C,GAAG,OAAOA,EAAEjR,EAAE0W,QAAQuqE,GAAGhwE,IAAIA,EAAEqsE,GAAGt5E,GAAGk5E,GAAGF,GAAEj9D,QAAQ/f,EAAE0W,QAAQymE,GAAGp5E,EAAEkN,IAAIkxE,GAAGp+E,EAAEgN,EAAE/Q,EAAEgR,GAAGhR,EAAE4F,MAAM7B,EAAEqlE,cAA2C,oBAA7Bn4D,EAAEjN,EAAE6K,4BAAiD6zE,GAAG3+E,EAAEC,EAAEiN,EAAEF,GAAG/Q,EAAE4F,MAAM7B,EAAEqlE,eAAe,oBAAoBplE,EAAE6K,0BAA0B,oBAAoB7O,EAAE6jF,yBAAyB,oBAAoB7jF,EAAE8jF,2BAA2B,oBAAoB9jF,EAAE+jF,qBACve//E,EAAEhE,EAAE4F,MAAM,oBAAoB5F,EAAE+jF,oBAAoB/jF,EAAE+jF,qBAAqB,oBAAoB/jF,EAAE8jF,2BAA2B9jF,EAAE8jF,4BAA4B9/E,IAAIhE,EAAE4F,OAAO+8E,GAAGO,oBAAoBljF,EAAEA,EAAE4F,MAAM,MAAMu8E,GAAGp+E,EAAEgN,EAAE/Q,EAAEgR,GAAGhR,EAAE4F,MAAM7B,EAAEqlE,eAAe,oBAAoBppE,EAAEgkF,oBAAoBjgF,EAAEmkB,OAAO,EAAE,CAAC,IAAI+7D,GAAGhgF,MAAMC,QACvT,SAASggF,GAAGngF,EAAEC,EAAE+M,GAAW,GAAG,QAAXhN,EAAEgN,EAAEozE,MAAiB,oBAAoBpgF,GAAG,kBAAkBA,EAAE,CAAC,GAAGgN,EAAEqzE,OAAO,CAAY,GAAXrzE,EAAEA,EAAEqzE,OAAY,CAAC,GAAG,IAAIrzE,EAAEwvD,IAAI,MAAMv/D,MAAM6Q,EAAE,MAAM,IAAIb,EAAED,EAAE22D,SAAS,CAAC,IAAI12D,EAAE,MAAMhQ,MAAM6Q,EAAE,IAAI9N,IAAI,IAAI/D,EAAE,GAAG+D,EAAE,OAAG,OAAOC,GAAG,OAAOA,EAAEmgF,KAAK,oBAAoBngF,EAAEmgF,KAAKngF,EAAEmgF,IAAIE,aAAarkF,EAASgE,EAAEmgF,KAAIngF,EAAE,SAASD,GAAG,IAAIC,EAAEgN,EAAEyxE,KAAKz+E,IAAIu+E,KAAKv+E,EAAEgN,EAAEyxE,KAAK,CAAC,GAAG,OAAO1+E,SAASC,EAAEhE,GAAGgE,EAAEhE,GAAG+D,CAAC,EAAEC,EAAEqgF,WAAWrkF,EAASgE,EAAC,CAAC,GAAG,kBAAkBD,EAAE,MAAM/C,MAAM6Q,EAAE,MAAM,IAAId,EAAEqzE,OAAO,MAAMpjF,MAAM6Q,EAAE,IAAI9N,GAAI,CAAC,OAAOA,CAAC,CACje,SAASugF,GAAGvgF,EAAEC,GAAG,GAAG,aAAaD,EAAEiL,KAAK,MAAMhO,MAAM6Q,EAAE,GAAG,oBAAoBlO,OAAOC,UAAUyF,SAASxF,KAAKG,GAAG,qBAAqBL,OAAOY,KAAKP,GAAGT,KAAK,MAAM,IAAIS,GAAI,CACtK,SAASugF,GAAGxgF,GAAG,SAASC,EAAEA,EAAE+M,GAAG,GAAGhN,EAAE,CAAC,IAAIiN,EAAEhN,EAAEwgF,WAAW,OAAOxzE,GAAGA,EAAEyzE,WAAW1zE,EAAE/M,EAAEwgF,WAAWzzE,GAAG/M,EAAE0gF,YAAY1gF,EAAEwgF,WAAWzzE,EAAEA,EAAE0zE,WAAW,KAAK1zE,EAAEmX,MAAM,CAAC,CAAC,CAAC,SAASnX,EAAEA,EAAEC,GAAG,IAAIjN,EAAE,OAAO,KAAK,KAAK,OAAOiN,GAAGhN,EAAE+M,EAAEC,GAAGA,EAAEA,EAAEw4D,QAAQ,OAAO,IAAI,CAAC,SAASx4D,EAAEjN,EAAEC,GAAG,IAAID,EAAE,IAAIqmE,IAAI,OAAOpmE,GAAG,OAAOA,EAAES,IAAIV,EAAEs8D,IAAIr8D,EAAES,IAAIT,GAAGD,EAAEs8D,IAAIr8D,EAAE/B,MAAM+B,GAAGA,EAAEA,EAAEwlE,QAAQ,OAAOzlE,CAAC,CAAC,SAAS/D,EAAE+D,EAAEC,GAAsC,OAAnCD,EAAE4gF,GAAG5gF,EAAEC,IAAK/B,MAAM,EAAE8B,EAAEylE,QAAQ,KAAYzlE,CAAC,CAAC,SAASkN,EAAEjN,EAAE+M,EAAEC,GAAa,OAAVhN,EAAE/B,MAAM+O,EAAMjN,EAA4B,QAAjBiN,EAAEhN,EAAEilE,YAA6Bj4D,EAAEA,EAAE/O,OAAQ8O,GAAG/M,EAAEkkB,MAAM,EACpfnX,GAAGC,GAAEhN,EAAEkkB,MAAM,EAASnX,GADoaA,CACna,CAAC,SAASG,EAAElN,GAAsC,OAAnCD,GAAG,OAAOC,EAAEilE,YAAYjlE,EAAEkkB,MAAM,GAAUlkB,CAAC,CAAC,SAASmN,EAAEpN,EAAEC,EAAE+M,EAAEC,GAAG,OAAG,OAAOhN,GAAG,IAAIA,EAAEu8D,MAAWv8D,EAAE4gF,GAAG7zE,EAAEhN,EAAE8gF,KAAK7zE,IAAKk4D,OAAOnlE,EAAEC,KAAEA,EAAEhE,EAAEgE,EAAE+M,IAAKm4D,OAAOnlE,EAASC,EAAC,CAAC,SAAS7B,EAAE4B,EAAEC,EAAE+M,EAAEC,GAAG,OAAG,OAAOhN,GAAGA,EAAE6hC,cAAc90B,EAAE/B,OAAYgC,EAAEhR,EAAEgE,EAAE+M,EAAE/I,QAASm8E,IAAID,GAAGngF,EAAEC,EAAE+M,GAAGC,EAAEk4D,OAAOnlE,EAAEiN,KAAEA,EAAE8zE,GAAG/zE,EAAE/B,KAAK+B,EAAEtM,IAAIsM,EAAE/I,MAAM,KAAKjE,EAAE8gF,KAAK7zE,IAAKmzE,IAAID,GAAGngF,EAAEC,EAAE+M,GAAGC,EAAEk4D,OAAOnlE,EAASiN,EAAC,CAAC,SAASI,EAAErN,EAAEC,EAAE+M,EAAEC,GAAG,OAAG,OAAOhN,GAAG,IAAIA,EAAEu8D,KAAKv8D,EAAE0jE,UAAU8D,gBAAgBz6D,EAAEy6D,eAAexnE,EAAE0jE,UAAUqd,iBAAiBh0E,EAAEg0E,iBAAsB/gF,EACrgBghF,GAAGj0E,EAAEhN,EAAE8gF,KAAK7zE,IAAKk4D,OAAOnlE,EAAEC,KAAEA,EAAEhE,EAAEgE,EAAE+M,EAAEwrD,UAAU,KAAM2M,OAAOnlE,EAASC,EAAC,CAAC,SAAS5B,EAAE2B,EAAEC,EAAE+M,EAAEC,EAAEC,GAAG,OAAG,OAAOjN,GAAG,IAAIA,EAAEu8D,MAAWv8D,EAAEihF,GAAGl0E,EAAEhN,EAAE8gF,KAAK7zE,EAAEC,IAAKi4D,OAAOnlE,EAAEC,KAAEA,EAAEhE,EAAEgE,EAAE+M,IAAKm4D,OAAOnlE,EAASC,EAAC,CAAC,SAASiO,EAAElO,EAAEC,EAAE+M,GAAG,GAAG,kBAAkB/M,GAAG,kBAAkBA,EAAE,OAAOA,EAAE4gF,GAAG,GAAG5gF,EAAED,EAAE8gF,KAAK9zE,IAAKm4D,OAAOnlE,EAAEC,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEgO,UAAU,KAAK8sD,EAAG,OAAO/tD,EAAE+zE,GAAG9gF,EAAEgL,KAAKhL,EAAES,IAAIT,EAAEgE,MAAM,KAAKjE,EAAE8gF,KAAK9zE,IAAKozE,IAAID,GAAGngF,EAAE,KAAKC,GAAG+M,EAAEm4D,OAAOnlE,EAAEgN,EAAE,KAAKguD,EAAG,OAAO/6D,EAAEghF,GAAGhhF,EAAED,EAAE8gF,KAAK9zE,IAAKm4D,OAAOnlE,EAAEC,EAAE,GAAGigF,GAAGjgF,IAAIg8D,EAAGh8D,GAAG,OAAOA,EAAEihF,GAAGjhF,EACnfD,EAAE8gF,KAAK9zE,EAAE,OAAQm4D,OAAOnlE,EAAEC,EAAEsgF,GAAGvgF,EAAEC,EAAE,CAAC,OAAO,IAAI,CAAC,SAASsN,EAAEvN,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE,OAAOgE,EAAEA,EAAES,IAAI,KAAK,GAAG,kBAAkBsM,GAAG,kBAAkBA,EAAE,OAAO,OAAO/Q,EAAE,KAAKmR,EAAEpN,EAAEC,EAAE,GAAG+M,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEiB,UAAU,KAAK8sD,EAAG,OAAO/tD,EAAEtM,MAAMzE,EAAE+Q,EAAE/B,OAAO5G,EAAGhG,EAAE2B,EAAEC,EAAE+M,EAAE/I,MAAMu0D,SAASvrD,EAAEhR,GAAGmC,EAAE4B,EAAEC,EAAE+M,EAAEC,GAAG,KAAK,KAAK+tD,EAAG,OAAOhuD,EAAEtM,MAAMzE,EAAEoR,EAAErN,EAAEC,EAAE+M,EAAEC,GAAG,KAAK,GAAGizE,GAAGlzE,IAAIivD,EAAGjvD,GAAG,OAAO,OAAO/Q,EAAE,KAAKoC,EAAE2B,EAAEC,EAAE+M,EAAEC,EAAE,MAAMszE,GAAGvgF,EAAEgN,EAAE,CAAC,OAAO,IAAI,CAAC,SAASqxE,EAAEr+E,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,GAAG,kBAAkBgR,GAAG,kBAAkBA,EAAE,OACleG,EAAEnN,EADueD,EAAEA,EAAE0X,IAAI1K,IACtf,KAAW,GAAGC,EAAEhR,GAAG,GAAG,kBAAkBgR,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEgB,UAAU,KAAK8sD,EAAG,OAAO/6D,EAAEA,EAAE0X,IAAI,OAAOzK,EAAEvM,IAAIsM,EAAEC,EAAEvM,MAAM,KAAKuM,EAAEhC,OAAO5G,EAAGhG,EAAE4B,EAAED,EAAEiN,EAAEhJ,MAAMu0D,SAASv8D,EAAEgR,EAAEvM,KAAKtC,EAAE6B,EAAED,EAAEiN,EAAEhR,GAAG,KAAK++D,EAAG,OAA2C3tD,EAAEpN,EAAtCD,EAAEA,EAAE0X,IAAI,OAAOzK,EAAEvM,IAAIsM,EAAEC,EAAEvM,MAAM,KAAWuM,EAAEhR,GAAG,GAAGikF,GAAGjzE,IAAIgvD,EAAGhvD,GAAG,OAAwB5O,EAAE4B,EAAnBD,EAAEA,EAAE0X,IAAI1K,IAAI,KAAWC,EAAEhR,EAAE,MAAMskF,GAAGtgF,EAAEgN,EAAE,CAAC,OAAO,IAAI,CAAC,SAASY,EAAE5R,EAAEkR,EAAEC,EAAEhP,GAAG,IAAI,IAAIiP,EAAE,KAAKK,EAAE,KAAKM,EAAEb,EAAEY,EAAEZ,EAAE,EAAEK,EAAE,KAAK,OAAOQ,GAAGD,EAAEX,EAAE9O,OAAOyP,IAAI,CAACC,EAAE9P,MAAM6P,GAAGP,EAAEQ,EAAEA,EAAE,MAAMR,EAAEQ,EAAEy3D,QAAQ,IAAIpnE,EAAEkP,EAAEtR,EAAE+R,EAAEZ,EAAEW,GAAG3P,GAAG,GAAG,OAAOC,EAAE,CAAC,OAAO2P,IAAIA,EAAER,GAAG,KAAK,CAACxN,GAAGgO,GAAG,OACjf3P,EAAE6mE,WAAWjlE,EAAEhE,EAAE+R,GAAGb,EAAED,EAAE7O,EAAE8O,EAAEY,GAAG,OAAOL,EAAEL,EAAEhP,EAAEqP,EAAE+3D,QAAQpnE,EAAEqP,EAAErP,EAAE2P,EAAER,CAAC,CAAC,GAAGO,IAAIX,EAAE9O,OAAO,OAAO0O,EAAE/Q,EAAE+R,GAAGX,EAAE,GAAG,OAAOW,EAAE,CAAC,KAAKD,EAAEX,EAAE9O,OAAOyP,IAAkB,QAAdC,EAAEE,EAAEjS,EAAEmR,EAAEW,GAAG3P,MAAc+O,EAAED,EAAEc,EAAEb,EAAEY,GAAG,OAAOL,EAAEL,EAAEW,EAAEN,EAAE+3D,QAAQz3D,EAAEN,EAAEM,GAAG,OAAOX,CAAC,CAAC,IAAIW,EAAEf,EAAEhR,EAAE+R,GAAGD,EAAEX,EAAE9O,OAAOyP,IAAsB,QAAlBP,EAAE6wE,EAAErwE,EAAE/R,EAAE8R,EAAEX,EAAEW,GAAG3P,MAAc4B,GAAG,OAAOwN,EAAE03D,WAAWl3D,EAAEg5D,OAAO,OAAOx5D,EAAE9M,IAAIqN,EAAEP,EAAE9M,KAAKyM,EAAED,EAAEM,EAAEL,EAAEY,GAAG,OAAOL,EAAEL,EAAEG,EAAEE,EAAE+3D,QAAQj4D,EAAEE,EAAEF,GAA4C,OAAzCxN,GAAGgO,EAAExK,SAAQ,SAASxD,GAAG,OAAOC,EAAEhE,EAAE+D,EAAE,IAAUqN,CAAC,CAAC,SAASO,EAAE3R,EAAEkR,EAAEC,EAAEhP,GAAG,IAAIiP,EAAE4uD,EAAG7uD,GAAG,GAAG,oBAAoBC,EAAE,MAAMpQ,MAAM6Q,EAAE,MAAkB,GAAG,OAAfV,EAAEC,EAAEvN,KAAKsN,IAC1e,MAAMnQ,MAAM6Q,EAAE,MAAM,IAAI,IAAIJ,EAAEL,EAAE,KAAKW,EAAEb,EAAEY,EAAEZ,EAAE,EAAEK,EAAE,KAAKnP,EAAE+O,EAAEiE,OAAO,OAAOrD,IAAI3P,EAAEkT,KAAKxD,IAAI1P,EAAE+O,EAAEiE,OAAO,CAACrD,EAAE9P,MAAM6P,GAAGP,EAAEQ,EAAEA,EAAE,MAAMR,EAAEQ,EAAEy3D,QAAQ,IAAI73D,EAAEL,EAAEtR,EAAE+R,EAAE3P,EAAE0S,MAAM3S,GAAG,GAAG,OAAOwP,EAAE,CAAC,OAAOI,IAAIA,EAAER,GAAG,KAAK,CAACxN,GAAGgO,GAAG,OAAOJ,EAAEs3D,WAAWjlE,EAAEhE,EAAE+R,GAAGb,EAAED,EAAEU,EAAET,EAAEY,GAAG,OAAOL,EAAEL,EAAEO,EAAEF,EAAE+3D,QAAQ73D,EAAEF,EAAEE,EAAEI,EAAER,CAAC,CAAC,GAAGnP,EAAEkT,KAAK,OAAOvE,EAAE/Q,EAAE+R,GAAGX,EAAE,GAAG,OAAOW,EAAE,CAAC,MAAM3P,EAAEkT,KAAKxD,IAAI1P,EAAE+O,EAAEiE,OAAwB,QAAjBhT,EAAE6P,EAAEjS,EAAEoC,EAAE0S,MAAM3S,MAAc+O,EAAED,EAAE7O,EAAE8O,EAAEY,GAAG,OAAOL,EAAEL,EAAEhP,EAAEqP,EAAE+3D,QAAQpnE,EAAEqP,EAAErP,GAAG,OAAOgP,CAAC,CAAC,IAAIW,EAAEf,EAAEhR,EAAE+R,IAAI3P,EAAEkT,KAAKxD,IAAI1P,EAAE+O,EAAEiE,OAA4B,QAArBhT,EAAEggF,EAAErwE,EAAE/R,EAAE8R,EAAE1P,EAAE0S,MAAM3S,MAAc4B,GAAG,OAAO3B,EAAE6mE,WAChfl3D,EAAEg5D,OAAO,OAAO3oE,EAAEqC,IAAIqN,EAAE1P,EAAEqC,KAAKyM,EAAED,EAAE7O,EAAE8O,EAAEY,GAAG,OAAOL,EAAEL,EAAEhP,EAAEqP,EAAE+3D,QAAQpnE,EAAEqP,EAAErP,GAA4C,OAAzC2B,GAAGgO,EAAExK,SAAQ,SAASxD,GAAG,OAAOC,EAAEhE,EAAE+D,EAAE,IAAUqN,CAAC,CAAC,OAAO,SAASrN,EAAEiN,EAAEC,EAAEE,GAAG,IAAIhP,EAAE,kBAAkB8O,GAAG,OAAOA,GAAGA,EAAEjC,OAAO5G,GAAI,OAAO6I,EAAExM,IAAItC,IAAI8O,EAAEA,EAAEjJ,MAAMu0D,UAAU,IAAInrD,EAAE,kBAAkBH,GAAG,OAAOA,EAAE,GAAGG,EAAE,OAAOH,EAAEe,UAAU,KAAK8sD,EAAG/6D,EAAE,CAAS,IAARqN,EAAEH,EAAExM,IAAQtC,EAAE6O,EAAE,OAAO7O,GAAG,CAAC,GAAGA,EAAEsC,MAAM2M,EAAE,CAAC,GAAmB,IAAZjP,EAAEo+D,KAAY,GAAGtvD,EAAEjC,OAAO5G,EAAG,CAAC2I,EAAEhN,EAAE5B,EAAEqnE,UAASx4D,EAAEhR,EAAEmC,EAAE8O,EAAEjJ,MAAMu0D,WAAY2M,OAAOnlE,EAAEA,EAAEiN,EAAE,MAAMjN,CAAC,OAAe,GAAG5B,EAAE0jC,cAAc50B,EAAEjC,KAAK,CAAC+B,EAAEhN,EAAE5B,EAAEqnE,UAC5ex4D,EAAEhR,EAAEmC,EAAE8O,EAAEjJ,QAASm8E,IAAID,GAAGngF,EAAE5B,EAAE8O,GAAGD,EAAEk4D,OAAOnlE,EAAEA,EAAEiN,EAAE,MAAMjN,CAAC,CAAEgN,EAAEhN,EAAE5B,GAAG,KAAK,CAAM6B,EAAED,EAAE5B,GAAGA,EAAEA,EAAEqnE,OAAO,CAACv4D,EAAEjC,OAAO5G,IAAI4I,EAAEi0E,GAAGh0E,EAAEjJ,MAAMu0D,SAASx4D,EAAE8gF,KAAK1zE,EAAEF,EAAExM,MAAOykE,OAAOnlE,EAAEA,EAAEiN,KAAIG,EAAE2zE,GAAG7zE,EAAEjC,KAAKiC,EAAExM,IAAIwM,EAAEjJ,MAAM,KAAKjE,EAAE8gF,KAAK1zE,IAAKgzE,IAAID,GAAGngF,EAAEiN,EAAEC,GAAGE,EAAE+3D,OAAOnlE,EAAEA,EAAEoN,EAAE,CAAC,OAAOD,EAAEnN,GAAG,KAAKg7D,EAAGh7D,EAAE,CAAC,IAAI5B,EAAE8O,EAAExM,IAAI,OAAOuM,GAAG,CAAC,GAAGA,EAAEvM,MAAMtC,EAAC,CAAC,GAAG,IAAI6O,EAAEuvD,KAAKvvD,EAAE02D,UAAU8D,gBAAgBv6D,EAAEu6D,eAAex6D,EAAE02D,UAAUqd,iBAAiB9zE,EAAE8zE,eAAe,CAACh0E,EAAEhN,EAAEiN,EAAEw4D,UAASx4D,EAAEhR,EAAEgR,EAAEC,EAAEsrD,UAAU,KAAM2M,OAAOnlE,EAAEA,EAAEiN,EAAE,MAAMjN,CAAC,CAAMgN,EAAEhN,EAAEiN,GAAG,KAAM,CAAKhN,EAAED,EAAEiN,GAAGA,EAAEA,EAAEw4D,OAAO,EAACx4D,EACpfg0E,GAAG/zE,EAAElN,EAAE8gF,KAAK1zE,IAAK+3D,OAAOnlE,EAAEA,EAAEiN,CAAC,CAAC,OAAOE,EAAEnN,GAAG,GAAG,kBAAkBkN,GAAG,kBAAkBA,EAAE,OAAOA,EAAE,GAAGA,EAAE,OAAOD,GAAG,IAAIA,EAAEuvD,KAAKxvD,EAAEhN,EAAEiN,EAAEw4D,UAASx4D,EAAEhR,EAAEgR,EAAEC,IAAKi4D,OAAOnlE,EAAEA,EAAEiN,IAAID,EAAEhN,EAAEiN,IAAGA,EAAE4zE,GAAG3zE,EAAElN,EAAE8gF,KAAK1zE,IAAK+3D,OAAOnlE,EAAEA,EAAEiN,GAAGE,EAAEnN,GAAG,GAAGkgF,GAAGhzE,GAAG,OAAOW,EAAE7N,EAAEiN,EAAEC,EAAEE,GAAG,GAAG6uD,EAAG/uD,GAAG,OAAOU,EAAE5N,EAAEiN,EAAEC,EAAEE,GAAc,GAAXC,GAAGkzE,GAAGvgF,EAAEkN,GAAM,qBAAqBA,IAAI9O,EAAE,OAAO4B,EAAEw8D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,MAAMv/D,MAAM6Q,EAAE,IAAI4uD,EAAG18D,EAAEiL,OAAO,cAAe,OAAO+B,EAAEhN,EAAEiN,EAAE,CAAC,CAAC,IAAIk0E,GAAGX,IAAG,GAAIY,GAAGZ,IAAG,GAAIa,GAAG,CAAC,EAAEC,GAAGzI,GAAGwI,IAAIE,GAAG1I,GAAGwI,IAAIG,GAAG3I,GAAGwI,IACtd,SAASI,GAAGzhF,GAAG,GAAGA,IAAIqhF,GAAG,MAAMpkF,MAAM6Q,EAAE,MAAM,OAAO9N,CAAC,CAAC,SAAS0hF,GAAG1hF,EAAEC,GAAyC,OAAtC84E,GAAEyI,GAAGvhF,GAAG84E,GAAEwI,GAAGvhF,GAAG+4E,GAAEuI,GAAGD,IAAIrhF,EAAEC,EAAEqvC,UAAmB,KAAK,EAAE,KAAK,GAAGrvC,GAAGA,EAAEA,EAAEuT,iBAAiBvT,EAAEm/D,aAAaH,GAAG,KAAK,IAAI,MAAM,QAAkEh/D,EAAEg/D,GAArCh/D,GAAvBD,EAAE,IAAIA,EAAEC,EAAEqqC,WAAWrqC,GAAMm/D,cAAc,KAAKp/D,EAAEA,EAAEyuC,SAAkBqqC,GAAEwI,IAAIvI,GAAEuI,GAAGrhF,EAAE,CAAC,SAAS0hF,KAAK7I,GAAEwI,IAAIxI,GAAEyI,IAAIzI,GAAE0I,GAAG,CAAC,SAASI,GAAG5hF,GAAGyhF,GAAGD,GAAGxlE,SAAS,IAAI/b,EAAEwhF,GAAGH,GAAGtlE,SAAahP,EAAEiyD,GAAGh/D,EAAED,EAAEiL,MAAMhL,IAAI+M,IAAI+rE,GAAEwI,GAAGvhF,GAAG+4E,GAAEuI,GAAGt0E,GAAG,CAAC,SAAS60E,GAAG7hF,GAAGuhF,GAAGvlE,UAAUhc,IAAI84E,GAAEwI,IAAIxI,GAAEyI,IAAI,CAAC,IAAI3wE,GAAEioE,GAAG,GAC9c,SAASiJ,GAAG9hF,GAAG,IAAI,IAAIC,EAAED,EAAE,OAAOC,GAAG,CAAC,GAAG,KAAKA,EAAEu8D,IAAI,CAAC,IAAIxvD,EAAE/M,EAAEolE,cAAc,GAAG,OAAOr4D,IAAmB,QAAfA,EAAEA,EAAEs4D,aAAqB,OAAOt4D,EAAEkK,MAAM,OAAOlK,EAAEkK,MAAM,OAAOjX,CAAC,MAAM,GAAG,KAAKA,EAAEu8D,UAAK,IAASv8D,EAAE8hF,cAAcC,aAAa,GAAG,KAAa,GAAR/hF,EAAEkkB,OAAU,OAAOlkB,OAAO,GAAG,OAAOA,EAAEs2C,MAAM,CAACt2C,EAAEs2C,MAAM4uB,OAAOllE,EAAEA,EAAEA,EAAEs2C,MAAM,QAAQ,CAAC,GAAGt2C,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAEwlE,SAAS,CAAC,GAAG,OAAOxlE,EAAEklE,QAAQllE,EAAEklE,SAASnlE,EAAE,OAAO,KAAKC,EAAEA,EAAEklE,MAAM,CAACllE,EAAEwlE,QAAQN,OAAOllE,EAAEklE,OAAOllE,EAAEA,EAAEwlE,OAAO,CAAC,OAAO,IAAI,CAAC,IAAIwc,GAAG,KAAKC,GAAG,KAAKC,IAAG,EACpd,SAASC,GAAGpiF,EAAEC,GAAG,IAAI+M,EAAEq1E,GAAG,EAAE,KAAK,KAAK,GAAGr1E,EAAE80B,YAAY,UAAU90B,EAAE/B,KAAK,UAAU+B,EAAE22D,UAAU1jE,EAAE+M,EAAEm4D,OAAOnlE,EAAEgN,EAAEmX,MAAM,EAAE,OAAOnkB,EAAEygF,YAAYzgF,EAAEygF,WAAWC,WAAW1zE,EAAEhN,EAAEygF,WAAWzzE,GAAGhN,EAAE2gF,YAAY3gF,EAAEygF,WAAWzzE,CAAC,CAAC,SAASs1E,GAAGtiF,EAAEC,GAAG,OAAOD,EAAEw8D,KAAK,KAAK,EAAE,IAAIxvD,EAAEhN,EAAEiL,KAAyE,OAAO,QAA3EhL,EAAE,IAAIA,EAAEqvC,UAAUtiC,EAAEhM,gBAAgBf,EAAEm0C,SAASpzC,cAAc,KAAKf,KAAmBD,EAAE2jE,UAAU1jE,GAAE,GAAO,KAAK,EAAE,OAAoD,QAA7CA,EAAE,KAAKD,EAAEuiF,cAAc,IAAItiF,EAAEqvC,SAAS,KAAKrvC,KAAYD,EAAE2jE,UAAU1jE,GAAE,GAAwB,QAAQ,OAAM,EAAG,CAC1e,SAASuiF,GAAGxiF,GAAG,GAAGmiF,GAAG,CAAC,IAAIliF,EAAEiiF,GAAG,GAAGjiF,EAAE,CAAC,IAAI+M,EAAE/M,EAAE,IAAIqiF,GAAGtiF,EAAEC,GAAG,CAAqB,KAApBA,EAAEk4E,GAAGnrE,EAAEghC,gBAAqBs0C,GAAGtiF,EAAEC,GAAuC,OAAnCD,EAAEmkB,OAAe,KAATnkB,EAAEmkB,MAAY,EAAEg+D,IAAG,OAAGF,GAAGjiF,GAASoiF,GAAGH,GAAGj1E,EAAE,CAACi1E,GAAGjiF,EAAEkiF,GAAG/J,GAAGl4E,EAAEgmC,WAAW,MAAMjmC,EAAEmkB,OAAe,KAATnkB,EAAEmkB,MAAY,EAAEg+D,IAAG,EAAGF,GAAGjiF,CAAC,CAAC,CAAC,SAASyiF,GAAGziF,GAAG,IAAIA,EAAEA,EAAEmlE,OAAO,OAAOnlE,GAAG,IAAIA,EAAEw8D,KAAK,IAAIx8D,EAAEw8D,KAAK,KAAKx8D,EAAEw8D,KAAKx8D,EAAEA,EAAEmlE,OAAO8c,GAAGjiF,CAAC,CAC7S,SAAS0iF,GAAG1iF,GAAG,GAAGA,IAAIiiF,GAAG,OAAM,EAAG,IAAIE,GAAG,OAAOM,GAAGziF,GAAGmiF,IAAG,GAAG,EAAG,IAAIliF,EAAED,EAAEiL,KAAK,GAAG,IAAIjL,EAAEw8D,KAAK,SAASv8D,GAAG,SAASA,IAAI43E,GAAG53E,EAAED,EAAE+hF,eAAe,IAAI9hF,EAAEiiF,GAAGjiF,GAAGmiF,GAAGpiF,EAAEC,GAAGA,EAAEk4E,GAAGl4E,EAAE+tC,aAAmB,GAANy0C,GAAGziF,GAAM,KAAKA,EAAEw8D,IAAI,CAAgD,KAA7Bx8D,EAAE,QAApBA,EAAEA,EAAEqlE,eAAyBrlE,EAAEslE,WAAW,MAAW,MAAMroE,MAAM6Q,EAAE,MAAM9N,EAAE,CAAiB,IAAhBA,EAAEA,EAAEguC,YAAgB/tC,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEsvC,SAAS,CAAC,IAAItiC,EAAEhN,EAAEkX,KAAK,GAAG,OAAOlK,EAAE,CAAC,GAAG,IAAI/M,EAAE,CAACiiF,GAAG/J,GAAGn4E,EAAEguC,aAAa,MAAMhuC,CAAC,CAACC,GAAG,KAAK,MAAM+M,GAAG,OAAOA,GAAG,OAAOA,GAAG/M,GAAG,CAACD,EAAEA,EAAEguC,WAAW,CAACk0C,GAAG,IAAI,CAAC,MAAMA,GAAGD,GAAG9J,GAAGn4E,EAAE2jE,UAAU31B,aAAa,KAAK,OAAM,CAAE,CACxf,SAAS20C,KAAKT,GAAGD,GAAG,KAAKE,IAAG,CAAE,CAAC,IAAIS,GAAG,GAAG,SAASC,KAAK,IAAI,IAAI7iF,EAAE,EAAEA,EAAE4iF,GAAGtkF,OAAO0B,IAAI4iF,GAAG5iF,GAAG8iF,8BAA8B,KAAKF,GAAGtkF,OAAO,CAAC,CAAC,IAAIykF,GAAGloB,EAAGmoB,uBAAuBC,GAAGpoB,EAAGqhB,wBAAwBgH,GAAG,EAAEC,GAAE,KAAKC,GAAE,KAAKj/C,GAAE,KAAKk/C,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAK,MAAMtmF,MAAM6Q,EAAE,KAAM,CAAC,SAAS01E,GAAGxjF,EAAEC,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAI+M,EAAE,EAAEA,EAAE/M,EAAE3B,QAAQ0O,EAAEhN,EAAE1B,OAAO0O,IAAI,IAAIwnE,GAAGx0E,EAAEgN,GAAG/M,EAAE+M,IAAI,OAAM,EAAG,OAAM,CAAE,CAChY,SAASy2E,GAAGzjF,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAyH,GAAtHg2E,GAAGh2E,EAAEi2E,GAAEljF,EAAEA,EAAEolE,cAAc,KAAKplE,EAAEs9E,YAAY,KAAKt9E,EAAE+8E,MAAM,EAAE+F,GAAG/mE,QAAQ,OAAOhc,GAAG,OAAOA,EAAEqlE,cAAcqe,GAAGC,GAAG3jF,EAAEgN,EAAEC,EAAEhR,GAAMqnF,GAAG,CAACp2E,EAAE,EAAE,EAAE,CAAO,GAANo2E,IAAG,IAAQ,GAAGp2E,GAAG,MAAMjQ,MAAM6Q,EAAE,MAAMZ,GAAG,EAAEi3B,GAAEi/C,GAAE,KAAKnjF,EAAEs9E,YAAY,KAAKwF,GAAG/mE,QAAQ4nE,GAAG5jF,EAAEgN,EAAEC,EAAEhR,EAAE,OAAOqnF,GAAG,CAA+D,GAA9DP,GAAG/mE,QAAQ6nE,GAAG5jF,EAAE,OAAOmjF,IAAG,OAAOA,GAAE/xE,KAAK6xE,GAAG,EAAE/+C,GAAEi/C,GAAED,GAAE,KAAKE,IAAG,EAAMpjF,EAAE,MAAMhD,MAAM6Q,EAAE,MAAM,OAAO9N,CAAC,CAAC,SAAS8jF,KAAK,IAAI9jF,EAAE,CAACqlE,cAAc,KAAKmY,UAAU,KAAKuG,UAAU,KAAKC,MAAM,KAAK3yE,KAAK,MAA8C,OAAxC,OAAO8yB,GAAEg/C,GAAE9d,cAAclhC,GAAEnkC,EAAEmkC,GAAEA,GAAE9yB,KAAKrR,EAASmkC,EAAC,CAChf,SAAS8/C,KAAK,GAAG,OAAOb,GAAE,CAAC,IAAIpjF,EAAEmjF,GAAEje,UAAUllE,EAAE,OAAOA,EAAEA,EAAEqlE,cAAc,IAAI,MAAMrlE,EAAEojF,GAAE/xE,KAAK,IAAIpR,EAAE,OAAOkkC,GAAEg/C,GAAE9d,cAAclhC,GAAE9yB,KAAK,GAAG,OAAOpR,EAAEkkC,GAAElkC,EAAEmjF,GAAEpjF,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAM/C,MAAM6Q,EAAE,MAAU9N,EAAE,CAACqlE,eAAP+d,GAAEpjF,GAAqBqlE,cAAcmY,UAAU4F,GAAE5F,UAAUuG,UAAUX,GAAEW,UAAUC,MAAMZ,GAAEY,MAAM3yE,KAAK,MAAM,OAAO8yB,GAAEg/C,GAAE9d,cAAclhC,GAAEnkC,EAAEmkC,GAAEA,GAAE9yB,KAAKrR,CAAC,CAAC,OAAOmkC,EAAC,CAAC,SAAS+/C,GAAGlkF,EAAEC,GAAG,MAAM,oBAAoBA,EAAEA,EAAED,GAAGC,CAAC,CACxY,SAASkkF,GAAGnkF,GAAG,IAAIC,EAAEgkF,KAAKj3E,EAAE/M,EAAE+jF,MAAM,GAAG,OAAOh3E,EAAE,MAAM/P,MAAM6Q,EAAE,MAAMd,EAAEo3E,oBAAoBpkF,EAAE,IAAIiN,EAAEm2E,GAAEnnF,EAAEgR,EAAE82E,UAAU72E,EAAEF,EAAE4wE,QAAQ,GAAG,OAAO1wE,EAAE,CAAC,GAAG,OAAOjR,EAAE,CAAC,IAAIkR,EAAElR,EAAEoV,KAAKpV,EAAEoV,KAAKnE,EAAEmE,KAAKnE,EAAEmE,KAAKlE,CAAC,CAACF,EAAE82E,UAAU9nF,EAAEiR,EAAEF,EAAE4wE,QAAQ,IAAI,CAAC,GAAG,OAAO3hF,EAAE,CAACA,EAAEA,EAAEoV,KAAKpE,EAAEA,EAAEuwE,UAAU,IAAIpwE,EAAED,EAAED,EAAE,KAAK9O,EAAEnC,EAAE,EAAE,CAAC,IAAIoR,EAAEjP,EAAE4/E,KAAK,IAAIkF,GAAG71E,KAAKA,EAAE,OAAOD,IAAIA,EAAEA,EAAEiE,KAAK,CAAC2sE,KAAK,EAAEv7E,OAAOrE,EAAEqE,OAAO4hF,aAAajmF,EAAEimF,aAAaC,WAAWlmF,EAAEkmF,WAAWjzE,KAAK,OAAOpE,EAAE7O,EAAEimF,eAAerkF,EAAE5B,EAAEkmF,WAAWtkF,EAAEiN,EAAE7O,EAAEqE,YAAY,CAAC,IAAIpE,EAAE,CAAC2/E,KAAK3wE,EAAE5K,OAAOrE,EAAEqE,OAAO4hF,aAAajmF,EAAEimF,aAC9fC,WAAWlmF,EAAEkmF,WAAWjzE,KAAK,MAAM,OAAOjE,GAAGD,EAAEC,EAAE/O,EAAE6O,EAAED,GAAGG,EAAEA,EAAEiE,KAAKhT,EAAE8kF,GAAEnG,OAAO3vE,EAAEixE,IAAIjxE,CAAC,CAACjP,EAAEA,EAAEiT,IAAI,OAAO,OAAOjT,GAAGA,IAAInC,GAAG,OAAOmR,EAAEF,EAAED,EAAEG,EAAEiE,KAAKlE,EAAEqnE,GAAGvnE,EAAEhN,EAAEolE,iBAAiB4X,IAAG,GAAIh9E,EAAEolE,cAAcp4D,EAAEhN,EAAEu9E,UAAUtwE,EAAEjN,EAAE8jF,UAAU32E,EAAEJ,EAAEu3E,kBAAkBt3E,CAAC,CAAC,MAAM,CAAChN,EAAEolE,cAAcr4D,EAAEw3E,SAAS,CAC/Q,SAASC,GAAGzkF,GAAG,IAAIC,EAAEgkF,KAAKj3E,EAAE/M,EAAE+jF,MAAM,GAAG,OAAOh3E,EAAE,MAAM/P,MAAM6Q,EAAE,MAAMd,EAAEo3E,oBAAoBpkF,EAAE,IAAIiN,EAAED,EAAEw3E,SAASvoF,EAAE+Q,EAAE4wE,QAAQ1wE,EAAEjN,EAAEolE,cAAc,GAAG,OAAOppE,EAAE,CAAC+Q,EAAE4wE,QAAQ,KAAK,IAAIzwE,EAAElR,EAAEA,EAAEoV,KAAK,GAAGnE,EAAElN,EAAEkN,EAAEC,EAAE1K,QAAQ0K,EAAEA,EAAEkE,WAAWlE,IAAIlR,GAAGu4E,GAAGtnE,EAAEjN,EAAEolE,iBAAiB4X,IAAG,GAAIh9E,EAAEolE,cAAcn4D,EAAE,OAAOjN,EAAE8jF,YAAY9jF,EAAEu9E,UAAUtwE,GAAGF,EAAEu3E,kBAAkBr3E,CAAC,CAAC,MAAM,CAACA,EAAED,EAAE,CACrV,SAASy3E,GAAG1kF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEhN,EAAE0kF,YAAY13E,EAAEA,EAAEhN,EAAE2kF,SAAS,IAAI3oF,EAAEgE,EAAE6iF,8BAAyI,GAAxG,OAAO7mF,EAAE+D,EAAE/D,IAAIgR,GAAUjN,EAAEA,EAAE6kF,kBAAiB7kF,GAAGkjF,GAAGljF,KAAKA,KAAEC,EAAE6iF,8BAA8B71E,EAAE21E,GAAG1/E,KAAKjD,KAAMD,EAAE,OAAOgN,EAAE/M,EAAE2kF,SAAoB,MAAXhC,GAAG1/E,KAAKjD,GAAShD,MAAM6Q,EAAE,KAAM,CAC/P,SAASg3E,GAAG9kF,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAEmkB,GAAE,GAAG,OAAOnkB,EAAE,MAAMgB,MAAM6Q,EAAE,MAAM,IAAIZ,EAAEjN,EAAE0kF,YAAYx3E,EAAED,EAAEjN,EAAE2kF,SAASx3E,EAAE21E,GAAG/mE,QAAQ5d,EAAEgP,EAAE23E,UAAS,WAAW,OAAOL,GAAGzoF,EAAEgE,EAAE+M,EAAE,IAAGK,EAAEjP,EAAE,GAAGC,EAAED,EAAE,GAAGA,EAAE+lC,GAAE,IAAIj2B,EAAElO,EAAEqlE,cAAc93D,EAAEW,EAAEwwE,KAAKL,EAAE9wE,EAAEy3E,YAAYn3E,EAAEK,EAAE6iD,OAAO7iD,EAAEA,EAAE+2E,UAAU,IAAIr3E,EAAEu1E,GACuO,OADrOnjF,EAAEqlE,cAAc,CAACqZ,KAAKnxE,EAAEwjD,OAAO9wD,EAAEglF,UAAUh4E,GAAGG,EAAE83E,WAAU,WAAW33E,EAAEy3E,YAAYh4E,EAAEO,EAAE43E,YAAY93E,EAAE,IAAIrN,EAAEkN,EAAEjN,EAAE2kF,SAAS,IAAIpQ,GAAGrnE,EAAEnN,GAAG,CAACA,EAAEgN,EAAE/M,EAAE2kF,SAASpQ,GAAGn2E,EAAE2B,KAAKqN,EAAErN,GAAGA,EAAEi/E,GAAGrxE,GAAG3R,EAAE4oF,kBAAkB7kF,EAAE/D,EAAEwtE,cAAczpE,EAAE/D,EAAE4oF,iBAAiB5oF,EAAE6tE,gBAAgB9pE,EAAE,IAAI,IAAIiN,EAC5fhR,EAAE8tE,cAAc38D,EAAEpN,EAAE,EAAEoN,GAAG,CAAC,IAAIhP,EAAE,GAAGyrE,GAAGz8D,GAAGO,EAAE,GAAGvP,EAAE6O,EAAE7O,IAAI4B,EAAEoN,IAAIO,CAAC,CAAC,CAAC,GAAE,CAACX,EAAE/M,EAAEgN,IAAIG,EAAE83E,WAAU,WAAW,OAAOj4E,EAAEhN,EAAE2kF,SAAQ,WAAW,IAAI5kF,EAAEuN,EAAEy3E,YAAYh4E,EAAEO,EAAE43E,YAAY,IAAIn4E,EAAEhN,EAAEC,EAAE2kF,UAAU,IAAI33E,EAAEgyE,GAAGrxE,GAAG3R,EAAE4oF,kBAAkB53E,EAAEhR,EAAEwtE,YAAY,CAAC,MAAMj8D,GAAGR,GAAE,WAAW,MAAMQ,CAAE,GAAE,CAAC,GAAE,GAAE,CAACvN,EAAEgN,IAAIunE,GAAG6J,EAAErxE,IAAIwnE,GAAG3mE,EAAE5N,IAAIu0E,GAAGtmE,EAAEjB,MAAKjN,EAAE,CAAC49E,QAAQ,KAAK4G,SAAS,KAAKJ,oBAAoBF,GAAGK,kBAAkBlmF,IAAKmmF,SAASn3E,EAAE+3E,GAAGpa,KAAK,KAAKmY,GAAEnjF,GAAG5B,EAAE4lF,MAAMhkF,EAAE5B,EAAE2lF,UAAU,KAAK1lF,EAAEqmF,GAAGzoF,EAAEgE,EAAE+M,GAAG5O,EAAEinE,cAAcjnE,EAAEo/E,UAAUn/E,GAAUA,CAAC,CACve,SAASgnF,GAAGrlF,EAAEC,EAAE+M,GAAc,OAAO83E,GAAZb,KAAiBjkF,EAAEC,EAAE+M,EAAE,CAAC,SAASs4E,GAAGtlF,GAAG,IAAIC,EAAE6jF,KAAmL,MAA9K,oBAAoB9jF,IAAIA,EAAEA,KAAKC,EAAEolE,cAAcplE,EAAEu9E,UAAUx9E,EAAoFA,GAAlFA,EAAEC,EAAE+jF,MAAM,CAACpG,QAAQ,KAAK4G,SAAS,KAAKJ,oBAAoBF,GAAGK,kBAAkBvkF,IAAOwkF,SAASY,GAAGpa,KAAK,KAAKmY,GAAEnjF,GAAS,CAACC,EAAEolE,cAAcrlE,EAAE,CAClR,SAASulF,GAAGvlF,EAAEC,EAAE+M,EAAEC,GAAkO,OAA/NjN,EAAE,CAACw8D,IAAIx8D,EAAEsQ,OAAOrQ,EAAEs4C,QAAQvrC,EAAEw4E,KAAKv4E,EAAEoE,KAAK,MAAsB,QAAhBpR,EAAEkjF,GAAE5F,cAAsBt9E,EAAE,CAACwgF,WAAW,MAAM0C,GAAE5F,YAAYt9E,EAAEA,EAAEwgF,WAAWzgF,EAAEqR,KAAKrR,GAAmB,QAAfgN,EAAE/M,EAAEwgF,YAAoBxgF,EAAEwgF,WAAWzgF,EAAEqR,KAAKrR,GAAGiN,EAAED,EAAEqE,KAAKrE,EAAEqE,KAAKrR,EAAEA,EAAEqR,KAAKpE,EAAEhN,EAAEwgF,WAAWzgF,GAAWA,CAAC,CAAC,SAASylF,GAAGzlF,GAA4B,OAAdA,EAAE,CAACgc,QAAQhc,GAAhB8jF,KAA4Bze,cAAcrlE,CAAC,CAAC,SAAS0lF,KAAK,OAAOzB,KAAK5e,aAAa,CAAC,SAASsgB,GAAG3lF,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE6nF,KAAKX,GAAEh/D,OAAOnkB,EAAE/D,EAAEopE,cAAckgB,GAAG,EAAEtlF,EAAE+M,OAAE,OAAO,IAASC,EAAE,KAAKA,EAAE,CACnc,SAAS24E,GAAG5lF,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAEgoF,KAAKh3E,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIC,OAAE,EAAO,GAAG,OAAOk2E,GAAE,CAAC,IAAIj2E,EAAEi2E,GAAE/d,cAA0B,GAAZn4D,EAAEC,EAAEorC,QAAW,OAAOtrC,GAAGu2E,GAAGv2E,EAAEE,EAAEq4E,MAAmB,YAAZD,GAAGtlF,EAAE+M,EAAEE,EAAED,EAAU,CAACk2E,GAAEh/D,OAAOnkB,EAAE/D,EAAEopE,cAAckgB,GAAG,EAAEtlF,EAAE+M,EAAEE,EAAED,EAAE,CAAC,SAAS44E,GAAG7lF,EAAEC,GAAG,OAAO0lF,GAAG,IAAI,EAAE3lF,EAAEC,EAAE,CAAC,SAAS6lF,GAAG9lF,EAAEC,GAAG,OAAO2lF,GAAG,IAAI,EAAE5lF,EAAEC,EAAE,CAAC,SAAS8lF,GAAG/lF,EAAEC,GAAG,OAAO2lF,GAAG,EAAE,EAAE5lF,EAAEC,EAAE,CAAC,SAAS+lF,GAAGhmF,EAAEC,GAAG,MAAG,oBAAoBA,GAASD,EAAEA,IAAIC,EAAED,GAAG,WAAWC,EAAE,KAAK,GAAK,OAAOA,QAAG,IAASA,GAASD,EAAEA,IAAIC,EAAE+b,QAAQhc,EAAE,WAAWC,EAAE+b,QAAQ,IAAI,QAA1E,CAA2E,CACnd,SAASiqE,GAAGjmF,EAAEC,EAAE+M,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE9N,OAAO,CAACc,IAAI,KAAY4lF,GAAG,EAAE,EAAEI,GAAGhb,KAAK,KAAK/qE,EAAED,GAAGgN,EAAE,CAAC,SAASk5E,KAAK,CAAC,SAASC,GAAGnmF,EAAEC,GAAG,IAAI+M,EAAEi3E,KAAKhkF,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIgN,EAAED,EAAEq4D,cAAc,OAAG,OAAOp4D,GAAG,OAAOhN,GAAGujF,GAAGvjF,EAAEgN,EAAE,IAAWA,EAAE,IAAGD,EAAEq4D,cAAc,CAACrlE,EAAEC,GAAUD,EAAC,CAAC,SAASomF,GAAGpmF,EAAEC,GAAG,IAAI+M,EAAEi3E,KAAKhkF,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIgN,EAAED,EAAEq4D,cAAc,OAAG,OAAOp4D,GAAG,OAAOhN,GAAGujF,GAAGvjF,EAAEgN,EAAE,IAAWA,EAAE,IAAGjN,EAAEA,IAAIgN,EAAEq4D,cAAc,CAACrlE,EAAEC,GAAUD,EAAC,CAC1Z,SAASqmF,GAAGrmF,EAAEC,GAAG,IAAI+M,EAAE2uE,KAAKE,GAAG,GAAG7uE,EAAE,GAAGA,GAAE,WAAWhN,GAAE,EAAG,IAAG67E,GAAG,GAAG7uE,EAAE,GAAGA,GAAE,WAAW,IAAIA,EAAEi2E,GAAGra,WAAWqa,GAAGra,WAAW,EAAE,IAAI5oE,GAAE,GAAIC,GAAG,CAAC,QAAQgjF,GAAGra,WAAW57D,CAAC,CAAC,GAAE,CAChK,SAASo4E,GAAGplF,EAAEC,EAAE+M,GAAG,IAAIC,EAAE+xE,KAAK/iF,EAAEgjF,GAAGj/E,GAAGkN,EAAE,CAAC8wE,KAAK/hF,EAAEwG,OAAOuK,EAAEq3E,aAAa,KAAKC,WAAW,KAAKjzE,KAAK,MAAMlE,EAAElN,EAAE29E,QAA6E,GAArE,OAAOzwE,EAAED,EAAEmE,KAAKnE,GAAGA,EAAEmE,KAAKlE,EAAEkE,KAAKlE,EAAEkE,KAAKnE,GAAGjN,EAAE29E,QAAQ1wE,EAAEC,EAAEnN,EAAEklE,UAAallE,IAAImjF,IAAG,OAAOh2E,GAAGA,IAAIg2E,GAAEG,GAAGD,IAAG,MAAO,CAAC,GAAG,IAAIrjF,EAAEg9E,QAAQ,OAAO7vE,GAAG,IAAIA,EAAE6vE,QAAiC,QAAxB7vE,EAAElN,EAAEmkF,qBAA8B,IAAI,IAAIh3E,EAAEnN,EAAEskF,kBAAkBnmF,EAAE+O,EAAEC,EAAEJ,GAAmC,GAAhCE,EAAEm3E,aAAal3E,EAAED,EAAEo3E,WAAWlmF,EAAKo2E,GAAGp2E,EAAEgP,GAAG,MAAM,CAAC,MAAMC,GAAG,CAAU6xE,GAAGl/E,EAAE/D,EAAEgR,EAAE,CAAC,CACja,IAAI42E,GAAG,CAACyC,YAAYpJ,GAAGqJ,YAAYhD,GAAGiD,WAAWjD,GAAG2B,UAAU3B,GAAGkD,oBAAoBlD,GAAGmD,gBAAgBnD,GAAGoD,QAAQpD,GAAGqD,WAAWrD,GAAGsD,OAAOtD,GAAGwB,SAASxB,GAAGuD,cAAcvD,GAAGwD,iBAAiBxD,GAAGyD,cAAczD,GAAG0D,iBAAiB1D,GAAG2D,oBAAoB3D,GAAG4D,0BAAyB,GAAIzD,GAAG,CAAC4C,YAAYpJ,GAAGqJ,YAAY,SAASvmF,EAAEC,GAA4C,OAAzC6jF,KAAKze,cAAc,CAACrlE,OAAE,IAASC,EAAE,KAAKA,GAAUD,CAAC,EAAEwmF,WAAWtJ,GAAGgI,UAAUW,GAAGY,oBAAoB,SAASzmF,EAAEC,EAAE+M,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE9N,OAAO,CAACc,IAAI,KAAY2lF,GAAG,EAAE,EAAEK,GAAGhb,KAAK,KACvf/qE,EAAED,GAAGgN,EAAE,EAAE05E,gBAAgB,SAAS1mF,EAAEC,GAAG,OAAO0lF,GAAG,EAAE,EAAE3lF,EAAEC,EAAE,EAAE0mF,QAAQ,SAAS3mF,EAAEC,GAAG,IAAI+M,EAAE82E,KAAqD,OAAhD7jF,OAAE,IAASA,EAAE,KAAKA,EAAED,EAAEA,IAAIgN,EAAEq4D,cAAc,CAACrlE,EAAEC,GAAUD,CAAC,EAAE4mF,WAAW,SAAS5mF,EAAEC,EAAE+M,GAAG,IAAIC,EAAE62E,KAAuK,OAAlK7jF,OAAE,IAAS+M,EAAEA,EAAE/M,GAAGA,EAAEgN,EAAEo4D,cAAcp4D,EAAEuwE,UAAUv9E,EAAmFD,GAAjFA,EAAEiN,EAAE+2E,MAAM,CAACpG,QAAQ,KAAK4G,SAAS,KAAKJ,oBAAoBpkF,EAAEukF,kBAAkBtkF,IAAOukF,SAASY,GAAGpa,KAAK,KAAKmY,GAAEnjF,GAAS,CAACiN,EAAEo4D,cAAcrlE,EAAE,EAAE6mF,OAAOpB,GAAGV,SAASO,GAAGwB,cAAcZ,GAAGa,iBAAiB,SAAS/mF,GAAG,IAAIC,EAAEqlF,GAAGtlF,GAAGgN,EAAE/M,EAAE,GAAGgN,EAAEhN,EAAE,GAC5Z,OAD+Z4lF,IAAG,WAAW,IAAI5lF,EAAEgjF,GAAGra,WAC9eqa,GAAGra,WAAW,EAAE,IAAI37D,EAAEjN,EAAE,CAAC,QAAQijF,GAAGra,WAAW3oE,CAAC,CAAC,GAAE,CAACD,IAAWgN,CAAC,EAAEg6E,cAAc,WAAW,IAAIhnF,EAAEslF,IAAG,GAAIrlF,EAAED,EAAE,GAA8B,OAANylF,GAArBzlF,EAAEqmF,GAAGrb,KAAK,KAAKhrE,EAAE,KAAgB,CAACA,EAAEC,EAAE,EAAEgnF,iBAAiB,SAASjnF,EAAEC,EAAE+M,GAAG,IAAIC,EAAE62E,KAAkF,OAA7E72E,EAAEo4D,cAAc,CAACqZ,KAAK,CAACsG,YAAY/kF,EAAEklF,YAAY,MAAMp0B,OAAO/wD,EAAEilF,UAAUj4E,GAAU83E,GAAG73E,EAAEjN,EAAEC,EAAE+M,EAAE,EAAEk6E,oBAAoB,WAAW,GAAG/E,GAAG,CAAC,IAAIniF,GAAE,EAAGC,EAzDlD,SAAYD,GAAG,MAAM,CAACiO,SAAS0tD,EAAGr2D,SAAStF,EAAEN,QAAQM,EAAE,CAyDHonF,EAAG,WAAiD,MAAtCpnF,IAAIA,GAAE,EAAGgN,EAAE,MAAMsrE,MAAMhzE,SAAS,MAAYrI,MAAM6Q,EAAE,KAAM,IAAGd,EAAEs4E,GAAGrlF,GAAG,GAC1Z,OAD6Z,KAAY,EAAPkjF,GAAErC,QAAUqC,GAAEh/D,OAAO,IAAIohE,GAAG,GAAE,WAAWv4E,EAAE,MAAMsrE,MAAMhzE,SAAS,IAAI,QACpf,EAAO,OAAcrF,CAAC,CAAkC,OAANqlF,GAA3BrlF,EAAE,MAAMq4E,MAAMhzE,SAAS,KAAiBrF,CAAC,EAAEknF,0BAAyB,GAAIxD,GAAG,CAAC2C,YAAYpJ,GAAGqJ,YAAYJ,GAAGK,WAAWtJ,GAAGgI,UAAUY,GAAGW,oBAAoBR,GAAGS,gBAAgBX,GAAGY,QAAQP,GAAGQ,WAAWzC,GAAG0C,OAAOnB,GAAGX,SAAS,WAAW,OAAOZ,GAAGD,GAAG,EAAE4C,cAAcZ,GAAGa,iBAAiB,SAAS/mF,GAAG,IAAIC,EAAEkkF,GAAGD,IAAIl3E,EAAE/M,EAAE,GAAGgN,EAAEhN,EAAE,GAA6F,OAA1F6lF,IAAG,WAAW,IAAI7lF,EAAEgjF,GAAGra,WAAWqa,GAAGra,WAAW,EAAE,IAAI37D,EAAEjN,EAAE,CAAC,QAAQijF,GAAGra,WAAW3oE,CAAC,CAAC,GAAE,CAACD,IAAWgN,CAAC,EAAEg6E,cAAc,WAAW,IAAIhnF,EAAEmkF,GAAGD,IAAI,GAAG,MAAM,CAACwB,KAAK1pE,QAC9ehc,EAAE,EAAEinF,iBAAiB5B,GAAG6B,oBAAoB,WAAW,OAAO/C,GAAGD,IAAI,EAAE,EAAEiD,0BAAyB,GAAIvD,GAAG,CAAC0C,YAAYpJ,GAAGqJ,YAAYJ,GAAGK,WAAWtJ,GAAGgI,UAAUY,GAAGW,oBAAoBR,GAAGS,gBAAgBX,GAAGY,QAAQP,GAAGQ,WAAWnC,GAAGoC,OAAOnB,GAAGX,SAAS,WAAW,OAAON,GAAGP,GAAG,EAAE4C,cAAcZ,GAAGa,iBAAiB,SAAS/mF,GAAG,IAAIC,EAAEwkF,GAAGP,IAAIl3E,EAAE/M,EAAE,GAAGgN,EAAEhN,EAAE,GAA6F,OAA1F6lF,IAAG,WAAW,IAAI7lF,EAAEgjF,GAAGra,WAAWqa,GAAGra,WAAW,EAAE,IAAI37D,EAAEjN,EAAE,CAAC,QAAQijF,GAAGra,WAAW3oE,CAAC,CAAC,GAAE,CAACD,IAAWgN,CAAC,EAAEg6E,cAAc,WAAW,IAAIhnF,EAAEykF,GAAGP,IAAI,GAAG,MAAM,CAACwB,KAAK1pE,QACrfhc,EAAE,EAAEinF,iBAAiB5B,GAAG6B,oBAAoB,WAAW,OAAOzC,GAAGP,IAAI,EAAE,EAAEiD,0BAAyB,GAAIE,GAAGxsB,EAAGysB,kBAAkBrK,IAAG,EAAG,SAASsK,GAAGvnF,EAAEC,EAAE+M,EAAEC,GAAGhN,EAAEs2C,MAAM,OAAOv2C,EAAEohF,GAAGnhF,EAAE,KAAK+M,EAAEC,GAAGk0E,GAAGlhF,EAAED,EAAEu2C,MAAMvpC,EAAEC,EAAE,CAAC,SAASu6E,GAAGxnF,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG+Q,EAAEA,EAAElB,OAAO,IAAIoB,EAAEjN,EAAEmgF,IAA8B,OAA1BvD,GAAG58E,EAAEhE,GAAGgR,EAAEw2E,GAAGzjF,EAAEC,EAAE+M,EAAEC,EAAEC,EAAEjR,GAAM,OAAO+D,GAAIi9E,IAA0Eh9E,EAAEkkB,OAAO,EAAEojE,GAAGvnF,EAAEC,EAAEgN,EAAEhR,GAAUgE,EAAEs2C,QAAhGt2C,EAAEs9E,YAAYv9E,EAAEu9E,YAAYt9E,EAAEkkB,QAAQ,IAAInkB,EAAEg9E,QAAQ/gF,EAAEwrF,GAAGznF,EAAEC,EAAEhE,GAAwC,CAChZ,SAASyrF,GAAG1nF,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAG,GAAG,OAAOlN,EAAE,CAAC,IAAImN,EAAEH,EAAE/B,KAAK,MAAG,oBAAoBkC,GAAIw6E,GAAGx6E,SAAI,IAASA,EAAEzC,cAAc,OAAOsC,EAAExB,cAAS,IAASwB,EAAEtC,eAAsD1K,EAAE+gF,GAAG/zE,EAAE/B,KAAK,KAAKgC,EAAEhN,EAAEA,EAAE6gF,KAAK5zE,IAAKkzE,IAAIngF,EAAEmgF,IAAIpgF,EAAEmlE,OAAOllE,EAASA,EAAEs2C,MAAMv2C,IAAvGC,EAAEu8D,IAAI,GAAGv8D,EAAEgL,KAAKkC,EAAEy6E,GAAG5nF,EAAEC,EAAEkN,EAAEF,EAAEhR,EAAEiR,GAAyE,CAAW,OAAVC,EAAEnN,EAAEu2C,MAAS,KAAKt6C,EAAEiR,KAAKjR,EAAEkR,EAAE40E,eAA0B/0E,EAAE,QAAdA,EAAEA,EAAExB,SAAmBwB,EAAE0nE,IAAKz4E,EAAEgR,IAAIjN,EAAEogF,MAAMngF,EAAEmgF,KAAYqH,GAAGznF,EAAEC,EAAEiN,IAAGjN,EAAEkkB,OAAO,GAAEnkB,EAAE4gF,GAAGzzE,EAAEF,IAAKmzE,IAAIngF,EAAEmgF,IAAIpgF,EAAEmlE,OAAOllE,EAASA,EAAEs2C,MAAMv2C,EAAC,CACnb,SAAS4nF,GAAG5nF,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAG,GAAG,OAAOlN,GAAG00E,GAAG10E,EAAE+hF,cAAc90E,IAAIjN,EAAEogF,MAAMngF,EAAEmgF,IAAI,IAAGnD,IAAG,EAAG,KAAK/vE,EAAEjR,GAAqC,OAAOgE,EAAE+8E,MAAMh9E,EAAEg9E,MAAMyK,GAAGznF,EAAEC,EAAEiN,GAAhE,KAAa,MAARlN,EAAEmkB,SAAe84D,IAAG,EAAyC,CAAC,OAAO4K,GAAG7nF,EAAEC,EAAE+M,EAAEC,EAAEC,EAAE,CACrL,SAAS46E,GAAG9nF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEhN,EAAEsiF,aAAatmF,EAAEgR,EAAEurD,SAAStrD,EAAE,OAAOlN,EAAEA,EAAEqlE,cAAc,KAAK,GAAG,WAAWp4D,EAAE6zE,MAAM,kCAAkC7zE,EAAE6zE,KAAK,GAAG,KAAY,EAAP7gF,EAAE6gF,MAAQ7gF,EAAEolE,cAAc,CAAC0iB,UAAU,GAAGC,GAAG/nF,EAAE+M,OAAQ,IAAG,KAAO,WAAFA,GAA8E,OAAOhN,EAAE,OAAOkN,EAAEA,EAAE66E,UAAU/6E,EAAEA,EAAE/M,EAAE+8E,MAAM/8E,EAAE28E,WAAW,WAAW38E,EAAEolE,cAAc,CAAC0iB,UAAU/nF,GAAGgoF,GAAG/nF,EAAED,GAAG,KAAxKC,EAAEolE,cAAc,CAAC0iB,UAAU,GAAGC,GAAG/nF,EAAE,OAAOiN,EAAEA,EAAE66E,UAAU/6E,EAAoH,MAAM,OAAOE,GAAGD,EAAEC,EAAE66E,UAAU/6E,EAAE/M,EAAEolE,cAAc,MAAMp4D,EAAED,EAAEg7E,GAAG/nF,EAAEgN,GAAe,OAAZs6E,GAAGvnF,EAAEC,EAAEhE,EAAE+Q,GAAU/M,EAAEs2C,KAAK,CAC/e,SAAS0xC,GAAGjoF,EAAEC,GAAG,IAAI+M,EAAE/M,EAAEmgF,KAAO,OAAOpgF,GAAG,OAAOgN,GAAG,OAAOhN,GAAGA,EAAEogF,MAAMpzE,KAAE/M,EAAEkkB,OAAO,IAAG,CAAC,SAAS0jE,GAAG7nF,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,IAAIiR,EAAEqsE,GAAGvsE,GAAGmsE,GAAGF,GAAEj9D,QAA4C,OAApC9O,EAAEksE,GAAGn5E,EAAEiN,GAAG2vE,GAAG58E,EAAEhE,GAAG+Q,EAAEy2E,GAAGzjF,EAAEC,EAAE+M,EAAEC,EAAEC,EAAEjR,GAAM,OAAO+D,GAAIi9E,IAA0Eh9E,EAAEkkB,OAAO,EAAEojE,GAAGvnF,EAAEC,EAAE+M,EAAE/Q,GAAUgE,EAAEs2C,QAAhGt2C,EAAEs9E,YAAYv9E,EAAEu9E,YAAYt9E,EAAEkkB,QAAQ,IAAInkB,EAAEg9E,QAAQ/gF,EAAEwrF,GAAGznF,EAAEC,EAAEhE,GAAwC,CACtS,SAASisF,GAAGloF,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,GAAGs9E,GAAGvsE,GAAG,CAAC,IAAIE,GAAE,EAAG0sE,GAAG35E,EAAE,MAAMiN,GAAE,EAAW,GAAR2vE,GAAG58E,EAAEhE,GAAM,OAAOgE,EAAE0jE,UAAU,OAAO3jE,IAAIA,EAAEklE,UAAU,KAAKjlE,EAAEilE,UAAU,KAAKjlE,EAAEkkB,OAAO,GAAGq7D,GAAGv/E,EAAE+M,EAAEC,GAAG4yE,GAAG5/E,EAAE+M,EAAEC,EAAEhR,GAAGgR,GAAE,OAAQ,GAAG,OAAOjN,EAAE,CAAC,IAAImN,EAAElN,EAAE0jE,UAAUv2D,EAAEnN,EAAE8hF,cAAc50E,EAAElJ,MAAMmJ,EAAE,IAAIhP,EAAE+O,EAAEwF,QAAQtF,EAAEL,EAAExC,YAAY,kBAAkB6C,GAAG,OAAOA,EAAEA,EAAE6vE,GAAG7vE,GAAyBA,EAAE+rE,GAAGn5E,EAA1BoN,EAAEksE,GAAGvsE,GAAGmsE,GAAGF,GAAEj9D,SAAmB,IAAI3d,EAAE2O,EAAElC,yBAAyBoD,EAAE,oBAAoB7P,GAAG,oBAAoB8O,EAAE2yE,wBAAwB5xE,GAAG,oBAAoBf,EAAEyyE,kCACpd,oBAAoBzyE,EAAEwyE,4BAA4BvyE,IAAIH,GAAG7O,IAAIiP,IAAIqyE,GAAGz/E,EAAEkN,EAAEF,EAAEI,GAAGgwE,IAAG,EAAG,IAAI9vE,EAAEtN,EAAEolE,cAAcl4D,EAAEtL,MAAM0L,EAAE6wE,GAAGn+E,EAAEgN,EAAEE,EAAElR,GAAGmC,EAAE6B,EAAEolE,cAAcj4D,IAAIH,GAAGM,IAAInP,GAAG86E,GAAEl9D,SAASqhE,IAAI,oBAAoBh/E,IAAIsgF,GAAG1+E,EAAE+M,EAAE3O,EAAE4O,GAAG7O,EAAE6B,EAAEolE,gBAAgBj4D,EAAEiwE,IAAIgC,GAAGp/E,EAAE+M,EAAEI,EAAEH,EAAEM,EAAEnP,EAAEiP,KAAKa,GAAG,oBAAoBf,EAAE4yE,2BAA2B,oBAAoB5yE,EAAE6yE,qBAAqB,oBAAoB7yE,EAAE6yE,oBAAoB7yE,EAAE6yE,qBAAqB,oBAAoB7yE,EAAE4yE,2BAA2B5yE,EAAE4yE,6BAA6B,oBACze5yE,EAAE8yE,oBAAoBhgF,EAAEkkB,OAAO,KAAK,oBAAoBhX,EAAE8yE,oBAAoBhgF,EAAEkkB,OAAO,GAAGlkB,EAAE8hF,cAAc90E,EAAEhN,EAAEolE,cAAcjnE,GAAG+O,EAAElJ,MAAMgJ,EAAEE,EAAEtL,MAAMzD,EAAE+O,EAAEwF,QAAQtF,EAAEJ,EAAEG,IAAI,oBAAoBD,EAAE8yE,oBAAoBhgF,EAAEkkB,OAAO,GAAGlX,GAAE,EAAG,KAAK,CAACE,EAAElN,EAAE0jE,UAAUka,GAAG79E,EAAEC,GAAGmN,EAAEnN,EAAE8hF,cAAc10E,EAAEpN,EAAEgL,OAAOhL,EAAE6hC,YAAY10B,EAAE+uE,GAAGl8E,EAAEgL,KAAKmC,GAAGD,EAAElJ,MAAMoJ,EAAEa,EAAEjO,EAAEsiF,aAAah1E,EAAEJ,EAAEwF,QAAwB,kBAAhBvU,EAAE4O,EAAExC,cAAiC,OAAOpM,EAAEA,EAAE8+E,GAAG9+E,GAAyBA,EAAEg7E,GAAGn5E,EAA1B7B,EAAEm7E,GAAGvsE,GAAGmsE,GAAGF,GAAEj9D,SAAmB,IAAIqiE,EAAErxE,EAAElC,0BAA0BzM,EAAE,oBAAoBggF,GACnf,oBAAoBlxE,EAAE2yE,0BAA0B,oBAAoB3yE,EAAEyyE,kCAAkC,oBAAoBzyE,EAAEwyE,4BAA4BvyE,IAAIc,GAAGX,IAAInP,IAAIshF,GAAGz/E,EAAEkN,EAAEF,EAAE7O,GAAGi/E,IAAG,EAAG9vE,EAAEtN,EAAEolE,cAAcl4D,EAAEtL,MAAM0L,EAAE6wE,GAAGn+E,EAAEgN,EAAEE,EAAElR,GAAG,IAAI4R,EAAE5N,EAAEolE,cAAcj4D,IAAIc,GAAGX,IAAIM,GAAGqrE,GAAEl9D,SAASqhE,IAAI,oBAAoBgB,IAAIM,GAAG1+E,EAAE+M,EAAEqxE,EAAEpxE,GAAGY,EAAE5N,EAAEolE,gBAAgBh4D,EAAEgwE,IAAIgC,GAAGp/E,EAAE+M,EAAEK,EAAEJ,EAAEM,EAAEM,EAAEzP,KAAKC,GAAG,oBAAoB8O,EAAEg7E,4BAA4B,oBAAoBh7E,EAAEi7E,sBAAsB,oBAAoBj7E,EAAEi7E,qBAAqBj7E,EAAEi7E,oBAAoBn7E,EAC1gBY,EAAEzP,GAAG,oBAAoB+O,EAAEg7E,4BAA4Bh7E,EAAEg7E,2BAA2Bl7E,EAAEY,EAAEzP,IAAI,oBAAoB+O,EAAEk7E,qBAAqBpoF,EAAEkkB,OAAO,GAAG,oBAAoBhX,EAAE2yE,0BAA0B7/E,EAAEkkB,OAAO,OAAO,oBAAoBhX,EAAEk7E,oBAAoBj7E,IAAIpN,EAAE+hF,eAAex0E,IAAIvN,EAAEqlE,gBAAgBplE,EAAEkkB,OAAO,GAAG,oBAAoBhX,EAAE2yE,yBAAyB1yE,IAAIpN,EAAE+hF,eAAex0E,IAAIvN,EAAEqlE,gBAAgBplE,EAAEkkB,OAAO,KAAKlkB,EAAE8hF,cAAc90E,EAAEhN,EAAEolE,cAAcx3D,GAAGV,EAAElJ,MAAMgJ,EAAEE,EAAEtL,MAAMgM,EAAEV,EAAEwF,QAAQvU,EAAE6O,EAAEI,IAAI,oBAAoBF,EAAEk7E,oBAC7fj7E,IAAIpN,EAAE+hF,eAAex0E,IAAIvN,EAAEqlE,gBAAgBplE,EAAEkkB,OAAO,GAAG,oBAAoBhX,EAAE2yE,yBAAyB1yE,IAAIpN,EAAE+hF,eAAex0E,IAAIvN,EAAEqlE,gBAAgBplE,EAAEkkB,OAAO,KAAKlX,GAAE,EAAG,CAAC,OAAOq7E,GAAGtoF,EAAEC,EAAE+M,EAAEC,EAAEC,EAAEjR,EAAE,CAC3L,SAASqsF,GAAGtoF,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAG+6E,GAAGjoF,EAAEC,GAAG,IAAIkN,EAAE,KAAa,GAARlN,EAAEkkB,OAAU,IAAIlX,IAAIE,EAAE,OAAOlR,GAAG69E,GAAG75E,EAAE+M,GAAE,GAAIy6E,GAAGznF,EAAEC,EAAEiN,GAAGD,EAAEhN,EAAE0jE,UAAU0jB,GAAGrrE,QAAQ/b,EAAE,IAAImN,EAAED,GAAG,oBAAoBH,EAAEnC,yBAAyB,KAAKoC,EAAEnB,SAAwI,OAA/H7L,EAAEkkB,OAAO,EAAE,OAAOnkB,GAAGmN,GAAGlN,EAAEs2C,MAAM4qC,GAAGlhF,EAAED,EAAEu2C,MAAM,KAAKrpC,GAAGjN,EAAEs2C,MAAM4qC,GAAGlhF,EAAE,KAAKmN,EAAEF,IAAIq6E,GAAGvnF,EAAEC,EAAEmN,EAAEF,GAAGjN,EAAEolE,cAAcp4D,EAAEpL,MAAM5F,GAAG69E,GAAG75E,EAAE+M,GAAE,GAAW/M,EAAEs2C,KAAK,CAAC,SAASgyC,GAAGvoF,GAAG,IAAIC,EAAED,EAAE2jE,UAAU1jE,EAAEuoF,eAAe/O,GAAGz5E,EAAEC,EAAEuoF,eAAevoF,EAAEuoF,iBAAiBvoF,EAAE0S,SAAS1S,EAAE0S,SAAS8mE,GAAGz5E,EAAEC,EAAE0S,SAAQ,GAAI+uE,GAAG1hF,EAAEC,EAAEwnE,cAAc,CAC3e,IAS0VghB,GAAGC,GAAGC,GAAGC,GAT/VC,GAAG,CAACvjB,WAAW,KAAKwjB,UAAU,GAClC,SAASC,GAAG/oF,EAAEC,EAAE+M,GAAG,IAAsCG,EAAlCF,EAAEhN,EAAEsiF,aAAatmF,EAAE2U,GAAEoL,QAAQ9O,GAAE,EAA6M,OAAvMC,EAAE,KAAa,GAARlN,EAAEkkB,UAAahX,GAAE,OAAOnN,GAAG,OAAOA,EAAEqlE,gBAAiB,KAAO,EAAFppE,IAAMkR,GAAGD,GAAE,EAAGjN,EAAEkkB,QAAQ,IAAI,OAAOnkB,GAAG,OAAOA,EAAEqlE,oBAAe,IAASp4D,EAAE4jC,WAAU,IAAK5jC,EAAE+7E,6BAA6B/sF,GAAG,GAAG88E,GAAEnoE,GAAI,EAAF3U,GAAQ,OAAO+D,QAAG,IAASiN,EAAE4jC,UAAU2xC,GAAGviF,GAAGD,EAAEiN,EAAEurD,SAASv8D,EAAEgR,EAAE4jC,SAAY3jC,GAASlN,EAAEipF,GAAGhpF,EAAED,EAAE/D,EAAE+Q,GAAG/M,EAAEs2C,MAAM8uB,cAAc,CAAC0iB,UAAU/6E,GAAG/M,EAAEolE,cAAcwjB,GAAG7oF,GAAK,kBAAkBiN,EAAEi8E,2BAAiClpF,EAAEipF,GAAGhpF,EAAED,EAAE/D,EAAE+Q,GAAG/M,EAAEs2C,MAAM8uB,cAAc,CAAC0iB,UAAU/6E,GAC/f/M,EAAEolE,cAAcwjB,GAAG5oF,EAAE+8E,MAAM,SAASh9E,KAAEgN,EAAEm8E,GAAG,CAACrI,KAAK,UAAUtoB,SAASx4D,GAAGC,EAAE6gF,KAAK9zE,EAAE,OAAQm4D,OAAOllE,EAASA,EAAEs2C,MAAMvpC,KAAYhN,EAAEqlE,cAAkBn4D,GAASD,EAAEm8E,GAAGppF,EAAEC,EAAEgN,EAAEurD,SAASvrD,EAAE4jC,SAAS7jC,GAAGE,EAAEjN,EAAEs2C,MAAMt6C,EAAE+D,EAAEu2C,MAAM8uB,cAAcn4D,EAAEm4D,cAAc,OAAOppE,EAAE,CAAC8rF,UAAU/6E,GAAG,CAAC+6E,UAAU9rF,EAAE8rF,UAAU/6E,GAAGE,EAAE0vE,WAAW58E,EAAE48E,YAAY5vE,EAAE/M,EAAEolE,cAAcwjB,GAAG57E,IAAED,EAAEq8E,GAAGrpF,EAAEC,EAAEgN,EAAEurD,SAASxrD,GAAG/M,EAAEolE,cAAc,KAAYr4D,GACnQ,CAAC,SAASi8E,GAAGjpF,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE+D,EAAE8gF,KAAK5zE,EAAElN,EAAEu2C,MAAuK,OAAjKt2C,EAAE,CAAC6gF,KAAK,SAAStoB,SAASv4D,GAAG,KAAO,EAAFhE,IAAM,OAAOiR,GAAGA,EAAE0vE,WAAW,EAAE1vE,EAAEq1E,aAAatiF,GAAGiN,EAAEi8E,GAAGlpF,EAAEhE,EAAE,EAAE,MAAM+Q,EAAEk0E,GAAGl0E,EAAE/Q,EAAEgR,EAAE,MAAMC,EAAEi4D,OAAOnlE,EAAEgN,EAAEm4D,OAAOnlE,EAAEkN,EAAEu4D,QAAQz4D,EAAEhN,EAAEu2C,MAAMrpC,EAASF,CAAC,CACtV,SAASq8E,GAAGrpF,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE+D,EAAEu2C,MAAiL,OAA3Kv2C,EAAE/D,EAAEwpE,QAAQz4D,EAAE4zE,GAAG3kF,EAAE,CAAC6kF,KAAK,UAAUtoB,SAASxrD,IAAI,KAAY,EAAP/M,EAAE6gF,QAAU9zE,EAAEgwE,MAAM/vE,GAAGD,EAAEm4D,OAAOllE,EAAE+M,EAAEy4D,QAAQ,KAAK,OAAOzlE,IAAIA,EAAE0gF,WAAW,KAAK1gF,EAAEmkB,MAAM,EAAElkB,EAAE0gF,YAAY1gF,EAAEwgF,WAAWzgF,GAAUC,EAAEs2C,MAAMvpC,CAAC,CAC9N,SAASo8E,GAAGppF,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,IAAIiR,EAAEjN,EAAE6gF,KAAK3zE,EAAEnN,EAAEu2C,MAAMv2C,EAAEmN,EAAEs4D,QAAQ,IAAIr4D,EAAE,CAAC0zE,KAAK,SAAStoB,SAASxrD,GAAoS,OAAjS,KAAO,EAAFE,IAAMjN,EAAEs2C,QAAQppC,IAAGH,EAAE/M,EAAEs2C,OAAQqmC,WAAW,EAAE5vE,EAAEu1E,aAAan1E,EAAiB,QAAfD,EAAEH,EAAEyzE,aAAqBxgF,EAAE0gF,YAAY3zE,EAAE2zE,YAAY1gF,EAAEwgF,WAAWtzE,EAAEA,EAAEuzE,WAAW,MAAMzgF,EAAE0gF,YAAY1gF,EAAEwgF,WAAW,MAAMzzE,EAAE4zE,GAAGzzE,EAAEC,GAAG,OAAOpN,EAAEiN,EAAE2zE,GAAG5gF,EAAEiN,IAAIA,EAAEi0E,GAAGj0E,EAAEC,EAAEjR,EAAE,OAAQkoB,OAAO,EAAGlX,EAAEk4D,OAAOllE,EAAE+M,EAAEm4D,OAAOllE,EAAE+M,EAAEy4D,QAAQx4D,EAAEhN,EAAEs2C,MAAMvpC,EAASC,CAAC,CAAC,SAASq8E,GAAGtpF,EAAEC,GAAGD,EAAEg9E,OAAO/8E,EAAE,IAAI+M,EAAEhN,EAAEklE,UAAU,OAAOl4D,IAAIA,EAAEgwE,OAAO/8E,GAAG08E,GAAG38E,EAAEmlE,OAAOllE,EAAE,CACxd,SAASspF,GAAGvpF,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAG,IAAIC,EAAEnN,EAAEqlE,cAAc,OAAOl4D,EAAEnN,EAAEqlE,cAAc,CAACmkB,YAAYvpF,EAAEwpF,UAAU,KAAKC,mBAAmB,EAAEvqF,KAAK8N,EAAE08E,KAAK38E,EAAE48E,SAAS3tF,EAAEwkF,WAAWvzE,IAAIC,EAAEq8E,YAAYvpF,EAAEkN,EAAEs8E,UAAU,KAAKt8E,EAAEu8E,mBAAmB,EAAEv8E,EAAEhO,KAAK8N,EAAEE,EAAEw8E,KAAK38E,EAAEG,EAAEy8E,SAAS3tF,EAAEkR,EAAEszE,WAAWvzE,EAAE,CACzQ,SAAS28E,GAAG7pF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEhN,EAAEsiF,aAAatmF,EAAEgR,EAAE+0E,YAAY90E,EAAED,EAAE08E,KAAsC,GAAjCpC,GAAGvnF,EAAEC,EAAEgN,EAAEurD,SAASxrD,GAAkB,KAAO,GAAtBC,EAAE2D,GAAEoL,UAAqB/O,EAAI,EAAFA,EAAI,EAAEhN,EAAEkkB,OAAO,OAAO,CAAC,GAAG,OAAOnkB,GAAG,KAAa,GAARA,EAAEmkB,OAAUnkB,EAAE,IAAIA,EAAEC,EAAEs2C,MAAM,OAAOv2C,GAAG,CAAC,GAAG,KAAKA,EAAEw8D,IAAI,OAAOx8D,EAAEqlE,eAAeikB,GAAGtpF,EAAEgN,QAAQ,GAAG,KAAKhN,EAAEw8D,IAAI8sB,GAAGtpF,EAAEgN,QAAQ,GAAG,OAAOhN,EAAEu2C,MAAM,CAACv2C,EAAEu2C,MAAM4uB,OAAOnlE,EAAEA,EAAEA,EAAEu2C,MAAM,QAAQ,CAAC,GAAGv2C,IAAIC,EAAE,MAAMD,EAAE,KAAK,OAAOA,EAAEylE,SAAS,CAAC,GAAG,OAAOzlE,EAAEmlE,QAAQnlE,EAAEmlE,SAASllE,EAAE,MAAMD,EAAEA,EAAEA,EAAEmlE,MAAM,CAACnlE,EAAEylE,QAAQN,OAAOnlE,EAAEmlE,OAAOnlE,EAAEA,EAAEylE,OAAO,CAACx4D,GAAG,CAAC,CAAQ,GAAP8rE,GAAEnoE,GAAE3D,GAAM,KAAY,EAAPhN,EAAE6gF,MAAQ7gF,EAAEolE,cACze,UAAU,OAAOppE,GAAG,IAAK,WAAqB,IAAV+Q,EAAE/M,EAAEs2C,MAAUt6C,EAAE,KAAK,OAAO+Q,GAAiB,QAAdhN,EAAEgN,EAAEk4D,YAAoB,OAAO4c,GAAG9hF,KAAK/D,EAAE+Q,GAAGA,EAAEA,EAAEy4D,QAAY,QAAJz4D,EAAE/Q,IAAYA,EAAEgE,EAAEs2C,MAAMt2C,EAAEs2C,MAAM,OAAOt6C,EAAE+Q,EAAEy4D,QAAQz4D,EAAEy4D,QAAQ,MAAM8jB,GAAGtpF,GAAE,EAAGhE,EAAE+Q,EAAEE,EAAEjN,EAAEwgF,YAAY,MAAM,IAAK,YAA6B,IAAjBzzE,EAAE,KAAK/Q,EAAEgE,EAAEs2C,MAAUt2C,EAAEs2C,MAAM,KAAK,OAAOt6C,GAAG,CAAe,GAAG,QAAjB+D,EAAE/D,EAAEipE,YAAuB,OAAO4c,GAAG9hF,GAAG,CAACC,EAAEs2C,MAAMt6C,EAAE,KAAK,CAAC+D,EAAE/D,EAAEwpE,QAAQxpE,EAAEwpE,QAAQz4D,EAAEA,EAAE/Q,EAAEA,EAAE+D,CAAC,CAACupF,GAAGtpF,GAAE,EAAG+M,EAAE,KAAKE,EAAEjN,EAAEwgF,YAAY,MAAM,IAAK,WAAW8I,GAAGtpF,GAAE,EAAG,KAAK,UAAK,EAAOA,EAAEwgF,YAAY,MAAM,QAAQxgF,EAAEolE,cAAc,KAAK,OAAOplE,EAAEs2C,KAAK,CACpgB,SAASkxC,GAAGznF,EAAEC,EAAE+M,GAAyD,GAAtD,OAAOhN,IAAIC,EAAE68E,aAAa98E,EAAE88E,cAAcwB,IAAIr+E,EAAE+8E,MAAS,KAAKhwE,EAAE/M,EAAE28E,YAAY,CAAC,GAAG,OAAO58E,GAAGC,EAAEs2C,QAAQv2C,EAAEu2C,MAAM,MAAMt5C,MAAM6Q,EAAE,MAAM,GAAG,OAAO7N,EAAEs2C,MAAM,CAA4C,IAAjCvpC,EAAE4zE,GAAZ5gF,EAAEC,EAAEs2C,MAAav2C,EAAEuiF,cAActiF,EAAEs2C,MAAMvpC,EAAMA,EAAEm4D,OAAOllE,EAAE,OAAOD,EAAEylE,SAASzlE,EAAEA,EAAEylE,SAAQz4D,EAAEA,EAAEy4D,QAAQmb,GAAG5gF,EAAEA,EAAEuiF,eAAgBpd,OAAOllE,EAAE+M,EAAEy4D,QAAQ,IAAI,CAAC,OAAOxlE,EAAEs2C,KAAK,CAAC,OAAO,IAAI,CAKhQ,SAASuzC,GAAG9pF,EAAEC,GAAG,IAAIkiF,GAAG,OAAOniF,EAAE4pF,UAAU,IAAK,SAAS3pF,EAAED,EAAE2pF,KAAK,IAAI,IAAI38E,EAAE,KAAK,OAAO/M,GAAG,OAAOA,EAAEilE,YAAYl4D,EAAE/M,GAAGA,EAAEA,EAAEwlE,QAAQ,OAAOz4D,EAAEhN,EAAE2pF,KAAK,KAAK38E,EAAEy4D,QAAQ,KAAK,MAAM,IAAK,YAAYz4D,EAAEhN,EAAE2pF,KAAK,IAAI,IAAI18E,EAAE,KAAK,OAAOD,GAAG,OAAOA,EAAEk4D,YAAYj4D,EAAED,GAAGA,EAAEA,EAAEy4D,QAAQ,OAAOx4D,EAAEhN,GAAG,OAAOD,EAAE2pF,KAAK3pF,EAAE2pF,KAAK,KAAK3pF,EAAE2pF,KAAKlkB,QAAQ,KAAKx4D,EAAEw4D,QAAQ,KAAK,CACla,SAASskB,GAAG/pF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEhN,EAAEsiF,aAAa,OAAOtiF,EAAEu8D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,KAAK,KAAK,EAQyC,KAAK,GAAG,OAAO+c,GAAGt5E,EAAEgL,OAAOuuE,KAAK,KAR1C,KAAK,EAAsL,OAApLmI,KAAK7I,GAAEI,IAAGJ,GAAEG,IAAG4J,MAAK51E,EAAEhN,EAAE0jE,WAAY6kB,iBAAiBv7E,EAAE0F,QAAQ1F,EAAEu7E,eAAev7E,EAAEu7E,eAAe,MAAS,OAAOxoF,GAAG,OAAOA,EAAEu2C,QAAMmsC,GAAGziF,GAAGA,EAAEkkB,OAAO,EAAElX,EAAEu6D,UAAUvnE,EAAEkkB,OAAO,MAAKukE,GAAGzoF,GAAU,KAAK,KAAK,EAAE4hF,GAAG5hF,GAAG,IAAIhE,EAAEwlF,GAAGD,GAAGxlE,SAAkB,GAAThP,EAAE/M,EAAEgL,KAAQ,OAAOjL,GAAG,MAAMC,EAAE0jE,UAAUglB,GAAG3oF,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG+D,EAAEogF,MAAMngF,EAAEmgF,MAAMngF,EAAEkkB,OAAO,SAAS,CAAC,IAAIlX,EAAE,CAAC,GAAG,OAC7fhN,EAAE0jE,UAAU,MAAM1mE,MAAM6Q,EAAE,MAAM,OAAO,IAAI,CAAkB,GAAjB9N,EAAEyhF,GAAGH,GAAGtlE,SAAY0mE,GAAGziF,GAAG,CAACgN,EAAEhN,EAAE0jE,UAAU32D,EAAE/M,EAAEgL,KAAK,IAAIiC,EAAEjN,EAAE8hF,cAA8B,OAAhB90E,EAAEurE,IAAIv4E,EAAEgN,EAAEwrE,IAAIvrE,EAASF,GAAG,IAAK,SAASqpE,GAAE,SAASppE,GAAGopE,GAAE,QAAQppE,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQopE,GAAE,OAAOppE,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIjN,EAAE,EAAEA,EAAEi2E,GAAG33E,OAAO0B,IAAIq2E,GAAEJ,GAAGj2E,GAAGiN,GAAG,MAAM,IAAK,SAASopE,GAAE,QAAQppE,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOopE,GAAE,QAAQppE,GAAGopE,GAAE,OAAOppE,GAAG,MAAM,IAAK,UAAUopE,GAAE,SAASppE,GAAG,MAAM,IAAK,QAAQ4wD,GAAG5wD,EAAEC,GAAGmpE,GAAE,UAAUppE,GAAG,MAAM,IAAK,SAASA,EAAE0wD,cAC5f,CAACqsB,cAAc98E,EAAE+8E,UAAU5T,GAAE,UAAUppE,GAAG,MAAM,IAAK,WAAWyxD,GAAGzxD,EAAEC,GAAGmpE,GAAE,UAAUppE,GAAkB,IAAI,IAAIE,KAAvB61D,GAAGh2D,EAAEE,GAAGlN,EAAE,KAAkBkN,EAAEA,EAAE6C,eAAe5C,KAAKlR,EAAEiR,EAAEC,GAAG,aAAaA,EAAE,kBAAkBlR,EAAEgR,EAAE7R,cAAca,IAAI+D,EAAE,CAAC,WAAW/D,IAAI,kBAAkBA,GAAGgR,EAAE7R,cAAc,GAAGa,IAAI+D,EAAE,CAAC,WAAW,GAAG/D,IAAIk9D,EAAGppD,eAAe5C,IAAI,MAAMlR,GAAG,aAAakR,GAAGkpE,GAAE,SAASppE,IAAI,OAAOD,GAAG,IAAK,QAAQ+vD,EAAG9vD,GAAGgxD,GAAGhxD,EAAEC,GAAE,GAAI,MAAM,IAAK,WAAW6vD,EAAG9vD,GAAG2xD,GAAG3xD,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBC,EAAE0rD,UAAU3rD,EAAEi9E,QACtf1S,IAAIvqE,EAAEjN,EAAEC,EAAEs9E,YAAYtwE,EAAE,OAAOA,IAAIhN,EAAEkkB,OAAO,EAAE,KAAK,CAAiZ,OAAhZhX,EAAE,IAAIlR,EAAEqzC,SAASrzC,EAAEA,EAAEkuC,cAAcnqC,IAAI6+D,GAAGC,OAAO9+D,EAAEg/D,GAAGhyD,IAAIhN,IAAI6+D,GAAGC,KAAK,WAAW9xD,IAAGhN,EAAEmN,EAAEhS,cAAc,QAAS4qC,UAAU,qBAAuB/lC,EAAEA,EAAEpC,YAAYoC,EAAEimC,aAAa,kBAAkBh5B,EAAEi2D,GAAGljE,EAAEmN,EAAEhS,cAAc6R,EAAE,CAACk2D,GAAGj2D,EAAEi2D,MAAMljE,EAAEmN,EAAEhS,cAAc6R,GAAG,WAAWA,IAAIG,EAAEnN,EAAEiN,EAAEg9E,SAAS98E,EAAE88E,UAAS,EAAGh9E,EAAEiqB,OAAO/pB,EAAE+pB,KAAKjqB,EAAEiqB,QAAQl3B,EAAEmN,EAAE86B,gBAAgBjoC,EAAEgN,GAAGhN,EAAEw4E,IAAIv4E,EAAED,EAAEy4E,IAAIxrE,EAAEw7E,GAAGzoF,EAAEC,GAAE,GAAG,GAAIA,EAAE0jE,UAAU3jE,EAAEmN,EAAE81D,GAAGj2D,EAAEC,GAAUD,GAAG,IAAK,SAASqpE,GAAE,SAASr2E,GAAGq2E,GAAE,QAAQr2E,GACpf/D,EAAEgR,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQopE,GAAE,OAAOr2E,GAAG/D,EAAEgR,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIhR,EAAE,EAAEA,EAAEg6E,GAAG33E,OAAOrC,IAAIo6E,GAAEJ,GAAGh6E,GAAG+D,GAAG/D,EAAEgR,EAAE,MAAM,IAAK,SAASopE,GAAE,QAAQr2E,GAAG/D,EAAEgR,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOopE,GAAE,QAAQr2E,GAAGq2E,GAAE,OAAOr2E,GAAG/D,EAAEgR,EAAE,MAAM,IAAK,UAAUopE,GAAE,SAASr2E,GAAG/D,EAAEgR,EAAE,MAAM,IAAK,QAAQ4wD,GAAG79D,EAAEiN,GAAGhR,EAAEuhE,EAAGx9D,EAAEiN,GAAGopE,GAAE,UAAUr2E,GAAG,MAAM,IAAK,SAAS/D,EAAEiiE,GAAGl+D,EAAEiN,GAAG,MAAM,IAAK,SAASjN,EAAE29D,cAAc,CAACqsB,cAAc/8E,EAAEg9E,UAAUhuF,EAAEqR,EAAE,CAAC,EAAEL,EAAE,CAAC8D,WAAM,IAASslE,GAAE,UAAUr2E,GAAG,MAAM,IAAK,WAAW0+D,GAAG1+D,EAAEiN,GAAGhR,EACpfuiE,GAAGx+D,EAAEiN,GAAGopE,GAAE,UAAUr2E,GAAG,MAAM,QAAQ/D,EAAEgR,EAAE+1D,GAAGh2D,EAAE/Q,GAAG,IAAImR,EAAEnR,EAAE,IAAIiR,KAAKE,EAAE,GAAGA,EAAE2C,eAAe7C,GAAG,CAAC,IAAI9O,EAAEgP,EAAEF,GAAG,UAAUA,EAAEg1D,GAAGliE,EAAE5B,GAAG,4BAA4B8O,EAAuB,OAApB9O,EAAEA,EAAEA,EAAE05E,YAAO,IAAgB3Y,GAAGn/D,EAAE5B,GAAI,aAAa8O,EAAE,kBAAkB9O,GAAG,aAAa4O,GAAG,KAAK5O,IAAImhE,GAAGv/D,EAAE5B,GAAG,kBAAkBA,GAAGmhE,GAAGv/D,EAAE,GAAG5B,GAAG,mCAAmC8O,GAAG,6BAA6BA,GAAG,cAAcA,IAAIisD,EAAGppD,eAAe7C,GAAG,MAAM9O,GAAG,aAAa8O,GAAGmpE,GAAE,SAASr2E,GAAG,MAAM5B,GAAGk8D,EAAGt6D,EAAEkN,EAAE9O,EAAE+O,GAAG,CAAC,OAAOH,GAAG,IAAK,QAAQ+vD,EAAG/8D,GAAGi+D,GAAGj+D,EAAEiN,GAAE,GACnf,MAAM,IAAK,WAAW8vD,EAAG/8D,GAAG4+D,GAAG5+D,GAAG,MAAM,IAAK,SAAS,MAAMiN,EAAE8D,OAAO/Q,EAAE+rC,aAAa,QAAQ,GAAG8wB,EAAG5vD,EAAE8D,QAAQ,MAAM,IAAK,SAAS/Q,EAAEiqF,WAAWh9E,EAAEg9E,SAAmB,OAAV/8E,EAAED,EAAE8D,OAAcqtD,GAAGp+D,IAAIiN,EAAEg9E,SAAS/8E,GAAE,GAAI,MAAMD,EAAEywD,cAAcU,GAAGp+D,IAAIiN,EAAEg9E,SAASh9E,EAAEywD,cAAa,GAAI,MAAM,QAAQ,oBAAoBzhE,EAAE28D,UAAU54D,EAAEkqF,QAAQ1S,IAAIG,GAAG3qE,EAAEC,KAAKhN,EAAEkkB,OAAO,EAAE,CAAC,OAAOlkB,EAAEmgF,MAAMngF,EAAEkkB,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,GAAGnkB,GAAG,MAAMC,EAAE0jE,UAAUilB,GAAG5oF,EAAEC,EAAED,EAAE+hF,cAAc90E,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOhN,EAAE0jE,UAAU,MAAM1mE,MAAM6Q,EAAE,MAC/ed,EAAEy0E,GAAGD,GAAGxlE,SAASylE,GAAGH,GAAGtlE,SAAS0mE,GAAGziF,IAAIgN,EAAEhN,EAAE0jE,UAAU32D,EAAE/M,EAAE8hF,cAAc90E,EAAEurE,IAAIv4E,EAAEgN,EAAEwyD,YAAYzyD,IAAI/M,EAAEkkB,OAAO,MAAKlX,GAAG,IAAID,EAAEsiC,SAAStiC,EAAEA,EAAEm9B,eAAe0M,eAAe5pC,IAAKurE,IAAIv4E,EAAEA,EAAE0jE,UAAU12D,EAAE,CAAC,OAAO,KAAK,KAAK,GAA0B,OAAvB6rE,GAAEloE,IAAG3D,EAAEhN,EAAEolE,cAAiB,KAAa,GAARplE,EAAEkkB,QAAiBlkB,EAAE+8E,MAAMhwE,EAAE/M,IAAEgN,EAAE,OAAOA,EAAED,GAAE,EAAG,OAAOhN,OAAE,IAASC,EAAE8hF,cAAclxC,UAAU6xC,GAAGziF,GAAG+M,EAAE,OAAOhN,EAAEqlE,cAAiBp4D,IAAID,GAAG,KAAY,EAAP/M,EAAE6gF,QAAW,OAAO9gF,IAAG,IAAKC,EAAE8hF,cAAciH,4BAA4B,KAAe,EAAVp4E,GAAEoL,SAAW,IAAIkoB,KAAIA,GAAE,IAAW,IAAIA,IAAG,IAAIA,KAAEA,GACrf,GAAE,OAAO9jB,IAAG,KAAQ,UAAHk+D,KAAe,KAAQ,UAAH6L,KAAeC,GAAGhqE,GAAEiqE,OAAMp9E,GAAGD,KAAE/M,EAAEkkB,OAAO,GAAS,MAAK,KAAK,EAAE,OAAOw9D,KAAK+G,GAAGzoF,GAAG,OAAOD,GAAGy2E,GAAGx2E,EAAE0jE,UAAU8D,eAAe,KAAK,KAAK,GAAG,OAAOgV,GAAGx8E,GAAG,KAA0C,KAAK,GAA0B,GAAvB64E,GAAEloE,IAAwB,QAArB3D,EAAEhN,EAAEolE,eAA0B,OAAO,KAAsC,GAAjCn4D,EAAE,KAAa,GAARjN,EAAEkkB,OAA2B,QAAjBhX,EAAEF,EAAEw8E,WAAsB,GAAGv8E,EAAE48E,GAAG78E,GAAE,OAAQ,CAAC,GAAG,IAAIi3B,IAAG,OAAOlkC,GAAG,KAAa,GAARA,EAAEmkB,OAAU,IAAInkB,EAAEC,EAAEs2C,MAAM,OAAOv2C,GAAG,CAAS,GAAG,QAAXmN,EAAE20E,GAAG9hF,IAAe,CACjW,IADkWC,EAAEkkB,OAAO,GAAG2lE,GAAG78E,GAAE,GAAoB,QAAhBC,EAAEC,EAAEowE,eAAuBt9E,EAAEs9E,YAAYrwE,EAAEjN,EAAEkkB,OAAO,GACnf,OAAOlX,EAAEwzE,aAAaxgF,EAAE0gF,YAAY,MAAM1gF,EAAEwgF,WAAWxzE,EAAEwzE,WAAWxzE,EAAED,EAAMA,EAAE/M,EAAEs2C,MAAM,OAAOvpC,GAAOhN,EAAEiN,GAANC,EAAEF,GAAQmX,OAAO,EAAEjX,EAAEwzE,WAAW,KAAKxzE,EAAEyzE,YAAY,KAAKzzE,EAAEuzE,WAAW,KAAmB,QAAdtzE,EAAED,EAAEg4D,YAAoBh4D,EAAE0vE,WAAW,EAAE1vE,EAAE8vE,MAAMh9E,EAAEkN,EAAEqpC,MAAM,KAAKrpC,EAAE60E,cAAc,KAAK70E,EAAEm4D,cAAc,KAAKn4D,EAAEqwE,YAAY,KAAKrwE,EAAE4vE,aAAa,KAAK5vE,EAAEy2D,UAAU,OAAOz2D,EAAE0vE,WAAWzvE,EAAEyvE,WAAW1vE,EAAE8vE,MAAM7vE,EAAE6vE,MAAM9vE,EAAEqpC,MAAMppC,EAAEopC,MAAMrpC,EAAE60E,cAAc50E,EAAE40E,cAAc70E,EAAEm4D,cAAcl4D,EAAEk4D,cAAcn4D,EAAEqwE,YAAYpwE,EAAEowE,YAAYrwE,EAAEjC,KAAKkC,EAAElC,KAAKjL,EAAEmN,EAAE2vE,aACpf5vE,EAAE4vE,aAAa,OAAO98E,EAAE,KAAK,CAACg9E,MAAMh9E,EAAEg9E,MAAMD,aAAa/8E,EAAE+8E,eAAe/vE,EAAEA,EAAEy4D,QAA2B,OAAnBsT,GAAEnoE,GAAY,EAAVA,GAAEoL,QAAU,GAAU/b,EAAEs2C,KAAK,CAACv2C,EAAEA,EAAEylE,OAAO,CAAC,OAAOx4D,EAAE08E,MAAMjO,KAAI4O,KAAKrqF,EAAEkkB,OAAO,GAAGjX,GAAE,EAAG48E,GAAG78E,GAAE,GAAIhN,EAAE+8E,MAAM,SAAS,KAAK,CAAC,IAAI9vE,EAAE,GAAW,QAARlN,EAAE8hF,GAAG30E,KAAa,GAAGlN,EAAEkkB,OAAO,GAAGjX,GAAE,EAAmB,QAAhBF,EAAEhN,EAAEu9E,eAAuBt9E,EAAEs9E,YAAYvwE,EAAE/M,EAAEkkB,OAAO,GAAG2lE,GAAG78E,GAAE,GAAI,OAAOA,EAAE08E,MAAM,WAAW18E,EAAE28E,WAAWz8E,EAAE+3D,YAAYid,GAAG,OAAmC,QAA5BliF,EAAEA,EAAEwgF,WAAWxzE,EAAEwzE,cAAsBxgF,EAAEygF,WAAW,MAAM,UAAU,EAAEhF,KAAIzuE,EAAEy8E,mBAAmBY,IAAI,aAAat9E,IAAI/M,EAAEkkB,OACjf,GAAGjX,GAAE,EAAG48E,GAAG78E,GAAE,GAAIhN,EAAE+8E,MAAM,UAAU/vE,EAAEu8E,aAAar8E,EAAEs4D,QAAQxlE,EAAEs2C,MAAMt2C,EAAEs2C,MAAMppC,IAAa,QAATH,EAAEC,EAAE9N,MAAc6N,EAAEy4D,QAAQt4D,EAAElN,EAAEs2C,MAAMppC,EAAEF,EAAE9N,KAAKgO,EAAE,CAAC,OAAO,OAAOF,EAAE08E,MAAM38E,EAAEC,EAAE08E,KAAK18E,EAAEw8E,UAAUz8E,EAAEC,EAAE08E,KAAK38E,EAAEy4D,QAAQx4D,EAAEwzE,WAAWxgF,EAAEwgF,WAAWxzE,EAAEy8E,mBAAmBhO,KAAI1uE,EAAEy4D,QAAQ,KAAKxlE,EAAE2Q,GAAEoL,QAAQ+8D,GAAEnoE,GAAE1D,EAAI,EAAFjN,EAAI,EAAI,EAAFA,GAAK+M,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOu9E,KAAK,OAAOvqF,GAAG,OAAOA,EAAEqlE,iBAAiB,OAAOplE,EAAEolE,gBAAgB,kCAAkCp4D,EAAE6zE,OAAO7gF,EAAEkkB,OAAO,GAAG,KAAK,MAAMlnB,MAAM6Q,EAAE,IAAI7N,EAAEu8D,KAAM,CACtd,SAASguB,GAAGxqF,GAAG,OAAOA,EAAEw8D,KAAK,KAAK,EAAE+c,GAAGv5E,EAAEiL,OAAOuuE,KAAK,IAAIv5E,EAAED,EAAEmkB,MAAM,OAAS,KAAFlkB,GAAQD,EAAEmkB,OAAS,KAAHlkB,EAAQ,GAAGD,GAAG,KAAK,KAAK,EAAgC,GAA9B2hF,KAAK7I,GAAEI,IAAGJ,GAAEG,IAAG4J,KAAkB,KAAO,IAApB5iF,EAAED,EAAEmkB,QAAoB,MAAMlnB,MAAM6Q,EAAE,MAAyB,OAAnB9N,EAAEmkB,OAAS,KAAHlkB,EAAQ,GAAUD,EAAE,KAAK,EAAE,OAAO6hF,GAAG7hF,GAAG,KAAK,KAAK,GAAG,OAAO84E,GAAEloE,IAAe,MAAZ3Q,EAAED,EAAEmkB,QAAcnkB,EAAEmkB,OAAS,KAAHlkB,EAAQ,GAAGD,GAAG,KAAK,KAAK,GAAG,OAAO84E,GAAEloE,IAAG,KAAK,KAAK,EAAE,OAAO+wE,KAAK,KAAK,KAAK,GAAG,OAAOlF,GAAGz8E,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOuqF,KAAK,KAAK,QAAQ,OAAO,KAAK,CAC1a,SAASE,GAAGzqF,EAAEC,GAAG,IAAI,IAAI+M,EAAE,GAAGC,EAAEhN,EAAE,GAAG+M,GAAGuvD,EAAGtvD,GAAGA,EAAEA,EAAEk4D,aAAal4D,GAAG,IAAIhR,EAAE+Q,CAAC,CAAC,MAAME,GAAGjR,EAAE,6BAA6BiR,EAAExS,QAAQ,KAAKwS,EAAEm2C,KAAK,CAAC,MAAM,CAACtyC,MAAM/Q,EAAE+wD,OAAO9wD,EAAEojD,MAAMpnD,EAAE,CAAC,SAASyuF,GAAG1qF,EAAEC,GAAG,IAAI3D,QAAQa,MAAM8C,EAAE8Q,MAAM,CAAC,MAAM/D,GAAGuuC,YAAW,WAAW,MAAMvuC,CAAE,GAAE,CAAC,CAlBhQy7E,GAAG,SAASzoF,EAAEC,GAAG,IAAI,IAAI+M,EAAE/M,EAAEs2C,MAAM,OAAOvpC,GAAG,CAAC,GAAG,IAAIA,EAAEwvD,KAAK,IAAIxvD,EAAEwvD,IAAIx8D,EAAEnD,YAAYmQ,EAAE22D,gBAAgB,GAAG,IAAI32D,EAAEwvD,KAAK,OAAOxvD,EAAEupC,MAAM,CAACvpC,EAAEupC,MAAM4uB,OAAOn4D,EAAEA,EAAEA,EAAEupC,MAAM,QAAQ,CAAC,GAAGvpC,IAAI/M,EAAE,MAAM,KAAK,OAAO+M,EAAEy4D,SAAS,CAAC,GAAG,OAAOz4D,EAAEm4D,QAAQn4D,EAAEm4D,SAASllE,EAAE,OAAO+M,EAAEA,EAAEm4D,MAAM,CAACn4D,EAAEy4D,QAAQN,OAAOn4D,EAAEm4D,OAAOn4D,EAAEA,EAAEy4D,OAAO,CAAC,EAAEijB,GAAG,WAAW,EACxTC,GAAG,SAAS3oF,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAE+D,EAAE+hF,cAAc,GAAG9lF,IAAIgR,EAAE,CAACjN,EAAEC,EAAE0jE,UAAU8d,GAAGH,GAAGtlE,SAAS,IAAyU7O,EAArUD,EAAE,KAAK,OAAOF,GAAG,IAAK,QAAQ/Q,EAAEuhE,EAAGx9D,EAAE/D,GAAGgR,EAAEuwD,EAAGx9D,EAAEiN,GAAGC,EAAE,GAAG,MAAM,IAAK,SAASjR,EAAEiiE,GAAGl+D,EAAE/D,GAAGgR,EAAEixD,GAAGl+D,EAAEiN,GAAGC,EAAE,GAAG,MAAM,IAAK,SAASjR,EAAEqR,EAAE,CAAC,EAAErR,EAAE,CAAC8U,WAAM,IAAS9D,EAAEK,EAAE,CAAC,EAAEL,EAAE,CAAC8D,WAAM,IAAS7D,EAAE,GAAG,MAAM,IAAK,WAAWjR,EAAEuiE,GAAGx+D,EAAE/D,GAAGgR,EAAEuxD,GAAGx+D,EAAEiN,GAAGC,EAAE,GAAG,MAAM,QAAQ,oBAAoBjR,EAAE28D,SAAS,oBAAoB3rD,EAAE2rD,UAAU54D,EAAEkqF,QAAQ1S,IAAyB,IAAInqE,KAAzB21D,GAAGh2D,EAAEC,GAASD,EAAE,KAAc/Q,EAAE,IAAIgR,EAAE8C,eAAe1C,IAAIpR,EAAE8T,eAAe1C,IAAI,MAAMpR,EAAEoR,GAAG,GAAG,UAC3eA,EAAE,CAAC,IAAID,EAAEnR,EAAEoR,GAAG,IAAIF,KAAKC,EAAEA,EAAE2C,eAAe5C,KAAKH,IAAIA,EAAE,CAAC,GAAGA,EAAEG,GAAG,GAAG,KAAK,4BAA4BE,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAI8rD,EAAGppD,eAAe1C,GAAGH,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAIhK,KAAKmK,EAAE,OAAO,IAAIA,KAAKJ,EAAE,CAAC,IAAI7O,EAAE6O,EAAEI,GAAyB,GAAtBD,EAAE,MAAMnR,EAAEA,EAAEoR,QAAG,EAAUJ,EAAE8C,eAAe1C,IAAIjP,IAAIgP,IAAI,MAAMhP,GAAG,MAAMgP,GAAG,GAAG,UAAUC,EAAE,GAAGD,EAAE,CAAC,IAAID,KAAKC,GAAGA,EAAE2C,eAAe5C,IAAI/O,GAAGA,EAAE2R,eAAe5C,KAAKH,IAAIA,EAAE,CAAC,GAAGA,EAAEG,GAAG,IAAI,IAAIA,KAAK/O,EAAEA,EAAE2R,eAAe5C,IAAIC,EAAED,KAAK/O,EAAE+O,KAAKH,IAClfA,EAAE,CAAC,GAAGA,EAAEG,GAAG/O,EAAE+O,GAAG,MAAMH,IAAIE,IAAIA,EAAE,IAAIA,EAAEhK,KAAKmK,EAAEL,IAAIA,EAAE5O,MAAM,4BAA4BiP,GAAGjP,EAAEA,EAAEA,EAAE05E,YAAO,EAAO1qE,EAAEA,EAAEA,EAAE0qE,YAAO,EAAO,MAAM15E,GAAGgP,IAAIhP,IAAI8O,EAAEA,GAAG,IAAIhK,KAAKmK,EAAEjP,IAAI,aAAaiP,EAAE,kBAAkBjP,GAAG,kBAAkBA,IAAI8O,EAAEA,GAAG,IAAIhK,KAAKmK,EAAE,GAAGjP,GAAG,mCAAmCiP,GAAG,6BAA6BA,IAAI8rD,EAAGppD,eAAe1C,IAAI,MAAMjP,GAAG,aAAaiP,GAAGgpE,GAAE,SAASr2E,GAAGkN,GAAGE,IAAIhP,IAAI8O,EAAE,KAAK,kBAAkB9O,GAAG,OAAOA,GAAGA,EAAE6P,WAAW0tD,EAAGv9D,EAAEkH,YAAY4H,EAAEA,GAAG,IAAIhK,KAAKmK,EAAEjP,GAAG,CAAC4O,IAAIE,EAAEA,GAAG,IAAIhK,KAAK,QAC/e8J,GAAG,IAAIK,EAAEH,GAAKjN,EAAEs9E,YAAYlwE,KAAEpN,EAAEkkB,OAAO,EAAC,CAAC,EAAEykE,GAAG,SAAS5oF,EAAEC,EAAE+M,EAAEC,GAAGD,IAAIC,IAAIhN,EAAEkkB,OAAO,EAAE,EAc8K,IAAIwmE,GAAG,oBAAoBC,QAAQA,QAAQvkB,IAAI,SAASwkB,GAAG7qF,EAAEC,EAAE+M,IAAGA,EAAE8wE,IAAI,EAAE9wE,IAAKwvD,IAAI,EAAExvD,EAAEixE,QAAQ,CAACr8C,QAAQ,MAAM,IAAI30B,EAAEhN,EAAE8Q,MAAsD,OAAhD/D,EAAErK,SAAS,WAAWmoF,KAAKA,IAAG,EAAGC,GAAG99E,GAAGy9E,GAAG1qF,EAAEC,EAAE,EAAS+M,CAAC,CACrb,SAASg+E,GAAGhrF,EAAEC,EAAE+M,IAAGA,EAAE8wE,IAAI,EAAE9wE,IAAKwvD,IAAI,EAAE,IAAIvvD,EAAEjN,EAAEiL,KAAKJ,yBAAyB,GAAG,oBAAoBoC,EAAE,CAAC,IAAIhR,EAAEgE,EAAE8Q,MAAM/D,EAAEixE,QAAQ,WAAmB,OAARyM,GAAG1qF,EAAEC,GAAUgN,EAAEhR,EAAE,CAAC,CAAC,IAAIiR,EAAElN,EAAE2jE,UAA8O,OAApO,OAAOz2D,GAAG,oBAAoBA,EAAE+9E,oBAAoBj+E,EAAErK,SAAS,WAAW,oBAAoBsK,IAAI,OAAOi+E,GAAGA,GAAG,IAAIhyB,IAAI,CAAC9oD,OAAO86E,GAAGz4E,IAAIrC,MAAMs6E,GAAG1qF,EAAEC,IAAI,IAAI+M,EAAE/M,EAAEojD,MAAMjzC,KAAK66E,kBAAkBhrF,EAAE8Q,MAAM,CAACo6E,eAAe,OAAOn+E,EAAEA,EAAE,IAAI,GAAUA,CAAC,CAAC,IAAIo+E,GAAG,oBAAoBC,QAAQA,QAAQnyB,IACxc,SAASoyB,GAAGtrF,GAAG,IAAIC,EAAED,EAAEogF,IAAI,GAAG,OAAOngF,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,KAAK,CAAC,MAAM+M,GAAGu+E,GAAGvrF,EAAEgN,EAAE,MAAM/M,EAAE+b,QAAQ,IAAI,CAAC,SAASwvE,GAAGxrF,EAAEC,GAAG,OAAOA,EAAEu8D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAA8Q,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAjS,KAAK,EAAE,GAAW,IAARv8D,EAAEkkB,OAAW,OAAOnkB,EAAE,CAAC,IAAIgN,EAAEhN,EAAE+hF,cAAc90E,EAAEjN,EAAEqlE,cAA4BplE,GAAdD,EAAEC,EAAE0jE,WAAcmc,wBAAwB7/E,EAAE6hC,cAAc7hC,EAAEgL,KAAK+B,EAAEmvE,GAAGl8E,EAAEgL,KAAK+B,GAAGC,GAAGjN,EAAEyrF,oCAAoCxrF,CAAC,CAAC,OAAO,KAAK,EAA6C,YAAnC,IAARA,EAAEkkB,OAAW+zD,GAAGj4E,EAAE0jE,UAAU8D,gBAA0D,MAAMxqE,MAAM6Q,EAAE,KAAM,CAClf,SAAS49E,GAAG1rF,EAAEC,EAAE+M,GAAG,OAAOA,EAAEwvD,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAgD,GAAG,QAAhCv8D,EAAE,QAAlBA,EAAE+M,EAAEuwE,aAAuBt9E,EAAEwgF,WAAW,MAAiB,CAACzgF,EAAEC,EAAEA,EAAEoR,KAAK,EAAE,CAAC,GAAG,KAAW,EAANrR,EAAEw8D,KAAO,CAAC,IAAIvvD,EAAEjN,EAAEsQ,OAAOtQ,EAAEu4C,QAAQtrC,GAAG,CAACjN,EAAEA,EAAEqR,IAAI,OAAOrR,IAAIC,EAAE,CAA8C,GAAG,QAAhCA,EAAE,QAAlBA,EAAE+M,EAAEuwE,aAAuBt9E,EAAEwgF,WAAW,MAAiB,CAACzgF,EAAEC,EAAEA,EAAEoR,KAAK,EAAE,CAAC,IAAIpV,EAAE+D,EAAEiN,EAAEhR,EAAEoV,KAAa,KAAO,GAAfpV,EAAEA,EAAEugE,OAAe,KAAO,EAAFvgE,KAAO0vF,GAAG3+E,EAAEhN,GAAG4rF,GAAG5+E,EAAEhN,IAAIA,EAAEiN,CAAC,OAAOjN,IAAIC,EAAE,CAAC,OAAO,KAAK,EACtR,OADwRD,EAAEgN,EAAE22D,UAAkB,EAAR32D,EAAEmX,QAAU,OAAOlkB,EAAED,EAAEigF,qBAAqBhzE,EAAED,EAAE80B,cAAc90B,EAAE/B,KAAKhL,EAAE8hF,cAAc5F,GAAGnvE,EAAE/B,KAAKhL,EAAE8hF,eAAe/hF,EAAEqoF,mBAAmBp7E,EACxgBhN,EAAEolE,cAAcrlE,EAAEyrF,4CAAuD,QAAhBxrF,EAAE+M,EAAEuwE,cAAsBgB,GAAGvxE,EAAE/M,EAAED,IAAU,KAAK,EAAkB,GAAG,QAAnBC,EAAE+M,EAAEuwE,aAAwB,CAAQ,GAAPv9E,EAAE,KAAQ,OAAOgN,EAAEupC,MAAM,OAAOvpC,EAAEupC,MAAMimB,KAAK,KAAK,EAA4B,KAAK,EAAEx8D,EAAEgN,EAAEupC,MAAMotB,UAAU4a,GAAGvxE,EAAE/M,EAAED,EAAE,CAAC,OAAO,KAAK,EAA2E,OAAzEA,EAAEgN,EAAE22D,eAAU,OAAO1jE,GAAW,EAAR+M,EAAEmX,OAASwzD,GAAG3qE,EAAE/B,KAAK+B,EAAE+0E,gBAAgB/hF,EAAE6rF,SAAe,KAAK,EAAS,KAAK,EAAS,KAAK,GACnX,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAD6U,KAAK,GACzY,YAD4Y,OAAO7+E,EAAEq4D,gBAAgBr4D,EAAEA,EAAEk4D,UAAU,OAAOl4D,IAAIA,EAAEA,EAAEq4D,cAAc,OAAOr4D,IAAIA,EAAEA,EAAEs4D,WAAW,OAAOt4D,GAAGi7D,GAAGj7D,OACzb,MAAM/P,MAAM6Q,EAAE,KAAM,CAClF,SAASg+E,GAAG9rF,EAAEC,GAAG,IAAI,IAAI+M,EAAEhN,IAAI,CAAC,GAAG,IAAIgN,EAAEwvD,IAAI,CAAC,IAAIvvD,EAAED,EAAE22D,UAAU,GAAG1jE,EAAY,oBAAVgN,EAAEA,EAAE3R,OAA4Bi+C,YAAYtsC,EAAEssC,YAAY,UAAU,OAAO,aAAatsC,EAAE4tB,QAAQ,WAAW,CAAC5tB,EAAED,EAAE22D,UAAU,IAAI1nE,EAAE+Q,EAAE+0E,cAAczmF,MAAMW,OAAE,IAASA,GAAG,OAAOA,GAAGA,EAAE8T,eAAe,WAAW9T,EAAE4+B,QAAQ,KAAK5tB,EAAE3R,MAAMu/B,QAAQonC,GAAG,UAAUhmE,EAAE,CAAC,MAAM,GAAG,IAAI+Q,EAAEwvD,IAAIxvD,EAAE22D,UAAUlE,UAAUx/D,EAAE,GAAG+M,EAAE+0E,mBAAmB,IAAI,KAAK/0E,EAAEwvD,KAAK,KAAKxvD,EAAEwvD,KAAK,OAAOxvD,EAAEq4D,eAAer4D,IAAIhN,IAAI,OAAOgN,EAAEupC,MAAM,CAACvpC,EAAEupC,MAAM4uB,OAAOn4D,EAAEA,EAAEA,EAAEupC,MAAM,QAAQ,CAAC,GAAGvpC,IACtfhN,EAAE,MAAM,KAAK,OAAOgN,EAAEy4D,SAAS,CAAC,GAAG,OAAOz4D,EAAEm4D,QAAQn4D,EAAEm4D,SAASnlE,EAAE,OAAOgN,EAAEA,EAAEm4D,MAAM,CAACn4D,EAAEy4D,QAAQN,OAAOn4D,EAAEm4D,OAAOn4D,EAAEA,EAAEy4D,OAAO,CAAC,CACzH,SAASsmB,GAAG/rF,EAAEC,GAAG,GAAG+5E,IAAI,oBAAoBA,GAAGgS,qBAAqB,IAAIhS,GAAGgS,qBAAqBjS,GAAG95E,EAAE,CAAC,MAAMiN,GAAG,CAAC,OAAOjN,EAAEu8D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAmB,GAAG,QAAnBx8D,EAAEC,EAAEs9E,cAAyC,QAAfv9E,EAAEA,EAAEygF,YAAqB,CAAC,IAAIzzE,EAAEhN,EAAEA,EAAEqR,KAAK,EAAE,CAAC,IAAIpE,EAAED,EAAE/Q,EAAEgR,EAAEsrC,QAAgB,GAARtrC,EAAEA,EAAEuvD,SAAO,IAASvgE,EAAE,GAAG,KAAO,EAAFgR,GAAK0+E,GAAG1rF,EAAE+M,OAAO,CAACC,EAAEhN,EAAE,IAAIhE,GAAG,CAAC,MAAMiR,GAAGq+E,GAAGt+E,EAAEC,EAAE,CAAC,CAACF,EAAEA,EAAEqE,IAAI,OAAOrE,IAAIhN,EAAE,CAAC,MAAM,KAAK,EAAsB,GAApBsrF,GAAGrrF,GAAoB,oBAAjBD,EAAEC,EAAE0jE,WAAmCsoB,qBAAqB,IAAIjsF,EAAEiE,MAAMhE,EAAE8hF,cAAc/hF,EAAE6B,MAAM5B,EAAEolE,cAAcrlE,EAAEisF,sBAAsB,CAAC,MAAM/+E,GAAGq+E,GAAGtrF,EAC/gBiN,EAAE,CAAC,MAAM,KAAK,EAAEo+E,GAAGrrF,GAAG,MAAM,KAAK,EAAEisF,GAAGlsF,EAAEC,GAAG,CAAC,SAASksF,GAAGnsF,GAAGA,EAAEklE,UAAU,KAAKllE,EAAEu2C,MAAM,KAAKv2C,EAAE88E,aAAa,KAAK98E,EAAE2gF,YAAY,KAAK3gF,EAAEygF,WAAW,KAAKzgF,EAAE+hF,cAAc,KAAK/hF,EAAEqlE,cAAc,KAAKrlE,EAAEuiF,aAAa,KAAKviF,EAAEmlE,OAAO,KAAKnlE,EAAEu9E,YAAY,IAAI,CAAC,SAAS6O,GAAGpsF,GAAG,OAAO,IAAIA,EAAEw8D,KAAK,IAAIx8D,EAAEw8D,KAAK,IAAIx8D,EAAEw8D,GAAG,CACtS,SAAS6vB,GAAGrsF,GAAGA,EAAE,CAAC,IAAI,IAAIC,EAAED,EAAEmlE,OAAO,OAAOllE,GAAG,CAAC,GAAGmsF,GAAGnsF,GAAG,MAAMD,EAAEC,EAAEA,EAAEklE,MAAM,CAAC,MAAMloE,MAAM6Q,EAAE,KAAM,CAAC,IAAId,EAAE/M,EAAgB,OAAdA,EAAE+M,EAAE22D,UAAiB32D,EAAEwvD,KAAK,KAAK,EAAE,IAAIvvD,GAAE,EAAG,MAAM,KAAK,EAA+B,KAAK,EAAEhN,EAAEA,EAAEwnE,cAAcx6D,GAAE,EAAG,MAAM,QAAQ,MAAMhQ,MAAM6Q,EAAE,MAAe,GAARd,EAAEmX,QAAWo7C,GAAGt/D,EAAE,IAAI+M,EAAEmX,QAAQ,IAAInkB,EAAEC,EAAE,IAAI+M,EAAEhN,IAAI,CAAC,KAAK,OAAOgN,EAAEy4D,SAAS,CAAC,GAAG,OAAOz4D,EAAEm4D,QAAQinB,GAAGp/E,EAAEm4D,QAAQ,CAACn4D,EAAE,KAAK,MAAMhN,CAAC,CAACgN,EAAEA,EAAEm4D,MAAM,CAA2B,IAA1Bn4D,EAAEy4D,QAAQN,OAAOn4D,EAAEm4D,OAAWn4D,EAAEA,EAAEy4D,QAAQ,IAAIz4D,EAAEwvD,KAAK,IAAIxvD,EAAEwvD,KAAK,KAAKxvD,EAAEwvD,KAAK,CAAC,GAAW,EAARxvD,EAAEmX,MAAQ,SAASlkB,EAAE,GAAG,OAC/e+M,EAAEupC,OAAO,IAAIvpC,EAAEwvD,IAAI,SAASv8D,EAAO+M,EAAEupC,MAAM4uB,OAAOn4D,EAAEA,EAAEA,EAAEupC,KAAK,CAAC,KAAa,EAARvpC,EAAEmX,OAAS,CAACnX,EAAEA,EAAE22D,UAAU,MAAM3jE,CAAC,CAAC,CAACiN,EAAEq/E,GAAGtsF,EAAEgN,EAAE/M,GAAGssF,GAAGvsF,EAAEgN,EAAE/M,EAAE,CAC3H,SAASqsF,GAAGtsF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEjN,EAAEw8D,IAAIvgE,EAAE,IAAIgR,GAAG,IAAIA,EAAE,GAAGhR,EAAE+D,EAAE/D,EAAE+D,EAAE2jE,UAAU3jE,EAAE2jE,UAAUtL,SAASp4D,EAAE,IAAI+M,EAAEsiC,SAAStiC,EAAEs9B,WAAW8M,aAAap3C,EAAEC,GAAG+M,EAAEoqC,aAAap3C,EAAEC,IAAI,IAAI+M,EAAEsiC,UAAUrvC,EAAE+M,EAAEs9B,YAAa8M,aAAap3C,EAAEgN,IAAK/M,EAAE+M,GAAInQ,YAAYmD,GAA4B,QAAxBgN,EAAEA,EAAEw/E,2BAA8B,IAASx/E,GAAG,OAAO/M,EAAEiqF,UAAUjqF,EAAEiqF,QAAQ1S,UAAU,GAAG,IAAIvqE,GAAc,QAAVjN,EAAEA,EAAEu2C,OAAgB,IAAI+1C,GAAGtsF,EAAEC,EAAE+M,GAAGhN,EAAEA,EAAEylE,QAAQ,OAAOzlE,GAAGssF,GAAGtsF,EAAEC,EAAE+M,GAAGhN,EAAEA,EAAEylE,OAAO,CACrZ,SAAS8mB,GAAGvsF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEjN,EAAEw8D,IAAIvgE,EAAE,IAAIgR,GAAG,IAAIA,EAAE,GAAGhR,EAAE+D,EAAE/D,EAAE+D,EAAE2jE,UAAU3jE,EAAE2jE,UAAUtL,SAASp4D,EAAE+M,EAAEoqC,aAAap3C,EAAEC,GAAG+M,EAAEnQ,YAAYmD,QAAQ,GAAG,IAAIiN,GAAc,QAAVjN,EAAEA,EAAEu2C,OAAgB,IAAIg2C,GAAGvsF,EAAEC,EAAE+M,GAAGhN,EAAEA,EAAEylE,QAAQ,OAAOzlE,GAAGusF,GAAGvsF,EAAEC,EAAE+M,GAAGhN,EAAEA,EAAEylE,OAAO,CAC5N,SAASymB,GAAGlsF,EAAEC,GAAG,IAAI,IAAahE,EAAEiR,EAAXF,EAAE/M,EAAEgN,GAAE,IAAS,CAAC,IAAIA,EAAE,CAACA,EAAED,EAAEm4D,OAAOnlE,EAAE,OAAO,CAAC,GAAG,OAAOiN,EAAE,MAAMhQ,MAAM6Q,EAAE,MAAoB,OAAd7R,EAAEgR,EAAE02D,UAAiB12D,EAAEuvD,KAAK,KAAK,EAAEtvD,GAAE,EAAG,MAAMlN,EAAE,KAAK,EAAiC,KAAK,EAAE/D,EAAEA,EAAEwrE,cAAcv6D,GAAE,EAAG,MAAMlN,EAAEiN,EAAEA,EAAEk4D,MAAM,CAACl4D,GAAE,CAAE,CAAC,GAAG,IAAID,EAAEwvD,KAAK,IAAIxvD,EAAEwvD,IAAI,CAACx8D,EAAE,IAAI,IAAImN,EAAEnN,EAAEoN,EAAEJ,EAAE5O,EAAEgP,IAAI,GAAG2+E,GAAG5+E,EAAE/O,GAAG,OAAOA,EAAEm4C,OAAO,IAAIn4C,EAAEo+D,IAAIp+D,EAAEm4C,MAAM4uB,OAAO/mE,EAAEA,EAAEA,EAAEm4C,UAAU,CAAC,GAAGn4C,IAAIgP,EAAE,MAAMpN,EAAE,KAAK,OAAO5B,EAAEqnE,SAAS,CAAC,GAAG,OAAOrnE,EAAE+mE,QAAQ/mE,EAAE+mE,SAAS/3D,EAAE,MAAMpN,EAAE5B,EAAEA,EAAE+mE,MAAM,CAAC/mE,EAAEqnE,QAAQN,OAAO/mE,EAAE+mE,OAAO/mE,EAAEA,EAAEqnE,OAAO,CAACv4D,GAAGC,EAAElR,EAAEmR,EAAEJ,EAAE22D,UACrf,IAAIx2D,EAAEmiC,SAASniC,EAAEm9B,WAAW1sC,YAAYwP,GAAGD,EAAEvP,YAAYwP,IAAInR,EAAE2B,YAAYoP,EAAE22D,UAAU,MAAM,GAAG,IAAI32D,EAAEwvD,KAAK,GAAG,OAAOxvD,EAAEupC,MAAM,CAACt6C,EAAE+Q,EAAE22D,UAAU8D,cAAcv6D,GAAE,EAAGF,EAAEupC,MAAM4uB,OAAOn4D,EAAEA,EAAEA,EAAEupC,MAAM,QAAQ,OAAO,GAAGw1C,GAAG/rF,EAAEgN,GAAG,OAAOA,EAAEupC,MAAM,CAACvpC,EAAEupC,MAAM4uB,OAAOn4D,EAAEA,EAAEA,EAAEupC,MAAM,QAAQ,CAAC,GAAGvpC,IAAI/M,EAAE,MAAM,KAAK,OAAO+M,EAAEy4D,SAAS,CAAC,GAAG,OAAOz4D,EAAEm4D,QAAQn4D,EAAEm4D,SAASllE,EAAE,OAAkB,KAAX+M,EAAEA,EAAEm4D,QAAa3I,MAAMvvD,GAAE,EAAG,CAACD,EAAEy4D,QAAQN,OAAOn4D,EAAEm4D,OAAOn4D,EAAEA,EAAEy4D,OAAO,CAAC,CAC1Z,SAASgnB,GAAGzsF,EAAEC,GAAG,OAAOA,EAAEu8D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIxvD,EAAE/M,EAAEs9E,YAAyC,GAAG,QAAhCvwE,EAAE,OAAOA,EAAEA,EAAEyzE,WAAW,MAAiB,CAAC,IAAIxzE,EAAED,EAAEA,EAAEqE,KAAK,GAAG,KAAW,EAANpE,EAAEuvD,OAASx8D,EAAEiN,EAAEsrC,QAAQtrC,EAAEsrC,aAAQ,OAAO,IAASv4C,GAAGA,KAAKiN,EAAEA,EAAEoE,WAAWpE,IAAID,EAAE,CAAC,OAAO,KAAK,EAErJ,KAAK,GAAoG,KAAK,GAAG,OAF6C,KAAK,EAAgB,GAAG,OAAjBA,EAAE/M,EAAE0jE,WAAqB,CAAC12D,EAAEhN,EAAE8hF,cAAc,IAAI9lF,EAAE,OAAO+D,EAAEA,EAAE+hF,cAAc90E,EAAEjN,EAAEC,EAAEgL,KAAK,IAAIiC,EAAEjN,EAAEs9E,YAA+B,GAAnBt9E,EAAEs9E,YAAY,KAAQ,OAAOrwE,EAAE,CAAgF,IAA/EF,EAAEyrE,IAAIxrE,EAAE,UAAUjN,GAAG,UAAUiN,EAAEhC,MAAM,MAAMgC,EAAE9B,MAAM4yD,GAAG/wD,EAAEC,GAAGg2D,GAAGjjE,EAAE/D,GAAGgE,EAAEgjE,GAAGjjE,EAAEiN,GAAOhR,EAAE,EAAEA,EAAEiR,EAAE5O,OAAOrC,GAClf,EAAE,CAAC,IAAIkR,EAAED,EAAEjR,GAAGmR,EAAEF,EAAEjR,EAAE,GAAG,UAAUkR,EAAE+0D,GAAGl1D,EAAEI,GAAG,4BAA4BD,EAAEgyD,GAAGnyD,EAAEI,GAAG,aAAaD,EAAEoyD,GAAGvyD,EAAEI,GAAGktD,EAAGttD,EAAEG,EAAEC,EAAEnN,EAAE,CAAC,OAAOD,GAAG,IAAK,QAAQi9C,GAAGjwC,EAAEC,GAAG,MAAM,IAAK,WAAW0xD,GAAG3xD,EAAEC,GAAG,MAAM,IAAK,SAASjN,EAAEgN,EAAE2wD,cAAcqsB,YAAYh9E,EAAE2wD,cAAcqsB,cAAc/8E,EAAEg9E,SAAmB,OAAV/8E,EAAED,EAAE8D,OAAcqtD,GAAGpxD,IAAIC,EAAEg9E,SAAS/8E,GAAE,GAAIlN,MAAMiN,EAAEg9E,WAAW,MAAMh9E,EAAEywD,aAAaU,GAAGpxD,IAAIC,EAAEg9E,SAASh9E,EAAEywD,cAAa,GAAIU,GAAGpxD,IAAIC,EAAEg9E,SAASh9E,EAAEg9E,SAAS,GAAG,IAAG,IAAK,CAAC,CAAC,OAAO,KAAK,EAAE,GAAG,OAAOhqF,EAAE0jE,UAAU,MAAM1mE,MAAM6Q,EAAE,MAC/c,YADqd7N,EAAE0jE,UAAUlE,UACjfx/D,EAAE8hF,eAAqB,KAAK,EAA8D,aAA5D/0E,EAAE/M,EAAE0jE,WAAY6D,UAAUx6D,EAAEw6D,SAAQ,EAAGS,GAAGj7D,EAAEy6D,iBAAsC,KAAK,GAAyD,OAAtD,OAAOxnE,EAAEolE,gBAAgBqnB,GAAGhR,KAAIoQ,GAAG7rF,EAAEs2C,OAAM,SAAKo2C,GAAG1sF,GAAU,KAAK,GAAS,YAAN0sF,GAAG1sF,GAAyB,KAAK,GAAG,KAAK,GAAgC,YAA7B6rF,GAAG7rF,EAAE,OAAOA,EAAEolE,eAAsB,MAAMpoE,MAAM6Q,EAAE,KAAM,CAAC,SAAS6+E,GAAG3sF,GAAG,IAAIC,EAAED,EAAEu9E,YAAY,GAAG,OAAOt9E,EAAE,CAACD,EAAEu9E,YAAY,KAAK,IAAIvwE,EAAEhN,EAAE2jE,UAAU,OAAO32D,IAAIA,EAAEhN,EAAE2jE,UAAU,IAAIynB,IAAInrF,EAAEuD,SAAQ,SAASvD,GAAG,IAAIgN,EAAE2/E,GAAG5hB,KAAK,KAAKhrE,EAAEC,GAAG+M,EAAE6tC,IAAI56C,KAAK+M,EAAEyF,IAAIxS,GAAGA,EAAEuR,KAAKvE,EAAEA,GAAG,GAAE,CAAC,CACze,SAAS4/E,GAAG7sF,EAAEC,GAAG,OAAO,OAAOD,IAAsB,QAAlBA,EAAEA,EAAEqlE,gBAAwB,OAAOrlE,EAAEslE,cAA+B,QAAlBrlE,EAAEA,EAAEolE,gBAAwB,OAAOplE,EAAEqlE,WAAc,CAAC,IAAIwnB,GAAG1nF,KAAK+R,KAAK41E,GAAGlyB,EAAGmoB,uBAAuBgK,GAAGnyB,EAAGysB,kBAAkB2F,GAAE,EAAE7sE,GAAE,KAAK8sE,GAAE,KAAK7C,GAAE,EAAE8C,GAAG,EAAEC,GAAGvU,GAAG,GAAG30C,GAAE,EAAEmpD,GAAG,KAAKC,GAAG,EAAEhP,GAAG,EAAE6L,GAAG,EAAEoD,GAAG,EAAEC,GAAG,KAAKd,GAAG,EAAEpC,GAAGzzD,IAAS,SAAS42D,KAAKnD,GAAG5O,KAAI,GAAG,CAAC,IA8BsFgS,GA9BlFrtE,GAAE,KAAKyqE,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAKyC,IAAG,EAAGC,GAAG,KAAKC,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAG,EAAG,SAASvP,KAAK,OAAO,KAAO,GAAFiO,IAAMvR,MAAK,IAAIyS,GAAGA,GAAGA,GAAGzS,IAAG,CAC9e,SAASuD,GAAGj/E,GAAY,GAAG,KAAO,GAAnBA,EAAEA,EAAE8gF,OAAkB,OAAO,EAAE,GAAG,KAAO,EAAF9gF,GAAK,OAAO,KAAK27E,KAAK,EAAE,EAAkB,GAAhB,IAAIyS,KAAKA,GAAGd,IAAO,IAAIrR,GAAGrT,WAAW,CAAC,IAAIylB,KAAKA,GAAG,OAAOb,GAAGA,GAAG/jB,aAAa,GAAGzpE,EAAEouF,GAAG,IAAInuF,EAAE,SAASouF,GAAsD,OAA7C,KAANpuF,IAAIA,KAA8B,KAAPA,GAAbD,EAAE,SAASA,IAAOA,KAAUC,EAAE,OAAcA,CAAC,CAA2D,OAA1DD,EAAE27E,KAAK,KAAO,EAAFsR,KAAM,KAAKjtF,EAAEA,EAAEiqE,GAAG,GAAGmkB,IAAapuF,EAAEiqE,GAAVjqE,EAtK3Q,SAAYA,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,QAAQ,OAAO,EAAE,CAsKqJwuF,CAAGxuF,GAAUouF,IAAYpuF,CAAC,CACpT,SAASk/E,GAAGl/E,EAAEC,EAAE+M,GAAG,GAAG,GAAGihF,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAKjxF,MAAM6Q,EAAE,MAAgB,GAAG,QAAb9N,EAAEyuF,GAAGzuF,EAAEC,IAAe,OAAO,KAAKmqE,GAAGpqE,EAAEC,EAAE+M,GAAGhN,IAAIogB,KAAI+pE,IAAIlqF,EAAE,IAAIikC,IAAGkmD,GAAGpqF,EAAEqqF,KAAI,IAAIp9E,EAAE0uE,KAAK,IAAI17E,EAAE,KAAO,EAAFgtF,KAAM,KAAO,GAAFA,IAAMyB,GAAG1uF,IAAI2uF,GAAG3uF,EAAEgN,GAAG,IAAIigF,KAAIQ,KAAK1R,QAAQ,KAAO,EAAFkR,KAAM,KAAKhgF,GAAG,KAAKA,IAAI,OAAO+gF,GAAGA,GAAG,IAAI90B,IAAI,CAACl5D,IAAIguF,GAAGv7E,IAAIzS,IAAI2uF,GAAG3uF,EAAEgN,IAAIwgF,GAAGxtF,CAAC,CAAC,SAASyuF,GAAGzuF,EAAEC,GAAGD,EAAEg9E,OAAO/8E,EAAE,IAAI+M,EAAEhN,EAAEklE,UAAqC,IAA3B,OAAOl4D,IAAIA,EAAEgwE,OAAO/8E,GAAG+M,EAAEhN,EAAMA,EAAEA,EAAEmlE,OAAO,OAAOnlE,GAAGA,EAAE48E,YAAY38E,EAAgB,QAAd+M,EAAEhN,EAAEklE,aAAqBl4D,EAAE4vE,YAAY38E,GAAG+M,EAAEhN,EAAEA,EAAEA,EAAEmlE,OAAO,OAAO,IAAIn4D,EAAEwvD,IAAIxvD,EAAE22D,UAAU,IAAI,CAC7e,SAASgrB,GAAG3uF,EAAEC,GAAG,IAAI,IAAI+M,EAAEhN,EAAE4uF,aAAa3hF,EAAEjN,EAAE2pE,eAAe1tE,EAAE+D,EAAE4pE,YAAY18D,EAAElN,EAAE6uF,gBAAgB1hF,EAAEnN,EAAEypE,aAAa,EAAEt8D,GAAG,CAAC,IAAIC,EAAE,GAAGy8D,GAAG18D,GAAG/O,EAAE,GAAGgP,EAAEC,EAAEH,EAAEE,GAAG,IAAI,IAAIC,GAAG,GAAG,KAAKjP,EAAE6O,IAAI,KAAK7O,EAAEnC,GAAG,CAACoR,EAAEpN,EAAEspE,GAAGnrE,GAAG,IAAIC,EAAE8hB,GAAEjT,EAAEE,GAAG,IAAI/O,EAAEgP,EAAE,IAAI,GAAGhP,EAAEgP,EAAE,KAAK,CAAC,OAAOA,GAAGpN,IAAID,EAAE0pE,cAActrE,GAAG+O,IAAI/O,CAAC,CAAuB,GAAtB6O,EAAEu8D,GAAGxpE,EAAEA,IAAIogB,GAAEiqE,GAAE,GAAGpqF,EAAEkgB,GAAK,IAAIlT,EAAE,OAAOD,IAAIA,IAAIouE,IAAIjB,GAAGntE,GAAGhN,EAAE4uF,aAAa,KAAK5uF,EAAE8uF,iBAAiB,OAAO,CAAC,GAAG,OAAO9hF,EAAE,CAAC,GAAGhN,EAAE8uF,mBAAmB7uF,EAAE,OAAO+M,IAAIouE,IAAIjB,GAAGntE,EAAE,CAAC,KAAK/M,GAAG+M,EAAE0hF,GAAG1jB,KAAK,KAAKhrE,GAAG,OAAOs7E,IAAIA,GAAG,CAACtuE,GAAGuuE,GAAGrB,GAAGU,GAAGoB,KAAKV,GAAGp4E,KAAK8J,GACrfA,EAAEouE,IAAI,KAAKn7E,EAAE+M,EAAE8uE,GAAG,GAAG4S,GAAG1jB,KAAK,KAAKhrE,KAAKgN,EAzK+F,SAAYhN,GAAG,OAAOA,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,QAAQ,MAAM/C,MAAM6Q,EAAE,IAAI9N,IAAK,CAyK7T+uF,CAAG9uF,GAAG+M,EAAE8uE,GAAG9uE,EAAEgiF,GAAGhkB,KAAK,KAAKhrE,KAAKA,EAAE8uF,iBAAiB7uF,EAAED,EAAE4uF,aAAa5hF,CAAC,CAAC,CAC9G,SAASgiF,GAAGhvF,GAAiB,GAAdmuF,IAAI,EAAEE,GAAGD,GAAG,EAAK,KAAO,GAAFnB,IAAM,MAAMhwF,MAAM6Q,EAAE,MAAM,IAAI7N,EAAED,EAAE4uF,aAAa,GAAGK,MAAMjvF,EAAE4uF,eAAe3uF,EAAE,OAAO,KAAK,IAAI+M,EAAEw8D,GAAGxpE,EAAEA,IAAIogB,GAAEiqE,GAAE,GAAG,GAAG,IAAIr9E,EAAE,OAAO,KAAK,IAAIC,EAAED,EAAM/Q,EAAEgxF,GAAEA,IAAG,GAAG,IAAI//E,EAAEgiF,KAAkC,IAA1B9uE,KAAIpgB,GAAGqqF,KAAIp9E,IAAEwgF,KAAK0B,GAAGnvF,EAAEiN,UAAUmiF,KAAK,KAAK,CAAC,MAAMhiF,GAAGiiF,GAAGrvF,EAAEoN,EAAE,CAA8D,GAApDovE,KAAKuQ,GAAG/wE,QAAQ9O,EAAE+/E,GAAEhxF,EAAE,OAAOixF,GAAEjgF,EAAE,GAAGmT,GAAE,KAAKiqE,GAAE,EAAEp9E,EAAEi3B,IAAM,KAAKopD,GAAGnD,IAAIgF,GAAGnvF,EAAE,QAAQ,GAAG,IAAIiN,EAAE,CAAyF,GAAxF,IAAIA,IAAIggF,IAAG,GAAGjtF,EAAEwnE,UAAUxnE,EAAEwnE,SAAQ,EAAG0Q,GAAGl4E,EAAEynE,gBAAwB,KAARz6D,EAAEg9D,GAAGhqE,MAAWiN,EAAEqiF,GAAGtvF,EAAEgN,KAAQ,IAAIC,EAAE,MAAMhN,EAAEotF,GAAG8B,GAAGnvF,EAAE,GAAGoqF,GAAGpqF,EAAEgN,GAAG2hF,GAAG3uF,EAAE07E,MAAKz7E,EAC3c,OAD6cD,EAAEuvF,aACrfvvF,EAAEgc,QAAQkpD,UAAUllE,EAAEwvF,cAAcxiF,EAASC,GAAG,KAAK,EAAE,KAAK,EAAE,MAAMhQ,MAAM6Q,EAAE,MAAM,KAAK,EACI,KAAK,EAAE2hF,GAAGzvF,GAAG,MADH,KAAK,EAAU,GAARoqF,GAAGpqF,EAAEgN,IAAS,SAAFA,KAAcA,GAAiB,IAAbC,EAAEy/E,GAAG,IAAIhR,MAAU,CAAC,GAAG,IAAIlS,GAAGxpE,EAAE,GAAG,MAAyB,KAAnB/D,EAAE+D,EAAE2pE,gBAAqB38D,KAAKA,EAAE,CAACgyE,KAAKh/E,EAAE4pE,aAAa5pE,EAAE2pE,eAAe1tE,EAAE,KAAK,CAAC+D,EAAE0vF,cAAc3X,GAAG0X,GAAGzkB,KAAK,KAAKhrE,GAAGiN,GAAG,KAAK,CAACwiF,GAAGzvF,GAAG,MAAM,KAAK,EAAU,GAARoqF,GAAGpqF,EAAEgN,IAAS,QAAFA,KAAaA,EAAE,MAAqB,IAAfC,EAAEjN,EAAEqqE,WAAepuE,GAAG,EAAE,EAAE+Q,GAAG,CAAC,IAAIG,EAAE,GAAG08D,GAAG78D,GAAGE,EAAE,GAAGC,GAAEA,EAAEF,EAAEE,IAAKlR,IAAIA,EAAEkR,GAAGH,IAAIE,CAAC,CAClZ,GADmZF,EAAE/Q,EAClZ,IAD4Z+Q,GAAG,KAAXA,EAAE0uE,KAAI1uE,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAClfA,EAAE,KAAK,KAAK8/E,GAAG9/E,EAAE,OAAOA,GAAU,CAAChN,EAAE0vF,cAAc3X,GAAG0X,GAAGzkB,KAAK,KAAKhrE,GAAGgN,GAAG,KAAK,CAACyiF,GAAGzvF,GAAG,MAAyB,QAAQ,MAAM/C,MAAM6Q,EAAE,MAAO,CAAW,OAAV6gF,GAAG3uF,EAAE07E,MAAY17E,EAAE4uF,eAAe3uF,EAAE+uF,GAAGhkB,KAAK,KAAKhrE,GAAG,IAAI,CAAC,SAASoqF,GAAGpqF,EAAEC,GAAuD,IAApDA,IAAIstF,GAAGttF,IAAIkqF,GAAGnqF,EAAE2pE,gBAAgB1pE,EAAED,EAAE4pE,cAAc3pE,EAAMD,EAAEA,EAAE6uF,gBAAgB,EAAE5uF,GAAG,CAAC,IAAI+M,EAAE,GAAG68D,GAAG5pE,GAAGgN,EAAE,GAAGD,EAAEhN,EAAEgN,IAAI,EAAE/M,IAAIgN,CAAC,CAAC,CAC5U,SAASyhF,GAAG1uF,GAAG,GAAG,KAAO,GAAFitF,IAAM,MAAMhwF,MAAM6Q,EAAE,MAAW,GAALmhF,KAAQjvF,IAAIogB,IAAG,KAAKpgB,EAAE0pE,aAAa2gB,IAAG,CAAC,IAAIpqF,EAAEoqF,GAAMr9E,EAAEsiF,GAAGtvF,EAAEC,GAAG,KAAKqtF,GAAGnD,MAAgBn9E,EAAEsiF,GAAGtvF,EAAfC,EAAEupE,GAAGxpE,EAAEC,IAAa,MAAgB+M,EAAEsiF,GAAGtvF,EAAfC,EAAEupE,GAAGxpE,EAAE,IAAgH,GAAnG,IAAIA,EAAEw8D,KAAK,IAAIxvD,IAAIigF,IAAG,GAAGjtF,EAAEwnE,UAAUxnE,EAAEwnE,SAAQ,EAAG0Q,GAAGl4E,EAAEynE,gBAAwB,KAARxnE,EAAE+pE,GAAGhqE,MAAWgN,EAAEsiF,GAAGtvF,EAAEC,KAAQ,IAAI+M,EAAE,MAAMA,EAAEqgF,GAAG8B,GAAGnvF,EAAE,GAAGoqF,GAAGpqF,EAAEC,GAAG0uF,GAAG3uF,EAAE07E,MAAK1uE,EAAuE,OAArEhN,EAAEuvF,aAAavvF,EAAEgc,QAAQkpD,UAAUllE,EAAEwvF,cAAcvvF,EAAEwvF,GAAGzvF,GAAG2uF,GAAG3uF,EAAE07E,MAAY,IAAI,CACvR,SAASiU,GAAG3vF,EAAEC,GAAG,IAAI+M,EAAEigF,GAAEA,IAAG,EAAE,IAAI,OAAOjtF,EAAEC,EAAE,CAAC,QAAY,KAAJgtF,GAAEjgF,KAAUygF,KAAK1R,KAAK,CAAC,CAAC,SAAS6T,GAAG5vF,EAAEC,GAAG,IAAI+M,EAAEigF,GAAEA,KAAI,EAAEA,IAAG,EAAE,IAAI,OAAOjtF,EAAEC,EAAE,CAAC,QAAY,KAAJgtF,GAAEjgF,KAAUygF,KAAK1R,KAAK,CAAC,CAAC,SAASiM,GAAGhoF,EAAEC,GAAG84E,GAAEqU,GAAGD,IAAIA,IAAIltF,EAAEqtF,IAAIrtF,CAAC,CAAC,SAASsqF,KAAK4C,GAAGC,GAAGpxE,QAAQ88D,GAAEsU,GAAG,CAC/V,SAAS+B,GAAGnvF,EAAEC,GAAGD,EAAEuvF,aAAa,KAAKvvF,EAAEwvF,cAAc,EAAE,IAAIxiF,EAAEhN,EAAE0vF,cAAiD,IAAlC,IAAI1iF,IAAIhN,EAAE0vF,eAAe,EAAE1X,GAAGhrE,IAAO,OAAOkgF,GAAE,IAAIlgF,EAAEkgF,GAAE/nB,OAAO,OAAOn4D,GAAG,CAAC,IAAIC,EAAED,EAAE,OAAOC,EAAEuvD,KAAK,KAAK,EAA6B,QAA3BvvD,EAAEA,EAAEhC,KAAKV,yBAA4B,IAAS0C,GAAGusE,KAAK,MAAM,KAAK,EAAEmI,KAAK7I,GAAEI,IAAGJ,GAAEG,IAAG4J,KAAK,MAAM,KAAK,EAAEhB,GAAG50E,GAAG,MAAM,KAAK,EAAE00E,KAAK,MAAM,KAAK,GAAc,KAAK,GAAG7I,GAAEloE,IAAG,MAAM,KAAK,GAAG6rE,GAAGxvE,GAAG,MAAM,KAAK,GAAG,KAAK,GAAGs9E,KAAKv9E,EAAEA,EAAEm4D,MAAM,CAAC/kD,GAAEpgB,EAAEktF,GAAEtM,GAAG5gF,EAAEgc,QAAQ,MAAMquE,GAAE8C,GAAGG,GAAGrtF,EAAEikC,GAAE,EAAEmpD,GAAG,KAAKE,GAAGpD,GAAG7L,GAAG,CAAC,CACxc,SAAS+Q,GAAGrvF,EAAEC,GAAG,OAAE,CAAC,IAAI+M,EAAEkgF,GAAE,IAAuB,GAAnB1Q,KAAKuG,GAAG/mE,QAAQ6nE,GAAMR,GAAG,CAAC,IAAI,IAAIp2E,EAAEk2E,GAAE9d,cAAc,OAAOp4D,GAAG,CAAC,IAAIhR,EAAEgR,EAAE+2E,MAAM,OAAO/nF,IAAIA,EAAE2hF,QAAQ,MAAM3wE,EAAEA,EAAEoE,IAAI,CAACgyE,IAAG,CAAE,CAAuC,GAAtCH,GAAG,EAAE/+C,GAAEi/C,GAAED,GAAE,KAAKG,IAAG,EAAG0J,GAAGhxE,QAAQ,KAAQ,OAAOhP,GAAG,OAAOA,EAAEm4D,OAAO,CAACjhC,GAAE,EAAEmpD,GAAGptF,EAAEitF,GAAE,KAAK,KAAK,CAACltF,EAAE,CAAC,IAAIkN,EAAElN,EAAEmN,EAAEH,EAAEm4D,OAAO/3D,EAAEJ,EAAE5O,EAAE6B,EAAoD,GAAlDA,EAAEoqF,GAAEj9E,EAAE+W,OAAO,KAAK/W,EAAEuzE,YAAYvzE,EAAEqzE,WAAW,KAAQ,OAAOriF,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEoT,KAAK,CAAC,IAAInE,EAAEjP,EAAE,GAAG,KAAY,EAAPgP,EAAE0zE,MAAQ,CAAC,IAAIziF,EAAE+O,EAAE83D,UAAU7mE,GAAG+O,EAAEmwE,YAAYl/E,EAAEk/E,YAAYnwE,EAAEi4D,cAAchnE,EAAEgnE,cAAcj4D,EAAE4vE,MAAM3+E,EAAE2+E,QACpf5vE,EAAEmwE,YAAY,KAAKnwE,EAAEi4D,cAAc,KAAK,CAAC,IAAIn3D,EAAE,KAAe,EAAV0C,GAAEoL,SAAWzO,EAAEJ,EAAE,EAAE,CAAC,IAAIkxE,EAAE,GAAGA,EAAE,KAAK9wE,EAAEivD,IAAI,CAAC,IAAI3uD,EAAEN,EAAE83D,cAAc,GAAG,OAAOx3D,EAAEwwE,EAAE,OAAOxwE,EAAEy3D,eAAqB,CAAC,IAAI13D,EAAEL,EAAEw0E,cAAc1D,OAAE,IAASzwE,EAAEijC,YAAY,IAAKjjC,EAAEo7E,6BAA8B96E,EAAO,CAAC,CAAC,GAAGmwE,EAAE,CAAC,IAAItwE,EAAER,EAAEgwE,YAAY,GAAG,OAAOxvE,EAAE,CAAC,IAAIC,EAAE,IAAIkrD,IAAIlrD,EAAEyE,IAAIpF,GAAGE,EAAEgwE,YAAYvvE,CAAC,MAAMD,EAAE0E,IAAIpF,GAAG,GAAG,KAAY,EAAPE,EAAEuzE,MAAQ,CAA2C,GAA1CvzE,EAAE4W,OAAO,GAAG/W,EAAE+W,OAAO,MAAM/W,EAAE+W,QAAQ,KAAQ,IAAI/W,EAAEovD,IAAI,GAAG,OAAOpvD,EAAE83D,UAAU93D,EAAEovD,IAAI,OAAO,CAAC,IAAI9uD,EAAEowE,IAAI,EAAE,GAAGpwE,EAAE8uD,IAAI,EAAE0hB,GAAG9wE,EAAEM,EAAE,CAACN,EAAE4vE,OAAO,EAAE,MAAMh9E,CAAC,CAAC5B,OAC5f,EAAOgP,EAAEnN,EAAE,IAAIuN,EAAEN,EAAE2iF,UAA+G,GAArG,OAAOriF,GAAGA,EAAEN,EAAE2iF,UAAU,IAAIlF,GAAGvsF,EAAE,IAAI86D,IAAI1rD,EAAE8uD,IAAIjvD,EAAEjP,SAAgB,KAAXA,EAAEoP,EAAEkK,IAAIrK,MAAgBjP,EAAE,IAAI86D,IAAI1rD,EAAE8uD,IAAIjvD,EAAEjP,KAASA,EAAEy8C,IAAIztC,GAAG,CAAChP,EAAEqU,IAAIrF,GAAG,IAAIO,EAAEmiF,GAAG9kB,KAAK,KAAK99D,EAAEG,EAAED,GAAGC,EAAEmE,KAAK7D,EAAEA,EAAE,CAACJ,EAAE4W,OAAO,KAAK5W,EAAEyvE,MAAM/8E,EAAE,MAAMD,CAAC,CAACuN,EAAEA,EAAE43D,MAAM,OAAO,OAAO53D,GAAGnP,EAAEnB,OAAOy/D,EAAGtvD,EAAEnC,OAAO,qBAAqB,wLAAwL,CAAC,IAAIi5B,KAAIA,GAAE,GAAG9lC,EAAEqsF,GAAGrsF,EAAEgP,GAAGG,EACpfJ,EAAE,EAAE,CAAC,OAAOI,EAAEivD,KAAK,KAAK,EAAEtvD,EAAE9O,EAAEmP,EAAE4W,OAAO,KAAKlkB,IAAIA,EAAEsN,EAAEyvE,OAAO/8E,EAAkBk+E,GAAG5wE,EAAbs9E,GAAGt9E,EAAEL,EAAEjN,IAAW,MAAMD,EAAE,KAAK,EAAEkN,EAAE9O,EAAE,IAAI+4E,EAAE5pE,EAAEtC,KAAKmsE,EAAE7pE,EAAEo2D,UAAU,GAAG,KAAa,GAARp2D,EAAE4W,SAAY,oBAAoBgzD,EAAEtsE,0BAA0B,OAAOusE,GAAG,oBAAoBA,EAAE6T,oBAAoB,OAAOC,KAAKA,GAAGrwC,IAAIu8B,KAAK,CAAC7pE,EAAE4W,OAAO,KAAKlkB,IAAIA,EAAEsN,EAAEyvE,OAAO/8E,EAAkBk+E,GAAG5wE,EAAby9E,GAAGz9E,EAAEL,EAAEjN,IAAW,MAAMD,CAAC,EAAEuN,EAAEA,EAAE43D,MAAM,OAAO,OAAO53D,EAAE,CAACwiF,GAAG/iF,EAAE,CAAC,MAAMgjF,GAAI/vF,EAAE+vF,EAAG9C,KAAIlgF,GAAG,OAAOA,IAAIkgF,GAAElgF,EAAEA,EAAEm4D,QAAQ,QAAQ,CAAC,KAAK,CAAS,CAC7b,SAAS+pB,KAAK,IAAIlvF,EAAE+sF,GAAG/wE,QAAsB,OAAd+wE,GAAG/wE,QAAQ6nE,GAAU,OAAO7jF,EAAE6jF,GAAG7jF,CAAC,CAAC,SAASsvF,GAAGtvF,EAAEC,GAAG,IAAI+M,EAAEigF,GAAEA,IAAG,GAAG,IAAIhgF,EAAEiiF,KAA2B,IAAtB9uE,KAAIpgB,GAAGqqF,KAAIpqF,GAAGkvF,GAAGnvF,EAAEC,SAAUgwF,KAAK,KAAK,CAAC,MAAMh0F,GAAGozF,GAAGrvF,EAAE/D,EAAE,CAAgC,GAAtBugF,KAAKyQ,GAAEjgF,EAAE+/E,GAAG/wE,QAAQ/O,EAAK,OAAOigF,GAAE,MAAMjwF,MAAM6Q,EAAE,MAAiB,OAAXsS,GAAE,KAAKiqE,GAAE,EAASnmD,EAAC,CAAC,SAAS+rD,KAAK,KAAK,OAAO/C,IAAG9nD,GAAG8nD,GAAE,CAAC,SAASkC,KAAK,KAAK,OAAOlC,KAAI7S,MAAMj1C,GAAG8nD,GAAE,CAAC,SAAS9nD,GAAGplC,GAAG,IAAIC,EAAEytF,GAAG1tF,EAAEklE,UAAUllE,EAAEmtF,IAAIntF,EAAE+hF,cAAc/hF,EAAEuiF,aAAa,OAAOtiF,EAAE8vF,GAAG/vF,GAAGktF,GAAEjtF,EAAE+sF,GAAGhxE,QAAQ,IAAI,CAChb,SAAS+zE,GAAG/vF,GAAG,IAAIC,EAAED,EAAE,EAAE,CAAC,IAAIgN,EAAE/M,EAAEilE,UAAqB,GAAXllE,EAAEC,EAAEklE,OAAU,KAAa,KAARllE,EAAEkkB,OAAY,CAAc,GAAG,QAAhBnX,EAAE+8E,GAAG/8E,EAAE/M,EAAEktF,KAAqB,YAAJD,GAAElgF,GAAa,GAAG,MAAPA,EAAE/M,GAAYu8D,KAAK,KAAKxvD,EAAEwvD,KAAK,OAAOxvD,EAAEq4D,eAAe,KAAQ,WAAH8nB,KAAgB,KAAY,EAAPngF,EAAE8zE,MAAQ,CAAC,IAAI,IAAI7zE,EAAE,EAAEhR,EAAE+Q,EAAEupC,MAAM,OAAOt6C,GAAGgR,GAAGhR,EAAE+gF,MAAM/gF,EAAE2gF,WAAW3gF,EAAEA,EAAEwpE,QAAQz4D,EAAE4vE,WAAW3vE,CAAC,CAAC,OAAOjN,GAAG,KAAa,KAARA,EAAEmkB,SAAc,OAAOnkB,EAAE2gF,cAAc3gF,EAAE2gF,YAAY1gF,EAAE0gF,aAAa,OAAO1gF,EAAEwgF,aAAa,OAAOzgF,EAAEygF,aAAazgF,EAAEygF,WAAWC,WAAWzgF,EAAE0gF,aAAa3gF,EAAEygF,WAAWxgF,EAAEwgF,YAAY,EAAExgF,EAAEkkB,QAAQ,OAC/enkB,EAAEygF,WAAWzgF,EAAEygF,WAAWC,WAAWzgF,EAAED,EAAE2gF,YAAY1gF,EAAED,EAAEygF,WAAWxgF,GAAG,KAAK,CAAS,GAAG,QAAX+M,EAAEw9E,GAAGvqF,IAAkC,OAAlB+M,EAAEmX,OAAO,UAAK+oE,GAAElgF,GAAS,OAAOhN,IAAIA,EAAE2gF,YAAY3gF,EAAEygF,WAAW,KAAKzgF,EAAEmkB,OAAO,KAAK,CAAa,GAAG,QAAflkB,EAAEA,EAAEwlE,SAAyB,YAAJynB,GAAEjtF,GAASitF,GAAEjtF,EAAED,CAAC,OAAO,OAAOC,GAAG,IAAIikC,KAAIA,GAAE,EAAE,CAAC,SAASurD,GAAGzvF,GAAG,IAAIC,EAAE07E,KAA8B,OAAzBE,GAAG,GAAGqU,GAAGllB,KAAK,KAAKhrE,EAAEC,IAAW,IAAI,CAC1T,SAASiwF,GAAGlwF,EAAEC,GAAG,GAAGgvF,WAAW,OAAOrB,IAAI,GAAG,KAAO,GAAFX,IAAM,MAAMhwF,MAAM6Q,EAAE,MAAM,IAAId,EAAEhN,EAAEuvF,aAAa,GAAG,OAAOviF,EAAE,OAAO,KAA2C,GAAtChN,EAAEuvF,aAAa,KAAKvvF,EAAEwvF,cAAc,EAAKxiF,IAAIhN,EAAEgc,QAAQ,MAAM/e,MAAM6Q,EAAE,MAAM9N,EAAE4uF,aAAa,KAAK,IAAI3hF,EAAED,EAAEgwE,MAAMhwE,EAAE4vE,WAAW3gF,EAAEgR,EAAEC,EAAElN,EAAEypE,cAAcxtE,EAAE+D,EAAEypE,aAAaxtE,EAAE+D,EAAE2pE,eAAe,EAAE3pE,EAAE4pE,YAAY,EAAE5pE,EAAE0pE,cAAcztE,EAAE+D,EAAE6kF,kBAAkB5oF,EAAE+D,EAAE8pE,gBAAgB7tE,EAAEA,EAAE+D,EAAE+pE,cAAc,IAAI,IAAI58D,EAAEnN,EAAEqqE,WAAWj9D,EAAEpN,EAAE6uF,gBAAgB,EAAE3hF,GAAG,CAAC,IAAI9O,EAAE,GAAGyrE,GAAG38D,GAAGG,EAAE,GAAGjP,EAAEnC,EAAEmC,GAAG,EAAE+O,EAAE/O,IAAI,EAAEgP,EAAEhP,IAAI,EAAE8O,IAAIG,CAAC,CACpV,GADqV,OACjf2gF,IAAI,KAAO,GAAF/gF,IAAO+gF,GAAGnzC,IAAI76C,IAAIguF,GAAGhnB,OAAOhnE,GAAGA,IAAIogB,KAAI8sE,GAAE9sE,GAAE,KAAKiqE,GAAE,GAAG,EAAEr9E,EAAEmX,MAAM,OAAOnX,EAAEyzE,YAAYzzE,EAAEyzE,WAAWC,WAAW1zE,EAAEC,EAAED,EAAE2zE,aAAa1zE,EAAED,EAAEC,EAAED,EAAE2zE,YAAe,OAAO1zE,EAAE,CAAwC,GAAvChR,EAAEgxF,GAAEA,IAAG,GAAGD,GAAGhxE,QAAQ,KAAKy7D,GAAG5M,GAAaoK,GAAV9nE,EAAE4nE,MAAc,CAAC,GAAG,mBAAmB5nE,EAAEC,EAAE,CAACoJ,MAAMrJ,EAAEsoE,eAAeh/D,IAAItJ,EAAEuoE,mBAAmB11E,EAAE,GAAGoN,GAAGA,EAAED,EAAEg9B,gBAAgB/8B,EAAEmmC,aAAa/2C,QAAQ6Q,EAAED,EAAElS,cAAckS,EAAElS,iBAAiB,IAAImS,EAAE8iF,WAAW,CAAC/iF,EAAEC,EAAEsoE,WAAWzoE,EAAEG,EAAEuoE,aAAax3E,EAAEiP,EAAEwoE,UAAUxoE,EAAEA,EAAEyoE,YAAY,IAAI1oE,EAAEkiC,SAASlxC,EAAEkxC,QAAQ,CAAC,MAAM0gD,GAAI5iF,EAAE,KACnf,MAAMpN,CAAC,CAAC,IAAI3B,EAAE,EAAE6P,GAAG,EAAEX,GAAG,EAAE8wE,EAAE,EAAExwE,EAAE,EAAED,EAAET,EAAEY,EAAE,KAAK9N,EAAE,OAAO,CAAC,IAAI,IAAI+N,EAAKJ,IAAIR,GAAG,IAAIF,GAAG,IAAIU,EAAE0hC,WAAWphC,EAAE7P,EAAE6O,GAAGU,IAAIxP,GAAG,IAAIiP,GAAG,IAAIO,EAAE0hC,WAAW/hC,EAAElP,EAAEgP,GAAG,IAAIO,EAAE0hC,WAAWjxC,GAAGuP,EAAE6xD,UAAUnhE,QAAW,QAAQ0P,EAAEJ,EAAEq4B,aAAkBl4B,EAAEH,EAAEA,EAAEI,EAAE,OAAO,CAAC,GAAGJ,IAAIT,EAAE,MAAMlN,EAA8C,GAA5C8N,IAAIX,KAAKixE,IAAInxE,IAAIgB,EAAE7P,GAAG0P,IAAI3P,KAAKyP,IAAIR,IAAIE,EAAElP,GAAM,QAAQ2P,EAAEJ,EAAEogC,aAAa,MAAUjgC,GAAJH,EAAEG,GAAMu8B,UAAU,CAAC18B,EAAEI,CAAC,CAACZ,GAAG,IAAIc,IAAI,IAAIX,EAAE,KAAK,CAACiJ,MAAMtI,EAAEuI,IAAIlJ,EAAE,MAAMH,EAAE,KAAKA,EAAEA,GAAG,CAACoJ,MAAM,EAAEC,IAAI,EAAE,MAAMrJ,EAAE,KAAKsqE,GAAG,CAAC0Y,YAAYjjF,EAAEkjF,eAAejjF,GAAGy9D,IAAG,EAAGyjB,GAAG,KAAKC,IAAG,EAAGluE,GAAEpT,EAAE,OAAOqjF,IAAI,CAAC,MAAMN,GAAI,GAAG,OACvgB3vE,GAAE,MAAMpjB,MAAM6Q,EAAE,MAAMy9E,GAAGlrE,GAAE2vE,GAAI3vE,GAAEA,GAAEqgE,UAAU,QAAO,OAAOrgE,IAAGiuE,GAAG,KAAKjuE,GAAEpT,EAAE,OAAO,IAAIE,EAAEnN,EAAE,OAAOqgB,IAAG,CAAC,IAAI3S,EAAE2S,GAAE8D,MAA+B,GAAvB,GAAFzW,GAAM6xD,GAAGl/C,GAAEsjD,UAAU,IAAS,IAAFj2D,EAAM,CAAC,IAAIF,EAAE6S,GAAE6kD,UAAU,GAAG,OAAO13D,EAAE,CAAC,IAAIG,EAAEH,EAAE4yE,IAAI,OAAOzyE,IAAI,oBAAoBA,EAAEA,EAAE,MAAMA,EAAEqO,QAAQ,KAAK,CAAC,CAAC,OAAS,KAAFtO,GAAQ,KAAK,EAAE2+E,GAAGhsE,IAAGA,GAAE8D,QAAQ,EAAE,MAAM,KAAK,EAAEkoE,GAAGhsE,IAAGA,GAAE8D,QAAQ,EAAEsoE,GAAGpsE,GAAE6kD,UAAU7kD,IAAG,MAAM,KAAK,KAAKA,GAAE8D,QAAQ,KAAK,MAAM,KAAK,KAAK9D,GAAE8D,QAAQ,KAAKsoE,GAAGpsE,GAAE6kD,UAAU7kD,IAAG,MAAM,KAAK,EAAEosE,GAAGpsE,GAAE6kD,UAAU7kD,IAAG,MAAM,KAAK,EAAM6rE,GAAG/+E,EAAPC,EAAEiT,IAAU,IAAI62D,EAAE9pE,EAAE83D,UAAUinB,GAAG/+E,GAAG,OACnf8pE,GAAGiV,GAAGjV,GAAG72D,GAAEA,GAAEqgE,UAAU,CAAC,CAAC,MAAMsP,GAAI,GAAG,OAAO3vE,GAAE,MAAMpjB,MAAM6Q,EAAE,MAAMy9E,GAAGlrE,GAAE2vE,GAAI3vE,GAAEA,GAAEqgE,UAAU,QAAO,OAAOrgE,IAAkD,GAA/C1S,EAAE+pE,GAAGlqE,EAAEunE,KAAKrnE,EAAEC,EAAEyiF,YAAYjjF,EAAEQ,EAAE0iF,eAAkB7iF,IAAIE,GAAGA,GAAGA,EAAEy8B,eAAe0qC,GAAGnnE,EAAEy8B,cAAc32B,gBAAgB9F,GAAG,CAAC,OAAOP,GAAG8nE,GAAGvnE,KAAKF,EAAEL,EAAEqJ,WAAc,KAAR7I,EAAER,EAAEsJ,OAAiB9I,EAAEH,GAAG,mBAAmBE,GAAGA,EAAE+nE,eAAejoE,EAAEE,EAAEgoE,aAAatwE,KAAKmE,IAAIoE,EAAED,EAAEqD,MAAMzS,UAAUqP,GAAGH,EAAEE,EAAEy8B,eAAenvC,WAAWwS,EAAE+lC,aAAa/2C,QAAStB,eAAeyS,EAAEA,EAAEzS,eAAekS,EAAEM,EAAEtS,YAAYkD,OAAO44E,EAAE9xE,KAAKmE,IAAI4D,EAAEqJ,MAAMpJ,GAAGD,OAAE,IACpfA,EAAEsJ,IAAIygE,EAAE9xE,KAAKmE,IAAI4D,EAAEsJ,IAAIrJ,IAAIO,EAAE4iF,QAAQrZ,EAAE/pE,IAAIC,EAAED,EAAEA,EAAE+pE,EAAEA,EAAE9pE,GAAGA,EAAEwnE,GAAGlnE,EAAEwpE,GAAGhqE,EAAE0nE,GAAGlnE,EAAEP,GAAGC,GAAGF,IAAI,IAAIS,EAAEwiF,YAAYxiF,EAAEgoE,aAAavoE,EAAEiG,MAAM1F,EAAEioE,eAAexoE,EAAE+4B,QAAQx4B,EAAEkoE,YAAY3oE,EAAEmG,MAAM1F,EAAEmoE,cAAc5oE,EAAEi5B,WAAU34B,EAAEA,EAAEvS,eAAgBorC,SAASj5B,EAAEiG,KAAKjG,EAAE+4B,QAAQx4B,EAAEhQ,kBAAkBu5E,EAAE/pE,GAAGQ,EAAE5Q,SAASyQ,GAAGG,EAAE4iF,OAAOrjF,EAAEmG,KAAKnG,EAAEi5B,UAAU34B,EAAE84B,OAAOp5B,EAAEmG,KAAKnG,EAAEi5B,QAAQx4B,EAAE5Q,SAASyQ,OAAQA,EAAE,GAAG,IAAIG,EAAED,EAAEC,EAAEA,EAAE28B,YAAY,IAAI38B,EAAE2hC,UAAU9hC,EAAEtK,KAAK,CAAC0+B,QAAQj0B,EAAE2E,KAAK3E,EAAE6pC,WAAW/7C,IAAIkS,EAAE4pC,YAAmD,IAAvC,oBAAoB7pC,EAAEm+E,OAAOn+E,EAAEm+E,QAAYn+E,EACrf,EAAEA,EAAEF,EAAElP,OAAOoP,KAAIC,EAAEH,EAAEE,IAAKk0B,QAAQ4V,WAAW7pC,EAAE2E,KAAK3E,EAAEi0B,QAAQ2V,UAAU5pC,EAAElS,GAAG,CAACovE,KAAK4M,GAAGC,GAAGD,GAAG,KAAKz3E,EAAEgc,QAAQhP,EAAEqT,GAAEpT,EAAE,OAAO,IAAIS,EAAE1N,EAAE,OAAOqgB,IAAG,CAAC,IAAI82D,EAAE92D,GAAE8D,MAAgC,GAAxB,GAAFgzD,GAAMuU,GAAGh+E,EAAE2S,GAAE6kD,UAAU7kD,IAAQ,IAAF82D,EAAM,CAAC3pE,OAAE,EAAO,IAAI4pE,EAAE/2D,GAAE+/D,IAAI,GAAG,OAAOhJ,EAAE,CAAC,IAAInzC,EAAE5jB,GAAEsjD,UAAiBtjD,GAAEm8C,IAA8BhvD,EAAEy2B,EAAE,oBAAoBmzC,EAAEA,EAAE5pE,GAAG4pE,EAAEp7D,QAAQxO,CAAC,CAAC,CAAC6S,GAAEA,GAAEqgE,UAAU,CAAC,CAAC,MAAMsP,GAAI,GAAG,OAAO3vE,GAAE,MAAMpjB,MAAM6Q,EAAE,MAAMy9E,GAAGlrE,GAAE2vE,GAAI3vE,GAAEA,GAAEqgE,UAAU,QAAO,OAAOrgE,IAAGA,GAAE,KAAKg7D,KAAK4R,GAAEhxF,CAAC,MAAM+D,EAAEgc,QAAQhP,EAAE,GAAG2gF,GAAGA,IAAG,EAAGC,GAAG5tF,EAAE6tF,GAAG5tF,OAAO,IAAIogB,GAAEpT,EAAE,OAAOoT,IAAGpgB,EACpfogB,GAAEqgE,WAAWrgE,GAAEqgE,WAAW,KAAa,EAARrgE,GAAE8D,SAAUgzD,EAAE92D,IAAIolD,QAAQ,KAAK0R,EAAExT,UAAU,MAAMtjD,GAAEpgB,EAAqF,GAAlE,KAAjBgN,EAAEjN,EAAEypE,gBAAqByhB,GAAG,MAAM,IAAIj+E,EAAEjN,IAAIkuF,GAAGD,MAAMA,GAAG,EAAEC,GAAGluF,GAAGiuF,GAAG,EAAEjhF,EAAEA,EAAE22D,UAAaqW,IAAI,oBAAoBA,GAAGwW,kBAAkB,IAAIxW,GAAGwW,kBAAkBzW,GAAG/sE,OAAE,EAAO,MAAsB,GAAhBA,EAAEgP,QAAQmI,OAAU,CAAC,MAAM6rE,GAAI,CAAW,GAAVrB,GAAG3uF,EAAE07E,MAAQoP,GAAG,MAAMA,IAAG,EAAG9qF,EAAE+qF,GAAGA,GAAG,KAAK/qF,EAAE,OAAG,KAAO,EAAFitF,KAAiBlR,KAAL,IAAqB,CACtX,SAASuU,KAAK,KAAK,OAAOjwE,IAAG,CAAC,IAAIrgB,EAAEqgB,GAAE6kD,UAAUqpB,IAAI,OAAOD,KAAK,KAAa,EAARjuE,GAAE8D,OAASuhD,GAAGrlD,GAAEiuE,MAAMC,IAAG,GAAI,KAAKluE,GAAEm8C,KAAKqwB,GAAG7sF,EAAEqgB,KAAIqlD,GAAGrlD,GAAEiuE,MAAMC,IAAG,IAAK,IAAItuF,EAAEogB,GAAE8D,MAAM,KAAO,IAAFlkB,IAAQurF,GAAGxrF,EAAEqgB,IAAG,KAAO,IAAFpgB,IAAQ0tF,KAAKA,IAAG,EAAG7R,GAAG,IAAG,WAAgB,OAALmT,KAAY,IAAI,KAAI5uE,GAAEA,GAAEqgE,UAAU,CAAC,CAAC,SAASuO,KAAK,GAAG,KAAKpB,GAAG,CAAC,IAAI7tF,EAAE,GAAG6tF,GAAG,GAAGA,GAAS,OAANA,GAAG,GAAUhS,GAAG77E,EAAEywF,GAAG,CAAC,OAAM,CAAE,CAAC,SAAS7E,GAAG5rF,EAAEC,GAAG6tF,GAAG5qF,KAAKjD,EAAED,GAAG2tF,KAAKA,IAAG,EAAG7R,GAAG,IAAG,WAAgB,OAALmT,KAAY,IAAI,IAAG,CAAC,SAAStD,GAAG3rF,EAAEC,GAAG8tF,GAAG7qF,KAAKjD,EAAED,GAAG2tF,KAAKA,IAAG,EAAG7R,GAAG,IAAG,WAAgB,OAALmT,KAAY,IAAI,IAAG,CAChe,SAASwB,KAAK,GAAG,OAAO7C,GAAG,OAAM,EAAG,IAAI5tF,EAAE4tF,GAAW,GAARA,GAAG,KAAQ,KAAO,GAAFX,IAAM,MAAMhwF,MAAM6Q,EAAE,MAAM,IAAI7N,EAAEgtF,GAAEA,IAAG,GAAG,IAAIjgF,EAAE+gF,GAAGA,GAAG,GAAG,IAAI,IAAI9gF,EAAE,EAAEA,EAAED,EAAE1O,OAAO2O,GAAG,EAAE,CAAC,IAAIhR,EAAE+Q,EAAEC,GAAGC,EAAEF,EAAEC,EAAE,GAAGE,EAAElR,EAAEs8C,QAAyB,GAAjBt8C,EAAEs8C,aAAQ,EAAU,oBAAoBprC,EAAE,IAAIA,GAAG,CAAC,MAAM/O,GAAG,GAAG,OAAO8O,EAAE,MAAMjQ,MAAM6Q,EAAE,MAAMy9E,GAAGr+E,EAAE9O,EAAE,CAAC,CAAY,IAAX4O,EAAE8gF,GAAGA,GAAG,GAAO7gF,EAAE,EAAEA,EAAED,EAAE1O,OAAO2O,GAAG,EAAE,CAAChR,EAAE+Q,EAAEC,GAAGC,EAAEF,EAAEC,EAAE,GAAG,IAAI,IAAIG,EAAEnR,EAAEqU,OAAOrU,EAAEs8C,QAAQnrC,GAAG,CAAC,MAAMhP,GAAG,GAAG,OAAO8O,EAAE,MAAMjQ,MAAM6Q,EAAE,MAAMy9E,GAAGr+E,EAAE9O,EAAE,CAAC,CAAC,IAAIgP,EAAEpN,EAAEgc,QAAQ2kE,YAAY,OAAOvzE,GAAGpN,EAAEoN,EAAEszE,WAAWtzE,EAAEszE,WAAW,KAAa,EAARtzE,EAAE+W,QAAU/W,EAAEq4D,QACjf,KAAKr4D,EAAEu2D,UAAU,MAAMv2D,EAAEpN,EAAW,OAATitF,GAAEhtF,EAAE87E,MAAW,CAAE,CAAC,SAAS2U,GAAG1wF,EAAEC,EAAE+M,GAAyBkxE,GAAGl+E,EAAfC,EAAE4qF,GAAG7qF,EAAfC,EAAEwqF,GAAGz9E,EAAE/M,GAAY,IAAWA,EAAE++E,KAAe,QAAVh/E,EAAEyuF,GAAGzuF,EAAE,MAAcoqE,GAAGpqE,EAAE,EAAEC,GAAG0uF,GAAG3uF,EAAEC,GAAG,CAC5I,SAASsrF,GAAGvrF,EAAEC,GAAG,GAAG,IAAID,EAAEw8D,IAAIk0B,GAAG1wF,EAAEA,EAAEC,QAAQ,IAAI,IAAI+M,EAAEhN,EAAEmlE,OAAO,OAAOn4D,GAAG,CAAC,GAAG,IAAIA,EAAEwvD,IAAI,CAACk0B,GAAG1jF,EAAEhN,EAAEC,GAAG,KAAK,CAAM,GAAG,IAAI+M,EAAEwvD,IAAI,CAAC,IAAIvvD,EAAED,EAAE22D,UAAU,GAAG,oBAAoB32D,EAAE/B,KAAKJ,0BAA0B,oBAAoBoC,EAAEg+E,oBAAoB,OAAOC,KAAKA,GAAGrwC,IAAI5tC,IAAI,CAAW,IAAIhR,EAAE+uF,GAAGh+E,EAAnBhN,EAAEyqF,GAAGxqF,EAAED,GAAgB,GAA4B,GAAzBk+E,GAAGlxE,EAAE/Q,GAAGA,EAAE+iF,KAAkB,QAAbhyE,EAAEyhF,GAAGzhF,EAAE,IAAeo9D,GAAGp9D,EAAE,EAAE/Q,GAAG0yF,GAAG3hF,EAAE/Q,QAAQ,GAAG,oBAAoBgR,EAAEg+E,oBAAoB,OAAOC,KAAKA,GAAGrwC,IAAI5tC,IAAI,IAAIA,EAAEg+E,kBAAkBhrF,EAAED,EAAE,CAAC,MAAMkN,GAAG,CAAC,KAAK,CAAC,CAACF,EAAEA,EAAEm4D,MAAM,CAAC,CAC3d,SAAS2qB,GAAG9vF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEjN,EAAE6vF,UAAU,OAAO5iF,GAAGA,EAAE+5D,OAAO/mE,GAAGA,EAAE++E,KAAKh/E,EAAE4pE,aAAa5pE,EAAE2pE,eAAe38D,EAAEoT,KAAIpgB,IAAIqqF,GAAEr9E,KAAKA,IAAI,IAAIk3B,IAAG,IAAIA,KAAM,SAAFmmD,MAAcA,IAAG,IAAI3O,KAAIgR,GAAGyC,GAAGnvF,EAAE,GAAGutF,IAAIvgF,GAAG2hF,GAAG3uF,EAAEC,EAAE,CAAC,SAAS2sF,GAAG5sF,EAAEC,GAAG,IAAI+M,EAAEhN,EAAE2jE,UAAU,OAAO32D,GAAGA,EAAEg6D,OAAO/mE,GAAO,KAAJA,EAAE,KAAmB,KAAO,GAAhBA,EAAED,EAAE8gF,OAAe7gF,EAAE,EAAE,KAAO,EAAFA,GAAKA,EAAE,KAAK07E,KAAK,EAAE,GAAG,IAAIyS,KAAKA,GAAGd,IAAuB,KAAnBrtF,EAAEiqE,GAAG,UAAUkkB,OAAYnuF,EAAE,WAAW+M,EAAEgyE,KAAe,QAAVh/E,EAAEyuF,GAAGzuF,EAAEC,MAAcmqE,GAAGpqE,EAAEC,EAAE+M,GAAG2hF,GAAG3uF,EAAEgN,GAAG,CAUpZ,SAAS2jF,GAAG3wF,EAAEC,EAAE+M,EAAEC,GAAGmD,KAAKosD,IAAIx8D,EAAEoQ,KAAK1P,IAAIsM,EAAEoD,KAAKq1D,QAAQr1D,KAAKmmC,MAAMnmC,KAAK+0D,OAAO/0D,KAAKuzD,UAAUvzD,KAAKnF,KAAKmF,KAAK0xB,YAAY,KAAK1xB,KAAKlS,MAAM,EAAEkS,KAAKgwE,IAAI,KAAKhwE,KAAKmyE,aAAatiF,EAAEmQ,KAAK0sE,aAAa1sE,KAAKi1D,cAAcj1D,KAAKmtE,YAAYntE,KAAK2xE,cAAc,KAAK3xE,KAAK0wE,KAAK7zE,EAAEmD,KAAK+T,MAAM,EAAE/T,KAAKqwE,WAAWrwE,KAAKuwE,YAAYvwE,KAAKswE,WAAW,KAAKtwE,KAAKwsE,WAAWxsE,KAAK4sE,MAAM,EAAE5sE,KAAK80D,UAAU,IAAI,CAAC,SAASmd,GAAGriF,EAAEC,EAAE+M,EAAEC,GAAG,OAAO,IAAI0jF,GAAG3wF,EAAEC,EAAE+M,EAAEC,EAAE,CAAC,SAAS06E,GAAG3nF,GAAiB,UAAdA,EAAEA,EAAEH,aAAuBG,EAAE4wF,iBAAiB,CAEte,SAAShQ,GAAG5gF,EAAEC,GAAG,IAAI+M,EAAEhN,EAAEklE,UACuB,OADb,OAAOl4D,IAAGA,EAAEq1E,GAAGriF,EAAEw8D,IAAIv8D,EAAED,EAAEU,IAAIV,EAAE8gF,OAAQh/C,YAAY9hC,EAAE8hC,YAAY90B,EAAE/B,KAAKjL,EAAEiL,KAAK+B,EAAE22D,UAAU3jE,EAAE2jE,UAAU32D,EAAEk4D,UAAUllE,EAAEA,EAAEklE,UAAUl4D,IAAIA,EAAEu1E,aAAatiF,EAAE+M,EAAE/B,KAAKjL,EAAEiL,KAAK+B,EAAEmX,MAAM,EAAEnX,EAAE0zE,WAAW,KAAK1zE,EAAE2zE,YAAY,KAAK3zE,EAAEyzE,WAAW,MAAMzzE,EAAE4vE,WAAW58E,EAAE48E,WAAW5vE,EAAEgwE,MAAMh9E,EAAEg9E,MAAMhwE,EAAEupC,MAAMv2C,EAAEu2C,MAAMvpC,EAAE+0E,cAAc/hF,EAAE+hF,cAAc/0E,EAAEq4D,cAAcrlE,EAAEqlE,cAAcr4D,EAAEuwE,YAAYv9E,EAAEu9E,YAAYt9E,EAAED,EAAE88E,aAAa9vE,EAAE8vE,aAAa,OAAO78E,EAAE,KAAK,CAAC+8E,MAAM/8E,EAAE+8E,MAAMD,aAAa98E,EAAE88E,cAC3e/vE,EAAEy4D,QAAQzlE,EAAEylE,QAAQz4D,EAAE9O,MAAM8B,EAAE9B,MAAM8O,EAAEozE,IAAIpgF,EAAEogF,IAAWpzE,CAAC,CACxD,SAAS+zE,GAAG/gF,EAAEC,EAAE+M,EAAEC,EAAEhR,EAAEiR,GAAG,IAAIC,EAAE,EAAM,GAAJF,EAAEjN,EAAK,oBAAoBA,EAAE2nF,GAAG3nF,KAAKmN,EAAE,QAAQ,GAAG,kBAAkBnN,EAAEmN,EAAE,OAAOnN,EAAE,OAAOA,GAAG,KAAKqE,EAAG,OAAO68E,GAAGl0E,EAAEwrD,SAASv8D,EAAEiR,EAAEjN,GAAG,KAAK27D,EAAGzuD,EAAE,EAAElR,GAAG,GAAG,MAAM,KAAKg/D,EAAG9tD,EAAE,EAAElR,GAAG,EAAE,MAAM,KAAKi/D,EAAG,OAAOl7D,EAAEqiF,GAAG,GAAGr1E,EAAE/M,EAAI,EAAFhE,IAAO6lC,YAAYo5B,EAAGl7D,EAAEiL,KAAKiwD,EAAGl7D,EAAEg9E,MAAM9vE,EAAElN,EAAE,KAAKs7D,EAAG,OAAOt7D,EAAEqiF,GAAG,GAAGr1E,EAAE/M,EAAEhE,IAAKgP,KAAKqwD,EAAGt7D,EAAE8hC,YAAYw5B,EAAGt7D,EAAEg9E,MAAM9vE,EAAElN,EAAE,KAAKu7D,EAAG,OAAOv7D,EAAEqiF,GAAG,GAAGr1E,EAAE/M,EAAEhE,IAAK6lC,YAAYy5B,EAAGv7D,EAAEg9E,MAAM9vE,EAAElN,EAAE,KAAK67D,EAAG,OAAOstB,GAAGn8E,EAAE/Q,EAAEiR,EAAEjN,GAAG,KAAK67D,EAAG,OAAO97D,EAAEqiF,GAAG,GAAGr1E,EAAE/M,EAAEhE,IAAK6lC,YAAYg6B,EAAG97D,EAAEg9E,MAAM9vE,EAAElN,EAAE,QAAQ,GAAG,kBAChfA,GAAG,OAAOA,EAAE,OAAOA,EAAEiO,UAAU,KAAKktD,EAAGhuD,EAAE,GAAG,MAAMnN,EAAE,KAAKo7D,EAAGjuD,EAAE,EAAE,MAAMnN,EAAE,KAAKq7D,EAAGluD,EAAE,GAAG,MAAMnN,EAAE,KAAKw7D,EAAGruD,EAAE,GAAG,MAAMnN,EAAE,KAAKy7D,EAAGtuD,EAAE,GAAGF,EAAE,KAAK,MAAMjN,EAAE,KAAK07D,EAAGvuD,EAAE,GAAG,MAAMnN,EAAE,MAAM/C,MAAM6Q,EAAE,IAAI,MAAM9N,EAAEA,SAASA,EAAE,KAAuD,OAAjDC,EAAEoiF,GAAGl1E,EAAEH,EAAE/M,EAAEhE,IAAK6lC,YAAY9hC,EAAEC,EAAEgL,KAAKgC,EAAEhN,EAAE+8E,MAAM9vE,EAASjN,CAAC,CAAC,SAASihF,GAAGlhF,EAAEC,EAAE+M,EAAEC,GAA2B,OAAxBjN,EAAEqiF,GAAG,EAAEriF,EAAEiN,EAAEhN,IAAK+8E,MAAMhwE,EAAShN,CAAC,CAAC,SAASmpF,GAAGnpF,EAAEC,EAAE+M,EAAEC,GAA6C,OAA1CjN,EAAEqiF,GAAG,GAAGriF,EAAEiN,EAAEhN,IAAK6hC,YAAY+5B,EAAG77D,EAAEg9E,MAAMhwE,EAAShN,CAAC,CAAC,SAAS6gF,GAAG7gF,EAAEC,EAAE+M,GAA8B,OAA3BhN,EAAEqiF,GAAG,EAAEriF,EAAE,KAAKC,IAAK+8E,MAAMhwE,EAAShN,CAAC,CACnc,SAASihF,GAAGjhF,EAAEC,EAAE+M,GAA8J,OAA3J/M,EAAEoiF,GAAG,EAAE,OAAOriF,EAAEw4D,SAASx4D,EAAEw4D,SAAS,GAAGx4D,EAAEU,IAAIT,IAAK+8E,MAAMhwE,EAAE/M,EAAE0jE,UAAU,CAAC8D,cAAcznE,EAAEynE,cAAcopB,gBAAgB,KAAK7P,eAAehhF,EAAEghF,gBAAuB/gF,CAAC,CACtL,SAAS6wF,GAAG9wF,EAAEC,EAAE+M,GAAGoD,KAAKosD,IAAIv8D,EAAEmQ,KAAKq3D,cAAcznE,EAAEoQ,KAAKm/E,aAAan/E,KAAKy/E,UAAUz/E,KAAK4L,QAAQ5L,KAAKygF,gBAAgB,KAAKzgF,KAAKs/E,eAAe,EAAEt/E,KAAKo4E,eAAep4E,KAAKuC,QAAQ,KAAKvC,KAAKo3D,QAAQx6D,EAAEoD,KAAKw+E,aAAa,KAAKx+E,KAAK0+E,iBAAiB,EAAE1+E,KAAKi6D,WAAWF,GAAG,GAAG/5D,KAAKy+E,gBAAgB1kB,IAAI,GAAG/5D,KAAK05D,eAAe15D,KAAKo/E,cAAcp/E,KAAKy0E,iBAAiBz0E,KAAKs5D,aAAat5D,KAAKw5D,YAAYx5D,KAAKu5D,eAAev5D,KAAKq5D,aAAa,EAAEr5D,KAAK25D,cAAcI,GAAG,GAAG/5D,KAAK2gF,gCAAgC,IAAI,CAEjf,SAASC,GAAGhxF,EAAEC,EAAE+M,EAAEC,GAAG,IAAIhR,EAAEgE,EAAE+b,QAAQ9O,EAAE8xE,KAAK7xE,EAAE8xE,GAAGhjF,GAAG+D,EAAE,GAAGgN,EAAE,CAAqB/M,EAAE,CAAC,GAAGglE,GAA1Bj4D,EAAEA,EAAE8xE,mBAA8B9xE,GAAG,IAAIA,EAAEwvD,IAAI,MAAMv/D,MAAM6Q,EAAE,MAAM,IAAIV,EAAEJ,EAAE,EAAE,CAAC,OAAOI,EAAEovD,KAAK,KAAK,EAAEpvD,EAAEA,EAAEu2D,UAAUhxD,QAAQ,MAAM1S,EAAE,KAAK,EAAE,GAAGs5E,GAAGnsE,EAAEnC,MAAM,CAACmC,EAAEA,EAAEu2D,UAAUkW,0CAA0C,MAAM55E,CAAC,EAAEmN,EAAEA,EAAE+3D,MAAM,OAAO,OAAO/3D,GAAG,MAAMnQ,MAAM6Q,EAAE,KAAM,CAAC,GAAG,IAAId,EAAEwvD,IAAI,CAAC,IAAIp+D,EAAE4O,EAAE/B,KAAK,GAAGsuE,GAAGn7E,GAAG,CAAC4O,EAAE0sE,GAAG1sE,EAAE5O,EAAEgP,GAAG,MAAMpN,CAAC,CAAC,CAACgN,EAAEI,CAAC,MAAMJ,EAAEgsE,GACrW,OADwW,OAAO/4E,EAAE0S,QAAQ1S,EAAE0S,QAAQ3F,EAAE/M,EAAEuoF,eAAex7E,GAAE/M,EAAE69E,GAAG5wE,EAAEC,IAAK8wE,QAAQ,CAACr8C,QAAQ5hC,GAAuB,QAApBiN,OAAE,IAASA,EAAE,KAAKA,KAC1ehN,EAAE0C,SAASsK,GAAGixE,GAAGjiF,EAAEgE,GAAGi/E,GAAGjjF,EAAEkR,EAAED,GAAUC,CAAC,CAAC,SAAS8jF,GAAGjxF,GAAe,OAAZA,EAAEA,EAAEgc,SAAcu6B,OAAyBv2C,EAAEu2C,MAAMimB,IAAoDx8D,EAAEu2C,MAAMotB,WAAhF,IAA0F,CAAC,SAASutB,GAAGlxF,EAAEC,GAAqB,GAAG,QAArBD,EAAEA,EAAEqlE,gBAA2B,OAAOrlE,EAAEslE,WAAW,CAAC,IAAIt4D,EAAEhN,EAAE8oF,UAAU9oF,EAAE8oF,UAAU,IAAI97E,GAAGA,EAAE/M,EAAE+M,EAAE/M,CAAC,CAAC,CAAC,SAAS+F,GAAGhG,EAAEC,GAAGixF,GAAGlxF,EAAEC,IAAID,EAAEA,EAAEklE,YAAYgsB,GAAGlxF,EAAEC,EAAE,CAC1V,SAASkxF,GAAGnxF,EAAEC,EAAE+M,GAAG,IAAIC,EAAE,MAAMD,GAAG,MAAMA,EAAEokF,kBAAkBpkF,EAAEokF,iBAAiBC,gBAAgB,KAAiK,GAA5JrkF,EAAE,IAAI8jF,GAAG9wF,EAAEC,EAAE,MAAM+M,IAAG,IAAKA,EAAEw6D,SAASvnE,EAAEoiF,GAAG,EAAE,KAAK,KAAK,IAAIpiF,EAAE,EAAE,IAAIA,EAAE,EAAE,GAAG+M,EAAEgP,QAAQ/b,EAAEA,EAAE0jE,UAAU32D,EAAEswE,GAAGr9E,GAAGD,EAAE82E,IAAI9pE,EAAEgP,QAAQy6D,GAAG,IAAIz2E,EAAEsvC,SAAStvC,EAAEsqC,WAAWtqC,GAAMiN,EAAE,IAAIjN,EAAE,EAAEA,EAAEiN,EAAE3O,OAAO0B,IAAI,CAAQ,IAAI/D,GAAXgE,EAAEgN,EAAEjN,IAAW2kF,YAAY1oF,EAAEA,EAAEgE,EAAE2kF,SAAS,MAAM53E,EAAE+jF,gCAAgC/jF,EAAE+jF,gCAAgC,CAAC9wF,EAAEhE,GAAG+Q,EAAE+jF,gCAAgC7tF,KAAKjD,EAAEhE,EAAE,CAACmU,KAAKkhF,cAActkF,CAAC,CAChS,SAASukF,GAAGvxF,GAAG,SAASA,GAAG,IAAIA,EAAEsvC,UAAU,IAAItvC,EAAEsvC,UAAU,KAAKtvC,EAAEsvC,WAAW,IAAItvC,EAAEsvC,UAAU,iCAAiCtvC,EAAEy/D,WAAW,CAElU,SAAS+xB,GAAGxxF,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,IAAIiR,EAAEF,EAAEw/E,oBAAoB,GAAGt/E,EAAE,CAAC,IAAIC,EAAED,EAAEokF,cAAc,GAAG,oBAAoBr1F,EAAE,CAAC,IAAImR,EAAEnR,EAAEA,EAAE,WAAW,IAAI+D,EAAEixF,GAAG9jF,GAAGC,EAAEtN,KAAKE,EAAE,CAAC,CAACgxF,GAAG/wF,EAAEkN,EAAEnN,EAAE/D,EAAE,KAAK,CAAmD,GAAlDiR,EAAEF,EAAEw/E,oBAD1K,SAAYxsF,EAAEC,GAA0H,GAAvHA,IAA2DA,MAAvDA,EAAED,EAAE,IAAIA,EAAEsvC,SAAStvC,EAAEwT,gBAAgBxT,EAAEimC,WAAW,OAAa,IAAIhmC,EAAEqvC,WAAWrvC,EAAEw2C,aAAa,qBAAwBx2C,EAAE,IAAI,IAAI+M,EAAEA,EAAEhN,EAAEw/D,WAAWx/D,EAAEpC,YAAYoP,GAAG,OAAO,IAAImkF,GAAGnxF,EAAE,EAAEC,EAAE,CAACunE,SAAQ,QAAI,EAAO,CAClCiqB,CAAGzkF,EAAEC,GAAGE,EAAED,EAAEokF,cAAiB,oBAAoBr1F,EAAE,CAAC,IAAImC,EAAEnC,EAAEA,EAAE,WAAW,IAAI+D,EAAEixF,GAAG9jF,GAAG/O,EAAE0B,KAAKE,EAAE,CAAC,CAAC4vF,IAAG,WAAWoB,GAAG/wF,EAAEkN,EAAEnN,EAAE/D,EAAE,GAAE,CAAC,OAAOg1F,GAAG9jF,EAAE,CAGpG,SAASukF,GAAG1xF,EAAEC,GAAG,IAAI+M,EAAE,EAAE/J,UAAU3E,aAAQ,IAAS2E,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAIsuF,GAAGtxF,GAAG,MAAMhD,MAAM6Q,EAAE,MAAM,OATnV,SAAY9N,EAAEC,EAAE+M,GAAG,IAAIC,EAAE,EAAEhK,UAAU3E,aAAQ,IAAS2E,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAACgL,SAAS+sD,EAAGt6D,IAAI,MAAMuM,EAAE,KAAK,GAAGA,EAAEurD,SAASx4D,EAAEynE,cAAcxnE,EAAE+gF,eAAeh0E,EAAE,CASgL2kF,CAAG3xF,EAAEC,EAAE,KAAK+M,EAAE,CA1BxW0gF,GAAG,SAAS1tF,EAAEC,EAAE+M,GAAG,IAAIC,EAAEhN,EAAE+8E,MAAM,GAAG,OAAOh9E,EAAE,GAAGA,EAAE+hF,gBAAgB9hF,EAAEsiF,cAAcrJ,GAAEl9D,QAAQihE,IAAG,MAAQ,IAAG,KAAKjwE,EAAEC,GAAoC,CAAO,OAANgwE,IAAG,EAAUh9E,EAAEu8D,KAAK,KAAK,EAAE+rB,GAAGtoF,GAAG0iF,KAAK,MAAM,KAAK,EAAEf,GAAG3hF,GAAG,MAAM,KAAK,EAAEs5E,GAAGt5E,EAAEgL,OAAO2uE,GAAG35E,GAAG,MAAM,KAAK,EAAEyhF,GAAGzhF,EAAEA,EAAE0jE,UAAU8D,eAAe,MAAM,KAAK,GAAGx6D,EAAEhN,EAAE8hF,cAAchxE,MAAM,IAAI9U,EAAEgE,EAAEgL,KAAK6d,SAASiwD,GAAEqD,GAAGngF,EAAEygF,eAAezgF,EAAEygF,cAAczvE,EAAE,MAAM,KAAK,GAAG,GAAG,OAAOhN,EAAEolE,cAAe,OAAG,KAAKr4D,EAAE/M,EAAEs2C,MAAMqmC,YAAmBmM,GAAG/oF,EAAEC,EAAE+M,IAAG+rE,GAAEnoE,GAAY,EAAVA,GAAEoL,SAA8B,QAAnB/b,EAAEwnF,GAAGznF,EAAEC,EAAE+M,IAC/e/M,EAAEwlE,QAAQ,MAAKsT,GAAEnoE,GAAY,EAAVA,GAAEoL,SAAW,MAAM,KAAK,GAA0B,GAAvB/O,EAAE,KAAKD,EAAE/M,EAAE28E,YAAe,KAAa,GAAR58E,EAAEmkB,OAAU,CAAC,GAAGlX,EAAE,OAAO48E,GAAG7pF,EAAEC,EAAE+M,GAAG/M,EAAEkkB,OAAO,EAAE,CAA6F,GAA1E,QAAlBloB,EAAEgE,EAAEolE,iBAAyBppE,EAAEwtF,UAAU,KAAKxtF,EAAE0tF,KAAK,KAAK1tF,EAAEwkF,WAAW,MAAM1H,GAAEnoE,GAAEA,GAAEoL,SAAY/O,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOhN,EAAE+8E,MAAM,EAAE8K,GAAG9nF,EAAEC,EAAE+M,GAAG,OAAOy6E,GAAGznF,EAAEC,EAAE+M,EAAE,CAD7LiwE,GAAG,KAAa,MAARj9E,EAAEmkB,MACmL,MAAM84D,IAAG,EAAa,OAAVh9E,EAAE+8E,MAAM,EAAS/8E,EAAEu8D,KAAK,KAAK,EAA+I,GAA7IvvD,EAAEhN,EAAEgL,KAAK,OAAOjL,IAAIA,EAAEklE,UAAU,KAAKjlE,EAAEilE,UAAU,KAAKjlE,EAAEkkB,OAAO,GAAGnkB,EAAEC,EAAEsiF,aAAatmF,EAAEm9E,GAAGn5E,EAAEg5E,GAAEj9D,SAAS6gE,GAAG58E,EAAE+M,GAAG/Q,EAAEwnF,GAAG,KAAKxjF,EAAEgN,EAAEjN,EAAE/D,EAAE+Q,GAAG/M,EAAEkkB,OAAO,EAAK,kBACreloB,GAAG,OAAOA,GAAG,oBAAoBA,EAAE6P,aAAQ,IAAS7P,EAAEgS,SAAS,CAAiD,GAAhDhO,EAAEu8D,IAAI,EAAEv8D,EAAEolE,cAAc,KAAKplE,EAAEs9E,YAAY,KAAQhE,GAAGtsE,GAAG,CAAC,IAAIC,GAAE,EAAG0sE,GAAG35E,EAAE,MAAMiN,GAAE,EAAGjN,EAAEolE,cAAc,OAAOppE,EAAE4F,YAAO,IAAS5F,EAAE4F,MAAM5F,EAAE4F,MAAM,KAAKy7E,GAAGr9E,GAAG,IAAIkN,EAAEF,EAAEnC,yBAAyB,oBAAoBqC,GAAGwxE,GAAG1+E,EAAEgN,EAAEE,EAAEnN,GAAG/D,EAAEwjF,QAAQb,GAAG3+E,EAAE0jE,UAAU1nE,EAAEA,EAAE6iF,gBAAgB7+E,EAAE4/E,GAAG5/E,EAAEgN,EAAEjN,EAAEgN,GAAG/M,EAAEqoF,GAAG,KAAKroF,EAAEgN,GAAE,EAAGC,EAAEF,EAAE,MAAM/M,EAAEu8D,IAAI,EAAE+qB,GAAG,KAAKtnF,EAAEhE,EAAE+Q,GAAG/M,EAAEA,EAAEs2C,MAAM,OAAOt2C,EAAE,KAAK,GAAGhE,EAAEgE,EAAE6hC,YAAY9hC,EAAE,CAChX,OADiX,OAAOA,IAAIA,EAAEklE,UAAU,KAAKjlE,EAAEilE,UAAU,KAAKjlE,EAAEkkB,OAAO,GACnfnkB,EAAEC,EAAEsiF,aAAuBtmF,GAAViR,EAAEjR,EAAE2gE,OAAU3gE,EAAE0gE,UAAU18D,EAAEgL,KAAKhP,EAAEiR,EAAEjN,EAAEu8D,IAOxD,SAAYx8D,GAAG,GAAG,oBAAoBA,EAAE,OAAO2nF,GAAG3nF,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAEiO,YAAgBotD,EAAG,OAAO,GAAG,GAAGr7D,IAAIw7D,EAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAPnFo2B,CAAG31F,GAAG+D,EAAEm8E,GAAGlgF,EAAE+D,GAAUkN,GAAG,KAAK,EAAEjN,EAAE4nF,GAAG,KAAK5nF,EAAEhE,EAAE+D,EAAEgN,GAAG,MAAMhN,EAAE,KAAK,EAAEC,EAAEioF,GAAG,KAAKjoF,EAAEhE,EAAE+D,EAAEgN,GAAG,MAAMhN,EAAE,KAAK,GAAGC,EAAEunF,GAAG,KAAKvnF,EAAEhE,EAAE+D,EAAEgN,GAAG,MAAMhN,EAAE,KAAK,GAAGC,EAAEynF,GAAG,KAAKznF,EAAEhE,EAAEkgF,GAAGlgF,EAAEgP,KAAKjL,GAAGiN,EAAED,GAAG,MAAMhN,EAAE,MAAM/C,MAAM6Q,EAAE,IAAI7R,EAAE,IAAK,CAAC,OAAOgE,EAAE,KAAK,EAAE,OAAOgN,EAAEhN,EAAEgL,KAAKhP,EAAEgE,EAAEsiF,aAA2CsF,GAAG7nF,EAAEC,EAAEgN,EAArChR,EAAEgE,EAAE6hC,cAAc70B,EAAEhR,EAAEkgF,GAAGlvE,EAAEhR,GAAc+Q,GAAG,KAAK,EAAE,OAAOC,EAAEhN,EAAEgL,KAAKhP,EAAEgE,EAAEsiF,aAA2C2F,GAAGloF,EAAEC,EAAEgN,EAArChR,EAAEgE,EAAE6hC,cAAc70B,EAAEhR,EAAEkgF,GAAGlvE,EAAEhR,GAAc+Q,GAAG,KAAK,EAAwB,GAAtBu7E,GAAGtoF,GAAGgN,EAAEhN,EAAEs9E,YAAe,OAAOv9E,GAAG,OAAOiN,EAAE,MAAMhQ,MAAM6Q,EAAE,MAC3Y,GAA9Gb,EAAEhN,EAAEsiF,aAA+BtmF,EAAE,QAApBA,EAAEgE,EAAEolE,eAAyBppE,EAAE2lC,QAAQ,KAAKi8C,GAAG79E,EAAEC,GAAGm+E,GAAGn+E,EAAEgN,EAAE,KAAKD,IAAGC,EAAEhN,EAAEolE,cAAczjC,WAAe3lC,EAAE0mF,KAAK1iF,EAAEwnF,GAAGznF,EAAEC,EAAE+M,OAAO,CAAuF,IAArEE,GAAjBjR,EAAEgE,EAAE0jE,WAAiB6D,WAAQ0a,GAAG/J,GAAGl4E,EAAE0jE,UAAU8D,cAAcxhC,YAAYg8C,GAAGhiF,EAAEiN,EAAEi1E,IAAG,GAAMj1E,EAAE,CAAqC,GAAG,OAAvClN,EAAE/D,EAAE80F,iCAA2C,IAAI90F,EAAE,EAAEA,EAAE+D,EAAE1B,OAAOrC,GAAG,GAAEiR,EAAElN,EAAE/D,IAAK6mF,8BAA8B9iF,EAAE/D,EAAE,GAAG2mF,GAAG1/E,KAAKgK,GAAoB,IAAjBF,EAAEo0E,GAAGnhF,EAAE,KAAKgN,EAAED,GAAO/M,EAAEs2C,MAAMvpC,EAAEA,GAAGA,EAAEmX,OAAe,EAATnX,EAAEmX,MAAS,KAAKnX,EAAEA,EAAEy4D,OAAO,MAAM8hB,GAAGvnF,EAAEC,EAAEgN,EAAED,GAAG21E,KAAK1iF,EAAEA,EAAEs2C,KAAK,CAAC,OAAOt2C,EAAE,KAAK,EAAE,OAAO2hF,GAAG3hF,GAAG,OAAOD,GACnfwiF,GAAGviF,GAAGgN,EAAEhN,EAAEgL,KAAKhP,EAAEgE,EAAEsiF,aAAar1E,EAAE,OAAOlN,EAAEA,EAAE+hF,cAAc,KAAK50E,EAAElR,EAAEu8D,SAASqf,GAAG5qE,EAAEhR,GAAGkR,EAAE,KAAK,OAAOD,GAAG2qE,GAAG5qE,EAAEC,KAAKjN,EAAEkkB,OAAO,IAAI8jE,GAAGjoF,EAAEC,GAAGsnF,GAAGvnF,EAAEC,EAAEkN,EAAEH,GAAG/M,EAAEs2C,MAAM,KAAK,EAAE,OAAO,OAAOv2C,GAAGwiF,GAAGviF,GAAG,KAAK,KAAK,GAAG,OAAO8oF,GAAG/oF,EAAEC,EAAE+M,GAAG,KAAK,EAAE,OAAO00E,GAAGzhF,EAAEA,EAAE0jE,UAAU8D,eAAex6D,EAAEhN,EAAEsiF,aAAa,OAAOviF,EAAEC,EAAEs2C,MAAM4qC,GAAGlhF,EAAE,KAAKgN,EAAED,GAAGu6E,GAAGvnF,EAAEC,EAAEgN,EAAED,GAAG/M,EAAEs2C,MAAM,KAAK,GAAG,OAAOtpC,EAAEhN,EAAEgL,KAAKhP,EAAEgE,EAAEsiF,aAA2CiF,GAAGxnF,EAAEC,EAAEgN,EAArChR,EAAEgE,EAAE6hC,cAAc70B,EAAEhR,EAAEkgF,GAAGlvE,EAAEhR,GAAc+Q,GAAG,KAAK,EAAE,OAAOu6E,GAAGvnF,EAAEC,EAAEA,EAAEsiF,aAAav1E,GAAG/M,EAAEs2C,MAAM,KAAK,EACtc,KAAK,GAAG,OAAOgxC,GAAGvnF,EAAEC,EAAEA,EAAEsiF,aAAa/pB,SAASxrD,GAAG/M,EAAEs2C,MAAM,KAAK,GAAGv2C,EAAE,CAACiN,EAAEhN,EAAEgL,KAAK6d,SAAS7sB,EAAEgE,EAAEsiF,aAAap1E,EAAElN,EAAE8hF,cAAc70E,EAAEjR,EAAE8U,MAAM,IAAI3D,EAAEnN,EAAEgL,KAAK6d,SAAiD,GAAxCiwD,GAAEqD,GAAGhvE,EAAEsvE,eAAetvE,EAAEsvE,cAAcxvE,EAAK,OAAOC,EAAE,GAAGC,EAAED,EAAE4D,MAA0G,KAApG7D,EAAEsnE,GAAGpnE,EAAEF,GAAG,EAAwF,GAArF,oBAAoBD,EAAE4kF,sBAAsB5kF,EAAE4kF,sBAAsBzkF,EAAEF,GAAG,cAAqB,GAAGC,EAAEqrD,WAAWv8D,EAAEu8D,WAAW0gB,GAAEl9D,QAAQ,CAAC/b,EAAEwnF,GAAGznF,EAAEC,EAAE+M,GAAG,MAAMhN,CAAC,OAAO,IAAc,QAAVoN,EAAEnN,EAAEs2C,SAAiBnpC,EAAE+3D,OAAOllE,GAAG,OAAOmN,GAAG,CAAC,IAAIhP,EAAEgP,EAAE0vE,aAAa,GAAG,OAAO1+E,EAAE,CAAC+O,EAAEC,EAAEmpC,MAAM,IAAI,IAAIlpC,EACtfjP,EAAE2+E,aAAa,OAAO1vE,GAAG,CAAC,GAAGA,EAAEsF,UAAU1F,GAAG,KAAKI,EAAE8vE,aAAajwE,GAAG,CAAC,IAAIE,EAAEovD,OAAMnvD,EAAEywE,IAAI,EAAE9wE,GAAGA,IAAKwvD,IAAI,EAAE0hB,GAAG9wE,EAAEC,IAAID,EAAE4vE,OAAOhwE,EAAgB,QAAdK,EAAED,EAAE83D,aAAqB73D,EAAE2vE,OAAOhwE,GAAG2vE,GAAGvvE,EAAE+3D,OAAOn4D,GAAG5O,EAAE4+E,OAAOhwE,EAAE,KAAK,CAACK,EAAEA,EAAEgE,IAAI,CAAC,MAAMlE,EAAE,KAAKC,EAAEovD,KAAIpvD,EAAEnC,OAAOhL,EAAEgL,KAAK,KAAamC,EAAEmpC,MAAM,GAAG,OAAOppC,EAAEA,EAAEg4D,OAAO/3D,OAAO,IAAID,EAAEC,EAAE,OAAOD,GAAG,CAAC,GAAGA,IAAIlN,EAAE,CAACkN,EAAE,KAAK,KAAK,CAAa,GAAG,QAAfC,EAAED,EAAEs4D,SAAoB,CAACr4D,EAAE+3D,OAAOh4D,EAAEg4D,OAAOh4D,EAAEC,EAAE,KAAK,CAACD,EAAEA,EAAEg4D,MAAM,CAAC/3D,EAAED,CAAC,CAACo6E,GAAGvnF,EAAEC,EAAEhE,EAAEu8D,SAASxrD,GAAG/M,EAAEA,EAAEs2C,KAAK,CAAC,OAAOt2C,EAAE,KAAK,EAAE,OAAOhE,EAAEgE,EAAEgL,KAAsBgC,GAAjBC,EAAEjN,EAAEsiF,cAAiB/pB,SAASqkB,GAAG58E,EAAE+M,GACndC,EAAEA,EADodhR,EAAEihF,GAAGjhF,EACpfiR,EAAE4kF,wBAA8B7xF,EAAEkkB,OAAO,EAAEojE,GAAGvnF,EAAEC,EAAEgN,EAAED,GAAG/M,EAAEs2C,MAAM,KAAK,GAAG,OAAgBrpC,EAAEivE,GAAXlgF,EAAEgE,EAAEgL,KAAYhL,EAAEsiF,cAA6BmF,GAAG1nF,EAAEC,EAAEhE,EAAtBiR,EAAEivE,GAAGlgF,EAAEgP,KAAKiC,GAAcD,EAAED,GAAG,KAAK,GAAG,OAAO46E,GAAG5nF,EAAEC,EAAEA,EAAEgL,KAAKhL,EAAEsiF,aAAat1E,EAAED,GAAG,KAAK,GAAG,OAAOC,EAAEhN,EAAEgL,KAAKhP,EAAEgE,EAAEsiF,aAAatmF,EAAEgE,EAAE6hC,cAAc70B,EAAEhR,EAAEkgF,GAAGlvE,EAAEhR,GAAG,OAAO+D,IAAIA,EAAEklE,UAAU,KAAKjlE,EAAEilE,UAAU,KAAKjlE,EAAEkkB,OAAO,GAAGlkB,EAAEu8D,IAAI,EAAE+c,GAAGtsE,IAAIjN,GAAE,EAAG45E,GAAG35E,IAAID,GAAE,EAAG68E,GAAG58E,EAAE+M,GAAGwyE,GAAGv/E,EAAEgN,EAAEhR,GAAG4jF,GAAG5/E,EAAEgN,EAAEhR,EAAE+Q,GAAGs7E,GAAG,KAAKroF,EAAEgN,GAAE,EAAGjN,EAAEgN,GAAG,KAAK,GAAG,OAAO68E,GAAG7pF,EAAEC,EAAE+M,GAAG,KAAK,GAAoB,KAAK,GAAG,OAAO86E,GAAG9nF,EAAEC,EAAE+M,GAAG,MAAM/P,MAAM6Q,EAAE,IAAI7N,EAAEu8D,KAC/e,EAYA20B,GAAGtxF,UAAUiM,OAAO,SAAS9L,GAAGgxF,GAAGhxF,EAAEoQ,KAAKkhF,cAAc,KAAK,KAAK,EAAEH,GAAGtxF,UAAUkyF,QAAQ,WAAW,IAAI/xF,EAAEoQ,KAAKkhF,cAAcrxF,EAAED,EAAEynE,cAAcupB,GAAG,KAAKhxF,EAAE,MAAK,WAAWC,EAAE62E,IAAI,IAAI,GAAE,EAEkJnR,GAAG,SAAS3lE,GAAM,KAAKA,EAAEw8D,MAAgB0iB,GAAGl/E,EAAE,EAAVg/E,MAAeh5E,GAAGhG,EAAE,GAAG,EAAE4lE,GAAG,SAAS5lE,GAAM,KAAKA,EAAEw8D,MAAgB0iB,GAAGl/E,EAAE,SAAVg/E,MAAsBh5E,GAAGhG,EAAE,UAAU,EAC7c6lE,GAAG,SAAS7lE,GAAG,GAAG,KAAKA,EAAEw8D,IAAI,CAAC,IAAIv8D,EAAE++E,KAAKhyE,EAAEiyE,GAAGj/E,GAAGk/E,GAAGl/E,EAAEgN,EAAE/M,GAAG+F,GAAGhG,EAAEgN,EAAE,CAAC,EAAE84D,GAAG,SAAS9lE,EAAEC,GAAG,OAAOA,GAAG,EAChGqjE,GAAG,SAAStjE,EAAEC,EAAE+M,GAAG,OAAO/M,GAAG,IAAK,QAAyB,GAAjBg9C,GAAGj9C,EAAEgN,GAAG/M,EAAE+M,EAAE7B,KAAQ,UAAU6B,EAAE/B,MAAM,MAAMhL,EAAE,CAAC,IAAI+M,EAAEhN,EAAEgN,EAAEs9B,YAAYt9B,EAAEA,EAAEs9B,WAAsF,IAA3Et9B,EAAEA,EAAEglF,iBAAiB,cAAcr/B,KAAKC,UAAU,GAAG3yD,GAAG,mBAAuBA,EAAE,EAAEA,EAAE+M,EAAE1O,OAAO2B,IAAI,CAAC,IAAIgN,EAAED,EAAE/M,GAAG,GAAGgN,IAAIjN,GAAGiN,EAAEglF,OAAOjyF,EAAEiyF,KAAK,CAAC,IAAIh2F,EAAE2nE,GAAG32D,GAAG,IAAIhR,EAAE,MAAMgB,MAAM6Q,EAAE,KAAKuvD,EAAGpwD,GAAGgwC,GAAGhwC,EAAEhR,EAAE,CAAC,CAAC,CAAC,MAAM,IAAK,WAAW0iE,GAAG3+D,EAAEgN,GAAG,MAAM,IAAK,SAAmB,OAAV/M,EAAE+M,EAAE+D,QAAeqtD,GAAGp+D,IAAIgN,EAAEi9E,SAAShqF,GAAE,GAAI,EAAE8jE,GAAG4rB,GAC9Z3rB,GAAG,SAAShkE,EAAEC,EAAE+M,EAAEC,EAAEhR,GAAG,IAAIiR,EAAE+/E,GAAEA,IAAG,EAAE,IAAI,OAAOpR,GAAG,GAAG77E,EAAEgrE,KAAK,KAAK/qE,EAAE+M,EAAEC,EAAEhR,GAAG,CAAC,QAAY,KAAJgxF,GAAE//E,KAAUugF,KAAK1R,KAAK,CAAC,EAAE9X,GAAG,WAAW,KAAO,GAAFgpB,MAhD/H,WAAc,GAAG,OAAOe,GAAG,CAAC,IAAIhuF,EAAEguF,GAAGA,GAAG,KAAKhuF,EAAEwD,SAAQ,SAASxD,GAAGA,EAAE0pE,cAAc,GAAG1pE,EAAEypE,aAAaklB,GAAG3uF,EAAE07E,KAAI,GAAE,CAACK,IAAI,CAgDkBmW,GAAKjD,KAAK,EAAE/qB,GAAG,SAASlkE,EAAEC,GAAG,IAAI+M,EAAEigF,GAAEA,IAAG,EAAE,IAAI,OAAOjtF,EAAEC,EAAE,CAAC,QAAY,KAAJgtF,GAAEjgF,KAAUygF,KAAK1R,KAAK,CAAC,EAAyI,IAAIoW,GAAG,CAACC,OAAO,CAAC1uB,GAAG+P,GAAG7P,GAAGC,GAAGC,GAAGmrB,GAAG,CAACjzE,SAAQ,KAAMq2E,GAAG,CAACC,wBAAwBlrB,GAAGmrB,WAAW,EAAEC,QAAQ,SAASC,oBAAoB,aACveC,GAAG,CAACH,WAAWF,GAAGE,WAAWC,QAAQH,GAAGG,QAAQC,oBAAoBJ,GAAGI,oBAAoBE,eAAeN,GAAGM,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqBv4B,EAAGmoB,uBAAuBqQ,wBAAwB,SAASrzF,GAAW,OAAO,QAAfA,EAAEwlE,GAAGxlE,IAAmB,KAAKA,EAAE2jE,SAAS,EAAE2uB,wBAAwBD,GAAGC,yBAR/I,WAAc,OAAO,IAAI,EASjXgB,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,MAAM,GAAG,qBAAqBC,+BAA+B,CAAC,IAAIC,GAAGD,+BAA+B,IAAIC,GAAGC,YAAYD,GAAGE,cAAc,IAAI/Z,GAAG6Z,GAAGG,OAAOrB,IAAI1Y,GAAG4Z,EAAE,CAAC,MAAM5zF,IAAG,CAAC,CAAC1F,EAAQwgE,mDAAmDq3B,GAAG73F,EAAQ05F,aAAatC,GACnXp3F,EAAQ25F,YAAY,SAASj0F,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEsvC,SAAS,OAAOtvC,EAAE,IAAIC,EAAED,EAAE8+E,gBAAgB,QAAG,IAAS7+E,EAAE,CAAC,GAAG,oBAAoBD,EAAE8L,OAAO,MAAM7O,MAAM6Q,EAAE,MAAM,MAAM7Q,MAAM6Q,EAAE,IAAIlO,OAAOY,KAAKR,IAAK,CAAqC,OAA5BA,EAAE,QAAVA,EAAEwlE,GAAGvlE,IAAc,KAAKD,EAAE2jE,SAAkB,EAAErpE,EAAQ45F,UAAU,SAASl0F,EAAEC,GAAG,IAAI+M,EAAEigF,GAAE,GAAG,KAAO,GAAFjgF,GAAM,OAAOhN,EAAEC,GAAGgtF,IAAG,EAAE,IAAI,GAAGjtF,EAAE,OAAO67E,GAAG,GAAG77E,EAAEgrE,KAAK,KAAK/qE,GAAG,CAAC,QAAQgtF,GAAEjgF,EAAE+uE,IAAI,CAAC,EAAEzhF,EAAQktE,QAAQ,SAASxnE,EAAEC,EAAE+M,GAAG,IAAIukF,GAAGtxF,GAAG,MAAMhD,MAAM6Q,EAAE,MAAM,OAAO0jF,GAAG,KAAKxxF,EAAEC,GAAE,EAAG+M,EAAE,EACrd1S,EAAQwR,OAAO,SAAS9L,EAAEC,EAAE+M,GAAG,IAAIukF,GAAGtxF,GAAG,MAAMhD,MAAM6Q,EAAE,MAAM,OAAO0jF,GAAG,KAAKxxF,EAAEC,GAAE,EAAG+M,EAAE,EAAE1S,EAAQ65F,uBAAuB,SAASn0F,GAAG,IAAIuxF,GAAGvxF,GAAG,MAAM/C,MAAM6Q,EAAE,KAAK,QAAO9N,EAAEwsF,sBAAqBoD,IAAG,WAAW4B,GAAG,KAAK,KAAKxxF,GAAE,GAAG,WAAWA,EAAEwsF,oBAAoB,KAAKxsF,EAAE82E,IAAI,IAAI,GAAE,KAAG,EAAM,EAAEx8E,EAAQ85F,wBAAwBzE,GAAGr1F,EAAQ+5F,sBAAsB,SAASr0F,EAAEC,GAAG,OAAOyxF,GAAG1xF,EAAEC,EAAE,EAAEgD,UAAU3E,aAAQ,IAAS2E,UAAU,GAAGA,UAAU,GAAG,KAAK,EACnb3I,EAAQg6F,oCAAoC,SAASt0F,EAAEC,EAAE+M,EAAEC,GAAG,IAAIskF,GAAGvkF,GAAG,MAAM/P,MAAM6Q,EAAE,MAAM,GAAG,MAAM9N,QAAG,IAASA,EAAE8+E,gBAAgB,MAAM7hF,MAAM6Q,EAAE,KAAK,OAAO0jF,GAAGxxF,EAAEC,EAAE+M,GAAE,EAAGC,EAAE,EAAE3S,EAAQk4F,QAAQ,6CCtS7L,SAAS+B,IAEP,GAC4C,qBAAnCZ,gCAC4C,oBAA5CA,+BAA+BY,SAcxC,IAEEZ,+BAA+BY,SAASA,EAC1C,CAAE,MAAOr3F,GAGPZ,QAAQa,MAAMD,EAChB,CACF,CAKEq3F,GACAl6F,EAAOC,QAAU,EAAjBD,6rBCzBIm6F,EAAA,SAAAn2F,GAAA,SAAApC,IAAA,QAAAA,EAAAyR,EAAAzK,UAAA3E,OAAAmP,EAAA,IAAAvN,MAAAwN,GAAAmpD,EAAA,EAAAA,EAAAnpD,EAAAmpD,IAAAppD,EAAAopD,GAAA5zD,UAAA4zD,GAAA,OAAA56D,EAAAoC,EAAAyB,KAAAkD,MAAA3E,EAAA,OAAAa,OAAAuO,KAAA,MACJ1J,QAAUA,EAAAC,qBAAc/H,EAAKgI,OAAAhI,CAAA,QAAAw4F,EAAAx4F,EAAAoC,GAAApC,EAAA4D,UAE7BiM,OAAA,kBACS4oF,EAAAv5F,cAACw5F,EAAAC,OAAA,CAAO7wF,QAASqM,KAAKrM,QAASy0D,SAAUpoD,KAAKnM,MAAMu0D,UAAA,EAAAv8D,CAAA,CAJzD,CAAsBy4F,EAAMjW,WCA5BoW,EAAA,SAAAx2F,GAAA,SAAApC,IAAA,QAAAA,EAAAyR,EAAAzK,UAAA3E,OAAAmP,EAAA,IAAAvN,MAAAwN,GAAAmpD,EAAA,EAAAA,EAAAnpD,EAAAmpD,IAAAppD,EAAAopD,GAAA5zD,UAAA4zD,GAAA,OAAA56D,EAAAoC,EAAAyB,KAAAkD,MAAA3E,EAAA,OAAAa,OAAAuO,KAAA,MACJ1J,QAAUA,EAAAuE,kBAAcrM,EAAKgI,OAAAhI,CAAA,QAAAw4F,EAAAx4F,EAAAoC,GAAApC,EAAA4D,UAE7BiM,OAAA,kBACS4oF,EAAAv5F,cAACw5F,EAAAC,OAAA,CAAO7wF,QAASqM,KAAKrM,QAASy0D,SAAUpoD,KAAKnM,MAAMu0D,UAAA,EAAAv8D,CAAA,CAJzD,CAAmBy4F,EAAMjW,WCPlBqW,EAAoB,SAAC74F,EAAIyR,GAAA,MACtB,mBAAPzR,EAAoBA,EAAGyR,GAAmBzR,CAAA,EAEtC84F,EAAsB,SAAC94F,EAAIyR,GAAA,MACjB,iBAAPzR,EACV8H,EAAAnC,eAAe3F,EAAI,KAAM,KAAMyR,GAC/BzR,CAAA,ECGA+4F,EAAiB,SAAA/4F,GAAA,OAAKA,CAAA,EACtBg5F,EAAeP,EAAfO,gBAM8D,IALzDA,IACTA,EAAaD,GAOf,IAAME,EAAaD,GACjB,SAAAh5F,EAOEyR,GAAA,IALED,EAAAxR,EAAAk5F,SACAt+B,EAAA56D,EAAAm5F,SACA/2F,EAAApC,EAAA28D,QACG54D,EAAAu2D,EAAAt6D,EAAA,mCAIGkC,EAAW6B,EAAXq5C,OAEJrsC,EAAAjL,EAAA,GACC/B,EAAA,CACH44D,QAAS,SAAAlrD,GAAA,IAEDrP,GAASA,EAAQqP,EAAA,CACrB,MAAOzR,GAAA,MACPyR,EAAMtR,iBACAH,CAAA,CAILyR,EAAMu+D,kBACU,IAAjBv+D,EAAMugE,QACJ9vE,GAAqB,UAAXA,GA7BtB,SAAyBlC,GAAA,SACbA,EAAM6xE,SAAW7xE,EAAM4xE,QAAU5xE,EAAM0xE,SAAW1xE,EAAM2xE,SAAA,CA6BzDynB,CAAgB3nF,KAEjBA,EAAMtR,iBACNy6D,IAAA,WAOJ7pD,EAAMozE,IADJ4U,IAAmBC,GACTvnF,GAEAD,EAIPinF,EAAAv5F,cAAA,IAAO6R,EAAA,IAWZsoF,EAAOL,GACX,SAAAh5F,EAQE+D,GAAA,IAAA0N,EAAAzR,EANE0P,UAAAxN,OAAA,IAAAuP,EAAYwnF,EAAAxnF,EACZV,EAAA/Q,EAAAuB,QACAwQ,EAAA/R,EAAAuC,GACA0O,EAAAjR,EAAAk5F,SACG3kF,EAAA+lD,EAAAt6D,EAAA,gDAKHy4F,EAAAv5F,cAACw5F,EAAAY,gBAAcC,SAAA,MACZ,SAAA/nF,GACWA,GAAVvJ,GAAA,OAEQ2yD,EAAYppD,EAAZ1J,QAEF9H,EAAW84F,EACfD,EAAkB9mF,EAAIP,EAAQ9L,UAC9B8L,EAAQ9L,UAGJ+L,EAAOzR,EAAW46D,EAAQnwD,WAAWzK,GAAY,GACjDoC,EAAA0D,EAAA,GACDyO,EAAA,CACHzJ,KAAA2G,EACA0nF,SAAA,eACQn5F,EAAW64F,EAAkB9mF,EAAIP,EAAQ9L,UACzC+L,EAAwB3J,EAAArC,WAAW+L,EAAQ9L,YAAcoC,EAAArC,WAAWqzF,EAAoB94F,KAC9E+Q,GAAWU,EAAyBmpD,EAAQr5D,QAAUq5D,EAAQ3zD,MAEvEjH,EAAA,WAKP+4F,IAAmBC,EACrB52F,EAAM+hF,IAAMpgF,GAAgBkN,EAE5B7O,EAAM82F,SAAWjoF,EAGZwnF,EAAMv5F,cAAcgD,EAAWE,EAAA,OC1G1Co3F,EAAiB,SAAAx5F,GAAA,OAAKA,CAAA,EACtBy5F,EAAehB,EAAfO,gBAMkC,IAL7BS,IACTA,EAAaD,GAUf,IAAME,EAAUD,GACd,SAAAz5F,EAgBEuU,GAAA,IAAA9C,EAAAzR,EAdE,gBAAgBoR,OAAA,IAAAK,EAAc,OAAAA,EAAAD,EAAAxR,EAC9B25F,gBAAAroF,OAAA,IAAAE,EAAkB,SAAAA,EAClB01E,EAAAlnF,EAAA45F,YACWzoF,EAAAnR,EAAX0zC,UACA7hC,EAAA7R,EAAAi5D,MACUjoD,EAAAhR,EAAV6G,SACUwK,EAAArR,EAAV0F,SACAgM,EAAA1R,EAAA+2D,UACA/yD,EAAAhE,EAAAg3D,OACOriD,EAAA3U,EAAPX,MACAsS,EAAA3R,EAAAuC,GACAqP,EAAA5R,EAAAk5F,SACGhoF,EAAAopD,EAAAt6D,EAAA,gJAKHy4F,EAAAv5F,cAACw5F,EAAAY,gBAAcC,SAAA,MACZ,SAAAv5F,GACWA,GAAViI,GAAA,OAEMwJ,EAAkBJ,GAAgBrR,EAAQ0F,SAC1C8L,EAAasnF,EACjBD,EAAkBlnF,EAAIF,GACtBA,GAEgBmpD,EAASppD,EAAnB3P,SAEFO,EACJw4D,GAAQA,EAAKr5D,QAAQ,4BAA6B,QAE9CwC,EAAQ3B,EACVs2F,EAAAmB,UAAUpoF,EAAgB5P,SAAU,CAClC8C,KAAMvC,EACN62D,MAAApnD,EACAklD,UAAArlD,EACAslD,OAAAhzD,IAEF,KACE9B,KAAc8O,EAChBA,EAAajN,EAAO0N,GACpB1N,GAEAgN,EACuB,mBAAlBI,EACHA,EAAcjP,GACdiP,EAEFY,EACmB,mBAAd4C,EAA2BA,EAAUzS,GAAYyS,EAEtDzS,IACF6O,EA9DZ,WAAS,QAAA/Q,EAAAgH,UAAA3E,OAAkBoP,EAAA,IAAAxN,MAAAjE,GAAAwR,EAAA,EAAAA,EAAAxR,EAAAwR,IAAAC,EAAAD,GAAAxK,UAAAwK,GAAA,OAClBC,EAAWvK,QAAO,SAAAlH,GAAA,OAAKA,CAAA,IAAGuD,KAAK,KA6DhBu2F,CAAe/oF,EAAWO,GACtCS,EAAAjM,EAAA,GAAaiM,EAAUm1E,IAAA,IAGnBj2E,EAAAnL,EAAA,gBACa5D,GAAYkP,GAAgB,KAC7CsiC,UAAA3iC,EACA1R,MAAA0S,EACAxP,GAAIiP,GACDN,GAAA,OAIDsoF,IAAmBC,EACrBxoF,EAAMkzE,IAAM5vE,GAAgB3C,EAE5BX,EAAMioF,SAAWtnF,EAGZ6mF,EAAAv5F,cAACm6F,EAASpoF,EAAA,OAAA5S,EAAAA,GAAAg7F,wrBC1FrBU,EAAwB,WAExBC,EACkB,qBAAfC,WAEHA,WACkB,qBAAX15F,OACPA,OACkB,qBAAX25F,EAAAA,EACPA,EAAAA,EACA,CAAC,ECjBP,IAMAC,EAAe1B,EAAAA,eDuDf,SAA2Ch3B,EAAc24B,WACjDC,EAAc,0BA3CtB,eACM51F,EAAM,8BACFu1F,EAAev1F,IAAQu1F,EAAev1F,IAAQ,GAAK,EAyCX61F,GAAgB,KAE1DC,EAHuE,SAAAC,2IAI3EC,QA9BJ,SAA4B3lF,OACtB4lF,EAAW,SACR,CACLC,GADK,SACFC,GACDF,EAASzzF,KAAK2zF,IAGhBC,IALK,SAKDD,GACFF,EAAWA,EAASxzF,QAAO,SAAAiK,UAAKA,IAAMypF,MAGxCn/E,IATK,kBAUI3G,GAGTurD,IAbK,SAaDy6B,EAAUC,GACZjmF,EAAQgmF,EACRJ,EAASnzF,SAAQ,SAAAqzF,UAAWA,EAAQ9lF,EAAOimF,QAanCC,CAAmB1rD,EAAKtnC,MAAM8M,iDAMxC4oE,gBAAA,8BAEK2c,GAAclmF,KAAKsmF,QADtBzxF,KAKF06E,0BAAA,SAA0BuX,MACpB9mF,KAAKnM,MAAM8M,QAAUmmF,EAAUnmF,MAAO,KAGpCimF,EAFAG,EAAW/mF,KAAKnM,MAAM8M,MACtBgmF,EAAWG,EAAUnmF,QAtDflD,EAyDGspF,MAzDArpF,EAyDUipF,GAvDd,IAANlpF,GAAW,EAAIA,IAAM,EAAIC,EAGzBD,IAAMA,GAAKC,IAAMA,GAqDlBkpF,EAAc,GAEdA,EACkC,oBAAzBX,EACHA,EAAqBc,EAAUJ,GAC/Bf,EAYc,KAFpBgB,GAAe,SAGRN,QAAQp6B,IAAI46B,EAAUnmF,MAAOimF,IA5E9C,IAAkBnpF,EAAGC,KAkFjBhC,OAAA,kBACSsE,KAAKnM,MAAMu0D,YAhDuD,CAGtDk8B,EAAAA,WAAjB8B,EAGGjsF,oBANoE6sF,EAAA,IAOxEd,GAAclhC,IAAAA,OAAiBhB,WAPyCgjC,OAoDvE5B,EApDuE,SAAA6B,2IAyD3Ela,kBAzD2E,IA2D3Et7E,MAAQ,CACNkP,MAAOumF,EAAKr6B,cAoCds6B,SAAW,SAACR,EAAUC,GAEiB,MADI,EAApBM,EAAKna,cACN6Z,MACbxxF,SAAS,CAAEuL,MAAOumF,EAAKr6B,wDApChC0iB,0BAAA,SAA0BuX,OAClB/Z,EAAiB+Z,EAAjB/Z,kBACDA,kBACcz+E,IAAjBy+E,GAA+C,OAAjBA,EAC1B6Y,EACA7Y,KAGR8C,kBAAA,WACM7vE,KAAKuC,QAAQ2jF,SACV3jF,QAAQ2jF,GAAaM,GAAGxmF,KAAKmnF,cAE9Bpa,EAAiB/sE,KAAKnM,MAAtBk5E,kBACDA,kBACcz+E,IAAjBy+E,GAA+C,OAAjBA,EAC1B6Y,EACA7Y,KAGR8O,qBAAA,WACM77E,KAAKuC,QAAQ2jF,SACV3jF,QAAQ2jF,GAAaQ,IAAI1mF,KAAKmnF,aAIvCt6B,SAAA,kBACM7sD,KAAKuC,QAAQ2jF,GACRlmF,KAAKuC,QAAQ2jF,GAAa5+E,MAE1BgmD,KAWX5xD,OAAA,kBA3Ge0sD,EA4GIpoD,KAAKnM,MAAMu0D,SA3GzBt4D,MAAMC,QAAQq4D,GAAYA,EAAS,GAAKA,GA2GLpoD,KAAKvO,MAAMkP,OA5GvD,IAAmBynD,KAI4D,CAoDtDk8B,EAAAA,kBAAjBc,EACG/qF,eArDoE+sF,EAAA,IAsDxElB,GAAclhC,IAAAA,OAtD0DoiC,GA4GtE,CACLhB,SAAAA,EACAhB,SAAAA,IEzKEiC,EAAqB,SAAAtsF,OACnBwH,EAAUyjF,WAChBzjF,EAAQhI,YAAcQ,EAEfwH,GCLH+kF,EAA+BD,EAAmB,kBCAlD9kF,EAAwB8kF,EAAmB,UCQ3C7C,EAAA,SAAA6B,cAKQxyF,8BACJA,IAAN,MAEKpC,MAAQ,CACXF,SAAUsC,EAAMF,QAAQpC,YAQrBg2F,YAAa,IACbC,iBAAmB,KAEnB3zF,EAAM4zF,kBACJpwF,SAAWxD,EAAMF,QAAQyD,QAAO,SAAA7F,KAC9Bi2F,iBAAmBj2F,uBArBvBm2F,iBAAP,SAAwBh6F,SACf,CAAE8C,KAAM,IAAKsH,IAAK,IAAK6vF,OAAQ,CAAC,EAAGC,QAAsB,MAAbl6F,+BAyBrDmiF,kBAAA,2BACO0X,YAAa,EAEdvnF,KAAK3I,eAGFA,WAEF2I,KAAKnM,MAAM4zF,qBACTpwF,SAAW2I,KAAKnM,MAAMF,QAAQyD,QAAO,SAAA7F,GACpC21F,EAAKK,YACPL,EAAK9xF,SAAS,CAAE7D,SAAAA,QAIlByO,KAAKwnF,uBACFpyF,SAAS,CAAE7D,SAAUyO,KAAKwnF,sBAInC3L,qBAAA,WACM77E,KAAK3I,gBACFA,gBACAkwF,YAAa,OACbC,iBAAmB,SAI5B9rF,OAAA,kBAEI4oF,EAAAA,cAAC/hF,EAAc6jF,SAAf,CACEzlF,MAAO,CACLhN,QAASqM,KAAKnM,MAAMF,QACpBpC,SAAUyO,KAAKvO,MAAMF,SACrBs5C,MAAO25C,EAAOkD,iBAAiB1nF,KAAKvO,MAAMF,SAAS7D,UACnD+5F,cAAeznF,KAAKnM,MAAM4zF,gBAG5BnD,EAAAA,cAACgD,EAAelB,SAAhB,CACEh+B,SAAUpoD,KAAKnM,MAAMu0D,UAAY,KACjCznD,MAAOX,KAAKnM,MAAMF,cAnEtB,CAAe2wF,EAAAA,eCAfuD,EAAA,SAAAxB,2IACJ1yF,SAAU0F,EAAAA,EAAAA,qBAAc8hC,EAAKtnC,wCAE7B6H,OAAA,kBACS4oF,EAAAA,cAACE,EAAD,CAAQ7wF,QAASqM,KAAKrM,QAASy0D,SAAUpoD,KAAKnM,MAAMu0D,cAJzD,CAAqBk8B,EAAAA,eCRrBwD,EAAA,SAAAzB,6FACJxW,kBAAA,WACM7vE,KAAKnM,MAAMk0F,SAAS/nF,KAAKnM,MAAMk0F,QAAQr4F,KAAKsQ,KAAMA,SAGxDi4E,mBAAA,SAAmB+P,GACbhoF,KAAKnM,MAAMszF,UAAUnnF,KAAKnM,MAAMszF,SAASz3F,KAAKsQ,KAAMA,KAAMgoF,MAGhEnM,qBAAA,WACM77E,KAAKnM,MAAMo0F,WAAWjoF,KAAKnM,MAAMo0F,UAAUv4F,KAAKsQ,KAAMA,SAG5DtE,OAAA,kBACS,QAdL,CAAkB4oF,EAAAA,WCQxB,SAAS4D,EAATrzF,OAAkBvK,EAAwBuK,EAAxBvK,YAAS69F,KAAAA,OAAe,IAAAC,GAAAA,SAEtC9D,EAAAA,cAAC/hF,EAAc6iF,SAAf,MACG,SAAA7iF,MACWA,IAAVzO,EAAAA,EAAAA,IAAU,IAELq0F,GAAQ5lF,EAAQklF,cAAe,OAAO,SAErCY,EAAS9lF,EAAQ5O,QAAQuD,aAG7BotF,EAAAA,cAACwD,EAAD,CACEC,QAAS,SAAAzgC,GACPA,EAAKghC,QAAUD,EAAO/9F,IAExB68F,SAAU,SAAC7/B,EAAM0gC,GACXA,EAAU19F,UAAYA,IACxBg9D,EAAKghC,UACLhhC,EAAKghC,QAAUD,EAAO/9F,KAG1B29F,UAAW,SAAA3gC,GACTA,EAAKghC,WAEPh+F,QAASA,OChCrB,IAAM89B,EAAQ,CAAC,EACTmgE,EAAa,IACfC,EAAa,EAkBjB,SAASC,EAAaj4F,EAAYm3F,eAAa,IAAzBn3F,IAAAA,EAAO,UAAkB,IAAbm3F,IAAAA,EAAS,CAAC,GAC1B,MAATn3F,EAAeA,EAjBxB,SAAqBA,MACf43B,EAAM53B,GAAO,OAAO43B,EAAM53B,OAExBiQ,EAAYsgD,IAAAA,QAAqBvwD,UAEnCg4F,EAAaD,IACfngE,EAAM53B,GAAQiQ,EACd+nF,KAGK/nF,EAOsBioF,CAAYl4F,EAAZk4F,CAAkBf,EAAQ,CAAErlC,QAAQ,ICXnE,SAASqmC,EAAT9zF,OAAoB+zF,EAAmC/zF,EAAnC+zF,cAAex6F,EAAoByG,EAApBzG,OAAI0E,KAAAA,OAAgB,IAAA+1F,GAAAA,SAEnDvE,EAAAA,cAAC/hF,EAAc6iF,SAAf,MACG,SAAA7iF,GACWA,IAAVzO,EAAAA,EAAAA,IAAU,OAEFH,EAA2B4O,EAA3B5O,QAAS8zF,EAAkBllF,EAAlBklF,cAEXY,EAASv1F,EAAOa,EAAQb,KAAOa,EAAQvG,QACvCmE,GAAWC,EAAAA,EAAAA,gBACfo3F,EACkB,kBAAPx6F,EACLq6F,EAAar6F,EAAIw6F,EAAcjB,SADjCh2F,EAAAA,EAAAA,GAAA,GAGOvD,EAHP,CAIIV,SAAU+6F,EAAar6F,EAAGV,SAAUk7F,EAAcjB,UAEtDv5F,UAKFq5F,GACFY,EAAO92F,GACA,MAIP+yF,EAAAA,cAACwD,EAAD,CACEC,QAAS,WACPM,EAAO92F,IAET41F,SAAU,SAAC7/B,EAAM0gC,OACTxvF,GAAehH,EAAAA,EAAAA,gBAAew2F,EAAU55F,KAE3C2D,EAAAA,EAAAA,mBAAkByG,GAAD7G,EAAAA,EAAAA,GAAC,CAAD,EACbJ,EADa,CAEhBjB,IAAKkI,EAAalI,QAGpB+3F,EAAO92F,IAGXnD,GAAIA,OCrDhB,IAAM06F,EAAQ,CAAC,EACTC,EAAa,IACfC,EAAa,EAuBjB,SAAStD,EAAUh4F,EAAUtD,QAAc,IAAdA,IAAAA,EAAU,CAAC,IACf,kBAAZA,GAAwB0F,MAAMC,QAAQ3F,MAC/CA,EAAU,CAAEoG,KAAMpG,UAG+CA,EAA3DoG,EALiC+5C,EAKjC/5C,SAAMs0D,MAAAA,OAL2B,IAAAmkC,GAAAA,MAKZpmC,OAAAA,OALY,IAAAqmC,GAAAA,MAKItmC,UAAAA,OALJ,IAAAumC,GAAAA,QAO3B,GAAGr6F,OAAO0B,GAEX21B,QAAO,SAACijE,EAAS54F,OACvBA,GAAiB,KAATA,EAAa,OAAO,QAC7B44F,EAAS,OAAOA,QAhCxB,SAAqB54F,EAAMpG,OACnBi/F,EAAW,GAAGj/F,EAAQic,IAAMjc,EAAQy4D,OAASz4D,EAAQw4D,UACrD0mC,EAAYR,EAAMO,KAAcP,EAAMO,GAAY,CAAC,MAErDC,EAAU94F,GAAO,OAAO84F,EAAU94F,OAEhCJ,EAAO,GAEPjB,EAAS,CAAEo6F,OADFxoC,IAAavwD,EAAMJ,EAAMhG,GACfgG,KAAAA,UAErB44F,EAAaD,IACfO,EAAU94F,GAAQrB,EAClB65F,KAGK75F,EAmBoBq6F,CAAYh5F,EAAM,CACzC6V,IAAKy+C,EACLjC,OAAAA,EACAD,UAAAA,IAHM2mC,EAJ6BE,EAI7BF,OAAQn5F,EAJqBq5F,EAIrBr5F,KAKVy6C,EAAQ0+C,EAAO/nC,KAAK9zD,OAErBm9C,EAAO,OAAO,SAEZ/yC,EAAkB+yC,EAbY,GAatBl0B,EAAUk0B,EAbY75C,MAAA,GAc/B42F,EAAUl6F,IAAaoK,SAEzBgtD,IAAU8iC,EAAgB,KAEvB,CACLp3F,KAAAA,EACAsH,IAAc,MAATtH,GAAwB,KAARsH,EAAa,IAAMA,EACxC8vF,QAAAA,EACAD,OAAQv3F,EAAK+1B,QAAO,SAACujE,EAAMp5F,EAAKxC,UAC9B47F,EAAKp5F,EAAIyK,MAAQ4b,EAAO7oB,GACjB47F,IACN,CAAC,MAEL,UClCCC,EAAA,SAAAtD,oFACJ3qF,OAAA,6BAEI4oF,EAAAA,cAAC/hF,EAAc6iF,SAAf,MACG,SAAAwE,GACWA,IAAV91F,EAAAA,EAAAA,IAAU,OAEJvC,EAAW4pC,EAAKtnC,MAAMtC,UAAYq4F,EAAQr4F,SAC1Cs5C,EAAQ1P,EAAKtnC,MAAM+0F,cACrBztD,EAAKtnC,MAAM+0F,cACXztD,EAAKtnC,MAAMrD,KACXk1F,EAAUn0F,EAAS7D,SAAUytC,EAAKtnC,OAClC+1F,EAAQ/+C,MAENh3C,GAAKlC,EAAAA,EAAAA,GAAA,GAAQi4F,EAAR,CAAiBr4F,SAAAA,EAAUs5C,MAAAA,MAEA1P,EAAKtnC,MAArCu0D,EAZID,EAYJC,SAAU7sD,EAZN4sD,EAYM5sD,UAAWG,EAZjBysD,EAYiBzsD,cAIvB5L,MAAMC,QAAQq4D,IAxC5B,SAAyBA,UACmB,IAAnCk8B,EAAAA,SAAel4E,MAAMg8C,GAuCWyhC,CAAgBzhC,KAC7CA,EAAW,MAIXk8B,EAAAA,cAAC/hF,EAAc6jF,SAAf,CAAwBzlF,MAAO9M,GAC5BA,EAAMg3C,MACHud,EACsB,oBAAbA,EAGHA,EAASv0D,GACXu0D,EACF7sD,EACA+oF,EAAAA,cAAoB/oF,EAAW1H,GAC/B6H,EACAA,EAAO7H,GACP,KACkB,oBAAbu0D,EAGLA,EAASv0D,GACX,YA1CZ,CAAcywF,EAAAA,WCrBpB,SAAS/zF,EAAgBC,SACG,MAAnBA,EAAK7C,OAAO,GAAa6C,EAAO,IAAMA,EAY/C,SAASE,EAAcgE,EAAUnD,OAC1BmD,EAAU,OAAOnD,MAEhB2gE,EAAO3hE,EAAgBmE,UAEW,IAApCnD,EAAS7D,SAASmD,QAAQqhE,GAAoB3gE,aAG7CA,EADL,CAEE7D,SAAU6D,EAAS7D,SAAS2B,OAAO6iE,EAAKhkE,UAI5C,SAAS47F,EAAUv4F,SACU,kBAAbA,EAAwBA,GAAWD,EAAAA,EAAAA,YAAWC,GAG9D,SAASw4F,EAAcC,UACd,YACLl2F,EAAAA,EAAAA,IAAU,IAId,SAASm2F,IAAQ,KAQXC,EAAA,SAAA7D,2IAQJ8D,WAAa,SAAA54F,UAAY4pC,EAAKivD,WAAW74F,EAAU,WACnD84F,cAAgB,SAAA94F,UAAY4pC,EAAKivD,WAAW74F,EAAU,cACtD+4F,aAAe,kBAAML,KACrBM,YAAc,kBAAMN,6CAVpBG,WAAA,SAAW74F,EAAUc,SACqB2N,KAAKnM,UAArCa,SAAAA,OADmB,IAAA81F,EACR,GADQA,MACJjoF,QAAAA,OADI,IAAAkoF,EACM,CAAC,EADPA,EAE3BloF,EAAQlQ,OAASA,EACjBkQ,EAAQhR,SA5CZ,SAAqBmD,EAAUnD,UACxBmD,aAGAnD,EADL,CAEE7D,SAAU6C,EAAgBmE,GAAYnD,EAAS7D,WAJ3B6D,EA2CDm5F,CAAYh2F,GAAUlD,EAAAA,EAAAA,gBAAeD,IACxDgR,EAAQzK,IAAMgyF,EAAUvnF,EAAQhR,aAQlCmK,OAAA,iBACmEsE,KAAKnM,UAA9Da,SAAAA,OADD,IAAAi2F,EACY,GADZA,MACgBpoF,QAAAA,OADhB,IAAAqoF,EAC0B,CAAC,EAD3BA,MAC8Br5F,SAAAA,OAD9B,IAAAs5F,EACyC,IADzCA,EACiDC,GADjD3kC,EAAAA,EAAAA,GAAAsC,EAAA,mCAGD90D,EAAU,CACd2C,WAAY,SAAA9F,UAAQD,EAAgBmE,EAAWo1F,EAAUt5F,KACzD6B,OAAQ,MACRd,SAAUb,EAAcgE,GAAUlD,EAAAA,EAAAA,gBAAeD,IACjDuB,KAAMkN,KAAKmqF,WACX/8F,QAAS4S,KAAKqqF,cACdl0F,GAAI4zF,IACJ/yF,OAAQ+yF,IACR9yF,UAAW8yF,IACX3yF,OAAQ4I,KAAKsqF,aACbpzF,MAAO8I,KAAKuqF,oBAGPjG,EAAAA,cAACE,GAAD7yF,EAAAA,EAAAA,GAAA,GAAYm5F,EAAZ,CAAkBn3F,QAASA,EAAS8zF,cAAellF,QA7BxD,CAAqB+hF,EAAAA,eCzCrByG,EAAA,SAAA1E,oFACJ3qF,OAAA,6BAEI4oF,EAAAA,cAAC/hF,EAAc6iF,SAAf,MACG,SAAA7iF,GACWA,IAAVzO,EAAAA,EAAAA,IAAU,OAIN09B,EAASqZ,EAFPt5C,EAAW4pC,EAAKtnC,MAAMtC,UAAYgR,EAAQhR,gBAQhD+yF,EAAAA,SAAelxF,QAAQ+nC,EAAKtnC,MAAMu0D,UAAU,SAAAjiB,MAC7B,MAAT0E,GAAiBy5C,EAAAA,eAAqBn+C,GAAQ,CAChD3U,EAAU2U,MAEJ31C,EAAO21C,EAAMtyC,MAAMrD,MAAQ21C,EAAMtyC,MAAMxF,KAE7Cw8C,EAAQr6C,EACJk1F,EAAUn0F,EAAS7D,UAAViE,EAAAA,EAAAA,GAAC,CAAD,EAAyBw0C,EAAMtyC,MAA/B,CAAsCrD,KAAAA,KAC/C+R,EAAQsoC,UAITA,EACHy5C,EAAAA,aAAmB9yD,EAAS,CAAEjgC,SAAAA,EAAUq3F,cAAe/9C,IACvD,WA7BR,CAAey5C,EAAAA,WCDrB,SAAS0G,EAAW3c,OACZ9zE,EAAc,eAAc8zE,EAAU9zE,aAAe8zE,EAAUtzE,MAApD,IACXkzE,EAAI,SAAAp6E,OACAo3F,EAA2Cp3F,EAA3Co3F,oBAAwBC,GADf/kC,EAAAA,EAAAA,GACkCtyD,EADlC,gCAIfywF,EAAAA,cAAC/hF,EAAc6iF,SAAf,MACG,SAAA7iF,UAEGA,IADFzO,EAAAA,EAAAA,IAAU,GAKRwwF,EAAAA,cAACjW,GAAD18E,EAAAA,EAAAA,GAAA,GACMu5F,EACA3oF,EAFN,CAGEytE,IAAKib,gBAQjBhd,EAAE1zE,YAAcA,EAChB0zE,EAAEkd,iBAAmB9c,EAYd+c,IAAand,EAAGI,GCxCzB,IAAM+H,EAAakO,EAAAA,WAEnB,SAAgB+G,WAQPjV,EAAWkR,GAGpB,SAAgBgE,WAQPlV,EAAW7zE,GAAehR,SAGnC,SAAgBg6F,QAQR1gD,EAAQurC,EAAW7zE,GAAesoC,aACjCA,EAAQA,EAAM88C,OAAS,CAAC,EAGjC,SAAgB6D,EAAch7F,OAQtBe,EAAW+5F,IACXzgD,EAAQurC,EAAW7zE,GAAesoC,aACjCr6C,EAAOk1F,EAAUn0F,EAAS7D,SAAU8C,GAAQq6C,wCC5CpCh7C,EAAE,oBAAoB6M,QAAQA,OAAOC,IAAIC,EAAE/M,EAAE6M,OAAOC,IAAI,iBAAiB,MAAME,EAAEhN,EAAE6M,OAAOC,IAAI,gBAAgB,MAAM9Q,EAAEgE,EAAE6M,OAAOC,IAAI,kBAAkB,MAAMG,EAAEjN,EAAE6M,OAAOC,IAAI,qBAAqB,MAAMI,EAAElN,EAAE6M,OAAOC,IAAI,kBAAkB,MAAMK,EAAEnN,EAAE6M,OAAOC,IAAI,kBAAkB,MAAM3O,EAAE6B,EAAE6M,OAAOC,IAAI,iBAAiB,MAAMM,EAAEpN,EAAE6M,OAAOC,IAAI,oBAAoB,MAAMO,EAAErN,EAAE6M,OAAOC,IAAI,yBAAyB,MAAM1O,EAAE4B,EAAE6M,OAAOC,IAAI,qBAAqB,MAAMQ,EAAEtN,EAAE6M,OAAOC,IAAI,kBAAkB,MAAMS,EAAEvN,EACpf6M,OAAOC,IAAI,uBAAuB,MAAMU,EAAExN,EAAE6M,OAAOC,IAAI,cAAc,MAAMW,EAAEzN,EAAE6M,OAAOC,IAAI,cAAc,MAAMY,EAAE1N,EAAE6M,OAAOC,IAAI,eAAe,MAAMa,EAAE3N,EAAE6M,OAAOC,IAAI,qBAAqB,MAAMc,EAAE5N,EAAE6M,OAAOC,IAAI,mBAAmB,MAAMe,EAAE7N,EAAE6M,OAAOC,IAAI,eAAe,MAClQ,SAASgB,EAAE/N,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIgO,EAAEhO,EAAEiO,SAAS,OAAOD,GAAG,KAAKhB,EAAE,OAAOhN,EAAEA,EAAEiL,MAAQ,KAAKoC,EAAE,KAAKC,EAAE,KAAKrR,EAAE,KAAKkR,EAAE,KAAKD,EAAE,KAAKK,EAAE,OAAOvN,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEiO,UAAY,KAAK7P,EAAE,KAAKC,EAAE,KAAKqP,EAAE,KAAKD,EAAE,KAAKL,EAAE,OAAOpN,EAAE,QAAQ,OAAOgO,GAAG,KAAKf,EAAE,OAAOe,EAAE,CAAC,CAAC,SAASE,EAAElO,GAAG,OAAO+N,EAAE/N,KAAKsN,CAAC,qCCRrSjT,EAAAA,yCCKWF,EAAQ,MAAiB,IAAI+S,EAAE/S,EAAQ,MAASgT,EAAE,MAA6B,GAAvB7S,EAAQkU,SAAS,MAAS,oBAAoB1B,QAAQA,OAAOC,IAAI,CAAC,IAAIK,EAAEN,OAAOC,IAAII,EAAEC,EAAE,iBAAiB9S,EAAQkU,SAASpB,EAAE,iBAAiB,CAAC,IAAIE,EAAEJ,EAAE4tD,mDAAmDwsB,kBAAkBjpF,EAAEuB,OAAOC,UAAUkQ,eAAexC,EAAE,CAAC7M,KAAI,EAAG0/E,KAAI,EAAGyb,QAAO,EAAGC,UAAS,GACrW,SAAStuF,EAAER,EAAEhN,EAAE5B,GAAG,IAAI6B,EAAEgN,EAAE,CAAC,EAAEhR,EAAE,KAAKoR,EAAE,KAAiF,IAAIpN,UAAhF,IAAS7B,IAAInC,EAAE,GAAGmC,QAAG,IAAS4B,EAAEU,MAAMzE,EAAE,GAAG+D,EAAEU,UAAK,IAASV,EAAEogF,MAAM/yE,EAAErN,EAAEogF,KAAcpgF,EAAE3B,EAAEyB,KAAKE,EAAEC,KAAKsN,EAAEwC,eAAe9P,KAAKgN,EAAEhN,GAAGD,EAAEC,IAAI,GAAG+M,GAAGA,EAAEtC,aAAa,IAAIzK,KAAKD,EAAEgN,EAAEtC,kBAAe,IAASuC,EAAEhN,KAAKgN,EAAEhN,GAAGD,EAAEC,IAAI,MAAM,CAACgO,SAASd,EAAElC,KAAK+B,EAAEtM,IAAIzE,EAAEmkF,IAAI/yE,EAAEpJ,MAAMgJ,EAAEozE,OAAO/yE,EAAE0O,QAAQ,CAAC1hB,EAAQyhG,IAAIvuF,EAAElT,EAAQ0hG,KAAKxuF,qCCD1U,IAAIH,EAAElT,EAAQ,MAAiBkE,EAAE,MAAMkP,EAAE,MAAMjT,EAAQkU,SAAS,MAAMlU,EAAQsU,WAAW,MAAMtU,EAAQqU,SAAS,MAAM,IAAInB,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMpT,EAAQuU,SAAS,MAAM,IAAIb,EAAE,MAAML,EAAE,MACpM,GAAG,oBAAoBb,QAAQA,OAAOC,IAAI,CAAC,IAAIa,EAAEd,OAAOC,IAAI1O,EAAEuP,EAAE,iBAAiBL,EAAEK,EAAE,gBAAgBtT,EAAQkU,SAASZ,EAAE,kBAAkBtT,EAAQsU,WAAWhB,EAAE,qBAAqBtT,EAAQqU,SAASf,EAAE,kBAAkBJ,EAAEI,EAAE,kBAAkBH,EAAEG,EAAE,iBAAiBF,EAAEE,EAAE,qBAAqBtT,EAAQuU,SAASjB,EAAE,kBAAkBI,EAAEJ,EAAE,cAAcD,EAAEC,EAAE,aAAa,CAAC,IAAIC,EAAE,oBAAoBf,QAAQA,OAAOkF,SACtR,SAASjE,EAAE/N,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEgN,EAAE,EAAEA,EAAE/J,UAAU3E,OAAO0O,IAAI/M,GAAG,WAAWqoC,mBAAmBrlC,UAAU+J,IAAI,MAAM,yBAAyBhN,EAAE,WAAWC,EAAE,gHAAgH,CACpb,IAAIiO,EAAE,CAAC2wE,UAAU,WAAW,OAAM,CAAE,EAAEO,mBAAmB,WAAW,EAAED,oBAAoB,WAAW,EAAEJ,gBAAgB,WAAW,GAAGplB,EAAE,CAAC,EAAE,SAAS0kB,EAAEr+E,EAAEC,EAAE+M,GAAGoD,KAAKnM,MAAMjE,EAAEoQ,KAAKuC,QAAQ1S,EAAEmQ,KAAKsuE,KAAK/kB,EAAEvpD,KAAKqvE,QAAQzyE,GAAGkB,CAAC,CACrN,SAASisD,IAAI,CAAyB,SAASj6C,EAAElgB,EAAEC,EAAE+M,GAAGoD,KAAKnM,MAAMjE,EAAEoQ,KAAKuC,QAAQ1S,EAAEmQ,KAAKsuE,KAAK/kB,EAAEvpD,KAAKqvE,QAAQzyE,GAAGkB,CAAC,CADqGmwE,EAAEx+E,UAAU+wF,iBAAiB,CAAC,EAAEvS,EAAEx+E,UAAU2F,SAAS,SAASxF,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAM/C,MAAM8Q,EAAE,KAAKqC,KAAKqvE,QAAQV,gBAAgB3uE,KAAKpQ,EAAEC,EAAE,WAAW,EAAEo+E,EAAEx+E,UAAUo8F,YAAY,SAASj8F,GAAGoQ,KAAKqvE,QAAQL,mBAAmBhvE,KAAKpQ,EAAE,cAAc,EACjem6D,EAAEt6D,UAAUw+E,EAAEx+E,UAAsF,IAAIsgB,EAAED,EAAErgB,UAAU,IAAIs6D,EAAEh6C,EAAE9P,YAAY6P,EAAE7S,EAAE8S,EAAEk+D,EAAEx+E,WAAWsgB,EAAEo/D,sBAAqB,EAAG,IAAIlJ,EAAE,CAACr6D,QAAQ,MAAM88D,EAAEl5E,OAAOC,UAAUkQ,eAAegpE,EAAE,CAACr4E,KAAI,EAAG0/E,KAAI,EAAGyb,QAAO,EAAGC,UAAS,GAChS,SAAS5kB,EAAEl3E,EAAEC,EAAE+M,GAAG,IAAI/Q,EAAEgR,EAAE,CAAC,EAAE7O,EAAE,KAAKgP,EAAE,KAAK,GAAG,MAAMnN,EAAE,IAAIhE,UAAK,IAASgE,EAAEmgF,MAAMhzE,EAAEnN,EAAEmgF,UAAK,IAASngF,EAAES,MAAMtC,EAAE,GAAG6B,EAAES,KAAKT,EAAE64E,EAAEh5E,KAAKG,EAAEhE,KAAK88E,EAAEhpE,eAAe9T,KAAKgR,EAAEhR,GAAGgE,EAAEhE,IAAI,IAAIkR,EAAElK,UAAU3E,OAAO,EAAE,GAAG,IAAI6O,EAAEF,EAAEurD,SAASxrD,OAAO,GAAG,EAAEG,EAAE,CAAC,IAAI,IAAID,EAAEhN,MAAMiN,GAAGG,EAAE,EAAEA,EAAEH,EAAEG,IAAIJ,EAAEI,GAAGrK,UAAUqK,EAAE,GAAGL,EAAEurD,SAAStrD,CAAC,CAAC,GAAGlN,GAAGA,EAAE0K,aAAa,IAAIzO,KAAKkR,EAAEnN,EAAE0K,kBAAe,IAASuC,EAAEhR,KAAKgR,EAAEhR,GAAGkR,EAAElR,IAAI,MAAM,CAACgS,SAAS5P,EAAE4M,KAAKjL,EAAEU,IAAItC,EAAEgiF,IAAIhzE,EAAEnJ,MAAMgJ,EAAEozE,OAAOhK,EAAEr6D,QAAQ,CAChV,SAASioB,EAAEjkC,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEiO,WAAW5P,CAAC,CAAoG,IAAI46E,EAAE,OAAO,SAASC,EAAEl5E,EAAEC,GAAG,MAAM,kBAAkBD,GAAG,OAAOA,GAAG,MAAMA,EAAEU,IAA7K,SAAgBV,GAAG,IAAIC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAID,EAAExC,QAAQ,SAAQ,SAASwC,GAAG,OAAOC,EAAED,EAAE,GAAE,CAA+Ek8F,CAAO,GAAGl8F,EAAEU,KAAKT,EAAEqF,SAAS,GAAG,CAC/W,SAASo2E,EAAE17E,EAAEC,EAAE+M,EAAE/Q,EAAEgR,GAAG,IAAI7O,SAAS4B,EAAK,cAAc5B,GAAG,YAAYA,IAAE4B,EAAE,MAAK,IAAIoN,GAAE,EAAG,GAAG,OAAOpN,EAAEoN,GAAE,OAAQ,OAAOhP,GAAG,IAAK,SAAS,IAAK,SAASgP,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOpN,EAAEiO,UAAU,KAAK5P,EAAE,KAAKkP,EAAEH,GAAE,GAAI,GAAGA,EAAE,OAAWH,EAAEA,EAANG,EAAEpN,GAASA,EAAE,KAAK/D,EAAE,IAAIi9E,EAAE9rE,EAAE,GAAGnR,EAAEiE,MAAMC,QAAQ8M,IAAID,EAAE,GAAG,MAAMhN,IAAIgN,EAAEhN,EAAExC,QAAQy7E,EAAE,OAAO,KAAKyC,EAAEzuE,EAAEhN,EAAE+M,EAAE,IAAG,SAAShN,GAAG,OAAOA,CAAC,KAAI,MAAMiN,IAAIg3B,EAAEh3B,KAAKA,EAD/W,SAAWjN,EAAEC,GAAG,MAAM,CAACgO,SAAS5P,EAAE4M,KAAKjL,EAAEiL,KAAKvK,IAAIT,EAAEmgF,IAAIpgF,EAAEogF,IAAIn8E,MAAMjE,EAAEiE,MAAMo8E,OAAOrgF,EAAEqgF,OAAO,CACqRlJ,CAAElqE,EAAED,IAAIC,EAAEvM,KAAK0M,GAAGA,EAAE1M,MAAMuM,EAAEvM,IAAI,IAAI,GAAGuM,EAAEvM,KAAKlD,QAAQy7E,EAAE,OAAO,KAAKj5E,IAAIC,EAAEiD,KAAK+J,IAAI,EAAyB,GAAvBG,EAAE,EAAEnR,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOiE,MAAMC,QAAQH,GAAG,IAAI,IAAImN,EACzf,EAAEA,EAAEnN,EAAE1B,OAAO6O,IAAI,CAAQ,IAAID,EAAEjR,EAAEi9E,EAAf96E,EAAE4B,EAAEmN,GAAeA,GAAGC,GAAGsuE,EAAEt9E,EAAE6B,EAAE+M,EAAEE,EAAED,EAAE,MAAM,GAAGC,EANhE,SAAWlN,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAE6N,GAAG7N,EAAE6N,IAAI7N,EAAE,eAA0CA,EAAE,IAAI,CAMtD8N,CAAE9N,GAAG,oBAAoBkN,EAAE,IAAIlN,EAAEkN,EAAEpN,KAAKE,GAAGmN,EAAE,IAAI/O,EAAE4B,EAAEqR,QAAQE,MAA6BnE,GAAGsuE,EAA1Bt9E,EAAEA,EAAE2S,MAA0B9Q,EAAE+M,EAAtBE,EAAEjR,EAAEi9E,EAAE96E,EAAE+O,KAAkBF,QAAQ,GAAG,WAAW7O,EAAE,MAAM6B,EAAE,GAAGD,EAAE/C,MAAM8Q,EAAE,GAAG,oBAAoB9N,EAAE,qBAAqBL,OAAOY,KAAKR,GAAGR,KAAK,MAAM,IAAIS,IAAI,OAAOmN,CAAC,CAAC,SAASwD,EAAE5Q,EAAEC,EAAE+M,GAAG,GAAG,MAAMhN,EAAE,OAAOA,EAAE,IAAI/D,EAAE,GAAGgR,EAAE,EAAmD,OAAjDyuE,EAAE17E,EAAE/D,EAAE,GAAG,IAAG,SAAS+D,GAAG,OAAOC,EAAEH,KAAKkN,EAAEhN,EAAEiN,IAAI,IAAUhR,CAAC,CAC3Z,SAASm7E,EAAEp3E,GAAG,IAAI,IAAIA,EAAEm8F,QAAQ,CAAC,IAAIl8F,EAAED,EAAEo8F,QAAQn8F,EAAEA,IAAID,EAAEm8F,QAAQ,EAAEn8F,EAAEo8F,QAAQn8F,EAAEA,EAAEuR,MAAK,SAASvR,GAAG,IAAID,EAAEm8F,UAAUl8F,EAAEA,EAAEo8F,QAAQr8F,EAAEm8F,QAAQ,EAAEn8F,EAAEo8F,QAAQn8F,EAAE,IAAE,SAASA,GAAG,IAAID,EAAEm8F,UAAUn8F,EAAEm8F,QAAQ,EAAEn8F,EAAEo8F,QAAQn8F,EAAE,GAAE,CAAC,GAAG,IAAID,EAAEm8F,QAAQ,OAAOn8F,EAAEo8F,QAAQ,MAAMp8F,EAAEo8F,OAAQ,CAAC,IAAIjZ,EAAE,CAACnnE,QAAQ,MAAM,SAASonE,IAAI,IAAIpjF,EAAEmjF,EAAEnnE,QAAQ,GAAG,OAAOhc,EAAE,MAAM/C,MAAM8Q,EAAE,MAAM,OAAO/N,CAAC,CAAC,IAAImkC,EAAE,CAAC6+C,uBAAuBG,EAAEjH,wBAAwB,CAACtT,WAAW,GAAG0e,kBAAkBjR,EAAEimB,qBAAqB,CAACtgF,SAAQ,GAAIvb,OAAO4M,GACje/S,EAAQo+D,SAAS,CAAC3uD,IAAI6G,EAAEpN,QAAQ,SAASxD,EAAEC,EAAE+M,GAAG4D,EAAE5Q,GAAE,WAAWC,EAAE+C,MAAMoN,KAAKnN,UAAU,GAAE+J,EAAE,EAAEwP,MAAM,SAASxc,GAAG,IAAIC,EAAE,EAAuB,OAArB2Q,EAAE5Q,GAAE,WAAWC,GAAG,IAAUA,CAAC,EAAEs8F,QAAQ,SAASv8F,GAAG,OAAO4Q,EAAE5Q,GAAE,SAASA,GAAG,OAAOA,CAAC,KAAI,EAAE,EAAE24D,KAAK,SAAS34D,GAAG,IAAIikC,EAAEjkC,GAAG,MAAM/C,MAAM8Q,EAAE,MAAM,OAAO/N,CAAC,GAAG1F,EAAQmkF,UAAUJ,EAAE/jF,EAAQy+D,cAAc74C,EAAE5lB,EAAQwgE,mDAAmD32B,EAChX7pC,EAAQw+D,aAAa,SAAS94D,EAAEC,EAAE+M,GAAG,GAAG,OAAOhN,QAAG,IAASA,EAAE,MAAM/C,MAAM8Q,EAAE,IAAI/N,IAAI,IAAI/D,EAAEoR,EAAE,CAAC,EAAErN,EAAEiE,OAAOgJ,EAAEjN,EAAEU,IAAItC,EAAE4B,EAAEogF,IAAIhzE,EAAEpN,EAAEqgF,OAAO,GAAG,MAAMpgF,EAAE,CAAoE,QAAnE,IAASA,EAAEmgF,MAAMhiF,EAAE6B,EAAEmgF,IAAIhzE,EAAEipE,EAAEr6D,cAAS,IAAS/b,EAAES,MAAMuM,EAAE,GAAGhN,EAAES,KAAQV,EAAEiL,MAAMjL,EAAEiL,KAAKP,aAAa,IAAIyC,EAAEnN,EAAEiL,KAAKP,aAAa,IAAIwC,KAAKjN,EAAE64E,EAAEh5E,KAAKG,EAAEiN,KAAK6rE,EAAEhpE,eAAe7C,KAAKjR,EAAEiR,QAAG,IAASjN,EAAEiN,SAAI,IAASC,EAAEA,EAAED,GAAGjN,EAAEiN,GAAG,CAAC,IAAIA,EAAEjK,UAAU3E,OAAO,EAAE,GAAG,IAAI4O,EAAEjR,EAAEu8D,SAASxrD,OAAO,GAAG,EAAEE,EAAE,CAACC,EAAEjN,MAAMgN,GAAG,IAAI,IAAII,EAAE,EAAEA,EAAEJ,EAAEI,IAAIH,EAAEG,GAAGrK,UAAUqK,EAAE,GAAGrR,EAAEu8D,SAASrrD,CAAC,CAAC,MAAM,CAACc,SAAS5P,EAAE4M,KAAKjL,EAAEiL,KACxfvK,IAAIuM,EAAEmzE,IAAIhiF,EAAE6F,MAAMhI,EAAEokF,OAAOjzE,EAAE,EAAE9S,EAAQ87F,cAAc,SAASp2F,EAAEC,GAA8K,YAA3K,IAASA,IAAIA,EAAE,OAAMD,EAAE,CAACiO,SAASR,EAAEokF,sBAAsB5xF,EAAEy8E,cAAc18E,EAAEw8F,eAAex8F,EAAEy8F,aAAa,EAAEjG,SAAS,KAAKhB,SAAS,OAAQgB,SAAS,CAACvoF,SAAST,EAAEsb,SAAS9oB,GAAUA,EAAEw1F,SAASx1F,CAAC,EAAE1F,EAAQa,cAAc+7E,EAAE58E,EAAQoiG,cAAc,SAAS18F,GAAG,IAAIC,EAAEi3E,EAAElM,KAAK,KAAKhrE,GAAY,OAATC,EAAEgL,KAAKjL,EAASC,CAAC,EAAE3F,EAAQqiG,UAAU,WAAW,MAAM,CAAC3gF,QAAQ,KAAK,EAAE1hB,EAAQ26F,WAAW,SAASj1F,GAAG,MAAM,CAACiO,SAASP,EAAE5B,OAAO9L,EAAE,EAAE1F,EAAQsiG,eAAe34D,EAC3e3pC,EAAQuiG,KAAK,SAAS78F,GAAG,MAAM,CAACiO,SAASN,EAAEgvD,SAAS,CAACw/B,SAAS,EAAEC,QAAQp8F,GAAG48D,MAAMwa,EAAE,EAAE98E,EAAQw/F,KAAK,SAAS95F,EAAEC,GAAG,MAAM,CAACgO,SAASD,EAAE/C,KAAKjL,EAAEwL,aAAQ,IAASvL,EAAE,KAAKA,EAAE,EAAE3F,EAAQisF,YAAY,SAASvmF,EAAEC,GAAG,OAAOmjF,IAAImD,YAAYvmF,EAAEC,EAAE,EAAE3F,EAAQksF,WAAW,SAASxmF,EAAEC,GAAG,OAAOmjF,IAAIoD,WAAWxmF,EAAEC,EAAE,EAAE3F,EAAQwsF,cAAc,WAAW,EAAExsF,EAAQ4qF,UAAU,SAASllF,EAAEC,GAAG,OAAOmjF,IAAI8B,UAAUllF,EAAEC,EAAE,EAAE3F,EAAQmsF,oBAAoB,SAASzmF,EAAEC,EAAE+M,GAAG,OAAOo2E,IAAIqD,oBAAoBzmF,EAAEC,EAAE+M,EAAE,EAChd1S,EAAQosF,gBAAgB,SAAS1mF,EAAEC,GAAG,OAAOmjF,IAAIsD,gBAAgB1mF,EAAEC,EAAE,EAAE3F,EAAQqsF,QAAQ,SAAS3mF,EAAEC,GAAG,OAAOmjF,IAAIuD,QAAQ3mF,EAAEC,EAAE,EAAE3F,EAAQssF,WAAW,SAAS5mF,EAAEC,EAAE+M,GAAG,OAAOo2E,IAAIwD,WAAW5mF,EAAEC,EAAE+M,EAAE,EAAE1S,EAAQusF,OAAO,SAAS7mF,GAAG,OAAOojF,IAAIyD,OAAO7mF,EAAE,EAAE1F,EAAQyqF,SAAS,SAAS/kF,GAAG,OAAOojF,IAAI2B,SAAS/kF,EAAE,EAAE1F,EAAQk4F,QAAQ,4CCnBnTn4F,EAAOC,QAAU,EAAjBD,wCCAAA,EAAOC,QAAU,EAAjBD,uCCKW,IAAI6S,EAAEC,EAAEC,EAAEhP,EAAE,GAAG,kBAAkB0+F,aAAa,oBAAoBA,YAAYruC,IAAI,CAAC,IAAIphD,EAAEyvF,YAAYxiG,EAAQgvE,aAAa,WAAW,OAAOj8D,EAAEohD,KAAK,CAAC,KAAK,CAAC,IAAIlhD,EAAEihD,KAAKhhD,EAAED,EAAEkhD,MAAMn0D,EAAQgvE,aAAa,WAAW,OAAO/7D,EAAEkhD,MAAMjhD,CAAC,CAAC,CAC7O,GAAG,qBAAqBhR,QAAQ,oBAAoBugG,eAAe,CAAC,IAAIrvF,EAAE,KAAKM,EAAE,KAAKJ,EAAE,SAAFA,IAAa,GAAG,OAAOF,EAAE,IAAI,IAAI1N,EAAE1F,EAAQgvE,eAAe57D,GAAE,EAAG1N,GAAG0N,EAAE,IAAI,CAAC,MAAMzN,GAAG,MAAMs7C,WAAW3tC,EAAE,GAAG3N,CAAE,CAAC,EAAEiN,EAAE,SAASlN,GAAG,OAAO0N,EAAE6tC,WAAWruC,EAAE,EAAElN,IAAI0N,EAAE1N,EAAEu7C,WAAW3tC,EAAE,GAAG,EAAET,EAAE,SAASnN,EAAEC,GAAG+N,EAAEutC,WAAWv7C,EAAEC,EAAE,EAAEmN,EAAE,WAAW6qE,aAAajqE,EAAE,EAAE1T,EAAQggF,qBAAqB,WAAW,OAAM,CAAE,EAAEl8E,EAAE9D,EAAQ0iG,wBAAwB,WAAW,CAAC,KAAK,CAAC,IAAInvF,EAAErR,OAAO++C,WAAWztC,EAAEtR,OAAOy7E,aAAa,GAAG,qBAAqB37E,QAAQ,CAAC,IAAIyR,EAC7fvR,OAAOygG,qBAAqB,oBAAoBzgG,OAAO0gG,uBAAuB5gG,QAAQa,MAAM,sJAAsJ,oBAAoB4Q,GAAGzR,QAAQa,MAAM,oJAAoJ,CAAC,IAAI+Q,GAAE,EAAGyrD,EAAE,KAAK0kB,GAAG,EAAElkB,EAAE,EAAEj6C,EAAE,EAAE5lB,EAAQggF,qBAAqB,WAAW,OAAOhgF,EAAQgvE,gBAChgBppD,CAAC,EAAE9hB,EAAE,WAAW,EAAE9D,EAAQ0iG,wBAAwB,SAASh9F,GAAG,EAAEA,GAAG,IAAIA,EAAE1D,QAAQa,MAAM,mHAAmHg9D,EAAE,EAAEn6D,EAAEoF,KAAKqsC,MAAM,IAAIzxC,GAAG,CAAC,EAAE,IAAImgB,EAAE,IAAI48E,eAAe1mB,EAAEl2D,EAAEg9E,MAAMh9E,EAAEi9E,MAAMC,UAAU,WAAW,GAAG,OAAO1jC,EAAE,CAAC,IAAI35D,EAAE1F,EAAQgvE,eAAeppD,EAAElgB,EAAEm6D,EAAE,IAAIR,GAAE,EAAG35D,GAAGq2E,EAAEinB,YAAY,OAAOpvF,GAAE,EAAGyrD,EAAE,KAAK,CAAC,MAAM15D,GAAG,MAAMo2E,EAAEinB,YAAY,MAAMr9F,CAAE,CAAC,MAAMiO,GAAE,CAAE,EAAEhB,EAAE,SAASlN,GAAG25D,EAAE35D,EAAEkO,IAAIA,GAAE,EAAGmoE,EAAEinB,YAAY,MAAM,EAAEnwF,EAAE,SAASnN,EAAEC,GAAGo+E,EACtfxwE,GAAE,WAAW7N,EAAE1F,EAAQgvE,eAAe,GAAErpE,EAAE,EAAEmN,EAAE,WAAWU,EAAEuwE,GAAGA,GAAG,CAAC,CAAC,CAAC,SAASvF,EAAE94E,EAAEC,GAAG,IAAI+M,EAAEhN,EAAE1B,OAAO0B,EAAEkD,KAAKjD,GAAGD,EAAE,OAAO,CAAC,IAAIiN,EAAED,EAAE,IAAI,EAAE/Q,EAAE+D,EAAEiN,GAAG,UAAG,IAAShR,GAAG,EAAE88E,EAAE98E,EAAEgE,IAA0B,MAAMD,EAA7BA,EAAEiN,GAAGhN,EAAED,EAAEgN,GAAG/Q,EAAE+Q,EAAEC,CAAc,CAAC,CAAC,SAASiqE,EAAEl3E,GAAU,YAAO,KAAdA,EAAEA,EAAE,IAAqB,KAAKA,CAAC,CACjP,SAASm3E,EAAEn3E,GAAG,IAAIC,EAAED,EAAE,GAAG,QAAG,IAASC,EAAE,CAAC,IAAI+M,EAAEhN,EAAEzB,MAAM,GAAGyO,IAAI/M,EAAE,CAACD,EAAE,GAAGgN,EAAEhN,EAAE,IAAI,IAAIiN,EAAE,EAAEhR,EAAE+D,EAAE1B,OAAO2O,EAAEhR,GAAG,CAAC,IAAIqR,EAAE,GAAGL,EAAE,GAAG,EAAE5O,EAAE2B,EAAEsN,GAAGK,EAAEL,EAAE,EAAEG,EAAEzN,EAAE2N,GAAG,QAAG,IAAStP,GAAG,EAAE06E,EAAE16E,EAAE2O,QAAG,IAASS,GAAG,EAAEsrE,EAAEtrE,EAAEpP,IAAI2B,EAAEiN,GAAGQ,EAAEzN,EAAE2N,GAAGX,EAAEC,EAAEU,IAAI3N,EAAEiN,GAAG5O,EAAE2B,EAAEsN,GAAGN,EAAEC,EAAEK,OAAQ,WAAG,IAASG,GAAG,EAAEsrE,EAAEtrE,EAAET,IAA0B,MAAMhN,EAA7BA,EAAEiN,GAAGQ,EAAEzN,EAAE2N,GAAGX,EAAEC,EAAEU,CAAc,EAAC,CAAC,OAAO1N,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS84E,EAAE/4E,EAAEC,GAAG,IAAI+M,EAAEhN,EAAEu9F,UAAUt9F,EAAEs9F,UAAU,OAAO,IAAIvwF,EAAEA,EAAEhN,EAAEsuD,GAAGruD,EAAEquD,EAAE,CAAC,IAAIrqB,EAAE,GAAGg1C,EAAE,GAAGC,EAAE,EAAEwC,EAAE,KAAK9qE,EAAE,EAAEwmE,GAAE,EAAG+L,GAAE,EAAGC,GAAE,EACja,SAASj/C,EAAEnkC,GAAG,IAAI,IAAIC,EAAEi3E,EAAE+B,GAAG,OAAOh5E,GAAG,CAAC,GAAG,OAAOA,EAAE0C,SAASw0E,EAAE8B,OAAQ,MAAGh5E,EAAEu9F,WAAWx9F,GAAgD,MAA9Cm3E,EAAE8B,GAAGh5E,EAAEs9F,UAAUt9F,EAAEw9F,eAAe3kB,EAAE70C,EAAEhkC,EAAa,CAACA,EAAEi3E,EAAE+B,EAAE,CAAC,CAAC,SAAS74D,EAAEpgB,GAAa,GAAVojF,GAAE,EAAGj/C,EAAEnkC,IAAOmjF,EAAE,GAAG,OAAOjM,EAAEjzC,GAAGk/C,GAAE,EAAGj2E,EAAEg3B,OAAO,CAAC,IAAIjkC,EAAEi3E,EAAE+B,GAAG,OAAOh5E,GAAGkN,EAAEiT,EAAEngB,EAAEu9F,UAAUx9F,EAAE,CAAC,CACzP,SAASkkC,EAAElkC,EAAEC,GAAGkjF,GAAE,EAAGC,IAAIA,GAAE,EAAGh2E,KAAKgqE,GAAE,EAAG,IAAIpqE,EAAE4D,EAAE,IAAS,IAALuzB,EAAElkC,GAAOy7E,EAAExE,EAAEjzC,GAAG,OAAOy3C,MAAMA,EAAE+hB,eAAex9F,IAAID,IAAI1F,EAAQggF,yBAAyB,CAAC,IAAIrtE,EAAEyuE,EAAE/4E,SAAS,GAAG,oBAAoBsK,EAAE,CAACyuE,EAAE/4E,SAAS,KAAKiO,EAAE8qE,EAAEgiB,cAAc,IAAIzhG,EAAEgR,EAAEyuE,EAAE+hB,gBAAgBx9F,GAAGA,EAAE3F,EAAQgvE,eAAe,oBAAoBrtE,EAAEy/E,EAAE/4E,SAAS1G,EAAEy/E,IAAIxE,EAAEjzC,IAAIkzC,EAAElzC,GAAGE,EAAElkC,EAAE,MAAMk3E,EAAElzC,GAAGy3C,EAAExE,EAAEjzC,EAAE,CAAC,GAAG,OAAOy3C,EAAE,IAAIpuE,GAAE,MAAO,CAAC,IAAIjP,EAAE64E,EAAE+B,GAAG,OAAO56E,GAAG8O,EAAEiT,EAAE/hB,EAAEm/F,UAAUv9F,GAAGqN,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQouE,EAAE,KAAK9qE,EAAE5D,EAAEoqE,GAAE,CAAE,CAAC,CAAC,IAAIiT,EAAEjsF,EAAE9D,EAAQ6gF,sBAAsB,EACte7gF,EAAQugF,2BAA2B,EAAEvgF,EAAQ2gF,qBAAqB,EAAE3gF,EAAQ0tE,wBAAwB,EAAE1tE,EAAQqjG,mBAAmB,KAAKrjG,EAAQqwE,8BAA8B,EAAErwE,EAAQ8/E,wBAAwB,SAASp6E,GAAGA,EAAE2C,SAAS,IAAI,EAAErI,EAAQsjG,2BAA2B,WAAWza,GAAG/L,IAAI+L,GAAE,EAAGj2E,EAAEg3B,GAAG,EAAE5pC,EAAQqgF,iCAAiC,WAAW,OAAO/pE,CAAC,EAAEtW,EAAQujG,8BAA8B,WAAW,OAAO3mB,EAAEjzC,EAAE,EACta3pC,EAAQwjG,cAAc,SAAS99F,GAAG,OAAO4Q,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI3Q,EAAE,EAAE,MAAM,QAAQA,EAAE2Q,EAAE,IAAI5D,EAAE4D,EAAEA,EAAE3Q,EAAE,IAAI,OAAOD,GAAG,CAAC,QAAQ4Q,EAAE5D,CAAC,CAAC,EAAE1S,EAAQyjG,wBAAwB,WAAW,EAAEzjG,EAAQkgF,sBAAsB6P,EAAE/vF,EAAQgtE,yBAAyB,SAAStnE,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIgN,EAAE4D,EAAEA,EAAE5Q,EAAE,IAAI,OAAOC,GAAG,CAAC,QAAQ2Q,EAAE5D,CAAC,CAAC,EACtW1S,EAAQytE,0BAA0B,SAAS/nE,EAAEC,EAAE+M,GAAG,IAAIC,EAAE3S,EAAQgvE,eAA8F,OAA/E,kBAAkBt8D,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAEgxF,QAA6B,EAAEhxF,EAAEC,EAAED,EAAEC,EAAGD,EAAEC,EAASjN,GAAG,KAAK,EAAE,IAAI/D,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAA2M,OAAjM+D,EAAE,CAACsuD,GAAG4qB,IAAIv2E,SAAS1C,EAAEy9F,cAAc19F,EAAEw9F,UAAUxwF,EAAEywF,eAAvDxhG,EAAE+Q,EAAE/Q,EAAoEshG,WAAW,GAAGvwF,EAAEC,GAAGjN,EAAEu9F,UAAUvwF,EAAE8rE,EAAEG,EAAEj5E,GAAG,OAAOk3E,EAAEjzC,IAAIjkC,IAAIk3E,EAAE+B,KAAKmK,EAAEh2E,IAAIg2E,GAAE,EAAGj2E,EAAEiT,EAAEpT,EAAEC,MAAMjN,EAAEu9F,UAAUthG,EAAE68E,EAAE70C,EAAEjkC,GAAGmjF,GAAG/L,IAAI+L,GAAE,EAAGj2E,EAAEg3B,KAAYlkC,CAAC,EAC3d1F,EAAQ2jG,sBAAsB,SAASj+F,GAAG,IAAIC,EAAE2Q,EAAE,OAAO,WAAW,IAAI5D,EAAE4D,EAAEA,EAAE3Q,EAAE,IAAI,OAAOD,EAAEgD,MAAMoN,KAAKnN,UAAU,CAAC,QAAQ2N,EAAE5D,CAAC,CAAC,CAAC,qCChB9H3S,EAAOC,QAAU,EAAjBD,mCCDF,IACI0G,EAAS,mBAab1G,EAAOC,QAZP,SAAmB4jG,EAAWxjG,GAC1B,IAAIwjG,EAIA,MAAM,IAAIjhG,MAAM8D,EAKxB,4CCKA,UAlBA,SAAiBm9F,EAAWxjG,GAgB5B,oBChBAL,EAAOC,QAAU,WACf,IAAIO,EAAYG,SAASE,eACzB,IAAKL,EAAUs1F,WACb,OAAO,WAAa,EAKtB,IAHA,IAAIgO,EAASnjG,SAASuiE,cAElB6gC,EAAS,GACJjgG,EAAI,EAAGA,EAAItD,EAAUs1F,WAAYhyF,IACxCigG,EAAOl7F,KAAKrI,EAAUwjG,WAAWlgG,IAGnC,OAAQggG,EAAO1vD,QAAQhlB,eACrB,IAAK,QACL,IAAK,WACH00E,EAAOvhE,OACP,MAEF,QACEuhE,EAAS,KAKb,OADAtjG,EAAU8C,kBACH,WACc,UAAnB9C,EAAUoQ,MACVpQ,EAAU8C,kBAEL9C,EAAUs1F,YACbiO,EAAO56F,SAAQ,SAAS5I,GACtBC,EAAUkC,SAASnC,EACrB,IAGFujG,GACAA,EAAOtS,OACT,CACF,oCCtCe,SAASyS,EAAkB7qC,EAAKj+C,IAClC,MAAPA,GAAeA,EAAMi+C,EAAIn1D,UAAQkX,EAAMi+C,EAAIn1D,QAC/C,IAAK,IAAIH,EAAI,EAAGogG,EAAO,IAAIr+F,MAAMsV,GAAMrX,EAAIqX,EAAKrX,IAAKogG,EAAKpgG,GAAKs1D,EAAIt1D,GACnE,OAAOogG,CACT,oECJA,SAASC,EAAmBC,EAAKztF,EAASE,EAAQwtF,EAAOC,EAAQj+F,EAAKmnB,GACpE,IACE,IAAI8tB,EAAO8oD,EAAI/9F,GAAKmnB,GAChB9W,EAAQ4kC,EAAK5kC,KACnB,CAAE,MAAO5T,GAEP,YADA+T,EAAO/T,EAET,CACIw4C,EAAKpkC,KACPP,EAAQD,GAERE,QAAQD,QAAQD,GAAOS,KAAKktF,EAAOC,EAEvC,CACe,SAASC,EAAkB/7F,GACxC,OAAO,WACL,IAAI60D,EAAOtnD,KACT9M,EAAOL,UACT,OAAO,IAAIgO,SAAQ,SAAUD,EAASE,GACpC,IAAIutF,EAAM57F,EAAGG,MAAM00D,EAAMp0D,GACzB,SAASo7F,EAAM3tF,GACbytF,EAAmBC,EAAKztF,EAASE,EAAQwtF,EAAOC,EAAQ,OAAQ5tF,EAClE,CACA,SAAS4tF,EAAOzhG,GACdshG,EAAmBC,EAAKztF,EAASE,EAAQwtF,EAAOC,EAAQ,QAASzhG,EACnE,CACAwhG,OAAMhgG,EACR,GACF,CACF,oEC7Be,SAAS45D,EAAgBD,EAAUH,GAChD,KAAMG,aAAoBH,GACxB,MAAM,IAAIjoD,UAAU,oCAExB,kHCHA,SAASwmD,EAAkBpd,EAAQp1C,GACjC,IAAK,IAAI9F,EAAI,EAAGA,EAAI8F,EAAM3F,OAAQH,IAAK,CACrC,IAAI0O,EAAa5I,EAAM9F,GACvB0O,EAAWkpD,WAAalpD,EAAWkpD,aAAc,EACjDlpD,EAAW6pD,cAAe,EACtB,UAAW7pD,IAAYA,EAAW8pD,UAAW,GACjD/2D,OAAOoM,eAAeqtC,GAAQ,OAAcxsC,EAAWnM,KAAMmM,EAC/D,CACF,CACe,SAASgyF,EAAa3mC,EAAaC,EAAYC,GAM5D,OALID,GAAY1B,EAAkByB,EAAYr4D,UAAWs4D,GACrDC,GAAa3B,EAAkByB,EAAaE,GAChDx4D,OAAOoM,eAAeksD,EAAa,YAAa,CAC9CvB,UAAU,IAELuB,CACT,mFChBe,SAASjC,EAAgBt2D,EAAKe,EAAKqQ,GAYhD,OAXArQ,GAAM,OAAcA,MACTf,EACTC,OAAOoM,eAAerM,EAAKe,EAAK,CAC9BqQ,MAAOA,EACPglD,YAAY,EACZW,cAAc,EACdC,UAAU,IAGZh3D,EAAIe,GAAOqQ,EAENpR,CACT,qCCde,SAASoC,IAYtB,OAXAA,EAAWnC,OAAOa,OAASb,OAAOa,OAAOuqE,OAAS,SAAU3xB,GAC1D,IAAK,IAAIl7C,EAAI,EAAGA,EAAI8E,UAAU3E,OAAQH,IAAK,CACzC,IAAI4yD,EAAS9tD,UAAU9E,GACvB,IAAK,IAAIuC,KAAOqwD,EACVnxD,OAAOC,UAAUkQ,eAAejQ,KAAKixD,EAAQrwD,KAC/C24C,EAAO34C,GAAOqwD,EAAOrwD,GAG3B,CACA,OAAO24C,CACT,EACOt3C,EAASiB,MAAMoN,KAAMnN,UAC9B,kHCZe,SAASwxF,EAAe18B,EAAUC,GAC/CD,EAASl4D,UAAYD,OAAO0Q,OAAO0nD,EAAWn4D,WAC9Ck4D,EAASl4D,UAAUwQ,YAAc0nD,GACjC,OAAeA,EAAUC,EAC3B,qCCLe,SAASzB,EAA8BxF,EAAQsF,GAC5D,GAAc,MAAVtF,EAAgB,MAAO,CAAC,EAC5B,IAEIrwD,EAAKvC,EAFLk7C,EAAS,CAAC,EACVid,EAAa12D,OAAOY,KAAKuwD,GAE7B,IAAK5yD,EAAI,EAAGA,EAAIm4D,EAAWh4D,OAAQH,IACjCuC,EAAM41D,EAAWn4D,GACbk4D,EAASp1D,QAAQP,IAAQ,IAC7B24C,EAAO34C,GAAOqwD,EAAOrwD,IAEvB,OAAO24C,CACT,kHCVe,SAASylD,IAEtBA,EAAsB,WACpB,OAAOxkG,CACT,EACA,IAAIA,EAAU,CAAC,EACbykG,EAAKn/F,OAAOC,UACZm/F,EAASD,EAAGhvF,eACZ/D,EAAiBpM,OAAOoM,gBAAkB,SAAUrM,EAAKe,EAAKu+F,GAC5Dt/F,EAAIe,GAAOu+F,EAAKluF,KAClB,EACAmuF,EAAU,mBAAqBpyF,OAASA,OAAS,CAAC,EAClDqyF,EAAiBD,EAAQltF,UAAY,aACrCotF,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAC7C,SAASC,EAAO7/F,EAAKe,EAAKqQ,GACxB,OAAOnR,OAAOoM,eAAerM,EAAKe,EAAK,CACrCqQ,MAAOA,EACPglD,YAAY,EACZW,cAAc,EACdC,UAAU,IACRh3D,EAAIe,EACV,CACA,IACE8+F,EAAO,CAAC,EAAG,GACb,CAAE,MAAOtiG,GACPsiG,EAAS,SAAgB7/F,EAAKe,EAAKqQ,GACjC,OAAOpR,EAAIe,GAAOqQ,CACpB,CACF,CACA,SAAS0uF,EAAKC,EAASC,EAASjoC,EAAMkoC,GACpC,IAAIC,EAAiBF,GAAWA,EAAQ9/F,qBAAqBigG,EAAYH,EAAUG,EACjFjvF,EAAYjR,OAAO0Q,OAAOuvF,EAAehgG,WACzC8S,EAAU,IAAIi8C,EAAQgxC,GAAe,IACvC,OAAO5zF,EAAe6E,EAAW,UAAW,CAC1CE,MAAOgvF,EAAiBL,EAAShoC,EAAM/kD,KACrC9B,CACN,CACA,SAASmvF,EAASn9F,EAAIlD,EAAKkoB,GACzB,IACE,MAAO,CACL5c,KAAM,SACN4c,IAAKhlB,EAAG/C,KAAKH,EAAKkoB,GAEtB,CAAE,MAAO3qB,GACP,MAAO,CACL+N,KAAM,QACN4c,IAAK3qB,EAET,CACF,CACA5C,EAAQmlG,KAAOA,EACf,IAAIQ,EAAmB,CAAC,EACxB,SAASH,IAAa,CACtB,SAASI,IAAqB,CAC9B,SAASC,IAA8B,CACvC,IAAIC,EAAoB,CAAC,EACzBZ,EAAOY,EAAmBjB,GAAgB,WACxC,OAAO/uF,IACT,IACA,IAAIiwF,EAAWzgG,OAAOwM,eACpBk0F,EAA0BD,GAAYA,EAASA,EAASt5E,EAAO,MACjEu5E,GAA2BA,IAA4BvB,GAAMC,EAAOl/F,KAAKwgG,EAAyBnB,KAAoBiB,EAAoBE,GAC1I,IAAIC,EAAKJ,EAA2BtgG,UAAYigG,EAAUjgG,UAAYD,OAAO0Q,OAAO8vF,GACpF,SAASI,EAAsB3gG,GAC7B,CAAC,OAAQ,QAAS,UAAU2D,SAAQ,SAAUi1F,GAC5C+G,EAAO3/F,EAAW44F,GAAQ,SAAU5wE,GAClC,OAAOzX,KAAKqwF,QAAQhI,EAAQ5wE,EAC9B,GACF,GACF,CACA,SAAS64E,EAAc7vF,EAAW8vF,GAChC,SAASC,EAAOnI,EAAQ5wE,EAAK7W,EAASE,GACpC,IAAI2vF,EAASb,EAASnvF,EAAU4nF,GAAS5nF,EAAWgX,GACpD,GAAI,UAAYg5E,EAAO51F,KAAM,CAC3B,IAAI1L,EAASshG,EAAOh5E,IAClB9W,EAAQxR,EAAOwR,MACjB,OAAOA,GAAS,WAAY,OAAQA,IAAUiuF,EAAOl/F,KAAKiR,EAAO,WAAa4vF,EAAY3vF,QAAQD,EAAM+vF,SAAStvF,MAAK,SAAUT,GAC9H6vF,EAAO,OAAQ7vF,EAAOC,EAASE,EACjC,IAAG,SAAUhU,GACX0jG,EAAO,QAAS1jG,EAAK8T,EAASE,EAChC,IAAKyvF,EAAY3vF,QAAQD,GAAOS,MAAK,SAAUuvF,GAC7CxhG,EAAOwR,MAAQgwF,EAAW/vF,EAAQzR,EACpC,IAAG,SAAUpC,GACX,OAAOyjG,EAAO,QAASzjG,EAAO6T,EAASE,EACzC,GACF,CACAA,EAAO2vF,EAAOh5E,IAChB,CACA,IAAIm5E,EACJh1F,EAAeoE,KAAM,UAAW,CAC9BW,MAAO,SAAe0nF,EAAQ5wE,GAC5B,SAASo5E,IACP,OAAO,IAAIN,GAAY,SAAU3vF,EAASE,GACxC0vF,EAAOnI,EAAQ5wE,EAAK7W,EAASE,EAC/B,GACF,CACA,OAAO8vF,EAAkBA,EAAkBA,EAAgBxvF,KAAKyvF,EAA4BA,GAA8BA,GAC5H,GAEJ,CACA,SAASlB,EAAiBL,EAAShoC,EAAM/kD,GACvC,IAAI9Q,EAAQ,iBACZ,OAAO,SAAU42F,EAAQ5wE,GACvB,GAAI,cAAgBhmB,EAAO,MAAM,IAAI5E,MAAM,gCAC3C,GAAI,cAAgB4E,EAAO,CACzB,GAAI,UAAY42F,EAAQ,MAAM5wE,EAC9B,OAAOq5E,GACT,CACA,IAAKvuF,EAAQ8lF,OAASA,EAAQ9lF,EAAQkV,IAAMA,IAAO,CACjD,IAAIs5E,EAAWxuF,EAAQwuF,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUxuF,GACnD,GAAIyuF,EAAgB,CAClB,GAAIA,IAAmBnB,EAAkB,SACzC,OAAOmB,CACT,CACF,CACA,GAAI,SAAWzuF,EAAQ8lF,OAAQ9lF,EAAQf,KAAOe,EAAQ2uF,MAAQ3uF,EAAQkV,SAAS,GAAI,UAAYlV,EAAQ8lF,OAAQ,CAC7G,GAAI,mBAAqB52F,EAAO,MAAMA,EAAQ,YAAa8Q,EAAQkV,IACnElV,EAAQ4uF,kBAAkB5uF,EAAQkV,IACpC,KAAO,WAAalV,EAAQ8lF,QAAU9lF,EAAQ6uF,OAAO,SAAU7uF,EAAQkV,KACvEhmB,EAAQ,YACR,IAAIg/F,EAASb,EAASN,EAAShoC,EAAM/kD,GACrC,GAAI,WAAakuF,EAAO51F,KAAM,CAC5B,GAAIpJ,EAAQ8Q,EAAQpB,KAAO,YAAc,iBAAkBsvF,EAAOh5E,MAAQo4E,EAAkB,SAC5F,MAAO,CACLlvF,MAAO8vF,EAAOh5E,IACdtW,KAAMoB,EAAQpB,KAElB,CACA,UAAYsvF,EAAO51F,OAASpJ,EAAQ,YAAa8Q,EAAQ8lF,OAAS,QAAS9lF,EAAQkV,IAAMg5E,EAAOh5E,IAClG,CACF,CACF,CACA,SAASw5E,EAAoBF,EAAUxuF,GACrC,IAAIynF,EAAaznF,EAAQ8lF,OACvBA,EAAS0I,EAASnvF,SAASooF,GAC7B,QAAI17F,IAAc+5F,EAAQ,OAAO9lF,EAAQwuF,SAAW,KAAM,UAAY/G,GAAc+G,EAASnvF,SAAiB,SAAMW,EAAQ8lF,OAAS,SAAU9lF,EAAQkV,SAAMnpB,EAAW2iG,EAAoBF,EAAUxuF,GAAU,UAAYA,EAAQ8lF,SAAW,WAAa2B,IAAeznF,EAAQ8lF,OAAS,QAAS9lF,EAAQkV,IAAM,IAAI5X,UAAU,oCAAsCmqF,EAAa,aAAc6F,EAClY,IAAIY,EAASb,EAASvH,EAAQ0I,EAASnvF,SAAUW,EAAQkV,KACzD,GAAI,UAAYg5E,EAAO51F,KAAM,OAAO0H,EAAQ8lF,OAAS,QAAS9lF,EAAQkV,IAAMg5E,EAAOh5E,IAAKlV,EAAQwuF,SAAW,KAAMlB,EACjH,IAAItqD,EAAOkrD,EAAOh5E,IAClB,OAAO8tB,EAAOA,EAAKpkC,MAAQoB,EAAQwuF,EAASM,YAAc9rD,EAAK5kC,MAAO4B,EAAQtB,KAAO8vF,EAASO,QAAS,WAAa/uF,EAAQ8lF,SAAW9lF,EAAQ8lF,OAAS,OAAQ9lF,EAAQkV,SAAMnpB,GAAYiU,EAAQwuF,SAAW,KAAMlB,GAAoBtqD,GAAQhjC,EAAQ8lF,OAAS,QAAS9lF,EAAQkV,IAAM,IAAI5X,UAAU,oCAAqC0C,EAAQwuF,SAAW,KAAMlB,EACrW,CACA,SAAS0B,EAAaC,GACpB,IAAI53F,EAAQ,CACV63F,OAAQD,EAAK,IAEf,KAAKA,IAAS53F,EAAM83F,SAAWF,EAAK,IAAK,KAAKA,IAAS53F,EAAM+3F,WAAaH,EAAK,GAAI53F,EAAMg4F,SAAWJ,EAAK,IAAKxxF,KAAK6xF,WAAW/+F,KAAK8G,EACrI,CACA,SAASk4F,EAAcl4F,GACrB,IAAI62F,EAAS72F,EAAMm4F,YAAc,CAAC,EAClCtB,EAAO51F,KAAO,gBAAiB41F,EAAOh5E,IAAK7d,EAAMm4F,WAAatB,CAChE,CACA,SAASjyC,EAAQgxC,GACfxvF,KAAK6xF,WAAa,CAAC,CACjBJ,OAAQ,SACNjC,EAAYp8F,QAAQm+F,EAAcvxF,MAAOA,KAAKivB,OAAM,EAC1D,CACA,SAAStY,EAAOq7E,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASjD,GAC9B,GAAIkD,EAAgB,OAAOA,EAAeviG,KAAKsiG,GAC/C,GAAI,mBAAqBA,EAAS/wF,KAAM,OAAO+wF,EAC/C,IAAK5nC,MAAM4nC,EAAS9jG,QAAS,CAC3B,IAAIH,GAAK,EACPkT,EAAO,SAASA,IACd,OAASlT,EAAIikG,EAAS9jG,QAAS,GAAI0gG,EAAOl/F,KAAKsiG,EAAUjkG,GAAI,OAAOkT,EAAKN,MAAQqxF,EAASjkG,GAAIkT,EAAKE,MAAO,EAAIF,EAC9G,OAAOA,EAAKN,WAAQrS,EAAW2S,EAAKE,MAAO,EAAIF,CACjD,EACF,OAAOA,EAAKA,KAAOA,CACrB,CACF,CACA,MAAO,CACLA,KAAM6vF,EAEV,CACA,SAASA,IACP,MAAO,CACLnwF,WAAOrS,EACP6S,MAAM,EAEV,CACA,OAAO2uF,EAAkBrgG,UAAYsgG,EAA4Bn0F,EAAeu0F,EAAI,cAAe,CACjGxvF,MAAOovF,EACPzpC,cAAc,IACZ1qD,EAAem0F,EAA4B,cAAe,CAC5DpvF,MAAOmvF,EACPxpC,cAAc,IACZwpC,EAAkBv1F,YAAc60F,EAAOW,EAA4Bb,EAAmB,qBAAsBhlG,EAAQgoG,oBAAsB,SAAUC,GACtJ,IAAIC,EAAO,mBAAqBD,GAAUA,EAAOlyF,YACjD,QAASmyF,IAASA,IAAStC,GAAqB,uBAAyBsC,EAAK73F,aAAe63F,EAAKr3F,MACpG,EAAG7Q,EAAQQ,KAAO,SAAUynG,GAC1B,OAAO3iG,OAAOiQ,eAAiBjQ,OAAOiQ,eAAe0yF,EAAQpC,IAA+BoC,EAAOzyF,UAAYqwF,EAA4BX,EAAO+C,EAAQjD,EAAmB,sBAAuBiD,EAAO1iG,UAAYD,OAAO0Q,OAAOiwF,GAAKgC,CAC5O,EAAGjoG,EAAQmoG,MAAQ,SAAU56E,GAC3B,MAAO,CACLi5E,QAASj5E,EAEb,EAAG24E,EAAsBE,EAAc7gG,WAAY2/F,EAAOkB,EAAc7gG,UAAWu/F,GAAqB,WACtG,OAAOhvF,IACT,IAAI9V,EAAQomG,cAAgBA,EAAepmG,EAAQooG,MAAQ,SAAUhD,EAASC,EAASjoC,EAAMkoC,EAAae,QACxG,IAAWA,IAAgBA,EAAc1vF,SACzC,IAAI0xF,EAAO,IAAIjC,EAAcjB,EAAKC,EAASC,EAASjoC,EAAMkoC,GAAce,GACxE,OAAOrmG,EAAQgoG,oBAAoB3C,GAAWgD,EAAOA,EAAKtxF,OAAOG,MAAK,SAAUjS,GAC9E,OAAOA,EAAOgS,KAAOhS,EAAOwR,MAAQ4xF,EAAKtxF,MAC3C,GACF,EAAGmvF,EAAsBD,GAAKf,EAAOe,EAAIjB,EAAmB,aAAcE,EAAOe,EAAIpB,GAAgB,WACnG,OAAO/uF,IACT,IAAIovF,EAAOe,EAAI,YAAY,WACzB,MAAO,oBACT,IAAIjmG,EAAQkG,KAAO,SAAUwwD,GAC3B,IAAI0D,EAAS90D,OAAOoxD,GAClBxwD,EAAO,GACT,IAAK,IAAIE,KAAOg0D,EAAQl0D,EAAK0C,KAAKxC,GAClC,OAAOF,EAAK+8C,UAAW,SAASlsC,IAC9B,KAAO7Q,EAAKlC,QAAS,CACnB,IAAIoC,EAAMF,EAAKjC,MACf,GAAImC,KAAOg0D,EAAQ,OAAOrjD,EAAKN,MAAQrQ,EAAK2Q,EAAKE,MAAO,EAAIF,CAC9D,CACA,OAAOA,EAAKE,MAAO,EAAIF,CACzB,CACF,EAAG/W,EAAQysB,OAASA,EAAQ6nC,EAAQ/uD,UAAY,CAC9CwQ,YAAau+C,EACbvvB,MAAO,SAAeujE,GACpB,GAAIxyF,KAAKwL,KAAO,EAAGxL,KAAKiB,KAAO,EAAGjB,KAAKwB,KAAOxB,KAAKkxF,WAAQ5iG,EAAW0R,KAAKmB,MAAO,EAAInB,KAAK+wF,SAAW,KAAM/wF,KAAKqoF,OAAS,OAAQroF,KAAKyX,SAAMnpB,EAAW0R,KAAK6xF,WAAWz+F,QAAQ0+F,IAAiBU,EAAe,IAAK,IAAIz3F,KAAQiF,KAAM,MAAQjF,EAAKpN,OAAO,IAAMihG,EAAOl/F,KAAKsQ,KAAMjF,KAAUqvD,OAAOrvD,EAAK/J,MAAM,MAAQgP,KAAKjF,QAAQzM,EACtU,EACA61B,KAAM,WACJnkB,KAAKmB,MAAO,EACZ,IAAIsxF,EAAazyF,KAAK6xF,WAAW,GAAGE,WACpC,GAAI,UAAYU,EAAW53F,KAAM,MAAM43F,EAAWh7E,IAClD,OAAOzX,KAAK0yF,IACd,EACAvB,kBAAmB,SAA2BwB,GAC5C,GAAI3yF,KAAKmB,KAAM,MAAMwxF,EACrB,IAAIpwF,EAAUvC,KACd,SAAS4yF,EAAOC,EAAKC,GACnB,OAAOrC,EAAO51F,KAAO,QAAS41F,EAAOh5E,IAAMk7E,EAAWpwF,EAAQtB,KAAO4xF,EAAKC,IAAWvwF,EAAQ8lF,OAAS,OAAQ9lF,EAAQkV,SAAMnpB,KAAcwkG,CAC5I,CACA,IAAK,IAAI/kG,EAAIiS,KAAK6xF,WAAW3jG,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6L,EAAQoG,KAAK6xF,WAAW9jG,GAC1B0iG,EAAS72F,EAAMm4F,WACjB,GAAI,SAAWn4F,EAAM63F,OAAQ,OAAOmB,EAAO,OAC3C,GAAIh5F,EAAM63F,QAAUzxF,KAAKwL,KAAM,CAC7B,IAAIunF,EAAWnE,EAAOl/F,KAAKkK,EAAO,YAChCo5F,EAAapE,EAAOl/F,KAAKkK,EAAO,cAClC,GAAIm5F,GAAYC,EAAY,CAC1B,GAAIhzF,KAAKwL,KAAO5R,EAAM83F,SAAU,OAAOkB,EAAOh5F,EAAM83F,UAAU,GAC9D,GAAI1xF,KAAKwL,KAAO5R,EAAM+3F,WAAY,OAAOiB,EAAOh5F,EAAM+3F,WACxD,MAAO,GAAIoB,GACT,GAAI/yF,KAAKwL,KAAO5R,EAAM83F,SAAU,OAAOkB,EAAOh5F,EAAM83F,UAAU,OACzD,CACL,IAAKsB,EAAY,MAAM,IAAInmG,MAAM,0CACjC,GAAImT,KAAKwL,KAAO5R,EAAM+3F,WAAY,OAAOiB,EAAOh5F,EAAM+3F,WACxD,CACF,CACF,CACF,EACAP,OAAQ,SAAgBv2F,EAAM4c,GAC5B,IAAK,IAAI1pB,EAAIiS,KAAK6xF,WAAW3jG,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6L,EAAQoG,KAAK6xF,WAAW9jG,GAC5B,GAAI6L,EAAM63F,QAAUzxF,KAAKwL,MAAQojF,EAAOl/F,KAAKkK,EAAO,eAAiBoG,KAAKwL,KAAO5R,EAAM+3F,WAAY,CACjG,IAAIsB,EAAer5F,EACnB,KACF,CACF,CACAq5F,IAAiB,UAAYp4F,GAAQ,aAAeA,IAASo4F,EAAaxB,QAAUh6E,GAAOA,GAAOw7E,EAAatB,aAAesB,EAAe,MAC7I,IAAIxC,EAASwC,EAAeA,EAAalB,WAAa,CAAC,EACvD,OAAOtB,EAAO51F,KAAOA,EAAM41F,EAAOh5E,IAAMA,EAAKw7E,GAAgBjzF,KAAKqoF,OAAS,OAAQroF,KAAKiB,KAAOgyF,EAAatB,WAAY9B,GAAoB7vF,KAAKyoC,SAASgoD,EAC5J,EACAhoD,SAAU,SAAkBgoD,EAAQmB,GAClC,GAAI,UAAYnB,EAAO51F,KAAM,MAAM41F,EAAOh5E,IAC1C,MAAO,UAAYg5E,EAAO51F,MAAQ,aAAe41F,EAAO51F,KAAOmF,KAAKiB,KAAOwvF,EAAOh5E,IAAM,WAAag5E,EAAO51F,MAAQmF,KAAK0yF,KAAO1yF,KAAKyX,IAAMg5E,EAAOh5E,IAAKzX,KAAKqoF,OAAS,SAAUroF,KAAKiB,KAAO,OAAS,WAAawvF,EAAO51F,MAAQ+2F,IAAa5xF,KAAKiB,KAAO2wF,GAAW/B,CACtQ,EACAqD,OAAQ,SAAgBvB,GACtB,IAAK,IAAI5jG,EAAIiS,KAAK6xF,WAAW3jG,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6L,EAAQoG,KAAK6xF,WAAW9jG,GAC5B,GAAI6L,EAAM+3F,aAAeA,EAAY,OAAO3xF,KAAKyoC,SAAS7uC,EAAMm4F,WAAYn4F,EAAMg4F,UAAWE,EAAcl4F,GAAQi2F,CACrH,CACF,EACA,MAAS,SAAgB4B,GACvB,IAAK,IAAI1jG,EAAIiS,KAAK6xF,WAAW3jG,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6L,EAAQoG,KAAK6xF,WAAW9jG,GAC5B,GAAI6L,EAAM63F,SAAWA,EAAQ,CAC3B,IAAIhB,EAAS72F,EAAMm4F,WACnB,GAAI,UAAYtB,EAAO51F,KAAM,CAC3B,IAAIs4F,EAAS1C,EAAOh5E,IACpBq6E,EAAcl4F,EAChB,CACA,OAAOu5F,CACT,CACF,CACA,MAAM,IAAItmG,MAAM,wBAClB,EACAumG,cAAe,SAAuBpB,EAAUX,EAAYC,GAC1D,OAAOtxF,KAAK+wF,SAAW,CACrBnvF,SAAU+U,EAAOq7E,GACjBX,WAAYA,EACZC,QAASA,GACR,SAAWtxF,KAAKqoF,SAAWroF,KAAKyX,SAAMnpB,GAAYuhG,CACvD,GACC3lG,CACL,qCC9Se,SAASs8D,EAAgBC,EAAGtpD,GAKzC,OAJAqpD,EAAkBh3D,OAAOiQ,eAAiBjQ,OAAOiQ,eAAem7D,OAAS,SAAyBnU,EAAGtpD,GAEnG,OADAspD,EAAE/mD,UAAYvC,EACPspD,CACT,EACOD,EAAgBC,EAAGtpD,EAC5B,gHCFe,SAASk2F,EAAehwC,EAAKt1D,GAC1C,OCLa,SAAyBs1D,GACtC,GAAIvzD,MAAMC,QAAQszD,GAAM,OAAOA,CACjC,CDGS,CAAeA,IELT,SAA+BA,EAAKt1D,GACjD,IAAIkW,EAAK,MAAQo/C,EAAM,KAAO,oBAAsB3mD,QAAU2mD,EAAI3mD,OAAOkF,WAAayhD,EAAI,cAC1F,GAAI,MAAQp/C,EAAI,CACd,IAAI+7C,EACFrG,EACA25C,EACAvzC,EACAwzC,EAAO,GACPC,GAAK,EACL3lD,GAAK,EACP,IACE,GAAIylD,GAAMrvF,EAAKA,EAAGvU,KAAK2zD,IAAMpiD,KAAM,IAAMlT,EAAG,CAC1C,GAAIyB,OAAOyU,KAAQA,EAAI,OACvBuvF,GAAK,CACP,MAAO,OAASA,GAAMxzC,EAAKszC,EAAG5jG,KAAKuU,IAAK9C,QAAUoyF,EAAKzgG,KAAKktD,EAAGr/C,OAAQ4yF,EAAKrlG,SAAWH,GAAIylG,GAAK,GAClG,CAAE,MAAO1mG,GACP+gD,GAAK,EAAI8L,EAAK7sD,CAChB,CAAE,QACA,IACE,IAAK0mG,GAAM,MAAQvvF,EAAW,SAAM87C,EAAK97C,EAAW,SAAKzU,OAAOuwD,KAAQA,GAAK,MAC/E,CAAE,QACA,GAAIlS,EAAI,MAAM8L,CAChB,CACF,CACA,OAAO45C,CACT,CACF,CFrBgC,CAAqBlwC,EAAKt1D,KAAM,EAAA0lG,EAAA,GAA2BpwC,EAAKt1D,IGLjF,WACb,MAAM,IAAI8R,UAAU,4IACtB,CHGsG,EACtG,mFIJe,SAAS6zF,EAAej8E,GACrC,IAAInnB,ECFS,SAAsBosC,EAAOi3D,GAC1C,GAAuB,YAAnB,OAAQj3D,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAIk3D,EAAOl3D,EAAMhgC,OAAOm3F,aACxB,QAAavlG,IAATslG,EAAoB,CACtB,IAAIvyC,EAAMuyC,EAAKlkG,KAAKgtC,EAAOi3D,GAAQ,WACnC,GAAqB,YAAjB,OAAQtyC,GAAmB,OAAOA,EACtC,MAAM,IAAIxhD,UAAU,+CACtB,CACA,OAAiB,WAAT8zF,EAAoB7zF,OAASg0F,QAAQp3D,EAC/C,CDPY,CAAYjlB,EAAK,UAC3B,MAAwB,YAAjB,OAAQnnB,GAAoBA,EAAMwP,OAAOxP,EAClD,qCELe,SAAS20D,EAAQ11D,GAG9B,OAAO01D,EAAU,mBAAqBvoD,QAAU,iBAAmBA,OAAOkF,SAAW,SAAUrS,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqBmN,QAAUnN,EAAI0Q,cAAgBvD,QAAUnN,IAAQmN,OAAOjN,UAAY,gBAAkBF,CAC1H,EAAG01D,EAAQ11D,EACb,gHCPe,SAASwkG,EAA4BttC,EAAGutC,GACrD,GAAKvtC,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,OAAiBA,EAAGutC,GACtD,IAAI/lG,EAAIuB,OAAOC,UAAUyF,SAASxF,KAAK+2D,GAAGz1D,MAAM,GAAI,GAEpD,MADU,WAAN/C,GAAkBw4D,EAAExmD,cAAahS,EAAIw4D,EAAExmD,YAAYlF,MAC7C,QAAN9M,GAAqB,QAANA,EAAoB6B,MAAMzB,KAAKo4D,GACxC,cAANx4D,GAAqB,2CAA2ChB,KAAKgB,IAAW,OAAiBw4D,EAAGutC,QAAxG,CALc,CAMhB,qECRA,IAAIC,GAAeC,EACfvjG,EAAS,mBACb,SAASmD,EAAUg6F,EAAWxjG,GAC1B,IAAIwjG,EAAJ,CAGA,GAAImG,EACA,MAAM,IAAIpnG,MAAM8D,GAEpB,IAAIwjG,EAA8B,oBAAZ7pG,EAAyBA,IAAYA,EACvDqW,EAAQwzF,EAAW,GAAGrlG,OAAO6B,EAAQ,MAAM7B,OAAOqlG,GAAYxjG,EAClE,MAAM,IAAI9D,MAAM8T,EANhB,CAOJ,ICXIyzF,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBhmG,IAAjBimG,EACH,OAAOA,EAAarqG,QAGrB,IAAID,EAASmqG,EAAyBE,GAAY,CAGjDpqG,QAAS,CAAC,GAOX,OAHAsqG,EAAoBF,GAAU5kG,KAAKzF,EAAOC,QAASD,EAAQA,EAAOC,QAASmqG,GAGpEpqG,EAAOC,OACf,CAGAmqG,EAAoBn3F,EAAIs3F,ECxBxBH,EAAoBpmG,EAAI,SAAShE,GAChC,IAAIwqG,EAASxqG,GAAUA,EAAOs7D,WAC7B,WAAa,OAAOt7D,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAoqG,EAAoBx3F,EAAE43F,EAAQ,CAAE7kG,EAAG6kG,IAC5BA,CACR,aCPA,IACIC,EADAzE,EAAWzgG,OAAOwM,eAAiB,SAASzM,GAAO,OAAOC,OAAOwM,eAAezM,EAAM,EAAI,SAASA,GAAO,OAAOA,EAAImQ,SAAW,EAQpI20F,EAAoB/2F,EAAI,SAASqD,EAAO+vE,GAEvC,GADU,EAAPA,IAAU/vE,EAAQX,KAAKW,IAChB,EAAP+vE,EAAU,OAAO/vE,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAP+vE,GAAa/vE,EAAM4kD,WAAY,OAAO5kD,EAC1C,GAAW,GAAP+vE,GAAoC,oBAAf/vE,EAAMS,KAAqB,OAAOT,CAC5D,CACA,IAAIg0F,EAAKnlG,OAAO0Q,OAAO,MACvBm0F,EAAoBh3F,EAAEs3F,GACtB,IAAIC,EAAM,CAAC,EACXF,EAAiBA,GAAkB,CAAC,KAAMzE,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIrkF,EAAiB,EAAP8kE,GAAY/vE,EAAyB,iBAAXiL,KAAyB8oF,EAAe7jG,QAAQ+a,GAAUA,EAAUqkF,EAASrkF,GACxHpc,OAAOqM,oBAAoB+P,GAASxY,SAAQ,SAAS9C,GAAOskG,EAAItkG,GAAO,WAAa,OAAOqQ,EAAMrQ,EAAM,CAAG,IAI3G,OAFAskG,EAAa,QAAI,WAAa,OAAOj0F,CAAO,EAC5C0zF,EAAoBx3F,EAAE83F,EAAIC,GACnBD,CACR,KCxBAN,EAAoBx3F,EAAI,SAAS3S,EAAS2qG,GACzC,IAAI,IAAIvkG,KAAOukG,EACXR,EAAoB5tC,EAAEouC,EAAYvkG,KAAS+jG,EAAoB5tC,EAAEv8D,EAASoG,IAC5Ed,OAAOoM,eAAe1R,EAASoG,EAAK,CAAEq1D,YAAY,EAAMr+C,IAAKutF,EAAWvkG,IAG3E,ECPA+jG,EAAoBv3F,EAAI,CAAC,EAGzBu3F,EAAoBxoG,EAAI,SAASipG,GAChC,OAAOj0F,QAAQ1V,IAAIqE,OAAOY,KAAKikG,EAAoBv3F,GAAGqpB,QAAO,SAAS4uE,EAAUzkG,GAE/E,OADA+jG,EAAoBv3F,EAAExM,GAAKwkG,EAASC,GAC7BA,CACR,GAAG,IACJ,ECPAV,EAAoBz2F,EAAI,SAASk3F,GAEhC,MAAO,aAAeA,EAAU,IAAM,CAAC,IAAM,WAAW,IAAM,YAAYA,GAAW,WACtF,ECHAT,EAAoBW,SAAW,SAASF,GAGxC,ECJAT,EAAoBt3F,EAAI,WACvB,GAA0B,kBAAf+oF,WAAyB,OAAOA,WAC3C,IACC,OAAO9lF,MAAQ,IAAIi1F,SAAS,cAAb,EAChB,CAAE,MAAOppG,GACR,GAAsB,kBAAXO,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBioG,EAAoB5tC,EAAI,SAASl3D,EAAK2lG,GAAQ,OAAO1lG,OAAOC,UAAUkQ,eAAejQ,KAAKH,EAAK2lG,EAAO,aCAtG,IAAIC,EAAa,CAAC,EACdC,EAAoB,SAExBf,EAAoBp3F,EAAI,SAASnF,EAAKqJ,EAAM7Q,EAAKwkG,GAChD,GAAGK,EAAWr9F,GAAQq9F,EAAWr9F,GAAKhF,KAAKqO,OAA3C,CACA,IAAIk0F,EAAQC,EACZ,QAAWhnG,IAARgC,EAEF,IADA,IAAIilG,EAAU3qG,SAAS4qG,qBAAqB,UACpCznG,EAAI,EAAGA,EAAIwnG,EAAQrnG,OAAQH,IAAK,CACvC,IAAIqS,EAAIm1F,EAAQxnG,GAChB,GAAGqS,EAAEvH,aAAa,QAAUf,GAAOsI,EAAEvH,aAAa,iBAAmBu8F,EAAoB9kG,EAAK,CAAE+kG,EAASj1F,EAAG,KAAO,CACpH,CAEGi1F,IACHC,GAAa,GACbD,EAASzqG,SAASG,cAAc,WAEzB0qG,QAAU,QACjBJ,EAAOxpD,QAAU,IACbwoD,EAAoBr+B,IACvBq/B,EAAO15D,aAAa,QAAS04D,EAAoBr+B,IAElDq/B,EAAO15D,aAAa,eAAgBy5D,EAAoB9kG,GAExD+kG,EAAOt+D,IAAMj/B,GAEdq9F,EAAWr9F,GAAO,CAACqJ,GACnB,IAAIu0F,EAAmB,SAASlqF,EAAMjW,GAErC8/F,EAAOp9D,QAAUo9D,EAAOr9D,OAAS,KACjC6vC,aAAah8B,GACb,IAAI8pD,EAAUR,EAAWr9F,GAIzB,UAHOq9F,EAAWr9F,GAClBu9F,EAAOn7D,YAAcm7D,EAAOn7D,WAAW1sC,YAAY6nG,GACnDM,GAAWA,EAAQviG,SAAQ,SAASX,GAAM,OAAOA,EAAG8C,EAAQ,IACzDiW,EAAM,OAAOA,EAAKjW,EACtB,EACIs2C,EAAUV,WAAWuqD,EAAiB96B,KAAK,UAAMtsE,EAAW,CAAEuM,KAAM,UAAWouC,OAAQosD,IAAW,MACtGA,EAAOp9D,QAAUy9D,EAAiB96B,KAAK,KAAMy6B,EAAOp9D,SACpDo9D,EAAOr9D,OAAS09D,EAAiB96B,KAAK,KAAMy6B,EAAOr9D,QACnDs9D,GAAc1qG,SAASgrG,KAAKnpG,YAAY4oG,EApCkB,CAqC3D,KCxCAhB,EAAoBh3F,EAAI,SAASnT,GACX,qBAAXwS,QAA0BA,OAAOyyF,aAC1C3/F,OAAOoM,eAAe1R,EAASwS,OAAOyyF,YAAa,CAAExuF,MAAO,WAE7DnR,OAAOoM,eAAe1R,EAAS,aAAc,CAAEyW,OAAO,GACvD,ECNA0zF,EAAoBl3F,EAAI,eCKxB,IAAI04F,EAAkB,CACrB,IAAK,GAGNxB,EAAoBv3F,EAAE2lD,EAAI,SAASqyC,EAASC,GAE1C,IAAIe,EAAqBzB,EAAoB5tC,EAAEovC,EAAiBf,GAAWe,EAAgBf,QAAWxmG,EACtG,GAA0B,IAAvBwnG,EAGF,GAAGA,EACFf,EAASjiG,KAAKgjG,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIl1F,SAAQ,SAASD,EAASE,GAAUg1F,EAAqBD,EAAgBf,GAAW,CAACl0F,EAASE,EAAS,IACzHi0F,EAASjiG,KAAKgjG,EAAmB,GAAKC,GAGtC,IAAIj+F,EAAMu8F,EAAoBl3F,EAAIk3F,EAAoBz2F,EAAEk3F,GAEpD/nG,EAAQ,IAAIF,MAgBhBwnG,EAAoBp3F,EAAEnF,GAfH,SAASvC,GAC3B,GAAG8+F,EAAoB5tC,EAAEovC,EAAiBf,KAEf,KAD1BgB,EAAqBD,EAAgBf,MACRe,EAAgBf,QAAWxmG,GACrDwnG,GAAoB,CACtB,IAAIE,EAAYzgG,IAAyB,SAAfA,EAAMsF,KAAkB,UAAYtF,EAAMsF,MAChEo7F,EAAU1gG,GAASA,EAAM0zC,QAAU1zC,EAAM0zC,OAAOlS,IACpDhqC,EAAMzC,QAAU,iBAAmBwqG,EAAU,cAAgBkB,EAAY,KAAOC,EAAU,IAC1FlpG,EAAMgO,KAAO,iBACbhO,EAAM8N,KAAOm7F,EACbjpG,EAAMmpG,QAAUD,EAChBH,EAAmB,GAAG/oG,EACvB,CAEF,GACyC,SAAW+nG,EAASA,EAE/D,CAEH,EAaA,IAAIqB,EAAuB,SAASC,EAA4BtvF,GAC/D,IAKIwtF,EAAUQ,EALVuB,EAAWvvF,EAAK,GAChBwvF,EAAcxvF,EAAK,GACnByvF,EAAUzvF,EAAK,GAGI/Y,EAAI,EAC3B,GAAGsoG,EAASpkE,MAAK,SAASisB,GAAM,OAA+B,IAAxB23C,EAAgB33C,EAAW,IAAI,CACrE,IAAIo2C,KAAYgC,EACZjC,EAAoB5tC,EAAE6vC,EAAahC,KACrCD,EAAoBn3F,EAAEo3F,GAAYgC,EAAYhC,IAGhD,GAAGiC,EAAsBA,EAAQlC,EAClC,CAEA,IADG+B,GAA4BA,EAA2BtvF,GACrD/Y,EAAIsoG,EAASnoG,OAAQH,IACzB+mG,EAAUuB,EAAStoG,GAChBsmG,EAAoB5tC,EAAEovC,EAAiBf,IAAYe,EAAgBf,IACrEe,EAAgBf,GAAS,KAE1Be,EAAgBf,GAAW,CAG7B,EAEI0B,EAAqBlvC,KAAwB,kBAAIA,KAAwB,mBAAK,GAClFkvC,EAAmBpjG,QAAQ+iG,EAAqBv7B,KAAK,KAAM,IAC3D47B,EAAmB1jG,KAAOqjG,EAAqBv7B,KAAK,KAAM47B,EAAmB1jG,KAAK8nE,KAAK47B,iECtFvF,SAAShxC,EAAQlB,EAAQmB,GACvB,IAAIr1D,EAAOZ,OAAOY,KAAKk0D,GACvB,GAAI90D,OAAOsM,sBAAuB,CAChC,IAAI0kC,EAAUhxC,OAAOsM,sBAAsBwoD,GAC3CmB,IAAmBjlB,EAAUA,EAAQztC,QAAO,SAAU2yD,GACpD,OAAOl2D,OAAOuM,yBAAyBuoD,EAAQoB,GAAKC,UACtD,KAAKv1D,EAAK0C,KAAKF,MAAMxC,EAAMowC,EAC7B,CACA,OAAOpwC,CACT,CACe,SAASqmG,EAAextD,GACrC,IAAK,IAAIl7C,EAAI,EAAGA,EAAI8E,UAAU3E,OAAQH,IAAK,CACzC,IAAI4yD,EAAS,MAAQ9tD,UAAU9E,GAAK8E,UAAU9E,GAAK,CAAC,EACpDA,EAAI,EAAIy3D,EAAQh2D,OAAOmxD,IAAS,GAAIvtD,SAAQ,SAAU9C,IACpD,EAAAsL,EAAA,GAAeqtC,EAAQ34C,EAAKqwD,EAAOrwD,GACrC,IAAKd,OAAOs2D,0BAA4Bt2D,OAAOu2D,iBAAiB9c,EAAQz5C,OAAOs2D,0BAA0BnF,IAAW6E,EAAQh2D,OAAOmxD,IAASvtD,SAAQ,SAAU9C,GAC5Jd,OAAOoM,eAAeqtC,EAAQ34C,EAAKd,OAAOuM,yBAAyB4kD,EAAQrwD,GAC7E,GACF,CACA,OAAO24C,CACT,eCpBe,SAAS,EAAyB0X,EAAQsF,GACvD,GAAc,MAAVtF,EAAgB,MAAO,CAAC,EAC5B,IACIrwD,EAAKvC,EADLk7C,GAAS,EAAAytD,EAAA,GAA6B/1C,EAAQsF,GAElD,GAAIz2D,OAAOsM,sBAAuB,CAChC,IAAIsqD,EAAmB52D,OAAOsM,sBAAsB6kD,GACpD,IAAK5yD,EAAI,EAAGA,EAAIq4D,EAAiBl4D,OAAQH,IACvCuC,EAAM81D,EAAiBr4D,GACnBk4D,EAASp1D,QAAQP,IAAQ,GACxBd,OAAOC,UAAU6wD,qBAAqB5wD,KAAKixD,EAAQrwD,KACxD24C,EAAO34C,GAAOqwD,EAAOrwD,GAEzB,CACA,OAAO24C,CACT,yFCiBA,IAAM0tD,GAAqB3Q,EAAAA,EAAAA,eAAc,MACzC,SAAS4Q,EAAmB/hG,GAAkE,IAA/DgiG,EAAQhiG,EAARgiG,SAAUC,EAAmBjiG,EAAnBiiG,oBAAqBC,EAAiBliG,EAAjBkiG,kBAAmB3uC,EAAQvzD,EAARuzD,SACvE4uC,EAhCV,WAAwC,IAAd5sG,EAAOyI,UAAA3E,OAAA,QAAAI,IAAAuE,UAAA,GAAAA,UAAA,GAAG,CAAC,EACzBikG,EAA2C1sG,EAA3C0sG,oBAAqBC,EAAsB3sG,EAAtB2sG,kBAC7BE,GAAgEtiB,EAAAA,EAAAA,WAAS,GAAMuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxED,EAAwBE,EAAA,GAAEC,EAA2BD,EAAA,GACtDE,GAAyB3gB,EAAAA,EAAAA,QAAOqgB,GACtCM,EAAuBxrF,QAAUkrF,EACjC,IAAMO,GAAuB5gB,EAAAA,EAAAA,QAAOsgB,GAsBpC,OArBAM,EAAqBzrF,QAAUmrF,GAC/BjiB,EAAAA,EAAAA,YAAU,WACN,IAAMwiB,EAAY1sG,SAASG,cAAc,UAezC,OAdAusG,EAAUvgE,IAAM,yCAChBugE,EAAUhF,OAAQ,EAClBgF,EAAUC,OAAQ,EAClBD,EAAUt/D,OAAS,WACf,IAAIzrB,EACJ4qF,GAA4B,GACc,QAAzC5qF,EAAK6qF,EAAuBxrF,eAA4B,IAAPW,GAAyBA,EAAG7c,KAAK0nG,EACvF,EACAE,EAAUr/D,QAAU,WAChB,IAAI1rB,EACJ4qF,GAA4B,GACY,QAAvC5qF,EAAK8qF,EAAqBzrF,eAA4B,IAAPW,GAAyBA,EAAG7c,KAAK2nG,EACrF,EACAzsG,SAAS4B,KAAKC,YAAY6qG,GACnB,WACH1sG,SAAS4B,KAAKgB,YAAY8pG,EAC9B,CACJ,GAAG,IACIN,CACX,CAIqCQ,CAAiB,CAC9CV,oBAAAA,EACAC,kBAAAA,IAEEU,GAAelhB,EAAAA,EAAAA,UAAQ,iBAAO,CAChCsgB,SAAAA,EACAG,yBAAAA,EACH,GAAG,CAACH,EAAUG,IACf,OAAQ1S,EAAAA,cAAoBqS,EAAmBvQ,SAAU,CAAEzlF,MAAO82F,GAAgBrvC,EACtF,CACA,SAASsvC,IACL,IAAMn1F,GAAU6zE,EAAAA,EAAAA,YAAWugB,GAC3B,IAAKp0F,EACD,MAAM,IAAI1V,MAAM,mEAEpB,OAAO0V,CACX,CA8EA,SAASo1F,EAAcC,GAAkG,IAAAC,EAAAD,EAA/FE,KAAAA,OAAI,IAAAD,EAAG,WAAUA,EAAAE,EAAAH,EAAEI,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EAAEE,EAASL,EAATK,UAAW3jC,EAAOsjC,EAAPtjC,QAAS4jC,EAAeN,EAAfM,gBAAiBC,EAAaP,EAAbO,cAAkBtkG,EAAKmyD,EAAA4xC,EAAAQ,GACjHC,EAA+CX,IAAvCb,EAAQwB,EAARxB,SAAUG,EAAwBqB,EAAxBrB,yBACZsB,GAAY7hB,EAAAA,EAAAA,UACZ8hB,GAAe9hB,EAAAA,EAAAA,QAAOwhB,GAC5BM,EAAa3sF,QAAUqsF,EACvB,IAAMO,GAAa/hB,EAAAA,EAAAA,QAAOniB,GAC1BkkC,EAAW5sF,QAAU0oD,EACrB,IAAMmkC,GAAqBhiB,EAAAA,EAAAA,QAAOyhB,GAClCO,EAAmB7sF,QAAUssF,GAC7BpjB,EAAAA,EAAAA,YAAU,WACN,IAAIvoE,EACJ,GAAKyqF,EAAL,CAEA,IAAM0B,EAAwB,aAATZ,EAAsB,kBAAoB,iBACzDa,EAAkC,QAAxBpsF,EAAKngB,OAAOwsG,cAA2B,IAAPrsF,OAAgB,EAASA,EAAGssF,SAASC,OAAOJ,GAAa9yC,EAAC,CACtGmzC,UAAWlC,EACXmB,MAAOG,EAAgBH,EAAQ,wBAAHlpG,OAA2BkpG,GACvDzlG,SAAU,SAACg5C,GACP,IAAIh/B,EAAI0N,EACR,GAAIsxB,EAASx+C,MACT,OAAqC,QAA7Bwf,EAAKisF,EAAW5sF,eAA4B,IAAPW,OAAgB,EAASA,EAAG7c,KAAK8oG,EAAYjtD,GAC9D,QAA/BtxB,EAAKs+E,EAAa3sF,eAA4B,IAAPqO,GAAyBA,EAAGvqB,KAAK6oG,EAAchtD,EAC3F,EACAytD,eAAgB,SAACC,GACb,IAAI1sF,EACkC,QAArCA,EAAKksF,EAAmB7sF,eAA4B,IAAPW,GAAyBA,EAAG7c,KAAK+oG,EAAoBQ,EACvG,GACGplG,IAEPykG,EAAU1sF,QAAU+sF,CAjBV,CAmBd,GAAG,CAAC9B,EAAUG,EAA0Bc,EAAME,IAC9C,IAAMkB,GAAoB/iB,EAAAA,EAAAA,cAAY,SAACgjB,GAAc,OAAKb,EAAU1sF,QAAQwtF,mBAAmBD,EAAe,GAAE,IAC1GE,GAAoBljB,EAAAA,EAAAA,cAAY,kBAAMmiB,EAAU1sF,QAAQ0tF,aAAa,GAAE,IAC7E,MAAgB,aAATxB,EAAsBoB,EAAoBG,CACrD,uDnE1JMjV,EAAA,SAAAiC,2IACJ1yF,SAAUC,EAAAA,EAAAA,sBAAcunC,EAAKtnC,wCAE7B6H,OAAA,kBACS4oF,EAAAA,cAACE,EAAAA,OAAD,CAAQ7wF,QAASqM,KAAKrM,QAASy0D,SAAUpoD,KAAKnM,MAAMu0D,cAJzD,CAAsBk8B,EAAAA,WCAHA,EAAAA,UCPlB,IAAMI,EAAoB,SAACt2F,EAAIsD,SACtB,oBAAPtD,EAAoBA,EAAGsD,GAAmBtD,GAEtCu2F,EAAsB,SAACv2F,EAAIsD,SACjB,kBAAPtD,GACVoD,EAAAA,EAAAA,gBAAepD,EAAI,KAAM,KAAMsD,GAC/BtD,GCGAw2F,EAAiB,SAAA3W,UAAKA,GACtB4W,EAAeP,EAAAA,WACK,qBAAfO,IACTA,EAAaD,GAOf,IAAME,EAAaD,GACjB,SAAAhwF,EAOE0kG,OALExU,EAMClwF,EANDkwF,SACAC,EAKCnwF,EALDmwF,SACAwU,EAIC3kG,EAJD2zD,QACGsiC,GAGF3kC,EAAAA,EAAAA,GAAAtxD,EAAA,mCACKo0C,EAAW6hD,EAAX7hD,OAEJp1C,GAAKlC,EAAAA,EAAAA,GAAA,GACJm5F,EADI,CAEPtiC,QAAS,SAAAjzD,OAEDikG,GAASA,EAAQjkG,GACrB,MAAOkkG,SACPlkG,EAAMvJ,iBACAytG,EAILlkG,EAAMsmE,kBACU,IAAjBtmE,EAAMsoE,QACJ50B,GAAqB,UAAXA,GA7BtB,SAAyB1zC,YACbA,EAAMmoE,SAAWnoE,EAAMkoE,QAAUloE,EAAMgoE,SAAWhoE,EAAMioE,UA6BzDynB,CAAgB1vF,KAEjBA,EAAMvJ,iBACNg5F,eAOJnxF,EAAMm8E,IADJ4U,IAAmBC,GACT0U,GAEAxU,EAIPT,EAAAA,cAAA,IAAOzwF,MAWlB,IAAMqxF,EAAOL,GACX,SAAA6U,EAQEH,WANEh+F,UAAAA,OAOC,IAAAo+F,EAPW7U,EAOX6U,EANDvsG,EAMCssG,EANDtsG,QACAgB,EAKCsrG,EALDtrG,GACA22F,EAIC2U,EAJD3U,SACG+F,GAGF3kC,EAAAA,EAAAA,GAAAuzC,EAAA,gDAEDpV,EAAAA,cAACa,EAAAA,gBAAcC,SAAf,MACG,SAAA7iF,GACWA,IAAVzO,EAAAA,EAAAA,IAAU,OAEFH,EAAY4O,EAAZ5O,QAEFpC,EAAWozF,EACfD,EAAkBt2F,EAAImU,EAAQhR,UAC9BgR,EAAQhR,UAGJoF,EAAOpF,EAAWoC,EAAQ2C,WAAW/E,GAAY,GACjDsC,GAAKlC,EAAAA,EAAAA,GAAA,GACNm5F,EADM,CAETn0F,KAAAA,EACAquF,SAHS,eAIDzzF,EAAWmzF,EAAkBt2F,EAAImU,EAAQhR,UACzCqoG,GAAwBtoG,EAAAA,EAAAA,YAAWiR,EAAQhR,aAAcD,EAAAA,EAAAA,YAAWqzF,EAAoBpzF,KAC9EnE,GAAWwsG,EAAyBjmG,EAAQvG,QAAUuG,EAAQb,MAEvEvB,aAKPqzF,IAAmBC,EACrBhxF,EAAMm8E,IAAMupB,GAAgBxU,EAE5BlxF,EAAMkxF,SAAWA,EAGZT,EAAAA,cAAoB/oF,EAAW1H,SC1G1CwxF,EAAiB,SAAApX,UAAKA,GACtBqX,EAAehB,EAAAA,WACK,qBAAfgB,IACTA,EAAaD,GAUf,IAAME,EAAUD,GACd,SAAAzwF,EAgBE0kG,WAdE,gBAAgBM,OAef,IAAAC,EAf6B,OAe7BA,MAdDtU,gBAAAA,OAcC,IAAAuU,EAdiB,SAcjBA,EAbDtU,EAaC5wF,EAbD4wF,YACWuU,EAYVnlG,EAZD0qC,UACAulB,EAWCjwD,EAXDiwD,MACUm1C,EAUTplG,EAVDnC,SACUwnG,EASTrlG,EATDtD,SACAqxD,EAQC/tD,EARD+tD,UACAC,EAOChuD,EAPDguD,OACOs3C,EAMNtlG,EAND3J,MACAkD,EAKCyG,EALDzG,GACA22F,EAIClwF,EAJDkwF,SACG+F,GAGF3kC,EAAAA,EAAAA,GAAAtxD,EAAA,gJAEDyvF,EAAAA,cAACa,EAAAA,gBAAcC,SAAf,MACG,SAAA7iF,GACWA,IAAVzO,EAAAA,EAAAA,IAAU,OAEJpC,EAAkBwoG,GAAgB33F,EAAQhR,SAC1CuE,EAAa6uF,EACjBD,EAAkBt2F,EAAIsD,GACtBA,GAEgBlB,EAASsF,EAAnBpI,SAEF0sG,EACJ5pG,GAAQA,EAAKpD,QAAQ,4BAA6B,QAE9Cy9C,EAAQuvD,GACV1U,EAAAA,EAAAA,WAAUh0F,EAAgBhE,SAAU,CAClC8C,KAAM4pG,EACNt1C,MAAAA,EACAlC,UAAAA,EACAC,OAAAA,IAEF,KACEnwD,KAAcunG,EAChBA,EAAapvD,EAAOn5C,GACpBm5C,GAEAtL,EACuB,oBAAlBy6D,EACHA,EAActnG,GACdsnG,EAEF9uG,EACmB,oBAAdivG,EAA2BA,EAAUznG,GAAYynG,EAEtDznG,IACF6sC,EA9DZ,sCAA2B86D,EAAY,IAAAvqG,MAAAmD,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAZknG,EAAYlnG,GAAAN,UAAAM,UAC9BknG,EAAWtnG,QAAO,SAAAhF,UAAKA,KAAGqB,KAAK,KA6DhBu2F,CAAepmD,EAAWimD,GACtCt6F,GAAKyG,EAAAA,EAAAA,GAAA,GAAQzG,EAAUu6F,QAGnB5xF,GAAKlC,EAAAA,EAAAA,GAAA,gBACQe,GAAYmnG,GAAgB,KAC7Ct6D,UAAAA,EACAr0C,MAAAA,EACAkD,GAAI0H,GACDg1F,UAIDzF,IAAmBC,EACrBzxF,EAAMm8E,IAAMupB,GAAgBxU,EAE5BlxF,EAAMkxF,SAAWA,EAGZT,EAAAA,cAACY,EAASrxF,SgE3F3B,SAAShI,EAAsBA,GAC3BmU,KAAK1V,QAAUuB,CAAA,CAGnBA,EAAsB4D,UAAY,IAAI5C,MACtChB,EAAsB4D,UAAUsL,KAAO,wBA6BvC,IAAAsC,EAAkC,oBAAXjR,QACnBA,OAAOkuG,MACPluG,OAAOkuG,KAAK1/B,KAAKxuE,SA7BrB,SAAkBiR,GACd,IAAIC,EAAMwC,OAAOzC,GAAOjQ,QAAQ,MAAO,IACvC,GAAIkQ,EAAIpP,OAAS,GAAK,EAClB,MAAM,IAAIrC,EACN,qEAGR,IAEI,IAAYoC,EAAIw4D,EAAZ72D,EAAK,EAAe7B,EAAM,EAAG6O,EAAS,GAEzC6pD,EAASnpD,EAAI3P,OAAOI,MAEpB04D,IACCx4D,EAAK2B,EAAK,EAAS,GAAL3B,EAAUw4D,EAASA,EAG/B72D,IAAO,GACVgN,GAAUkD,OAAOuE,aAAa,IAAOpW,KAAS,EAAI2B,EAAM,IACzD,EAGA62D,EA/BI,oEA+BW51D,QAAQ41D,GAE3B,OAAO7pD,CAAA,ECxBI,SAAAU,EAASzR,GACpB,IAAIyR,EAASzR,EAAIuB,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KAClD,OAAQkQ,EAAOpP,OAAS,GACpB,KAAK,EACD,MACJ,KAAK,EACDoP,GAAU,KACV,MACJ,KAAK,EACDA,GAAU,IACV,MACJ,QACI,KAAM,4BAGd,IACI,OA5BR,SAA0BzR,GACtB,OAAO0uG,mBACHl9F,EAAKxR,GAAKuB,QAAQ,QAAQ,SAASvB,EAAGwR,GAClC,IAAIC,EAAOD,EAAEyG,WAAW,GAAG5O,SAAS,IAAImkB,cAIxC,OAHI/b,EAAKpP,OAAS,IACdoP,EAAO,IAAMA,GAEV,IAAMA,CAAA,KAPzB,CA4BgCA,EAAA,CAC1B,MAAOzR,GACL,OAAOwR,EAAKC,EAAA,EC5Bb,SAASrP,EAAkBpC,GAC9BmU,KAAK1V,QAAUuB,CAAA,CAGnBoC,EAAkBwB,UAAY,IAAI5C,MAClCoB,EAAkBwB,UAAUsL,KAAO,0BAEpB,SAASlP,EAAOwR,GAC3B,GAAqB,iBAAVxR,EACP,MAAM,IAAIoC,EAAkB,2BAIhC,IAAIw4D,GAAA,KADJppD,EAAUA,GAAW,CAAC,GACJm9F,OAAkB,EAAI,EACxC,IACI,OAAOj4C,KAAK9pC,MAAMnb,EAAkBzR,EAAM4C,MAAM,KAAKg4D,IAAA,CACvD,MAAO56D,GACL,MAAM,IAAIoC,EAAkB,4BAA8BpC,EAAEvB,QAAA,GCnBvDmwG,EAAU,WACnB,IAAI/mF,EAAQgnF,IAEZ,OADahnF,EAAMinF,EAAWjnF,GAAOwqC,GAAG,IAE5C,EAQaw8C,EAAW,WACpB,OAAOE,aAAaC,QAAQ,UAAY,IAC5C,EAEaC,EAAa,SAACpnF,GACvBknF,aAAaG,QAAQ,QAASrnF,EAClC,EAEasnF,EAAgB,WACzBJ,aAAaK,WAAW,QAC5B,EAEaC,EAAoB,WAC7B,IAAIxnF,EAAQynF,IAEZ,OADaznF,EAAMinF,EAAWjnF,GAAOwqC,GAAG,IAE5C,EAEai9C,EAAqB,WAC9B,OAAOP,aAAaC,QAAQ,qBAAuB,IACvD,EAEaO,EAAuB,SAAC1nF,GACjCknF,aAAaG,QAAQ,mBAAoBrnF,EAC7C,EAEa2nF,EAA0B,WACnCT,aAAaK,WAAW,mBAC5B,EAEaK,EAAc,WACvB,IAAI5nF,EAAQ6nF,IAEZ,OADa7nF,EAAMinF,EAAWjnF,GAAOwqC,GAAG,IAE5C,EAEaq9C,EAAe,WACxB,OAAOX,aAAaC,QAAQ,eAAiB,IACjD,EAEaW,EAAiB,SAAC9nF,GAC3BknF,aAAaG,QAAQ,aAAcrnF,EACvC,EAEa+nF,EAAoB,WAC7Bb,aAAaK,WAAW,aAC5B,EAEaS,EAAoB,WAC7B,IAAIhoF,EAAQioF,IAEZ,OADajoF,EAAMinF,EAAWjnF,GAAOwqC,GAAG,IAE5C,EAEa09C,EAAgB,SAACloF,GAC1B,OAAOmoF,eAAed,QAAQ,OAAQrnF,EAC1C,EAEaioF,EAAgB,WACzB,OAAOE,eAAehB,QAAQ,SAAW,IAC7C,EAEaiB,EAAmB,WAC5B,OAAOD,eAAeZ,WAAW,OACrC,EAEac,EAAyB,WAClC,IAAIroF,EAAQsoF,IAEZ,OADatoF,EAAMinF,EAAWjnF,GAAOwqC,GAAG,IAE5C,EAEa+9C,EAA0B,SAACvoF,GACpC,OAAOmoF,eAAed,QAAQ,kBAAmBrnF,EACrD,EAEasoF,EAA0B,WACnC,OAAOH,eAAehB,QAAQ,oBAAsB,IACxD,EAEaqB,EAA6B,WACtC,OAAOL,eAAeZ,WAAW,kBACrC,EAEakB,GAAmB,WAC5B,IAAIzoF,EAAQ0oF,KAEZ,OADa1oF,EAAMinF,EAAWjnF,GAAOwqC,GAAG,IAE5C,EAEam+C,GAAoB,SAAC3oF,GAC9B,OAAOmoF,eAAed,QAAQ,YAAarnF,EAC/C,EAEa0oF,GAAoB,WAC7B,OAAOP,eAAehB,QAAQ,cAAgB,IAClD,EAEayB,GAAuB,WAChC,OAAOT,eAAeZ,WAAW,YACrC,EAEasB,GAAoB,WAC7B,IAAI7oF,EAAQ8oF,KAEZ,OADa9oF,EAAMinF,EAAWjnF,GAAOwqC,GAAG,IAE5C,EAEau+C,GAAqB,SAAC/oF,GAC/B,OAAOmoF,eAAed,QAAQ,aAAcrnF,EAChD,EAEa8oF,GAAqB,WAC9B,OAAOX,eAAehB,QAAQ,eAAiB,IACnD,EAEa6B,GAAwB,WACjC,OAAOb,eAAeZ,WAAW,aACrC,6BCpHA,GAZ+B,SAAHpmG,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAC3D,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAO2oG,MAAuBG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,KAC3C8oG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,oBAAqB+D,MAAO,CAACpD,KAAMwF,EAAMtC,YACzE,IAGR,mBCEA,GAZ8B,SAAHsD,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAC1D,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAQ2oG,MACPG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,wBADIivG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,GAElD,IAGR,mBCEA,GAZ0B,SAAHgB,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IACtD,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAO8nG,KAAkBgB,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,KACtC8oG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,qBAAsB+D,MAAO,CAACpD,KAAMwF,EAAMtC,YAC1E,IAGR,mBCEA,GAZyB,SAAHsD,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IACrD,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAQ8nG,KACPgB,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,yBADDivG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,GAE7C,IAGR,mBCEA,GAZoC,SAAHgB,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAChE,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAOmoG,KAA4BW,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,KAChD8oG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,0BAA2B+D,MAAO,CAACpD,KAAMwF,EAAMtC,YAC/E,IAGR,mBCEA,GAZmC,SAAHsD,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAC/D,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAQmoG,KACPW,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,kCADSivG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,GAEvD,IAGR,mBCEA,GAZ8B,SAAHgB,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAC1D,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAOuoG,MAAsBO,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,KAC1C8oG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,oBAAqB+D,MAAO,CAACpD,KAAMwF,EAAMtC,YACzE,IAGR,mBCEA,GAZ6B,SAAHsD,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IACzD,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAQuoG,MACPO,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,wBADGivG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,GAEjD,IAGR,mBCEA,GAZqB,SAAHgB,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IACjD,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAO6mG,KAAaiC,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,KACjC8oG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,eAAgB+D,MAAO,CAACpD,KAAMwF,EAAMtC,YACpE,IAGR,mBCEA,GAZoB,SAAHsD,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAChD,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAQ6mG,KACPiC,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,6BADNivG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,GAExC,IAGR,mBCEA,GAZ+B,SAAHgB,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAC3D,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAOsnG,KAAuBwB,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,KAC3C8oG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,oBAAqB+D,MAAO,CAACpD,KAAMwF,EAAMtC,YACzE,IAGR,mBCEA,GAZ8B,SAAHsD,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IAC1D,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAQsnG,KACPwB,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,kCADIivG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,GAElD,IAGR,mBCEA,GAZyB,SAAHgB,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IACrD,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAO0nG,KAAiBoB,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,KACrC8oG,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,cAAe+D,MAAO,CAACpD,KAAMwF,EAAMtC,YACnE,IAGR,mBCEA,GAZwB,SAAHsD,GAA2C,IAA1Bw5E,EAASx5E,EAApB0G,UAAyBuvF,EAAI9kC,EAAAnxD,EAAAywD,IACpD,OACIq3C,EAAAA,GAAAA,KAAChT,EAAAA,MAAK/jC,EAAAA,EAAA,GACFklC,GAAI,IACRpvF,OAAQ,SAAA7H,GACJ,OAAQ0nG,KACPoB,EAAAA,GAAAA,KAAChU,EAAAA,SAAQ,CAACv6F,GAAI,CAAEV,SAAU,yBADFivG,EAAAA,GAAAA,KAACtuB,EAASzoB,EAAA,GAAK/xD,GAE5C,IAGR,ECZe,SAAS+oG,GAAa/oG,GAMjC,OALAihF,EAAAA,EAAAA,YAAU,WACNjhF,EAAMF,QAAQb,KAAK,SAEvB,GAAG,KAEK6pG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,GAGZ,CCVA,QAAgB,OAAS,qBAAqB,eAAe,2BAA2B,mBAAmB,+BAA+B,iBAAiB,6BAA6B,eAAe,2BAA2B,MAAQ,oBAAoB,SAAS,qBAAqB,QAAU,sBAAsB,YAAY,wBAAwB,SAAW,uBAAuB,eAAe,2BAA2B,uBAAuB,mCAAmC,qBAAqB,iCAAiC,uBAAuB,mCAAmC,uBAAuB,mCAAmC,4BAA4B,wCAAwC,kBAAkB,8BAA8B,qBAAqB,iCAAiC,iBAAiB,6BAA6B,iBAAiB,6BAA6B,QAAU,sBAAsB,gBAAgB,4BAA4B,gBAAgB,4BAA4B,iBAAiB,6BAA6B,WAAW,uBAAuB,KAAO,mBAAmB,aAAa,yBAAyB,oBAAoB,gCAAgC,eAAe,2BAA2B,cAAc,0BAA0B,WAAa,yBAAyB,uBAAuB,mCAAmC,gBAAgB,4BAA4B,cAAc,0BAA0B,cAAc,2BCGv9C,SAASC,GAAKjpG,GACzB,IAAAojG,GAA0BtiB,EAAAA,EAAAA,WAAS,GAAKuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAhC8F,EAAI7F,EAAA,GAAE8F,EAAO9F,EAAA,GACrB+F,GAA0BtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAjCE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GACrBG,GAA0B1oB,EAAAA,EAAAA,WAAS,GAAM2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAjCE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GACrBG,GAA0B9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAjCE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GACrBG,GAA8BlpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAlCE,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAWzB,OAAQG,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJu0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAe,OAAEs2B,UAC1B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,YAEtCvB,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,kBAM5CvB,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,WAvBhE30D,EAAMF,QAAQb,KAAK,eAuB8D,EAACs1D,SAAC,kBAG3E61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACnC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,uBAAmBu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mDAC5Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gFACH61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,yCAAyC17B,MAAOo9F,EAAQI,SAAU,SAACtyG,GAAC,OAAKmyG,EAAUnyG,EAAEo9C,OAAOtoC,MAAM,KACjIg8F,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBA7B5EqzC,eAAed,QAAQ,WAAYgD,QACnClqG,EAAMF,QAAQb,KAAK,yBA4B8E,EAACs1D,SAAC,4BAInFu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+BAA+BmnE,IAAI,gBAKhEvB,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAO,kBAAkBs2B,UAClCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAc,MAAEs2B,UAC5B61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,gBACxCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sBAAsBmnE,IAAI,WACnCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,UAClCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,iBACzCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wBAAwBmnE,IAAI,sBAKrDvB,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAO,kBAAkBs2B,UAClCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,UAAUs2B,SAAA,EAC7B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChC61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,OAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAkB,SAC/Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iMAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAiB,SAAEs2B,SAAA,EAC/B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,iCAAiCmnE,IAAI,sBAC9CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,+GAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,qBAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,6BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uFAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,gBACxCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0EAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,eACvCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,wFAMvBu0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAO,wBAAwBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,wBAAwBs2B,SAAA,EAC3Cu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wBAAwBmnE,IAAI,WAEzCD,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,wBAAwBs2B,SAAA,EAC3C61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,SAAKu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,yBAA2B,gBAC1Cu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yhBASnBu0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAO,aAAas2B,UAC7B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kMAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,6BAA6Bs2B,SAAA,EAChD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,2BACJu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,0DAEVu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UAAKu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,WACvCvB,EAAAA,GAAAA,KAAA,cAEJsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,WACAA,EAAAA,GAAAA,KAAA,OAAAv0C,UAAKu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,WACvCD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,kEAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yBACJu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,0DAEVu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UAAKu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,QACvCvB,EAAAA,GAAAA,KAAA,cAEJsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,WACAA,EAAAA,GAAAA,KAAA,OAAAv0C,UAAKu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,QACvCD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,cACJu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,kDAM1Bu0C,EAAAA,GAAAA,KAAA,WAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,8CACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iGAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACrC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,iCAAiCmnE,IAAI,eAC9CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,+GAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,oCAAoCmnE,IAAI,kBACjDvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,6BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uFAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,UACzCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0EAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,iCAAiCmnE,IAAI,eAC9CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8EAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,YACxCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8EAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,iCAAiCmnE,IAAI,eAC9CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sFAKvBu0C,EAAAA,GAAAA,KAAA,WAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,0CACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0JAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC1B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJ61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,QAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBACb61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACpC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,6BACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,oCACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,gDACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,qCACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,iCACnCo9D,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,UACzCu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,eAAcg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAsB6oB,SAAC,uBAIzE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJ61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,cAAKu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBACd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACpC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,gCACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,kCACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,iBACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,iCACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,sBACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,qCACnCo9D,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,UACzCu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,eAAcg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAsB6oB,SAAC,uBAIzE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,cAAKu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBACd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACpC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,8BACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,gCACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,mBACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,8BACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,oBACnC0+D,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,gBAAmB,sBACnCo9D,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,UACzCu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,eAAcg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAsB6oB,SAAC,+BAOzFu0C,EAAAA,GAAAA,KAAA,WAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,OAAM1+D,UAAU,YAAW6oB,SAAA,EACnB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAa,KAAEs2B,SAAA,EAC3Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iEAEX61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,YAAYs2B,SAAA,EAC/B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOirE,EAAK,oBAAoB,cAAc30C,SAAA,EAC1D61C,EAAAA,GAAAA,MAAA,OAAKz1C,QAAS,kBAAMw0C,GAASD,EAAK,EAAC30C,SAAA,EAC/Bu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAS,MAAAzwC,OAAQiuG,EAAK,kBAAkB,iBAAgB,mBAC3DkB,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,iDAEzDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAciuG,EAAK,OAAO,QAAS30C,UAC7Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,sLAK/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOqrE,EAAK,oBAAoB,cAAc/0C,SAAA,EAC1D61C,EAAAA,GAAAA,MAAA,OAAKz1C,QAAS,kBAAM40C,GAASD,EAAK,EAAC/0C,SAAA,EAC/Bu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAS,MAAAzwC,OAAQquG,EAAK,kBAAkB,iBAAgB,mBAC3Dc,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,iDAEzDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAcquG,EAAK,OAAO,QAAS/0C,UAC7Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,sLAK/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOyrE,EAAK,oBAAqB,cAAcn1C,SAAA,EAC3D61C,EAAAA,GAAAA,MAAA,OAAKz1C,QAAS,kBAAMg1C,GAASD,EAAK,EAACn1C,SAAA,EAC/Bu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAS,MAAAzwC,OAAQyuG,EAAK,kBAAkB,iBAAgB,mBAC3DU,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,kEAEzDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAcyuG,EAAK,OAAO,QAASn1C,UAC7Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,sLAK/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO6rE,EAAK,oBAAqB,cAAcv1C,SAAA,EAC3D61C,EAAAA,GAAAA,MAAA,OAAKz1C,QAAS,kBAAMo1C,GAASD,EAAK,EAACv1C,SAAA,EAC/Bu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAS,MAAAzwC,OAAQ6uG,EAAK,kBAAkB,iBAAgB,mBAC3DM,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,gDAEzDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAc6uG,EAAK,OAAO,QAASv1C,UAC7Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,8LAQ3Du0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAmB,WAAEs2B,UAC9Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,wBAAwBs2B,SAAA,EAC3Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,6IACHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACAu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,eAAcg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAWzN,GAAO,iBAAiBs2B,SAAC,4BAKhFu0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAO,eAAes2B,UAC/B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,MAClCvB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0DAEP61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,mBAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,2BAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,iCAAiCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,YAC7Eu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,eAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,qBAEtF61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,kBAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,kBAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,YAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,eAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,sBAEtF61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,WACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,aAAYg6D,SAAC,iBACzBu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,cAAag6D,SAAC,kBAC1Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,kBAAiBg6D,SAAC,sBAC9Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,cAAag6D,SAAC,kBAC1Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,6BAA4Bg6D,SAAC,2CAGjD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,0BAEjBo9D,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,sCAMrC,CCvWe,SAASu9D,GAAKjpG,GAMzB,OALAihF,EAAAA,EAAAA,YAAU,WACNjhF,EAAMF,QAAQb,KAAK,cAEvB,GAAG,KAEK6pG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,GAEZ,CCTA,QAAgB,OAAS,qBAAqB,WAAW,uBAAuB,WAAW,uBAAuB,YAAY,wBAAwB,qBAAqB,iCAAiC,iBAAiB,6BAA6B,mBAAmB,+BAA+B,cAAc,0BAA0B,iBAAiB,6BAA6B,eAAe,2BAA2B,qBAAqB,iCAAiC,iBAAiB,6BAA6B,2BAA2B,uCAAuC,uBAAuB,mCAAmC,yBAAyB,qCAAqC,eAAe,2BAA2B,sBAAsB,kCAAkC,uBAAuB,mCAAmC,YAAY,wBAAwB,mBAAmB,+BAA+B,sBAAsB,kCAAkC,uBAAuB,mCAAmC,+BAA+B,2CAA2C,aAAa,yBAAyB,aAAa,yBAAyB,cAAc,0BAA0B,kBAAkB,8BAA8B,kBAAkB,8BAA8B,iBAAiB,6BAA6B,mBAAmB,+BAA+B,cAAc,0BAA0B,eAAe,2BAA2B,uBAAuB,mCAAmC,mCAAmC,+CAA+C,wBAAwB,oCAAoC,mBAAmB,+BAA+B,2BAA2B,uCAAuC,yCAAyC,qDAAqD,8BAA8B,0CAA0C,yBAAyB,qCAAqC,iCAAiC,6CAA6C,8BAA8B,0CAA0C,+BAA+B,2CAA2C,0BAA0B,sCAAsC,2BAA2B,uCAAuC,MAAQ,oBAAoB,4CAA4C,wDAAwD,6CAA6C,yDAAyD,mCAAmC,+CAA+C,sBAAsB,kCAAkC,6BAA6B,yCAAyC,8BAA8B,0CAA0C,GAAK,iBAAiB,oBAAoB,gCAAgC,qBAAqB,iCAAiC,2BAA2B,uCAAuC,kBAAkB,8BAA8B,oBAAoB,gCAAgC,gBAAgB,4BAA4B,uBAAuB,mCAAmC,0BAA0B,sCAAsC,gCAAgC,4CAA4C,sBAAsB,kCAAkC,cAAc,0BAA0B,gCAAgC,4CAA4C,mBAAmB,+BAA+B,WAAW,uBAAuB,kBAAkB,8BAA8B,UAAU,sBAAsB,cAAc,0BAA0B,WAAW,uBAAuB,aAAa,yBAAyB,eAAe,2BAA2B,WAAW,uBAAuB,KAAO,mBAAmB,aAAa,yBAAyB,oBAAoB,gCAAgC,eAAe,2BAA2B,cAAc,0BAA0B,2BAA2B,uCAAuC,6BAA6B,yCAAyC,mCAAmC,+CAA+C,aAAa,yBAAyB,cAAc,0BAA0B,eAAe,2BAA2B,eAAe,2BAA2B,mBAAmB,+BAA+B,kBAAkB,8BAA8B,qBAAqB,iCAAiC,4BAA4B,wCAAwC,kBAAkB,8BAA8B,sCAAsC,kDAAkD,gCAAgC,4CAA4C,qBAAuB,oCCG55J,SAASC,GAAKjpG,GACzB,IAAAojG,GAA0BtiB,EAAAA,EAAAA,WAAS,GAAKuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAhC8F,EAAI7F,EAAA,GAAE8F,EAAO9F,EAAA,GACrB+F,GAA0BtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAjCE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GACrBG,GAA0B1oB,EAAAA,EAAAA,WAAS,GAAM2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAjCE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GACrBG,GAA0B9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAjCE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GACrBG,GAA8BlpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAlCE,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAEnBO,EAAiB,CACnB,CACIC,MAAO,gBACPC,MAAO,OACPC,KAAM,CAAC,aAAc,wBAAyB,YAAa,qBAAsB,cAAe,gBAAiB,iBAAkB,2BAA4B,iBAAkB,eAErL,CACIF,MAAO,cACPC,MAAO,MACPC,KAAM,CAAC,2BAA4B,+BAAgC,sCAAuC,kBAAmB,8BAA+B,6BAA8B,wCAAyC,eAAgB,oCAAqC,oBAE5R,CACIF,MAAO,kBACPC,MAAO,MACPC,KAAM,CAAC,yBAA0B,2BAA4B,cAAe,eAAgB,gBAAiB,sBAUrH,OAAQ7B,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAA0B,kBAAEs2B,UACxC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAA6B,qBAAEs2B,SAAA,EAC3C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAe,OAAEs2B,SAAA,EAC7Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,YAAYs2B,UAC/Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,YAAaosE,IAAI,mBAAmBnnE,IAAI,6CAEnEknE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,UACzCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,mBAAmB3+D,UAAWzN,GAAO,uBAEhF6qE,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,oBAAmBg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,uBAK1F61C,EAAAA,GAAAA,MAAA,WAAS1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EAC7C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EACpC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACvCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kCACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,8BACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBAENu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,oEAGxCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,UAC3Cu0C,EAAAA,GAAAA,KAAA,QAAM8B,SAlCI,SAAC5yG,GACnBA,EAAEG,iBACF6vG,eAAed,QAAQ,WAAYgD,GACnClqG,EAAMF,QAAQb,KAAK,8BACvB,EA8B0Cs1D,UAC5B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACvCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,UACjDu0C,EAAAA,GAAAA,KAAA,SACEp9D,UAAWzN,GAAO,wBAClBj3B,KAAK,OACLwhC,YAAY,yCACZ17B,MAAOo9F,EACPI,SAAU,SAACtyG,GAAC,OAAKmyG,EAAUnyG,EAAEo9C,OAAOtoC,MAAM,EAC1CiM,UAAQ,OAGZ+vF,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,0BAA0Bs2B,UAC/Cu0C,EAAAA,GAAAA,KAAA,UAAQ9hG,KAAK,SAAS0kC,UAAU,yBAAwB6oB,SAAC,gCAQnE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,0BACvB6qE,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,wBAAwBs2B,UAC7Cu0C,EAAAA,GAAAA,KAAA,OACE5lE,IAAI,wCACJmnE,IAAI,4BAKZD,EAAAA,GAAAA,MAAA,WAAS1+D,UAAWzN,GAAO,aAAas2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACzC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,0BAA0Bs2B,SAAA,EAC/Cu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,uBAAuBs2B,SAAC,QAAW,KAC3Du0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,wBAAwBs2B,SAAC,eAGjDu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,uBAAuBs2B,SAAC,WAElDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gCAAgCs2B,UACrDu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,wFAMP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACnC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACnC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,qBAA4B,KACpD6qE,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,eAAes2B,SAAC,uCAGxCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,4JAMxC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,qBAA4B,KACpD6qE,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,eAAes2B,SAAC,2CAGxCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,4MAQ1C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACnC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,oBAA2B,KACnD6qE,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,eAAes2B,SAAC,6CAGxCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,yNAOxC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,sBAA6B,KACrD6qE,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,eAAes2B,SAAC,kCAGxCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,sMAW9C61C,EAAAA,GAAAA,MAAA,WAAS1+D,UAAWzN,GAAO,wBAAwBs2B,SAAA,EACjDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,+BAA+Bs2B,UACpDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,2BAA2Bs2B,UAChDu0C,EAAAA,GAAAA,KAAA,OACE5lE,IAAI,+BACJmnE,IAAI,QACJ3+D,UAAWzN,GAAO,mCAIxBmsE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gCAAgCs2B,SAAA,EACrD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,uCAAuCs2B,SAAA,EAC5D61C,EAAAA,GAAAA,MAAA,UAAQ1+D,UAAWzN,GAAc,MAAEs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,QACEp9D,UACEzN,GAAO,6CACRs2B,SACF,SAGD61C,EAAAA,GAAAA,MAAA,QACE1+D,UACEzN,GAAO,8CACRs2B,SAAA,CAEA,IAAI,iBAITu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAWzN,GAAc,MAAEs2B,UACjCu0C,EAAAA,GAAAA,KAAA,QACEp9D,UACEzN,GAAO,8CACRs2B,SACF,oBAIHu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAWzN,GAAc,MAAEs2B,UACjCu0C,EAAAA,GAAAA,KAAA,QACEp9D,UACEzN,GAAO,6CACRs2B,SACF,mBAKLu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,oCAAoCs2B,UACzDu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uhBAWP61C,EAAAA,GAAAA,MAAA,WAAS1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EAC1C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,mBACnDu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,kCAAkCs2B,SAAC,iMAE5D61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,6BAA6Bs2B,SAAA,EAChD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,iCAAiCs2B,SAAC,2BACxDu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,uCAAuCs2B,SAAC,0DAEpEu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,WAE7CvB,EAAAA,GAAAA,KAAA,cAEJsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,WACAA,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,WAE7CD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,iCAAiCs2B,SAAC,qBACxDu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,uCAAuCs2B,SAAC,4DAChEu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,uCAAuCs2B,SAAC,oCAGxE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,iCAAiCs2B,SAAC,yBACxD61C,EAAAA,GAAAA,MAAA,QAAM1+D,UAAWzN,GAAO,uCAAuCs2B,SAAA,CAAC,+GACiD,WAGrHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,QAE7CvB,EAAAA,GAAAA,KAAA,cAEJsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,WACAA,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,QAE7CD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,iCAAiCs2B,SAAC,cACxD61C,EAAAA,GAAAA,MAAA,QAAM1+D,UAAWzN,GAAO,uCAAuCs2B,SAAA,CAAC,gCAC9B,oBAOlD61C,EAAAA,GAAAA,MAAA,WAAS1+D,UAAWzN,GAAO,uBAAuBs2B,SAAA,EAC9C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,8BAA8Bs2B,SAAA,EACjDu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,oCAAoCs2B,SAAC,uCAC3Du0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,0CAA0Cs2B,SAAC,mNAEpEu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,mCAAmCs2B,UACtD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,+BAA+Bs2B,SAAA,EAClD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4CAA4CmnE,IAAI,QAE7DvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,SAAC,uBAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,6OAExD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+CAA+CmnE,IAAI,QAEhEvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,SAAC,0BAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,uMAExD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uCAAuCmnE,IAAI,QAExDvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,SAAC,kBAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,6OAExD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0CAA0CmnE,IAAI,QAE3DvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,SAAC,oCAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,sOAExD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,QAEvDvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,SAAC,0BAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,uVAExD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4CAA4CmnE,IAAI,QAE7DvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,SAAC,uBAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,wOAMpE61C,EAAAA,GAAAA,MAAA,WAAS1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACxC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,yBAAyBs2B,SAAC,yCAChDu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,+BAA+Bs2B,SAAC,0JAE7Du0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,SAC3B,OAAdi2C,QAAc,IAAdA,OAAc,EAAdA,EAAgB1kG,KAAI,SAAC+kG,GAAc,IAADC,EAAAC,EACjC,OACEX,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,wBAAwBs2B,SACnC,OAARs2C,QAAQ,IAARA,OAAQ,EAARA,EAAUJ,SAEbL,EAAAA,GAAAA,MAAA,OACE1+D,UACEzN,GAAO,GAADhjC,OAEiB,kBAAnB4vG,EAASJ,MACL,gCACA,4BAGTl2C,SAAA,EAED61C,EAAAA,GAAAA,MAAA,QAAM1+D,UAAWzN,GAAO,uBAAuBs2B,SAAA,CAC5C,IACQ,OAARs2C,QAAQ,IAARA,OAAQ,EAARA,EAAUH,MAAM,QAEnB5B,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,4BAA4Bs2B,SAAC,mBAItDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,UACpC61C,EAAAA,GAAAA,MAAA,MAAI1+D,UAAWzN,GAAO,iCAAiCs2B,SAAA,CAEvC,QAFuCu2C,EAEpDD,EAASF,YAAI,IAAAG,OAAA,EAAbA,EAAehlG,KAAI,SAACklG,GACnB,OACEZ,EAAAA,GAAAA,MAAA,MAAI1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,YAAYs2B,UAClCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+BAA+BmnE,IAAI,QAE9CvB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAO,iBAAiBs2B,SACtCy2C,MAIT,IAGS,OAARH,QAAQ,IAARA,GAAgB,QAARE,EAARF,EAAUI,cAAM,IAAAF,OAAR,EAARA,EAAkBjlG,KAAI,SAAColG,GACtB,OACEpC,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,oBAAoBs2B,UACxCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,mBAAmBs2B,SACrC22C,KAIT,UAIJpC,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,WAAWs2B,UAClCu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,oBAAmBg6D,UAC1Bu0C,EAAAA,GAAAA,KAAA,UACEp9D,UACqB,kBAAnBm/D,EAASJ,MACL,2BACAxsE,GAAO,eACZs2B,SACF,kBAOT,UAIJ61C,EAAAA,GAAAA,MAAA,WAAS1+D,UAAWzN,GAAO,YAAYs2B,SAAA,EACrC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,oBAAoBs2B,SAAC,gCAG3Cu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,0BAA0Bs2B,SAAC,iEAIlD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,YAAYs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OACE1+D,UAAWzN,GAAOirE,EAAO,oBAAsB,cAAc30C,SAAA,EAE7D61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,KACEn0C,QAAS,kBAAMw0C,GAASD,EAAK,EAC7Bx9D,UAAS,MAAAzwC,OACPiuG,EAAO,kBAAoB,iBAAgB,mBAG/CkB,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,iDAGnBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAciuG,EAAO,OAAS,QAAS30C,UACnDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,sLAQ3C61C,EAAAA,GAAAA,MAAA,OACE1+D,UAAWzN,GAAOqrE,EAAO,oBAAsB,cAAc/0C,SAAA,EAE7D61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,KACEn0C,QAAS,kBAAM40C,GAASD,EAAK,EAC7B59D,UAAS,MAAAzwC,OACPquG,EAAO,kBAAoB,iBAAgB,mBAG/Cc,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,iDAGnBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAcquG,EAAO,OAAS,QAAS/0C,UACnDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,sLAQ3C61C,EAAAA,GAAAA,MAAA,OACE1+D,UAAWzN,GAAOyrE,EAAO,oBAAsB,cAAcn1C,SAAA,EAE7D61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,KACEn0C,QAAS,kBAAMg1C,GAASD,EAAK,EAC7Bh+D,UAAS,MAAAzwC,OACPyuG,EAAO,kBAAoB,iBAAgB,mBAG/CU,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,kEAInBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAcyuG,EAAO,OAAS,QAASn1C,UACnDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,sLAQ3C61C,EAAAA,GAAAA,MAAA,OACE1+D,UAAWzN,GAAO6rE,EAAO,oBAAsB,cAAcv1C,SAAA,EAE7D61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,KACEn0C,QAAS,kBAAMo1C,GAASD,EAAK,EAC7Bp+D,UAAS,MAAAzwC,OACP6uG,EAAO,kBAAoB,iBAAgB,mBAG/CM,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAS,gDAGnBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAS,YAAAzwC,OAAc6uG,EAAO,OAAS,QAASv1C,UACnDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,SAAC,4LAWzCu0C,EAAAA,GAAAA,KAAA,WAASp9D,UAAWzN,GAAO,4BAA4Bs2B,UACnD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,+BAA+Bs2B,SAAA,EAClDu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,8BAA8Bs2B,SAAC,4CACrDu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oCAAoCs2B,SAAC,uNAC1Du0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,oBAAmBg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,wBAIhFu0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAO,eAAes2B,UAC/Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,UACjC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,cACvCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,6BACtCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,2CACtCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,gBAE1C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,UACJu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,kBACtCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,mBACtCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,0BAE1C61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,YACvCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,yBACtCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,mBACtCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,uBACtCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,gBAAgBs2B,SAAC,wCAQtE,CCxiBA,QAAgB,OAAS,sBAAsB,eAAe,4BAA4B,OAAS,sBAAsB,cAAc,2BAA2B,cAAc,2BAA2B,mBAAmB,gCAAgC,qBAAqB,kCAAkC,gBAAgB,8BCEtT,SAASoyC,KACpB,OAAQmC,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJu0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAe,OAAEs2B,UAC1Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,YAEtCvB,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,eAMhE,eCde,SAASc,KACpB,OAAQrC,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJu0C,EAAAA,GAAAA,KAAA,WAASz+C,GAAIpsB,GAAe,OAAEs2B,UAC1Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,MAClCvB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iEACH61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,0BAEjBo9D,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,mCAIzB0+D,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,mBAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,2BAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,iCAAiCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,YAC7Eu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,eAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,qBAEtF61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,kBAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,kBAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,YAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,eAClFu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAGhmG,KAAK,sCAAsCsyC,OAAO,SAASm1D,IAAI,aAAYh2C,SAAC,sBAEtF61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,WACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,GAAAA,GAAI,CAAC92F,GAAG,aAAYg6D,SAAC,iBACzBu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,GAAAA,GAAI,CAAC92F,GAAG,cAAag6D,SAAC,kBAC1Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,GAAAA,GAAI,CAAC92F,GAAG,kBAAiBg6D,SAAC,sBAC9Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,GAAAA,GAAI,CAAC92F,GAAG,cAAag6D,SAAC,kBAC1Bu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAACzX,GAAAA,GAAI,CAAC92F,GAAG,6BAA4Bg6D,SAAC,+CAMjE,CC5Ce,SAAS62C,KACpB,OAAQhB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJu0C,EAAAA,GAAAA,KAACuC,GAAM,KACPvC,EAAAA,GAAAA,KAAA,WAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kpBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,wBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,mjBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qPAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,65BACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iCACHu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,iBAAkBiF,IAAI,2BAA2BmnE,IAAI,MAE5EvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,ggBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gXACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0YAGXu0C,EAAAA,GAAAA,KAACqC,GAAM,MAEf,CC3Be,SAASG,KACpB,OAAQlB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJu0C,EAAAA,GAAAA,KAACuC,GAAM,KACPvC,EAAAA,GAAAA,KAAA,WAASp9D,UAAWzN,GAAO,sBAAsBs2B,UAC7C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBAEJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,8EACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,mgCAKHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,+/CAKCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACRu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0+CAKHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0vBAIHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,+BACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,2ZAICu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,8BACRu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,w8CAIHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,s6CAIHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,0HAGJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kXAMHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iDACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,mKAEH61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACpC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACSu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,4FACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gJAGZ61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACSu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,+BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sNACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,4OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CAGZ61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACSu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iSACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,mGACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,+CAIZ61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACSu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0HAGZ61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACSu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,0DACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oEACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gDACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yFACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uFAOnBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mEACJ61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,2fAIgMu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,wCAO9Mu0C,EAAAA,GAAAA,KAACqC,GAAM,MAEf,CCnHe,SAASI,KACpB,OAAQnB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJu0C,EAAAA,GAAAA,KAACuC,GAAM,KACPvC,EAAAA,GAAAA,KAAA,WAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,4XAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,+CACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,4JAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qFACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yNAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,+BACJ61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,2BAA4Bu0C,EAAAA,GAAAA,KAAA,SAAK,gJAE1CsB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAuBu0C,EAAAA,GAAAA,KAAA,SAAK,+QAErCsB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,4DAA6Du0C,EAAAA,GAAAA,KAAA,SAAK,oaAE3EA,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8DAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,2GAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,wgBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,8BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8fAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,4BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qvBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,6BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,spBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gUAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,4BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,slBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uLAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sDACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yFACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,0DACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oCAEJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,4CACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kMACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,mBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oCAGXu0C,EAAAA,GAAAA,KAACqC,GAAM,MAEf,CC7De,SAASK,KACpB,OAAQpB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJu0C,EAAAA,GAAAA,KAACuC,GAAM,KACPvC,EAAAA,GAAAA,KAAA,WAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,seAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qPAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,+YAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,ikCAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,2UAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iQAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8SAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8ZAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kcAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,2gBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qRAGXu0C,EAAAA,GAAAA,KAACqC,GAAM,MAEf,CCrCe,SAASM,KACpB,OAAQrB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJu0C,EAAAA,GAAAA,KAACuC,GAAM,KACPvC,EAAAA,GAAAA,KAAA,WAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,EACtBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mCAEJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yyBAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,4oBAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iLAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qTAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,wdAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8iBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,2BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,2NAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uYAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sDACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,odAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yKAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,2GAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,2HAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uRAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,+FAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0PAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iDAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,6EAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qrBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,2DACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,ygBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,4BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,28BAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,m0BAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gEACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qgBAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sKAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kVAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,6wBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gcAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,4CACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,k2BAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,4xCAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,ktBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gqCAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qEACNu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,6BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,28BAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yCACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kOAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oNAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,6PAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,8BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8rBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,wmDAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,uKAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,4QAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,28BAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,ooBAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8EAEHu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,2BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qLAGXu0C,EAAAA,GAAAA,KAACqC,GAAM,MAEf,CC3HA,QAAgB,aAAa,0BAA0B,eAAe,4BAA4B,YAAY,yBAAyB,cAAc,2BAA2B,cAAc,2BAA2B,aAAa,0BAA0B,mBAAmB,gCAAgC,eAAe,4BAA4B,oBAAoB,iCAAiC,UAAY,0BCChZ,SAASpkC,GAAKnoE,EAAI6N,GAC/B,OAAO,WACL,OAAO7N,EAAGG,MAAM0N,EAASzN,UAC3B,CACF,CCAA,IAGgBu1B,GAHTlzB,GAAY1F,OAAOC,UAAnByF,SACA8G,GAAkBxM,OAAlBwM,eAEDujG,IAAUn3E,GAGb54B,OAAO0Q,OAAO,MAHQ,SAAAs/F,GACrB,IAAM57F,EAAM1O,GAASxF,KAAK8vG,GAC1B,OAAOp3E,GAAMxkB,KAASwkB,GAAMxkB,GAAOA,EAAI5S,MAAM,GAAI,GAAGJ,cACxD,GAEM6uG,GAAa,SAAC5kG,GAElB,OADAA,EAAOA,EAAKjK,cACL,SAAC4uG,GAAK,OAAKD,GAAOC,KAAW3kG,CAAI,CAC1C,EAEM6kG,GAAa,SAAA7kG,GAAI,OAAI,SAAA2kG,GAAK,cAAWA,IAAU3kG,CAAI,GASlD9K,GAAWD,MAAXC,QASD4vG,GAAcD,GAAW,aAqB/B,IAAME,GAAgBH,GAAW,eA2BjC,IAAMI,GAAWH,GAAW,UAQtBI,GAAaJ,GAAW,YASxBK,GAAWL,GAAW,UAStBM,GAAW,SAACR,GAAK,OAAe,OAAVA,GAAmC,kBAAVA,CAAkB,EAiBjES,GAAgB,SAACr/C,GACrB,GAAoB,WAAhB2+C,GAAO3+C,GACT,OAAO,EAGT,IAAMnxD,EAAYuM,GAAe4kD,GACjC,OAAsB,OAAdnxD,GAAsBA,IAAcD,OAAOC,WAAkD,OAArCD,OAAOwM,eAAevM,OAA0BiN,OAAOyyF,eAAevuC,MAAUlkD,OAAOkF,YAAYg/C,EACrK,EASMs/C,GAAST,GAAW,QASpBU,GAASV,GAAW,QASpBW,GAASX,GAAW,QASpBY,GAAaZ,GAAW,YAsCxBa,GAAoBb,GAAW,mBA2BrC,SAASrsG,GAAQ7D,EAAKkD,GAA+B,IAM/C1E,EACAkP,EAP6CsjG,GAAE1tG,UAAA3E,OAAA,QAAAI,IAAAuE,UAAA,GAAAA,UAAA,GAAJ,CAAC,GAAvB2tG,WAAAA,OAAU,IAAAD,GAAQA,EAE3C,GAAY,OAARhxG,GAA+B,qBAARA,EAa3B,GALmB,kBAARA,IAETA,EAAM,CAACA,IAGLQ,GAAQR,GAEV,IAAKxB,EAAI,EAAGkP,EAAI1N,EAAIrB,OAAQH,EAAIkP,EAAGlP,IACjC0E,EAAG/C,KAAK,KAAMH,EAAIxB,GAAIA,EAAGwB,OAEtB,CAEL,IAEIe,EAFEF,EAAOowG,EAAahxG,OAAOqM,oBAAoBtM,GAAOC,OAAOY,KAAKb,GAClE6V,EAAMhV,EAAKlC,OAGjB,IAAKH,EAAI,EAAGA,EAAIqX,EAAKrX,IACnBuC,EAAMF,EAAKrC,GACX0E,EAAG/C,KAAK,KAAMH,EAAIe,GAAMA,EAAKf,EAEjC,CACF,CAEA,SAASkxG,GAAQlxG,EAAKe,GACpBA,EAAMA,EAAIM,cAIV,IAHA,IAEIuC,EAFE/C,EAAOZ,OAAOY,KAAKb,GACrBxB,EAAIqC,EAAKlC,OAENH,KAAM,GAEX,GAAIuC,KADJ6C,EAAO/C,EAAKrC,IACK6C,cACf,OAAOuC,EAGX,OAAO,IACT,CAEA,IAAMutG,GAEsB,qBAAf5a,WAAmCA,WACvB,qBAATx+B,KAAuBA,KAA0B,qBAAXl7D,OAAyBA,OAAS25F,OAGlF4a,GAAmB,SAACp+F,GAAO,OAAMo9F,GAAYp9F,IAAYA,IAAYm+F,EAAO,EAoDlF,IA8HsBE,GAAhBC,IAAgBD,GAKG,qBAAfp8F,YAA8BxI,GAAewI,YAH9C,SAAAg7F,GACL,OAAOoB,IAAcpB,aAAiBoB,EACxC,GA4CIE,GAAarB,GAAW,mBAWxB9/F,GAAkB,SAAAohG,GAAA,IAAEphG,EAAmEnQ,OAAOC,UAA1EkQ,eAAc,OAAM,SAACpQ,EAAK2lG,GAAI,OAAKv1F,EAAejQ,KAAKH,EAAK2lG,EAAK,EAAnE,GASlB8L,GAAWvB,GAAW,UAEtBwB,GAAoB,SAAC1xG,EAAK2xG,GAC9B,IAAMC,EAAc3xG,OAAOs2D,0BAA0Bv2D,GAC/C6xG,EAAqB,CAAC,EAE5BhuG,GAAQ+tG,GAAa,SAAC1kG,EAAY1B,IACO,IAAnCmmG,EAAQzkG,EAAY1B,EAAMxL,KAC5B6xG,EAAmBrmG,GAAQ0B,EAE/B,IAEAjN,OAAOu2D,iBAAiBx2D,EAAK6xG,EAC/B,EAsDMC,GAAQ,6BAERC,GAAQ,aAERC,GAAW,CACfD,MAAAA,GACAD,MAAAA,GACAG,YAAaH,GAAQA,GAAMhoF,cAAgBioF,IAwB7C,IA+BMG,GAAYhC,GAAW,iBAK7B,IACE1vG,QAAAA,GACA6vG,cAAAA,GACA8B,SAlnBF,SAAkB9gD,GAChB,OAAe,OAARA,IAAiB++C,GAAY/+C,IAA4B,OAApBA,EAAI3gD,cAAyB0/F,GAAY/+C,EAAI3gD,cACpF6/F,GAAWl/C,EAAI3gD,YAAYyhG,WAAa9gD,EAAI3gD,YAAYyhG,SAAS9gD,EACxE,EAgnBE+gD,WApeiB,SAACnC,GAClB,IAAIoC,EACJ,OAAOpC,IACgB,oBAAbqC,UAA2BrC,aAAiBqC,UAClD/B,GAAWN,EAAMsC,UACY,cAA1BF,EAAOrC,GAAOC,KAEL,WAAToC,GAAqB9B,GAAWN,EAAMtqG,WAAkC,sBAArBsqG,EAAMtqG,YAIlE,EA0dE6sG,kBA9lBF,SAA2BnhD,GAOzB,MAL4B,qBAAhBt7C,aAAiCA,YAAY08F,OAC9C18F,YAAY08F,OAAOphD,GAElBA,GAASA,EAAIv7C,QAAYu6F,GAAch/C,EAAIv7C,OAGzD,EAulBEw6F,SAAAA,GACAE,SAAAA,GACAkC,UA9iBgB,SAAAzC,GAAK,OAAc,IAAVA,IAA4B,IAAVA,CAAe,EA+iB1DQ,SAAAA,GACAC,cAAAA,GACAN,YAAAA,GACAO,OAAAA,GACAC,OAAAA,GACAC,OAAAA,GACAY,SAAAA,GACAlB,WAAAA,GACAoC,SA1fe,SAACthD,GAAG,OAAKo/C,GAASp/C,IAAQk/C,GAAWl/C,EAAIuhD,KAAK,EA2f7D7B,kBAAAA,GACAO,aAAAA,GACAR,WAAAA,GACAjtG,QAAAA,GACAgvG,MA9XF,SAASA,IAgBP,IAfA,IAAOC,GAAY1B,GAAiB3gG,OAASA,MAAQ,CAAC,GAA/CqiG,SACDlzG,EAAS,CAAC,EACVmzG,EAAc,SAAC1hD,EAAKtwD,GACxB,IAAMiyG,EAAYF,GAAY5B,GAAQtxG,EAAQmB,IAAQA,EAClD2vG,GAAc9wG,EAAOozG,KAAetC,GAAcr/C,GACpDzxD,EAAOozG,GAAaH,EAAMjzG,EAAOozG,GAAY3hD,GACpCq/C,GAAcr/C,GACvBzxD,EAAOozG,GAAaH,EAAM,CAAC,EAAGxhD,GACrB7wD,GAAQ6wD,GACjBzxD,EAAOozG,GAAa3hD,EAAI5vD,QAExB7B,EAAOozG,GAAa3hD,CAExB,EAES7yD,EAAI,EAAGkP,EAAIpK,UAAU3E,OAAQH,EAAIkP,EAAGlP,IAC3C8E,UAAU9E,IAAMqF,GAAQP,UAAU9E,GAAIu0G,GAExC,OAAOnzG,CACT,EA2WEgxF,OA/Va,SAACvwF,EAAGC,EAAGyQ,GAQpB,OAPAlN,GAAQvD,GAAG,SAAC+wD,EAAKtwD,GACXgQ,GAAWw/F,GAAWl/C,GACxBhxD,EAAEU,GAAOsqE,GAAKha,EAAKtgD,GAEnB1Q,EAAEU,GAAOswD,CAEb,GAAG,CAAC4/C,YAP8C3tG,UAAA3E,OAAA,QAAAI,IAAAuE,UAAA,GAAAA,UAAA,GAAP,CAAC,GAAd2tG,aAQvB5wG,CACT,EAuVEypC,KA3dW,SAACz1B,GAAG,OAAKA,EAAIy1B,KACxBz1B,EAAIy1B,OAASz1B,EAAIxW,QAAQ,qCAAsC,GAAG,EA2dlEo1G,SA/Ue,SAAC/zE,GAIhB,OAH8B,QAA1BA,EAAQ3qB,WAAW,KACrB2qB,EAAUA,EAAQz9B,MAAM,IAEnBy9B,CACT,EA2UEg0E,SAhUe,SAACxiG,EAAayiG,EAAkB7uG,EAAOstG,GACtDlhG,EAAYxQ,UAAYD,OAAO0Q,OAAOwiG,EAAiBjzG,UAAW0xG,GAClElhG,EAAYxQ,UAAUwQ,YAAcA,EACpCzQ,OAAOoM,eAAeqE,EAAa,QAAS,CAC1CU,MAAO+hG,EAAiBjzG,YAE1BoE,GAASrE,OAAOa,OAAO4P,EAAYxQ,UAAWoE,EAChD,EA0TE8uG,aA/SmB,SAACC,EAAWC,EAAS9vG,EAAQ+vG,GAChD,IAAIjvG,EACA9F,EACAmnG,EACE6N,EAAS,CAAC,EAIhB,GAFAF,EAAUA,GAAW,CAAC,EAEL,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IADA90G,GADA8F,EAAQrE,OAAOqM,oBAAoB+mG,IACzB10G,OACHH,KAAM,GACXmnG,EAAOrhG,EAAM9F,GACP+0G,IAAcA,EAAW5N,EAAM0N,EAAWC,IAAcE,EAAO7N,KACnE2N,EAAQ3N,GAAQ0N,EAAU1N,GAC1B6N,EAAO7N,IAAQ,GAGnB0N,GAAuB,IAAX7vG,GAAoBiJ,GAAe4mG,EACjD,OAASA,KAAe7vG,GAAUA,EAAO6vG,EAAWC,KAAaD,IAAcpzG,OAAOC,WAEtF,OAAOozG,CACT,EAwREtD,OAAAA,GACAE,WAAAA,GACAuD,SA/Qe,SAACp/F,EAAKq/F,EAAc73G,GACnCwY,EAAM9D,OAAO8D,SACItV,IAAblD,GAA0BA,EAAWwY,EAAI1V,UAC3C9C,EAAWwY,EAAI1V,QAEjB9C,GAAY63G,EAAa/0G,OACzB,IAAMg1G,EAAYt/F,EAAI/S,QAAQoyG,EAAc73G,GAC5C,OAAsB,IAAf83G,GAAoBA,IAAc93G,CAC3C,EAwQE+gG,QA9Pc,SAACqT,GACf,IAAKA,EAAO,OAAO,KACnB,GAAIzvG,GAAQyvG,GAAQ,OAAOA,EAC3B,IAAIzxG,EAAIyxG,EAAMtxG,OACd,IAAK6xG,GAAShyG,GAAI,OAAO,KAEzB,IADA,IAAMs1D,EAAM,IAAIvzD,MAAM/B,GACfA,KAAM,GACXs1D,EAAIt1D,GAAKyxG,EAAMzxG,GAEjB,OAAOs1D,CACT,EAqPE8/C,aA3NmB,SAAC5zG,EAAKkD,GAOzB,IANA,IAIItD,EAFEyS,GAFYrS,GAAOA,EAAImN,OAAOkF,WAETlS,KAAKH,IAIxBJ,EAASyS,EAASX,UAAY9R,EAAOgS,MAAM,CACjD,IAAMiiG,EAAOj0G,EAAOwR,MACpBlO,EAAG/C,KAAKH,EAAK6zG,EAAK,GAAIA,EAAK,GAC7B,CACF,EAiNEC,SAvMe,SAACC,EAAQ1/F,GAIxB,IAHA,IAAIw+C,EACEiB,EAAM,GAE4B,QAAhCjB,EAAUkhD,EAAO9hD,KAAK59C,KAC5By/C,EAAIvwD,KAAKsvD,GAGX,OAAOiB,CACT,EA+LEy9C,WAAAA,GACAnhG,eAAAA,GACA4jG,WAAY5jG,GACZshG,kBAAAA,GACAuC,cAxJoB,SAACj0G,GACrB0xG,GAAkB1xG,GAAK,SAACkN,EAAY1B,GAElC,GAAI+kG,GAAWvwG,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAUsB,QAAQkK,GAC/D,OAAO,EAGT,IAAM4F,EAAQpR,EAAIwL,GAEb+kG,GAAWn/F,KAEhBlE,EAAWkpD,YAAa,EAEpB,aAAclpD,EAChBA,EAAW8pD,UAAW,EAInB9pD,EAAWyvD,MACdzvD,EAAWyvD,IAAM,WACf,MAAMr/D,MAAM,qCAAwCkO,EAAO,IAC7D,GAEJ,GACF,EAiIE0oG,YA/HkB,SAACC,EAAeniD,GAClC,IAAMhyD,EAAM,CAAC,EAEP6/F,EAAS,SAAC/rC,GACdA,EAAIjwD,SAAQ,SAAAuN,GACVpR,EAAIoR,IAAS,CACf,GACF,EAIA,OAFA5Q,GAAQ2zG,GAAiBtU,EAAOsU,GAAiBtU,EAAOtvF,OAAO4jG,GAAej1G,MAAM8yD,IAE7EhyD,CACT,EAoHEo0G,YAhMkB,SAAA//F,GAClB,OAAOA,EAAIhT,cAAcxD,QAAQ,yBAC/B,SAAkB8P,EAAG69B,EAAIC,GACvB,OAAOD,EAAG1hB,cAAgB2hB,CAC5B,GAEJ,EA2LEivD,KAnHW,WAAO,EAoHlB2Z,eAlHqB,SAACjjG,EAAO2sD,GAE7B,OADA3sD,GAASA,EACFmzF,OAAO+P,SAASljG,GAASA,EAAQ2sD,CAC1C,EAgHEmzC,QAAAA,GACA1a,OAAQ2a,GACRC,iBAAAA,GACAY,SAAAA,GACAuC,eAxGqB,WAGrB,IAHqE,IAA/Ch9E,EAAIj0B,UAAA3E,OAAA,QAAAI,IAAAuE,UAAA,GAAAA,UAAA,GAAG,GAAIkxG,EAAQlxG,UAAA3E,OAAA,QAAAI,IAAAuE,UAAA,GAAAA,UAAA,GAAG0uG,GAASC,YACjD59F,EAAM,GACH1V,EAAU61G,EAAV71G,OACA44B,KACLljB,GAAOmgG,EAAS/uG,KAAKC,SAAW/G,EAAO,GAGzC,OAAO0V,CACT,EAiGEogG,oBAxFF,SAA6BxE,GAC3B,SAAUA,GAASM,GAAWN,EAAMsC,SAAyC,aAA9BtC,EAAM9iG,OAAOyyF,cAA+BqQ,EAAM9iG,OAAOkF,UAC1G,EAuFEqiG,aArFmB,SAAC10G,GACpB,IAAM0jD,EAAQ,IAAInjD,MAAM,IA2BxB,OAzBc,SAARo0G,EAASvjD,EAAQ5yD,GAErB,GAAIiyG,GAASr/C,GAAS,CACpB,GAAI1N,EAAMpiD,QAAQ8vD,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxB1N,EAAMllD,GAAK4yD,EACX,IAAM1X,EAASl5C,GAAQ4wD,GAAU,GAAK,CAAC,EASvC,OAPAvtD,GAAQutD,GAAQ,SAAChgD,EAAOrQ,GACtB,IAAM6zG,EAAeD,EAAMvjG,EAAO5S,EAAI,IACrC4xG,GAAYwE,KAAkBl7D,EAAO34C,GAAO6zG,EAC/C,IAEAlxD,EAAMllD,QAAKO,EAEJ26C,CACT,CACF,CAEA,OAAO0X,CACT,CAEOujD,CAAM30G,EAAK,EACpB,EAyDEkyG,UAAAA,GACA2C,WAtDiB,SAAC5E,GAAK,OACvBA,IAAUQ,GAASR,IAAUM,GAAWN,KAAWM,GAAWN,EAAMp+F,OAAS0+F,GAAWN,EAAM7nE,MAAM,yBC5oBtG,SAAS0sE,GAAW/5G,EAAS61E,EAAMmkC,EAAQpO,EAAS3qD,GAClD1+C,MAAM6C,KAAKsQ,MAEPnT,MAAM03G,kBACR13G,MAAM03G,kBAAkBvkG,KAAMA,KAAKC,aAEnCD,KAAKizC,OAAS,IAAIpmD,OAASomD,MAG7BjzC,KAAK1V,QAAUA,EACf0V,KAAKjF,KAAO,aACZolE,IAASngE,KAAKmgE,KAAOA,GACrBmkC,IAAWtkG,KAAKskG,OAASA,GACzBpO,IAAYl2F,KAAKk2F,QAAUA,GAC3B3qD,IAAavrC,KAAKurC,SAAWA,EAC/B,CAEAi5D,GAAM/B,SAAS4B,GAAYx3G,MAAO,CAChC43G,OAAQ,WACN,MAAO,CAELn6G,QAAS0V,KAAK1V,QACdyQ,KAAMiF,KAAKjF,KAEX2pG,YAAa1kG,KAAK0kG,YAClB7uF,OAAQ7V,KAAK6V,OAEb8uF,SAAU3kG,KAAK2kG,SACfC,WAAY5kG,KAAK4kG,WACjBC,aAAc7kG,KAAK6kG,aACnB5xD,MAAOjzC,KAAKizC,MAEZqxD,OAAQE,GAAMP,aAAajkG,KAAKskG,QAChCnkC,KAAMngE,KAAKmgE,KACX70B,OAAQtrC,KAAKurC,UAAYvrC,KAAKurC,SAASD,OAAStrC,KAAKurC,SAASD,OAAS,KAE3E,IAGF,IAAM77C,GAAY40G,GAAW50G,UACvB0xG,GAAc,CAAC,EAErB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEA/tG,SAAQ,SAAA+sE,GACRghC,GAAYhhC,GAAQ,CAACx/D,MAAOw/D,EAC9B,IAEA3wE,OAAOu2D,iBAAiBs+C,GAAYlD,IACpC3xG,OAAOoM,eAAenM,GAAW,eAAgB,CAACkR,OAAO,IAGzD0jG,GAAWh2G,KAAO,SAACtB,EAAOozE,EAAMmkC,EAAQpO,EAAS3qD,EAAUu5D,GACzD,IAAMC,EAAav1G,OAAO0Q,OAAOzQ,IAgBjC,OAdA+0G,GAAM7B,aAAa51G,EAAOg4G,GAAY,SAAgBx1G,GACpD,OAAOA,IAAQ1C,MAAM4C,SACvB,IAAG,SAAAylG,GACD,MAAgB,iBAATA,CACT,IAEAmP,GAAW30G,KAAKq1G,EAAYh4G,EAAMzC,QAAS61E,EAAMmkC,EAAQpO,EAAS3qD,GAElEw5D,EAAWC,MAAQj4G,EAEnBg4G,EAAWhqG,KAAOhO,EAAMgO,KAExB+pG,GAAet1G,OAAOa,OAAO00G,EAAYD,GAElCC,CACT,EAEA,UCrFA,SAASE,GAAYzF,GACnB,OAAOgF,GAAMvE,cAAcT,IAAUgF,GAAMz0G,QAAQyvG,EACrD,CASA,SAAS0F,GAAe50G,GACtB,OAAOk0G,GAAMxB,SAAS1yG,EAAK,MAAQA,EAAIU,MAAM,GAAI,GAAKV,CACxD,CAWA,SAAS60G,GAAU30G,EAAMF,EAAK80G,GAC5B,OAAK50G,EACEA,EAAK1B,OAAOwB,GAAKqJ,KAAI,SAAc+Z,EAAO3lB,GAG/C,OADA2lB,EAAQwxF,GAAexxF,IACf0xF,GAAQr3G,EAAI,IAAM2lB,EAAQ,IAAMA,CAC1C,IAAGtkB,KAAKg2G,EAAO,IAAM,IALH90G,CAMpB,CAaA,IAAM+0G,GAAab,GAAM7B,aAAa6B,GAAO,CAAC,EAAG,MAAM,SAAgBtP,GACrE,MAAO,WAAWjoG,KAAKioG,EACzB,IA8JA,OArIA,SAAoB3lG,EAAK+1G,EAAUl7G,GACjC,IAAKo6G,GAAMxE,SAASzwG,GAClB,MAAM,IAAIsQ,UAAU,4BAItBylG,EAAWA,GAAY,IAAyBzD,SAYhD,IAAM0D,GATNn7G,EAAUo6G,GAAM7B,aAAav4G,EAAS,CACpCm7G,YAAY,EACZH,MAAM,EACNI,SAAS,IACR,GAAO,SAAiB3oE,EAAQ8jB,GAEjC,OAAQ6jD,GAAM7E,YAAYh/C,EAAO9jB,GACnC,KAE2B0oE,WAErBE,EAAUr7G,EAAQq7G,SAAWC,EAC7BN,EAAOh7G,EAAQg7G,KACfI,EAAUp7G,EAAQo7G,QAElBG,GADQv7G,EAAQw7G,MAAwB,qBAATA,MAAwBA,OACpCpB,GAAMR,oBAAoBsB,GAEnD,IAAKd,GAAM1E,WAAW2F,GACpB,MAAM,IAAI5lG,UAAU,8BAGtB,SAASgmG,EAAallG,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAI6jG,GAAMtE,OAAOv/F,GACf,OAAOA,EAAMmlG,cAGf,IAAKH,GAAWnB,GAAMpE,OAAOz/F,GAC3B,MAAM,IAAI0jG,GAAW,gDAGvB,OAAIG,GAAM5E,cAAcj/F,IAAU6jG,GAAM3D,aAAalgG,GAC5CglG,GAA2B,oBAATC,KAAsB,IAAIA,KAAK,CAACjlG,IAAUolG,OAAO13G,KAAKsS,GAG1EA,CACT,CAYA,SAAS+kG,EAAe/kG,EAAOrQ,EAAKE,GAClC,IAAI6yD,EAAM1iD,EAEV,GAAIA,IAAUnQ,GAAyB,kBAAVmQ,EAC3B,GAAI6jG,GAAMxB,SAAS1yG,EAAK,MAEtBA,EAAMi1G,EAAaj1G,EAAMA,EAAIU,MAAM,GAAI,GAEvC2P,EAAQ4hD,KAAKC,UAAU7hD,QAClB,GACJ6jG,GAAMz0G,QAAQ4Q,IAnGvB,SAAqB0iD,GACnB,OAAOmhD,GAAMz0G,QAAQszD,KAASA,EAAIpxB,KAAKgzE,GACzC,CAiGiCe,CAAYrlG,KACnC6jG,GAAMnE,WAAW1/F,IAAU6jG,GAAMxB,SAAS1yG,EAAK,SAAW+yD,EAAMmhD,GAAMrY,QAAQxrF,IAYhF,OATArQ,EAAM40G,GAAe50G,GAErB+yD,EAAIjwD,SAAQ,SAAc6yG,EAAIn4G,IAC1B02G,GAAM7E,YAAYsG,IAAc,OAAPA,GAAgBX,EAASxD,QAEtC,IAAZ0D,EAAmBL,GAAU,CAAC70G,GAAMxC,EAAOs3G,GAAqB,OAAZI,EAAmBl1G,EAAMA,EAAM,KACnFu1G,EAAaI,GAEjB,KACO,EAIX,QAAIhB,GAAYtkG,KAIhB2kG,EAASxD,OAAOqD,GAAU30G,EAAMF,EAAK80G,GAAOS,EAAallG,KAElD,EACT,CAEA,IAAMsyC,EAAQ,GAERizD,EAAiB12G,OAAOa,OAAOg1G,GAAY,CAC/CK,eAAAA,EACAG,aAAAA,EACAZ,YAAAA,KAyBF,IAAKT,GAAMxE,SAASzwG,GAClB,MAAM,IAAIsQ,UAAU,0BAKtB,OA5BA,SAASsmG,EAAMxlG,EAAOnQ,GACpB,IAAIg0G,GAAM7E,YAAYh/F,GAAtB,CAEA,IAA8B,IAA1BsyC,EAAMpiD,QAAQ8P,GAChB,MAAM9T,MAAM,kCAAoC2D,EAAKpB,KAAK,MAG5D6jD,EAAMngD,KAAK6N,GAEX6jG,GAAMpxG,QAAQuN,GAAO,SAAcslG,EAAI31G,IAKtB,OAJEk0G,GAAM7E,YAAYsG,IAAc,OAAPA,IAAgBR,EAAQ/1G,KAChE41G,EAAUW,EAAIzB,GAAM3E,SAASvvG,GAAOA,EAAI+oC,OAAS/oC,EAAKE,EAAM01G,KAI5DC,EAAMF,EAAIz1G,EAAOA,EAAK1B,OAAOwB,GAAO,CAACA,GAEzC,IAEA2iD,EAAM9kD,KAlB8B,CAmBtC,CAMAg4G,CAAM52G,GAEC+1G,CACT,EC5MA,SAASjjD,GAAOz+C,GACd,IAAMwiG,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOluE,mBAAmBt0B,GAAKxW,QAAQ,oBAAoB,SAAkBy9C,GAC3E,OAAOu7D,EAAQv7D,EACjB,GACF,CAUA,SAASw7D,GAAqB1e,EAAQv9F,GACpC4V,KAAKsmG,OAAS,GAEd3e,GAAU4e,GAAW5e,EAAQ3nF,KAAM5V,EACrC,CAEA,IAAMqF,GAAY42G,GAAqB52G,UAEvCA,GAAUqyG,OAAS,SAAgB/mG,EAAM4F,GACvCX,KAAKsmG,OAAOxzG,KAAK,CAACiI,EAAM4F,GAC1B,EAEAlR,GAAUyF,SAAW,SAAkBsxG,GACrC,IAAMC,EAAUD,EAAU,SAAS7lG,GACjC,OAAO6lG,EAAQ92G,KAAKsQ,KAAMW,EAAO0hD,GACnC,EAAIA,GAEJ,OAAOriD,KAAKsmG,OAAO3sG,KAAI,SAAcypG,GACnC,OAAOqD,EAAQrD,EAAK,IAAM,IAAMqD,EAAQrD,EAAK,GAC/C,GAAG,IAAIh0G,KAAK,IACd,EAEA,UC5CA,SAASizD,GAAOzB,GACd,OAAO1oB,mBAAmB0oB,GACxBxzD,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAASs5G,GAAS5uG,EAAK6vF,EAAQv9F,GAE5C,IAAKu9F,EACH,OAAO7vF,EAGT,IAII6uG,EAJEF,EAAUr8G,GAAWA,EAAQi4D,QAAUA,GAEvCukD,EAAcx8G,GAAWA,EAAQy8G,UAYvC,GAPEF,EADEC,EACiBA,EAAYjf,EAAQv9F,GAEpBo6G,GAAMlE,kBAAkB3Y,GACzCA,EAAOzyF,WACP,IAAImxG,GAAqB1e,EAAQv9F,GAAS8K,SAASuxG,GAGjC,CACpB,IAAMK,EAAgBhvG,EAAIjH,QAAQ,MAEX,IAAnBi2G,IACFhvG,EAAMA,EAAI9G,MAAM,EAAG81G,IAErBhvG,KAA8B,IAAtBA,EAAIjH,QAAQ,KAAc,IAAM,KAAO81G,CACjD,CAEA,OAAO7uG,CACT,CC5DkC,IAE5BivG,GAAkB,WACtB,SAAAA,KAAc7+C,EAAAA,GAAAA,GAAA,KAAA6+C,GACZ/mG,KAAKumF,SAAW,EAClB,CA4DC,OA1DDkI,EAAAA,GAAAA,GAAAsY,EAAA,EAAAz2G,IAAA,MAAAqQ,MAQA,SAAII,EAAWG,EAAU9W,GAOvB,OANA4V,KAAKumF,SAASzzF,KAAK,CACjBiO,UAAAA,EACAG,SAAAA,EACA8lG,cAAa58G,GAAUA,EAAQ48G,YAC/BC,QAAS78G,EAAUA,EAAQ68G,QAAU,OAEhCjnG,KAAKumF,SAASr4F,OAAS,CAChC,GAEA,CAAAoC,IAAA,QAAAqQ,MAOA,SAAMu9C,GACAl+C,KAAKumF,SAASroC,KAChBl+C,KAAKumF,SAASroC,GAAM,KAExB,GAEA,CAAA5tD,IAAA,QAAAqQ,MAKA,WACMX,KAAKumF,WACPvmF,KAAKumF,SAAW,GAEpB,GAEA,CAAAj2F,IAAA,UAAAqQ,MAUA,SAAQlO,GACN+xG,GAAMpxG,QAAQ4M,KAAKumF,UAAU,SAAwBvpF,GACzC,OAANA,GACFvK,EAAGuK,EAEP,GACF,KAAC+pG,CAAA,CA/DqB,GAkExB,MCpEA,IACEG,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCgDvB,IACEC,WAAW,EACXC,QAAS,CACPC,gBCrDsC,qBAApBA,gBAAkCA,gBAAkBlB,GDsDtExE,SEvD+B,qBAAbA,SAA2BA,SAAW,KFwDxD+D,KGxD2B,qBAATA,KAAuBA,KAAO,MH0DlD4B,qBAvC4B,WAC5B,IAAIC,EACJ,OAAyB,qBAAdv6G,WACyB,iBAAjCu6G,EAAUv6G,UAAUu6G,UACT,iBAAZA,GACY,OAAZA,KAKuB,qBAAXr7G,QAA8C,qBAAbxB,SACjD,CAX8B,GAwC5B88G,8BAhB+B,qBAAtBC,mBAEPrgD,gBAAgBqgD,mBACc,oBAAvBrgD,KAAKsgD,cAcdC,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SI6BtD,OA3CA,SAAwBvC,GACtB,SAASwC,EAAUt3G,EAAMmQ,EAAOsoC,EAAQn7C,GACtC,IAAIiN,EAAOvK,EAAK1C,KACVi6G,EAAejU,OAAO+P,UAAU9oG,GAChCitG,EAASl6G,GAAS0C,EAAKtC,OAG7B,OAFA6M,GAAQA,GAAQypG,GAAMz0G,QAAQk5C,GAAUA,EAAO/6C,OAAS6M,EAEpDitG,GACExD,GAAMjB,WAAWt6D,EAAQluC,GAC3BkuC,EAAOluC,GAAQ,CAACkuC,EAAOluC,GAAO4F,GAE9BsoC,EAAOluC,GAAQ4F,GAGTonG,IAGL9+D,EAAOluC,IAAUypG,GAAMxE,SAAS/2D,EAAOluC,MAC1CkuC,EAAOluC,GAAQ,IAGF+sG,EAAUt3G,EAAMmQ,EAAOsoC,EAAOluC,GAAOjN,IAEtC02G,GAAMz0G,QAAQk5C,EAAOluC,MACjCkuC,EAAOluC,GA5Cb,SAAuBsoD,GACrB,IAEIt1D,EAEAuC,EAJEf,EAAM,CAAC,EACPa,EAAOZ,OAAOY,KAAKizD,GAEnBj+C,EAAMhV,EAAKlC,OAEjB,IAAKH,EAAI,EAAGA,EAAIqX,EAAKrX,IAEnBwB,EADAe,EAAMF,EAAKrC,IACAs1D,EAAI/yD,GAEjB,OAAOf,CACT,CAiCqB04G,CAAch/D,EAAOluC,MAG9BgtG,EACV,CAEA,GAAIvD,GAAM7C,WAAW2D,IAAad,GAAM1E,WAAWwF,EAAS5rG,SAAU,CACpE,IAAMnK,EAAM,CAAC,EAMb,OAJAi1G,GAAMrB,aAAamC,GAAU,SAACvqG,EAAM4F,GAClCmnG,EAvEN,SAAuB/sG,GAKrB,OAAOypG,GAAMnB,SAAS,gBAAiBtoG,GAAMpB,KAAI,SAAAkxC,GAC/C,MAAoB,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,EACpD,GACF,CA+DgBq9D,CAAcntG,GAAO4F,EAAOpR,EAAK,EAC7C,IAEOA,CACT,CAEA,OAAO,IACT,EC/EM44G,GAAuB,CAC3B,oBAAgB75G,GA4BlB,IAAM85G,GAAW,CAEfC,aAAcC,GAEdC,QAAS,CAAC,MAAO,QAEjBC,iBAAkB,CAAC,SAA0B1hG,EAAM2hG,GACjD,IAiCIpI,EAjCEqI,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAY73G,QAAQ,qBAAuB,EAChEg4G,EAAkBrE,GAAMxE,SAASl5F,GAQvC,GANI+hG,GAAmBrE,GAAM1D,WAAWh6F,KACtCA,EAAO,IAAI+6F,SAAS/6F,IAGH09F,GAAM7C,WAAW76F,GAGlC,OAAK8hG,GAGEA,EAAqBrmD,KAAKC,UAAUsmD,GAAehiG,IAFjDA,EAKX,GAAI09F,GAAM5E,cAAc94F,IACtB09F,GAAM9C,SAAS56F,IACf09F,GAAMtC,SAASp7F,IACf09F,GAAMrE,OAAOr5F,IACb09F,GAAMpE,OAAOt5F,GAEb,OAAOA,EAET,GAAI09F,GAAMzC,kBAAkBj7F,GAC1B,OAAOA,EAAKzB,OAEd,GAAIm/F,GAAMlE,kBAAkBx5F,GAE1B,OADA2hG,EAAQM,eAAe,mDAAmD,GACnEjiG,EAAK5R,WAKd,GAAI2zG,EAAiB,CACnB,GAAIH,EAAY73G,QAAQ,sCAAwC,EAC9D,OC7EO,SAA0BiW,EAAM1c,GAC7C,OAAOm8G,GAAWz/F,EAAM,IAAIkiG,GAAS1B,QAAQC,gBAAmB/3G,OAAOa,OAAO,CAC5Eo1G,QAAS,SAAS9kG,EAAOrQ,EAAKE,EAAMy4G,GAClC,OAAID,GAASE,QAAU1E,GAAM9C,SAAS/gG,IACpCX,KAAK8hG,OAAOxxG,EAAKqQ,EAAMzL,SAAS,YACzB,GAGF+zG,EAAQvD,eAAe9yG,MAAMoN,KAAMnN,UAC5C,GACCzI,GACL,CDkEe++G,CAAiBriG,EAAM9G,KAAKopG,gBAAgBl0G,WAGrD,IAAKmrG,EAAamE,GAAMnE,WAAWv5F,KAAU4hG,EAAY73G,QAAQ,wBAA0B,EAAG,CAC5F,IAAMw4G,EAAYrpG,KAAKspG,KAAOtpG,KAAKspG,IAAIzH,SAEvC,OAAO0E,GACLlG,EAAa,CAAC,UAAWv5F,GAAQA,EACjCuiG,GAAa,IAAIA,EACjBrpG,KAAKopG,eAET,CACF,CAEA,OAAIP,GAAmBD,GACrBH,EAAQM,eAAe,oBAAoB,GA1EjD,SAAyBQ,EAAUp4E,EAAQq1E,GACzC,GAAIhC,GAAM3E,SAAS0J,GACjB,IAEE,OADCp4E,GAAUoxB,KAAK9pC,OAAO8wF,GAChB/E,GAAMnrE,KAAKkwE,EACpB,CAAE,MAAO19G,GACP,GAAe,gBAAXA,EAAEkP,KACJ,MAAMlP,CAEV,CAGF,OAAQ26G,GAAWjkD,KAAKC,WAAW+mD,EACrC,CA8DaC,CAAgB1iG,IAGlBA,CACT,GAEA2iG,kBAAmB,CAAC,SAA2B3iG,GAC7C,IAAMuhG,EAAeroG,KAAKqoG,cAAgBD,GAASC,aAC7ClB,EAAoBkB,GAAgBA,EAAalB,kBACjDuC,EAAsC,SAAtB1pG,KAAKy2B,aAE3B,GAAI3vB,GAAQ09F,GAAM3E,SAAS/4F,KAAWqgG,IAAsBnnG,KAAKy2B,cAAiBizE,GAAgB,CAChG,IACMC,IADoBtB,GAAgBA,EAAanB,oBACPwC,EAEhD,IACE,OAAOnnD,KAAK9pC,MAAM3R,EACpB,CAAE,MAAOjb,GACP,GAAI89G,EAAmB,CACrB,GAAe,gBAAX99G,EAAEkP,KACJ,MAAMspG,GAAWh2G,KAAKxC,EAAGw4G,GAAWuF,iBAAkB5pG,KAAM,KAAMA,KAAKurC,UAEzE,MAAM1/C,CACR,CACF,CACF,CAEA,OAAOib,CACT,GAMA+kC,QAAS,EAETg+D,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBV,IAAK,CACHzH,SAAUmH,GAAS1B,QAAQzF,SAC3B+D,KAAMoD,GAAS1B,QAAQ1B,MAGzBqE,eAAgB,SAAwB3+D,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAm9D,QAAS,CACPyB,OAAQ,CACN,OAAU,uCAKhB1F,GAAMpxG,QAAQ,CAAC,SAAU,MAAO,SAAS,SAA6Bi1F,GACpE+f,GAASK,QAAQpgB,GAAU,CAAC,CAC9B,IAEAmc,GAAMpxG,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+Bi1F,GACrE+f,GAASK,QAAQpgB,GAAUmc,GAAMpC,MAAM+F,GACzC,IAEA,UE/JMgC,GAAoB3F,GAAMf,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtB2G,GAAa1tG,OAAO,aAE1B,SAAS2tG,GAAgB7P,GACvB,OAAOA,GAAU16F,OAAO06F,GAAQnhE,OAAOzoC,aACzC,CAEA,SAAS05G,GAAe3pG,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGF6jG,GAAMz0G,QAAQ4Q,GAASA,EAAMhH,IAAI2wG,IAAkBxqG,OAAOa,EACnE,CAgBA,SAAS4pG,GAAiBhoG,EAAS5B,EAAO65F,EAAQznG,EAAQy3G,GACxD,OAAIhG,GAAM1E,WAAW/sG,GACZA,EAAOrD,KAAKsQ,KAAMW,EAAO65F,IAG9BgQ,IACF7pG,EAAQ65F,GAGLgK,GAAM3E,SAASl/F,GAEhB6jG,GAAM3E,SAAS9sG,IACiB,IAA3B4N,EAAM9P,QAAQkC,GAGnByxG,GAAMxD,SAASjuG,GACVA,EAAO9F,KAAK0T,QADrB,OANA,EASF,CAoBC,IAEK8pG,GAAY,SAAAC,EAAAC,GAChB,SAAAF,EAAYhC,IAASvgD,EAAAA,GAAAA,GAAA,KAAAuiD,GACnBhC,GAAWzoG,KAAKksD,IAAIu8C,EACtB,CA2MC,OA3MAha,EAAAA,GAAAA,GAAAgc,EAAA,EAAAn6G,IAAA,MAAAqQ,MAED,SAAI65F,EAAQoQ,EAAgBC,GAC1B,IAAMvjD,EAAOtnD,KAEb,SAAS8qG,EAAUz3F,EAAQ03F,EAASC,GAClC,IAAMC,EAAUZ,GAAgBU,GAEhC,IAAKE,EACH,MAAM,IAAIp+G,MAAM,0CAGlB,IAAMyD,EAAMk0G,GAAM/D,QAAQn5C,EAAM2jD,KAE5B36G,QAAqBhC,IAAdg5D,EAAKh3D,KAAmC,IAAb06G,QAAmC18G,IAAb08G,IAAwC,IAAd1jD,EAAKh3D,MACzFg3D,EAAKh3D,GAAOy6G,GAAWT,GAAej3F,GAE1C,CAEA,IAAM63F,EAAa,SAACzC,EAASuC,GAAQ,OACnCxG,GAAMpxG,QAAQq1G,GAAS,SAACp1F,EAAQ03F,GAAO,OAAKD,EAAUz3F,EAAQ03F,EAASC,EAAS,GAAC,EAUnF,OARIxG,GAAMvE,cAAczF,IAAWA,aAAkBx6F,KAAKC,YACxDirG,EAAW1Q,EAAQoQ,GACXpG,GAAM3E,SAASrF,KAAYA,EAASA,EAAOnhE,UArEtB,iCAAiCpsC,KAqEmButG,EArEVnhE,QAsEvE6xE,ED1EN,SAAeC,GACb,IACI76G,EACAswD,EACA7yD,EAHEq9G,EAAS,CAAC,EAyBhB,OApBAD,GAAcA,EAAW18G,MAAM,MAAM2E,SAAQ,SAAgB66B,GAC3DlgC,EAAIkgC,EAAKp9B,QAAQ,KACjBP,EAAM29B,EAAKj2B,UAAU,EAAGjK,GAAGsrC,OAAOzoC,cAClCgwD,EAAM3yB,EAAKj2B,UAAUjK,EAAI,GAAGsrC,QAEvB/oC,GAAQ86G,EAAO96G,IAAQ65G,GAAkB75G,KAIlC,eAARA,EACE86G,EAAO96G,GACT86G,EAAO96G,GAAKwC,KAAK8tD,GAEjBwqD,EAAO96G,GAAO,CAACswD,GAGjBwqD,EAAO96G,GAAO86G,EAAO96G,GAAO86G,EAAO96G,GAAO,KAAOswD,EAAMA,EAE3D,IAEOwqD,CACR,CC+CgBC,CAAa7Q,GAASoQ,GAEvB,MAAVpQ,GAAkBsQ,EAAUF,EAAgBpQ,EAAQqQ,GAG/C7qG,IACT,GAAC,CAAA1P,IAAA,MAAAqQ,MAED,SAAI65F,EAAQrpE,GAGV,GAFAqpE,EAAS6P,GAAgB7P,GAEb,CACV,IAAMlqG,EAAMk0G,GAAM/D,QAAQzgG,KAAMw6F,GAEhC,GAAIlqG,EAAK,CACP,IAAMqQ,EAAQX,KAAK1P,GAEnB,IAAK6gC,EACH,OAAOxwB,EAGT,IAAe,IAAXwwB,EACF,OAxGV,SAAqBvtB,GAKnB,IAJA,IAEIinC,EAFEp3B,EAASjkB,OAAO0Q,OAAO,MACvBorG,EAAW,mCAGTzgE,EAAQygE,EAAS9pD,KAAK59C,IAC5B6P,EAAOo3B,EAAM,IAAMA,EAAM,GAG3B,OAAOp3B,CACT,CA8FiB83F,CAAY5qG,GAGrB,GAAI6jG,GAAM1E,WAAW3uE,GACnB,OAAOA,EAAOzhC,KAAKsQ,KAAMW,EAAOrQ,GAGlC,GAAIk0G,GAAMxD,SAAS7vE,GACjB,OAAOA,EAAOqwB,KAAK7gD,GAGrB,MAAM,IAAId,UAAU,yCACtB,CACF,CACF,GAAC,CAAAvP,IAAA,MAAAqQ,MAED,SAAI65F,EAAQgR,GAGV,GAFAhR,EAAS6P,GAAgB7P,GAEb,CACV,IAAMlqG,EAAMk0G,GAAM/D,QAAQzgG,KAAMw6F,GAEhC,SAAUlqG,QAAqBhC,IAAd0R,KAAK1P,IAAwBk7G,IAAWjB,GAAiBvqG,EAAMA,KAAK1P,GAAMA,EAAKk7G,GAClG,CAEA,OAAO,CACT,GAAC,CAAAl7G,IAAA,SAAAqQ,MAED,SAAO65F,EAAQgR,GACb,IAAMlkD,EAAOtnD,KACTyrG,GAAU,EAEd,SAASC,EAAaX,GAGpB,GAFAA,EAAUV,GAAgBU,GAEb,CACX,IAAMz6G,EAAMk0G,GAAM/D,QAAQn5C,EAAMyjD,IAE5Bz6G,GAASk7G,IAAWjB,GAAiBjjD,EAAMA,EAAKh3D,GAAMA,EAAKk7G,YACtDlkD,EAAKh3D,GAEZm7G,GAAU,EAEd,CACF,CAQA,OANIjH,GAAMz0G,QAAQyqG,GAChBA,EAAOpnG,QAAQs4G,GAEfA,EAAalR,GAGRiR,CACT,GAAC,CAAAn7G,IAAA,QAAAqQ,MAED,SAAM6qG,GAKJ,IAJA,IAAMp7G,EAAOZ,OAAOY,KAAK4P,MACrBjS,EAAIqC,EAAKlC,OACTu9G,GAAU,EAEP19G,KAAK,CACV,IAAMuC,EAAMF,EAAKrC,GACby9G,IAAWjB,GAAiBvqG,EAAMA,KAAK1P,GAAMA,EAAKk7G,GAAS,YACtDxrG,KAAK1P,GACZm7G,GAAU,EAEd,CAEA,OAAOA,CACT,GAAC,CAAAn7G,IAAA,YAAAqQ,MAED,SAAU5U,GACR,IAAMu7D,EAAOtnD,KACPyoG,EAAU,CAAC,EAsBjB,OApBAjE,GAAMpxG,QAAQ4M,MAAM,SAACW,EAAO65F,GAC1B,IAAMlqG,EAAMk0G,GAAM/D,QAAQgI,EAASjO,GAEnC,GAAIlqG,EAGF,OAFAg3D,EAAKh3D,GAAOg6G,GAAe3pG,eACpB2mD,EAAKkzC,GAId,IAAMmR,EAAa5/G,EA1JzB,SAAsByuG,GACpB,OAAOA,EAAOnhE,OACXzoC,cAAcxD,QAAQ,mBAAmB,SAACoQ,EAAG0pE,EAAMtjE,GAClD,OAAOsjE,EAAK7tD,cAAgBzV,CAC9B,GACJ,CAqJkCgoG,CAAapR,GAAU16F,OAAO06F,GAAQnhE,OAE9DsyE,IAAenR,UACVlzC,EAAKkzC,GAGdlzC,EAAKqkD,GAAcrB,GAAe3pG,GAElC8nG,EAAQkD,IAAc,CACxB,IAEO3rG,IACT,GAAC,CAAA1P,IAAA,SAAAqQ,MAED,WAAmB,QAAAkrG,EAAA54G,EAAAJ,UAAA3E,OAAT49G,EAAO,IAAAh8G,MAAAmD,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAP24G,EAAO34G,GAAAN,UAAAM,GACf,OAAO04G,EAAA7rG,KAAKC,aAAYnR,OAAM8D,MAAAi5G,EAAA,CAAC7rG,MAAIlR,OAAKg9G,GAC1C,GAAC,CAAAx7G,IAAA,SAAAqQ,MAED,SAAOorG,GACL,IAAMx8G,EAAMC,OAAO0Q,OAAO,MAM1B,OAJAskG,GAAMpxG,QAAQ4M,MAAM,SAACW,EAAO65F,GACjB,MAAT75F,IAA2B,IAAVA,IAAoBpR,EAAIirG,GAAUuR,GAAavH,GAAMz0G,QAAQ4Q,GAASA,EAAMvR,KAAK,MAAQuR,EAC5G,IAEOpR,CACT,GAAC,CAAAe,IAAAo6G,EAAA/pG,MAED,WACE,OAAOnR,OAAOkK,QAAQsG,KAAKykG,UAAU/nG,OAAOkF,WAC9C,GAAC,CAAAtR,IAAA,WAAAqQ,MAED,WACE,OAAOnR,OAAOkK,QAAQsG,KAAKykG,UAAU9qG,KAAI,SAAA9E,GAAA,IAAA6kG,GAAArG,EAAAA,EAAAA,GAAAx+F,EAAA,GAAe,OAAP6kG,EAAA,GAAsB,KAAfA,EAAA,EAA2B,IAAEtqG,KAAK,KAC5F,GAAC,CAAAkB,IAAAq6G,EAAArjG,IAED,WACE,MAAO,cACT,IAAC,EAAAhX,IAAA,OAAAqQ,MAED,SAAY6+F,GACV,OAAOA,aAAiBx/F,KAAOw/F,EAAQ,IAAIx/F,KAAKw/F,EAClD,GAAC,CAAAlvG,IAAA,SAAAqQ,MAED,SAAc4jB,GACqB,IAAjC,IAAMynF,EAAW,IAAIhsG,KAAKukB,GAAO0nF,EAAAp5G,UAAA3E,OADX49G,EAAO,IAAAh8G,MAAAm8G,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAPJ,EAAOI,EAAA,GAAAr5G,UAAAq5G,GAK7B,OAFAJ,EAAQ14G,SAAQ,SAAC61C,GAAM,OAAK+iE,EAAS9/C,IAAIjjB,EAAO,IAEzC+iE,CACT,GAAC,CAAA17G,IAAA,WAAAqQ,MAED,SAAgB65F,GACd,IAIM2R,GAJYnsG,KAAKoqG,IAAepqG,KAAKoqG,IAAc,CACvD+B,UAAW,CAAC,IAGcA,UACtB18G,EAAYuQ,KAAKvQ,UAEvB,SAAS28G,EAAerB,GACtB,IAAME,EAAUZ,GAAgBU,GAE3BoB,EAAUlB,MAlNrB,SAAwB17G,EAAKirG,GAC3B,IAAM6R,EAAe7H,GAAMb,YAAY,IAAMnJ,GAE7C,CAAC,MAAO,MAAO,OAAOpnG,SAAQ,SAAA42F,GAC5Bx6F,OAAOoM,eAAerM,EAAKy6F,EAAaqiB,EAAc,CACpD1rG,MAAO,SAAS2rG,EAAMC,EAAMC,GAC1B,OAAOxsG,KAAKgqF,GAAYt6F,KAAKsQ,KAAMw6F,EAAQ8R,EAAMC,EAAMC,EACzD,EACAlmD,cAAc,GAElB,GACF,CAwMQmmD,CAAeh9G,EAAWs7G,GAC1BoB,EAAUlB,IAAW,EAEzB,CAIA,OAFAzG,GAAMz0G,QAAQyqG,GAAUA,EAAOpnG,QAAQg5G,GAAkBA,EAAe5R,GAEjEx6F,IACT,KAACyqG,CAAA,CA9Me,CAkKf/tG,OAAOkF,SAQHlF,OAAOyyF,aAuCdsb,GAAaiC,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAEpGlI,GAAMhB,cAAciH,GAAah7G,WACjC+0G,GAAMhB,cAAciH,IAEpB,UCjRe,SAASkC,GAAcC,EAAKrhE,GACzC,IAAM+4D,EAAStkG,MAAQooG,GACjB7lG,EAAUgpC,GAAY+4D,EACtBmE,EAAUgC,GAAap8G,KAAKkU,EAAQkmG,SACtC3hG,EAAOvE,EAAQuE,KAQnB,OANA09F,GAAMpxG,QAAQw5G,GAAK,SAAmBn6G,GACpCqU,EAAOrU,EAAG/C,KAAK40G,EAAQx9F,EAAM2hG,EAAQoE,YAAathE,EAAWA,EAASD,YAASh9C,EACjF,IAEAm6G,EAAQoE,YAED/lG,CACT,CCzBe,SAASgmG,GAASnsG,GAC/B,SAAUA,IAASA,EAAMosG,WAC3B,CCUA,SAASC,GAAc1iH,EAASg6G,EAAQpO,GAEtCmO,GAAW30G,KAAKsQ,KAAiB,MAAX1V,EAAkB,WAAaA,EAAS+5G,GAAW4I,aAAc3I,EAAQpO,GAC/Fl2F,KAAKjF,KAAO,eACd,CAEAypG,GAAM/B,SAASuK,GAAe3I,GAAY,CACxC0I,YAAY,IAGd,UCnBA,OAAe/D,GAASxB,qBAIb,CACLl0F,MAAO,SAAevY,EAAM4F,EAAOusG,EAAS18G,EAAM28G,EAAQC,GACxD,IAAMC,EAAS,GACfA,EAAOv6G,KAAKiI,EAAO,IAAMm9B,mBAAmBv3B,IAExC6jG,GAAMzE,SAASmN,IACjBG,EAAOv6G,KAAK,WAAa,IAAIsrD,KAAK8uD,GAASI,eAGzC9I,GAAM3E,SAASrvG,IACjB68G,EAAOv6G,KAAK,QAAUtC,GAGpBg0G,GAAM3E,SAASsN,IACjBE,EAAOv6G,KAAK,UAAYq6G,IAGX,IAAXC,GACFC,EAAOv6G,KAAK,UAGdlI,SAASyiH,OAASA,EAAOj+G,KAAK,KAChC,EAEAokB,KAAM,SAAczY,GAClB,IAAM8vC,EAAQjgD,SAASyiH,OAAOxiE,MAAM,IAAIuW,OAAO,aAAermD,EAAO,cACrE,OAAQ8vC,EAAQ0vD,mBAAmB1vD,EAAM,IAAM,IACjD,EAEA0iE,OAAQ,SAAgBxyG,GACtBiF,KAAKsT,MAAMvY,EAAM,GAAIqjD,KAAKC,MAAQ,MACpC,GAMK,CACL/qC,MAAO,WAAkB,EACzBE,KAAM,WAAkB,OAAO,IAAM,EACrC+5F,OAAQ,WAAmB,GClClB,SAASC,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8BxgH,KDGPygH,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQrgH,QAAQ,OAAQ,IAAM,IAAMugH,EAAYvgH,QAAQ,OAAQ,IAChEqgH,CACN,CFGWG,CAAYH,EAASC,GAEvBA,CACT,CGfA,OAAe1E,GAASxB,qBAIrB,WACC,IAEIqG,EAFEC,EAAO,kBAAkB7gH,KAAKC,UAAUC,WACxC4gH,EAAiBnjH,SAASG,cAAc,KAS9C,SAASijH,EAAWl2G,GAClB,IAAInB,EAAOmB,EAWX,OATIg2G,IAEFC,EAAepyE,aAAa,OAAQhlC,GACpCA,EAAOo3G,EAAep3G,MAGxBo3G,EAAepyE,aAAa,OAAQhlC,GAG7B,CACLA,KAAMo3G,EAAep3G,KACrBqzC,SAAU+jE,EAAe/jE,SAAW+jE,EAAe/jE,SAAS58C,QAAQ,KAAM,IAAM,GAChF6gH,KAAMF,EAAeE,KACrB/8G,OAAQ68G,EAAe78G,OAAS68G,EAAe78G,OAAO9D,QAAQ,MAAO,IAAM,GAC3E+D,KAAM48G,EAAe58G,KAAO48G,EAAe58G,KAAK/D,QAAQ,KAAM,IAAM,GACpE68C,SAAU8jE,EAAe9jE,SACzBC,KAAM6jE,EAAe7jE,KACrBx8C,SAAiD,MAAtCqgH,EAAergH,SAASC,OAAO,GACxCogH,EAAergH,SACf,IAAMqgH,EAAergH,SAE3B,CAUA,OARAmgH,EAAYG,EAAW5hH,OAAOmF,SAASoF,MAQhC,SAAyBu3G,GAC9B,IAAM9C,EAAU5G,GAAM3E,SAASqO,GAAeF,EAAWE,GAAcA,EACvE,OAAQ9C,EAAOphE,WAAa6jE,EAAU7jE,UAClCohE,EAAO6C,OAASJ,EAAUI,IAChC,CACF,CAlDC,GAsDQ,WACL,OAAO,CACT,ECXJ,OA9CA,SAAqBE,EAAch1G,GACjCg1G,EAAeA,GAAgB,GAC/B,IAIIC,EAJE7oG,EAAQ,IAAIzV,MAAMq+G,GAClBE,EAAa,IAAIv+G,MAAMq+G,GACzBvY,EAAO,EACPrc,EAAO,EAKX,OAFApgF,OAAc7K,IAAR6K,EAAoBA,EAAM,IAEzB,SAAcm1G,GACnB,IAAMjwD,EAAMD,KAAKC,MAEXkwD,EAAYF,EAAW90B,GAExB60B,IACHA,EAAgB/vD,GAGlB94C,EAAMqwF,GAAQ0Y,EACdD,EAAWzY,GAAQv3C,EAKnB,IAHA,IAAItwD,EAAIwrF,EACJi1B,EAAa,EAEVzgH,IAAM6nG,GACX4Y,GAAcjpG,EAAMxX,KACpBA,GAAQogH,EASV,IANAvY,GAAQA,EAAO,GAAKuY,KAEP50B,IACXA,GAAQA,EAAO,GAAK40B,KAGlB9vD,EAAM+vD,EAAgBj1G,GAA1B,CAIA,IAAMs1G,EAASF,GAAalwD,EAAMkwD,EAElC,OAAOE,EAASz5G,KAAK8kB,MAAmB,IAAb00F,EAAoBC,QAAUngH,CAJzD,CAKF,CACF,ECpCA,SAASogH,GAAqB/7G,EAAUg8G,GACtC,IAAIC,EAAgB,EACdC,EAAeC,GAAY,GAAI,KAErC,OAAO,SAAAjjH,GACL,IAAMkjH,EAASljH,EAAEkjH,OACXC,EAAQnjH,EAAEojH,iBAAmBpjH,EAAEmjH,WAAQ1gH,EACvC4gH,EAAgBH,EAASH,EACzBO,EAAON,EAAaK,GAG1BN,EAAgBG,EAEhB,IAAMjoG,EAAO,CACXioG,OAAAA,EACAC,MAAAA,EACAI,SAAUJ,EAASD,EAASC,OAAS1gH,EACrCiX,MAAO2pG,EACPC,KAAMA,QAAc7gH,EACpB+gH,UAAWF,GAAQH,GAVLD,GAAUC,GAUeA,EAAQD,GAAUI,OAAO7gH,EAChEiH,MAAO1J,GAGTib,EAAK6nG,EAAmB,WAAa,WAAY,EAEjDh8G,EAASmU,EACX,CACF,CAEA,ICxCMwoG,GAAgB,CACpBC,KCLF,KDMElkE,IDsCsD,qBAAnB7U,gBAEG,SAAU8tE,GAChD,OAAO,IAAIzjG,SAAQ,SAA4BD,EAASE,GACtD,IAGI0uG,EAHAC,EAAcnL,EAAOx9F,KACnB4oG,EAAiBjF,GAAap8G,KAAKi2G,EAAOmE,SAASoE,YACnDp2E,EAAe6tE,EAAO7tE,aAE5B,SAASt1B,IACHmjG,EAAOqL,aACTrL,EAAOqL,YAAYC,YAAYJ,GAG7BlL,EAAOuL,QACTvL,EAAOuL,OAAOp5G,oBAAoB,QAAS+4G,EAE/C,CAEIhL,GAAM7C,WAAW8N,KACfzG,GAASxB,sBAAwBwB,GAAStB,8BAC5CgI,EAAe3G,gBAAe,GAE9B2G,EAAe3G,eAAe,wBAAwB,IAI1D,IAAI7S,EAAU,IAAI1/D,eAGlB,GAAI8tE,EAAOwL,KAAM,CACf,IAAMC,EAAWzL,EAAOwL,KAAKC,UAAY,GACnCptC,EAAW2hC,EAAOwL,KAAKntC,SAAWqtC,SAAS93E,mBAAmBosE,EAAOwL,KAAKntC,WAAa,GAC7F+sC,EAAexjD,IAAI,gBAAiB,SAAW+jD,KAAKF,EAAW,IAAMptC,GACvE,CAEA,IAAMutC,EAAW1C,GAAclJ,EAAOmJ,QAASnJ,EAAOxsG,KAOtD,SAASq4G,IACP,GAAKja,EAAL,CAIA,IAAMka,EAAkB3F,GAAap8G,KACnC,0BAA2B6nG,GAAWA,EAAQma,0BGhFvC,SAAgBzvG,EAASE,EAAQyqC,GAC9C,IAAM0+D,EAAiB1+D,EAAS+4D,OAAO2F,eAClC1+D,EAASD,QAAW2+D,IAAkBA,EAAe1+D,EAASD,QAGjExqC,EAAO,IAAIujG,GACT,mCAAqC94D,EAASD,OAC9C,CAAC+4D,GAAWiM,gBAAiBjM,GAAWuF,kBAAkB50G,KAAKqsC,MAAMkK,EAASD,OAAS,KAAO,GAC9FC,EAAS+4D,OACT/4D,EAAS2qD,QACT3qD,IAPF3qC,EAAQ2qC,EAUZ,CHgFMglE,EAAO,SAAkB5vG,GACvBC,EAAQD,GACRQ,GACF,IAAG,SAAiBrU,GAClBgU,EAAOhU,GACPqU,GACF,GAfiB,CACf2F,KAHoB2vB,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxCy/D,EAAQ3qD,SAA/B2qD,EAAQsa,aAGRllE,OAAQ4qD,EAAQ5qD,OAChBmlE,WAAYva,EAAQua,WACpBhI,QAAS2H,EACT9L,OAAAA,EACApO,QAAAA,IAYFA,EAAU,IAzBV,CA0BF,CAmEA,GArGAA,EAAQ5mE,KAAKg1E,EAAOjc,OAAOhvE,cAAeqtF,GAASwJ,EAAU5L,EAAO3c,OAAQ2c,EAAOoM,mBAAmB,GAGtGxa,EAAQrqD,QAAUy4D,EAAOz4D,QAiCrB,cAAeqqD,EAEjBA,EAAQia,UAAYA,EAGpBja,EAAQya,mBAAqB,WACtBza,GAAkC,IAAvBA,EAAQptD,aAQD,IAAnBotD,EAAQ5qD,QAAkB4qD,EAAQ0a,aAAwD,IAAzC1a,EAAQ0a,YAAY//G,QAAQ,WAKjFs6C,WAAWglE,EACb,EAIFja,EAAQ2a,QAAU,WACX3a,IAILp1F,EAAO,IAAIujG,GAAW,kBAAmBA,GAAWyM,aAAcxM,EAAQpO,IAG1EA,EAAU,KACZ,EAGAA,EAAQj+D,QAAU,WAGhBn3B,EAAO,IAAIujG,GAAW,gBAAiBA,GAAW0M,YAAazM,EAAQpO,IAGvEA,EAAU,IACZ,EAGAA,EAAQpqD,UAAY,WAClB,IAAIklE,EAAsB1M,EAAOz4D,QAAU,cAAgBy4D,EAAOz4D,QAAU,cAAgB,mBACtFw8D,EAAe/D,EAAO+D,cAAgBC,GACxChE,EAAO0M,sBACTA,EAAsB1M,EAAO0M,qBAE/BlwG,EAAO,IAAIujG,GACT2M,EACA3I,EAAajB,oBAAsB/C,GAAW4M,UAAY5M,GAAWyM,aACrExM,EACApO,IAGFA,EAAU,IACZ,EAKI8S,GAASxB,qBAAsB,CAEjC,IAAM0J,GAAa5M,EAAO6M,iBAAmBC,GAAgBlB,KACxD5L,EAAOuF,gBAAkBwH,GAAQ79F,KAAK8wF,EAAOuF,gBAE9CqH,GACFxB,EAAexjD,IAAIo4C,EAAOwF,eAAgBoH,EAE9C,MAGgB5iH,IAAhBmhH,GAA6BC,EAAe3G,eAAe,MAGvD,qBAAsB7S,GACxBsO,GAAMpxG,QAAQs8G,EAAejL,UAAU,SAA0B7jD,EAAKtwD,GACpE4lG,EAAQob,iBAAiBhhH,EAAKswD,EAChC,IAIG4jD,GAAM7E,YAAY2E,EAAO6M,mBAC5Bjb,EAAQib,kBAAoB7M,EAAO6M,iBAIjC16E,GAAiC,SAAjBA,IAClBy/D,EAAQz/D,aAAe6tE,EAAO7tE,cAIS,oBAA9B6tE,EAAOiN,oBAChBrb,EAAQtqG,iBAAiB,WAAY8iH,GAAqBpK,EAAOiN,oBAAoB,IAIhD,oBAA5BjN,EAAOkN,kBAAmCtb,EAAQub,QAC3Dvb,EAAQub,OAAO7lH,iBAAiB,WAAY8iH,GAAqBpK,EAAOkN,oBAGtElN,EAAOqL,aAAerL,EAAOuL,UAG/BL,EAAa,SAAAkC,GACNxb,IAGLp1F,GAAQ4wG,GAAUA,EAAO72G,KAAO,IAAImyG,GAAc,KAAM1I,EAAQpO,GAAWwb,GAC3Exb,EAAQyb,QACRzb,EAAU,KACZ,EAEAoO,EAAOqL,aAAerL,EAAOqL,YAAY96B,UAAU26B,GAC/ClL,EAAOuL,SACTvL,EAAOuL,OAAO+B,QAAUpC,IAAelL,EAAOuL,OAAOjkH,iBAAiB,QAAS4jH,KAInF,IAAMxlE,EI/OK,SAAuBlyC,GACpC,IAAM+yC,EAAQ,4BAA4B2W,KAAK1pD,GAC/C,OAAO+yC,GAASA,EAAM,IAAM,EAC9B,CJ4OqBgnE,CAAc3B,GAE3BlmE,IAAsD,IAA1Cg/D,GAASnB,UAAUh3G,QAAQm5C,GACzClpC,EAAO,IAAIujG,GAAW,wBAA0Br6D,EAAW,IAAKq6D,GAAWiM,gBAAiBhM,IAM9FpO,EAAQnqD,KAAK0jE,GAAe,KAC9B,GACF,GClPAjL,GAAMpxG,QAAQk8G,IAAe,SAAC78G,EAAIkO,GAChC,GAAGlO,EAAI,CACL,IACEjD,OAAOoM,eAAenJ,EAAI,OAAQ,CAACkO,MAAAA,GACrC,CAAE,MAAO9U,GACP,CAEF2D,OAAOoM,eAAenJ,EAAI,cAAe,CAACkO,MAAAA,GAC5C,CACF,IAEA,OACc,SAACmxG,GAOX,IAJA,IACIC,EACAxJ,EAFGr6G,GAFP4jH,EAAWtN,GAAMz0G,QAAQ+hH,GAAYA,EAAW,CAACA,IAE1C5jH,OAIEH,EAAI,EAAGA,EAAIG,IAClB6jH,EAAgBD,EAAS/jH,KACrBw6G,EAAU/D,GAAM3E,SAASkS,GAAiBzC,GAAcyC,EAAcnhH,eAAiBmhH,IAFjEhkH,KAO5B,IAAKw6G,EAAS,CACZ,IAAgB,IAAZA,EACF,MAAM,IAAIlE,GAAW,WAADv1G,OACPijH,EAAa,wCACxB,mBAIJ,MAAM,IAAIllH,MACR23G,GAAMjB,WAAW+L,GAAeyC,GAAc,YAAAjjH,OAChCijH,EAAa,uDAAAjjH,OACLijH,EAAa,KAEvC,CAEA,IAAKvN,GAAM1E,WAAWyI,GACpB,MAAM,IAAI1oG,UAAU,6BAGtB,OAAO0oG,CACT,EIxCF,SAASyJ,GAA6B1N,GAKpC,GAJIA,EAAOqL,aACTrL,EAAOqL,YAAYsC,mBAGjB3N,EAAOuL,QAAUvL,EAAOuL,OAAO+B,QACjC,MAAM,IAAI5E,GAAc,KAAM1I,EAElC,CASe,SAAS4N,GAAgB5N,GAiBtC,OAhBA0N,GAA6B1N,GAE7BA,EAAOmE,QAAUgC,GAAap8G,KAAKi2G,EAAOmE,SAG1CnE,EAAOx9F,KAAO6lG,GAAcj9G,KAC1B40G,EACAA,EAAOkE,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAAS33G,QAAQyzG,EAAOjc,SAC1Cic,EAAOmE,QAAQM,eAAe,qCAAqC,GAGrD+I,GAAoBxN,EAAOiE,SAAWH,GAASG,QAExDA,CAAQjE,GAAQljG,MAAK,SAA6BmqC,GAYvD,OAXAymE,GAA6B1N,GAG7B/4D,EAASzkC,KAAO6lG,GAAcj9G,KAC5B40G,EACAA,EAAOmF,kBACPl+D,GAGFA,EAASk9D,QAAUgC,GAAap8G,KAAKk9C,EAASk9D,SAEvCl9D,CACT,IAAG,SAA4B4mE,GAe7B,OAdKrF,GAASqF,KACZH,GAA6B1N,GAGzB6N,GAAUA,EAAO5mE,WACnB4mE,EAAO5mE,SAASzkC,KAAO6lG,GAAcj9G,KACnC40G,EACAA,EAAOmF,kBACP0I,EAAO5mE,UAET4mE,EAAO5mE,SAASk9D,QAAUgC,GAAap8G,KAAK8jH,EAAO5mE,SAASk9D,WAIzD5nG,QAAQC,OAAOqxG,EACxB,GACF,CC3EA,IAAMC,GAAkB,SAAC5S,GAAK,OAAKA,aAAiBiL,GAAejL,EAAMiF,SAAWjF,CAAK,EAW1E,SAAS6S,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,CAAC,EACtB,IAAMjO,EAAS,CAAC,EAEhB,SAASkO,EAAevpE,EAAQ0X,EAAQ0hD,GACtC,OAAImC,GAAMvE,cAAch3D,IAAWu7D,GAAMvE,cAAct/C,GAC9C6jD,GAAMpC,MAAM1yG,KAAK,CAAC2yG,SAAAA,GAAWp5D,EAAQ0X,GACnC6jD,GAAMvE,cAAct/C,GACtB6jD,GAAMpC,MAAM,CAAC,EAAGzhD,GACd6jD,GAAMz0G,QAAQ4wD,GAChBA,EAAO3vD,QAET2vD,CACT,CAGA,SAAS8xD,EAAoB7iH,EAAGC,EAAGwyG,GACjC,OAAKmC,GAAM7E,YAAY9vG,GAEX20G,GAAM7E,YAAY/vG,QAAvB,EACE4iH,OAAelkH,EAAWsB,EAAGyyG,GAF7BmQ,EAAe5iH,EAAGC,EAAGwyG,EAIhC,CAGA,SAASqQ,EAAiB9iH,EAAGC,GAC3B,IAAK20G,GAAM7E,YAAY9vG,GACrB,OAAO2iH,OAAelkH,EAAWuB,EAErC,CAGA,SAAS8iH,EAAiB/iH,EAAGC,GAC3B,OAAK20G,GAAM7E,YAAY9vG,GAEX20G,GAAM7E,YAAY/vG,QAAvB,EACE4iH,OAAelkH,EAAWsB,GAF1B4iH,OAAelkH,EAAWuB,EAIrC,CAGA,SAAS+iH,EAAgBhjH,EAAGC,EAAGqlG,GAC7B,OAAIA,KAAQqd,EACHC,EAAe5iH,EAAGC,GAChBqlG,KAAQod,EACVE,OAAelkH,EAAWsB,QAD5B,CAGT,CAEA,IAAMijH,EAAW,CACf/6G,IAAK46G,EACLrqB,OAAQqqB,EACR5rG,KAAM4rG,EACNjF,QAASkF,EACTnK,iBAAkBmK,EAClBlJ,kBAAmBkJ,EACnBjC,iBAAkBiC,EAClB9mE,QAAS8mE,EACTG,eAAgBH,EAChBxB,gBAAiBwB,EACjBpK,QAASoK,EACTl8E,aAAck8E,EACd9I,eAAgB8I,EAChB7I,eAAgB6I,EAChBnB,iBAAkBmB,EAClBpB,mBAAoBoB,EACpBI,WAAYJ,EACZ5I,iBAAkB4I,EAClB3I,cAAe2I,EACfK,eAAgBL,EAChBM,UAAWN,EACXO,UAAWP,EACXQ,WAAYR,EACZhD,YAAagD,EACbS,WAAYT,EACZU,iBAAkBV,EAClB1I,eAAgB2I,EAChBnK,QAAS,SAAC74G,EAAGC,GAAC,OAAK4iH,EAAoBL,GAAgBxiH,GAAIwiH,GAAgBviH,IAAI,EAAK,GAStF,OANA20G,GAAMpxG,QAAQ5D,OAAOY,KAAKZ,OAAOa,OAAO,CAAC,EAAGiiH,EAASC,KAAW,SAA4Brd,GAC1F,IAAMkN,EAAQyQ,EAAS3d,IAASud,EAC1Ba,EAAclR,EAAMkQ,EAAQpd,GAAOqd,EAAQrd,GAAOA,GACvDsP,GAAM7E,YAAY2T,IAAgBlR,IAAUwQ,IAAqBtO,EAAOpP,GAAQoe,EACnF,IAEOhP,CACT,CCxGO,IAAMiP,GAAU,QCKjBC,GAAa,CAAC,EAGpB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUpgH,SAAQ,SAACyH,EAAM9M,GAC7EylH,GAAW34G,GAAQ,SAAmB2kG,GACpC,cAAcA,IAAU3kG,GAAQ,KAAO9M,EAAI,EAAI,KAAO,KAAO8M,CAC/D,CACF,IAEA,IAAM44G,GAAqB,CAAC,EAW5BD,GAAWnL,aAAe,SAAsBqL,EAAWtxB,EAAS93F,GAClE,SAASqpH,EAAcC,EAAK/kB,GAC1B,MAAO,uCAAoD+kB,EAAM,IAAO/kB,GAAQvkG,EAAU,KAAOA,EAAU,GAC7G,CAGA,OAAO,SAACqW,EAAOizG,EAAK90D,GAClB,IAAkB,IAAd40D,EACF,MAAM,IAAIrP,GACRsP,EAAcC,EAAK,qBAAuBxxB,EAAU,OAASA,EAAU,KACvEiiB,GAAWwP,gBAef,OAXIzxB,IAAYqxB,GAAmBG,KACjCH,GAAmBG,IAAO,EAE1B1nH,QAAQC,KACNwnH,EACEC,EACA,+BAAiCxxB,EAAU,8CAK1CsxB,GAAYA,EAAU/yG,EAAOizG,EAAK90D,EAC3C,CACF,EAmCA,QACEg1D,cAxBF,SAAuB1pH,EAAS2pH,EAAQC,GACtC,GAAuB,kBAAZ5pH,EACT,MAAM,IAAIi6G,GAAW,4BAA6BA,GAAW4P,sBAI/D,IAFA,IAAM7jH,EAAOZ,OAAOY,KAAKhG,GACrB2D,EAAIqC,EAAKlC,OACNH,KAAM,GAAG,CACd,IAAM6lH,EAAMxjH,EAAKrC,GACX2lH,EAAYK,EAAOH,GACzB,GAAIF,EAAJ,CACE,IAAM/yG,EAAQvW,EAAQwpH,GAChBzkH,OAAmBb,IAAVqS,GAAuB+yG,EAAU/yG,EAAOizG,EAAKxpH,GAC5D,IAAe,IAAX+E,EACF,MAAM,IAAIk1G,GAAW,UAAYuP,EAAM,YAAczkH,EAAQk1G,GAAW4P,qBAG5E,MACA,IAAqB,IAAjBD,EACF,MAAM,IAAI3P,GAAW,kBAAoBuP,EAAKvP,GAAW6P,eAE7D,CACF,EAIEV,WAAAA,IC9EIA,GAAaE,GAAUF,WASvBW,GAAK,WACT,SAAAA,EAAYC,IAAgBlsD,EAAAA,GAAAA,GAAA,KAAAisD,GAC1Bn0G,KAAKooG,SAAWgM,EAChBp0G,KAAKq0G,aAAe,CAClBne,QAAS,IAAI6Q,GACbx7D,SAAU,IAAIw7D,GAElB,CA2IC,OAzIDtY,EAAAA,GAAAA,GAAA0lB,EAAA,EAAA7jH,IAAA,UAAAqQ,MAQA,SAAQ2zG,EAAahQ,GAGQ,kBAAhBgQ,GACThQ,EAASA,GAAU,CAAC,GACbxsG,IAAMw8G,EAEbhQ,EAASgQ,GAAe,CAAC,EAK3B,IA0BIC,EA1BJC,EAFAlQ,EAAS+N,GAAYryG,KAAKooG,SAAU9D,GAE7B+D,EAAYmM,EAAZnM,aAAcqI,EAAgB8D,EAAhB9D,iBAAkBjI,EAAO+L,EAAP/L,aAElBn6G,IAAjB+5G,GACFqL,GAAUI,cAAczL,EAAc,CACpCnB,kBAAmBsM,GAAWnL,aAAamL,GAAWiB,SACtDtN,kBAAmBqM,GAAWnL,aAAamL,GAAWiB,SACtDrN,oBAAqBoM,GAAWnL,aAAamL,GAAWiB,WACvD,GAGmB,MAApB/D,IACElM,GAAM1E,WAAW4Q,GACnBpM,EAAOoM,iBAAmB,CACxB7J,UAAW6J,GAGbgD,GAAUI,cAAcpD,EAAkB,CACxCruD,OAAQmxD,GAAWkB,SACnB7N,UAAW2M,GAAWkB,WACrB,IAKPpQ,EAAOjc,QAAUic,EAAOjc,QAAUroF,KAAKooG,SAAS/f,QAAU,OAAOz3F,eAKjE2jH,EAAiB9L,GAAWjE,GAAMpC,MAChCqG,EAAQyB,OACRzB,EAAQnE,EAAOjc,WAGCmc,GAAMpxG,QACtB,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAACi1F,UACQogB,EAAQpgB,EACjB,IAGFic,EAAOmE,QAAUgC,GAAa37G,OAAOylH,EAAgB9L,GAGrD,IAAMkM,EAA0B,GAC5BC,GAAiC,EACrC50G,KAAKq0G,aAAane,QAAQ9iG,SAAQ,SAAoCyhH,GACjC,oBAAxBA,EAAY5N,UAA0D,IAAhC4N,EAAY5N,QAAQ3C,KAIrEsQ,EAAiCA,GAAkCC,EAAY7N,YAE/E2N,EAAwBzlH,QAAQ2lH,EAAY9zG,UAAW8zG,EAAY3zG,UACrE,IAEA,IAKI60F,EALE+e,EAA2B,GACjC90G,KAAKq0G,aAAa9oE,SAASn4C,SAAQ,SAAkCyhH,GACnEC,EAAyBhiH,KAAK+hH,EAAY9zG,UAAW8zG,EAAY3zG,SACnE,IAGA,IACIkE,EADArX,EAAI,EAGR,IAAK6mH,EAAgC,CACnC,IAAMG,EAAQ,CAAC7C,GAAgBt3C,KAAK56D,WAAO1R,GAO3C,IANAymH,EAAM7lH,QAAQ0D,MAAMmiH,EAAOJ,GAC3BI,EAAMjiH,KAAKF,MAAMmiH,EAAOD,GACxB1vG,EAAM2vG,EAAM7mH,OAEZ6nG,EAAUl1F,QAAQD,QAAQ0jG,GAEnBv2G,EAAIqX,GACT2wF,EAAUA,EAAQ30F,KAAK2zG,EAAMhnH,KAAMgnH,EAAMhnH,MAG3C,OAAOgoG,CACT,CAEA3wF,EAAMuvG,EAAwBzmH,OAE9B,IAAI8mH,EAAY1Q,EAIhB,IAFAv2G,EAAI,EAEGA,EAAIqX,GAAK,CACd,IAAM6vG,EAAcN,EAAwB5mH,KACtCmnH,EAAaP,EAAwB5mH,KAC3C,IACEinH,EAAYC,EAAYD,EAC1B,CAAE,MAAOjoH,GACPmoH,EAAWxlH,KAAKsQ,KAAMjT,GACtB,KACF,CACF,CAEA,IACEgpG,EAAUmc,GAAgBxiH,KAAKsQ,KAAMg1G,EACvC,CAAE,MAAOjoH,GACP,OAAO8T,QAAQC,OAAO/T,EACxB,CAKA,IAHAgB,EAAI,EACJqX,EAAM0vG,EAAyB5mH,OAExBH,EAAIqX,GACT2wF,EAAUA,EAAQ30F,KAAK0zG,EAAyB/mH,KAAM+mH,EAAyB/mH,MAGjF,OAAOgoG,CACT,GAAC,CAAAzlG,IAAA,SAAAqQ,MAED,SAAO2jG,GAGL,OAAOoC,GADU8G,IADjBlJ,EAAS+N,GAAYryG,KAAKooG,SAAU9D,IACEmJ,QAASnJ,EAAOxsG,KAC5BwsG,EAAO3c,OAAQ2c,EAAOoM,iBAClD,KAACyD,CAAA,CAlJQ,GAsJX3P,GAAMpxG,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6Bi1F,GAE/E8rB,GAAM1kH,UAAU44F,GAAU,SAASvwF,EAAKwsG,GACtC,OAAOtkG,KAAKk2F,QAAQmc,GAAY/N,GAAU,CAAC,EAAG,CAC5Cjc,OAAAA,EACAvwF,IAAAA,EACAgP,MAAOw9F,GAAU,CAAC,GAAGx9F,OAEzB,CACF,IAEA09F,GAAMpxG,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+Bi1F,GAGrE,SAAS8sB,EAAmBC,GAC1B,OAAO,SAAoBt9G,EAAKgP,EAAMw9F,GACpC,OAAOtkG,KAAKk2F,QAAQmc,GAAY/N,GAAU,CAAC,EAAG,CAC5Cjc,OAAAA,EACAogB,QAAS2M,EAAS,CAChB,eAAgB,uBACd,CAAC,EACLt9G,IAAAA,EACAgP,KAAAA,IAEJ,CACF,CAEAqtG,GAAM1kH,UAAU44F,GAAU8sB,IAE1BhB,GAAM1kH,UAAU44F,EAAS,QAAU8sB,GAAmB,EACxD,IAEA,UC/LME,GAAW,WACf,SAAAA,EAAYC,GACV,IADoBptD,EAAAA,GAAAA,GAAA,KAAAmtD,GACI,oBAAbC,EACT,MAAM,IAAIz1G,UAAU,gCAGtB,IAAI01G,EAEJv1G,KAAK+1F,QAAU,IAAIl1F,SAAQ,SAAyBD,GAClD20G,EAAiB30G,CACnB,IAEA,IAAM8S,EAAQ1T,KAGdA,KAAK+1F,QAAQ30F,MAAK,SAAAswG,GAChB,GAAKh+F,EAAM8hG,WAAX,CAIA,IAFA,IAAIznH,EAAI2lB,EAAM8hG,WAAWtnH,OAElBH,KAAM,GACX2lB,EAAM8hG,WAAWznH,GAAG2jH,GAEtBh+F,EAAM8hG,WAAa,IAPU,CAQ/B,IAGAx1G,KAAK+1F,QAAQ30F,KAAO,SAAAq0G,GAClB,IAAIC,EAEE3f,EAAU,IAAIl1F,SAAQ,SAAAD,GAC1B8S,EAAMmhE,UAAUj0E,GAChB80G,EAAW90G,CACb,IAAGQ,KAAKq0G,GAMR,OAJA1f,EAAQ2b,OAAS,WACfh+F,EAAMk8F,YAAY8F,EACpB,EAEO3f,CACT,EAEAuf,GAAS,SAAgBhrH,EAASg6G,EAAQpO,GACpCxiF,EAAMy+F,SAKVz+F,EAAMy+F,OAAS,IAAInF,GAAc1iH,EAASg6G,EAAQpO,GAClDqf,EAAe7hG,EAAMy+F,QACvB,GACF,CAuDC,OArDD1jB,EAAAA,GAAAA,GAAA4mB,EAAA,EAAA/kH,IAAA,mBAAAqQ,MAGA,WACE,GAAIX,KAAKmyG,OACP,MAAMnyG,KAAKmyG,MAEf,GAEA,CAAA7hH,IAAA,YAAAqQ,MAIA,SAAUhO,GACJqN,KAAKmyG,OACPx/G,EAASqN,KAAKmyG,QAIZnyG,KAAKw1G,WACPx1G,KAAKw1G,WAAW1iH,KAAKH,GAErBqN,KAAKw1G,WAAa,CAAC7iH,EAEvB,GAEA,CAAArC,IAAA,cAAAqQ,MAIA,SAAYhO,GACV,GAAKqN,KAAKw1G,WAAV,CAGA,IAAM1nH,EAAQkS,KAAKw1G,WAAW3kH,QAAQ8B,IACvB,IAAX7E,GACFkS,KAAKw1G,WAAWz7G,OAAOjM,EAAO,EAHhC,CAKF,IAEA,EAAAwC,IAAA,SAAAqQ,MAIA,WACE,IAAI+wG,EACEh+F,EAAQ,IAAI2hG,GAAY,SAAkBz4G,GAC9C80G,EAAS90G,CACX,IACA,MAAO,CACL8W,MAAAA,EACAg+F,OAAAA,EAEJ,KAAC2D,CAAA,CA1Gc,GA6GjB,MCxHA,IAAMM,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjClqH,OAAOkK,QAAQi8G,IAAgBviH,SAAQ,SAAAyB,GAAkB,IAAA6kG,GAAArG,EAAAA,EAAAA,GAAAx+F,EAAA,GAAhBvE,EAAGopG,EAAA,GAAE/4F,EAAK+4F,EAAA,GACjDic,GAAeh1G,GAASrQ,CAC1B,IAEA,UCzBA,IAAMqpH,GAnBN,SAASC,EAAeC,GACtB,IAAMt3G,EAAU,IAAI4xG,GAAM0F,GACpB5xD,EAAW2S,GAAKu5C,GAAM1kH,UAAUymG,QAAS3zF,GAa/C,OAVAiiG,GAAMrkB,OAAOl4B,EAAUksD,GAAM1kH,UAAW8S,EAAS,CAACi+F,YAAY,IAG9DgE,GAAMrkB,OAAOl4B,EAAU1lD,EAAS,KAAM,CAACi+F,YAAY,IAGnDv4C,EAAS/nD,OAAS,SAAgBk0G,GAChC,OAAOwF,EAAevH,GAAYwH,EAAezF,GACnD,EAEOnsD,CACT,CAGc2xD,CAAexR,IAG7BuR,GAAMxF,MAAQA,GAGdwF,GAAM3M,cAAgBA,GACtB2M,GAAMtE,YAAcA,GACpBsE,GAAM7M,SAAWA,GACjB6M,GAAMpG,QAAUA,GAChBoG,GAAMpT,WAAaA,GAGnBoT,GAAMtV,WAAaA,GAGnBsV,GAAMG,OAASH,GAAM3M,cAGrB2M,GAAMxuH,IAAM,SAAa4pG,GACvB,OAAOl0F,QAAQ1V,IAAI4pG,EACrB,EAEA4kB,GAAM/pF,OC7CS,SAAgBr9B,GAC7B,OAAO,SAAc8wD,GACnB,OAAO9wD,EAASK,MAAM,KAAMywD,EAC9B,CACF,ED4CAs2D,GAAMI,aE5DS,SAAsBlsC,GACnC,OAAO22B,GAAMxE,SAASnyB,KAAsC,IAAzBA,EAAQksC,YAC7C,EF6DAJ,GAAMtH,YAAcA,GAEpBsH,GAAMlP,aAAeA,GAErBkP,GAAMK,WAAa,SAAAxa,GAAK,OAAIsJ,GAAetE,GAAM1D,WAAWtB,GAAS,IAAIqC,SAASrC,GAASA,EAAM,EAEjGma,GAAMhE,eAAiBA,GAEvBgE,GAAM1tB,QAAU0tB,GAGhB,UG1EA,GARYA,GAAMz5G,OAAO,CACrButG,QAHmBvZ,6CAInBuU,QAAS,CACL,MAASvU,uCACT,cAAiBA,QAOZ+lB,GAAU,iBAGVC,GAAc,qBAGdC,GAAiB,kBAGjBC,GAAgB,kBAGhBC,GAAe,iBAGfC,GAAoB,qBAGpBC,GAAc,gBAGdC,GAAiB,6BAGjBC,GAAe,6BAGfC,GAAgB,8BAGhBC,GAAa,4BAGbC,GAAkB,mBAGlBC,GAAiB,eAGjBC,GAAoB,sBAGpBC,GAAyB,0CAGzBC,GAA0B,yBAG1BC,GAAoB,0BAGpBC,GAAkB,8BAGlBC,GAAsB,yBAGtBC,GAAqB,0BAGrBC,GAAqB,yBAMrBC,GAAe,kBAGfC,GAAqB,gBAGrBC,GAAe,4BAGfC,GAAa,0BAGbC,GAAW,2BAGXC,GAAiB,kBAGjBC,GAAqB,sBAGrBC,GAAc,sBAGdC,GAAY,oBAGZC,GAAgB,yBAGhBC,GAAgB,oBAGhBC,GAAuB,2BAGvBC,GAAuB,kCAGvBC,GAAgB,qBAGhBC,GAAoB,wBAGpBC,GAAyB,yBAGzBC,GAAwB,0BAGxBC,GAAyB,yBAGzBC,GAAuB,qBAGvBC,GAAU,mBAGVC,GAAc,iBAGdC,GAAoB,sBAGpBC,GAAkB,gCAGlBC,GAAuB,yBAGvBC,GAAsB,+CCvJnC,IAAgB,oBAAoB,mCAAmC,oBAAoB,mCAAmC,sBAAsB,sCCErI,SAASC,GAAQlpH,GAC5B,OACIoqG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAqBs2B,SAAA,CAChB,UAAvBv0D,EAAMmpH,eAA4BrgB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UAC3E61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+BAA+BmnE,IAAI,oBAC5CD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAKv0D,EAAMvJ,cAEfqyG,EAAAA,GAAAA,KAAA,KAAGn0C,QAAS30D,EAAMopH,aAAa70D,SAAC,eAGhB,YAAvBv0D,EAAMmpH,eAA8BrgB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,uBAAuBs2B,UAC/E61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+BAA+BmnE,IAAI,oBAC5CD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAKv0D,EAAMvJ,cAEfqyG,EAAAA,GAAAA,KAAA,KAAGn0C,QAAS30D,EAAMopH,aAAa70D,SAAC,iBAKpD,CCpBe,SAAS80D,KACpB,IAAAjmB,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApC3sG,EAAO4sG,EAAA,GAAEimB,EAAUjmB,EAAA,GAC3B+F,GAA0CtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA9C+f,EAAY9f,EAAA,GAAEkgB,EAAelgB,EAAA,GAE3BmgB,EAAQ1lB,EAAe,CACzBM,UAAU,WAAD,IAAAqlB,GAAA9uB,EAAAA,GAAAA,IAAAE,EAAAA,GAAAA,KAAAhkG,MAAE,SAAA6yH,EAAMhyE,GAAQ,IAAA8V,EAAA,OAAAqtC,EAAAA,GAAAA,KAAAW,MAAA,SAAA32E,GAAA,cAAAA,EAAAlN,KAAAkN,EAAAzX,MAAA,cAAAyX,EAAAlN,KAAA,EAAAkN,EAAAzX,KAAA,EAEC04G,GAAMryG,IAAI,gDAAiD,CACzEmhG,QAAS,CACL,cAAgB,UAAD35G,OAAYy8C,EAASiyE,iBAE1C,OAJIn8D,EAAG3oC,EAAAlX,KAKTi8G,EAAYp8D,EAAIv6C,MAAM4R,EAAAzX,KAAA,gBAAAyX,EAAAlN,KAAA,EAAAkN,EAAAglG,GAAAhlG,EAAA,SAEtBxsB,QAAQkuE,IAAG1hD,EAAAglG,IAAQ,yBAAAhlG,EAAAyL,OAAA,GAAAo5F,EAAA,kBAE1B,gBAAAjqB,GAAA,OAAAgqB,EAAA1qH,MAAA,KAAAC,UAAA,EAXS,KAcR4qH,EAAc,SAAC98G,GACjBg9G,GAAIC,KAAKtD,GAAmB,CACxB73C,MAAO9hE,EAAM8hE,MACbtqD,OAAQ,UAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR26B,EAAWz5C,EAAIv6C,KAAK4M,OACpBtnB,OAAOmF,SAASnE,QAAQ,2BACA,MAAlBi0D,EAAIv6C,KAAKq5D,MACfi9C,EAAgB,SAChBD,EAAW,4DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHU,EAAiBl9G,EAEzB,IAAGg3B,OAAM,SAAA5qC,GACLb,QAAQa,MAAMA,GACdowH,EAAW,0CACXC,EAAgB,SAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMU,EAAmB,SAACpgH,GACtBkgH,GAAIC,KAAKzD,GAAgB,CACrB2D,UAAWrgH,EAAEsgH,WACbC,SAAUvgH,EAAEwgH,YACZx7C,MAAOhlE,EAAEglE,MACTy7C,YAAa,GACb/lG,OAAQ,UAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRh1B,YAAW,WACPsyE,EAAYhgH,EAChB,GAAG,MAEH2/G,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAIA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,KAIxClf,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAsB02B,QAAS60D,EAAMj1D,SAAA,EACxDu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,gBAAe,4BAIxE,CCxFe,SAASigB,GAAOtqH,GAC3B,IAAAojG,GAA4BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAhCmnB,EAAKlnB,EAAA,GAAEmnB,EAAQnnB,EAAA,GACvB+F,GAAgCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAvCqhB,EAAOphB,EAAA,GAAEqhB,EAAUrhB,EAAA,GAC3BG,GAA8C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAlDmhB,EAAclhB,EAAA,GAAEmhB,EAAiBnhB,EAAA,GACzCG,GAA4B9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAnCihB,EAAKhhB,EAAA,GAAEihB,EAAQjhB,EAAA,GACvBG,GAAwBlpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAA5B+gB,EAAG9gB,EAAA,GAAE+gB,EAAM/gB,EAAA,GACnBghB,GAAgCnqC,EAAAA,EAAAA,WAAS,GAAMoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAvCh6E,EAAOi6E,EAAA,GAAEC,EAAUD,EAAA,GAC3BE,GAAgCtqC,EAAAA,EAAAA,UAAS,IAAGuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAApC30H,EAAO40H,EAAA,GAAE/B,EAAU+B,EAAA,GAC3BC,GAA0CxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA9CnC,EAAYoC,EAAA,GAAEhC,EAAegC,EAAA,GAuD/BC,EAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOlB,IAEVh9G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXE,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3Be,IACAnC,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAkCMoC,EAAa,WACfZ,EAAS,IACTa,EAAc,GAClB,EACMA,EAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAIA,OAAQs9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAKpCmB,GACCrgB,EAAAA,GAAAA,MAAA,QAAMQ,SArDG,SAAC5yG,GACfA,EAAEG,iBACF2xH,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOlB,EACPQ,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,UAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR26B,EAAWz5C,EAAIv6C,KAAK4M,OACpBtnB,OAAOmF,SAASnE,QAAQ,4BAExB4xH,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAuBmC/0D,SAAA,EACvB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,uBACvBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjwD,UAAQ,KAC1EwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SAEjCs2D,EAAQ,GACPzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,EAAQj3D,SAAC,gBAInFtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAoB4uB,UAAQ,EAAA/F,SAAC,eAC/Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAmB6oB,SAAC,eAG9C61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SAhKQ,SAAC5yG,GACvBA,EAAEG,iBACFgzH,GAAW,GACXrB,GAAIr2G,IAAI8yG,GAAgBgE,EAAQ,UAC/Bh9G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACe,UAApB9e,EAAIv6C,KAAKqR,OACLkpC,EAAIv6C,KAAKpU,SACR2sH,KAEAL,GAAW,GACX5B,EAAgB,SAChBD,EAAW,4DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAGP6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW,oBACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEiB,MAAlB97D,EAAIv6C,KAAKq5D,MACftsE,EAAM6rH,oBAAmB,GACzBV,GAAW,GACX5B,EAAgB,SAChBD,EAAW,sDACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEH6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EA6G8C/0D,SAAA,EAC9B61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,uBACvBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjgB,SAAU,SAAAtyG,GAAC,OAAIwyH,EAASxyH,EAAEo9C,OAAOtoC,MAAM,IAErGmkC,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAoB4uB,UAAQ,EAAA/F,SAAC,aAC/Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAmB6oB,SAAC,iBAG/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAEbu0C,EAAAA,GAAAA,KAACugB,GAAe,KAChBjf,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,eAAes2B,SAAA,CAAC,2BAAuBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAM30D,EAAM6rH,oBAAmB,EAAK,EAACt3D,SAAC,oBAIjI,CC7Le,SAASu3D,GAAO9rH,GAC3B,IAAAojG,GAAoCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxC6mB,EAAS5mB,EAAA,GAAE0oB,EAAY1oB,EAAA,GAC/B+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtC+gB,EAAQ9gB,EAAA,GAAE2iB,EAAW3iB,EAAA,GAC7BG,GAA4B1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAhC56B,EAAK66B,EAAA,GAAEwiB,EAAQxiB,EAAA,GACvBG,GAAwC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA5CygB,EAAWxgB,EAAA,GAAEqiB,EAAcriB,EAAA,GACnCG,GAAgClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAvCygB,EAAOxgB,EAAA,GAAEygB,EAAUzgB,EAAA,GAC3BghB,GAA8CnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAlDN,EAAcO,EAAA,GAAEN,EAAiBM,EAAA,GACzCE,GAA4BtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAnCP,EAAKQ,EAAA,GAAEP,EAAQO,EAAA,GACvBC,GAAwBxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA5BP,EAAGQ,EAAA,GAAEP,EAAMO,EAAA,GACnBY,GAAgCrrC,EAAAA,EAAAA,WAAS,GAAMsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAAvCl7E,EAAOm7E,EAAA,GAAEjB,EAAUiB,EAAA,GAC3BC,GAAgCvrC,EAAAA,EAAAA,UAAS,IAAGwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAApC51H,EAAO61H,EAAA,GAAEhD,EAAUgD,EAAA,GAC3BC,GAA0CzrC,EAAAA,EAAAA,UAAS,IAAG0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAA9CpD,EAAYqD,EAAA,GAAEjD,EAAeiD,EAAA,GAsC/BC,EAAyB,WAC3B3C,GAAIr2G,IAAI+yG,GAAe53C,EAAQ,UAC9BrhE,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,EAAgB,SAChBD,EAAW,+BACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHkC,GAER,IACC1nF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMkC,EAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOpB,IAEV98G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXgB,IACAd,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3BpB,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAOMoD,EAAiB,WACnBvB,GAAW,GACXrB,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOpB,EACPU,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,UAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR09C,IACAT,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,MACqB,MAAlB97D,EAAIv6C,KAAKq5D,MACf26B,EAAWz5C,EAAIv6C,KAAK4M,OACpBtnB,OAAOmF,SAASnE,QAAQ,4BAExB4xH,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMU,EAAmB,WACrBF,GAAIC,KAAKzD,GAAgB,CACrB2D,UAAWA,EACXE,SAAUA,EACVv7C,MAAOA,EACPy7C,YAAaA,EACb/lG,OAAQ,UAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRh1B,YAAW,WACPo1E,GACJ,GAAG,MAEHvB,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMoC,EAAa,WACfZ,EAAS,IACTa,EAAc,GAClB,EAEMA,EAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAIA,OAAQs9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAKnCmB,GAyBArgB,EAAAA,GAAAA,MAAA,QAAMQ,SA3HG,SAAC5yG,GACfA,EAAEG,iBACFu0H,GACJ,EAwHmCn4D,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAAa/vD,UAAQ,KAChFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SACpCs2D,EAAQ,GACRzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,EAAQj3D,SAAC,gBAI/EtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAoB4uB,UAAQ,EAAA/F,SAAC,eAC/Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAmB6oB,SAAC,eAtC9C61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SAnMQ,SAAC5yG,GACvBA,EAAEG,iBACFgzH,GAAW,GACRd,EACCP,GAAIr2G,IAAI8yG,GAAgB8D,EAAc,UACrC98G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,EAAgB,SAChBD,EAAW,qDACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHmD,GAER,IACC3oF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,KAEA6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW,6BACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,EAiK8C/0D,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eACVu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAoB17B,MAAOm9G,EAAW3f,SAAU,SAAAtyG,GAAC,OAAI+zH,EAAa/zH,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC1H+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,kBAAkB17B,MAAOq9G,EAAU7f,SAAU,SAAAtyG,GAAC,OAAIg0H,EAAYh0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACtH+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,WACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,cAAc17B,MAAO8hE,EAAO07B,SAAU,SAAAtyG,GAAC,OAAIi0H,EAASj0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC5G+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAAa/f,SAAU,SAAAtyG,GAAC,OAAIk0H,EAAel0H,EAAEo9C,OAAOtoC,MAAM,EAACiM,UAAQ,IAE1Hk4B,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAoB4uB,UAAQ,EAAA/F,SAAC,aAC/Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAmB6oB,SAAC,iBAG/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAEbu0C,EAAAA,GAAAA,KAACugB,GAAe,KAChBjf,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,eAAes2B,SAAA,CAAC,sBAAkBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAM30D,EAAM6rH,oBAAmB,EAAM,EAACt3D,SAAC,oBAqB7H,CC5Pe,SAASo4D,KACpB,IAAAvpB,GAAoDtiB,EAAAA,EAAAA,WAAS,GAAMuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA3DwpB,EAAiBvpB,EAAA,GAAEwpB,EAAoBxpB,EAAA,GAEzCwoB,EAAqB,SAACjiH,GACxBijH,EAAqBjjH,EACzB,EAEA,OAAQk/F,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,YAEtCD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,gBACxCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sBAAsBmnE,IAAI,WACnCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,UAClCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,iBACzCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wBAAwBmnE,IAAI,mBAG7CvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,aAAas2B,SAC/Bq4D,GAAoB9jB,EAAAA,GAAAA,KAACgjB,GAAM,CAACD,mBAAoBA,KAAyB/iB,EAAAA,GAAAA,KAACwhB,GAAM,CAACuB,mBAAoBA,OAE1G/iB,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAkB,UAAEs2B,SAAC,oEAEvC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,wBACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gFACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+BAA+BmnE,IAAI,0BAI5D,CCtCA,QAAgB,QAAU,yBAAyB,eAAe,8BAA8B,eAAe,8BAA8B,mBAAmB,kCAAkC,aAAa,4BAA4B,qBAAqB,qCCGjP,SAASyiB,KACpB,IAAA1pB,GAAoCtiB,EAAAA,EAAAA,WAAS,GAAMuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA3C2pB,EAAS1pB,EAAA,GAAE2pB,EAAY3pB,EAAA,GAC/B+F,GAAwCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA/C6jB,EAAW5jB,EAAA,GAAE6jB,EAAc7jB,EAAA,GAEnC,OAAQe,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH04D,IAAe7iB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMu4D,GAAe,EAAM,KACtEpkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sCACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,sBAAsBipB,QAAS,kBAAMu4D,GAAe,EAAM,EAAC34D,SAAC,YAC9Eu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,gBAAeg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAmB6oB,SAAC,yBAK/E61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,aAAaipB,QAAS,kBAAMq4D,GAAcD,EAAU,KACjEjkB,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,cAGzC0iB,IAAajkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,UACvD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,qBAAoB6oB,SAAA,EAC/Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,UACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,yBAAwBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,0CAAAjoC,OAA2E,2BAA/BlE,SAAS2G,SAAS7D,SAAwC,SAAW,GAAE,QAAQwwG,IAAI,mBAAmB,yBACnMvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,iBAAgBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,mCAAAjoC,OAAoE,mBAA/BlE,SAAS2G,SAAS7D,SAAgC,SAAW,GAAE,QAAQwwG,IAAI,YAAY,iBACrKvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,wBAA/BlE,SAAS2G,SAAS7D,SAAqC,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,sBACzLvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,wBAA/BlE,SAAS2G,SAAS7D,SAAqC,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,yBAE7LvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,oBAAmBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,sCAAAjoC,OAAuE,sBAA/BlE,SAAS2G,SAAS7D,SAAmC,SAAW,GAAE,QAAQwwG,IAAI,eAAe,oBACjLvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,oBAAmBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,qCAAAjoC,OAAsE,sBAA/BlE,SAAS2G,SAAS7D,SAAmC,SAAW,GAAE,SAASwwG,IAAI,eAAe,oBACjLD,EAAAA,GAAAA,MAAA,MAAIz1C,QAAS,kBAAMu4D,GAAe,EAAK,EAAC34D,SAAA,EAAEu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,WAAW,0BAMxHD,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,UAClCD,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,qBAAoB6oB,SAAA,EAI/Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,UACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,yBAAwBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,0CAAAjoC,OAA2E,2BAA/BlE,SAAS2G,SAAS7D,SAAwC,SAAW,GAAE,QAAQwwG,IAAI,mBAAmB,yBACnMvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,iBAAgBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,mCAAAjoC,OAAoE,mBAA/BlE,SAAS2G,SAAS7D,SAAgC,SAAW,GAAE,QAAQwwG,IAAI,YAAY,iBACrKvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,wBAA/BlE,SAAS2G,SAAS7D,SAAqC,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,sBACzLvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,wBAA/BlE,SAAS2G,SAAS7D,SAAqC,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,yBAE7LvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,oBAAmBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,sCAAAjoC,OAAuE,sBAA/BlE,SAAS2G,SAAS7D,SAAmC,SAAW,GAAE,QAAQwwG,IAAI,eAAe,oBACjLvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,oBAAmBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,qCAAAjoC,OAAsE,sBAA/BlE,SAAS2G,SAAS7D,SAAmC,SAAW,GAAE,SAASwwG,IAAI,eAAe,oBACjLD,EAAAA,GAAAA,MAAA,MAAIz1C,QAAS,kBAAMu4D,GAAe,EAAK,EAAC34D,SAAA,EAAEu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,WAAW,yBAM5H,CCtEA,QAAgB,OAAS,uBAAuB,cAAc,4BAA4B,iBAAiB,+BAA+B,gBAAgB,8BAA8B,eAAe,6BAA6B,eAAe,6BAA6B,gBAAkB,gCAAgC,cAAgB,+BCKnU,SAAS8iB,KACpB,IAAMC,EAASxmB,IACfxD,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApCiqB,EAAOhqB,EAAA,GAAEiqB,EAAUjqB,EAAA,GAC3B+F,GAAgCtoB,EAAAA,EAAAA,UAAS,GAAEuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAnCmkB,EAAOlkB,EAAA,GAAEmkB,EAAUnkB,EAAA,GAC3BG,GAAsC1oB,EAAAA,EAAAA,WAAS,GAAM2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA7CikB,EAAYhkB,EAAA,GAACikB,EAAejkB,EAAA,GACpCG,GAAwC9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA/CqjB,EAAWpjB,EAAA,GAAEqjB,EAAcrjB,EAAA,IAcnC5oB,EAAAA,EAAAA,YAAU,WACHmsC,GACCO,GAGR,GAAG,IAEH,IAAMA,EAAwB,WAC1B7D,GAAIr2G,IAAIg0G,GAAgB2F,EAAS,UAChC7/G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRghD,EAAW9/D,EAAIv6C,KAAK26G,MACpBC,MAEA1mB,IACA5uG,OAAOmF,SAASnE,QAAQ,iBAEhC,IACCuqC,OAAM,SAAA7qC,GACHZ,QAAQkuE,IAAIttE,EAChB,GACJ,EAEM40H,EAAiB,WACnB/D,GAAIr2G,IAAIizG,GAAc0G,GACrB7/G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRkhD,EAAWhgE,EAAIv6C,KAAK3X,OAAOsmB,QAE3B4rG,EAAW,EAEnB,IACC1pF,OAAM,SAAA7qC,GACHZ,QAAQkuE,IAAIttE,EAChB,GACJ,EAEA,OAAQmxG,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACF04D,IAAe7iB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC7Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMu4D,GAAe,EAAM,KACtEpkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sCACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAWzN,GAAwB,gBAAG02B,QAAS,kBAAMu4D,GAAe,EAAM,EAAC34D,SAAC,YACpF61C,EAAAA,GAAAA,MAAA,UAAQ1+D,UAAWzN,GAAsB,cAAEs2B,SAAA,CAAE,MAAEu0C,EAAAA,GAAAA,KAACpX,EAAO,CAACn3F,GAAG,gBAAeg6D,SAAC,WAAgB,mBAM3G61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAe,OAAEs2B,SAAA,EAC7B61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,aAASu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAO84D,IAAWvkB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,SAAG84D,EAAQpD,UAAY,IAAMoD,EAAQlD,iBACnE/f,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,UAClC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAKg5D,EAAQO,eAAe,iBAIpC1jB,EAAAA,GAAAA,MAAA,OAAM2jB,aAAc,WAzE5Bz2E,YAAW,WACPo2E,GAAgB,EACpB,GAAG,IAuEyC,EAAEM,aAAc,WAnE5D12E,YAAW,WACPo2E,GAAgB,EACpB,GAAG,IAiE0E,EAACn5D,SAAA,EACtEu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,cACtCojB,IAAgBrjB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,kBACN61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CACK84D,EAAQpD,UAAY,IAAMoD,EAAQlD,UACnCrhB,EAAAA,GAAAA,KAAA,QAAAv0C,SAAO84D,EAAQz+C,YAGnBk6B,EAAAA,GAAAA,KAAA,KAAAv0C,UACAu0C,EAAAA,GAAAA,KAAA,QAAAv0C,UAAM61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,oBAAmBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,sBAAwB,sBAE3Eo9D,EAAAA,GAAAA,KAAA,OAAMn0C,QAAS,kBAAMu4D,GAAe,EAAK,EAAC34D,UAC1Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA0B6oB,SAAC,4BAQ7E,CC3GA,QAAgB,kBAAkB,yCAAyC,uBAAuB,8CAA8C,0BAA0B,iDAAiD,kBAAkB,yCAAyC,cAAc,qCAAqC,iBAAiB,wCAAwC,qBAAqB,4CAA4C,yBAAyB,gDAAgD,aAAa,oCAAoC,qBAAqB,4CAA4C,qBAAqB,6CCQpoB,SAAS05D,KACpB,IAAMb,EAASxmB,IACfxD,GAAsCtiB,EAAAA,EAAAA,UAAS,SAAQuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA/C8qB,EAAU7qB,EAAA,GAAE8qB,EAAa9qB,EAAA,GACjC+F,GAA4CtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAhDglB,EAAa/kB,EAAA,GAAEglB,EAAgBhlB,EAAA,GACvCG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9C8kB,EAAY7kB,EAAA,GAAE8kB,EAAe9kB,EAAA,GACrCG,GAAsD9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA7D4kB,EAAkB3kB,EAAA,GAAE4kB,EAAqB5kB,EAAA,GACjDG,GAAwClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAA/C0kB,EAAWzkB,EAAA,GAAE0kB,EAAc1kB,EAAA,GACnCghB,GAAoCnqC,EAAAA,EAAAA,WAAS,GAAMoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAA3C2D,EAAS1D,EAAA,GAAE2D,EAAY3D,EAAA,GAC/BE,GAA4CtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAnD0D,EAAazD,EAAA,GAAE0D,EAAgB1D,EAAA,GACvCC,GAAgCxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAApC70H,EAAO80H,EAAA,GAAEjC,EAAUiC,EAAA,GAC3BY,GAA0CrrC,EAAAA,EAAAA,UAAS,IAAGsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAA9ChD,EAAYiD,EAAA,GAAE7C,EAAe6C,EAAA,IAErCnrC,EAAAA,EAAAA,YAAU,WACH+mB,eAAehB,QAAQ,aACtBqnB,EAAiBrmB,eAAehB,QAAQ,YAGhD,GAAG,IAEH,IAAMgoB,EAAa,SAACplH,GAChBukH,EAAcvkH,EAClB,EAYMqlH,EAAqB,WACvBnF,GAAIC,KAAK/B,GAAa,CAClBoF,OAAQA,EACR8B,KAAM,YACNC,UAAW,YACXf,cAAeA,IAElB7gH,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRmiD,GAAsB,GACtBlF,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,IACX/wH,OAAOmF,SAASnE,QAAQ,iBAC5B,GAAG,OAEHgwH,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEM8F,EAAmB,WACrBtF,GAAIC,KAAK9B,GAAW,CAChBmF,OAAQA,EACR8B,KAAM,YACNC,UAAW,YACXf,cAAeA,IAElB7gH,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRmiD,GAAsB,GACtBlF,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,IACX/wH,OAAOmF,SAASnE,QAAQ,iBAC5B,GAAG,OAEHgwH,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEM+F,EAAuB,WACzBvF,GAAIC,KAAK7B,GAAe,CACpBkF,OAAQA,EACR8B,KAAM,YACNC,UAAW,YACXf,cAAeA,IAElB7gH,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRmiD,GAAsB,GACtBlF,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,IACX/wH,OAAOmF,SAASnE,QAAQ,iBAC5B,GAAG,OAEHgwH,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAIA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAIvCkF,IAAsBpkB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EACnDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM85D,GAAsB,EAAM,KAC7E3lB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,qBAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,mFACH61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,gBAAe6oB,SAAA,EAC1Bu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAU,kBAAM85D,GAAsB,EAAM,EAACl6D,SAAC,YACvFu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,iBAAgBg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAoB6oB,SAAC,6BAKhFm6D,IAAetkB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMg6D,GAAe,EAAM,KACtE7lB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,SAAS11C,QAAS,kBAAMg6D,GAAe,EAAM,QAErF7lB,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,cAAKu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBACf61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mDAEtBu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMg6D,GAAe,EAAM,EAACp6D,SAAC,kBAI1Fq6D,IAAaxkB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC1Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMk6D,GAAa,EAAM,KACpE/lB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,SAAS11C,QAAS,kBAAMk6D,GAAa,EAAM,QAEnF/lB,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,SAAKu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBACf61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,iBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,iCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,wCAEtBu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMk6D,GAAa,EAAM,EAACt6D,SAAC,kBAIxFu6D,IAAiB1kB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMo6D,GAAiB,EAAM,KACxEjmB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,0BAA0Bs2B,SAAA,EAC7Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,SAAS11C,QAAS,kBAAMo6D,GAAiB,EAAM,QAEvFjmB,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,eAAMu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAChB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAEtBu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMo6D,GAAiB,EAAM,EAACx6D,SAAC,mBAI7F61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,oBAAmB6oB,UAC9B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,eAAc6oB,SAAC,iBAC7Bu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,kBAAiB6oB,SAAC,gHAChCu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAOp9D,UAAWzN,GAAO,cAAcs2B,SAAC,oBAKxC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAMsnH,EAAe,OAAS,WAAYgB,aAAa,eAAe9mF,YAAY,uBAAuB17B,MAAOshH,EAAe9jB,SAAU,SAAAtyG,GAAC,OAAIq2H,EAAiBr2H,EAAEo9C,OAAOtoC,MAAM,OAEzLg8F,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAS,YAAAzwC,OAAcqzH,EAAe,GAAK,UAAY35D,QAAS,kBAAM45D,GAAiBD,EAAa,UAG/GxlB,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,iBACP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAsB,UAAfiwF,EAAyB,uBAAyB,2BAA4Bv5D,QAAS,kBAAMq6D,EAAW,QAAQ,EAACz6D,SAAA,EACpI61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,OAAO4hC,QAAwB,UAAfolF,GAA0B,YAAa,oBAEpF9jB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,uCAEtBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMg6D,GAAe,EAAK,EAACp6D,SAAC,eAC3C61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,mBAExB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAsB,QAAfiwF,EAAuB,uBAAyB,2BAA4Bv5D,QAAS,kBAAMq6D,EAAW,MAAM,EAACz6D,SAAA,EAChI61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,OAAO4hC,QAAwB,QAAfolF,GAAwB,YAAa,kBAElF9jB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oBAEtBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk6D,GAAa,EAAK,EAACt6D,SAAC,eACzC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,mBAExB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAsB,YAAfiwF,EAA2B,uBAAyB,2BAA4Bv5D,QAAS,kBAAMq6D,EAAW,UAAU,EAACz6D,SAAA,EACxI61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,OAAO4hC,QAAwB,YAAfolF,GAA4B,YAAa,sBAEtF9jB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,yBAEtBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMo6D,GAAiB,EAAK,EAACx6D,SAAC,eAC7C61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,mBAExBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,kBAAiB6oB,UAC5Bu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,WA7PtD,UAAfu5D,EACCe,IACqB,QAAff,EACNkB,IACqB,YAAflB,GACNmB,GAwP0F,EAAC96D,SAAC,qCAQxG,CCrSA,QAAgB,iBAAiB,gCAAgC,cAAc,6BAA6B,mBAAqB,oCAAoC,iBAAmB,kCAAkC,sBAAwB,uCAAuC,aAAa,4BAA4B,WAAa,6BCMhU,SAASg7D,GAAQvvH,GAC5B,IAAMotH,EAASxmB,IACfxD,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApCiqB,EAAOhqB,EAAA,GAAEiqB,EAAUjqB,EAAA,GAC3B+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtComB,EAAQnmB,EAAA,GAAEomB,EAAWpmB,EAAA,GAC7BG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9CkmB,EAAYjmB,EAAA,GAAEkmB,EAAelmB,EAAA,GACrCG,GAAsC9oB,EAAAA,EAAAA,UAAS,GAAE+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAzCgmB,EAAU/lB,EAAA,GAAEgmB,EAAahmB,EAAA,IAkBjC5oB,EAAAA,EAAAA,YAAU,WAfN6oC,GAAIr2G,IAAImzG,GAAa,cAAA3rH,OAAiB20H,EAAU,YAAA30H,OAAWmyH,IAC1D7/G,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRghD,EAAW9/D,EAAIv6C,KAAK68G,SACpBL,EAAYjiE,EAAIv6C,KAAKu8G,UACrBG,EAAgBniE,EAAIv6C,KAAKy8G,eAEzBpC,EAAW,GAEnB,IACCxpF,OAAM,SAAC5qC,GACJb,QAAQa,MAAMA,EAClB,GAMJ,GAAG,CAAC02H,IAOJ,OAAQ9mB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,CAEjC84D,EAAQhzH,OAAS,GAChByuG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACG61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,eAEN84D,EAAQvnH,KAAI,SAAC1J,EAAMlC,GAAC,OACjBkwG,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,KAAGr6D,EAAI,MAC5BkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAY,GAAAt5D,OAAG,IAAIsvD,KAAKnuD,EAAK2zH,YAAav0H,OAAO,EAAG,QAC7D4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAiB,IAAEn4D,EAAK4zH,cACjC5lB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBACc,uBAAlBn4D,EAAK6zH,UAAqC7zH,EAAK8zH,YAAYj9G,KAAKk9G,MAC9C,qBAAlB/zH,EAAK6zH,UAAmC7zH,EAAK8zH,YAAYE,eAAeC,UACtD,0BAAlBj0H,EAAK6zH,UAAwC7zH,EAAKgyH,kBAEvDhkB,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO7hC,EAAK6zH,UAAU17D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAkB,IAAEn4D,EAAK6zH,aACpEnnB,EAAAA,GAAAA,KAAA,KAAGn0C,QAAS,kBApChC,SAACjrD,GACjBs+F,eAAed,QAAQ,iBAAkBx4C,KAAKC,UAAUjlD,IACxD1J,EAAMF,QAAQb,KAAK,gBACvB,CAiC0DqxH,CAAYl0H,EAAK,EAACm4D,SAAC,kBAV/Br6D,EAWJ,UAIjB4uG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACGu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,cAAcs2B,SAAC,iBAG3CpzD,KAAK+R,KAAKw8G,EAAaF,GAAY,IAAKplB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EAChE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,CAEQq7D,GAAc,GACb9mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,8BAA8BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,IAE9F3zH,MAAMzB,KAAK,CAACH,OAAQ8G,KAAK+R,KAAKw8G,EAAaF,KAAY,SAAC/hH,EAAGvT,GAAC,OAAK4uG,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk7D,EAAc31H,EAAI,EAAE,EAAEwxC,UAAWkkF,IAAgB11H,EAAI,EAAK,SAAW,GAAGq6D,SAAUr6D,EAAI,GAARA,EAAiB,IAElL01H,GAAczuH,KAAK+R,KAAKw8G,EAAaF,IACpC1mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,gCAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAA+BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,QAGpGxlB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WACN61C,EAAAA,GAAAA,MAAA,UAAQ9vC,UAAQ,EAAA/F,SAAA,EACZu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,MAAKynD,SAAC,kCASxD,CC5GA,QAAgB,iBAAiB,+BAA+B,iBAAiB,+BAA+B,kBAAkB,gCAAgC,wBAAwB,sCAAsC,aAAa,4BCK9N,SAASg8D,KACpB,IAAAntB,GAA0CtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9CotB,EAAYntB,EAAA,GAAEotB,EAAeptB,EAAA,GACrC+F,GAA8CtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAlDsnB,EAAcrnB,EAAA,GAAEsnB,EAAiBtnB,EAAA,GACzCG,GAA8C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAlDonB,EAAcnnB,EAAA,GAAEonB,EAAiBpnB,EAAA,GACzCG,GAAgD9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAApDknB,EAAejnB,EAAA,GAAEknB,EAAkBlnB,EAAA,IAE3C5oB,EAAAA,EAAAA,YAAU,WACN,IAAM2vC,EAAiBliE,KAAK9pC,MAAMojF,eAAehB,QAAQ,mBACzDgqB,EAAaJ,EAAeZ,UAChC,GAAG,IAEH,IAAMgB,EAAe,SAAChB,GAClBlG,GAAIC,KAAKlD,GAAe,CACpBmJ,UAAWA,IAEdziH,MAAK,SAACigD,GAC6B,uBAA7BA,EAAIv6C,KAAK3X,OAAO20H,UACfQ,EAAgBjjE,EAAIv6C,KAAK3X,OAAO40H,YAAYj9G,MAC5C09G,EAAkB,IAClBI,EAAmB,KACgB,qBAA7BvjE,EAAIv6C,KAAK3X,OAAO20H,UACtBQ,EAAgBjjE,EAAIv6C,KAAK3X,OAAO40H,YAAYE,gBAC5CO,EAAkBnjE,EAAIv6C,KAAK3X,OAAO40H,YAAYQ,gBAC9CK,EAAmB,KACgB,0BAA7BvjE,EAAIv6C,KAAK3X,OAAO20H,WACtBQ,EAAgBjjE,EAAIv6C,KAAK3X,OAAO21H,aAAab,gBAC7CO,EAAkBnjE,EAAIv6C,KAAK3X,OAAO21H,aAAaP,gBAC/CK,EAAmBvjE,EAAIv6C,KAAK3X,OAAO21H,aAAaH,gBAAgBI,uBAEpEL,EAAkBrjE,EAAIv6C,KAAK3X,OAC/B,IACCwoC,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,EAClB,GACJ,EAEA,OAAQ6vG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,oBAAmB6oB,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,UACrCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mCAER61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,UAClCD,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBq8D,GAAkBA,EAAeZ,UAAUxqG,kBACpE4kF,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmBq8D,EAAeX,aAC3C7lB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaL,MAAMK,EAAaL,MAAMK,EAAaH,cAC7EjmB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAY,GAAAt5D,OAAG,IAAIsvD,KAAKqmE,EAAeb,YAAav0H,OAAO,EAAG,UAE9C,uBAA5Bo1H,EAAeX,WAAqC7lB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EACjGu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,MAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaW,UACxC/mB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,+BAAkCi8D,EAAaY,kCACxDhnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAa/wE,UACxC2qD,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaa,YACxCjnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAac,WACvClnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAae,yBAC5CnnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAAwBi8D,EAAagB,wBAC9CpnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaxpH,eAGjB,qBAA5B4pH,EAAeX,UAA+D,0BAA5BW,EAAeX,YAAyC7lB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACxG61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,MAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaiB,gBACxCrnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,+BAAkCi8D,EAAakB,uBACxDtnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAamB,eACxCvnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaoB,yBACxCxnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaqB,0BACvCznB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAasB,mBAC5C1nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAAwBi8D,EAAauB,kBAC9C3nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAawB,oBAG/C5nB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,MAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBi8D,EAAayB,SAAWzB,EAAayB,SAAW,QACzE7nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBi8D,EAAa0B,SAAW1B,EAAa0B,SAAW,QACzE9nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBi8D,EAAa2B,sBAC/C/nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,4BAA+Bi8D,EAAa4B,4BACrDhoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAa6B,mBAC5CjoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,oBAAuBi8D,EAAa8B,oBAC7CloB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBi8D,EAAa+B,sBAC/CnoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmBi8D,EAAagC,gBACzCpoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaiC,mBAG9C/B,EAAer2H,OAAS,IAAK+vG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC1Eu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,MAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACHm8D,EAAe5qH,KAAI,SAAC8D,EAAG1P,GAAC,OACrBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAc3qD,EAAEoY,WACzBooF,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsB3qD,EAAE8oH,mBACjCtoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,oBAAuB3qD,EAAE+oH,mBACjC/oH,EAAEgpH,gBAAiBxoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,kBAAqB3qD,EAAEgpH,kBACpDxoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoB3qD,EAAEipH,iBAC/BzoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAa3qD,EAAEhM,SACvBgM,EAAEkpH,MAAO1oB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,QAAW3qD,EAAEkpH,QAChC1oB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoB3qD,EAAEmpH,iBAC/B3oB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAc3qD,EAAEgY,WACzBwoF,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsB3qD,EAAEopH,mBACjC5oB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,kBAAqB3qD,EAAEqpH,cAAe,OAAS,aAXjB/4H,EAYrC,UAIW,0BAA5B02H,EAAeX,WAAwCnnB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,SACnDu8D,GAAmBA,EAAgBz2H,OAAS,IAAK+vG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC9Fu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,MAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACHu8D,EAAgBhrH,KAAI,SAAC8D,EAAG1P,GAAC,OACtBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAcr6D,EAAI,MAC3BkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoB,GAAAt5D,OAAG,IAAIsvD,KAAK3gD,EAAEspH,cAAe13H,OAAO,EAAG,QACpE4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmB3qD,EAAEupH,sBAC9B/oB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAY3qD,EAAEwpH,eACvBhpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmB3qD,EAAEypH,mBAC9BjpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsB3qD,EAAE0pH,sBACjClpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmB3qD,EAAE2pH,mBAC9BnpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoB3qD,EAAE4pH,oBAC/BppB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAc3qD,EAAE6pH,cACzBrpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAA2B3qD,EAAE8pH,2BACtCtpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,0BAA6B3qD,EAAE+pH,uCACxCvpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAa3qD,EAAEgqH,gBACxBxpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiB3qD,EAAEiqH,oBAC5BzpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoB3qD,EAAEkqH,oBAC/B1pB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAU3qD,EAAEmqH,UACrB3pB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsB3qD,EAAEoqH,iBACjC5pB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyB3qD,EAAEqqH,kBAAoBrqH,EAAEqqH,kBAAkBlpD,GAAK,QACjFq/B,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAA2B3qD,EAAEqqH,kBAAoBrqH,EAAEqqH,kBAAkBC,KAAO,QACrF9pB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyB3qD,EAAEuqH,kBAAkBppD,OACtDq/B,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAA2B3qD,EAAEuqH,kBAAkBD,SACxDprB,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,UAAMu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sBACZu0C,EAAAA,GAAAA,KAAA,SAAOA,EAAAA,GAAAA,KAAA,SACPsB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,OAAU3qD,EAAEwqH,gBAAgBrpD,OACrCq/B,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsB3qD,EAAEwqH,gBAAgBC,sBACjDjqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAY3qD,EAAEwqH,gBAAgBE,YACvClqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgB3qD,EAAEwqH,gBAAgBG,gBAC3CnqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,oBAAuB3qD,EAAEwqH,gBAAgBI,uBAClDpqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAAe3qD,EAAEwqH,gBAAgBK,eAC1CrqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAa3qD,EAAEwqH,gBAAgBM,aACxCtqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiB3qD,EAAEwqH,gBAAgBO,iBAC5CvqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAAe3qD,EAAEwqH,gBAAgBQ,eAC1CxqB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgB3qD,EAAEwqH,gBAAgBS,iBAjCJ36H,EAkCrC,UAIlB4uG,EAAAA,GAAAA,KAAA,wBAO5B,CC9KA,QAAgB,eAAe,mCAAmC,iBAAiB,sCCIpE,SAASgsB,KACpB,OAAQhsB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,oBAAmB6oB,UAC9B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,eAAc6oB,SAAC,WAC7Bu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,kBAAiB6oB,SAAC,2GAChC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,gBACrBu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sDAG1B61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,gBACrBu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,iBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,iCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,2CAG1B61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,gBACrBu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,yCAU1D,CC9DA,QAAgB,mBAAmB,sCAAsC,yBAAyB,6CCMnF,SAASw0C,KACpB,IAAMqkB,EAASxmB,IACfxD,GAAgDtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApD2xB,EAAe1xB,EAAA,GAAE2xB,EAAkB3xB,EAAA,GAC3C+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtComB,EAAQnmB,EAAA,GAAEomB,EAAWpmB,EAAA,GAC7BG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9CkmB,EAAYjmB,EAAA,GAAEkmB,EAAelmB,EAAA,GACrCG,GAAsC9oB,EAAAA,EAAAA,UAAS,GAAE+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAzCgmB,EAAU/lB,EAAA,GAAEgmB,EAAahmB,EAAA,GAuBjC,OALA5oB,EAAAA,EAAAA,YAAU,WAfN6oC,GAAIr2G,IAAIwzG,GAAiB,cAAAhsH,OAAiB20H,EAAU,YAAA30H,OAAWmyH,IAC9D7/G,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR0oD,EAAmBxnE,EAAIv6C,KAAK68G,SAC5BL,EAAYjiE,EAAIv6C,KAAKu8G,UACrBG,EAAgBniE,EAAIv6C,KAAKy8G,eAEzBsF,EAAmB,GAE3B,IACClxF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,EAClB,GAMJ,GAAG,KAEK6vG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EACpCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACJ1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EACvB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,cACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,eAENwgE,EAAgBjvH,KAAI,SAAC1J,EAAMlC,GAAC,OACzBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,KAAGr6D,EAAI,MAC5BkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,IAAE,GAAAt5D,OAAG,IAAIsvD,KAAKnuD,EAAK2zH,YAAav0H,OAAO,EAAG,QAC9D4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,IAAEn4D,EAAKwlB,WAC7BwoF,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAe,IAAEn4D,EAAK6zH,aAC/B7lB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAiB,IAAEn4D,EAAK64H,eACjC7qB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAAc,IAAEn4D,EAAK84H,qBANeh7H,EAO3C,IAETiH,KAAK+R,KAAKw8G,EAAaF,GAAY,IAAKplB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EAChE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,CAEQq7D,GAAc,GACb9mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,8BAA8BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,IAE9F3zH,MAAMzB,KAAK,CAAEH,OAAQ8G,KAAK+R,KAAKw8G,EAAaF,KAAa,SAAC/hH,EAAGvT,GAAC,OAAK4uG,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk7D,EAAc31H,EAAI,EAAE,EAAEwxC,UAAWkkF,IAAgB11H,EAAI,EAAK,SAAW,GAAGq6D,SAAUr6D,EAAI,GAARA,EAAiB,IAEpL01H,GAAczuH,KAAK+R,KAAKw8G,EAAaF,IACpC1mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,gCAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAA+BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,QAGpGxlB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WACN61C,EAAAA,GAAAA,MAAA,UAAQ9vC,UAAQ,EAAA/F,SAAA,EACZu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,MAAKynD,SAAC,kCASxD,CCzFA,QAAgB,YAAY,uBAAuB,iBAAiB,4BAA4B,eAAe,0BAA0B,eAAe,0BAA0B,uBAAuB,kCAAkC,0BAA0B,qCAAqC,oBAAoB,+BAA+B,mBAAmB,+BCKjW,SAAS4gE,GAAcn1H,GAClC,IAAMotH,EAASxmB,IACfxD,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GACrB+F,GAAoCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAxCisB,EAAShsB,EAAA,GAAEisB,EAAYjsB,EAAA,GAC/BG,GAA4C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAhD+rB,EAAa9rB,EAAA,GAAE+rB,EAAgB/rB,EAAA,GACvCG,GAAwB9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA5BmhB,EAAGlhB,EAAA,GAAEmhB,EAAMnhB,EAAA,GACnBG,GAAkClpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAtCyrB,EAAQxrB,EAAA,GAAEyrB,EAAWzrB,EAAA,GAC7BghB,GAAgCnqC,EAAAA,EAAAA,WAAS,GAAMoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAvCh6E,EAAOi6E,EAAA,GAAEC,EAAUD,EAAA,GAC3BE,GAAgCtqC,EAAAA,EAAAA,UAAS,IAAGuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAApC30H,EAAO40H,EAAA,GAAE/B,EAAU+B,EAAA,GAC3BC,GAA0CxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA9CnC,EAAYoC,EAAA,GAAEhC,EAAegC,EAAA,IAwGrCtqC,EAAAA,EAAAA,YAAU,WACqB,mBAAxBjhF,EAAM21H,eACLP,EAAQ,iBAGhB,GAAG,CAACp1H,IAIJ,OAAQoqG,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAI9B,KAATn8G,IAAei9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChDu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,wCAAwC17B,MAAOuoH,EAAW/qB,SAAU,SAAAtyG,GAAC,OAAIs9H,EAAat9H,EAAEo9C,OAAOtoC,MAAM,KACpIg8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChD61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBA3HhEw2D,GAAW,QACXrB,GAAIC,KAAK5B,GAAe,CAChBiF,OAAQA,EACR8B,KAAM,YACNmG,UAAWA,IAElB9nH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACR8oD,EAAQ,kBACR7L,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA7qC,GACLkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GA6F4F,EAAC/0D,SAAC,YAC9Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAM30D,EAAM41H,YAAY,EAACrhE,SAAC,iBAKlF,mBAATpnD,IAA6Bi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC9Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gDAAgD17B,MAAOyoH,EAAejrB,SAAU,SAAAtyG,GAAC,OAAIw9H,EAAiBx9H,EAAEo9C,OAAOtoC,MAAM,KACpJg8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAzG7Dw2D,GAAW,QACXrB,GAAIC,KAAK3B,GAAsB,CAC3BmN,cAAeA,IAElBhoH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRopD,EAAYloE,EAAIv6C,KAAK3X,OAAO2X,KAAKiyF,WACjCkwB,EAAQ,eACR9L,EAAW97D,EAAIv6C,KAAK3X,OAAO7E,SAC3B8yH,EAAgB,WAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA7qC,GACLkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GA4EsF,EAAC/0D,SAAC,gBAI9E,gBAATpnD,IAA0Bi9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,KAAC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC9Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gDAAgD17B,MAAOyoH,EAAej7D,UAAQ,KAC7GwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChD61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAzFhEw2D,GAAW,QACXrB,GAAIC,KAAK1B,GAAqB,CAC1B+E,OAAQA,EACR8B,KAAM,YACNnE,IAAKA,EACL7lB,UAAWuwB,IAEdloH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRtsE,EAAM61H,cACNtM,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA7qC,GACLkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GA0DwF,EAAC/0D,SAAC,YAC1Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,iBAAiB,EAAC7gE,SAAC,sBAO3G,CChLe,SAASuhE,GAAW91H,GAC/B,IAAMotH,EAASxmB,IACfxD,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GACrB+F,GAAoCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAxCisB,EAAShsB,EAAA,GAAEisB,EAAYjsB,EAAA,GAC/BG,GAAoC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAxCusB,EAAStsB,EAAA,GAAEusB,EAAYvsB,EAAA,GAC/BG,GAA0C9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA9CqsB,EAAYpsB,EAAA,GAAEqsB,EAAersB,EAAA,GACrCG,GAA0ClpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAA9CmsB,EAAYlsB,EAAA,GAAEmsB,EAAensB,EAAA,GACrCghB,GAAoDnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAxDoL,EAAiBnL,EAAA,GAAEoL,EAAoBpL,EAAA,GAC/CE,GAAgCtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAvCX,EAAOY,EAAA,GAAEX,EAAUW,EAAA,GAC3BC,GAAwBxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA5BP,EAAGQ,EAAA,GAAEP,EAAMO,EAAA,GACnBY,GAA4CrrC,EAAAA,EAAAA,UAAS,IAAGsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAAhDoJ,EAAanJ,EAAA,GAAEoJ,EAAgBpJ,EAAA,GACvCC,GAAkCvrC,EAAAA,EAAAA,UAAS,IAAGwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAAtCoJ,EAAQnJ,EAAA,GAAEoJ,EAAWpJ,EAAA,GAC7BC,GAA4BzrC,EAAAA,EAAAA,WAAS,GAAM0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAAnC1B,EAAK2B,EAAA,GAAE1B,EAAQ0B,EAAA,GACvB+J,GAAgCz1C,EAAAA,EAAAA,WAAS,GAAM01C,GAAAh3B,EAAAA,EAAAA,GAAA+2B,EAAA,GAAvCtlF,EAAOulF,EAAA,GAAErL,EAAUqL,EAAA,GAC3BC,GAAgC31C,EAAAA,EAAAA,UAAS,IAAG41C,IAAAl3B,EAAAA,EAAAA,GAAAi3B,EAAA,GAApChgI,GAAOigI,GAAA,GAAEpN,GAAUoN,GAAA,GAC3BC,IAA0C71C,EAAAA,EAAAA,UAAS,IAAG81C,IAAAp3B,EAAAA,EAAAA,GAAAm3B,GAAA,GAA9CxN,GAAYyN,GAAA,GAAErN,GAAeqN,GAAA,GA+D/BC,GAAkB,WACpB1L,GAAW,GACXrB,GAAIC,KAAKvB,GAAyB,CAC9B4E,OAAQA,EACR8B,KAAM,YACN4H,IAAKf,IAERxoH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACR4pD,EAAgB1oE,EAAIv6C,KAAK8jH,gBAAgB9jH,MACzCmiH,EAAQ,kBAER7L,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,GAAW,oCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GACJ,EAiCM0N,GAAqB,WACvB7L,GAAW,GACXrB,GAAIC,KAAK3B,GAAuB,CAC5BmN,cAAeA,IAElBhoH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXgB,KACAgK,EAAYloE,EAAIv6C,KAAK3X,OAAO2X,KAAKiyF,aAEjCqkB,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,GAAW,oCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GACJ,EAkCMoC,GAAa,WACfZ,EAAS,IACTa,GAAc,GAClB,EAEMA,GAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,GAoBAm0E,EAAAA,EAAAA,YAAU,WACNm0C,EAAQp1H,EAAM21H,eACa,iBAAxB31H,EAAM21H,eAnBT7L,GAAIC,KAAKpB,GAAsB,CAC3ByE,OAAQA,EACR8B,KAAM,cAET3hH,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACL9e,EAAIv6C,KAAKgkH,eAAeC,aACvBhB,EAAgB1oE,EAAIv6C,KAAKgkH,eAAezO,wBAG5CnwH,QAAQkuE,IAAI/Y,EAAIv6C,KAExB,IAAG6wB,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,EAClB,GASJ,GAAG,CAAC+G,IAIJ,OAAQoqG,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,KAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,GAAS0yH,aAAcA,GAAcC,aAHlD,WAAQE,GAAW,GAAI,IAI9B,KAATn8G,IAAei9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChDu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,wBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,wCAAwC17B,MAAOuoH,EAAW/qB,SAAU,SAAAtyG,GAAC,OAAIs9H,EAAat9H,EAAEo9C,OAAOtoC,MAAM,KACpIg8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChD61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAjPhEw2D,GAAW,QACXrB,GAAIC,KAAKzB,GAAe,CACpB8E,OAAQA,EACR8B,KAAM,YACNmG,UAAWA,IAEd9nH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACR0pD,EAAaxoE,EAAIv6C,KAAKkkH,aACtB/B,EAAQ,gBAER7L,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,GAAW,oCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GAsNyF,EAAC/0D,SAAC,UAC3Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAM30D,EAAM41H,YAAY,EAACrhE,SAAC,iBAKlF,eAATpnD,IAAyBi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC1Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,wBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,0CAA0C17B,MAAOipH,EAAWzrB,SAAU,SAAAtyG,GAAC,OAAIg+H,EAAah+H,EAAEo9C,OAAOtoC,MAAM,KACtIg8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChD61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAnOhEw2D,GAAW,QACXrB,GAAIC,KAAKxB,GAAmB,CACxB6E,OAAQA,EACR8B,KAAM,YACN4H,IAAKf,IAERxoH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,KACRuqD,MAEAtN,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,GAAW,oCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GAyMkF,EAAC/0D,SAAC,YACpEu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,GAAG,EAAC7gE,SAAC,iBAK3E,iBAATpnD,IAA2Bi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC5Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iCACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,UAAQE,SAAU,SAAAtyG,GAAC,OAAIo+H,EAAgBp+H,EAAEo9C,OAAOtoC,MAAM,EAACynD,SAAA,EACnDu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,0BAChB0hE,GAAgBA,EAAanwH,KAAI,SAAC9L,GAAI,OACnC8uG,EAAAA,GAAAA,KAAA,UAAQh8F,MAAO9S,EAAKo9H,KAAK7iE,SAAEv6D,EAAKo9H,MAAc,QAGtDtuB,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOupH,EAAmB/rB,SAAU,SAAAtyG,GAAC,OAAIs+H,EAAqBt+H,EAAEo9C,OAAOtoC,MAAM,KACjIg8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBA9L7Dw2D,GAAW,QACXrB,GAAIC,KAAKtB,GAAwB,CAC7B2E,OAAQA,EACR8B,KAAM,YACNhoH,KAAMivH,EACNd,UAAWgB,IAEd9oH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,KACR8oD,EAAQ,qBAER7L,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,GAAW,oCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GAmKiG,EAAC/0D,SAAC,gBAIzF,qBAATpnD,IAA+Bi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oCAEAk2D,GACCrgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,6BACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuBixB,aAAc87D,EAAejrB,SAAU,SAAAtyG,GAAC,OAAIw9H,EAAiBx9H,EAAEo9C,OAAOtoC,MAAM,EAAEwtD,UAAQ,KAC5IwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SAEjCs2D,EAAQ,GACPzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAASqiE,GAAmBziE,SAAC,iBAGlGu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChD61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBA5JxEw2D,GAAW,QACXrB,GAAIC,KAAKrB,GAAyB,CAC9B0E,OAAQA,EACR8B,KAAM,YACNnE,IAAKA,EACL7lB,UAAWuwB,IAEdloH,MAAK,SAAAigD,GACF29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,KACRtsE,EAAM61H,eAENtM,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,GAAW,oCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GAiIuG,EAAC/0D,SAAC,YACjFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAM+1D,GAAW,EAAM,EAACn2D,SAAC,kBAK1F61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,6BACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuB17B,MAAOyoH,EAAejrB,SAAU,SAAAtyG,GAAC,OAAIw9H,EAAiBx9H,EAAEo9C,OAAOtoC,MAAM,KAC3Hg8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAAkBs2B,SAEjCtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqB4uB,UAAQ,EAAA/F,SAAC,iBAChDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMqiE,IAAoB,EAACziE,SAAC,uBAOzG,CC7Ve,SAAS8iE,GAAIr3H,GACxB,IAAAojG,GAAwBtiB,EAAAA,EAAAA,UAAS,eAAcuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxCj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GACpB+F,GAA0CtoB,EAAAA,EAAAA,WAAS,GAAKuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAjD+e,EAAa9e,EAAA,GAAEiuB,EAAgBjuB,EAAA,GACtCG,GAAoC1oB,EAAAA,EAAAA,WAAS,GAAM2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA5C+tB,EAAU9tB,EAAA,GAAE+tB,EAAa/tB,EAAA,GAE1BguB,EAAY,SAAC7tH,EAAGC,GAClBytH,EAAiB1tH,GACjB4tH,EAAc3tH,EAClB,EAEA,SAAS+rH,IACLR,EAAQ,cACZ,CAEA,SAASS,IACLT,EAAQ,eACZ,CAWA,OATAn0C,EAAAA,EAAAA,YAAU,WACe,eAAlBjhF,EAAM03H,QACLtC,EAAQ,kBACgB,YAAlBp1H,EAAM03H,SACZtC,EAAQ,cAGhB,GAAG,CAACp1H,KAEI8oG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC5Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM30D,EAAM23H,eAAe,KACtEvtB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,CACZ,gBAATpnD,IAA0Bi9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,GAAG11C,QAAS,kBAAM30D,EAAM23H,eAAe,OAE/EvtB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,6BAA6BmnE,IAAI,kBAC1CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iDACHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,wBAIhF,gBAATpnD,IACGi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0DACHu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOkqF,EAAc,uBAAuB,2BAA4BxzD,QAAS,kBAAM8iE,GAAU,GAAM,EAAM,EAACljE,SAAA,EAC1Hu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,iBAAiB4hC,QAASq/E,GAAiB,UAAWpvG,UAAQ,OAE3FqxF,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oBACHu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gDAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOs5F,EAAW,uBAAuB,2BAA4B5iE,QAAS,kBAAM8iE,GAAU,GAAO,EAAK,EAACljE,SAAA,EACvHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,cAAc4hC,QAASyuF,GAAc,UAAWx+G,UAAQ,OAErFqxF,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gDAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,CACpC4zD,GACArf,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,iBAAiB,EAAC7gE,SAAC,UACjFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,UAE/Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,eAIlF,mBAATpnD,IAA6B27F,EAAAA,GAAAA,KAACqsB,GAAa,CAACS,WAAYA,EAAYD,cAAe31H,EAAMmN,KAAM0oH,YAAaA,IACnG,gBAAT1oH,IAA0B27F,EAAAA,GAAAA,KAACgtB,GAAU,CAACF,WAAYA,EAAYD,cAAe31H,EAAMmN,KAAM0oH,YAAaA,IAC7F,iBAAT1oH,IAA2B27F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,aAAas2B,UAC5Du0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,6BAA6BmnE,IAAI,MAC1CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8CACHu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAM30D,EAAM23H,eAAe,EAACpjE,SAAC,uBAOzG,CC/FA,QAAgB,iBAAiB,mCAAmC,aAAa,+BAA+B,kBAAkB,oCAAoC,mBAAmB,qCAAqC,0BAA0B,4CAA4C,4BAA4B,8CAA8C,QAAU,4BAA4B,cAAc,gCAAgC,mBAAmB,qCAAqC,eAAe,iCAAiC,mBAAmB,qCAAqC,kBAAkB,oCAAoC,WAAa,gCCQtpB,SAASqjE,KACpB,IAAMxK,EAASxmB,IACfxD,GAAwCtiB,EAAAA,EAAAA,UAAS,WAAUuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAnDy0B,EAAWx0B,EAAA,GAAEy0B,EAAcz0B,EAAA,GACnC+F,GAAoCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA3CquB,EAASpuB,EAAA,GAAE0uB,EAAY1uB,EAAA,GAC/BG,GAAgC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAApC6jB,EAAO5jB,EAAA,GAAE6jB,EAAU7jB,EAAA,GAC3BG,GAAgC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAApC8tB,EAAO7tB,EAAA,GAAEmuB,EAAUnuB,EAAA,GAC3BG,GAAsClpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAA1CiuB,EAAUhuB,EAAA,GAAEiuB,EAAajuB,EAAA,GACjCghB,GAAgCnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAApCkN,EAAOjN,EAAA,GAAEkN,EAAUlN,EAAA,GAC3BE,GAA4CtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAnDiN,EAAahN,EAAA,GAAEiN,EAAgBjN,EAAA,GACvCC,GAA4BxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAAhCf,EAAKgB,EAAA,GAAEf,EAAQe,EAAA,GACvBY,GAAgCrrC,EAAAA,EAAAA,WAAS,GAAMsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAAvC1B,EAAO2B,EAAA,GAAE1B,EAAU0B,EAAA,GAC3BC,GAA8CvrC,EAAAA,EAAAA,UAAS,IAAGwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAAlD1B,EAAc2B,EAAA,GAAE1B,EAAiB0B,EAAA,GACzCC,GAA4BzrC,EAAAA,EAAAA,WAAS,GAAM0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAAnC1B,EAAK2B,EAAA,GAAE1B,EAAQ0B,EAAA,GACvB+J,GAAwBz1C,EAAAA,EAAAA,UAAS,IAAG01C,GAAAh3B,EAAAA,EAAAA,GAAA+2B,EAAA,GAA5BxL,EAAGyL,EAAA,GAAExL,EAAMwL,EAAA,GACnBC,GAA0B31C,EAAAA,EAAAA,UAAS,IAAG41C,GAAAl3B,EAAAA,EAAAA,GAAAi3B,EAAA,GAA9BtpH,GAAIupH,EAAA,GAAEtB,GAAOsB,EAAA,GACrBC,IAAgC71C,EAAAA,EAAAA,WAAS,GAAM81C,IAAAp3B,EAAAA,EAAAA,GAAAm3B,GAAA,GAAvC1lF,GAAO2lF,GAAA,GAAEzL,GAAUyL,GAAA,GAC3B2B,IAAgCz3C,EAAAA,EAAAA,UAAS,IAAG03C,IAAAh5B,EAAAA,EAAAA,GAAA+4B,GAAA,GAApC9hI,GAAO+hI,GAAA,GAAElP,GAAUkP,GAAA,GAC3BC,IAA0C33C,EAAAA,EAAAA,UAAS,IAAG43C,IAAAl5B,EAAAA,EAAAA,GAAAi5B,GAAA,GAA9CtP,GAAYuP,GAAA,GAAEnP,GAAemP,GAAA,GAE/BC,GAAY,SAAC/uH,GACfkuH,EAAeluH,EACnB,EAEA,SAASgvH,GAAahvH,GAClBwrH,GAAQxrH,GACRmuH,GAAa,EACjB,CAOA,IAAMpK,GAAwB,WAC1B7D,GAAIr2G,IAAIg0G,GAAgB2F,EAAS,UAChC7/G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRghD,EAAW9/D,EAAIv6C,KAAK26G,OACY,IAA7BpgE,EAAIv6C,KAAK4lH,SAASC,QACjBd,EAAW,cACXE,EAAc1qE,EAAIv6C,KAAK4lH,WAEvBE,MAGJ1gI,QAAQkuE,IAAI/Y,EAEpB,IAAG1pB,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,EAClB,GACJ,GAEAgoF,EAAAA,EAAAA,YAAU,WACN0sC,IAEJ,GAAG,IAEH,IAAMoL,GAAoB,WACtBjP,GAAIC,KAAKpB,GAAsB,CAC3ByE,OAAQA,EACR8B,KAAM,cAET3hH,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACL9e,EAAIv6C,KAAKgkH,eAAeC,cACvBc,EAAW,WACXE,EAAc1qE,EAAIv6C,KAAKgkH,gBACpBzpE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,MAC7CmlH,GACK5qE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQc,OAASzrE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQc,MAAQ,OACvIzrE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQn5B,KAAOxxC,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQn5B,IAAM,OACnIxxC,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQe,QAAU1rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQe,OAAS,OACzI1rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQgB,UAAY3rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQgB,SAAW,OAC7I3rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQiB,SAAW5rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQiB,QAAU,OAC3I5rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQkB,KAAO7rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQkB,IAAM,OACnI7rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQmB,MAAQ9rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQmB,KAAO,OACrI9rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQoB,IAAM/rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQoB,GAAK,OACjI/rE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQv6H,OAAS4vD,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQv6H,MAAQ,OACvI4vD,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQqB,SAAWhsE,EAAIv6C,KAAKgkH,eAAe+B,sBAAsB/lH,KAAKklH,QAAQqB,WAK9InhI,QAAQkuE,IAAI/Y,EAAIv6C,KAExB,IAAG6wB,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,EAClB,GACJ,EA2CMuyH,GAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOlB,IAEVh9G,MAAK,SAACigD,GACH29D,IAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXE,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3Be,KACAnC,GAAgB,WAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,IAAW,GACX5B,GAAgB,SAChBD,GAAW,yCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GACJ,EAEMoC,GAAa,WACfZ,EAAS,IACTa,GAAc,GAClB,EACMA,GAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAiCM2sH,GAAW,WACb3P,GAAIC,KAAKjC,GAAgB,CACrBsF,OAAQA,EACRsM,UAAWnP,EACXjmG,OAAQ,UAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRqhD,KACA2K,GAAiB,GACjBtN,EAAO,IACPR,EAAS,IACTE,GAAW,GACXnB,GAAgB,WAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,GAAW,oCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GACJ,EAIA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,KAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,GAAS0yH,aAAcA,GAAcC,aAHlD,WAAQE,GAAW,GAAI,IAIvC+O,IAAiBjuB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM2jE,GAAiB,EAAM,KACxExvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,SAE/Bk2D,GACCrgB,EAAAA,GAAAA,MAAA,QAAMQ,SA5ET,SAAC5yG,GACfA,EAAEG,iBACF2xH,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOlB,EACPQ,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,UAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,KACRmtD,MAEAtO,IAAW,GACX5B,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,IAAW,GACX5B,GAAgB,SAChBD,GAAW,yCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GACJ,EA+C+C/0D,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjwD,UAAQ,KAC1EwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SAEjCs2D,EAAQ,GACPzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,IAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,GAAQj3D,SAAC,gBAInFtjB,IACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAoB4uB,UAAQ,EAAA/F,SAAC,eAC/Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAmB6oB,SAAC,eAG9Cu0C,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SA1LJ,SAAC5yG,GAEvB,GADAA,EAAEG,iBACgB,KAAfoyH,EAAMlwH,OAML,OALAivH,GAAW,yCACXC,GAAgB,cAChBjyE,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEP6B,IAAW,GACXrB,GAAIr2G,IAAI8yG,GAAgBgE,EAAQ,UAC/Bh9G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,IAAW,GACX5B,GAAgB,SAChBD,GAAW,2DACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,MACqB,MAAlB97D,EAAIv6C,KAAKq5D,KACfk/C,MAEAL,IAAW,GACX5B,GAAgB,SAChBD,GAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,GAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,IAAW,GACX5B,GAAgB,SAChBD,GAAW,yCACXhyE,YAAW,WACPgyE,GAAW,GACf,GAAG,IACP,GACJ,EAmJ0D/0D,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAC3DjgB,SAAU,SAACtyG,GAAK,IAAD2hI,EAAAC,EACPC,EAAc7hI,EAAEo9C,OAAOtoC,MAAMkqC,MAAM,OAC5B,QAAX2iF,EAAAE,SAAW,IAAAF,GAAXA,EAAazzH,OAAO,KACpB2zH,EAAcA,EAAgBA,EAAyB,QAAdD,EAAGC,SAAW,IAAAD,OAAA,EAAXA,EAAar+H,KAAK,IAAO,MACnDs+H,EAAc,IAChCrP,EAASqP,EACF,IAGP5oF,IACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAoB4uB,UAAQ,EAAA/F,SAAC,aAC/Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,oBAAmB6oB,SAAC,0BAQnE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,kCAAiCmnE,IAAI,MAClDD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAK84D,EAAQpD,UAAY,IAAMoD,EAAQlD,YACvCrhB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI84D,EAAQz+C,eAIpBw7B,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAuB,YAAhB45F,EAA4B,0BAA4B,IAAKljE,QAAS,kBAAMgkE,GAAU,UAAU,EAACpkE,SAAA,EACpHu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAqB,YAAhB20F,EAA4B,qCAAuC,+BAAgCxtB,IAAI,MACjHvB,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAEV61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAuB,QAAhB45F,EAAwB,0BAA4B,IAAKljE,QAAS,kBAAMgkE,GAAU,MAAM,EAACpkE,SAAA,EAC5Gu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAqB,QAAhB20F,EAAwB,qCAAuC,+BAAgCxtB,IAAI,MAC7GvB,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,uBAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,CACtB,YAAhBsjE,IAA8BztB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EAC3Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAmBixB,aAAc4zD,EAAQpD,UAAW3vD,UAAQ,KAC3FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,kBAAkBixB,aAAc4zD,EAAQlD,SAAU7vD,UAAQ,KACzFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,YACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,eAAeixB,aAAc4zD,EAAQz+C,MAAOtU,UAAQ,KACnFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAc4zD,EAAQqM,UAAWp/D,UAAQ,KAC7F8vC,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,6BAA8B02B,QAAS,kBAAM2jE,GAAiB,EAAK,EAAC/jE,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,sBAAwB,IAAE2hF,EAAQqM,UAAY,uBAAyB,0BAEnK,QAAhB7B,IAAyBztB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACrBkjE,IAAa3uB,EAAAA,GAAAA,KAACuuB,GAAG,CAAC1J,sBAAuBA,GAAuBoL,kBAAmBA,GAAmBrB,QAASA,EAASvqH,KAAMA,GAAMwqH,cAxTrK,WACII,GAAa,GACbpK,IACJ,KAsTgCvjB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,SAEI4uB,GACCttB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACgB,eAAZmjE,IAA4BttB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACzBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,iBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAaixB,aAAcw+D,EAAW6B,YAAc7B,EAAW6B,WAAWC,WAAYz/D,UAAQ,KAC7HwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAmBixB,aAAcw+D,EAAW6B,YAAc7B,EAAW6B,WAAWE,IAAK1/D,UAAQ,IAExH29D,EAAWgC,eACV7vB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,qBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAaixB,aAAcw+D,EAAWgC,cAAchnH,KAAKinH,UAAW5/D,UAAQ,KAC3GwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuBixB,aAAcw+D,EAAWgC,cAAchnH,KAAKknH,eAAgB7/D,UAAQ,KAC1HwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,mBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAcw+D,EAAWgC,cAAchnH,KAAKmnH,QAAS9/D,UAAQ,KACjHwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,YACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAcw+D,EAAWgC,cAAchnH,KAAKonH,OAAQ//D,UAAQ,KAChHwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,mBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAcw+D,EAAWgC,cAAchnH,KAAKqnH,IAAKhgE,UAAQ,KAC7GwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gBAAgBixB,aAAcw+D,EAAWgC,cAAchnH,KAAKklH,QAAQc,MAAQ,IAAMhB,EAAWgC,cAAchnH,KAAKklH,QAAQn5B,IAAM,IAAMi5B,EAAWgC,cAAchnH,KAAKklH,QAAQe,OAAS,IAAMjB,EAAWgC,cAAchnH,KAAKklH,QAAQgB,SAAW,IAAMlB,EAAWgC,cAAchnH,KAAKklH,QAAQoB,GAAK,IAAMtB,EAAWgC,cAAchnH,KAAKklH,QAAQkB,IAAM,IAAMpB,EAAWgC,cAAchnH,KAAKklH,QAAQiB,QAAU,IAAMnB,EAAWgC,cAAchnH,KAAKklH,QAAQmB,KAAO,IAAMrB,EAAWgC,cAAchnH,KAAKklH,QAAQv6H,MAAQ,IAAMq6H,EAAWgC,cAAchnH,KAAKklH,QAAQqB,QAASl/D,UAAQ,QAEzkB8vC,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,yBAAyBmnE,IAAI,MACtCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yBACJu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMikE,GAAa,iBAAiB,EAACrkE,SAAC,uBAIrF,YAAZmjE,IAAyBttB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACtBu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAmB,WAAEs2B,SAAC,oBACpC0jE,EAAWf,cAAe9sB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACjE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOmrH,EAAWf,YAAYJ,IAAKx8D,UAAQ,KACtFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOmrH,EAAWf,YAAYqD,aAAcjgE,UAAQ,KACxGwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,0BACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,6BAA6B17B,MAAOmrH,EAAWf,YAAYsD,qBAAsBlgE,UAAQ,KACxHwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,WACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,cAAc17B,MAAOmrH,EAAWf,YAAYuD,MAAOngE,UAAQ,KAC1FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOmrH,EAAWf,YAAYwD,IAAKpgE,UAAQ,KACtFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,cACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,iBAAiB17B,MAAOmrH,EAAWf,YAAYyD,SAAUrgE,UAAQ,KAChGwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOmrH,EAAWf,YAAY0D,YAAatgE,UAAQ,KACvGwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,qBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,wBAAwB17B,MAAOmrH,EAAWf,YAAY2D,gBAAiBvgE,UAAQ,QAElH8vC,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,WACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,cAAc17B,MAAOmrH,EAAWf,YAAY4D,MAAOxgE,UAAQ,KAC1FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,uBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,0BAA0B17B,MAAOmrH,EAAWf,YAAY6D,kBAAmBzgE,UAAQ,KAClHwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,+BACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,kCAAkC17B,MAAOmrH,EAAWf,YAAY8D,0BAA2B1gE,UAAQ,KAClIwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,WACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,cAAc17B,MAAOmrH,EAAWf,YAAY+D,MAAO3gE,UAAQ,KAC1FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuB17B,MAAOmrH,EAAWf,YAAYgE,eAAgB5gE,UAAQ,KAC5GwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gBAAgB17B,MAAOmrH,EAAWf,YAAYiE,QAAS7gE,UAAQ,KAC9FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gBAAgB17B,MAAOmrH,EAAWf,YAAYkE,QAAS9gE,UAAQ,KAC9FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,UACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAa17B,MAAOmrH,EAAWf,YAAYmE,KAAM/gE,UAAQ,UAG/F29D,EAAWqD,oBACPlxB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAmB,WAAEs2B,SAAC,iBACrC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,sBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAaixB,aAAcw+D,EAAWqD,mBAAmBvB,WAAa,IAAM9B,EAAWqD,mBAAmBC,UAAWjhE,UAAQ,QAEhK8vC,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAmBixB,aAAcw+D,EAAWqD,mBAAmBtB,IAAK1/D,UAAQ,UAGlH29D,EAAWe,sBAAsB/lH,MAC7Bm3F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAIp9D,UAAWzN,GAAmB,WAAEs2B,SAAC,qBACrC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuBixB,aAAcw+D,EAAWe,sBAAsB/lH,KAAKinH,UAAW5/D,UAAQ,KAC7HwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuBixB,aAAcw+D,EAAWe,sBAAsB/lH,KAAKknH,eAAgB7/D,UAAQ,KAClIwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,YACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,eAAeixB,aAAcw+D,EAAWe,sBAAsB/lH,KAAKonH,OAAQ//D,UAAQ,QAEtH8vC,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,mBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,sBAAsBixB,aAAcw+D,EAAWe,sBAAsB/lH,KAAKqnH,IAAKhgE,UAAQ,KACtHwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gBAAgBixB,aAAcw+D,EAAWe,sBAAsB/lH,KAAKmnH,QAAS9/D,UAAQ,WAG5HwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,YAAUp9D,UAAU,eAAelD,YAAY,gBAAgBixB,aAAc0+D,EAAS79D,UAAQ,QAEjG8vC,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,yBAAyBmnE,IAAI,MACtCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,wBACJu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMikE,GAAa,mBAAmB,EAACrkE,SAAC,wBAInG61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,yBAAyBmnE,IAAI,MACtCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,wBACJu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMikE,GAAa,eAAe,EAACrkE,SAAC,2BAKnG61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,yBAAyBmnE,IAAI,MACtCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,wBACJu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMikE,GAAa,GAAG,EAACrkE,SAAC,6CAYxH,CC1eA,QAAgB,kBAAkB,oCAAoC,aAAa,+BAA+B,0BAA0B,6CCM7H,SAASinE,KACpB,IAAAp4B,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bl8F,EAAIm8F,EAAA,GAAEo4B,EAAOp4B,EAAA,GACrB+F,GAA4BtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAhCx6B,EAAKy6B,EAAA,GAAE4iB,EAAQ5iB,EAAA,GACvBG,GAAwC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA5C6gB,EAAW5gB,EAAA,GAAEyiB,EAAcziB,EAAA,GACnCG,GAAsC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA1C8xB,EAAU7xB,EAAA,GAAE8xB,EAAa9xB,EAAA,GACjCG,GAAgClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAvC/4D,EAAOg5D,EAAA,GAAEkhB,EAAUlhB,EAAA,GAC3BghB,GAAgCnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAApCx0H,EAAOy0H,EAAA,GAAE5B,EAAU4B,EAAA,GAC3BE,GAA0CtqC,EAAAA,EAAAA,UAAS,IAAGuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAA9CjC,EAAYkC,EAAA,GAAE9B,EAAe8B,EAAA,GAsCrC,OAAQjhB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACP99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAH9C,WAAQE,EAAW,GAAI,KAIxClf,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,UACjCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,kBAE5CvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,2BAA2Bs2B,UAC1C61C,EAAAA,GAAAA,MAAA,QAAMQ,SAAU,SAAC5yG,GAChBA,EAAEG,iBAEF,OAAI+O,EAAK8vC,MADO,iBASQ,KAArBqzE,EAAYhwH,QACZivH,EAAW,yCACXC,EAAgB,cAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,WA/D/BQ,GAAIC,KAAKrC,GAAoB,CACzBxgH,KAAMA,EACN0nE,MAAOA,EACPy7C,YAAaA,EACb5zH,QAASilI,EACTxM,KAAM,UAET3hH,MAAK,SAACigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACT6+C,GAAW,GACXsQ,EAAQ,IACRxP,EAAS,IACTC,EAAe,IACfyP,EAAc,IACdpS,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEH6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA5qC,GACLb,QAAQkuE,IAAIrtE,EAChB,KAsB6BowH,EAAW,uCACXC,EAAgB,cAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAWa,EAAE/0D,SAAA,EAGnBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,UACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAa17B,MAAO5F,EAAMojG,SAAU,SAAAtyG,GAAC,OAAIyjI,EAAQzjI,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACzG+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQwhC,YAAY,SAAS17B,MAAO8hE,EAAO07B,SAAU,SAAAtyG,GAAC,OAAIi0H,EAASj0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACxG+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAC1D/f,SAAU,SAACtyG,GAAK,IAAD2hI,EAAAC,EACRC,EAAc7hI,EAAEo9C,OAAOtoC,MAAMkqC,MAAM,OAC5B,QAAX2iF,EAAAE,SAAW,IAAAF,GAAXA,EAAazzH,OAAO,KACpB2zH,EAAcA,EAAgBA,EAAyB,QAAdD,EAAGC,SAAW,IAAAD,OAAA,EAAXA,EAAar+H,KAAK,IAAO,MACnDs+H,EAAc,IAChC3N,EAAe2N,EACR,EAAG9gH,UAAQ,KAEtB+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,YAAUp9D,UAAU,eAAekwF,KAAK,IAAIC,KAAK,KAAK/uH,MAAO4uH,EAAYpxB,SAAU,SAAAtyG,GAAC,OAAI2jI,EAAc3jI,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,EAAAw7C,SAAC,mBAChIu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,0BAAyB6oB,SAAEtjB,EAAQ,cAAc,mCAQvG,CC/GA,QAAgB,cAAc,6BCGf,SAAS6qF,KAOpB,OANA76C,EAAAA,EAAAA,YAAU,WACNkmB,IACA5uG,OAAOmF,SAASnE,QAAQ,eAE5B,GAAG,KAEKuvG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,UAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,UAClCvB,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,iCAAsC,wBAI1E,CCpBA,QAAgB,eAAe,4BAA4B,UAAU,uBAAuB,uBAAuB,oCAAoC,aAAa,0BAA0B,eAAe,4BAA4B,WAAW,wBAAwB,YAAY,yBAAyB,cAAc,2BAA2B,cAAc,2BAA2B,aAAa,0BAA0B,mBAAmB,gCAAgC,eAAe,4BAA4B,oBAAoB,iCAAiC,UAAY,0BCO1jB,SAAS29E,KACpB,IAAAjmB,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApC3sG,EAAO4sG,EAAA,GAAEimB,EAAUjmB,EAAA,GAC3B+F,GAA0CtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA9C+f,EAAY9f,EAAA,GAAEkgB,EAAelgB,EAAA,GAE3BmgB,EAAQ1lB,EAAe,CACzBM,UAAU,WAAD,IAAAqlB,GAAA9uB,EAAAA,GAAAA,IAAAE,EAAAA,GAAAA,KAAAhkG,MAAE,SAAA6yH,EAAMhyE,GAAQ,IAAA8V,EAAA,OAAAqtC,EAAAA,GAAAA,KAAAW,MAAA,SAAA32E,GAAA,cAAAA,EAAAlN,KAAAkN,EAAAzX,MAAA,cAAAyX,EAAAlN,KAAA,EAAAkN,EAAAzX,KAAA,EAEC04G,GAAMryG,IAAI,gDAAiD,CACzEmhG,QAAS,CACL,cAAgB,UAAD35G,OAAYy8C,EAASiyE,iBAE1C,OAJIn8D,EAAG3oC,EAAAlX,KAKTi8G,EAAYp8D,EAAIv6C,MAAM4R,EAAAzX,KAAA,gBAAAyX,EAAAlN,KAAA,EAAAkN,EAAAglG,GAAAhlG,EAAA,SAEtBxsB,QAAQkuE,IAAG1hD,EAAAglG,IAAQ,yBAAAhlG,EAAAyL,OAAA,GAAAo5F,EAAA,kBAE1B,gBAAAjqB,GAAA,OAAAgqB,EAAA1qH,MAAA,KAAAC,UAAA,EAXS,KAcR4qH,EAAc,SAAC98G,GACjBg9G,GAAIC,KAAKtD,GAAmB,CACxB73C,MAAO9hE,EAAM8hE,MACbtqD,OAAQ,eAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRi7B,EAAqB/5C,EAAIv6C,KAAK4M,OAC9BtnB,OAAOmF,SAASnE,QAAQ,gCACA,MAAlBi0D,EAAIv6C,KAAKq5D,MACfi9C,EAAgB,SAChBD,EAAW,4DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHU,EAAiBl9G,EAEzB,IAAGg3B,OAAM,SAAA5qC,GACLb,QAAQa,MAAMA,GACdowH,EAAW,0CACXC,EAAgB,SAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMU,EAAmB,SAACpgH,GACtBkgH,GAAIC,KAAKzD,GAAgB,CACrB2D,UAAWrgH,EAAEsgH,WACbC,SAAUvgH,EAAEwgH,YACZx7C,MAAOhlE,EAAEglE,MACTy7C,YAAa,GACb/lG,OAAQ,eAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRh1B,YAAW,WACPsyE,EAAYhgH,EAChB,GAAG,MAEH2/G,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAIA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,KAIxClf,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAsB02B,QAAS60D,EAAMj1D,SAAA,EACxDu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,gBAAe,4BAIxE,CCxFe,SAASigB,GAAOtqH,GAC3B,IAAAojG,GAA4BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAhCmnB,EAAKlnB,EAAA,GAAEmnB,EAAQnnB,EAAA,GACvB+F,GAAgCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAvCqhB,EAAOphB,EAAA,GAAEqhB,EAAUrhB,EAAA,GAC3BG,GAA8C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAlDmhB,EAAclhB,EAAA,GAAEmhB,EAAiBnhB,EAAA,GACzCG,GAA4B9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAnCihB,EAAKhhB,EAAA,GAAEihB,EAAQjhB,EAAA,GACvBG,GAAwBlpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAA5B+gB,EAAG9gB,EAAA,GAAE+gB,EAAM/gB,EAAA,GACnBghB,GAAgCnqC,EAAAA,EAAAA,WAAS,GAAMoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAvCh6E,EAAOi6E,EAAA,GAAEC,EAAUD,EAAA,GAC3BE,GAAgCtqC,EAAAA,EAAAA,UAAS,IAAGuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAApC30H,EAAO40H,EAAA,GAAE/B,EAAU+B,EAAA,GAC3BC,GAA0CxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA9CnC,EAAYoC,EAAA,GAAEhC,EAAegC,EAAA,GAuD/BC,EAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOlB,IAEVh9G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXE,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3Be,IACAnC,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAkCMoC,EAAa,WACfZ,EAAS,IACTa,EAAc,GAClB,EACMA,EAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAIA,OAAQs9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAKpCmB,GACCrgB,EAAAA,GAAAA,MAAA,QAAMQ,SArDG,SAAC5yG,GACfA,EAAEG,iBACF2xH,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOlB,EACPQ,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,eAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRi7B,EAAqB/5C,EAAIv6C,KAAK4M,OAC9BtnB,OAAOmF,SAASnE,QAAQ,iCAExB4xH,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAuBmC/0D,SAAA,EACvB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,uBACvBu0C,EAAAA,GAAAA,KAAA,SAAOzxG,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,kBACzCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAO3P,MAAO,CAACgjC,WAAW,cAAemO,YAAY,qBAAqB17B,MAAOy9G,EAAOjwD,UAAQ,KAC5GwuC,EAAAA,GAAAA,KAAA,SAAOzxG,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,SACzCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAO3P,MAAO,CAACgjC,WAAW,cAAemO,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC9Hg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SAEjCs2D,EAAQ,GACPzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,EAAQj3D,SAAC,gBAInFtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyB4uB,UAAQ,EAAA/F,SAAC,eACpDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,eAGnD61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SAhKQ,SAAC5yG,GACvBA,EAAEG,iBACFgzH,GAAW,GACXrB,GAAIr2G,IAAI8yG,GAAgBgE,EAAQ,eAC/Bh9G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACe,eAApB9e,EAAIv6C,KAAKqR,OACLkpC,EAAIv6C,KAAKpU,SACR2sH,KAEAL,GAAW,GACX5B,EAAgB,SAChBD,EAAW,4DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAGP6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yBACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEiB,MAAlB97D,EAAIv6C,KAAKq5D,MACftsE,EAAM6rH,oBAAmB,GACzBV,GAAW,GACX5B,EAAgB,SAChBD,EAAW,sDACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEH6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EA6G8C/0D,SAAA,EAC9B61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,uBACvBu0C,EAAAA,GAAAA,KAAA,SAAOzxG,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,kBACzCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAO3P,MAAO,CAACgjC,WAAW,cAAemO,YAAY,qBAAqB17B,MAAOy9G,EAAOjgB,SAAU,SAAAtyG,GAAC,OAAIwyH,EAASxyH,EAAEo9C,OAAOtoC,MAAM,IAEvImkC,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyB4uB,UAAQ,EAAA/F,SAAC,aACpDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,iBAGpD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAEbu0C,EAAAA,GAAAA,KAACugB,GAAe,KAChBjf,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,eAAes2B,SAAA,CAAC,2BAAuBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAM30D,EAAM6rH,oBAAmB,EAAK,EAACt3D,SAAC,oBAIjI,CC7Le,SAASu3D,GAAO9rH,GAC3B,IAAAojG,GAAoCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxC6mB,EAAS5mB,EAAA,GAAE0oB,EAAY1oB,EAAA,GAC/B+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtC+gB,EAAQ9gB,EAAA,GAAE2iB,EAAW3iB,EAAA,GAC7BG,GAA4B1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAhC56B,EAAK66B,EAAA,GAAEwiB,EAAQxiB,EAAA,GACvBG,GAAwC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA5CygB,EAAWxgB,EAAA,GAAEqiB,EAAcriB,EAAA,GACnCG,GAAgClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAvCygB,EAAOxgB,EAAA,GAAEygB,EAAUzgB,EAAA,GAC3BghB,GAA8CnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAlDN,EAAcO,EAAA,GAAEN,EAAiBM,EAAA,GACzCE,GAA4BtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAnCP,EAAKQ,EAAA,GAAEP,EAAQO,EAAA,GACvBC,GAAwBxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA5BP,EAAGQ,EAAA,GAAEP,EAAMO,EAAA,GACnBY,GAAgCrrC,EAAAA,EAAAA,WAAS,GAAMsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAAvCl7E,EAAOm7E,EAAA,GAAEjB,EAAUiB,EAAA,GAC3BC,GAAgCvrC,EAAAA,EAAAA,UAAS,IAAGwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAApC51H,EAAO61H,EAAA,GAAEhD,EAAUgD,EAAA,GAC3BC,GAA0CzrC,EAAAA,EAAAA,UAAS,IAAG0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAA9CpD,EAAYqD,EAAA,GAAEjD,EAAeiD,EAAA,GAsC/BC,EAAyB,WAC3B3C,GAAIr2G,IAAI+yG,GAAe53C,EAAQ,eAC9BrhE,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,EAAgB,SAChBD,EAAW,+BACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHkC,GAER,IACC1nF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMkC,EAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOpB,IAEV98G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXgB,IACAd,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3BpB,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAOMoD,EAAiB,WACnBvB,GAAW,GACXrB,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOpB,EACPU,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,eAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR09C,IACAT,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,MACqB,MAAlB97D,EAAIv6C,KAAKq5D,MACfi7B,EAAqB/5C,EAAIv6C,KAAK4M,OAC9BtnB,OAAOmF,SAASnE,QAAQ,iCAExB4xH,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMU,EAAmB,WACrBF,GAAIC,KAAKzD,GAAgB,CACrB2D,UAAWA,EACXE,SAAUA,EACVv7C,MAAOA,EACPy7C,YAAaA,EACb/lG,OAAQ,eAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRh1B,YAAW,WACPo1E,GACJ,GAAG,MAEHvB,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMoC,EAAa,WACfZ,EAAS,IACTa,EAAc,GAClB,EAEMA,EAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAIA,OAAQs9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAKnCmB,GAyBArgB,EAAAA,GAAAA,MAAA,QAAMQ,SA3HG,SAAC5yG,GACfA,EAAEG,iBACFu0H,GACJ,EAwHmCn4D,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAAa/vD,UAAQ,KAChFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SACpCs2D,EAAQ,GACRzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,EAAQj3D,SAAC,gBAI/EtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyB4uB,UAAQ,EAAA/F,SAAC,eACpDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,eAtCnD61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SAnMQ,SAAC5yG,GACvBA,EAAEG,iBACFgzH,GAAW,GACRd,EACCP,GAAIr2G,IAAI8yG,GAAgB8D,EAAc,eACrC98G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,EAAgB,SAChBD,EAAW,qDACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHmD,GAER,IACC3oF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,KAEA6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW,6BACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,EAiK8C/0D,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eACVu0C,EAAAA,GAAAA,KAAA,SAAOzxG,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,gBACzCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAO3P,MAAO,CAACgjC,WAAW,cAAemO,YAAY,mBAAoB17B,MAAOm9G,EAAW3f,SAAU,SAAAtyG,GAAC,OAAI+zH,EAAa/zH,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC5J+vF,EAAAA,GAAAA,KAAA,SAAOzxG,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,eACzCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAO3P,MAAO,CAACgjC,WAAW,cAAemO,YAAY,kBAAkB17B,MAAOq9G,EAAU7f,SAAU,SAAAtyG,GAAC,OAAIg0H,EAAYh0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACxJ+vF,EAAAA,GAAAA,KAAA,SAAOzxG,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,WACzCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAO3P,MAAO,CAACgjC,WAAW,cAAemO,YAAY,cAAc17B,MAAO8hE,EAAO07B,SAAU,SAAAtyG,GAAC,OAAIi0H,EAASj0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC9I+vF,EAAAA,GAAAA,KAAA,SAAOzxG,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,kBACzCu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAO3P,MAAO,CAACgjC,WAAW,cAAemO,YAAY,qBAAqB17B,MAAOu9G,EAAa/f,SAAU,SAAAtyG,GAAC,OAAIk0H,EAAel0H,EAAEo9C,OAAOtoC,MAAM,EAACiM,UAAQ,IAE5Jk4B,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyB4uB,UAAQ,EAACjjE,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,aACtFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyBr0C,MAAO,CAACgjC,WAAW,cAAck6B,SAAC,iBAGtF61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAEbu0C,EAAAA,GAAAA,KAACugB,GAAe,KAChBjf,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,eAAes2B,SAAA,CAAC,sBAAkBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAM30D,EAAM6rH,oBAAmB,EAAM,EAACt3D,SAAC,oBAqB7H,CC5Pe,SAASo4D,KACtB,IAAAvpB,GAAkDtiB,EAAAA,EAAAA,WAAS,GAAMuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA1DwpB,EAAiBvpB,EAAA,GAAEwpB,EAAoBxpB,EAAA,GAExCwoB,EAAqB,SAACjiH,GAC1BijH,EAAqBjjH,EACvB,EAEA,OACEk/F,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,wBAAwBs2B,SAAA,EAC7Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACrCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,WAAWs2B,UAChCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,UAGvDvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACxB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACnC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACrCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wCAAwCmnE,IAAI,YAEvDvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,aAAas2B,SACjCq4D,GACC9jB,EAAAA,GAAAA,KAACgjB,GAAM,CAACD,mBAAoBA,KAE5B/iB,EAAAA,GAAAA,KAACwhB,GAAM,CAACuB,mBAAoBA,OAGhC/iB,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAkB,UAAEs2B,SAAC,oEAIrC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,wBACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mFAKNu0C,EAAAA,GAAAA,KAAA,OACE5lE,IAAI,0CACJmnE,IAAI,+BAQpB,CCnDe,SAAS4jB,GAAejuH,GACnC,IAAMgiB,GAAS01E,EAAAA,EAAAA,aAAY11E,OAgC3B,OALAi/D,EAAAA,EAAAA,YAAU,WAxBN6oC,GAAIC,KAAKf,GAAsB,CAC3B+S,SAAU/5G,IAEbzU,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,OACR07B,eAAed,QAAQ,WAAY15C,EAAIv6C,KAAK3X,QAC5C0E,EAAMF,QAAQb,KAAK,+BAE3B,IACC6kC,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,EAClB,GAgBJ,GAAG,KAEK6vG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJu0C,EAAAA,GAAAA,KAAA,OAAKzxG,MAfI,CACLu/B,QAAS,OACTolG,WAAY,SACZztH,OAAQ,QACR+oB,SAAU,OACV+C,WAAY,cAUQk6B,SAAC,oBAEjC,CCvCA,QAAgB,QAAU,yBAAyB,eAAe,8BAA8B,eAAe,8BAA8B,eAAe,8BAA8B,mBAAmB,kCAAkC,aAAa,4BAA4B,qBAAqB,qCCG9R,SAASu4D,KACpB,IAAA1pB,GAAoCtiB,EAAAA,EAAAA,WAAS,GAAMuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA3C2pB,EAAS1pB,EAAA,GAAE2pB,EAAY3pB,EAAA,GAC/B+F,GAAwCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA/C6jB,EAAW5jB,EAAA,GAAE6jB,EAAc7jB,EAAA,GAEnC,OAAQe,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH04D,IAAe7iB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMu4D,GAAe,EAAM,KACtEpkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sCACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA2BipB,QAAS,kBAAMu4D,GAAe,EAAM,EAAC34D,SAAC,YACnFu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,qBAAoBg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,yBAKzF61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,aAAaipB,QAAS,kBAAMq4D,GAAcD,EAAU,KAIjEjkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACnCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wCAAwCmnE,IAAI,gBAOhE0iB,IAAajkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,sBAAsBs2B,UACvD61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,0BAAyB6oB,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,UACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,8BAA6Bg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,0CAAAjoC,OAA2E,gCAA/BlE,SAAS2G,SAAS7D,SAA6C,SAAW,GAAE,QAAQwwG,IAAI,mBAAmB,yBAC7MvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,mCAAAjoC,OAAoE,wBAA/BlE,SAAS2G,SAAS7D,SAAqC,SAAW,GAAE,QAAQwwG,IAAI,YAAY,iBAC/KvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,2BAA0Bg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,6BAA/BlE,SAAS2G,SAAS7D,SAA0C,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,sBACnMvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,2BAA0Bg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,6BAA/BlE,SAAS2G,SAAS7D,SAA0C,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,yBAEvMvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,yBAAwBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,sCAAAjoC,OAAuE,2BAA/BlE,SAAS2G,SAAS7D,SAAwC,SAAW,GAAE,QAAQwwG,IAAI,eAAe,oBAC3LvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,yBAAwBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,qCAAAjoC,OAAsE,2BAA/BlE,SAAS2G,SAAS7D,SAAwC,SAAW,GAAE,SAASwwG,IAAI,eAAe,oBAC3LD,EAAAA,GAAAA,MAAA,MAAIz1C,QAAS,kBAAMu4D,GAAe,EAAK,EAAC34D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,WAAW,2BAMvHD,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACnCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wCAAwCmnE,IAAI,cAM7DD,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,0BAAyB6oB,SAAA,EACpCu0C,EAAAA,GAAAA,KAAA,UAGAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,UACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,8BAA6Bg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,0CAAAjoC,OAA2E,gCAA/BlE,SAAS2G,SAAS7D,SAA6C,SAAW,GAAE,QAAQwwG,IAAI,mBAAmB,yBAC7MvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,mCAAAjoC,OAAoE,wBAA/BlE,SAAS2G,SAAS7D,SAAqC,SAAW,GAAE,QAAQwwG,IAAI,YAAY,iBAC/KvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,2BAA0Bg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,6BAA/BlE,SAAS2G,SAAS7D,SAA0C,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,sBACnMvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,2BAA0Bg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,6BAA/BlE,SAAS2G,SAAS7D,SAA0C,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,yBAEvMvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,yBAAwBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,sCAAAjoC,OAAuE,2BAA/BlE,SAAS2G,SAAS7D,SAAwC,SAAW,GAAE,QAAQwwG,IAAI,eAAe,oBAC3LvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,yBAAwBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,qCAAAjoC,OAAsE,2BAA/BlE,SAAS2G,SAAS7D,SAAwC,SAAW,GAAE,SAASwwG,IAAI,eAAe,oBAC3LD,EAAAA,GAAAA,MAAA,MAAIz1C,QAAS,kBAAMu4D,GAAe,EAAK,EAAC34D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,WAAW,0BAM3H,CCrFA,QAAgB,OAAS,uBAAuB,gBAAgB,8BAA8B,eAAe,6BAA6B,eAAe,6BAA6B,gBAAkB,gCAAgC,cAAgB,+BCKzO,SAAS8iB,KACpB,IAAMC,EAAS/lB,IACfjE,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApCiqB,EAAOhqB,EAAA,GAAEiqB,EAAUjqB,EAAA,GAC3B+F,GAAsCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA7CqkB,EAAYpkB,EAAA,GAACqkB,EAAerkB,EAAA,GACpCG,GAAwC1oB,EAAAA,EAAAA,WAAS,GAAM2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA/CyjB,EAAWxjB,EAAA,GAAEyjB,EAAczjB,EAAA,IAcnCxoB,EAAAA,EAAAA,YAAU,WACHmsC,GACCO,GAGR,GAAG,IAEH,IAAMA,EAAwB,WAC1B7D,GAAIr2G,IAAIg0G,GAAgB2F,EAAS,eAChC7/G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRghD,EAAW9/D,EAAIv6C,KAAK26G,OAEpBpmB,IACAjvG,OAAOmF,SAASnE,QAAQ,sBAEhC,IACCuqC,OAAM,SAAA7qC,GACHZ,QAAQkuE,IAAIttE,EAChB,GACJ,EAEA,OAAQmxG,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACD04D,IAAe7iB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMu4D,GAAe,EAAM,KACtEpkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sCACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAWzN,GAAwB,gBAAG02B,QAAS,kBAAMu4D,GAAe,EAAM,EAAC34D,SAAC,YACpF61C,EAAAA,GAAAA,MAAA,UAAQ1+D,UAAWzN,GAAsB,cAAEs2B,SAAA,CAAE,MAAEu0C,EAAAA,GAAAA,KAACpX,EAAO,CAACn3F,GAAG,gBAAeg6D,SAAC,WAAgB,mBAO3G61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAe,OAAEs2B,SAAA,EAC7B61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,aAASu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAO84D,IAAWvkB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,SAAG84D,EAAQpD,UAAY,IAAMoD,EAAQlD,iBACnE/f,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,kBAIvBmsE,EAAAA,GAAAA,MAAA,OAAK2jB,aAAc,WAxD3Bz2E,YAAW,WACPo2E,GAAgB,EACpB,GAAG,IAsDwC,EAAEM,aAAc,WAlD3D12E,YAAW,WACPo2E,GAAgB,EACpB,GAAG,IAgDyE,EAACn5D,SAAA,EACrEu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,cACtCojB,IAAgBrjB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,iBAAiBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,kBACN61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CACK84D,EAAQpD,UAAY,IAAMoD,EAAQlD,UACnCrhB,EAAAA,GAAAA,KAAA,QAAAv0C,SAAO84D,EAAQz+C,YAGnBk6B,EAAAA,GAAAA,KAAA,KAAAv0C,UACAu0C,EAAAA,GAAAA,KAAA,QAAAv0C,UAAM61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,yBAAwBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,sBAAwB,sBAEhFo9D,EAAAA,GAAAA,KAAA,OAAMn0C,QAAS,kBAAMu4D,GAAe,EAAK,EAAC34D,UAC1Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,+BAA8B6oB,SAAC,4BAQjF,CCzFA,QAAgB,kBAAkB,yCAAyC,uBAAuB,8CAA8C,0BAA0B,iDAAiD,kBAAkB,yCAAyC,uBAAuB,8CAA8C,aAAa,oCAAoC,oBAAoB,2CAA2C,uBAAuB,8CAA8C,aAAa,oCAAoC,QAAU,iCAAiC,qBAAqB,4CAA4C,qBAAqB,4CAA4C,aAAa,oCAAoC,eAAe,uCCQ/xB,SAAS05D,GAAejuH,GACnC,IAAMotH,EAAS/lB,IAEfjE,GAAsCtiB,EAAAA,EAAAA,UAAS,SAAQuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA/C8qB,EAAU7qB,EAAA,GAAE8qB,EAAa9qB,EAAA,GACjC+F,GAA4CtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAhDglB,EAAa/kB,EAAA,GAAEglB,EAAgBhlB,EAAA,GACvCG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9C8kB,EAAY7kB,EAAA,GAAE8kB,EAAe9kB,EAAA,GACrCG,GAAsD9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA7D4kB,EAAkB3kB,EAAA,GAAE4kB,EAAqB5kB,EAAA,GACjDG,GAAwClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAA/C0kB,EAAWzkB,EAAA,GAAE0kB,EAAc1kB,EAAA,GACnCghB,GAAoCnqC,EAAAA,EAAAA,WAAS,GAAMoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAA3C2D,EAAS1D,EAAA,GAAE2D,EAAY3D,EAAA,GAC/BE,GAA4CtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAnD0D,EAAazD,EAAA,GAAE0D,EAAgB1D,EAAA,GACvCC,GAAgCxqC,EAAAA,EAAAA,WAAS,GAAMyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAAvC2Q,EAAO1Q,EAAA,GAAE2Q,EAAU3Q,EAAA,GAC3BY,GAAsCrrC,EAAAA,EAAAA,WAAS,GAAMsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAA7CgQ,EAAU/P,EAAA,GAAEgQ,EAAahQ,EAAA,GACjCC,GAA8CvrC,EAAAA,EAAAA,WAAS,GAAMwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAArDgQ,EAAc/P,EAAA,GAAEgQ,EAAiBhQ,EAAA,GACzCC,GAAgCzrC,EAAAA,EAAAA,WAAS,GAAM0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAAvCt7E,EAAOu7E,EAAA,GAAErB,EAAUqB,EAAA,GAC3B+J,GAAgCz1C,EAAAA,EAAAA,UAAS,IAAG01C,GAAAh3B,EAAAA,EAAAA,GAAA+2B,EAAA,GAApC9/H,EAAO+/H,EAAA,GAAElN,EAAUkN,EAAA,GAC3BC,IAA0C31C,EAAAA,EAAAA,UAAS,IAAG41C,IAAAl3B,EAAAA,EAAAA,GAAAi3B,GAAA,GAA9CtN,GAAYuN,GAAA,GAAEnN,GAAemN,GAAA,IAErCz1C,EAAAA,EAAAA,YAAU,WACH+mB,eAAehB,QAAQ,aACtBqnB,EAAiBrmB,eAAehB,QAAQ,YAGhD,GAAG,IAEH,IAAMgoB,GAAa,SAACplH,GAChBukH,EAAcvkH,EAClB,EAEM2yH,GAAa,SAACr5F,GAChB,OAAO,IAAIl2B,SAAS,SAACD,GACjB,IAAMy0F,EAASzqG,SAASG,cAAc,UACtCsqG,EAAOt+D,IAAMA,EAEbs+D,EAAOr9D,OAAS,WACZp3B,GAAQ,EACZ,EAEAy0F,EAAOp9D,QAAU,WACbr3B,GAAQ,EACZ,EAEAhW,SAAS4B,KAAKC,YAAY4oG,EAC9B,GACJ,EAqBMg7B,GAAoB,WACtBrR,GAAW,GACXrB,GAAIC,KAAKhC,GAAoB,CACzBqG,cAAeA,IAElB7gH,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,KACU,UAAf4hD,EACCe,MACqB,QAAff,GAEe,YAAfA,IADNuO,KAIoB,MAAlBjvE,EAAIv6C,KAAKq5D,MACf6+C,GAAW,GACa,2BAArB39D,EAAIv6C,KAAKxc,SACR6lI,GAAkB,KAGtBnR,GAAW,GACX5B,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,GAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEM2F,GAAqB,WACvBnF,GAAIC,KAAK/B,GAAa,CAClBoF,OAAQA,EACR8B,KAAM,iBACNC,UAAW,iBACXf,cAAeA,IAElB7gH,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRi9C,GAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpBuxG,eAAeZ,WAAW,YAC1BqnB,GAAsB,GACtBn3E,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EA2EMmT,GAAsB,WACxB3S,GAAIC,KAAKlB,GAAa,CAClBjnG,OAAuB,QAAfssG,EAAuB,MAAQ,QAE1C3gH,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,KACRowD,GAAgBlvE,EAAIv6C,KAAKA,KAAK0pH,UAE9BrT,EAAW97D,EAAIv6C,KAAKxc,SACpB8yH,GAAgB,SAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC5qC,GACJb,QAAQa,MAAMA,EAClB,GACJ,EAEMwjI,GAAe,eAAA17H,GAAA25F,EAAAA,GAAAA,IAAAE,EAAAA,GAAAA,KAAAhkG,MAAG,SAAA6yH,EAAOkT,GAAO,IAAArmI,EAAA,OAAAskG,EAAAA,GAAAA,KAAAW,MAAA,SAAA32E,GAAA,cAAAA,EAAAlN,KAAAkN,EAAAzX,MAAA,cAAAyX,EAAAzX,KAAA,EAChBmvH,GAAW,gDAA+C,OAAnE,GAAA13G,EAAAlX,KAED,CAADkX,EAAAzX,KAAA,QACqB,OAAxByvH,MAAM,mBAAkBh4G,EAAA04E,OAAA,iBAItBhnG,EAAU,CACZkG,IAhPI4jG,0BAiPJy8B,SAAU,MACVl7G,OAAuB,QAAfssG,EAAuB,MAAQ,MACvChnH,KAAM,sBACN2pG,YAAa,yBACbx8E,MAAO,uDAEPu+D,QAAS,SAAUl7C,GACfqlF,GAA0BH,EAASllF,EAASslF,oBAChD,EACAC,QAAS,CACL/1H,KAAM,wBAIQ,IAAI3O,OAAO2kI,SAAS3mI,GAC5BklC,OAAM,wBAAA5W,EAAAyL,OAAA,GAAAo5F,EAAA,KACvB,gBA1BoBjqB,GAAA,OAAAz+F,EAAAjC,MAAA,KAAAC,UAAA,KA4Bf+9H,GAA4B,SAACH,EAASzN,GACxCiN,GAAc,GACdtS,GAAIC,KAAKjB,GAAmB,CACxBsE,OAAQA,EACR+P,SAAUP,EACVQ,WAAYjO,EACZD,KAAM,mBAET3hH,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,KACR+wD,GAAwBT,EAASzN,EAAW3hE,EAAIv6C,KAAKqqH,UAAUC,oBAE/DnB,GAAc,GACd9S,EAAW97D,EAAIv6C,KAAKxc,SACpB8yH,GAAgB,SAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC5qC,GACJiyH,GAAW,GACX9yH,QAAQa,MAAMA,EAClB,GACJ,EAEMmkI,GAA0B,SAACT,EAASzN,EAAWmO,GACjDxT,GAAIC,KAAKhB,GAAiB,CACtBqE,OAAQA,EACR+P,SAAUP,EACVQ,WAAYjO,EACZmO,UAAWA,EACXrN,SAAyB,QAAf/B,EAAuB,mBAAqB,wBACtDgB,KAAM,mBAET3hH,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRg9C,EAAW,8BACXC,GAAgB,WAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KACe,QAAf4E,EApKU,SAACiB,GACtBrF,GAAIC,KAAK9B,GAAW,CAChBmF,OAAQA,EACR8B,KAAM,iBACNC,UAAWA,EACXf,cAAeA,IAElB7gH,MAAK,SAACigD,GACH4uE,GAAc,GACO,MAAlB5uE,EAAIv6C,KAAKq5D,MACR07B,eAAeZ,WAAW,YAC1Bg1B,GAAc,GACd3N,GAAsB,GACtBlF,GAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJmjI,GAAc,GACd/jI,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,CAkIgB8F,CAAiBD,GACI,YAAfjB,GAjIO,SAACiB,GAC1BrF,GAAIC,KAAK7B,GAAe,CACpBkF,OAAQA,EACR8B,KAAM,iBACNC,UAAWA,EACXf,cAAeA,IAElB7gH,MAAK,SAACigD,GACH4uE,GAAc,GACO,MAAlB5uE,EAAIv6C,KAAKq5D,MACR07B,eAAeZ,WAAW,YAC1BqnB,GAAsB,GACtBlF,GAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJmjI,GAAc,GACd/jI,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,CAgGgB+F,CAAqBF,KAGzB7F,EAAW97D,EAAIv6C,KAAKxc,SACpB8yH,GAAgB,SAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC5qC,GACJiyH,GAAW,GACX9yH,QAAQa,MAAMA,EAClB,GACJ,EAIA,OAAQkxG,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,GAAcC,aAHlD,WAAQE,EAAW,GAAI,IAIvC+S,IAAkBjyB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EACnDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,sBACXo9D,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,wBAAwBs2B,SAAA,EAC3C61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,0BACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yCACHu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyBipB,QAAS,kBAAM2nE,GAAkB,EAAM,EAAC/nE,SAAC,cAExFu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qCAAqCmnE,IAAI,mCAKjE8xB,IAAc/xB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC/Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,sBACXo9D,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wBAAwBmnE,IAAI,aACrCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gEAIdi6D,IAAsBpkB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EACnDu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM85D,GAAsB,EAAM,KAC7E3lB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gCAAgCmnE,IAAI,qBAC7CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,mFACH61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,gBAAe6oB,SAAA,EAC1Bu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA2BipB,QAAU,kBAAM85D,GAAsB,EAAM,EAACl6D,SAAC,YAC3Fu0C,EAAAA,GAAAA,KAACzX,EAAI,CAAC92F,GAAG,sBAAqBg6D,UAACu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,6BAKzFm6D,IAAetkB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMg6D,GAAe,EAAM,KACtE7lB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAqBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,SAAS11C,QAAS,kBAAMg6D,GAAe,EAAM,QAErF7lB,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,SAAKu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBACf61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,iBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,0BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,qBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,qBAEtBu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA2BipB,QAAS,kBAAMg6D,GAAe,EAAM,EAACp6D,SAAC,kBAI9Fq6D,IAAaxkB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC1Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMk6D,GAAa,EAAM,KACpE/lB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAqBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,SAAS11C,QAAS,kBAAMk6D,GAAa,EAAM,QAEnF/lB,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,eAAMu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAChB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,2CAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,uBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6CAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,yCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,0BAEtBu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA2BipB,QAAS,kBAAMk6D,GAAa,EAAM,EAACt6D,SAAC,kBAI5Fu6D,IAAiB1kB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAMo6D,GAAiB,EAAM,KACxEjmB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAqBs2B,SAAA,EACxCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,SAAS11C,QAAS,kBAAMo6D,GAAiB,EAAM,QAEvFjmB,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAAI,eAAMu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAChB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,qBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,2BAEtBu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA2BipB,QAAS,kBAAMo6D,GAAiB,EAAM,EAACx6D,SAAC,mBAIjG61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAIzxG,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,uBACnEu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,oBAAmB6oB,UAC9B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,eAAer0C,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,iBAChEu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,kBAAkBr0C,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,gHACnEu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAOp9D,UAAWzN,GAAO,cAAcs2B,SAAC,oBAKxC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAMsnH,EAAe,OAAS,WAAYgB,aAAa,eAAe9mF,YAAY,uBAAuB17B,MAAOshH,EAAe9jB,SAAU,SAAAtyG,GAAC,OAAIq2H,EAAiBr2H,EAAEo9C,OAAOtoC,MAAM,OAEzLg8F,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAS,YAAAzwC,OAAcqzH,EAAe,GAAK,UAAY35D,QAAS,kBAAM45D,GAAiBD,EAAa,UAG/GxlB,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,iBACP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAsB,UAAfiwF,EAAyB,uBAAyB,2BAA4Bv5D,QAAS,kBAAMq6D,GAAW,QAAQ,EAACz6D,SAAA,EACpI61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,OAAO4hC,QAAwB,UAAfolF,GAA0B,YAAa,oBAEpF9jB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6BAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oCAEtBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMg6D,GAAe,EAAK,EAACp6D,SAAC,eAC3C61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,mBAExB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAsB,QAAfiwF,EAAuB,uBAAyB,2BAA4Bv5D,QAAS,kBAAMq6D,GAAW,MAAM,EAACz6D,SAAA,EAChI61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,OAAO4hC,QAAwB,QAAfolF,GAAwB,YAAa,kBAElF9jB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,wBAEtBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk6D,GAAa,EAAK,EAACt6D,SAAC,eACzC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,mBAExB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAsB,YAAfiwF,EAA2B,uBAAyB,2BAA4Bv5D,QAAS,kBAAMq6D,GAAW,UAAU,EAACz6D,SAAA,EACxI61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,OAAO4hC,QAAwB,YAAfolF,GAA4B,YAAa,sBAEtF9jB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAClB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8BAEtBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMo6D,GAAiB,EAAK,EAACx6D,SAAC,eAC7C61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,mBAExB61C,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAgB,QAAG5mC,MAAO,CAACgjC,WAAY,cAAck6B,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,WAAW8hC,QAASmzF,GAAW,UAAW3xB,SAAU,kBAAM4xB,GAAYD,EAAQ,IAAG,oJAEjKnzB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,kBAAiB6oB,SAExBtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyB4uB,UAAQ,EAAA/F,SAAC,mBACpDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyBipB,QAAS,iBA1c9D,KAAhBy5D,GAAsC,OAAhBA,GACrB7E,GAAgB,SAChBD,EAAW,sCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEe,IAAZ2S,GACN1S,GAAgB,SAChBD,EAAW,gDACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,WAGPkT,IA2buG,EAACjoE,SAAC,qCASjH,CCzgBA,QAAgB,iBAAiB,gCAAgC,cAAc,6BAA6B,mBAAqB,oCAAoC,iBAAmB,kCAAkC,sBAAwB,uCAAuC,aAAa,4BAA4B,WAAa,6BCMhU,SAASg7D,GAAQvvH,GAC5B,IAAMotH,EAAS/lB,IACfjE,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApCiqB,EAAOhqB,EAAA,GAAEiqB,EAAUjqB,EAAA,GAC3B+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtComB,EAAQnmB,EAAA,GAAEomB,EAAWpmB,EAAA,GAC7BG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9CkmB,EAAYjmB,EAAA,GAAEkmB,EAAelmB,EAAA,GACrCG,GAAsC9oB,EAAAA,EAAAA,UAAS,GAAE+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAzCgmB,EAAU/lB,EAAA,GAAEgmB,EAAahmB,EAAA,IAkBjC5oB,EAAAA,EAAAA,YAAU,WAfN6oC,GAAIr2G,IAAImzG,GAAa,cAAA3rH,OAAiB20H,EAAU,YAAA30H,OAAWmyH,IAC1D7/G,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRghD,EAAW9/D,EAAIv6C,KAAK68G,SACpBL,EAAYjiE,EAAIv6C,KAAKu8G,UACrBG,EAAgBniE,EAAIv6C,KAAKy8G,eAEzBpC,EAAW,GAEnB,IACCxpF,OAAM,SAAC5qC,GACJb,QAAQa,MAAMA,EAClB,GAMJ,GAAG,CAAC02H,IAOJ,OAAQ9mB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAIzxG,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,eACnEu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,CAEjC84D,EAAQhzH,OAAS,GAChByuG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACG61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,eAEN84D,EAAQvnH,KAAI,SAAC1J,EAAMlC,GAAC,OACjBkwG,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,KAAGr6D,EAAI,MAC5BkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAa,GAAAt5D,OAAG,IAAIsvD,KAAKnuD,EAAK2zH,YAAav0H,OAAO,EAAG,QAC9D4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAkB,IAAEn4D,EAAK4zH,cAMlC5lB,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO7hC,EAAK6zH,UAAU17D,SAAA,EAChCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBACa,uBAAlBn4D,EAAK6zH,UAAqC,QACxB,qBAAlB7zH,EAAK6zH,UAAmC,MACtB,0BAAlB7zH,EAAK6zH,UAAwC,cAElDnnB,EAAAA,GAAAA,KAAA,KAAGn0C,QAAS,kBAzChC,SAACjrD,GACjBs+F,eAAed,QAAQ,iBAAkBx4C,KAAKC,UAAUjlD,IACxD1J,EAAMF,QAAQb,KAAK,qBACvB,CAsC0DqxH,CAAYl0H,EAAK,EAACm4D,SAAC,kBAf/Br6D,EAgBJ,UAIjB4uG,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,cAAcs2B,SAAC,eAExCpzD,KAAK+R,KAAKw8G,EAAaF,GAAY,IAAKplB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EAChE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,CAEQq7D,GAAc,GACb9mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,8BAA8BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,IAE9F3zH,MAAMzB,KAAK,CAACH,OAAQ8G,KAAK+R,KAAKw8G,EAAaF,KAAY,SAAC/hH,EAAGvT,GAAC,OAAK4uG,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk7D,EAAc31H,EAAI,EAAE,EAAEwxC,UAAWkkF,IAAgB11H,EAAI,EAAK,SAAW,GAAGq6D,SAAUr6D,EAAI,GAARA,EAAiB,IAElL01H,GAAczuH,KAAK+R,KAAKw8G,EAAaF,IACpC1mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,gCAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAA+BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,QAGpGxlB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WACN61C,EAAAA,GAAAA,MAAA,UAAQ9vC,UAAQ,EAAA/F,SAAA,EACZu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,MAAKynD,SAAC,kCASxD,CC/GA,QAAgB,YAAY,0BAA0B,iBAAiB,+BAA+B,sBAAsB,oCAAoC,uBAAuB,qCAAqC,iBAAiB,+BAA+B,kBAAkB,gCAAgC,wBAAwB,sCAAsC,aAAa,2BAA2B,qBAAqB,mCAAmC,iBAAiB,+BAA+B,qBAAqB,mCAAmC,0BAA0B,wCAAwC,WAAa,4BCEpoB,SAASipE,GAAMx9H,GAC1B,IAAMwwH,EAAexwH,EAAMwwH,aACrBiN,EAASz9H,EAAMy9H,OAErB,OAAQrzB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaW,UACxC/mB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,+BAAkCi8D,EAAaY,kCACxDhnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAa/wE,UACxC2qD,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBACLi8D,EAAakN,WAEkB,MAA5BlN,EAAakN,YAAkD,MAA5BlN,EAAakN,YAAkD,MAA5BlN,EAAakN,WACtD,MAA5BlN,EAAakN,WAAmB,KAAkC,MAA5BlN,EAAakN,WAAqB,KAAO,KAC/E,SAGTtzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaa,YACxCjnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAac,WACvClnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAae,yBAC5CnnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAAwBi8D,EAAagB,wBAC9CpnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaxpH,eAG/CojG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBkpE,MACzBrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBkpE,MACzBrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBkpE,MAClCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,4BAA+BkpE,MACxCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBkpE,MAC/BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,oBAAuBkpE,MAChCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBkpE,MAClCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmBkpE,MAC5BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBkpE,YAGlCrzB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,2BAA2Bs2B,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,SACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sBAEP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,KACJ30B,EAAAA,GAAAA,KAAA,KAAAv0C,SAAIkpE,WAGZrzB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aAGP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,MAAQ,QAEjB61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAYkpE,MACrBrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoBkpE,MAC7BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmBkpE,MAC5BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBkpE,MAC/BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAA2BkpE,MACpCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAYkpE,eAKjCrzB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBkpE,MAClCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAAwBkpE,aAkBjD,CCvHe,SAASE,GAAI39H,GACxB,IAAMwwH,EAAexwH,EAAMwwH,aACrBE,EAAiB1wH,EAAM0wH,eACvB+M,EAASz9H,EAAMy9H,OAErB,OAAQrzB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaiB,gBACxCrnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,+BAAkCi8D,EAAakB,uBACxDtnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAamB,eACxCvnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBACLi8D,EAAaoN,aAEoB,MAA9BpN,EAAaoN,cAAsD,MAA9BpN,EAAaoN,cAAsD,MAA9BpN,EAAaoN,aACxD,MAA9BpN,EAAaoN,aAAqB,KAAoC,MAA9BpN,EAAaoN,aAAuB,KAAO,KACnF,SAGTxzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaoB,yBACxCxnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaqB,0BACvCznB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAasB,mBAC5C1nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAAwBi8D,EAAauB,kBAC9C3nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAawB,oBAG/C5nB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBi8D,EAAayB,SAAWzB,EAAayB,SAAW,QACzE7nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBi8D,EAAa0B,SAAW1B,EAAa0B,SAAW,QACzE9nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBi8D,EAAa2B,sBAC/C/nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,4BAA+Bi8D,EAAa4B,4BACrDhoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAa6B,mBAC5CjoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,oBAAuBi8D,EAAa8B,oBAC7CloB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBi8D,EAAa+B,sBAC/CnoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmBi8D,EAAagC,gBACzCpoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaiC,oBAG/CroB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBAEAm8D,EAAer2H,OAAS,GAExB+vG,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACA61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,2BAA2Bs2B,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,SACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qBAGNm8D,EAAe5qH,KAAI,SAAC8D,EAAG1P,GAAC,OACrBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEoY,UACN8mF,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAE8oH,kBACN5pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAE+oH,gBAAkB/oH,EAAE+oH,gBAAkB,OAC5C7pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEgpH,cAAgBhpH,EAAEgpH,cAAgB,OACxC9pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEipH,gBACN/pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEhM,SACNkrG,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEkpH,IAAMlpH,EAAEkpH,IAAM,OACpBhqB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEmpH,aAAenpH,EAAEmpH,aAAc,OACrCjqB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEgY,UACNknF,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEopH,kBACNlqB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEqpH,cAAe,OAAS,YAXiB/4H,EAY7C,QAGT4uG,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,SAAC,yBAG/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aAGP61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,MAAQ,QAEjB61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAYkpE,MACrBrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoBkpE,MAC7BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmBkpE,MAC5BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBkpE,MAC/BrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAA2BkpE,MACpCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAYkpE,eAKjCrzB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBkpE,MAClCrzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAAwBkpE,aAkBjD,CClIe,SAASI,GAAO79H,GAC3B,IAAMwwH,EAAexwH,EAAMwwH,aACrBE,EAAiB1wH,EAAM0wH,eACvBI,EAAkB9wH,EAAM8wH,gBACxBgN,EAAmB99H,EAAM89H,iBAG/B,OAAQ1zB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaiB,gBACxCrnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,+BAAkCi8D,EAAakB,uBACxDtnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAamB,eACxCvnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBACLi8D,EAAaoN,aAEoB,MAA9BpN,EAAaoN,cAAsD,MAA9BpN,EAAaoN,cAAsD,MAA9BpN,EAAaoN,aACxD,MAA9BpN,EAAaoN,aAAqB,KAAoC,MAA9BpN,EAAaoN,aAAuB,KAAO,KACnF,SAGTxzB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAkBi8D,EAAaoB,yBACxCxnB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaqB,0BACvCznB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAasB,mBAC5C1nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAAwBi8D,EAAauB,kBAC9C3nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAawB,oBAG/C5nB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBi8D,EAAayB,SAAWzB,EAAayB,SAAW,QACzE7nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBi8D,EAAa0B,SAAW1B,EAAa0B,SAAW,QACzE9nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBi8D,EAAa2B,sBAC/C/nB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,4BAA+Bi8D,EAAa4B,4BACrDhoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsBi8D,EAAa6B,mBAC5CjoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,oBAAuBi8D,EAAa8B,oBAC7CloB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAyBi8D,EAAa+B,sBAC/CnoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmBi8D,EAAagC,gBACzCpoB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaiC,oBAG/CroB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBAEAm8D,EAAer2H,OAAS,GAExB+vG,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACA61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,2BAA2Bs2B,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,SACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,qBAGNm8D,EAAe5qH,KAAI,SAAC8D,EAAG1P,GAAC,OACrBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEoY,UACN8mF,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAE8oH,kBACN5pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAE+oH,gBAAkB/oH,EAAE+oH,gBAAkB,OAC5C7pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEgpH,cAAgBhpH,EAAEgpH,cAAgB,OACxC9pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEipH,gBACN/pB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEhM,SACNkrG,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEkpH,IAAMlpH,EAAEkpH,IAAM,OACpBhqB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEmpH,aAAenpH,EAAEmpH,aAAc,OACrCjqB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEgY,UACNknF,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEopH,kBACNlqB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI3qD,EAAEqpH,cAAe,OAAS,YAXiB/4H,EAY7C,QAGT4uG,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,SAAC,yBAG/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBAEAu8D,EAAgBz2H,OAAS,GACxB+vG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OAEHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,iBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YAGNu8D,EAAgBhrH,KAAI,SAAC8D,EAAG1P,GAAC,OAC1BkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,sBAAsBs2B,SAAA,EACzC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,MAASr6D,EAAI,MAEtBkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAY,GAAAt5D,OAAG,IAAIsvD,KAAK3gD,EAAEspH,cAAe13H,OAAO,EAAG,QAC5D4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,iBAAoB3qD,EAAEwpH,eAC/BhpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBAAmB3qD,EAAEypH,mBAC9BjpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,mBAAsB3qD,EAAE0pH,sBACjClpB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAA2B3qD,EAAEuqH,kBAAkBD,SACxD9pB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAY3qD,EAAEwqH,gBAAgBE,QAAU1qH,EAAEwqH,gBAAgBE,QAAU,SAR9Bp6H,EAU7C,QAET4uG,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,SAAC,yBAG/C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,yBAAyBs2B,SAAA,EAC5Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sBAEAupE,GAAmBA,EAAiBC,iBACnC3zB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,sBAAwB,IAAEupE,EAAiBA,iBAAiBA,EAAiBA,iBAAiB,IAAI,QAC3G1zB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAEFupE,EAAiBC,gBAAgB1jI,OAAO,EACvCyjI,EAAiBC,gBAAgBj4H,KAAI,SAAC2xC,EAAQv9C,GAAC,OAC5C4uG,EAAAA,GAAAA,KAAA,QAAAv0C,SAAe9c,EAAO,MAAXv9C,EAAuB,IAErC,WAIZ4uG,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,SAAC,0BAsBvD,CCnJe,SAASg8D,KACpB,IAAAntB,GAA0CtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9CotB,EAAYntB,EAAA,GAAEotB,EAAeptB,EAAA,GACrC+F,GAA8CtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAlDsnB,EAAcrnB,EAAA,GAAEsnB,EAAiBtnB,EAAA,GACzCG,GAA8C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAlDonB,EAAcnnB,EAAA,GAAEonB,EAAiBpnB,EAAA,GACzCG,GAAgD9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAApDknB,EAAejnB,EAAA,GAAEknB,EAAkBlnB,EAAA,GAC3CG,GAAkDlpB,EAAAA,EAAAA,UAAS,MAAKmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAxD8zB,EAAgB7zB,EAAA,GAAE+zB,EAAmB/zB,EAAA,GAC7CghB,GAA4CnqC,EAAAA,EAAAA,UAAS,MAAKoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAlDgT,EAAa/S,EAAA,GAAEgT,EAAgBhT,EAAA,GAEjCuS,EAAO,SAEbx8C,EAAAA,EAAAA,YAAU,WACN,IAAM2vC,EAAiBliE,KAAK9pC,MAAMojF,eAAehB,QAAQ,mBACzDgqB,EAAaJ,EAAeZ,UAChC,GAAG,IAEH,IAAMgB,EAAe,SAAChB,GAClBlG,GAAIC,KAAKlD,GAAe,CACpBmJ,UAAWA,IAEdziH,MAAK,SAACigD,GACHqjE,EAAkBrjE,EAAIv6C,KAAK3X,QACK,uBAA7BkyD,EAAIv6C,KAAK3X,OAAO20H,UACfQ,EAAgBjjE,EAAIv6C,KAAK3X,OAAO40H,YAAYj9G,MAC5C09G,EAAkB,IAClBI,EAAmB,IACnBiN,EAAoB,OACe,qBAA7BxwE,EAAIv6C,KAAK3X,OAAO20H,UACtBQ,EAAgBjjE,EAAIv6C,KAAK3X,OAAO40H,YAAYE,gBAC5CO,EAAkBnjE,EAAIv6C,KAAK3X,OAAO40H,YAAYQ,gBAC9CK,EAAmB,IACnBiN,EAAoB,OACe,0BAA7BxwE,EAAIv6C,KAAK3X,OAAO20H,WACtBQ,EAAgBjjE,EAAIv6C,KAAK3X,OAAO21H,aAAab,gBAC7CO,EAAkBnjE,EAAIv6C,KAAK3X,OAAO21H,aAAaP,gBAC/CK,EAAmBvjE,EAAIv6C,KAAK3X,OAAO21H,aAAaH,gBAAgBI,qBAAqB1jE,EAAIv6C,KAAK3X,OAAO21H,aAAaH,gBAAgBI,qBAAqB,IACvJ8M,EAAoBxwE,EAAIv6C,KAAK3X,OAAO21H,aAAakN,kBACjDD,EAAiB1wE,EAAIv6C,KAAK3X,OAAO21H,aAAagN,eAEtD,IACCn6F,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,EAClB,GACJ,EAEA,OAAQ6vG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,cAChC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,iBAAgB6oB,SAAA,EAC3Bu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,aAAas2B,UAAC61C,EAAAA,GAAAA,MAAC/Y,EAAI,CAAC92F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,4BAAiC,yBACnH0+D,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,oBAAmB6oB,SAAA,EAC9B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,uBAAuBs2B,SAAA,EAC1Cu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,yBACHu0C,EAAAA,GAAAA,KAAA,YACAA,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2CAA2CmnE,IAAI,MACxDvB,EAAAA,GAAAA,KAAA,eAEJsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,wBAAwBs2B,SAAA,EAC3Cu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iCACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,8CAA8CmnE,IAAI,YAGnED,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrC61C,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAmB,WAAEs2B,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAiB,8fAC3D61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAgBq8D,GAAkBA,EAAeZ,UAAUxqG,kBACpE4kF,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAY,GAAAt5D,OAAG,IAAIsvD,KAAKqmE,EAAeb,YAAav0H,OAAO,EAAG,QACvE4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gBACuB,uBAA5Bq8D,EAAeX,UAAqC,QACxB,qBAA5BW,EAAeX,UAAmC,MACtB,0BAA5BW,EAAeX,UAAwC,cAE5D7lB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAiBi8D,EAAaL,MAAMK,EAAaL,MAAMK,EAAaH,gBAEpD,uBAA5BO,EAAeX,WAAqCnnB,EAAAA,GAAAA,KAAC00B,GAAK,CAAChN,aAAcA,EAAciN,OAAQA,IACnE,qBAA5B7M,EAAeX,WAAmCnnB,EAAAA,GAAAA,KAAC60B,GAAG,CAACnN,aAAcA,EAAcE,eAAgBA,EAAgB+M,OAAQA,IAC/F,0BAA5B7M,EAAeX,WAAwCnnB,EAAAA,GAAAA,KAAC+0B,GAAM,CAACrN,aAAcA,EAAcE,eAAgBA,EAAgBI,gBAAiBA,EAAiBgN,iBAAkBA,EAAkBG,cAAeA,oBAO7O,CChGA,QAAgB,eAAe,mCAAmC,iBAAiB,sCCIpE,SAASnJ,KACtB,OACEhsB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAClCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UACzBu0C,EAAAA,GAAAA,KAAA,MAAIzxG,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,oBAEzCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC7Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,oBAAmB6oB,UAChC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,eAAer0C,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,WAChEu0C,EAAAA,GAAAA,KAAA,MAAIp9D,UAAU,kBAAkBr0C,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,2GAInE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACvC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAERu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACE61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6BAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,iBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,0BAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,qBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,sBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,+BAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,qBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,wBAIpB61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,gBAEnBu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACA61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAChB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oCAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,0CAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,uBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mCAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,kCAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6CAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,yCAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,6BAIpB61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,cAAW,gBAEnBu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACE61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8BAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,gCAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,mBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,oBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,qBAEhB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACEu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAQ,8CAYtC,CCtIA,QAAgB,mBAAmB,sCAAsC,yBAAyB,4CAA4C,mBAAqB,wCAAwC,iBAAmB,sCAAsC,sBAAwB,4CCM7Q,SAASw0C,KACpB,IAAMqkB,EAAS/lB,IACfjE,GAAgDtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApD2xB,EAAe1xB,EAAA,GAAE2xB,EAAkB3xB,EAAA,GAC3C+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtComB,EAAQnmB,EAAA,GAAEomB,EAAWpmB,EAAA,GAC7BG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9CkmB,EAAYjmB,EAAA,GAAEkmB,EAAelmB,EAAA,GACrCG,GAAsC9oB,EAAAA,EAAAA,UAAS,GAAE+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAzCgmB,EAAU/lB,EAAA,GAAEgmB,EAAahmB,EAAA,GAuBjC,OALA5oB,EAAAA,EAAAA,YAAU,WAfN6oC,GAAIr2G,IAAIwzG,GAAiB,cAAAhsH,OAAiB20H,EAAU,YAAA30H,OAAWmyH,IAC9D7/G,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR0oD,EAAmBxnE,EAAIv6C,KAAK68G,SAC5BL,EAAYjiE,EAAIv6C,KAAKu8G,UACrBG,EAAgBniE,EAAIv6C,KAAKy8G,eAEzBsF,EAAmB,GAE3B,IACClxF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,EAClB,GAMJ,GAAG,KAEK6vG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EACpCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACJ1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAIzxG,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,oBACnEu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EACvB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,eAENwgE,EAAgBjvH,KAAI,SAAC1J,EAAMlC,GAAC,OACzBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,KAAGr6D,EAAI,MAC5BkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,IAAE,GAAAt5D,OAAG,IAAIsvD,KAAKnuD,EAAK2zH,YAAav0H,OAAO,EAAG,QAC9D4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,IAAEn4D,EAAKwlB,WAC7BwoF,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO7hC,EAAK6zH,UAAU17D,SAAA,EAChCu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YACa,uBAAlBn4D,EAAK6zH,UAAqC,QACxB,qBAAlB7zH,EAAK6zH,UAAmC,MACtB,0BAAlB7zH,EAAK6zH,UAAwC,cAElD7lB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAiB,IAAEn4D,EAAK64H,WAAW74H,EAAK64H,WAAW,YAC5D7qB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAAc,IAAEn4D,EAAK84H,gBAAgB94H,EAAK84H,gBAAgB,SAXtBh7H,EAY3C,IAETiH,KAAK+R,KAAKw8G,EAAaF,GAAY,IAAKplB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EAChE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,CAEQq7D,GAAc,GACb9mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,8BAA8BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,IAE9F3zH,MAAMzB,KAAK,CAAEH,OAAQ8G,KAAK+R,KAAKw8G,EAAaF,KAAa,SAAC/hH,EAAGvT,GAAC,OAAK4uG,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk7D,EAAc31H,EAAI,EAAE,EAAEwxC,UAAWkkF,IAAgB11H,EAAI,EAAK,SAAW,GAAGq6D,SAAUr6D,EAAI,GAARA,EAAiB,IAEpL01H,GAAczuH,KAAK+R,KAAKw8G,EAAaF,IACpC1mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,gCAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAA+BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,QAGpGxlB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WACN61C,EAAAA,GAAAA,MAAA,UAAQ9vC,UAAQ,EAAA/F,SAAA,EACZu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,MAAKynD,SAAC,kCASxD,CC9FA,QAAgB,YAAY,uBAAuB,iBAAiB,4BAA4B,eAAe,0BAA0B,eAAe,0BAA0B,uBAAuB,kCAAkC,0BAA0B,qCAAqC,oBAAoB,gCCE/S,SAAS4gE,GAAcn1H,GAClC,IAAAojG,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GAErB,OAAQ+G,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACM,KAATpnD,IAAei9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChDu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,4CAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,gBAAgB,EAAC7gE,SAAC,YAChFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAM30D,EAAM41H,YAAY,EAACrhE,SAAC,eAG1E,kBAATpnD,IAA4Bi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC7Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mDAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,gBAAgB,EAAC7gE,SAAC,YAChFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,GAAG,EAAC7gE,SAAC,eAGnE,kBAATpnD,IAA4Bi9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,KAAC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mDAC/BsgE,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,eAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAM30D,EAAM61H,aAAa,EAACthE,SAAE,YAC5Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,gBAAgB,EAAE7gE,SAAC,oBAKnG,CCzCe,SAASuhE,GAAW91H,GAC/B,IAAAojG,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GAErB,OAAQ+G,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACM,KAATpnD,IAAei9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChDu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,wBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,8CAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAKygE,EAAQ,aAAa,EAAC7gE,SAAC,UAC5Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAM30D,EAAM41H,YAAY,EAACrhE,SAAC,eAI1E,eAATpnD,IAAyBi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC1Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,wBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,+CAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,oBAAoB,EAAC7gE,SAAC,YACpFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,GAAG,EAAC7gE,SAAC,eAInE,sBAATpnD,IAAgCi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EACjEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iCACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,UAAA71C,SAAA,EACQu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,WACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,aAEzBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,wBAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,eAAe,EAAC7gE,SAAC,YAC/Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,iBAAM,EAAE,EAAEJ,SAAC,eAI3D,iBAATpnD,IAA2Bi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC5Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,QAAA71C,SAAA,EACAu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qCACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,6BACA61C,EAAAA,GAAAA,MAAA,UAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,WACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,gBAGzBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,wBAC/BsgE,EAAAA,GAAAA,KAAA,OAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,wBAAeu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAE5B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAM30D,EAAM61H,aAAa,EAACthE,SAAC,YAC3Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,iBAAM,eAAe,EAAEJ,SAAC,iBAK1F,CCxEe,SAAS8iE,GAAIr3H,GACxB,IAAAojG,GAAwBtiB,EAAAA,EAAAA,UAAS,eAAcuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxCj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GACpB+F,GAA0CtoB,EAAAA,EAAAA,WAAS,GAAKuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAjD+e,EAAa9e,EAAA,GAAEiuB,EAAgBjuB,EAAA,GACtCG,GAAoC1oB,EAAAA,EAAAA,WAAS,GAAM2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA5C+tB,EAAU9tB,EAAA,GAAE+tB,EAAa/tB,EAAA,GAE1BguB,EAAY,SAAC7tH,EAAGC,GAClBytH,EAAiB1tH,GACjB4tH,EAAc3tH,EAClB,EAEC,SAAS+rH,IACNR,EAAQ,cACX,CAEA,SAASS,IACNT,EAAQ,eACX,CAED,OAAQtsB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC5Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM30D,EAAM23H,eAAe,KACtEvtB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,CACZ,gBAATpnD,IAA0Bi9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,GAAG11C,QAAS,kBAAM30D,EAAM23H,eAAe,OAE/EvtB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,6BAA6BmnE,IAAI,kBAC1CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kDACHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,wBAIhF,gBAATpnD,IACGi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0DACHu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOkqF,EAAc,uBAAuB,2BAA4BxzD,QAAS,kBAAM8iE,GAAU,GAAM,EAAM,EAACljE,SAAA,EAC1Hu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,iBAAiB4hC,QAASq/E,GAAiB,UAAWpvG,UAAQ,OAE3FqxF,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oBACHu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gDAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOs5F,EAAW,uBAAuB,2BAA4B5iE,QAAS,kBAAM8iE,GAAU,GAAO,EAAK,EAACljE,SAAA,EACvHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,cAAc4hC,QAASyuF,GAAc,UAAWx+G,UAAQ,OAErFqxF,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gDAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,CACpC4zD,GACArf,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,iBAAiB,EAAC7gE,SAAC,UACjFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,UAE/Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,eAIlF,mBAATpnD,IAA6B27F,EAAAA,GAAAA,KAACqsB,GAAa,CAACS,WAAYA,EAAYC,YAAaA,IACxE,gBAAT1oH,IAA0B27F,EAAAA,GAAAA,KAACgtB,GAAU,CAACF,WAAYA,EAAYC,YAAaA,IAClE,iBAAT1oH,IAA2B27F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,aAAas2B,UAC5Du0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,6BAA6BmnE,IAAI,MAC1CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8CACHu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAM30D,EAAM23H,eAAe,EAACpjE,SAAC,uBAOzG,CCtFA,QAAgB,iBAAiB,mCAAmC,aAAa,+BAA+B,kBAAkB,oCAAoC,mBAAmB,qCAAqC,0BAA0B,4CAA4C,4BAA4B,8CAA8C,QAAU,4BAA4B,cAAc,gCAAgC,eAAe,iCAAiC,mBAAmB,sCCQtf,SAASqjE,KACpB,IAAMxK,EAAS/lB,IACfjE,GAAwCtiB,EAAAA,EAAAA,UAAS,WAAUuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAnDy0B,EAAWx0B,EAAA,GAAEy0B,EAAcz0B,EAAA,GACnC+F,GAAoCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA3CquB,EAASpuB,EAAA,GAAE0uB,EAAY1uB,EAAA,GAC/BG,GAAgC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAApC6jB,EAAO5jB,EAAA,GAAE6jB,EAAU7jB,EAAA,GAC3BG,GAAsC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA1CquB,EAAUpuB,EAAA,GAAEquB,EAAaruB,EAAA,GACjCG,GAA4ClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAnDquB,EAAapuB,EAAA,GAAEquB,EAAgBruB,EAAA,GACvCghB,GAA4BnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAhCV,EAAKW,EAAA,GAAEV,EAAQU,EAAA,GACvBE,GAAgCtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAvCX,EAAOY,EAAA,GAAEX,EAAUW,EAAA,GAC3BC,GAA8CxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAAlDX,EAAcY,EAAA,GAAEX,EAAiBW,EAAA,GACzCY,GAA4BrrC,EAAAA,EAAAA,WAAS,GAAMsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAAnCtB,EAAKuB,EAAA,GAAEtB,EAAQsB,EAAA,GACvBC,GAAwBvrC,EAAAA,EAAAA,UAAS,IAAGwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAA5BtB,EAAGuB,EAAA,GAAEtB,EAAMsB,EAAA,GACnBC,GAAgCzrC,EAAAA,EAAAA,WAAS,GAAM0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAAvCt7E,EAAOu7E,EAAA,GAAErB,EAAUqB,EAAA,GAC3B+J,GAAgCz1C,EAAAA,EAAAA,UAAS,IAAG01C,GAAAh3B,EAAAA,EAAAA,GAAA+2B,EAAA,GAApC9/H,EAAO+/H,EAAA,GAAElN,EAAUkN,EAAA,GAC3BC,GAA0C31C,EAAAA,EAAAA,UAAS,IAAG41C,GAAAl3B,EAAAA,EAAAA,GAAAi3B,EAAA,GAA9CtN,GAAYuN,EAAA,GAAEnN,GAAemN,EAAA,GAUrC,IAAM/I,GAAwB,WAC1B7D,GAAIr2G,IAAIg0G,GAAgB2F,EAAS,eAChC7/G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRghD,EAAW9/D,EAAIv6C,KAAK26G,MACpBsK,EAAc1qE,EAAIv6C,KAAK4lH,WAEvBxgI,QAAQkuE,IAAI/Y,EAEpB,IAAG1pB,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,EAClB,GACJ,GAEAgoF,EAAAA,EAAAA,YAAU,WACN0sC,IAEJ,GAAG,IAEH,IA0CMnC,GAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOlB,IAEVh9G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXE,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3Be,KACAnC,GAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,GAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMoC,GAAa,WACfZ,EAAS,IACTa,GAAc,GAClB,EACMA,GAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAiCM2sH,GAAW,WACb3P,GAAIC,KAAKjC,GAAgB,CACrBsF,OAAQA,EACRsM,UAAWnP,EACXjmG,OAAQ,eAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRqhD,KACA2K,GAAiB,GACjBtN,EAAO,IACPR,EAAS,IACTE,GAAW,GACXnB,GAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAIA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,GAAcC,aAHlD,WAAQE,EAAW,GAAI,IAIvC+O,IAAiBjuB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM2jE,GAAiB,EAAM,KACxExvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,SAE/Bk2D,GACCrgB,EAAAA,GAAAA,MAAA,QAAMQ,SA5ET,SAAC5yG,GACfA,EAAEG,iBACF2xH,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOlB,EACPQ,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,eAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,KACRmtD,MAEAtO,GAAW,GACX5B,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,GAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EA+C+C/0D,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjwD,UAAQ,KAC1EwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SAEjCs2D,EAAQ,GACPzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,GAAQj3D,SAAC,gBAInFtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyB4uB,UAAQ,EAAA/F,SAAC,eACpDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,eAGnDu0C,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SA3LJ,SAAC5yG,GAEvB,GADAA,EAAEG,iBACgB,KAAfoyH,EAAMlwH,OAML,OALAivH,EAAW,yCACXC,GAAgB,cAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAGP6B,GAAW,GACXrB,GAAIr2G,IAAI8yG,GAAgBgE,EAAQ,eAC/Bh9G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,GAAgB,SAChBD,EAAW,2DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MACqB,MAAlB97D,EAAIv6C,KAAKq5D,KACfk/C,MAEAL,GAAW,GACX5B,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,GAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAmJ0D/0D,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjgB,SAAU,SAACtyG,GAAK,IAAD2hI,EAAAC,EACzEC,EAAc7hI,EAAEo9C,OAAOtoC,MAAMkqC,MAAM,OAC5B,QAAX2iF,EAAAE,SAAW,IAAAF,GAAXA,EAAazzH,OAAO,KACpB2zH,EAAcA,EAAgBA,EAAyB,QAAdD,EAAGC,SAAW,IAAAD,OAAA,EAAXA,EAAar+H,KAAK,IAAO,MACnDs+H,EAAc,IAChCrP,EAASqP,EACF,IAEP5oF,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyB4uB,UAAQ,EAAA/F,SAAC,aACpDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAwB6oB,SAAC,0BAQxE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAIzxG,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,kBACnEu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,QAEnCD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAK84D,EAAQpD,UAAY,IAAMoD,EAAQlD,YACvCrhB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI84D,EAAQz+C,eAIpBw7B,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,mBAAmBs2B,UACtC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAuB,YAAhB45F,EAA4B,0BAA4B,IAAKljE,QAAS,kBA9PvG,SAAC/qD,GACfkuH,EAAeluH,EACnB,CA4P+H+uH,CAAU,UAAU,EAACpkE,SAAA,EACpHu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAqB,YAAhB20F,EAA4B,0CAA4C,+BAAgCxtB,IAAI,MACtHvB,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,0BAOd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,CACtB,YAAhBsjE,IAA8BztB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EAC3Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAmBixB,aAAc4zD,EAAQpD,UAAW3vD,UAAQ,KAC3FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,kBAAkBixB,aAAc4zD,EAAQlD,SAAU7vD,UAAQ,KACzFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,YACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,eAAeixB,aAAc4zD,EAAQz+C,MAAOtU,UAAQ,KACnFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAc4zD,EAAQqM,UAAWp/D,UAAQ,KAC7F8vC,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,6BAA8B02B,QAAS,kBAAM2jE,GAAiB,EAAK,EAAC/jE,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,sBAAwB,IAAE2hF,EAAQqM,UAAY,uBAAyB,0BAEnK,QAAhB7B,IAAyBztB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACrBkjE,IAAa3uB,EAAAA,GAAAA,KAACuuB,GAAG,CAACM,cAlRnD,WACII,GAAa,EACjB,KAiRgC3tB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,SAEImvB,EAAWa,QACV1uB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,iBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAaixB,aAAcw+D,EAAW6B,WAAW5yH,KAAMozD,UAAQ,KAC9FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAmBixB,aAAcw+D,EAAW6B,WAAWzE,UAAW/6D,UAAQ,KACzGwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,qBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAaixB,aAAcw+D,EAAWgC,cAAc/yH,KAAMozD,UAAQ,KACjGwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuBixB,aAAcw+D,EAAWgC,cAAcmE,aAAc9jE,UAAQ,KACnHwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,mBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAcw+D,EAAWgC,cAAcoE,WAAY/jE,UAAQ,KAC/GwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gBAAgBixB,aAAcw+D,EAAWgC,cAAc9B,QAAS79D,UAAQ,QAE1G8vC,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,yBAAyBmnE,IAAI,MACtCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yBACJu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,yBAAyBipB,QAAS,kBAAMojE,GAAa,EAAK,EAACxjE,SAAC,6CAY9H,CCjVA,QAAgB,kBAAkB,oCAAoC,aAAa,+BAA+B,0BAA0B,6CCM7H,SAASinE,KACpB,IAAAp4B,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bl8F,EAAIm8F,EAAA,GAAEo4B,EAAOp4B,EAAA,GACrB+F,GAA4BtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAhCx6B,EAAKy6B,EAAA,GAAE4iB,EAAQ5iB,EAAA,GACvBG,GAAwC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA5C6gB,EAAW5gB,EAAA,GAAEyiB,EAAcziB,EAAA,GACnCG,GAAsC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA1C8xB,EAAU7xB,EAAA,GAAE8xB,EAAa9xB,EAAA,GACjCG,GAAgClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAvC/4D,EAAOg5D,EAAA,GAAEkhB,EAAUlhB,EAAA,GAC3BghB,GAAgCnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAApCx0H,EAAOy0H,EAAA,GAAE5B,EAAU4B,EAAA,GAC3BE,GAA0CtqC,EAAAA,EAAAA,UAAS,IAAGuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAA9CjC,EAAYkC,EAAA,GAAE9B,EAAe8B,EAAA,GAsCrC,OAAQjhB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACP99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAH9C,WAAQE,EAAW,GAAI,KAIxClf,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAIzxG,MAAO,CAACgjC,WAAY,cAAck6B,SAAC,kBACnEu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,UACjCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,kBAE5CvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,2BAA2Bs2B,UAC9C61C,EAAAA,GAAAA,MAAA,QAAMQ,SAAU,SAAC5yG,GACZA,EAAEG,iBAEF,OAAI+O,EAAK8vC,MADO,iBASQ,KAArBqzE,EAAYhwH,QACZivH,EAAW,yCACXC,EAAgB,cAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,WA/D/BQ,GAAIC,KAAKrC,GAAoB,CACzBxgH,KAAMA,EACN0nE,MAAOA,EACPy7C,YAAaA,EACb5zH,QAASilI,EACTxM,KAAM,eAET3hH,MAAK,SAACigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACT6+C,GAAW,GACXsQ,EAAQ,IACRxP,EAAS,IACTC,EAAe,IACfyP,EAAc,IACdpS,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEH6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA5qC,GACLb,QAAQkuE,IAAIrtE,EAChB,KAsB6BowH,EAAW,uCACXC,EAAgB,cAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAUa,EAAE/0D,SAAA,EAEvBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,UACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,kBAAkB17B,MAAO5F,EAAMojG,SAAU,SAAAtyG,GAAC,OAAIyjI,EAAQzjI,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC9G+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,YACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQwhC,YAAY,cAAc17B,MAAO8hE,EAAO07B,SAAU,SAAAtyG,GAAC,OAAIi0H,EAASj0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC7G+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAAa/f,SAAU,SAACtyG,GAAK,IAAD2hI,EAAAC,EAC3EC,EAAc7hI,EAAEo9C,OAAOtoC,MAAMkqC,MAAM,OAC5B,QAAX2iF,EAAAE,SAAW,IAAAF,GAAXA,EAAazzH,OAAO,KACpB2zH,EAAcA,EAAgBA,EAAyB,QAAdD,EAAGC,SAAW,IAAAD,OAAA,EAAXA,EAAar+H,KAAK,IAAO,MACnDs+H,EAAc,IAChC3N,EAAe2N,EACR,EAAG9gH,UAAQ,KAE1B+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,YAAUzxG,MAAO,CAACgjC,WAAY,cAAeqR,UAAU,eAAelD,YAAY,gBAAgBozF,KAAK,IAAI9uH,MAAO4uH,EAAYpxB,SAAU,SAAAtyG,GAAC,OAAI2jI,EAAc3jI,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACpL+vF,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,8BAA6B6oB,SAAEtjB,EAAQ,cAAc,mCAQvG,CC5GA,QAAgB,cAAc,6BCGf,SAAS6qF,KAOpB,OANA76C,EAAAA,EAAAA,YAAU,WACNumB,IACAjvG,OAAOmF,SAASnE,QAAQ,oBAE5B,GAAG,KAEKuvG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,UAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wCAAwCmnE,IAAI,UACrDvB,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,iCAAsC,wBAI1E,CCpBA,QAAgB,aAAa,0BAA0B,eAAe,4BAA4B,YAAY,yBAAyB,cAAc,2BAA2B,cAAc,2BAA2B,aAAa,0BAA0B,mBAAmB,gCAAgC,eAAe,4BAA4B,oBAAoB,iCAAiC,UAAY,0BCOhZ,SAAS29E,KACpB,IAAAjmB,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApC3sG,EAAO4sG,EAAA,GAAEimB,EAAUjmB,EAAA,GAC3B+F,GAA0CtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA9C+f,EAAY9f,EAAA,GAAEkgB,EAAelgB,EAAA,GAE3BmgB,EAAQ1lB,EAAe,CACzBM,UAAU,WAAD,IAAAqlB,GAAA9uB,EAAAA,GAAAA,IAAAE,EAAAA,GAAAA,KAAAhkG,MAAE,SAAA6yH,EAAMhyE,GAAQ,IAAA8V,EAAA,OAAAqtC,EAAAA,GAAAA,KAAAW,MAAA,SAAA32E,GAAA,cAAAA,EAAAlN,KAAAkN,EAAAzX,MAAA,cAAAyX,EAAAlN,KAAA,EAAAkN,EAAAzX,KAAA,EAEC04G,GAAMryG,IAAI,gDAAiD,CACzEmhG,QAAS,CACL,cAAgB,UAAD35G,OAAYy8C,EAASiyE,iBAE1C,OAJIn8D,EAAG3oC,EAAAlX,KAKTi8G,EAAYp8D,EAAIv6C,MAAM4R,EAAAzX,KAAA,gBAAAyX,EAAAlN,KAAA,EAAAkN,EAAAglG,GAAAhlG,EAAA,SAEtBxsB,QAAQkuE,IAAG1hD,EAAAglG,IAAQ,yBAAAhlG,EAAAyL,OAAA,GAAAo5F,EAAA,kBAE1B,gBAAAjqB,GAAA,OAAAgqB,EAAA1qH,MAAA,KAAAC,UAAA,EAXS,KAcR4qH,EAAc,SAAC98G,GACjBg9G,GAAIC,KAAKtD,GAAmB,CACxB73C,MAAO9hE,EAAM8hE,MACbtqD,OAAQ,SAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRq7B,EAAen6C,EAAIv6C,KAAK4M,OACxBtnB,OAAOmF,SAASnE,QAAQ,uBACA,MAAlBi0D,EAAIv6C,KAAKq5D,MACfi9C,EAAgB,SAChBD,EAAW,4DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHU,EAAiBl9G,EAEzB,IAAGg3B,OAAM,SAAA5qC,GACLb,QAAQa,MAAMA,GACdowH,EAAW,0CACXC,EAAgB,SAChBjyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMU,EAAmB,SAACpgH,GACtBkgH,GAAIC,KAAKzD,GAAgB,CACrB2D,UAAWrgH,EAAEsgH,WACbC,SAAUvgH,EAAEwgH,YACZx7C,MAAOhlE,EAAEglE,MACTy7C,YAAa,GACb/lG,OAAQ,SAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRh1B,YAAW,WACPsyE,EAAYhgH,EAChB,GAAG,MAEH2/G,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAIA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,KAIxClf,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAsB02B,QAAS60D,EAAMj1D,SAAA,EACxDu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,gBAAe,4BAIxE,CCxFe,SAASigB,GAAOtqH,GAC3B,IAAAojG,GAA4BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAhCmnB,EAAKlnB,EAAA,GAAEmnB,EAAQnnB,EAAA,GACvB+F,GAAgCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAvCqhB,EAAOphB,EAAA,GAAEqhB,EAAUrhB,EAAA,GAC3BG,GAA8C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAlDmhB,EAAclhB,EAAA,GAAEmhB,EAAiBnhB,EAAA,GACzCG,GAA4B9oB,EAAAA,EAAAA,WAAS,GAAM+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAnCihB,EAAKhhB,EAAA,GAAEihB,EAAQjhB,EAAA,GACvBG,GAAwBlpB,EAAAA,EAAAA,UAAS,IAAGmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAA5B+gB,EAAG9gB,EAAA,GAAE+gB,EAAM/gB,EAAA,GACnBghB,GAAgCnqC,EAAAA,EAAAA,WAAS,GAAMoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAvCh6E,EAAOi6E,EAAA,GAAEC,EAAUD,EAAA,GAC3BE,GAAgCtqC,EAAAA,EAAAA,UAAS,IAAGuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAApC30H,EAAO40H,EAAA,GAAE/B,EAAU+B,EAAA,GAC3BC,GAA0CxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA9CnC,EAAYoC,EAAA,GAAEhC,EAAegC,EAAA,GAsD/BC,EAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOlB,IAEVh9G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXE,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3Be,IACAnC,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAkCMoC,EAAa,WACfZ,EAAS,IACTa,EAAc,GAClB,EACMA,EAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAIA,OAAQs9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAKpCmB,GACCrgB,EAAAA,GAAAA,MAAA,QAAMQ,SArDG,SAAC5yG,GACfA,EAAEG,iBACF2xH,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOlB,EACPQ,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,SAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRq7B,EAAen6C,EAAIv6C,KAAK4M,OACxBtnB,OAAOmF,SAASnE,QAAQ,wBAExB4xH,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAuBmC/0D,SAAA,EACvB61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,uBACvBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjwD,UAAQ,KAC1EwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SAEjCs2D,EAAQ,GACPzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,EAAQj3D,SAAC,gBAInFtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAmB4uB,UAAQ,EAAA/F,SAAC,eAC9Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAkB6oB,SAAC,eAG7C61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SA/JQ,SAAC5yG,GACvBA,EAAEG,iBACFgzH,GAAW,GACXrB,GAAIr2G,IAAI8yG,GAAgBgE,EAAQ,SAC/Bh9G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACe,SAApB9e,EAAIv6C,KAAKqR,OACLkpC,EAAIv6C,KAAKpU,SACR2sH,KAEAL,GAAW,GACX5B,EAAgB,SAChBD,EAAW,4DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAGP6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW,mBACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEiB,MAAlB97D,EAAIv6C,KAAKq5D,MACf6+C,GAAW,GACX5B,EAAgB,SAChBD,EAAW,sDACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEH6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EA6G8C/0D,SAAA,EAC9B61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,uBACvBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjgB,SAAU,SAAAtyG,GAAC,OAAIwyH,EAASxyH,EAAEo9C,OAAOtoC,MAAM,IAErGmkC,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAmB4uB,UAAQ,EAAA/F,SAAC,aAC9Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAkB6oB,SAAC,iBAG9C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAEbu0C,EAAAA,GAAAA,KAACugB,GAAe,KAChBjf,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,eAAes2B,SAAA,CAAC,2BAAuBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAM30D,EAAM6rH,oBAAmB,EAAK,EAACt3D,SAAC,oBAIjI,CC5Le,SAASu3D,GAAO9rH,GAC3B,IAAAojG,GAAoCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxC6mB,EAAS5mB,EAAA,GAAE0oB,EAAY1oB,EAAA,GAC/B+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtC+gB,EAAQ9gB,EAAA,GAAE2iB,EAAW3iB,EAAA,GAC7BG,GAA4B1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAAhC56B,EAAK66B,EAAA,GAAEwiB,EAAQxiB,EAAA,GACvBG,GAAwC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA5CygB,EAAWxgB,EAAA,GAAEqiB,EAAcriB,EAAA,GACnCG,GAAgClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAvCygB,EAAOxgB,EAAA,GAAEygB,EAAUzgB,EAAA,GAC3BghB,GAA8CnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAlDN,EAAcO,EAAA,GAAEN,EAAiBM,EAAA,GACzCE,GAA4BtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAnCP,EAAKQ,EAAA,GAAEP,EAAQO,EAAA,GACvBC,GAAwBxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAA5BP,EAAGQ,EAAA,GAAEP,EAAMO,EAAA,GACnBY,GAAgCrrC,EAAAA,EAAAA,WAAS,GAAMsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAAvCl7E,EAAOm7E,EAAA,GAAEjB,EAAUiB,EAAA,GAC3BC,GAAgCvrC,EAAAA,EAAAA,UAAS,IAAGwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAApC51H,EAAO61H,EAAA,GAAEhD,EAAUgD,EAAA,GAC3BC,GAA0CzrC,EAAAA,EAAAA,UAAS,IAAG0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAA9CpD,EAAYqD,EAAA,GAAEjD,EAAeiD,EAAA,GAsC/BC,EAAyB,WAC3B3C,GAAIr2G,IAAI+yG,GAAe53C,EAAQ,SAC9BrhE,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,EAAgB,SAChBD,EAAW,+BACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHkC,GAER,IACC1nF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMkC,EAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOpB,IAEV98G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXgB,IACAd,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3BpB,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAOMoD,EAAiB,WACnBvB,GAAW,GACXrB,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOpB,EACPU,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,SAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR09C,IACAT,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,MACqB,MAAlB97D,EAAIv6C,KAAKq5D,MACfq7B,EAAen6C,EAAIv6C,KAAK4M,OACxBtnB,OAAOmF,SAASnE,QAAQ,wBAExB4xH,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMU,EAAmB,WACrBF,GAAIC,KAAKzD,GAAgB,CACrB2D,UAAWA,EACXE,SAAUA,EACVv7C,MAAOA,EACPy7C,YAAaA,EACb/lG,OAAQ,SAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRh1B,YAAW,WACPo1E,GACJ,GAAG,MAEHvB,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMoC,EAAa,WACfZ,EAAS,IACTa,EAAc,GAClB,EAEMA,EAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAIA,OAAQs9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,IAKnCmB,GAyBArgB,EAAAA,GAAAA,MAAA,QAAMQ,SA3HG,SAAC5yG,GACfA,EAAEG,iBACFu0H,GACJ,EAwHmCn4D,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAAa/vD,UAAQ,KAChFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SACpCs2D,EAAQ,GACRzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,EAAQj3D,SAAC,gBAI/EtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAmB4uB,UAAQ,EAAA/F,SAAC,eAC9Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAkB6oB,SAAC,eAtC7C61C,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SAnMQ,SAAC5yG,GACvBA,EAAEG,iBACFgzH,GAAW,GACRd,EACCP,GAAIr2G,IAAI8yG,GAAgB8D,EAAc,SACrC98G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,EAAgB,SAChBD,EAAW,qDACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MAEHmD,GAER,IACC3oF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,EAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,KAEA6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW,6BACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,EAiK8C/0D,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eACVu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAoB17B,MAAOm9G,EAAW3f,SAAU,SAAAtyG,GAAC,OAAI+zH,EAAa/zH,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC1H+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,kBAAkB17B,MAAOq9G,EAAU7f,SAAU,SAAAtyG,GAAC,OAAIg0H,EAAYh0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACtH+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,WACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,cAAc17B,MAAO8hE,EAAO07B,SAAU,SAAAtyG,GAAC,OAAIi0H,EAASj0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC5G+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAAa/f,SAAU,SAAAtyG,GAAC,OAAIk0H,EAAel0H,EAAEo9C,OAAOtoC,MAAM,EAACiM,UAAQ,IAE1Hk4B,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAmB4uB,UAAQ,EAAA/F,SAAC,aAC9Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAkB6oB,SAAC,iBAG9C61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,KAAAv0C,UAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAEbu0C,EAAAA,GAAAA,KAACugB,GAAe,KAChBjf,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,eAAes2B,SAAA,CAAC,qBAAiBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAM30D,EAAM6rH,oBAAmB,EAAM,EAACt3D,SAAC,oBAqB5H,CC5Pe,SAASo4D,KACpB,IAAAvpB,GAAoDtiB,EAAAA,EAAAA,WAAS,GAAMuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA3DwpB,EAAiBvpB,EAAA,GAAEwpB,EAAoBxpB,EAAA,GAEzCwoB,EAAqB,SAACjiH,GACxBijH,EAAqBjjH,EACzB,EAEA,OAAQk/F,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACnCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,cAU/CvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,aAAas2B,SAC/Bq4D,GAAoB9jB,EAAAA,GAAAA,KAACgjB,GAAM,CAACD,mBAAoBA,KAAyB/iB,EAAAA,GAAAA,KAACwhB,GAAM,CAACuB,mBAAoBA,OAE1G/iB,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAkB,UAAEs2B,SAAC,oEAEvC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,wBACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gFACJu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+BAA+BmnE,IAAI,0BAI5D,CCtCA,QAAgB,QAAU,0BCGX,SAASyiB,KACpB,OAAQhkB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,UACvCD,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,oBAAmB6oB,SAAA,EAI9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,UACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,qBAAoBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,uBAA/BlE,SAAS2G,SAAS7D,SAAoC,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,sBACvLvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,0BAAyBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,4BAA/BlE,SAAS2G,SAAS7D,SAAyC,SAAW,GAAE,QAAQwwG,IAAI,iBAAiB,8BAErMvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,mBAAkBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,sCAAAjoC,OAAuE,qBAA/BlE,SAAS2G,SAAS7D,SAAkC,SAAW,GAAE,QAAQwwG,IAAI,eAAe,oBAC/KvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,mBAAkBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,qCAAAjoC,OAAsE,qBAA/BlE,SAAS2G,SAAS7D,SAAkC,SAAW,GAAE,SAASwwG,IAAI,eAAe,oBAC/KvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,eAAcg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,WAAW,yBAKjH,CCzBA,QAAgB,OAAS,uBAAuB,iBAAiB,gCCIlD,SAAS8iB,KACpB,IAAMC,EAAS3lB,IACfrE,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApCiqB,EAAOhqB,EAAA,GAAEiqB,EAAUjqB,EAAA,IAE3BpiB,EAAAA,EAAAA,YAAU,WACHmsC,GACCO,GAGR,GAAG,IAEH,IAAMA,EAAwB,WAC1B7D,GAAIr2G,IAAIg0G,GAAgB2F,EAAS,SAChC7/G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRghD,EAAW9/D,EAAIv6C,KAAK26G,OAEpBhmB,IACArvG,OAAOmF,SAASnE,QAAQ,gBAEhC,IACCuqC,OAAM,SAAA7qC,GACHZ,QAAQkuE,IAAIttE,EAChB,GACJ,EAEA,OAAQ6vG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAe,OAAEs2B,SAAA,EAC7B61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,aAASu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAO84D,IAAWvkB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,SAAG84D,EAAQpD,UAAY,IAAMoD,EAAQlD,iBACnE/f,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,WACAA,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,qBAIvD,CCrCe,SAASi0B,KACpB,OAAQx1B,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,uBAIhD,gBCZA,IAAgB,oBAAoB,6CAA6C,qBAAqB,8CAA8C,OAAS,kCAAkC,cAAc,uCAAuC,WAAW,oCAAoC,UAAU,mCAAmC,YAAY,qCAAqC,YAAY,qCAAqC,MAAQ,iCAAiC,IAAM,+BAA+B,OAAS,kCAAkC,WAAW,oCAAoC,0BAA0B,mDAAmD,aAAa,uCCKrqB,SAASgqE,KACpB,IAAAn7B,GAAwCtiB,EAAAA,EAAAA,WAAS,GAAMuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA/Co7B,EAAWn7B,EAAA,GAAEo7B,EAAcp7B,EAAA,GAE7Bq7B,EAAU,CACZz6H,IAAK,oEACLuwF,OAAQ,OACRogB,QAAS,CACL,CACI1tG,KAAM,eACN4F,MAAO,oBAEX,CACI5F,KAAM,YACN4F,MAAO,iBAEX,CACI5F,KAAM,WACN4F,MAAO,iBAGfktE,QAAS,CACL,CACI9yE,KAAM,gBACN4F,MAAO,cAGf4qC,SAAU,CACN,KAAQ,IACR,OAAU,CACN,YAAe,CACX,UAAa,YACb,kBAAqB,aACrB,WAAc,iBACd,YAAe,gBACf,gBAAmB,2DACnB,kBAAqB,2DACrB,cAAiB,GACjB,iBAAoB,MACpB,qBAAwB,oBACxB,sBAAyB,cACzB,kBAAqB,kCACrB,YAAe,+BACf,UAAa,MACb,UAAa,SACb,MAAS,aACT,WAAc,kBACd,UAAa,aACb,SAAY,GACZ,SAAY,KACZ,kBAAqB,iBACrB,wBAA2B,0BAC3B,eAAkB,aAClB,mBAAsB,SACtB,6BAAgC,UAChC,cAAiB,iBACjB,UAAa,aACb,WAAa,EACb,SAAY,aACZ,cAAiB,MACjB,eAAkB,MAClB,qBAAwB,MACxB,aAAgB,IAChB,cAAiB,IACjB,iBAAoB,IACpB,kBAAqB,IACrB,UAAa,OACb,eAAkB,MAClB,6BAAgC,kBAChC,YAAe,QACf,UAAa,aACb,cAAiB,KACjB,kBAAqB,aACrB,kBAAqB,aACrB,kBAAqB,aACrB,YAAe,KACf,uBAA0B,KAC1B,qBAAwB,KACxB,0BAA6B,KAC7B,eAAkB,KAClB,aAAgB,KAChB,WAAc,KACd,iBAAoB,KACpB,YAAe,KACf,aAAgB,IAChB,UAAa,KACb,aAAe,EACf,gBAAmB,KACnB,QAAW,KACX,SAAY,SAEhB,QAAW,CACP,WAAc,uCACd,UAAa,YACb,MAAS,EACT,SAAY,CACR,CACI,WAAc,sBACd,KAAQ,sBACR,SAAY,YACZ,SAAY,KACZ,cAAiB,GACjB,eAAkB,KAClB,WAAc,iBACd,aAAgB,GAChB,eAAkB,UAClB,eAAkB,GAClB,aAAgB,GAChB,OAAU,IACV,MAAS,KACT,KAAQ,UACR,SAAY,CACR,CACI,aAAgB,+BAChB,QAAW,QAEf,CACI,aAAgB,+BAChB,QAAW,YAM/B,OAAU,CACN,WAAc,uCACd,QAAW,KACX,OAAU,oBAa1B,OAAQ0yD,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACHiqE,IAAe11B,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,2BAA2Bs2B,SAAC,yBACnE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EACpCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACJ1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,qBAAqBs2B,SAAA,EACxC61C,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWzN,GAAO,YAAYs2B,SAAA,EAC7Bu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAOmqE,EAAQlqC,SAAc,0BAGjC4V,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,WAAWs2B,SAAA,CAAEmqE,EAAQz6H,IAAI,KAAC6kG,EAAAA,GAAAA,KAACz3C,GAAAA,gBAAe,CAAC/6D,KAAMooI,EAAQz6H,IAAIswD,UAACu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,aAAaipB,QAtB3H,WACZ8pE,GAAe,GACfnnF,YAAW,WACPmnF,GAAe,EACnB,GAAG,IACP,UAkB4B31B,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SACKmqE,EAAQ1kD,QAAQl0E,KAAI,SAAC8D,EAAG1P,GAAC,OACtB4uG,EAAAA,GAAAA,KAAA,MAAAv0C,SAAa3qD,EAAE1C,MAANhN,EAAgB,OAGjC4uG,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,WACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,WACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,YACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,6BACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,WACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,UACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBAERu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,cACJu0C,EAAAA,GAAAA,KAAA,SAAOp9D,UAAU,uBAAsB6oB,UACnCu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SACKmqE,EAAQ9pB,QAAQ9uG,KAAI,SAAC8D,EAAG1P,GAAC,OACtBkwG,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAK3qD,EAAE1C,QACP4hG,EAAAA,GAAAA,KAAA,MAAAv0C,SAAK3qD,EAAEkD,UAFF5S,EAGJ,SAIjB4uG,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,WACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,YAAYs2B,SAAA,KAE1BmqE,EAAQ1kD,QAAQl0E,KAAI,SAAC8D,EAAG1P,GAAC,OACtBkwG,EAAAA,GAAAA,MAAA,KAAG1+D,UAAU,YAAW6oB,SAAA,CAAU3qD,EAAE1C,KAAK,KAAG0C,EAAEkD,MAAM,OAAtB5S,EAA4B,IAC5D,WAIdkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,qBAAiBu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAc,MAAEs2B,SAAEmqE,EAAQz6H,MAAW,UACzEy6H,EAAQ9pB,QAAQ9uG,KAAI,SAAC8D,EAAG1P,GAAC,OACtBkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAW,aAAW3qD,EAAE1C,KAAK,MAAE4hG,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAc,MAAEs2B,SAAE3qD,EAAEkD,QAAa,SAAzE5S,EAAgF,IAE3FwkI,EAAQ1kD,UAAWowB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,WACV,IACPmqE,EAAQ1kD,QAAQl0E,KAAI,SAAC8D,EAAG1P,GAAC,OACtBkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAW,qBAAyBu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAY,IAAEs2B,SAAE3qD,EAAE1C,OAAY,QAAI4hG,EAAAA,GAAAA,KAAA,QAAMp9D,UAAWzN,GAAc,MAAEs2B,SAAE3qD,EAAEkD,QAAa,MAAjI5S,EAAsI,IAChJ,IACG,WAGb4uG,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,sBACJu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,aAAas2B,UAChCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,SAAM7F,KAAKC,UAAU+vE,EAAQhnF,cAAUj9C,EAAW,0BAStF,CChOA,QAAgB,mBAAmB,sCAAsC,yBAAyB,6CCMnF,SAASsuG,KACpB,IAAMqkB,EAAS3lB,IACfrE,GAAgDtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApD2xB,EAAe1xB,EAAA,GAAE2xB,EAAkB3xB,EAAA,GAC3C+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtComB,EAAQnmB,EAAA,GAAEomB,EAAWpmB,EAAA,GAC7BG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9CkmB,EAAYjmB,EAAA,GAAEkmB,EAAelmB,EAAA,GACrCG,GAAsC9oB,EAAAA,EAAAA,UAAS,GAAE+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAzCgmB,EAAU/lB,EAAA,GAAEgmB,EAAahmB,EAAA,GAuBjC,OALA5oB,EAAAA,EAAAA,YAAU,WAfN6oC,GAAIr2G,IAAIwzG,GAAiB,cAAAhsH,OAAiB20H,EAAU,YAAA30H,OAAWmyH,IAC9D7/G,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR0oD,EAAmBxnE,EAAIv6C,KAAK68G,SAC5BL,EAAYjiE,EAAIv6C,KAAKu8G,UACrBG,EAAgBniE,EAAIv6C,KAAKy8G,eAEzBsF,EAAmB,GAE3B,IACClxF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,EAClB,GAMJ,GAAG,KAEK6vG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EACpCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACJ1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EACvB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,OACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,YACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,cACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,eAENwgE,EAAgBjvH,KAAI,SAAC1J,EAAMlC,GAAC,OACzBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,EACvC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,KAAGr6D,EAAI,MAC5BkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,IAAE,GAAAt5D,OAAG,IAAIsvD,KAAKnuD,EAAK2zH,YAAav0H,OAAO,EAAG,QAC9D4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,IAAEn4D,EAAKwlB,WAC7BwoF,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAe,IAAEn4D,EAAK6zH,aAC/B7lB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAAc,IAAEn4D,EAAK8zH,aAAe9zH,EAAK8zH,YAAYA,YAAYC,UAC1E/lB,EAAAA,GAAAA,MAAA,KAAG1+D,UAAWtvC,EAAK64H,WAAW1gE,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAiB,IAAEn4D,EAAK64H,eAC7D7qB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAAc,IAAEn4D,EAAK84H,qBAPeh7H,EAQ3C,IAETiH,KAAK+R,KAAKw8G,EAAaF,GAAY,IAAKplB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EAChE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,CAEQq7D,GAAc,GACb9mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,8BAA8BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,IAE9F3zH,MAAMzB,KAAK,CAAEH,OAAQ8G,KAAK+R,KAAKw8G,EAAaF,KAAa,SAAC/hH,EAAGvT,GAAC,OAAK4uG,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk7D,EAAc31H,EAAI,EAAE,EAAEwxC,UAAWkkF,IAAgB11H,EAAI,EAAK,SAAW,GAAGq6D,SAAUr6D,EAAI,GAARA,EAAiB,IAEpL01H,GAAczuH,KAAK+R,KAAKw8G,EAAaF,IACpC1mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,gCAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAA+BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,QAGpGxlB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WACN61C,EAAAA,GAAAA,MAAA,UAAQ9vC,UAAQ,EAAA/F,SAAA,EACZu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,MAAKynD,SAAC,kCASxD,CC3FA,QAAgB,YAAY,uBAAuB,iBAAiB,4BAA4B,eAAe,0BAA0B,eAAe,0BAA0B,uBAAuB,kCAAkC,0BAA0B,qCAAqC,oBAAoB,gCCE/S,SAAS4gE,GAAcn1H,GAClC,IAAAojG,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GAErB,OAAQ+G,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACM,KAATpnD,IAAei9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChDu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,4CAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,gBAAgB,EAAC7gE,SAAC,YAChFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAM30D,EAAM41H,YAAY,EAACrhE,SAAC,eAG1E,kBAATpnD,IAA4Bi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC7Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mDAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,gBAAgB,EAAC7gE,SAAC,YAChFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,GAAG,EAAC7gE,SAAC,eAGnE,kBAATpnD,IAA4Bi9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,KAAC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0CACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mDAC/BsgE,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,eAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAM30D,EAAM61H,aAAa,EAACthE,SAAE,YAC5Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,gBAAgB,EAAE7gE,SAAC,oBAKnG,CCzCe,SAASuhE,GAAW91H,GAC/B,IAAAojG,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GAErB,OAAQ+G,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACM,KAATpnD,IAAei9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChDu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,wBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,8CAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAKygE,EAAQ,aAAa,EAAC7gE,SAAC,UAC5Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAM30D,EAAM41H,YAAY,EAACrhE,SAAC,eAI1E,eAATpnD,IAAyBi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC1Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,wBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,+CAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,oBAAoB,EAAC7gE,SAAC,YACpFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,GAAG,EAAC7gE,SAAC,eAInE,sBAATpnD,IAAgCi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EACjEu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iCACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJ61C,EAAAA,GAAAA,MAAA,UAAA71C,SAAA,EACQu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,WACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,aAEzBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,wBAC/B4hE,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,eAAe,EAAC7gE,SAAC,YAC/Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,iBAAM,EAAE,EAAEJ,SAAC,eAI3D,iBAATpnD,IAA2Bi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAC5Du0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,sEACHu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,QAAA71C,SAAA,EACAu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qCACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,6BACA61C,EAAAA,GAAAA,MAAA,UAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,SACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,WACjBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,GAAEynD,SAAC,gBAGzBu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,wBAC/BsgE,EAAAA,GAAAA,KAAA,OAAAv0C,UACI61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,wBAAeu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAE5B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAM30D,EAAM61H,aAAa,EAACthE,SAAC,YAC3Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,iBAAM,eAAe,EAAEJ,SAAC,iBAK1F,CCxEe,SAAS8iE,GAAIr3H,GACxB,IAAAojG,GAAwBtiB,EAAAA,EAAAA,UAAS,eAAcuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxCj2F,EAAIk2F,EAAA,GAAE+xB,EAAO/xB,EAAA,GACpB+F,GAA0CtoB,EAAAA,EAAAA,WAAS,GAAKuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAjD+e,EAAa9e,EAAA,GAAEiuB,EAAgBjuB,EAAA,GACtCG,GAAoC1oB,EAAAA,EAAAA,WAAS,GAAM2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA5C+tB,EAAU9tB,EAAA,GAAE+tB,EAAa/tB,EAAA,GAE1BguB,EAAY,SAAC7tH,EAAGC,GAClBytH,EAAiB1tH,GACjB4tH,EAAc3tH,EAClB,EAEC,SAAS+rH,IACNR,EAAQ,cACX,CAEA,SAASS,IACNT,EAAQ,eACX,CAED,OAAQtsB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC5Bu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM30D,EAAM23H,eAAe,KACtEvtB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,YAAW6oB,SAAA,CACZ,gBAATpnD,IAA0Bi9F,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,uBAAuBmnE,IAAI,GAAG11C,QAAS,kBAAM30D,EAAM23H,eAAe,OAE/EvtB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,gBAAgBs2B,SAAA,EACnCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,6BAA6BmnE,IAAI,kBAC1CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,oBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kDACHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,wBAIhF,gBAATpnD,IACGi9F,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,0DACHu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOkqF,EAAc,uBAAuB,2BAA4BxzD,QAAS,kBAAM8iE,GAAU,GAAM,EAAM,EAACljE,SAAA,EAC1Hu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,iBAAiB4hC,QAASq/E,GAAiB,UAAWpvG,UAAQ,OAE3FqxF,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,oBACHu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gDAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAOs5F,EAAW,uBAAuB,2BAA4B5iE,QAAS,kBAAM8iE,GAAU,GAAO,EAAK,EAACljE,SAAA,EACvHu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,QAAQE,KAAK,cAAc4hC,QAASyuF,GAAc,UAAWx+G,UAAQ,OAErFqxF,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,gBACHu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,gDAGd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,CACpC4zD,GACArf,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,iBAAiB,EAAC7gE,SAAC,UACjFu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,UAE/Eu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,uBAAuBipB,QAAS,kBAAMygE,EAAQ,cAAc,EAAC7gE,SAAC,eAIlF,mBAATpnD,IAA6B27F,EAAAA,GAAAA,KAACqsB,GAAa,CAACS,WAAYA,EAAYC,YAAaA,IACxE,gBAAT1oH,IAA0B27F,EAAAA,GAAAA,KAACgtB,GAAU,CAACF,WAAYA,EAAYC,YAAaA,IAClE,iBAAT1oH,IAA2B27F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,aAAas2B,UAC5Du0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,qBAAqBs2B,UACxC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,6BAA6BmnE,IAAI,MAC1CvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,mBACJu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,8CACHu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,qBAAqBipB,QAAS,kBAAM30D,EAAM23H,eAAe,EAACpjE,SAAC,uBAOzG,CCtFA,QAAgB,iBAAiB,mCAAmC,aAAa,+BAA+B,kBAAkB,oCAAoC,mBAAmB,qCAAqC,0BAA0B,4CAA4C,4BAA4B,8CAA8C,QAAU,4BAA4B,cAAc,gCAAgC,eAAe,iCAAiC,mBAAmB,sCCQtf,SAASqjE,KACpB,IAAMxK,EAAS3lB,IACfrE,GAAwCtiB,EAAAA,EAAAA,UAAS,WAAUuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAnDy0B,EAAWx0B,EAAA,GAAEy0B,EAAcz0B,EAAA,GACnC+F,GAAoCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAA3CquB,EAASpuB,EAAA,GAAE0uB,EAAY1uB,EAAA,GAC/BG,GAAgC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAApC6jB,EAAO5jB,EAAA,GAAE6jB,EAAU7jB,EAAA,GAC3BG,GAAsC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA1CquB,EAAUpuB,EAAA,GAAEquB,EAAaruB,EAAA,GACjCG,GAA4ClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAnDquB,EAAapuB,EAAA,GAAEquB,EAAgBruB,EAAA,GACvCghB,GAA4BnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAhCV,EAAKW,EAAA,GAAEV,EAAQU,EAAA,GACvBE,GAAgCtqC,EAAAA,EAAAA,WAAS,GAAMuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAAvCX,EAAOY,EAAA,GAAEX,EAAUW,EAAA,GAC3BC,GAA8CxqC,EAAAA,EAAAA,UAAS,IAAGyqC,GAAA/rB,EAAAA,EAAAA,GAAA8rB,EAAA,GAAlDX,EAAcY,EAAA,GAAEX,EAAiBW,EAAA,GACzCY,GAA4BrrC,EAAAA,EAAAA,WAAS,GAAMsrC,GAAA5sB,EAAAA,EAAAA,GAAA2sB,EAAA,GAAnCtB,EAAKuB,EAAA,GAAEtB,EAAQsB,EAAA,GACvBC,GAAwBvrC,EAAAA,EAAAA,UAAS,IAAGwrC,GAAA9sB,EAAAA,EAAAA,GAAA6sB,EAAA,GAA5BtB,EAAGuB,EAAA,GAAEtB,EAAMsB,EAAA,GACnBC,GAAgCzrC,EAAAA,EAAAA,WAAS,GAAM0rC,GAAAhtB,EAAAA,EAAAA,GAAA+sB,EAAA,GAAvCt7E,EAAOu7E,EAAA,GAAErB,EAAUqB,EAAA,GAC3B+J,GAAgCz1C,EAAAA,EAAAA,UAAS,IAAG01C,GAAAh3B,EAAAA,EAAAA,GAAA+2B,EAAA,GAApC9/H,EAAO+/H,EAAA,GAAElN,EAAUkN,EAAA,GAC3BC,GAA0C31C,EAAAA,EAAAA,UAAS,IAAG41C,GAAAl3B,EAAAA,EAAAA,GAAAi3B,EAAA,GAA9CtN,GAAYuN,EAAA,GAAEnN,GAAemN,EAAA,GAUrC,IAAM/I,GAAwB,WAC1B7D,GAAIr2G,IAAIg0G,GAAgB2F,EAAS,SAChC7/G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRghD,EAAW9/D,EAAIv6C,KAAK26G,MACpBsK,EAAc1qE,EAAIv6C,KAAK4lH,WAEvBxgI,QAAQkuE,IAAI/Y,EAEpB,IAAG1pB,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,EAClB,GACJ,GAEAgoF,EAAAA,EAAAA,YAAU,WACN0sC,IAEJ,GAAG,IAEH,IAkCMnC,GAAU,WACZ1B,GAAIC,KAAK3D,GAAS,CACdqF,MAAOlB,IAEVh9G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACRo+C,GAAW,GACXE,EAAkBp9D,EAAIv6C,KAAK03G,gBAC3Be,KACAnC,GAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,GAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAEMoC,GAAa,WACfZ,EAAS,IACTa,GAAc,GAClB,EACMA,GAAgB,SAAhBA,EAAiB7+G,GAChBA,EAAQ,GACPwqC,YAAW,WACPwzE,EAASh+G,EAAQ,GACjB6+G,EAAc7+G,EAAQ,EAC1B,GAAG,IAIX,EAiCM2sH,GAAW,WACb3P,GAAIC,KAAKjC,GAAgB,CACrBsF,OAAQA,EACRsM,UAAWnP,EACXjmG,OAAQ,SAEX/W,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACRqhD,KACA2K,GAAiB,GACjBtN,EAAO,IACPR,EAAS,IACTE,GAAW,GACXnB,GAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEHC,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,GACdswH,GAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAIA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,GAAcC,aAHlD,WAAQE,EAAW,GAAI,IAIvC+O,IAAiBjuB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,kBAAiB6oB,SAAA,EAC9Cu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,mBAAmBipB,QAAS,kBAAM2jE,GAAiB,EAAM,KACxExvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,YAAW6oB,UACtBu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,SAE/Bk2D,GACCrgB,EAAAA,GAAAA,MAAA,QAAMQ,SA5ET,SAAC5yG,GACfA,EAAEG,iBACF2xH,GAAIC,KAAK1D,GAAa,CAClBoF,MAAOlB,EACPQ,IAAKA,EACLJ,eAAgBA,EAChBrmG,OAAQ,SAEX/W,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,KACRmtD,MAEAtO,GAAW,GACX5B,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,GAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EA+C+C/0D,SAAA,EACvBu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjwD,UAAQ,KAC1EwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,SACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,YAAY17B,MAAOi+G,EAAKzgB,SAAU,SAAAtyG,GAAC,OAAIgzH,EAAOhzH,EAAEo9C,OAAOtoC,MAAM,KAC5Fg8F,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAO,oBAAoBs2B,SAEjCs2D,EAAQ,GACPzgB,EAAAA,GAAAA,MAAA,QAAM/yG,MAAO,CAACsuB,MAAM,UAAUimG,OAAO,WAAWr3D,SAAA,CAAC,cAAYs2D,EAAQ,GAAC,GAAA5vH,OAAO4vH,EAAK,KAAI,QACtFzgB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CAAE,mBAAiBtjB,GAAU63D,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,eAAmBu0C,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS62D,GAAQj3D,SAAC,gBAInFtjB,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAmB4uB,UAAQ,EAAA/F,SAAC,eAC9Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAkB6oB,SAAC,eAG7Cu0C,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACG61C,EAAAA,GAAAA,MAAA,QAAMQ,SAnLJ,SAAC5yG,GACvBA,EAAEG,iBACFgzH,GAAW,GACXrB,GAAIr2G,IAAI8yG,GAAgBgE,EAAQ,SAC/Bh9G,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACX5B,GAAgB,SAChBD,EAAW,2DACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,MACqB,MAAlB97D,EAAIv6C,KAAKq5D,KACfk/C,MAEAL,GAAW,GACX5B,GAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHZ,QAAQa,MAAMD,GACdkyH,GAAW,GACX5B,GAAgB,SAChBD,EAAW,yCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAmJ0D/0D,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,eACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOy9G,EAAOjgB,SAAU,SAAAtyG,GAAC,OAAIwyH,EAASxyH,EAAEo9C,OAAOtoC,MAAM,IAErGmkC,GACC63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAmB4uB,UAAQ,EAAA/F,SAAC,aAC9Cu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAkB6oB,SAAC,0BAQlE61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,kCAAiCmnE,IAAI,MAClDD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAK84D,EAAQpD,UAAY,IAAMoD,EAAQlD,YACvCrhB,EAAAA,GAAAA,KAAA,KAAAv0C,SAAI84D,EAAQz+C,eAIpBw7B,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAuB,YAAhB45F,EAA4B,0BAA4B,IAAKljE,QAAS,kBA9OvG,SAAC/qD,GACfkuH,EAAeluH,EACnB,CA4O+H+uH,CAAU,UAAU,EAACpkE,SAAA,EACpHu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAqB,YAAhB20F,EAA4B,0CAA4C,+BAAgCxtB,IAAI,MACtHvB,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,wBAEV61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,+BAA+BmnE,IAAI,MAC5CvB,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,uBAOd61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,oBAAoBs2B,SAAA,CACtB,YAAhBsjE,IAA8BztB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EAC3Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAmBixB,aAAc4zD,EAAQpD,UAAW3vD,UAAQ,KAC3FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,eACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,kBAAkBixB,aAAc4zD,EAAQlD,SAAU7vD,UAAQ,KACzFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,YACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,eAAeixB,aAAc4zD,EAAQz+C,MAAOtU,UAAQ,KACnFwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAc4zD,EAAQqM,UAAWp/D,UAAQ,KAC7F8vC,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,6BAA8B02B,QAAS,kBAAM2jE,GAAiB,EAAK,EAAC/jE,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,sBAAwB,IAAE2hF,EAAQqM,UAAY,uBAAyB,0BAEnK,QAAhB7B,IAAyBztB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACrBkjE,IAAa3uB,EAAAA,GAAAA,KAACuuB,GAAG,CAACM,cAtQnD,WACII,GAAa,EACjB,KAqQgC3tB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,eAAes2B,SAAA,EAClCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJu0C,EAAAA,GAAAA,KAAA,SAEImvB,EAAWa,QACV1uB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,iBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAaixB,aAAcw+D,EAAW6B,WAAW5yH,KAAMozD,UAAQ,KAC9FwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,gBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,mBAAmBixB,aAAcw+D,EAAW6B,WAAWzE,UAAW/6D,UAAQ,KACzGwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,qBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAaixB,aAAcw+D,EAAWgC,cAAc/yH,KAAMozD,UAAQ,KACjGwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,oBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,uBAAuBixB,aAAcw+D,EAAWgC,cAAcmE,aAAc9jE,UAAQ,KACnHwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,mBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqBixB,aAAcw+D,EAAWgC,cAAcoE,WAAY/jE,UAAQ,KAC/GwuC,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,gBAAgBixB,aAAcw+D,EAAWgC,cAAc9B,QAAS79D,UAAQ,QAE1G8vC,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACGu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,yBAAyBmnE,IAAI,MACtCvB,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,yBACJu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,mBAAmBipB,QAAS,kBAAMojE,GAAa,EAAK,EAACxjE,SAAC,6CAYxH,CCrUA,QAAgB,kBAAkB,oCAAoC,aAAa,+BAA+B,0BAA0B,6CCM7H,SAASinE,KACpB,IAAAp4B,GAA0BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA9Bl8F,EAAIm8F,EAAA,GAAEo4B,EAAOp4B,EAAA,GACrB+F,GAA4BtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAhCx6B,EAAKy6B,EAAA,GAAE4iB,EAAQ5iB,EAAA,GACvBG,GAAwC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA5C6gB,EAAW5gB,EAAA,GAAEyiB,EAAcziB,EAAA,GACnCG,GAAsC9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA1C8xB,EAAU7xB,EAAA,GAAE8xB,EAAa9xB,EAAA,GACjCG,GAAgClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAvC/4D,EAAOg5D,EAAA,GAAEkhB,EAAUlhB,EAAA,GAC3BghB,GAAgCnqC,EAAAA,EAAAA,UAAS,IAAGoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAApCx0H,EAAOy0H,EAAA,GAAE5B,EAAU4B,EAAA,GAC3BE,GAA0CtqC,EAAAA,EAAAA,UAAS,IAAGuqC,GAAA7rB,EAAAA,EAAAA,GAAA4rB,EAAA,GAA9CjC,EAAYkC,EAAA,GAAE9B,EAAe8B,EAAA,GAsCrC,OAAQjhB,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACP99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAH9C,WAAQE,EAAW,GAAI,KAIxClf,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,kBAChCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,mBAAmBs2B,SAAA,EACtCu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,cAAcs2B,UACjCu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,kBAE5CvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,2BAA2Bs2B,UAC1C61C,EAAAA,GAAAA,MAAA,QAAMQ,SAjDR,SAAC5yG,GACvBA,EAAEG,iBACF2xH,GAAIC,KAAKrC,GAAoB,CACzBxgH,KAAMA,EACN0nE,MAAOA,EACPy7C,YAAaA,EACb5zH,QAASilI,EACTxM,KAAM,SAET3hH,MAAK,SAACigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,MACT6+C,GAAW,GACXsQ,EAAQ,IACRxP,EAAS,IACTC,EAAe,IACfyP,EAAc,IACdpS,EAAgB,WAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,OAEH6B,GAAW,GACX5B,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IAAGxlF,OAAM,SAAA5qC,GACLb,QAAQkuE,IAAIrtE,EAChB,GACJ,EAiB8Dq7D,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,gBACJu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,UACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,aAAa17B,MAAO5F,EAAMojG,SAAU,SAAAtyG,GAAC,OAAIyjI,EAAQzjI,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACzG+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,SAAS17B,MAAO8hE,EAAO07B,SAAU,SAAAtyG,GAAC,OAAIi0H,EAASj0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KACvG+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,kBACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,qBAAqB17B,MAAOu9G,EAAa/f,SAAU,SAAAtyG,GAAC,OAAIk0H,EAAel0H,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,KAC/H+vF,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,aACPu0C,EAAAA,GAAAA,KAAA,YAAUp9D,UAAU,eAAekwF,KAAK,IAAIC,KAAK,KAAK/uH,MAAO4uH,EAAYpxB,SAAU,SAAAtyG,GAAC,OAAI2jI,EAAc3jI,EAAEo9C,OAAOtoC,MAAM,EAAEiM,UAAQ,EAAAw7C,SAAC,mBAChIu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,wBAAuB6oB,SAAEtjB,EAAQ,cAAc,mCAQrG,CClFA,QAAgB,cAAc,6BCGf,SAAS6qF,KAOpB,OANA76C,EAAAA,EAAAA,YAAU,WACN2mB,IACArvG,OAAOmF,SAASnE,QAAQ,cAE5B,GAAG,KAEKuvG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,UAClC61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,UACvCvB,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,iBACJ61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,iCAAsC,wBAI1E,2BCrBA,SAAS5tC,KAA2Q,OAA9PA,GAAWnC,OAAOa,QAAU,SAAU44C,GAAU,IAAK,IAAIl7C,EAAI,EAAGA,EAAI8E,UAAU3E,OAAQH,IAAK,CAAE,IAAI4yD,EAAS9tD,UAAU9E,GAAI,IAAK,IAAIuC,KAAOqwD,EAAcnxD,OAAOC,UAAUkQ,eAAejQ,KAAKixD,EAAQrwD,KAAQ24C,EAAO34C,GAAOqwD,EAAOrwD,GAAU,CAAE,OAAO24C,CAAQ,EAAUt3C,GAASiB,MAAMoN,KAAMnN,UAAY,CAI5T,SAAS00D,GAAuBD,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIG,eAAe,6DAAgE,OAAOH,CAAM,CAOrK,IAAIkrE,GAEJ,SAAUnsC,GAPV,IAAwB1+B,EAAUC,EAUhC,SAAS4qE,IACP,IAAIr3F,EAOJ,OALAA,EAAQkrD,EAAiB32F,KAAKsQ,OAASA,MACjCyyH,cAAgBt3F,EAAMs3F,cAAc73D,KAAKrT,GAAuBpsB,IACtEA,EAAMu3F,cAAgBv3F,EAAMu3F,cAAc93D,KAAKrT,GAAuBpsB,IACtEA,EAAMw3F,aAAex3F,EAAMw3F,aAAa/3D,KAAKrT,GAAuBpsB,IACpEA,EAAMy3F,mBAAqBz3F,EAAMy3F,mBAAmBh4D,KAAKrT,GAAuBpsB,IACzEA,CACT,CAnBgCysB,EAQNy+B,GARJ1+B,EAQP6qE,GARwC/iI,UAAYD,OAAO0Q,OAAO0nD,EAAWn4D,WAAYk4D,EAASl4D,UAAUwQ,YAAc0nD,EAAUA,EAASjoD,UAAYkoD,EAqBxK,IAAIirE,EAASL,EAAU/iI,UAkKvB,OAhKAojI,EAAOhmE,SAAW,WAChB,OAAI7sD,KAAKnM,MAAMi/H,iBAAiCxkI,IAAnB0R,KAAK+yH,UACzB/yH,KAAKnM,MAAMi/H,WAAWE,YAAYhzH,KAAK+yH,WAGzC,IACT,EAEAF,EAAOI,YAAc,WACnB,OAAIjzH,KAAKnM,MAAMi/H,iBAAiCxkI,IAAnB0R,KAAK+yH,UACzB/yH,KAAK+yH,UAGP,IACT,EAEAF,EAAOK,QAAU,WACf,IAAIJ,EAAa9yH,KAAKnM,MAAMi/H,WAE5B,GAAIA,QAAiCxkI,IAAnB0R,KAAK+yH,UACrB,OAAOD,EAAWI,QAAQlzH,KAAK+yH,WAE/B/yH,KAAKmzH,mBAAoB,CAE7B,EAEAN,EAAOO,aAAe,WACpB,IAAIlsC,EAASlnF,KAEb,OAAO,IAAIa,SAAQ,SAAUD,EAASE,GACpComF,EAAOmsC,iBAAmBzyH,EAC1BsmF,EAAOosC,gBAAkBxyH,EAEzBomF,EAAOgsC,SACT,GACF,EAEAL,EAAO5jG,MAAQ,WACTjvB,KAAKnM,MAAMi/H,iBAAiCxkI,IAAnB0R,KAAK+yH,WAChC/yH,KAAKnM,MAAMi/H,WAAW7jG,MAAMjvB,KAAK+yH,UAErC,EAEAF,EAAOJ,cAAgB,WACjBzyH,KAAKnM,MAAM0/H,UACbvzH,KAAKnM,MAAM0/H,YAEXvzH,KAAK2yH,aAAa,KAEtB,EAEAE,EAAOH,cAAgB,WACjB1yH,KAAKnM,MAAM2/H,WACbxzH,KAAKnM,MAAM2/H,YAGTxzH,KAAKszH,kBACPtzH,KAAKszH,yBACEtzH,KAAKqzH,wBACLrzH,KAAKszH,gBAEhB,EAEAT,EAAOF,aAAe,SAAsBj/G,GACtC1T,KAAKnM,MAAMsqG,UACbn+F,KAAKnM,MAAMsqG,SAASzqF,GAGlB1T,KAAKqzH,mBACPrzH,KAAKqzH,iBAAiB3/G,UACf1T,KAAKszH,uBACLtzH,KAAKqzH,iBAEhB,EAEAR,EAAOY,eAAiB,WACtB,GAAIzzH,KAAKnM,MAAMi/H,YAAc9yH,KAAKnM,MAAMi/H,WAAWp3H,aAA6BpN,IAAnB0R,KAAK+yH,UAAyB,CACzF,IAAI/4F,EAAUpvC,SAASG,cAAc,OACrCiV,KAAK+yH,UAAY/yH,KAAKnM,MAAMi/H,WAAWp3H,OAAOs+B,EAAS,CACrD05F,QAAS1zH,KAAKnM,MAAM6/H,QACpBnhI,SAAUyN,KAAK2yH,aACfgB,MAAO3zH,KAAKnM,MAAM8/H,MAClB94H,KAAMmF,KAAKnM,MAAMgH,KACjB+4H,SAAU5zH,KAAKnM,MAAM+/H,SACrB,mBAAoB5zH,KAAKyyH,cACzB,iBAAkBzyH,KAAK0yH,cACvB5rG,KAAM9mB,KAAKnM,MAAMizB,KACjB+sG,OAAQ7zH,KAAKnM,MAAMggI,OACnBC,GAAI9zH,KAAKnM,MAAMigI,GACfC,MAAO/zH,KAAKnM,MAAMkgI,QAEpB/zH,KAAKy8G,QAAQhwH,YAAYutC,EAC3B,CAEIh6B,KAAKmzH,mBAAqBnzH,KAAKnM,MAAMi/H,iBAAiCxkI,IAAnB0R,KAAK+yH,YAC1D/yH,KAAKmzH,mBAAoB,EACzBnzH,KAAKkzH,UAET,EAEAL,EAAOhjD,kBAAoB,WACzB7vE,KAAKyzH,gBACP,EAEAZ,EAAO56C,mBAAqB,WAC1Bj4E,KAAKyzH,gBACP,EAEAZ,EAAOh3C,qBAAuB,gBACLvtF,IAAnB0R,KAAK+yH,YACP/yH,KAAKg0H,+BACLh0H,KAAKivB,QAET,EAEA4jG,EAAOmB,6BAA+B,WACpC,IAAIC,EAAgBrpI,SAASG,cAAc,OAI3C,IAHAH,SAAS4B,KAAKC,YAAYwnI,GAC1BA,EAAc/oI,MAAMu/B,QAAU,OAEvBzqB,KAAKy8G,QAAQ5mF,YAClBo+F,EAAcxnI,YAAYuT,KAAKy8G,QAAQ5mF,YAIzCsV,YAAW,WACTvgD,SAAS4B,KAAKgB,YAAYymI,EAC5B,GAAG,IACL,EAEApB,EAAOD,mBAAqB,SAA4BvqE,GACtDroD,KAAKy8G,QAAUp0D,CACjB,EAEAwqE,EAAOn3H,OAAS,WAId,IAAIysD,EAAcnoD,KAAKnM,MAanBqgI,GAZU/rE,EAAYurE,QACXvrE,EAAYg2C,SACfh2C,EAAYwrE,MACbxrE,EAAYttD,KACRstD,EAAYyrE,SACXzrE,EAAYorE,UACZprE,EAAYqrE,UACjBrrE,EAAYrhC,KACVqhC,EAAY0rE,OACR1rE,EAAY2qE,WACjB3qE,EAAY4rE,MACf5rE,EAAY2rE,GAjLzB,SAAuCnzE,EAAQsF,GAAY,GAAc,MAAVtF,EAAgB,MAAO,CAAC,EAAG,IAA2DrwD,EAAKvC,EAA5Dk7C,EAAS,CAAC,EAAOid,EAAa12D,OAAOY,KAAKuwD,GAAqB,IAAK5yD,EAAI,EAAGA,EAAIm4D,EAAWh4D,OAAQH,IAAOuC,EAAM41D,EAAWn4D,GAAQk4D,EAASp1D,QAAQP,IAAQ,IAAa24C,EAAO34C,GAAOqwD,EAAOrwD,IAAQ,OAAO24C,CAAQ,CAkL7Rkd,CAA8BgC,EAAa,CAAC,UAAW,WAAY,QAAS,OAAQ,WAAY,YAAa,YAAa,OAAQ,SAAU,aAAc,QAAS,QAIpL,OAAOm8B,EAAAA,cAAoB,MAAO3yF,GAAS,CAAC,EAAGuiI,EAAY,CACzDlkD,IAAKhwE,KAAK4yH,qBAEd,EAEOJ,CACT,CAjLA,CAiLEluC,EAAAA,WAGFkuC,GAAUj4H,YAAc,YACxBi4H,GAAU53H,UAAY,CACpB84H,QAAS1uE,KAAAA,OAAiBhB,WAC1Bm6C,SAAUn5C,KAAAA,KACV8tE,WAAY9tE,KAAAA,OACZ2uE,MAAO3uE,KAAAA,MAAgB,CAAC,OAAQ,UAChCnqD,KAAMmqD,KAAAA,MAAgB,CAAC,QAAS,UAChC4uE,SAAU5uE,KAAAA,OACVuuE,UAAWvuE,KAAAA,KACXwuE,UAAWxuE,KAAAA,KACXl+B,KAAMk+B,KAAAA,MAAgB,CAAC,UAAW,SAAU,cAC5C6uE,OAAQ7uE,KAAAA,OACR8uE,GAAI9uE,KAAAA,OACJ+uE,MAAO/uE,KAAAA,MAAgB,CAAC,cAAe,aAAc,YAEvDwtE,GAAUl4H,aAAe,CACvB6jG,SAAU,WAAqB,EAC/Bw1B,MAAO,QACP94H,KAAM,QACN+4H,SAAU,EACV9sG,KAAM,SACNitG,MAAO,yCCtNT,SAASpiI,KAA2Q,OAA9PA,GAAWnC,OAAOa,QAAU,SAAU44C,GAAU,IAAK,IAAIl7C,EAAI,EAAGA,EAAI8E,UAAU3E,OAAQH,IAAK,CAAE,IAAI4yD,EAAS9tD,UAAU9E,GAAI,IAAK,IAAIuC,KAAOqwD,EAAcnxD,OAAOC,UAAUkQ,eAAejQ,KAAKixD,EAAQrwD,KAAQ24C,EAAO34C,GAAOqwD,EAAOrwD,GAAU,CAAE,OAAO24C,CAAQ,EAAUt3C,GAASiB,MAAMoN,KAAMnN,UAAY,CAS5T,IAAIshI,GAAa,CAAC,EAEdC,GAAU,ECTd,IAAIC,GAAe,iBAanB,IDHwCC,GAAclqI,GCGtD,IDHwCkqI,GCHxC,WAGE,MAAO,aANkB,qBAAXloI,QAA0BA,OAAOmoI,kBAAoB,CAAC,GAKtCC,gBAAkB,gBAAkB,kBACnC,4BAA8BH,GAAe,kBAC9E,EDAEjqI,IADoDA,GCGT,CAC3CiqI,aAAcA,GACdI,WAde,gBDUM,CAAC,EACf,SAA6BtpC,GAClC,IAAIupC,EAAuBvpC,EAAiB5wF,aAAe4wF,EAAiBpwF,MAAQ,YAEhF45H,EAEJ,SAAUC,GAfd,IAAwBjtE,EAAUC,EAkB5B,SAAS+sE,EAAkB9gI,EAAO0O,GAChC,IAAI44B,EAKJ,OAHAA,EAAQy5F,EAAWllI,KAAKsQ,KAAMnM,EAAO0O,IAAYvC,MAC3CvO,MAAQ,CAAC,EACf0pC,EAAM05F,YAAc,GACb15F,CACT,CAzB4BysB,EAgBMgtE,GAhBhBjtE,EAgBHgtE,GAhBoCllI,UAAYD,OAAO0Q,OAAO0nD,EAAWn4D,WAAYk4D,EAASl4D,UAAUwQ,YAAc0nD,EAAUA,EAASjoD,UAAYkoD,EA2BpK,IAAIirE,EAAS8B,EAAkBllI,UAmM/B,OAjMAojI,EAAOiC,mCAAqC,WAK1C,OAJK90H,KAAK+0H,mBACR/0H,KAAK+0H,iBAAmB,uBAAyBX,MAG5Cp0H,KAAK+0H,gBACd,EAEAlC,EAAOmC,eAAiB,WAEtB,OADAh1H,KAAK60H,YAAsC,oBAAjBP,GAA8BA,KAAiBA,GAClEt0H,KAAK60H,WACd,EAEAhC,EAAOoC,4BAA8B,SAAqCxjI,GACxE,IAAIy1F,EAASlnF,KAGbA,KAAK5K,SAAS3D,GAAO,WACnB,OAAOy1F,EAAOrzF,MAAMqhI,mBAAqBhuC,EAAOrzF,MAAMqhI,kBAAkBhuC,EAAOz1F,MACjF,GACF,EAEAohI,EAAOsC,uCAAyC,WAC9C,IAAIC,EAAWjB,GAAWn0H,KAAK60H,aAE/B,IAAKO,IAAaA,EAASrmB,OACzB,MAAM,IAAIliH,MAAM,yBAGlB,IAAK,IAAIwoI,KAAUD,EAASE,UAC1BF,EAASE,UAAUD,GAAQD,UAGtBhpI,OAAOhC,GAAQiqI,aACxB,EAEAxB,EAAOhjD,kBAAoB,WACzB,IAAI0lD,EAASv1H,KAETw1H,EAAYx1H,KAAKg1H,iBACjB1kI,EAAM0P,KAAK80H,qCACXvqF,EAAWngD,GACXqqI,EAAalqF,EAASkqF,WACtBJ,EAAe9pF,EAAS8pF,aACxBoB,EAAWlrF,EAASkrF,SAUxB,GARIhB,GAA4C,qBAAvBroI,OAAOqoI,KAC9BN,GAAWqB,GAAa,CACtBzmB,QAAQ,EACRumB,UAAW,CAAC,IAKZnB,GAAWqB,GAAY,CACzB,IAAI57H,EAAQu6H,GAAWqB,GAEvB,OAAI57H,IAAUA,EAAMm1G,QAAUn1G,EAAM87H,cAClC11H,KAAKi1H,4BAA4Br7H,QAKnCA,EAAM07H,UAAUhlI,GAAO,SAAUsJ,GAC/B,OAAO27H,EAAON,4BAA4Br7H,EAC5C,EAGF,CAQA,IAAI07H,EAAY,CAAC,EAEjBA,EAAUhlI,GAAO,SAAUsJ,GACzB,OAAO27H,EAAON,4BAA4Br7H,EAC5C,EAEAu6H,GAAWqB,GAAa,CACtBzmB,QAAQ,EACRumB,UAAWA,GAEb,IAAIjgC,EAASzqG,SAASG,cAAc,UAIpC,IAAK,IAAI4qI,KAHTtgC,EAAOt+D,IAAMy+F,EACbngC,EAAO/C,OAAQ,EAEOloG,GAAQwrI,WAC5BvgC,EAAO15D,aAAag6F,EAAWvrI,GAAQwrI,WAAWD,IAGhDF,IACFpgC,EAAOn3C,GAAKu3E,GAGd,IAAII,EAAoC,SAA2CxxE,GACjF,GAAI8vE,GAAWqB,GAAY,CACzB,IACIM,EADW3B,GAAWqB,GACEF,UAE5B,IAAK,IAAID,KAAUS,EACbzxE,EAAKyxE,EAAaT,YACbS,EAAaT,EAG1B,CACF,EAEIhB,GAAkC,qBAAXjoI,SACzBA,OAAOioI,GAAgB,WACrB,OAAOkB,EAAOJ,wCAChB,GAGF9/B,EAAOr9D,OAAS,WACd,IAAIo9F,EAAWjB,GAAWqB,GAEtBJ,IACFA,EAASrmB,QAAS,EAClB8mB,GAAkC,SAAUE,GAC1C,OAAI1B,IAIJ0B,EAASX,IACF,EACT,IAEJ,EAEA//B,EAAOp9D,QAAU,WACf,IAAIm9F,EAAWjB,GAAWqB,GAEtBJ,IACFA,EAASM,SAAU,EACnBG,GAAkC,SAAUE,GAE1C,OADAA,EAASX,IACF,CACT,IAEJ,EAEAxqI,SAAS4B,KAAKC,YAAY4oG,EAC5B,EAEAw9B,EAAOh3C,qBAAuB,WAE5B,IAAI25C,EAAYx1H,KAAK60H,YAErB,IAAgC,IAA5BzqI,GAAQ4rI,gBAGV,IAFA,IAAIC,EAAarrI,SAAS4qG,qBAAqB,UAEtCznG,EAAI,EAAGA,EAAIkoI,EAAW/nI,OAAQH,GAAK,EACtCkoI,EAAWloI,GAAGgpC,IAAIlmC,QAAQ2kI,IAAc,GACtCS,EAAWloI,GAAGmsC,YAChB+7F,EAAWloI,GAAGmsC,WAAW1sC,YAAYyoI,EAAWloI,IAOxD,IAAIqnI,EAAWjB,GAAWqB,GAEtBJ,WACKA,EAASE,UAAUt1H,KAAK80H,uCAEC,IAA5B1qI,GAAQ4rI,wBACH7B,GAAWqB,GAGxB,EAEA3C,EAAOn3H,OAAS,WACd,IAAI+4H,EAAarqI,GAAQqqI,WAErBtsE,EAAcnoD,KAAKnM,MAEnB0lG,GADoBpxC,EAAY+sE,kBACjB/sE,EAAYoxC,cAC3B26B,EArNZ,SAAuCvzE,EAAQsF,GAAY,GAAc,MAAVtF,EAAgB,MAAO,CAAC,EAAG,IAA2DrwD,EAAKvC,EAA5Dk7C,EAAS,CAAC,EAAOid,EAAa12D,OAAOY,KAAKuwD,GAAqB,IAAK5yD,EAAI,EAAGA,EAAIm4D,EAAWh4D,OAAQH,IAAOuC,EAAM41D,EAAWn4D,GAAQk4D,EAASp1D,QAAQP,IAAQ,IAAa24C,EAAO34C,GAAOqwD,EAAOrwD,IAAQ,OAAO24C,CAAQ,CAqNzRkd,CAA8BgC,EAAa,CAAC,oBAAqB,iBAQlF,OALIssE,GAAgC,qBAAXroI,SACvB8nI,EAAWO,GAA4C,qBAAvBroI,OAAOqoI,GAA8BroI,OAAOqoI,QAAcnmI,GAG5F4lI,EAAWlkD,IAAMupB,GACVxuG,EAAAA,EAAAA,eAAcogG,EAAkB+oC,EACzC,EAEOS,CACT,CAhNA,CAgNEtmD,EAAAA,WAKE6nD,GAAqBrxC,EAAAA,EAAAA,aAAW,SAAUhxF,EAAOm8E,GACnD,OAAOjlF,EAAAA,EAAAA,eAAc4pI,EAAmBhjI,GAAS,CAAC,EAAGkC,EAAO,CAC1D0lG,aAAcvpB,IAElB,IAKA,OAJAkmD,EAAmB37H,YAAc,qBAAuBm6H,EAAuB,IAC/EwB,EAAmBt7H,UAAY,CAC7Bs6H,kBAAmBlwE,KAAAA,MAEdomC,KAAa8qC,EAAoB/qC,EAC1C,GChOCqnC,IChBH,MCDA,IAAgB,aAAa,0BAA0B,KAAO,oBAAoB,YAAY,yBAAyB,UAAY,yBAAyB,OAAS,sBAAsB,eAAe,6BCM3L,SAAShS,GAAM3sH,GAC1B,IAAMsiI,GAAa1/C,EAAAA,EAAAA,QAAO,MAC1BwgB,GAA4BtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAhCx0B,EAAKy0B,EAAA,GAAE4oB,EAAQ5oB,EAAA,GACvB+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtCt6B,EAAQu6B,EAAA,GAAEk5B,EAAWl5B,EAAA,GAC7BG,GAAgC1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAApC/yG,EAAOgzG,EAAA,GAAE6f,EAAU7f,EAAA,GAC3BG,GAA0C9oB,EAAAA,EAAAA,UAAS,IAAG+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAA9Cuf,EAAYtf,EAAA,GAAE0f,EAAe1f,EAAA,GACrCG,GAAgClpB,EAAAA,EAAAA,WAAS,GAAMmpB,GAAAzK,EAAAA,EAAAA,GAAAwK,EAAA,GAAvC/4D,EAAOg5D,EAAA,GAAEkhB,EAAUlhB,EAAA,GAC3BghB,GAA0CnqC,EAAAA,EAAAA,WAAS,GAAMoqC,GAAA1rB,EAAAA,EAAAA,GAAAyrB,EAAA,GAAjDqD,EAAYpD,EAAA,GAAEqD,EAAerD,EAAA,GAsC/BsX,EAAgB,WAClBrX,GAAW,GACXrB,GAAIC,KAAKjD,GAAY,CACjBl4C,MAAOA,EACPE,SAAUA,IAEbvhE,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACR6+C,GAAW,GACXpjB,EAAcv6C,EAAIv6C,KAAK4M,OACvByiH,EAAWvqH,QAAQqjB,QACnBp7B,EAAMF,QAAQb,KAAK,wBAEnBsqH,EAAgB,SAChBD,EAAW97D,EAAIv6C,KAAKxc,SACpB6gD,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAA7qC,GACHkyH,GAAW,GACX9yH,QAAQa,MAAMD,GACdswH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAMA,OAAQlf,EAAAA,GAAAA,MAAApB,GAAAA,SAAA,CAAAz0C,SAAA,CACH99D,IAAWqyG,EAAAA,GAAAA,KAACogB,GAAO,CAACzyH,QAASA,EAAS0yH,aAAcA,EAAcC,aAHlD,WAAQE,EAAW,GAAI,KAIxClf,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,kCAAkCmnE,IAAI,aAEnDD,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBwI,UAAWzN,GAAa,KAAGosE,IAAI,YAEjED,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,aAAas2B,SAAA,EAChC61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,EAAIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,2BACvBu0C,EAAAA,GAAAA,KAAA,UACAsB,EAAAA,GAAAA,MAAA,QAAMQ,SA/EE,SAAC5yG,GACrBA,EAAEG,iBACF,IAAM0nB,EAAQyiH,EAAWvqH,QAAQihD,WAEjC8wD,GAAIC,KAAKnB,GAAS,CACd34D,OAAQ,2CACRpwC,MAAOA,IAEVtS,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,KACL9e,EAAIv6C,KAAK3X,OAAOxE,SACf0rI,KAGJjZ,EAAgB,SAChBD,EAAW,iCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,KAEX,IACCxlF,OAAM,SAAC5qC,GACJb,QAAQa,MAAMA,GACdqwH,EAAgB,SAChBD,EAAW,oCACXhyE,YAAW,WACPgyE,EAAW,GACf,GAAG,IACP,GACJ,EAkDgD/0D,SAAA,EAC5Bu0C,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,WACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAK,OAAOwhC,YAAY,cAAc17B,MAAO8hE,EAAO07B,SAAU,SAACtyG,GAAC,OAAKi0H,EAASj0H,EAAEo9C,OAAOtoC,MAAM,KACpGg8F,EAAAA,GAAAA,KAAA,SAAAv0C,SAAO,cACPu0C,EAAAA,GAAAA,KAAA,SAAO9hG,KAAMsnH,EAAe,OAAS,WAAY9lF,YAAY,iBAAiB17B,MAAOgiE,EAAUw7B,SAAU,SAACtyG,GAAC,OAAKuqI,EAAYvqI,EAAEo9C,OAAOtoC,MAAM,KAC3Ig8F,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,gBAAgBs2B,UACnCu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAW4iF,EAAe,YAAc,kBAAmB35D,QAAS,WAvBhE45D,GAAiBD,EAuBqE,OAEjGxlB,EAAAA,GAAAA,KAAC61B,GAAS,CAACkB,QAAQ,2CAA2C1jD,IAAKmmD,IAClErxF,GACI63D,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA2B4uB,UAAQ,EAAA/F,SAAC,YACtDu0C,EAAAA,GAAAA,KAAA,UAAQp9D,UAAU,2BAA0B6oB,SAAC,cAGtDu0C,EAAAA,GAAAA,KAAA,KAAGp9D,UAAWzN,GAAkB,UAAEs2B,SAAC,oEAEvC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAe,OAAEs2B,SAAA,EAC7Bu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,2BAA2BmnE,IAAI,gBACxCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sBAAsBmnE,IAAI,WACnCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,UAClCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,4BAA4BmnE,IAAI,iBACzCvB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,wBAAwBmnE,IAAI,uBAKzD,CC7HA,QAAgB,QAAU,0BCGX,SAASyiB,KACpB,OAAQhkB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAgB,QAAEs2B,SAAA,EAC9Bu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,qBAAqBmnE,IAAI,UAClCvB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,iBAAgB6oB,UAC3B61C,EAAAA,GAAAA,MAAA,MAAA71C,SAAA,CAGuC,uBAA/Bx9D,SAAS2G,SAAS7D,UACjBivG,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAAChmD,UAAU,SAASnxC,GAAG,qBAAoBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,gDAAgDmnE,IAAI,eAAe,eACpIvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,qBAAoBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,sCAAAjoC,OAAuE,uBAA/BlE,SAAS2G,SAAS7D,SAAoC,SAAW,GAAE,QAAQwwG,IAAI,eAAe,eAExLvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,4BAA2Bg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAG,wCAAAjoC,OAAyE,8BAA/BlE,SAAS2G,SAAS7D,SAA2C,SAAW,GAAE,QAAQwwG,IAAI,UAAU,8BAE9LvB,EAAAA,GAAAA,KAAA,MAAAv0C,UAAI61C,EAAAA,GAAAA,MAAC1Y,EAAO,CAACn3F,GAAG,sBAAqBg6D,SAAA,EAACu0C,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,sCAAsCmnE,IAAI,WAAW,wBAKxH,CCtBA,QAAgB,OAAS,uBAAuB,cAAc,4BAA4B,iBAAiB,gCCI5F,SAAS8iB,KACpB,IAAMC,EAASvlB,IACfzE,GAAwCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAA5CsjB,EAAWrjB,EAAA,GAAEo/B,EAAcp/B,EAAA,GACnC+F,GAAgCtoB,EAAAA,EAAAA,WAAS,GAAMuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAvCn4D,EAAOo4D,EAAA,GAAE8hB,EAAU9hB,EAAA,GA4B3B,OALApoB,EAAAA,EAAAA,YAAU,WApBNkqC,GAAW,GACXrB,GAAIr2G,IAAI2zG,GAAoBgG,GAC3B7/G,MAAK,SAACigD,GACH29D,GAAW,GACU,MAAlB39D,EAAIv6C,KAAKq5D,MACL9e,EAAIv6C,KAAK3X,OAAOjB,OAAS,EACxBooI,EAAej1E,EAAIv6C,KAAK3X,OAAO,GAAGsmB,QAKtC6gH,EAAe,EAEvB,IACC3+F,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,GACdkyH,GAAW,EACf,GAMJ,GAAG,KAEKriB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAe,OAAEs2B,SAAA,EAC7B61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,CAAG,aAASu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,qBAClB61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,OAAKp9D,UAAWzN,GAAO,eAAes2B,UAClC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,kBAAkBs2B,SAAA,EACrCu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,qBACJu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAKtjB,EAAU,KAAOy1E,EAAYoH,eAAe,iBAGzDhlB,EAAAA,GAAAA,KAAA,OAAK5lE,IAAI,0BAA0BmnE,IAAI,qBAIvD,CCjDA,QAAgB,aAAa,0BAA0B,KAAO,oBAAoB,aAAa,0BAA0B,kBAAkB,gCCK5H,SAASq4B,GAAM1iI,GAC1B,IAAAojG,GAAoCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAAxCu/B,EAASt/B,EAAA,GAAEu/B,EAAYv/B,EAAA,GAC/B+F,GAAkCtoB,EAAAA,EAAAA,UAAS,IAAGuoB,GAAA7J,EAAAA,EAAAA,GAAA4J,EAAA,GAAtComB,EAAQnmB,EAAA,GAAEomB,EAAWpmB,EAAA,GAC7BG,GAA0C1oB,EAAAA,EAAAA,UAAS,IAAG2oB,GAAAjK,EAAAA,EAAAA,GAAAgK,EAAA,GAA9CkmB,EAAYjmB,EAAA,GAAEkmB,EAAelmB,EAAA,GACrCG,GAAsC9oB,EAAAA,EAAAA,UAAS,GAAE+oB,GAAArK,EAAAA,EAAAA,GAAAoK,EAAA,GAAzCgmB,EAAU/lB,EAAA,GAAEgmB,EAAahmB,EAAA,IAkBjC5oB,EAAAA,EAAAA,YAAU,YAhBS,SAACr3E,GAChBkgH,GAAIr2G,IAAIuzG,GAAc,cAAA/rH,OAAiB20H,EAAU,WAAA30H,OAAU2O,IAC1D2D,MAAK,SAACigD,GACkB,MAAlBA,EAAIv6C,KAAKq5D,MACRs2D,EAAap1E,EAAIv6C,KAAK68G,SACtBL,EAAYjiE,EAAIv6C,KAAKu8G,UACrBG,EAAgBniE,EAAIv6C,KAAKy8G,eAEzBkT,EAAa,GAErB,IACC9+F,OAAM,SAAC7qC,GACJZ,QAAQa,MAAMD,EAClB,GACJ,CAGI4pI,CAAW,QAEf,GAAG,CAACjT,IAOJ,OAAQ9mB,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,sBAAqB6oB,SAAA,EAChCu0C,EAAAA,GAAAA,KAACgkB,GAAO,KACR1iB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAACqkB,GAAM,KACPrkB,EAAAA,GAAAA,KAAA,OAAKp9D,UAAU,aAAY6oB,UAACu0C,EAAAA,GAAAA,KAAA,MAAAv0C,SAAI,aAChC61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,iBAAgB6oB,SAAA,EAC3B61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EACvB61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjCu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,aACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,UACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,WACHu0C,EAAAA,GAAAA,KAAA,KAAAv0C,SAAG,kBACHu0C,EAAAA,GAAAA,KAAA,WAEH65B,EAAU78H,KAAI,SAAC1J,EAAMlC,GAAC,OACnBkwG,EAAAA,GAAAA,MAAA,OAAK1+D,UAAWzN,GAAO,cAAcs2B,SAAA,EACjC61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,QAAU,KAAGr6D,EAAI,MAC1BkwG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,IAAE,GAAAt5D,OAAG,IAAIsvD,KAAKnuD,EAAK2zH,YAAav0H,OAAO,EAAG,QAC9D4uG,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,YAAc,IAAEn4D,EAAKgxH,WAC9BhjB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,SAAW,IAAEn4D,EAAK6tH,UAAY,IAAM7tH,EAAK+tH,aAClD/f,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,IAAEn4D,EAAKwyE,UAC5Bw7B,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,IAAEn4D,EAAKs9H,cAC5B5wB,EAAAA,GAAAA,KAAA,KAAGp9D,UAAU,eAAeipB,QAAS,kBA9B7C,SAAC/qD,GACjBo+F,eAAed,QAAQ,eAAgBt9F,GACvC5J,EAAMF,QAAQb,KAAK,qBACvB,CA2BuE6jI,CAAY1mI,EAAKgxH,OAAO,EAAC74D,SAAC,mBAP9Br6D,EAQrC,OAGbiH,KAAK+R,KAAKw8G,EAAaF,GAAY,IAAKplB,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,aAAY6oB,SAAA,EAChE61C,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,CAEQq7D,GAAc,GACb9mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,8BAA8BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,IAE9F3zH,MAAMzB,KAAK,CAACH,OAAQ8G,KAAK+R,KAAKw8G,EAAaF,KAAY,SAAC/hH,EAAGvT,GAAC,OAAK4uG,EAAAA,GAAAA,KAAA,QAAMn0C,QAAS,kBAAMk7D,EAAc31H,EAAI,EAAE,EAAEwxC,UAAWkkF,IAAgB11H,EAAI,EAAK,SAAW,GAAGq6D,SAAUr6D,EAAI,GAARA,EAAiB,IAElL01H,GAAczuH,KAAK+R,KAAKw8G,EAAaF,IACpC1mB,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,gCAChBo9D,EAAAA,GAAAA,KAAA,QAAMp9D,UAAU,+BAA+BipB,QAAS,kBAAMk7D,EAAcD,EAAa,EAAE,QAGpGxlB,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACIu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WACN61C,EAAAA,GAAAA,MAAA,UAAQ9vC,UAAQ,EAAA/F,SAAA,EACZu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,KAAIynD,SAAC,aACnBu0C,EAAAA,GAAAA,KAAA,UAAQh8F,MAAM,MAAKynD,SAAC,gCAQpD,CC5Fe,SAASwuE,GAAa/iI,GACjC,IAAAojG,GAAgCtiB,EAAAA,EAAAA,UAAS,IAAGuiB,GAAA7D,EAAAA,EAAAA,GAAA4D,EAAA,GAApCiqB,EAAOhqB,EAAA,GAAEiqB,EAAUjqB,EAAA,GAsB3B,OAPApiB,EAAAA,EAAAA,YAAU,WACHjhF,EAAMotH,QAdS,SAACrxH,EAAGC,GACtB8tH,GAAIr2G,IAAIg0G,GAAgB1rH,EAAI,IAAMC,GACjCuR,MAAK,SAAAigD,GACmB,MAAlBA,EAAIv6C,KAAKq5D,KACRghD,EAAW9/D,EAAIv6C,KAAK26G,MAEpBv1H,QAAQkuE,IAAI/Y,EAEpB,IAAG1pB,OAAM,SAAA7qC,GACLZ,QAAQa,MAAMD,EAClB,GACJ,CAIQ+pI,CAAchjI,EAAMotH,OAAQptH,EAAM4tH,KAG1C,GAAG,CAAC5tH,KAEI8oG,EAAAA,GAAAA,KAAAE,GAAAA,SAAA,CAAAz0C,UACJ61C,EAAAA,GAAAA,MAAA,OAAK1+D,UAAU,eAAc6oB,SAAA,EACzBu0C,EAAAA,GAAAA,KAAA,OAAAv0C,UACIu0C,EAAAA,GAAAA,KAAA,QAAMzxG,MAAO,CACTsuB,MAAM,IAAD1qB,OAAM+E,EAAMotH,QAAS34E,OAAO,cAADx5C,OAAgB+E,EAAMotH,QAASh9F,gBAAgB,IAADn1B,OAAM+E,EAAMotH,OAAM,OAClG74D,SAAE84D,EAAWA,EAAQpD,UAAUzuH,OAAO,EAAG,GAAK6xH,EAAQlD,SAAS3uH,OAAO,EAAG,GAAM,UAErF4uG,EAAAA,GAAAA,MAAA,OAAA71C,SAAA,EACI61C,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,aAAe,IAAE84D,EAAQD,WAClCtkB,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAAA,SAEAsB,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,UAAY,IAAE84D,EAAQpD,UAAY,IAAMoD,EAAQlD,aACzD/f,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,WAAa,IAAE84D,EAAQz+C,UAChCw7B,EAAAA,GAAAA,MAAA,KAAA71C,SAAA,EAAGu0C,EAAAA,GAAAA,KAAA,QAAAv0C,SAAM,kBAAoB,IAAE84D,EAAQqM,oBAQvD,sCC5BIuJ,GAAKtyH,WAAYuyH,GAAMzwH,YAAa0wH,GAAMxwH,YAE1CywH,GAAO,IAAIH,GAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAgB,EAAG,EAAoB,IAG1II,GAAO,IAAIJ,GAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAiB,EAAG,IAEjIK,GAAO,IAAIL,GAAG,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAE7EM,GAAO,SAAUtpE,EAAI1nD,GAErB,IADA,IAAIvW,EAAI,IAAIknI,GAAI,IACPhpI,EAAI,EAAGA,EAAI,KAAMA,EACtB8B,EAAE9B,GAAKqY,GAAS,GAAK0nD,EAAG//D,EAAI,GAGhC,IAAIsP,EAAI,IAAI25H,GAAInnI,EAAE,KAClB,IAAS9B,EAAI,EAAGA,EAAI,KAAMA,EACtB,IAAK,IAAI00D,EAAI5yD,EAAE9B,GAAI00D,EAAI5yD,EAAE9B,EAAI,KAAM00D,EAC/BplD,EAAEolD,GAAOA,EAAI5yD,EAAE9B,IAAO,EAAKA,EAGnC,MAAO,CAAC8B,EAAGwN,EACf,EACIkP,GAAK6qH,GAAKH,GAAM,GAAII,GAAK9qH,GAAG,GAAI+qH,GAAQ/qH,GAAG,GAE/C8qH,GAAG,IAAM,IAAKC,GAAM,KAAO,GAI3B,IAHA,IAAIr9G,GAAKm9G,GAAKF,GAAM,GAAIz8D,GAAKxgD,GAAG,GAAIs9G,GAAQt9G,GAAG,GAE3Cu9G,GAAM,IAAIT,GAAI,OACThpI,GAAI,EAAGA,GAAI,QAASA,GAAG,CAE5B,IAAI0P,IAAU,MAAJ1P,MAAgB,GAAW,MAAJA,KAAe,EAEhD0P,IAAU,OADVA,IAAU,MAAJA,MAAgB,GAAW,MAAJA,KAAe,MACtB,GAAW,KAAJA,KAAe,EAC5C+5H,GAAIzpI,MAAY,MAAJ0P,MAAgB,GAAW,IAAJA,KAAe,KAAQ,CAC9D,CAIA,IAAIg6H,GAAQ,SAAU1qF,EAAI8hB,EAAIxxD,GAO1B,IANA,IAAI+C,EAAI2sC,EAAG7+C,OAEPH,EAAI,EAEJkP,EAAI,IAAI85H,GAAIloE,GAET9gE,EAAIqS,IAAKrS,IACVkP,EAAE8vC,EAAGh/C,GAAK,GAEhB,IAII2pI,EAJAp1D,EAAK,IAAIy0D,GAAIloE,GACjB,IAAK9gE,EAAI,EAAGA,EAAI8gE,IAAM9gE,EAClBu0E,EAAGv0E,GAAMu0E,EAAGv0E,EAAI,GAAKkP,EAAElP,EAAI,IAAO,EAGtC,GAAIsP,EAAG,CAEHq6H,EAAK,IAAIX,GAAI,GAAKloE,GAElB,IAAI8oE,EAAM,GAAK9oE,EACf,IAAK9gE,EAAI,EAAGA,EAAIqS,IAAKrS,EAEjB,GAAIg/C,EAAGh/C,GAQH,IANA,IAAI6pI,EAAM7pI,GAAK,EAAKg/C,EAAGh/C,GAEnB8pI,EAAMhpE,EAAK9hB,EAAGh/C,GAEdwP,EAAI+kE,EAAGv1B,EAAGh/C,GAAK,MAAQ8pI,EAElB36H,EAAIK,GAAM,GAAKs6H,GAAO,EAAIt6H,GAAKL,IAAKK,EAEzCm6H,EAAGF,GAAIj6H,KAAOo6H,GAAOC,CAIrC,MAGI,IADAF,EAAK,IAAIX,GAAI32H,GACRrS,EAAI,EAAGA,EAAIqS,IAAKrS,EACjB2pI,EAAG3pI,GAAKypI,GAAIl1D,EAAGv1B,EAAGh/C,GAAK,QAAW,GAAKg/C,EAAGh/C,GAElD,OAAO2pI,CACX,EAEII,GAAM,IAAIhB,GAAG,KACjB,IAAS/oI,GAAI,EAAGA,GAAI,MAAOA,GACvB+pI,GAAI/pI,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB+pI,GAAI/pI,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB+pI,GAAI/pI,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB+pI,GAAI/pI,IAAK,EAEb,IAAIgqI,GAAM,IAAIjB,GAAG,IACjB,IAAS/oI,GAAI,EAAGA,GAAI,KAAMA,GACtBgqI,GAAIhqI,IAAK,EAEb,IAAIiqI,GAAoBP,GAAKK,GAAK,EAAG,GAAIG,GAAqBR,GAAKK,GAAK,EAAG,GAEvEI,GAAoBT,GAAKM,GAAK,EAAG,GAAII,GAAqBV,GAAKM,GAAK,EAAG,GAEvE3+H,GAAM,SAAUxJ,GAEhB,IADA,IAAIsN,EAAItN,EAAE,GACD7B,EAAI,EAAGA,EAAI6B,EAAE1B,SAAUH,EACxB6B,EAAE7B,GAAKmP,IACPA,EAAItN,EAAE7B,IAEd,OAAOmP,CACX,EAEIk7H,GAAO,SAAUv7H,EAAGM,EAAGD,GACvB,IAAIupD,EAAKtpD,EAAI,GAAM,EACnB,OAASN,EAAE4pD,GAAM5pD,EAAE4pD,EAAI,IAAM,MAAa,EAAJtpD,GAAUD,CACpD,EAEIm7H,GAAS,SAAUx7H,EAAGM,GACtB,IAAIspD,EAAKtpD,EAAI,GAAM,EACnB,OAASN,EAAE4pD,GAAM5pD,EAAE4pD,EAAI,IAAM,EAAM5pD,EAAE4pD,EAAI,IAAM,OAAc,EAAJtpD,EAC7D,EAEIm7H,GAAO,SAAUn7H,GAAK,OAASA,EAAI,GAAM,IAAU,EAAJA,GAAS,EAAI,EAG5Do7H,GAAM,SAAUh7H,EAAG6C,EAAGvU,IACb,MAALuU,GAAaA,EAAI,KACjBA,EAAI,IACC,MAALvU,GAAaA,EAAI0R,EAAErP,UACnBrC,EAAI0R,EAAErP,QAEV,IAAID,EAAI,IAAKsP,aAAaw5H,GAAMA,GAAMx5H,aAAay5H,GAAMA,GAAMF,IAAIjrI,EAAIuU,GAEvE,OADAnS,EAAEi+D,IAAI3uD,EAAEi7H,SAASp4H,EAAGvU,IACboC,CACX,EAEIwqI,GAAQ,SAAUC,EAAKC,EAAKC,GAE5B,IAAIC,EAAKH,EAAIxqI,OAET4qI,GAASH,GAAOC,EAEhBG,GAAQH,GAAMA,EAAG7qI,EAChB6qI,IACDA,EAAK,CAAC,GAELD,IACDA,EAAM,IAAI7B,GAAQ,EAAL+B,IAEjB,IAAIG,EAAO,SAAU/7H,GACjB,IAAIg8H,EAAKN,EAAIzqI,OAEb,GAAI+O,EAAIg8H,EAAI,CAER,IAAIC,EAAO,IAAIpC,GAAG9hI,KAAKoE,IAAS,EAAL6/H,EAAQh8H,IACnCi8H,EAAKhtE,IAAIysE,GACTA,EAAMO,CACV,CACJ,EAEIC,EAAQP,EAAG97H,GAAK,EAAGs8H,EAAMR,EAAGz7H,GAAK,EAAGk8H,EAAKT,EAAG/oI,GAAK,EAAGypI,EAAKV,EAAG37H,EAAGs8H,EAAKX,EAAG/7H,EAAG28H,EAAMZ,EAAG17H,EAAGu8H,EAAMb,EAAG3qI,EAE/FyrI,EAAY,EAALb,EACX,EAAG,CACC,IAAKS,EAAI,CAELV,EAAG97H,EAAIq8H,EAAQf,GAAKM,EAAKU,EAAK,GAE9B,IAAIv+H,EAAOu9H,GAAKM,EAAKU,EAAM,EAAG,GAE9B,GADAA,GAAO,GACFv+H,EAAM,CAEP,IAAuBoC,EAAIy7H,GAAvBt4H,EAAIk4H,GAAKc,GAAO,GAAe,GAAMV,EAAIt4H,EAAI,IAAM,EAAI9C,EAAI8C,EAAInD,EACnE,GAAIK,EAAIu7H,EAAI,CACR,GAAIE,EACA,KAAM,iBACV,KACJ,CAEID,GACAE,EAAKK,EAAKp8H,GAEd07H,EAAIzsE,IAAIwsE,EAAIF,SAASp4H,EAAG9C,GAAI+7H,GAE5BT,EAAG/oI,EAAIwpI,GAAMp8H,EAAG27H,EAAGz7H,EAAIi8H,EAAU,EAAJ97H,EAC7B,QACJ,CACK,GAAY,GAARzC,EACLy+H,EAAKrB,GAAMsB,EAAKpB,GAAMqB,EAAM,EAAGC,EAAM,MACpC,IAAY,GAAR5+H,EAqDL,KAAM,qBAnDN,IAAI8+H,EAAOvB,GAAKM,EAAKU,EAAK,IAAM,IAAKQ,EAAQxB,GAAKM,EAAKU,EAAM,GAAI,IAAM,EACnES,EAAKF,EAAOvB,GAAKM,EAAKU,EAAM,EAAG,IAAM,EACzCA,GAAO,GAKP,IAHA,IAAIU,EAAM,IAAIhD,GAAG+C,GAEbE,EAAM,IAAIjD,GAAG,IACR/oI,EAAI,EAAGA,EAAI6rI,IAAS7rI,EAEzBgsI,EAAI5C,GAAKppI,IAAMqqI,GAAKM,EAAKU,EAAU,EAAJrrI,EAAO,GAE1CqrI,GAAe,EAARQ,EAEP,IAAII,EAAM5gI,GAAI2gI,GAAME,GAAU,GAAKD,GAAO,EAC1C,IAAKjB,GAAQK,EAAMS,GAAMG,EAAM,GAAKN,EAChC,MAEJ,IAAIQ,EAAMzC,GAAKsC,EAAKC,EAAK,GACzB,IAASjsI,EAAI,EAAGA,EAAI8rI,GAAK,CACrB,IAIIz5H,EAJA/C,EAAI68H,EAAI9B,GAAKM,EAAKU,EAAKa,IAM3B,GAJAb,GAAW,GAAJ/7H,GAEH+C,EAAI/C,IAAM,GAEN,GACJy8H,EAAI/rI,KAAOqS,MAEV,CAED,IAAIxD,EAAI,EAAG3O,EAAI,EAOf,IANS,IAALmS,GACAnS,EAAI,EAAImqI,GAAKM,EAAKU,EAAK,GAAIA,GAAO,EAAGx8H,EAAIk9H,EAAI/rI,EAAI,IACvC,IAALqS,GACLnS,EAAI,EAAImqI,GAAKM,EAAKU,EAAK,GAAIA,GAAO,GACxB,IAALh5H,IACLnS,EAAI,GAAKmqI,GAAKM,EAAKU,EAAK,KAAMA,GAAO,GAClCnrI,KACH6rI,EAAI/rI,KAAO6O,CACnB,CACJ,CAEA,IAAIu9H,EAAKL,EAAItB,SAAS,EAAGmB,GAAOS,EAAKN,EAAItB,SAASmB,GAElDH,EAAMpgI,GAAI+gI,GAEVV,EAAMrgI,GAAIghI,GACVd,EAAK7B,GAAK0C,EAAIX,EAAK,GACnBD,EAAK9B,GAAK2C,EAAIX,EAAK,EAGO,CAC9B,GAAIL,EAAMM,EACN,KAAM,gBACd,CAGIZ,GACAE,EAAKK,EAAK,QAGd,IAFA,IAAIgB,GAAO,GAAKb,GAAO,EAAGc,GAAO,GAAKb,GAAO,EACzCc,EAAMf,EAAMC,EAAM,GACfV,GAAQK,EAAMmB,EAAMb,GAAM,CAE7B,IAAoCh0E,GAAhC9oD,EAAI08H,EAAGjB,GAAOK,EAAKU,GAAOiB,MAAkB,EAEhD,IADAjB,GAAW,GAAJx8H,GACG88H,EACN,KAAM,iBACV,IAAK98H,EACD,KAAM,yBACV,GAAI8oD,EAAM,IACNizE,EAAIU,KAAQ3zE,MACX,IAAW,KAAPA,EAAY,CACjB4zE,EAAK,KACL,KACJ,CAEI,IAAIj3H,EAAMqjD,EAAM,IAEhB,GAAIA,EAAM,IAAK,CAEX,IAAmB71D,EAAIonI,GAAnBlpI,EAAI23D,EAAM,KACdrjD,EAAM+1H,GAAKM,EAAKU,GAAM,GAAKvpI,GAAK,GAAKwnI,GAAGtpI,GACxCqrI,GAAOvpI,CACX,CAEA,IAAIgN,EAAI08H,EAAGlB,GAAOK,EAAKU,GAAOkB,GAAME,EAAO39H,IAAM,EACjD,IAAKA,EACD,KAAM,mBACVu8H,GAAW,GAAJv8H,EACHu9H,EAAK3/D,GAAG+/D,GACZ,GAAIA,EAAO,EAAG,CACN3qI,EAAIqnI,GAAKsD,GACbJ,GAAM/B,GAAOK,EAAKU,IAAS,GAAKvpI,GAAK,EAAIupI,GAAOvpI,CACpD,CACA,GAAIupI,EAAMM,EACN,KAAM,iBACNZ,GACAE,EAAKK,EAAK,QAEd,IADA,IAAIhzH,EAAMgzH,EAAKh3H,EACRg3H,EAAKhzH,EAAKgzH,GAAM,EACnBV,EAAIU,GAAMV,EAAIU,EAAKe,GACnBzB,EAAIU,EAAK,GAAKV,EAAIU,EAAK,EAAIe,GAC3BzB,EAAIU,EAAK,GAAKV,EAAIU,EAAK,EAAIe,GAC3BzB,EAAIU,EAAK,GAAKV,EAAIU,EAAK,EAAIe,GAE/Bf,EAAKhzH,CACT,CACJ,CACAuyH,EAAG37H,EAAIq8H,EAAIV,EAAGz7H,EAAIi8H,EAAKR,EAAG/oI,EAAIwpI,EAC1BC,IACAH,EAAQ,EAAGP,EAAG17H,EAAIs8H,EAAKZ,EAAG/7H,EAAI08H,EAAIX,EAAG3qI,EAAIwrI,EACjD,QAAUN,GACV,OAAOE,GAAMV,EAAIzqI,OAASyqI,EAAMJ,GAAII,EAAK,EAAGU,EAChD,EAEIoB,GAAQ,SAAU59H,EAAGM,EAAGI,GACxBA,IAAU,EAAJJ,EACN,IAAIspD,EAAKtpD,EAAI,GAAM,EACnBN,EAAE4pD,IAAMlpD,EACRV,EAAE4pD,EAAI,IAAMlpD,IAAM,CACtB,EAEIm9H,GAAU,SAAU79H,EAAGM,EAAGI,GAC1BA,IAAU,EAAJJ,EACN,IAAIspD,EAAKtpD,EAAI,GAAM,EACnBN,EAAE4pD,IAAMlpD,EACRV,EAAE4pD,EAAI,IAAMlpD,IAAM,EAClBV,EAAE4pD,EAAI,IAAMlpD,IAAM,EACtB,EAEIo9H,GAAQ,SAAU99H,EAAGgyD,GAGrB,IADA,IAAIvxD,EAAI,GACCvP,EAAI,EAAGA,EAAI8O,EAAE3O,SAAUH,EACxB8O,EAAE9O,IACFuP,EAAExK,KAAK,CAAEsN,EAAGrS,EAAG+O,EAAGD,EAAE9O,KAE5B,IAAIqS,EAAI9C,EAAEpP,OACNksB,EAAK9c,EAAEtM,QACX,IAAKoP,EACD,MAAO,CAAC,IAAI02H,GAAG,GAAI,GACvB,GAAS,GAAL12H,EAAQ,CACR,IAAI7C,EAAI,IAAIu5H,GAAGx5H,EAAE,GAAG8C,EAAI,GAExB,OADA7C,EAAED,EAAE,GAAG8C,GAAK,EACL,CAAC7C,EAAG,EACf,CACAD,EAAEs9H,MAAK,SAAUhrI,EAAGC,GAAK,OAAOD,EAAEkN,EAAIjN,EAAEiN,CAAG,IAG3CQ,EAAExK,KAAK,CAAEsN,GAAI,EAAGtD,EAAG,QACnB,IAAIG,EAAIK,EAAE,GAAID,EAAIC,EAAE,GAAIu9H,EAAK,EAAGC,EAAK,EAAGC,EAAK,EAO7C,IANAz9H,EAAE,GAAK,CAAE8C,GAAI,EAAGtD,EAAGG,EAAEH,EAAIO,EAAEP,EAAGG,EAAGA,EAAGI,EAAGA,GAMhCy9H,GAAM16H,EAAI,GACbnD,EAAIK,EAAEA,EAAEu9H,GAAI/9H,EAAIQ,EAAEy9H,GAAIj+H,EAAI+9H,IAAOE,KACjC19H,EAAIC,EAAEu9H,GAAMC,GAAMx9H,EAAEu9H,GAAI/9H,EAAIQ,EAAEy9H,GAAIj+H,EAAI+9H,IAAOE,KAC7Cz9H,EAAEw9H,KAAQ,CAAE16H,GAAI,EAAGtD,EAAGG,EAAEH,EAAIO,EAAEP,EAAGG,EAAGA,EAAGI,EAAGA,GAE9C,IAAI29H,EAAS5gH,EAAG,GAAGha,EACnB,IAASrS,EAAI,EAAGA,EAAIqS,IAAKrS,EACjBqsB,EAAGrsB,GAAGqS,EAAI46H,IACVA,EAAS5gH,EAAGrsB,GAAGqS,GAGvB,IAAI66H,EAAK,IAAIlE,GAAIiE,EAAS,GAEtBE,EAAMC,GAAG79H,EAAEw9H,EAAK,GAAIG,EAAI,GAC5B,GAAIC,EAAMrsE,EAAI,CAIN9gE,EAAI,EAAR,IAAWqsI,EAAK,EAEZgB,EAAMF,EAAMrsE,EAAIwsE,EAAM,GAAKD,EAE/B,IADAhhH,EAAGwgH,MAAK,SAAUhrI,EAAGC,GAAK,OAAOorI,EAAGprI,EAAEuQ,GAAK66H,EAAGrrI,EAAEwQ,IAAMxQ,EAAEkN,EAAIjN,EAAEiN,CAAG,IAC1D/O,EAAIqS,IAAKrS,EAAG,CACf,IAAIutI,EAAOlhH,EAAGrsB,GAAGqS,EACjB,KAAI66H,EAAGK,GAAQzsE,GAKX,MAJAurE,GAAMiB,GAAO,GAAMH,EAAMD,EAAGK,IAC5BL,EAAGK,GAAQzsE,CAInB,CAEA,IADAurE,KAAQgB,EACDhB,EAAK,GAAG,CACX,IAAImB,EAAOnhH,EAAGrsB,GAAGqS,EACb66H,EAAGM,GAAQ1sE,EACXurE,GAAM,GAAMvrE,EAAKosE,EAAGM,KAAU,IAE5BxtI,CACV,CACA,KAAOA,GAAK,GAAKqsI,IAAMrsI,EAAG,CACtB,IAAIytI,EAAOphH,EAAGrsB,GAAGqS,EACb66H,EAAGO,IAAS3sE,MACVosE,EAAGO,KACHpB,EAEV,CACAc,EAAMrsE,CACV,CACA,MAAO,CAAC,IAAIioE,GAAGmE,GAAKC,EACxB,EAEIC,GAAK,SAALA,EAAeltI,EAAGgP,EAAGJ,GACrB,OAAe,GAAR5O,EAAEmS,EACHpL,KAAKoE,IAAI+hI,EAAGltI,EAAEgP,EAAGA,EAAGJ,EAAI,GAAIs+H,EAAGltI,EAAEoP,EAAGJ,EAAGJ,EAAI,IAC1CI,EAAEhP,EAAEmS,GAAKvD,CACpB,EAEIi5D,GAAK,SAAUl5D,GAGf,IAFA,IAAIwD,EAAIxD,EAAE1O,OAEHkS,IAAMxD,IAAIwD,KAMjB,IAJA,IAAIq7H,EAAK,IAAI1E,KAAM32H,GAEfs7H,EAAM,EAAGC,EAAM/+H,EAAE,GAAIg/H,EAAM,EAC3Bp+H,EAAI,SAAUD,GAAKk+H,EAAGC,KAASn+H,CAAG,EAC7BxP,EAAI,EAAGA,GAAKqS,IAAKrS,EACtB,GAAI6O,EAAE7O,IAAM4tI,GAAO5tI,GAAKqS,IAClBw7H,MACD,CACD,IAAKD,GAAOC,EAAM,EAAG,CACjB,KAAOA,EAAM,IAAKA,GAAO,IACrBp+H,EAAE,OACFo+H,EAAM,IACNp+H,EAAEo+H,EAAM,GAAOA,EAAM,IAAO,EAAK,MAAUA,EAAM,GAAM,EAAK,OAC5DA,EAAM,EAEd,MACK,GAAIA,EAAM,EAAG,CAEd,IADAp+H,EAAEm+H,KAAQC,EACHA,EAAM,EAAGA,GAAO,EACnBp+H,EAAE,MACFo+H,EAAM,IACNp+H,EAAIo+H,EAAM,GAAM,EAAK,MAAOA,EAAM,EAC1C,CACA,KAAOA,KACHp+H,EAAEm+H,GACNC,EAAM,EACND,EAAM/+H,EAAE7O,EACZ,CAEJ,MAAO,CAAC0tI,EAAGjD,SAAS,EAAGkD,GAAMt7H,EACjC,EAEIy7H,GAAO,SAAUx1D,EAAIo1D,GAErB,IADA,IAAIx+H,EAAI,EACClP,EAAI,EAAGA,EAAI0tI,EAAGvtI,SAAUH,EAC7BkP,GAAKopE,EAAGt4E,GAAK0tI,EAAG1tI,GACpB,OAAOkP,CACX,EAGI6+H,GAAQ,SAAUC,EAAK3C,EAAKV,GAE5B,IAAIt4H,EAAIs4H,EAAIxqI,OACRu4D,EAAI6xE,GAAKc,EAAM,GACnB2C,EAAIt1E,GAAS,IAAJrmD,EACT27H,EAAIt1E,EAAI,GAAKrmD,IAAM,EACnB27H,EAAIt1E,EAAI,GAAc,IAATs1E,EAAIt1E,GACjBs1E,EAAIt1E,EAAI,GAAkB,IAAbs1E,EAAIt1E,EAAI,GACrB,IAAK,IAAI14D,EAAI,EAAGA,EAAIqS,IAAKrS,EACrBguI,EAAIt1E,EAAI14D,EAAI,GAAK2qI,EAAI3qI,GACzB,OAAqB,GAAb04D,EAAI,EAAIrmD,EACpB,EAEI47H,GAAO,SAAUtD,EAAKqD,EAAK5C,EAAO8C,EAAM30D,EAAIhB,EAAIxY,EAAI2pB,EAAIykD,EAAIjD,EAAI97H,GAChEs9H,GAAMsB,EAAK5+H,IAAKg8H,KACd7xD,EAAG,KAML,IALA,IAAI/6D,EAAKouH,GAAMrzD,EAAI,IAAK60D,EAAM5vH,EAAG,GAAI6vH,EAAM7vH,EAAG,GAC1C0N,EAAK0gH,GAAMr0D,EAAI,IAAK+1D,EAAMpiH,EAAG,GAAIqiH,EAAMriH,EAAG,GAC1CyzB,EAAKooB,GAAGqmE,GAAMI,EAAO7uF,EAAG,GAAI8uF,EAAM9uF,EAAG,GACrCG,EAAKioB,GAAGumE,GAAMI,EAAO5uF,EAAG,GAAI6uF,EAAM7uF,EAAG,GACrC8uF,EAAS,IAAI5F,GAAI,IACZhpI,EAAI,EAAGA,EAAIwuI,EAAKruI,SAAUH,EAC/B4uI,EAAiB,GAAVJ,EAAKxuI,MAChB,IAASA,EAAI,EAAGA,EAAI0uI,EAAKvuI,SAAUH,EAC/B4uI,EAAiB,GAAVF,EAAK1uI,MAGhB,IAFA,IAAI4rD,EAAKghF,GAAMgC,EAAQ,GAAIC,EAAMjjF,EAAG,GAAIkjF,EAAOljF,EAAG,GAC9CmjF,EAAO,GACJA,EAAO,IAAMF,EAAIzF,GAAK2F,EAAO,MAAOA,GAE3C,IAKIxD,EAAIyD,EAAIxD,EAAIyD,EALZC,EAAQhE,EAAK,GAAM,EACnBiE,EAAQrB,GAAKv0D,EAAIwwD,IAAO+D,GAAKv1D,EAAIyxD,IAAOjqE,EACxCqvE,EAAQtB,GAAKv0D,EAAI60D,GAAON,GAAKv1D,EAAI+1D,GAAOvuE,EAAK,GAAK,EAAIgvE,EAAOjB,GAAKc,EAAQC,IAAQ,EAAID,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,KACnI,GAAIM,GAAQC,GAASD,GAAQE,EACzB,OAAOrB,GAAMC,EAAK5+H,EAAGu7H,EAAIF,SAAS0D,EAAIA,EAAKjD,IAG/C,GADAwB,GAAMsB,EAAK5+H,EAAG,GAAKggI,EAAQD,IAAS//H,GAAK,EACrCggI,EAAQD,EAAO,CACf5D,EAAK7B,GAAK0E,EAAKC,EAAK,GAAIW,EAAKZ,EAAK5C,EAAK9B,GAAK4E,EAAKC,EAAK,GAAIU,EAAKX,EAC/D,IAAIe,EAAM3F,GAAKmF,EAAKC,EAAM,GAC1BpC,GAAMsB,EAAK5+H,EAAGq/H,EAAM,KACpB/B,GAAMsB,EAAK5+H,EAAI,EAAGu/H,EAAM,GACxBjC,GAAMsB,EAAK5+H,EAAI,GAAI2/H,EAAO,GAC1B3/H,GAAK,GACL,IAASpP,EAAI,EAAGA,EAAI+uI,IAAQ/uI,EACxB0sI,GAAMsB,EAAK5+H,EAAI,EAAIpP,EAAG6uI,EAAIzF,GAAKppI,KACnCoP,GAAK,EAAI2/H,EAET,IADA,IAAIO,EAAO,CAACd,EAAME,GACTa,EAAK,EAAGA,EAAK,IAAKA,EACvB,KAAIC,EAAOF,EAAKC,GAChB,IAASvvI,EAAI,EAAGA,EAAIwvI,EAAKrvI,SAAUH,EAAG,CAClC,IAAIqX,EAAgB,GAAVm4H,EAAKxvI,GACf0sI,GAAMsB,EAAK5+H,EAAGigI,EAAIh4H,IAAOjI,GAAKy/H,EAAIx3H,GAC9BA,EAAM,KACNq1H,GAAMsB,EAAK5+H,EAAIogI,EAAKxvI,KAAO,EAAK,KAAMoP,GAAKogI,EAAKxvI,KAAO,GAC/D,CANmB,CAQ3B,MAEIurI,EAAKtB,GAAK+E,EAAKjF,GAAKyB,EAAKrB,GAAK8E,EAAKjF,GAEvC,IAAShqI,EAAI,EAAGA,EAAI0pF,IAAM1pF,EACtB,GAAIkuI,EAAKluI,GAAK,IAAK,CACXqX,EAAO62H,EAAKluI,KAAO,GAAM,GAC7B2sI,GAAQqB,EAAK5+H,EAAGm8H,EAAGl0H,EAAM,MAAOjI,GAAK4/H,EAAG33H,EAAM,KAC1CA,EAAM,IACNq1H,GAAMsB,EAAK5+H,EAAI8+H,EAAKluI,KAAO,GAAM,IAAKoP,GAAK85H,GAAK7xH,IACpD,IAAIo4H,EAAgB,GAAVvB,EAAKluI,GACf2sI,GAAQqB,EAAK5+H,EAAGo8H,EAAGiE,IAAOrgI,GAAK6/H,EAAGQ,GAC9BA,EAAM,IACN9C,GAAQqB,EAAK5+H,EAAI8+H,EAAKluI,KAAO,EAAK,MAAOoP,GAAK+5H,GAAKsG,GAC3D,MAEI9C,GAAQqB,EAAK5+H,EAAGm8H,EAAG2C,EAAKluI,KAAMoP,GAAK4/H,EAAGd,EAAKluI,IAInD,OADA2sI,GAAQqB,EAAK5+H,EAAGm8H,EAAG,MACZn8H,EAAI4/H,EAAG,IAClB,EAEIU,GAAoB,IAAIzG,GAAI,CAAC,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,UAE/F0G,GAAmB,IAAI5G,GAAG,GAE1B6G,GAAO,SAAUjF,EAAKkF,EAAKC,EAAMC,EAAKlgB,EAAMmgB,GAC5C,IAAI39H,EAAIs4H,EAAIxqI,OACRu4D,EAAI,IAAIqwE,GAAGgH,EAAM19H,EAAI,GAAK,EAAIpL,KAAKqsC,MAAMjhC,EAAI,MAASw9G,GAEtDpgH,EAAIipD,EAAE+xE,SAASsF,EAAKr3E,EAAEv4D,OAAS0vH,GAC/Bwb,EAAM,EACV,IAAKwE,GAAOx9H,EAAI,EACZ,IAAK,IAAIrS,EAAI,EAAGA,GAAKqS,EAAGrS,GAAK,MAAO,CAEhC,IAAIlC,EAAIkC,EAAI,MACRlC,EAAIuU,EAEJg5H,EAAM0C,GAAMt+H,EAAG47H,EAAKV,EAAIF,SAASzqI,EAAGlC,KAIpC2R,EAAEzP,GAAKgwI,EACP3E,EAAM0C,GAAMt+H,EAAG47H,EAAKV,EAAIF,SAASzqI,EAAGqS,IAE5C,KAEC,CAeD,IAdA,IAAIwzG,EAAM6pB,GAAIG,EAAM,GAChB3vI,EAAI2lH,IAAQ,GAAIh3G,EAAU,KAANg3G,EACpBoqB,GAAS,GAAKH,GAAQ,EAEtBryH,EAAO,IAAIurH,GAAI,OAAQnhC,EAAO,IAAImhC,GAAIiH,EAAQ,GAC9CC,EAAQjpI,KAAK+R,KAAK82H,EAAO,GAAIK,EAAQ,EAAID,EACzCE,EAAM,SAAUpwI,GAAK,OAAQ2qI,EAAI3qI,GAAM2qI,EAAI3qI,EAAI,IAAMkwI,EAAUvF,EAAI3qI,EAAI,IAAMmwI,GAAUF,CAAO,EAG9F/B,EAAO,IAAIjF,GAAI,MAEf1vD,EAAK,IAAIyvD,GAAI,KAAMzwD,EAAK,IAAIywD,GAAI,IAEhCqH,EAAO,EAAGtwE,EAAK,EAAU2pB,GAAP1pF,EAAI,EAAQ,GAAGirF,EAAK,EAAGkjD,EAAK,EAC3CnuI,EAAIqS,IAAKrS,EAAG,CAEf,IAAIswI,EAAKF,EAAIpwI,GAETuwI,EAAW,MAAJvwI,EAEPwwI,EAAQ3oC,EAAKyoC,GAKjB,GAJA7yH,EAAK8yH,GAAQC,EACb3oC,EAAKyoC,GAAMC,EAGPtlD,GAAMjrF,EAAG,CAET,IAAIywI,EAAMp+H,EAAIrS,EACd,IAAKqwI,EAAO,KAAQ3mD,EAAK,QAAU+mD,EAAM,IAAK,CAC1CpF,EAAM4C,GAAKtD,EAAKl7H,EAAG,EAAGy+H,EAAM30D,EAAIhB,EAAIxY,EAAI2pB,EAAIykD,EAAInuI,EAAImuI,EAAI9C,GACxD3hD,EAAK2mD,EAAOtwE,EAAK,EAAGouE,EAAKnuI,EACzB,IAAK,IAAI00D,EAAI,EAAGA,EAAI,MAAOA,EACvB6kB,EAAG7kB,GAAK,EACZ,IAASA,EAAI,EAAGA,EAAI,KAAMA,EACtB6jB,EAAG7jB,GAAK,CAChB,CAEA,IAAIxlD,EAAI,EAAGJ,EAAI,EAAG4hI,EAAO7hI,EAAG8hI,EAAOJ,EAAOC,EAAS,MACnD,GAAIC,EAAM,GAAKH,GAAMF,EAAIpwI,EAAI2wI,GAMzB,IALA,IAAIC,EAAO3pI,KAAKmE,IAAIlL,EAAGuwI,GAAO,EAC1BI,EAAO5pI,KAAKmE,IAAI,MAAOpL,GAGvB8wI,EAAK7pI,KAAKmE,IAAI,IAAKqlI,GAChBE,GAAOE,KAAUH,GAAQH,GAAQC,GAAO,CAC3C,GAAI7F,EAAI3qI,EAAIkP,IAAMy7H,EAAI3qI,EAAIkP,EAAIyhI,GAAM,CAEhC,IADA,IAAII,EAAK,EACFA,EAAKD,GAAMnG,EAAI3qI,EAAI+wI,IAAOpG,EAAI3qI,EAAI+wI,EAAKJ,KAAQI,GAEtD,GAAIA,EAAK7hI,EAAG,CAGR,GAFAA,EAAI6hI,EAAIjiI,EAAI6hI,EAERI,EAAKH,EACL,MAIJ,IAAII,EAAM/pI,KAAKmE,IAAIulI,EAAKI,EAAK,GACzB7jE,EAAK,EACT,IAASxY,EAAI,EAAGA,EAAIs8E,IAAOt8E,EAAG,CAC1B,IAAIk2B,EAAM5qF,EAAI2wI,EAAMj8E,EAAI,MAAS,MAE7B1V,EAAM4rC,EADAntE,EAAKmtE,GACM,MAAS,MAC1B5rC,EAAKkuB,IACLA,EAAKluB,EAAIwxF,EAAQ5lD,EACzB,CACJ,CACJ,CAGA+lD,IADAJ,EAAOC,IAAOA,EAAQ/yH,EAAK8yH,IACJ,MAAS,KACpC,CAGJ,GAAIzhI,EAAG,CAGHo/H,EAAKxkD,KAAQ,UAAa6/C,GAAMr6H,IAAM,GAAMs6H,GAAM16H,GAClD,IAAImiI,EAAiB,GAAX1H,GAAMr6H,GAASgiI,EAAiB,GAAX1H,GAAM16H,GACrCixD,GAAMmpE,GAAK+H,GAAO9H,GAAK+H,KACrB33D,EAAG,IAAM03D,KACT14D,EAAG24D,GACLjmD,EAAKjrF,EAAIkP,IACPmhI,CACN,MAEInC,EAAKxkD,KAAQihD,EAAI3qI,KACfu5E,EAAGoxD,EAAI3qI,GAEjB,CACJ,CACAqrI,EAAM4C,GAAKtD,EAAKl7H,EAAGugI,EAAK9B,EAAM30D,EAAIhB,EAAIxY,EAAI2pB,EAAIykD,EAAInuI,EAAImuI,EAAI9C,GAErD2E,IACD3E,EAAM0C,GAAMt+H,EAAG47H,EAAKsE,IAC5B,CACA,OAAOnF,GAAI9xE,EAAG,EAAGq3E,EAAMxF,GAAKc,GAAOxb,EACvC,EA2BIshB,GAAQ,WACR,IAAItvI,EAAI,EAAGC,EAAI,EACf,MAAO,CACHsN,EAAG,SAAUN,GAIT,IAFA,IAAI5O,EAAI2B,EAAGsN,EAAIrN,EACXoN,EAAIJ,EAAE3O,OACDH,EAAI,EAAGA,GAAKkP,GAAI,CAErB,IADA,IAAIpR,EAAImJ,KAAKmE,IAAIpL,EAAI,KAAMkP,GACpBlP,EAAIlC,IAAKkC,EACDmP,GAAXjP,GAAK4O,EAAE9O,GACXE,GAAK,MAAOiP,GAAK,KACrB,CACAtN,EAAI3B,EAAG4B,EAAIqN,CACf,EACAL,EAAG,WAAc,OAASjN,IAAM,GAAM,IAAU,IAAJC,IAAY,EAAKA,IAAM,GAA0B,IAAd,IAAJD,IAAY,GAAS,EAExG,EAGIuvI,GAAO,SAAUzG,EAAK9kB,EAAKkqB,EAAKlgB,EAAMgb,GACtC,OAAO+E,GAAKjF,EAAkB,MAAb9kB,EAAIwrB,MAAgB,EAAIxrB,EAAIwrB,MAAkB,MAAXxrB,EAAIyrB,IAAcrqI,KAAK+R,KAAuD,IAAlD/R,KAAKoE,IAAI,EAAGpE,KAAKmE,IAAI,GAAInE,KAAKolE,IAAIs+D,EAAIxqI,WAAoB,GAAK0lH,EAAIyrB,IAAMvB,EAAKlgB,GAAOgb,EACzK,EA8HI0G,GAAS,SAAUziI,EAAGhN,EAAG0N,GACzB,KAAOA,IAAK1N,EACRgN,EAAEhN,GAAK0N,EAAGA,KAAO,CACzB,EAkCIgiI,GAAM,SAAU3iI,EAAG6pD,GACnB,IAAI+4E,EAAK/4E,EAAE24E,MAAO/H,EAAW,GAANmI,EAAU,EAAIA,EAAK,EAAI,EAAU,GAANA,EAAU,EAAI,EAChE5iI,EAAE,GAAK,IAAKA,EAAE,GAAMy6H,GAAM,GAAMA,EAAM,GAAK,EAAIA,EAAM,EACzD,EAEIoI,GAAM,SAAU5iI,GAChB,GAAmB,IAAP,GAAPA,EAAE,KAAkBA,EAAE,KAAO,EAAK,IAAOA,EAAE,IAAM,EAAIA,EAAE,IAAM,GAC9D,KAAM,oBACV,GAAW,GAAPA,EAAE,GACF,KAAM,sDACd,EA+WO,SAAS6iI,GAAS54H,EAAMg4C,QACd,IAATA,IAAmBA,EAAO,CAAC,GAC/B,IAAIlvD,EAAIsvI,KACRtvI,EAAEuN,EAAE2J,GACJ,IAAIjK,EAAIsiI,GAAKr4H,EAAMg4C,EAAM,EAAG,GAC5B,OAAOygF,GAAI1iI,EAAGiiD,GAAOwgF,GAAOziI,EAAGA,EAAE3O,OAAS,EAAG0B,EAAEiN,KAAMA,CACzD,CA4EO,SAAS8iI,GAAW74H,EAAMi1H,GAC7B,OAAOtD,IAAOgH,GAAI34H,GAAOA,EAAK0xH,SAAS,GAAI,IAAKuD,EACpD,CCh0CO,IAAI9tI,GAAgB,iBAClB,oBAAuB7B,OAC1BA,OACA,oBAAuB25F,EAAAA,EACvBA,EAAAA,EACA,oBAAuBz+B,KACvBA,KACAtnD,IAAA,CAPqB,GCE3B,SAASjS,KACHE,GAAa/B,SAA+C,mBAA7B+B,GAAa/B,QAAQkuE,KACtDnsE,GAAa/B,QAAQkuE,IAAIxnE,MAAM3E,GAAa/B,QAAS2G,UAAA,CAuBlD,IAAIjD,GAAU,CACnBwqE,IAAKrsE,GACL5B,KArBF,SAAqBmR,GACfrP,GAAa/B,UAC0B,mBAA9B+B,GAAa/B,QAAQC,KAC9B8B,GAAa/B,QAAQC,KAAKyG,MAAM3E,GAAa/B,QAAS2G,WAEtD9E,GAAW2B,KAAK,KAAMmD,WAAA,EAiB1B9F,MAZF,SAAsBuQ,GAChBrP,GAAa/B,UAC2B,mBAA/B+B,GAAa/B,QAAQa,MAC9BkB,GAAa/B,QAAQa,MAAM6F,MAAM3E,GAAa/B,QAAS2G,WAEvD9E,GAAWuP,GAAA,GCWjB,SAASmpD,GAASnpD,EAAKzR,EAAMwR,GAAA,IACvBpP,EAAM,IAAIuoC,eACdvoC,EAAIqhC,KAAK,MAAOhyB,GAChBrP,EAAIwoC,aAAe,OACnBxoC,EAAI+pC,OAAS,WACX/6B,GAAOhP,EAAIs9C,SAAU1/C,EAAMwR,EAAA,EAE7BpP,EAAIgqC,QAAU,WACZroC,GAAQ7C,MAAM,4BAEhBkB,EAAI89C,MAAA,CAGN,SAAS3rC,GAAY9C,GAAA,IACfzR,EAAM,IAAI2qC,eAEd3qC,EAAIyjC,KAAK,OAAQhyB,GAAA,GAAK,IAEpBzR,EAAIkgD,MAAA,CACJ,MAAOzuC,GAAA,QACFzR,EAAIy/C,QAAU,KAAOz/C,EAAIy/C,QAAU,IAI5C,SAAS1uC,GAAMU,GAAA,IAEXA,EAAKsiI,cAAc,IAAIC,WAAW,UAClC,MAAOxiI,GAAA,IACHxR,EAAMjB,SAASk1I,YAAY,eAC/Bj0I,EAAIk0I,eACF,YACA,EAEA3zI,OACA,EACA,EACA,EACA,GACA,OACA,GACA,GACA,EAEA,EACA,MAEFkR,EAAKsiI,cAAc/zI,EAAA,EAIvB,IClFI+R,GAAMZ,GDkFNC,GACFhP,GAAQ+xI,SAEW,gCAAX5zI,OAAA,aAAAkR,EAAAA,GAAAA,GAAAlR,UAAuBA,SAAW6B,GACtC,aAI2B,oBAAtBgyI,mBACL,aAAcA,kBAAkBxwI,UAChC,SAAgB6N,EAAMzR,EAAMwR,GAAA,IACtBtP,EAAME,GAAQiyI,KAAOjyI,GAAQkyI,UAC7BvwI,EAAIhF,SAASG,cAAc,KAC/Bc,EAAOA,GAAQyR,EAAKvC,MAAQ,WAE5BnL,EAAEwwI,SAAWv0I,EACb+D,EAAEwuG,IAAM,WAKY,iBAAT9gG,GAET1N,EAAE+G,KAAO2G,EACL1N,EAAEywI,SAAW9uI,SAAS8uI,OACxBjgI,GAAYxQ,EAAE+G,MACV8vD,GAASnpD,EAAMzR,EAAMwR,GACrBT,GAAMhN,EAAIA,EAAEq5C,OAAS,UAEzBrsC,GAAMhN,KAIRA,EAAE+G,KAAO5I,EAAIuyI,gBAAgBhjI,GAC7B6tC,YAAW,WACTp9C,EAAIwyI,gBAAgB3wI,EAAE+G,KAAA,GACrB,KACHw0C,YAAW,WACTvuC,GAAMhN,EAAA,GACL,KAIT,qBAAsB1C,UACpB,SAAgBrB,EAAMwR,EAAMpP,GAAA,GAC1BoP,EAAOA,GAAQxR,EAAKkP,MAAQ,WAER,iBAATlP,EAAA,GACLuU,GAAYvU,GACd46D,GAAS56D,EAAMwR,EAAMpP,OAChB,KACDF,EAAInD,SAASG,cAAc,KAC/BgD,EAAE4I,KAAO9K,EACTkC,EAAEk7C,OAAS,SACXkC,YAAW,WACTvuC,GAAM7O,EAAA,SAIVb,UAAUszI,iBAjIpB,SAAa30I,EAAMwR,GAAA,gBACNA,EAAsBA,EAAO,CAAEojI,SAAA,GACjB,YAAhBnjI,EAAAA,GAAAA,GAAOD,KACdzN,GAAQzD,KAAK,sDACbkR,EAAO,CAAEojI,SAAUpjI,IAMnBA,EAAKojI,SACL,6EAA6ExzI,KAC3EpB,EAAKgP,MAGA,IAAI+qG,KAAK,CAAC9lG,OAAOuE,aAAa,OAASxY,GAAO,CAAEgP,KAAMhP,EAAKgP,OAE7DhP,CAAA,CAjBT,CAiIyCA,EAAMoC,GAAOoP,EAAA,EAIhD,SAAgBxR,EAAMwR,EAAMtP,EAAM6B,GAAA,IAGhCA,EAAQA,GAAS0/B,KAAK,GAAI,aAExB1/B,EAAMhF,SAAS0zG,MAAQ1uG,EAAMhF,SAAS4B,KAAKk0I,UACzC,kBAGgB,iBAAT70I,EAAmB,OAAO46D,GAAS56D,EAAMwR,EAAMtP,GAAA,IAEtDqS,EAAsB,6BAAdvU,EAAKgP,KACb+B,EACF,eAAe3P,KAAKgB,GAAQ0yI,cAAgB1yI,GAAQ2yI,OAClDhjI,EAAc,eAAe3Q,KAAKC,UAAUC,WAAA,IAG7CyQ,GAAgBwC,GAASxD,IACJ,gCAAf6uC,WAAA,aAAAnuC,EAAAA,GAAAA,GAAAmuC,aACP,KAEIzuC,EAAS,IAAIyuC,WACjBzuC,EAAOmzG,UAAY,eACb7yG,EAAMN,EAAO7N,OACjBmO,EAAMM,EACFN,EACAA,EAAIlQ,QAAQ,eAAgB,yBAC5BwC,EAAOA,EAAM2B,SAASoF,KAAO2G,EAC5B/L,SAAW+L,EAChB1N,EAAQ,MAEVoN,EAAO0uC,cAAc7/C,EAAA,KAChB,KACDoR,EAAMhP,GAAQiyI,KAAOjyI,GAAQkyI,UAC7BrjI,EAAMG,EAAIqjI,gBAAgBz0I,GAC1B+D,EAAOA,EAAM2B,SAAWuL,EACvBvL,SAASoF,KAAOmG,EACrBlN,EAAQ,KACRu7C,YAAW,WACTluC,EAAIsjI,gBAAgBzjI,EAAA,GACnB,QEpLb,SAASA,GAASQ,GAAA,IAaZzR,EAZJyR,EAAeA,GAAgB,QAC1B1H,IAAA,EAGyB,KAA1B0H,EAAa3P,OAAO,KAEtB2P,EAAeA,EAAajO,OAAO,EAAG,IA2JxCiO,EAjJoB,CAClBujI,UAAW,SACXC,aAAc,SACdC,KAAM,SACNC,WAAY,SACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,eAAgB,SAChB1nH,KAAM,SACN2nH,WAAY,SACZC,MAAO,SACPC,UAAW,SACXC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,SAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,SACNC,SAAU,SACVC,SAAU,SACVC,cAAe,SACfC,SAAU,SACVC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,eAAgB,SAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,SACTC,WAAY,SACZC,aAAc,SACdC,cAAe,SACfC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,SAAU,SACVC,YAAa,SACbC,QAAS,SACTC,WAAY,SACZC,SAAU,SACVC,UAAW,SACXC,YAAa,SACbC,YAAa,SACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,SACNnqH,MAAO,SACPoqH,YAAa,SACbC,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,SACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,YAAa,SACbC,cAAe,SACfC,aAAc,SACdC,eAAgB,SAChBC,eAAgB,SAChBC,eAAgB,SAChBC,YAAa,SACbC,KAAM,SACNC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,SACRC,iBAAkB,SAClBC,WAAY,SACZC,aAAc,SACdC,aAAc,SACdC,eAAgB,SAChBC,gBAAiB,SACjBC,kBAAmB,SACnBC,gBAAiB,SACjBC,gBAAiB,SACjBC,aAAc,SACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,SACRhuH,IAAK,SACLiuH,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,UAAW,SACXC,KAAM,SACNC,YAAa,SACbC,UAAW,SACXC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UArJflsI,GADAA,EAAeA,EAAalQ,QAAQ,KAAM,KACdwD,gBAuJkB0M,EAAA,QAG1CD,EAAa,CACf,CACEslD,GAAI,+CACJ8mF,QAAS,CAAC,oBAAqB,oBAC/Bv1C,QAAS,SAAS52F,GAAA,MACT,CAACiU,SAASjU,EAAK,IAAKiU,SAASjU,EAAK,IAAKiU,SAASjU,EAAK,OAGhE,CACEqlD,GAAI,0BACJ8mF,QAAS,CAAC,UAAW,UACrBv1C,QAAS,SAAS52F,GAAA,MACT,CACLiU,SAASjU,EAAK,GAAI,IAClBiU,SAASjU,EAAK,GAAI,IAClBiU,SAASjU,EAAK,GAAI,OAIxB,CACEqlD,GAAI,0BACJ8mF,QAAS,CAAC,OAAQ,OAClBv1C,QAAS,SAAS52F,GAAA,MACT,CACLiU,SAASjU,EAAK,GAAKA,EAAK,GAAI,IAC5BiU,SAASjU,EAAK,GAAKA,EAAK,GAAI,IAC5BiU,SAASjU,EAAK,GAAKA,EAAK,GAAI,QAO3BrP,EAAI,EAAGA,EAAIoP,EAAWnP,OAAQD,IAAK,KACtCF,EAAKsP,EAAWpP,GAAG00D,GACnB/yD,EAAYyN,EAAWpP,GAAGimG,QAC1BztC,EAAO14D,EAAGyzD,KAAKlkD,GACfmpD,IACF56D,EAAW+D,EAAU62D,GAAA,KAChBppD,EAAIxR,EAAS,QACbkR,EAAIlR,EAAS,QACbgE,EAAIhE,EAAS,QACb+J,IAAA,EAAK,MAKTyH,EAAI2C,KAAK3C,EAAI,GAAK+sD,MAAMpqD,KAAK3C,GAAK,EAAI2C,KAAK3C,EAAI,IAAM,IAAM2C,KAAK3C,EAAA,KAChEN,EAAIiD,KAAKjD,EAAI,GAAKqtD,MAAMpqD,KAAKjD,GAAK,EAAIiD,KAAKjD,EAAI,IAAM,IAAMiD,KAAKjD,EAAA,KAChElN,EAAImQ,KAAKnQ,EAAI,GAAKu6D,MAAMpqD,KAAKnQ,GAAK,EAAImQ,KAAKnQ,EAAI,IAAM,IAAMmQ,KAAKnQ,EAAA,KAGhE65I,MAAQ,iBACJ,OAAS1pI,KAAK3C,EAAI,KAAO2C,KAAKjD,EAAI,KAAOiD,KAAKnQ,EAAI,UAEtD85I,MAAQ,eACPrsI,EAAI0C,KAAK3C,EAAEnI,SAAS,IACpBrJ,EAAImU,KAAKjD,EAAE7H,SAAS,IACpBmI,EAAI2C,KAAKnQ,EAAEqF,SAAS,WACR,GAAZoI,EAAEpP,SAAaoP,EAAI,IAAMA,GACb,GAAZzR,EAAEqC,SAAarC,EAAI,IAAMA,GACb,GAAZwR,EAAEnP,SAAamP,EAAI,IAAMA,GACtB,IAAMC,EAAIzR,EAAIwR,CAAA,EChOzB,SAASR,GAASS,EAAGzR,GAAA,IACfwR,EAAIC,EAAE,GACRrP,EAAIqP,EAAE,GACNvP,EAAIuP,EAAE,GACN1N,EAAI0N,EAAE,GAERD,EAAIN,GAAGM,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,WAC7B+D,EAAImN,GAAGnN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,IAAK,WAC9BkC,EAAIgP,GAAGhP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,GAAI,WAC7BoC,EAAI8O,GAAG9O,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,YAC9BwR,EAAIN,GAAGM,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,WAC7B+D,EAAImN,GAAGnN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,GAAI,YAC7BkC,EAAIgP,GAAGhP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,IAAK,YAC9BoC,EAAI8O,GAAG9O,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,UAC9BwR,EAAIN,GAAGM,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,EAAG,YAC5B+D,EAAImN,GAAGnN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,IAAK,YAC9BkC,EAAIgP,GAAGhP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,IAAK,OAC/BoC,EAAI8O,GAAG9O,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,IAAK,IAAK,YAC/BwR,EAAIN,GAAGM,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,IAAK,EAAG,YAC7B+D,EAAImN,GAAGnN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,IAAK,IAAK,UAC/BkC,EAAIgP,GAAGhP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,IAAK,YAG/BwR,EAAIH,GAAGG,EAFPpP,EAAI8O,GAAG9O,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,IAAK,GAAI,YAEjBkC,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,WAC7B+D,EAAIsN,GAAGtN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,GAAI,YAC7BkC,EAAImP,GAAGnP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,GAAI,WAC9BoC,EAAIiP,GAAGjP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,WAC9BwR,EAAIH,GAAGG,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,WAC7B+D,EAAIsN,GAAGtN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,IAAK,EAAG,UAC7BkC,EAAImP,GAAGnP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,IAAK,WAC/BoC,EAAIiP,GAAGjP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,WAC9BwR,EAAIH,GAAGG,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,EAAG,WAC5B+D,EAAIsN,GAAGtN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,IAAK,GAAI,YAC9BkC,EAAImP,GAAGnP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,IAAK,WAC9BoC,EAAIiP,GAAGjP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,GAAI,YAC7BwR,EAAIH,GAAGG,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,IAAK,GAAI,YAC9B+D,EAAIsN,GAAGtN,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,GAAI,UAC7BkC,EAAImP,GAAGnP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,GAAI,YAG7BwR,EAAIE,GAAGF,EAFPpP,EAAIiP,GAAGjP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,IAAK,IAAK,YAElBkC,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,QAC7B+D,EAAI2N,GAAG3N,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,IAAK,YAC9BkC,EAAIwP,GAAGxP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,GAAI,YAC9BoC,EAAIsP,GAAGtP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,IAAK,IAAK,UAC/BwR,EAAIE,GAAGF,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,YAC7B+D,EAAI2N,GAAG3N,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,GAAI,YAC7BkC,EAAIwP,GAAGxP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,IAAK,WAC9BoC,EAAIsP,GAAGtP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,IAAK,IAAK,YAC/BwR,EAAIE,GAAGF,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,IAAK,EAAG,WAC7B+D,EAAI2N,GAAG3N,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,IAAK,WAC9BkC,EAAIwP,GAAGxP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,IAAK,WAC9BoC,EAAIsP,GAAGtP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,GAAI,UAC7BwR,EAAIE,GAAGF,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,WAC7B+D,EAAI2N,GAAG3N,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,IAAK,IAAK,WAC/BkC,EAAIwP,GAAGxP,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,GAAI,WAG9BwR,EAAIxN,GAAGwN,EAFPpP,EAAIsP,GAAGtP,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,WAEjBkC,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,WAC7B+D,EAAIC,GAAGD,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,GAAI,YAC7BkC,EAAI8B,GAAG9B,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,IAAK,YAC/BoC,EAAI4B,GAAG5B,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,UAC9BwR,EAAIxN,GAAGwN,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,IAAK,EAAG,YAC7B+D,EAAIC,GAAGD,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,GAAI,IAAK,YAC9BkC,EAAI8B,GAAG9B,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,IAAK,IAAK,SAC/BoC,EAAI4B,GAAG5B,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,YAC9BwR,EAAIxN,GAAGwN,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,EAAG,YAC5B+D,EAAIC,GAAGD,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,IAAK,IAAK,UAC/BkC,EAAI8B,GAAG9B,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,IAAK,YAC9BoC,EAAI4B,GAAG5B,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,IAAK,GAAI,YAC9BwR,EAAIxN,GAAGwN,EAAGpP,EAAGF,EAAG6B,EAAG/D,EAAE,GAAI,GAAI,WAC7B+D,EAAIC,GAAGD,EAAGyN,EAAGpP,EAAGF,EAAGlC,EAAE,IAAK,IAAK,YAC/BkC,EAAI8B,GAAG9B,EAAG6B,EAAGyN,EAAGpP,EAAGpC,EAAE,GAAI,GAAI,WAC7BoC,EAAI4B,GAAG5B,EAAGF,EAAG6B,EAAGyN,EAAGxR,EAAE,GAAI,IAAK,WAE9ByR,EAAE,GAAKgE,GAAMjE,EAAGC,EAAE,IAClBA,EAAE,GAAKgE,GAAMrT,EAAGqP,EAAE,IAClBA,EAAE,GAAKgE,GAAMvT,EAAGuP,EAAE,IAClBA,EAAE,GAAKgE,GAAM1R,EAAG0N,EAAE,IAGpB,SAASH,GAAIG,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,GAAA,OAC1B/D,EAAIyV,GAAMA,GAAMzV,EAAGyR,GAAIgE,GAAMrT,EAAG2B,IACzB0R,GAAOzV,GAAKkC,EAAMlC,IAAO,GAAKkC,EAAKsP,EAAA,CAG5C,SAASN,GAAGO,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,EAAG62D,GAAA,OACrBtpD,GAAKtR,EAAIwR,GAAOxR,EAAIoC,EAAIqP,EAAGzR,EAAGkC,EAAG6B,EAAG62D,EAAA,CAG7C,SAASvpD,GAAGI,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,EAAG62D,GAAA,OACrBtpD,GAAKtR,EAAIoC,EAAMoP,GAAKpP,EAAIqP,EAAGzR,EAAGkC,EAAG6B,EAAG62D,EAAA,CAG7C,SAASlpD,GAAGD,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,EAAG62D,GAAA,OACrBtpD,GAAItR,EAAIwR,EAAIpP,EAAGqP,EAAGzR,EAAGkC,EAAG6B,EAAG62D,EAAA,CAGpC,SAAS52D,GAAGyN,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,EAAG62D,GAAA,OACrBtpD,GAAIE,GAAKxR,GAAKoC,GAAIqP,EAAGzR,EAAGkC,EAAG6B,EAAG62D,EAAA,CAGvC,SAAS/oD,GAAKJ,GAAA,IAIVzR,EAFEwR,EAAIC,EAAEpP,OACRD,EAAQ,CAAC,YAAa,WAAY,WAAY,eAE3CpC,EAAI,GAAIA,GAAKyR,EAAEpP,OAAQrC,GAAK,GAC/BgR,GAAS5O,EAAOuP,GAAOF,EAAEtF,UAAUnM,EAAI,GAAIA,KAE7CyR,EAAIA,EAAEtF,UAAUnM,EAAI,QAChBkC,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OACpDlC,EAAI,EAAGA,EAAIyR,EAAEpP,OAAQrC,IACxBkC,EAAKlC,GAAK,IAAMyR,EAAEwG,WAAWjY,KAAOA,EAAI,GAAK,MAC/CkC,EAAKlC,GAAK,IAAM,MAASA,EAAI,GAAK,GAC9BA,EAAI,GAAI,IACVgR,GAAS5O,EAAOF,GACXlC,EAAI,EAAGA,EAAI,GAAIA,IAAKkC,EAAKlC,GAAK,SAErCkC,EAAK,IAAU,EAAJsP,EACXR,GAAS5O,EAAOF,GACTE,CAAA,CAkBT,SAASuP,GAAOF,GAAA,IAGZzR,EADEwR,EAAU,OAETxR,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBwR,EAAQxR,GAAK,GACXyR,EAAEwG,WAAWjY,IACZyR,EAAEwG,WAAWjY,EAAI,IAAM,IACvByR,EAAEwG,WAAWjY,EAAI,IAAM,KACvByR,EAAEwG,WAAWjY,EAAI,IAAM,WAErBwR,CAAA,CF1JPO,GAAO3P,GAAaqsG,KAAK1/B,KAAK3sE,IAC9B+O,GAAO/O,GAAagiH,KAAKr1C,KAAK3sE,IE4JhC,IAAI66E,GAAU,mBAAmBr6E,MAAM,IAEvC,SAASolC,GAAKv2B,GAAA,QACRzR,EAAI,GACNwR,EAAI,EACCA,EAAI,EAAGA,IACZxR,GAAKi9E,GAASxrE,GAAU,EAAJD,EAAQ,EAAM,IAAQyrE,GAASxrE,GAAU,EAAJD,EAAU,WAC9DxR,CAAA,CAST,SAASiS,GAAmBR,GAAA,OACnBwC,OAAOuE,cACP,IAAJ/G,IAAa,GACT,MAAJA,IAAe,GACX,SAAJA,IAAiB,IACb,WAAJA,IAAmB,IAUxB,SAASG,GAAOH,GAAA,OACMI,GAAKJ,GALhB3D,IAAImE,IAAoB1O,KAAK,IAaxC,IAAI4jF,GAA2B,oCA9B/B,SAAa11E,GAAA,IACN,IAAIzR,EAAI,EAAGA,EAAIyR,EAAEpP,OAAQrC,IAAKyR,EAAEzR,GAAKgoC,GAAKv2B,EAAEzR,IAAA,OAC1CyR,EAAElO,KAAK,IAFhB,CA2BasO,GAGM,UAEnB,SAAS4D,GAAMhE,EAAGzR,GAAA,GACZmnF,GAAU,KAKR31E,GAAW,MAAJC,IAAmB,MAAJzR,GAAA,OACjByR,GAAK,KAAOzR,GAAK,KAAOwR,GAAO,KACzB,GAAa,MAANA,CAAA,QAOdC,EAAIzR,EAAK,WCrMrB,SAAS2U,GAAIlD,EAAKzR,GAAA,IACZwR,EAASpP,EAdCF,EAAK6B,EAAA,GAef0N,IAAQD,EAAS,SACfopD,GAhBQ14D,EAgBGuP,EAhBE1N,EAgB+B,GAA1B,IAAM0N,EAAIpP,QAAW,GAftC,IAAI4B,MAAMF,EAAM,GAAGR,KAAKrB,IAgBzBqS,EAAQ,GACHxD,EAAI,EAAGA,EAAI,IAAKA,IACvBwD,EAAMxD,GAAKA,EAAA,IAETgB,EAAI,MACChB,EAAI,EAAGA,EAAI,IAAKA,IAAK,KACxBI,EAAIoD,EAAMxD,GACdgB,GAAKA,EAAIZ,EAAIypD,EAAE3iD,WAAWlH,IAAM,IAChCwD,EAAMxD,GAAKwD,EAAMxC,GACjBwC,EAAMxC,GAAKZ,CAAA,CAEbK,EAAUC,EACVrP,EAAYmS,CAAA,MAEZA,EAAQnS,EAAA,IAENgP,EAASpR,EAAKqC,OACd4O,EAAI,EACJD,EAAI,EACJM,EAAM,OACDP,EAAI,EAAGA,EAAIK,EAAQL,IAG1BC,GAAKA,GADLG,EAAIoD,EADJtD,GAAKA,EAAI,GAAK,OAEA,IACdsD,EAAMtD,GAAKsD,EAAMvD,GACjBuD,EAAMvD,GAAKG,EACXypD,EAAIrmD,GAAOA,EAAMtD,GAAKsD,EAAMvD,IAAM,KAClCM,GAAO2C,OAAOuE,aAAaxY,EAAKiY,WAAWlH,GAAK6pD,GAAA,OAE3CtpD,CAAA,CCxCT,IAAInP,GAAoB,CACtB47I,MAAO,EACPC,OAAQ,EACRC,KAAM,iBACS,IAgBjB,SAASnhE,GAAYrrE,EAAazR,EAAcwR,EAAepP,GAAA,KACxDsP,EAAI,OACJF,EAAI,MAGLtP,EAAa,IACjBuP,EAAYlK,SAAQ,SAASkK,GAAA,YAChBtP,GAAkB+7I,KAAA,MACrB,IAAIl9I,MAAM,uBAAyByQ,GAE3CvP,GAAcC,GAAkBsP,EAAA,SAI7B+4C,QACH,yEAEEzmD,GAAsB/D,EAAemU,KAAKq2C,SAAShnD,OAAO,EAAG,IAC7Do3D,GAAuBppD,EAAgB2C,KAAKq2C,SAAShnD,OAAO,EAAG,SAE9Di8E,EAAItrE,KAAKgqI,qBAAqBp6I,EAAoB62D,GAAA,KAClDjmD,IAA2B,GAAP,IAAbzS,IAAA,KACPk8I,cAAgBxsI,GACnB7N,EACEoQ,KAAKsrE,EACLtrE,KAAKkqI,aAAalqI,KAAKQ,GACvBR,KAAKmqI,WAAWl8I,IAClBoB,OAAO,EAAG,QACP2gB,EAAIxP,GAAIR,KAAKiqI,cAAejqI,KAAKq2C,QAAA,CC1DxC,SAAStmC,GAAUzS,GAAA,GAEb,mBAAmBrQ,KAAKqQ,GAAA,MAEpB,IAAIzQ,MACR,4BAA8ByQ,EAAM,2CAGpCzR,EAAS,GACXwR,EAAYC,EAAIpP,OACTD,EAAI,EAAGA,EAAIoP,EAAWpP,IAAK,KAC9BF,EAAWuP,EAAIwG,WAAW7V,GAuB5BpC,GArBAkC,EAAW,IACE,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,MAAbA,GACa,MAAbA,GACAA,EAAW,IASD,KAFS,IADNA,EAASmH,SAAS,KACElE,OAAO,GAK9BsM,EAAIrP,EAAA,QAGXpC,CAAA,CC3BT,SAASoiF,GAAOpiF,GAAA,GACS,YAAnByR,EAAAA,GAAAA,GAAOzR,GAAA,MACH,IAAIgB,MACR,kEAGAwQ,EAAS,CAAC,EAAD,KAERw3E,UAAY,SAASv3E,EAAOzR,EAAUoC,GAAA,GACzCA,EAAOA,IAAA,EAEY,iBAAVqP,GACa,mBAAbzR,GACS,kBAAToC,EAAA,MAED,IAAIpB,MACR,+DAICwQ,EAAOsC,eAAerC,KACzBD,EAAOC,GAAS,CAAC,GAAD,IAGdvP,EAAQiH,KAAKC,SAASC,SAAS,WACnCmI,EAAOC,GAAOvP,GAAS,CAAClC,IAAYoC,GAE7BF,CAAA,OAGJ6hH,YAAc,SAAStyG,GAAA,IACrB,IAAIzR,KAASwR,EAAA,GACZA,EAAOxR,GAAOyR,GAAA,cACTD,EAAOxR,GAAOyR,GACqB,IAAtC9N,OAAOY,KAAKiN,EAAOxR,IAAQqC,eACtBmP,EAAOxR,IAAA,EAET,QAGJ,OAGJu+I,QAAU,SAAS9sI,GAAA,GAClBD,EAAOsC,eAAerC,GAAQ,KAC5BvP,EAAO+B,MAAML,UAAUuB,MAAMtB,KAAKmD,UAAW,GAC/C4zD,EAAS,OAEN,IAAIrmD,KAAS/C,EAAOC,GAAQ,KAC3BV,EAAMS,EAAOC,GAAO8C,GAAA,IAEtBxD,EAAI,GAAGhK,MAAM/G,EAASkC,EAAA,CACtB,MAAOuP,GACHrP,GAAa/B,SACf0D,GAAQ7C,MAAM,qBAAsBuQ,EAAGhT,QAASgT,EAAA,CAGhDV,EAAI,IAAI6pD,EAAO3zD,KAAKsN,EAAA,CAEtBqmD,EAAOv4D,QAAQu4D,EAAOrzD,QAAQ4M,KAAK4vG,YAAA,QAItCy6B,UAAY,kBACRhtI,CAAA,EAIX,SAASolD,GAAOnlD,GAAA,KACR0C,gBAAgByiD,IAAA,OACb,IAAIA,GAAOnlD,GAAA,IAWhBzR,EAAY,yBAAyB4C,MAAM,SAC1C,IAAI4O,KAAKC,EACRA,EAAWqC,eAAetC,IAAMxR,EAAUgF,QAAQwM,IAAM,SACrDA,GAAKC,EAAWD,IAAA,KAOpB6gD,GAAK,QAKLosF,cAAgB,EAoBvB,SAASh/D,GAAQhuE,EAAQzR,GAAA,KAClB0+I,OAASjtI,EAAA,KACTuvB,OAAShhC,EAAA,KAETqyD,GAAK,QACLosF,cAAgB,EAGvB,SAAS/gF,GAAejsD,EAAMzR,EAAQwR,EAAQpP,EAAQF,GAAA,KAC9CiS,gBAAgBupD,IAAA,OACb,IAAIA,GAAejsD,EAAMzR,EAAQwR,EAAQpP,EAAQF,GAAA,KAIrD8M,KAAgB,UAATyC,EAAmB,EAAI,OAC9BktI,OAAS3+I,EAAA,KACT4+I,OAASptI,EAEdiuE,GAAQ57E,KAAKsQ,KAAM/R,EAAQF,EAAA,CAG7B,SAAS86E,GAAcvrE,EAAazR,EAAOwR,EAAOpP,EAAQF,GAAA,KAClDiS,gBAAgB6oE,IAAA,OACb,IAAIA,GAAcvrE,EAAazR,EAAOwR,EAAOpP,EAAQF,GAAA,KAGzD28I,YAAcptI,EAAA,KACdqtI,MAAQ9+I,EAAA,KACR++I,MAAQvtI,EAAA,KAERwtI,OAAS,QAETC,WAAa,EAElBx/D,GAAQ57E,KAAKsQ,KAAM/R,EAAQF,EAAA,CAsC7B,SAAS+hB,GAAMjkB,GAAA,IAOTwR,EANAtP,EAAsC,iBAAjB8E,UAAU,GAAkBA,UAAU,GAAK,IAChE4zD,EAAO5zD,UAAU,GACjBuN,EAASvN,UAAU,GACnB+J,EAAc/J,UAAU,GACxB+K,EAAU,GACVf,EAAW,EAEXM,EAAiB,GACjBJ,EAAuB,IACvBG,EAAoB,KAID,YAAnBI,EAAAA,GAAAA,GAFJzR,EAAUA,GAAW,CAAC,KAGpBkC,EAAclC,EAAQk/I,YACtBtkF,EAAO56D,EAAQiqB,MAAQ2wC,EACvBrmD,EAASvU,EAAQE,QAAUqU,EAC3BxD,EAAc/Q,EAAQm/I,UAAYn/I,EAAQo/I,aAAeruI,EAE/B,QAD1BM,EAAoBrR,EAAQq/I,YAAc,QAExChuI,EAAkBiuI,aAAejuI,EAAkBiuI,cAAgB,GACnEjuI,EAAkBkuI,cAAgBluI,EAAkBkuI,eAAiB,GACrEluI,EAAkBmuI,gBAChBnuI,EAAkBmuI,iBAAmB,IAEzCxuI,EAC8B,iBAArBhR,EAAQy/I,SAAwBt2I,KAAKuwB,IAAI15B,EAAQy/I,UAAY,WAC3Dz/I,EAAQ0/I,YACjBluI,EAAYxR,EAAQ0/I,gBAAA,IAEX1/I,EAAQ2/I,iBACjBruI,EAAiBtR,EAAQ2/I,gBAE3BzuI,EAAuBlR,EAAQ4/I,sBAAwB,KAGzD7tI,EACE/R,EAAQ6/I,WAAA,IAAY9uI,EAAuB,CAAC,eAAiBgB,GAE/D6oD,EAAOA,GAAQ,KACf14D,GAAe,IAAMA,GAAe,MAAM6C,cAAA,IACtC2M,EAAmB1R,EAAQ8/I,mBAAA,EAC3B97I,EAAY,CAAC,EAEb6N,EAAM,CACRkuI,SAAU,CAAC,EACXC,YAAa,CAAC,GAGhBnuI,EAAImuI,YAAYC,OAAS79D,GAAA,IAErBzwE,EAAa,MACbsrE,EAAiBprE,EAAImuI,YAAYE,cAAgB,kBAC5CvuI,CAAA,EAGTE,EAAImuI,YAAYG,cAAgB,SAAS1uI,GACvCE,EAAaF,CAAA,MAIXu2B,EAAc,CAChBo4G,GAAI,CAAC,QAAS,SACd13H,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbwY,GAAI,CAAC,OAAQ,QACbi/G,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,IAAK,CAAC,KAAM,QACZC,GAAI,CAAC,QAAS,SACdz/G,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdy/G,GAAI,CAAC,QAAS,SACdv/G,GAAI,CAAC,OAAQ,SACbw/G,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,GAAI,CAAC,QAAS,SACdl8H,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdE,GAAI,CAAC,OAAQ,SACbg8H,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbvQ,GAAI,CAAC,OAAQ,QACb/kF,OAAQ,CAAC,IAAK,yBACO,CAAC,IAAK,KAC3Bu1F,MAAO,CAAC,IAAK,qBACG,CAAC,IAAK,KACtBC,OAAQ,CAAC,KAAM,KACfC,QAAS,CAAC,IAAK,oBACA,CAAC,IAAK,MAGvBhwI,EAAImuI,YAAY8B,eAAiB,kBACxB95G,CAAA,MAGL/1B,EAAiBJ,EAAImuI,YAAY+B,cAAgB,SAAStwI,GAAA,OACrDu2B,EAAYv2B,EAAA,EAGrB8C,EAASA,GAAU,SAEf3C,EACM,SADNA,EAEQ,WAERu1E,EAAUv1E,EAAQ,SAEb6D,IAAA,KAIFusI,oBACL1T,EACE,IAAI2T,GACF7tF,GACA,EACA,GACCA,GACD,EACA8tF,KAAkB9tF,IAClB/qD,WAAa,YAEZ84I,YAAYhuI,KAAKiuI,cAAgBhuF,IAItCljD,EAAuB,IAEvBi2E,EAAUv1E,CAAQ,UAGX+C,IAAA,KACF0tI,uBACLnxI,EAAuB,IACvBi2E,EAAUv1E,CAAQ,KAUhBzP,EAAiC0P,EAAImuI,YAAYsC,8BAAgC,SACnF7wI,EACAzR,GAAA,GAGgB,QAAbyR,GAAqC,UAAdzR,GACV,QAAbyR,GAAqC,KAAdzR,GACV,UAAbyR,GAAuC,UAAdzR,GACZ,QAAbyR,GAAqC,UAAdzR,EAAA,MAElB,IAAIgB,MAAM,0DAEdhB,IACFyR,EACgB,KAAdzR,GAAoC,WAAfA,EACH,WAAdyR,EACE,SACA,SACa,KAAdzR,GAAoC,SAAfA,GACR,WAAdyR,GAEe,KAAdzR,EAAoB,OAASA,GAAc,GAAKyR,EADjD,QAGDA,CAAA,EA6BTI,EAAI0wI,YAAc,SAAS9wI,GAAA,IACrBzR,EAAWmnF,IAAYv1E,EAAQ,OAE/B5R,GACFyV,EAAY5R,KAAKsQ,MAGC,mBAAT1C,IAIXA,EAAK0C,MAEDnU,GACF2U,EAAU9Q,KAAKsQ,OANRA,IAAA,EAqBXtC,EAAI2wI,UAAY,SAAS/wI,GAAA,IACnBzR,EAAWmnF,IAAYv1E,EAAQ,OAE/B5R,GACF2U,EAAU9Q,KAAKsQ,MAGG,mBAAT1C,IAIXA,EAAK0C,MAEDnU,GACFyV,EAAY5R,KAAKsQ,OANVA,IAAA,EAiBXtC,EAAI4wI,cAAgB,kBACXt7D,IAAYv1E,CAAQ,MAyBzB6tE,EAtBAluE,EAAsB,SAASE,GAAA,GAC7B01E,IAAYv1E,EAAQ,MAChB,IAAI5Q,MACRyQ,EAAA,qFAOFysD,EAAoBrsD,EAAI6wI,iBAAmB7wI,EAAImuI,YAAY0C,iBAAmB,SAChFjxI,EACAzR,GAAA,IAEIoC,EAAeoP,GAAaxR,EAAA,GAC5Bu+D,MAAM9sD,IAAW8sD,MAAMn8D,GAAA,MACnB,IAAIpB,MAAM,4DAEXyQ,EAAOkxI,QAAQvgJ,GAAcb,QAAQ,MAAO,KAMnDk+E,EAAM5tE,EAAI+wI,IAAM/wI,EAAImuI,YAAY4C,IADJ,iBAAnBtxI,EAC6B,SAASG,GAAA,GACzC8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,+CAEXk9D,EAAiBzsD,EAAQH,EAAA,EAEN,UAAnBA,EAC6B,SAASG,GAAA,GACzC8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,+CAGTk9D,EAAiBzsD,EADtBA,GAAU,GAAKA,EAAS,EACM,GAEA,IAIE,SAASA,GAAA,GACzC8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,+CAEXk9D,EAAiBzsD,EAAQ,SAGhCy1E,EAAMr1E,EAAIgxI,GAAKhxI,EAAImuI,YAAY6C,GAAK,SAASpxI,GAAA,GAC3C8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,8CAEXk9D,EAAiBzsD,EAAQ,IAG9By2B,EAAMr2B,EAAImuI,YAAY8C,GAAK,SAASrxI,GAAA,GAClC8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,8CAEXk9D,EAAiBzsD,EAAQ,IAG9B0S,EAAStS,EAAIq5C,MAAQr5C,EAAImuI,YAAY90F,MAAQ,SAASz5C,GAAA,GACpD8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,iDAEdmmF,IAAYv1E,EACPH,EAAS2iD,GACP+yB,IAAYv1E,EACdH,OAAA,CADF,EAaLorE,EAAkB,SAASprE,GAAA,OACtB0S,EATQ,SAAS1S,GAAA,OACpB01E,IAAYv1E,EACPswI,KAAkBzwI,EAChB01E,IAAYv1E,EACdH,OAAA,CADF,CAMMK,CAAWL,GAAA,EAW1BI,EAAImuI,YAAY+C,aAAelxI,EAAIkxI,aAAe,SAAStxI,GACtB,iBAAxBiU,SAASjU,EAAO,MACzBD,EAAYkU,SAASjU,EAAO,UA0D5B28E,EAtDAnmD,EAAS,mCAETmyC,EAAavoE,EAAImuI,YAAYgD,UAAY,kBACpC/6G,CAAA,EAGLgpD,EAAap/E,EAAImuI,YAAYiD,UAAY,SAASxxI,GAAA,OAElDw2B,OAAA,IADSx2B,GAAyB,oBAAoBrQ,KAAKqQ,GAClDA,EAAM+b,cAENya,EACNrlC,MAAM,IACNkL,KAAI,iBACI,mBAAmBhM,OAAOqH,KAAKqsC,MAAsB,GAAhBrsC,KAAKC,UAAA,IAElD7F,KAAK,IAGgB,OAAtB8N,IACF4oE,GAAa,IAAI6C,GACfzrE,EAAkBmuI,gBAClBnuI,EAAkBiuI,aAClBjuI,EAAkBkuI,cAClBt3G,IAGGA,CAAA,EAWTp2B,EAAIoxI,UAAY,SAASxxI,GAAA,OACvBw/E,EAAUx/E,GACH0C,IAAA,EAWTtC,EAAImxI,UAAY,kBACP5oE,GAAA,MAKLa,EAAwBppE,EAAImuI,YAAYkD,qBAAuB,SACjEzxI,GAAA,IAGIzR,EAAWyR,EAAS0xI,oBACtB3xI,EAASxR,EAAW,EAAI,IAAM,IAC9BoC,EAAS+G,KAAKqsC,MAAMrsC,KAAKuwB,IAAI15B,EAAW,KACxCkC,EAAQiH,KAAKuwB,IAAI15B,EAAW,IAC5B+D,EAAiB,CAACyN,EAAQ2pE,EAAM/4E,GAAS,IAAK+4E,EAAMj5E,GAAQ,KAAKqB,KAAK,UAE/D,CACP,KACAkO,EAAS2xI,cACTjoE,EAAM1pE,EAAS4xI,WAAa,GAC5BloE,EAAM1pE,EAAS6xI,WACfnoE,EAAM1pE,EAAS8xI,YACfpoE,EAAM1pE,EAAS+xI,cACfroE,EAAM1pE,EAASgyI,cACf1/I,GACAR,KAAK,KAILytF,EAAwBn/E,EAAImuI,YAAY0D,qBAAuB,SACjEjyI,GAAA,IAEIzR,EAAO0lB,SAASjU,EAAYjO,OAAO,EAAG,GAAI,IAC1CgO,EAAQkU,SAASjU,EAAYjO,OAAO,EAAG,GAAI,IAAM,EACjDpB,EAAOsjB,SAASjU,EAAYjO,OAAO,EAAG,GAAI,IAC1CtB,EAAOwjB,SAASjU,EAAYjO,OAAO,GAAI,GAAI,IAC3CO,EAAU2hB,SAASjU,EAAYjO,OAAO,GAAI,GAAI,IAC9Co3D,EAAUl1C,SAASjU,EAAYjO,OAAO,GAAI,GAAI,WAI9B,IAAI+uD,KAAKvyD,EAAMwR,EAAOpP,EAAMF,EAAM6B,EAAS62D,EAAS,IAItEsgB,EAAmBrpE,EAAImuI,YAAY2D,gBAAkB,SAASlyI,GAAA,IAC5DzR,EAAA,YAEOyR,IACTA,EAAO,IAAI8gD,MAGT9gD,aAAgB8gD,KAClBvyD,EAAwBi7E,EAAqBxpE,OACxC,KAPoB,kMAOKrQ,KAAKqQ,GAAA,MAG7B,IAAIzQ,MAAM,oDAFhBhB,EAAwByR,CAAA,QAI1B28E,EAAepuF,CAAA,EAIbokB,EAAmBvS,EAAImuI,YAAY4D,gBAAkB,SAASnyI,GAAA,IAC5DzR,EAASouF,EAAA,MACA,WAAT38E,IACFzR,EAASgxF,EAAqB5C,IAEzBpuF,CAAA,EAWT6R,EAAI8xI,gBAAkB,SAASlyI,GAAA,OAC7BypE,EAAgBzpE,GACT0C,IAAA,EAWTtC,EAAI+xI,gBAAkB,SAASnyI,GAAA,OACtB2S,EAAgB3S,EAAA,MAmBrBoyI,EAhBA1oE,EAAStpE,EAAImuI,YAAY8D,MAAQ,SAASryI,GAAA,OACpC,IAAMiU,SAASjU,IAAStM,OAAO,IAGrC4+I,EAAYlyI,EAAImuI,YAAYgE,SAAW,SAASvyI,GAAA,OAE1C,MADRA,EAAYA,EAAUpI,aACI7F,OAAOiO,EAAUpP,OAAA,EAGzCwvI,EAAe,EACfoS,EAAU,GACVC,EAAU,GACVzS,EAAgB,EAChB0S,EAAoB,GAEpBC,EAAQ,GAERrX,GAAA,EACAsX,EAAoBH,EAcxBryI,EAAImuI,YAAYsE,2BAA6B,SAAS7yI,GACpDs7H,GAAA,EACAsX,EAAoB5yI,CAAA,MAElB8yI,EAAuB,SAAS9yI,GAC7Bs7H,IACHsX,EAAoB5yI,EAAA,EAIxBI,EAAImuI,YAAYwE,6BAA+B,WAC7CzX,GAAA,EACAsX,EAAoBH,CAAA,MAGlB5V,EAAOz8H,EAAImuI,YAAY9P,IAAM,SAASz+H,GAAA,OACxCA,EAASA,EAAOpI,WAChBooI,GAAiBhgI,EAAOpP,OAAS,EACjCgiJ,EAAkBp9I,KAAKwK,GAEhB4yI,CAAA,EAGLI,EAAS5yI,EAAImuI,YAAYv4H,MAAQ,SAAShW,GAAA,OACrC68H,EACgB,IAArBtnI,UAAU3E,OACNoP,EAAMpI,WACNpF,MAAML,UAAUL,KAAKM,KAAKmD,UAAW,OAIzCunI,EAAkB18H,EAAImuI,YAAY0E,eAAiB,SAASjzI,GAAA,QAC1DzR,EAAMyR,EAAKpP,OACbmP,EAAK,IAAIiI,YAAYzZ,GACrBoC,EAAK,IAAIuW,WAAWnH,GAEfxR,KAAOoC,EAAGpC,GAAOyR,EAAKwG,WAAWjY,GAAA,OACjCwR,CAAA,EAGLmzI,GAAgB,CAClB,CAAC,YAAa,YAAa,SAAU,mBACrC,CAAC,iBAAkB,YAAa,OAAQ,mBACxC,CAAC,oBAAqB,YAAa,SAAU,mBAC7C,CAAC,wBAAyB,YAAa,aAAc,mBACrD,CAAC,UAAW,UAAW,SAAU,mBACjC,CAAC,eAAgB,UAAW,OAAQ,mBACpC,CAAC,kBAAmB,UAAW,SAAU,mBACzC,CAAC,sBAAuB,UAAW,aAAc,mBACjD,CAAC,cAAe,QAAS,SAAU,mBACnC,CAAC,aAAc,QAAS,OAAQ,mBAChC,CAAC,eAAgB,QAAS,SAAU,mBACpC,CAAC,mBAAoB,QAAS,aAAc,mBAC5C,CAAC,eAAgB,eAAgB,SAAU,MAC3C,CAAC,SAAU,SAAU,SAAU,OAGjC9yI,EAAImuI,YAAY4E,iBAAmB,kBAC1BD,EAAA,MAGLE,GAAiB7kJ,EAAQs/B,UAAY,GAYzCztB,EAAImuI,YAAYmC,YAActwI,EAAIswI,YAAc,SAAS1wI,GAAA,OAErDozI,GADE19D,IAAYv1E,EACGH,EAAO2iD,GAEP3iD,EAEZ0C,IAAA,MAkDL2wI,GAtCAC,GAAelzI,EAAImuI,YAAYoC,YAAcvwI,EAAIuwI,YAAc,kBAC7Dj7D,IAAYv1E,EACPizI,GAEAA,GAAiBzwF,EAAA,EAIxBo5E,GAAMxtI,EAAQglJ,MAAA,EAYlBnzI,EAAImuI,YAAYiF,OAASpzI,EAAIozI,OAAS,SAASxzI,GAAA,OAC7C+7H,GAAM/7H,EACC0C,IAAA,EAYTtC,EAAImuI,YAAYkF,OAASrzI,EAAIqzI,OAAS,kBAC7B1X,EAAA,MAkCL2X,GA7BAC,GAAevzI,EAAImuI,YAAYqF,YAAc,SAAS5zI,GAOtD,GAGE,+BAA+BrQ,KAAKqQ,GACtCqzI,GAAWrzI,OACN,GAAK8sD,MAAM9sD,GAEX,KAAsC,IAbxB,MAAC,EAEpB,KACA,YACA,aACA,WACA,YAOwBzM,QAAQyM,GAAA,MAG1B,IAAIzQ,MACR,gHACEyQ,EACA,wBALJqzI,GAAWrzI,CAAA,MAFXqzI,GAAWp/H,SAASjU,EAAM,KAY9BI,EAAImuI,YAAYsF,YAAc,kBACrBR,EAAA,MA4BLS,GAxBAC,GAAe3zI,EAAImuI,YAAYyF,YAAc,SAASh0I,GAAA,IAUlB,GATjB,MAAC,EAEpB,KACA,UACA,cACA,YACA,cAGiBzM,QAAQyM,GAAA,MACnB,IAAIzQ,MACR,6EACEyQ,EACA,wBAGN0zI,GAAW1zI,CAAA,EAGbI,EAAImuI,YAAY0F,YAAc,kBACrBP,EAAA,MAILQ,GAAiB9zI,EAAImuI,YAAY4F,cAAgB,SAASn0I,GAAA,IAWnB,GAVlB,MAAC,EAEtB,KACA,aACA,SACA,UACA,WACA,OAGmBzM,QAAQyM,GAAA,MACrB,IAAIzQ,MACR,sEACEyQ,EACA,wBAGN8zI,GAAa9zI,CAAA,EAGfI,EAAImuI,YAAY6F,cAAgB,kBACvBN,EAAA,EA4BT1zI,EAAImuI,YAAY8F,eAAiBj0I,EAAIi0I,eAAiB,SACpDr0I,EACAzR,EACAwR,GAAA,OAEA4zI,GAAY3zI,GACZk0I,GAAc3lJ,GACdwlJ,GAAYh0I,GACL2C,IAAA,MAGL4xI,GAAqB,CACvBtzC,MAAO,GACPuzC,QAAS,GACTC,OAAQ,GACRC,SAAU,GACVC,QAAS,IAGXt0I,EAAImuI,YAAYoG,oBAAsB,SAAS30I,GAAA,IACS,IAAlD9N,OAAOY,KAAKwhJ,IAAoB/gJ,QAAQyM,GAAA,MACpC,IAAIzQ,MAAM,+DAEX+kJ,GAAmBt0I,EAAA,EAG5BI,EAAImuI,YAAYqG,sBAAwB,kBAC/BN,EAAA,EAaTl0I,EAAImuI,YAAYsG,sBAAwBz0I,EAAI00I,cAAgB10I,EAAIy0I,sBAAwB,SACtF70I,GAAA,IAGK,IAAIzR,KAAY+lJ,GACfA,GAAmBjyI,eAAe9T,IAAayR,EAAWzR,KAC5D+lJ,GAAmB/lJ,GAAYyR,EAAWzR,IAAA,OAGvCmU,IAAA,EAGTtC,EAAImuI,YAAYwG,oBAAsB,SAAS/0I,EAAKzR,GAAA,IACI,IAAlD2D,OAAOY,KAAKwhJ,IAAoB/gJ,QAAQyM,GAAA,MACpC,IAAIzQ,MAAM,gEAEV+kJ,GAAmBt0I,GAAOzR,CAAA,MAKhCymJ,GAOAryF,GASAsyF,GACAC,GACAC,GApBAC,GAAQ,CAAC,EACTC,GAAU,CAAC,EAEXC,GAAiB,GACjBC,GAAW,CAAC,EACZC,GAAa,CAAC,EACdC,GAAU,CAAC,EACXC,GAAa,CAAC,EACdC,GAAe,KAEfC,GAAO,EACPC,GAAe,GACfC,GAAS,IAAInlE,GAAOvwE,GACpB21I,GAAWxnJ,EAAQynJ,UAAY,GAE/BC,GAAgB,CAAC,EACjBC,GAAkB,CAAC,EACnBC,GAAoB,GAsBpB3F,GAAS,SAATxwI,EAAkBzR,EAAIwR,EAAKpP,EAAKF,EAAI6B,EAAI62D,GAAA,KACpCzmD,gBAAgB1C,GAAA,OACb,IAAIA,EAAOzR,EAAIwR,EAAKpP,EAAKF,EAAI6B,EAAI62D,GAGtC2D,MAAMv+D,KAAKA,EAAK,GAChBu+D,MAAM/sD,KAAMA,EAAM,GAClB+sD,MAAMn8D,KAAMA,EAAM,GAClBm8D,MAAMr8D,KAAKA,EAAK,GAChBq8D,MAAMx6D,KAAKA,EAAK,GAChBw6D,MAAM3D,KAAKA,EAAK,QAEfitF,QAAU,CAAC7nJ,EAAIwR,EAAKpP,EAAKF,EAAI6B,EAAI62D,EAAA,EAOxCj3D,OAAOoM,eAAekyI,GAAOr+I,UAAW,KAAM,CAC5C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAQtB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,MAAO,CAC7C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAQtB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,MAAO,CAC7C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAQtB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,KAAM,CAC5C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAQtB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,KAAM,CAC5C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAQtB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,KAAM,CAC5C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAItB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,IAAK,CAC3C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAItB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,IAAK,CAC3C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAItB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,IAAK,CAC3C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAItB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,IAAK,CAC3C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAItB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,IAAK,CAC3C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAItB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,IAAK,CAC3C6X,IAAK,kBACItH,KAAK0zI,QAAQ,IAEtBxnF,IAAK,SAAS5uD,GAAA,KACPo2I,QAAQ,GAAKp2I,CAAA,IAQtB9N,OAAOoM,eAAekyI,GAAOr+I,UAAW,WAAY,CAClD6X,IAAK,kBACItS,KAAKowB,MAAMplB,KAAK2zI,IAAK3zI,KAAK4zI,GAAA,IAQrCpkJ,OAAOoM,eAAekyI,GAAOr+I,UAAW,SAAU,CAChD6X,IAAK,kBACItH,KAAK6zI,YAAY98F,MAAM68F,EAAA,IAQlCpkJ,OAAOoM,eAAekyI,GAAOr+I,UAAW,SAAU,CAChD6X,IAAK,kBACItH,KAAK6zI,YAAY98F,MAAM+8F,EAAA,IAQlCtkJ,OAAOoM,eAAekyI,GAAOr+I,UAAW,aAAc,CACpD6X,IAAK,kBACa,IAAZtH,KAAK4zI,IAGQ,IAAb5zI,KAAK+zI,KAGQ,IAAb/zI,KAAK2zI,KAGO,IAAZ3zI,KAAK8zI,IAGO,IAAZ9zI,KAAKg0I,IAGO,IAAZh0I,KAAKi0I,EAAA,IAebnG,GAAOr+I,UAAUL,KAAO,SAASkO,GAAA,MACxB,CAAC0C,KAAK4zI,GAAI5zI,KAAK+zI,IAAK/zI,KAAK2zI,IAAK3zI,KAAK8zI,GAAI9zI,KAAKg0I,GAAIh0I,KAAKi0I,IACzDt6I,IAAI2xE,GACJl8E,KAAKkO,EAAA,EAWVwwI,GAAOr+I,UAAUykJ,SAAW,SAAS52I,GAAA,IAC/BzR,EAAKyR,EAAOs2I,GAAK5zI,KAAK4zI,GAAKt2I,EAAOy2I,IAAM/zI,KAAK2zI,IAC7Ct2I,EAAMC,EAAOs2I,GAAK5zI,KAAK+zI,IAAMz2I,EAAOy2I,IAAM/zI,KAAK8zI,GAC/C7lJ,EAAMqP,EAAOq2I,IAAM3zI,KAAK4zI,GAAKt2I,EAAOw2I,GAAK9zI,KAAK2zI,IAC9C5lJ,EAAKuP,EAAOq2I,IAAM3zI,KAAK+zI,IAAMz2I,EAAOw2I,GAAK9zI,KAAK8zI,GAC9ClkJ,EAAK0N,EAAO02I,GAAKh0I,KAAK4zI,GAAKt2I,EAAO22I,GAAKj0I,KAAK2zI,IAAM3zI,KAAKg0I,GACvDvtF,EAAKnpD,EAAO02I,GAAKh0I,KAAK+zI,IAAMz2I,EAAO22I,GAAKj0I,KAAK8zI,GAAK9zI,KAAKi0I,GAAA,OAEpD,IAAInG,GAAOjiJ,EAAIwR,EAAKpP,EAAKF,EAAI6B,EAAI62D,EAAA,EAO1CqnF,GAAOr+I,UAAUokJ,UAAY,eACvBv2I,EAAI0C,KAAK4zI,GACT/nJ,EAAImU,KAAK+zI,IACT12I,EAAI2C,KAAK2zI,IACT1lJ,EAAI+R,KAAK8zI,GACT/lJ,EAAIiS,KAAKg0I,GACTpkJ,EAAIoQ,KAAKi0I,GAETxtF,EAASzxD,KAAKgxB,KAAK1oB,EAAIA,EAAIzR,EAAIA,GAI/BuU,GAHJ9C,GAAKmpD,GAGWppD,GAFhBxR,GAAK46D,GAEmBx4D,EACxBoP,GAAKC,EAAI8C,EACTnS,GAAKpC,EAAIuU,EAAA,IAELxD,EAAS5H,KAAKgxB,KAAK3oB,EAAIA,EAAIpP,EAAIA,GAAA,OAGnCmS,GAASxD,EAELU,GAHJrP,GAAK2O,GAGO/Q,GAJZwR,GAAKT,KAKHU,GAAKA,EACLzR,GAAKA,EACLuU,GAASA,EACTqmD,GAAUA,GAGL,CACL1P,MAAO,IAAI+2F,GAAOrnF,EAAQ,EAAG,EAAG7pD,EAAQ,EAAG,GAC3Cq6C,UAAW,IAAI62F,GAAO,EAAG,EAAG,EAAG,EAAG//I,EAAG6B,GACrCukJ,OAAQ,IAAIrG,GAAOxwI,EAAGzR,GAAIA,EAAGyR,EAAG,EAAG,GACnC82I,KAAM,IAAItG,GAAO,EAAG,EAAG1tI,EAAO,EAAG,EAAG,KAQxC0tI,GAAOr+I,UAAUyF,SAAW,SAASoI,GAAA,OAC5B0C,KAAK5Q,KAAK,MAOnB0+I,GAAOr+I,UAAU4kJ,SAAW,eACtB/2I,EAAI0C,KAAK4zI,GACX/nJ,EAAImU,KAAK+zI,IACT12I,EAAI2C,KAAK2zI,IACT1lJ,EAAI+R,KAAK8zI,GACT/lJ,EAAIiS,KAAKg0I,GACTpkJ,EAAIoQ,KAAKi0I,GAEPxtF,EAAO,GAAKnpD,EAAIrP,EAAIpC,EAAIwR,GAExB+C,EAAOnS,EAAIw4D,EACX7pD,GAAQ/Q,EAAI46D,EACZ7oD,GAAQP,EAAIopD,EACZzpD,EAAOM,EAAImpD,EAAA,OAIR,IAAIqnF,GAAO1tI,EAAMxD,EAAMgB,EAAMZ,GAHxBoD,EAAOrS,EAAI6P,EAAOhO,GAClBgN,EAAO7O,EAAIiP,EAAOpN,EAAA,EAShCk+I,GAAOr+I,UAAU6kJ,aAAe,SAASh3I,GAAA,IACnCzR,EAAIyR,EAAGG,EAAIuC,KAAK4zI,GAAKt2I,EAAGI,EAAIsC,KAAK2zI,IAAM3zI,KAAKg0I,GAC5C32I,EAAIC,EAAGG,EAAIuC,KAAK+zI,IAAMz2I,EAAGI,EAAIsC,KAAK8zI,GAAK9zI,KAAKi0I,GAAA,OACzC,IAAIM,GAAM1oJ,EAAGwR,EAAA,EAOtBywI,GAAOr+I,UAAU+kJ,iBAAmB,SAASl3I,GAAA,IACvCzR,EAAMmU,KAAKs0I,aAAah3I,GACxBD,EAAM2C,KAAKs0I,aAAa,IAAIC,GAAMj3I,EAAKG,EAAIH,EAAKE,EAAGF,EAAKI,EAAIJ,EAAKN,IAAA,OAC9D,IAAIy3I,GAAU5oJ,EAAI4R,EAAG5R,EAAI6R,EAAGL,EAAII,EAAI5R,EAAI4R,EAAGJ,EAAIK,EAAI7R,EAAI6R,EAAA,EAWhEowI,GAAOr+I,UAAUm1C,MAAQ,eACnBtnC,EAAK0C,KAAK4zI,GACV/nJ,EAAMmU,KAAK+zI,IACX12I,EAAM2C,KAAK2zI,IACX1lJ,EAAK+R,KAAK8zI,GACV/lJ,EAAKiS,KAAKg0I,GACVpkJ,EAAKoQ,KAAKi0I,GAAA,OAEP,IAAInG,GAAOxwI,EAAIzR,EAAKwR,EAAKpP,EAAIF,EAAI6B,EAAA,EAG1C8N,EAAIg3I,OAAS5G,GAAA,IAST6G,GAAcj3I,EAAIk3I,WAAa,SAASt3I,EAAIzR,GAAA,OACvCA,EAAGqoJ,SAAS52I,EAAA,EASjBu3I,GAAiB,IAAI/G,GAAO,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/CpwI,EAAIo3I,WAAap3I,EAAIq3I,eAAiBF,GAAA,IAOlCG,GAAa,SAAS13I,EAAKzR,GAAA,IAEzBinJ,GAAWx1I,GAAA,KAGXD,GADSxR,aAAmB09D,GAAiB,KAAO,MAC7B/5D,OAAOY,KAAKyiJ,IAAU3kJ,OAAS,GAAGgH,SAAS,IACtErJ,EAAQqyD,GAAK7gD,EAEby1I,GAAWx1I,GAAOD,EAClBw1I,GAASx1I,GAAcxR,EAEvBunJ,GAAOhJ,QAAQ,aAAcv+I,EAAA,GAmB/B6R,EAAIu3I,eAAiB1rF,GAgBrB7rD,EAAIw3I,cAAgBrsE,GAWpBnrE,EAAIy3I,kBAAoB,SAAS73I,EAAKzR,GAAA,OACpCuR,EAAoB,uBAEpB43I,GAAW13I,EAAKzR,GACTmU,IAAA,EAUTtC,EAAI03I,mBAAqB,SAAS93I,GAChCF,EAAoB,wBAEpBi4I,GACE/3I,EAAQotI,YAAY,GACpBptI,EAAQotI,YAAY,GACpBptI,EAAQotI,YAAY,GAAKptI,EAAQotI,YAAY,GAC7CptI,EAAQotI,YAAY,GAAKptI,EAAQotI,YAAY,GAC7CptI,EAAQuvB,OAAA,EAcZnvB,EAAI43I,iBAAmB,SAASh4I,EAAKzR,GACnCuR,EAAoB,sBAGpBvR,EAAQg/I,OAASoF,EAAMP,GAAatgJ,KAAK,MAEzC4lJ,GAAW13I,EAAKzR,GAEhBunJ,GAAOhJ,QAAQ,mBAAoBv+I,GAGnC4nJ,GAAkBtlJ,MAAMqpD,SAAA,MAGtB+9F,GAAa73I,EAAImuI,YAAY2J,UAAY,eACvCl4I,EAAMm4I,KAAA,OACVC,GAAuBp4I,GAAA,GAChBA,CAAA,EAILm4I,GAAqB/3I,EAAImuI,YAAY8J,kBAAoB,kBAC3DjY,IACAoS,EAAQpS,GAAgB,kBACfJ,CAAA,EAEFI,CAAA,EAGLgY,GAAyB,SAASp4I,EAAKzR,GAAA,OACzCA,EAA+B,kBAAbA,GAAyBA,EAC3CikJ,EAAQxyI,GAAOggI,EACXzxI,GACFsuI,EAAI78H,EAAM,UAELA,CAAA,EAMLs4I,GAAuBl4I,EAAImuI,YAAYgK,oBAAsB,eAE3Dv4I,EAAM,CACRw4I,MAFUL,KAGVhnH,QAAS,WAEXuhH,EAAkBl9I,KAAKwK,GAChBA,CAAA,EAGLy4I,GAAsBN,KACtBryE,GAA0BqyE,KAM1BxzE,GAAqBvkE,EAAImuI,YAAYmK,kBAAoB,SAAS14I,GAAA,IAChEzR,EAAeyR,EAAM7O,MAAM,QAEL,IAAxB5C,EAAaqC,QACQ,MAApBrC,EAAa,IAAkC,MAApBA,EAAa,GAMjB,IAAxBA,EAAaqC,QACQ,MAApBrC,EAAa,IAAkC,MAApBA,EAAa,KAOzCA,EAAe,EAJJ,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC3C,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC9C,EAAMA,EAAa,KAAO,EAAMA,EAAa,IAEvB,UAblC,KAEIwR,EAAW44I,WAAWpqJ,EAAa,IACvCA,EAAe,CAACwR,EAAUA,EAAUA,EAAU,aAY5CpP,EAAa,IACRF,EAAI,EAAGA,EAAI,EAAGA,IACrBE,IACE,IAAM+G,KAAKqsC,MAAoC,IAA9B40G,WAAWpqJ,EAAakC,KAAWmH,SAAS,KAC7DlE,OAAO,UAEJ/C,CAAA,EAGL00D,GAAqBjlD,EAAImuI,YAAYqK,kBAAoB,SAC3DrqJ,GAAA,IAEIwR,EAEmB,iBAAZxR,IACTA,EAAU,CACRsqJ,IAAKtqJ,IAAA,IAGLoC,EAAMpC,EAAQsqJ,IACdpoJ,EAAMlC,EAAQuqJ,IACdxmJ,EAAM/D,EAAQwqJ,IACd5vF,EAAM56D,EAAQyqJ,IACdl2I,EACuB,SAAzBvU,EAAQ0qJ,aAA0B,CAAC,IAAK,KAAM,KAAO,CAAC,IAAK,KAAM,QAEhD,iBAARtoJ,GAAsC,MAAlBA,EAAIN,OAAO,GAAY,KAChDiP,EAAW,IAAIE,GAAS7O,GAAA,GACxB2O,EAAShH,GACX3H,EAAM2O,EAAS+sI,aACV,IAAK,cAAc18I,KAAKgB,GAAA,MACvB,IAAIpB,MACR,kBAAoBoB,EAAM,2CAKb,iBAARA,GAAoB,oBAAoBhB,KAAKgB,KACtDA,EAAM,IAAMA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAG5C,iBAARA,GAAoB,oBAAoBhB,KAAKgB,GAAM,KACxD2P,EAAM2T,SAAStjB,EAAIoB,OAAO,GAAI,IAClCpB,EAAO2P,GAAO,GAAM,IACpB7P,EAAO6P,GAAO,EAAK,IACnBhO,EAAY,IAANgO,CAAA,aAIC7P,QAAA,IACC04D,GAAuBx4D,IAAQF,GAAOA,IAAQ6B,EAAA,GAGnC,iBAAR3B,EACToP,EAAQpP,EAAM,IAAMmS,EAAY,WAGzB,IADCvU,EAAQ0/I,UAEZluI,EAAQ01E,EAAG9kF,EAAM,KAAO,IAAMmS,EAAY,QAI1C/C,EAAQ02B,EAAG9lC,EAAM,KAAO,IAAMmS,EAAY,QAG3C,QAAI,IAAOqmD,GAAsC,YAAfnpD,EAAAA,GAAAA,GAAOmpD,GAAkB,IAE5DA,IAAQ2D,MAAM3D,EAAI72D,IAGN,IAAV62D,EAAI72D,EAAA,MACE,CAAC,KAAM,KAAM,KAAMwQ,EAAY,IAAIhR,KAAK,QAKjC,iBAARnB,EACToP,EAAQ,CAACpP,EAAKF,EAAK6B,EAAKwQ,EAAY,IAAIhR,KAAK,aAGtC,IADCvD,EAAQ0/I,UAEZluI,EAAQ,CACN01E,EAAG9kF,EAAM,KACT8kF,EAAGhlF,EAAM,KACTglF,EAAGnjF,EAAM,KACTwQ,EAAY,IACZhR,KAAK,UAIPiO,EAAQ,CACN02B,EAAG9lC,EAAM,KACT8lC,EAAGhmC,EAAM,KACTgmC,EAAGnkC,EAAM,KACTwQ,EAAY,IACZhR,KAAK,aAKM,iBAARnB,EACToP,EAAQ,CAACpP,EAAKF,EAAK6B,EAAK62D,EAAKrmD,EAAY,IAAIhR,KAAK,aAG3C,IADCvD,EAAQ0/I,UAEZluI,EAAQ,CAAC01E,EAAG9kF,GAAM8kF,EAAGhlF,GAAMglF,EAAGnjF,GAAMmjF,EAAGtsB,GAAMrmD,EAAY,IAAIhR,KAC3D,UAKFiO,EAAQ,CAAC02B,EAAG9lC,GAAM8lC,EAAGhmC,GAAMgmC,EAAGnkC,GAAMmkC,EAAG0yB,GAAMrmD,EAAY,IAAIhR,KAC3D,YAKHiO,CAAA,EAGL0lE,GAAcrlE,EAAImuI,YAAY2K,WAAa,kBACtC54I,CAAA,EAGLykE,GAAa3kE,EAAImuI,YAAY4K,UAAY,SAASn5I,GAAA,IAEhDzR,GADJyR,EAAUA,GAAW,CAAC,GACHwJ,MAAQ,GACvBzJ,EAAUC,EAAQouI,SAAW3oE,KAC7B90E,EAAwBqP,EAAQo5I,uBAAyB,GACzD3oJ,EAAauP,EAAQq5I,aAAA,EACrB/mJ,EAAiB/D,EAAKqC,OACtBu4D,EAAWnpD,EAAQs5I,SACnBx2I,EAAY,SAAS9C,GAAA,OAChBA,CAAA,KAEiB,OAAtBJ,QAAA,IAAqCupD,EAAA,MACjC,IAAI55D,MACR,4DAGsB,OAAtBqQ,IACFkD,EAAY0lE,GAAW+wE,UAAUpwF,EAAU,QAGzC7pD,EAAgB,CAAC,GAAD,IAChBS,IACFA,EAAU,CAAC,oBAETO,EAAYN,EAAQw5I,qBAAuB,GAM3C95I,GAJFJ,OAAA,IADSkT,GAAMinI,IAAIC,qBACHlnI,GAAMinI,IAAIC,qBAAqBnrJ,EAAMwR,GAErC,CAAEyJ,KAAMjb,EAAMorJ,aAAc,KAG9BA,cACbnnJ,MAAMC,QAAQ9B,GACXA,EAAsBmB,KAAK,KAC3BnB,EAAsBiH,YAAA,GAEM,IAA9B0H,EAAckK,KAAK5Y,SACrB0P,EAAU9K,KAAK,CACbxC,IAAK,SACLqQ,MAAO/D,EAAckK,KAAK5Y,UAAA,IAExBH,GACF6P,EAAU9K,KAAK,CACbxC,IAAK,UACLqQ,MAAO/Q,KAKgB,GAAzBoN,EAAe9O,OAAA,GACb8O,EAAevO,MAAM,KAAKP,OAAS,GAAM,EAC3C0P,EAAU9K,KAAK,CACbxC,IAAK,SACLqQ,MAAO3D,QAEJ,CACLY,EAAU9K,KAAK,CACbxC,IAAK,SACLqQ,MAAO,IAAM3D,EAAiB,UAG3B,IAAIC,EAAI,EAAGA,EAAIW,EAAU1P,OAAQ+O,GAAK,EAAG,GACnB,gBAArBW,EAAUX,GAAG3M,IAAuB,SAClCwM,EAAmB,GAGjBD,EAAI,EACRA,EAAID,EAAcq6I,aAAaxoJ,MAAM,KAAKP,OAAS,EACnD2O,GAAK,EAELC,EAAiBhK,KAAK,QAGxBgK,EAAiBhK,KAAK8K,EAAUX,GAAG0D,OACnC/C,EAAUX,GAAG0D,MAAQ,IAAM7D,EAAiB1N,KAAK,KAAO,KAMhE+qI,EAAI,UACC,IAAIh9H,EAAI,EAAGA,EAAIS,EAAU1P,OAAQiP,IACpCg9H,EAAI,IAAMv8H,EAAUT,GAAG7M,IAAM,IAAMsN,EAAUT,GAAGwD,OAElDw5H,EAAI,MAC8B,IAA9Bv9H,EAAckK,KAAK5Y,SACrBisI,EAAI,UACJA,EAAI/5H,EAAUxD,EAAckK,OAC5BqzH,EAAI,eAIJv4D,GAAWlkE,EAAImuI,YAAYqL,QAAU,SAAS55I,GAAA,IAC5CzR,EAAayR,EAAKuY,OAClBxY,EAAOC,EAAKwJ,KACZ7Y,EAAmBqP,EAAKw4I,MACxB/nJ,EAAoBuP,EAAK65I,cAE7BzB,GAAuBznJ,GAAA,GACvBksI,EAAI,iBACJA,EAAI,WAAa78H,EAAK85I,oBAAsB,QAC5Cjd,EAAI,cAAgB78H,EAAK+5I,wBAA0B,QACnDld,EACE,cACE8b,WAAW3qE,EAAIhuE,EAAKg6I,SAASC,cAC7B,IACAtB,WAAW3qE,EAAIhuE,EAAKg6I,SAASE,cAC7B,IACAlsE,EAAIhuE,EAAKg6I,SAASG,WAClB,IACAnsE,EAAIhuE,EAAKg6I,SAASI,WAClB,KAEiB,OAAjBp6I,EAAKq6I,SACPxd,EACE,aACE7uD,EAAIhuE,EAAKq6I,QAAQJ,aACjB,IACAjsE,EAAIhuE,EAAKq6I,QAAQH,aACjB,IACAlsE,EAAIhuE,EAAKq6I,QAAQF,WACjB,IACAnsE,EAAIhuE,EAAKq6I,QAAQD,WACjB,KAIgB,OAAlBp6I,EAAKs6I,UACPzd,EACE,cACE7uD,EAAIhuE,EAAKs6I,SAASL,aAClB,IACAjsE,EAAIhuE,EAAKs6I,SAASJ,aAClB,IACAlsE,EAAIhuE,EAAKs6I,SAASH,WAClB,IACAnsE,EAAIhuE,EAAKs6I,SAASF,WAClB,KAIe,OAAjBp6I,EAAKu6I,SACP1d,EACE,aACE7uD,EAAIhuE,EAAKu6I,QAAQN,aACjB,IACAjsE,EAAIhuE,EAAKu6I,QAAQL,aACjB,IACAlsE,EAAIhuE,EAAKu6I,QAAQJ,WACjB,IACAnsE,EAAIhuE,EAAKu6I,QAAQH,WACjB,KAIc,OAAhBp6I,EAAKw6I,QACP3d,EACE,YACE7uD,EAAIhuE,EAAKw6I,OAAOP,aAChB,IACAjsE,EAAIhuE,EAAKw6I,OAAON,aAChB,IACAlsE,EAAIhuE,EAAKw6I,OAAOL,WAChB,IACAnsE,EAAIhuE,EAAKw6I,OAAOJ,WAChB,KAIuB,iBAAlBp6I,EAAKguI,UAA2C,IAAlBhuI,EAAKguI,UAC5CnR,EAAI,aAAe78H,EAAKguI,UAG1B8H,GAAOhJ,QAAQ,UAAW,CACxB0L,MAAO7nJ,EACP8pJ,YAAa5E,GAAatnJ,GAC1B43H,WAAY53H,EACZmsJ,KAAM36I,IAER88H,EAAI,aAAepsI,EAAoB,QACvCosI,EAAI,MACJA,EAAI,cAEAvqI,EAAcyN,EAAKjO,KAAK,aAExB4jF,IAAYv1E,IAEd7N,GAAe,OAGjB8lJ,GAAuB3nJ,GAAA,GACvBs0E,GAAU,CACRv7D,KAAMlX,EACN87I,QAAS3oE,KACT6zE,SAAU7oJ,IAEZosI,EAAI,UACGlsI,CAAA,EAGL+0E,GAAYtlE,EAAImuI,YAAYoM,SAAW,eACrC36I,EACFzR,EACAwR,EAAoB,OAEjBC,EAAI,EAAGA,GAAK41I,GAAM51I,IACrB61I,GAAa71I,GAAGw4I,MAAQL,KACxBtC,GAAa71I,GAAG65I,cAAgB1B,KAAA,IAG7Bn4I,EAAI,EAAGA,GAAK41I,GAAM51I,IACrBD,EAAkBvK,KAChB8uE,GAAQ,CACN/rD,OAAQvY,EACRwJ,KAAMmpI,EAAM3yI,GACZw4I,MAAO3C,GAAa71I,GAAGw4I,MACvBqB,cAAehE,GAAa71I,GAAG65I,cAC/BG,SAAUnE,GAAa71I,GAAGg6I,SAC1BK,QAASxE,GAAa71I,GAAGq6I,QACzBC,SAAUzE,GAAa71I,GAAGs6I,SAC1BC,QAAS1E,GAAa71I,GAAGu6I,QACzBC,OAAQ3E,GAAa71I,GAAGw6I,OACxBxM,SAAU6H,GAAa71I,GAAGguI,SAC1B8L,oBAAqBrB,GACrBsB,wBAAyBj0E,MAI/BsyE,GAAuBK,IAAA,GACvB5b,EAAI,sBACAlsI,EAAO,cACNpC,EAAI,EAAGA,EAAIqnJ,GAAMrnJ,IACpBoC,GAAQoP,EAAkBxR,GAAK,QAEjCsuI,EAAIlsI,EAAO,KACXksI,EAAI,UAAY+Y,IAChB/Y,EAAI,MACJA,EAAI,UACJiZ,GAAOhJ,QAAQ,iBAGbjnE,GAAU,SAAS7lE,GACrB81I,GAAOhJ,QAAQ,UAAW,CACxB7xF,KAAMj7C,EACNy+H,IAAK5B,EACLqb,UAAWD,GACXkB,UAAWp0E,MAAA,IAGT/kE,EAAK46I,kBACP56I,EAAKgtI,aAAeiL,KACpBpb,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgBpqH,GAAUzS,EAAK66I,iBACnChe,EAAI,mBACyB,iBAAlB78H,EAAK86I,UACdje,EAAI,cAAgB78H,EAAK86I,UAE3Bje,EAAI,iBACJA,EAAI,iBACJA,EAAI,MACJA,EAAI,YAiBJ92D,GAAa,SAAS/lE,GACxBA,EAAQgtI,aAAeiL,KAAA,IAEnB1pJ,EAAU,GACdA,EAAQiH,KAAK,CAAExC,IAAK,OAAQqQ,MAAO,aACnC9U,EAAQiH,KAAK,CAAExC,IAAK,UAAWqQ,MAAO,UACtC9U,EAAQiH,KAAK,CACXxC,IAAK,OACLqQ,MACE,IACA,CACE2qE,EAAIhuE,EAAQG,GACZ6tE,EAAIhuE,EAAQI,GACZ4tE,EAAIhuE,EAAQG,EAAIH,EAAQ6E,OACxBmpE,EAAIhuE,EAAQI,EAAIJ,EAAQ8E,SACxBhT,KAAK,KACP,MAEJvD,EAAQiH,KAAK,CACXxC,IAAK,SACLqQ,MAAO,IAAMrD,EAAQuvB,OAAO33B,WAAa,UAIvCmI,EAASC,EAAQ+6I,MAAM,GAAGjpJ,KAAK,MACnCizE,GAAU,CACRv7D,KAAMzJ,EACNy5I,oBAAqBjrJ,EACrB+qJ,SAAUt5I,EAAQgtI,eAEpBnQ,EAAI,WAuDFj4D,GAAoB,SAAS5kE,EAASzR,GASxCA,IAAkBA,EAAgB,QAC9BwR,EAAmBk4I,KACnBtnJ,EAvD8B,SAASqP,EAAQzR,GAAA,IAE/CwR,EADApP,EAAU,GAEVF,EAAK,GAAOlC,EAAgB,OAC3BwR,EAAI,EAAKA,EAAI,EAAKA,GAAKtP,EAC1BE,EAAQ6E,KAAKuK,GAAA,GAEfpP,EAAQ6E,KAAK,GAEW,GAApBwK,EAAO,GAAGy4B,OAAe,KACvBnmC,EAAK,CACPmmC,OAAQ,EACRvc,MAAOlc,EAAO,GAAGkc,OAEnBlc,EAAOpO,QAAQU,EAAA,IAEuB,GAApC0N,EAAOA,EAAOpP,OAAS,GAAG6nC,OAAe,KACvC0wB,EAAK,CACP1wB,OAAQ,EACRvc,MAAOlc,EAAOA,EAAOpP,OAAS,GAAGsrB,OAEnClc,EAAOxK,KAAK2zD,EAAA,SAEVrmD,EAAM,GACNxD,EAAQ,EAEHgB,EAAI,EAAGA,EAAI3P,EAAQC,OAAQ0P,IAAK,KACvCP,EAAIpP,EAAQ2P,GACLP,EAAIC,EAAOV,EAAQ,GAAGm5B,QAAQn5B,IAAA,IACjCI,EAAIM,EAAOV,GAAOm5B,OAElB94B,GAAKI,EAAIL,IADLM,EAAOV,EAAQ,GAAGm5B,OACH/4B,GAEnBF,EAASQ,EAAOV,GAAO4c,MACvB3c,EAASS,EAAOV,EAAQ,GAAG4c,MAE/BpZ,GACEwvI,EAAS56I,KAAK8kB,OAAO,EAAI7c,GAAKH,EAAO,GAAKG,EAAIJ,EAAO,IAAI3H,SAAS,KAClE06I,EAAS56I,KAAK8kB,OAAO,EAAI7c,GAAKH,EAAO,GAAKG,EAAIJ,EAAO,IAAI3H,SAAS,KAClE06I,EAAS56I,KAAK8kB,OAAO,EAAI7c,GAAKH,EAAO,GAAKG,EAAIJ,EAAO,IAAI3H,SAAS,YAE/DkL,EAAIi5B,MAAA,CAcEipC,CAA8BhlE,EAAQmtI,OAAQ5+I,GAEvDkC,EAAU,GACdA,EAAQ+E,KAAK,CAAExC,IAAK,eAAgBqQ,MAAO,MAC3C5S,EAAQ+E,KAAK,CAAExC,IAAK,SAAUqQ,MAAO,cACrC5S,EAAQ+E,KAAK,CAAExC,IAAK,OAAQqQ,MAAO,IAAM9U,EAAgB,MACzDkC,EAAQ+E,KAAK,CAAExC,IAAK,gBAAiBqQ,MAAO,MAC5C5S,EAAQ+E,KAAK,CAAExC,IAAK,QAASqQ,MAAO,8BACpC5S,EAAQ+E,KAAK,CAAExC,IAAK,SAAUqQ,MAAO,8BAErC0hE,GAAU,CACRv7D,KAAM7Y,EACN6oJ,oBAAqB/oJ,EACrB2oJ,sBAAuB,CAAC,mBACxBE,SAAUv5I,IAEZ88H,EAAI,UAEJ78H,EAAQgtI,aAAeiL,KACvBpb,EAAI,mBAAqB78H,EAAQzC,MACjCs/H,EAAI,8BACAvqI,EACF,YACA07E,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAC9B,IACAl/D,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAC9B,IACmB,IAAjBltI,EAAQzC,KAEVjL,GACE07E,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAC9B,IACAl/D,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAGhC56I,GACE07E,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAC9B,IACAl/D,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAC9B,IACAl/D,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAC9B,IACAl/D,EAAI2qE,WAAW34I,EAAQktI,OAAO,KAGlCrQ,EADAvqI,GAAU,KAGN0N,EAAQuvB,QACVstG,EAAI,YAAc78H,EAAQuvB,OAAO33B,WAAa,KAEhDilI,EAAI,aAAe98H,EAAmB,QACtC88H,EAAI,uBACJA,EAAI,MACJA,EAAI,WAGFn4D,GAAmB,SAAS1kE,EAASzR,GAAA,IACnCwR,EAAoBo4I,KACpBxnJ,EAAkBsnJ,KAEtB1pJ,EAA8BiH,KAAK,CACjCwlJ,aAAcj7I,EACdk7I,UAAWtqJ,IAGbqP,EAAQgtI,aAAer8I,EAAA,IACnBF,EAAU,GACdA,EAAQ+E,KAAK,CAAExC,IAAK,OAAQqQ,MAAO,aACnC5S,EAAQ+E,KAAK,CAAExC,IAAK,cAAeqQ,MAAO,MAC1C5S,EAAQ+E,KAAK,CAAExC,IAAK,YAAaqQ,MAAO,MACxC5S,EAAQ+E,KAAK,CAAExC,IAAK,aAAcqQ,MAAO,MACzC5S,EAAQ+E,KAAK,CACXxC,IAAK,OACLqQ,MAAO,IAAMrD,EAAQotI,YAAY/wI,IAAI2xE,GAAKl8E,KAAK,KAAO,MAExDrB,EAAQ+E,KAAK,CAAExC,IAAK,QAASqQ,MAAO2qE,EAAIhuE,EAAQqtI,SAChD58I,EAAQ+E,KAAK,CAAExC,IAAK,QAASqQ,MAAO2qE,EAAIhuE,EAAQstI,SAChD78I,EAAQ+E,KAAK,CAAExC,IAAK,YAAaqQ,MAAOtD,EAAoB,SACxDC,EAAQuvB,QACV9+B,EAAQ+E,KAAK,CACXxC,IAAK,SACLqQ,MAAO,IAAMrD,EAAQuvB,OAAO33B,WAAa,MAI7CmtE,GAAU,CACRv7D,KAAMxJ,EAAQutI,OACdiM,oBAAqB/oJ,EACrB6oJ,SAAUt5I,EAAQgtI,eAEpBnQ,EAAI,WAgBFh4D,GAAY,SAAS7kE,GAAA,IAGlB,IAAIzR,KAFTyR,EAAOgtI,aAAeiL,KACtBpb,EAAI,MACU78H,EAAA,OACJzR,GAAA,IACD,UACHsuI,EAAI,OAASpnD,EAAGz1E,EAAOzR,KAAA,UAEpB,iBACHsuI,EAAI,OAASpnD,EAAGz1E,EAAOzR,KAI7BsuI,EAAI,MACJA,EAAI,WAyHFv2D,GAAwB,SAAStmE,GACnCo4I,GAAuBp4I,EAAUg7I,cAAA,GACjCne,EAAI,MACJA,EAAI,iDA7EY,eAGX,IAAI78H,KAFT68H,EAAI,YAEgBuY,GACdA,GAAM/yI,eAAerC,MAAA,IAErBC,IAAA,IACCA,GAA6B1N,EAAU8P,eAAerC,KAEvD68H,EAAI,IAAM78H,EAAU,IAAMo1I,GAAMp1I,GAASgtI,aAAe,QAI9DnQ,EAAI,MAiEJ12D,GA9D0B,cACtBj0E,OAAOY,KAAKyiJ,IAAU3kJ,OAAS,EAAG,KAE/B,IAAIoP,KADT68H,EAAI,eACmB0Y,GAEnBA,GAASlzI,eAAerC,IACxBu1I,GAASv1I,aAAuBisD,IAChCspF,GAASv1I,GAAYgtI,cAAgB,GAErCnQ,EACE,IAAM78H,EAAa,IAAMu1I,GAASv1I,GAAYgtI,aAAe,QAKnE8I,GAAOhJ,QAAQ,yBACfjQ,EAAI,OA+CN52D,GA3CyB,SAASjmE,GAAA,GAC9B9N,OAAOY,KAAKyiJ,IAAU3kJ,OAAS,EAAG,KAE/B,IAAIrC,KADTsuI,EAAI,eACmB0Y,GAEnBA,GAASlzI,eAAe9T,IACxBgnJ,GAAShnJ,aAAuB6R,EAAIw3I,eACpCrC,GAAShnJ,GAAYy+I,cAAgB,GACrCuI,GAAShnJ,GAAYy+I,aAAehtI,GAEpC68H,EACE,IAAMtuI,EAAa,IAAMgnJ,GAAShnJ,GAAYy+I,aAAe,QAInE8I,GAAOhJ,QAAQ,wBACfjQ,EAAI,OA4BNx1D,CAAqBrnE,EAAUi7I,WAxBZ,cACf/oJ,OAAOY,KAAK2iJ,IAAS7kJ,OAAS,EAAG,KAC/BoP,EAAA,IAECA,KADL68H,EAAI,iBACc4Y,GAEdA,GAAQpzI,eAAerC,IACvBy1I,GAAQz1I,GAAWgtI,cAAgB,GAEnCnQ,EAAI,IAAM78H,EAAY,IAAMy1I,GAAQz1I,GAAWgtI,aAAe,QAIlE8I,GAAOhJ,QAAQ,iBACfjQ,EAAI,OAWN31D,GApHmB,eAEd,IAAIlnE,KADT68H,EAAI,eACmBoZ,GAEnBA,GAAc5zI,eAAerC,IAC7Bi2I,GAAcj2I,GAAYgtI,cAAgB,GAE1CnQ,EACE,IACE78H,EACA,IACAi2I,GAAcj2I,GAAYgtI,aAC1B,QAMR8I,GAAOhJ,QAAQ,kBACfjQ,EAAI,MAkGJ72D,GACA62D,EAAI,MACJA,EAAI,WAGF32D,GAAe,eAablmE,EAAgC,IAxXvB,eACR,IAAIA,KAAWo1I,GACdA,GAAM/yI,eAAerC,MAAA,IAErBC,IAAA,IACCA,GAA6B1N,EAAU8P,eAAerC,KAEvD6lE,GAAQuvE,GAAMp1I,GAAA,EAmXpBykE,GAlJe,eACXzkE,EAAA,IACCA,KAAay1I,GACZA,GAAQpzI,eAAerC,IACzB6kE,GAAU4wE,GAAQz1I,GAAA,CA+ItBwlE,GA7UgB,eACX,IAAIxlE,KAAci2I,GACjBA,GAAc5zI,eAAerC,IAC/B+lE,GAAWkwE,GAAcj2I,GAAA,CA2U7B8kE,GAlLgB,SAAS9kE,GAAA,IACrBzR,EAAA,IACCA,KAAcgnJ,GACbA,GAASlzI,eAAe9T,KACtBgnJ,GAAShnJ,aAAuB09D,GAClC2Y,GAAkB2wE,GAAShnJ,IAClBgnJ,GAAShnJ,aAAuBg9E,IACzC7G,GAAiB6wE,GAAShnJ,GAAayR,GAAA,CA4K7C2lE,CAAY3lE,GAEZ81I,GAAOhJ,QAAQ,gBACf9sI,EAA8BlK,QAAQwwE,IACtCA,GAAsB,CACpB00E,aAAcl1E,GACdm1E,UAAWzkD,OAAO0kD,mBAEpBpF,GAAOhJ,QAAQ,qBAcbzwF,GAA0B,SAASr8C,GACrCq1I,GAAQr1I,EAAKm7I,UAAY9F,GAAQr1I,EAAKm7I,WAAa,CAAC,EACpD9F,GAAQr1I,EAAKm7I,UAAUn7I,EAAKixB,WAAajxB,EAAK4gD,EAAA,EAG5C6mB,GAAU,SACZznE,EACAzR,EACAwR,EACApP,EACAF,GAAA,IAEI6B,EAAO,CACTsuD,GAAI,KAAO1uD,OAAOY,KAAKsiJ,IAAOxkJ,OAAS,GAAGgH,SAAS,IACnDijJ,eAAgB76I,EAChBm7I,SAAU5sJ,EACV0iC,UAAWlxB,EACX+6I,SAAUnqJ,EACVyqJ,eAAgB3qJ,IAAA,EAChB4qJ,SAAU,CAAC,GAAD,OAGZvF,GAAOhJ,QAAQ,UAAW,CACxB7xF,KAAM3oD,EACNq4D,SAAUjoD,OAGZ0yI,GAAM9iJ,EAAKsuD,IAAMtuD,EACjB+pD,GAAwB/pD,GACjBA,EAAKsuD,EAAA,EA8MV6lB,GAAarmE,EAAImuI,YAAY+M,UAAYl7I,EAAIk7I,UAAY,SAC3Dt7I,EACAzR,GAAA,OAzJiB,SAASyR,EAAMzR,GAAA,IAiD5BwR,EACFpP,EACAF,EACA6B,EACA62D,EACArmD,EACAxD,EACAgB,EACAZ,EAAA,GAGFjP,GADAlC,EAAQA,GAAS,CAAC,GACKgtJ,gBAAkB,UACzCpyF,EAAiB56D,EAAMitJ,gBAYpBjtJ,EAAMktJ,YAActyF,IACrBisF,GAAMJ,IAAeqG,UACrBjG,GAAMJ,IAAeqG,SAAS5qJ,IAC9B2kJ,GAAMJ,IAAeqG,SAAS5qJ,GAAgBqqJ,WAE9CxoJ,EAAgB8iJ,GAAMJ,IAAeqG,SAAS5qJ,GAAgBqqJ,UAGzD3xF,GAAkBisF,GAAMJ,IAAe8F,WAC1C3xF,EAAiBisF,GAAMJ,IAAe8F,WAInC3xF,GAAkB72D,EAAcopJ,YACnCvyF,EAAiB72D,EAAcopJ,UAAU,IAGb,iBAAnBvyF,IACTA,EAAiB72D,EAAc62D,IAK7BA,GAAgB,KAClB7pD,GAAA,EACAwD,EAAU,GACL/C,EAAI,EAAGpP,EAAIqP,EAAKpP,OAAQmP,EAAIpP,EAAGoP,KAClCO,EAAK6oD,EAAenpD,EAAKwG,WAAWzG,KAElC+C,EAAQtN,KAAKgN,OAAOuE,aAAazG,IAEjCwC,EAAQtN,KAAKwK,EAAKD,IAKhB+C,EAAQ/C,GAAGyG,WAAW,IAAM,IAE9BlH,GAAA,GAGJU,EAAO8C,EAAQhR,KAAK,QAIxBiO,EAAIC,EAAKpP,YAAA,IAEF0O,GAAiC,IAANS,GAC5BC,EAAKwG,WAAWzG,EAAI,IAAM,IAE5BT,GAAA,GAEFS,IAAA,IAEGT,EAAA,OACIU,EAAA,IAGT8C,EAAUvU,EAAMotJ,MAAQ,GAAK,CAAC,IAAK,KAC9B57I,EAAI,EAAGpP,EAAIqP,EAAKpP,OAAQmP,EAAIpP,EAAGoP,IAAK,KAEvCL,GADAY,EAAKN,EAAKwG,WAAWzG,KACT,IACD,EAAG,MAEN,IAAIxQ,MACR,yBACEwQ,EACA,eACAC,EACA,qDAGN8C,EAAQtN,KAAKkK,GACboD,EAAQtN,KAAK8K,GAAMZ,GAAO,WAErB8C,OAAOuE,aAAazR,WAAA,EAAiBwN,EAAA,CAoBrC+jE,CAAa7mE,EAAMzR,GACvBuB,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAGhB65E,GAAavpE,EAAImuI,YAAYqN,UAAY,SAAS57I,GACpD2yI,IAAQiD,IAAQ,GAChBC,GAAaD,IAAQ,CACnB4C,MAAO,EACPqB,cAAe,EACf7L,SAAUx3C,OAAOj3F,GACjBi7I,OAAQ,KACRF,SAAU,KACVD,QAAS,KACTE,QAAS,KACTP,SAAU,CACRC,YAAa,EACbC,YAAa,EACbC,UAAW3jD,OAAOx2F,EAAO,IACzBo6I,UAAW5jD,OAAOx2F,EAAO,MAG7BmnE,GAASyuE,IACT9C,EAAqBH,EAAMP,GAAA,EAGzB7qE,GAAW,SAASvnE,EAAYzR,GAAA,IAC9BwR,EAAYpP,EAAOw4D,EAAA,OAEvB14D,EAAclC,GAAmBkC,EAEP,iBAAfuP,IACTD,EAAaS,EAAcR,EAAW1M,eAClCd,MAAMC,QAAQsN,KAChBpP,EAAQoP,EAAW,GACnBopD,EAASppD,EAAW,KAIpBvN,MAAMC,QAAQuN,KAChBrP,EAAQqP,EAAW,GAAK2iD,GACxBwG,EAASnpD,EAAW,GAAK2iD,IAGvBmK,MAAMn8D,KACRA,EAAQmS,EAAO,GACfqmD,EAASrmD,EAAO,KAGdnS,EAAQ,OAASw4D,EAAS,SAC5B72D,GAAQzD,KACN,0GAEF8B,EAAQ+G,KAAKmE,IAAI,MAAOlL,GACxBw4D,EAASzxD,KAAKmE,IAAI,MAAOstD,IAG3BrmD,EAAS,CAACnS,EAAOw4D,GAET14D,EAAYsB,OAAO,EAAG,QACvB,IACCo3D,EAASx4D,IACXmS,EAAS,CAACqmD,EAAQx4D,IAAA,UAGjB,IACCA,EAAQw4D,IACVrmD,EAAS,CAACqmD,EAAQx4D,IAKxBg5E,GAAU7mE,GAGV+4I,GAAaC,IAEbjf,EAAIkf,IAEc,IAAdC,IACFnf,EAAImf,GAAY,MAEC,IAAfC,IACFpf,EAAIof,GAAa,MAEnBnG,GAAOhJ,QAAQ,UAAW,CACxB3mB,WAAYyvB,IAAA,EAIZpvE,GAAc,SAASxmE,GACrBA,EAAI,GAAKA,GAAK41I,KAChBjD,EAAMl2I,OAAOuD,EAAG,GAChB61I,GAAap5I,OAAOuD,EAAG,GACvB41I,KACIxD,EAAcwD,KAChBxD,EAAcwD,IAAA,KAEXsG,QAAQ9J,GAAA,EAIbjrE,GAAW,SAASnnE,GAClBA,EAAI,GAAKA,GAAK41I,KAChBxD,EAAcpyI,EAAA,EAId4mE,GAAoBxmE,EAAImuI,YAAY4N,iBAAmB/7I,EAAI+7I,iBAAmB,kBACzExJ,EAAM/hJ,OAAS,GAiBpBg1E,GAAU,SAAS5lE,EAAUzR,EAAWwR,GAAA,IAExCpP,EADEF,OAAA,EAAM,OAEVsP,EAAUA,GAAW,CAAC,EAEtBC,OAAA,IACEA,EAAyBA,EAAWo1I,GAAMJ,IAAemG,SAC3D5sJ,OAAA,IACEA,EAA0BA,EAAY6mJ,GAAMJ,IAAe/jH,UAC7DtgC,EAAoBqP,EAAS1M,mBAAA,IAG3B+hJ,GAAQ1kJ,SAAA,IACR0kJ,GAAQ1kJ,GAAmBpC,GAE3BkC,EAAM4kJ,GAAQ1kJ,GAAmBpC,QAAA,IAEjC8mJ,GAAQr1I,SAAA,IACRq1I,GAAQr1I,GAAUzR,GAElBkC,EAAM4kJ,GAAQr1I,GAAUzR,IAAA,IAEpBwR,EAAQq8I,gBACV9pJ,GAAQzD,KACN,0CACEmR,EACA,OACAzR,EACA,kDAKHkC,GAAQsP,EAAQs8I,YAER,OADX5rJ,EAAM4kJ,GAAOiH,MAAU/tJ,MAErBkC,EAAM4kJ,GAAOiH,MAAPC,QAGH9rJ,CAAA,EAGLk2E,GAAWvmE,EAAImuI,YAAYiO,QAAU,eACnCx8I,EAAWi4I,KACX1pJ,EAAY,SAASyR,GAAA,OAChBA,CAAA,MAOJ,IAAID,KALiB,OAAtBH,IACFrR,EAAYi6E,GAAW+wE,UAAUv5I,EAAU,IAE7C68H,EAAI,MACJA,EAAI,cAAgBp2D,GAAUl4E,EAAU,SAAWikB,GAAMsyE,UAAY,KACrDwvD,GACVA,GAAmBjyI,eAAetC,IAAQu0I,GAAmBv0I,IAC/D88H,EACE,IACE98H,EAAIhO,OAAO,EAAG,GAAGgqB,cACjBhc,EAAIhO,OAAO,GACX,KACA00E,GAAUl4E,EAAU+lJ,GAAmBv0I,KACvC,KAIR88H,EAAI,kBAAoBp2D,GAAUl4E,EAAUouF,IAAiB,KAC7DkgD,EAAI,MACJA,EAAI,WAGFl1D,GAAcvnE,EAAImuI,YAAYkO,WAAa,SAASz8I,GAAA,IAElDzR,GADJyR,EAAUA,GAAW,CAAC,GAEZ85I,qBAAuBrB,GAAA,OACjCR,KACApb,EAAI,MACJA,EAAI,kBACJA,EAAI,UAAYtuI,EAAyB,QAEpC8kJ,KAAUA,GAAW,aAClBA,IAAA,IACD,YACHxW,EAAI,4CAED,aACHA,EAAI,4CAED,WACHA,EAAI,sCAED,WACHA,EAAI,0DAGA98H,EAAM,GAAKszI,GACoB,MAA/BtzI,EAAIhO,OAAOgO,EAAInP,OAAS,KAC1ByiJ,GAAWp/H,SAASo/H,IAAY,KACV,iBAAbA,IACTxW,EAAI,qCAAuCpnD,EAAG49D,IAAY,YAG3DS,KAAYA,GAAa,cACtBA,IAAA,IACD,aACHjX,EAAI,oCAED,SACHA,EAAI,qCAED,UACA,UACHA,EAAI,wCAED,WACHA,EAAI,+BAGJ6W,IAQF7W,EAAI,cAAgB6W,IAEtBoC,GAAOhJ,QAAQ,cACfjQ,EAAI,MACJA,EAAI,WAGFh1D,GAAcznE,EAAImuI,YAAYmO,WAAa,WAC7C7f,EAAI,WACJA,EAAI,MACJA,EAAI,UAAYuD,EAAe,IAE/BvD,EAAI,SAAWuD,EAAe,QAC9BvD,EAAI,UAAYuD,EAAe,GAAK,QACV,OAAtBxgI,GACFi9H,EAAI,YAAcr0D,GAAWm0E,IAAM,QAErC9f,EAAI,UAAYrmG,EAAS,MAAQA,EAAS,OAC1CqmG,EAAI,OAGF/0D,GAAa1nE,EAAImuI,YAAYqO,UAAY,WAC3C/f,EAAI,QAAU38H,GACd28H,EAAI,sBAGFz2D,GAAWhmE,EAAImuI,YAAYsO,QAAU,eACnC78I,EAAI,aAER68H,EAAI,QACJA,EAAI,MAAQuD,EAAe,IAC3BvD,EAAI,2BACC,IAAItuI,EAAI,EAAGA,GAAK6xI,EAAc7xI,IAEX,mBADTikJ,EAAQjkJ,GAEnBsuI,GAAK78H,EAAIwyI,EAAQjkJ,MAAMmF,OAAO,IAAM,sBAEzB8+I,EAAQjkJ,GACjBsuI,GAAK78H,EAAIwyI,EAAQjkJ,IAAImF,OAAO,IAAM,aAElCmpI,EAAI,wBAMR/1D,GAAiB1mE,EAAImuI,YAAYuO,cAAgB,WAxrEnD1c,EAAe,EACfJ,EAAgB,EAChByS,EAAU,GACVD,EAAU,GACVE,EAAoB,GAEpB+F,GAAsBN,KACtBryE,GAA0BqyE,KAmrE1BrF,EAAqBL,GAErBqD,GAAOhJ,QAAQ,iBAEfhlE,KACApC,KAvjByB,WACzBowE,GAAOhJ,QAAQ,4BACV,IAAI9sI,EAAI,EAAGA,EAAI0yI,EAAkB9hJ,OAAQoP,IAAK,KAC7CzR,EAAMmkJ,EAAkB1yI,GAC5Bo4I,GAAuB7pJ,EAAIiqJ,OAAA,GAC3B3b,EAAItuI,EAAI4iC,SACR0rG,EAAI,UAENiZ,GAAOhJ,QAAQ,4BAgjBfllE,GACA1B,KAC0B,OAAtBtmE,IA1rBJ4oE,GAAWm0E,IAAM1E,KACjBpb,EAAI,MACJA,EAAI,qBACJA,EAAI,MAAQr0D,GAAWvoE,GACvB48H,EAAI,MAAQr0D,GAAWzoE,GACvB88H,EAAI,OAASr0D,GAAWu0E,YAAYv0E,GAAW91D,GAAK,KACpDmqH,EAAI,OAASr0D,GAAWu0E,YAAYv0E,GAAWwF,GAAK,KACpD6uD,EAAI,MAAQr0D,GAAWtlE,GACvB25H,EAAI,MACJA,EAAI,WAkrBJl2D,KACAgB,KAAA,IAEI3nE,EAAeggI,EAAA,OACnB55D,KACAyB,KACAg1D,EAAI,aACJA,EAAI,GAAK78H,GACT68H,EAAI,SAEJiW,EAAqBH,EAAMP,IAEpBK,EAAQ3gJ,KAAK,OAGlBw2E,GAAWloE,EAAImuI,YAAYyO,QAAU,SAASh9I,GAAA,OACzC,IAAIsoG,KAAK,CAACw0B,EAAe98H,IAAQ,CACtCzC,KAAM,qBA4BN8qE,GAAUjoE,EAAI68I,OAAS78I,EAAImuI,YAAY0O,OAjiBhC,SAAoBj9I,GAAA,OAC7BA,EAAGk9I,IAAM,sBAEEl9I,EAAG1K,MAAMoN,KAAMnN,UAAA,CACtB,MAAOyK,GAAA,IACHzR,EAAQyR,EAAE21C,OAAS,IAClBpnD,EAAMgF,QAAQ,UAAShF,EAAQA,EAAM4C,MAAM,QAAQ,QACpD4O,EACF,qBACAxR,EAAM4C,MAAM,MAAM,GAAGA,MAAM,KAAK,GAChC,KACA6O,EAAEhT,QAAA,IACA2D,GAAa/B,QAAA,MAIT,IAAIW,MAAMwQ,GAHhBpP,GAAa/B,QAAQa,MAAMsQ,EAAGC,GAC1BrP,GAAayiI,OAAOA,MAAMrzH,EAAA,GAMpCC,EAAGk9I,IAAIC,IAAMn9I,EACNA,EAAGk9I,GAAA,CA4gBwCn2E,EAAK,SACvD/mE,EACAzR,GAAA,OAIuB,iBAFvBA,EAAUA,GAAW,CAAC,GAGpBA,EAAU,CACR6uJ,SAAU7uJ,GAGZA,EAAQ6uJ,SAAW7uJ,EAAQ6uJ,UAAY,gBAGjCp9I,GAAA,YACD,OACI8mE,KAAA,IACJ,OACH1mE,EAAI45C,KAAKzrD,EAAQ6uJ,UAAA,UAEd,qBACItgB,EAAeh2D,MAAA,IACnB,cACIwB,GAAQxB,MAAA,IACZ,cACA,sBAGMn2E,GAAaiyI,KACwB,mBAArCjyI,GAAaiyI,IAAII,gBAAA,OAGrBryI,GAAaiyI,KACZjyI,GAAaiyI,IAAII,gBAAgB16D,GAAQxB,aAAA,EAI7Cx0E,GAAQzD,KACN,oHAID,oBACA,oBACCkR,EAAU,GACVtP,EAAcq2E,KAAA,IAEhB/mE,EAAUL,GAAKjP,EAAA,CACf,MAAOuP,GACPD,EAAUL,GAAKgzG,SAAS93E,mBAAmBnqC,IAAA,OAG3C,iCACAlC,EAAQ6uJ,SACR,WACAr9I,EAAA,IAEC,wBAEgD,oBAAjD7N,OAAOC,UAAUyF,SAASxF,KAAKzB,IAC/B,KACIw4D,EACF,0EACErmD,EACF,uIAEEvU,EAAQ8uJ,eACVl0F,EAAe56D,EAAQ8uJ,aACvBv6I,EAAY,QAGVxD,EACF,kIAEA6pD,EACA,IACArmD,EACA,wCACAJ,KAAKu6I,OAAO,iBACZ,MACAh4F,KAAKC,UAAU32D,GACf,6BACE+R,EAAK3P,GAAaqhC,OAAA,OAEX,OAAP1xB,GACFA,EAAGhT,SAAS0oB,MAAM1W,GAEbgB,CAAA,OAED,IAAI/Q,MACR,0EAGD,oBAEgD,oBAAjD2C,OAAOC,UAAUyF,SAASxF,KAAKzB,IAC/B,KAEIgP,EACF,kJAFapR,EAAQ+uJ,UAAY,mCAMjC,uBACA/uJ,EAAQ6uJ,SALR,kDAQE59I,EAAiB7O,GAAaqhC,OAAA,GAEX,OAAnBxyB,EAAyB,CAC3BA,EAAelS,SAAS0oB,MAAMrW,GAAA,IAC1BJ,EAAQmD,KACZlD,EAAelS,SAASwY,gBAAgBxK,cACtC,cACAo/B,OAAS,WACTl7B,EAAelS,SAAS0zG,MAAQzyG,EAAQ6uJ,SACxC59I,EAAelS,SAASwY,gBACrBxK,cAAc,cACdskC,cAAc29G,qBAAqBvrH,KAClCzyB,EAAM09I,OAAO,oBAIdz9I,CAAA,OAED,IAAIjQ,MACR,sEAGD,sBAEgD,oBAAjD2C,OAAOC,UAAUyF,SAASxF,KAAKzB,IAAA,MAkBzB,IAAIpB,MACR,wEAjBEsQ,EACF,kIAIA6C,KAAKu6I,OAAO,gBAAiB1uJ,GAJ7B,4BAOEkR,EAAmB9O,GAAaqhC,OAAA,GACX,OAArBvyB,IACFA,EAAiBnS,SAAS0oB,MAAMnW,GAChCJ,EAAiBnS,SAAS0zG,MAAQzyG,EAAQ6uJ,UAExC39I,GAAsC,oBAAX6jI,OAC7B,OAAO7jI,EAAA,UAOR,cACA,iBACK9O,GAAarD,SAAS2G,SAASoF,KAAOqJ,KAAKu6I,OACjD,gBACA1uJ,GAAA,eAGK,SASTivJ,GAAY,SAASx9I,GAAA,WAErBxN,MAAMC,QAAQsjJ,KAAsBA,GAASxiJ,QAAQyM,IAAe,UAIhEmpD,GAAA,IACD,KACHxG,GAAc,YAEX,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,aAEX,KAEDA,GAD6B,GAA3B66F,GAAU,cACE,IAEA,GAAK,aAGlB,SAGA,KACH76F,GAAc,aAEX,KACHA,GAAc,mBAGM,iBAATwG,EAAA,MAGH,IAAI55D,MAAM,iBAAmB45D,GAFnCxG,GAAcwG,EAAA,IAMhBqf,GAAa,KACjBiB,IACA+V,IAAA,IAcIjX,GAAenoE,EAAImuI,YAAYkP,YAAcr9I,EAAIq9I,YAAc,SACjEz9I,GAAA,GAEI8sD,MAAM9sD,IAAuBA,EAAqB,GAAM,EAAG,MACvD,IAAIzQ,MAAM,sDAGX,CACLipJ,MAFU3C,GAAa71I,GAAoBw4I,MAG3CryB,WAAYnmH,EACZy6I,YAAa5E,GAAa71I,GAAA,EAI1BinE,GAAsB7mE,EAAImuI,YAAYmP,mBAAqB,SAC7D19I,GAAA,GAEI8sD,MAAM9sD,IAAUA,EAAQ,GAAM,EAAG,MAC7B,IAAIzQ,MAAM,2DAEb,IAAIhB,KAAcsnJ,GAAA,GACjBA,GAAatnJ,GAAYiqJ,QAAUx4I,EAAA,aAIlCuoE,GAAYh6E,EAAA,EAGjBk6E,GAAsBroE,EAAImuI,YAAYoP,mBAAqBv9I,EAAIu9I,mBAAqB,iBAC/E,CACLnF,MAAO3C,GAAazD,GAAaoG,MACjCryB,WAAYisB,EACZqI,YAAa5E,GAAazD,GAAA,EAgB9BhyI,EAAIw9I,QAAU,kBACZr2E,GAASjyE,MAAMoN,KAAMnN,WACdmN,IAAA,EAmBTtC,EAAI87I,QAAU,kBACZ/0E,GAAS7xE,MAAMoN,KAAMnN,WACrBu9I,EAAqB1gJ,KAAKsQ,KAAMiwI,EAAMP,IAC/B1vI,IAAA,EAYTtC,EAAIy9I,WAAa,SAAS79I,GAAA,YACnB49I,UAAA,KACAE,SAAS1L,EAAapyI,GACpB0C,IAAA,EAYTtC,EAAI09I,SAAW,SAAS99I,EAAYzR,GAAA,IAC9BwR,EAAUpP,EAAA,GACVqP,EAAazR,EAAY,CAC3BwR,EAAW4yI,EAAM3yI,GACjBrP,EAAkBklJ,GAAa71I,GAAA,IAC1B,IAAIvP,EAAIuP,EAAYvP,EAAIlC,EAAYkC,IACvCkiJ,EAAMliJ,GAAKkiJ,EAAMliJ,EAAI,GACrBolJ,GAAaplJ,GAAKolJ,GAAaplJ,EAAI,GAErCkiJ,EAAMpkJ,GAAcwR,EACpB81I,GAAatnJ,GAAcoC,EAAA,KACtBurJ,QAAQ3tJ,EAAA,MACR,GAAIyR,EAAazR,EAAY,CAClCwR,EAAW4yI,EAAM3yI,GACjBrP,EAAkBklJ,GAAa71I,GAAA,IAC1B,IAAI1N,EAAI0N,EAAY1N,EAAI/D,EAAY+D,IACvCqgJ,EAAMrgJ,GAAKqgJ,EAAMrgJ,EAAI,GACrBujJ,GAAavjJ,GAAKujJ,GAAavjJ,EAAI,GAErCqgJ,EAAMpkJ,GAAcwR,EACpB81I,GAAatnJ,GAAcoC,EAAA,KACtBurJ,QAAQ3tJ,EAAA,QAERmU,IAAA,EAYTtC,EAAI29I,WAAa,kBACfv3E,GAAYlxE,MAAMoN,KAAMnN,WACjBmN,IAAA,EAuCTtC,EAAImuI,YAAY1hJ,KAAOuT,EAAIvT,KAAO,SAAS0B,EAAMwR,EAAGpP,EAAGF,EAAS6B,GAAA,IAe1D62D,EAASrmD,EAAIxD,EAAOgB,EAAOZ,EAAWC,EAAUH,EAAOD,EAkBvDM,EAnBAJ,GADJhP,EAAUA,GAAW,CAAC,GACFiqG,OAASh4F,KAAA,GASX,iBAATnU,GACM,iBAANwR,IACO,iBAANpP,GAAkB6B,MAAMC,QAAQ9B,IACxC,KACIiP,EAAMjP,EACVA,EAAIoP,EACJA,EAAIxR,EACJA,EAAOqR,CAAA,IAKLrK,UAAU,aAAci7I,IAAA,GAE1BlxI,EAAQ/J,UAAU,GAClB+K,EAAQ/K,UAAU,GAEG,YAAjByK,EAAAA,GAAAA,GAJJR,EAAQjK,UAAU,KAIyB,OAAViK,IACV,iBAAVF,IACTgB,EAAQhB,EACRA,EAAQ,MAEW,iBAAVE,IACTc,EAAQd,EACRA,EAAQ,MAEW,iBAAVA,IACTF,EAAQE,EACRA,EAAQ,MAEV/O,EAAU,CACRgmB,MAAOjX,EACP0b,MAAO5b,EACP0+I,MAAO19I,MAIXR,EACE,yDAEFD,EAAuBvN,GAGrBw6D,MAAM/sD,IAAM+sD,MAAMn8D,IAAlB,MAA+BpC,EAAA,MAC3B,IAAIgB,MAAM,6CAGE,IAAhBhB,EAAKqC,OAAA,OACA6O,EAAA,IAILW,EADAH,EAAO,GAEPC,EACkC,iBAA7BzP,EAAQwtJ,iBACXxtJ,EAAQwtJ,iBACRC,GACF1yE,EAAc/rE,EAAM6uI,SAAS6P,YAAA,SAExB5nH,EAAIv2B,GAAA,OACXA,EAAIA,EAAE7O,MAAM,MAAMW,KAAKU,MAAM/B,EAAQ2tJ,QAAU,GAAGtsJ,KAAK,MAChD20E,GAAUzmE,EAAGR,EAAA,UAGbgB,EAA4BR,GAAA,QAK/BzR,EAHAwR,EAAKC,EAAKxO,SACVb,EAAK,GACLF,EAAMsP,EAAGnP,OAINH,KAEgB,iBADrBlC,EAAQwR,EAAGyX,SAET7mB,EAAG6E,KAAKjH,GAGNiE,MAAMC,QAAQuN,KACI,IAAjBzR,EAAMqC,aAAA,IACJrC,EAAM,aAAoBA,EAAM,IAEnCoC,EAAG6E,KAAKjH,EAAM,IAEdoC,EAAG6E,KAAK,CAACjH,EAAM,GAAIA,EAAM,GAAIA,EAAM,YAIlCoC,CAAA,UAGAqT,EAAsBhE,EAAMzR,GAAA,IAC/BwR,EAAA,GACgB,iBAATC,EACTD,EAASxR,EAAmByR,GAAM,QAC7B,GAAIxN,MAAMC,QAAQuN,GAAO,SAK1BrP,EACAF,EAJA6B,EAAK0N,EAAKxO,SACV23D,EAAK,GACLrmD,EAAMxQ,EAAG1B,OAKNkS,KAEgB,iBADrBnS,EAAQ2B,EAAGklB,SAET2xC,EAAG3zD,KAAKjH,EAAmBoC,GAAO,IACzB6B,MAAMC,QAAQ9B,IAA8B,iBAAbA,EAAM,KAC9CF,EAAYlC,EAAmBoC,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACzDw4D,EAAG3zD,KAAK,CAAC/E,EAAU,GAAIA,EAAU,GAAIA,EAAU,MAGnDsP,EAASopD,CAAA,QAEJppD,CAAA,KAILmD,GAAA,EACAxS,GAAA,EAAwB,GAER,iBAATnC,EACT2U,GAAA,OACK,GAAI1Q,MAAMC,QAAQlE,GAAO,KAE1B88E,EAAK98E,EAAKiD,SACdsR,EAAK,WAED2P,EADAk+D,EAAMtF,EAAGz6E,OAIN+/E,MAGc,iBAFnBl+D,EAAQ44D,EAAG7zD,UAGRhlB,MAAMC,QAAQggB,IAA8B,iBAAbA,EAAM,MAEtC/hB,GAAA,GAGJwS,EAAqBxS,CAAA,SAEnBwS,EAAA,MACI,IAAI3T,MACR,0CACEhB,EACA,wBAWc,iBAATA,IAEPA,EADEA,EAAKg/C,MAAM,WACNh/C,EAAK4C,MAAM,eAEX,CAAC5C,IAAA,IAKR42D,EAASiuF,GAAiB3zI,EAAM6uI,SAAS6P,YACzClyF,EAAU9G,GAAUjlD,EAAa,UAE7BzP,EAAQwoD,UAAA,IACT,SACHtoD,GAAKs7D,EAAA,UAEF,MACHt7D,GAAKw0D,EAAS8G,EAAA,UAEX,UACHt7D,GAAKw0D,EAAS,EAAI8G,EAAA,UAEf,SACHt7D,GAAKw0D,EAAS,EAAI8G,EAAA,IAUtBtsD,EAAWlP,EAAQ4tJ,UAAY,GAEhB,IACO,iBAAT9vJ,EACTA,EAAOkR,EAAM6+I,gBAAgB/vJ,EAAMoR,GACe,mBAAzCzN,OAAOC,UAAUyF,SAASxF,KAAK7D,KACxCA,EAAOA,EAAKs6B,QAAO,SAAS7oB,EAAKzR,GAAA,OACxByR,EAAIxO,OAAOiO,EAAM6+I,gBAAgB/vJ,EAAUoR,GAAA,GACjD,MAKPwpD,EAAU,CACRt8D,KAAM0B,EACN4R,EAAGJ,EACHK,EAAGzP,EACH7D,QAAS2D,EACT8tJ,MAAO,CACLjD,UAAW70E,GACX+3E,cAAexJ,GACfruG,MAAOyuG,GACPqJ,eAAgBrL,KAGpB0C,GAAOhJ,QAAQ,iBAAkB3jF,GAEjC56D,EAAO46D,EAAQt8D,KAIfyS,GAHA7O,EAAU04D,EAAQr8D,SAGFouB,MAGdrb,aAAgC2wI,IAAA,GAChClxI,GACiB,iBAAVA,EACP,CACAA,GAAS5H,KAAK2jB,GAAK,IAEe,IAA9B5qB,EAAQiuJ,oBACVp/I,GAASA,GAGPo2E,IAAYv1E,IACdb,GAASA,GAAA,IAGPisE,EAAI7zE,KAAKywB,IAAI7oB,GACbkT,EAAI9a,KAAKwwB,IAAI5oB,GACjBO,EAAuB,IAAI2wI,GAAOjlE,EAAG/4D,GAAIA,EAAG+4D,EAAG,EAAG,QACzCjsE,GAASA,aAAiBkxI,KACnC3wI,EAAuBP,GAGrBo2E,IAAYv1E,GAAqBN,IACnCA,EAAuB03I,SAAA,KAKzB73I,EAAYjP,EAAQkuJ,WAAal8F,MAG/BxiD,GAAQ+tE,EAAIt7D,EAAMhT,IAAc,aAC3Bk/I,aAAal8I,KAAKm8I,gBAAkB,cAG3Ct/I,EAAkB9O,EAAQquJ,mBAExB7+I,GAAQ+tE,EAAsB,IAAlBzuE,GAAyB,SAK5B9O,EAAQsuJ,KAAA,IAOftyF,GAAiB,EACjBgpB,OAAA,IACKhlF,EAAQuuJ,cACXvuJ,EAAQuuJ,cACRvuJ,EAAQ2vD,OACV3pB,EAAch3B,EAAM6uI,SAASqP,qBAAqBlD,YAAA,OAE9ChlE,GAAA,KACD,SACA,IACA,OACHhpB,EAAgB,aAEb,SACA,IACA,SACHA,EAAgB,aAEb,MACA,iBACHA,EAAgB,aAEb,MACA,YACHA,EAAgB,aAEb,MACA,wBACHA,EAAgB,aAEb,MACA,8BACHA,EAAgB,aAEb,MACA,wCACHA,EAAgB,aAEb,MACA,uBACHA,EAAgB,MAIhBpsD,OAAA,IACKo2B,EAAYwoH,kBACfxoH,EAAYwoH,mBACX,GAIgB,IAAnBxyF,EACFxsD,GAAQwsD,EAAgB,SAGQ,IAAvBpsD,IACTJ,GAAQ,WAGa,IAAnBwsD,IACFh2B,EAAYwoH,kBAAoBxyF,GAIlCnsD,EAAQ7P,EAAQutJ,OAAS,WAOrB5yE,EANAuR,EAAUy2D,GAAiBlzI,EAC3Bs2B,EAAY/2B,EAAM6uI,SAASvoB,SAASm5B,WACpCv2E,EAAaysE,GAAMJ,IACvBt1I,EAAYjP,EAAQkuJ,WAAal8F,GACjC9iD,EAAWlP,EAAQ4tJ,UAAY,EAG/B7+I,EAAQtN,OAAOa,OAAO,CAAE0oJ,YAAA,EAAkBE,OAAA,GAAelrJ,EAAQgmB,OAAA,IAE7D+oE,EAAqB,MAEoB,mBAAzCttF,OAAOC,UAAUyF,SAASxF,KAAK7D,GAA4B,KAEzDi7E,EADJ1mE,EAAKtC,EAA4BjS,GAEnB,SAAV+R,IACF8qE,EAAatoE,EAAGzG,KAAI,SAAS2D,GAAA,OAExBP,EAAM0/I,mBAAmBn/I,EAAG,CAC3Bi7C,KAAM0tB,EACNg2E,UAAWj/I,EACXmuB,SAAUulH,GACVgM,WAAA,IAEAhM,GACF5nE,CAAA,SAQF+T,EADA9V,EAAY,KAEF,UAAVnpE,EAAmB,CAGrBP,GAAKqrE,EAAW,GAChB78E,EAAO,GACPoiF,EAAM7tE,EAAGlS,OAAA,IACJ,IAAI+hB,EAAI,EAAGA,EAAIg+D,EAAKh+D,IACb,IAANA,GACF4sE,EAAO1qB,GAAwB90D,GAC/BypE,EAAO61E,GAAsB1uJ,KAE7B4uF,EAAO7sE,EAAM+2D,EAAY2B,EAAWz4D,IACpC62D,GAAQmT,GAEVpuF,EAAKiH,KAAK,CAACsN,EAAG6P,GAAI4sE,EAAM/V,IACxBC,EAAY2B,EAAWz4D,EAAA,MAEpB,GAAc,WAAVrS,EAAoB,CAG7BP,GAAKqrE,EAAW,GAAK,EACrB78E,EAAO,GACPoiF,EAAM7tE,EAAGlS,OAAA,IACJ,IAAIwhJ,EAAI,EAAGA,EAAIzhE,EAAKyhE,IACb,IAANA,GACF7yD,EAAO1qB,GAAwB90D,GAC/BypE,EAAO61E,GAAsB1uJ,KAE7B4uF,EAAO7sE,GAAO+2D,EAAY2B,EAAWgnE,IAAM,GAC3C5oE,GAAQmT,GAEVpuF,EAAKiH,KAAK,CAACsN,EAAGsvI,GAAI7yD,EAAM/V,IACxBC,EAAY2B,EAAWgnE,EAAA,MAEpB,GAAc,SAAV9xI,EAAkB,CAC3B/R,EAAO,GACPoiF,EAAM7tE,EAAGlS,OAAA,IACJ,IAAI84E,EAAI,EAAGA,EAAIiH,EAAKjH,IACvBn7E,EAAKiH,KAAKsN,EAAG4mE,GAAA,KAEV,IAAc,YAAVppE,EAAA,MAsBH,IAAI/Q,MACR,8EAtBFhB,EAAO,GACPoiF,EAAM7tE,EAAGlS,OACT+O,EAAwB,IAAbA,EAAiBA,EAAW62B,EAAA,IAElC,IAAI87G,GAAI,EAAGA,GAAI3hE,EAAK2hE,KACvB9oE,EAAa,IAAN8oE,GAAU+M,GAAsB1uJ,IAAMgsF,EAC7C4C,EAAa,IAAN+yD,GAAUz9E,GAAwB90D,GAAK,EAC1CuyI,GAAI3hE,EAAM,EACZ6O,EAAmBhqF,KACjBw4E,EACEt7D,GACG/S,EAAWyrE,EAAWknE,MAAOxvI,EAAGwvI,IAAGnhJ,MAAM,KAAKP,OAAS,MAK9D4uF,EAAmBhqF,KAAK,GAE1BjH,EAAKiH,KAAK,CAACsN,EAAGwvI,IAAI/yD,EAAM/V,GAAA,GAUqC,KAA1B,kBAAhB/4E,EAAQ8iJ,IAAoB9iJ,EAAQ8iJ,IAAMxX,MAEjExtI,EAAOyV,EAAsBzV,GAAM,SAASyR,EAAMzR,EAAMwR,GAAA,MAC/C,CACLC,EACG7O,MAAM,IACN0+C,UACA/9C,KAAK,IACRvD,EACAwR,EAAA,KAMNopD,EAAU,CACRt8D,KAAM0B,EACN4R,EAAGJ,EACHK,EAAGzP,EACH7D,QAAS2D,EACT8tJ,MAAO,CACLjD,UAAW70E,GACX+3E,cAAexJ,GACfruG,MAAOyuG,GACPqJ,eAAgBrL,KAGpB0C,GAAOhJ,QAAQ,kBAAmB3jF,GAElC56D,EAAO46D,EAAQt8D,KACfuT,EAAQ+oD,EAAQo1F,MAAMzrI,QAAA,EAAS,IAG3B0/H,GAAqB4C,GAAMJ,IAAe8F,SAGrB,oBAAvBtI,IACuB,qBAAvBA,KAEAjkJ,EAAOyV,EAAsBzV,GAAM,SAASyR,EAAMzR,EAAMwR,GAAA,MAC/C,CAACw2B,EAAIv2B,GAAOzR,EAAMwR,EAAA,KAI7B+C,EAAKtC,EAA4BjS,GAEjCA,EAAO,WAIHkkJ,GACAzS,GACA0S,GAHAE,GAAUpgJ,MAAMC,QAAQqQ,EAAG,IADnB,EADC,EAMTw8I,GAAc,GAEdxM,GAAmB,SACrB9yI,EACAzR,EACAwR,GAAA,IAEIpP,EAAW,UACXoP,aAAoCywI,IAKpCzwI,EAD2B,iBAAlBtP,EAAQyqB,MACUm8H,GACzBt3I,EACA,IAAIywI,GAAO,EAAG,EAAG,EAAG,EAAGxwI,EAAUzR,IAGR8oJ,GACzB,IAAI7G,GAAO,EAAG,EAAG,EAAG,EAAGxwI,EAAUzR,GACjCwR,GAIA21E,IAAYv1E,IACdJ,EAA2Bs3I,GACzB,IAAI7G,GAAO,EAAG,EAAG,GAAI,EAAG,EAAG,GAC3BzwI,IAIJpP,EAAWoP,EAAyBjO,KAAK,KAAO,SAEhDnB,EAAWq9E,EAAIhuE,GAAY,IAAMguE,EAAIz/E,GAAY,QAE5CoC,CAAA,EAGAqiJ,GAAY,EAAGA,GAAYlwI,EAAGlS,OAAQoiJ,KAAa,QAC1DsM,GAAc,GAEN1M,IAAA,KA9CE,EAgDNF,IACGtyI,EAAQ,IAAM,KAAO0C,EAAGkwI,IAAW,IAAM5yI,EAAQ,IAAM,KAC1DqyI,GAAOkG,WAAW71I,EAAGkwI,IAAW,IAChChT,GAAO2Y,WAAW71I,EAAGkwI,IAAW,eApDzB,EAuDPN,IAAWtyI,EAAQ,IAAM,KAAO0C,EAAGkwI,KAAc5yI,EAAQ,IAAM,KAC/DqyI,GAAO59E,GAAwB90D,GAC/BigI,GAAOqf,GAAsB1uJ,QAAA,IAKxB6uF,QAAA,IACAA,EAAmBwzD,MAE1BsM,GAAc9/D,EAAmBwzD,IAAa,SAG9B,IAAdA,GACFzkJ,EAAKiH,KACH8pJ,GACExM,GAAiBL,GAAMzS,GAAMngI,GAC7B6yI,IAxEK,IA0EAE,GACTrkJ,EAAKiH,KAAK8pJ,GAAc5M,IA1EhB,IA2ECE,IACTrkJ,EAAKiH,KACH8pJ,GACExM,GAAiBL,GAAMzS,GAAMngI,GAC7B6yI,GAAA,CAKRnkJ,EArFa,IAqFNqkJ,GAAqBrkJ,EAAKuD,KAAK,YAAcvD,EAAKuD,KAAK,SAC9DvD,GAAQ,YAEJuuI,GAAS,eACbA,IAAUkY,GAAgB,IAAM5B,GAAiB,QACjDtW,IAAU9uD,EAAIolE,GAAiBlzI,GAAc,QAC7C48H,IAAUyiB,GAAY,KACtBziB,IAAU78H,EACV68H,IAAUvuI,EAGVsuI,EAFAC,IAAU,MAGVvqI,EAAUyiJ,KAAA,EACHv1I,CAAA,MA6BLmpE,GAAQxoE,EAAImuI,YAAYvgJ,KAAOoS,EAAIpS,KAAO,SAASgS,GAAA,OAInD68H,EADE,YAAc78H,EACZ,KAEA,KAEC0C,IAAA,EAaTtC,EAAIo/I,YAAc,kBACT52E,GAAK,YAYdxoE,EAAImuI,YAAYkR,YAAcr/I,EAAIq/I,YAAc,kBAC9C5iB,EAAI,KACGn6H,IAAA,MAGLglE,GAAgBtnE,EAAImuI,YAAYmR,aAAe,SAAS1/I,GAAA,IAetDzR,GAAA,EAAS,OAC8B,IAflB,MAAC,EAExB,KACA,IACA,IACA,IACA,KACA,KACA,IACA,KACA,IACA,KACA,KAGqBgF,QAAQyM,KAC7BzR,GAAA,GAEKA,CAAA,EAGT6R,EAAImuI,YAAYoR,wBAA0Bv/I,EAAIu/I,wBAA0B,SACtE3/I,GAAA,OAEI0nE,GAAa1nE,KACfP,EAAuBO,GAElB0C,IAAA,MAGLi7H,GAAYv9H,EAAImuI,YAAYqR,SAAWx/I,EAAIw/I,SAAW,SAAS5/I,GAAA,IAE7DzR,EAAKkR,EAAA,OAEDO,GAAA,IACD,QACA,IACHzR,EAAK,cAEF,IACHA,EAAK,cAEF,SACA,KACHA,EAAK,cAEF,QACA,SACA,QACA,KAQHA,EAAKyR,EAAA,OAGFzR,CAAA,EAWLsxJ,GAASz/I,EAAI6xB,MAAQ,kBACvB4qG,EAAI,KACGn6H,IAAA,EAWTtC,EAAIggD,OAAS,kBACXy8E,EAAI,KACGn6H,IAAA,EAaTtC,EAAI27C,KAAO,SAAS/7C,GAAA,OAClB8/I,GAAwB,IAAK9/I,GACtB0C,IAAA,EAaTtC,EAAI2/I,YAAc,SAAS//I,GAAA,OACzB8/I,GAAwB,KAAM9/I,GACvB0C,IAAA,EAaTtC,EAAI4/I,WAAa,SAAShgJ,GAAA,OACxB8/I,GAAwB,IAAK9/I,GACtB0C,IAAA,EAaTtC,EAAI6/I,kBAAoB,SAASjgJ,GAAA,OAC/B8/I,GAAwB,KAAM9/I,GACvB0C,IAAA,MAGLo9I,GAA0B,SAASvxJ,EAAOwR,GACrB,YAAnBC,EAAAA,GAAAA,GAAOD,GACT2E,GAAgB3E,EAASxR,GAEzBsuI,EAAItuI,EAAA,EAIJ2xJ,GAAW,SAASlgJ,GAEV,OAAVA,GACC01E,IAAYv1E,QAAQ,IAAYH,IAKnCA,EAAQ29H,GAAS39H,GAGjB68H,EAAI78H,GAAA,WAGGmgJ,GAAmBngJ,EAAYzR,EAAawR,EAAOpP,EAAOF,GAAA,IAC7D6B,EAAQ,IAAIi5E,GACdh9E,GAAemU,KAAK0qI,YACpBrtI,GAAS2C,KAAK2qI,MACd18I,GAAS+R,KAAK4qI,MACd5qI,KAAKuqI,OACLx8I,GAAUiS,KAAK6sB,QAEjBj9B,EAAMi7I,OAAS7qI,KAAK6qI,OAAA,IAChBpkF,EAAMnpD,EAAa,KAAO0C,KAAK8qI,aAAe,YAClDkK,GAAWvuF,EAAK72D,GACTA,CAAA,KAGLoS,GAAkB,SAAS1E,EAAazR,GAAA,IACtCwR,EAAYy1I,GAAWx1I,EAAYhN,KACnCrC,EAAU4kJ,GAASx1I,GAAA,GAEnBpP,aAAmBs7D,GACrB4wE,EAAI,KAEJA,EAAIujB,GAAkB7xJ,IAElBoC,EAAQs8I,QACV7sI,EAAIigJ,UAAU1vJ,EAAQs8I,QAExBpQ,EAAI78H,EAAYuvB,OAAO33B,WAAa,OACpCilI,EAAI,IAAM98H,EAAY,OACtB88H,EAAI,UACC,GAAIlsI,aAAmB46E,GAAe,KAGvC96E,EAAS,IAAI+/I,GAAO,EAAG,EAAG,GAAI,EAAG,EAAGC,MAEpCzwI,EAAYuvB,SACd9+B,EAASA,EAAOmmJ,SAAS52I,EAAYuvB,QAAUgoH,IAG/Cx3I,EAAYogJ,GAAmB/tJ,KAC7BzB,EACAqP,EAAYhN,IACZgN,EAAYotI,YACZptI,EAAYqtI,MACZrtI,EAAYstI,MACZ78I,GACAmwD,IAGJi8E,EAAI,KACJA,EAAI,eACJA,EAAI,IAAM98H,EAAY,QAElBpP,EAAQs8I,QACV7sI,EAAIigJ,UAAU1vJ,EAAQs8I,QAGxBpQ,EAAItuI,GACJsuI,EAAI,OAIJujB,GAAoB,SAASpgJ,GAAA,OACvBA,GAAA,IACD,QACA,IAYI,IACJ,UACI,MAbA,IACJ,WACI,WACJ,IAGI,IAIJ,UACI,MAPA,IACJ,WACI,OAOA,EAcTsgJ,GAAUlgJ,EAAI48C,OAAS,SAASh9C,EAAGzR,GAAA,OACrCsuI,EAAI7uD,EAAIt7D,EAAM1S,IAAM,IAAMguE,EAAI5C,EAAgB78E,IAAM,MAC7CmU,IAAA,EAcL69I,GAAUngJ,EAAI68C,OAAS,SAASj9C,EAAGzR,GAAA,OACrCsuI,EAAI7uD,EAAIt7D,EAAM1S,IAAM,IAAMguE,EAAI5C,EAAgB78E,IAAM,MAC7CmU,IAAA,EAmBL89I,GAAWpgJ,EAAIqgJ,QAAU,SAASzgJ,EAAIzR,EAAIwR,EAAIpP,EAAIF,EAAI6B,GAAA,OACxDuqI,EACE,CACE7uD,EAAIt7D,EAAM1S,IACVguE,EAAI5C,EAAgB78E,IACpBy/E,EAAIt7D,EAAM3S,IACViuE,EAAI5C,EAAgBz6E,IACpBq9E,EAAIt7D,EAAMjiB,IACVu9E,EAAI5C,EAAgB94E,IACpB,KACAR,KAAK,MAEF4Q,IAAA,EAiBTtC,EAAImuI,YAAY59G,KAAOvwB,EAAIuwB,KAAO,SAAS3wB,EAAIzR,EAAIwR,EAAIpP,EAAIF,GAAA,GAEvDq8D,MAAM9sD,IACN8sD,MAAMv+D,IACNu+D,MAAM/sD,IACN+sD,MAAMn8D,KACL+2E,GAAaj3E,GAAA,MAER,IAAIlB,MAAM,iDAEdmmF,IAAYv1E,EACPuC,KAAKg+I,MAAM,CAAC,CAAC3gJ,EAAKC,EAAIrP,EAAKpC,IAAMyR,EAAIzR,EAAI,CAAC,EAAG,GAAIkC,GAAS,KAE1DiS,KAAKg+I,MAAM,CAAC,CAAC3gJ,EAAKC,EAAIrP,EAAKpC,IAAMyR,EAAIzR,EAAI,CAAC,EAAG,IAAI6xD,QAAA,EAuC5DhgD,EAAImuI,YAAYmS,MAAQtgJ,EAAIsgJ,MAAQ,SAClC1gJ,EACAzR,EACAwR,EACApP,EACAF,EACA6B,GAAA,IAEI62D,EAAQrmD,EAAQxD,EAAGgB,EAAGZ,EAAKC,EAAIH,EAAID,EAAIM,EAAIJ,EAAIG,EAAIK,EAAA,GAOlC,iBAAVD,IACTC,EAAMF,EACNA,EAAIxR,EACJA,EAAIyR,EACJA,EAAQC,GAGVtP,EAAQA,GAAS,CAAC,EAAG,GACrB2B,EAASA,IAAA,EAGPw6D,MAAMv+D,IACNu+D,MAAM/sD,KACLvN,MAAMC,QAAQuN,KACdxN,MAAMC,QAAQ9B,KACd+2E,GAAaj3E,IACI,kBAAX6B,EAAA,MAED,IAAI/C,MAAM,+CAIlB+wJ,GAAO/xJ,EAAGwR,GAEVopD,EAASx4D,EAAM,GACfmS,EAASnS,EAAM,GACf2P,EAAIN,EAAMpP,OAIV6O,EAAKlR,EACLqR,EAAKG,EAEAT,EAAI,EAAGA,EAAIgB,EAAGhB,IAEE,KADnBI,EAAMM,EAAMV,IACJ1O,QAEN6O,EAAKC,EAAI,GAAKypD,EAAS1pD,EACvBG,EAAKF,EAAI,GAAKoD,EAASlD,EACvB2gJ,GAAO9gJ,EAAIG,KAGXD,EAAKD,EAAI,GAAKypD,EAAS1pD,EACvBD,EAAKE,EAAI,GAAKoD,EAASlD,EACvBL,EAAKG,EAAI,GAAKypD,EAAS1pD,EACvBI,EAAKH,EAAI,GAAKoD,EAASlD,EACvBH,EAAKC,EAAI,GAAKypD,EAAS1pD,EACvBG,EAAKF,EAAI,GAAKoD,EAASlD,EACvB4gJ,GAAQ7gJ,EAAIH,EAAID,EAAIM,EAAIJ,EAAIG,IAAA,OAI5BtN,GACFutJ,KAGFK,GAASzvJ,GACFiS,IAAA,EAaTtC,EAAIlN,KAAO,SAAS8M,GAAA,IACb,IAAIzR,EAAI,EAAGA,EAAIyR,EAAMpP,OAAQrC,IAAK,KACjCwR,EAAMC,EAAMzR,GACZoC,EAASoP,EAAIT,EAAA,OACTS,EAAIwE,IAAA,IACL,IACH+7I,GAAO3vJ,EAAO,GAAIA,EAAO,cAEtB,IACH4vJ,GAAO5vJ,EAAO,GAAIA,EAAO,cAEtB,IACH6vJ,GAAQlrJ,MAAMoN,KAAM/R,GAAA,UAEjB,IACHkvJ,KAAA,QAKCn9I,IAAA,EAwBTtC,EAAImuI,YAAY/oI,KAAOpF,EAAIoF,KAAO,SAASxF,EAAGzR,EAAGwR,EAAGpP,EAAGF,GAAA,GACjDq8D,MAAM9sD,IAAM8sD,MAAMv+D,IAAMu+D,MAAM/sD,IAAM+sD,MAAMn8D,KAAO+2E,GAAaj3E,GAAA,MAC1D,IAAIlB,MAAM,iDAEdmmF,IAAYv1E,IACdxP,GAAKA,GAGPksI,EACE,CACE7uD,EAAIt7D,EAAM1S,IACVguE,EAAI5C,EAAgB78E,IACpBy/E,EAAIt7D,EAAM3S,IACViuE,EAAIt7D,EAAM/hB,IACV,MACAmB,KAAK,MAGTouJ,GAASzvJ,GACFiS,IAAA,EA0BTtC,EAAImuI,YAAYoS,SAAWvgJ,EAAIugJ,SAAW,SACxC3gJ,EACAzR,EACAwR,EACApP,EACAF,EACA6B,EACA62D,GAAA,GAGE2D,MAAM9sD,IACN8sD,MAAMv+D,IACNu+D,MAAM/sD,IACN+sD,MAAMn8D,IACNm8D,MAAMr8D,IACNq8D,MAAMx6D,KACLo1E,GAAave,GAAA,MAER,IAAI55D,MAAM,0DAEbmxJ,MACH,CACE,CAAC3gJ,EAAKC,EAAIrP,EAAKpC,GAAA,CACdkC,EAAKsP,EAAIzN,EAAK3B,GAAA,CACdqP,EAAKvP,EAAIlC,EAAK+D,IAEjB0N,EACAzR,EAAA,CACC,EAAG,GACJ46D,GAAA,GAGKzmD,IAAA,EA0BTtC,EAAImuI,YAAYqS,YAAcxgJ,EAAIwgJ,YAAc,SAC9C5gJ,EACAzR,EACAwR,EACApP,EACAF,EACA6B,EACA62D,GAAA,GAGE2D,MAAM9sD,IACN8sD,MAAMv+D,IACNu+D,MAAM/sD,IACN+sD,MAAMn8D,IACNm8D,MAAMr8D,IACNq8D,MAAMx6D,KACLo1E,GAAave,GAAA,MAER,IAAI55D,MAAM,qDAEduT,EAAS,EAAI,GAAMpL,KAAKmpJ,MAAQ,UAEpCpwJ,EAAKiH,KAAKmE,IAAIpL,EAAQ,GAAJsP,GAClBzN,EAAKoF,KAAKmE,IAAIvJ,EAAQ,GAAJ3B,GAAA,KAEb+vJ,MACH,CACE,CAAC3gJ,EAAI,EAAItP,EAAI,GACb,CAACA,EAAKqS,EAAO,EAAGrS,EAAI6B,EAAKA,EAAKwQ,EAAOrS,EAAI6B,GACzC,CAAC,EAAG3B,EAAI,EAAI2B,GACZ,CAAC,EAAGA,EAAKwQ,GAASrS,EAAKqS,EAAQxQ,GAAK7B,EAAI6B,GACxC,CAAM,EAAI7B,EAARsP,EAAY,GACd,EAAGtP,EAAKqS,EAAQ,GAAIrS,GAAM6B,EAAKwQ,GAASrS,GAAK6B,GAC7C,CAAC,EAAQ,EAAIA,EAAR3B,GACL,CAAC,GAAK2B,EAAKwQ,EAAQrS,EAAKqS,GAAQxQ,EAAI7B,GAAK6B,IAE3C0N,EAAIvP,EACJlC,EAAA,CACC,EAAG,GACJ46D,GAAA,GAGKzmD,IAAA,EAwBTtC,EAAImuI,YAAYuS,QAAU1gJ,EAAI0gJ,QAAU,SAAS9gJ,EAAGzR,EAAGwR,EAAIpP,EAAIF,GAAA,GAE3Dq8D,MAAM9sD,IACN8sD,MAAMv+D,IACNu+D,MAAM/sD,IACN+sD,MAAMn8D,KACL+2E,GAAaj3E,GAAA,MAER,IAAIlB,MAAM,iDAEd+C,EAAM,EAAI,GAAMoF,KAAKmpJ,MAAQ,GAAK9gJ,EACpCopD,EAAM,EAAI,GAAMzxD,KAAKmpJ,MAAQ,GAAKlwJ,EAAA,OAEpC2vJ,GAAOtgJ,EAAID,EAAIxR,GACfiyJ,GAAQxgJ,EAAID,EAAIxR,EAAI46D,EAAInpD,EAAI1N,EAAI/D,EAAIoC,EAAIqP,EAAGzR,EAAIoC,GAC/C6vJ,GAAQxgJ,EAAI1N,EAAI/D,EAAIoC,EAAIqP,EAAID,EAAIxR,EAAI46D,EAAInpD,EAAID,EAAIxR,GAChDiyJ,GAAQxgJ,EAAID,EAAIxR,EAAI46D,EAAInpD,EAAI1N,EAAI/D,EAAIoC,EAAIqP,EAAGzR,EAAIoC,GAC/C6vJ,GAAQxgJ,EAAI1N,EAAI/D,EAAIoC,EAAIqP,EAAID,EAAIxR,EAAI46D,EAAInpD,EAAID,EAAIxR,GAEhD2xJ,GAASzvJ,GACFiS,IAAA,EAuBTtC,EAAImuI,YAAYwS,OAAS3gJ,EAAI2gJ,OAAS,SAAS/gJ,EAAGzR,EAAGwR,EAAGpP,GAAA,GAClDm8D,MAAM9sD,IAAM8sD,MAAMv+D,IAAMu+D,MAAM/sD,KAAO2nE,GAAa/2E,GAAA,MAC9C,IAAIpB,MAAM,mDAEXmT,KAAKo+I,QAAQ9gJ,EAAGzR,EAAGwR,EAAGA,EAAGpP,EAAA,EAgBlCyP,EAAI4gJ,QAAU,SAAShhJ,EAAUzR,EAAWwR,GAAA,OACtCA,IACFxR,EAAYmC,EAA8BnC,EAAWwR,IAEvDi1I,GAAgBpvE,GAAQ5lE,EAAUzR,EAAW,CAC3C6tJ,gBAAA,IAEK15I,IAAA,MAYLsyD,GAAgB50D,EAAImuI,YAAY0S,QAAU7gJ,EAAI6gJ,QAAU,kBACnD7L,GAAMxvE,GAAQtwE,MAAM8K,EAAK7K,WAAA,EAclC6K,EAAImuI,YAAY2S,YAAc9gJ,EAAI8gJ,YAAc,eAE5ClhJ,EACAzR,EAFEwR,EAAO,CAAC,EAAD,IAINC,KAAYq1I,GAAA,GACXA,GAAQhzI,eAAerC,GAAA,IAEpBzR,KADLwR,EAAKC,GAAY,GACCq1I,GAAQr1I,GACpBq1I,GAAQr1I,GAAUqC,eAAe9T,IACnCwR,EAAKC,GAAUxK,KAAKjH,GAAA,OAKrBwR,CAAA,EAiBTK,EAAI+gJ,QAAU,SACZnhJ,EACAzR,EACAwR,EACApP,EACAF,GAAA,IAEI6B,EAAkB,CACpB,mBACA,mBACA,aACA,0BAEEiD,UAAU,KAAiD,IAA3CjD,EAAgBiB,QAAQgC,UAAU,IAEpD9E,EAAW8E,UAAU,GACZA,UAAU,KAAgD,GAA1CjD,EAAgBiB,QAAQgC,UAAU,MAC3DwK,EAAYrP,EAA8BqP,EAAWpP,IAGhD82E,GAAQr1E,KAAKsQ,KAAM1C,EAAgBzR,EAAUwR,EADpDtP,EAAWA,GAAY,aACwC,MAuE7DytJ,GApEApC,GAAYvtJ,EAAQktD,WAAa,QAUjC2lG,GAAgBhhJ,EAAImuI,YAAY8S,aAAejhJ,EAAIihJ,aAAe,kBAC7DvF,EAAA,EAaLD,GAAgBz7I,EAAImuI,YAAY+S,aAAelhJ,EAAIkhJ,aAAe,SACpEthJ,GAAA,OAEA87I,GAAY97I,EACZ68H,EAAI7uD,EAAIt7D,EAAM1S,IAAU,MACjB0C,IAAA,EAiBTtC,EAAImuI,YAAYruF,YAAc1tC,GAAMinI,IAAIv5F,YAAc1tC,GAAMinI,IAAI8H,mBAAqB,SACnFvhJ,EACAzR,GAAA,GAEAyR,EAAYA,GAAa,GACzBzR,EAAYA,GAAa,EAErBu+D,MAAMv+D,KAAeiE,MAAMC,QAAQuN,GAAA,MAC/B,IAAIzQ,MAAM,wDAGlByQ,EAAYA,EACT3D,KAAI,SAAS2D,GAAA,OACLguE,EAAIt7D,EAAM1S,GAAA,IAElBlO,KAAK,KACRvD,EAAYy/E,EAAIt7D,EAAMnkB,IAEtBsuI,EAAI,IAAM78H,EAAY,KAAOzR,EAAY,MAClCmU,IAAA,MAKL8+I,GAAiBphJ,EAAImuI,YAAYkT,cAAgBrhJ,EAAIqhJ,cAAgB,kBAChErO,GAAiB8K,EAAA,EAG1B99I,EAAImuI,YAAYkT,cAAgBrhJ,EAAIqhJ,cAAgB,kBAC3CrO,GAAiB8K,EAAA,MAatBwD,GAAuBthJ,EAAImuI,YAAYoT,oBAAsBvhJ,EAAIuhJ,oBAAsB,SACzF3hJ,GAAA,MAGqB,iBADrBA,EAAQA,GAAS,QAEfk+I,GAAmBl+I,GAEd0C,IAAA,EAYLk/I,GAAuBxhJ,EAAImuI,YAAYsT,oBAAsBzhJ,EAAIyhJ,oBAAsB,kBAClF3D,EAAA,EAGTwD,GAAoBnzJ,EAAQo/B,YAAA,IAExBknC,GAA2Bz0D,EAAImuI,YAAYuT,wBAA0B,SACvE9hJ,GAAA,OAEO0S,EAAM1S,EAAA,EAGXq/I,GAAyBj/I,EAAImuI,YAAYwT,sBAAwB,SACnE/hJ,GAAA,OAEI01E,IAAYv1E,EACPH,EAGL61I,GAAazD,GAAa4H,SAASI,UACnCvE,GAAazD,GAAa4H,SAASE,YACjBxnI,EAAM1S,EAAA,EAI1BgiJ,GAAiC5hJ,EAAImuI,YAAY0T,8BAAgC7hJ,EAAI6hJ,8BAAgC,SACvHjiJ,GAAA,OAEOguE,EAAInZ,GAAwB70D,GAAA,EAGjCkiJ,GAA+B9hJ,EAAImuI,YAAY4T,4BAA8B/hJ,EAAI+hJ,4BAA8B,SACjHniJ,GAAA,OAEOguE,EAAIqxE,GAAsBr/I,GAAA,EAG/B+7I,GAAcxtJ,EAAQ6zJ,aAAe,MAWzChiJ,EAAImuI,YAAY8T,eAAiBjiJ,EAAIkiJ,aAAe,kBAC3C39E,GAAkBo3E,GAAA,EAyC3B37I,EAAImuI,YAAYgU,eAAiBniJ,EAAIoiJ,aAAe,SAClDxiJ,EACAzR,EACAwR,EACApP,GAAA,OAWAorJ,GAAc12F,GATA,CACZwzF,IAAK74I,EACL84I,IAAKvqJ,EACLwqJ,IAAKh5I,EACLi5I,IAAKroJ,EACLsoJ,aAAc,OACdhL,UAAW,IAIbpR,EAAIkf,IACGr5I,IAAA,MAGL+/I,GAAYl0J,EAAQm0J,WAAa,MAWrCtiJ,EAAImuI,YAAYoU,aAAeviJ,EAAIuiJ,aAAe,kBACzCh+E,GAAkB89E,GAAA,EAyC3BriJ,EAAImuI,YAAYqU,aAAexiJ,EAAIwiJ,aAAe,SAChD5iJ,EACAzR,EACAwR,EACApP,GAAA,OAWA8xJ,GAAYp9F,GATE,CACZwzF,IAAK74I,EACL84I,IAAKvqJ,EACLwqJ,IAAKh5I,EACLi5I,IAAKroJ,EACLsoJ,aAAc,OACdhL,UAAW,IAIbpR,EAAI4lB,IACG//I,IAAA,MAGL68I,GAAYhxJ,EAAQs0J,WAAa,MAUjCC,GAAgB1iJ,EAAImuI,YAAYwU,aAAe3iJ,EAAI2iJ,aAAe,kBAC7Dp+E,GAAkB46E,GAAA,EAwC3Bn/I,EAAImuI,YAAYyU,aAAe5iJ,EAAI4iJ,aAAe,SAChDhjJ,EACAzR,EACAwR,EACApP,GAAA,OAUA4uJ,GAAYl6F,GARE,CACZwzF,IAAK74I,EACL84I,IAAKvqJ,EACLwqJ,IAAKh5I,EACLi5I,IAAKroJ,EACLsoJ,aAAc,OACdhL,UAAW,IAINvrI,IAAA,MAGL+/C,GAAkBl0D,EAAQowJ,UAW1BsE,GAAgB7iJ,EAAImuI,YAAYsQ,aAAez+I,EAAIy+I,aAAe,kBAC7DlG,WAAWl2F,IAAmB,IAavCriD,EAAImuI,YAAYqQ,aAAex+I,EAAIw+I,aAAe,SAAS5+I,GAAA,GACrD8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,wDAElBkzD,GAAkBziD,EACX0C,IAAA,MAGLs5I,GAAY,EAShB57I,EAAI8iJ,cAAgB,GACf,EACHC,KAAM,EACNC,IAAK,EACLC,MAAO,IACJ,EACH7mI,MAAO,EACP8mI,QAAS,EACTvC,OAAQ,IACL,EACHwC,WAAY,EACZC,QAAS,EACTC,OAAQ,EACRC,MAAO,GAcTtjJ,EAAImuI,YAAYoV,WAAavjJ,EAAIujJ,WAAa,SAAS3jJ,GAAA,IACjDzR,EAAK6R,EAAI8iJ,cAAcljJ,GAAA,YACvBzR,EAAA,MACI,IAAIgB,MACR,sBACEyQ,EACA,sFAGNg8I,GAAYztJ,EACZsuI,EAAItuI,EAAK,MAEFmU,IAAA,MAGLu5I,GAAa,EAYjB77I,EAAImuI,YAAYqV,YAAcxjJ,EAAIwjJ,YAAc,SAAS5jJ,GAAA,IACnDzR,EAAK6R,EAAI8iJ,cAAcljJ,GAAA,YACvBzR,EAAA,MACI,IAAIgB,MACR,uBACEyQ,EACA,sFAGNi8I,GAAa1tJ,EACbsuI,EAAItuI,EAAK,MAEFmU,IAAA,EAcTtC,EAAImuI,YAAYsV,kBAAoBzjJ,EAAImuI,YAAYuV,cAAgB1jJ,EAAIyjJ,kBAAoBzjJ,EAAI0jJ,cAAgB,SAC9G9jJ,GAAA,GAEAA,EAASA,GAAU,EACf8sD,MAAM9sD,GAAA,MACF,IAAIzQ,MAAM,6DAElBstI,EAAI7uD,EAAIt7D,EAAM1S,IAAW,MAElB0C,IAAA,EAcTtC,EAAI2jJ,OAAS5+F,GAWb/kD,EAAIigJ,UAAY,SAASrgJ,IAErBA,EADoB,iBAAXA,EACAy1I,GAAQC,GAAW11I,IAEnBgkJ,GAAU,KAAMhkJ,IAGfikJ,OAAOtO,MACjB9Y,EAAI,IAAM78H,EAAO4gD,GAAK,OACtB+0F,GAAe31I,EAAA,MASfgkJ,GAAY,SAAShkJ,EAAKzR,GAAA,IAExByR,IAAO01I,GAAW11I,GAAA,KAClBD,GAAA,EAAY,IACX,IAAIpP,KAAK8kJ,GAAA,GACRA,GAAQpzI,eAAe1R,IACrB8kJ,GAAQ9kJ,GAAGszJ,OAAO11J,GAAS,CAC7BwR,GAAA,EAAY,SAMdA,EACFxR,EAASknJ,GAAQ9kJ,OACZ,KACDF,EAAY,MAAQyB,OAAOY,KAAK2iJ,IAAS7kJ,OAAS,GAAGgH,SAAS,IAClE69I,GAAQhlJ,GAAalC,EACrBA,EAAOqyD,GAAKnwD,CAAA,QAIduP,IAAQ01I,GAAW11I,GAAOzR,EAAOqyD,IAEjCk1F,GAAOhJ,QAAQ,YAAav+I,GAErBA,CAAA,GAcT6R,EAAI8jJ,UAAY,SAASlkJ,EAAKzR,GAAA,OAC5By1J,GAAUhkJ,EAAKzR,GACRmU,IAAA,EAYTtC,EAAImwI,kBAAoB,kBACtB1T,EAAI,KAEJyY,GAAe9/I,KAAK,CAClBxC,IAAKgiJ,GACLxrH,KAAM4pH,GACNl3H,MAAOqjI,KAEF78I,IAAA,EAUTtC,EAAIwwI,qBAAuB,WACzB/T,EAAI,SAGA78H,EAAYs1I,GAAezkJ,MAAA,OAC/BmkJ,GAAgBh1I,EAAUhN,IAC1BogJ,GAAiBpzI,EAAUwpB,KAC3B+1H,GAAYv/I,EAAUkc,MAEtBy5H,GAAe,KAERjzI,IAAA,EAYTtC,EAAI+jJ,+BAAiC,SAASnkJ,GAAA,OAC5C68H,EAAI78H,EAAOpI,WAAa,OACjB8K,IAAA,EAYTtC,EAAIgkJ,QAAU,SAASpkJ,GAAA,OACrB68H,EAAI,IAAM78H,GACH0C,IAAA,MAMLu0I,GAAQ,SAASj3I,EAAGzR,GAAA,IAClBwR,EAAKC,GAAK,EACd9N,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAr+C,IAAK,kBACIjK,CAAA,EAET6uD,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KACTD,EAAK44I,WAAW34I,GAAA,QAKlBrP,EAAKpC,GAAK,EACd2D,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAr+C,IAAK,kBACIrZ,CAAA,EAETi+D,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KACTrP,EAAKgoJ,WAAW34I,GAAA,QAKlBvP,EAAQ,YACZyB,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAr+C,IAAK,kBACIvZ,CAAA,EAETm+D,IAAK,SAAS5uD,GACZvP,EAAQuP,EAAMpI,UAAA,IAGX8K,IAAA,EAMLy0I,GAAY,SAASn3I,EAAGzR,EAAGwR,EAAGpP,GAChCsmJ,GAAM7kJ,KAAKsQ,KAAM1C,EAAGzR,GAAA,KACfgP,KAAO,WAER9M,EAAKsP,GAAK,EACd7N,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAr+C,IAAK,kBACIvZ,CAAA,EAETm+D,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KACTvP,EAAKkoJ,WAAW34I,GAAA,QAKlB1N,EAAK3B,GAAK,SACduB,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAr+C,IAAK,kBACI1X,CAAA,EAETs8D,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KACT1N,EAAKqmJ,WAAW34I,GAAA,IAKf0C,IAAA,EAOL2hJ,GAAe,gBACZ3J,KAAO9E,GAAA,KACP0O,YAAclS,EAAA,KACd2I,MAAQpI,EAAMj/I,MAAM,QACpB6wJ,aAAe1O,GAAaniJ,MAAM,QAClCyM,EAAI80I,GAAA,KACJ70I,EAAI80I,GAAA,KACJ3lH,OAAS4lH,GAAA,KACTtwI,MAAQ2/I,GAAapS,GAAA,KACrBttI,OAAS2rI,GAAc2B,GAAA,KACvBqS,kBAAoB7R,EAAA,KAEpBhyF,GAAK,QACLosF,cAAgB,GAGvBqX,GAAalyJ,UAAU+nD,QAAU,WAC/B07F,GAAOlzI,KAAKg4I,KACZtI,EAAc1vI,KAAK4hJ,YACnBzO,GAAenzI,KAAK6hJ,aACpB5R,EAAQjwI,KAAKq4I,MACb9F,GAAQvyI,KAAKvC,EACb+0I,GAAQxyI,KAAKtC,EACb+0I,GAAazyI,KAAK6sB,OAClBm1H,GAAatS,EAAa1vI,KAAKmC,OAC/B8/I,GAAcvS,EAAa1vI,KAAKoC,QAChC8tI,EAAoBlwI,KAAK+hJ,iBAAA,MAGvB1M,GAAuB,SAAS/3I,EAAGzR,EAAGwR,EAAOpP,EAAQF,GAEvD0lJ,GAAkB3gJ,KAAK,IAAI6uJ,IAG3BzO,GAAOxD,EAAc,EACrBO,EAAQ,GACRsC,GAAQj1I,EACRk1I,GAAQ3mJ,EAER4mJ,GAAa1kJ,EAEbk5E,GAAU,CAAC5pE,EAAOpP,GAAA,EAsBM,IAoIrB,IAAIi0J,MAhHTxkJ,EAAIykJ,gBAAkB,SAAS7kJ,EAAGzR,EAAGwR,EAAOpP,EAAQF,GAAA,OAQlDsnJ,GAAqB/3I,EAAGzR,EAAGwR,EAAOpP,EAAQF,GACnCiS,IAAA,EAWTtC,EAAI0kJ,cAAgB,SAAS9kJ,GAAA,OA3DT,SAASA,GAAA,GAEvBk2I,GAAgBl2I,GAClBm2I,GAAkBtlJ,MAAMqpD,cAAA,KAKtB3rD,EAAa,IAAI81J,GAEjBtkJ,EAAY,MAAQ7N,OAAOY,KAAKmjJ,IAAerlJ,OAAS,GAAGgH,SAAS,IACxErJ,EAAWqyD,GAAK7gD,EAEhBm2I,GAAgBl2I,GAAOD,EACvBk2I,GAAcl2I,GAAaxR,EAE3BunJ,GAAOhJ,QAAQ,gBAAiBv+I,GAGhC4nJ,GAAkBtlJ,MAAMqpD,SAAA,EAyCxB6qG,CAAc/kJ,GACP0C,IAAA,EAeTtC,EAAI4kJ,aAAe,SAAShlJ,EAAKzR,GAAA,IAC3BwR,EAAUk2I,GAAcC,GAAgBl2I,IAAA,OAC5C68H,EAAI,KACJA,EAAItuI,EAAOqJ,WAAa,OACxBilI,EAAI,IAAM98H,EAAQ6gD,GAAK,OACvBi8E,EAAI,KACGn6H,IAAA,EAYTtC,EAAI6kJ,cAAgB,SAASjlJ,GAAA,IACvBzR,EAAU0nJ,GAAcC,GAAgBl2I,IAAA,MACrC,CACLG,EAAG5R,EAAQ4R,EACXC,EAAG7R,EAAQ6R,EACXyE,MAAOtW,EAAQsW,MACfC,OAAQvW,EAAQuW,OAChByqB,OAAQhhC,EAAQghC,OAAA,EAepBnvB,EAAI45C,KAAO,SAASh6C,EAAUzR,GAAA,OAC5ByR,EAAWA,GAAY,iBAEvBzR,EAAUA,GAAW,CAAC,GACd22J,cAAgB32J,EAAQ22J,gBAAA,GAAiB,IAE7C32J,EAAQ22J,eACVvlJ,GAAO2oE,GAAQxB,MAAkB9mE,GACJ,mBAAlBL,GAAOwlJ,QACZx0J,GAAak9C,YACfA,WAAWluC,GAAOwlJ,OAAQ,KAGvBziJ,MAEA,IAAIa,SAAQ,SAAShV,EAASwR,GAAA,QAE7BtP,EAASkP,GAAO2oE,GAAQxB,MAAkB9mE,GACjB,mBAAlBL,GAAOwlJ,QACZx0J,GAAak9C,YACfA,WAAWluC,GAAOwlJ,OAAQ,KAG9B52J,EAAQkC,EAAA,CACR,MAAOuP,GACPD,EAAOC,EAAEhT,QAAA,MAUEwlB,GAAMinI,IACnBjnI,GAAMinI,IAAIp3I,eAAeuiJ,MACZ,WAAXA,IAAuBpyI,GAAMinI,IAAI2L,OAAOx0J,OAAA,SAChCoP,EAAQzR,GAAA,IAMZwR,EAAWpP,EAAkBF,EAAA,IAE5BA,EAAIlC,EAAUqC,OAAS,GAAU,IAAPH,EAAUA,IAMvCsP,EAAYxR,EAAUkC,GAAG,GACzBE,EAAmBpC,EAAUkC,GAAG,GAChCuP,EAAOu3E,UAAUjiF,MACf0K,EACA,CAACD,GAAWvO,OACkB,mBAArBb,EACH,CAACA,GACDA,GAAA,CAtB8B,CA0BvCmlJ,GAAQtjI,GAAMinI,IAAI2L,QAErBhlJ,EAAIwkJ,IAAUpyI,GAAMinI,IAAImL,KAAA,IAK1BJ,GAAgBpkJ,EAAIilJ,aAAe,SAASrlJ,GAAA,OAG3C61I,GAFH71I,EAAaA,GAAcoyI,GAEC4H,SAASG,UACjCtE,GAAa71I,GAAYg6I,SAASC,aACpCt3F,EAAA,EAIA+hG,GAAgBtkJ,EAAIklJ,aAAe,SAAStlJ,EAAYzR,GAC1DsnJ,GAAa71I,GAAYg6I,SAASG,UAChC5rJ,EAAQo0D,GAAckzF,GAAa71I,GAAYg6I,SAASC,WAAA,EAGxDxJ,GAAiBrwI,EAAImlJ,cAAgB,SAASvlJ,GAAA,OAG7C61I,GAFH71I,EAAaA,GAAcoyI,GAEC4H,SAASI,UACjCvE,GAAa71I,GAAYg6I,SAASE,aACpCv3F,EAAA,EAIAgiG,GAAiBvkJ,EAAIolJ,cAAgB,SAASxlJ,EAAYzR,GAC5DsnJ,GAAa71I,GAAYg6I,SAASI,UAChC7rJ,EAAQo0D,GAAckzF,GAAa71I,GAAYg6I,SAASE,WAAA,SAQ5D95I,EAAIkuI,SAAW,CACbgN,UAAW70E,GACXm5E,SAAUjiB,GACVsjB,QAASjsF,GACT27E,YAAa2C,GACbuL,aAAcoE,GACdF,aAAcD,GACdrB,cAAeD,GACfK,oBAAqBD,GACrBP,aAAcD,GACdprI,MAAOg9H,EACP8O,wBAAyBjtF,GACzBktF,sBAAuB1C,GACvBoG,oBAAqBzD,GACrBG,4BAA6BD,GAC7BwD,YAAa,CAAC,EACdxN,UAAWD,GACXM,oBAAqBD,GACrBD,kBAAmBF,GACnBwN,uBAAwBvN,GACxBc,WAAYzzE,GACZ0zE,UAAWp0E,GACXqgF,OAAQtP,GACRqI,YAAax7F,GACbojE,SAAU,CACRm5B,SAAU,kBACDsF,GAAapS,EAAA,EAEtBwT,SAAU,SAAS5lJ,GACjB0kJ,GAAatS,EAAapyI,EAAA,EAE5B6lJ,UAAW,kBACFpV,GAAc2B,EAAA,EAEvB0T,UAAW,SAAS9lJ,GAClB2kJ,GAAcvS,EAAapyI,EAAA,GAG/B+lJ,kBAAmBnmJ,EACnBguI,WAAYplE,GACZw9E,aAzqFiB,SAAShmJ,GAAA,OACA,OAAtBJ,EACK4oE,GAAW+wE,UAAUv5I,EAAU,GAEjC,SAASA,GAAA,OACPA,CAAA,GAqqFTi9I,OAAQ50E,GACR8zE,iBAAkBv1E,GAClBm0E,MAAOpI,EACPlU,IAAK5B,EACLuU,GAAI37D,EACJ47D,GAAI56G,EACJgnH,YAAal1E,GACbm1E,mBAAoBz2E,GACpB02E,mBAAoBl1E,GACpBw9E,cAAez6E,EACf06E,MAAOjP,GACPkP,UAAWhP,GACXC,OAAQ5G,GACR4V,UAAW5I,IAGbtrJ,OAAOoM,eAAe8B,EAAIkuI,SAASvoB,SAAU,QAAS,CACpD/7G,IAAK,kBACIw6I,GAAapS,EAAA,EAEtBxjF,IAAK,SAAS5uD,GACZ0kJ,GAAatS,EAAapyI,EAAA,EAE5BqoD,YAAA,EACAW,cAAA,IAEF92D,OAAOoM,eAAe8B,EAAIkuI,SAASvoB,SAAU,SAAU,CACrD/7G,IAAK,kBACIymI,GAAc2B,EAAA,EAEvBxjF,IAAK,SAAS5uD,GACZ2kJ,GAAcvS,EAAapyI,EAAA,EAE7BqoD,YAAA,EACAW,cAAA,IAl+Ga,SAAShpD,GAAA,IACjB,IAAIzR,EAAI,EAAGwR,EAAImzI,GAActiJ,OAAQrC,EAAIwR,EAAGxR,IAAK,KAChDoC,EAAU82E,GAAQr1E,KACpBsQ,KACA1C,EAAazR,GAAG,GAChByR,EAAazR,GAAG,GAChByR,EAAazR,GAAG,GAChB2kJ,GAAc3kJ,GAAG,QACjB,IAGE0R,IACF1N,EAAU5B,IAAA,GAAW,IAGnBF,EAAQuP,EAAazR,GAAG,GAAG4C,MAAM,KACrCkrD,GAAwB,CACtBuE,GAAIjwD,EACJwqJ,SAAU1qJ,EAAM,GAChBwgC,UAAWxgC,EAAM,IAAM,KAG3BqlJ,GAAOhJ,QAAQ,WAAY,CACzBnmG,MAAOyuG,GACPiR,WAAYhR,IAAA,EAi9GPjjJ,KAAKgO,EAAK8yI,IACnB8B,GAAgB,KAChBztE,GAASzkE,EAAQrS,GAEjBqlJ,GAAOhJ,QAAQ,eACR1sI,CAAA,CF9zLTirE,GAAYl5E,UAAUy6I,aAAe,SAAS5sI,GAAA,OACrCwC,OAAOuE,aACX/G,GAAQ,EAAK,IACbA,GAAQ,EAAK,IACbA,GAAQ,GAAM,IACdA,GAAQ,GAAM,MAYnBqrE,GAAYl5E,UAAU4qJ,YAAc,SAAS/8I,GAAA,OACpCA,EACJ7O,MAAM,IACNkL,KAAI,SAAS2D,GAAA,OACJ,KAA4B,IAArBA,EAAKwG,WAAW,IAAW5O,SAAS,KAAKlE,OAAO,MAEhE5B,KAAK,KAWVu5E,GAAYl5E,UAAU06I,WAAa,SAAS7sI,GAAA,IACrC,IAAIzR,EAAQ,GAAIwR,EAAI,EAAGA,EAAIC,EAAIpP,OAAQmP,GAAK,EAC/CxR,EAAMiH,KAAKgN,OAAOuE,aAAakN,SAASjU,EAAIjO,OAAOgO,EAAG,GAAI,aACrDxR,EAAMuD,KAAK,KAYpBu5E,GAAYl5E,UAAUu6I,qBAAuB,SAC3C1sI,EACAzR,GAAA,OAGO2U,GADG/C,GAAO5R,GAAqBwD,OAAO,EAAG,GAChCiO,EAAA,EAiBlBqrE,GAAYl5E,UAAUonJ,UAAY,SAASv5I,EAAUzR,GAAA,IAC/CwR,EAAMI,GACRuC,KAAKiqI,cACHnqI,OAAOuE,aACM,IAAX/G,EACCA,GAAY,EAAK,IACjBA,GAAY,GAAM,IACN,IAAbzR,EACCA,GAAc,EAAK,MAExBwD,OAAO,EAAG,WACL,SAASiO,GAAA,OACPkD,GAAInD,EAAKC,EAAA,GExCpBmlD,GAAOhzD,UAAU8xJ,OAAS,SAAgB11J,GAAA,IAEpCwR,EADApP,EAAS,6BAERpC,IAASyR,EAAAA,GAAAA,GAAOzR,MAAAyR,EAAAA,GAAAA,GAAiB0C,MAAM,OAAO,MAC/CjS,EAAQ,MACPsP,KAAK2C,KAAM,KACV/R,EAAO4C,QAAQwM,IAAM,OACrB2C,KAAKL,eAAetC,KAAOxR,EAAM8T,eAAetC,GAAI,OAAO,KAC3D2C,KAAK3C,KAAOxR,EAAMwR,GAAI,OAAO,EACjCtP,GAAA,KAEGsP,KAAKxR,EACJA,EAAM8T,eAAetC,IAAMpP,EAAO4C,QAAQwM,GAAK,GAAGtP,IAAA,OAEvC,IAAVA,CAAA,EA+xLT+hB,GAAMinI,IAAM,CACV2L,OAAQ,IAQV5yI,GAAMsyE,QAAU,QC35LhB,IAAIhlF,GAAW0S,GAAMinI,IACjBhtF,GAAc,EAEdgpB,GAAY,SAASz1E,GAAA,OAChBA,EACJlQ,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAEhB2mC,GAAc,SAASz2B,GAAA,OAClBA,EACJlQ,QAAQ,QAAS,MACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MAGlB4iB,GAAK,SAAS1S,GAAA,OACTA,EAAOkxI,QAAQ,IAGpB7wI,GAAK,SAASL,GAAA,OACTA,EAAOkxI,QAAQ,IAGxBpxI,GAASwmJ,aAAe,CAAC,EACzB,IAAIl7E,GAAU,SAASprE,EAAOzR,GAC5ByR,EAAM7N,UAAYD,OAAO0Q,OAAOrU,EAAO4D,WACvC6N,EAAM7N,UAAUwQ,YAAc3C,CAAA,EAG5B28E,GAAQ,SAAS38E,GAAA,OACZA,EAAIysD,EAAA,EAGTj2B,GAAoB,SAASx2B,GAAA,IAC3BzR,EAAO,IAAI+wJ,GACXv/I,EAASm0I,GAAmB5F,SAASuX,UAAU7lJ,IAAe,EAC9DrP,EAAQujJ,GAAmB5F,SAAS4Q,SAASl/I,IAAe,SAChEzR,EAAKg4J,KAAO,CAAC,EAAG,EAAG/vD,OAAO9jF,GAAG/hB,IAAS6lG,OAAO9jF,GAAG3S,KACzCxR,CAAA,EAMLo6E,GAAU7oE,GAASwmJ,aAAaE,OAAS,SAASxmJ,EAAQzR,GAAA,GAC5DyR,EAASA,GAAU,EACnBzR,EAAcA,GAAe,EAEzBu+D,MAAM9sD,IAAW8sD,MAAMv+D,GAAA,MACnB,IAAIgB,MACR,oEAKJyQ,EAFc,GAAKzR,CAAA,EAOjBixF,GAAY1/E,GAASwmJ,aAAaG,SAAW,SAASzmJ,EAAQzR,GAAA,GAChEyR,EAASA,GAAU,EACnBzR,EAAcA,GAAe,EAEzBu+D,MAAM9sD,IAAW8sD,MAAMv+D,GAAA,MACnB,IAAIgB,MACR,sEAKJyQ,IAFc,GAAKzR,EAAA,EAOjBi7E,GAAU1pE,GAASwmJ,aAAaI,OAAS,SAAS1mJ,EAAQzR,GAAA,GACxDu+D,MAAM9sD,IAAW8sD,MAAMv+D,GAAA,MACnB,IAAIgB,MACR,oEAGqC,IAAjCyQ,EAAU,GAAKzR,GAAsB,EAAI,GAM/CgxF,GAAgBz/E,GAASwmJ,aAAaK,aAAe,SACvD3mJ,EACAzR,GAAA,GAEIu+D,MAAM9sD,IAAW8sD,MAAMv+D,GAAA,MACnB,IAAIgB,MACR,0EAGGi6E,GAAOxpE,EAAQzR,EAAc,IAGlCk7E,GAAgB3pE,GAASwmJ,aAAaM,aAAe,SACvD5mJ,EACAzR,GAAA,GAEIu+D,MAAM9sD,IAAW8sD,MAAMv+D,GAAA,MACnB,IAAIgB,MACR,0EAGGo5E,GAAO3oE,EAAQzR,EAAc,IAGlCokB,GAAkB7S,GAASwmJ,aAAaO,eAAiB,SAC3D7mJ,EACAzR,GAAA,GAEIu+D,MAAM9sD,IAAW8sD,MAAMv+D,GAAA,MACnB,IAAIgB,MACR,4EAGGiwF,GAASx/E,EAAQzR,EAAc,IAGpC6jJ,GAAwBtyI,GAASwmJ,aAAaQ,qBAAuB,SACvE9mJ,EACAzR,GAAA,IAEIwR,EAA0BxR,EAAM+/I,SAASwT,wBACzCnxJ,EAAwBpC,EAAM+/I,SAASyT,sBACvCtxJ,EAAIuP,EAAK,GACT1N,EAAI0N,EAAK,GACTmpD,EAAInpD,EAAK,GACT8C,EAAI9C,EAAK,GAETV,EAAc,CAAC,EAAD,OAElBA,EAAYynJ,YAAchnJ,EAAwBtP,IAAM,EACxD6O,EAAY0nJ,YAAcr2J,EAAsB2B,EAAIwQ,IAAM,EAC1DxD,EAAY2nJ,aAAelnJ,EAAwBtP,EAAI04D,IAAM,EAC7D7pD,EAAY4nJ,aAAev2J,EAAsB2B,IAAM,EAEhD,CACLkkG,OAAO9jF,GAAGpT,EAAYynJ,cACtBvwD,OAAO9jF,GAAGpT,EAAY0nJ,cACtBxwD,OAAO9jF,GAAGpT,EAAY2nJ,eACtBzwD,OAAO9jF,GAAGpT,EAAY4nJ,eAAA,EAItBx9E,GAA4B,SAAS1pE,GAAA,GACnCA,EAAWmnJ,wBAAA,OACNnnJ,EAAWmnJ,wBAAA,GAGfnnJ,EAAWw2B,GAAMx2B,EAAWonJ,GAAA,KAM7B74J,EAAS,GACTwR,EAAOC,EAAWqnJ,IAAMrnJ,EAAWonJ,GACnCz2J,EAAU2hJ,GAAWtyI,EAAYD,GACjCtP,EAAUuP,EAAW06F,MAAM4zC,SAAS2S,QACtCjhJ,EAAWm7I,SACXn7I,EAAWixB,WACX2vB,GAGFryD,EAAOiH,KAAK,WACZjH,EAAOiH,KAAK,KACZjH,EAAOiH,KAAK,MACZjH,EAAOiH,KAAKwK,EAAW06F,MAAM6zC,YAAYqK,kBAAkB54I,EAAWkc,QACtE3tB,EAAOiH,KAAK,IAAM/E,EAAU,IAAMiiB,GAAG/hB,EAAQk9B,UAAY,OACzDt/B,EAAOiH,KAAK,kBACZjH,EAAOiH,KAAK7E,EAAQ9D,MACpB0B,EAAOiH,KAAK,MACZjH,EAAOiH,KAAK,KACZjH,EAAOiH,KAAK,WAERlD,EAA0BkkC,GAAkBx2B,GAAA,OAChD1N,EAAwBooG,MAAQ16F,EAAW06F,MAC3CpoG,EAAwBi7I,OAASh/I,EAAOuD,KAAK,MACtCQ,CAAA,GAGLggJ,GAAa,SAAStyI,EAAYzR,GAAA,IAChCwR,EACsB,IAAxBC,EAAW6tB,SAAiB7tB,EAAWsnJ,YAActnJ,EAAW6tB,SAC9Dl9B,EAAc,CAChB9D,KAAM,GACNghC,SAAU,IASRp9B,GALJlC,EACkC,MAFlCA,EAA4B,KAArBA,EAAKwD,OAAO,EAAG,GAAYxD,EAAKwD,OAAO,GAAKxD,GAE5CwD,OAAOxD,EAAKqC,OAAS,GACtBrC,EAAKwD,OAAO,EAAGxD,EAAKqC,OAAS,GAC7BrC,GAEe4C,MAAM,KAEzBV,EADEuP,EAAWunJ,UACD92J,EAAU4L,KAAI,SAAA2D,GAAA,OAAQA,EAAK7O,MAAM,SAEjCV,EAAU4L,KAAI,SAAA2D,GAAA,MAAQ,CAACA,EAAA,QAGjC1N,EAAWyN,EAIXopD,EAAS+qF,GAAmB5F,SAASuX,UAAU7lJ,IAAe,EAClEmpD,EAASA,EAAS,GAAKA,EAASA,EAAA,IAC5BrmD,EAAQoxI,GAAmB5F,SAAS4Q,SAASl/I,IAAe,EAChE8C,EAAQA,EAAQ,GAAKA,EAAQA,EAAA,IAEzBxD,EAAqB,SAAS/Q,EAAGwR,EAAUpP,GAAA,GACzCpC,EAAI,EAAIkC,EAAUG,OAAQ,KACxB0B,EAAMyN,EAAW,IAAMtP,EAAUlC,EAAI,GAAG,UAC5B6xI,GAAmB9tI,EAAK0N,EAAYrP,GAAUkU,OAC7C/B,EAAQ,UAGlB,EAIXxQ,IACA0N,EAAU,KAAO1N,EAAW,GAAG,CAC7B/D,EAAO,GACP+D,IAAA,IAMIgO,EAKAZ,EAVAC,EAAaygI,GAAmB,IAAKpgI,EAAY1N,GAAUwS,OAC3DtF,EAASQ,EAAWunJ,UACpBp+F,EAAS72D,GACR62D,EAASxpD,GAAc,EAIxBJ,EAHJC,GA3BgB,EA+BZK,EAAkB,EACpBJ,EAAiB,EAEfG,EAAW,KAEXtN,GAAY,EAAG,CAGjB/D,EAAO,aACPA,GACE,oBACA6xI,GAAmB7xI,EAAMyR,EAJ3B1N,EAAW,IAIsCuS,MAC/C,gBACA/B,EACA,WAME,IAAK,IAFP7C,EAAW,GACX1N,EAAY,EACD6N,EAAI,EAAGA,EAAI3P,EAAUG,OAAQwP,IAAA,GACtC3P,EAAU4R,eAAejC,GAAA,KACvBF,GAAA,EAAgB,GACQ,IAAxBzP,EAAU2P,GAAGxP,QAAgBgP,IAAanP,EAAU2P,GAAGxP,OAAS,EAAG,KAElE+O,EAxDO,IAwDsBpN,EAAY,GAxDlC,EAyDR42D,EAAA,SAESnpD,EAGXC,GAAYxP,EAAU2P,GAAGR,GACzBM,GAAA,EACAT,EAAiBW,EACjBA,GAAA,KACK,CAELH,EAC0C,MAF1CA,GAAYxP,EAAU2P,GAAGR,GAAY,KAE1B7N,OAAOkO,EAASrP,OAAS,GAC9BqP,EAASlO,OAAO,EAAGkO,EAASrP,OAAS,GACrCqP,EAAA,IACFurE,EAAMv3D,SAAS7T,GACfm2B,EAAoBj3B,EAAmBksE,EAAKvrE,EAAU3N,GACtDkO,EAAaJ,GAAK3P,EAAUG,OAAS,KAErC2lC,IAAsB/1B,EAAY,CACpCP,GAAY,IACZL,EAAW,WAEN,GAAK22B,GAAsB/1B,GAe3B,GAAIA,EACTf,EAAiB+rE,OAAA,GAGfxrE,EAAWunJ,YACV5nJ,EApGK,IAoGwBpN,EAAY,GApGpC,EAqGJ42D,EAAA,SAGOnpD,MAxBiC,KACvCA,EAAWunJ,UAAA,SACLvnJ,EAAA,IAGNL,EArFG,IAqF0BpN,EAAY,GArFtC,EAsFJ42D,EAAA,SAISnpD,EAEXP,EAAiB+rE,CAAA,UAkBnBrrE,EAAO,GAEFu1E,EAAI71E,EAAiB61E,GAAKj2E,EAAgBi2E,IAAK,KAClD1xE,EAAWvT,EAAUilF,GAAA,GACrB11E,EAAWunJ,UAAW,IACpB7xE,IAAMj2E,EAAgB,CACxBU,GAAQ6D,EAASpE,GAAY,IAC7BA,GAAYA,EAAW,GAAKoE,EAASpT,OAAA,YAGnC8kF,IAAM71E,EAAiB,CACzBM,GAAQ6D,EAASA,EAASpT,OAAS,GAAK,cAI5CuP,GAAQ6D,EAAS,GAAK,WAIxB7D,EACkC,KAAhCA,EAAKpO,OAAOoO,EAAKvP,OAAS,GACtBuP,EAAKpO,OAAO,EAAGoO,EAAKvP,OAAS,GAC7BuP,EAENT,EAAa0gI,GAAmBjgI,EAAMH,EAAY1N,GAAUuS,MAGpD7E,EAAW6uB,WAAA,IACZ,QACHvuB,EAASwC,EAAQpD,EA1IP,YA4IP,SACHY,GAAUwC,EAAQpD,GAAc,QAE7B,QAEHY,EAjJU,EAoJd/R,GAAQmkB,GAAGpS,GAAU,IAAMoS,GAAGnT,GAAS,QACvChR,GAAQ,IAAMknF,GAAUt1E,GAAQ,SAEhC5R,IAASmkB,GAAGpS,GAAU,UAGtBf,IAAUjN,EA3JE,GA8JZoN,EAAa,EACbG,EAAkBK,EAAgBT,EAAiBA,EAAiB,EACpElN,IAEA0N,EAAW,gBAOjBtP,EAAY9D,KAAO0B,EACnBoC,EAAYk9B,SAAWv7B,EAEhB3B,CAAA,EAULyvI,GAAqB,SAASpgI,EAAMzR,EAAYwR,GAAA,IAC9CpP,EAAOpC,EAAWmsG,MAAM4zC,SAAS2S,QACnC1yJ,EAAW4sJ,SACX5sJ,EAAW0iC,WAETxgC,EACFlC,EAAWmsG,MAAMykD,mBAAmBn/I,EAAM,CACxCi7C,KAAMtqD,EACNk9B,SAAU8qH,WAAW54I,GACrB4+I,UAAW,IACRhG,WAAW54I,GAAA,MASX,CAAE+E,OAPPvW,EAAWmsG,MAAMykD,mBAAmB,IAAK,CACvClkG,KAAMtqD,EACNk9B,SAAU8qH,WAAW54I,GACrB4+I,UAAW,IAEbhG,WAAW54I,GACX,IACuB8E,MAAOpU,EAAA,EAG9B+hJ,GAAyB,CAC3BgV,OAAQ,GACRC,OAAQ,GAMRC,uBAAwB,KAMxBC,YAAA,EACArZ,SAAU,KACVsZ,eAAA,GAmCEnV,GAA4B,SAASzyI,EAAQzR,GAAA,IAC3CwR,EAAU,CACZxC,KAAM,YACNypD,OAAQhnD,QAAA,IAMRzR,EAAM+/I,SACHmP,YAAYz9I,EAAO06I,MACnBD,YAAYoN,YAAYtiJ,MANb,SAASvF,GAAA,OAChBA,EAAMzC,OAASwC,EAAQxC,MAAQyC,EAAMgnD,SAAWjnD,EAAQinD,MAAA,KAO/Dz4D,EAAM+/I,SACHmP,YAAYz9I,EAAO06I,MACnBD,YAAYoN,YAAYryJ,KAAKuK,EAAA,EAmLhC2yI,GAAqB,SAASnkJ,EAAOwR,GAAA,GACvCA,EAAW26F,MAAQnsG,OAAA,IAEjBA,EAAM+/I,gBAAA,IACL//I,EAAM+/I,SAASwZ,iBAAA,IACdv5J,EAAM+/I,SAASwZ,eAAeF,eAChC,IACA/qB,GAAckrB,SAAW,EACzBx5J,EAAM+/I,SAASwZ,eAAiB7iG,KAAK9pC,MACnC8pC,KAAKC,UAAUstF,KAEbjkJ,EAAM+/I,SAASwZ,eAAeJ,uBAAA,MAC1B,IAAIn4J,MAAM,+CAElBk9D,GAAcl+D,EAAM+/I,SAAS6P,YAE7B5vJ,EAAM+/I,SAASwZ,eAAeJ,uBAAyB,IAAI5U,GAC3DvkJ,EAAM+/I,SAASwZ,eAAeJ,uBAAuBhtD,MAAQnsG,EAG7DA,EAAM+/I,SAASwZ,eAAeJ,uBAAuBM,SAAWz5J,EAAM+/I,SAAS8W,OAAO7tE,UACpF,oBACA,YA7K2B,SAASv3E,GAExCA,EAAMsuI,SAAS8W,OAAO9yC,YACpBtyG,EAAMsuI,SAASwZ,eAAeJ,uBAAuBM,iBAEhDhoJ,EAAMsuI,SAASwZ,eAAeJ,uBAAuBM,SAC5DhoJ,EAAMsuI,SAASwZ,eAAeH,YAAA,CAAa,CANZ,CA8KEp5J,EAAA,IAI/BA,EAAM+/I,SAAS8W,OAAO7tE,UAAU,iBAAiB,YA7PxB,SAASv3E,GAEpCA,EAAMsuI,SAASwZ,eAAeJ,uBAAuBlP,WAAA,EAAQ,IACzDjqJ,EAASyR,EAAMsuI,SAASwZ,eAAeJ,uBAAuBO,OAAA,IAC7D,IAAIloJ,KAAKxR,EAAA,GACRA,EAAO8T,eAAetC,GAAI,KACxBpP,EAAapC,EAAOwR,GAExBpP,EAAW6nJ,WAAA,EAEP7nJ,EAAWu3J,eAGbzV,GAA0B9hJ,EAAYqP,EAAA,EAbjB,CA8PAzR,EAAA,IAMzBA,EAAM+/I,SAAS8W,OAAO7tE,UAAU,cAAc,YA/MzB,SAASv3E,GAAA,YAGvBA,EAAMsuI,SAASwZ,eAAeJ,uBAAA,MAW/B,IAAIn4J,MAAM,qCARhByQ,EAAMsuI,SAASt4H,MACb,aACEhW,EAAMsuI,SAASwZ,eAAeJ,uBAAuBlP,MADvD,QAPmB,CAgNAjqJ,EAAA,IAIrBA,EAAM+/I,SAAS8W,OAAO7tE,UAAU,gBAAgB,SAASx3E,IA/KnC,SAASxR,EAAYwR,GAAA,IACzCpP,GAAkBpC,EAAA,IAgBjB,IAAIkC,KAdJlC,IAIHwR,EAAMuuI,SAASqX,uBACb5lJ,EAAMuuI,SAASwZ,eAAeJ,uBAAuBlP,OAAA,GAGvDz4I,EAAMuuI,SAASwZ,eAAeJ,uBAAuBvO,aAGvD5qJ,EACEA,GAAcwR,EAAMuuI,SAASwZ,eAAeJ,uBAAuBS,KAAA,GAG/D55J,EAAW8T,eAAe5R,GAAI,KAC5B6B,EAAc/D,EAAWkC,GACzB04D,EAAe,GACfrmD,EAAUxQ,EAAY81J,KAAA,GAEtB91J,EAAY81J,OACd91J,EAAY81J,KAAOhW,GAAqB9/I,EAAY81J,KAAMroJ,IAI5DA,EAAMuuI,SAASqX,uBAAuBrzJ,EAAYkmJ,OAAA,GAElDlmJ,EAAY+1J,GAAKnU,GAAmBoU,8BAClCh2J,GAIuB,YAAvB0N,EAAAA,GAAAA,GAAO1N,IACyC,mBAAzCA,EAAYi2J,2BAEnBp/F,EAAe72D,EAAYi2J,4BAG7Bj2J,EAAY81J,KAAOtlJ,EAGjBxQ,EAAYk2J,sBACXl2J,EAAY60J,wBACb,KAEI7nJ,EAAaoqE,GAA0Bp3E,GAC3C62D,EAAa3zD,KAAK,CAAExC,IAAK,KAAMqQ,MAAO,QAAU/D,EAAa,OAE7DS,EAAMuuI,SAASwZ,eAAeL,OAAOjyJ,KAAK8J,EAAA,IAKxChN,EAAY60J,wBAAyB,KACnC7mJ,EAAyB,OAExB,IAAIZ,KAAKpN,EAAY60J,wBAAA,GACpB70J,EAAY60J,wBAAwB9kJ,eAAe3C,GAAI,KACrDC,EAAQrN,EAAY60J,wBAAwBznJ,GAAA,GAChDY,GAA0B,IAAMZ,EAAI,IACpCY,GAA0B,KACtBpO,OAAOY,KAAK6M,GAAO/O,QAAU,GAAK4B,MAAMC,QAAQkN,IAAA,IAE7C,IAAIlP,KAAKkP,EAAA,GACRA,EAAM0C,eAAe5R,GAAI,KACvB+O,EAAMG,EAAMlP,GACG,mBAAR+O,IAGTA,EAAMA,EAAIpN,KAAK2N,EAAOzN,IAExBgO,GAA0B,IAAM7P,EAAI,IAAM+O,EAAM,IAI1CO,EAAMuuI,SAASwZ,eAAeL,OAAOl0J,QAAQiM,IAAQ,GACzDO,EAAMuuI,SAASwZ,eAAeL,OAAOjyJ,KAAKgK,EAAA,MAK7B,mBADnBA,EAAMG,KAIJH,EAAMA,EAAIpN,KAAK2N,EAAOzN,IAExBgO,GAA0B,IAAM7P,EAAI,IAAM+O,EACpCO,EAAMuuI,SAASwZ,eAAeL,OAAOl0J,QAAQiM,IAAQ,GACzDO,EAAMuuI,SAASwZ,eAAeL,OAAOjyJ,KAAKgK,GAE9Cc,GAA0B,KAK9B6oD,EAAa3zD,KAAK,CAChBxC,IAAK,KACLqQ,MAAO,OAAS/C,EAAyB,OAI7CP,EAAMuuI,SAAS6K,UAAU,CACvBK,oBAAqBrwF,EACrBmwF,SAAUhnJ,EAAYkmJ,QAGxBz4I,EAAMuuI,SAAS7P,IAAI,UAGnB9tI,GAK0B,SAASpC,EAAYwR,GAAA,IAC9C,IAAIpP,KAAKpC,EAAA,GACRA,EAAW8T,eAAe1R,GAAI,KAC5BF,EAAME,EACN2B,EAAc/D,EAAWoC,GAE7BoP,EAAMuuI,SAASqX,uBAAuBrzJ,EAAYkmJ,OAAA,GAGzB,YAAvBx4I,EAAAA,GAAAA,GAAO1N,IAC0B,mBAA1BA,EAAY6mJ,WAEnB7mJ,EAAY6mJ,mBAEP5qJ,EAAWkC,EAAA,EAlBpBuvI,CAA0BjgI,EAAMuuI,SAASwZ,eAAeL,OAAQ1nJ,EAAA,CAjH1C,CAgLAA,EAAYxR,EAAA,IAGlCA,EAAM+/I,SAASwZ,eAAeF,eAAA,CAAgB,GAK9CjV,GAAmB7yI,GAASwmJ,aAAamC,gBAAkB,SAC7Dl6J,EACAwR,EACApP,GAAA,IAEIF,EAAY,SAASuP,GAAA,OAChBA,CAAA,KAELxN,MAAMC,QAAQlE,GAAQ,SACpB+D,EAAU,IACL62D,EAAI,EAAGA,EAAI56D,EAAMqC,OAAQu4D,IAAA,OACtB,IAANA,IACF72D,GAAW,MAAA0N,EAAAA,GAAAA,GAEEzR,EAAM46D,KAAA,IACd,cACA,aACA,SACH72D,GAAW/D,EAAM46D,GAAGvxD,WAAA,UAEjB,SAC2B,MAA1BrJ,EAAM46D,GAAGp3D,OAAO,EAAG,aACVgO,GAAyBpP,IAClCF,EAAYE,EAAM29I,SAAS0X,aAAajmJ,IAC1CzN,GAAW,IAAMmjF,GAAUhlF,EAAUlC,EAAM46D,GAAGvxD,aAAe,KAE7DtF,GAAW/D,EAAM46D,GAAGvxD,WAAA,OAK5BtF,EAAW,UAGP,IAAI/C,MACR,kEAoBA+rI,GAAc,SAASt7H,EAAQzR,EAAOwR,GAAA,IACpCpP,EAAY,SAASqP,GAAA,OAChBA,CAAA,kBAEEzR,GAAyBwR,IAClCpP,EAAYoP,EAAMuuI,SAAS0X,aAAaz3J,KAC1CyR,EAASA,GAAU,IACZpI,WACE,IAAM69E,GAAU9kF,EAAUqP,IAAW,KAY5C4yI,GAAoB,gBACjB8V,YAAA,EAAS,KACTC,YAAA,EAMLz2J,OAAOoM,eAAeoE,KAAM,QAAS,CACnCsH,IAAK,uBACQtH,KAAKgmJ,OAAwB,aAC3BhmJ,KAAKg4F,MAAA,YAGXguD,OAAShmJ,KAAKg4F,MAAM4zC,SAAS+J,mBAAA,QAE7B31I,KAAKgmJ,MAAA,EAEd95F,IAAK,SAAS5uD,GAAA,KACP0oJ,OAAS1oJ,CAAA,IAGlB9N,OAAOoM,eAAeoE,KAAM,QAAS,CACnCW,MAAOX,KAAKimJ,OACZ1/F,UAAA,GAAU,EAOd2pF,GAAkBzgJ,UAAUyF,SAAW,kBAC9B8K,KAAK81I,MAAQ,QAGtB5F,GAAkBzgJ,UAAUgnJ,UAAY,eAClCn5I,EAAe0C,KAAK6lJ,2BAAA,KACnB7tD,MAAM4zC,SAAS6K,UAAU,CAC5B3vI,KAAM9G,KAAK6qI,OACXiM,oBAAqBx5I,EACrBs5I,SAAU52I,KAAK81I,QAAA,KAEZ99C,MAAM4zC,SAAS7P,IAAI,WAS1BmU,GAAkBzgJ,UAAUo2J,yBAA2B,eACjDvoJ,EAAe,GACfzR,EAAO2D,OAAOqM,oBAAoBmE,MAAMjN,QAAO,SAASuK,GAAA,MAEjD,WAAPA,GACO,2BAAPA,GACO,SAAPA,GACO,SAAPA,GACuB,KAAvBA,EAAItF,UAAU,EAAG,UAIhB,IAAIqF,KAAKxR,EAAA,QACR2D,OAAOuM,yBAAyBiE,KAAMnU,EAAKwR,IAAIipD,aAAwB,KACrEr4D,EAAMpC,EAAKwR,GACXtP,EAAQiS,KAAK/R,GAEbF,IACE+B,MAAMC,QAAQhC,GAChBuP,EAAaxK,KAAK,CAChBxC,IAAKrC,EACL0S,MAAOsvI,GAAgBliJ,EAAOiS,KAAK81I,MAAO91I,KAAKg4F,SAExCjqG,aAAiBmiJ,IAG1BniJ,EAAMiqG,MAAQh4F,KAAKg4F,MACnB16F,EAAaxK,KAAK,CAAExC,IAAKrC,EAAK0S,MAAO5S,EAAM+nJ,MAAQ,UACzB,mBAAV/nJ,GAChBuP,EAAaxK,KAAK,CAAExC,IAAKrC,EAAK0S,MAAO5S,IAAA,QAKtCuP,CAAA,EAGT,IAAIs/I,GAAkB,WACpB1M,GAAkBxgJ,KAAKsQ,MAEvBxQ,OAAOoM,eAAeoE,KAAM,OAAQ,CAClCW,MAAO,WACP2lD,cAAA,EACAC,UAAA,IAGF/2D,OAAOoM,eAAeoE,KAAM,UAAW,CACrCW,MAAO,QACP2lD,cAAA,EACAC,UAAA,IAGF/2D,OAAOoM,eAAeoE,KAAM,WAAY,CACtCW,MAAO,EACP2lD,cAAA,EACAC,UAAA,IAAU,IAoBRjpD,EAjBAzR,EAAQ,GACZ2D,OAAOoM,eAAeoE,KAAM,OAAQ,CAClCsmD,cAAA,EACAh/C,IAAK,kBACIzb,CAAA,EAETqgE,IAAK,SAAS5uD,GACZzR,EAAQyR,CAAA,IAIZ9N,OAAOoM,eAAeoE,KAAM,YAAa,CACvCW,MAAO,QACP2lD,cAAA,EACAC,UAAA,IAIF/2D,OAAOoM,eAAeoE,KAAM,SAAU,CACpC2lD,YAAA,EACAW,cAAA,EACA4F,IAAK,SAASrgE,GACZyR,EAAUzR,EAAMwtC,MAAA,EAElB/xB,IAAK,kBACChK,GAGK,SAMforE,GAAQk0E,GAAiB1M,IAEzB,IAAIE,GAAqB,WACvBF,GAAkBxgJ,KAAKsQ,MAAA,IAwBnB1C,EAtBAzR,EAAQ,GAEZ2D,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACCzb,EAAMqC,OAAS,EACVrC,OAAA,KAMb2D,OAAOoM,eAAeoE,KAAM,SAAU,CACpC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIzb,CAAA,IAMX2D,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,cACEhK,EAAA,KAGDzR,EAAY,SAASyR,GAAA,OAChBA,CAAA,SAEL0C,KAAKg4F,QAAOnsG,EAAYmU,KAAKg4F,MAAM4zC,SAAS0X,aAAatjJ,KAAK81I,QAC3D,IAAM/iE,GAAUlnF,EAAUyR,IAAQ,MAE3C4uD,IAAK,SAASrgE,GACZyR,EAAMzR,CAAA,KAKZ68E,GAAQ0nE,GAAoBF,IAQ5B,IAAI/V,GAAgB,SAAhB78H,IACF4yI,GAAkBxgJ,KAAKsQ,MAAA,IAGnBnU,EAAK,EACT2D,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIzb,CAAA,EAETqgE,IAAK,SAAS5uD,GAAA,GACP8sD,MAAM9sD,GAAA,MAGH,IAAIzQ,MACR,kBAAoByQ,EAAQ,+BAH9BzR,EAAKyR,CAAA,IAiBX9N,OAAOoM,eAAeoE,KAAM,kBAAmB,CAC7C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAahxF,EAAI,KAElCqgE,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACLyS,EAAIg3D,GAAal7E,EAAI,QAErBkkB,EAAIE,GAAepkB,EAAI,UAK9BwR,EAAM,EACV7N,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIjK,CAAA,EAET6uD,IAAK,SAAS5uD,GAAA,GACP8sD,MAAM9sD,GAAA,MAGH,IAAIzQ,MACR,kBAAoByQ,EAAQ,gCAH9BD,EAAMC,CAAA,QASRrP,EAAQ,GACZuB,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,cACkB,IAAjBrZ,EAAMC,OAAA,OAGHD,CAAA,EAETi+D,IAAK,SAAS5uD,GAEVrP,OAAA,IADSqP,EACDA,EAEA,MAYd9N,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACErZ,GAASm8D,MAAMn8D,EAAM,IACjB,EAEFA,EAAM,IAEfi+D,IAAK,SAAS5uD,GACZrP,EAAM,GAAKqP,CAAA,IAWf9N,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACErZ,GAASm8D,MAAMn8D,EAAM,IACjB,EAEFA,EAAM,IAEfi+D,IAAK,SAAS5uD,GACZrP,EAAM,GAAKqP,CAAA,IAWf9N,OAAOoM,eAAeoE,KAAM,QAAS,CACnC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACErZ,GAASm8D,MAAMn8D,EAAM,IACjB,EAEFA,EAAM,IAEfi+D,IAAK,SAAS5uD,GACZrP,EAAM,GAAKqP,CAAA,IAWf9N,OAAOoM,eAAeoE,KAAM,SAAU,CACpC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACErZ,GAASm8D,MAAMn8D,EAAM,IACjB,EAEFA,EAAM,IAEfi+D,IAAK,SAAS5uD,GACZrP,EAAM,GAAKqP,CAAA,QAIXvP,EAAM,GACVyB,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIvZ,CAAA,EAETm+D,IAAK,SAAS5uD,GAAA,OACJA,GAAA,IACD,WACA,UACA,UACA,OACHvP,EAAMuP,EAAA,oBAGA,IAAIzQ,MACR,kBAAoByQ,EAAQ,wCAMlC1N,EAAK,KAETJ,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,eACE1X,GAAMA,EAAG1B,OAAS,EAAG,IAEpB8R,gBAAgBgxI,GAAA,OAGpBphJ,EAAK,cAAgB0N,EAAc+nJ,UAAA,KAEjCx5J,EAAY,SAASyR,GAAA,OAChBA,CAAA,SAEL0C,KAAKg4F,QAAOnsG,EAAYmU,KAAKg4F,MAAM4zC,SAAS0X,aAAatjJ,KAAK81I,QAC3D,IAAM/iE,GAAUlnF,EAAU+D,IAAO,KAE1Cs8D,IAAK,SAAS5uD,GACZ1N,EAAK0N,EAAMpI,UAAA,IAWf1F,OAAOoM,eAAeoE,KAAM,YAAa,CACvCsmD,cAAA,EACAX,YAAA,EACAr+C,IAAK,kBACI1X,CAAA,EAETs8D,IAAK,SAAS5uD,GACZ1N,EAAK0N,CAAA,QAILmpD,EAAY,YAQhBj3D,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIm/C,CAAA,EAETyF,IAAK,SAAS5uD,GACZmpD,EAAYnpD,CAAA,QAIZ8C,EAAa,SAQjB5Q,OAAOoM,eAAeoE,KAAM,YAAa,CACvC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIlH,CAAA,EAET8rD,IAAK,SAAS5uD,GACZ8C,EAAa9C,CAAA,QAIbV,EAAY,EAQhBpN,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI1K,CAAA,EAETsvD,IAAK,SAAS5uD,GACZV,EAAYU,CAAA,QAIZM,OAAA,EAQJpO,OAAOoM,eAAeoE,KAAM,cAAe,CACzC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,2BACC1J,EAGK,GAAKmsD,GAELnsD,CAAA,EAGXsuD,IAAK,SAAS5uD,GACZM,EAAeN,CAAA,QAIfN,EAAS,QAQbxN,OAAOoM,eAAeoE,KAAM,QAAS,CACnC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACItK,CAAA,EAETkvD,IAAK,SAAS5uD,GACZN,EAASM,CAAA,QAITL,EAAM,eAEVzN,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,iBAEArK,GACD+C,gBAAgBgxI,IAChBhxI,gBAAgBoxI,IAAA,OAIXxY,GAAY37H,EAAK+C,KAAK81I,MAAO91I,KAAKg4F,MAAA,EAE3C9rC,IAAK,SAAS5uD,GACZA,EAAQA,EAAMpI,WACd+H,EAAMK,CAAA,QAINR,EAAM,KACVtN,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,cACExK,EAAA,OAGDkD,gBAAgB2wI,IAAA,EACX/X,GAAY97H,EAAKkD,KAAK81I,MAAO91I,KAAKg4F,OAEpCl7F,CAAA,EAETovD,IAAK,SAAS5uD,GACZA,EAAQA,EAAMpI,WAGV4H,EAFAkD,gBAAgB2wI,IAAA,EACS,MAAvBrzI,EAAMjO,OAAO,EAAG,GACZ0kC,GAAYz2B,EAAMjO,OAAO,EAAGiO,EAAMpP,OAAS,IAE3C6lC,GAAYz2B,GAGdA,CAAA,IAYZ9N,OAAOoM,eAAeoE,KAAM,eAAgB,CAC1C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACCtH,gBAAgB2wI,IAAA,EACX58G,GAAYj3B,EAAIzN,OAAO,EAAGyN,EAAI5O,OAAS,IAEvC4O,CAAA,EAGXovD,IAAK,SAAS5uD,GACZA,EAAQA,EAAMpI,WAEZ4H,EADEkD,gBAAgB2wI,IAAA,EACZ,IAAMrzI,EAENA,CAAA,QAKRT,EAAK,KACTrN,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,cACEzK,EAAA,OAGEA,CAAA,EAETqvD,IAAK,SAAS5uD,GAAA,KACPw2B,EAAIx2B,CAAA,IAGb9N,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,cACEzK,EAAA,OAGDmD,gBAAgB2wI,IAAA,EACX/X,GAAY/7H,EAAImD,KAAK81I,MAAO91I,KAAKg4F,OAEnCn7F,CAAA,EAETqvD,IAAK,SAAS5uD,GACZA,EAAQA,EAAMpI,WAGV2H,EAFAmD,gBAAgB2wI,IAAA,EACS,MAAvBrzI,EAAMjO,OAAO,EAAG,GACb0kC,GAAYz2B,EAAMjO,OAAO,EAAGiO,EAAMpP,OAAS,IAE3C6lC,GAAYz2B,GAGdA,CAAA,IAYX9N,OAAOoM,eAAeoE,KAAM,QAAS,CACnC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACCtH,gBAAgB2wI,IAAA,EACX58G,GAAYl3B,EAAGxN,OAAO,EAAGwN,EAAG3O,OAAS,IAErC2O,CAAA,EAGXqvD,IAAK,SAAS5uD,GACZA,EAAQA,EAAMpI,WAEZ2H,EADEmD,gBAAgB2wI,IAAA,EACb,IAAMrzI,EAENA,CAAA,IAYX9N,OAAOoM,eAAeoE,KAAM,gBAAiB,CAC3C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACItH,KAAK0lJ,IAAA,IAIhBl2J,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACItH,KAAKwlJ,cAAgB,SAAW,QAI3Ch2J,OAAOoM,eAAeoE,KAAM,UAAW,CACrC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACItH,KAAKwlJ,cAAgB,UAAY,YA8BxCroJ,EA1BAJ,GAAA,EAQJvN,OAAOoM,eAAeoE,KAAM,sBAAuB,CACjD2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIvK,CAAA,EAETmvD,IAAK,SAAS5uD,GACZA,EAAQ2pD,QAAQ3pD,GAChBP,EAAuBO,CAAA,IAW3B9N,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,cACEnK,EAAA,OAGEA,CAAA,EAET+uD,IAAK,SAAS5uD,GACZH,EAAQG,CAAA,IAWZ9N,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,KAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,QAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,MAYxC35E,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,KAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,QAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,MAYxC35E,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,KAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,QAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,UAKpCjsE,EAAK,KACT1N,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,cACQ,OAAPpK,EAAA,OAGGA,CAAA,EAETgvD,IAAK,SAAS5uD,GAAA,IACsB,IAA9B,CAAC,EAAG,EAAG,GAAGzM,QAAQyM,GAAA,MAGd,IAAIzQ,MACR,kBAAoByQ,EAAQ,+BAH9BJ,EAAKI,CAAA,IAiBX9N,OAAOoM,eAAeoE,KAAM,YAAa,CACvCsH,IAAK,eACChK,EAAA,OACIJ,GAAA,KACD,UAEHI,EAAS,kBAEN,EACHA,EAAS,oBAEN,EACHA,EAAS,eAGNA,CAAA,EAETgpD,cAAA,EACAX,YAAA,EACAuG,IAAK,SAAS5uD,GAAA,OACJA,GAAA,IACD,aACA,EACHJ,EAAK,YAEF,cACA,EACHA,EAAK,QAGF,QAEHA,EAAK,OAMfwrE,GAAQyxD,GAAe+V,IAAA,IAMnBI,GAAsB,WACxBnW,GAAczqI,KAAKsQ,MAAAA,KAEdkmJ,GAAK,WAELpyH,EAAI,UAEJ2kH,SAAW,mBAEZn7I,EAAM,EAEV9N,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIhK,CAAA,EAET4uD,IAAK,SAASrgE,GACZyR,EAAMzR,CAAA,IAWV2D,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIhK,CAAA,EAET4uD,IAAK,SAASrgE,GACZyR,EAAMzR,CAAA,QAINA,EAAO,GACX2D,OAAOoM,eAAeoE,KAAM,MAAO,CACjC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2oI,GAAgBpkJ,EAAMmU,KAAK81I,MAAO91I,KAAKg4F,MAAA,EAEhD9rC,IAAK,SAAS5uD,GA97BU,IAASD,EAC/BpP,EAAAA,EAAS,GACQ,iBAFcoP,EA+7BFC,KA57B/BrP,EAZJ,SAAoBqP,EAAQzR,EAAOwR,GACjCA,IAAUA,EAAQ,WAEdpP,EADAF,EAAU,GAENE,EAAQpC,EAAM21D,KAAKlkD,IACzBvP,EAAQ+E,KAAK7E,EAAMoP,IAAA,OAEdtP,CAAA,CAPT,CAYwBsP,EAAO,eA47BzBxR,EA17BGoC,CAAA,SAq8BFk4J,WAAa,kBACTt6J,CAAA,OAUJu6J,WAAa,SAAS9oJ,GACzBzR,EAAOyR,EACH0C,KAAK46H,MACP/uI,EAAK+uI,MAAA,OAWJyrB,UAAY,SAAS/oJ,GAExBA,GADAA,EAAQA,GAAS,IACHpI,WACdrJ,EAAKiH,KAAKwK,GACN0C,KAAK46H,MACP/uI,EAAK+uI,MAAA,OAYJ0rB,aAAe,SAAShpJ,EAAOD,GAAA,IAClCA,EAAaA,IAAA,EAEbC,GADAA,EAAQA,GAAS,IACHpI,YAEkB,IAAzBrJ,EAAKgF,QAAQyM,KAClBzR,EAAKkO,OAAOlO,EAAKgF,QAAQyM,GAAQ,QAC7BD,KAAA,EAaR7N,OAAOoM,eAAeoE,KAAM,QAAS,CACnC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAYxC35E,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IAER0C,KAAKumJ,SAAA,IACHt/F,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,QAa1C35E,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,IAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,IAChCt9E,EAAK+uI,QAAA,KAEAzxD,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAYxC35E,OAAOoM,eAAeoE,KAAM,cAAe,CACzC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAYxC35E,OAAOoM,eAAeoE,KAAM,kBAAmB,CAC7C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAaxC35E,OAAOoM,eAAeoE,KAAM,oBAAqB,CAC/C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,YAKnC28E,qBAAA,CAAsB,EAE7Bp9E,GAAQ4nE,GAAqBnW,IAAA,IAOzBC,GAAkB,WACpBkW,GAAoB5gJ,KAAKsQ,MAAAA,KACpBy4I,SAAW,iBAGX8N,OAAA,CAAQ,EAEf79E,GAAQ0xD,GAAiBkW,IAAA,IAQrBE,GAAmB,WACrBpW,GAAgB1qI,KAAKsQ,MAAAA,KAChBumJ,OAAA,CAAQ,EAEf79E,GAAQ8nE,GAAkBpW,IAAA,IAStBsW,GAAkB,WACpBF,GAAiB9gJ,KAAKsQ,MAAAA,KACjBwmJ,MAAA,CAAO,EAEd99E,GAAQgoE,GAAiBF,IAAA,IAMrBG,GAAiB,WACnBxW,GAAczqI,KAAKsQ,MAAAA,KACdkmJ,GAAK,OAQV12J,OAAOoM,eAAeoE,KAAM,gBAAiB,CAC3C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,QAAS,CACnC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,aAAc,CACxC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,gBAAiB,CAC3C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,WAyDpCt9E,EApDAwR,EAAM,CAAC,EACX7N,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,eACChK,EAAY,SAASA,GAAA,OAChBA,CAAA,KAEL0C,KAAKg4F,QAAO16F,EAAY0C,KAAKg4F,MAAM4zC,SAAS0X,aAAatjJ,KAAK81I,QAClC,IAA5BtmJ,OAAOY,KAAKiN,GAAKnP,OAAc,KAG7BrC,EAFAoC,EAAS,OAGRpC,KAFLoC,EAAO6E,KAAK,MAEAuK,EACVpP,EAAO6E,KAAK,IAAMjH,EAAM,KAAOknF,GAAUz1E,EAAUD,EAAIxR,KAAS,YAElEoC,EAAO6E,KAAK,MACL7E,EAAOmB,KAAK,QAIvB88D,IAAK,SAASrgE,GACS,YAAjByR,EAAAA,GAAAA,GAAOzR,KACTwR,EAAMxR,EAAA,IAgBZ2D,OAAOoM,eAAeoE,KAAM,UAAW,CACrC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIjK,EAAIopJ,IAAM,IAEnBv6F,IAAK,SAAS5uD,GACS,iBAAVA,IACTD,EAAIopJ,GAAKnpJ,EAAA,IAMf9N,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIzb,CAAA,EAETqgE,IAAK,SAAS5uD,GACZzR,EAAMyR,CAAA,IAUV9N,OAAOoM,eAAeoE,KAAM,kBAAmB,CAC7C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIzb,EAAIwD,OAAO,EAAGxD,EAAIqC,OAAS,IAEpCg+D,IAAK,SAAS5uD,GACZzR,EAAM,IAAMyR,CAAA,KAIlBorE,GAAQioE,GAAgBxW,IAAA,IAOpByW,GAAqB,WACvBD,GAAejhJ,KAAKsQ,MAAAA,KACf0mJ,YAAA,CAAa,EAEpBh+E,GAAQkoE,GAAoBD,IAAA,IAOxBtX,GAAsB,WACxBsX,GAAejhJ,KAAKsQ,MAAAA,KACf2mJ,OAAA,EAAQ,KACRD,YAAA,EAAa,IAEdppJ,EAAQ,GACZ9N,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIhK,CAAA,EAET4uD,IAAK,SAASrgE,GAEVyR,OAAA,IADSzR,EACDA,EAEA,OAKhB68E,GAAQ2wD,GAAqBsX,IAS7B,IAAIK,GAAqB,eAGnBnlJ,EAYAwR,EAdJ88H,GAAczqI,KAAKsQ,MAGnBxQ,OAAOoM,eAAeoE,KAAM,SAAU,CACpC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIzb,CAAA,EAETqgE,IAAK,SAAS5uD,GACZzR,EAAUyR,CAAA,IAKd9N,OAAOoM,eAAeoE,KAAM,aAAc,CACxC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIjK,CAAA,EAET6uD,IAAK,SAAS5uD,GACZD,EAAcC,CAAA,QAqDdrP,EAjDAF,EAAM,CAAC,EACXyB,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,eACChK,EAAY,SAASA,GAAA,OAChBA,CAAA,EAEL0C,KAAKg4F,QAAO16F,EAAY0C,KAAKg4F,MAAM4zC,SAAS0X,aAAatjJ,KAAK81I,QAAA,IAG9DjqJ,EAFAwR,EAAS,OAGRxR,KAFLwR,EAAOvK,KAAK,MAEA/E,EACVsP,EAAOvK,KAAK,IAAMjH,EAAM,KAAOknF,GAAUz1E,EAAUvP,EAAIlC,KAAS,YAElEwR,EAAOvK,KAAK,MACLuK,EAAOjO,KAAK,OAErB88D,IAAK,SAASrgE,GACS,YAAjByR,EAAAA,GAAAA,GAAOzR,KACTkC,EAAMlC,EAAA,IAgBZ2D,OAAOoM,eAAeoE,KAAM,UAAW,CACrC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIvZ,EAAI04J,IAAM,IAEnBv6F,IAAK,SAAS5uD,GACS,iBAAVA,IACTvP,EAAI04J,GAAKnpJ,EAAA,IAMf9N,OAAOoM,eAAeoE,KAAM,KAAM,CAChC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIrZ,CAAA,EAETi+D,IAAK,SAAS5uD,GACZrP,EAAMqP,CAAA,IAUV9N,OAAOoM,eAAeoE,KAAM,kBAAmB,CAC7C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIrZ,EAAIoB,OAAO,EAAGpB,EAAIC,OAAS,IAEpCg+D,IAAK,SAAS5uD,GACZrP,EAAM,IAAMqP,CAAA,SAGXspJ,QAAU,SACVC,gBAAkB,WAGlBC,gBAAkBtV,GAAmBuV,YAAYC,OAAA,KAEjDvC,wBAA0BzkJ,KAAK8mJ,gBAAgBG,uBAClDjnJ,KAAKknJ,WAAA,EAGTx+E,GAAQsoE,GAAoB7W,IAE5Bd,GAAoB5pI,UAAU03J,cAAgB,SAAS7pJ,GAAA,KAC/C,2BAA4BA,MAAc,UAAWA,GAAA,MACnD,IAAIzQ,MACR,0EAGC,IAAIhB,KAASmU,KAAKylJ,KAAA,GACjBzlJ,KAAKylJ,KAAK9lJ,eAAe9T,GAAQ,KAC/BwR,EAAQ2C,KAAKylJ,KAAK55J,GACtBwR,EAAMonJ,wBAA0BnnJ,EAAW2pJ,uBACzC5pJ,EAAM6pJ,YAER7pJ,EAAMupJ,QAAUtpJ,EAAW8pJ,OAAA,GAKjC/tB,GAAoB5pI,UAAU43J,aAAe,SAAS/pJ,GAAA,IAEhDzR,EAAQ,IAAImlJ,GAAA,OAChBnlJ,EAAMy7J,OAAStnJ,KACfnU,EAAMq7J,WAAa5pJ,EAAA,KAEdmoJ,KAAK3yJ,KAAKjH,GAEf+lJ,GAASliJ,KAAKsQ,KAAKg4F,MAAOnsG,GAEnBA,CAAA,MAQLolJ,GAAmB,WACrBN,GAAejhJ,KAAKsQ,MAAAA,KAEfy4I,SAAW,oBACXmO,QAAU,SACVC,gBAAkB,UAClBlmJ,MAAQ,UACRwrB,UAAY,cACZs4H,wBAA0BjT,GAAmB+V,SAASN,wBAAA,EAE7Dv+E,GAAQuoE,GAAkBN,IAAA,IAMtBS,GAAoB,WACtBjX,GAAczqI,KAAKsQ,MAAAA,KACdkmJ,GAAK,MAQV12J,OAAOoM,eAAeoE,KAAM,YAAa,CACvC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,aAAc,CACxC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,kBAAmB,CAC7C2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,cAAe,CACzC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,OAWxC35E,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,WAKpC7rE,EAAU,KACd9N,OAAOoM,eAAeoE,KAAM,SAAU,CACpC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIhK,CAAA,EAET4uD,IAAK,SAASrgE,GACZyR,EAAUzR,CAAA,IAUd2D,OAAOoM,eAAeoE,KAAM,YAAa,CACvC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACIhK,CAAA,EAET4uD,IAAK,SAASrgE,GACRioG,OAAO0zD,UAAU37J,KACnByR,EAAUzR,EAAA,IAKhB2D,OAAOoM,eAAeoE,KAAM,sBAAuB,CACjD2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACItH,KAAK8zB,GAAK9zB,KAAK0kJ,EAAA,KAI5Bh8E,GAAQ0oE,GAAmBjX,IAAA,IAOvBkX,GAAwB,WAC1BD,GAAkB1hJ,KAAKsQ,MASvBxQ,OAAOoM,eAAeoE,KAAM,WAAY,CACtC2lD,YAAA,EACAW,cAAA,EACAh/C,IAAK,kBACI2/C,QAAQ41B,GAAa78E,KAAKmpE,GAAI,MAEvCjd,IAAK,SAAS5uD,IAAA,IACR2pD,QAAQ3pD,GAAA,KACL6rE,GAAKpC,GAAa/mE,KAAKmpE,GAAI,SAE3BA,GAAKl5D,GAAejQ,KAAKmpE,GAAI,YAInCxG,UAAA,CAAW,EAElB+F,GAAQ2oE,GAAuBD,IAAA,IAG3BI,GAAqB,CACvB+V,SAAU,CACRN,uBAAwB,iBACL,CACfn+E,EAAG,CACD2+E,GAAIjW,GAAmB+V,SAASG,WAElC39F,EAAG,CACD09F,GAAIjW,GAAmB+V,SAASI,YAChCC,IAAKpW,GAAmB+V,SAASM,aAAA,EAWvCF,YAAa,SAASrqJ,GAAA,IAChBzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAS,GACTpP,EAAUqP,EAAW06F,MAAM4zC,SAAS2S,QACtCjhJ,EAAWm7I,SACXn7I,EAAWixB,WACX2vB,GACEnwD,EAAeuP,EAAW06F,MAAM6zC,YAAYqK,kBAC9C54I,EAAWkc,OAET5pB,EAAUggJ,GAAWtyI,EAAYA,EAAWspJ,SAAA,OAChDvpJ,EAAOvK,KAAK,cACZuK,EAAOvK,KACL,OACEkd,GAAGwhI,GAAmB5F,SAAS4Q,SAASl/I,IACxC,IACA0S,GAAGwhI,GAAmB5F,SAASuX,UAAU7lJ,IACzC,OAEJD,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,OACZuK,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,YACZuK,EAAOvK,KACL,IAAM7E,EAAU,IAAM+hB,GAAGpgB,EAAQu7B,UAAY,OAASp9B,GAExDsP,EAAOvK,KAAK,MACZuK,EAAOvK,KAAKlD,EAAQzF,MACpBkT,EAAOvK,KAAK,MACZuK,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,OACZjH,EAAKg/I,OAASxtI,EAAOjO,KAAK,MACnBvD,CAAA,EAGT67J,UAAW,SAASpqJ,GAAA,IACdzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAUC,EAAW06F,MAAM4zC,SAAS2S,QACtCjhJ,EAAWm7I,SACXn7I,EAAWixB,WACX2vB,GACEjwD,EAAeqP,EAAW06F,MAAM6zC,YAAYqK,kBAC9C54I,EAAWkc,OAETzrB,EAAS,GACT6B,EAAS4hJ,GAAmB5F,SAASuX,UAAU7lJ,GAC/CmpD,EAAQ+qF,GAAmB5F,SAAS4Q,SAASl/I,GAC7C8C,EAAUwvI,GAAWtyI,EAAYA,EAAWspJ,SAAA,OAChD74J,EAAO+E,KAAK,OACZ/E,EAAO+E,KAAK,OAASkd,GAAGy2C,GAAS,IAAMz2C,GAAGpgB,GAAU,OACpD7B,EAAO+E,KAAK,KACZ/E,EAAO+E,KAAK,KACZ/E,EAAO+E,KAAK,YACZ/E,EAAO+E,KAAK,OAASkd,GAAGy2C,EAAQ,GAAK,IAAMz2C,GAAGpgB,EAAS,GAAK,OAC5D7B,EAAO+E,KAAK,KACZ/E,EAAO+E,KAAK,KACZ/E,EAAO+E,KAAK,OACZ/E,EAAO+E,KAAK,MACZ/E,EAAO+E,KACL,IAAMuK,EAAU,IAAM2S,GAAG5P,EAAQ+qB,UAAY,OAASl9B,GAExDF,EAAO+E,KAAKsN,EAAQjW,MACpB4D,EAAO+E,KAAK,MACZ/E,EAAO+E,KAAK,KACZjH,EAAKg/I,OAAS98I,EAAOqB,KAAK,MACnBvD,CAAA,EAQTg8J,YAAa,SAASvqJ,GAAA,IAChBzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAS,UACbA,EAAOvK,KAAK,cACZuK,EAAOvK,KACL,OACEkd,GAAGwhI,GAAmB5F,SAAS4Q,SAASl/I,IACxC,IACA0S,GAAGwhI,GAAmB5F,SAASuX,UAAU7lJ,IACzC,OAEJD,EAAOvK,KAAK,KACZjH,EAAKg/I,OAASxtI,EAAOjO,KAAK,MACnBvD,CAAA,GAIXk7J,YAAa,CACXC,OAAQ,CACNC,uBAAwB,SAAS3pJ,GAAA,IAC3BzR,EAA0B,CAC5Bk+D,EAAG,CACD69F,IAAKpW,GAAmBuV,YAAYC,OAAOa,aAE7C/+E,EAAG,CAAC,GAAD,OAELj9E,EAAwBi9E,EAAExrE,GACxBk0I,GAAmBuV,YAAYC,OAAOU,UACxC77J,EAAwBk+D,EAAEzsD,GACxBk0I,GAAmBuV,YAAYC,OAAOW,YACjC97J,CAAA,EAETu7J,MAAO,iBACE,KAGTM,UAAW,SAASpqJ,GAAA,IACdzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAS,GAETpP,EACFujJ,GAAmB5F,SAAS4Q,SAASl/I,IACrCk0I,GAAmB5F,SAASuX,UAAU7lJ,GAClCk0I,GAAmB5F,SAAS4Q,SAASl/I,GAAc,EACnDk0I,GAAmB5F,SAASuX,UAAU7lJ,GAAc,EAE1DrP,EAAY6lG,QAAoB,GAAZ7lG,GAAiBugJ,QAAQ,QACzCzgJ,EAAIyjJ,GAAmB5F,SAASkc,SAChCl4J,EAAkBkkG,QAAQ7lG,EAAYF,GAAGygJ,QAAQ,WAIrDnxI,EAAOvK,KAAK,KACZuK,EAAOvK,KACL,WACE6K,GAAG6zI,GAAmB5F,SAAS4Q,SAASl/I,GAAc,GACtD,IACAK,GAAG6zI,GAAmB5F,SAASuX,UAAU7lJ,GAAc,GACvD,OAEJD,EAAOvK,KAAK7E,EAAY,QACxBoP,EAAOvK,KACL7E,EACE,IACA2B,EACA,IACAA,EACA,IACA3B,EACA,MACAA,EACA,MAEJoP,EAAOvK,KACL,IACElD,EACA,IACA3B,EACA,KACAA,EACA,IACA2B,EACA,KACA3B,EACA,QAEJoP,EAAOvK,KACL,IACE7E,EACA,KACA2B,EACA,KACAA,EACA,KACA3B,EACA,OACAA,EACA,MAEJoP,EAAOvK,KACLlD,EACE,KACA3B,EACA,IACAA,EACA,KACA2B,EACA,IACA3B,EACA,QAEJoP,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,KACZjH,EAAKg/I,OAASxtI,EAAOjO,KAAK,MACnBvD,CAAA,EAET87J,YAAa,SAASrqJ,GAAA,IAChBzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAS,GACTpP,EACFujJ,GAAmB5F,SAAS4Q,SAASl/I,IACrCk0I,GAAmB5F,SAASuX,UAAU7lJ,GAClCk0I,GAAmB5F,SAAS4Q,SAASl/I,GAAc,EACnDk0I,GAAmB5F,SAASuX,UAAU7lJ,GAAc,EAE1DrP,EAAY6lG,QAAoB,GAAZ7lG,GAAiBugJ,QAAQ,QAGzCzgJ,EAAI+lG,QAAoB,EAAZ7lG,GAAeugJ,QAAQ,IACnC5+I,EAAKkkG,QAAQ/lG,EAAIyjJ,GAAmB5F,SAASkc,UAAUtZ,QAAQ,IAC/D/nF,EAAKqtC,QACN7lG,EAAYujJ,GAAmB5F,SAASkc,UAAUtZ,QAAQ,WAG7DnxI,EAAOvK,KAAK,cACZuK,EAAOvK,KAAK,KACZuK,EAAOvK,KACL,WACE6K,GAAG6zI,GAAmB5F,SAAS4Q,SAASl/I,GAAc,GACtD,IACAK,GAAG6zI,GAAmB5F,SAASuX,UAAU7lJ,GAAc,GACvD,OAEJD,EAAOvK,KAAK/E,EAAI,QAChBsP,EAAOvK,KAAK/E,EAAI,IAAM6B,EAAK,IAAMA,EAAK,IAAM7B,EAAI,MAAQA,EAAI,MAC5DsP,EAAOvK,KACL,IAAMlD,EAAK,IAAM7B,EAAI,KAAOA,EAAI,IAAM6B,EAAK,KAAO7B,EAAI,QAExDsP,EAAOvK,KACL,IAAM/E,EAAI,KAAO6B,EAAK,KAAOA,EAAK,KAAO7B,EAAI,OAASA,EAAI,MAE5DsP,EAAOvK,KAAKlD,EAAK,KAAO7B,EAAI,IAAMA,EAAI,KAAO6B,EAAK,IAAM7B,EAAI,QAC5DsP,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,OACZuK,EAAOvK,KAAK,KACZuK,EAAOvK,KACL,WACE6K,GAAG6zI,GAAmB5F,SAAS4Q,SAASl/I,GAAc,GACtD,IACAK,GAAG6zI,GAAmB5F,SAASuX,UAAU7lJ,GAAc,GACvD,OAEJD,EAAOvK,KAAK7E,EAAY,QACxBoP,EAAOvK,KAEH7E,EACA,IACAw4D,EACA,IACAA,EACA,IACAx4D,EACA,MACAA,EACA,MAEJoP,EAAOvK,KACL,IACE2zD,EACA,IACAx4D,EACA,KACAA,EACA,IACAw4D,EACA,KACAx4D,EACA,QAEJoP,EAAOvK,KACL,IACE7E,EACA,KACAw4D,EACA,KACAA,EACA,KACAx4D,EACA,OACAA,EACA,MAEJoP,EAAOvK,KACL2zD,EACE,KACAx4D,EACA,IACAA,EACA,KACAw4D,EACA,IACAx4D,EACA,QAEJoP,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,KACZjH,EAAKg/I,OAASxtI,EAAOjO,KAAK,MACnBvD,CAAA,EAETg8J,YAAa,SAASvqJ,GAAA,IAChBzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAS,GACTpP,EACFujJ,GAAmB5F,SAAS4Q,SAASl/I,IACrCk0I,GAAmB5F,SAASuX,UAAU7lJ,GAClCk0I,GAAmB5F,SAAS4Q,SAASl/I,GAAc,EACnDk0I,GAAmB5F,SAASuX,UAAU7lJ,GAAc,EAE1DrP,EAAY6lG,QAAoB,GAAZ7lG,GAAiBugJ,QAAQ,QAGzCzgJ,EAAI+lG,QAAoB,EAAZ7lG,GAAeugJ,QAAQ,IACnC5+I,EAAKkkG,QAAQ/lG,EAAIyjJ,GAAmB5F,SAASkc,UAAUtZ,QAAQ,WAEnEnxI,EAAOvK,KAAK,cACZuK,EAAOvK,KAAK,KACZuK,EAAOvK,KACL,WACE6K,GAAG6zI,GAAmB5F,SAAS4Q,SAASl/I,GAAc,GACtD,IACAK,GAAG6zI,GAAmB5F,SAASuX,UAAU7lJ,GAAc,GACvD,OAEJD,EAAOvK,KAAK/E,EAAI,QAChBsP,EAAOvK,KAAK/E,EAAI,IAAM6B,EAAK,IAAMA,EAAK,IAAM7B,EAAI,MAAQA,EAAI,MAC5DsP,EAAOvK,KACL,IAAMlD,EAAK,IAAM7B,EAAI,KAAOA,EAAI,IAAM6B,EAAK,KAAO7B,EAAI,QAExDsP,EAAOvK,KACL,IAAM/E,EAAI,KAAO6B,EAAK,KAAOA,EAAK,KAAO7B,EAAI,OAASA,EAAI,MAE5DsP,EAAOvK,KAAKlD,EAAK,KAAO7B,EAAI,IAAMA,EAAI,KAAO6B,EAAK,IAAM7B,EAAI,QAC5DsP,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,KACZjH,EAAKg/I,OAASxtI,EAAOjO,KAAK,MACnBvD,CAAA,GAIXk8J,MAAO,CAQLd,uBAAwB,SAAS3pJ,GAAA,IAC3BzR,EAA0B,CAC5Bk+D,EAAG,CACD69F,IAAKpW,GAAmBuV,YAAYgB,MAAMF,aAE5C/+E,EAAG,CAAC,GAAD,OAELj9E,EAAwBi9E,EAAExrE,GACxBk0I,GAAmBuV,YAAYgB,MAAML,UACvC77J,EAAwBk+D,EAAEzsD,GACxBk0I,GAAmBuV,YAAYgB,MAAMJ,YAChC97J,CAAA,EAETu7J,MAAO,iBACE,KAGTM,UAAW,SAASpqJ,GAAA,IACdzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAS,GACTpP,EAAQujJ,GAAmB5F,SAASoc,eAAe1qJ,GAAA,OACvDD,EAAOvK,KAAK,KACZuK,EAAOvK,KACL,OACEkd,GAAGwhI,GAAmB5F,SAAS4Q,SAASl/I,GAAc,GACtD,IACA0S,GAAGwhI,GAAmB5F,SAASuX,UAAU7lJ,GAAc,GACvD,OAEJD,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,KACZuK,EAAOvK,KAAKkd,GAAG/hB,EAAMitD,GAAGz9C,GAAK,IAAMuS,GAAG/hB,EAAMitD,GAAGx9C,GAAK,MACpDL,EAAOvK,KAAKkd,GAAG/hB,EAAMg6J,GAAGxqJ,GAAK,IAAMuS,GAAG/hB,EAAMg6J,GAAGvqJ,GAAK,MACpDL,EAAOvK,KAAKkd,GAAG/hB,EAAMi6J,GAAGzqJ,GAAK,IAAMuS,GAAG/hB,EAAMi6J,GAAGxqJ,GAAK,MACpDL,EAAOvK,KAAKkd,GAAG/hB,EAAMk6J,GAAG1qJ,GAAK,IAAMuS,GAAG/hB,EAAMk6J,GAAGzqJ,GAAK,MACpDL,EAAOvK,KAAK,KACZuK,EAAOvK,KAAK,KACZjH,EAAKg/I,OAASxtI,EAAOjO,KAAK,MACnBvD,CAAA,EAET87J,YAAa,SAASrqJ,GAAA,IAChBzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAQm0I,GAAmB5F,SAASoc,eAAe1qJ,GACnDrP,EAAS,UACbA,EAAO6E,KAAK,cACZ7E,EAAO6E,KACL,OACEkd,GAAGwhI,GAAmB5F,SAAS4Q,SAASl/I,IACxC,IACA0S,GAAGwhI,GAAmB5F,SAASuX,UAAU7lJ,IACzC,OAEJrP,EAAO6E,KAAK,KACZ7E,EAAO6E,KAAK,KACZ7E,EAAO6E,KACL,OACEkd,GAAGwhI,GAAmB5F,SAAS4Q,SAASl/I,GAAc,GACtD,IACA0S,GAAGwhI,GAAmB5F,SAASuX,UAAU7lJ,GAAc,GACvD,OAEJrP,EAAO6E,KAAK,KACZ7E,EAAO6E,KAAK,KACZ7E,EAAO6E,KAAKkd,GAAG3S,EAAM69C,GAAGz9C,GAAK,IAAMuS,GAAG3S,EAAM69C,GAAGx9C,GAAK,MACpDzP,EAAO6E,KAAKkd,GAAG3S,EAAM4qJ,GAAGxqJ,GAAK,IAAMuS,GAAG3S,EAAM4qJ,GAAGvqJ,GAAK,MACpDzP,EAAO6E,KAAKkd,GAAG3S,EAAM6qJ,GAAGzqJ,GAAK,IAAMuS,GAAG3S,EAAM6qJ,GAAGxqJ,GAAK,MACpDzP,EAAO6E,KAAKkd,GAAG3S,EAAM8qJ,GAAG1qJ,GAAK,IAAMuS,GAAG3S,EAAM8qJ,GAAGzqJ,GAAK,MACpDzP,EAAO6E,KAAK,KACZ7E,EAAO6E,KAAK,KACZjH,EAAKg/I,OAAS58I,EAAOmB,KAAK,MACnBvD,CAAA,EAETg8J,YAAa,SAASvqJ,GAAA,IAChBzR,EAAOioC,GAAkBx2B,GAC7BzR,EAAKmsG,MAAQ16F,EAAW06F,MAAA,IACpB36F,EAAS,UACbA,EAAOvK,KAAK,cACZuK,EAAOvK,KACL,OACEkd,GAAGwhI,GAAmB5F,SAAS4Q,SAASl/I,IACxC,IACA0S,GAAGwhI,GAAmB5F,SAASuX,UAAU7lJ,IACzC,OAEJD,EAAOvK,KAAK,KACZjH,EAAKg/I,OAASxtI,EAAOjO,KAAK,MACnBvD,CAAA,IAUb+5J,8BAA+B,SAAStoJ,GAAA,IAGlCzR,EAAUyR,EAAW06F,MAAM4zC,SAAS2S,QACtCjhJ,EAAWm7I,SACXn7I,EAAWixB,WACX2vB,GACE7gD,EAAeC,EAAW06F,MAAM6zC,YAAYqK,kBAC9C54I,EAAWkc,OAAA,MAGA,IAAM3tB,EAAU,IADdyR,EAAW6tB,SACoB,OAAS9tB,CAAA,GAK3Dm0I,GAAmB5F,SAAW,CAC5Bkc,SAAU,cAEVE,eAAgB,SAAS1qJ,GAAA,IACnBzR,EAAQ2lJ,GAAmB5F,SAAS4Q,SAASl/I,GAC7CD,EAASm0I,GAAmB5F,SAASuX,UAAU7lJ,GAC/CrP,EAAI+G,KAAKmE,IAAItN,EAAOwR,GAAA,MAEZ,CACV69C,GAAI,CAEFz9C,GAAI5R,EAAQoC,GAAK,EACjByP,GAAIL,EAASpP,GAAK,EAAIA,GAExBg6J,GAAI,CAEFxqJ,GAAI5R,EAAQoC,GAAK,EAAIA,EACrByP,GAAIL,EAASpP,GAAK,GAEpBk6J,GAAI,CAEF1qJ,GAAI5R,EAAQoC,GAAK,EACjByP,GAAIL,EAASpP,GAAK,GAEpBi6J,GAAI,CAEFzqJ,GAAI5R,EAAQoC,GAAK,EAAIA,EACrByP,GAAIL,EAASpP,GAAK,EAAIA,GAAA,GAO9BujJ,GAAmB5F,SAAS4Q,SAAW,SAAS3wJ,GAAA,IAC1CwR,EAAS,QACa,YAAtBC,EAAAA,GAAAA,GAAOzR,KACTwR,EAAS48E,GAAMpuF,EAAW65J,KAAK,KAE1BroJ,CAAA,EAETm0I,GAAmB5F,SAASuX,UAAY,SAASt3J,GAAA,IAC3CwR,EAAS,QACa,YAAtBC,EAAAA,GAAAA,GAAOzR,KACTwR,EAAS48E,GAAMpuF,EAAW65J,KAAK,KAE1BroJ,CAAA,EAcT,IAAIu0I,GAAYx0I,GAASgrJ,SAAW,SAAS9qJ,GAAA,GAC3C0yI,GAAmBhwI,KAAM1C,KAErBA,aAAuB68H,IAAA,MAGnB,IAAIttI,MAAM,8CAvlFN,IAAShB,EAAA,OAAAA,EAqlFXyR,GAplFK06F,MAAM4zC,SAASwZ,eAAeH,aAC3Cp5J,EAAWmsG,MAAM4zC,SAASwZ,eAAeH,YAAA,EACzCp5J,EAAWmsG,MAAM4zC,SAASwZ,eAAeJ,uBAAyB,MAEpEn5J,EAAWmsG,MAAM4zC,SAASwZ,eAAeJ,uBAAuBO,OAAOzyJ,KACrEjH,GAmlFFyR,EAAY06I,KAAO16I,EAAY06F,MAAM4zC,SAASqP,qBAAqBx3B,WAC5DzjH,IAAA,EAGT5C,GAASirJ,oBAAsB/X,GAC/BlzI,GAASkrJ,gBAAkBluB,GAC3Bh9H,GAASmrJ,iBAAmB/X,GAC5BpzI,GAASorJ,gBAAkB9X,GAC3BtzI,GAASqrJ,eAAiB9X,GAC1BvzI,GAASsrJ,mBAAqB9X,GAC9BxzI,GAASurJ,oBAAsBtvB,GAC/Bj8H,GAASwrJ,iBAAmB3X,GAC5B7zI,GAASyrJ,kBAAoBzX,GAC7Bh0I,GAAS0rJ,sBAAwBzX,GACjCj0I,GAAS2rJ,mBAAqBvX,GAE9Bp0I,GAAS4rJ,SAAW,CAClBC,YAAa3Y,GACb4Y,QAAS9uB,GACT+uB,SAAU3Y,GACV4Y,QAAS1Y,GACT2Y,OAAQ1Y,GACR2Y,WAAY1Y,GACZmW,YAAa1tB,GACbkuB,SAAUtW,GACVsY,UAAWnY,GACXoY,cAAenY,GACfoY,WAAYjY,IAGd1hI,GAAMk5I,SAAW,CACfC,YAAa3Y,GACb4Y,QAAS9uB,GACT+uB,SAAU3Y,GACV4Y,QAAS1Y,GACT2Y,OAAQ1Y,GACR2Y,WAAY1Y,GACZmW,YAAa1tB,GACbkuB,SAAUtW,GACVsY,UAAWnY,GACXoY,cAAenY,GACfoY,WAAYjY,IAGC1hI,GAAMk5I,SCzlGrB,SAAS/oG,GAAS3iD,GAAA,OACTA,EAAI6oB,QAAO,SAAS7oB,EAAQzR,EAAMwR,GAAA,OACvCC,EAAOzR,GAAQwR,EAERC,CAAA,GACN,CAAC,EAAD,ECgCL,SAAUzR,GAIRA,EAAS69J,aAAe,CAAC,EAAD,IAEpBrsJ,EAAU,UAOVpP,EAAuB,CACzB07J,IAAK,CAAC,CAAC,IAAM,GAAM,GAAM,KACzBC,KAAM,CACJ,CAAC,GAAM,GAAM,EAAM,KAClB,GAAM,GAAM,GAAM,IAErBC,KAAM,CACJ,CACE,IACA,IACA,IACA,gBACA,EAEA,GACA,GACA,GACA,GACA,IAGA,IACA,IACA,IACA,gBACA,EAEA,GACA,IACA,IACA,IACA,EACA,IAED,IAAM,IAAM,IAAM,MAClB,IAAM,IAAM,IAAM,MAErBC,SAAU,CAAC,CAAC,EAAM,EAAM,EAAM,GAAM,IAAM,GAAM,GAAM,KACtDC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,KAAM,CACJ,CACE,GACA,GACA,GACA,eACA,OACA,OACA,EAEA,GACA,GACA,GACA,KAGJC,IAAK,CACH,CAAC,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,MAiBPn8J,EAA+BlC,EAAS69J,aAAaS,4BAA8B,SACrF7sJ,EACAzR,GAAA,IAGIkC,EACA6B,EAEA62D,EACArmD,EACAxD,EAHAgB,EAASP,EAAA,GAMQ,UATrBxR,EAAiBA,GAAkBwR,SAAA,IAUhCC,EAAUwJ,MACTxJ,EAAUwJ,gBAAgBsjJ,mBAC1B,WAAY9sJ,GACZ,UAAWA,EAAA,MAEN,UAGLG,EAAkBH,GAAA,IACfV,KAAY3O,EAAA,IACfw4D,EAAiBx4D,EAAqB2O,GACjC7O,EAAI,EAAGA,EAAI04D,EAAev4D,OAAQH,GAAK,EAAG,KAC7CqS,GAAA,EACKxQ,EAAI,EAAGA,EAAI62D,EAAe14D,GAAGG,OAAQ0B,GAAK,EAAG,QAAH,IACzC62D,EAAe14D,GAAG6B,IAGlB62D,EAAe14D,GAAG6B,KAAO0N,EAAU1N,GAAI,CACzCwQ,GAAA,EAAgB,cAIhBA,EAAwB,CAC1BxC,EAAShB,EAAA,gBAMVA,KAAY3O,EAAA,IACfw4D,EAAiBx4D,EAAqB2O,GACjC7O,EAAI,EAAGA,EAAI04D,EAAev4D,OAAQH,GAAK,EAAG,KAC7CqS,GAAA,EACKxQ,EAAI,EAAGA,EAAI62D,EAAe14D,GAAGG,OAAQ0B,GAAK,EAAG,QAAH,IACzC62D,EAAe14D,GAAG6B,IAGlB62D,EAAe14D,GAAG6B,KAAO0N,EAAUwG,WAAWlU,GAAI,CACpDwQ,GAAA,EAAgB,cAIhBA,EAAwB,CAC1BxC,EAAShB,EAAA,cAObgB,IAAWP,GAAWxR,IAAmBwR,IAC3CO,EAAS/R,GAEJ+R,CAAA,EAILhO,EAAW,SAAX0N,EAAoBzR,GAAA,QAClBwR,EAAM2C,KAAK4rI,SAASt4H,MACpBrlB,EAAY+R,KAAK4rI,SAAS6K,UAG1B1oJ,GAAA,EAFaiS,KAAK4rI,SAAS4K,eAGW,IAAnCzoJ,EAAO8C,QAAQ,gBACpB9C,EAAOgM,OAAOhM,EAAO8C,QAAQ,eAAgB,GAG/ChF,EAAM+qJ,SAAW52I,KAAK4rI,SAAS4J,YAAA,IAE3B5lJ,EAAsB,MAC1BA,EAAoBkD,KAAK,CAAExC,IAAK,OAAQqQ,MAAO,aAC/C/Q,EAAoBkD,KAAK,CAAExC,IAAK,UAAWqQ,MAAO,WAClD/Q,EAAoBkD,KAAK,CAAExC,IAAK,QAASqQ,MAAO9U,EAAMsW,QACtDvS,EAAoBkD,KAAK,CAAExC,IAAK,SAAUqQ,MAAO9U,EAAMuW,SAEnDvW,EAAMw+J,aAAex6J,EAAay6J,QACpC16J,EAAoBkD,KAAK,CACvBxC,IAAK,aACLqQ,MACE,yBAEC9U,EAAM0+J,QAAQr8J,OAAS,EAAI,GAC5B,KACC,UAAWrC,QAAA,IAAgBA,EAAM2+J,MAC9B3+J,EAAM+qJ,SAAW,EACjB/qJ,EAAM+qJ,SAAW,GACrB,WAGJhnJ,EAAoBkD,KAAK,CACvBxC,IAAK,aACLqQ,MAAO,IAAM9U,EAAMw+J,aAEjBx+J,EAAMw+J,aAAex6J,EAAa46J,aACpC76J,EAAoBkD,KAAK,CAAExC,IAAK,SAAUqQ,MAAO,uBAGrD/Q,EAAoBkD,KAAK,CACvBxC,IAAK,mBACLqQ,MAAO9U,EAAM6+J,mBAGb,qBAAsB7+J,QAAA,IACfA,EAAM8+J,kBAEb/6J,EAAoBkD,KAAK,CACvBxC,IAAK,cACLqQ,MAAO,KAAO9U,EAAM8+J,iBAAmB,OAGvC,iBAAkB9+J,GAASiE,MAAMC,QAAQlE,EAAM++J,cAAe,SAC5DnkG,EAAe,GACjBrmD,EAAI,EACJxD,EAAM/Q,EAAM++J,aAAa18J,OACpBkS,EAAIxD,EAAKwD,IACdqmD,GACE56D,EAAM++J,aAAaxqJ,GAAK,IAAMvU,EAAM++J,aAAaxqJ,GAAK,IAE1DxQ,EAAoBkD,KAAK,CACvBxC,IAAK,OACLqQ,MAAO,IAAM8lD,EAAe,eAGrB56D,EAAM2+J,OACf56J,EAAoBkD,KAAK,CACvBxC,IAAK,QACLqQ,MAAO9U,EAAM+qJ,SAAW,EAAI,aAI5Bh5I,OAAA,IACK/R,EAAMkH,OAAyB,CAAC,IAAMlH,EAAMkH,aAAA,EAAU,GAE/D9E,EAAU,CACR6Y,KAAMjb,EAAMib,KACZgwI,oBAAqBlnJ,EACrB8mJ,sBAAuB94I,EACvBg5I,SAAU/qJ,EAAM+qJ,WAGlBv5I,EAAI,UAGA,UAAWxR,QAAA,IAAgBA,EAAM2+J,MAAuB,KACtDxtJ,EACF,cACAnR,EAAMg/J,UACN,gCACAh/J,EAAM6+J,iBACN,aACA7+J,EAAMsW,MACJlF,EAAQ,CACVkF,MAAOtW,EAAMsW,MACbC,OAAQvW,EAAMuW,OACdioJ,WAAY,aACZK,iBAAkB7+J,EAAM6+J,iBACxBC,iBAAkB3tJ,EAClB8J,KAAMjb,EAAM2+J,OAEV,WAAY3+J,IACdoR,EAAMlK,OAASlH,EAAMkH,QAEvBuK,EAAS5N,KAAKsQ,KAAM/C,EAAA,IAIlBpR,EAAMw+J,aAAex6J,EAAay6J,QAAS,KACzCxtJ,EAAQkD,KAAK4rI,SAAS4J,YAG1BvnJ,EAAU,CACR6Y,KAAMxF,EAA0B,IAAIkD,WAAW3Y,EAAM0+J,UACrD3T,SAAU95I,IAEZO,EAAI,YAGJopD,EAAuB,eACrBnpD,EAAS0C,KAAK4rI,SAASoX,YAAd8H,gBAAA,IACR,IAAIj/J,KAAKyR,EACZ1N,EAASF,KAAKsQ,KAAM1C,EAAOzR,GAAA,EAG3BuU,EAA0B,eAG1B9C,EAFEzR,EAASmU,KAAK4rI,SAASoX,YAAd8H,gBACXztJ,EAAM2C,KAAK4rI,SAASt4H,MAAA,IAEjB,IAAIrlB,KAAKpC,EAEZwR,EAAI,MADJC,EAAQzR,EAAOoC,IACEH,MAAOwP,EAAMs5I,SAAU,IAAK,MAS7Ch6I,EAAa,WACVoD,KAAK4rI,SAASoX,YAAd8H,kBAAA9qJ,KACE4rI,SAASoX,YAAd8H,gBAAkD,CAAC,EAAD,KAC7Clf,SAAS8W,OAAO7tE,UAAU,eAAgBpuB,GAAA,KAC1CmlF,SAAS8W,OAAO7tE,UAAU,iBAAkBz0E,GAAA,EAIjDpD,EAAY,eACVM,EAAS0C,KAAK4rI,SAASoX,YAAd8H,gBAAA,OACbluJ,EAAWlN,KAAKsQ,MACT1C,CAAA,EAELL,EAAgB,kBACXzN,OAAOY,KAAK4P,KAAK4rI,SAASoX,YAAd8H,iBAAiD58J,MAAA,EAelE4O,EAAuB,SAASQ,GAAA,MACyB,mBAA7CzR,EAAS,UAAYyR,EAAK+b,cAAA,EAGtCxc,EAAe,SAAShR,GAAA,MACD,YAAlByR,EAAAA,GAAAA,GAAOzR,IAA2C,IAApBA,EAAOqzC,QAAA,EAG1C/hC,EAA0B,SAASG,EAASD,GAAA,GAErB,QAArBC,EAAQ0mC,UAAsB1mC,EAAQ+oC,aAAa,OAAQ,KACzDp4C,EAAM,GAAKqP,EAAQzE,aAAa,UAGD,IAA/B5K,EAAI4C,QAAQ,sBACP+M,GACLoyG,SAAS/hH,GACNQ,MAAM,WACNN,OAAA,IAKHJ,EAAelC,EAASk/J,SAAS98J,GAAA,GAAK,YACtCF,EAAA,OACKA,CAAA,IAIc,WAArBuP,EAAQ0mC,SAAuB,IACX,IAAlB1mC,EAAQ6E,OAAkC,IAAnB7E,EAAQ8E,OAAA,MAC3B,IAAIvV,MACR,8CACEyQ,EAAQ6E,MACR,aACA7E,EAAQ8E,QAAA,IAGVxS,EAAA,OACIyN,GAAA,IACD,MACHzN,EAAW,sBAER,OACHA,EAAW,mBAGR,QAEHA,EAAW,oBAGRgO,GACLN,EACG25B,UAAUrnC,EAAU,GACpBnB,MAAM,WACNN,MAAA,GAKL4O,EAAsB,SAASO,GAAA,IAC7BzR,EAASmU,KAAK4rI,SAASoX,YAAd8H,gBAAA,GACTj/J,EAAA,IACG,IAAIwR,KAAKxR,EAAA,GACRyR,IAAUzR,EAAOwR,GAAG2tJ,MAAA,OACfn/J,EAAOwR,EAAA,EAMlBH,EAA0B,SAASI,EAAOzR,EAAQwR,GAAA,OAC/CC,GAAUzR,IACbyR,GAAS,GACTzR,GAAU,IAERyR,EAAQ,IACVA,GAAU,EAAID,EAAM8E,MAAQ,GAAM7E,EAAQ0C,KAAK4rI,SAAS6P,aAEtD5vJ,EAAS,IACXA,GAAW,EAAIwR,EAAM+E,OAAS,GAAMvW,EAASmU,KAAK4rI,SAAS6P,aAE/C,IAAVn+I,IACFA,EAASzR,EAASwR,EAAM8E,MAAS9E,EAAM+E,QAE1B,IAAXvW,IACFA,EAAUyR,EAAQD,EAAM+E,OAAU/E,EAAM8E,OAGnC,CAAC7E,EAAOzR,EAAA,EAGb0R,EAAkB,SAASD,EAAGzR,EAAGwR,EAAOpP,EAAQF,EAAO6B,GAAA,IACrD62D,EAAOvpD,EAAwBxN,KAAKsQ,KAAM3C,EAAOpP,EAAQF,GAC3DqS,EAAQJ,KAAK4rI,SAASmX,oBACtBnmJ,EAASoD,KAAK4rI,SAAS6T,4BAErB7hJ,EAASZ,EAAUtN,KAAKsQ,MAAA,GAE5B3C,EAAQopD,EAAK,GACbx4D,EAASw4D,EAAK,GACd7oD,EAAO7P,EAAMD,OAASC,EAElB6B,EAAU,CACZA,GAAYoF,KAAK2jB,GAAK,QAClB1b,EAAIjI,KAAKywB,IAAI71B,GACbkN,EAAI9H,KAAKwwB,IAAI51B,GAEbiN,EAAK,SAASS,GAAA,OACTA,EAAOkxI,QAAQ,IAEpBrxI,EAA+B,CACjCN,EAAGI,GACHJ,EAAGC,GACHD,GAAQ,EAALC,GACHD,EAAGI,GACH,EACA,EACA,WAGC2uI,SAASt4H,MAAM,KAChB1jB,GAAA,KACGg8I,SAASt4H,MACZ,CAAC,EAAG,IAAK,IAAK,EAAGlT,EAAM9C,GAAIV,EAAO/Q,EAAIoC,GAAS,MAAMmB,KAAK,WAEvDw8I,SAASt4H,MAAMnW,EAA6B/N,KAAK,WACjDw8I,SAASt4H,MACZ,CAAClT,EAAM/C,GAAQ,IAAK,IAAK+C,EAAMnS,GAAS,IAAK,IAAK,MAAMmB,KAAK,YAG1Dw8I,SAASt4H,MACZ,CACElT,EAAM/C,GACN,IACA,IACA+C,EAAMnS,GACNmS,EAAM9C,GACNV,EAAO/Q,EAAIoC,GACX,MACAmB,KAAK,MAIP4Q,KAAKsuI,iBAAA,KAEF1C,SAASt4H,MAAM,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,MAAMlkB,KAAK,WAGhDw8I,SAASt4H,MAAM,KAAOvlB,EAAMD,MAAQ,YACpC89I,SAASt4H,MAAM,MAMlBzjB,EAAgBhE,EAASo/J,aAAe,CAC1CC,WAAY,YACZC,YAAa,aACbV,YAAa,aACbW,SAAU,UACVC,QAAS,SACTC,IAAK,MACLC,UAAW,WACXjB,QAAS,UACTkB,QAAS,UACTC,WAAY,aACZC,SAAU,WAMZ7/J,EAASymC,OAAS,CAChBq5H,WAAY,YACZC,aAAc,cACdC,WAAY,YACZC,WAAY,YACZC,aAAc,cACdC,eAAgB,gBAChBC,iBAAkB,iBAClBC,kBAAmB,kBACnBC,iBAAkB,sBAMhBzuJ,EAAqB7R,EAASugK,kBAAoB,CACpDC,KAAM,OACNC,KAAM,OACNC,OAAQ,SACRC,KAAM,QASJhvJ,EAAa3R,EAAS69J,aAAa+C,UAAY,SAASnvJ,GAAA,IAExDzR,EACAwR,EAFEpP,EAAO,KAIS,iBAATqP,EAAA,IACTD,EAAMC,EAAKpP,OACNrC,EAAI,EAAGA,EAAIwR,EAAKxR,IACnBoC,GAAQA,GAAQ,GAAKA,EAAOqP,EAAKwG,WAAWjY,GAC5CoC,GAAQ,OAEL,GAAIwP,EAAkBH,GAAA,IAC3BD,EAAMC,EAAKovJ,WAAa,EACnB7gK,EAAI,EAAGA,EAAIwR,EAAKxR,IACnBoC,GAAQA,GAAQ,GAAKA,EAAOqP,EAAKzR,GACjCoC,GAAQ,SAGLA,CAAA,EAaL66E,EAA0Bj9E,EAAS69J,aAAaiD,uBAAyB,SAC3ErvJ,IAEAA,EAAuBA,GAAwB,IAC1BpI,WAAWmkC,OAAA,IAE5BxtC,GAAA,EAAS,OAEuB,IAAhCyR,EAAqBpP,SACvBrC,GAAA,GAGEyR,EAAqBpP,OAAS,GAAM,IACtCrC,GAAA,IAAS,IAIT,mBAAmBoB,KACjBqQ,EAAqBjO,OAAO,EAAGiO,EAAqBpP,OAAS,MAG/DrC,GAAA,IAAS,IAIT,gDAAgDoB,KAC9CqQ,EAAqBjO,QAAQ,MAG/BxD,GAAA,GAEKA,CAAA,EAeLgoC,EAA2BhoC,EAAS69J,aAAakD,wBAA0B,SAC7EtvJ,GAAA,IAGIzR,GADJyR,EAAUA,GAAW,IACM7O,MAAM,WAC7B4O,EAAS,QAEe,IAAxBxR,EAAaqC,OAAc,KACzBD,EAAgB,sDAAsDuzD,KACxE31D,EAAa,IAEXiE,MAAMC,QAAQ9B,KAChBoP,EAAS,CACPwvJ,SAAU5+J,EAAc,GACxBwnG,QAASxnG,EAAc,GACvB6Y,KAAMjb,EAAa,YAIlBwR,CAAA,EAULS,EAAuBjS,EAAS69J,aAAaoD,oBAAsB,iBAE5C,oBAAhBxnJ,aAAqD,oBAAfd,UAAA,EAajD3Y,EAAS69J,aAAa9pD,cAAgB,SAAStiG,GAAA,OACtCQ,KAAyBR,aAAkBgI,WAAA,MAWhD7H,EAAqB5R,EAAS69J,aAAa3nD,kBAAoB,SACjEzkG,GAAA,OAGEQ,KACuB,oBAAhB0I,cACNlJ,aAAkByvJ,WACjBzvJ,aAAkBkH,YACY,oBAAtB4lJ,mBACN9sJ,aAAkB8sJ,mBACpB9sJ,aAAkB0vJ,YAClB1vJ,aAAkBgJ,aAClBhJ,aAAkB2vJ,YAClB3vJ,aAAkBkJ,aAClBlJ,aAAkB4vJ,cAClB5vJ,aAAkB6vJ,aAAA,EAapBn6E,EAA4BnnF,EAAS69J,aAAa0D,yBAA2B,SAC/E9vJ,GAAA,QAEIzR,EAAMyR,EAAcpP,OACpBmP,EAAQ,IAAImH,WAAW3Y,GAClBoC,EAAI,EAAGA,EAAIpC,EAAKoC,IACvBoP,EAAMpP,GAAKqP,EAAcwG,WAAW7V,GAAA,OAE/BoP,CAAA,EAaLiE,EAA6BzV,EAAS69J,aAAa2D,0BAA4B,SACjF/vJ,GAAA,QAEIzR,EAAM,GAGNwR,EAAMI,EAAkBH,GAAUA,EAAS,IAAIkH,WAAWlH,GACrDrP,EAAI,EAAGA,EAAIoP,EAAInP,OAAQD,GAzsBV,KA6sBpBpC,GAAOiU,OAAOuE,aAAazR,MACzB,KACAyK,EAAIm7H,SAASvqI,EAAGA,EA/sBE,cAktBfpC,CAAA,EA8BTA,EAASw8B,SAAW,eACdx8B,EAAWoC,EAAQF,EAAG6B,EAAG62D,EAAGrmD,EAAGxC,EAAOZ,EAAaC,EAAA,GAG3B,iBAAjBpK,UAAU,IACnB5E,EAASoP,EACTtP,EAAI8E,UAAU,GACdjD,EAAIiD,UAAU,GACd4zD,EAAI5zD,UAAU,GACduN,EAAIvN,UAAU,GACd+K,EAAQ/K,UAAU,GAClBmK,EAAcnK,UAAU,GACxBoK,EAAWpK,UAAU,KAErB5E,EAAS4E,UAAU,GACnB9E,EAAI8E,UAAU,GACdjD,EAAIiD,UAAU,GACd4zD,EAAI5zD,UAAU,GACduN,EAAIvN,UAAU,GACd+K,EAAQ/K,UAAU,GAClBmK,EAAcnK,UAAU,GACxBoK,EAAWpK,UAAU,IAIA,YAArByK,EAAAA,GAAAA,GAtBFzR,EAAYgH,UAAU,MAuBnBgK,EAAahR,IACd,cAAeA,EACf,KACIiR,EAAUjR,EAEdA,EAAYiR,EAAQwwJ,UACpBr/J,EAAS6O,EAAQ/Q,QAAUkC,GAAUoP,EACrCtP,EAAI+O,EAAQW,GAAK1P,GAAK,EACtB6B,EAAIkN,EAAQY,GAAK9N,GAAK,EACtB62D,EAAI3pD,EAAQU,GAAKV,EAAQqF,OAASskD,EAClCrmD,EAAItD,EAAQE,GAAKF,EAAQsF,QAAUhC,EACnCxC,EAAQd,EAAQkuJ,OAASptJ,EACzBZ,EAAcF,EAAQywJ,aAAevwJ,EACrCC,EAAWH,EAAQ0wJ,UAAY1wJ,EAAQ0b,OAASvb,CAAA,KAI9CE,EAAS6C,KAAK4rI,SAAS4K,aAAA,YACvBx5I,IAAgE,IAAnCG,EAAOtM,QAAQ,iBAC9CmM,EAAc,QAGZotD,MAAMr8D,IAAMq8D,MAAMx6D,GAAA,MACd,IAAI/C,MAAM,gDAGlB+P,EAAWlN,KAAKsQ,MAAA,IAEZjD,EAAQyD,EAAiB9Q,KAC3BsQ,KACAnU,EACAoC,EACA2P,EACAZ,GAAA,OAGFO,EAAgB7N,KAAKsQ,KAAMjS,EAAG6B,EAAG62D,EAAGrmD,EAAGrD,EAAOE,GAEvC+C,IAAA,MAGLQ,EAAmB,SAASlD,EAAWrP,EAAQ2B,EAAO62D,GAAA,IACpDrmD,EAAQxD,EA/fYgB,EAAA,GAkgBD,iBAAdN,GACPvP,EAA4BuP,KAAeD,EAC3C,CACAC,EAAY0yG,SAAS1yG,GAAA,IACjBN,EAAehP,EAA4BsP,GAAA,IAE1B,KAAjBN,QAAA,KAGFA,EAAenR,EAASk/J,SAASztJ,GAAA,OAFjCA,EAAYN,EAAA,IASZH,EAAaS,KACfA,EAAYH,EAAwBG,EAAWrP,IAGjDA,EAASF,EAA4BuP,EAAWrP,IAC3C6O,EAAqB7O,GAAA,MAClB,IAAIpB,MACR,4CACEoB,EACA,uCACAA,EACA,2BA5hBC,OADiB2P,EAmiBThO,IAliB2D,IAAjBgO,EAAM1P,UAmiB7D0B,EAjiB6B,SAAS0N,GAAA,MACf,iBAAdA,GAA0BG,EAAkBH,GAC9CE,EAAUF,GACRG,EAAkBH,EAAUwJ,MAC9BtJ,EAAUF,EAAUwJ,MAGtB,KAPwB,CAiiBMxJ,KAErC8C,EAASrD,EAAoBrN,KAAKsQ,KAAMpQ,MAGlCkO,MAEIR,aAAqBkH,YAA0B,SAAXvW,IACxC2O,EAAqBU,EACrBA,EAAY01E,EAAyB11E,KAIzC8C,EAASJ,KAAK,UAAY/R,EAAOorB,eAC/B/b,EACAL,EAAcvN,KAAKsQ,MACnBpQ,EAzkBmB,SAAS0N,GAAA,OAC5BA,GAA0B,iBAAVA,IAAoBA,EAAQA,EAAM+b,eAC/C/b,KAASzR,EAASugK,kBAAoB9uJ,EAAQI,EAAkB2uJ,IAAA,CAFhD,CA0kBA5lG,GACnB7pD,KAICwD,EAAA,MACG,IAAIvT,MAAM,iEAEXuT,CAAA,EASLpS,EAA+BnC,EAAS69J,aAAa+D,4BAA8B,SACrFnwJ,EACAzR,GAAA,IAGIwR,EADJxR,EAAmC,kBAAfA,GAA2BA,EAAA,IAG3CoC,EADAF,EAAY,MAGU,iBAAfuP,EAAyB,CAElCrP,EAAyB,QADzBoP,EAAaw2B,EAAwBv2B,IACLD,EAAWyJ,KAAOxJ,EAAA,IAGhDvP,EAAY6P,GAAK3P,EAAA,CACjB,MAAOqP,GAAA,GACHzR,EAAA,MACGi9E,EAAuB76E,GAKpB,IAAIpB,MACR,mDAAqDyQ,EAAEhT,SALnD,IAAIuC,MACR,yFAUHkB,CAAA,EASTlC,EAAS6hK,mBAAqB,SAASpwJ,GAAA,IACjCrP,EAEA2B,EADA62D,EAAe,MAGf5pD,EAAaS,KACfA,EAAYH,EAAwBG,IAIf,iBAAdA,GACPvP,EAA4BuP,KAAeD,IAItB,MAFrBopD,EAAez4D,EAA4BsP,GAAA,MAGzCmpD,EAAe56D,EAASk/J,SAASztJ,IAAc,IAEjDA,EAAYmpD,GAGd72D,EAAS7B,EAA4BuP,IAChCR,EAAqBlN,GAAA,MAClB,IAAI/C,MACR,4CACE+C,EACA,uCACAA,EACA,2BAIFkO,KAA2BR,aAAqBkH,aAClDlH,EAAY01E,EAAyB11E,MAGvCrP,EAAQ+R,KAAK,UAAYpQ,EAAOypB,eAAe/b,IAAA,MAGvC,IAAIzQ,MAAM,gEAGlBoB,EAAM0/J,SAAW/9J,EAEV3B,CAAA,EAx9BX,CA09BG6hB,GAAMinI,KCt8BT,SAAUz5I,GAAA,IAGJzR,EAAW,SAASyR,GAAA,YACXA,GACE,IAAPA,EAAA,QACK,EAKbwS,GAAMinI,IAAI2L,OAAO5vJ,KAAK,CACpB,UACA,SAASwK,GACQ0C,KAAK4rI,SAASmP,YAAYz9I,EAAYmmH,YAC5Cs0B,YAAYoN,YAAc,MAIvC7nJ,EAASolJ,OAAO5vJ,KAAK,CACnB,UACA,SAASwK,GAAA,QAOHD,EAAMpP,EAAMF,EANZ6B,EAAgCoQ,KAAK4rI,SAASmX,oBAC9Ct8F,EAA8BzmD,KAAK4rI,SACpC6T,4BACCr/I,EAAWJ,KAAK4rI,SAASoP,mBAAmB19I,EAAYw4I,OACxDl5I,EAAYU,EAAYy6I,YAAYoN,YAGpCvnJ,GAAA,EACKZ,EAAI,EAAGA,EAAIJ,EAAU1O,SAAW0P,EAAOZ,IAAA,QAC9CK,EAAOT,EAAUI,IACJnC,MAAA,IACN,QAEDhP,EAASwR,EAAKjT,QAAQ0N,MACtBjM,EAASwR,EAAKjT,QAAQq5H,eAEtB7lH,GAAA,GAAQ,UAGP,gBACA,WACA,WACHA,GAAA,EAAQ,GAID,GAATA,EAAA,MAICguI,SAASt4H,MAAM,iBACf,IAAIrW,EAAI,EAAGA,EAAIL,EAAU1O,OAAQ+O,IAAK,CACzCI,EAAOT,EAAUK,GAAA,IACbH,EAASkD,KAAK4rI,SAASgN,UACvB/7I,EAAYmD,KAAK4rI,SAAS0X,aAAahmJ,EAAYw4I,OAAA,OAE/Cz4I,EAAKxC,MAAA,IACN,iBAEE+wI,SAASt4H,MAAM,IAAMjW,EAAKinD,OAAOwxF,MAAQ,mBAE3C,WAEC34I,EAAU6C,KAAK4rI,SAASiK,sBACxB94I,EAAWiD,KAAK4rI,SAASiK,sBACzB34I,EAAgB8C,KAAK4rI,SAAS0X,aAAanmJ,EAAQ24I,OAEnDv4I,EAAQF,EAAKihG,OAAS,OAY1BvwG,EACE,kCAZFE,EACE,UACA2B,EAA8ByN,EAAK60B,OAAOz0B,GAC1C,IACAgpD,EAA4BppD,EAAK60B,OAAOx0B,EAAIL,EAAK60B,OAAOl1B,GACxD,IACApN,EAA8ByN,EAAK60B,OAAOz0B,EAAIJ,EAAK60B,OAAO10B,GAC1D,IACAipD,EAA4BppD,EAAK60B,OAAOx0B,GACxC,MAOA,cACAZ,EAAOI,EAAcG,EAAKuwJ,WAC1B,IACF7/J,GAAQ,WAAagP,EAAS+4I,MAAQ,OACtC/nJ,GAAQ,OAASqS,EAAS01I,MAAQ,OAClC/nJ,GAAQ,QAAU+O,EAAOI,EAAcK,IAAU,OACjDJ,EAAQsxB,QAAU1gC,EAAA,IAEd8B,EAASsN,EAAQ24I,MAAQ,OAc7B/nJ,EACE,mCAbFE,EACE,UACA2B,EAA8ByN,EAAK60B,OAAOz0B,EAH/B,IAIX,IACAgpD,EAA4BppD,EAAK60B,OAAOx0B,EAAIL,EAAK60B,OAAOl1B,GACxD,IACApN,EACEyN,EAAK60B,OAAOz0B,EAAIJ,EAAK60B,OAAO10B,EARnB,IAUX,IACAipD,EAA4BppD,EAAK60B,OAAOx0B,GACxC,MAMA,YACA7N,EACEwN,EAAKiyB,OACPvhC,GAAQ,eAEVA,GAAQ,MACRgP,EAAS0xB,QAAU1gC,EAAA,KAEd69I,SAASt4H,MAAMnW,EAAQ24I,MAAO,MAAO/4I,EAAS+4I,MAAO,iBAGvD,WACH7nJ,EACE,UACA2B,EAA8ByN,EAAK60B,OAAOz0B,GAC1C,IACAgpD,EAA4BppD,EAAK60B,OAAOx0B,GACxC,IACA9N,EAA8ByN,EAAK60B,OAAOz0B,EAAIJ,EAAK60B,OAAO10B,GAC1D,IACAipD,EAA4BppD,EAAK60B,OAAOx0B,EAAIL,EAAK60B,OAAOl1B,GACxD,SACEU,EAAQL,EAAKmc,OAAS,UAC1BzrB,EACE,qCAGAE,EACA,cACA6O,EAAOD,EAAUQ,EAAKuwJ,WACtB,IACF7/J,GACE,mEACA2P,EACA,IACF3P,GAAQ,mBACRA,GAAQ,WACH69I,SAASt4H,MAAMvlB,GAAA,UAEjB,UACCsP,EAAKjT,QAAQ2Q,KAAM,KACjByC,EAAMwC,KAAKmlJ,YAAY0I,SAASxwJ,EAAKjT,QAAQ2Q,MACjDsC,EAAKjT,QAAQq5H,WAAajmH,EAAIw6I,KAC9B36I,EAAKjT,QAAQiB,IAAMmS,EAAIE,CAAA,MAElBL,EAAKjT,QAAQiB,MAChBgS,EAAKjT,QAAQiB,IAAM,MAIvB4C,EACE,UACAoP,EAAKywJ,YAAYrwJ,EACjB,IACAJ,EAAKywJ,YAAYpwJ,EACjB,IACAL,EAAKywJ,YAAYtwJ,EACjB,IACAH,EAAKywJ,YAAY9wJ,EACjB,KAEFjP,EAAO,GACHsP,EAAKjT,QAAQ0N,IACf/J,EACE,iCACAE,EACA,sCACA6O,EAAOD,EAAUQ,EAAKjT,QAAQ0N,MAC9B,YACG,GAAIuF,EAAKjT,QAAQq5H,WAAY,OAGlC11H,EACE,iCACAE,EACA,0BAJS+R,KAAK4rI,SAASmP,YAAY19I,EAAKjT,QAAQq5H,YAK3CqyB,MACL,OACFz4I,EAAKjT,QAAQ2jK,UAAY1wJ,EAAKjT,QAAQ2jK,WAAa,MAC3C1wJ,EAAKjT,QAAQ2jK,WAAA,IACd,MACHhgK,GAAQ,mBAEL,OACHA,GAAQ,UAAYsP,EAAKjT,QAAQiB,IAAM,cAEpC,OACHgS,EAAKjT,QAAQ8X,KAAO7E,EAAKjT,QAAQ8X,MAAQ,EACzCnU,GAAQ,UAAYsP,EAAKjT,QAAQ8X,KAAO,UAErC,YAEC4mE,EAAMriB,EAA4BppD,EAAKjT,QAAQiB,KACnDgS,EAAKjT,QAAQ8X,KAAO7E,EAAKjT,QAAQ8X,MAAQ,WAE9B7E,EAAKjT,QAAQ+mE,OACtB9zD,EAAKjT,QAAQ+mE,KAAO,GAEtBpjE,GACE,SACAsP,EAAKjT,QAAQ8X,KACb,IACA4mE,EACA,IACAzrE,EAAKjT,QAAQ+mE,KACb,IAKI,IAARpjE,IACFA,GAAQ,WACH69I,SAASt4H,MAAMvlB,IAAA,MAKvB69I,SAASt4H,MAAM,SASxBhW,EAAS0wJ,iBAAmB,SAAS1wJ,GAAA,IAC/BzR,EAAWmU,KAAK4rI,SAASqP,qBAAA,OACrB39I,EAAQzC,MAAA,IACT,YACEivC,KACHxsC,EAAQ40B,OAAOz0B,EACfH,EAAQ40B,OAAOx0B,EACfJ,EAAQ40B,OAAO10B,EACfF,EAAQ40B,OAAOl1B,EACfM,GAAA,UAGC,WACA,WACHzR,EAASksJ,YAAYoN,YAAYryJ,KAAKwK,GAAA,EAmB5CA,EAASwsC,KAAO,SAASxsC,EAAGzR,EAAGwR,EAAGpP,EAAGF,GAAA,IAC/B6B,EAAWoQ,KAAK4rI,SAASqP,qBACzBx0F,EAAgCzmD,KAAK4rI,SAASmX,oBAC9C3iJ,EAA8BJ,KAAK4rI,SAAS6T,4BAEhD7vJ,EAASmoJ,YAAYoN,YAAYryJ,KAAK,CACpCg7J,YAAa,CACXrwJ,EAAGgpD,EAA8BnpD,GACjCI,EAAG0C,EAA4BvU,GAC/B2R,EAAGipD,EAA8BnpD,EAAID,GACrCL,EAAGoD,EAA4BvU,EAAIoC,IAErC7D,QAAS2D,EACT8M,KAAM,UAgBVyC,EAAS2wJ,aAAe,SAAS3wJ,EAAMzR,EAAGwR,EAAGpP,GAAA,IAGvCF,EAAY6B,EAFZ62D,EAAiBzmD,KAAKkuJ,aAAa5wJ,GACnC8C,EAAaJ,KAAK4rI,SAASmT,gBAAkB/+I,KAAK4rI,SAAS6P,YAAA,YAI3DxtJ,EAAQ0tJ,SAAwB,CAElC/rJ,EADmB3B,EAAb0tJ,SAAA,IAEF/+I,EAAaoD,KAAK47I,gBAAgBt+I,EAAM1N,GAAW1B,OACvDH,EAAaiH,KAAK+R,KAAK3G,EAAaxD,EAAA,MAEpChN,EAAY62D,EACZ14D,EAAaqS,EAAA,YAGVjW,KAAKmT,EAAMzR,EAAGwR,EAAGpP,GAItBoP,GAAkB,GAAb+C,EAEiB,WAAlBnS,EAAQqtJ,QACVzvJ,GAAQ46D,EAAiB,GAEL,UAAlBx4D,EAAQqtJ,QACVzvJ,GAAQ46D,GAAA,KAEL3c,KAAKj+C,EAAGwR,EAAI+C,EAAYxQ,EAAW7B,EAAYE,GAC7Cw4D,CAAA,EAUTnpD,EAAS4wJ,aAAe,SAAS5wJ,GAAA,IAC3BzR,EAAWmU,KAAK4rI,SAASqC,cAAA,OAE1BjuI,KAAKy8I,mBAAmBn/I,GAAQzR,EAAYmU,KAAK4rI,SAAS6P,WAAA,EAvVjE,CA4VG3rI,GAAMinI,KCrYT,SAAUz5I,GAAA,IAOJzR,EAAoB,MACd,CAAC,YACD,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,QASfwR,EAAY,OACN,OACE,YACA,YACA,YACA,aAEF,OACE,YACA,YACA,YACA,aAEF,OAAU,OAAU,OAAU,cAC9B,MACE,WACA,WACA,WACA,WACA,QAIRpP,EAAoB,MAChB,WACA,WACA,WACA,WACA,OAGJF,EAAY,CAAC,KAAM,KAAM,KAAM,MAQnCuP,EAAS6wJ,iBAAmB,CAAC,EAAD,IAGxBv+J,EAA2B0N,EAAS6wJ,iBAAiBC,wBAA0B,SACjF9wJ,GAAA,gBAEczR,EAAkByR,EAAOwG,WAAW,KAGhD2iD,EAAkBnpD,EAAS6wJ,iBAAiBE,eAAiB,SAC/D/wJ,GAAA,MAGoB,iBAAXA,GACP,yEAAyErQ,KACvEqQ,EAAA,EAKF8C,EAAqB9C,EAAS6wJ,iBAAiBG,kBAAoB,SACrEhxJ,GAAA,OAGEmpD,EAAenpD,IACf1N,EAAwB0N,IACxBzR,EAAkByR,EAAOwG,WAAW,IAAI5V,QAAU,GAIlD0O,EAAqBU,EAAS6wJ,iBAAiBI,kBAAoB,SACrEjxJ,GAAA,OAGEmpD,EAAenpD,IAAWvP,EAAU8C,QAAQyM,EAAOwG,WAAW,KAAO,GAIzExG,EAAS6wJ,iBAAiBK,4BAA8B,SAASlxJ,GAAA,OAE7DmpD,EAAenpD,IACf1N,EAAwB0N,IACxBzR,EAAkByR,EAAOwG,WAAW,IAAI5V,QAAU,OAIlD0P,EAA4BN,EAAS6wJ,iBAAiBM,yBAA2B,SACnFnxJ,GAAA,OAGEmpD,EAAenpD,IACf1N,EAAwB0N,IACxBzR,EAAkByR,EAAOwG,WAAW,IAAI5V,QAAU,GAItDoP,EAAS6wJ,iBAAiBO,2BAA6B,SAASpxJ,GAAA,OAE5DmpD,EAAenpD,IACf1N,EAAwB0N,IACxBzR,EAAkByR,EAAOwG,WAAW,IAAI5V,QAAU,OAIlD8O,EAA6BM,EAAS6wJ,iBAAiBQ,0BAA4B,SACrFrxJ,GAAA,OAGEmpD,EAAenpD,IACf1N,EAAwB0N,IAC0B,GAAlDzR,EAAkByR,EAAOwG,WAAW,IAAI5V,MAAA,EAIxC+O,EAAoBK,EAAS6wJ,iBAAiBS,iBAAmB,SACnEtxJ,GAAA,IAEIzR,EAAI,EACJoC,EAAeoP,EACftP,EAAS,GACT6B,EAAkB,MAEjB/D,EAAI,EAAGA,EAAIyR,EAAQpP,OAAQrC,GAAK,OAAG,IAC3BoC,EAAaqP,EAAQwG,WAAWjY,KACzC+D,IAG4B,iBAF5B3B,EAAeA,EAAaqP,EAAQwG,WAAWjY,OAG7CkC,GAAU+R,OAAOuE,aAAapW,GAC9BA,EAAeoP,EACfzN,EAAkB,GAEhB/D,IAAMyR,EAAQpP,OAAS,IACzBD,EAAeoP,EACftP,GAAUuP,EAAQ3P,OAAO9B,GAAK+D,EAAkB,IAChD/D,GAAS+D,EAAkB,EAC3BA,EAAkB,KAGpB3B,EAAeoP,EACftP,GAAUuP,EAAQ3P,OAAO9B,EAAI+D,GAC7B/D,GAAQ+D,EACRA,EAAkB,UAIf7B,CAAA,EAGTuP,EAAS6wJ,iBAAiBU,kBAAoB,SAASvxJ,GAAA,gBAEnDA,QAAA,IACArP,EAAkBqP,EAAOwG,WAAW,SAIpChH,EAAkBQ,EAAS6wJ,iBAAiBW,eAAiB,SAC/DxxJ,EACAzR,EACAwR,GAAA,OAEKopD,EAAenpD,IAAA,IAIhB1N,EAAwB0N,IAnIT,GAuIhBM,EAAyBN,KACxBmpD,EAAe56D,KAAgB46D,EAAeppD,KAC9CopD,EAAeppD,IAAa+C,EAAkBvU,IAC/CuU,EAAkB9C,KAAiBmpD,EAAe56D,IAClDuU,EAAkB9C,IAAgBV,EAAkB/Q,IACpDuU,EAAkB9C,IAAgB8C,EAAkBvU,GA3ItC,EAiJfmR,EAA0BM,IAC1BmpD,EAAe56D,KACduU,EAAkBvU,IACnB46D,EAAeppD,IACfO,EAAyBP,GAlJZ,EAuJX+C,EAAkB9C,KAAiBmpD,EAAeppD,GAzJxC,EACE,GA6HN,GAuCRR,EAAc,SAASS,GAAA,IAIrBD,EAAI,EACJpP,EAAI,EACJF,EAAW,EACX6B,EAAgB,GAChBwQ,EAAa,GACbxD,EAAa,GAEbgB,GAVJN,EAAOA,GAAQ,IAUE7O,MAAM,QACnBuO,EAAW,OACVK,EAAI,EAAGA,EAAIO,EAAM1P,OAAQmP,GAAK,EAAG,KACpCL,EAASlK,KAAK,IACT7E,EAAI,EAAGA,EAAI2P,EAAMP,GAAGnP,OAAQD,GAAK,EACpC2B,EAAgBgO,EAAMP,GAAGpP,GACzBmS,EAAaxC,EAAMP,GAAGpP,EAAI,GAC1B2O,EAAagB,EAAMP,GAAGpP,EAAI,GACtBw4D,EAAe72D,IACjB7B,EAAW+O,EAAelN,EAAewQ,EAAYxD,GAEnDI,EAASK,KADO,IAAdtP,EACa+R,OAAOuE,aACpBxY,EAAkB+D,EAAckU,WAAW,IAAI/V,IAGlC6B,GAGjBoN,EAASK,IAAMzN,EAInBoN,EAASK,GAAKJ,EAAiBD,EAASK,GAAA,QAEjCL,EAAS5N,KAAK,MAKrB+N,EAAiBG,EAAS6wJ,iBAAiBY,cAAgBzxJ,EAASyxJ,cAAgB,eAIlFzxJ,EAHAzR,EACsB,iBAAjBgH,UAAU,GAAkBA,UAAU,GAAKA,UAAU,GAAG1I,KAC7DkT,EAAU,MAGVvN,MAAMC,QAAQlE,GAAO,KACnBoC,EAAI,MACRoP,EAAU,GACLpP,EAAI,EAAGA,EAAIpC,EAAKqC,OAAQD,GAAK,EAC5B6B,MAAMC,QAAQlE,EAAKoC,IACrBoP,EAAQvK,KAAK,CAAC+J,EAAYhR,EAAKoC,GAAG,IAAKpC,EAAKoC,GAAG,GAAIpC,EAAKoC,GAAG,KAE3DoP,EAAQvK,KAAK,CAAC+J,EAAYhR,EAAKoC,MAGnCqP,EAASD,CAAA,MAETC,EAAST,EAAYhR,GAAA,MAEK,iBAAjBgH,UAAU,GACZyK,GAEPzK,UAAU,GAAG1I,KAAOmT,EACbzK,UAAU,KAIrByK,EAASolJ,OAAO5vJ,KAAK,CAAC,iBAAkBqK,GAAA,CAxW1C,CAyWG2S,GAAMinI,KC9TNjnI,GAAMinI,IA9BEiY,UAAY,SAAS1xJ,GAAA,IAExBzR,EAAA,GAKG,iBAJPyR,EAAUA,GAAW,CAAC,GACd86C,QAAU96C,EAAQ86C,SAAW,cAE7B96C,EAAQ86C,SACT,KAEE62G,MAAM,mBAER,KAEErjB,SAAS8W,OAAO7tE,UAAU,oBAAoB,WACjDhpF,EAAkBmU,KAAK4rI,SAAS4J,YAAA,KAC3B5J,SAAS7P,IAAI,WACb6P,SAAS7P,IAAI,kBACb6P,SAAS7P,IAAI,sBACb6P,SAAS7P,IAAI,kBACb6P,SAAS7P,IAAI,WACb6P,SAAS7P,IAAI,kBAGf6P,SAAS8W,OAAO7tE,UAAU,cAAc,gBACtC+2D,SAAS7P,IAAI,eAAiBlwI,EAAkB,kBAIpDmU,IAAA,ECvCX,SAAU1C,GAAA,IAOJzR,EAAS,eACPyR,OAAA,EACJ9N,OAAOoM,eAAeoE,KAAM,MAAO,CACjCsH,IAAK,kBACIhK,CAAA,EAET4uD,IAAK,SAASrgE,GACZyR,EAAgBzR,CAAA,QAIhBA,EAAS,IAOb2D,OAAOoM,eAAeoE,KAAM,QAAS,CACnCsH,IAAK,kBACIzb,CAAA,EAETqgE,IAAK,SAAS5uD,GAEVzR,EADEu+D,MAAM9sD,KAAA,IAAUw2F,OAAO0zD,UAAUlqJ,IAAoBA,EAAQ,EACtD,IAEAA,EAEP0C,KAAK82B,WAAW,MAAMo4H,mBAAA,KACnBp4H,WAAW,MAAMq4H,UAAYtjK,EAAS,UAK7CwR,EAAU,IAOd7N,OAAOoM,eAAeoE,KAAM,SAAU,CACpCsH,IAAK,kBACIjK,CAAA,EAET6uD,IAAK,SAAS5uD,GAEVD,EADE+sD,MAAM9sD,KAAA,IAAUw2F,OAAO0zD,UAAUlqJ,IAAoBA,EAAQ,EACrD,IAEAA,EAER0C,KAAK82B,WAAW,MAAMs4H,mBAAA,KACnBt4H,WAAW,MAAMu4H,UAAYhyJ,EAAU,UAK9CpP,EAAc,GAClBuB,OAAOoM,eAAeoE,KAAM,aAAc,CACxCsH,IAAK,kBACIrZ,CAAA,EAETi+D,IAAK,SAAS5uD,GACZrP,EAAcqP,CAAA,QAIdvP,EAAS,CAAC,EACdyB,OAAOoM,eAAeoE,KAAM,QAAS,CACnCsH,IAAK,kBACIvZ,CAAA,EAETm+D,IAAK,SAAS5uD,GACZvP,EAASuP,CAAA,IAIb9N,OAAOoM,eAAeoE,KAAM,aAAc,CAAC,EAAD,EAW5CnU,EAAO4D,UAAUqnC,WAAa,SAASx5B,EAAazR,GAAA,IAE9CwR,EAAA,GAEgB,QAHpBC,EAAcA,GAAe,aAIpB,SAEJD,KAAOxR,EACNmU,KAAKsvJ,IAAIC,UAAU5vJ,eAAetC,KAAA,KAC/BiyJ,IAAIC,UAAUlyJ,GAAOxR,EAAkBwR,IAAA,YAG3CiyJ,IAAIC,UAAUC,QAAUxvJ,KACtBA,KAAKsvJ,IAAIC,SAAA,EASlB1jK,EAAO4D,UAAUwnC,UAAY,iBACrB,IAAIpqC,MAAM,kCAGlByQ,EAASolJ,OAAO5vJ,KAAK,CACnB,cACA,gBACO8jC,OAAS,IAAI/qC,EAAA,KACb+qC,OAAO04H,IAAMtvJ,IAAA,IA7HxB,CAkIG8P,GAAMinI,KC/GT,SAAUlrJ,GAAA,IAGJwR,EAAa,CAAE6E,KAAM,EAAG7W,IAAK,EAAGokK,OAAQ,EAAGC,MAAO,GAGlDzhK,GAAA,EAEAF,EAAc,oBACLiS,KAAK4rI,SAAS+jB,WAAA,KAClB/jB,SAAS+jB,SAAW,CAAC,EAAD,KACpB/jB,SAAS+jB,SAASt5G,QAAU,OAC5Bu1F,SAAS+jB,SAASC,oBAAA,EAAiB,KACnChkB,SAAS+jB,SAASE,QAAUrgK,OAAOa,OAAO,CAAC,EAAGgN,GAAA,KAC9CuuI,SAAS+jB,SAASE,QAAQ1tJ,MAAQnC,KAAK2iJ,eAC5C/yJ,EAAOF,KAAKsQ,MAAA,EAIZpQ,EAAS,gBACNg8I,SAAS+jB,SAASG,SAAW,IAAIrpG,EAAA,KACjCmlF,SAAS+jB,SAAStX,MAAQ,GAG7B5xF,EAAO,eACLnpD,EAAKzK,UAAU,GACnBrD,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAr+C,IAAK,kBACIhK,CAAA,EAET4uD,IAAK,SAASrgE,GACZyR,EAAKzR,CAAA,QAGLA,EAAKgH,UAAU,GACnBrD,OAAOoM,eAAeoE,KAAM,IAAK,CAC/B2lD,YAAA,EACAr+C,IAAK,kBACIzb,CAAA,EAETqgE,IAAK,SAAS5uD,GACZzR,EAAKyR,CAAA,QAGLD,EAASxK,UAAU,GACvBrD,OAAOoM,eAAeoE,KAAM,QAAS,CACnC2lD,YAAA,EACAr+C,IAAK,kBACIjK,CAAA,EAET6uD,IAAK,SAAS5uD,GACZD,EAASC,CAAA,QAGTrP,EAAU4E,UAAU,GACxBrD,OAAOoM,eAAeoE,KAAM,SAAU,CACpC2lD,YAAA,EACAr+C,IAAK,kBACIrZ,CAAA,EAETi+D,IAAK,SAAS5uD,GACZrP,EAAUqP,CAAA,QAGVvP,EAAQ8E,UAAU,GACtBrD,OAAOoM,eAAeoE,KAAM,OAAQ,CAClC2lD,YAAA,EACAr+C,IAAK,kBACIvZ,CAAA,EAETm+D,IAAK,SAAS5uD,GACZvP,EAAQuP,CAAA,QAGR1N,EAAciD,UAAU,GAC5BrD,OAAOoM,eAAeoE,KAAM,aAAc,CACxC2lD,YAAA,EACAr+C,IAAK,kBACI1X,CAAA,EAETs8D,IAAK,SAAS5uD,GACZ1N,EAAc0N,CAAA,QAGdmpD,EAAS5zD,UAAU,UACvBrD,OAAOoM,eAAeoE,KAAM,QAAS,CACnC2lD,YAAA,EACAr+C,IAAK,kBACIm/C,CAAA,EAETyF,IAAK,SAAS5uD,GACZmpD,EAASnpD,CAAA,IAIN0C,IAAA,EAGTymD,EAAKh3D,UAAUm1C,MAAQ,kBACd,IAAI6hB,EACTzmD,KAAKvC,EACLuC,KAAKtC,EACLsC,KAAKmC,MACLnC,KAAKoC,OACLpC,KAAK7V,KACL6V,KAAK4kG,WACL5kG,KAAKs7I,MAAA,EAIT70F,EAAKh3D,UAAU08F,QAAU,iBAChB,CACLnsF,KAAKvC,EACLuC,KAAKtC,EACLsC,KAAKmC,MACLnC,KAAKoC,OACLpC,KAAK7V,KACL6V,KAAK4kG,WACL5kG,KAAKs7I,MAAA,EASTzvJ,EAASkkK,kBAAoB,SAASzyJ,GAAA,OACpCvP,EAAY2B,KAAKsQ,MAAAA,KACZ4rI,SAAS+jB,SAASC,eACL,mBAATtyJ,EAAsBA,OAAA,EACxB0C,IAAA,EASTnU,EAASmkK,kBAAoB,SAAS1yJ,EAAMzR,GAC1CkC,EAAY2B,KAAKsQ,MAAA,IAEb3C,GADJxR,EAAUA,GAAW,CAAC,GACCs/B,UAAYnrB,KAAKiuI,cACpChgJ,EAAOpC,EAAQ0sD,MAAQv4C,KAAKu+I,UAC5B3uJ,EAAc/D,EAAQ4vJ,aAAez7I,KAAK4rI,SAAS6P,YACnDh1F,EAAQ,EACRrmD,EAAgB,EAEhBxD,EAAY,EACZgB,EAAQoC,KAAA,IAEPlQ,MAAMC,QAAQuN,IAAyB,iBAATA,EAAmB,IAChC,iBAATA,EAAA,MAGH,IAAIzQ,MACR,wGAHFyQ,EAAOwC,OAAOxC,EAAA,KAQZN,EAAWnR,EAAQ8vJ,SACrB3+I,EAAW,EACO,iBAATM,EACTA,EAAO0C,KAAK47I,gBAAgBt+I,EAAMN,GACgB,mBAAzCxN,OAAOC,UAAUyF,SAASxF,KAAK4N,KACxCA,EAAOA,EAAK6oB,QAAO,SAAS7oB,EAAKzR,GAAA,OACxByR,EAAIxO,OAAO8O,EAAMg+I,gBAAgB/vJ,EAAUmR,GAAA,GACjD,KAILM,EAAOxN,MAAMC,QAAQuN,GAAQA,EAAO,CAACA,GAAA,IAGlC,IAAIL,EAAI,EAAGA,EAAIK,EAAKpP,OAAQ+O,IAE3BwpD,GADJ7pD,EAAYoD,KAAKy8I,mBAAmBn/I,EAAKL,GAAI,CAAEs7C,KAAMtqD,IAAUoP,KAE7DopD,EAAQ7pD,GAAA,OAIE,IAAV6pD,IACFrmD,EAAgB9C,EAAKpP,QAUhB,CAAEsP,EAPTipD,GAAgB72D,EAOGoN,EANVhI,KAAKoE,KACXgH,EAAgB/C,EAAW2C,KAAKm/I,sBAC/B9hJ,GAAY2C,KAAKm/I,sBAAwB,IACzCvvJ,EACF,KASJ/D,EAASokK,YAAc,WACrBliK,EAAY2B,KAAKsQ,MAAAA,KAEZk7I,UAAA,IAED59I,EAAU0C,KAAK4rI,SAAS+jB,SAASE,SAAWxyJ,EAAA,YAC3CuuI,SAAS+jB,SAASG,SAAW,IAAIrpG,EACpCnpD,EAAQ4E,KACR5E,EAAQjS,SAAA,OACR,GACA,KAEGugJ,SAAS+jB,SAAStX,OAAS,EAEzBr4I,IAAA,MAeLI,EAAQvU,EAASqkK,KAAO,eACtB5yJ,EAGFA,EADEzK,UAAU,aAAc4zD,EACZ5zD,UAAU,GAEV,IAAI4zD,EAChB5zD,UAAU,GACVA,UAAU,GACVA,UAAU,GACVA,UAAU,GACVA,UAAU,GACVA,UAAU,IAGd9E,EAAY2B,KAAKsQ,MAAA,IACbnU,EAAWmU,KAAK4rI,SAAS+jB,SAASG,SAClClgK,EAAUoQ,KAAK4rI,SAAS+jB,SAASt5G,QACjCj2C,EAAUJ,KAAK4rI,SAAS+jB,SAASE,SAAWxyJ,EAC5CT,EAAiBoD,KAAK4rI,SAAS+jB,SAASQ,eACxCvyJ,EAAeoC,KAAK4rI,SAAS+jB,SAASS,aAAA,gBAE/BvkK,EAAS+4G,aACd/4G,EAAS+4G,aAAetnG,EAAYsnG,YAEtCtnG,EAAYG,GAAK5R,EAAS4R,GAAK,IAAM5R,EAASsW,OAAS,GACvD7E,EAAYI,EAAI7R,EAAS6R,GAAK,GAI5B7R,EAAS6R,EAAI7R,EAASuW,OAAS9E,EAAY8E,OAAShC,EAAQqvJ,OAC5DzvJ,KAAK6iJ,iBAAA,KAEAoN,cACL3yJ,EAAYI,EAAI0C,EAAQ/U,IACpBuS,GAAgBhB,IAAA,KACbyzJ,eAAe/yJ,EAAYsnG,YAAA,GAChCtnG,EAAYI,GAAKd,EAAe,GAAGwF,SAGrC9E,EAAYI,EAAI7R,EAAS6R,EAAI7R,EAASuW,QAAU9E,EAAYI,QAAA,IAKvDJ,EAAYnT,KAAK,UACrB2Y,KACHxF,EAAYG,EACZH,EAAYI,EACZJ,EAAY6E,MACZ7E,EAAY8E,QAAA,IACZnU,EAA6B,UAAO,GAEZ,UAAtBqP,EAAYg+I,MAAA,KACTnxJ,KACHmT,EAAYnT,KACZmT,EAAYG,EAAIH,EAAY6E,MAAQvS,EACpC0N,EAAYI,EAAI9N,EAChB,CAAE0rJ,MAAO,QAAS/kG,SAAU,QAEC,WAAtBj5C,EAAYg+I,MAAA,KAChBnxJ,KACHmT,EAAYnT,KACZmT,EAAYG,EAAIH,EAAY6E,MAAQ,EACpC7E,EAAYI,EAAI9N,EAChB,CACE0rJ,MAAO,SACP/kG,SAAU,MACVolG,SAAUr+I,EAAY6E,MAAQvS,EAAUA,IAAA,KAIvCzF,KACHmT,EAAYnT,KACZmT,EAAYG,EAAI7N,EAChB0N,EAAYI,EAAI9N,EAChB,CACE0rJ,MAAO,OACP/kG,SAAU,MACVolG,SAAUr+I,EAAY6E,MAAQvS,EAAUA,KAAA,KAK3Cg8I,SAAS+jB,SAASG,SAAWxyJ,EAC3B0C,IAAA,EAwBTnU,EAASykK,MAAQ,SAASzkK,EAAGoC,EAAG2P,EAAMZ,EAASC,GAAA,GAC7ClP,EAAY2B,KAAKsQ,OACZpC,EAAA,MACG,IAAI/Q,MAAM,8BAQhBiQ,EAGAD,EAEAM,EA4DIJ,EApEFG,EAAc,GAChBK,EAAe,GACf1N,EAAe,GAEf6N,EAAe,CAAC,EAChBF,EAAe,CAAC,EAEhBsrE,EAAkB,GAElBj1C,EAAqB,GAErB/1B,GAbFb,EAASA,GAAU,CAAC,GAaAszJ,WAAA,EAClB9yJ,GAAA,IAAeR,EAAOmzJ,aACtBp9E,EACE/1E,EAAOkoC,UAAA,IAAcloC,EAAOkoC,IAAI,aACF,GAA1BloC,EAAOkoC,IAAI,aACXloC,EAAOkuB,UAAY,GACzB7pB,EACErE,EAAO4yJ,SACPrgK,OAAOa,OAAO,CAAE8R,MAAOnC,KAAK2iJ,gBAAkBtlJ,GAChDmD,EAAoC,iBAAnBvD,EAAOo5C,QAAuBp5C,EAAOo5C,QAAU,EAChEroD,EAAwBiP,EAAOuzJ,uBAAyB,UACxD7nF,EAAkB1rE,EAAOwzJ,iBAAmB,UAE9C7gK,EAAOF,KAAKsQ,MAAAA,KAEP4rI,SAAS+jB,SAASS,aAAe3yJ,EAAA,KACjCmuI,SAAS+jB,SAASE,QAAUvuJ,EAAA,KAC5BsqI,SAAS+jB,SAASe,gBAAkB19E,EAAA,KACpC44D,SAAS+jB,SAASt5G,QAAU71C,EAAA,KAC5BorI,SAAS+jB,SAASa,sBAAwBxiK,EAAA,KAC1C49I,SAAS+jB,SAASc,gBAAkB9nF,EAAA,KACpCqlE,YAAYh7D,GAGb,MAAAh2E,EAGFO,EADAL,EAAc1N,OAAOY,KAAKwN,EAAK,IAE/B/N,EAAeqN,EAAYvD,KAAI,iBACtB,eAEJ,GAAI7J,MAAMC,QAAQiN,IAAkC,YAAtBM,EAAAA,GAAAA,GAAON,EAAQ,QAClDE,EAAcF,EAAQrD,KAAI,SAAS2D,GAAA,OAC1BA,EAAOvC,IAAA,IAEhBwC,EAAeP,EAAQrD,KAAI,SAAS2D,GAAA,OAC3BA,EAAOjQ,QAAUiQ,EAAOvC,MAAQ,MAEzClL,EAAemN,EAAQrD,KAAI,SAAS2D,GAAA,OAC3BA,EAAOg+I,OAAS,UAGpBx+I,EAAI,EAAGA,EAAIE,EAAQ9O,OAAQ4O,GAAK,EACnCU,EAAaR,EAAQF,GAAG/B,MAAQiC,EAAQF,GAAGqF,OA7YpC,UAAiB,WA+YjBrS,MAAMC,QAAQiN,IAAkC,iBAAfA,EAAQ,KAElDO,EADAL,EAAcF,EAEdnN,EAAeqN,EAAYvD,KAAI,iBACtB,cAKTmE,GACChO,MAAMC,QAAQiN,IAAkC,iBAAfA,EAAQ,OAGrCF,EAAI,EAAGA,EAAII,EAAYhP,OAAQ4O,GAAK,EAAG,KAK1CY,EAJAX,EAAaG,EAAYJ,IAIEc,EAAKjE,KAAI,SAAS2D,GAAA,OACpCA,EAAIP,EAAA,SAIRuhJ,aAAA,EAAmB,QACxBx1E,EAAgBh2E,KACdkN,KAAKgwJ,kBAAkBzyJ,EAAaT,GAAI,CACtCquB,SAAUnrB,KAAK4rI,SAAS+jB,SAASe,gBACjCjV,YAAaz7I,KAAK4rI,SAAS6P,cAC1Bj+I,GAELX,EAASa,EAAaX,GAAA,KAGjBuhJ,aAAA,EAAmB,UACnBnhJ,EAAI,EAAGA,EAAIN,EAAO3O,OAAQiP,GAAK,EAClC2rE,EAAgBh2E,KACdkN,KAAKgwJ,kBAAkBnzJ,EAAOM,GAAI,CAChCguB,SAAUnrB,KAAK4rI,SAAS+jB,SAASe,gBACjCjV,YAAaz7I,KAAK4rI,SAAS6P,cAC1Bj+I,GAKPA,EAAaT,GACX/H,KAAKoE,IAAIxG,MAAM,KAAMk2E,GAAmBtoE,EAAUA,EAGpDsoE,EAAkB,MAMlBrrE,EAAc,KACZsS,EAAM,CAAC,EAAD,IACLjT,EAAI,EAAGA,EAAII,EAAYhP,OAAQ4O,GAAK,EACvCiT,EAAI7S,EAAYJ,IAAM,CAAC,EACvBiT,EAAI7S,EAAYJ,IAAI3S,KAAOoT,EAAaT,GACxCiT,EAAI7S,EAAYJ,IAAIw+I,MAAQzrJ,EAAaiN,GAAA,IAGvCmxE,EAAYrxE,EAAoBlN,KAAKsQ,KAAM+P,EAAKvS,GAGpDq2B,EAAqB32B,EAAYvD,KAAI,SAAS2D,GAAA,OACrC,IAAImpD,EACT56D,EACAoC,EACAuP,EAAaF,GACb2wE,EACAl+D,EAAIzS,GAAOnT,UAAA,EAEX4lB,EAAIzS,GAAOg+I,MAAA,SAKVqV,kBAAkB98H,GAAA,KAGlBw8H,eAAe,GAAG,OAKrB5tG,EAAQzlD,EAAQmpB,QAAO,SAAS7oB,EAAIzR,GAAA,OACtCyR,EAAGzR,EAAGkP,MAAQlP,EAAGyvJ,MACVh+I,CAAA,GACN,CAAC,GAAD,IACER,EAAI,EAAGA,EAAIc,EAAK1P,OAAQ4O,GAAK,EAAG,CAC/B,aAAcG,GAAUA,EAAO2zJ,oBAAoB37D,UACrDh4F,EAAO2zJ,SACL,CACEC,IAAK/zJ,EACLgK,KAAMlJ,EAAKd,IAEbkD,MAAA,IAGAsrE,EAAa1uE,EAAoBlN,KAAKsQ,KAAMpC,EAAKd,GAAIU,GAAA,IAEpDL,EAAI,EAAGA,EAAID,EAAYhP,OAAQiP,GAAK,EAAG,KACtCosD,EAAW3rD,EAAKd,GAAGI,EAAYC,IAC/B,cAAeF,GAAUA,EAAO6zJ,qBAAqB77D,UACvDh4F,EAAO6zJ,UACL,CACED,IAAK/zJ,EACLs1D,IAAKj1D,EACL2J,KAAMyiD,GAERvpD,MAGJI,EAAK1Q,KACHsQ,KACA,IAAIymD,EACF56D,EACAoC,EACAuP,EAAaN,EAAYC,IACzBmuE,EACA/hB,EACAzsD,EAAI,EACJ2lD,EAAMvlD,EAAYC,KAAA,cAKrByuI,SAAS+jB,SAASoB,QAAUllK,EAAA,KAC5B+/I,SAAS+jB,SAASqB,QAAU/iK,EAC1B+R,IAAA,MAaLpD,EAAsB,SAA6BU,EAAOzR,GAAA,IACxDwR,EAAU2C,KAAK4rI,SAAS+jB,SAASt5G,QACjCpoD,EAAW+R,KAAK4rI,SAAS+jB,SAASe,gBAClC3iK,EAAciS,KAAK4rI,SAAS6P,YAAA,OAEzBjsJ,OAAOY,KAAKkN,GAChB3D,KAAI,SAAS1L,GAAA,IACRF,EAAQuP,EAAMrP,GAAA,OACX+R,KAAK47I,gBACV7tJ,EAAM4R,eAAe,QAAU5R,EAAM5D,KAAO4D,EAC5ClC,EAAaoC,GAAOoP,EAAUA,EAAA,GAE/B2C,MACFrG,KAAI,SAAS2D,GAAA,OAET0C,KAAKm/I,sBAAwB7hJ,EAAMpP,OAASD,EAAYF,EACzDsP,EACAA,CAAA,GAED2C,MACFmmB,QAAO,SAAS7oB,EAAIzR,GAAA,OACZmJ,KAAKoE,IAAIkE,EAAIzR,EAAA,GACnB,IAYPA,EAAS8kK,kBAAoB,SAASrzJ,GACpCvP,EAAY2B,KAAKsQ,MAAAA,KACZ4rI,SAAS+jB,SAASQ,eAAiB7yJ,CAAA,EAW1CzR,EAASwkK,eAAiB,SAAS/yJ,EAAYzR,GAAA,GAC7CkC,EAAY2B,KAAKsQ,OACZA,KAAK4rI,SAAS+jB,SAASQ,eAAA,MACpB,IAAItjK,MAAM,+CAGdwQ,EAAA,GAEJpP,GAAA,EACqD,mBAA1C+R,KAAK4rI,SAAS+jB,SAASC,eAA+B,KAC3DhgK,EAAWoQ,KAAK4rI,SAAS+jB,SAASC,eACpC5vJ,KACAA,KAAK4rI,SAAS+jB,SAAStX,OAAA,KAEpBzM,SAAS+jB,SAASG,SAAW,IAAIrpG,EACpC72D,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,WAER,QAGA0uJ,aAAA,EAAmB,gBAEpB1hJ,EAAiB,GACZgB,EAAI,EAAGA,EAAIoC,KAAK4rI,SAAS+jB,SAASQ,eAAejiK,OAAQ0P,GAAK,EAAG,CACxEP,EAAkB2C,KAAK4rI,SAAS+jB,SAASQ,eAAevyJ,GAAGgnC,QACvD/4C,IACFwR,EAAgBK,EAAIsC,KAAK4rI,SAAS+jB,SAASE,QAAQxkK,KAAO,EAC1DuR,EAAe9J,KAAKuK,IAEtBA,EAAgBunG,WAAatnG,EAAA,IACzBN,EAAmBgD,KAAKqgJ,eAAA,KACvBC,aAAatgJ,KAAK4rI,SAAS+jB,SAASc,iBAAA,KACpCvQ,aAAalgJ,KAAK4rI,SAAS+jB,SAASa,uBACzCpwJ,EAAK1Q,KAAKsQ,KAAM3C,GAAA,KACXijJ,aAAatjJ,EAAA,CAEhBJ,EAAe1O,OAAS,QACrByiK,kBAAkB/zJ,GAAA,KAEpB0hJ,aAAA,EAAmB,UACxBrwJ,GAAA,CAAoB,EA7nBxB,CA+nBG6hB,GAAMinI,KN5pBT,IAAIxE,GAAiB,CACnB0e,OAAQ,CAAC,SAAU,UAAW,UAC9BC,QAAS,CAAC,UAAW,SAAU,UAC/BrX,OAAQ,CAAC,SAAU,UAAW,WAG5BrH,GAAmB,CACrB,kBACA,kBACA,YACA,iBACA,SACA,gBACA,WACA,iBACA,kBAKEC,GAAoBxyF,GAASuyF,IAE7BE,GAAc,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvDC,GAAoB1yF,GAASyyF,IAsC1B,SAASE,GAAkBt1I,GAAA,IAC5BzR,EAASyR,EAAS6zJ,OAAO/jK,QAAQ,OAAQ,IAAIwD,cAE7CyM,EAjCN,SAA4BC,GAAA,OAGnBi1I,GAFPj1I,EAAQA,GAAS,UAEcA,EAAQ,SAHzC,CAiCiCA,EAASpS,OACpC+C,EA5BN,SAA6BqP,GAAA,OACtBA,EAIiB,iBAAXA,EAEFA,GAAU,KAAOA,GAAU,KAAOA,EAAS,KAAQ,EAAIA,EAAS,IAGrE,SAASrQ,KAAKqQ,GACTiU,SAASjU,GAIX,SADCA,EAEG,IAIA,IAlBF,GAkBE,CApBb,CA4BmCA,EAAS8zJ,QACtCrjK,EAzCN,SAA8BuP,GAAA,MAGiB,iBAA/Bm1I,GAFdn1I,EAAUA,GAAW,UAEmCA,EAAU,SAHpE,CAyCqCA,EAAS+zJ,SAAA,MAErC,CACLF,OAAQtlK,EACRX,MAAOmS,EACP+zJ,OAAQnjK,EACRojK,QAAStjK,EACTgpC,IAAKz5B,EAASy5B,KAAO,GAIrBi5C,IAAK1yE,EAAS0yE,KAAO,CACnBj1E,KAAMlP,EACNX,MAAO,CAAC6C,EAASsP,EAAOpP,GAAQmB,KAAK,OA0C3C,SAASyjJ,GAAgBv1I,EAAazR,EAAOwR,EAAOpP,GAAA,IAC9CF,EAAA,IAECA,EAAIsP,EAAOtP,GAAK,GAAKA,EAAIlC,EAAMqC,OAAQH,GAAKE,EAAA,GAC3CqP,EAAYzR,EAAMkC,IAAA,OACbuP,EAAYzR,EAAMkC,IAAA,IAIxBA,EAAIsP,EAAOtP,GAAK,GAAKA,EAAIlC,EAAMqC,OAAQH,GAAKE,EAAA,GAC3CqP,EAAYzR,EAAMkC,IAAA,OACbuP,EAAYzR,EAAMkC,GAAA,CA6E/B,IAAI+kJ,GAA6B,cACjB,YACdwe,MAAO,UACPC,UAAW,UACXC,SAAU,UACVC,QAAS,QACTC,QAAS,QACTC,MAAO,SAGL5e,GAAc,CAChB6T,QAAS,QACTgL,KAAM,QACNC,KAAM,sBACS,wBACE,qBACH,SAGhB,SAAS7e,GAAa11I,GAAA,MACb,CAACA,EAAK+zJ,QAAS/zJ,EAAKpS,MAAOoS,EAAK8zJ,OAAQ9zJ,EAAK6zJ,QAAQ/hK,KAAK,KAoEnE,SAAS8jJ,GAAc51I,GAAA,OACdA,EAAMw0J,UAAA,CAGf,SAAS3e,GAAsB71I,EAAOzR,GAAA,QAChCwR,EAAQ,EAELA,EAAQC,EAAMpP,QAAQ,IACboP,EAAM3P,OAAO0P,KAEXxR,EAAA,MACP,CAACyR,EAAMtF,UAAU,EAAGqF,GAAQC,EAAMtF,UAAUqF,EAAQ,IAG7DA,GAAS,SAIJ,KAGT,SAAS+1I,GAAyB91I,GAAA,IAS5BzR,EAAQyR,EAAMutC,MAAM,wCAGV,OAAVh/C,EACK,KAGF,CAACA,EAAM,GAAIyR,EAAMtF,UAAUnM,EAAM,GAAGqC,QAAA,CAG7C,IOrTMmlJ,GAAYE,GAASC,GPqTvBC,GAAc,CAAC,UQ/TnB,SAAU5nJ,GAAA,IAsCJwR,EACFpP,EACAF,EACA04D,EACArmD,EACAxD,EACAgB,EACAZ,EACAC,EA5CEJ,EAAe,SAASS,GAAA,OAC1BA,EAAMA,GAAO,CAAC,EAAD,KACRy0J,oBAAsBz0J,EAAIy0J,sBAAA,EAAuB,KACjDrgG,cAAgBp0D,EAAIo0D,eAAiB,OACrC5Y,YAAcx7C,EAAIw7C,aAAe,eACjC1hB,UAAY95B,EAAI85B,WAAa,eAC7B46H,kBAAoB10J,EAAI00J,oBAAA,EAAqB,KAC7C5gG,YAAc9zD,EAAI8zD,aAAe,OACjC7Y,KAAOj7C,EAAIi7C,MAAQ,uBACnBrB,aAAe55C,EAAI45C,cAAgB,kBACnC/qB,UAAY7uB,EAAI6uB,WAAa,YAC7B4sB,UAAYz7C,EAAIy7C,WAAa,OAC7BC,SAAW17C,EAAI07C,UAAY,aAC3ByE,QAAUngD,EAAImgD,SAAW,YACzBjtD,KAAO8M,EAAI9M,MAAQ,QACnBkgC,eAAA,IACIpzB,EAAIozB,UACPpzB,EAAIozB,UAAUkU,QACd,IAAI5nC,EAAA,KACLi1J,yBAA2B30J,EAAI20J,0BAA4B,cAC3D16G,YAAcj6C,EAAIi6C,aAAe,OACjC26G,UAAY50J,EAAI40J,WAAa,QAC7BC,aAAe70J,EAAI60J,cAAgB,IAAIv1J,EAAA,KACvCw1J,WAAa90J,EAAI80J,YAAc,QAC/BC,UAAY/0J,EAAI+0J,WAAa,IAAIz1J,EAAA,KACjC01J,eAAiBh1J,EAAIg1J,gBAAkB,OACvCC,SAAWj1J,EAAIi1J,UAAY,QAC3Bn8G,OAAS94C,EAAI84C,QAAU,CAAC,EAAG,EAAG,EAAG,QACjCo8G,uBAAyBl1J,EAAIk1J,wBAA0B,OAEvDC,gBAC4B,kBAAxBn1J,EAAIm1J,iBAAgCn1J,EAAIm1J,gBAC1CzyJ,IAAA,EAaTnU,EAAS62J,OAAO5vJ,KAAK,CACnB,cACA,gBACOy8J,UAAY,IAAIpyJ,EAAU6C,MAE/B3C,EAAK2C,KAAK4rI,SAAS8C,GACnBzgJ,EAAgC+R,KAAK4rI,SAASmX,oBAC9Ch1J,EAA8BiS,KAAK4rI,SAAS6T,4BAC5Ch5F,EAA0BzmD,KAAK4rI,SAASwT,wBACxCh/I,EAAwBJ,KAAK4rI,SAASyT,sBACtCziJ,EAAQoD,KAAK4rI,SAAS4X,MACtB5lJ,EAAYoC,KAAK4rI,SAAS6X,UAC1BzmJ,EAASgD,KAAK4rI,SAAS8I,OACvBz3I,EAAO,IAAIJ,CAAA,QAIXM,EAAY,SAASG,GACvB9N,OAAOoM,eAAeoE,KAAM,SAAU,CACpCsH,IAAK,iBACI,CAAE4yB,YAAA,EAAmBhvC,OAAA,EAAO,QAInCW,EAAOyR,EACX9N,OAAOoM,eAAeoE,KAAM,MAAO,CACjCsH,IAAK,kBACIzb,CAAA,QAIPwR,GAAA,EAMJ7N,OAAOoM,eAAeoE,KAAM,mBAAoB,CAC9CsH,IAAK,kBACIjK,CAAA,EAET6uD,IAAK,SAAS5uD,GACZD,EAAoB4pD,QAAQ3pD,EAAA,QAI5BrP,GAAA,EAMJuB,OAAOoM,eAAeoE,KAAM,mBAAoB,CAC9CsH,IAAK,kBACIrZ,CAAA,EAETi+D,IAAK,SAAS5uD,GACZrP,EAAoBg5D,QAAQ3pD,EAAA,QAI5BvP,EAAQ,EAMZyB,OAAOoM,eAAeoE,KAAM,OAAQ,CAClCsH,IAAK,kBACIvZ,CAAA,EAETm+D,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KACTvP,EAAQuP,EAAA,QAKV1N,EAAQ,EAMZJ,OAAOoM,eAAeoE,KAAM,OAAQ,CAClCsH,IAAK,kBACI1X,CAAA,EAETs8D,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KACT1N,EAAQ0N,EAAA,IAWd9N,OAAOoM,eAAeoE,KAAM,SAAU,CACpCsH,IAAK,kBACIrK,EAAKm5C,MAAA,EAEd8V,IAAK,SAAS5uD,GAAA,IACRzR,EACiB,iBAAVyR,EACTzR,EAAS,CAACyR,EAAOA,EAAOA,EAAOA,KAE/BzR,EAAS,IAAIiE,MAAM,IACZ,GAAKwN,EAAM,GAClBzR,EAAO,GAAKyR,EAAMpP,QAAU,EAAIoP,EAAM,GAAKzR,EAAO,GAClDA,EAAO,GAAKyR,EAAMpP,QAAU,EAAIoP,EAAM,GAAKzR,EAAO,GAClDA,EAAO,GAAKyR,EAAMpP,QAAU,EAAIoP,EAAM,GAAKzR,EAAO,IAEpDoR,EAAKm5C,OAASvqD,CAAA,QAId46D,GAAA,EAwBJj3D,OAAOoM,eAAeoE,KAAM,aAAc,CACxCsH,IAAK,kBACIm/C,CAAA,EAETyF,IAAK,SAAS5uD,GACZmpD,EAAcnpD,CAAA,QAId8C,EAAY,EAMhB5Q,OAAOoM,eAAeoE,KAAM,YAAa,CACvCsH,IAAK,kBACIlH,CAAA,EAET8rD,IAAK,SAAS5uD,GACZ8C,EAAY9C,CAAA,QAIZV,EAAa,GAOjBpN,OAAOoM,eAAeoE,KAAM,aAAc,CACxCsH,IAAK,kBACI1K,CAAA,EAETsvD,IAAK,SAAS5uD,GACZV,EAAaU,CAAA,IASjB9N,OAAOoM,eAAeoE,KAAM,MAAO,CACjCsH,IAAK,kBACIrK,CAAA,EAETivD,IAAK,SAAS5uD,GACRA,aAAiBT,IACnBI,EAAOK,EAAA,IAUb9N,OAAOoM,eAAeoE,KAAM,OAAQ,CAClCsH,IAAK,kBACIrK,EAAKzM,IAAA,EAEd07D,IAAK,SAAS5uD,GACZL,EAAKzM,KAAO8M,CAAA,QASZM,EAAY,GAChBpO,OAAOoM,eAAeoE,KAAM,WAAY,CACtCsH,IAAK,kBACI1J,CAAA,EAETsuD,IAAK,SAAS5uD,GACZM,EAAYN,CAAA,IAahB9N,OAAOoM,eAAeoE,KAAM,YAAa,CACvCsH,IAAK,kBACItH,KAAK62B,IAAIO,SAAA,EAElB80B,IAAK,SAAS5uD,GAAA,IACRzR,EACJA,EAAOkR,EAAQO,GAAA,KAEVu5B,IAAIO,UAAYvrC,EAAKX,MAAA,KACrB2rC,IAAIm7H,kBAA+B,IAAXnmK,EAAK+D,EAAA,KAC7BinC,IAAIu6B,YAAcvlE,EAAK+D,EAAA,KAEvB0/J,IAAIpP,aAAar0J,EAAKwR,EAAGxR,EAAKkR,EAAGlR,EAAKgE,EAAG,CAAED,EAAG/D,EAAK+D,IAAA,KACnD0/J,IAAIhP,aAAaz0J,EAAKwR,EAAGxR,EAAKkR,EAAGlR,EAAKgE,EAAG,CAAED,EAAG/D,EAAK+D,GAAA,IAa5DJ,OAAOoM,eAAeoE,KAAM,cAAe,CACzCsH,IAAK,kBACItH,KAAK62B,IAAIiiB,WAAA,EAElBoT,IAAK,SAAS5uD,GAAA,IACRzR,EAAOkR,EAAQO,GAAA,KAEdu5B,IAAIiiB,YAAcjtD,EAAKX,MAAA,KACvB2rC,IAAIk7H,oBAAiC,IAAXlmK,EAAK+D,EAAA,KAC/BinC,IAAI66B,cAAgB7lE,EAAK+D,EAEf,IAAX/D,EAAK+D,EAAA,KACF0/J,IAAIxP,aAAa,IAAK,IAAK,MACvBj0J,EAAK+D,EAAA,KACT0/J,IAAIxP,aAAaj0J,EAAKwR,EAAGxR,EAAKkR,EAAGlR,EAAKgE,GAAA,IAgBjDL,OAAOoM,eAAeoE,KAAM,UAAW,CACrCsH,IAAK,kBACItH,KAAK62B,IAAI4mB,OAAA,EAElByO,IAAK,SAAS5uD,IACwC,IAAhD,CAAC,OAAQ,QAAS,UAAUzM,QAAQyM,KAAA,KACjCu5B,IAAI4mB,QAAUngD,EAAA,KACdgyJ,IAAIrO,WAAW3jJ,GAAA,IAY1B9N,OAAOoM,eAAeoE,KAAM,YAAa,CACvCsH,IAAK,kBACItH,KAAK62B,IAAIkiB,SAAA,EAElBmT,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KAAA,KACJu5B,IAAIkiB,UAAYz7C,EAAA,KAChBgyJ,IAAI1Q,aAAathJ,GAAA,IAQ5B9N,OAAOoM,eAAeoE,KAAM,WAAY,CACtCsH,IAAK,kBACItH,KAAK62B,IAAImiB,QAAA,EAElBkT,IAAK,SAAS5uD,IACwC,IAAhD,CAAC,QAAS,QAAS,SAASzM,QAAQyM,KAAA,KACjCu5B,IAAImiB,SAAW17C,EAAA,KACfgyJ,IAAIpO,YAAY5jJ,GAAA,IAW3B9N,OAAOoM,eAAeoE,KAAM,aAAc,CACxCsH,IAAK,kBACItH,KAAK62B,IAAIu7H,UAAA,EAElBlmG,IAAK,SAAS5uD,GACP8sD,MAAM9sD,KAAA,KACJu5B,IAAIu7H,WAAa90J,EAAA,KACjBgyJ,IAAIlO,cAAc9jJ,GAAA,IAK7B9N,OAAOoM,eAAeoE,KAAM,eAAgB,CAC1CsH,IAAK,kBACItH,KAAK62B,IAAIqgB,YAAA,EAElBgV,IAAK,SAAS5uD,GAAA,KACPu5B,IAAIqgB,aAAe55C,CAAA,IAI5B9N,OAAOoM,eAAeoE,KAAM,YAAa,CACvCsH,IAAK,kBACItH,KAAK62B,IAAI1K,SAAA,EAElB+/B,IAAK,SAAS5uD,IACwD,IAAhE,CAAC,QAAS,MAAO,SAAU,OAAQ,SAASzM,QAAQyM,KAAA,KACjDu5B,IAAI1K,UAAY7uB,EAAA,QAKvBN,EAAe,cAEVF,EAAeQ,EAAKzR,GAAA,GACN,OAAjBmR,EAAuB,KAGrBK,EAAA,SAQoBC,GAAA,IACtBzR,EAAY,UAEhB2D,OAAOY,KAAKkN,GAASlK,SAAQ,SAASiK,GACvBC,EAAQD,GAEdjK,SAAQ,SAASkK,GAAA,IAClBrP,EAAW,YAEPqP,GAAA,IACD,OACHrP,EAAW,CACTkjK,OAAQ9zJ,EACR+zJ,OAAQ,kBAIP,SACHnjK,EAAW,CACTkjK,OAAQ9zJ,EACRnS,MAAO,oBAIN,aACH+C,EAAW,CACTkjK,OAAQ9zJ,EACR+zJ,OAAQ,OACRlmK,MAAO,oBAIN,OACA,SACH+C,EAAW,CACTkjK,OAAQ9zJ,GAOG,OAAbpP,IACFA,EAAS+hF,IAAM,CACbj1E,KAAMsC,EACNnS,MAAOoS,GAGTzR,EAAUiH,KAAK7E,GAAA,OAKdpC,CAAA,CA7DD,CAFUyR,EAAIkhJ,eAIlBxhJ,ER1WD,SAA0BM,GAAA,QAC3BzR,EAAM,CAAC,EAEFwR,EAAI,EAAGA,EAAIC,EAAUpP,SAAUmP,EAAG,KACrCpP,EAAa2kJ,GAAkBt1I,EAAUD,IAEzCtP,EAAOE,EAAWkjK,OAClBvhK,EAAU3B,EAAWojK,QACrB5qG,EAAQx4D,EAAW/C,MACnBkV,EAASnS,EAAWmjK,OAExBvlK,EAAIkC,GAAQlC,EAAIkC,IAAS,CAAC,EAE1BlC,EAAIkC,GAAM6B,GAAW/D,EAAIkC,GAAM6B,IAAY,CAAC,EAC5C/D,EAAIkC,GAAM6B,GAAS62D,GAAS56D,EAAIkC,GAAM6B,GAAS62D,IAAU,CAAC,EAC1D56D,EAAIkC,GAAM6B,GAAS62D,GAAOrmD,GAAUnS,CAAA,QAG/BpC,CAAA,CAlBF,CQ0WiCwR,EAAmBvO,OAAOjD,GAAA,QAGrDmR,CAAA,KA2DLG,EAAa,KAQjB3N,OAAOoM,eAAeoE,KAAM,YAAa,CACvCsH,IAAK,kBACInK,CAAA,EAET+uD,IAAK,SAAS5uD,GACZN,EAAe,KACfG,EAAaG,CAAA,IAIjB9N,OAAOoM,eAAeoE,KAAM,OAAQ,CAClCsH,IAAK,kBACItH,KAAK62B,IAAI0hB,IAAA,EAElB2T,IAAK,SAAS5uD,GAAA,IAEJzR,EAAA,QADHgrC,IAAI0hB,KAAOj7C,EAOA,QADhBzR,EADK,oVACQ21D,KAAKlkD,IAAA,KAEZD,EAAYxR,EAAQ,GAEpBoC,GADcpC,EAAQ,GACTA,EAAQ,IACrBkC,EAAWlC,EAAQ,GAEnB+D,GADa/D,EAAQ,GACRA,EAAQ,IAKvB46D,EADa,yCACajF,KAAKzzD,GAAU,GAG3CA,EADE,OAAS04D,EACAzxD,KAAKqsC,MACd40G,WAAWloJ,GAAYiS,KAAKsvJ,IAAI1jB,SAAS6P,aAElC,OAASh1F,EACPzxD,KAAKqsC,MAAM40G,WAAWloJ,GAAYiS,KAAKsvJ,IAAIrhB,eAE3Cj5I,KAAKqsC,MACd40G,WAAWloJ,GAAYiS,KAAKsvJ,IAAI1jB,SAAS6P,aAAA,KAIxC6T,IAAIthB,YAAYjgJ,GAAA,IACjBqS,ERtOL,SAAyB9C,GAAA,IAE1BzR,EAAIwR,EADJpP,EAAS,GAETF,EAAYuP,EAAM+7B,OAAA,GAEJ,KAAdtrC,EAAA,OACK0lJ,GAAA,GAGL1lJ,KAAaglJ,GAAA,MACR,CAACA,GAAYhlJ,IAAA,KAGD,KAAdA,GAAkB,QACvBsP,EAAS,KAETxR,GADAkC,EAAYmlJ,GAAcnlJ,IACXJ,OAAO,QAGf,QACA,IACH0P,EAAS81I,GAAsBplJ,EAAUiK,UAAU,GAAInM,GAAA,cAIvDwR,EAAS+1I,GAAyBrlJ,GAAA,GAIvB,OAAXsP,EAAA,OACKo2I,GAAA,GAGTxlJ,EAAO6E,KAAKuK,EAAO,IAKD,MAHlBtP,EAAYmlJ,GAAc71I,EAAO,MAGe,MAAxBtP,EAAUJ,OAAO,UAChC8lJ,GAGT1lJ,EAAYA,EAAUX,QAAQ,KAAM,WAG/Ba,CAAA,CA7CF,CQsO6B2B,GAAA,GAExBoQ,KAAK0yJ,UAAA,KAYH91J,ER/VP,SAAyBU,EAAazR,EAAOwR,GAAA,QAG9CpP,GAFJoP,EAAOA,GAAQ,CAAC,GAEas1J,mBAAqB,QAC9C5kK,EAAsByB,OAAOa,OAC/B,CAAC,EACDyiJ,GACAz1I,EAAKu1J,qBAAuB,CAAC,GAG3BhjK,EAAO,KACP62D,EAAU,KAELrmD,EAAI,EAAGA,EAAIvU,EAAMqC,SAAUkS,EAAA,GAG9BrS,GAFJ6B,EAAOgjJ,GAAkB/mJ,EAAMuU,KAEF+wJ,UAC3BvhK,EAAKuhK,OAASpjK,EAAoB6B,EAAKuhK,SAGrC7zJ,EAAYqC,eAAe/P,EAAKuhK,QAAS,CAC3C1qG,EAAUnpD,EAAY1N,EAAKuhK,QAAA,WAO/B1qG,EAAUA,GAAWnpD,EAAYrP,IAAA,MAKzB,IAAIpB,MACR,8CACEmmJ,GAAapjJ,GACb,yBACA3B,EACA,SAINw4D,EAzIF,SAA4BnpD,EAASzR,GAAA,GAC/BA,EAAYyR,GAAA,OACPzR,EAAYyR,GAAA,IAGjBD,EAAQo1I,GAAkBn1I,GAI1BrP,EAAMoP,GAASo1I,GAAiBoH,QAAc,EAAI,EAClD9rJ,EAAQ8kJ,GAAgBhnJ,EAAa2mJ,GAAkBn1I,EAAOpP,GAAA,IAE7DF,EAAA,MAGG,IAAIlB,MACR,oDAAsDyQ,GAAA,OAInDvP,CAAA,CApBT,CAyI+B6B,EAAKyhK,QAAS5qG,GAC3CA,EAnHF,SAA0BnpD,EAAWzR,GAAA,GAC/BA,EAAYyR,GAAA,OACPzR,EAAYyR,GAAA,QAGjBD,EAAWk1I,GAAej1I,GAErBrP,EAAI,EAAGA,EAAIoP,EAASnP,SAAUD,EAAA,GACjCpC,EAAYwR,EAASpP,IAAA,OAChBpC,EAAYwR,EAASpP,IAAA,MAM1B,IAAIpB,MAAM,4CAA8CyQ,EAAA,CAfhE,CAmH6B1N,EAAK1E,MAAOu7D,KACvCA,EAlGF,SAA2BnpD,EAAQzR,GAAA,GAC7BA,EAAYyR,GAAA,OACPzR,EAAYyR,GAAA,GAGN,MAAXA,GAAkBzR,EAAY,KAAM,OAC/BA,EAAY,QAGN,MAAXyR,GAAkBzR,EAAY,KAAM,OAC/BA,EAAY,SAGjBwR,EAAQs1I,GAAkBr1I,GAK1BrP,EAAQ4kJ,GAAgBhnJ,EAAa6mJ,GAAar1I,EAD5CC,EAAS,KAAO,EAAI,OAGzBrP,EAAA,MAGG,IAAIpB,MACR,mDAAqDyQ,GAAA,OAIlDrP,CAAA,CA5BT,CAkG8B2B,EAAKwhK,OAAQ3qG,IAAA,MAIjC,IAAI55D,MACR,0CAA4CmmJ,GAAapjJ,GAAQ,aAI9D62D,CAAA,CQ0SYwsF,CAXOn2I,EAAekD,KAAKsvJ,IAAKtvJ,KAAK0yJ,WAEpCtyJ,EAAMzG,KAAI,SAAS2D,GAAA,MACtB,CACL6zJ,OAAQ7zJ,EACR+zJ,QAAS,SACTD,OAAQnjK,EACR/C,MAAOmS,EAAA,UAKNiyJ,IAAIhR,QAAQ1hJ,EAAKozE,IAAIj1E,KAAM6B,EAAKozE,IAAI9kF,MAAA,UAIvC0S,EAAQ,IAEK,SAAf3P,GACAsjB,SAAStjB,EAAY,KAAO,KACd,SAAdoP,KAEAO,EAAQ,QAGQ,WAAdP,IACFO,GAAS,UAGU,IAAjBA,EAAM1P,SACR0P,EAAQ,kBAENZ,EAAgB,GAEhBC,EAAgB,CAClB41J,MAAO,YACPC,MAAO,YACPC,QAAS,YACTC,QAAS,YACTC,UAAW,YACXC,UAAW,yBACG,YACd5B,MAAO,UACPC,UAAW,UACXC,SAAU,UACVC,QAAS,QACTC,QAAS,QACTC,MAAO,SAGA90J,EAAI,EAAGA,EAAIuD,EAAMlS,OAAQ2O,IAAK,aAEnCmD,KAAKsvJ,IAAI1jB,SAAS2S,QAAQn+I,EAAMvD,GAAIe,EAAO,CACzC+7I,YAAA,EACAD,gBAAA,IAEF,CACA18I,EAAgBoD,EAAMvD,GAAA,MAEjB,GACK,eAAVe,QAAA,IACAoC,KAAKsvJ,IAAI1jB,SAAS2S,QAAQn+I,EAAMvD,GAAI,OAAQ,CAC1C88I,YAAA,EACAD,gBAAA,IAGF18I,EAAgBoD,EAAMvD,GACtBe,EAAQ,YACH,QAAI,IACToC,KAAKsvJ,IAAI1jB,SAAS2S,QAAQn+I,EAAMvD,GAAI,SAAU,CAC5C88I,YAAA,EACAD,gBAAA,IAEF,CACA18I,EAAgBoD,EAAMvD,GACtBe,EAAQ,mBAIU,KAAlBZ,EAAA,IACG,IAAIG,EAAI,EAAGA,EAAIiD,EAAMlS,OAAQiP,IAAA,GAC5BF,EAAcmD,EAAMjD,IAAK,CAC3BH,EAAgBC,EAAcmD,EAAMjD,IAAA,MAK1CH,EAAkC,KAAlBA,EAAuB,QAAUA,EAAA,KAC5CsyJ,IAAIhR,QAAQthJ,EAAeY,EAAA,MAIpCpO,OAAOoM,eAAeoE,KAAM,2BAA4B,CACtDsH,IAAK,kBACItH,KAAK62B,IAAIo7H,wBAAA,EAElB/lG,IAAK,SAAS5uD,GAAA,KACPu5B,IAAIo7H,yBAA2B30J,CAAA,IAIxC9N,OAAOoM,eAAeoE,KAAM,cAAe,CACzCsH,IAAK,kBACItH,KAAK62B,IAAI0gB,WAAA,EAElB2U,IAAK,SAAS5uD,GAAA,KACPu5B,IAAI0gB,YAAcj6C,CAAA,IAU3B9N,OAAOoM,eAAeoE,KAAM,iBAAkB,CAC5CsH,IAAK,kBACItH,KAAK62B,IAAIy7H,cAAA,EAElBpmG,IAAK,SAAS5uD,GAAA,KACPu5B,IAAIy7H,eAAiBh1J,EAC1By2B,EAAYrkC,KAAKsQ,KAAA,IAKrBxQ,OAAOoM,eAAeoE,KAAM,WAAY,CACtCsH,IAAK,kBACItH,KAAK62B,IAAI07H,QAAA,EAElBrmG,IAAK,SAAS5uD,GAAA,KACPu5B,IAAI07H,SAAWj1J,EACpBy2B,EAAYrkC,KAAKsQ,KAAA,IAKrBxQ,OAAOoM,eAAeoE,KAAM,kBAAmB,CAC7CsH,IAAK,kBACItH,KAAK62B,IAAI47H,eAAA,EAElBvmG,IAAK,SAAS5uD,GAAA,KACPu5B,IAAI47H,gBAAkBxrG,QAAQ3pD,EAAA,KAWzCH,EAAU1N,UAAU+tD,YAAc,SAASlgD,GAAA,KACpCi1J,SAAWj1J,CAAA,EASlBH,EAAU1N,UAAU0jK,YAAc,kBAC5BnzJ,KAAKuyJ,SAASrkK,OAAS,EAElB8R,KAAKuyJ,SAASzjK,OAAOkR,KAAKuyJ,UAG1BvyJ,KAAKuyJ,SAASvhK,OAAA,EAIzBmM,EAAU1N,UAAU4pD,KAAO,WACzBv7C,EAAepO,KAAKsQ,KAAM,QAAQ,IAUpC7C,EAAU1N,UAAUiuD,OAAS,WAC3B5/C,EAAepO,KAAKsQ,KAAM,UAAU,IAUtC7C,EAAU1N,UAAU6pD,UAAY,gBACzB9oD,KAAO,CACV,CACEqK,KAAM,WAaZsC,EAAU1N,UAAU6qD,OAAS,SAASh9C,EAAGzR,GAAA,GACnCu+D,MAAM9sD,IAAM8sD,MAAMv+D,GAAA,MACpB+D,GAAQ7C,MAAM,4CAA6C8F,WACrD,IAAIhG,MAAM,0DAGdwQ,EAAK2C,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMU,EAAGzR,IAAA,KAEjD2E,KAAKsC,KAAK,CACb+H,KAAM,KACN4C,EAAGJ,EAAGI,EACNC,EAAGL,EAAGK,IAAA,KAEHm5B,IAAIw7H,UAAY,IAAIz1J,EAAMU,EAAGzR,EAAA,EAUpCsR,EAAU1N,UAAUgrD,UAAY,eAC1B5uD,EAAY,IAAI+Q,EAAM,EAAG,GACzBS,EAAI,MACHA,EAAI2C,KAAKxP,KAAKtC,OAAS,GAAU,IAAPmP,EAAUA,IAAA,GACb,UAAtB2C,KAAKxP,KAAK6M,GAAGxC,MAEe,YAA5ByC,EAAAA,GAAAA,GAAO0C,KAAKxP,KAAK6M,EAAI,KACS,iBAAvB2C,KAAKxP,KAAK6M,EAAI,GAAGI,EACxB,CACA5R,EAAY,IAAI+Q,EAAMoD,KAAKxP,KAAK6M,EAAI,GAAGI,EAAGuC,KAAKxP,KAAK6M,EAAI,GAAGK,GAAA,WAK5DlN,KAAKsC,KAAK,CACb+H,KAAM,eAEHg8B,IAAIw7H,UAAY,IAAIz1J,EAAM/Q,EAAU4R,EAAG5R,EAAU6R,EAAA,EAYxDP,EAAU1N,UAAU8qD,OAAS,SAASj9C,EAAGzR,GAAA,GACnCu+D,MAAM9sD,IAAM8sD,MAAMv+D,GAAA,MACpB+D,GAAQ7C,MAAM,4CAA6C8F,WACrD,IAAIhG,MAAM,0DAGdwQ,EAAK2C,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMU,EAAGzR,IAAA,KAEjD2E,KAAKsC,KAAK,CACb+H,KAAM,KACN4C,EAAGJ,EAAGI,EACNC,EAAGL,EAAGK,IAAA,KAEHm5B,IAAIw7H,UAAY,IAAIz1J,EAAMS,EAAGI,EAAGJ,EAAGK,EAAA,EAU1CP,EAAU1N,UAAUnE,KAAO,gBACpBurC,IAAIq7H,UAAY3vG,KAAK9pC,MAAM8pC,KAAKC,UAAUxiD,KAAKxP,OACpDsN,EAAepO,KAAKsQ,KAAM,MAAM,IAclC7C,EAAU1N,UAAU2jK,iBAAmB,SAAS91J,EAAKzR,EAAKwR,EAAGpP,GAAA,GACvDm8D,MAAM/sD,IAAM+sD,MAAMn8D,IAAMm8D,MAAM9sD,IAAQ8sD,MAAMv+D,GAAA,MAC9C+D,GAAQ7C,MACN,sDACA8F,WAEI,IAAIhG,MACR,oEAIAkB,EAAMiS,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMS,EAAGpP,IACnDw4D,EAAMzmD,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMU,EAAKzR,IAAA,KAEpD2E,KAAKsC,KAAK,CACb+H,KAAM,MACNqgD,GAAIuL,EAAIhpD,EACR29C,GAAIqL,EAAI/oD,EACRD,EAAG1P,EAAI0P,EACPC,EAAG3P,EAAI2P,IAAA,KAEJm5B,IAAIw7H,UAAY,IAAIz1J,EAAM7O,EAAI0P,EAAG1P,EAAI2P,EAAA,EAgB5CP,EAAU1N,UAAUirD,cAAgB,SAASp9C,EAAMzR,EAAMwR,EAAMpP,EAAMF,EAAG04D,GAAA,GAEpE2D,MAAMr8D,IACNq8D,MAAM3D,IACN2D,MAAM9sD,IACN8sD,MAAMv+D,IACNu+D,MAAM/sD,IACN+sD,MAAMn8D,GAAA,MAEN2B,GAAQ7C,MACN,mDACA8F,WAEI,IAAIhG,MACR,iEAGAuT,EAAMJ,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAM7O,EAAG04D,IACnD7oD,EAAMoC,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMU,EAAMzR,IACtDmR,EAAMgD,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMS,EAAMpP,IAAA,KAErDuC,KAAKsC,KAAK,CACb+H,KAAM,MACNqgD,GAAIt9C,EAAIH,EACR29C,GAAIx9C,EAAIF,EACRuqJ,GAAIjrJ,EAAIS,EACR41J,GAAIr2J,EAAIU,EACRD,EAAG2C,EAAI3C,EACPC,EAAG0C,EAAI1C,IAAA,KAEJm5B,IAAIw7H,UAAY,IAAIz1J,EAAMwD,EAAI3C,EAAG2C,EAAI1C,EAAA,EAgB5CP,EAAU1N,UAAU8pD,IAAM,SACxBj8C,EACAzR,EACAwR,EACApP,EACAF,EACA04D,GAAA,GAGE2D,MAAM9sD,IACN8sD,MAAMv+D,IACNu+D,MAAM/sD,IACN+sD,MAAMn8D,IACNm8D,MAAMr8D,GAAA,MAEN6B,GAAQ7C,MAAM,yCAA0C8F,WAClD,IAAIhG,MAAM,sDAElB45D,EAAmBQ,QAAQR,IAEtBzmD,KAAK62B,IAAInG,UAAU4iI,WAAY,KAC9BlzJ,EAAMJ,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMU,EAAGzR,IACvDyR,EAAI8C,EAAI3C,EACR5R,EAAIuU,EAAI1C,EAAA,IAEJE,EAAUoC,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAM,EAAGS,IACvDL,EAAWgD,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAM,EAAG,IAC5DS,EAASrI,KAAKgxB,KACZhxB,KAAK8c,IAAIlU,EAAQH,EAAIT,EAASS,EAAG,GAC/BzI,KAAK8c,IAAIlU,EAAQF,EAAIV,EAASU,EAAG,IAGnC1I,KAAKuwB,IAAIx3B,EAAWE,IAAe,EAAI+G,KAAK2jB,KAC9C1qB,EAAa,EACbF,EAAW,EAAIiH,KAAK2jB,IAAA,KAGjBnoB,KAAKsC,KAAK,CACb+H,KAAM,MACN4C,EAAGH,EACHI,EAAG7R,EACH0nK,OAAQl2J,EACRm2J,WAAYvlK,EACZwlK,SAAU1lK,EACV2lK,iBAAkBjtG,GAAA,EAkBtBtpD,EAAU1N,UAAUkkK,MAAQ,SAASr2J,EAAIzR,EAAIwR,EAAIpP,EAAIF,GAAA,MAC7C,IAAIlB,MAAM,2BAclBsQ,EAAU1N,UAAUqT,KAAO,SAASxF,EAAGzR,EAAGwR,EAAGpP,GAAA,GACvCm8D,MAAM9sD,IAAM8sD,MAAMv+D,IAAMu+D,MAAM/sD,IAAM+sD,MAAMn8D,GAAA,MAC5C2B,GAAQ7C,MAAM,0CAA2C8F,WACnD,IAAIhG,MAAM,yDAEbytD,OAAOh9C,EAAGzR,GAAA,KACV0uD,OAAOj9C,EAAID,EAAGxR,GAAA,KACd0uD,OAAOj9C,EAAID,EAAGxR,EAAIoC,GAAA,KAClBssD,OAAOj9C,EAAGzR,EAAIoC,GAAA,KACdssD,OAAOj9C,EAAGzR,GAAA,KACV0uD,OAAOj9C,EAAID,EAAGxR,GAAA,KACd0uD,OAAOj9C,EAAGzR,EAAA,EAcjBsR,EAAU1N,UAAU4nC,SAAW,SAAS/5B,EAAGzR,EAAGwR,EAAGpP,GAAA,GAC3Cm8D,MAAM9sD,IAAM8sD,MAAMv+D,IAAMu+D,MAAM/sD,IAAM+sD,MAAMn8D,GAAA,MAC5C2B,GAAQ7C,MAAM,8CAA+C8F,WACvD,IAAIhG,MAAM,4DAEdqQ,EAAkBxN,KAAKsQ,MAAO,CAAP,IAGvBjS,EAAM,CAAC,EACU,SAAjBiS,KAAKy9C,UACP1vD,EAAI0vD,QAAUz9C,KAAKy9C,QAAA,KACdA,QAAU,QAEK,UAAlBz9C,KAAKg5C,WACPjrD,EAAIirD,SAAWh5C,KAAKg5C,SAAA,KACfA,SAAW,cAGbM,YAAA,KACAx2C,KAAKxF,EAAGzR,EAAGwR,EAAGpP,GAAA,KACdorD,OAEDtrD,EAAI4R,eAAe,kBAChB89C,QAAU1vD,EAAI0vD,SAEjB1vD,EAAI4R,eAAe,mBAChBq5C,SAAWjrD,EAAIirD,SAAA,GAexB77C,EAAU1N,UAAUmkK,WAAa,SAAoBt2J,EAAGzR,EAAGwR,EAAGpP,GAAA,GACxDm8D,MAAM9sD,IAAM8sD,MAAMv+D,IAAMu+D,MAAM/sD,IAAM+sD,MAAMn8D,GAAA,MAC5C2B,GAAQ7C,MAAM,gDAAiD8F,WACzD,IAAIhG,MAAM,0DAEd0Q,EAAoB7N,KAAKsQ,QAAAA,KAGxBs5C,YAAA,KACAx2C,KAAKxF,EAAGzR,EAAGwR,EAAGpP,GAAA,KACdyvD,SAAA,EAkBPvgD,EAAU1N,UAAUokK,UAAY,SAASv2J,EAAGzR,EAAGwR,EAAGpP,GAAA,GAC5Cm8D,MAAM9sD,IAAM8sD,MAAMv+D,IAAMu+D,MAAM/sD,IAAM+sD,MAAMn8D,GAAA,MAC5C2B,GAAQ7C,MAAM,+CAAgD8F,WACxD,IAAIhG,MAAM,yDAEdmT,KAAKyyJ,kBAAA,KAIJr7H,UAAY,eACZC,SAAS/5B,EAAGzR,EAAGwR,EAAGpP,GAAA,EASzBkP,EAAU1N,UAAU6nD,KAAO,SAASh6C,GAClCA,EAAqC,kBAAhBA,GAA4BA,EAAA,QAC7CzR,EAAgBmU,KAAKsvJ,IAAI1jB,SAASqP,qBAAqBx3B,WAClDpmH,EAAI,EAAGA,EAAI2C,KAAKsvJ,IAAI1jB,SAAS6N,mBAAoBp8I,IAAA,KACnDiyJ,IAAI9V,QAAQn8I,EAAI,QAChBiyJ,IAAI1jB,SAAS7P,IAAI,aAEnBuzB,IAAI9V,QAAQ3tJ,GAEbyR,EAAa,MACVu5B,IAAI1L,SAAWnrB,KAAKsvJ,IAAI1jB,SAASqC,cAAA,IAClChgJ,EAAM,IAAI4O,EAAamD,KAAK62B,KAAA,KAC3Bi9H,SAAShhK,KAAKkN,KAAK62B,KAAA,KACnBA,IAAM5oC,CAAA,GAUfkP,EAAU1N,UAAU+nD,QAAU,SAASl6C,GACrCA,EAAmC,kBAAfA,GAA2BA,EAAA,QAC3CzR,EAAgBmU,KAAKsvJ,IAAI1jB,SAASqP,qBAAqBx3B,WAClDpmH,EAAI,EAAGA,EAAI2C,KAAKsvJ,IAAI1jB,SAAS6N,mBAAoBp8I,IAAA,KACnDiyJ,IAAI9V,QAAQn8I,EAAI,QAChBiyJ,IAAI1jB,SAAS7P,IAAI,UAEnBuzB,IAAI9V,QAAQ3tJ,GAEbyR,GAAuC,IAAzB0C,KAAK8zJ,SAAS5lK,SAAA,KACzB2oC,IAAM72B,KAAK8zJ,SAAS3lK,MAAA,KACpBipC,UAAYp3B,KAAK62B,IAAIO,UAAA,KACrB0hB,YAAc94C,KAAK62B,IAAIiiB,YAAA,KACvBP,KAAOv4C,KAAK62B,IAAI0hB,KAAA,KAChBkF,QAAUz9C,KAAK62B,IAAI4mB,QAAA,KACnB1E,UAAY/4C,KAAK62B,IAAIkiB,UAAA,KACrBC,SAAWh5C,KAAK62B,IAAImiB,SAAA,KACpBu5G,SAAWvyJ,KAAK62B,IAAI07H,SAAA,KACpBD,eAAiBtyJ,KAAK62B,IAAIy7H,eAAA,EAQnCn1J,EAAU1N,UAAUwnC,UAAY,iBACxB,IAAIpqC,MAAM,mCAadkQ,EAAU,SAASO,GAAA,IAKjBzR,EAAGwR,EAAGpP,EAAGF,EAAA,QAETuP,EAAMy2J,mBACRz2J,EAAQA,EAAM02J,aAGX12J,EAAA,MACI,CAAED,EAAG,EAAGN,EAAG,EAAGlN,EAAG,EAAGD,EAAG,EAAG1E,MAAOoS,GAAA,GATtB,sEAYFrQ,KAAKqQ,GACrBzR,EAAI,EACJwR,EAAI,EACJpP,EAAI,EACJF,EAAI,MACC,KACD6B,EApBM,gDAoBU4xD,KAAKlkD,GAAA,GACT,OAAZ1N,EACF/D,EAAI0lB,SAAS3hB,EAAQ,IACrByN,EAAIkU,SAAS3hB,EAAQ,IACrB3B,EAAIsjB,SAAS3hB,EAAQ,IACrB7B,EAAI,UAGY,QADhB6B,EA1BS,gEA0BQ4xD,KAAKlkD,IAEpBzR,EAAI0lB,SAAS3hB,EAAQ,IACrByN,EAAIkU,SAAS3hB,EAAQ,IACrB3B,EAAIsjB,SAAS3hB,EAAQ,IACrB7B,EAAIkoJ,WAAWrmJ,EAAQ,QAClB,IACL7B,EAAI,EAEiB,iBAAVuP,GAA0C,MAApBA,EAAM3P,OAAO,GAAY,KACpD84D,EAAW,IAAI3pD,GAASQ,GAE1BA,EADEmpD,EAAS7wD,GACH6wD,EAASkjF,QAET,UAIS,IAAjBrsI,EAAMpP,QACRrC,EAAIyR,EAAMtF,UAAU,EAAG,GACvBnM,GAAKA,EACLwR,EAAIC,EAAMtF,UAAU,EAAG,GACvBqF,GAAKA,EACLpP,EAAIqP,EAAMtF,UAAU,EAAG,GACvB/J,GAAKA,IAELpC,EAAIyR,EAAMtF,UAAU,EAAG,GACvBqF,EAAIC,EAAMtF,UAAU,EAAG,GACvB/J,EAAIqP,EAAMtF,UAAU,EAAG,IAEzBnM,EAAI0lB,SAAS1lB,EAAG,IAChBwR,EAAIkU,SAASlU,EAAG,IAChBpP,EAAIsjB,SAAStjB,EAAG,WAIf,CAAEoP,EAAGxR,EAAGkR,EAAGM,EAAGxN,EAAG5B,EAAG2B,EAAG7B,EAAG7C,MAAOoS,EAAA,EAUtCJ,EAAoB,kBACf8C,KAAK62B,IAAIm7H,mBAAyC,GAApBhyJ,KAAKu3C,WAAA,EAUxCh6C,EAAsB,kBACjB0pD,QAAQjnD,KAAK62B,IAAIk7H,qBAA2C,GAApB/xJ,KAAKu3C,YAAA,EActDp6C,EAAU1N,UAAUuoD,SAAW,SAAS16C,EAAMzR,EAAGwR,EAAGpP,GAAA,GAC9Cm8D,MAAMv+D,IAAMu+D,MAAM/sD,IAAsB,iBAATC,EAAA,MACjC1N,GAAQ7C,MAAM,8CAA+C8F,WACvD,IAAIhG,MAAM,2DAElBoB,EAAWm8D,MAAMn8D,QAAA,EAAwBA,GACrCiP,EAAkBxN,KAAKsQ,MAAO,CAAP,IAIvBjS,EAAOqP,EAAQ4C,KAAK62B,IAAInG,UAAU88H,UAGlC/mG,EAAQzmD,KAAK62B,IAAInG,UAAUujI,OAE/BhmF,EAAQv+E,KAAKsQ,KAAM,CACjB7V,KAAMmT,EACNG,EAAG5R,EACH6R,EAAGL,EACH05C,MAAO0P,EACPjuC,MAAOzqB,EACPutJ,MAAOt7I,KAAKmsB,UACZwvH,SAAU1tJ,GAAA,GAedkP,EAAU1N,UAAUypD,WAAa,SAAS57C,EAAMzR,EAAGwR,EAAGpP,GAAA,GAChDm8D,MAAMv+D,IAAMu+D,MAAM/sD,IAAsB,iBAATC,EAAA,MACjC1N,GAAQ7C,MAAM,gDAAiD8F,WACzD,IAAIhG,MAAM,8DAEd0Q,EAAoB7N,KAAKsQ,MAAO,CAIpC/R,EAAWm8D,MAAMn8D,QAAA,EAAwBA,EAAA,IAErCF,EAAOqP,EAAQ4C,KAAK62B,IAAInG,UAAU88H,UAClC/mG,EAAQzmD,KAAK62B,IAAInG,UAAUujI,OAE/BhmF,EAAQv+E,KAAKsQ,KAAM,CACjB7V,KAAMmT,EACNG,EAAG5R,EACH6R,EAAGL,EACH05C,MAAO0P,EACP61F,cAAe,SACf9jI,MAAOzqB,EACPutJ,MAAOt7I,KAAKmsB,UACZwvH,SAAU1tJ,GAAA,GAadkP,EAAU1N,UAAUyoD,YAAc,SAAS56C,GAAA,GACrB,iBAATA,EAAA,MACT1N,GAAQ7C,MACN,iDACA8F,WAEI,IAAIhG,MACR,+DAGAhB,EAAMmU,KAAKsvJ,IACXjyJ,EAAI2C,KAAKsvJ,IAAI1jB,SAAS6P,YAEtBxtJ,EAAWpC,EAAI+/I,SAASqC,cACxBlgJ,EACDlC,EAAI4wJ,mBAAmBn/I,GAAQrP,EAAYpC,EAAI+/I,SAAS6P,YAWlD,OAEF,IAVW,SAASn+I,GAAA,IAErBzR,GADJyR,EAAUA,GAAW,CAAC,GACD6E,OAAS,SAC9B3S,OAAOoM,eAAeoE,KAAM,QAAS,CACnCsH,IAAK,kBACIzb,CAAA,IAGJmU,IAAA,CAEF,CAAgB,CAAEmC,MAZzBpU,GAAYiH,KAAK8kB,MAAY,GAAJzc,EAAU,GAAM,KAAS,OA0BpDF,EAAU1N,UAAUsnD,MAAQ,SAASz5C,EAAYzR,GAAA,GAC3Cu+D,MAAM9sD,IAAe8sD,MAAMv+D,GAAA,MAC7B+D,GAAQ7C,MAAM,2CAA4C8F,WACpD,IAAIhG,MAAM,yDAEdwQ,EAAS,IAAIL,EAAOM,EAAY,EAAK,EAAKzR,EAAa,EAAK,QAC3DgrC,IAAInG,UAAY1wB,KAAK62B,IAAInG,UAAUwjH,SAAS72I,EAAA,EAYnDF,EAAU1N,UAAU0kJ,OAAS,SAAS72I,GAAA,GAChC8sD,MAAM9sD,GAAA,MACR1N,GAAQ7C,MAAM,4CAA6C8F,WACrD,IAAIhG,MAAM,0DAEdhB,EAAS,IAAImR,EACfhI,KAAKywB,IAAInoB,GACTtI,KAAKwwB,IAAIloB,IACRtI,KAAKwwB,IAAIloB,GACVtI,KAAKywB,IAAInoB,GACT,EACA,QAEGu5B,IAAInG,UAAY1wB,KAAK62B,IAAInG,UAAUwjH,SAASroJ,EAAA,EAYnDsR,EAAU1N,UAAUwnD,UAAY,SAAS35C,EAAGzR,GAAA,GACtCu+D,MAAM9sD,IAAM8sD,MAAMv+D,GAAA,MACpB+D,GAAQ7C,MAAM,+CAAgD8F,WACxD,IAAIhG,MAAM,6DAEdwQ,EAAS,IAAIL,EAAO,EAAK,EAAK,EAAK,EAAKM,EAAGzR,GAAA,KAC1CgrC,IAAInG,UAAY1wB,KAAK62B,IAAInG,UAAUwjH,SAAS72I,EAAA,EAgBnDF,EAAU1N,UAAUihC,UAAY,SAASpzB,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG04D,GAAA,GAClD2D,MAAM9sD,IAAM8sD,MAAMv+D,IAAMu+D,MAAM/sD,IAAM+sD,MAAMn8D,IAAMm8D,MAAMr8D,IAAMq8D,MAAM3D,GAAA,MACpE72D,GAAQ7C,MAAM,+CAAgD8F,WACxD,IAAIhG,MAAM,6DAEduT,EAAS,IAAIpD,EAAOM,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG04D,GAAA,KAClC5vB,IAAInG,UAAY1wB,KAAK62B,IAAInG,UAAUwjH,SAAS9zI,EAAA,EAgBnDjD,EAAU1N,UAAUykK,aAAe,SAAS52J,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,GACzD0N,EAAI8sD,MAAM9sD,GAAK,EAAIA,EACnBzR,EAAIu+D,MAAMv+D,GAAK,EAAIA,EACnBwR,EAAI+sD,MAAM/sD,GAAK,EAAIA,EACnBpP,EAAIm8D,MAAMn8D,GAAK,EAAIA,EACnBF,EAAIq8D,MAAMr8D,GAAK,EAAIA,EACnB6B,EAAIw6D,MAAMx6D,GAAK,EAAIA,EAAA,KACdinC,IAAInG,UAAY,IAAI1zB,EAAOM,EAAGzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,EAAA,MAyC7CC,EAAa,kBAEbmQ,KAAKo2C,OAAO,GAAK,GACjBp2C,KAAKo2C,OAAO,GAAK,GACjBp2C,KAAKo2C,OAAO,GAAK,GACjBp2C,KAAKo2C,OAAO,GAAK,GAkBrBj5C,EAAU1N,UAAUunC,UAAY,SAC9B15B,EACAzR,EACAwR,EACApP,EACAF,EACA6B,EACA62D,EACArmD,EACAxD,GAAA,IAEIK,EAAkB+C,KAAKsvJ,IAAI5B,mBAAmBpwJ,GAC9CR,EAAU,EACVD,EAAU,EAGVM,EAAc,EACdJ,EAAc,WAEP9O,QAAA,IAAiCmS,IAE1CjD,EAAciD,EAAQnS,EACtB8O,EAAcH,EAAS7O,EACvB+O,EAAYG,EAAgBkF,MAAQlU,EAAUmS,EAASnS,EACvD4O,EAAYI,EAAgBmF,OAASrU,EAAW6O,EAAU7O,QAAA,IAIjD6B,IACTA,EAAI/D,EACJ46D,EAAIppD,EACJxR,EAAK,EACLwR,EAAK,YAGIpP,QAAA,IAAiCmS,IAC1CA,EAAQnS,EACR2O,EAAS7O,QAAA,IAEAE,QAAA,IAAiCmS,IAC1CA,EAAQnD,EAAgBkF,MACxBvF,EAASK,EAAgBmF,QAAA,QA2BvBlF,EAxBAK,EAAiCyC,KAAK62B,IAAInG,UAAUmjH,YACpDr2I,EAAQJ,EAAQG,EAA+B42I,OAAOR,KACtD71I,EAAS,IAAId,EAIbg2E,GADJl1E,GADAA,GADAA,EAASA,EAAOo2I,SAAS32I,EAA+B05C,YACxCi9F,SAAS32I,EAA+B62I,OACxCF,SAAS32I,EAA+Bw5C,QACrCy9F,iBACjB,IAAI52I,EACFhO,EAAI/D,EAAKsR,EACTspD,EAAIppD,EAAKN,EACT9O,EAAS6O,EACT/O,EAAU8O,IAGVyE,EAAY5D,EAAehO,KAAKsQ,KAAMgzE,GACtCxyE,EAAQ,GACHxS,EAAK,EAAGA,EAAKsT,EAAUpT,OAAQF,GAAM,GACN,IAAlCwS,EAAM3P,QAAQyQ,EAAUtT,KAC1BwS,EAAM1N,KAAKwO,EAAUtT,IAAA,GAIzB6lC,EAAUrzB,GAGNR,KAAKm0J,WAAA,QACHxrF,EAAMnoE,EAAM,GACZuP,EAAMvP,EAAMA,EAAMtS,OAAS,GACtB+/E,EAAItF,EAAKsF,EAAIl+D,EAAM,EAAGk+D,IAAK,MAC7BqhF,IAAI9V,QAAQvrE,GAAA,IAEbxrB,EACFziD,KAAKsvJ,IAAI1jB,SAASvoB,SAASlhH,MAAQnC,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,GAC9Dk1B,EAAkB,IAAN2C,EAAUjuE,KAAKo0J,KAAOp0J,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,GAC/DmT,EACFvpD,KAAKsvJ,IAAI1jB,SAASvoB,SAASjhH,OAC3BpC,KAAKo0J,KACLp0J,KAAKo2C,OAAO,GACZp2C,KAAKo2C,OAAO,GACVyyB,EACF7oE,KAAKsvJ,IAAI1jB,SAASvoB,SAASjhH,OAASpC,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,GAC/DtmC,EACI,IAANm+D,EAAU,EAAI1kB,GAAmB0kB,EAAI,GAAKpF,EAAA,GAEV,IAA9B7oE,KAAK62B,IAAIq7H,UAAUhkK,OAAc,KAC/B67D,EAAW/pD,KAAKxP,KACpB0M,EAAWqlD,KAAK9pC,MAAM8pC,KAAKC,UAAUxiD,KAAK62B,IAAIq7H,YAAA,KACzC1hK,KAAOs4E,EACV5rE,EACA8C,KAAKq0J,KAAOr0J,KAAKo2C,OAAO,IACvBtmC,EAAwBw7D,EAAYtrE,KAAK62B,IAAI27H,wBAEhD/0J,EAAU/N,KAAKsQ,KAAM,QAAQ,QACxBxP,KAAOu5D,CAAA,KAEVgpB,EAAUxwB,KAAK9pC,MAAM8pC,KAAKC,UAAUwwB,IACxCD,EAAUjK,EACR,CAACiK,GACD/yE,KAAKq0J,KAAOr0J,KAAKo2C,OAAO,IACvBtmC,EAAwBw7D,EAAYtrE,KAAK62B,IAAI27H,wBAC9C,OAEIz+H,GAAiBk6C,EAAItF,GAAOsF,EAAIl+D,IAAQlgB,EAAWH,KAAKsQ,MAE1D+zB,IAAA,KACGu7H,IAAIzhB,oBAAA,KACJyhB,IACFxsJ,KACC9C,KAAKo2C,OAAO,GACZp2C,KAAKo2C,OAAO,GACZqM,EACAomB,EACA,MAEDv9E,OACAyxJ,eAAA,KAEAuS,IAAIjnI,SACP/qB,EACA,OACAy1E,EAAQt1E,EACRs1E,EAAQr1E,EACRq1E,EAAQv1E,EACRu1E,EAAQ/1E,EACR,KACA,KACAQ,GAEEu2B,GAAA,KACGu7H,IAAIphB,sBAAA,WAIRohB,IAAIjnI,SACP/qB,EACA,OACA01E,EAAMv1E,EACNu1E,EAAMt1E,EACNs1E,EAAMx1E,EACNw1E,EAAMh2E,EACN,KACA,KACAQ,EAAA,MAKFE,EAAiB,SAASJ,EAAMzR,EAAWwR,GAAA,IACzCpP,EAAS,GACbpC,EAAYA,GAAamU,KAAKsvJ,IAAI1jB,SAASvoB,SAASlhH,MACpD9E,EACEA,GACA2C,KAAKsvJ,IAAI1jB,SAASvoB,SAASjhH,OAASpC,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,OAC/DroD,EAAUiS,KAAKo0J,KAAOp0J,KAAK62B,IAAI27H,uBAAA,OAE3Bl1J,EAAKzC,MAAA,YAEN,SACA,KACH5M,EAAO6E,KAAKkC,KAAKqsC,OAAO/jC,EAAKI,EAAI3P,GAAWsP,GAAa,aAEtD,MACHpP,EAAO6E,KACLkC,KAAKqsC,OAAO/jC,EAAKI,EAAI3P,EAAUuP,EAAKi2J,QAAUl2J,GAAa,GAE7DpP,EAAO6E,KACLkC,KAAKqsC,OAAO/jC,EAAKI,EAAI3P,EAAUuP,EAAKi2J,QAAUl2J,GAAa,aAG1D,UACCzN,EAAuBm6D,EACzB/pD,KAAK62B,IAAIw7H,UAAU50J,EACnBuC,KAAK62B,IAAIw7H,UAAU30J,EACnBJ,EAAK49C,GACL59C,EAAK89C,GACL99C,EAAKG,EACLH,EAAKI,GAEPzP,EAAO6E,KACLkC,KAAKqsC,OAAOzxC,EAAqB8N,EAAI3P,GAAWsP,GAAa,GAE/DpP,EAAO6E,KACLkC,KAAKqsC,OACFzxC,EAAqB8N,EAAI9N,EAAqBoN,EAAIjP,GACjDsP,GACA,aAGH,UACCopD,EAAoBssB,EACtB/yE,KAAK62B,IAAIw7H,UAAU50J,EACnBuC,KAAK62B,IAAIw7H,UAAU30J,EACnBJ,EAAK49C,GACL59C,EAAK89C,GACL99C,EAAK2qJ,GACL3qJ,EAAK+1J,GACL/1J,EAAKG,EACLH,EAAKI,GAEPzP,EAAO6E,KACLkC,KAAKqsC,OAAOolB,EAAkB/oD,EAAI3P,GAAWsP,GAAa,GAE5DpP,EAAO6E,KACLkC,KAAKqsC,OACFolB,EAAkB/oD,EAAI+oD,EAAkBzpD,EAAIjP,GAAWsP,GACtD,aAGH,OACHpP,EAAO6E,KAAKkC,KAAKqsC,OAAO/jC,EAAKI,EAAI3P,GAAWsP,GAAa,GACzDpP,EAAO6E,KAAKkC,KAAKqsC,OAAO/jC,EAAKI,EAAIJ,EAAKN,EAAIjP,GAAWsP,GAAa,OAGjE,IAAI+C,EAAI,EAAGA,EAAInS,EAAOC,OAAQkS,GAAK,EAAG,KAClCJ,KAAKsvJ,IAAI1jB,SAAS6N,mBAAqBxrJ,EAAOmS,IACnD5C,EAAQ9N,KAAKsQ,MAAA,OAGV/R,CAAA,EAGLuP,EAAU,eACRF,EAAY0C,KAAKo3B,UACjBvrC,EAAcmU,KAAK84C,YACnBz7C,EAAO2C,KAAKu4C,KACZtqD,EAAU+R,KAAKy9C,QACf1vD,EAAYiS,KAAK+4C,UACjBnpD,EAAWoQ,KAAKg5C,SAAA,KACfs2G,IAAIpU,UAAA,KACJ9jH,UAAY95B,EAAA,KACZw7C,YAAcjtD,EAAA,KACd0sD,KAAOl7C,EAAA,KACPogD,QAAUxvD,EAAA,KACV8qD,UAAYhrD,EAAA,KACZirD,SAAWppD,CAAA,EAGdk5E,EAAmB,SAASxrE,EAAOzR,EAAGwR,GAAA,IACnC,IAAIpP,EAAI,EAAGA,EAAIqP,EAAMpP,OAAQD,IAAA,OACxBqP,EAAMrP,GAAG4M,MAAA,IACV,MACHyC,EAAMrP,GAAGg6J,IAAMp8J,EACfyR,EAAMrP,GAAGolK,IAAMh2J,EAAA,IACZ,MACHC,EAAMrP,GAAGitD,IAAMrvD,EACfyR,EAAMrP,GAAGmtD,IAAM/9C,EAGZ,QAEHC,EAAMrP,GAAGwP,GAAK5R,EACdyR,EAAMrP,GAAGyP,GAAKL,EAAA,OAGbC,CAAA,EAGLu2B,EAAY,SAASv2B,GAAA,OAChBA,EAAMs9H,MAAK,SAASt9H,EAAGzR,GAAA,OACrByR,EAAIzR,CAAA,KAIXiS,EAAiB,SAASR,EAAMzR,GAAA,QAU9BwR,EACApP,EAVAF,EAAYiS,KAAKo3B,UACjBxnC,EAAcoQ,KAAK84C,YACnB2N,EAAUzmD,KAAKy9C,QACfr9C,EAAeJ,KAAK+4C,UACpBn8C,EAAY5H,KAAKuwB,IAAInlB,EAAeJ,KAAK62B,IAAInG,UAAUujI,QACvDr2J,EAAWoC,KAAKg5C,SAEhBh8C,EAAWulD,KAAK9pC,MAAM8pC,KAAKC,UAAUxiD,KAAKxP,OAC1CyM,EAAQslD,KAAK9pC,MAAM8pC,KAAKC,UAAUxiD,KAAKxP,OAGvCsM,EAAQ,GAEHD,EAAI,EAAGA,EAAII,EAAM/O,OAAQ2O,IAAA,YACrBI,EAAMJ,GAAGY,EAAA,QACdN,EAAOO,EAAehO,KAAKsQ,KAAM/C,EAAMJ,IAElCE,EAAK,EAAGA,EAAKI,EAAKjP,OAAQ6O,GAAM,GACN,IAA7BD,EAAMjM,QAAQsM,EAAKJ,KACrBD,EAAMhK,KAAKqK,EAAKJ,IAAA,IAMnB,IAAIG,EAAI,EAAGA,EAAIJ,EAAM5O,OAAQgP,IAAA,KACzB8C,KAAKsvJ,IAAI1jB,SAAS6N,mBAAqB38I,EAAMI,IAClDM,EAAQ9N,KAAKsQ,MAAA,GAGjB6zB,EAAU/2B,GAENkD,KAAKm0J,WAAA,QACH52J,EAAMT,EAAM,GACZgB,EAAMhB,EAAMA,EAAM5O,OAAS,GACtB8kF,EAAIz1E,EAAKy1E,EAAIl1E,EAAM,EAAGk1E,IAAK,MAC7Bs8E,IAAI9V,QAAQxmE,GAAA,KAEZ57C,UAAYrpC,EAAA,KACZ+qD,YAAclpD,EAAA,KACd6tD,QAAUgJ,EAAA,KACV1N,UAAYn8C,EAAA,KACZo8C,SAAWp7C,EAAA,IAEZ0D,EACFtB,KAAKsvJ,IAAI1jB,SAASvoB,SAASlhH,MAAQnC,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,GAC9D51C,EAAkB,IAANwyE,EAAUhzE,KAAKo0J,KAAOp0J,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,GAC/DpoD,EACFgS,KAAKsvJ,IAAI1jB,SAASvoB,SAASjhH,OAC3BpC,KAAKo0J,KACLp0J,KAAKo2C,OAAO,GACZp2C,KAAKo2C,OAAO,GACVuyB,EACF3oE,KAAKsvJ,IAAI1jB,SAASvoB,SAASjhH,OAASpC,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,GAC/DrmC,EACI,IAANijE,EAAU,EAAIhlF,GAAmBglF,EAAI,GAAKrK,EAAA,GAEV,IAA9B3oE,KAAK62B,IAAIq7H,UAAUhkK,OAAc,KAC/B+/E,EAAWjuE,KAAKxP,KACpB6M,EAAWklD,KAAK9pC,MAAM8pC,KAAKC,UAAUxiD,KAAK62B,IAAIq7H,YAAA,KACzC1hK,KAAOs4E,EACVzrE,EACA2C,KAAKq0J,KAAOr0J,KAAKo2C,OAAO,IACvBrmC,EAAwBvP,EAAYR,KAAK62B,IAAI27H,wBAEhD/0J,EAAU/N,KAAKsQ,KAAM1C,GAAA,GAAM,KACtB9M,KAAOy9E,CAAA,IAEdhgF,EAAUs0D,KAAK9pC,MAAM8pC,KAAKC,UAAUxlD,IAAA,KAC/BxM,KAAOs4E,EACV76E,EACA+R,KAAKq0J,KAAOr0J,KAAKo2C,OAAO,IACvBrmC,EAAwBvP,EAAYR,KAAK62B,IAAI27H,yBAAA,IAE5C3mK,GAA0B,IAANmnF,EAAS,KACzBvwB,GAAiBuwB,EAAIz1E,GAAOy1E,EAAIl1E,IAAQjO,EAAWH,KAAKsQ,MAC1DyiD,IAAA,KACG6sG,IAAIzhB,oBAAA,KACJyhB,IACFxsJ,KACC9C,KAAKo2C,OAAO,GACZp2C,KAAKo2C,OAAO,GACZ90C,EACAqnE,EACA,MAEDr9E,OACAyxJ,eAELt/I,EAAU/N,KAAKsQ,KAAM1C,EAAMzR,GACvB42D,GAAA,KACG6sG,IAAIphB,sBAAA,MAGRn1F,UAAY34C,CAAA,WAGd24C,UAAYn8C,EACjBa,EAAU/N,KAAKsQ,KAAM1C,EAAMzR,GAAA,KACtBktD,UAAY34C,EAAA,KAEd5P,KAAOwM,CAAA,EAYVS,EAAY,SAASH,EAAMzR,GAAA,IAChB,WAATyR,GAAsBzR,IAAU0R,EAAoB7N,KAAKsQ,SAIhD,WAAT1C,GAAsBzR,IAAUqR,EAAkBxN,KAAKsQ,OAAA,SAOvD3C,EAwFApP,EA3FAF,EAAQ,GAIR6B,EAAQoQ,KAAKxP,KACRi2D,EAAI,EAAGA,EAAI72D,EAAM1B,OAAQu4D,IAAK,KACjCrmD,EAAKxQ,EAAM62D,GAAA,OAEPrmD,EAAGvF,MAAA,IACJ,QACH9M,EAAM+E,KAAK,CACTwhK,OAAA,IAAO,UAIN,QACHvmK,EAAM+E,KAAK,CACTy8B,OAAA,IAAO,UAIN,KACHxhC,EAAM+E,KAAK,CACTsT,MAAOhG,EACPm0J,OAAQ,GACRhvI,IAAK,eAIJ,SACC3oB,EAAM7O,EAAMG,OAAA,GACZ0B,EAAM62D,EAAI,KAAO2D,MAAMx6D,EAAM62D,EAAI,GAAGhpD,KACtCJ,EAAQ,CAAC+C,EAAG3C,EAAI7N,EAAM62D,EAAI,GAAGhpD,EAAG2C,EAAG1C,EAAI9N,EAAM62D,EAAI,GAAG/oD,GAChDd,EAAM,QACEA,GAAO,EAAGA,IAAA,QAEhB7O,EAAM6O,EAAM,GAAG2yB,QAAA,IACfxhC,EAAM6O,EAAM,GAAG03J,MACf,CACAvmK,EAAM6O,EAAM,GAAG23J,OAAOzhK,KAAKuK,GAC3BtP,EAAM6O,EAAM,GAAG2oB,IAAIzyB,KAAKsN,GAAA,gBAQ7B,MACH/C,EAAQ,CACN+C,EAAG86C,GAAKtrD,EAAM62D,EAAI,GAAGhpD,EACrB2C,EAAGg7C,GAAKxrD,EAAM62D,EAAI,GAAG/oD,EACrB0C,EAAG6nJ,GAAKr4J,EAAM62D,EAAI,GAAGhpD,EACrB2C,EAAGizJ,GAAKzjK,EAAM62D,EAAI,GAAG/oD,EACrB0C,EAAG3C,EAAI7N,EAAM62D,EAAI,GAAGhpD,EACpB2C,EAAG1C,EAAI9N,EAAM62D,EAAI,GAAG/oD,GAEtB3P,EAAMA,EAAMG,OAAS,GAAGqmK,OAAOzhK,KAAKuK,GAAA,UAGjC,UACCO,EAAKhO,EAAM62D,EAAI,GAAGhpD,EAAK,EAAM,GAAQ2C,EAAG86C,GAAKtrD,EAAM62D,EAAI,GAAGhpD,GAC1DT,EAAKpN,EAAM62D,EAAI,GAAG/oD,EAAK,EAAM,GAAQ0C,EAAGg7C,GAAKxrD,EAAM62D,EAAI,GAAG/oD,GAC1DT,EAAKmD,EAAG3C,EAAK,EAAM,GAAQ2C,EAAG86C,GAAK96C,EAAG3C,GACtCX,EAAKsD,EAAG1C,EAAK,EAAM,GAAQ0C,EAAGg7C,GAAKh7C,EAAG1C,GACtCb,EAAKuD,EAAG3C,EACRN,EAAKiD,EAAG1C,EACZL,EAAQ,CACNO,EAAKhO,EAAM62D,EAAI,GAAGhpD,EAClBT,EAAKpN,EAAM62D,EAAI,GAAG/oD,EAClBT,EAAKrN,EAAM62D,EAAI,GAAGhpD,EAClBX,EAAKlN,EAAM62D,EAAI,GAAG/oD,EAClBb,EAAKjN,EAAM62D,EAAI,GAAGhpD,EAClBN,EAAKvN,EAAM62D,EAAI,GAAG/oD,GAEpB3P,EAAMA,EAAMG,OAAS,GAAGqmK,OAAOzhK,KAAKuK,GAAA,UAGjC,MACHtP,EAAM+E,KAAK,CACTyhK,OAAQ,GACRhvI,IAAK,GACLg0B,KAAA,IAGEzpD,MAAMC,QAAQhC,EAAMA,EAAMG,OAAS,GAAGq3B,MACxCx3B,EAAMA,EAAMG,OAAS,GAAGq3B,IAAIzyB,KAAKsN,GAAA,CAavCnS,EAPGpC,EAOK,KANK,WAATyR,EACM,SAEA,eAMRP,GAAA,EACKlN,EAAI,EAAGA,EAAI9B,EAAMG,OAAQ2B,IAAA,GAC5B9B,EAAM8B,GAAG0pD,IAAA,QACP77C,EAAO3P,EAAM8B,GAAG01B,IAEX/nB,EAAK,EAAGA,EAAKE,EAAKxP,OAAQsP,IAAM,KACnCsrE,EAAMprE,EAAKF,GAEE,QAAbsrE,EAAIjuE,KACN2F,EAAQ9Q,KACNsQ,KACA8oE,EAAIrrE,EACJqrE,EAAIprE,EACJorE,EAAIyqF,OACJzqF,EAAI0qF,WACJ1qF,EAAI2qF,SACJ3qF,EAAI4qF,sBAAA,EAEJ7nK,GACCkR,GAGH0lD,EAAS/yD,KAAKsQ,KAAM8oE,EAAIrrE,EAAGqrE,EAAIprE,GAEjCX,GAAA,CAAQ,MAEL,IAAI,IAAAhP,EAAM8B,GAAG0/B,MAAA,KACb+/H,IAAI1jB,SAAS7P,IAAI,KACtBh/H,GAAA,OACK,IAAI,IAAAhP,EAAM8B,GAAGykK,MAAgB,KAC9BzgI,EAAI9lC,EAAM8B,GAAGuW,MAAM3I,EACnBK,EAAI/P,EAAM8B,GAAGuW,MAAM1I,EACvB4tE,EAAU57E,KAAKsQ,KAAMjS,EAAM8B,GAAG0kK,OAAQ1gI,EAAG/1B,GACzCf,GAAA,CAAQ,CAIR9O,GACFD,EAAS0B,KAAKsQ,KAAM/R,GAElBpC,GACF88E,EAAOj5E,KAAKsQ,KAAA,GAIZgzE,EAAc,SAAS11E,GAAA,IACrBzR,EACFmU,KAAKsvJ,IAAI1jB,SAASqC,cAAgBjuI,KAAKsvJ,IAAI1jB,SAAS6P,YAClDp+I,EAAUxR,GAAUmU,KAAKsvJ,IAAI1jB,SAASuT,sBAAwB,UAC1Dn/I,KAAK62B,IAAIqgB,cAAA,IACV,gBACI55C,EAAID,EAAA,IACR,aACIC,EAAIzR,EAASwR,EAAA,IACjB,iBACIC,EAAIzR,EAAS,EAAIwR,EAAA,IACrB,gBACIC,EAAIzR,EAAS,EAAIwR,EAIrB,eAEIC,EAAA,EAITgE,EAAgB,SAAShE,GAAA,OAIpBA,EAFL0C,KAAKsvJ,IAAI1jB,SAASqC,cAAgBjuI,KAAKsvJ,IAAI1jB,SAAS6P,aAC9Bz7I,KAAKsvJ,IAAI1jB,SAASuT,sBAAwB,IAIpEhiJ,EAAU1N,UAAU6rD,qBAAuB,eACrCh+C,EAAiB,oBAErBA,EAAek3J,WAAa,GAC5Bl3J,EAAei+C,aAAe,SAASj+C,EAAQzR,GAAA,KACxC2oK,WAAW1hK,KAAK,CAACwK,EAAQzR,GAAA,EAGhCyR,EAAe02J,SAAW,kBACO,IAA3Bh0J,KAAKw0J,WAAWtmK,OACX,UAGF8R,KAAKw0J,WAAW,GAAG,IAG5Bl3J,EAAey2J,kBAAA,EACRz2J,CAAA,EAETH,EAAU1N,UAAUurD,cAAgB,kBAC3Bh7C,KAAKs7C,sBAAA,EAEdn+C,EAAU1N,UAAUisD,qBAAuB,kBAClC17C,KAAKs7C,sBAAA,MAcV96C,EAAU,SACZlD,EACAzR,EACAwR,EACApP,EACAF,EACA6B,EACA62D,EACArmD,EACAxD,GAAA,QAGIgB,EAASirE,EAAUn5E,KAAKsQ,KAAM3C,EAAGpP,EAAIF,EAAI6B,GAEpCoN,EAAI,EAAGA,EAAIY,EAAO1P,OAAQ8O,IAAK,KAClCC,EAAQW,EAAOZ,GACT,IAANA,IACEJ,EACFmT,EAAOrgB,KAAKsQ,KAAM/C,EAAMi+C,GAAK59C,EAAGL,EAAMm+C,GAAKvvD,GAE3C42D,EAAS/yD,KAAKsQ,KAAM/C,EAAMi+C,GAAK59C,EAAGL,EAAMm+C,GAAKvvD,IAGjD09D,EAAU75D,KACRsQ,KACA1C,EACAzR,EACAoR,EAAMgrJ,GACNhrJ,EAAMo2J,GACNp2J,EAAMkrJ,GACNlrJ,EAAMw3J,GACNx3J,EAAMirJ,GACNjrJ,EAAMy3J,GAAA,CAILt0J,EAGHuoE,EAAOj5E,KAAKsQ,MAFZhS,EAAS0B,KAAKsQ,KAAMymD,EAAA,EAMpBz4D,EAAW,SAASsP,GAAA,OACdA,GAAA,IACD,cACEgyJ,IAAI1jB,SAAS7P,IAAI,eAEnB,YACEuzB,IAAI1jB,SAAS7P,IAAI,OAKxBpzD,EAAS,gBACN2mF,IAAIhkK,OAAA,KACJgkK,IAAIvS,aAAA,EAGPhtI,EAAS,SAASzS,EAAGzR,GAAA,KAClByjK,IAAI1jB,SAAS7P,IAChB9tI,EAA8BqP,GAC5B,IACAvP,EAA4BlC,GAC5B,OAIFoiF,EAAU,SAAS3wE,GAAA,IACjBzR,EAAA,OACIyR,EAAQg+I,OAAA,IACT,YACA,MACHzvJ,EAAY,kBAET,SACHA,EAAY,eAGT,QAEHA,EAAY,WAIZwR,EAAiB2C,KAAKsvJ,IAAIU,kBAAkB1yJ,EAAQnT,MACpD8D,EAAY+kF,EAAYtjF,KAAKsQ,KAAM1C,EAAQI,GAE3C3P,EADUuT,EAAc5R,KAAKsQ,KAAM/R,GAClBoP,EAAeL,EAEhCpN,EAAKoQ,KAAK62B,IAAInG,UAAU4jH,aAAa,IAAI13I,EAAMU,EAAQG,EAAGxP,IAC1Dw4D,EAAiCzmD,KAAK62B,IAAInG,UAAUmjH,YACpDzzI,EAAS,IAAIpD,EAGjBoD,GADAA,GADAA,EAASA,EAAO8zI,SAASztF,EAA+BxP,YACxCi9F,SAASztF,EAA+B2tF,OACxCF,SAASztF,EAA+B1P,OAAA,QAkBpD95C,EAAUH,EAASD,EAhBnBM,EAAe6C,KAAK62B,IAAInG,UAAU8jH,iBACpC,IAAI52I,EAAUN,EAAQG,EAAGxP,EAAWoP,EAAeG,EAAGH,EAAeL,IAEnED,EAAaqD,EAAOo0I,iBACtB,IAAI52I,EAAUN,EAAQG,EAAG1P,EAAMsP,EAAeG,EAAGH,EAAeL,IAE9DE,EAAYQ,EAAehO,KAAKsQ,KAAMjD,GACtCQ,EAAQ,GACHC,EAAK,EAAGA,EAAKN,EAAUhP,OAAQsP,GAAM,GACN,IAAlCD,EAAM1M,QAAQqM,EAAUM,KAC1BD,EAAMzK,KAAKoK,EAAUM,IAAA,GAIzBq2B,EAAUt2B,GAGNyC,KAAKm0J,WAAA,QACHr2J,EAAMP,EAAM,GACZiD,EAAMjD,EAAMA,EAAMrP,OAAS,GACtBF,EAAI8P,EAAK9P,EAAIwS,EAAM,EAAGxS,IAAK,MAC7BshK,IAAI9V,QAAQxrJ,GAAA,IAEb26E,EAAkB,IAAN36E,EAAUgS,KAAKo0J,KAAOp0J,KAAKo2C,OAAO,GAAKp2C,KAAKo2C,OAAO,GAC/DrmC,EACF/P,KAAKsvJ,IAAI1jB,SAASvoB,SAASjhH,OAC3BpC,KAAKo0J,KACLp0J,KAAKo2C,OAAO,GACZp2C,KAAKo2C,OAAO,GACV63B,EACFjuE,KAAKsvJ,IAAI1jB,SAASvoB,SAASjhH,OAASpC,KAAKo2C,OAAO,GAC9CqM,EACFwrB,EAA8BjuE,KAAKo2C,OAAO,GACxCk1B,EACFtrE,KAAKsvJ,IAAI1jB,SAASvoB,SAASlhH,MAAQnC,KAAKo2C,OAAO,GAC7CmT,EAAwB+hB,EAA4BtrE,KAAKo2C,OAAO,GAChEyyB,EACI,IAAN76E,EAAU,EAAI+hB,GAAmB/hB,EAAI,GAAKy0D,EAAA,GAEV,IAA9BziD,KAAK62B,IAAIq7H,UAAUhkK,OAAc,KAC/B4hB,EAAW9P,KAAKxP,KACpByM,EAAWslD,KAAK9pC,MAAM8pC,KAAKC,UAAUxiD,KAAK62B,IAAIq7H,YAAA,KACzC1hK,KAAOs4E,EACV7rE,EACA+C,KAAKq0J,KAAOr0J,KAAKo2C,OAAO,IACvB,EAAIyyB,EAAwBF,GAE/BlrE,EAAU/N,KAAKsQ,KAAM,QAAQ,QACxBxP,KAAOsf,CAAA,KAEV1S,EAAmB0rE,EACrB,CAACvmB,KAAK9pC,MAAM8pC,KAAKC,UAAUzlD,KAC3BiD,KAAKq0J,KAAOr0J,KAAKo2C,OAAO,IACvByyB,EAAwBF,EAAY3oE,KAAK62B,IAAI27H,wBAC9C,GAEEl1J,EAAQy5C,OAAS,MACnBj6C,EAAUkD,KAAKsvJ,IAAI1jB,SAASqC,cAAA,KACvBqhB,IAAIthB,YAAYlxI,EAAUQ,EAAQy5C,OACvCl6C,EAAemD,KAAK+4C,UAAA,KACfA,UAAYl8C,EAAeS,EAAQy5C,OAAA,IAGtCgT,EAA8B,SAApB/pD,KAAKm0J,WAAA,GAGjBpqG,GACA3sD,EAAiBM,EAAIN,EAAiBJ,GAAKixE,GAAA,GAGzClkB,GACC3sD,EAAiBM,GAAKirE,GACrBvrE,EAAiBK,GAAK6tE,EACxB,KACIyH,EAAchpB,EACdzsD,EAAQnT,KACR6V,KAAKsvJ,IAAI1T,gBACPt+I,EAAQnT,KACRmT,EAAQq+I,UACNrwE,EAA4BluE,EAAiBK,GAC/C,GACFs2B,EAAqB+0C,EACvB,CAACvmB,KAAK9pC,MAAM8pC,KAAKC,UAAUrlD,KAC3B6C,KAAKq0J,KAAOr0J,KAAKo2C,OAAO,IACvByyB,EACCF,EACA3oE,KAAK62B,IAAI27H,wBACX,GAEIxiJ,EACJ+5C,IAAY/7D,EAAI8P,GAAO9P,EAAIwS,IAAQ3Q,EAAWH,KAAKsQ,MAEjDgQ,IAAA,KACGs/I,IAAIzhB,oBAAA,KACJyhB,IACFxsJ,KACC9C,KAAKo2C,OAAO,GACZp2C,KAAKo2C,OAAO,GACZmT,EACA9G,EACA,MAEDn3D,OACAyxJ,eAAA,KAGAuS,IAAInlK,KACP4oF,EACAh/C,EAAmBt2B,EACnBs2B,EAAmBr2B,EACnB,CACE8a,MAAOlb,EAAQkb,MACf8iI,MAAOzvJ,EACPywJ,cAAeh/I,EAAQg/I,gBAIvBtsI,GAAA,KACGs/I,IAAIphB,sBAAA,OAOT9wI,EAAiBM,EAAIuwE,IAAA,KAElBp3C,IAAI27H,wBACPvkF,EAA8B7wE,EAAiBM,GAIjDJ,EAAQy5C,OAAS,WACdu4G,IAAIthB,YAAYlxI,GAAA,KAChBi8C,UAAYl8C,EAAA,MAIjBS,EAAQy5C,OAAS,MACnBj6C,EAAUkD,KAAKsvJ,IAAI1jB,SAASqC,cAAA,KACvBqhB,IAAIthB,YAAYlxI,EAAUQ,EAAQy5C,OACvCl6C,EAAemD,KAAK+4C,UAAA,KACfA,UAAYl8C,EAAeS,EAAQy5C,OAAA,KAErCu4G,IAAInlK,KAAKmT,EAAQnT,KAAMyF,EAAG6N,EAAIuC,KAAKq0J,KAAMzkK,EAAG8N,EAAIsC,KAAKo0J,KAAM,CAC9D57I,MAAOlb,EAAQkb,MACf8iI,MAAOzvJ,EACPywJ,cAAeh/I,EAAQg/I,cACvBX,SAAUr+I,EAAQq+I,WAGhBr+I,EAAQy5C,OAAS,WACdu4G,IAAIthB,YAAYlxI,GAAA,KAChBi8C,UAAYl8C,EAAA,EAKnB4lD,EAAW,SAASnlD,EAAGzR,EAAGwR,EAAOzN,GACnCyN,EAAQA,GAAS,EACjBzN,EAAQA,GAAS,OAEZ0/J,IAAI1jB,SAAS7P,IAChB9tI,EAA8BqP,EAAID,GAChC,IACAtP,EAA4BlC,EAAI+D,GAChC,OAIF07E,EAAY,SAAShuE,EAAOzR,EAAGwR,GAAA,OAC1B2C,KAAKsvJ,IAAItR,MAAM1gJ,EAAOzR,EAAGwR,EAAG,KAAM,OAGvCksD,EAAY,SAASjsD,EAAGzR,EAAGoC,EAAIF,EAAI6B,EAAIgN,EAAIgB,EAAIZ,GAAA,KAC5CsyJ,IAAI1jB,SAAS7P,IAChB,CACE1+H,EAAGopD,EAAwBx4D,EAAKqP,IAChCD,EAAG+C,EAAsBrS,EAAKlC,IAC9BwR,EAAGopD,EAAwB72D,EAAK0N,IAChCD,EAAG+C,EAAsBxD,EAAK/Q,IAC9BwR,EAAGopD,EAAwB7oD,EAAKN,IAChCD,EAAG+C,EAAsBpD,EAAKnR,IAC9B,KACAuD,KAAK,OAUPy5E,EAAY,SAASvrE,EAAQzR,EAAYwR,EAAUpP,GAAA,QAEjDF,EAAkB,EAAViH,KAAK2jB,GACb/oB,EAASoF,KAAK2jB,GAAK,EAEhB9sB,EAAawR,GAClBxR,GAA0BkC,EAAA,IAExB04D,EAAazxD,KAAKuwB,IAAIloB,EAAWxR,GACjC46D,EAAa14D,GACXE,IACFw4D,EAAa14D,EAAQ04D,GAAA,QAKrBrmD,EAAS,GAGTxD,EAAM3O,GAAiB,EAAI,EAE3B2P,EAAK/R,EACF46D,EArBO,MAqBiB,KAEzBzpD,EAAKY,EADIhB,EAAM5H,KAAKmE,IAAIstD,EAAY72D,GAExCwQ,EAAOtN,KAAKgd,EAAepgB,KAAKsQ,KAAM1C,EAAQM,EAAIZ,IAClDypD,GAAczxD,KAAKuwB,IAAIvoB,EAAKY,GAC5BA,EAAKZ,CAAA,QAGAoD,CAAA,EAUL0P,EAAiB,SAASxS,EAAGzR,EAAIwR,GAAA,IAC/BpP,GAAKoP,EAAKxR,GAAM,EAEhBkC,EAAKuP,EAAItI,KAAKywB,IAAIx3B,GAClB2B,EAAK0N,EAAItI,KAAKwwB,IAAIv3B,GAClBw4D,EAAK14D,EACLqS,GAAMxQ,EAENgN,EAAK6pD,EAAKA,EAAKrmD,EAAKA,EACpBxC,EAAKhB,EAAK6pD,EAAK14D,EAAKqS,EAAKxQ,EACzBoN,EAAO,EAAI,GAAMhI,KAAKgxB,KAAK,EAAIppB,EAAKgB,GAAMA,IAAQ6oD,EAAK72D,EAAKwQ,EAAKrS,GAEjEkP,EAAKwpD,EAAKzpD,EAAKoD,EACftD,EAAKsD,EAAKpD,EAAKypD,EACf5pD,EAAKI,EACLE,GAAML,EAENC,EAAK9O,EAAIpC,EACTqR,EAASlI,KAAKywB,IAAI1oB,GAClBQ,EAASvI,KAAKwwB,IAAIzoB,GAAA,MAEf,CACLm+C,GAAI59C,EAAItI,KAAKywB,IAAI55B,GACjBuvD,GAAI99C,EAAItI,KAAKwwB,IAAI35B,GACjBo8J,GAAIhrJ,EAAKC,EAASJ,EAAKS,EACvB81J,GAAIp2J,EAAKM,EAAST,EAAKI,EACvBirJ,GAAItrJ,EAAKK,EAASC,EAAKI,EACvBk3J,GAAI53J,EAAKU,EAASJ,EAAKD,EACvBgrJ,GAAI5qJ,EAAItI,KAAKywB,IAAIpoB,GACjBq3J,GAAIp3J,EAAItI,KAAKwwB,IAAInoB,GAAA,EAIjBD,EAAU,SAASE,GAAA,OACL,IAARA,EAAetI,KAAK2jB,EAAA,EAG1BoxC,EAA4B,SAASzsD,EAAIzR,EAAIwR,EAAKpP,EAAKF,EAAI6B,GAAA,IACzD62D,EAAQnpD,EAAkB,IAAZD,EAAMC,GACpB8C,EAAQvU,EAAkB,IAAZoC,EAAMpC,GACpB+Q,EAAQ7O,EAAkB,IAAZsP,EAAMtP,GACpBiP,EAAQpN,EAAkB,IAAZ3B,EAAM2B,GACpBqN,EAAWjI,KAAKmE,IAAImE,EAAIvP,EAAI04D,EAAO7pD,GACnCE,EAAW9H,KAAKoE,IAAIkE,EAAIvP,EAAI04D,EAAO7pD,GACnCC,EAAW7H,KAAKmE,IAAItN,EAAI+D,EAAIwQ,EAAOpD,GACnCG,EAAWnI,KAAKoE,IAAIvN,EAAI+D,EAAIwQ,EAAOpD,GAAA,OAChC,IAAIY,EACTX,EACAJ,EACAC,EAAWG,EACXE,EAAWN,EAAA,EAKXk2E,EAAyB,SAASz1E,EAAIzR,EAAIwR,EAAIpP,EAAIF,EAAI6B,EAAI62D,EAAIrmD,GAAA,IAQ5DxD,EACFI,EACAC,EACAH,EACAD,EACAM,EAKAJ,EACAG,EACAK,EACA1N,EACA6N,EACAF,EACAsrE,EACAj1C,EAxBE/1B,EAAOT,EAAKC,EACZG,EAAOxP,EAAKpC,EACZmnF,EAAOjlF,EAAKsP,EACZiE,EAAO1R,EAAK3B,EACZuS,EAAOimD,EAAK14D,EACZC,EAAOoS,EAAKxQ,EAAA,IA0BXoN,EAAI,EAAGA,EAAI,GAAeA,IAoB7BO,GAPAR,GAXAE,EAAKK,GADLV,EAAII,EA1BU,IA2BAc,GAWJlB,IATVC,EAAKQ,EAAKT,EAAIo2E,GAIF/1E,IAYHL,GALJC,EAAKD,GATL7O,EAAK6O,EAAI4D,EAIF3D,GAOAE,GAIZlN,GAPAqN,GAXAJ,EAAKjR,EAAK+Q,EAAIa,GAWJb,IATVO,EAAKlP,EAAK2O,EAAI0E,GAIFxE,IAYHF,GALJO,EAAKP,GATLhN,EAAKgN,EAAI5O,EAIFmP,GAOAD,GAIH,GAALF,GACFU,EAAOH,EACPC,EAAO3N,EACPi5E,EAAOvrE,EACPs2B,EAAOhkC,IAEP6N,EAAO1I,KAAKmE,IAAIuE,EAAMH,GACtBC,EAAOxI,KAAKmE,IAAIqE,EAAM3N,GACtBi5E,EAAO9zE,KAAKoE,IAAI0vE,EAAMvrE,GACtBs2B,EAAO7+B,KAAKoE,IAAIy6B,EAAMhkC,IAAA,OAGnB,IAAI+N,EACT5I,KAAK8kB,MAAMpc,GACX1I,KAAK8kB,MAAMtc,GACXxI,KAAK8kB,MAAMgvD,EAAOprE,GAClB1I,KAAK8kB,MAAM+Z,EAAOr2B,GAAA,EAWlBu2B,EAAc,cAGb/zB,KAAK20J,cACL30J,KAAK62B,IAAI07H,SAASrkK,QAClB8R,KAAK62B,IAAIy7H,eAAA,KAZsBh1J,EAAUzR,EAkBtCwR,GAlB4BC,EAmBhC0C,KAAK62B,IAAI07H,SAnBiC1mK,EAoB1CmU,KAAK62B,IAAIy7H,eAnBJ/vG,KAAKC,UAAU,CACpB+vG,SAAUj1J,EACVg1J,eAAgBzmK,KAmBdmU,KAAK20J,eAAiBt3J,IAAA,KACnBiyJ,IAAI9xG,YAAYx9C,KAAK62B,IAAI07H,SAAUvyJ,KAAK62B,IAAIy7H,gBAAA,KAC5CqC,aAAet3J,EAAA,GA5lF1B,CA+lFGyS,GAAMinI,KC7mFT,SAAUz5I,GAAA,IAGJD,EAAgB,SAASC,GAAA,IACvBzR,EAAGwR,EAAGpP,EAAGF,EAAG6B,EAAG62D,EAAGrmD,EAAGxD,EAAGgB,EAAGZ,EAAA,IAG5B,eAAe/P,KAAKqQ,GAGnBD,EAAI,GACJpP,EAAI,EACJF,GAHAuP,GADAzR,EAAI,WAAmBmF,MAAMsM,EAAEpP,OAAS,GAAK,IAIvCA,OACRH,EAAIE,EACJA,GAAK,EAOH,KALD2B,GACE0N,EAAEwG,WAAW7V,IAAM,KACnBqP,EAAEwG,WAAW7V,EAAI,IAAM,KACvBqP,EAAEwG,WAAW7V,EAAI,IAAM,GACxBqP,EAAEwG,WAAW7V,EAAI,KAUZw4D,GADA72D,IAFAA,IAFAA,IAFAA,GAAKA,GADJoN,EAAIpN,EAAI,KACK,KACdgO,EAAIhO,EAAI,KACM,KACdgN,EAAIhN,EAAI,KACM,KACdwQ,EAAIxQ,EAAI,KACM,IACN,GACTyN,EAAEvK,KAAK2zD,EAAI,GAAIrmD,EAAI,GAAIxD,EAAI,GAAIgB,EAAI,GAAIZ,EAAI,KAC3CK,EAAEvK,KAAK,YAEZ,SAASwK,EAAGzR,GAAA,IACN,IAAIwR,EAAIxR,EAAGwR,EAAI,EAAGA,IAAKC,EAAEnP,KAAA,CAD/B,CAEEkP,EAAGxR,EAAEqC,QACR4R,OAAOuE,aAAazR,MAAMkN,OAAQzC,GAAK,MAIvCpP,EAAgB,SAASqP,GAAA,IACvBzR,EACFwR,EACApP,EACAF,EACA6B,EACA62D,EAAI3mD,OACJM,EAAI,SACJxD,EAAI,IACJgB,EAAI,aACJZ,EAAI,QACJC,EAAI,cAEKK,EAAEN,IAAI,GACbM,EAAIA,EAAEN,GAAG,GAAI,GACVC,GAAG,MAAO,IACVA,GAAG,IAAK,SAGXhP,EAAI,GACJF,EAAI,EACJ6B,GAHA0N,GADAzR,EAAI,QAAQmR,GAAGM,EAAE8C,GAAK,GAAK,IAIrBA,GACRxQ,EAAI7B,EACJA,GAAK,EAEJsP,EACC,UAAYC,EAAEM,GAAG7P,GAAK,IACtB,QAAUuP,EAAEM,GAAG7P,EAAI,GAAK,IACxB,MAAQuP,EAAEM,GAAG7P,EAAI,GAAK,IACtB,IAAMuP,EAAEM,GAAG7P,EAAI,GAAK,KACnBuP,EAAEM,GAAG7P,EAAI,GAAK,IACfE,EAAE6E,KAAK8J,EAAKS,GAAK,GAAKT,EAAKS,GAAK,GAAKT,EAAKS,GAAK,EAAIT,EAAIS,GAAA,OAExD,SAASC,EAAGzR,GAAA,IACN,IAAIwR,EAAIxR,EAAGwR,EAAI,EAAGA,IAAKC,EAAEnP,KAAA,CAD/B,CAEEF,EAAGpC,EAAEuU,IACRqmD,EAAEpiD,aAAazR,MAAM6zD,EAAGx4D,EAAA,EAexBF,EAAiB,SAASuP,GAAA,IACxBzR,EAAkB,IAAIu1D,OAAO,2BAEL,KAD5B9jD,EAAQA,EAAMlQ,QAAQ,MAAO,KACnByD,QAAQ,OAChByM,EAAQA,EAAMjO,OAAO,EAAGiO,EAAMzM,QAAQ,OAEpCyM,EAAMpP,OAAS,IACjBoP,GAAS,UAEPzR,EAAgBoB,KAAKqQ,GAAA,MAChB,WAELD,EAAS,GACJpP,EAAI,EAAGA,EAAIqP,EAAMpP,OAAQD,GAAK,EACrCoP,GAAUyC,OAAOuE,aAAa,MAAQ/G,EAAMrP,GAAKqP,EAAMrP,EAAI,YAEtDoP,CAAA,EAeLzN,EAAc,SAAS0N,GAAA,QACrBD,EAAM,IAAImH,WAAWlH,EAAKpP,QAC1BD,EAAIqP,EAAKpP,OACND,KACLoP,EAAIpP,GAAKqP,EAAKwG,WAAW7V,GAAA,OAE3BoP,EAAMxR,GAASwR,IACJ8oB,QAAO,SAAS7oB,EAAMzR,GAAA,OACxByR,EAAOwC,OAAOuE,aAAaxY,EAAA,GACjC,KAILyR,EAAS05I,qBAAuB,SAAS15I,EAAUzR,GAAA,IAE7C46D,EAAI,EACJrmD,EAAO9C,GAAY,GACnBV,EAAe,OAGQ,iBAF3B/Q,EAAcA,GAAe,MAG3BA,EAAc,CAACA,IAGZ46D,EAAI,EAAGA,EAAI56D,EAAYqC,OAAQu4D,GAAK,EAAG,OAClC56D,EAAY46D,IAAA,IACb,oBACA,iBACHrmD,EAAOnS,EAAcmS,GACrBxD,EAAa9J,KAAK,4BAEf,oBACA,iBACHsN,EAAO/C,EAAc+C,GACrBxD,EAAa9J,KAAK,4BAEf,qBACA,kBACHsN,EAAOrS,EAAeqS,GACtBxD,EAAa9J,KAAK,6BAEf,qBACA,kBACHsN,EAAsBA,EAlFvB3R,MAAM,IACNkL,KAAI,SAAS2D,GAAA,OACJ,IAAMA,EAAMwG,aAAa5O,SAAS,KAAKlE,OAAO,MAEvD5B,KAAK,IAAM,IA+EVwN,EAAa9J,KAAK,6BAEf,kBACA,eACHsN,EAAOxQ,EAAYwQ,GACnBxD,EAAa9J,KAAK,oCAGZ,IAAIjG,MACR,gBAAkBhB,EAAY46D,GAAK,8BAKpC,CAAE3/C,KAAM1G,EAAM62I,aAAcr6I,EAAauwC,UAAU/9C,KAAK,OArLnE,CAuLG0gB,GAAMinI,KCpLT,SAAUz5I,GAWRA,EAASytJ,SAAW,SAASztJ,EAAKzR,EAAMwR,GAAA,gBAchBC,EAAKzR,EAAMwR,GACjCxR,GAAA,IAAOA,EACPwR,EAA+B,mBAAbA,EAA0BA,EAAW,iBACnDpP,OAAA,EAAS,IAsCXA,EApCQ,SAASqP,EAAKzR,EAAMwR,GAAA,IACxBpP,EAAU,IAAIuoC,eACdzoC,EAAI,EAEJ6B,EAAkB,SAAS0N,GAAA,IACzBzR,EAAayR,EAAKpP,OAClBmP,EAAY,GACZpP,EAAqB6R,OAAOuE,aAAA,IAG3BtW,EAAI,EAAGA,EAAIlC,EAAYkC,GAAK,EAC/BsP,EAAUvK,KAAK7E,EAAwC,IAArBqP,EAAKwG,WAAW/V,KAAA,OAE7CsP,EAAUjO,KAAK,QAGxBnB,EAAQqhC,KAAK,MAAOhyB,GAAMzR,GAE1BoC,EAAQ2mK,iBAAiB,2CAErB/oK,IACFoC,EAAQ+pC,OAAS,WACQ,MAAnB/pC,EAAQq9C,OACVjuC,EAASzN,EAAgBoQ,KAAKwwG,eAE9BnzG,OAAA,EAAS,GAIfpP,EAAQ89C,KAAK,MAETlgD,GAA2B,MAAnBoC,EAAQq9C,OAAA,OACX17C,EAAgB3B,EAAQuiH,aAAA,CAhCzB,CAoCKlzG,EAAKzR,EAAMwR,EAAA,CAExB,MAAOC,GAAA,QACFrP,CAAA,CA1D+B,CAChBqP,EAAKzR,EAAMwR,EAAA,EAWnCC,EAASu3J,cAAgBv3J,EAASytJ,QAAA,CAvBpC,CAoGGj7I,GAAMinI,KChGT,SAAUlrJ,GAAA,SAGCwR,IAAA,OAEDpP,GAAY2wD,YACP/9C,QAAQD,QAAQ3S,GAAY2wD,aAG9B,6CAGNjnB,OAAM,SAASr6B,GAAA,OACPuD,QAAQC,OAAO,IAAIjU,MAAM,+BAAiCyQ,GAAA,IAElE8D,MAAK,SAAS9D,GAAA,OACNA,EAAY2uF,QAAU3uF,EAAY2uF,QAAU3uF,CAAA,aAIhDvP,IAAA,OAEDE,GAAY6mK,UACPj0J,QAAQD,QAAQ3S,GAAY6mK,WAG9B,oCAGNn9H,OAAM,SAASr6B,GAAA,OACPuD,QAAQC,OAAO,IAAIjU,MAAM,6BAA+ByQ,GAAA,IAEhE8D,MAAK,SAAS9D,GAAA,OACNA,EAAU2uF,QAAU3uF,EAAU2uF,QAAU3uF,CAAA,QAUjD1N,EAAU,SAAS/D,GAAA,IACjBwR,GAAAC,EAAAA,GAAAA,GAAczR,GAAA,MACL,cAATwR,EAA6B,YACf,WAATA,GAAqBxR,aAAeiU,OAAe,SAC1C,WAATzC,GAAqBxR,aAAeioG,OAAe,SAC1C,aAATz2F,GAAuBxR,aAAeopG,SAAiB,WACrDppG,GAAOA,EAAIoU,cAAgBnQ,MAAc,QAC3CjE,GAAwB,IAAjBA,EAAIqzC,SAAuB,UACzB,WAAT7hC,EAA0B,SACvB,WASVopD,EAAgB,SAASnpD,EAASzR,GAAA,IAChCwR,EAAKzS,SAASG,cAAcuS,GAAA,IAK3B,IAAIrP,KAJLpC,EAAI0zC,YAAWliC,EAAGkiC,UAAY1zC,EAAI0zC,WAClC1zC,EAAI8pC,WAAa9pC,EAAIkpK,YACvB13J,EAAGs4B,UAAY9pC,EAAIkpK,UAAUC,SAASnpK,EAAI8pC,YAE5B9pC,EAAIX,MAClBmS,EAAGnS,MAAM+C,GAAOpC,EAAIX,MAAM+C,GAAA,OAErBoP,CAAA,EAoDL+C,EAAS,SAAS9C,EAAOzR,GAAA,IAEvBwR,EAAO7N,OAAOa,OAChBiN,EAAO23J,QAAQp0J,QAAQD,WACvB2hD,KAAK9pC,MAAM8pC,KAAKC,UAAUllD,EAAO43J,YAE/BjnK,EAAOqP,EAAO23J,QAAQp0J,QAAQD,UAAWvD,GAAA,OAG7CpP,EAAOA,EAAKknK,YAAY,EAAG73J,EAAQ,EAAG,CAACA,KAC3B4uD,IAAIrgE,EAAA,GAKlBuU,EAAO3Q,UAAYD,OAAO0Q,OAAOW,QAAQpR,YACxBwQ,YAAcG,EAG/BA,EAAO60J,QAAU,SAAiB33J,EAASzR,GAAA,OAEzCyR,EAAQoC,UAAY7T,GAAWuU,EAAO3Q,UAC/B6N,CAAA,EAGT8C,EAAO80J,SAAW,CAChBhgE,KAAM,CACJn+D,IAAK,KACLkH,UAAW,KACXm3H,QAAS,KACTx+H,OAAQ,KACRD,IAAK,KACL24H,IAAK,KACLjsC,SAAU,KACV9wH,SAAU,cAEZ68G,SAAU,CACRxuD,IAAK,EACLnvD,MAAO,KACPxD,EAAG,EACHglD,MAAO,IAET2gE,IAAK,CACH8mC,SAAU,WACVtkG,OAAQ,CAAC,EAAG,EAAG,EAAG,GAClBi/G,aAAA,EACA53J,EAAG,EACHC,EAAG,EACHkhD,YAAa,CAAC,EACd02G,MAAO,CAAC,EACRrxI,gBAAiB,gBAMrB7jB,EAAO3Q,UAAUpB,KAAO,SAAciP,EAAKzR,GAAA,OAYlCmU,KAAKoB,MAAK,kBACfvV,EAAOA,GAAA,SAZQyR,GAAA,OACP1N,EAAQ0N,IAAA,IACT,eACI,aACJ,gBACmC,WAA/BA,EAAI0mC,SAASpzC,cAA6B,SAAW,wBAErD,WAKJ,CAAgB0M,IAAA,IAEhB,gBACI0C,KAAKoB,KAAKrT,GAAeqT,MAAK,SAASvV,GAAA,OACrCmU,KAAKksD,IAAI,CACdn1B,IAAK0vB,EAAc,MAAO,CACxB9wB,UAAWr4B,EACXy3J,UAAWlpK,KAAA,QAId,iBACImU,KAAKksD,IAAI,CAAEn1B,IAAKz5B,IAAA,IACpB,gBACI0C,KAAKksD,IAAI,CAAEt1B,OAAQt5B,IAAA,IACvB,aACI0C,KAAKksD,IAAI,CAAEv1B,IAAKr5B,IAAA,eAEhB0C,KAAKjT,MAAM,6BAK1BqT,EAAO3Q,UAAUrB,GAAK,SAAYkP,GAAA,OAExBA,GAAA,IACD,mBACI0C,KAAKu1J,cAAA,IACT,gBACIv1J,KAAKw1J,WAAA,IACT,aACIx1J,KAAKy1J,QAAA,IACT,aACIz1J,KAAK01J,QAAA,eAEL11J,KAAKjT,MAAM,qBAIxBqT,EAAO3Q,UAAU8lK,YAAc,kBAYtBv1J,KAAK21J,SAVE,CACZ,kBAEI31J,KAAKk1F,KAAKn+D,KAAO/2B,KAAKjT,MAAM,uCAGhC,kBACSiT,KAAKk1F,KAAKmuB,UAAYrjH,KAAKsjH,aAAA,IAGRliH,MAAK,eAW7B9D,EAAe,CACjBlS,SAAU,WACVq/B,QAAS,eACTtoB,OAC6B,iBAAnBnC,KAAK4zG,IAAIzxG,OAChBioD,MAAMpqD,KAAK4zG,IAAIzxG,QACgB,iBAAzBnC,KAAK4zG,IAAI10D,aACfkL,MAAMpqD,KAAK4zG,IAAI10D,aAEZlqD,KAAKoE,IACH4G,KAAKk1F,KAAKn+D,IAAIxzB,YACdvD,KAAKk1F,KAAKn+D,IAAI1zB,YACdrD,KAAKk1F,KAAKn+D,IAAIzzB,aAJhBtD,KAAK4zG,IAAI10D,aAKJ,KACXh9C,KAAM,EACNwtJ,MAAO,EACPrkK,IAAK,EACL+qD,OAAQ,OACRnyB,gBAAiBjkB,KAAK4zG,IAAI3vF,iBAGxBp4B,EAnMQ,SAAZyR,EAAqBzR,EAAMwR,GAAA,QAEzBpP,EACgB,IAAlBpC,EAAKqzC,SACDt0C,SAAS67C,eAAe56C,EAAKwjE,WAC7BxjE,EAAKouC,WAAA,GACFlsC,EAAQlC,EAAKgqC,WAAY9nC,EAAOA,EAAQA,EAAM6vC,aAAA,IAEnDvgC,GACmB,IAAnBtP,EAAMmxC,UACa,WAAnBnxC,EAAMi2C,UAEN/1C,EAAMxB,YAAY6Q,EAAUvP,EAAOsP,IAAA,OAIjB,IAAlBxR,EAAKqzC,WAEe,WAAlBrzC,EAAKm4C,UACP/1C,EAAMkU,MAAQtW,EAAKsW,MACnBlU,EAAMmU,OAASvW,EAAKuW,OACpBnU,EAAM6oC,WAAW,MAAME,UAAUnrC,EAAM,EAAG,IACf,aAAlBA,EAAKm4C,UAA6C,WAAlBn4C,EAAKm4C,WAC9C/1C,EAAM0S,MAAQ9U,EAAK8U,OAIrB1S,EAAMrC,iBACJ,QACA,WACEqC,EAAMk5C,UAAYt7C,EAAKs7C,UACvBl5C,EAAMm5C,WAAav7C,EAAKu7C,UAAA,QAOvBn5C,CAAA,CAtCO,CAoMV+R,KAAKk1F,KAAKn+D,IACV/2B,KAAK4zG,IAAIh1D,YAAYg3G,mBAGA,SAAnB/pK,EAAOwyC,UACT/gC,EAAa8E,OACXpN,KAAKoE,IACHxO,SAAS4B,KAAKgX,aACd5Y,SAAS4B,KAAKiX,aACd7Y,SAASwY,gBAAgBM,aACzB9Y,SAASwY,gBAAgBI,aACzB5Y,SAASwY,gBAAgBK,cACvB,WAGHyxF,KAAKkgE,QAAU3uG,EAAc,MAAO,CACvClnB,UAAW,oBACXr0C,MAhDe,CACfE,SAAU,QACVwgC,SAAU,SACV8B,OAAQ,IACRxrB,KAAM,YACNwtJ,MAAO,EACPD,OAAQ,EACRpkK,IAAK,UA2CF6pG,KAAKj3D,UAAYwoB,EAAc,MAAO,CACzClnB,UAAW,sBACXr0C,MAAOoS,IAAA,KAEJ43F,KAAKj3D,UAAUxxC,YAAYZ,GAAA,KAC3BqpG,KAAKj3D,UAAUpI,WAAWppC,YAC7Bg6D,EAAc,MAAO,CACnBv7D,MAAO,CACL2qK,MAAO,OACPvtH,OAAQ,qBACR8N,OAAQ,EACRC,QAAS,EACTj0C,OAAQ,WAIT8yF,KAAKj3D,UAAU/yC,MAAM0/B,MAAQ,YAC7BsqE,KAAKkgE,QAAQ3oK,YAAYuT,KAAKk1F,KAAKj3D,WACxCrzC,SAAS4B,KAAKC,YAAYuT,KAAKk1F,KAAKkgE,SAAA,KAC/BlgE,KAAKj3D,UAAUpI,WAAW3qC,MAAME,SAAW,gBAC3C8pG,KAAKj3D,UAAU77B,OAClBpN,KAAKoE,IACH4G,KAAKk1F,KAAKj3D,UAAUpI,WAAWnyB,aAC/B1D,KAAKk1F,KAAKj3D,UAAUpI,WAAWryB,aAC/BxD,KAAKk1F,KAAKj3D,UAAUpI,WAAWpyB,cAC7B,SAIVrD,EAAO3Q,UAAU+lK,SAAW,eAEtBl4J,EAAU,CACZ,kBAEI1S,SAAS4B,KAAKgiC,SAASxuB,KAAKk1F,KAAKj3D,YAAcj+B,KAAKu1J,aAAA,UAMnDv1J,KAAK21J,SAASr4J,GAClB8D,KAAK/D,GACL+D,MAAK,SAAuB9D,GAAA,IAEvBzR,EAAU2D,OAAOa,OAAO,CAAC,EAAG2P,KAAK4zG,IAAIh1D,aAAA,cAClC/yD,EAAQiqK,WAERx4J,EAAY0C,KAAKk1F,KAAKj3D,UAAWpyC,EAAA,IAEzCuV,MAAK,SAAuB9D,IAEV0C,KAAK4zG,IAAIh1D,YAAYk3G,YAAc,cACzCx4J,GAAA,KAEN43F,KAAKt+D,OAASt5B,EACnB1S,SAAS4B,KAAKgB,YAAYwS,KAAKk1F,KAAKkgE,QAAA,KAI1Ch1J,EAAO3Q,UAAUsmK,YAAc,eAEzBz4J,EAAU,CACZ,kBAEI1S,SAAS4B,KAAKgiC,SAASxuB,KAAKk1F,KAAKj3D,YAAcj+B,KAAKu1J,aAAA,UAMnDv1J,KAAK21J,SAASr4J,GAClB8D,KAAK/D,GACL+D,MAAK,SAA0B9D,GAAA,IAG1BzR,EAAMmU,KAAK4zG,IAAI0hD,MACfj4J,EAAY2C,KAAK4zG,IAAI8+C,UAErBzkK,EACwB,iBAAnB+R,KAAK4zG,IAAIzxG,OACfioD,MAAMpqD,KAAK4zG,IAAIzxG,QACgB,iBAAzBnC,KAAK4zG,IAAI10D,aACfkL,MAAMpqD,KAAK4zG,IAAI10D,aAEZ,EADAl/C,KAAK4zG,IAAIzxG,MAAQnC,KAAK4zG,IAAI10D,YAG5BnxD,EAAUyB,OAAOa,OACnB,CACEiiG,OAAA,EACA5sD,YAAA,EACAqR,MAAO9oD,EACPi1C,QAASljC,KAAK4zG,IAAI1wE,SAAW,EAC7BG,QAASrjC,KAAK4zG,IAAIvwE,SAAW,EAC7Bpf,gBAAiB,UACjBmnB,aAAc,KACduT,SAAA,EACA1T,MAAO,KACPiV,iBAAA,EACAZ,wBAAA,EACAxU,SAAA,GAEF9qC,KAAK4zG,IAAIh1D,aAAA,UAEJ7wD,EAAQ+nK,WAEfjqK,EAAI0jK,UAAU4E,gBAAA,IACLn0J,KAAK4zG,IAAIugD,YAEZn0J,KAAK4zG,IAAIugD,WACftoK,EAAI0jK,UAAU8E,KAAOr0J,KAAK4zG,IAAIn2G,EAC9B5R,EAAI0jK,UAAU6E,KAAOp0J,KAAK4zG,IAAIl2G,EAC9B7R,EAAI0jK,UAAUn5G,OAASp2C,KAAK4zG,IAAIx9D,OAChCvqD,EAAI0jK,UAAUmD,UAAYr1J,EAEtBA,EAAA,IACG,IAAIzN,EAAI,EAAGA,EAAIyN,EAAUnP,SAAU0B,EAAG,KACrC62D,EAAOppD,EAAUzN,GACjBwQ,EAAMqmD,EAAK1vB,IAAIl0B,MAAK,SAASvF,GAAA,MACT,aAAfA,EAAIvR,MAAA,IAGTqU,GACFvU,EAAI4yJ,QAAQr+I,EAAItI,IAAK2uD,EAAKupB,IAAIj1E,KAAM0rD,EAAKupB,IAAI9kF,MAAA,QAKnD6C,EAAQqxD,aAAerxD,EAAQqxD,cAAgB,EAC/CrxD,EAAQqxD,aACkB,GAAxBrxD,EAAQqxD,aACJpqD,KAAKoE,IACH4G,KAAKk1F,KAAKj3D,UAAUv6B,aACpB1D,KAAKk1F,KAAKj3D,UAAUz6B,aACpBxD,KAAKk1F,KAAKj3D,UAAUx6B,cAEtB1V,EAAQqxD,aAEdvzD,EAAI0jK,UAAUj4G,MAAA,GACPh6C,EAAY0C,KAAKk1F,KAAKj3D,UAAWlwC,EAAA,IAEzCqT,MAAK,SAA0B9D,GAAA,KACzBs2G,IAAI0hD,MAAM/F,UAAU/3G,SAAA,IAGRx3C,KAAK4zG,IAAIh1D,YAAYk3G,YAAc,cACzCx4J,GAAA,KAEN43F,KAAKt+D,OAASt5B,EACnB1S,SAAS4B,KAAKgB,YAAYwS,KAAKk1F,KAAKkgE,QAAA,KAI1Ch1J,EAAO3Q,UAAUgmK,MAAQ,kBAShBz1J,KAAK21J,SAPE,CACZ,kBACS31J,KAAKk1F,KAAKt+D,QAAU52B,KAAKw1J,UAAA,IAKNp0J,MAAK,eAC7B9D,EAAU0C,KAAKk1F,KAAKt+D,OAAOK,UAC7B,SAAWj3B,KAAK4zG,IAAI1rF,MAAMrtB,KAC1BmF,KAAK4zG,IAAI1rF,MAAM8tI,SAAA,KAEZ9gE,KAAKv+D,IAAM/rC,SAASG,cAAc,YAClCmqG,KAAKv+D,IAAII,IAAMz5B,CAAA,KAIxB8C,EAAO3Q,UAAUimK,MAAQ,kBAUhB11J,KAAK21J,SARE,CACZ,kBACS31J,KAAK+1J,aAAA,IAMc30J,MAAK,gBAE5B8zF,KAAKo6D,IAAMtvJ,KAAKk1F,KAAKo6D,KAAOtvJ,KAAK4zG,IAAI0hD,KAAA,KAM9Cl1J,EAAO3Q,UAAU8qJ,OAAS,SAAgBj9I,EAAMzR,EAASwR,GAAA,MAG7B,SAD1BA,EAAMA,GAAO,OACLzM,eAAiD,UAAtByM,EAAIzM,cAC9BoP,KAAKi2J,UAAU34J,EAAMzR,GAErBmU,KAAKk2J,UAAU54J,EAAMzR,EAAA,EAIhCuU,EAAO3Q,UAAUymK,UAAY,SAAmB54J,EAAMzR,GAAA,OAS7CmU,KAAK21J,SAPE,CACZ,kBACS31J,KAAKk1F,KAAKo6D,KAAOtvJ,KAAK01J,OAAA,IAKHt0J,MAAK,kBAM1BpB,KAAKk1F,KAAKo6D,IAAI/U,OAAOj9I,EAAMzR,EAAA,KAItCuU,EAAO3Q,UAAUwmK,UAAY,SAAmB34J,GAAA,OASvC0C,KAAK21J,SAPE,CACZ,kBACS31J,KAAKk1F,KAAKv+D,KAAO32B,KAAKy1J,OAAA,IAKHr0J,MAAK,kBACzB9D,GAAA,YACD,IACA,aACI0C,KAAKk1F,KAAKv+D,IAAA,IACd,oBACA,uBACI32B,KAAKk1F,KAAKv+D,IAAII,IAAA,IAClB,cACA,iBACKnsC,SAAS2G,SAASoF,KAAOqJ,KAAKk1F,KAAKv+D,IAAII,IAAA,aAEzC,sBAAwBz5B,EAAO,2BAK7C8C,EAAO3Q,UAAU6nD,KAAO,SAAch6C,GAAA,OAS7B0C,KAAK21J,SAPE,CACZ,kBACS31J,KAAKk1F,KAAKo6D,KAAOtvJ,KAAK01J,OAAA,IAM9BxpG,IAAI5uD,EAAW,CAAEo9I,SAAUp9I,GAAa,MACxC8D,MAAK,gBACC8zF,KAAKo6D,IAAIh4G,KAAKt3C,KAAK4zG,IAAI8mC,SAAA,KAIlCt6I,EAAO3Q,UAAU0mK,WAAa,kBASrBn2J,KAAK21J,SAPE,CACZ,kBACS31J,KAAKk1F,KAAKo6D,KAAOtvJ,KAAK01J,OAAA,IAKHt0J,MAAK,gBAC5B8zF,KAAK3iG,SAASyN,KAAKk1F,KAAKo6D,IAAA,KAMjClvJ,EAAO3Q,UAAUy8D,IAAM,SAAa5uD,GAAA,GAIb,WAAjB1N,EAAQ0N,GAAA,OACH0C,KAAA,IAILnU,EAAM2D,OAAOY,KAAKkN,GAAO,CAAC,GAAG3D,KAAI,SAAS9N,GAAA,GACxCA,KAAOuU,EAAO80J,SAAShgE,KAAA,OAElB,gBACAA,KAAKrpG,GAAOyR,EAAIzR,EAAA,SAGfA,GAAA,IACD,gBACImU,KAAKo2J,UAAUx7F,KAAK56D,KAAM1C,EAAI84C,QAAA,IAClC,eACI,uBACAw9D,IAAI0hD,MAAQh4J,EAAIg4J,MACdt1J,KAAKsjH,aAAA,MAEX,kBACItjH,KAAKsjH,YAAY1oD,KAAK56D,KAAM1C,EAAI+lH,UAAA,eAGhC,gBACAzP,IAAI/nH,GAAOyR,EAAIzR,EAAA,KAI3BmU,MAAA,OAGIA,KAAKoB,MAAK,kBACRpB,KAAK21J,SAAS9pK,EAAA,KAIzBuU,EAAO3Q,UAAU6X,IAAM,SAAahK,EAAKzR,GAAA,OAChCmU,KAAKoB,MAAK,eAEX/D,EAAMC,KAAO8C,EAAO80J,SAAShgE,KAAOl1F,KAAKk1F,KAAK53F,GAAO0C,KAAK4zG,IAAIt2G,GAAA,OAC3DzR,EAAMA,EAAIwR,GAAOA,CAAA,KAI5B+C,EAAO3Q,UAAU2mK,UAAY,SAAmB94J,GAAA,OACvC0C,KAAKoB,MAAK,kBAEPxR,EAAQ0N,IAAA,IACT,SACHA,EAAS,CAACA,EAAQA,EAAQA,EAAQA,GAAA,IAE/B,WACmB,IAAlBA,EAAOpP,SACToP,EAAS,CAACA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,KAE9B,IAAlBA,EAAOpP,OAAA,qBAKJ8R,KAAKjT,MAAM,8BAIjB6mH,IAAIx9D,OAAS94C,CAAA,IACjB8D,KAAKpB,KAAKsjH,YAAA,EAGfljH,EAAO3Q,UAAU6zH,YAAc,SAAqBhmH,GAAA,SACzCzR,EAAKyR,EAAKzR,GAAA,OACVmJ,KAAKqsC,MAAQ/jC,EAAMzR,EAAK,GAAM,WAGhCmU,KAAKoB,MAAK,YAEf9D,EAAWA,GAAYwS,GAAMumJ,YAAYr2J,KAAK4zG,IAAI0hD,QAGpC31J,eAAe,WAC3BrC,EAASg5J,MAAQ,CACfn0J,MAAO7E,EAAS6E,MAAQnC,KAAK4zG,IAAIx9D,OAAO,GAAKp2C,KAAK4zG,IAAIx9D,OAAO,GAC7Dh0C,OAAQ9E,EAAS8E,OAASpC,KAAK4zG,IAAIx9D,OAAO,GAAKp2C,KAAK4zG,IAAIx9D,OAAO,IAEjE94C,EAASg5J,MAAMC,GAAK,CAClBp0J,MAAOtW,EAAKyR,EAASg5J,MAAMn0J,MAAO7E,EAAStP,GAC3CoU,OAAQvW,EAAKyR,EAASg5J,MAAMl0J,OAAQ9E,EAAStP,IAE/CsP,EAASg5J,MAAME,MAAQl5J,EAASg5J,MAAMl0J,OAAS9E,EAASg5J,MAAMn0J,OAAA,KAI3D+yF,KAAKmuB,SAAW/lH,CAAA,KAIzB8C,EAAO3Q,UAAU0lK,YAAc,SAAqB73J,EAAKzR,EAAOwR,EAAGpP,GAAA,OAEtD,MAAPqP,IAAa0C,KAAKovG,SAASxuD,IAAMtjD,GACxB,MAATzR,IAAemU,KAAKovG,SAAS39G,MAAQ5F,GAChC,MAALwR,IAAW2C,KAAKovG,SAASnhH,EAAIoP,GACpB,MAATpP,IAAe+R,KAAKovG,SAASn8D,MAAQhlD,GAAA,KACpCmhH,SAASonD,MAAQx2J,KAAKovG,SAASxuD,IAAM5gD,KAAKovG,SAAS39G,MAGjDuO,IAAA,EAGTI,EAAO3Q,UAAUgnK,eAAiB,SAChCn5J,EACAzR,EACAwR,EACApP,GAAA,OAGO+R,KAAKm1J,YACV73J,EAAM0C,KAAKovG,SAASxuD,IAAMtjD,EAAM,KAChCzR,GAAgB,KAChBwR,EAAI2C,KAAKovG,SAASnhH,EAAIoP,EAAI,KAC1BpP,EAAQ+R,KAAKovG,SAASn8D,MAAMnkD,OAAOb,GAAS,OAMhDmS,EAAO3Q,UAAU2R,KAAO,SAAc9D,EAAazR,GAAA,IAE7CwR,EAAO2C,KAAA,OAEJA,KAAK02J,SAASp5J,EAAazR,GAAY,SAC5CyR,EACAzR,GAAA,OAGAwR,EAAKo5J,eAAe,KAAM,KAAM,EAAG,CAACn5J,IAC7BuD,QAAQpR,UAAU2R,KACtB1R,KAAKsQ,MAAM,SAAkBnU,GAAA,OAC5BwR,EAAKo5J,eAAe,KAAMn5J,GACnBzR,CAAA,IAERuV,KAAK9D,EAAazR,GAClBuV,MAAK,SAAmB9D,GAAA,OACvBD,EAAKo5J,eAAe,GACbn5J,CAAA,QAKf8C,EAAO3Q,UAAUinK,SAAW,SAC1Bp5J,EACAzR,EACAwR,GAGAA,EAAWA,GAAYwD,QAAQpR,UAAU2R,KAIrC9D,IACFA,EAAcA,EAAYs9D,KAFjB56D,OAIPnU,IACFA,EAAaA,EAAW+uE,KALf56D,OAAA,IAYP/R,GAF+C,IAAjD4S,QAAQ3L,WAAWrE,QAAQ,kBACV,YAAjBgQ,QAAQ9F,KAXCiF,KAcPI,EAAO60J,QAAQzlK,OAAOa,OAAO,CAAC,EAdvB2P,MAciCa,QAAQpR,WAGhD1B,EAAYsP,EAAS3N,KAAKzB,EAAaqP,EAAazR,GAAA,OACjDuU,EAAO60J,QAAQlnK,EAlBXiS,KAkB2BN,UAAA,EAGxCU,EAAO3Q,UAAUknK,aAAe,SAC9Br5J,EACAzR,GAAA,OAGOgV,QAAQpR,UAAU2R,KAAK1R,KAAKsQ,KAAM1C,EAAazR,EAAA,EAGxDuU,EAAO3Q,UAAUkmK,SAAW,SAAkBr4J,GAAA,IAExCzR,EAAOmU,KAAA,OACX1C,EAAIlK,SAAQ,SAA0BkK,GACpCzR,EAAOA,EAAK6qK,SAASp5J,EAAA,IAEhBzR,CAAA,EAGTuU,EAAO3Q,UAAPkoC,MAA4B,SAASr6B,GAE/BA,IACFA,EAAaA,EAAWs9D,KAAK56D,OAAA,IAE3BnU,EAAYgV,QAAQpR,UAARkoC,MAA2BjoC,KAAKsQ,KAAM1C,GAAA,OAC/C8C,EAAO60J,QAAQppK,EAAWmU,KAAA,EAGnCI,EAAO3Q,UAAUmnK,cAAgB,SAAuBt5J,GAAA,OAE/CuD,QAAQpR,UAARkoC,MAA2BjoC,KAAKsQ,KAAM1C,EAAA,EAG/C8C,EAAO3Q,UAAU1C,MAAQ,SAAeuQ,GAAA,OAE/B0C,KAAKoB,MAAK,iBACT,IAAIvU,MAAMyQ,EAAA,KAMpB8C,EAAO3Q,UAAUonK,MAAQz2J,EAAO3Q,UAAUy8D,IAC1C9rD,EAAO3Q,UAAUuwI,OAAS5/H,EAAO3Q,UAAU6nD,KAC3Cl3C,EAAO3Q,UAAUqnK,OAAS12J,EAAO3Q,UAAU8qJ,OAC3Cn6I,EAAO3Q,UAAUsnK,IAAM32J,EAAO3Q,UAAU2R,KAGxC0O,GAAMumJ,YAAc,SAASxqK,EAAawR,EAAMpP,GAAA,GAEnB,YAAvBqP,EAAAA,GAAAA,GAAOzR,GAA0B,KAC/BkC,EAAUlC,EACdA,EAAckC,EAAQg9I,YACtB1tI,EAAOtP,EAAQ+nB,MAAQzY,EACvBpP,EAASF,EAAQhC,QAAUkC,CAAA,CAI7BoP,EAAOA,GAAQ,KACfpP,EAASA,GAAU,KACnBpC,GAAe,IAAMA,GAAe,MAAM+E,cAAA,IAgDtChB,EA/CA62D,GAAoB,GAAKx4D,GAAQ2C,cAGjCwP,EAAc,CAChB6rI,GAAI,CAAC,QAAS,SACd13H,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbwY,GAAI,CAAC,OAAQ,QACbi/G,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,IAAK,CAAC,KAAM,QACZC,GAAI,CAAC,QAAS,SACdz/G,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdy/G,GAAI,CAAC,QAAS,SACdv/G,GAAI,CAAC,OAAQ,SACbw/G,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,GAAI,CAAC,QAAS,SACdl8H,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdE,GAAI,CAAC,OAAQ,SACbg8H,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbvQ,GAAI,CAAC,OAAQ,QACb/kF,OAAQ,CAAC,IAAK,yBACO,CAAC,IAAK,KAC3Bu1F,MAAO,CAAC,IAAK,qBACG,CAAC,IAAK,KACtBC,OAAQ,CAAC,KAAM,KACfC,QAAS,CAAC,IAAK,oBACA,CAAC,IAAK,aAKfrwI,GAAA,IACD,KACHzN,EAAI,YAED,KACHA,EAAI,GAAK,eAEN,KACHA,EAAI,GAAK,eAEN,KACHA,EAAI,aAED,KACHA,EAAI,cAED,SAGA,KACHA,EAAI,aAED,KACHA,EAAI,qBAGE,iBAAmByN,EAAA,IAkBzBT,EAhBAgB,EAAa,EACbZ,EAAY,KAGZoD,EAAYT,eAAe8mD,GAC7B7oD,EAAawC,EAAYqmD,GAAkB,GAAK72D,EAChDoN,EAAYoD,EAAYqmD,GAAkB,GAAK72D,OAAA,IAG7CgO,EAAa3P,EAAO,GACpB+O,EAAY/O,EAAO,GACnB,MAAOqP,GAAA,MACD,IAAIzQ,MAAM,mBAAqBoB,EAAA,IAMrB,MAAhBpC,GAAuC,aAAhBA,EACzBA,EAAc,IACVmR,EAAYY,IACdhB,EAAMI,EACNA,EAAYY,EACZA,EAAahB,OAEV,IAAoB,MAAhB/Q,GAAuC,cAAhBA,EAAA,KAQ1B,wBAA0BA,EAPhCA,EAAc,IACV+R,EAAaZ,IACfJ,EAAMI,EACNA,EAAYY,EACZA,EAAahB,EAAA,OAON,CACTuF,MAAOnF,EACPoF,OAAQxE,EACRkY,KAAMzY,EACNrP,EAAG4B,EACHm7I,YAAal/I,EAAA,EA0EjBA,EAAS6iE,KAAO,SAASpxD,EAAKzR,IAG5BA,EAAUA,GAAW,CAAC,GACd0G,SAAW1G,EAAQ0G,UAAY,aACvC1G,EAAQ+yD,YAAc/yD,EAAQ+yD,aAAe,CAAC,EAC9C/yD,EAAQ+yD,YAAYhoB,OAAS/qC,EAAQ+yD,YAAYhoB,QAAU52B,KAAK42B,OAChE/qC,EAAQypK,MAAQzpK,EAAQypK,OAASt1J,KACjCnU,EAAQ6mK,UAAY7mK,EAAQ6mK,UACxB7mK,EAAQ6mK,UAAU/4J,IAAIi5I,IACtB,SAGAv1I,EAAS,IAAI+C,EAAOvU,GAAA,OAEnBA,EAAQmrK,OAKJ35J,EAHAA,EAAOhP,KAAKiP,GAAK64J,YAAA,EA7/B9B,CAmgCGrmJ,GAAMinI,KJp9BNjnI,GAAMinI,IAvBEkY,MAAQ,SAAS3xJ,GAAA,OACxBk2I,GAAOl2I,EAAA,KACFsuI,SAAS8W,OAAO7tE,UAAU,oBAAoB,WACjDw+D,GAAarzI,KAAK4rI,SAAS4J,YAAA,KACtB5J,SAAS7P,IAAI,WACb6P,SAAS7P,IAAI,yBAA2BsX,GAAa,GAAK,cAC1DzH,SAAS7P,IAAI,WACb6P,SAAS7P,IAAI,UAElBwX,GAAUvzI,KAAK4rI,SAAS4J,YAAA,KACnB5J,SAAS7P,IAAI,WACb6P,SAAS7P,IAAI,uBACb6P,SAAS7P,IAAI,QAAUyX,GAAO,UAC9B5H,SAAS7P,IAAI,WACb6P,SAAS7P,IAAI,kBAEf6P,SAAS8W,OAAO7tE,UAAU,cAAc,oBACvCw+D,SAAA,IAA4BE,IAAA,KACzB3H,SAAS7P,IAAI,wBAA0BsX,GAAa,aAGtDrzI,IAAA,EK/CX,SAAU1C,GAAA,IAGJzR,EAGJyR,EAASolJ,OAAO5vJ,KAAK,CACnB,mBACA,eACMwK,EAAM0C,KACN3C,EAAK,mBAgBL2C,KAAKi3J,QAAQx5H,KAAK2qB,SAASl6D,OAAS,EAAG,IAAH,IAClCD,EAAQqP,EAAI25J,QAAQv7J,SAASjN,MAAM,QAC9BV,EAAI,EAAGA,EAAIE,EAAMC,OAAQH,IAAK,KACjC6B,EAAO3B,EAAMF,GACb04D,EAAIppD,EAAGmkD,KAAK5xD,GAAA,GACP,MAAL62D,EAAW,KACTrmD,EAAMqmD,EAAE,GACZnpD,EAAIsuI,SAASqX,uBAAuB7iJ,GAAA,EAAK,CAE3C9C,EAAIsuI,SAASt4H,MAAM1jB,EAAA,IAMnBoQ,KAAKi3J,QAAQC,wBAAyB,KACpCt6J,EAAaoD,KAAK4rI,SAASyM,MAAMnqJ,OAIjC0P,EAAQ,OACH7P,EAAI,EAAGA,EAAI6O,EAAY7O,IAAK,KAC/BiP,EAAKM,EAAIsuI,SAAS4J,YACtB53I,EAAM9K,KAAKkK,GAAA,IACPC,EAAOK,EAAIsuI,SAASmP,YAAYhtJ,EAAI,GACxCuP,EAAIsuI,SAASt4H,MACX,SAAWrW,EAAK64I,MAAQ,0CAKxBh5I,EAAYQ,EAAIsuI,SAAS4J,YACV,IAAnBl4I,EAAIsuI,SAASt4H,MAAM,gBACVvlB,EAAI,EAAGA,EAAI6P,EAAM1P,OAAQH,IAChCuP,EAAIsuI,SAASt4H,MAAM,UAAYvlB,EAAI,GAAK,IAAM6P,EAAM7P,GAAK,QAE3DuP,EAAIsuI,SAASt4H,MAAM,QAAS,UAM5BznB,EAAWyR,EAAIsuI,SAAS4J,YACxBl4I,EAAIsuI,SAASt4H,MAAM,aAAexW,EAAY,QAC9CQ,EAAIsuI,SAASt4H,MAAM,KAAM,cAK/BhW,EAASolJ,OAAO5vJ,KAAK,CACnB,aACA,WACYkN,KACFi3J,QAAQx5H,KAAK2qB,SAASl6D,OAAS,IAD7B8R,KAEJ4rI,SAASt4H,MACX,YACAtT,KAAKi3J,QAAQE,QAAQn3J,KAAKi3J,QAAQx5H,OAEhCz9B,KAAKi3J,QAAQC,yBANTl3J,KAOF4rI,SAASt4H,MAAM,UAAYznB,EAAW,YAQlDyR,EAASolJ,OAAO5vJ,KAAK,CACnB,cACA,eACMwK,EAAM0C,KAEV1C,EAAI25J,QAAU,CACZC,yBAAA,EACAz5H,KAAM,CACJ2qB,SAAU,KAOd9qD,EAAI25J,QAAQ50J,IAAM,SAAS/E,EAAQzR,EAAOwR,GAAA,IACpCpP,EAAO,CACTqwG,MAAOzyG,EACPzB,QAASiT,EACT+qD,SAAU,WAEE,MAAV9qD,IACFA,EAAS0C,KAAKy9B,MAEhBngC,EAAO8qD,SAASt1D,KAAK7E,GACdA,CAAA,EAGTqP,EAAI25J,QAAQv7J,OAAS,uBACdm7B,IAAM,CAAC,EAAD,KACNA,IAAI+pB,IAAM,QACV/pB,IAAIy4H,IAAMhyJ,EAAA,KAEV85J,SAASp3J,KAAKy9B,MAAA,KACd45H,WAAWr3J,KAAKy9B,MAAA,KAChB65H,YAAYt3J,KAAKy9B,MAEfz9B,KAAK62B,IAAI+pB,GAAA,EAGlBtjD,EAAI25J,QAAQG,SAAW,SAASvrK,GAC9BA,EAAKqyD,GAAK5gD,EAAIsuI,SAAS+J,oBAAA,IAClB,IAAIt4I,EAAI,EAAGA,EAAIxR,EAAKu8D,SAASl6D,OAAQmP,IAAA,KACnC+5J,SAASvrK,EAAKu8D,SAAS/qD,GAAA,EAIhCC,EAAI25J,QAAQI,WAAa,SAAS/5J,GAAA,KAC3Bi6J,SAASj6J,GAAA,KACT2wB,KAAK,mBACN3wB,EAAK8qD,SAASl6D,OAAS,SACpB+/B,KAAK,UAAYjuB,KAAKm3J,QAAQ75J,EAAK8qD,SAAS,UAC5Cn6B,KACH,SAAWjuB,KAAKm3J,QAAQ75J,EAAK8qD,SAAS9qD,EAAK8qD,SAASl6D,OAAS,WAG5D+/B,KACH,UACEjuB,KAAKw3J,QACH,CACEprJ,MAAO,GAET9O,IAAA,KAGDm6J,QAAA,EAGPn6J,EAAI25J,QAAQK,YAAc,SAASzrK,GAAA,QAC7BwR,EAA8B2C,KAAK62B,IAAIy4H,IAAI1jB,SAC5C6T,4BACMxxJ,EAAI,EAAGA,EAAIpC,EAAKu8D,SAASl6D,OAAQD,IAAK,KACzCF,EAAOlC,EAAKu8D,SAASn6D,GAAA,KACpBspK,SAASxpK,GAAA,KAETkgC,KAAK,UAAYjuB,KAAK03J,WAAW3pK,EAAKuwG,QAAA,KAEtCrwE,KAAK,WAAajuB,KAAKm3J,QAAQtrK,IAChCoC,EAAI,QACDggC,KAAK,SAAWjuB,KAAKm3J,QAAQtrK,EAAKu8D,SAASn6D,EAAI,KAElDA,EAAIpC,EAAKu8D,SAASl6D,OAAS,QACxB+/B,KAAK,SAAWjuB,KAAKm3J,QAAQtrK,EAAKu8D,SAASn6D,EAAI,KAElDF,EAAKq6D,SAASl6D,OAAS,SACpB+/B,KAAK,UAAYjuB,KAAKm3J,QAAQppK,EAAKq6D,SAAS,UAC5Cn6B,KACH,SAAWjuB,KAAKm3J,QAAQppK,EAAKq6D,SAASr6D,EAAKq6D,SAASl6D,OAAS,UAI7D0B,EAASoQ,KAAKoM,MAAQpM,KAAKw3J,QAC7B,CACEprJ,MAAO,GAETre,GAAA,GAEE6B,EAAQ,QACLq+B,KAAK,UAAYr+B,GAGpB7B,EAAK3D,SACH2D,EAAK3D,QAAQq5H,WAAY,KAGvBh9D,EAAOnpD,EAAIsuI,SAASmP,YAAYhtJ,EAAK3D,QAAQq5H,YAAA,KAC5Cx1F,KACH,UAEEw4B,EAAKqvF,MACL,eACAz4I,EAA4B,GAC5B,YAcHo6J,QAAA,KAEF,IAAIr3J,EAAI,EAAGA,EAAIvU,EAAKu8D,SAASl6D,OAAQkS,IAAA,KACnCk3J,YAAYzrK,EAAKu8D,SAAShoD,GAAA,EAInC9C,EAAI25J,QAAQhpI,KAAO,SAAS3wB,GAAA,KACrBu5B,IAAI+pB,KAAOtjD,EAAO,QAGzBA,EAAI25J,QAAQE,QAAU,SAAS75J,GAAA,OACtBA,EAAK4gD,GAAK,QAGnB5gD,EAAI25J,QAAQS,WAAa,SAAS7rK,GAAA,MACzB,IAAMyR,EAAIsuI,SAASgN,UAAU/sJ,GAAO,KAG7CyR,EAAI25J,QAAQM,SAAW,SAASj6J,GAAA,KACzBu5B,IAAI+pB,KAAO,OAAStjD,EAAK4gD,GAAd,oBAGlB5gD,EAAI25J,QAAQQ,OAAS,gBACd5gI,IAAI+pB,KAAO,qBAGlBtjD,EAAI25J,QAAQO,QAAU,SAASl6J,EAAKzR,GAAA,IAC7B,IAAIwR,EAAI,EAAGA,EAAIxR,EAAKu8D,SAASl6D,OAAQmP,IACxCC,EAAI8O,QAAA,KACCorJ,QAAQl6J,EAAKzR,EAAKu8D,SAAS/qD,IAAA,OAE3BC,EAAI8O,KAAA,KA3PnB,CAiQG0D,GAAMinI,KCnQT,SAAUz5I,GAAA,IAaJzR,EAAU,CAAC,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KA6BzDyR,EAASq6J,YAAc,SACrBr6J,EACAD,EACApP,EACAF,EACA6B,EACA62D,GAAA,IAIErmD,EAFExD,EAASoD,KAAKsyB,OAAOq5H,WAGvB/tJ,EAAS,QAGO,iBAATN,GACP0C,KAAK0pJ,aAAa9pD,cAActiG,IAChC0C,KAAK0pJ,aAAa3nD,kBAAkBzkG,GACpC,QAEAA,EAAO1N,GAAsB0N,EAC7BA,EAAO0C,KAAK0pJ,aAAa9pD,cAActiG,GACnC,IAAIkH,WAAWlH,GACfA,GAKJ8C,EAnDc,SAAS9C,GAAA,QACdD,EACPpP,EAAsC,IAAxBqP,EAAQwG,WAAW,GAAWxG,EAAQwG,WAAW,GAC/D/V,EAAMuP,EAAQpP,OACd0B,EAAS,CAAEuS,MAAO,EAAGC,OAAQ,EAAGw1J,cAAe,GAC1CnxG,EAAI,EAAGA,EAAI14D,EAAK04D,GAAK,EAAG,IAC/BA,GAAKx4D,GAC+C,IAAhDpC,EAAQgF,QAAQyM,EAAQwG,WAAW2iD,EAAI,IAAY,CACrDppD,EAAqC,IAA5BC,EAAQwG,WAAW2iD,EAAI,GAAWnpD,EAAQwG,WAAW2iD,EAAI,GAGlE72D,EAAS,CAAEuS,MAFyB,IAA5B7E,EAAQwG,WAAW2iD,EAAI,GAAWnpD,EAAQwG,WAAW2iD,EAAI,GAExCrkD,OAAQ/E,EAAQu6J,cADzBt6J,EAAQwG,WAAW2iD,EAAI,UAIvCx4D,EAC8B,IAA5BqP,EAAQwG,WAAW2iD,EAAI,GAAWnpD,EAAQwG,WAAW2iD,EAAI,UAGxD72D,CAAA,CAlBS,CA+Cd0N,EAAO0C,KAAK0pJ,aAAa3nD,kBAAkBzkG,GACvC0C,KAAK0pJ,aAAa2D,0BAA0B/vJ,GAC5CA,IAGSs6J,eAAA,KACN,EACHnxG,EAAazmD,KAAKirJ,aAAaE,YAAA,WAE5B,EACH1kG,EAAazmD,KAAKirJ,aAAaR,YAAA,WAE5B,EACHhkG,EAAazmD,KAAKirJ,aAAaC,WAInCttJ,EAAS,CACPkJ,KAAMxJ,EACN6E,MAAO/B,EAAK+B,MACZC,OAAQhC,EAAKgC,OACbioJ,WAAY5jG,EACZikG,iBApCI,EAqCJ33J,OAAQ6J,EACR9O,MAAOuP,EACP2tJ,MAAO/8J,EAAA,QAGJ2P,CAAA,EA7FX,CA+FGkS,GAAMinI,KCnFT,ICOUjJ,GAYJ6G,GAyEAE,GA4BAG,GAmCAO,GD3JFE,GAAO,eAMPn4I,EACAzR,EACAkC,EAAA,SAYO6B,EAAI0N,GAAA,IACPzR,EACFwR,EACApP,EACAF,EACA6B,EACA62D,EAEArmD,EACAxD,EACAgB,EACAZ,EACAC,EACAH,EACAD,EACAM,EAAA,SACG2J,KAAOxJ,EAAA,KACP87H,IAAM,OACNmxB,QAAU,QACVsN,QAAU,QACVjN,aAAe,CAAC,EAAD,KACfryF,UAAY,UACZpuE,KAAO,CAAC,EACbs8D,EAAQ,OACK,QACX56D,EAAYmU,KAAK83J,aACjBl6J,EAAU,eACJN,EAAIzR,EAAA,IACRA,EAAW,GACFyR,EAAK,EAAGA,EAAK,IAASA,EAC7BzR,EAASiH,KAAKgN,OAAOuE,aAAarE,KAAK8G,KAAK9G,KAAKo5H,SAAA,OAE5CvtI,CAAA,EAEN6D,KAAKsQ,MACL5Q,KAAK,SAED,YACE+S,MAAQnC,KAAK83J,aAAA,KACb11J,OAASpC,KAAK83J,aAAA,KACd1/B,KAAOp4H,KAAK8G,KAAK9G,KAAKo5H,OAAA,KACtB2+B,UAAY/3J,KAAK8G,KAAK9G,KAAKo5H,OAAA,KAC3B4+B,kBAAoBh4J,KAAK8G,KAAK9G,KAAKo5H,OAAA,KACnC6+B,aAAej4J,KAAK8G,KAAK9G,KAAKo5H,OAAA,KAC9B8+B,gBAAkBl4J,KAAK8G,KAAK9G,KAAKo5H,OAAA,UAEnC,YACE7gE,UAAY,CACf4/F,UAAWn4J,KAAK83J,aAChBM,SAAUp4J,KAAK83J,cAAgB,IAC/BO,OAAQ,cAGP,YACE9N,QAAUvqJ,KAAKwT,KAAK3nB,GAAA,UAEtB,OACC46D,GAAA,KACG8R,UAAU8/F,OAAOvlK,KAAK2zD,GAAA,KAExB2yE,KAAO,EACZ3yE,EAAQ,CACNtkD,MAAOnC,KAAK83J,aACZ11J,OAAQpC,KAAK83J,aACbQ,QAASt4J,KAAK83J,aACdS,QAASv4J,KAAK83J,cAEhBloK,EAAWoQ,KAAKw4J,aAChBzqK,EAAWiS,KAAKw4J,cAAgB,IAChC/xG,EAAMmnC,MAAS,IAAOh+F,EAAY7B,EAClC04D,EAAMgyG,UAAYz4J,KAAK8G,KAAK9G,KAAKo5H,OACjC3yE,EAAMiyG,QAAU14J,KAAK8G,KAAK9G,KAAKo5H,OAC/B3yE,EAAM3/C,KAAO,aAEV,WACA,WACa,SAAZlJ,IAAA,KACGw7H,KAAO,EACZvtI,GAAa,GAEfyR,GAAiB,MAATmpD,EAAgBA,EAAM3/C,UAAA,IAAkB9G,KAAK63J,QAE/C/6J,EAAK,EACT,GAAKjR,EAAYiR,EAAKjR,EAAYiR,EAAKjR,EACnC,GAAKA,IAAciR,IAAOA,EAE9BQ,EAAKxK,KAAKkN,KAAK8G,KAAK9G,KAAKo5H,QAAA,UAGxB,mBACEwxB,aAAe,CAAC,EACb5qJ,KAAK+3J,WAAA,KACN,KACH9pK,EAAS+R,KAAKuqJ,QAAQr8J,OAAS,OAC1B08J,aAAa+N,QAAU34J,KAAKwT,KAAK3nB,GAClCmU,KAAK4qJ,aAAa+N,QAAQzqK,OAASD,EACrC,MAAM,IAAIpB,MAAM,iDAKlBmQ,EAAW/O,EAAS+R,KAAK4qJ,aAAa+N,QAAQzqK,QAC/B,EAAG,IAEV2O,EAAK,EACT,GAAKG,EAAWH,EAAKG,EAAWH,EAAKG,EACjC,GAAKA,IAAaH,IAAOA,EAAA,KAExB+tJ,aAAa+N,QAAQ7lK,KAAK,gBAIhC,OACE83J,aAAagO,UAAY54J,KAAKwT,KAAK3nB,GAAW,cAEhD,OACE++J,aAAa5wI,IAAMha,KAAKwT,KAAK3nB,GAAA,UAGnC,OAEHuU,GADAnD,EAAO+C,KAAKwT,KAAK3nB,IACJgF,QAAQ,GACrB+L,EAAMkD,OAAOuE,aAAazR,MAAMkN,OAAQ7C,EAAKjM,MAAM,EAAGoP,IAAA,KACjDjW,KAAKyS,GAAOkD,OAAOuE,aAAazR,MACnCkN,OACA7C,EAAKjM,MAAMoP,EAAQ,cAGlB,cACCqmD,GAAA,KACG8R,UAAU8/F,OAAOvlK,KAAK2zD,GAAA,KAExBgkF,OAAS,kBACJzqI,KAAK+3J,WAAA,KACN,OACA,OACA,SACI,OACJ,OACA,SACI,IAEXroK,KAAKsQ,MAAAA,KACF64J,gBAA8C,KAA3B17J,EAAO6C,KAAK+3J,YAA6B,IAAT56J,EACxDE,EAAS2C,KAAKyqI,QAAUzqI,KAAK64J,gBAAkB,EAAI,QAC9CC,eAAiB94J,KAAKo4H,KAAO/6H,EAAA,KAC7BgtJ,WAAa,kBACRrqJ,KAAKyqI,QAAA,KACN,QACI,kBACJ,QACI,cAEX/6I,KAAKsQ,WAAAA,KACF63J,QAAU,IAAIrzJ,WAAWxE,KAAK63J,UAAA,aAG9Bz+B,KAAOvtI,EAAA,QAEXutI,KAAO,EACRp5H,KAAKo5H,IAAMp5H,KAAK8G,KAAK5Y,OAAA,MACjB,IAAIrB,MAAM,mCAKtB+C,EAAIH,UAAU+jB,KAAO,SAASlW,GAAA,IACrBzR,EAAIwR,EAAA,IACXA,EAAW,GAELxR,EAAK,EACT,GAAKyR,EAAQzR,EAAKyR,EAAQzR,EAAKyR,EAC3B,GAAKA,IAAUzR,IAAOA,EAE1BwR,EAASvK,KAAKkN,KAAK8G,KAAK9G,KAAKo5H,QAAA,OAExB/7H,CAAA,EAGTzN,EAAIH,UAAUqoK,WAAa,kBAEpB93J,KAAK8G,KAAK9G,KAAKo5H,QAAU,GACzBp5H,KAAK8G,KAAK9G,KAAKo5H,QAAU,GACzBp5H,KAAK8G,KAAK9G,KAAKo5H,QAAU,EACzBp5H,KAAK8G,KAAK9G,KAAKo5H,MAAA,EAItBxpI,EAAIH,UAAU+oK,WAAa,kBAEpBx4J,KAAK8G,KAAK9G,KAAKo5H,QAAU,EACzBp5H,KAAK8G,KAAK9G,KAAKo5H,MAAA,EAItBxpI,EAAIH,UAAUspK,aAAe,SAASz7J,GAAA,IAChCzR,EAAamU,KAAK84J,eAAiB,EACnC7qK,EAAa,IAAIuW,WAAWxE,KAAKmC,MAAQnC,KAAKoC,OAASvW,GACvDkC,EAAM,EACN6B,EAAQoQ,KAAA,GAEA,MAAR1C,IACFA,EAAO0C,KAAK63J,SAEM,IAAhBv6J,EAAKpP,OAAA,OACA,IAAIsW,WAAW,YAIfiiD,EAAKppD,EAAIopD,EAAIrmD,EAAIxD,GAAA,IACpBgB,EACFZ,EACAC,EACAH,EACAD,EACAM,EACAJ,EACAG,EACAK,EACA1N,EACA6N,EACAF,EACAsrE,EACAj1C,EACA/1B,EACAL,EACAu1E,EACA1xE,EACAd,EACAxS,EACA26E,EACE54D,EAAI/a,KAAK+R,MAAMnX,EAAMuS,MAAQ9E,GAAM+C,GACrC6tE,EAAIj5E,KAAK+R,MAAMnX,EAAMwS,OAASqkD,GAAM7pD,GAClC6lD,EAAS7yD,EAAMuS,OAAS4N,GAAKngB,EAAMwS,QAAU6rE,EAAA,IACjDp6C,EAAiBhoC,EAAakkB,EAC9BvS,EAASilD,EAASx0D,EAAa,IAAIuW,WAAWqvB,EAAiBo6C,GAC/D9wE,EAASG,EAAKpP,OACd46E,EAAM,EACN9rE,EAAI,EACG8rE,EAAMmF,GAAKlgF,EAAMoP,GAAQ,QACtBG,EAAKvP,MAAA,KACN,MACE+O,EAAIk2E,EAAK,EAAGA,EAAKn/C,EAAgB/2B,EAAIk2E,GAAM,EAC9Cx1E,EAAOR,KAAOM,EAAKvP,KAAA,WAGlB,MACE+O,EAAIwE,EAAK,EAAGA,EAAKuyB,EAAgB/2B,EAAIwE,GAAM,EAC9C1D,EAAQN,EAAKvP,KACb8O,EAAOC,EAAIjR,EAAa,EAAI2R,EAAOR,EAAInR,GACvC2R,EAAOR,MAAQY,EAAQf,GAAQ,eAG9B,MACEC,EAAI0D,EAAK,EAAGA,EAAKqzB,EAAgB/2B,EAAI0D,GAAM,EAC9C5C,EAAQN,EAAKvP,KACbkP,GAAOH,EAAKA,EAAIjR,GAAeA,EAC/BiS,EACEgrE,GACAtrE,GACGsrE,EAAM,GAAKj1C,EACV52B,EAAMpR,EACLiR,EAAIjR,GAEX2R,EAAOR,MAAQc,EAAQF,GAAS,eAG/B,MACEd,EAAI9O,EAAK,EAAGA,EAAK6lC,EAAgB/2B,EAAI9O,GAAM,EAC9C4P,EAAQN,EAAKvP,KACbkP,GAAOH,EAAKA,EAAIjR,GAAeA,EAC/BgR,EAAOC,EAAIjR,EAAa,EAAI2R,EAAOR,EAAInR,GACvCiS,EACEgrE,GACAtrE,GACGsrE,EAAM,GAAKj1C,EACV52B,EAAMpR,EACLiR,EAAIjR,GAEX2R,EAAOR,MAAQY,EAAQ5I,KAAKqsC,OAAOxkC,EAAOiB,GAAS,IAAM,eAGxD,MACEhB,EAAI6rE,EAAK,EAAGA,EAAK90C,EAAgB/2B,EAAI6rE,GAAM,EAC9C/qE,EAAQN,EAAKvP,KACbkP,GAAOH,EAAKA,EAAIjR,GAAeA,EAC/BgR,EAAOC,EAAIjR,EAAa,EAAI2R,EAAOR,EAAInR,GAC3B,IAARi9E,EACFhrE,EAAQL,EAAY,GAEpBK,EACEN,GACGsrE,EAAM,GAAKj1C,EACV52B,EAAMpR,EACLiR,EAAIjR,GAEX4R,EACER,GACAO,GACGsrE,EAAM,GAAKj1C,GACT52B,EAAM,GAAKpR,EACXiR,EAAIjR,IAGbkR,EAAIF,EAAOiB,EAAQL,EACnBP,EAAKlI,KAAKuwB,IAAIxoB,EAAIF,GAClBhN,EAAKmF,KAAKuwB,IAAIxoB,EAAIe,GAClBJ,EAAK1I,KAAKuwB,IAAIxoB,EAAIU,GAEhBF,EADEL,GAAMrN,GAAMqN,GAAMQ,EACZb,EACChN,GAAM6N,EACPI,EAEAL,EAEVD,EAAOR,MAAQY,EAAQL,GAAS,wBAI5B,IAAI1Q,MAAM,6BAA+ByQ,EAAKvP,EAAM,QAEzD00D,EAAQ,KACP6oB,IAAY7kB,EAAKqiB,EAAMlsE,GAAMhN,EAAMuS,MAAQ9E,GAAMxR,EACjD09D,EAAUuf,EAAMj1C,EAAA,IACf/2B,EAAI,EAAGA,EAAIiT,EAAGjT,GAAK,EAAG,KACpB,IAAI+rE,EAAI,EAAGA,EAAIh9E,EAAYg9E,GAAK,EACnC56E,EAAWq9E,KAAa9tE,EAAO+rD,KACjC+hB,IAAYlrE,EAAK,GAAKvU,CAAA,EAG1Bi9E,GAAA,SA1HJxrE,EAAOD,GAAWC,GA6HW,GAAzB1N,EAAMsoK,iBAWRzxG,EAAK,EAAG,EAAG,EAAG,GAMdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,GAEdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,GAEdA,EAAK,EAAG,EAAG,EAAG,GACdA,EAAK,EAAG,EAAG,EAAG,IAEdA,EAAK,EAAG,EAAG,EAAG,GAETx4D,CAAA,EAGT2B,EAAIH,UAAUupK,cAAgB,eACxB17J,EAAGzR,EAAWwR,EAASpP,EAAKF,EAAK6B,EAAc62D,EAAIrmD,EAAMxD,EAAA,IAC7DS,EAAU2C,KAAKuqJ,QACf36J,EAAeoQ,KAAK4qJ,aAAa+N,SAAW,GAC5C5qK,EAAM,IAAIyW,YAAY5U,EAAa1B,QAAU,GAAKmP,EAAQnP,QAC1DD,EAAM,EAENqP,EAAI,EACCzR,EAAI46D,EAAK,EAAGrmD,EAFR/C,EAAQnP,OAEeu4D,EAAKrmD,EAAMvU,EAAI46D,GAAM,EACnD14D,EAAIE,KAASoP,EAAQxR,GACrBkC,EAAIE,KAASoP,EAAQxR,EAAI,GACzBkC,EAAIE,KAASoP,EAAQxR,EAAI,GACzBkC,EAAIE,KAAwC,OAA9B2O,EAAQhN,EAAa0N,MAAgBV,EAAQ,WAEtD7O,CAAA,EAGT6B,EAAIH,UAAUwpK,gBAAkB,SAAS37J,EAAWzR,GAAA,IAC9CwR,EAAOpP,EAAQF,EAAM6B,EAAG62D,EAAOrmD,EAAGxD,EAAGgB,EAAQZ,EAASC,EAAGH,EAAA,GAC7D7O,EAAS+R,KAAKyqI,OACdztI,EAAU,KACVK,EAAQ2C,KAAK64J,gBACT74J,KAAKuqJ,QAAQr8J,SACf8O,EACmC,OAAhCF,EAAOkD,KAAKk5J,iBACTp8J,EACCkD,KAAKk5J,gBAAkBl5J,KAAKg5J,gBACnC/qK,EAAS,EACToP,GAAA,GAGFO,GADA7P,EAAOuP,EAAUwJ,MAAQxJ,GACXpP,OACdu4D,EAAQzpD,GAAWnR,EACnB+D,EAAIwQ,EAAI,EACO,IAAXnS,EAAA,KACK2B,EAAIgO,GACThB,EAAII,EAA0B,EAAhBnR,EAAO+D,EAAI,GAASwQ,EAClCnD,EAAIwpD,EAAM7pD,KACV7O,EAAK6B,KAAOqN,EACZlP,EAAK6B,KAAOqN,EACZlP,EAAK6B,KAAOqN,EACZlP,EAAK6B,KAAOyN,EAAQopD,EAAM7pD,KAAO,IACjCwD,EAAIxD,OAAA,KAGChN,EAAIgO,GACThB,EAAII,EAA0B,EAAhBnR,EAAO+D,EAAI,GAASwQ,EAClCrS,EAAK6B,KAAO62D,EAAM7pD,KAClB7O,EAAK6B,KAAO62D,EAAM7pD,KAClB7O,EAAK6B,KAAO62D,EAAM7pD,KAClB7O,EAAK6B,KAAOyN,EAAQopD,EAAM7pD,KAAO,IACjCwD,EAAIxD,CAAA,EAKVhN,EAAIH,UAAU6iC,OAAS,eACjBh1B,EAAA,OACJA,EAAM,IAAIkH,WAAWxE,KAAKmC,MAAQnC,KAAKoC,OAAS,QAC3C62J,gBAAgB37J,EAAK0C,KAAK+4J,gBACxBz7J,CAAA,MAGLmpD,EAAmB,cACgC,oBAAjDj3D,OAAOC,UAAUyF,SAASxF,KAAKzB,IAAqC,KAEpEpC,EAAgBoC,GAAarD,SAASG,cAAc,UACpDgD,EAAalC,EAAcirC,WAAW,MACtC,MAAOx5B,GAAA,QACA,SAEF,SAEF,SAGTmpD,IAEAnpD,EAAY,SAASA,GAAA,IAEbD,EAAA,QADFopD,IAAA,OAEF14D,EAAWoU,MAAQ7E,EAAU6E,MAC7BpU,EAAWqU,OAAS9E,EAAU8E,OAC9BrU,EAAW8lK,UAAU,EAAG,EAAGv2J,EAAU6E,MAAO7E,EAAU8E,QACtDrU,EAAW43C,aAAaroC,EAAW,EAAG,IACtCD,EAAM,IAAIg5B,OACNU,IAAMlrC,EAAcorC,YACjB55B,EAAA,MAEH,IAAIxQ,MAAM,2DAGlB+C,EAAIH,UAAU0pK,aAAe,SAASttK,GAAA,IAChCwR,EAAOpP,EAAGF,EAAW6B,EAAQ62D,EAAIrmD,EAAMxD,EAAMgB,EAAA,GAC5CoC,KAAKu4D,UAAA,KAIV36D,EAAW,GACN3P,EAAIw4D,EAAK,EAAGrmD,GAFjBxD,EAAOoD,KAAKu4D,UAAU8/F,QAEOnqK,OAAQu4D,EAAKrmD,EAAMnS,IAAMw4D,EACpDppD,EAAQT,EAAK3O,GACbF,EAAYlC,EAAIutK,gBAAgB/7J,EAAM8E,MAAO9E,EAAM+E,QACnDxS,EAASoQ,KAAK+4J,aAAa,IAAIv0J,WAAWnH,EAAMyJ,OAAA,KAC3CmyJ,gBAAgBlrK,EAAW6B,GAChCyN,EAAMiwJ,UAAYv/J,EAClB6P,EAAS9K,KAAMuK,EAAM6qB,MAAQ5qB,EAAUvP,IAAA,OAElC6P,CAAA,GAGThO,EAAIH,UAAU4pK,YAAc,SAAS/7J,EAAKzR,GAAA,IACpCwR,EAAOpP,EAAQF,EAAA,OAEnBsP,GADApP,EAAS+R,KAAKu4D,UAAU8/F,QACTxsK,GACfkC,EAAOE,EAAOpC,EAAS,GACR,IAAXA,GACFyR,EAAIu2J,UAAU,EAAG,EAAG7zJ,KAAKmC,MAAOnC,KAAKoC,QAxeZ,KA2ehB,MAARrU,EAAeA,EAAK0qK,eAAA,GAErBn7J,EAAIu2J,UAAU9lK,EAAKuqK,QAASvqK,EAAKwqK,QAASxqK,EAAKoU,MAAOpU,EAAKqU,QA3epC,KA6ed,MAARrU,EAAeA,EAAK0qK,eAAA,IAErBn7J,EAAIqoC,aAAa53C,EAAKu/J,UAAWv/J,EAAKuqK,QAASvqK,EAAKwqK,SA7ejC,IA+ejBl7J,EAAMq7J,SACRp7J,EAAIu2J,UAAUx2J,EAAMi7J,QAASj7J,EAAMk7J,QAASl7J,EAAM8E,MAAO9E,EAAM+E,QAE1D9E,EAAI05B,UAAU35B,EAAM6qB,MAAO7qB,EAAMi7J,QAASj7J,EAAMk7J,QAAA,EAGzD3oK,EAAIH,UAAU6pK,QAAU,SAASh8J,GAAA,IAC3BzR,EACFwR,EACApP,EACAF,EACA6B,EACA62D,EACArmD,EAAQJ,KAAA,OACV3C,EAAc,EACbopD,EAAOzmD,KAAKu4D,UACVxqE,EAAY04D,EAAK0xG,UACjBlqK,EAASw4D,EAAK4xG,OACdzoK,EAAW62D,EAAK2xG,UACXvsK,EAAU,eACZ46D,EAAG7pD,EAAA,GACP6pD,EAAIppD,IAAgBtP,EACpB6O,EAAQ3O,EAAOw4D,GACfrmD,EAAMi5J,YAAY/7J,EAAKmpD,GACnB14D,EAAY,GAAKsP,EAActP,EAAY6B,EAAA,OACrCwQ,EAAMm4D,UAAUghG,SAAWpuH,WAAWt/C,EAAS+Q,EAAMgxF,MAAA,MAKnEh+F,EAAIH,UAAU+pK,cAAgB,eACxBl8J,EAAA,OACGuqE,aACsB,OAA1BvqE,EAAO0C,KAAKu4D,WAAqBj7D,EAAKi8J,cAAA,EAAW,EAItD3pK,EAAIH,UAAUiM,OAAS,SAAS4B,GAAA,IAC1BzR,EAAKwR,EAAA,OACLC,EAAOm8J,MACTn8J,EAAOm8J,KAAKD,gBAEdl8J,EAAOm8J,KAAOz5J,KACd1C,EAAO6E,MAAQnC,KAAKmC,MACpB7E,EAAO8E,OAASpC,KAAKoC,OACrBvW,EAAMyR,EAAOw5B,WAAW,MACpB92B,KAAKu4D,WAAA,KACF4gG,aAAattK,GACXmU,KAAKs5J,QAAQztK,KAEpBwR,EAAOxR,EAAIutK,gBAAgBp5J,KAAKmC,MAAOnC,KAAKoC,QAAA,KACvC62J,gBAAgB57J,EAAM2C,KAAK+4J,gBACzBltK,EAAI85C,aAAatoC,EAAM,EAAG,KAI9BzN,CAAA,CAvjBE,GEwYX,SAAS8lJ,GAAUp4I,GAAA,IACbzR,EAAI,KAIO,KAAbyR,EAAIzR,MACS,KAAbyR,EAAIzR,MACS,KAAbyR,EAAIzR,MACS,KAAbyR,EAAIzR,MACwB,KAA1ByR,EAAIzR,KAAO,EAAK,MACL,KAAbyR,EAAIzR,KAAA,MAEE,IAAIgB,MAAM,mCAIdwQ,EAAQC,EAAIzR,KAAQyR,EAAIzR,MAAQ,EAChCoC,EAASqP,EAAIzR,KAAQyR,EAAIzR,MAAQ,EACjCkC,EAAMuP,EAAIzR,KACV+D,EAAsB7B,GAAO,EAE7B04D,EAAoB,GAA+B,GADpB,EAAN14D,GAEZuP,EAAIzR,KACrByR,EAAIzR,KAAA,IAEAuU,EAAwB,KACxBxD,EAAsB,KAEtBhN,IACFwQ,EAAwBvU,EACxB+Q,EAAsB6pD,EACtB56D,GAAyB,EAApB46D,GAAA,IAGH7oD,GAAA,EAEAZ,EAAS,GAETC,EAAQ,EACRH,EAAoB,KACpBD,EAAW,EACXM,EAAa,cAEZgF,MAAQ9E,EAAA,KACR+E,OAASnU,EAEP2P,GAAU/R,EAAIyR,EAAIpP,QAAA,OACfoP,EAAIzR,MAAA,KACL,UACKyR,EAAIzR,MAAA,KACL,OAGU,KAAXyR,EAAIzR,IAEW,IAAdyR,EAAIzR,EAAI,IACO,IAAdyR,EAAIzR,EAAI,IACM,IAAdyR,EAAIzR,EAAI,IACM,IAAdyR,EAAIzR,EAAI,IACM,IAAdyR,EAAIzR,EAAI,IACM,IAAdyR,EAAIzR,EAAI,IACM,IAAdyR,EAAIzR,EAAI,IACM,IAAdyR,EAAIzR,EAAI,IACM,IAAdyR,EAAIzR,EAAI,IACO,IAAfyR,EAAIzR,EAAI,KACO,IAAfyR,EAAIzR,EAAI,KAEO,GAAfyR,EAAIzR,EAAI,KACO,GAAfyR,EAAIzR,EAAI,KACO,GAAfyR,EAAIzR,EAAI,IAEVA,GAAK,GACLsR,EAAaG,EAAIzR,KAAQyR,EAAIzR,MAAQ,EACrCA,SAAA,IAGAA,GAAK,KACQ,OAEP2U,EAAalD,EAAIzR,OAED,GAAI,MAAMgB,MAAM,yBACjB,IAAf2T,EAAkB,MACtB3U,GAAK2U,CAAA,YAKN,OACc,IAAblD,EAAIzR,MAA+B,IAAfyR,EAAIzR,EAAI,GAC9B,MAAM,IAAIgB,MAAM,yCACdkQ,EAAMO,EAAIzR,KACdoR,EAAQK,EAAIzR,KAAQyR,EAAIzR,MAAQ,EAChCiR,EAAoBQ,EAAIzR,KACN,IAAP,EAANkR,KAAgBD,EAAoB,MACzCD,EAAYE,GAAO,EAAK,EACxBlR,IAAA,WAGG,WACU,OAEP2U,EAAalD,EAAIzR,OAED,GAAI,MAAMgB,MAAM,yBACjB,IAAf2T,EAAkB,MAEtB3U,GAAK2U,CAAA,qBAKD,IAAI3T,MACR,oCAAsCyQ,EAAIzR,EAAI,GAAGqJ,SAAS,gBAK7D,OACCgI,EAAII,EAAIzR,KAAQyR,EAAIzR,MAAQ,EAC5B0R,EAAID,EAAIzR,KAAQyR,EAAIzR,MAAQ,EAC5BgE,EAAIyN,EAAIzR,KAAQyR,EAAIzR,MAAQ,EAC5B6R,EAAIJ,EAAIzR,KAAQyR,EAAIzR,MAAQ,EAC5B2R,EAAMF,EAAIzR,KAEVi9E,EAAkBtrE,GAAO,EAAK,EAE9Bq2B,EAAmB,GAA8B,GADnB,EAANr2B,GAExBM,EAAiBsC,EACjB3C,EAAeb,EACfo2E,GAAA,EANqBx1E,GAAO,IAQ1Bw1E,GAAA,EACJl1E,EAAiBjS,EACjB4R,EAAeo2B,EACfhoC,GAAwB,EAAnBgoC,GAAA,IAGHvyB,EAAczV,EAAA,IAElBA,MACa,KACP2U,EAAA,MAAAA,EAAalD,EAAIzR,OAED,GAAI,MAAMgB,MAAM,yBACjB,IAAf2T,EAAkB,MACtB3U,GAAK2U,CAAA,CAGPxD,EAAOlK,KAAK,CACV2K,EAAGP,EACHQ,EAAGH,EACH4E,MAAOtS,EACPuS,OAAQ1E,EACRg8J,kBAAmB1mF,EACnB2mF,eAAgB77J,EAChB87J,aAAcn8J,EACdo8J,YAAav4J,EACbw4J,YAAajuK,EAAIyV,EACjBy4J,kBAAmBj9J,EACnBk9J,aAAclxF,EACd8kB,MAAO3wF,EACPg9J,SAAUp9J,IAAA,WAIT,GACHe,GAAA,EAAS,oBAIH,IAAI/Q,MAAM,wBAA0ByQ,EAAIzR,EAAI,GAAGqJ,SAAS,UAK/DijK,UAAY,kBACRn7J,EAAO9O,MAAA,OAGXgsK,UAAY,kBACR/8J,CAAA,OAGJg9J,UAAY,SAAS78J,GAAA,GACpBA,EAAY,GAAKA,GAAaN,EAAO9O,OACvC,MAAM,IAAIrB,MAAM,oCACXmQ,EAAOM,EAAA,OAGX88J,uBAAyB,SAASvuK,EAAWoC,GAAA,IAC5CF,EAAQiS,KAAKm6J,UAAUtuK,GACvB+D,EAAa7B,EAAMoU,MAAQpU,EAAMqU,OACjCqkD,EAAe,IAAIjiD,WAAW5U,GAClCgmJ,GACEt4I,EACAvP,EAAM8rK,YACNpzG,EACA72D,GAAA,IAEEwQ,EAAiBrS,EAAM4rK,eAKvB/8J,EAAQ7O,EAAMgsK,kBACJ,OAAVn9J,IAAgBA,EAAQ,SAKxBgB,EAAa7P,EAAMoU,MACnBnF,EAAcK,EAAQO,EACtBX,EAAQW,EAGRd,EAAsC,GAA7B/O,EAAM2P,EAAIL,EAAQtP,EAAM0P,GACjCZ,EAAuD,IAA7C9O,EAAM2P,EAAI3P,EAAMqU,QAAU/E,EAAQtP,EAAM0P,GAClDN,EAAKL,EAELC,EAA2B,EAAdC,GAAA,IAIbjP,EAAMisK,aACRj9J,GAAsB,EAARM,EAAY,WAGxBH,EAAgB,EAEXK,EAAI,EAAG1N,EAAK42D,EAAav4D,OAAQqP,EAAI1N,IAAM0N,EAAG,KACjDG,EAAQ+oD,EAAalpD,GAAA,GAEX,IAAVN,IAGFA,EAAQW,GADRT,GAAMJ,IAEIF,IAERE,EAA2B,EAAdC,EAA0B,EAARK,GAAaH,EAAgB,GAE5DC,EAAKL,GAASc,EAAaZ,IAAgBE,GAAiB,GAC5DA,IAAkB,IAIlBQ,IAAUd,EACZO,GAAM,MACD,KACDK,EAAIF,EAAI8C,EAAyB,EAAR1C,GACzBorE,EAAIxrE,EAAI8C,EAAyB,EAAR1C,EAAY,GACrCm2B,EAAIv2B,EAAI8C,EAAyB,EAAR1C,EAAY,GACzCzP,EAAOkP,KAAQ02B,EACf5lC,EAAOkP,KAAQ2rE,EACf76E,EAAOkP,KAAQK,EACfvP,EAAOkP,KAAQ,MAEfF,CAAA,QAKDo9J,uBAAyB,SAASxuK,EAAWoC,GAAA,IAC5CF,EAAQiS,KAAKm6J,UAAUtuK,GACvB+D,EAAa7B,EAAMoU,MAAQpU,EAAMqU,OACjCqkD,EAAe,IAAIjiD,WAAW5U,GAClCgmJ,GACEt4I,EACAvP,EAAM8rK,YACNpzG,EACA72D,GAAA,IAEEwQ,EAAiBrS,EAAM4rK,eAKvB/8J,EAAQ7O,EAAMgsK,kBACJ,OAAVn9J,IAAgBA,EAAQ,SAKxBgB,EAAa7P,EAAMoU,MACnBnF,EAAcK,EAAQO,EACtBX,EAAQW,EAGRd,EAAsC,GAA7B/O,EAAM2P,EAAIL,EAAQtP,EAAM0P,GACjCZ,EAAuD,IAA7C9O,EAAM2P,EAAI3P,EAAMqU,QAAU/E,EAAQtP,EAAM0P,GAClDN,EAAKL,EAELC,EAA2B,EAAdC,GAAA,IAIbjP,EAAMisK,aACRj9J,GAAsB,EAARM,EAAY,WAGxBH,EAAgB,EAEXK,EAAI,EAAG1N,EAAK42D,EAAav4D,OAAQqP,EAAI1N,IAAM0N,EAAG,KACjDG,EAAQ+oD,EAAalpD,GAAA,GAEX,IAAVN,IAGFA,EAAQW,GADRT,GAAMJ,IAEIF,IAERE,EAA2B,EAAdC,EAA0B,EAARK,GAAaH,EAAgB,GAE5DC,EAAKL,GAASc,EAAaZ,IAAgBE,GAAiB,GAC5DA,IAAkB,IAIlBQ,IAAUd,EACZO,GAAM,MACD,KACDK,EAAIF,EAAI8C,EAAyB,EAAR1C,GACzBorE,EAAIxrE,EAAI8C,EAAyB,EAAR1C,EAAY,GACrCm2B,EAAIv2B,EAAI8C,EAAyB,EAAR1C,EAAY,GACzCzP,EAAOkP,KAAQK,EACfvP,EAAOkP,KAAQ2rE,EACf76E,EAAOkP,KAAQ02B,EACf5lC,EAAOkP,KAAQ,MAEfF,CAAA,GAKR,SAAS24I,GAA8Bt4I,EAAazR,EAAGwR,EAAQpP,GAAA,QACzDF,EAAgBuP,EAAYzR,KAE5B46D,EAAa,GAAK14D,EAClBqS,EAAWqmD,EAAa,EACxB7pD,EAAYwD,EAAW,EAEvBxC,EAAgB7P,EAAgB,EAGhCiP,GAAa,GAAKY,GAAiB,EACnCX,EAAY,EACZH,EAAM,EAEND,EAAK,EAELM,EAAgBG,EAAYzR,KAK5BkR,EAAa,IAAIkwJ,WAAW,MAE5B/vJ,EAAY,OAEH,MAEJD,EAAY,IACK,IAAlBE,GAEJL,GAAOQ,EAAYzR,MAAQoR,EAC3BA,GAAa,EAES,IAAlBE,EAEFA,EAAgBG,EAAYzR,OAE1BsR,EAAA,GAMFF,EAAYW,EAAe,UAE3BL,EAAOT,EAAME,EAAA,GACjBF,IAAQc,EACRX,GAAaW,EAKTL,IAASkpD,EAAA,CAYN,GAAIlpD,IAAS6C,EAAA,cAuBhBvQ,EAAa0N,EAAOX,EAAYW,EAAOL,EAGvCQ,EAAe,EACfF,EAAQ3N,EACL2N,EAAQipD,GACbjpD,EAAQT,EAAWS,IAAU,IAC3BE,EAAA,IAGAorE,EAAItrE,EAAA,GAEKX,EAAKa,GAAgB7N,IAAe0N,EAAO,EAAI,GAC/CtP,EAAA,YACX2B,GAAQwqE,IAAI,6CAKd/8D,EAAOR,KAAQisE,EAAA,IAGXj1C,EADJh3B,GAAMa,EAAA,IAGF7N,IAAe0N,IAEjBF,EAAOR,KAAQisE,GAEjBtrE,EAAQ3N,EACD6N,KACLF,EAAQT,EAAWS,GACnBH,IAASw2B,GAAa,IAARr2B,EACdA,IAAU,EAGM,OAAdN,GAAsBN,EAAY,OACpCG,EAAWH,KAAgBM,GAAa,EAAK4rE,EAMzClsE,GAAaI,EAAY,GAAKY,EAAgB,OAC9CA,EACFZ,EAAaA,GAAa,EAAK,IAInCE,EAAYK,CAAA,MA9EVX,EAAYwD,EAAW,EAEvBpD,GAAa,IADbY,EAAgB7P,EAAgB,IACG,EAGnCmP,EAAY,YA4EZL,IAAO5O,GACT2B,GAAQwqE,IAAI,8CAGP/8D,CAAA,CCz1BT,SAAS04I,GAAYz4I,GAAA,IAMfzR,EACAwR,EACApP,EACAF,EAeA6B,EAvBA62D,EAASzxD,KAAKqsC,MACdjhC,EAAS,IAAItQ,MAAM,IACnB8M,EAAU,IAAI9M,MAAM,IACpB8N,EAAU,IAAI9N,MAAM,IACpBkN,EAAW,IAAIlN,MAAM,IAMrBmN,EAAU,IAAInN,MAAM,OACpBgN,EAAW,IAAIhN,MAAM,OACrB+M,EAAkB,IAAI/M,MAAM,IAC5BqN,EAAK,IAAIrN,MAAM,IACfiN,EAAU,GACVG,EAAU,EACVK,EAAU,EAEV1N,EAAM,IAAIC,MAAM,IAChB4N,EAAM,IAAI5N,MAAM,IAChB0N,EAAM,IAAI1N,MAAM,IAChBg5E,EAAM,IAAIh5E,MAAM,KAChB+jC,EAAgB,IAAI/jC,MAAM,MAG1BgO,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEL,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEu1E,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D1xE,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEd,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGExS,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE26E,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/D54D,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEk+D,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOxrB,EAAkBnlD,EAASzR,GAAA,QAC9BwR,EAAY,EACZpP,EAAe,EACfF,EAAK,IAAI+B,MACJF,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAI62D,EAAI,EAAGA,GAAKnpD,EAAQ1N,GAAI62D,IAC/B14D,EAAGlC,EAAUoC,IAAiB,GAC9BF,EAAGlC,EAAUoC,IAAe,GAAKoP,EACjCtP,EAAGlC,EAAUoC,IAAe,GAAK2B,EACjC3B,IACAoP,IAEFA,GAAa,SAERtP,CAAA,UA2DAu9E,EAAUhuE,GAAA,QACbzR,EAAQyR,EAAG,GACXD,EAASC,EAAG,GAAK,EACdD,GAAU,GACXxR,EAAS,GAAKwR,IAChBH,GAAW,GAAKK,GAElBF,MACAE,EACc,IACG,KAAXL,GACFqsD,EAAU,KACVA,EAAU,IAEVA,EAAUrsD,GAEZK,EAAU,EACVL,EAAU,YAKPqsD,EAAUjsD,GAEjBP,EAAQjK,KAAKwK,EAAA,UAGNurE,EAAUvrE,GACjBisD,EAAWjsD,GAAS,EAAK,KACzBisD,EAAkB,IAARjsD,EAAA,UAyOHwS,EAAUxS,EAAKzR,EAAOwR,EAAIpP,EAAMF,GAAA,QAGnC6B,EAFA62D,EAAM14D,EAAK,GACXqS,EAAYrS,EAAK,KAKjB6O,EAAA,SA5OaU,EAAMzR,GAAA,IACnBwR,EAAIpP,EAAIF,EAAI6B,EAAI62D,EAAIrmD,EAAIxD,EAAIgB,EAG5BZ,EAkHAC,EAnHAH,EAAU,MAITE,EAAI,EAAGA,EAFH,IAEaA,EAAG,CACvBK,EAAKC,EAAKR,GACV7O,EAAKqP,EAAKR,EAAU,GACpB/O,EAAKuP,EAAKR,EAAU,GACpBlN,EAAK0N,EAAKR,EAAU,GACpB2pD,EAAKnpD,EAAKR,EAAU,GACpBsD,EAAK9C,EAAKR,EAAU,GACpBF,EAAKU,EAAKR,EAAU,OAGhBK,EAAOE,GAFXO,EAAKN,EAAKR,EAAU,IAGhBC,EAAOM,EAAKO,EACZV,EAAOjP,EAAK2O,EACZW,EAAOtP,EAAK2O,EACZ/M,EAAO9B,EAAKqS,EACZ1C,EAAO3P,EAAKqS,EACZ5C,EAAO5N,EAAK62D,EACZqiB,EAAOl5E,EAAK62D,EAGZ5yB,EAAQ12B,EAAOK,EACfM,EAAQX,EAAOK,EACfC,EAAQP,EAAOrN,EACfmjF,EAAQ91E,EAAOrN,EAEnByN,EAAKR,GAAW+2B,EAAQp2B,EACxBH,EAAKR,EAAU,GAAK+2B,EAAQp2B,EAAA,IAExB6D,EAAuB,YAAjB0xE,EAAQl1E,GAClBR,EAAKR,EAAU,GAAKgB,EAAQwD,EAC5BhE,EAAKR,EAAU,GAAKgB,EAAQwD,EAAA,IAQxBd,EAAuB,aAL3BqzB,EAAQi1C,EAAOprE,IAEfs1E,EAAQz1E,EAAOR,IAIX/O,EAAK,SAAY6lC,EAAQrzB,EACzBmoE,EAAK,YAAcqK,EAAQxyE,EAC3BuP,EAAa,YAPjBtS,EAAQC,EAAOH,GASX0wE,EAAMlxE,EAAOgT,EACb0yC,EAAM1lD,EAAOgT,EAEjBzS,EAAKR,EAAU,GAAK2lD,EAAMz0D,EAC1BsP,EAAKR,EAAU,GAAK2lD,EAAMz0D,EAC1BsP,EAAKR,EAAU,GAAKmxE,EAAMtF,EAC1BrrE,EAAKR,EAAU,GAAKmxE,EAAMtF,EAE1B7rE,GAAW,MAIbA,EAAU,EACLE,EAAI,EAAGA,EA1DH,IA0DaA,EAAG,CACvBK,EAAKC,EAAKR,GACV7O,EAAKqP,EAAKR,EAAU,GACpB/O,EAAKuP,EAAKR,EAAU,IACpBlN,EAAK0N,EAAKR,EAAU,IACpB2pD,EAAKnpD,EAAKR,EAAU,IACpBsD,EAAK9C,EAAKR,EAAU,IACpBF,EAAKU,EAAKR,EAAU,QAGhBwuE,EAASjuE,GAFbO,EAAKN,EAAKR,EAAU,KAGhBysD,EAASlsD,EAAKO,EACdirE,EAAS56E,EAAK2O,EACdkT,EAAS7hB,EAAK2O,EACdQ,EAASrP,EAAKqS,EACd2pD,EAASh8D,EAAKqS,EACd2yE,EAASnjF,EAAK62D,EACd1yB,EAASnkC,EAAK62D,EAGdz2C,EAAUs7D,EAASyH,EACnBp1E,EAAU2tE,EAASyH,EACnBrK,EAAUG,EAASzrE,EACnB68E,EAAUpR,EAASzrE,EAEvBE,EAAKR,GAAWkT,EAAU04D,EAC1BprE,EAAKR,EAAU,IAAMkT,EAAU04D,EAAA,IAE3B50C,EAA6B,YAArBmmD,EAAUt8E,GACtBL,EAAKR,EAAU,IAAMa,EAAUm2B,EAC/Bx2B,EAAKR,EAAU,IAAMa,EAAUm2B,EAAA,IAQ3BmyC,EAA6B,aALjCj2D,EAAU+jB,EAASg2B,IAEnBkwB,EAAUnqE,EAASy5C,IAIfuzB,EAAO,SAAY9sE,EAAUi2D,EAC7Ba,EAAO,YAAcmT,EAAUhU,EAC/B4W,EAAiB,YAPrBnU,EAAU3e,EAASj6C,GASfi3D,EAAQxd,EAASszB,EACjB5sE,EAAQs5C,EAASszB,EAErBv/E,EAAKR,EAAU,IAAMmT,EAAQ6sE,EAC7Bx/E,EAAKR,EAAU,IAAMmT,EAAQ6sE,EAC7Bx/E,EAAKR,EAAU,GAAKiqE,EAAQD,EAC5BxpE,EAAKR,EAAU,IAAMiqE,EAAQD,EAE7BhqE,GAAA,KAKGE,EAAI,EAAGA,EAjHF,KAiHaA,EAErBC,EAAYK,EAAKN,GAAKnR,EAAMmR,GAC5BH,EAAgBG,GACdC,EAAY,EAAOA,EAAY,GAAO,EAAKA,EAAY,GAAO,SAG3DJ,CAAA,CA8GH,CAAmBS,EAAKzR,GAEnB+R,EAAI,EAAGA,EAHN,KAGiBA,EACzBT,EAAGW,EAAOF,IAAMhB,EAAOgB,GAAA,IAErBZ,EAAOG,EAAG,GAAKE,EACnBA,EAAKF,EAAG,GAEI,GAARH,EACFsuE,EAAUr9E,EAAK,KAGfq9E,EAAUr9E,EAAK6O,EADflN,EAAM,MAAQoN,KAEdsuE,EAAUruE,EAAQrN,KAAA,QAGhBmN,EAAU,GACPA,EAAU,GAAoB,GAAfI,EAAGJ,IACvBA,IAAA,GAGa,GAAXA,EAAA,OACFuuE,EAAU7kB,GACHppD,EAAA,QAGLH,EADAK,EAAI,EAEDA,GAAKR,GAAS,SACflN,EAAW0N,EACC,GAATJ,EAAGI,IAAWA,GAAKR,KACtBQ,EAAA,IAEAG,EAAWH,EAAI1N,EAAA,GACf6N,GApCI,GAoCa,CACnBR,EAAMQ,GAAY,MACb,IAAIF,EAAW,EAAGA,GAAYN,IAAOM,EACxC8tE,EAAUlrE,GACZ1C,GAAsB,GAExB9N,EAAM,MAAQuN,EAAGI,GACjB+tE,EAAUv9E,GAAM2P,GAAY,GAAKZ,EAASlN,KAC1C07E,EAAUruE,EAAQrN,IAClB2N,GAAA,QA5CQ,IA8CNR,GACFuuE,EAAU7kB,GAELppD,CAAA,UA8HAD,EAAWE,GAClBA,EAAUtI,KAAKmE,IAAInE,KAAKoE,IAAIkE,EAAS,GAAI,KAErC1N,GAAkB0N,IAAA,SA1qBCA,GAAA,QACnBzR,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOwR,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBpP,EAAIw4D,GAAQ56D,EAAIwR,GAAKC,EAAK,IAAM,KACpCrP,EAAI+G,KAAKmE,IAAInE,KAAKoE,IAAInL,EAAG,GAAI,KAC7BmS,EAAOtC,EAAOT,IAAMpP,CAAA,SAElBF,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEO6B,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBqN,EAAIwpD,GA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yR,EAAER,EACfjR,GAAK,MAAQyR,EAAE2rD,GAAA,IACTl7D,IAAOlC,GAAKgR,GAAK4pD,EAAK56D,GAAKsR,GAAKG,EAAEqhF,GAAM9yF,GAAK,MAAQyR,EAAEyS,EAAA,MAE5DlkB,EAAI,EACTyR,EAAIzR,EAAI,EAAI,UAGZ,GAAKyR,GAAA,MACDD,GAAKA,EAAEo9D,KAAOn9D,EAAI4kJ,GAAGj0J,IADVqP,CAAA,KAIjB0kJ,GAAK,GACPjU,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFkU,GAAK,GACL4Y,GAAK,GACLC,GAAK,EACLC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJhoF,EAAE,aAAc,iBAChBz1E,EAAKiiK,WAAa,kBACT,YAETjiK,EAAKkiK,WAAa,SAASliK,GAAA,OAClBA,CAAA,EAETA,EAAKmiK,WAAa,SAASniK,EAAGzR,EAAGwR,GAAA,OACxBxR,EAAEwR,EAAI,IAEfC,EAAKoiK,WAAa,SAASpiK,EAAGzR,EAAGwR,GAAA,OACxBxR,EAAEwR,EAAI,IAEfC,EAAKqiK,WAAa,SAASriK,EAAGzR,EAAGwR,GAAA,OACxBxR,EAAEwR,EAAI,IAEfC,EAAKsiK,WAAa,SAAStiK,EAAGzR,EAAGwR,GAAA,OACxB2S,EAAGA,EAAG1S,EAAGzR,EAAEwR,EAAI,IAAKxR,EAAEwR,EAAI,KAEnCC,EAAKuiK,WAAa,SAASviK,EAAGzR,EAAGwR,GAAA,OACxB2S,EAAG1S,EAAGzR,EAAEwR,EAAI,KAErBC,EAAKwiK,WAAa,SAASxiK,EAAGzR,EAAGwR,GAAA,OACxB2S,EAAG1S,EAAGzR,EAAEwR,EAAI,KAErBC,EAAKyiK,WAAa,SAASziK,EAAGzR,EAAGwR,GAAA,OACxB2S,EAAGnkB,EAAEwR,EAAI,GAAIxR,EAAEwR,EAAI,KAE5BC,EAAK0iK,WAAa,SAAS1iK,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,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEvB,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFqB,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFzkF,GAAK,EACL1B,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFkB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFP,GAAK,KACLN,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAE1DxB,GAAK,CAAC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IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK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IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,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","sources":["../node_modules/copy-to-clipboard/index.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/object-assign/index.js","../node_modules/path-to-regexp/index.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/Prompt.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/withRouter.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-router/node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/tiny-invariant/dist/tiny-invariant.cjs.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/toggle-selection/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@react-oauth/google/dist/index.esm.js","../node_modules/jwt-decode/lib/atob.js","../node_modules/jwt-decode/lib/base64_url_decode.js","../node_modules/jwt-decode/lib/index.js","Utils/Common.js","Utils/SuperAdminPrivateRoute.js","Utils/SuperAdminPublicRoute.js","Utils/AdminPrivateRoute.js","Utils/AdminPublicRoute.js","Utils/VolkswagenAdminPrivateRoute.js","Utils/VolkswagenAdminPublicRoute.js","Utils/AudiAdminPrivateRoute.js","Utils/AudiAdminPublicRoute.js","Utils/PrivateRoute.js","Utils/PublicRoute.js","Utils/VolkswagenPrivateRoute.js","Utils/VolkswagenPublicRoute.js","Utils/AudiPrivateRoute.js","Utils/AudiPublicRoute.js","Home.js","webpack://skoda/./src/User/Skoda/Pages/Home/home.module.css?e15c","User/Skoda/Pages/Home/Home.js","User/Audi/Pages/Home/Home.js","webpack://skoda/./src/User/Volkswagen/Pages/Home/home.module.css?a19a","User/Volkswagen/Pages/Home/Home.js","webpack://skoda/./src/Pages/pages.module.css?89b6","Pages/Header.js","Pages/Footer.js","Pages/Copyright.js","Pages/Compliance.js","Pages/PrivacyPolicy.js","Pages/Disclaimer.js","Pages/TermsCancellationPolicy.js","webpack://skoda/./src/User/Skoda/Pages/Login/login.module.css?66bf","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","Base/Config.js","webpack://skoda/./src/Components/Message/message.module.css?2fcf","Components/Message/Message.js","User/Skoda/Pages/Login/LoginWithGoogle.js","User/Skoda/Pages/Login/SignIn.js","User/Skoda/Pages/Login/SignUp.js","User/Skoda/Pages/Login/Login.js","webpack://skoda/./src/User/Skoda/Components/Sidebar/sidebar.module.css?4347","User/Skoda/Components/Sidebar/Sidebar.js","webpack://skoda/./src/User/Skoda/Components/Navbar/navbar.module.css?5083","User/Skoda/Components/Navbar/Navbar.js","webpack://skoda/./src/User/Skoda/Pages/SearchVehicles/search-vehicles.module.css?1769","User/Skoda/Pages/SearchVehicles/SearchVehicles.js","webpack://skoda/./src/User/Skoda/Pages/Reports/reports.module.css?11d2","User/Skoda/Pages/Reports/Reports.js","webpack://skoda/./src/User/Skoda/Pages/Detail/detail.module.css?de45","User/Skoda/Pages/Detail/Detail.js","webpack://skoda/./src/User/Skoda/Pages/ReportPlans/report-plans.module.css?acea","User/Skoda/Pages/ReportPlans/ReportPlans.js","webpack://skoda/./src/User/Skoda/Pages/Transactions/transaction.module.css?2d79","User/Skoda/Pages/Transactions/Transactions.js","webpack://skoda/./src/User/Skoda/Components/KYC/kyc.module.css?2faf","User/Skoda/Components/KYC/IndividualKyc/Individualkyc.js","User/Skoda/Components/KYC/CompanyKyc/Companykyc.js","User/Skoda/Components/KYC/KYC.js","webpack://skoda/./src/User/Skoda/Pages/MyAccount/my-account.module.css?9729","User/Skoda/Pages/MyAccount/MyAccount.js","webpack://skoda/./src/User/Skoda/Pages/ContactUs/contact-us.module.css?15d8","User/Skoda/Pages/ContactUs/ContactUs.js","webpack://skoda/./src/User/Skoda/Pages/Logout/logout.module.css?3070","User/Skoda/Pages/Logout/Logout.js","webpack://skoda/./src/User/Volkswagen/Pages/Login/login.module.css?96c4","User/Volkswagen/Pages/Login/LoginWithGoogle.js","User/Volkswagen/Pages/Login/SignIn.js","User/Volkswagen/Pages/Login/SignUp.js","User/Volkswagen/Pages/Login/Login.js","User/Volkswagen/Pages/SearchVolkswagen/SearchVolkswagen.js","webpack://skoda/./src/User/Volkswagen/Components/Sidebar/sidebar.module.css?7872","User/Volkswagen/Components/Sidebar/Sidebar.js","webpack://skoda/./src/User/Volkswagen/Components/Navbar/navbar.module.css?8d2c","User/Volkswagen/Components/Navbar/Navbar.js","webpack://skoda/./src/User/Volkswagen/Pages/SearchVehicles/search-vehicles.module.css?cbd1","User/Volkswagen/Pages/SearchVehicles/SearchVehicles.js","webpack://skoda/./src/User/Volkswagen/Pages/Reports/reports.module.css?a072","User/Volkswagen/Pages/Reports/Reports.js","webpack://skoda/./src/User/Volkswagen/Pages/Detail/detail.module.css?3734","User/Volkswagen/Pages/Detail/Components/Basic.js","User/Volkswagen/Pages/Detail/Components/Pro.js","User/Volkswagen/Pages/Detail/Components/ProMax.js","User/Volkswagen/Pages/Detail/Detail.js","webpack://skoda/./src/User/Volkswagen/Pages/ReportPlans/report-plans.module.css?f57e","User/Volkswagen/Pages/ReportPlans/ReportPlans.js","webpack://skoda/./src/User/Volkswagen/Pages/Transactions/transaction.module.css?2ad9","User/Volkswagen/Pages/Transactions/Transactions.js","webpack://skoda/./src/User/Volkswagen/Components/KYC/kyc.module.css?1432","User/Volkswagen/Components/KYC/IndividualKyc/Individualkyc.js","User/Volkswagen/Components/KYC/CompanyKyc/Companykyc.js","User/Volkswagen/Components/KYC/KYC.js","webpack://skoda/./src/User/Volkswagen/Pages/MyAccount/my-account.module.css?bdb5","User/Volkswagen/Pages/MyAccount/MyAccount.js","webpack://skoda/./src/User/Volkswagen/Pages/ContactUs/contact-us.module.css?078d","User/Volkswagen/Pages/ContactUs/ContactUs.js","webpack://skoda/./src/User/Volkswagen/Pages/Logout/logout.module.css?d153","User/Volkswagen/Pages/Logout/Logout.js","webpack://skoda/./src/User/Audi/Pages/Login/login.module.css?62c9","User/Audi/Pages/Login/LoginWithGoogle.js","User/Audi/Pages/Login/SignIn.js","User/Audi/Pages/Login/SignUp.js","User/Audi/Pages/Login/Login.js","webpack://skoda/./src/User/Audi/Components/Sidebar/sidebar.module.css?b2d8","User/Audi/Components/Sidebar/Sidebar.js","webpack://skoda/./src/User/Audi/Components/Navbar/navbar.module.css?eacf","User/Audi/Components/Navbar/Navbar.js","User/Audi/Pages/Dashboard/Dashboard.js","webpack://skoda/./src/User/Audi/Pages/APIDocumentation/api-documentation.module.css?a464","User/Audi/Pages/APIDocumentation/APIDocumentation.js","webpack://skoda/./src/User/Audi/Pages/Transactions/transaction.module.css?3f0a","User/Audi/Pages/Transactions/Transactions.js","webpack://skoda/./src/User/Audi/Components/KYC/kyc.module.css?d812","User/Audi/Components/KYC/IndividualKyc/Individualkyc.js","User/Audi/Components/KYC/CompanyKyc/Companykyc.js","User/Audi/Components/KYC/KYC.js","webpack://skoda/./src/User/Audi/Pages/MyAccount/my-account.module.css?710c","User/Audi/Pages/MyAccount/MyAccount.js","webpack://skoda/./src/User/Audi/Pages/ContactUs/contact-us.module.css?27cc","User/Audi/Pages/ContactUs/ContactUs.js","webpack://skoda/./src/User/Audi/Pages/Logout/logout.module.css?cfb0","User/Audi/Pages/Logout/Logout.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha.js","../node_modules/react-async-script/lib/esm/async-script-loader.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","../node_modules/react-google-recaptcha/lib/esm/index.js","webpack://skoda/./src/Admin/Skoda/Pages/Login/login.module.css?7d6e","Admin/Skoda/Pages/Login/Login.js","webpack://skoda/./src/Admin/Skoda/Components/Sidebar/sidebar.module.css?8121","Admin/Skoda/Components/Sidebar/Sidebar.js","webpack://skoda/./src/Admin/Skoda/Components/Navbar/navbar.module.css?4f4d","Admin/Skoda/Components/Navbar/Navbar.js","webpack://skoda/./src/Admin/Skoda/Pages/Users/users.module.css?1160","Admin/Skoda/Pages/Users/Users.js","AdminComponents/BasicDetails.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","webpack://skoda/./src/AdminComponents/users.module.css?f584","AdminComponents/Transaction.js","webpack://skoda/./src/AdminComponents/Detail/detail.module.css?cb49","AdminComponents/Detail/Detail.js","AdminComponents/Reports.js","AdminComponents/AddHits.js","AdminComponents/KYCDetails.js","AdminComponents/GenerateKeys.js","AdminComponents/AccountSettings.js","Admin/Skoda/Pages/Users/UserDetail.js","webpack://skoda/./src/Admin/Skoda/Pages/Transactions/transactions.module.css?bc9f","Admin/Skoda/Pages/Transactions/Transactions.js","Admin/Skoda/Pages/Documentation/Documentation.js","webpack://skoda/./src/Admin/Skoda/Pages/Logout/logout.module.css?ee10","Admin/Skoda/Pages/Logout/Logout.js","webpack://skoda/./src/Admin/Audi/Pages/Login/login.module.css?7f2c","Admin/Audi/Pages/Login/Login.js","webpack://skoda/./src/Admin/Audi/Components/Sidebar/sidebar.module.css?31bc","Admin/Audi/Components/Sidebar/Sidebar.js","webpack://skoda/./src/Admin/Audi/Components/Navbar/navbar.module.css?7626","Admin/Audi/Components/Navbar/Navbar.js","Admin/Audi/Pages/Dashboard/Dashboard.js","webpack://skoda/./src/Admin/Audi/Pages/Users/users.module.css?9cd1","Admin/Audi/Pages/Users/Users.js","Admin/Audi/Pages/Users/UserDetail.js","webpack://skoda/./src/Admin/Audi/Pages/Transactions/transactions.module.css?b56d","Admin/Audi/Pages/Transactions/Transactions.js","webpack://skoda/./src/Admin/Audi/Pages/Documentation/documentation.module.css?de0f","Admin/Audi/Pages/Documentation/Documentation.js","webpack://skoda/./src/Admin/Audi/Pages/Logout/logout.module.css?a452","Admin/Audi/Pages/Logout/Logout.js","webpack://skoda/./src/Admin/Volkswagen/Pages/Login/login.module.css?9e0f","Admin/Volkswagen/Pages/Login/Login.js","webpack://skoda/./src/Admin/Volkswagen/Components/Sidebar/sidebar.module.css?f674","Admin/Volkswagen/Components/Sidebar/Sidebar.js","webpack://skoda/./src/Admin/Volkswagen/Components/Navbar/navbar.module.css?94d0","Admin/Volkswagen/Components/Navbar/Navbar.js","webpack://skoda/./src/Admin/Volkswagen/Pages/Users/users.module.css?002a","Admin/Volkswagen/Pages/Users/Users.js","Admin/Volkswagen/Pages/Users/UserDetail.js","webpack://skoda/./src/Admin/Volkswagen/Pages/Transactions/transactions.module.css?383d","Admin/Volkswagen/Pages/Transactions/Transactions.js","Admin/Volkswagen/Pages/Documentation/Documentation.js","webpack://skoda/./src/Admin/Volkswagen/Pages/Logout/logout.module.css?3481","Admin/Volkswagen/Pages/Logout/Logout.js","webpack://skoda/./src/SuperAdmin/Login/login.module.css?6f71","SuperAdmin/Login/Login.js","webpack://skoda/./src/SuperAdmin/Components/Sidebar/sidebar.module.css?bef6","SuperAdmin/Components/Sidebar/Sidebar.js","webpack://skoda/./src/SuperAdmin/Components/Navbar/navbar.module.css?9a86","SuperAdmin/Components/Navbar/Navbar.js","webpack://skoda/./src/SuperAdmin/Components/BrandDetail/brand-detail.module.css?cc20","SuperAdmin/Components/BrandDetail/Components/Users.js","SuperAdmin/Components/BrandDetail/Components/UserDetail.js","SuperAdmin/Components/BrandDetail/Components/Transactions.js","SuperAdmin/Components/BrandDetail/Components/AddHits.js","SuperAdmin/Components/BrandDetail/Components/AccountSettings.js","webpack://skoda/./src/SuperAdmin/Dashboard/dashboard.module.css?e9d9","SuperAdmin/Dashboard/Dashboard.js","webpack://skoda/./src/SuperAdmin/Logout/logout.module.css?28e4","SuperAdmin/Logout/Logout.js","App.js","index.js"],"sourcesContent":["\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline \";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","// extracted by mini-css-extract-plugin\nexport default {\"transaction-list\":\"users_transaction-list__LwSH2\",\"report-list\":\"users_report-list__agF8A\",\"vehicleBasicReport\":\"users_vehicleBasicReport__stFwf\",\"vehicleProReport\":\"users_vehicleProReport__7VrbV\",\"vehicleProMaxReport\":\"users_vehicleProMaxReport__245B+\",\"report-box\":\"users_report-box__2ONP6\",\"export-details\":\"users_export-details__N1vG9\",\"transaction-details\":\"users_transaction-details__EF8j0\",\"action\":\"users_action__dspYH\",\"vehicle-report\":\"users_vehicle-report__VnLy3\",\"report-header\":\"users_report-header__DT7PR\",\"report-user-details\":\"users_report-user-details__nBllA\",\"report-user-heading\":\"users_report-user-heading__HBt83\",\"vahan-details\":\"users_vahan-details__rDxqG\",\"add-hits\":\"users_add-hits__TLmYv\",\"kyc-details\":\"users_kyc-details__dzkwt\",\"green\":\"users_green__koScR\",\"red\":\"users_red__rgmiX\",\"generate-box\":\"users_generate-box__uie+z\",\"keys-list\":\"users_keys-list__kd24T\",\"client-id\":\"users_client-id__DJU3e\",\"add-name\":\"users_add-name__i4Of6\",\"account-settings\":\"users_account-settings__8fiSM\",\"delete-user\":\"users_delete-user__L5bIG\",\"key-copied-notification\":\"users_key-copied-notification__Y+vmM\",\"key-copied\":\"users_key-copied__DC-3R\",\"company-details\":\"users_company-details__3qoUU\",\"subheading\":\"users_subheading__owbbD\"};","import React, { useEffect, useState } from 'react';\nimport html2canvas from 'html2canvas';\nimport { jsPDF } from 'jspdf';\nimport api, { fetchTransactions, getVehicleExportCsv } from '../Base/Config';\nimport styles from \"./users.module.css\";\n\nexport default function Transaction(props){\n const [ transactionList, setTransactionList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n const [ transactionDetails, setTransactionDetails ] = useState('');\n const [ downloadLoading, setDownloadLoading ] = useState(false);\n const [ exportModal, setExportModal ] = useState(false);\n const [ fromDate, setFromDate ] = useState('');\n const [ toDate, setToDate ] = useState('');\n const [ loading, setLoading ] = useState(false);\n const [ exportDetails, setExportDetails ] = useState('');\n\n const getTransactions = (a,page) => {\n api.get(fetchTransactions + `pageNumber=${page?page:pageNumber}&userId=${a}`)\n .then((res) => {\n if(res.data.code === 200){\n setTransactionList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n setPageNumber(page?page:pageNumber);\n } else {\n setTransactionList([]);\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n if(props.userId){\n getTransactions(props.userId);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const downloadFunction = () => {\n setDownloadLoading(true);\n setTimeout(() => {\n const input = document.getElementById(\"details\");\n html2canvas(input)\n .then((canvas) => {\n var imgWidth = 210;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n var position = 0;\n const imgData = canvas.toDataURL('image/JPEG');\n const pdf = new jsPDF('p', 'mm');\n pdf.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight);\n heightLeft -= pageHeight;\n \n while (heightLeft >= 0) {\n position = heightLeft - imgHeight;\n pdf.addPage();\n pdf.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight);\n heightLeft -= pageHeight;\n }\n pdf.save(`${transactionDetails.vehicleData.vehicleNumber} - details.pdf`);\n setDownloadLoading(false);\n })\n }, 1000)\n }\n\n const exportFunction = (e) => {\n e.preventDefault();\n setLoading(true);\n api.get(getVehicleExportCsv + `userId=${props.userId}&fromDate=${fromDate}&toDate=${toDate}`)\n .then((res) => {\n setLoading(false);\n if(res.data.code === 200){\n setExportDetails(res.data);\n } else {\n setExportDetails('');\n }\n })\n .catch((err) => {\n setLoading(false);\n console.error(err);\n setExportDetails('');\n })\n }\n\n const closeExtractModal = () => {\n setExportModal(false);\n setExportDetails('');\n setFromDate('');\n setToDate('');\n }\n\n const totalPages = Math.ceil(totalRecords / pageSize);\n const maxPagesToShow = 12;\n\n const getPageNumbers = () => {\n const currentPage = pageNumber;\n const halfMaxPages = Math.floor(maxPagesToShow / 2);\n let startPage = Math.max(1, currentPage - halfMaxPages);\n let endPage = Math.min(totalPages, startPage + maxPagesToShow - 1);\n\n if (totalPages <= maxPagesToShow) {\n startPage = 1;\n endPage = totalPages;\n }\n return Array.from({ length: endPage - startPage + 1 }, (_, i) => startPage + i);\n };\n\n return (<>\n {exportModal &&
    \n
    closeExtractModal()}>
    \n
    \n
    \n

    Export transactions

    \n {\n exportDetails\n ?<>\n {\n exportDetails.totalCount > 0\n ?<>\n

    Your CSV from {fromDate} to {toDate} with {exportDetails.totalCount} records is ready.

    \n
    \n \n \n
    \n \n :<>\n

    Your CSV from {fromDate} to {toDate} have {exportDetails.totalCount} record.

    \n
    \n \n \n
    \n \n }\n \n :
    \n \n setFromDate(e.target.value)} required/>\n \n setToDate(e.target.value)} required/>\n
    \n \n {\n loading\n ?\n :\n }\n
    \n
    \n }\n
    \n
    \n
    }\n {transactionDetails &&
    \n
    setTransactionDetails('')}>
    \n
    \n
    \n {\n downloadLoading\n ?\n :\n }\n

    Transaction response

    \n
    \n
    \n \"audi-logo\"\n
    \n
    \n

    Name of customer {transactionDetails.vehicleData.owner}

    \n

    Customer mobile no {transactionDetails.vehicleData.mobileNumber}

    \n

    Registration number {transactionDetails.vehicleData.vehicleNumber}

    \n

    Registration city {transactionDetails.vehicleData.regAuthority}

    \n
    \n

    Vahan details

    \n
    \n

    Reg No {transactionDetails.vehicleData.regNo}

    \n

    Class {transactionDetails.vehicleData.class}

    \n

    Chassis {transactionDetails.vehicleData.chassis}

    \n

    Engine {transactionDetails.vehicleData.engine}

    \n

    Vehicle Manufacturer Name {transactionDetails.vehicleData.vehicleManufacturerName}

    \n

    Model {transactionDetails.vehicleData.model}

    \n

    Vehicle Colour {transactionDetails.vehicleData.vehicleColour}

    \n

    Type {transactionDetails.vehicleData.type}

    \n

    Norms Type {transactionDetails.vehicleData.normsType}

    \n

    Body Type {transactionDetails.vehicleData.bodyType}

    \n

    Owner Count {transactionDetails.vehicleData.ownerCount}

    \n

    Owner {transactionDetails.vehicleData.owner}

    \n

    Owner Father Name {transactionDetails.vehicleData.ownerFatherName}

    \n

    Mobile Number {transactionDetails.vehicleData.mobileNumber}

    \n

    Status {transactionDetails.vehicleData.status}

    \n

    Status As On {transactionDetails.vehicleData.statusAsOn}

    \n

    Reg Authority {transactionDetails.vehicleData.regAuthority}

    \n

    Reg Date {transactionDetails.vehicleData.regDate}

    \n

    Vehicle Manufacturing Month Year {transactionDetails.vehicleData.vehicleManufacturingMonthYear}

    \n

    Rc Expiry Date {transactionDetails.vehicleData.rcExpiryDate}

    \n

    Vehicle Tax Upto {transactionDetails.vehicleData.vehicleTaxUpto}

    \n

    Vehicle Insurance Company Name {transactionDetails.vehicleData.vehicleInsuranceCompanyName}

    \n

    Vehicle Insurance Upto {transactionDetails.vehicleData.vehicleInsuranceUpto}

    \n

    Vehicle Insurance Policy Number {transactionDetails.vehicleData.vehicleInsurancePolicyNumber}

    \n

    Rc Financer {transactionDetails.vehicleData.rcFinancer}

    \n

    Present Address {transactionDetails.vehicleData.presentAddress}

    \n

    Permanent Address {transactionDetails.vehicleData.permanentAddress}

    \n

    Vehicle Cubic Capacity {transactionDetails.vehicleData.vehicleCubicCapacity}

    \n

    Gross Vehicle Weigh {transactionDetails.vehicleData.grossVehicleWeight}

    \n

    Unladen Weight {transactionDetails.vehicleData.unladenWeight}

    \n

    Vehicle Category {transactionDetails.vehicleData.vehicleCategory}

    \n

    Rc Standard Cap {transactionDetails.vehicleData.rcStandardCap}

    \n

    Vehicle Cylinders No {transactionDetails.vehicleData.vehicleCylindersNo}

    \n

    Vehicle Seat Capacity {transactionDetails.vehicleData.vehicleSeatCapacity}

    \n

    Vehicle Sleeper Capacity {transactionDetails.vehicleData.vehicleSleeperCapacity}

    \n

    Vehicle Standing Capacity {transactionDetails.vehicleData.vehicleStandingCapacity}

    \n

    Wheelbase {transactionDetails.vehicleData.wheelbase}

    \n

    Vehicle Number {transactionDetails.vehicleData.vehicleNumber}

    \n

    Pucc Number {transactionDetails.vehicleData.puccNumber}

    \n

    Pucc Upto {transactionDetails.vehicleData.puccUpto}

    \n

    Blacklist Status {transactionDetails.vehicleData.blacklistStatus}

    \n

    Permit Issue Date {transactionDetails.vehicleData.permitIssueDate}

    \n

    Permit Number {transactionDetails.vehicleData.permitNumber}

    \n

    Permit Type {transactionDetails.vehicleData.permitType}

    \n

    Permit Valid From {transactionDetails.vehicleData.permitValidFrom}

    \n

    Permit Valid Upto {transactionDetails.vehicleData.permitValidUpto}

    \n

    Non Use Status {transactionDetails.vehicleData.nonUseStatus}

    \n

    Non Use From {transactionDetails.vehicleData.nonUseFrom}

    \n

    Non Use To {transactionDetails.vehicleData.nonUseTo}

    \n

    National Permit Number {transactionDetails.vehicleData.nationalPermitNumber}

    \n

    National Permit Upto {transactionDetails.vehicleData.nationalPermitUpto}

    \n

    National Permit Issued By {transactionDetails.vehicleData.nationalPermitIssuedBy}

    \n

    Noc Details {transactionDetails.vehicleData.nocDetails}

    \n

    Rto Code {transactionDetails.vehicleData.rtoCode}

    \n
    \n {/*
    {JSON.stringify(transactionDetails, undefined, 4)}
    */}\n
    \n
    \n
    \n
    }\n
    \n \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    Amount

    \n

    Service

    \n

    Vehicle

    \n

    Type

    \n

    Balance

    \n
    \n {transactionList.map((item, i) => (\n
    \n

    S no. #{(pageSize*(pageNumber-1))+(i + 1)}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    Amount {item.amount}

    \n

    Service {item.services}

    \n

    Vehicle {item.vehicleData && item.vehicleData.vehicleData.regNo}

    \n

    Type {item.amountType}

    \n

    Balance {item.remainingAmount}

    \n {item.vehicleData &&

    setTransactionDetails(item.vehicleData)}>view details

    }\n
    \n ))}\n
    \n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n :getTransactions(props.userId, pageNumber-1)}>\n }\n {\n ( pageNumber>7 && totalPages>maxPagesToShow)&&\n getTransactions(props.userId,1)} className={pageNumber === 1 ? 'active' : ''}> {'1...'} \n }\n {getPageNumbers().map((page, i) => (\n getTransactions(props.userId,page)} className={pageNumber === page ? 'active' : ''}> {page} \n ))\n }\n {\n (pageNumber<(Math.ceil(totalRecords/pageSize)-5) && totalPages>maxPagesToShow) &&\n getTransactions(props.userId,Math.ceil(totalRecords/pageSize))} className={pageNumber === Math.ceil(totalRecords/pageSize) ? 'active' : ''}> {'...'+Math.ceil(totalRecords/pageSize)} \n }\n \n \n {/* {Array.from({ length: Math.ceil(totalRecords/pageSize) }, (_,i) => \n setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})} */}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n :getTransactions(props.userId,pageNumber+1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n )\n}\n\n","// extracted by mini-css-extract-plugin\nexport default {\"report-heading\":\"detail_report-heading__qRQuH\",\"report-details\":\"detail_report-details__T-k5W\",\"request-details\":\"detail_request-details__7r66e\",\"detail-box-background\":\"detail_detail-box-background__W6Xfc\",\"detail-box\":\"detail_detail-box__GetRf\"};","import React, {useState,useEffect} from 'react';\nimport api, { getDetailById } from \"../../Base/Config\";\nimport styles from \"./detail.module.css\";\n\nexport default function Detail(props){\n const [ detailReport, setDetailReport ] = useState('');\n const [ challanDetails, setChallanDetails ] = useState([]);\n const [ requestDetails, setRequestDetails ] = useState('');\n\n useEffect(() => {\n fetchDetails(props.reportId);\n }, [props])\n\n const fetchDetails = (requestId) => {\n api.post(getDetailById, {\n requestId: requestId\n })\n .then((res) => {\n if(res.data.result.services === \"vehicleBasicReport\"){\n setDetailReport(res.data.result.vehicleData.data);\n setChallanDetails([]);\n } else {\n setDetailReport(res.data.result.vehicleData.vehicleDetails);\n setChallanDetails(res.data.result.vehicleData.challanDetails);\n }\n setRequestDetails(res.data.result);\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n return (<>\n
    \n

    Vehicle verification report

    \n
    \n
    \n \"cars\"\n
    \n

    Order id{requestDetails && requestDetails.requestId.toUpperCase()}

    \n

    Report type{requestDetails.services}

    \n

    RC number{detailReport.regNo?detailReport.regNo:detailReport.rc_number}

    \n

    Date{`${new Date(requestDetails.createdAt)}`.substr(0, 24)}

    \n
    \n {requestDetails.services === \"vehicleBasicReport\" &&
    \n \n

    Vehicle summary

    \n
    \n

    Model Name{detailReport.model}

    \n

    Manufacturing Month & Year{detailReport.vehicleManufacturingMonthYear}

    \n

    Owner Name{detailReport.owner}

    \n

    Chassis No{detailReport.chassis}

    \n

    Engine No{detailReport.engine}

    \n

    Cubic Capacity{detailReport.vehicleCubicCapacity}

    \n

    Seating Capacity{detailReport.vehicleSeatCapacity}

    \n

    Fuel Type{detailReport.type}

    \n
    \n
    }\n {(requestDetails.services === \"vehicleProReport\" || requestDetails.services === \"vehicleProMaxReport\") && <>\n
    \n \n

    Vehicle summary

    \n
    \n

    Model Name{detailReport.maker_model}

    \n

    Manufacturing Month & Year{detailReport.manufacturing_date}

    \n

    Owner Name{detailReport.owner_name}

    \n

    Chassis No{detailReport.vehicle_chasi_number}

    \n

    Engine No{detailReport.vehicle_engine_number}

    \n

    Cubic Capacity{detailReport.cubic_capacity}

    \n

    Seating Capacity{detailReport.seat_capacity}

    \n

    Fuel Type{detailReport.fuel_type}

    \n
    \n
    \n
    \n \n

    Other details

    \n
    \n

    Financer{detailReport.financer ? detailReport.financer : '-'}

    \n

    Financed{detailReport.financed ? detailReport.financed : '-'}

    \n

    Insurance company{detailReport.insurance_company}

    \n

    Insurance policy number{detailReport.insurance_policy_number}

    \n

    Insurance upto{detailReport.insurance_upto}

    \n

    Present address{detailReport.present_address}

    \n

    Permanent address{detailReport.permanent_address}

    \n

    PUCC number{detailReport.pucc_number}

    \n

    PUCC upto{detailReport.pucc_upto}

    \n
    \n
    \n {challanDetails.length > 0 &&
    \n \n

    Challan Details

    \n {challanDetails.map((x, i) => (\n
    \n

    Number{x.number}

    \n

    Challan number{x.challan_number}

    \n

    Offense details{x.offense_details}

    \n {x.challan_place &&

    Challan place{x.challan_place}

    }\n

    Challan date{x.challan_date}

    \n

    State{x.state}

    \n {x.rto &&

    RTO{x.rto}

    }\n

    Accused name{x.accused_name}

    \n

    Amount{x.amount}

    \n

    Challan status{x.challan_status}

    \n

    Court challan{x.court_challan? \"True\" : \"False\"}

    \n
    \n ))}\n
    }\n }\n
    \n
    \n )\n}\n","import React, { useEffect, useState } from 'react';\nimport api, { reportDetails } from '../Base/Config';\nimport styles from \"./users.module.css\";\nimport Detail from './Detail/Detail';\n\nexport default function Reports(props){\n const [ reports, setReports ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n const [ reportId, setReportId ] = useState(false);\n\n const fetchReports = (a) => {\n api.get(reportDetails + `pageNumber=${pageNumber}&userId=${a}`)\n .then((res) => {\n if(res.data.code === 200){ \n setReports(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n } else {\n setReports([]);\n }\n })\n .catch((error) => {\n console.error(error);\n })\n }\n\n useEffect(() => {\n if(props.userId){\n fetchReports(props.userId);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, pageNumber]);\n\n const viewDetails = (x) => {\n setReportId(x);\n }\n\n return (<>\n {reportId &&
    \n
    setReportId('')}>
    \n
    \n
    \n \n
    \n
    \n
    }\n
    \n
    \n

    S no.

    \n

    Date

    \n

    RC number

    \n

    Request id

    \n

    Report type

    \n

    \n
    \n {reports.map((item, i) => (\n
    \n

    S no. #{i + 1}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    \n RC number \n {item.services === 'vehicleBasicReport' && item.vehicleData.data.regNo}\n {item.services === 'vehicleProReport' && item.vehicleData.vehicleDetails.rc_number}\n {item.services === 'vehicleProMaxReportV1' && item.vehicleNumber}\n

    \n

    Request id {item.requestId}

    \n

    Report type {item.services}

    \n

    viewDetails(item.requestId)}> view report

    \n
    \n ))}\n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : setPageNumber(pageNumber - 1)}>\n }\n {Array.from({length: Math.ceil(totalRecords/pageSize)}, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n : setPageNumber(pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n )\n}\n","import React, { useState, useEffect } from 'react';\nimport Message from '../Components/Message/Message';\nimport api, { userCredits, addUserCredits } from '../Base/Config';\nimport styles from \"./users.module.css\";\n\nexport default function AddHits(props){\n const userId = props.userId;\n const user = props.user;\n const token = props.token;\n const [ credits, setCredits ] = useState(0);\n const [ amount, setAmount ] = useState('');\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n\n const config = {\n headers: {\n authorizationToken: token\n }\n }\n\n const fetchCredits = (a) => {\n api.get(userCredits + a)\n .then((res) => {\n if(res.data.code === 200){\n setCredits(res.data.result.amount);\n } else {\n setCredits(0);\n }\n })\n .catch((err) => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n useEffect(() => {\n if(props.userId){\n fetchCredits(props.userId);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props]);\n\n const addCredits = () => {\n api.post(addUserCredits, {\n userId: userId,\n amount: amount,\n role: user\n }, config)\n .then((res) => {\n if(res.data.code === 200){\n fetchCredits(userId);\n setAmount('');\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {message && }\n
    \n

    Available credits

    \n

    :

    \n

    {credits}

    \n
    \n
    \n

    Add credits

    \n

    :

    \n
    setAmount(e.target.value)} />
    \n {user === \"SkodaUser\" &&\n
    \n }\n {user === \"AudiUser\" &&\n
    \n }\n {user === \"VolkswagenUser\" &&\n
    \n }\n \n
    \n )\n}\n","import React, { useEffect, useState } from 'react';\nimport Message from '../Components/Message/Message';\nimport api, { getUserDataV1, getKycCompanyDetails , resetKyc } from '../Base/Config';\nimport styles from \"./users.module.css\";\n\nexport default function KYCDetails(props){\n const [ details, setDetails ] = useState('');\n const [ kycType, setKycType ] = useState('');\n const [ address, setAddress ] = useState('');\n const [ confirmModal, setConfirmModal ] = useState(false);\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n\n const fetchFunction = (a, b) => {\n api.get(getUserDataV1 + a + '/' + b)\n .then(res => {\n if(res.data.code === 200){\n if(res.data.userData.panKyc === true){\n setKycType('individual');\n setDetails(res.data.userData);\n console.log(res.data.userData);\n } else {\n companykycdetails();\n }\n } else {\n companykycdetails();\n }\n }).catch(err => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n if(props.userId){\n fetchFunction(props.userId, props.user);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props]);\n\n const companykycdetails = () => {\n api.post(getKycCompanyDetails, {\n userId: props.userId,\n role: props.user\n })\n .then(res => {\n if(res.data.code === 200){\n if(res.data.CompanyKycData.companyData){\n setKycType('company');\n setDetails(res.data.CompanyKycData);\n if(res.data.CompanyKycData.companyDirectorAadhar.data){\n setAddress(\n (res.data.CompanyKycData.companyDirectorAadhar.data.address.house && res.data.CompanyKycData.companyDirectorAadhar.data.address.house + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.loc && res.data.CompanyKycData.companyDirectorAadhar.data.address.loc + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.street && res.data.CompanyKycData.companyDirectorAadhar.data.address.street + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.landmark && res.data.CompanyKycData.companyDirectorAadhar.data.address.landmark + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.subdist && res.data.CompanyKycData.companyDirectorAadhar.data.address.subdist + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.vtc && res.data.CompanyKycData.companyDirectorAadhar.data.address.vtc + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.dist && res.data.CompanyKycData.companyDirectorAadhar.data.address.dist + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.po && res.data.CompanyKycData.companyDirectorAadhar.data.address.po + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.state && res.data.CompanyKycData.companyDirectorAadhar.data.address.state + \", \") + \n (res.data.CompanyKycData.companyDirectorAadhar.data.address.country && res.data.CompanyKycData.companyDirectorAadhar.data.address.country)\n )\n }\n } else {\n setKycType('');\n setDetails('');\n }\n } else {\n setKycType('');\n setDetails('');\n }\n }).catch(err => {\n console.error(err);\n })\n }\n\n const resetFunction = () => {\n api.post(resetKyc, {\n userId: props.userId,\n role: props.user,\n approvedBy: \"naresh.skoda@emptra.com\"\n })\n .then(res => {\n if(res.data.code === 200){\n setConfirmModal(false);\n fetchFunction(props.userId, props.user);\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n }).catch(err => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {message && }\n {confirmModal &&
    \n
    setConfirmModal(false)}>
    \n
    \n
    \n

    Reset KYC

    \n

    \n

    Are you sure?
    User will have to complete the KYC again and might not be able to access few features if you reset the KYC.

    \n
    \n \n \n
    \n
    \n
    \n
    }\n
    \n {\n kycType\n ?<>\n {kycType === 'individual' && <>\n

    KYC Type Individual

    \n

    PAN Status {'Success'}

    \n

    Name on PAN {details.panKycData && (details.panKycData.FIRST_NAME + \" \" + details.panKycData.LAST_NAME)}

    \n

    PAN number {details.panKycData && details.panKycData.PAN}

    \n {\n details.aadharKyc\n ?<>\n

    Aadhaar status Success

    \n

    Name on Aadhaar {details.aadharKycData.data.full_name}

    \n

    Aadhaar number {details.aadharKycData.data.aadhaar_number}

    \n

    Father's name {details.aadharKycData.data.care_of}

    \n

    Gender {details.aadharKycData.data.gender}

    \n

    Date of birth {details.aadharKycData.data.dob}

    \n

    Address {details.aadharKycData.data.address.house + \" \" + details.aadharKycData.data.address.loc + \" \" + details.aadharKycData.data.address.street + \" \" + details.aadharKycData.data.address.landmark + \" \" + details.aadharKycData.data.address.po + \" \" + details.aadharKycData.data.address.vtc + \" \" + details.aadharKycData.data.address.subdist + \" \" + details.aadharKycData.data.address.dist + \" \" + details.aadharKycData.data.address.state + \" \" + details.aadharKycData.data.address.country}

    \n \n :

    Aadhaar status Fail

    \n }\n \n }\n {kycType === 'company' && <>\n
    Company details
    \n {details.companyData &&
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    }\n {details.companyDirectorPan && <>\n
    \n
    PAN details
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n {details.companyDirectorAadhar.data && <>\n
    \n
    Aadhaar details
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n }\n }\n \n }\n \n :

    KYC Type Incomplete

    \n }\n
    \n )\n}\n","import React, { useEffect, useState } from 'react';\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport Message from '../Components/Message/Message';\nimport api, { fetchDeveloperKeys, createDeveloperKeys, deleteDeveloperKey } from '../Base/Config';\nimport styles from \"./users.module.css\";\n\nexport default function GenerateKeys(props){\n const user = props.user;\n const userId = props.userId;\n const token = props.token;\n const [ list, setList ] = useState([]);\n const [ addName, setAddName ] = useState(false);\n const [ name, setName ] = useState('');\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n const [ copyMessage, setCopyMessage ] = useState(false);\n\n const config = {\n headers: {\n authorizationToken: token\n }\n }\n\n const copyKey = () => {\n setCopyMessage(true);\n setTimeout(() => {\n setCopyMessage(false);\n }, 2000);\n }\n\n const fetchKeys = () => {\n api.get(fetchDeveloperKeys + userId)\n .then((res) => {\n if(res.data.code === 200){\n setList(res.data.result);\n } else {\n setList([]);\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n useEffect(() => {\n fetchKeys();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const createKeys = () => {\n api.post(createDeveloperKeys, {\n userId: userId,\n userName: name,\n role: user\n }, config)\n .then((res) => {\n if(res.data.code === 200){\n setAddName(false);\n fetchKeys();\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const deleteKey = (x) => {\n api.delete(deleteDeveloperKey + x)\n .then((res) => {\n if(res.data.code === 200){\n fetchKeys();\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {copyMessage &&
    Copied to clipboard
    }\n {message && }\n {addName &&
    \n
    setAddName(false)}>
    \n
    \n
    \n \n setName(e.target.value)} />\n \n
    \n
    \n
    }\n
    \n
    \n {\n list.length >= 10\n ?\n :\n }\n

    Note : you can only generate maximum 10 keys, {10 - list.length} left

    \n
    \n {\n list.length > 0 && \n
    \n
    \n

    No.

    \n

    Generated at

    \n

    userName

    \n

    Client ID

    \n

    Client Secret

    \n

    \n
    \n {list.map((item, i) => (\n
    \n

    No. #{i + 1}

    \n

    Generated at {item.createdAt}

    \n

    userName {item.userName}

    \n {props.user === \"Skoda\" &&<>\n

    Client ID {item.clientId}

    \n

    Client Secret {item.secretKey}

    \n \n }\n {props.user === \"Audi\" &&<>\n

    Client ID {item.clientId}

    \n

    Client Secret {item.secretKey}

    \n \n }\n {props.user === \"Volkswagen\" &&<>\n

    Client ID {item.clientId}

    \n

    Client Secret {item.secretKey}

    \n \n }\n \n

    deleteKey(item._id)}>

    \n
    \n ))}\n
    \n }\n
    \n )\n}\n","import React, { useEffect, useState } from 'react';\nimport Message from '../Components/Message/Message';\nimport api, { getUserDataV1, changeStatus, deleteUser } from '../Base/Config';\nimport styles from \"./users.module.css\";\n\nexport default function AccountSettings(props){\n const userId = props.userId;\n const user = props.user;\n const [ status, setStatus ] = useState(false);\n const [ confirmModal, setConfirmModal ] = useState(false);\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n\n const fetchFunction = (a, b) => {\n api.get(getUserDataV1 + a + '/' + b)\n .then(res => {\n if(res.data.code === 200){\n setStatus(res.data.user.isActive);\n }\n }).catch(err => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n if(props.userId){\n fetchFunction(props.userId, props.user);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props]);\n\n const changeFunction = (a) => {\n api.post(changeStatus, {\n userId: userId,\n role: user,\n approvedBy: \"naresh.skoda@emptra.com\",\n status: a\n })\n .then((res) => {\n if(res.data.code === 200){\n setStatus(a);\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const deleteFunction = () => {\n api.post(deleteUser + userId + \"/\" + user.slice(0, -4))\n .then((res) => {\n if(res.data.code === 200){\n redirectFunction(document.location.pathname);\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const redirectFunction = (x) => {\n const y = x.split('/');\n if(y[2] === 'user-detail'){\n window.location.replace('/' + y[1] + '/admin-users');\n } else if(y[1] === 'superadmin'){\n window.location.replace('/superadmin/' + y[2]);\n }\n }\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {message && }\n {confirmModal &&
    \n
    setConfirmModal(false)}>
    \n
    \n
    \n

    Delete user

    \n

    When you delete this account, their profile, keys, transactions, credits and verification data will be removed permanently. If you'd just like user to not use the account, you can temporarily deactivate their account instead.

    \n

    Once the account has been deleted, user can sign up again with same email or phone number.

    \n
    \n \n \n
    \n
    \n
    \n
    }\n
    \n
    Status
    \n
    \n Account status\n \n changeFunction(true)} /> Active\n changeFunction(false)} /> Inactive\n \n
    \n
    Delete account
    \n
    \n

    When you delete this account, their profile, keys, transactions, credits and verification data will be removed permanently. If you'd just like user to not use the account, you can temporarily deactivate their account instead.

    \n

    Once the account has been deleted, user can sign up again with same email or phone number.

    \n \n
    \n
    \n )\n}\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom/cjs/react-router-dom.min';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport BasicDetails from '../../../../AdminComponents/BasicDetails';\nimport Transaction from '../../../../AdminComponents/Transaction';\nimport Reports from '../../../../AdminComponents/Reports';\nimport AddHits from '../../../../AdminComponents/AddHits';\nimport KYCDetails from '../../../../AdminComponents/KYCDetails';\nimport GenerateKeys from '../../../../AdminComponents/GenerateKeys';\nimport AccountSettings from '../../../../AdminComponents/AccountSettings';\nimport { getAdminToken } from '../../../../Utils/Common';\nimport styles from './users.module.css';\n\nexport default function UserDetail(){\n const userId = sessionStorage.getItem('admin-userId');\n const token = getAdminToken();\n const [ tabName, setTabName ] = useState('transaction');\n\n return (<>\n
    \n \n
    \n \n

    User Detail

    \n
    \n

    Back

    \n
    \n \n
      \n
    • setTabName('transaction')}>Transaction
    • \n
    • setTabName('reports')}>Reports
    • \n
    • setTabName('add-hits')}>Add hits
    • \n
    • setTabName('kyc-details')}>KYC details
    • \n
    • setTabName('generate-keys')}>Generate keys
    • \n
    • setTabName('account-settings')}>Account settings
    • \n
    \n
    \n {tabName === 'transaction' && }\n {tabName === 'reports' && }\n {tabName === 'add-hits' && }\n {tabName === 'kyc-details' && }\n {tabName === 'generate-keys' && }\n {tabName === 'account-settings' && }\n
    \n
    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"transactions-box\":\"transactions_transactions-box__pjefz\",\"transaction-list\":\"transactions_transaction-list__LAvzl\"};","import React, { useEffect, useState } from 'react';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport api, { fetchBrandTransactions } from '../../../../Base/Config';\nimport styles from './transactions.module.css';\n\nexport default function Transactions(){\n const [ transactionList, setTransactionList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n\n const fetchTransactions = (x) => {\n api.get(fetchBrandTransactions + `pageNumber=${pageNumber}&role=${x}User`)\n .then((res) => {\n if(res.data.code === 200){\n setTransactionList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n } else {\n setTransactionList([]);\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n fetchTransactions('Skoda');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pageNumber])\n\n return (<>\n
    \n \n
    \n \n

    Transactions

    \n
    \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    User id

    \n

    Service

    \n

    Amount

    \n

    Type

    \n

    Balance

    \n
    \n {transactionList.map((item, i) => (\n
    \n

    S no. #{((pageNumber - 1) * pageSize) + i + 1}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    User id {item.userId}

    \n

    Service {item.services}

    \n

    Amount {item.amount}

    \n

    Type {item.amountType}

    \n

    Balance {item.remainingAmount}

    \n
    \n ))}\n
    \n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : setPageNumber(pageNumber - 1)}>\n }\n {Array.from({ length: Math.ceil(totalRecords/pageSize) }, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n : setPageNumber(pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n
    \n
    \n
    \n )\n}\n","import React from 'react';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\n\nexport default function Documentation(){\n return (<>\n
    \n \n
    \n \n

    Documentation

    \n
    \n \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"logout-page\":\"logout_logout-page__pPyiy\"};","import React, { useEffect } from 'react';\nimport { removeAdminToken } from '../../../../Utils/Common';\nimport styles from \"./logout.module.css\";\n\nexport default function Logout(){\n\n useEffect(() => {\n removeAdminToken();\n window.location.replace('/skoda/admin-login');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (<>\n
    \n
    \n \"logo\"\n
    \n
    \n

    Logging out

    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"login-page\":\"login_login-page__EwmaX\",\"logo\":\"login_logo__u8msd\",\"login-box\":\"login_login-box__WoR7r\",\"copyright\":\"login_copyright__aojhV\",\"brands\":\"login_brands__4H2i5\"};","import React, { useState } from 'react';\nimport Message from '../../../../Components/Message/Message';\nimport { setAudiAdminToken } from '../../../../Utils/Common';\nimport api, { adminLogin } from '../../../../Base/Config';\nimport styles from \"./login.module.css\";\n\nexport default function Login(props){\n const [ email, setEmail ] = useState('');\n const [ password, setPassword ] = useState('');\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n\n const submitFunction = (e) => {\n e.preventDefault();\n loginFunction();\n }\n\n const loginFunction = () => {\n api.post(adminLogin, {\n email: email,\n password: password\n })\n .then((res) => {\n if(res.data.code === 200){\n setAudiAdminToken(res.data.token);\n props.history.push('/audi/admin-users');\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch(err => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {message && }\n
    \n
    \n \"audi-login\"\n
    \n
    \n
    \n \"logo\"\n
    \n
    \n

    Log in Audi admin account

    \n
    \n
    \n \n setEmail(e.target.value)} />\n \n setPassword(e.target.value)} />\n \n
    \n

    © 2023 Škoda Auto Volkswagen India Private Limited.

    \n
    \n {/*
    \n \"volkswagen\"\n \"audi\"\n \"audi\"\n \"lamborghini\"\n \"porsche\"\n
    */}\n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"sidebar\":\"sidebar_sidebar__APu3m\"};","import React from 'react';\nimport { NavLink } from 'react-router-dom';\nimport styles from \"./sidebar.module.css\";\n\nexport default function Sidebar(){\n return (<>\n
    \n \"audi-logo\"\n
    \n
      \n {/*
    • \"dashboard\" Dashboard
    • */}\n {\n document.location.pathname === '/audi/user-detail'\n ?
    • \"my-account\" Users
    • \n :
    • \"my-account\" Users
    • \n }\n
    • \"Users\" Overall transactions
    • \n
    • \"Users\" API Documentation
    • \n
    • \"logout\" Logout
    • \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"navbar\":\"navbar_navbar__lvvvH\",\"wallet-card\":\"navbar_wallet-card__91M0D\",\"wallet-balance\":\"navbar_wallet-balance__SOIVf\"};","import React, { useEffect, useState } from 'react';\nimport { getAudiAdminUser } from '../../../../Utils/Common';\nimport api, { fetchAdminCredits } from '../../../../Base/Config';\nimport styles from \"./navbar.module.css\";\n\nexport default function Navbar(){\n const userId = getAudiAdminUser();\n const [ userCredits, setUserCredits ] = useState('');\n const [ loading, setLoading ] = useState(false);\n\n const fetchCredits = () => {\n setLoading(true);\n api.get(fetchAdminCredits + userId)\n .then((res) => {\n setLoading(false);\n if(res.data.code === 200){\n if(res.data.result.length > 0){\n setUserCredits(res.data.result[0].amount);\n } else {\n setUserCredits(0);\n }\n } else {\n setUserCredits(0);\n }\n })\n .catch((err) => {\n console.error(err);\n setLoading(false);\n })\n }\n\n useEffect(() => {\n fetchCredits();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (<>\n
    \n

    Welcome, Audi admin!

    \n
    \n
    \n
    \n
    API Hit Balance
    \n
    {loading ? '__' : userCredits.toLocaleString('en-IN')}
    \n
    \n
    \n \"user-icon\"\n
    \n
    \n )\n}\n","import React from 'react';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\n\nexport default function Dashboard(){\n return (<>\n
    \n \n
    \n \n

    Dashboard

    \n
    \n \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"detail-box\":\"users_detail-box__69lR0\",\"back\":\"users_back__HRyIh\",\"users-list\":\"users_users-list__dG7I-\",\"kyc-detail-card\":\"users_kyc-detail-card__qnuGT\"};","import React, { useEffect, useState } from 'react';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport api, { fetchUsersList } from '../../../../Base/Config';\nimport styles from \"./users.module.css\";\n\nexport default function Users(props){\n const [ usersList, setUsersList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n\n const fetchUsers = (x,page) => {\n api.get(fetchUsersList + `pageNumber=${page?page:pageNumber}&users=${x}`)\n .then((res) => {\n if(res.data.code === 200){\n setUsersList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n setPageNumber(page?page:pageNumber)\n } else {\n setUsersList([]);\n setPageNumber(page?page:pageNumber)\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n fetchUsers('Audi');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const viewDetails = (x) => {\n sessionStorage.setItem('admin-userId', x);\n props.history.push('/audi/user-detail');\n }\n\n const totalPages = Math.ceil(totalRecords / pageSize);\n const maxPagesToShow = 12;\n\n const getPageNumbers = () => {\n const currentPage = pageNumber;\n const halfMaxPages = Math.floor(maxPagesToShow / 2);\n let startPage = Math.max(1, currentPage - halfMaxPages);\n let endPage = Math.min(totalPages, startPage + maxPagesToShow - 1);\n\n if (totalPages <= maxPagesToShow) {\n startPage = 1;\n endPage = totalPages;\n }\n return Array.from({ length: endPage - startPage + 1 }, (_, i) => startPage + i);\n };\n\n return (<>\n
    \n \n
    \n \n

    Users

    \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    User id

    \n

    Name

    \n

    Email

    \n

    Phone number

    \n

    \n
    \n {usersList.map((item, i) => (\n
    \n

    No. #{(pageSize*(pageNumber-1))+(i + 1)}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    User id {item.userId}

    \n

    Name {item.firstName + \" \" + item.lastName}

    \n

    Email {item.email}

    \n

    Phone {item.mobile_no}

    \n

    viewDetails(item.userId)}>view details

    \n
    \n ))}\n
    \n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : fetchUsers('Audi',pageNumber - 1)}>\n }\n\n {\n (pageNumber>7 && totalPages>maxPagesToShow) &&\n fetchUsers('Audi',1)} className={pageNumber === 1 ? 'active' : ''}> {'1...'} \n }\n {getPageNumbers().map((page, i) => (\n fetchUsers('Audi',page)} className={pageNumber === page ? 'active' : ''}> {page} \n ))\n }\n {\n (pageNumber<(Math.ceil(totalRecords/pageSize)-5) && totalPages>maxPagesToShow) &&\n fetchUsers('Audi',Math.ceil(totalRecords/pageSize))} className={pageNumber === Math.ceil(totalRecords/pageSize) ? 'active' : ''}> {'...'+Math.ceil(totalRecords/pageSize)} \n }\n \n {/* {Array.from({length: Math.ceil(totalRecords/pageSize)}, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})} */}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n : fetchUsers('Audi',pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n
    \n
    \n )\n}\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom/cjs/react-router-dom.min';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport BasicDetails from '../../../../AdminComponents/BasicDetails';\nimport Transaction from '../../../../AdminComponents/Transaction';\nimport AddHits from '../../../../AdminComponents/AddHits';\nimport KYCDetails from '../../../../AdminComponents/KYCDetails';\nimport GenerateKeys from '../../../../AdminComponents/GenerateKeys';\nimport AccountSettings from '../../../../AdminComponents/AccountSettings';\nimport { getAudiAdminToken } from '../../../../Utils/Common';\nimport styles from './users.module.css';\n\nexport default function UserDetail(){\n const userId = sessionStorage.getItem('admin-userId');\n const token = getAudiAdminToken();\n const [ tabName, setTabName ] = useState('transaction');\n\n return (<>\n
    \n \n
    \n \n

    User Detail

    \n
    \n

    Back

    \n
    \n \n
      \n
    • setTabName('transaction')}>Transaction
    • \n
    • setTabName('add-hits')}>Add hits
    • \n
    • setTabName('kyc-details')}>KYC details
    • \n
    • setTabName('generate-keys')}>Generate keys
    • \n
    • setTabName('account-settings')}>Account settings
    • \n
    \n
    \n {tabName === 'transaction' && }\n {tabName === 'add-hits' && }\n {tabName === 'kyc-details' && }\n {tabName === 'generate-keys' && }\n {tabName === 'account-settings' && }\n
    \n
    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"transactions-box\":\"transactions_transactions-box__DWTdU\",\"transaction-list\":\"transactions_transaction-list__JfkCx\",\"export-data\":\"transactions_export-data__rFP51\",\"transaction-details\":\"transactions_transaction-details__Ol-o4\",\"action\":\"transactions_action__gTiEP\"};","import React, { useEffect, useState } from 'react';\nimport Message from '../../../../Components/Message/Message';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport api, { fetchBrandTransactions, exportBrandTransactions } from '../../../../Base/Config';\nimport styles from './transactions.module.css';\n\nexport default function Transactions(){\n const [ transactionList, setTransactionList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n const [ exportData, setExportData ] = useState('');\n const [ exportLoading, setExportLoading ] = useState(false);\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n\n const fetchTransactions = (x,page) => {\n api.get(fetchBrandTransactions + `pageNumber=${page?page:pageNumber}&role=${x}User`)\n .then((res) => {\n if(res.data.code === 200){\n setTransactionList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n setPageNumber(page?page:pageNumber);\n } else {\n setTransactionList([]);\n setPageNumber(page?page:pageNumber);\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n fetchTransactions('Audi');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const exportTransactions = (x) => {\n setExportLoading(true);\n api.get(exportBrandTransactions + 'role=AudiUser')\n .then((res) => {\n setExportLoading(false);\n if(res.data.code === 200){\n setExportData(res.data);\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n setExportLoading(false);\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const totalPages = Math.ceil(totalRecords / pageSize);\n const maxPagesToShow = 12;\n\n const getPageNumbers = () => {\n const currentPage = pageNumber;\n const halfMaxPages = Math.floor(maxPagesToShow / 2);\n let startPage = Math.max(1, currentPage - halfMaxPages);\n let endPage = Math.min(totalPages, startPage + maxPagesToShow - 1);\n\n if (totalPages <= maxPagesToShow) {\n startPage = 1;\n endPage = totalPages;\n }\n return Array.from({ length: endPage - startPage + 1 }, (_, i) => startPage + i);\n };\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {message && }\n {exportData &&
    \n
    \n
    \n
    \n

    Export transactions

    \n

    CSV with all transaction data is ready with {exportData.totalCount} records.

    \n
    \n \n \n
    \n
    \n
    \n
    }\n
    \n \n
    \n \n

    Transactions

    \n
    \n
    \n {\n exportLoading\n ?\n :\n }\n
    \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    User id

    \n

    Email

    \n

    Service

    \n

    Amount

    \n

    Type

    \n

    Balance

    \n
    \n {transactionList.map((item, i) => (\n
    \n

    S no. #{((pageNumber - 1) * pageSize) + i + 1}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    User id {item.userId}

    \n

    Email {item.email}

    \n

    Service {item.services}

    \n

    Amount {item.amount}

    \n

    Type {item.amountType}

    \n

    Balance {item.remainingAmount}

    \n
    \n ))}\n
    \n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : fetchTransactions('Audi',pageNumber - 1)}>\n }\n {\n ( pageNumber>7 && totalPages>maxPagesToShow) &&\n fetchTransactions('Audi',1)} className={pageNumber === 1 ? 'active' : ''}> {'1...'} \n }\n {getPageNumbers().map((page, i) => (\n fetchTransactions('Audi',page)} className={pageNumber === page ? 'active' : ''}> {page} \n ))\n }\n {\n (pageNumber<(Math.ceil(totalRecords/pageSize)-5) && totalPages>maxPagesToShow) &&\n fetchTransactions('Audi',Math.ceil(totalRecords/pageSize))} className={pageNumber === Math.ceil(totalRecords/pageSize) ? 'active' : ''}> {'...'+Math.ceil(totalRecords/pageSize)} \n }\n {/* {Array.from({ length: Math.ceil(totalRecords/pageSize) }, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})} */}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n :fetchTransactions('Audi',pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"api-documentation\":\"documentation_api-documentation__2BNma\",\"documentation-tabs\":\"documentation_documentation-tabs__8ilq1\",\"active\":\"documentation_active__qyknQ\",\"tab-content\":\"documentation_tab-content__AcfOb\",\"api-name\":\"documentation_api-name__xkGjD\",\"api-url\":\"documentation_api-url__3Sroe\",\"api-curls\":\"documentation_api-curls__CLKUq\",\"curl-data\":\"documentation_curl-data__8roMt\",\"green\":\"documentation_green__UtCSa\",\"red\":\"documentation_red__fQcUz\",\"purple\":\"documentation_purple__z6Zy2\",\"api-body\":\"documentation_api-body__yvA8y\",\"key-copied-notification\":\"documentation_key-copied-notification__531y6\",\"key-copied\":\"documentation_key-copied__iHKYN\"};","import React, { useState } from 'react';\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport styles from \"./documentation.module.css\";\n\nexport default function Documentation(){\n const [ copyMessage, setCopyMessage ] = useState(false);\n\n const apiData = {\n url: 'https://api-savpl.prod.invincibleocean.com/public/vehicleRcFastag',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json'\n },\n {\n name: 'secretKey',\n value: '{{secretKey}}'\n },\n {\n name: 'clientId',\n value: '{{clientId}}'\n }\n ],\n payload: [\n {\n name: 'vehicleNumber',\n value: 'HR72G0833'\n }\n ],\n response: {\n \"code\": 200,\n \"result\": {\n \"vehicleData\": {\n \"rc_number\": \"HR72G0833\",\n \"registration_date\": \"2022-11-17\",\n \"owner_name\": \"NARESH AHIRWAR\",\n \"father_name\": \"DILLE AHIRWAR\",\n \"present_address\": \"H.NO-105, BHOOP NAGAR, BHONDSI, Gurgaon, Haryana, 122001\",\n \"permanent_address\": \"H.NO-105, BHOOP NAGAR, BHONDSI, Gurgaon, Haryana, 122001\",\n \"mobile_number\": \"\",\n \"vehicle_category\": \"2WN\",\n \"vehicle_chasi_number\": \"MB8DP12DHN8C95442\",\n \"vehicle_engine_number\": \"AF217183788\",\n \"maker_description\": \"SUZUKI MOTORCYCLE INDIA PVT LTD\",\n \"maker_model\": \"ACCESS 125 DISC(ALLOY WHEEL)\",\n \"body_type\": \"2WN\",\n \"fuel_type\": \"PETROL\",\n \"color\": \"MATT BLACK\",\n \"norms_type\": \"BHARAT STAGE VI\",\n \"fit_up_to\": \"2037-11-16\",\n \"financer\": \"\",\n \"financed\": null,\n \"insurance_company\": \"ICICI LOMBARD\",\n \"insurance_policy_number\": \"3005/MI-11480188/00/000\",\n \"insurance_upto\": \"2027-10-20\",\n \"manufacturing_date\": \"8/2022\",\n \"manufacturing_date_formatted\": \"2022-08\",\n \"registered_at\": \"GURUGRAM SOUTH\",\n \"latest_by\": \"2023-07-05\",\n \"less_info\": true,\n \"tax_upto\": \"1800-01-01\",\n \"tax_paid_upto\": \"LTT\",\n \"cubic_capacity\": \"124\",\n \"vehicle_gross_weight\": \"253\",\n \"no_cylinders\": \"1\",\n \"seat_capacity\": \"2\",\n \"sleeper_capacity\": \"0\",\n \"standing_capacity\": \"0\",\n \"wheelbase\": \"1265\",\n \"unladen_weight\": \"103\",\n \"vehicle_category_description\": \"M-Cycle/Scooter\",\n \"pucc_number\": \"Newv4\",\n \"pucc_upto\": \"2023-11-16\",\n \"permit_number\": null,\n \"permit_issue_date\": \"1800-01-01\",\n \"permit_valid_from\": \"1800-01-01\",\n \"permit_valid_upto\": \"1800-01-01\",\n \"permit_type\": null,\n \"national_permit_number\": null,\n \"national_permit_upto\": null,\n \"national_permit_issued_by\": null,\n \"non_use_status\": null,\n \"non_use_from\": null,\n \"non_use_to\": null,\n \"blacklist_status\": null,\n \"noc_details\": null,\n \"owner_number\": \"1\",\n \"rc_status\": null,\n \"masked_name\": false,\n \"challan_details\": null,\n \"variant\": null,\n \"rto_code\": \"HR-72\"\n },\n \"challan\": {\n \"request_id\": \"aclb8091-a0ef-4c2e-a9bf-adca197d52fc\",\n \"vehicleId\": \"HR72G0833\",\n \"total\": 1,\n \"challans\": [\n {\n \"challan_no\": \"HR46416230412082306\",\n \"date\": \"2023-03-04 08:10:10\",\n \"rc_dl_no\": \"HR72G0833\",\n \"lat_long\": null,\n \"vehicle_class\": \"\",\n \"transaction_id\": \"NA\",\n \"owner_name\": \"NARESH AHIRWAR\",\n \"accused_name\": \"\",\n \"challan_status\": \"Pending\",\n \"payment_source\": \"\",\n \"payment_date\": \"\",\n \"amount\": 1000,\n \"state\": \"HR\",\n \"area\": \"Gurgaon\",\n \"offences\": [\n {\n \"offence_name\": \"54. Pillion Rider w/o Helmet\",\n \"penalty\": \"1000\"\n },\n {\n \"offence_name\": \"54. Pillion Rider w/o Helmet\",\n \"penalty\": \"1000\"\n }\n ]\n }\n ]\n },\n \"fastag\": {\n \"request_id\": \"aclb8e06-30ba-4ae1-97de-bd8a9dd53604\",\n \"isValid\": \"No\",\n \"reason\": \"No data found\"\n }\n }\n }\n }\n\n const copyKey = () => {\n setCopyMessage(true);\n setTimeout(() => {\n setCopyMessage(false);\n }, 2000);\n }\n\n return (<>\n {copyMessage &&
    Copied to clipboard
    }\n
    \n \n
    \n \n

    Documentation

    \n
    \n
    \n

    \n {apiData.method}\n AUDI PRODUCTION API\n

    \n
    \n
    \n
    {apiData.url}
    \n

    Input:

    \n
      \n {apiData.payload.map((x, i) => (\n
    • {x.name}
    • \n ))}\n
    \n

    Output:

    \n
      \n
    • regNo
    • \n
    • class
    • \n
    • chassis
    • \n
    • engine
    • \n
    • vehicleManufacturerName
    • \n
    • model
    • \n
    • vehicleColour
    • \n
    • type
    • \n
    • normsType
    • \n
    \n

    Headers:

    \n \n \n {apiData.headers.map((x, i) => (\n \n \n \n \n ))}\n \n
    {x.name}{x.value}
    \n

    Body:

    \n
    \n {`{`}\n {apiData.payload.map((x, i) => (\n

    {x.name}: {x.value},

    \n ))}\n {`}`}\n
    \n
    \n
    \n

    Example request

    \n
    \n

    curl --location '{apiData.url}' \\

    \n {apiData.headers.map((x, i) => (\n

    --header '{x.name}: {x.value}' \\

    \n ))}\n {apiData.payload && <>\n --data '{`{`}\n {apiData.payload.map((x, i) => (\n

        \"{x.name}\": \"{x.value}\"

    \n ))}\n {`}`}'\n }\n
    \n

    Example response

    \n
    \n
    {JSON.stringify(apiData.response, undefined, 4)}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"logout-page\":\"logout_logout-page__DfZTX\"};","import React, { useEffect } from 'react';\nimport { removeAudiAdminToken } from '../../../../Utils/Common';\nimport styles from \"./logout.module.css\";\n\nexport default function Logout(){\n\n useEffect(() => {\n removeAudiAdminToken();\n window.location.replace('/audi/admin-login');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (<>\n
    \n
    \n \"logo\"\n
    \n
    \n

    Logging out

    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"login-page\":\"login_login-page__mIobm\",\"logo\":\"login_logo__e9iFb\",\"login-box\":\"login_login-box__tWIRJ\",\"copyright\":\"login_copyright__vfCf9\",\"brands\":\"login_brands__fshLG\",\"password-eye\":\"login_password-eye__ZWT6N\"};","import React, { useState, useRef } from 'react';\nimport Message from '../../../../Components/Message/Message';\nimport { setVolkswagenAdminToken } from '../../../../Utils/Common';\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport api, { captcha, adminLogin } from '../../../../Base/Config';\nimport styles from \"./login.module.css\";\n\nexport default function Login(props){\n const captchaRef = useRef(null);\n const [ email, setEmail ] = useState('');\n const [ password, setPassword ] = useState('');\n const [ loading, setLoading ] = useState(false);\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n const [ showPassword, setShowPassword ] = useState(false);\n\n // const submitFunction = (e) => {\n // e.preventDefault();\n // loginFunction();\n // }\n\n\n const captchaFunction = (e) => {\n e.preventDefault();\n const token = captchaRef.current.getValue();\n\n api.post(captcha, {\n secret: \"6LeC3YclAAAAAL6-6QFmLwJ-DvyaVdu3Zhgp6rh6\",\n token: token\n })\n .then((res) => {\n if(res.data.code === 200){\n if(res.data.result.success){\n loginFunction();\n }\n } else {\n setMessageClass('error');\n setMessage('Please fill the captcha first');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((error) => {\n console.error(error);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n\n const loginFunction = () => {\n setLoading(true);\n api.post(adminLogin, {\n email: email,\n password: password\n })\n .then((res) => {\n if(res.data.code === 200){\n setLoading(false);\n setVolkswagenAdminToken(res.data.token);\n props.history.push('/volkswagen/admin-users');\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch(err => {\n setLoading(false);\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const passwordToggle = () => { setShowPassword(!showPassword) }\n\n const closeMessage = () => { setMessage('') }\n\n\n return (<>\n {message && }\n
    \n
    \n \"volkswagen-login\"\n
    \n
    \n
    \n \"logo\"\n
    \n
    \n

    Log in Volkswagen admin account

    \n
    \n
    \n \n setEmail(e.target.value)} />\n \n setPassword(e.target.value)} />\n
    \n passwordToggle()}>\n
    \n \n {loading\n ?\n :\n }\n \n

    © 2023 Škoda Auto Volkswagen India Private Limited.

    \n
    \n
    \n \"volkswagen\"\n \"volkswagen\"\n \"audi\"\n \"lamborghini\"\n \"porsche\"\n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"sidebar\":\"sidebar_sidebar__hS7bF\"};","import React from 'react';\nimport { NavLink } from 'react-router-dom';\nimport styles from \"./sidebar.module.css\";\n\nexport default function Sidebar(){\n return (<>\n
    \n \"logo\"\n
    \n
      \n {/*
    • \"dashboard\" Dashboard
    • */}\n {\n document.location.pathname === '/volkswagen/user-detail'\n ?
    • \"my-account\" Users
    • \n :
    • \"my-account\" Users
    • \n }\n
    • \"Users\" Overall transactions
    • \n {/*
    • \"Users\" API Documentation
    • */}\n
    • \"logout\" Logout
    • \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"navbar\":\"navbar_navbar__AUKMa\",\"wallet-card\":\"navbar_wallet-card__dByhC\",\"wallet-balance\":\"navbar_wallet-balance__iNkWG\"};","import React, { useEffect, useState } from 'react';\nimport { getVolkswagenAdminUser } from '../../../../Utils/Common';\nimport api, { fetchAdminCredits } from '../../../../Base/Config';\nimport styles from \"./navbar.module.css\";\n\nexport default function Navbar(){\n const userId = getVolkswagenAdminUser();\n const [ userCredits, setUserCredits ] = useState('');\n const [ loading, setLoading ] = useState(false);\n\n const fetchCredits = () => {\n setLoading(true);\n api.get(fetchAdminCredits + userId)\n .then((res) => {\n setLoading(false);\n if(res.data.code === 200){\n if(res.data.result.length > 0){\n setUserCredits(res.data.result[0].amount);\n } else {\n setUserCredits(0);\n }\n } else {\n setUserCredits(0);\n }\n })\n .catch((err) => {\n console.error(err);\n setLoading(false);\n })\n }\n\n useEffect(() => {\n fetchCredits();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (<>\n
    \n

    Welcome, Volkswagen admin!

    \n
    \n
    \n
    \n
    API Hit Balance
    \n
    {loading ? '__' : userCredits.toLocaleString('en-IN')}
    \n
    \n
    \n \"user-icon\"\n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"detail-box\":\"users_detail-box__0UNdR\",\"back\":\"users_back__oHXg-\",\"users-list\":\"users_users-list__YRWeJ\",\"kyc-detail-card\":\"users_kyc-detail-card__mpu6C\"};","import React, { useEffect, useState } from 'react';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport api, { fetchUsersList } from '../../../../Base/Config';\nimport styles from \"./users.module.css\";\n\nexport default function Users(props){\n const [ usersList, setUsersList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n\n const fetchUsers = (x,page) => {\n api.get(fetchUsersList + `pageNumber=${page?page:pageNumber}&users=${x}`)\n .then((res) => {\n if(res.data.code === 200){\n setUsersList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n setPageNumber(page?page:pageNumber);\n } else {\n setUsersList([]);\n setPageNumber(page?page:pageNumber);\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n fetchUsers('Volkswagen');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const viewDetails = (x) => {\n sessionStorage.setItem('admin-userId', x);\n props.history.push('/volkswagen/user-detail');\n }\n\n const totalPages = Math.ceil(totalRecords / pageSize);\n const maxPagesToShow = 12;\n\n const getPageNumbers = () => {\n const currentPage = pageNumber;\n const halfMaxPages = Math.floor(maxPagesToShow / 2);\n let startPage = Math.max(1, currentPage - halfMaxPages);\n let endPage = Math.min(totalPages, startPage + maxPagesToShow - 1);\n\n if (totalPages <= maxPagesToShow) {\n startPage = 1;\n endPage = totalPages;\n }\n return Array.from({ length: endPage - startPage + 1 }, (_, i) => startPage + i);\n };\n\n return (<>\n
    \n \n
    \n \n

    Users

    \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    User id

    \n

    Name

    \n

    Email

    \n

    Phone number

    \n

    \n
    \n {usersList.map((item, i) => (\n
    \n

    No. #{(pageSize*(pageNumber-1))+(i + 1)}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    User id {item.userId}

    \n

    Name {item.firstName + \" \" + item.lastName}

    \n

    Email {item.email}

    \n

    Phone {item.mobile_no}

    \n

    viewDetails(item.userId)}>view details

    \n
    \n ))}\n
    \n {totalPages > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : fetchUsers('Volkswagen',pageNumber - 1)}>\n }\n\n {\n (pageNumber>7 && totalPages>maxPagesToShow) &&\n fetchUsers('Volkswagen',1)} className={pageNumber === 1 ? 'active' : ''}> {'1...'} \n }\n {getPageNumbers().map((page, i) => (\n fetchUsers('Volkswagen',page)} className={pageNumber === page ? 'active' : ''}> {page} \n ))\n }\n {\n pageNumber<(totalPages-5 && totalPages>maxPagesToShow) &&\n fetchUsers('Volkswagen',totalPages)} className={pageNumber === totalPages ? 'active' : ''}> {'...'+totalPages} \n }\n\n {/* {Array.from({length: Math.ceil(totalRecords/pageSize)}, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})} */}\n {\n pageNumber >= totalPages\n ?\n : fetchUsers('Volkswagen',pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n
    \n
    \n )\n}\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom/cjs/react-router-dom.min';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport BasicDetails from '../../../../AdminComponents/BasicDetails';\nimport Transaction from '../../../../AdminComponents/Transaction';\nimport Reports from '../../../../AdminComponents/Reports';\nimport AddHits from '../../../../AdminComponents/AddHits';\nimport KYCDetails from '../../../../AdminComponents/KYCDetails';\nimport GenerateKeys from '../../../../AdminComponents/GenerateKeys';\nimport AccountSettings from '../../../../AdminComponents/AccountSettings';\nimport { getVolkswagenAdminToken } from '../../../../Utils/Common';\nimport styles from './users.module.css';\n\nexport default function UserDetail(){\n const userId = sessionStorage.getItem('admin-userId');\n const token = getVolkswagenAdminToken();\n const [ tabName, setTabName ] = useState('transaction');\n\n return (<>\n
    \n \n
    \n \n

    User Detail

    \n
    \n

    Back

    \n
    \n \n
      \n
    • setTabName('transaction')}>Transaction
    • \n
    • setTabName('reports')}>Reports
    • \n
    • setTabName('add-hits')}>Add hits
    • \n
    • setTabName('kyc-details')}>KYC details
    • \n
    • setTabName('generate-keys')}>Generate keys
    • \n
    • setTabName('account-settings')}>Account settings
    • \n
    \n
    \n {tabName === 'transaction' && }\n {tabName === 'reports' && }\n {tabName === 'add-hits' && }\n {tabName === 'kyc-details' && }\n {tabName === 'generate-keys' && }\n {tabName === 'account-settings' && }\n
    \n
    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"transactions-box\":\"transactions_transactions-box__8e4S6\",\"transaction-list\":\"transactions_transaction-list__oD+oq\",\"export-data\":\"transactions_export-data__M8OIX\"};","import React, { useEffect, useState } from 'react';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\nimport api, { fetchBrandTransactions , exportBrandTransactions} from '../../../../Base/Config';\nimport Message from '../../../../Components/Message/Message';\nimport styles from './transactions.module.css';\n\nexport default function Transactions(){\n const [ transactionList, setTransactionList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n const [ exportData, setExportData ] = useState('');\n const [ exportLoading, setExportLoading ] = useState(false);\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n\n const fetchTransactions = (x,page) => {\n api.get(fetchBrandTransactions + `pageNumber=${page?page:pageNumber}&role=${x}User`)\n .then((res) => {\n if(res.data.code === 200){\n setTransactionList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n setPageNumber(page?page:pageNumber);\n } else {\n setTransactionList([]);\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n const exportTransactions = (x) => {\n setExportLoading(true);\n api.get(exportBrandTransactions + 'role=VolkswagenUser')\n .then((res) => {\n setExportLoading(false);\n if(res.data.code === 200){\n setExportData(res.data);\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n setExportLoading(false);\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n useEffect(() => {\n fetchTransactions('Volkswagen');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const totalPages = Math.ceil(totalRecords / pageSize);\n const maxPagesToShow = 12;\n\n const getPageNumbers = () => {\n const currentPage = pageNumber;\n const halfMaxPages = Math.floor(maxPagesToShow / 2);\n let startPage = Math.max(1, currentPage - halfMaxPages);\n let endPage = Math.min(totalPages, startPage + maxPagesToShow - 1);\n\n if (totalPages <= maxPagesToShow) {\n startPage = 1;\n endPage = totalPages;\n }\n return Array.from({ length: endPage - startPage + 1 }, (_, i) => startPage + i);\n };\n\n return (<>\n {message && setMessage('')}/>}\n {exportData &&
    \n
    \n
    \n
    \n

    Export transactions

    \n

    CSV with all transaction data is ready with {exportData.totalCount} records.

    \n
    \n \n \n
    \n
    \n
    \n
    }\n
    \n \n
    \n \n

    Transactions

    \n
    \n
    \n {\n exportLoading\n ?\n :\n }\n
    \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    User id

    \n

    Service

    \n

    Amount

    \n

    Type

    \n

    Balance

    \n
    \n {transactionList.map((item, i) => (\n
    \n

    S no. #{((pageNumber - 1) * pageSize) + i + 1}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    User id {item.userId}

    \n

    Service {item.services}

    \n

    Amount {item.amount}

    \n

    Type {item.amountType}

    \n

    Balance {item.remainingAmount}

    \n
    \n ))}\n
    \n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : fetchTransactions('Volkswagen',pageNumber - 1)}>\n }\n \n {\n ( pageNumber>7 && totalPages>maxPagesToShow) &&\n fetchTransactions('Volkswagen',1)} className={pageNumber === 1 ? 'active' : ''}> {'1...'} \n }\n {getPageNumbers().map((page, i) => (\n fetchTransactions('Volkswagen',page)} className={pageNumber === page ? 'active' : ''}> {page} \n ))\n }\n {\n (pageNumber<(Math.ceil(totalRecords/pageSize)-5) && totalPages>maxPagesToShow) &&\n fetchTransactions('Volkswagen',Math.ceil(totalRecords/pageSize))} className={pageNumber === Math.ceil(totalRecords/pageSize) ? 'active' : ''}> {'...'+Math.ceil(totalRecords/pageSize)} \n }\n\n {/* {Array.from({ length: Math.ceil(totalRecords/pageSize) }, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})} */}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n : fetchTransactions('Volkswagen',pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n
    \n
    \n
    \n )\n}\n","import React from 'react';\nimport Sidebar from '../../Components/Sidebar/Sidebar';\nimport Navbar from '../../Components/Navbar/Navbar';\n\nexport default function Documentation(){\n return (<>\n
    \n \n
    \n \n

    Documentation

    \n
    \n \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"logout-page\":\"logout_logout-page__cRbp8\"};","import React, { useEffect } from 'react';\nimport { removeVolkswagenAdminToken } from '../../../../Utils/Common';\nimport styles from \"./logout.module.css\";\n\nexport default function Logout(){\n\n useEffect(() => {\n removeVolkswagenAdminToken();\n window.location.replace('/volkswagen/admin-login');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (<>\n
    \n
    \n \"logo\"\n
    \n
    \n

    Logging out

    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"login-page\":\"login_login-page__Z5DXT\",\"logo\":\"login_logo__oT9iT\",\"login-box\":\"login_login-box__o8mCw\",\"copyright\":\"login_copyright__XQtOt\",\"brands\":\"login_brands__6ljP3\"};","import React, { useState, useRef } from 'react';\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport { setSuperAdminToken } from '../../Utils/Common';\nimport api, { googleRecaptcha, adminLogin } from '../../Base/Config';\nimport Message from '../../Components/Message/Message';\nimport styles from \"./login.module.css\";\n\nexport default function Login(props){\n const captchaRef = useRef(null);\n const [ email, setEmail ] = useState('');\n const [ password, setPassword ] = useState('');\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n\n const submitFunction = async (e) => {\n e.preventDefault();\n const token = captchaRef.current.getValue();\n\n api.post(googleRecaptcha, {\n secret: process.env.REACT_APP_CAPTCHA_SECRET,\n token: token\n })\n .then((res) => {\n if(res.data.code === 200){\n if(res.data.result.success){\n loginFunction();\n }\n } else {\n setMessageClass('error');\n setMessage('Please fill the captcha first');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch(err => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const loginFunction = () => {\n api.post(adminLogin, {\n email: email,\n password: password\n })\n .then((res) => {\n if(res.data.code === 200){\n setSuperAdminToken(res.data.token);\n props.history.push('/superadmin/skoda');\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch(err => {\n console.error(err);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {message && }\n
    \n
    \n \"login\"\n
    \n
    \n
    \n \"logo\"\n
    \n
    \n

    Log In Super admin account

    \n
    \n
    \n \n setEmail(e.target.value)} />\n \n setPassword(e.target.value)} />\n \n \n \n

    © 2023 Škoda Auto Volkswagen India Private Limited.

    \n
    \n
    \n \"volkswagen\"\n \"skoda\"\n \"audi\"\n \"lamborghini\"\n \"porsche\"\n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"sidebar\":\"sidebar_sidebar__vPw2k\"};","import React from 'react';\nimport { NavLink } from 'react-router-dom';\nimport styles from \"./sidebar.module.css\";\n\nexport default function Sidebar(){\n return (<>\n
    \n \"logo\"\n
    \n
      \n
    • \"Skoda\" Skoda
    • \n
    • \"Volkswagen\" Volkswagen
    • \n
    • \"Audi\" Audi
    • \n {/*
    • \"Users\" API Documentation
    • */}\n
    • \"logout\" Logout
    • \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"navbar\":\"navbar_navbar__cTn0M\",\"wallet-card\":\"navbar_wallet-card__aYVUo\",\"wallet-balance\":\"navbar_wallet-balance__3++2v\"};","import React, { useEffect, useState } from 'react';\nimport { getSuperAdminUser } from '../../../Utils/Common';\nimport api, { fetchAdminCredits } from '../../../Base/Config';\nimport styles from \"./navbar.module.css\";\n\nexport default function Navbar(){\n const userId = getSuperAdminUser();\n const [ userCredits, setUserCredits ] = useState('');\n const [ loading, setLoading ] = useState(false);\n\n const fetchCredits = () => {\n setLoading(true);\n api.get(fetchAdminCredits + userId)\n .then((res) => {\n setLoading(false);\n if(res.data.code === 200){\n if(res.data.result.length > 0){\n setUserCredits(res.data.result[0].amount);\n } else {\n setUserCredits(0);\n }\n } else {\n setUserCredits(0);\n }\n })\n .catch((err) => {\n console.error(err);\n setLoading(false);\n })\n }\n\n useEffect(() => {\n fetchCredits();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (<>\n
    \n

    Welcome, Super admin!

    \n
    \n
    \n
    \n
    API Hit Balance
    \n
    {loading ? '__' : userCredits.toLocaleString('en-IN')}
    \n
    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"breadcrumb\":\"brand-detail_breadcrumb__hDIcS\",\"tab-content\":\"brand-detail_tab-content__mLgqj\",\"users-list\":\"brand-detail_users-list__NuBXp\",\"transaction-list\":\"brand-detail_transaction-list__p8Vgd\",\"report-list\":\"brand-detail_report-list__hSiIB\",\"add-hits\":\"brand-detail_add-hits__h0gHx\",\"account-settings\":\"brand-detail_account-settings__2vWYk\"};","import React, { useState, useEffect } from 'react';\nimport api, { fetchUsersList } from '../../../../Base/Config';\nimport styles from \"../brand-detail.module.css\";\n\nexport default function Users(props){\n const [ usersList, setUsersList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n\n const fetchUsers = (x) => {\n api.get(fetchUsersList + `pageNumber=${pageNumber}&users=${x}`)\n .then((res) => {\n if(res.data.code === 200){\n setUsersList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n } else {\n setUsersList([]);\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n if(props.brand){\n fetchUsers(props.brand);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, pageNumber])\n\n return (<>\n

    {props.brand} Users

    \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    User id

    \n

    Name

    \n

    Email

    \n

    Phone number

    \n

    \n
    \n {usersList.map((item, i) => (\n
    \n

    No. #{i + 1}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    User id {item.userId}

    \n

    Name {item.firstName + \" \" + item.lastName}

    \n

    Email {item.email}

    \n

    Phone {item.mobile_no}

    \n

    props.openDetail(item)}>view details

    \n
    \n ))}\n
    \n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : setPageNumber(pageNumber - 1)}>\n }\n {Array.from({length: Math.ceil(totalRecords/pageSize)}, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n : setPageNumber(pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n )\n}\n","import React, { useState } from 'react';\nimport BasicDetails from '../../../../AdminComponents/BasicDetails';\nimport Transaction from '../../../../AdminComponents/Transaction';\nimport Reports from '../../../../AdminComponents/Reports';\nimport AddHits from '../../../../AdminComponents/AddHits';\nimport KYCDetails from '../../../../AdminComponents/KYCDetails';\nimport GenerateKeys from '../../../../AdminComponents/GenerateKeys';\nimport AccountSettings from '../../../../AdminComponents/AccountSettings';\nimport { getSuperAdminToken } from '../../../../Utils/Common';\nimport styles from \"../brand-detail.module.css\";\n\nexport default function UserDetail(props){\n const details = JSON.parse(sessionStorage.getItem('user'));\n const token = getSuperAdminToken();\n const [ tabName, setTabName ] = useState('transaction');\n\n return (<>\n

    {props.brand} User detail

    \n
    \n \n
      \n
    • setTabName('transaction')}>Transaction
    • \n {props.brand !== \"Audi\" &&
    • setTabName('reports')}>Reports
    • }\n
    • setTabName('add-hits')}>Add hits
    • \n
    • setTabName('kyc-details')}>KYC details
    • \n
    • setTabName('generate-keys')}>Generate keys
    • \n
    • setTabName('account-settings')}>Account settings
    • \n
    \n
    \n {tabName === 'transaction' && }\n {tabName === 'reports' && }\n {tabName === 'add-hits' && }\n {tabName === 'kyc-details' && }\n {tabName === 'generate-keys' && }\n {tabName === 'account-settings' && }\n
    \n
    \n )\n}\n","import React, { useState, useEffect } from 'react';\nimport api, { fetchBrandTransactions } from '../../../../Base/Config';\nimport styles from \"../brand-detail.module.css\";\n\nexport default function Transactions(props){\n const [ transactionList, setTransactionList ] = useState([]);\n const [ pageSize, setPageSize ] = useState('');\n const [ totalRecords, setTotalRecords ] = useState('');\n const [ pageNumber, setPageNumber ] = useState(1);\n\n const fetchTransactions = (x) => {\n api.get(fetchBrandTransactions + `pageNumber=${pageNumber}&role=${x}User`)\n .then((res) => {\n if(res.data.code === 200){\n setTransactionList(res.data.records);\n setPageSize(res.data.pageSize);\n setTotalRecords(res.data.totalRecords);\n } else {\n setTransactionList([]);\n }\n })\n .catch((err) => {\n console.error(err);\n })\n }\n\n useEffect(() => {\n if(props.brand){\n fetchTransactions(props.brand);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, pageNumber])\n \n return (<>\n

    {props.brand} Transactions

    \n
    \n
    \n
    \n

    S no.

    \n

    Date

    \n

    User id

    \n

    Email

    \n

    Service

    \n

    Amount

    \n

    Amount type

    \n

    Balance

    \n
    \n {transactionList.map((item, i) => (\n
    \n

    S no. #{((pageNumber - 1) * pageSize) + i + 1}

    \n

    Date {`${new Date(item.createdAt)}`.substr(0, 24)}

    \n

    User id {item.userId}

    \n

    Email {item.email}

    \n

    Service {item.services}

    \n

    Amount {item.amount}

    \n

    Type {item.amountType}

    \n

    Balance {item.remainingAmount}

    \n
    \n ))}\n
    \n {Math.ceil(totalRecords/pageSize) > 1 &&
    \n
    \n {\n pageNumber <= 1\n ?\n : setPageNumber(pageNumber - 1)}>\n }\n {Array.from({ length: Math.ceil(totalRecords/pageSize) }, (_, i) => setPageNumber(i + 1)} className={pageNumber === (i + 1) ? 'active' : ''} key={i}>{i + 1})}\n {\n pageNumber >= Math.ceil(totalRecords/pageSize)\n ?\n : setPageNumber(pageNumber + 1)}>\n }\n
    \n
    \n show:\n \n
    \n
    }\n
    \n )\n}\n","import React, { useEffect, useState } from 'react';\nimport api, { fetchAdminCredits, addAdminCredits } from '../../../../Base/Config';\nimport { getSuperAdminToken } from '../../../../Utils/Common';\nimport Message from '../../../../Components/Message/Message';\nimport styles from \"../brand-detail.module.css\";\n\nexport default function AddHits(props){\n const token = getSuperAdminToken();\n const [ credits, setCredits ] = useState(0);\n const [ userId, setUserId ] = useState('');\n const [ brand, setBrand ] = useState('');\n const [ amount, setAmount ] = useState('');\n const [ message, setMessage ] = useState('');\n const [ messageClass, setMessageClass ] = useState('');\n const [ loading, setLoading ] = useState(false);\n\n const config = {\n headers: {\n authorizationToken: token\n }\n }\n\n const addCredits = () => {\n setLoading(true);\n api.post(addAdminCredits, {\n userId: userId,\n amount: amount,\n role: brand\n }, config)\n .then((res) => {\n setLoading(false);\n if(res.data.code === 200){\n fetchCredits(userId);\n setAmount('');\n setMessageClass('success');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n } else {\n setMessageClass('error');\n setMessage(res.data.message);\n setTimeout(() => {\n setMessage('');\n }, 5000);\n }\n })\n .catch((err) => {\n console.error(err);\n setLoading(false);\n setMessageClass('error');\n setMessage('Something went wrong, Try again.');\n setTimeout(() => {\n setMessage('');\n }, 5000);\n })\n }\n\n const fetchCredits = (x) => {\n setLoading(true);\n api.get(fetchAdminCredits + x)\n .then((res) => {\n setLoading(false);\n if(res.data.code === 200){\n if(res.data.result.length > 0){\n setCredits(res.data.result[0].amount);\n } else {\n setCredits(0);\n }\n } else {\n setCredits(0);\n }\n })\n .catch((err) => {\n console.error(err);\n setLoading(false);\n })\n }\n\n useEffect(() => {\n setBrand(props.brand);\n if(props.brand === 'Skoda'){\n setUserId(process.env.REACT_APP_SKODA_USER);\n fetchCredits(process.env.REACT_APP_SKODA_USER);\n } else if(props.brand === 'Volkswagen') {\n setUserId(process.env.REACT_APP_VOLKSWAGEN_USER);\n fetchCredits(process.env.REACT_APP_VOLKSWAGEN_USER);\n } else if(props.brand === 'Audi') {\n setUserId(process.env.REACT_APP_AUDI_USER);\n fetchCredits(process.env.REACT_APP_AUDI_USER);\n }\n }, [props])\n\n const closeMessage = () => { setMessage('') }\n\n return (<>\n {message && }\n

    {props.brand} Add Hits

    \n
    \n
    \n

    Account name

    \n

    :

    \n

    {brand} admin

    \n
    \n
    \n

    Available credits

    \n

    :

    \n

    {credits}

    \n
    \n
    \n

    Add credits

    \n

    :

    \n
    setAmount(e.target.value)} />
    \n
    \n {\n loading\n ?\n :\n }\n
    \n
    \n
    \n )\n}\n","import React from 'react';\nimport styles from \"../brand-detail.module.css\";\n\nexport default function AccountSettings(props){\n return (<>\n

    {props.brand} Account Settings

    \n
    \n
    \n
    Status
    \n
    \n Account status\n \n Active\n Inactive\n \n
    \n
    Delete account
    \n
    \n

    When you delete this account, their profile, keys, transactions, credits and verification data will be removed permanently. If you'd just like user to not use the account, you can temporarily deactivate their account instead.

    \n

    Once the account has been deleted, user can sign up again with same email or phone number.

    \n \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"page-tabs\":\"dashboard_page-tabs__BUW6b\",\"active\":\"dashboard_active__ljk32\"};","import React, { useEffect, useState } from 'react';\nimport Sidebar from '../Components/Sidebar/Sidebar';\nimport Navbar from '../Components/Navbar/Navbar';\nimport Users from '../Components/BrandDetail/Components/Users';\nimport UserDetail from '../Components/BrandDetail/Components/UserDetail';\nimport Transactions from '../Components/BrandDetail/Components/Transactions';\nimport AddHits from '../Components/BrandDetail/Components/AddHits';\nimport AccountSettings from '../Components/BrandDetail/Components/AccountSettings';\nimport styles from \"./dashboard.module.css\";\n\nexport default function Dashboard(){\n const brand = document.location.pathname === '/superadmin/audi' ? 'Audi' : (document.location.pathname === '/superadmin/volkswagen' ? 'Volkswagen' : 'Skoda');\n const [ tabName, setTabName ] = useState('users');\n\n const changetab = (x) => {\n setTabName(x);\n }\n\n const openDetail = (x) => {\n sessionStorage.setItem('user', JSON.stringify(x));\n setTabName('user-detail');\n }\n\n useEffect(() => {\n setTabName('users');\n }, [brand])\n\n return (<>\n
    \n \n
    \n \n
      \n
    • changetab('users')}>Users
    • \n
    • changetab('transactions')}>Overall transactions
    • \n
    • changetab('hits')}>Add hits
    • \n
    • changetab('setting')}>Account settings
    • \n
    \n
    \n {tabName === 'users' && }\n {tabName === 'transactions' && }\n {tabName === 'hits' && }\n {tabName === 'setting' && }\n {tabName === 'user-detail' && }\n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"logout-page\":\"logout_logout-page__yc52c\"};","import React, { useEffect } from 'react';\nimport { removeSuperAdminToken } from '../../Utils/Common';\nimport styles from \"./logout.module.css\";\n\nexport default function Logout(){\n\n useEffect(() => {\n removeSuperAdminToken();\n window.location.replace('/superadmin/login');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (<>\n
    \n
    \n \"logo\"\n
    \n
    \n

    Logging out

    \n
    \n
    \n
    \n )\n}\n","import { BrowserRouter, Switch, Route } from 'react-router-dom';\n// Routes\nimport SuperAdminPrivateRoute from './Utils/SuperAdminPrivateRoute';\nimport SuperAdminPublicRoute from './Utils/SuperAdminPublicRoute';\nimport AdminPrivateRoute from './Utils/AdminPrivateRoute';\nimport AdminPublicRoute from './Utils/AdminPublicRoute';\nimport VolkswagenAdminPrivateRoute from './Utils/VolkswagenAdminPrivateRoute';\nimport VolkswagenAdminPublicRoute from './Utils/VolkswagenAdminPublicRoute';\nimport AudiAdminPrivateRoute from './Utils/AudiAdminPrivateRoute';\nimport AudiAdminPublicRoute from './Utils/AudiAdminPublicRoute';\nimport PrivateRoute from './Utils/PrivateRoute';\nimport PublicRoute from './Utils/PublicRoute';\nimport VolkswagenPrivateRoute from './Utils/VolkswagenPrivateRoute';\nimport VolkswagenPublicRoute from './Utils/VolkswagenPublicRoute';\nimport AudiPrivateRoute from './Utils/AudiPrivateRoute';\nimport AudiPublicRoute from './Utils/AudiPublicRoute';\n\nimport Home from './Home';\n\n// landing pages\nimport SkodaHome from './User/Skoda/Pages/Home/Home';\nimport AudiHome from './User/Audi/Pages/Home/Home';\nimport VolkswagenHome from './User/Volkswagen/Pages/Home/Home';\n\nimport Copyright from './Pages/Copyright';\nimport Compliance from './Pages/Compliance';\nimport PrivacyPolicy from './Pages/PrivacyPolicy';\nimport Disclaimer from './Pages/Disclaimer';\nimport TermsCancellationPolicy from './Pages/TermsCancellationPolicy';\n\n// Skoda user\nimport SkodaLogin from './User/Skoda/Pages/Login/Login';\n// import SkodaDashboard from './User/Skoda/Pages/Dashboard/Dashboard';\nimport SkodaSearchVehicles from './User/Skoda/Pages/SearchVehicles/SearchVehicles';\nimport SkodaReports from './User/Skoda/Pages/Reports/Reports';\nimport SkodaDetail from './User/Skoda/Pages/Detail/Detail';\nimport SkodaReportPlans from './User/Skoda/Pages/ReportPlans/ReportPlans';\nimport SkodaTransactions from './User/Skoda/Pages/Transactions/Transactions';\nimport SkodaMyAccount from './User/Skoda/Pages/MyAccount/MyAccount';\nimport SkodaContactUs from './User/Skoda/Pages/ContactUs/ContactUs';\nimport SkodaLogout from './User/Skoda/Pages/Logout/Logout';\n\n// Volkswagen user\nimport VolkswagenLogin from './User/Volkswagen/Pages/Login/Login';\n// import VolkswagenDashboard from './User/Volkswagen/Pages/Dashboard/Dashboard';\nimport SearchVolkswagen from './User/Volkswagen/Pages/SearchVolkswagen/SearchVolkswagen';\nimport VolkswagenSearchVehicles from './User/Volkswagen/Pages/SearchVehicles/SearchVehicles';\nimport VolkswagenReports from './User/Volkswagen/Pages/Reports/Reports';\nimport VolkswagenDetail from './User/Volkswagen/Pages/Detail/Detail';\nimport VolkswagenReportPlans from './User/Volkswagen/Pages/ReportPlans/ReportPlans';\nimport VolkswagenTransactions from './User/Volkswagen/Pages/Transactions/Transactions';\nimport VolkswagenMyAccount from './User/Volkswagen/Pages/MyAccount/MyAccount';\nimport VolkswagenContactUs from './User/Volkswagen/Pages/ContactUs/ContactUs';\nimport VolkswagenLogout from './User/Volkswagen/Pages/Logout/Logout';\n\n// Audi user\nimport AudiLogin from './User/Audi/Pages/Login/Login';\nimport AudiDashboard from './User/Audi/Pages/Dashboard/Dashboard';\nimport AudiAPIDocumentation from './User/Audi/Pages/APIDocumentation/APIDocumentation';\nimport AudiTransactions from './User/Audi/Pages/Transactions/Transactions';\nimport AudiMyAccount from './User/Audi/Pages/MyAccount/MyAccount';\nimport AudiContactUs from './User/Audi/Pages/ContactUs/ContactUs';\nimport AudiLogout from './User/Audi/Pages/Logout/Logout';\n\n// Skoda admin starts here\nimport SkodaAdminLogin from './Admin/Skoda/Pages/Login/Login';\n// import SkodaAdminDashboard from './Admin/Skoda/Pages/Dashboard/Dashboard';\nimport SkodaAdminUsers from './Admin/Skoda/Pages/Users/Users';\nimport SkodaAdminUserDetail from './Admin/Skoda/Pages/Users/UserDetail';\nimport SkodaAdminTransactions from './Admin/Skoda/Pages/Transactions/Transactions';\nimport SkodaAdminDocumentation from './Admin/Skoda/Pages/Documentation/Documentation';\nimport SkodaAdminLogout from './Admin/Skoda/Pages/Logout/Logout';\n\n// Audi admin starts here\nimport AudiAdminLogin from './Admin/Audi/Pages/Login/Login';\nimport AudiAdminDashboard from './Admin/Audi/Pages/Dashboard/Dashboard';\nimport AudiAdminUsers from './Admin/Audi/Pages/Users/Users';\nimport AudiAdminUserDetail from './Admin/Audi/Pages/Users/UserDetail';\nimport AudiAdminTransactions from './Admin/Audi/Pages/Transactions/Transactions';\nimport AudiAdminDocumentation from './Admin/Audi/Pages/Documentation/Documentation';\nimport AudiAdminLogout from './Admin/Audi/Pages/Logout/Logout';\n\n// Volkswagen admin starts here\nimport VolkswagenAdminLogin from './Admin/Volkswagen/Pages/Login/Login';\n// import VolkswagenAdminDashboard from './Admin/Volkswagen/Pages/Dashboard/Dashboard';\nimport VolkswagenAdminUsers from './Admin/Volkswagen/Pages/Users/Users';\nimport VolkswagenAdminUserDetail from './Admin/Volkswagen/Pages/Users/UserDetail';\nimport VolkswagenAdminTransactions from './Admin/Volkswagen/Pages/Transactions/Transactions';\nimport VolkswagenAdminDocumentation from './Admin/Volkswagen/Pages/Documentation/Documentation';\nimport VolkswagenAdminLogout from './Admin/Volkswagen/Pages/Logout/Logout';\n\n// Super admin starts here\nimport SuperAdminLogin from './SuperAdmin/Login/Login';\nimport SuperAdminDashboard from './SuperAdmin/Dashboard/Dashboard';\nimport SuperAdminLogout from './SuperAdmin/Logout/Logout';\n\nexport default function App() {\n return (\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n {/* */}\n \n \n \n \n \n\n \n \n \n \n \n \n \n );\n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\nimport App from './App';\n\nReactDOM.render(\n \n, document.getElementById('root'));"],"names":["deselectCurrent","require","clipboardToIE11Formatting","module","exports","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","isAbsolute","pathname","charAt","spliceOne","list","index","i","k","n","length","pop","to","from","undefined","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","last","up","part","unshift","result","join","substr","valueOf","obj","Object","prototype","call","valueEqual","a","b","Array","isArray","every","item","aValue","bValue","keys","assign","key","addLeadingSlash","path","stripLeadingSlash","stripBasename","prefix","toLowerCase","indexOf","hasBasename","stripTrailingSlash","slice","parsePath","search","hash","hashIndex","searchIndex","createPath","location","createLocation","state","currentLocation","_extends","decodeURI","URIError","resolvePathname","locationsAreEqual","createTransitionManager","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","fn","isActive","listener","apply","arguments","push","filter","notifyListeners","_len","args","_key","forEach","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","props","invariant","globalHistory","canUseHistory","ua","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","event","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","map","entry","nextIndex","nextEntries","splice","canGo","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","Symbol","for","c","d","f","g","h","l","m","p","q","r","t","v","w","x","y","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","extendStatics","setPrototypeOf","__proto__","hasOwnProperty","__extends","TypeError","String","__","this","constructor","create","__assign","s","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","done","then","__generator","_","label","sent","trys","ops","verb","iterator","op","__spreadArray","pack","ar","Bounds","left","width","height","add","fromClientRect","context","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","find","rect","EMPTY","parseBounds","node","getBoundingClientRect","parseDocumentSize","documentElement","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints$1","str","codePoints","charCodeAt","extra","fromCodePoint$1","_i","fromCodePoint","codeUnits","codePoint","fromCharCode","chars$2","lookup$2","Uint8Array","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","len","buffer","ArrayBuffer","bytes","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_MASK$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","start","end","Uint16Array","slice32$1","Uint32Array","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","data","ceil","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","get","ix","chars$3","lookup$3","i$3","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","classType","prev","isAdjacentWithSpaceIgnored","currentIndex","classTypes","current","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","count","cssFormattedClasses","wordBreak","_a","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","required","LineBreaker","lastEnd","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","E","F","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","sign","integers","int","parseInt","fraction","fracd","frac","expsign","exponent","exp","pow","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","_value","write","chunk","read","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e1","e2","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","shift","digits","questionMarks","digit","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","endingCodePoint","consumeNumber","repr","number","unit","hex","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","values","consumeSimpleBlock","consumeFunction","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","parent","DEG","GRAD","RAD","TURN","angle","parse","_context","PI","isAngle","parseNamedSide","ident","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","COLORS","toUpperCase","TRANSPARENT","isTransparent","color","asString","alpha","blue","green","red","round","getTokenColorValue","rgb","_b","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","backgroundColor","parseColorStop","stop","processColorStops","stops","lineLength","first","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","abs","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","reduce","stat","cx","cy","optimumDistance","optimumCorner","Infinity","calculateRadius","gradient","rx","ry","size","shape","prefixLinearGradient","angle$1","firstToken","colorStop","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","prefixRadialGradient","isColorStop","acc","isLinearGradient","background","isRadialGradient","image","image_1","cache","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","isAtPosition_1","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","display","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","shadow","offsetX","offsetY","blur","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","order","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","fontWeight","fontVariant","fontStyle","contains","content","counterIncrement","increments","filtered","counter","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","open","close","getQuote","depth","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","transform","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","element","isDebugging","elementType","ElementContainer","textNodes","elements","styles","getComputedStyle","isHTMLElementNode","some","bounds","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_MASK","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","L","V","T","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","testElement","selectNode","rangeBounds","rangeHeight","testIOSLineBreak","wordSpacing","innerHTML","repeat","firstChild","textList","offset","supports","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","responseType","testSVG","img","canvas","ctx","getContext","src","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","getImageData","catch","xmlns","createElementNS","foreignObject","setAttributeNS","onload","onerror","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","SUPPORT_WORD_BREAKING","SUPPORT_SVG_DRAWING","SUPPORT_FOREIGNOBJECT_DRAWING","fetch","SUPPORT_CORS_IMAGES","SUPPORT_RESPONSE_TYPE","SUPPORT_CORS_XHR","SUPPORT_NATIVE_TEXT_SEGMENTATION","Intl","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","trim","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","ownerDocument","wrapper","cloneNode","parentNode","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","word_1","TextContainer","CAPITALIZE","capitalize","p1","p2","ImageElementContainer","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","setAttribute","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","input","checked","SelectElementContainer","option","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","nextSibling","isTextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","floor","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","scrollTo","logger","onclone","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","clone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","child","copyStyles","hasAttribute","ignoreElements","cloneChildNodes","assignedNode","createTextNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","destroy","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","images","interval","setInterval","childNodes","readyState","clearInterval","ignoredStyleProperties","target","property","setProperty","getPropertyValue","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","link","_link","protocol","hostname","port","isSameOrigin","_origin","setContext","Cache","_options","_cache","has","isBlobImage","isRenderable","loadImage","match","useCORS","isInlineImage","useProxy","proxy","isInlineBase64Image","setTimeout","imageTimeout","xhr","status","response","reader_1","FileReader","readAsDataURL","queryString","timeout_1","timeout","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","bc","cd","abbc","bccd","dest","reverse","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","_c","brh","brv","_d","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","effects","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","second","hasIntrinsicProportion","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_data","_document","parseMetrics","span","margin","padding","verticalAlign","baseline","offsetTop","middle","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","scale","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","font","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","box","fill","beginPath","arc","isTextInputElement","canvasTextAlign","_p","_e","_g","_f","_j","_h","_l","_k","_o","_m","mask","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","pattern","resizeImage","renderBackgroundImage","this_1","createPattern","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","borders_1","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","id","enabled","Date","now","getTime","instances","Context","instanceName","instanceCount","logging","html2canvas","renderElement","opts","resourceOptions","contextOptions","windowOptions","windowWidth","innerWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","_u","parseBackgroundColor","renderOptions","devicePixelRatio","_q","_r","_s","_t","removeContainer","backgroundColorOverride","defaultBackgroundColor","propIsEnumerable","propertyIsEnumerable","test1","test2","test3","shouldUseNative","source","val","toObject","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","RegExp","res","defaultDelimiter","delimiter","exec","escaped","capture","group","modifier","asterisk","partial","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","matches","encode","pretty","JSON","stringify","j","attachKeys","re","sensitive","strict","route","endsWithDelimiter","groups","regexpToRegexp","parts","arrayToRegexp","stringToRegexp","arr","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","object","symbol","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","_typeof","CopyToClipboard","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","enumerableOnly","sym","enumerable","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_defineProperties","configurable","writable","_setPrototypeOf","o","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","self","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","_React$PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","instance","_classCallCheck","_this$props","children","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","aa","ba","Set","ca","da","ea","fa","ha","ia","ja","ka","B","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","D","oa","pa","qa","ma","isNaN","na","la","removeAttribute","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","set","Qa","tag","_render","Ra","_payload","_init","Sa","Ta","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","$a","bb","cb","eb","db","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","html","mathml","lb","mb","nb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","ub","menuitem","area","base","br","col","embed","hr","keygen","meta","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","sibling","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","transition","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","bind","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Meta","Shift","Pd","Qd","code","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","tel","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","compareDocumentPosition","Ne","HTMLIFrameElement","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","G","$e","af","bf","cf","df","passive","Nb","ef","ff","parentWindow","gf","hf","J","K","Q","je","char","ke","jf","kf","lf","mf","autoFocus","nf","__html","of","pf","clearTimeout","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","H","I","Cf","M","N","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","O","eg","fg","gg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","C","Dg","Eg","Fg","Component","refs","Gg","Kg","isMounted","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","updater","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","ref","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","mode","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","R","S","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","useState","getSnapshot","subscribe","useEffect","setSnapshot","Oh","Ph","Qh","Rh","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useCallback","useContext","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Ci","Di","Ei","si","retryLane","ti","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","Hi","Ii","W","Ji","Ki","Li","Mi","Ni","Oi","WeakMap","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","dk","rangeCount","focusedElem","selectionRange","ek","extend","onCommitFiberRoot","fk","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","sk","uk","kk","hk","_calculateChangedBits","unstable_observedBits","unmount","querySelectorAll","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","version","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","BrowserRouter","_inheritsLoose","React","reactRouter","Router","HashRouter","resolveToLocation","normalizeToLocation","forwardRefShim","forwardRef","LinkAnchor","innerRef","navigate","isModifiedEvent","Link","__RouterContext","Consumer","forwardRefShim$1","forwardRef$1","NavLink","activeClassName","activeStyle","matchPath","joinClassnames","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","global","createContext","calculateChangedBits","contextProp","getUniqueId","Provider","_React$Component","emitter","handlers","on","handler","off","newValue","changedBits","createEventEmitter","nextProps","oldValue","_Provider$childContex","_React$Component2","_this2","onUpdate","_Consumer$contextType","createNamedContext","historyContext","_isMounted","_pendingLocation","staticContext","computeRootMatch","params","isExact","MemoryRouter","Lifecycle","onMount","prevProps","onUnmount","Prompt","when","_ref$when","method","release","cacheLimit","cacheCount","generatePath","compilePath","Redirect","computedMatch","_ref$push","cache$1","cacheLimit$1","cacheCount$1","_options$exact","_options$strict","_options$sensitive","matched","cacheKey","pathCache","regexp","compilePath$1","_compilePath","memo","Route","context$1","isEmptyChildren","createURL","staticHandler","methodName","noop","StaticRouter","handlePush","navigateTo","handleReplace","handleListen","handleBlock","_this$props$basename","_this$props$context","addBasename","_this$props2$basename","_this$props2$context","_this$props2$location","rest","Switch","withRouter","wrappedComponentRef","remainingProps","WrappedComponent","hoistStatics","useHistory","useLocation","useParams","useRouteMatch","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","default","IsSomeRendererActing","toArray","_currentValue2","_threadCount","createFactory","createRef","isValidElement","lazy","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","requestAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","condition","active","ranges","getRangeAt","_arrayLikeToArray","arr2","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_createClass","_regeneratorRuntime","Op","hasOwn","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","async","iter","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","_slicedToArray","_x","_arr","_n","unsupportedIterableToArray","_toPropertyKey","hint","prim","toPrimitive","Number","_unsupportedIterableToArray","minLen","isProduction","process","provided","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","leafPrototypes","ns","def","definition","chunkId","promises","miniCssF","Function","prop","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","onScriptComplete","doneFns","head","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","_objectSpread2","objectWithoutPropertiesLoose","GoogleOAuthContext","GoogleOAuthProvider","clientId","onScriptLoadSuccess","onScriptLoadError","scriptLoadedSuccessfully","_useState","_useState2","setScriptLoadedSuccessfully","onScriptLoadSuccessRef","onScriptLoadErrorRef","scriptTag","defer","useLoadGsiScript","contextValue","useGoogleOAuth","useGoogleLogin","_ref3","_ref3$flow","flow","_ref3$scope","scope","onSuccess","onNonOAuthError","overrideScope","_excluded2","_useGoogleOAuth2","clientRef","onSuccessRef","onErrorRef","onNonOAuthErrorRef","clientMethod","client","google","accounts","oauth2","client_id","error_callback","nonOAuthError","loginImplicitFlow","overrideConfig","requestAccessToken","loginAuthCodeFlow","requestCode","forwardedRef","_onClick","ex","_ref2","_ref2$component","isDuplicateNavigation","ariaCurrent","_ref$ariaCurrent","_ref$activeClassName","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","atob","decodeURIComponent","header","getUser","getToken","jwt_decode","localStorage","getItem","setSession","setItem","removeSession","removeItem","getVolkswagenUser","getVolkswagenToken","setVolkswagenSession","removeVolkswagenSession","getAudiUser","getAudiToken","setAudiSession","removeAudiSession","getSkodaAdminUser","getAdminToken","setAdminToken","sessionStorage","removeAdminToken","getVolkswagenAdminUser","getVolkswagenAdminToken","setVolkswagenAdminToken","removeVolkswagenAdminToken","getAudiAdminUser","getAudiAdminToken","setAudiAdminToken","removeAudiAdminToken","getSuperAdminUser","getSuperAdminToken","setSuperAdminToken","removeSuperAdminToken","_jsx","Transactions","_Fragment","Home","faq1","setFaq1","_useState3","_useState4","faq2","setFaq2","_useState5","_useState6","faq3","setFaq3","_useState7","_useState8","faq4","setFaq4","_useState9","_useState10","report","setReport","_jsxs","alt","onChange","rel","reportCardData","title","price","tick","onSubmit","cardtype","_cardtype$tick","_cardtype$strike","tickData","strike","strikeData","Footer","Copyright","Header","Compliance","PrivacyPolicy","Disclaimer","TermsCancellationPolicy","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","_ref$allOwnKeys","allOwnKeys","findKey","_global","isContextDefined","TypedArray","isTypedArray","isHTMLForm","_ref4","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","isView","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","forEachEntry","pair","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","isFinite","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","AxiosError","config","captureStackTrace","utils","toJSON","description","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","isFlatArray","el","exposedHelpers","build","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","InterceptorManager","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","parseHeaders","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalized","formatHeader","_this$constructor","targets","asStrings","computed","_len2","_key2","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","normalize","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","expires","domain","secure","cookie","toGMTString","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","host","requestURL","samplesCount","firstSampleTS","timestamps","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","knownAdapters","http","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","signal","auth","username","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","settle","responseText","statusText","paramsSerializer","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","timeoutErrorMessage","ETIMEDOUT","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancel","abort","aborted","parseProtocol","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","formatMessage","opt","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","_config","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","isAxiosError","formToJSON","sendOtp","verifyOtpV1","userRegisterV1","checkMobileV1","checkEmailV1","loginWithGoogleV1","userCredits","addUserCredits","reportDetails","getDetailById","adminLogin","googleRecaptcha","fetchUsersList","fetchTransactions","fetchBrandTransactions","exportBrandTransactions","fetchAdminCredits","addAdminCredits","createDeveloperKeys","fetchDeveloperKeys","deleteDeveloperKey","getUserDataV1","contactdetailspost","changeStatus","deleteUser","resetKyc","updateMobileV1","vehicleVerifySAVPL","basicReport","proReport","advanceReport","individualKyc","individualKycAadhaar","otpsubmissionAadhaar","companyPankyc","companyCinDetails","companyDirectorDetails","pankycCompanyDirector","otpVerificationAadhaar","getKycCompanyDetails","captcha","createOrder","generateSignature","verifySignature","decryptVehicleNumber","getVehicleExportCsv","Message","messageClass","closeMessage","LoginWithGoogle","setMessage","setMessageClass","login","_onSuccess","_callee","access_token","googleLogin","t0","api","post","registerFunction","firstName","given_name","lastName","family_name","phoneNumber","SignIn","phone","setPhone","otpSent","setOtpSent","verificationId","setVerificationId","timer","setTimer","otp","setOtp","_useState11","_useState12","setLoading","_useState13","_useState14","_useState15","_useState16","sendotp","ph_no","startTimer","timerFunction","cursor","changeRegistration","SignUp","setFirstName","setLastName","setEmail","setPhoneNumber","_useState17","_useState18","_useState19","_useState20","_useState21","_useState22","checkRegistrationEmail","verifyFunction","Login","registrationModal","setRegistrationModal","Sidebar","mobileNav","setMobileNav","logoutModal","setLogoutModal","Navbar","userId","details","setDetails","credits","setCredits","userDropdown","setUserDropdown","profileDetailFunction","user","getUserCredits","toLocaleString","onMouseEnter","onMouseLeave","SearchVehicles","reportType","setReportType","vehicleNumber","setVehicleNumber","showPassword","setShowPassword","extractionComplete","setExtractionComplete","basicDetail","setBasicDetail","proDetail","setProDetail","advanceDetail","setAdvanceDetail","changePlan","extractBasicReport","role","paymentId","extractProReport","extractAdvanceReport","autoComplete","Reports","pageSize","setPageSize","totalRecords","setTotalRecords","pageNumber","setPageNumber","records","createdAt","requestId","services","vehicleData","regNo","vehicleDetails","rc_number","openDetails","Detail","detailReport","setDetailReport","challanDetails","setChallanDetails","requestDetails","setRequestDetails","vehicleServices","setVehicleServices","fetchDetails","proMaxReport","Service_History_Data","model","vehicleManufacturingMonthYear","chassis","engine","vehicleCubicCapacity","vehicleSeatCapacity","maker_model","manufacturing_date","owner_name","vehicle_chasi_number","vehicle_engine_number","cubic_capacity","seat_capacity","fuel_type","financer","financed","insurance_company","insurance_policy_number","insurance_upto","present_address","permanent_address","pucc_number","pucc_upto","challan_number","offense_details","challan_place","challan_date","rto","accused_name","challan_status","court_challan","CreatedDate","RO_Closed_Date__c","RO_Type__c","Mileage_Out__c","Customer_Voice__c","Item_Amount__c","Labor_Amount__c","Amount__c","Selling_Dealer_Code__c","Post_Service_feedback_for_VW_HQ__c","VW_Brand__c","VW_RO_Number__c","Repair_Order__c","SA__c","RecordTypeId","Selling_Dealer__r","Name","Service_Dealer__r","Repair_Order__r","Safety_Remarks__c","City__c","Discount__c","Discount_Amount__c","Pincode__c","State__c","Total_GST__c","address__c","address2__c","ReportPlans","transactionList","setTransactionList","amountType","remainingAmount","Individualkyc","setStep","panNumber","setPanNumber","aadhaarNumber","setAadhaarNumber","clientid","setClientid","completedStep","changestep","completekyc","Companykyc","cinNumber","setCinNumber","directorList","setDirectorList","directorName","setDirectorName","directorPanNumber","setDirectorPanNumber","_useState23","_useState24","_useState25","_useState26","_useState27","_useState28","directorDetails","CIN","compaynyDetails","directoraadhaarkyc","CompanyKycData","companyData","compaynyCIN","NAME","KYC","setIndividualKyc","companyKyc","setCompanyKyc","updateKyc","kycType","closeKycModal","MyAccount","selectedTab","setSelectedTab","setUpdateKyc","setKycType","kycDetails","setKycDetails","address","setAddress","addPhoneModal","setAddPhoneModal","_useState29","_useState30","_useState31","_useState32","changeTab","openKycModal","userData","panKyc","companykycdetails","companyDirectorAadhar","house","street","landmark","subdist","vtc","dist","po","country","addPhone","mobile_no","_onlyNumbers","_onlyNumbers2","onlyNumbers","panKycData","FIRST_NAME","PAN","aadharKycData","full_name","aadhaar_number","care_of","gender","dob","COMPANY_NAME","DATE_OF_REGISTRATION","STATE","ROC","CATEGORY","SUBCATEGORY","TYPE_OF_COMPANY","CLASS","NUMBER_OF_MEMBERS","REGISTERED_OFFICE_ADDRESS","EMAIL","LISTING_STATUS","PINCODE","COUNTRY","CITY","companyDirectorPan","LAST_NAME","ContactUs","setName","newMessage","setNewMessage","rows","cols","Logout","hashCode","placeItems","consent","setConsent","extracting","setExtracting","invalidVehicle","setInvalidVehicle","loadScript","checkVehicleMaker","createOrderFunction","displayRazorpay","receipt","orderId","alert","currency","generateSignatureFunction","razorpay_payment_id","prefill","Razorpay","order_id","payment_id","verifySignatureFunction","signature","expectedSignature","Basic","noData","ownerCount","Pro","owner_number","ProMax","blackListDetails","blackListStatus","setBlackListDetails","fasTagDetails","setFasTagDetails","blacklistDetails","aadharNumber","fatherName","Dashboard","APIDocumentation","copyMessage","setCopyMessage","apiData","ReCAPTCHA","handleExpired","handleErrored","handleChange","handleRecaptchaRef","_proto","grecaptcha","_widgetId","getResponse","getWidgetId","execute","_executeRequested","executeAsync","executionResolve","executionReject","onExpired","onErrored","explicitRender","sitekey","theme","tabindex","stoken","hl","badge","delayOfCaptchaIframeRemoving","temporaryNode","childProps","SCRIPT_MAP","idCount","callbackName","getScriptURL","recaptchaOptions","useRecaptchaNet","globalName","wrappedComponentName","AsyncScriptLoader","_Component","__scriptURL","asyncScriptLoaderGetScriptLoaderID","__scriptLoaderID","setupScriptURL","asyncScriptLoaderHandleLoad","asyncScriptOnLoad","asyncScriptLoaderTriggerOnScriptLoaded","mapEntry","obsKey","observers","_this3","scriptURL","scriptId","errored","attribute","attributes","callObserverFuncAndRemoveObserver","observersMap","observer","removeOnUnmount","allScripts","ForwardedComponent","captchaRef","setPassword","loginFunction","setUserCredits","Users","usersList","setUsersList","fetchUsers","viewDetails","BasicDetails","fetchFunction","u8","u16","u32","fleb","fdeb","clim","freb","fl","revfl","revfd","rev","hMap","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","inflt","dat","buf","st","sl","noBuf","noSt","cbuf","bl","nbuf","final","pos","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","lt","dt","lms","dms","mxa","dsym","wbits","wbits16","hTree","sort","i0","i1","i2","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","cl","cli","cln","cls","clen","wfblk","out","wblk","syms","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","ll","dl","flen","ftlen","dtlen","llm","lcts","it","clct","dst","deo","et","dflt","lvl","plvl","pre","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","ml","nl","mmd","lin","din","adler","dopt","level","mem","wbytes","zlh","lv","zlv","zlibSync","unzlibSync","dispatchEvent","MouseEvent","createEvent","initMouseEvent","saveAs","HTMLAnchorElement","URL","webkitURL","download","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","innerText","HTMLElement","safari","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","example","toRGB","toHex","print","modify","copy","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","publish","getTopics","objectNumber","gState","coords","colors","boundingBox","xStep","yStep","stream","cloneIndex","orientation","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","precision","floatPrecision","defaultPathOperation","filters","putOnlyUsedFonts","internal","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","saveGraphicsState","Vt","Rr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","roundToPrecision","toFixed","hpf","f2","f3","setPrecision","getFileId","setFileId","convertDateToPDFDate","getTimezoneOffset","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","convertPDFDateToDate","setCreationDate","getCreationDate","$","padd2","tt","padd2Hex","rt","nt","at","ot","ct","setCustomOutputDestination","ht","resetCustomOutputDestination","ft","getArrayBuffer","pt","getStandardFonts","gt","mt","vt","R2L","setR2L","getR2L","yt","wt","setZoomMode","getZoomMode","Nt","Lt","setPageMode","getPageMode","At","setLayoutMode","getLayoutMode","setDisplayMode","xt","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","St","Pt","kt","It","Ft","Ct","jt","Ot","Bt","Mt","Et","qt","Dt","Rt","Tt","Ut","hotfixes","zt","Ht","Wt","_matrix","shx","sx","decompose","sy","shy","tx","ty","multiply","rotate","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","Gt","matrixMult","Yt","unitMatrix","identityMatrix","Jt","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","Xt","newObject","Kt","Zt","newObjectDeferred","$t","newAdditionalObject","objId","Qt","decodeColorString","parseFloat","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","getFilters","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","page","putPages","isAlreadyPutted","postScriptName","encoding","pages","resourcesOid","objectOid","MAX_SAFE_INTEGER","fontName","isStandardFont","metadata","pdfEscape","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","beginPage","pr","fr","Lr","kr","Ir","setPage","getNumberOfPages","disableWarning","noFallback","times","normal","putInfo","putCatalog","putTrailer","oid","putHeader","putXRef","buildDocument","toHexString","getBlob","output","foo","bar","filename","pdfObjectUrl","pdfJsUrl","PDFViewerApplication","Ge","getPageInfo","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","movePage","deletePage","align","lineHeightFactor","lr","scaleFactor","TabLen","maxWidth","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","setCharSpace","getCharSpace","horizontalScale","lang","renderingMode","usedRenderingMode","getWidth","getStringUnitWidth","doKerning","yr","ut","xr","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","getStyle","er","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","sr","cr","ur","curveTo","lines","triangle","roundedRect","SQRT2","ellipse","circle","setFont","getFont","getFontList","addFont","dr","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","mr","setLineHeightFactor","vr","getLineHeightFactor","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","fillColor","getFillColor","setFillColor","textColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","rounded","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","equals","addGState","setCurrentTransformationMatrix","comment","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Er","beginFormObject","endFormObject","Mr","doFormObject","getFormObject","returnPromise","unload","events","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","setWidth","getHeight","setHeight","encryptionOptions","getEncryptor","getPDFVersion","Point","Rectangle","hasHotfix","dictionary","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","FT","getOptions","setOptions","addOption","removeOption","combo","edit","CA","pushButton","radio","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","CheckBox","isInteger","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x2","x4","x3","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","Uint8ClampedArray","colorSpace","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","alias","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","byteLength","validateStringAsBase64","extractImageFromDataUrl","mimeType","supportsArrayBuffer","Int8Array","Int16Array","Int32Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","imageData","compression","rotation","convertBase64ToBinaryString","getImageProperties","fileType","contents","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","getTextWidth","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","pdf","context2d","_canvas","bottom","right","__cell__","headerFunction","margins","lastCell","setHeaderFunction","getTextDimensions","cellAddPage","cell","tableHeaderRow","printHeaders","printHeaderRow","table","autoSize","headerBackgroundColor","headerTextColor","table_font_size","setTableHeaderRow","rowStart","row","cellStart","table_x","table_y","italic","oblique","family","weight","stretch","fixed","monospace","terminal","cursive","fantasy","serif","icon","menu","trimLeft","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","fontFaces","defaultFontFamily","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","quadraticCurveTo","y2","isIdentity","radius","startAngle","endAngle","counterclockwise","arcTo","strokeRect","clearRect","ctxStack","isCanvasGradient","getColor","scaleX","setTransform","autoPaging","posY","posX","begin","deltas","colorStops","y3","y4","prevLineDash","overrideMimeType","loadImageFile","DOMPurify","dompurify","sanitize","convert","template","setProgress","overlay","enableLinks","jsPDF","toContainer","toCanvas","toImg","toPdf","thenList","javascriptEnabled","clear","onrendered","toContext2d","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","inner","px","ratio","updateProgress","thenCore","thenExternal","catchExternal","using","export","run","worker","outline","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","imgData","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","yOffset","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","animate","_timeout","stopAnimation","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","datav","DataView","is_with_alpha","bottom_up","flag","parseHeader","parseBGR","Ur","zr","Hr","Hn","Wn","Vn","Gn","Ed","Cd","RGBA","Sd","Tn","Sn","An","qn","Rn","Un","memory","$n","Gr","Wr","Vr","Zr","$r","Yr","En","Qr","tn","Dn","nn","en","xn","zn","rn","Xr","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Qn","Xn","Zn","Jn","Yn","Kn","Kd","Ud","ad","Gd","ga","put","Cn","Pn","kn","In","Fn","an","cn","un","hn","sn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","Bn","jn","Mn","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","WebPDecodeRGBA","src_off","src_size","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","dispose","blend","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","getData","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","sq","hy","as","ast","az","eu","my","cv","cs","eo","fo","fy","fur","gu","hu","iu","ks","km","ky","ko","ms","mo","nv","no","om","pl","qu","rm","ro","ru","sz","so","es","sw","tig","ts","hsb","vo","zu","languageCode","getCharWidthsArray","widths","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","canvg","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","unitsPerEm","cmap","unicode","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","__super__","file","raw","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","old","new","subtable","maxGlyphID","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","names","offsets","numGlyphs","languageID","nameID","strings","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","Transaction","transactionDetails","setTransactionDetails","downloadLoading","setDownloadLoading","exportModal","setExportModal","fromDate","setFromDate","toDate","setToDate","exportDetails","setExportDetails","getTransactions","closeExtractModal","totalPages","totalCount","getElementById","imgHeight","heightLeft","mobileNumber","regAuthority","class","vehicleManufacturerName","vehicleColour","normsType","bodyType","ownerFatherName","statusAsOn","regDate","rcExpiryDate","vehicleTaxUpto","vehicleInsuranceCompanyName","vehicleInsuranceUpto","vehicleInsurancePolicyNumber","rcFinancer","presentAddress","permanentAddress","grossVehicleWeight","unladenWeight","vehicleCategory","rcStandardCap","vehicleCylindersNo","vehicleSleeperCapacity","vehicleStandingCapacity","wheelbase","puccNumber","puccUpto","blacklistStatus","permitIssueDate","permitNumber","permitType","permitValidFrom","permitValidUpto","nonUseStatus","nonUseFrom","nonUseTo","nationalPermitNumber","nationalPermitUpto","nationalPermitIssuedBy","nocDetails","rtoCode","halfMaxPages","maxPagesToShow","startPage","endPage","getPageNumbers","reportId","reports","setReports","setReportId","fetchReports","AddHits","setAmount","authorizationToken","fetchCredits","addCredits","KYCDetails","confirmModal","setConfirmModal","approvedBy","aadharKyc","GenerateKeys","setList","addName","setAddName","fetchKeys","userName","secretKey","deleteKey","_id","AccountSettings","setStatus","changeFunction","redirectFunction","UserDetail","tabName","setTabName","Documentation","exportData","setExportData","exportLoading","setExportLoading","submitFunction","brand","openDetail","setUserId","setBrand","changetab","App","SkodaHome","AudiHome","VolkswagenHome","PublicRoute","SkodaLogin","PrivateRoute","SkodaSearchVehicles","SkodaReports","SkodaDetail","SkodaReportPlans","SkodaTransactions","SkodaMyAccount","SkodaContactUs","SkodaLogout","VolkswagenPublicRoute","VolkswagenLogin","SearchVolkswagen","VolkswagenPrivateRoute","VolkswagenSearchVehicles","VolkswagenReports","VolkswagenDetail","VolkswagenReportPlans","VolkswagenTransactions","VolkswagenMyAccount","VolkswagenContactUs","VolkswagenLogout","AudiPublicRoute","AudiLogin","AudiPrivateRoute","AudiDashboard","AudiAPIDocumentation","AudiTransactions","AudiMyAccount","AudiContactUs","AudiLogout","AdminPublicRoute","SkodaAdminLogin","AdminPrivateRoute","SkodaAdminUsers","SkodaAdminUserDetail","SkodaAdminTransactions","SkodaAdminDocumentation","SkodaAdminLogout","AudiAdminPublicRoute","AudiAdminLogin","AudiAdminPrivateRoute","AudiAdminDashboard","AudiAdminUsers","AudiAdminUserDetail","AudiAdminTransactions","AudiAdminDocumentation","AudiAdminLogout","VolkswagenAdminPublicRoute","VolkswagenAdminLogin","VolkswagenAdminPrivateRoute","VolkswagenAdminUsers","VolkswagenAdminUserDetail","VolkswagenAdminTransactions","VolkswagenAdminDocumentation","VolkswagenAdminLogout","SuperAdminPublicRoute","SuperAdminLogin","SuperAdminPrivateRoute","SuperAdminDashboard","SuperAdminLogout","ReactDOM"],"sourceRoot":""}