@credenza3/passport-evm 0.3.13 → 0.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/{App-DH2kp5om.js → App-CK6khfTH.js} +18 -18
- package/dist/{App-DH2kp5om.js.map → App-CK6khfTH.js.map} +1 -1
- package/dist/{Button-DDVwlLjj.js → Button-BRJIRnNj.js} +4 -4
- package/dist/{Button-DDVwlLjj.js.map → Button-BRJIRnNj.js.map} +1 -1
- package/dist/{ButtonBack-C2CdNgo1.js → ButtonBack-C7ohWbYv.js} +4 -4
- package/dist/{ButtonBack-C2CdNgo1.js.map → ButtonBack-C7ohWbYv.js.map} +1 -1
- package/dist/{ButtonLink-C3VBU1ab.js → ButtonLink-DyJlCY8b.js} +3 -3
- package/dist/{ButtonLink-C3VBU1ab.js.map → ButtonLink-DyJlCY8b.js.map} +1 -1
- package/dist/{ConfirmAccount-e43gGdrb.js → ConfirmAccount-DSluerxo.js} +9 -9
- package/dist/{ConfirmAccount-e43gGdrb.js.map → ConfirmAccount-DSluerxo.js.map} +1 -1
- package/dist/{ContentHeader-UsnuSzZM.js → ContentHeader-LNw3sQg0.js} +3 -3
- package/dist/{ContentHeader-UsnuSzZM.js.map → ContentHeader-LNw3sQg0.js.map} +1 -1
- package/dist/{Error-Bnv7BzVG.js → Error-Dunm2cMW.js} +5 -5
- package/dist/{Error-Bnv7BzVG.js.map → Error-Dunm2cMW.js.map} +1 -1
- package/dist/{Input-Hp6LmVtL.js → Input-DN8dySsL.js} +4 -4
- package/dist/{Input-Hp6LmVtL.js.map → Input-DN8dySsL.js.map} +1 -1
- package/dist/{Label-5D5fMM5j.js → Label-BPeK08-x.js} +3 -3
- package/dist/{Label-5D5fMM5j.js.map → Label-BPeK08-x.js.map} +1 -1
- package/dist/{Loader-Dtuwqw1D.js → Loader-DgyxIpZ6.js} +3 -3
- package/dist/{Loader-Dtuwqw1D.js.map → Loader-DgyxIpZ6.js.map} +1 -1
- package/dist/{Login-DF83btfx.js → Login-D2zgoEdd.js} +9 -9
- package/dist/{Login-DF83btfx.js.map → Login-D2zgoEdd.js.map} +1 -1
- package/dist/{Logout-DJr9UAOj.js → Logout-CRuaF6rG.js} +6 -6
- package/dist/{Logout-DJr9UAOj.js.map → Logout-CRuaF6rG.js.map} +1 -1
- package/dist/{Nav-C2x_bd3e.js → Nav-CCHGS9eY.js} +5 -5
- package/dist/{Nav-C2x_bd3e.js.map → Nav-CCHGS9eY.js.map} +1 -1
- package/dist/{PassportId-2Fjr2mlf.js → PassportId-yBon5KIf.js} +6 -6
- package/dist/{PassportId-2Fjr2mlf.js.map → PassportId-yBon5KIf.js.map} +1 -1
- package/dist/{Payment-CU5N9LaQ.js → Payment-CGjddhde.js} +429 -424
- package/dist/Payment-CGjddhde.js.map +1 -0
- package/dist/{PaymentResult-C0rLxOlQ.js → PaymentResult-C_0_mIlJ.js} +4 -4
- package/dist/{PaymentResult-C0rLxOlQ.js.map → PaymentResult-C_0_mIlJ.js.map} +1 -1
- package/dist/{Profile-BVWKnLqL.js → Profile-Bvp4yZbP.js} +7 -7
- package/dist/{Profile-BVWKnLqL.js.map → Profile-Bvp4yZbP.js.map} +1 -1
- package/dist/{ProgressVideo-BYZ-xHMl.js → ProgressVideo-BiUOuBa9.js} +5 -5
- package/dist/{ProgressVideo-BYZ-xHMl.js.map → ProgressVideo-BiUOuBa9.js.map} +1 -1
- package/dist/{RichAlert-CGg5Wu_0.js → RichAlert-NrgZSS3T.js} +5 -5
- package/dist/{RichAlert-CGg5Wu_0.js.map → RichAlert-NrgZSS3T.js.map} +1 -1
- package/dist/{Scanner-21HHlHTt.js → Scanner-BxVZaKBr.js} +6 -6
- package/dist/{Scanner-21HHlHTt.js.map → Scanner-BxVZaKBr.js.map} +1 -1
- package/dist/{SendTokens-MHQ91lHt.js → SendTokens-BjaqaayL.js} +7 -7
- package/dist/{SendTokens-MHQ91lHt.js.map → SendTokens-BjaqaayL.js.map} +1 -1
- package/dist/{Sign-DurOP9_G.js → Sign-Dhe4XD6W.js} +6 -6
- package/dist/{Sign-DurOP9_G.js.map → Sign-Dhe4XD6W.js.map} +1 -1
- package/dist/{Stripe.service-CIzSiVWY.js → Stripe.service-qI7X_QFH.js} +3 -3
- package/dist/{Stripe.service-CIzSiVWY.js.map → Stripe.service-qI7X_QFH.js.map} +1 -1
- package/dist/{UpdateProfile-UqsqZTZ8.js → UpdateProfile-RpnS1-gC.js} +10 -10
- package/dist/{UpdateProfile-UqsqZTZ8.js.map → UpdateProfile-RpnS1-gC.js.map} +1 -1
- package/dist/{UserInfo-DxIKVGJn.js → UserInfo-B03zRsLh.js} +4 -4
- package/dist/{UserInfo-DxIKVGJn.js.map → UserInfo-B03zRsLh.js.map} +1 -1
- package/dist/{Wallet-CbAnv18L.js → Wallet-WkxAFaIA.js} +7 -7
- package/dist/{Wallet-CbAnv18L.js.map → Wallet-WkxAFaIA.js.map} +1 -1
- package/dist/{each-CL-k6Ycv.js → each-DDspCtgR.js} +2 -2
- package/dist/{each-CL-k6Ycv.js.map → each-DDspCtgR.js.map} +1 -1
- package/dist/{html-CsUNDDtl.js → html-B79vtFau.js} +3 -3
- package/dist/{html-CsUNDDtl.js.map → html-B79vtFau.js.map} +1 -1
- package/dist/{index-Dh2Q8K88.js → index-CeCdfdju.js} +13 -10
- package/dist/{index-Dh2Q8K88.js.map → index-CeCdfdju.js.map} +1 -1
- package/dist/{index-client-Bzfofg5b.js → index-client-CHAC5Y-M.js} +2 -2
- package/dist/{index-client-Bzfofg5b.js.map → index-client-CHAC5Y-M.js.map} +1 -1
- package/dist/{input-YUoS6CCW.js → input-COCJf_Ww.js} +2 -2
- package/dist/{input-YUoS6CCW.js.map → input-COCJf_Ww.js.map} +1 -1
- package/dist/{legacy-BKVjj-zC.js → legacy-DYwhQppf.js} +2 -2
- package/dist/{legacy-BKVjj-zC.js.map → legacy-DYwhQppf.js.map} +1 -1
- package/dist/passport.es.js +2 -2
- package/dist/passport.umd.js +69 -69
- package/dist/passport.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/Payment-CU5N9LaQ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile-BVWKnLqL.js","sources":["../../ui/images/new-window.svg","../../ui/images/gitbook-logo.svg","../../ui/main/profile/Profile.svelte","../src/app/pages/profile/Profile.service.ts","../src/app/pages/profile/Profile.svelte"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='15'%20height='15'%20viewBox='0%200%2015%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12%2013C12.5523%2013%2013%2012.5523%2013%2012V3C13%202.44771%2012.5523%202%2012%202H3C2.44771%202%202%202.44771%202%203V6.5C2%206.77614%202.22386%207%202.5%207C2.77614%207%203%206.77614%203%206.5V3H12V12H8.5C8.22386%2012%208%2012.2239%208%2012.5C8%2012.7761%208.22386%2013%208.5%2013H12ZM9%206.5C9%206.5001%209%206.50021%209%206.50031V6.50035V9.5C9%209.77614%208.77614%2010%208.5%2010C8.22386%2010%208%209.77614%208%209.5V7.70711L2.85355%2012.8536C2.65829%2013.0488%202.34171%2013.0488%202.14645%2012.8536C1.95118%2012.6583%201.95118%2012.3417%202.14645%2012.1464L7.29289%207H5.5C5.22386%207%205%206.77614%205%206.5C5%206.22386%205.22386%206%205.5%206H8.5C8.56779%206%208.63244%206.01349%208.69139%206.03794C8.74949%206.06198%208.80398%206.09744%208.85143%206.14433C8.94251%206.23434%208.9992%206.35909%208.99999%206.49708L8.99999%206.49738'%20fill='currentColor'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjEuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiIFsKCTwhRU5USVRZIG5zX2V4dGVuZCAiaHR0cDovL25zLmFkb2JlLmNvbS9FeHRlbnNpYmlsaXR5LzEuMC8iPgoJPCFFTlRJVFkgbnNfYWkgImh0dHA6Ly9ucy5hZG9iZS5jb20vQWRvYmVJbGx1c3RyYXRvci8xMC4wLyI+Cgk8IUVOVElUWSBuc19ncmFwaHMgImh0dHA6Ly9ucy5hZG9iZS5jb20vR3JhcGhzLzEuMC8iPgoJPCFFTlRJVFkgbnNfdmFycyAiaHR0cDovL25zLmFkb2JlLmNvbS9WYXJpYWJsZXMvMS4wLyI+Cgk8IUVOVElUWSBuc19pbXJlcCAiaHR0cDovL25zLmFkb2JlLmNvbS9JbWFnZVJlcGxhY2VtZW50LzEuMC8iPgoJPCFFTlRJVFkgbnNfc2Z3ICJodHRwOi8vbnMuYWRvYmUuY29tL1NhdmVGb3JXZWIvMS4wLyI+Cgk8IUVOVElUWSBuc19jdXN0b20gImh0dHA6Ly9ucy5hZG9iZS5jb20vR2VuZXJpY0N1c3RvbU5hbWVzcGFjZS8xLjAvIj4KCTwhRU5USVRZIG5zX2Fkb2JlX3hwYXRoICJodHRwOi8vbnMuYWRvYmUuY29tL1hQYXRoLzEuMC8iPgpdPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhbHF1ZV8xIiB4bWxuczp4PSImbnNfZXh0ZW5kOyIgeG1sbnM6aT0iJm5zX2FpOyIgeG1sbnM6Z3JhcGg9IiZuc19ncmFwaHM7IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjQgNjQiCgkgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA2NCA2NDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM0Mjg1RkQ7fQo8L3N0eWxlPgo8c3dpdGNoPgoJPGZvcmVpZ25PYmplY3QgcmVxdWlyZWRFeHRlbnNpb25zPSImbnNfYWk7IiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4KCQk8aTphaXBnZlJlZiAgeGxpbms6aHJlZj0iI2Fkb2JlX2lsbHVzdHJhdG9yX3BnZiI+CgkJPC9pOmFpcGdmUmVmPgoJPC9mb3JlaWduT2JqZWN0PgoJPGcgaTpleHRyYW5lb3VzPSJzZWxmIj4KCQk8Zz4KCQkJPHBhdGggaWQ9IkZpbGwtMSIgY2xhc3M9InN0MCIgZD0iTTI4LjgsNDcuNGMxLDAsMS45LDAuOCwxLjksMS45YzAsMS0wLjgsMS45LTEuOSwxLjljLTEsMC0xLjktMC44LTEuOS0xLjkKCQkJCUMyNi45LDQ4LjIsMjcuOCw0Ny40LDI4LjgsNDcuNCBNNTguMiwzNS44Yy0xLDAtMS45LTAuOC0xLjktMS45YzAtMSwwLjgtMS45LDEuOS0xLjljMSwwLDEuOSwwLjgsMS45LDEuOQoJCQkJQzYwLjEsMzQuOSw1OS4yLDM1LjgsNTguMiwzNS44IE01OC4yLDI4LjFjLTMuMiwwLTUuOCwyLjYtNS44LDUuOGMwLDAuNiwwLjEsMS4yLDAuMywxLjhMMzMuNiw0NS45Yy0xLjEtMS42LTIuOS0yLjUtNC44LTIuNQoJCQkJYy0yLjIsMC00LjIsMS4zLTUuMiwzLjJMNi40LDM3LjZjLTEuOC0xLTMuMi0zLjktMy02LjdjMC4xLTEuNCwwLjYtMi41LDEuMy0yLjljMC41LTAuMywxLTAuMiwxLjcsMC4xbDAuMSwwLjEKCQkJCWM0LjYsMi40LDE5LjUsMTAuMiwyMC4xLDEwLjVjMSwwLjQsMS41LDAuNiwzLjItMC4ybDMwLjgtMTZjMC41LTAuMiwxLTAuNiwxLTEuM2MwLTAuOS0wLjktMS4zLTAuOS0xLjMKCQkJCWMtMS44LTAuOC00LjUtMi4xLTcuMS0zLjNjLTUuNi0yLjYtMTItNS42LTE0LjgtNy4xYy0yLjQtMS4zLTQuNC0wLjItNC43LDBsLTAuNywwLjNDMjAuNywxNi4yLDMuOSwyNC41LDIuOSwyNS4xCgkJCQljLTEuNywxLTIuOCwzLjEtMi45LDUuN2MtMC4yLDQuMSwxLjksOC40LDQuOSw5LjlsMTguMiw5LjRjMC40LDIuOCwyLjksNSw1LjcsNWMzLjIsMCw1LjctMi41LDUuOC01LjdsMjAtMTAuOAoJCQkJYzEsMC44LDIuMywxLjIsMy42LDEuMmMzLjIsMCw1LjgtMi42LDUuOC01LjhDNjQsMzAuNyw2MS40LDI4LjEsNTguMiwyOC4xIi8+CgkJPC9nPgoJPC9nPgo8L3N3aXRjaD4KPGk6YWlwZ2YgIGlkPSJhZG9iZV9pbGx1c3RyYXRvcl9wZ2YiIGk6cGdmRW5jb2Rpbmc9InpzdGQvYmFzZTY0IiBpOnBnZlZlcnNpb249IjI0Ij4KCTwhW0NEQVRBWwoJS0xVdi9RQlkxZHdDU2hvdm15MlFBTURTRGdEd2U3ZHEwR0NrRUIwdnB4enpBeTZYSzZJTXdITHBickpMTXpyVElGUUFBQUJBaUVRQQpBQUd5Q1NvS0tnbzUwNGpZVkM2YkVPQjgwQUpoZ2VETEE3UHhVR1EvU2hUdmtwZjFzWlV1OHJGeDFTbXlhVXlqeU9aWEVvOU5aRlBkCjVpVmVzblZNbzhpMjA1VExCTFQ1V1NBNFJiRlFOZ3VsalVQbU9rQ2ttdEYyT0RlMmdZRGpRZlVmRkJnZ29CRUxpZ0ttS1pkaHhoUG4KcXE1dStNNk5oSVRBNGRVZHV0Zitva0dKaE1wMlpUallmZFNzYm9VSFp1T09Fc1c3K1hNbFc0YjBpV3lpU2F6YjdFcmlzYlhJVm1UNwpEZ2lQamNBRmRodVhoUnFlWktOdzlHTnI5UkNseTJEcHJqSWlKYlRndU1LL3lseldoWW9lVU5BVEJZS2RQNTEzOWRxcWRKSlA1MTBQCk5hcDBud1FIT3k2TGFLUHFUSTBaN2pzZGpNamlhUk1ONDQ3RnkxWUI0d0xHSGN0QXlGR1dGcFAwcUV4Ulc4MlJWSWxwYUJuSDhwSTYKTTZNYXM2aHpJb1dlSXJtYW9rVUZqQ1pacmtaVnRpa3p0anJSdEV5WnFWU0puaXVUSEZraTZrcUpKY3FtNVN1RkFaQ2VMWlFzVjFhVgpwZ0swOEZpS0tkV3EwbFFBVnRxeXFGaW1ZNENTWEswcVRkM1ZITW4wdEtvMGxiOEJxMnBkTDlaS3JxaHpJaDFWWWt0OW5TbXJwcUpKCm9xeUs5blZVcllxaVlpbytWeWxhcXV4cXJpd3FZQlhSMTVuQzVSaGdMTFhJR2szelhNMHpaVlcwUklubU9LNG1hVitwbUFvOVU0c0sKY0ExNHBkTFY2bFRSMDZJQ1VBRXB5NklDeURKbFVRRnJPZ1l3ejVSRkJiVFdNMFh0SzJXenBQZVBPMGJUMFM1aFNFMUZWSnBTeHhKbApYUzhXT3E1a0t3QlZIVk1VamFrV0ZXQ2FvcHFxMHZObDB6S0ZPaWRlSzRsU3hVdXVUdFJxa3FuSkl0VlJaVkhueEpteUtZcW1Zd0F5CnpXZ0RVSnBxTk1uVm1IR2s2TG11cTdHMEkwdDhrZit6S1lwbTNGTVVUVkZVaFphajZueXAwSFFzVjFWbHkxVWR5L0pNa1JudFhKa2QKMUdtZ2xhV0lIYVpZb2xEU3BhclNjMVRUTWNDWWx1V1pZcGxpT3JKRTFLTE9DYy9EZUVHRUUwUWd6VVh6UkNETkY5SUVqQ1ZLbGhoVgpKRXVMUnE2bVJldFl0STQ3RmkzampvVlVUNVBVVGxQN0tpb21XczF6ZzgxUlJYSUNPRnNpZFN4UmNpMWpuekdBS09wWVZ1a0lLa2NCCkpPam1qa1ZFMWZFbEltUTZxeXA2VnZQY2hDTVJLcExDa1VnMW9sNmFjQ1E2VTZZbUhJblM4ZUJjWTVad0pFcWRudFU4TitGSWxGbkkKaENPUmdIRmh4UUtGSTFFNEVxbGtha3hCNFVpMG5naWVwaHBWNlprYVE1NDIwTUMvakIwQ3pndDZwaGpjc3dNOVFkcklFbU1zVS9TcwpNWFNOSldpL1kybXA0MGY3SFF2VzFvMm1SV2l2R0trYVB3OE9qdlBYMVpUYzZQdzkveGVWZWFaR2tZQlJaWGJXMWVqUitQYmZ0aGgvCkgzb3VyRWJQLzlUVkpGTTBIUU9jYUZtT21JNjExL3gzOGVVVzYrMUxFYVVGa0tRbnlScFRUY0JZb3E4enBhRmttYm9zazJ5cHBDbU8KeGdEa0twWmppRXRXY1JXUktqa2FNQjZvNjZpcWxyRkVpV3Q2b2dJMDNwb2lNdzV0b0dNcFNaUzRDaGdYdERGQU9xcGpDdEl3N2xoVQpUVVdtTEcxQXloeFRFVlZOTVYyMTM3R1VzUmVwYXVtSWlxajJPNWF4UkduaktwYW5TcUpZR2s2MXJLVm5lYVpFN1hjc1B1L01UMXdXCllXbHI3SFNsVHRPbGFUZ2RWMVVNYWVjYXMyZ2RpME1iV0U5VXRTU3Erc2hTTE0rVUtyNVVJdHIxdWhvOS9udk9NVThBa09uSnliRVQKVTVZakJydk9kRlZ2dW9yS01yYnBXRndPa1N4RmpWeE5zWThBSUVWbE9XSzBnSEhWUnBNczE5aXBwZU5LdTdoanVTdVpFdEdFcjM5WgpYN2ptdkMrSUtRMmI0eXBBczdaWVpJaHpuSy9uS1ZOY1ZUTERNc2tBUm5Ma3Q3aUt1TVY3ZTQxYi9MRW5UWWJRdWhvOW12Tytya1lQCnpqMlhMTk15cHNUTnVobzlmSTlwdUQvUDl6cXFxMVZDZXA3bDVxUWkwMUMxK09JcXFzUjFmQVd3VXNkVUdqdEZlRjJObnRlNXJpZEsKZ0lCLy80QUJHL09mci9mZjk5bWJXeXh5YkcyTXYzLzMxM252Ylc5dXJTb3lnSHR4aWl4VkhNQkt6ZXNvV2tlUnVJcVpzVVJmb2pwNQpuYXNhUzUxVWt4RmdFbUF5bGlpUlRNVUFPS0lhWGFtek5FOXpGS1ZpQUV5aVROVXNYd0ppcFJoZ1FFM0ZBQ2ZWWkRqUUFldW9PczA4CnBxcVNiS1hVY1kyaHlIUmRSY21vT3MzeUpjQ2hEWXlxRThIeklYbmF3SUJxWEZOak9ZclVqa01yei9QaWFkaVZpcDhCWW9tcVpDYnYKL2hJUlJ0V1pJazBHVDN0Z1RaV0tKMnBOTFk3cnRjMzVoODJUWEVuMUJEbTBFNWVGem9WeURLMG1lWUo2RGxsQURxMFV4NUNuNFFGaQptbG84aXppbUZ2Uk1NUTV0TlR1ZWRrOWNGdEVlSlpLQTh4TEFTSTVPNFVqazBGZ21tYTRpVDNzNEJxU2llWkpyaXB4bzNvbkx4RlhNCmZKV3BPZTI4ODZxU25nc29TNEd5REFBa0ZHaGMxN0VVUVNwVE02Q3R4b3luWlFOZXBpSnBXTU5aaUtUZFRLWGRpQWZ0bzEyc0JhQmgKYlVLN21vRjJzd0VrN1dZV2tuWTEzRFhtOStPUGIzeS92ZHJ2L0h1ZWQrOS8zKzMzN2h4L2VYLzh2MjZ2eHZ2ZmYzOTk0L3o5L2RtYgpoYlNiaVNRTjN5eEJ1Mk9KdmtpUmwwVzA4U1VpZU5vallpMWo0bXJNUERpeWlXWUdjSm9IWHFhTzVZQlZ0S2FXTDVHb1RNMkpqd0ZJCmo2b3l4L0tpdFVUYVkwVEZsa2hUbWJFVGZaMlljU1ZqSWkwZFZTYTVhcTBpaUxTT3BsaUNWcE1VUGFsb2lpWElvVDNRc3h3RG1KcFgKZXE3R1RBQnlUWTJvbW80Z2gvWmdtV1JLVEJjMGgvWllVK01FS2tGVGpRQWcwM05OamFNVTJVTEZsRVdXcFlnWlU3SGNwRjdqcWc0UQpqV1dLWEZNUjlGTEo4a1M5Qm9oVUZPbHBwVll4QUpHV25pdXAwbWhyYW5tZ3BHakw4MXhZVTR0RGUyaVA4andYdEpZYVN5OWFheFZCClpvS1pqdXNxZ2h6WnVUSTdhT3hNUTVOa3hVclF5U05rTEpOY1RUSUZtU2ZDQ1kydG80aDFsbWNLTWtuV2VPRzRURjNOOGZVNk1TcFQKdzNHWjZHUHYvV0JPR1p2anVvcmxKbS9zT2U3ZnovL21qN0czWHN1ZmlrekQwOWV6Uk10YVQweVNSYVlKSTBzRWNWejJCVENTSTNORQpFN0RlV3U5Wnc5eHJQbStzYmJ6My9ybGZ2bisvVm11NDYyL3p2Ly9kM0Y2dU5mMC83LzNiL09adjIrOGxvM1BCSE5HRTAxZlRjWURvCmVjVVEvQm9yVDNVTXJTTXJGUmV3V0c2d05pbEgxZm41SFF1WGRXMmlycVRKa0k1bExIVHYzcUkxdFl6bWlhQk5BaGpKQUdQdW10ZGEKK3pxV2FQdkxrcExrOW1xc2NmdnBQcTVpaWI3R0JkeS9qN1dyVFZSWEtyN1FNMzFFbUNkSnNzYlFnK05xazBzWTRyanNhaE9WWlpMcgpPb3BHbHZqcW5MNk9oY3UweWNnU1ZZYVQ3bGk0N09ldFRkSVI5WW9ocUVveWRqbGwzTEZnYlJWZjZia1pTM0p6NGgwTGw0bXJPYkxFCmoyYUtBekRhUkUzUDhzU282cGc2VTlCcWpxOVk2c3h3WFBhejloNXZ6am0rTnZPczRXOTExNzZPc2VkN2IvOHR2MW43OTErcmppR1MKdzNHWjVsbmJYZU0zYTFlYkNEZ3ZMSk5VbWJIenduR1o5cnBqYlRJQ2dGUlZNWUFwWWpndSs0QzB1eWRZdTluN3NOZTF5YmlLR2ZNawpINndBcWpYUEZDbHhuU2RxSlZrT2JUS1dLN25BY2RuRG9UMUdOWlpLeFkvV0VrOEVoelpKenczSFpkcGl1N00yTVU5U1RjZlJ5WGNzCkhKZGR1N1AyQ0RuU2N4WFRWWTJWWlVmVEp1bTVpbU9LNGJoTXUxWkxSdFNwc2toRW9JMExycHhUNzhxaEt2d3U3d0k3aFJ5cVF0UzcKWUJtbFVSdFJ3MzA2N3c1a0hpQWVSQUtCUERLYkRDUm5IdExZQm53NUpGbzhnYVF4d1JiZGZNVk1MNVVENXZGSC8vRVdKQkVGMjZKdgpJSU9hTmp3YmhXbzNnalJ0Zlk2eG9VY1NrZkJ1ZGFNbzdUVGxNbE4raFFRMHd2Mlo4bmg0Q2NCQWpoOWJDMVYwUWZBcWw2bFNKd1BNCkVDR3NOaGRQYkJRT3BiM29FaXNSU3hrS2dqL0ppczN4S1lmVmxDSHdQZHBpUXBuSVptQlQzVll3MFlwc0N4T3R5RmI2QnBJTkkyQisKT0lpeG1OVlZVYUhGckc1TVJicGtyYUpVVkhvS3JXT1Nuc0tQd3FUU29qVHlocUkwU09tSmdkTElHRXhEUTRQQXFCQXhSb0VWZUhWaApFRHJ5R0tFbHROU2RvOXpwenFWMkxuVThSd3lrQndPSkFhTkg0U2dFTzFNVWdwQnhZcnpqeEhqSGlmRTZ4b254T2pnbUwxRDRBb1dnCmlFU1I0RndNTjhIQXRnVG5uc1R4aWtpT3g4Y3hWUFFCcWptR2l0NFVKZ2Y2QUZXWVZGYlFwTUlOUE5jWDBMMmxSdVRPeENOeldVdU4KeUxremtYRlUxQW1IMVdVUm5hOW5KVmw2Q3JrTWpaUVlHaE1Lc1Qycm0za0lGUTBRQXdSMnNBSUxCTDhZSUVlRW9ib1ZnNWNCQnpuWApLWlp1bEFURnVFaFF4UkFrbUNHQ0ZlbUp3K2hzRkpHTmdLRXZJTGFGQVV0Tkp6Y1VVU1BQeFhFaU52ZXlOZ3ExVk5vb3BLRUEwdUtoCkFnVWZzUkZ3dkM2bFljaTMwTFRvRXROR0FmSFlyb3dySklCeXRQZ3AwRkN2QjNKc0JLN3pjNUc4eTA4SGtnM2pBcnNOcERwRnRtNVoKZ0d3THFsTmtFNWxHa2EwaGxJbHNlT0FBc3Awa1hySnhtY2NGZHB0b29oWFpQb0dRWThzWGhRUVY1Vm5NNnBaVzBpVmpCR0FsVXFlaQpjSG9LMDFNSWhpSWJCcUVsQ2l4UllJa0NTeFJZb3NBd2lJWUdVa05JSVdLTWhrR0VFT0dJTVJxTlNCaFlZd1ZyckJvcnRJU0IwR0FNCkJJVFE0QVlEaVNHeVFIQjJxU04ycWVNOVI2RWtBbm1jeExGeEVzZDdnSFljUXlYYkR0QURMbnNvVEJxZnd1UkFlenBtZ0NzR0w0YUIKaG4wQnJXTUd1T0xZRXdHdERWNEdBbzZKZ0RaNFFXSUd1TEpTTGx5Mlp2S242MHd3T2hPUlJtZlRPQ29zTlNLbkdVZGxuMGlYekZIUApTMVpCUm1XdHJCeFcrRUVINWpJT2h4WFJHWThvalR3YVVScjV1M0tvQ2lXRWlwSFN5SkRZS1l5WktJMThDWW5lbFRWYkNIWmhCRVJwCjVQeFJpSGh6VW9nNHk2Z3pvOENPeXpRbWpVbWpucGN1QTZIQmFLU2tNVUZBYUxCbVRZRFFZQzdUbU1JUFFySXpuNHVjZVlBMFFEbnoKa0RrL2taeDVZSURBRHNKbEEyTitiUlNrL01CbEdoQzRzREVWQ1B5TkpxWmFaRTdpcUF4YkNXQ2FualpvU1VXVkdJclNKVnZNNmxyTQo2bHBNaTNUSlhGWWloUitVbEVpWDNNQWpTaU9USkNOS0kzZkhaSldlMGxONkNqUEhaSDJnTkxKMVRMZ3M0cGhJRkJoL0ZDSzJINFVZCitTaEVyTUF3Q04xQWdua1VJdTVDaFlnYkVWaGpkWDRpV1VkZ2pSVmFDa2VrRVduRTZFQm9NS3l4dWhCWVkzVmhrdytsa1R1WE9sNUsKZDdZOEx2TUdKQU1XQ0lZTVdDQll1OVR4bnFOekZJSmN4a0Rpc25OaWdlQUh0MEJ3NW1XR0tyUkFXaUE5SGhJYzFEWklJaDNFOFpEZwpYQXcraWVOOWdjSVhLQVJGcEpkRGduTXg2bmxwTENRNHQ4RmxtOEtrY29BZXFPZGxjM3BUbUZRTzBBZUZvYUlQVUk1eGdCa3EraElTCjlRRWFmaEN5Y1F3VnZZSW1sYzZBdzc2QWpobmd5amtLd2M0QTlnVjA5bGtZVmJUQkMwOEVOSmZoaXNGTE1SSFEydUFWZnRCeVdXZmkKY1lGQmhHQnVxUkU1YnlZdUVMeG1IQlV1YTNSclJPNU1kQlpyWitLeG1XcUVSbXlvYm1jaS9HQVpjbEFGVjdDRFRiSjhJbDB5bDJYWApuandIQXdLYXl6aXN4NEhHVWVrNENoZnB3dEVvc09Oa0RrczFrUzRaQnE2Z2cyT3k0aklTckxHNm9XbzBUb3lYNFNTT2w4c1dBaTVLCkkxOUNpMnp3SFM0NVZJVWY1REtIQTBVaHZlMjdPQTBCRVllcWtFUnA1TlM3WUZzaDRjRmlWcmR6WENJYWxsRmdwNERoTktDK3hDTHkKUmd3L0dQbFFHcmtSTzNXK0MrdzI2bm1CWlJTS1ZWUUllZ3pyZUxtc0lEMTVHUWdONWpMR1FhalJTTmJnVXNlck1URzQ3QVVLUVpUZwpnWUlNQ3hydlF1STV3SlZPTTRMUXJKRVM0eUVSU2twZ3Awbmdza3RJUkNPbDAxNHVnOFJPSlFWZVhRaGFDc0dCYnNBQ3dWeDJvaCtYClFXS25qOEtrRXRwQU1SelJSRHEzMHNpTHpOanl1SXpMakMzdm9wNFhqQVdDejArRTA0QmdweENxRVJxY2VRZy9tQT09CgldXT4KCTwhW0NEQVRBWwoJSVlrY1E0SnpRUXpoQnlzR213WUk3RElOS0FycGNSdzNLQkF4VkJjRGtXQzZrd0VDTzRXUWFIdlg3Q1E0YUtiMEVNRU1FVnh3Q1ltWQpoNGJxbHJGTjk0UWdFZ3pvNFlIWUExdzJFWmdzRkVyN05LQk5BUzdqK1BBQlFVTlNRUEJqYVhPWnFqVjZHUG0xVVFpSTlrTnBROFE2CmJMSG9Ga3ZFVWk0VEVHMkhncUFNQnp3dDB1WjRyWFlUTlYwd0dLb3ZDU1hFRDVuQUxickNaV0Z6dWN4VGJSU2swajQzQWc3UzRnMjkKQUQ4SnFZRk9BcUkwc2lJRlRSUzhxbEZZSVBpQm9wRGU0a093OG1qN3NCR2thWXhFOFc3RDlCL3ZvVVFaRnB5WFFVTXZ0R2g3dCtRawpVQkVIdSs3QXUyQXdLWHZCYk83cUZWZ0NqVU9tOUZVV05wakc2aFZ3dUpLbVhIWVpJVFFjU2dFUjFQUFNMYWdjS0tqWFZnZ2l3WVJlCkF3UmRoQUlyRTNSY0J2SFlFd2FiWUN2WERCWnc3R1pSTThjQk5qS0N3YU94Z2RUc3NCSU1MSmdtemppWUtPR0hpc3d1Qkh5bURCUUsKQjFpRTJwZ1lGN3hBZmJMRXh3NlJIMEFzNXJMMDlFLzlkQXNnOUFDRDZYNkl5R29pNG40UUVBZFN4SjJJK0JZT0Y0VFI5SWFMd0dXVwpMOUJ3UFJVSmEzUU5IbmFhT2lnYncraHk3TGZGVWk2N0c0R0ZiUXlYUHpnK0JRdlhQbXlMa2VoR0h2YnF3b2p1S2RSSkpWeU5iOWcrCkY4TmwvVURsdVpaZENYbHV4V0ZuWGVDNUZBZE5Bb0dHL0tEQUxuMk1IQVE3OUxIUmwwcHZqRmhHbVpPOHZkYU1BVWx3cnVOc1RhUXAKdHhGNFBBd1Y3ZEpRemdtT3R3cVRTc2RscllSTDNqWURodXB5T0NXS2d1c0kzZ09DcDNUajR3QXpFZENkcXRIaXFtZTVMS0p4Vk95RQpSck5pSkFnSVhpTGEzZzBmRURRM1ZOcHAyc0dsUytheWxlSmh4VUcrSzFJNkoxMUtZYWh1QVVsamdqa29DUkhSOXU3RjZGZzYyUWpTCmxNdkNWU0ZxRGVSM0hQL1FxSVVFSVUwN0NpdEpnUmsyWEpieGFDVHVCNExscUl6bmlXUXkzUWdDTjNHUkRBZ0tsY3M2Q1RIaWRvaUwKWjBFeFlWcUlPRnd1dzZTK29LSFRYQ3FTaHZ0QlQ2TmpwRkpNbzh0bEE1Q1RhbUVoOFh6VEhkMk14RUwvaUJhZHl6cGtaMkdyYkRZZQprejZJd1R5aTJ6MUVVSmc5NERMT1dDYjRWTW5qWTRyT3AvRHkzSXZENWpKcitiZm9Ea2twQXFIanVlajNPbkVVRU5IMnJob3BhS2hjCjlsQVFiRndRbXBiZEpBek95Q3VFbDZFMWVoZ1VnVkRCWlFzTDUrYWVTaFh1T2Jmb0Y0V0R6ZVV5TG00VUNBemxRRmQ2YkFkczVncG4KYzBFWEtwZDlZaDIyZ0dnUVNOaWIwdFJpNENKMExqUGdvQklHdSs2SS9RQ05NaEhwZ3dabGdlQ1dOMHAxb3dHYXZCcm5acWd1aDFyQQpaQWJZcHBTRzRWV1Z0cWEwTTRPVFdtMHVhRUNiQW41aW8wam9sODExS0cwdTR3Z09vOFdpRSt6VVFHZndnSm1BRFlvQ2w0RktvNFg2CnNCRTRlS2h5d1FFNWROTkZJVEF1UVFtOXFIV0tTRTJtS0hSdXhoYUNYY3g3dEMyQVlDTFNCTXhRWFM1ek9CUUtOSWtMdldoNzk4Q1gKRU9sSUhVaFQxWk1wTVZTM0REblltVGlMU2c2OTZ0bU1BbXdFRFAweWNKa1hLdG1FVXRjcGVmZGhCUjVad0Z5b2FCTEl1NnBLamNnWQpwVWJrR3dKNTEzcEEzbzJkSkIxUWh3RmxockRqRmdpK0NhRW45SzVwRTNZRjRXTVNlc0NJVFVTa2dHQmkwdUNJeWNUaFVOMEl4d1l2CjZLaWlJVHpMNFdCbkxXWVY0WEN3aXlnd3hLV09qZ2JIVzBod3Jnb2hPWkV1bVpjb2pRenhFaEJOdm1BZEwyZGllSklOcEMyU2JjQUYKZHB1QkMrdzJoU2h4Y0Zsc0V3SDU0NWh1VHBYSk1KQkZORS9MV1dkZ0FManNvSU0xVnBmTFBGbmREZytQMDBhQ2dFQkEyNFVFNS9ZSgphcno4dFhyWGp6NmF6ZWJodXd5bU5KTFlLT3dJRG5hYjlXSG9qQ000MkRrYVNtQjNJempZM1lRSFE5c0lEZ3FNN2tBQmw1a2VQNkxoClJHWHVEbnhDd0pXUnlOcUJOR1dKZkIyNDU1QTZPWEN3NjY4QlRkNjZnWVBkMllBYk9OZzlJbEJnZHhzNDJIa05IT3c4akVJbU42UysKU2lidkJXMHFGWmhpRVJrdmNMQzdJSldEaGhTSWlTd3M3eEFSamdLZ2xWOG9Ib1ZIdmhCc09JOTh3WWkyemtIR3MwcUJMQkNXTFMraApnWUxLSXk5d3NKTnN5U01McENlT1psQklLWEN3ODUxS0NuT1pwOERCRGxNa0tYejVSQ2FmUUVxQmc1M3RXQ2k5a1hEd0xSRGc0REsyClFWQnRWaGhCUURrWUlMQkxpRmtZMURzWVA1TWsxWGs2Y2YyUGcxWWpnaS9IMjNBdmZTQmRNdHBSaUJqeWNRZHVXTzVkaG8yVUlMQ1QKYUdnNG1SOVRpZUxkeHVmcXNNVnc3cGt3WUlrWURrTG5XQnlzS2RVNFRDb0xtd2lGZTFjdFlLanU5VEtYV1Vra2QxbHpNTzB3SDhybQphQzk3MlBNOExyT2V4SXQ0bmdRSEJQRXdCNkZDWGZRY3daRklSQ0toSXNaU0c0bDA1a2VqUU9uMEFSS0pjQmtIY3hublByak1TaUlQCkxudElRSVFFVUk2SDBpWFZlT2RHd3JIc1N2ajB4bVV0bmpFNUdLWWlBSkZZazhvQmd5Y29uVDVBT2xMQ1EyeEE4VVZxcG55b09CNG4KaUlNTUV3b2J3ZUVIajRzWktZR0w3OUdXOU5ocHVwMDIzbVU4cUh2Yll1RldpRGppb2VKNFpJcW9HQk84Ry9IWTYwbUY0R0NuVDJwRQo1akk3SWwyeTl6R0ZPSkpSaUJnL0REQzBaQUJDZ3gwTENjNHRRd2RwQVpGSUhsZU1sOHU0elVhaFFzNndBaW9VdXZRZFdWTVJ3SFFhCk1zTFl1T3d4VWhVV2pHSnpjc1pXb0ZxSkQ1ZHhtV2F5MDFRa1hmSkFod0dSdEhxSThuallTSXlqTVJvcm03cnBJRFI0UWl3dEcwanAKT20wc3NCRUhOUlBUQk1PQ0JRSVNxc1FhOXRxMU9HeU0rRnFZZFd4Z2tFMTFXd0xwRTluc2c0QURjeG1YdlN4Y3BpNjRqTXUwQmxMSgorQkd1RENTZ0lsTE5BTHF3S2tDUTZCeEx4THB4eURRbVo4Uml3THRLWm9PZ2tMSVVYRFJpUVNoZEdqVDUyZ3NHNVRJdTQ3SlRTa0xVCm9ESVlQVm1nakZWR1FXV0JKcFUwelFpTUdFQk81T1N5VXFneEtwRHdZR2FCU3lNaGFyS0ZBMFVuU0x4a0cxQW9kQTBvTExKZGgwTzMKR2FoT2tXMnp5Mjdqc2dLSFE3Y2hORHpKbGtPWlNFbmxRRUhHbWhuZ1FNV3hvcVVKc25FWmwzRVpsNkZNeWdxVFNvUnM1dFNDR0NpQQpuRkxaZ2RKSzZCS2FiV0U5YlRxVWcxSEJPUG9RcWNtMVBCaFhQV3MzRllJQ2hTTW1zaGowaDA3R01UR3dZSkhnUExPSktBQWxYTXlNCmVxOFhlRndKdDBDdytaRmtodXB5V2NVRmR0czFTYnhraTF3Z0R4SHBFOWxTU2FyYkRseGd0M2thbm1RVGFTQWtXNzVBSGdpYkhOa3UKTnRWdFhOWVRMRXowYmlpeXVZekx1S3owRWxQU1dMTUdjbUlBQlZBV1pPTXlMbE1ibjgxQW1BM1hCWU5CVzZqcUZYRFpmZUFjQ3dScApWSWFnNlhFWU1FMU1xU2FTOHBwZndNbWFpeWhqRUlGSk44NnhIRlJXcjhBanVqUm9QS0VZeXhDc0VnSUNpQVNUMlZLTDVqSXVxeVNrCk1wbFRXUkNGU1NWTk15YW51aUZWWVpVUjJKa0ZpNGVBbFdCWmNDS25UU25sbkFVd1VtTlVrREkySktZQXRvSFE0RWVKNHQyT2N1RnMKMjFnelRHY1dMQzVLR0dhNERDSWpjRERBQUFjcW5lSnptWUxENGJxUW8yWlNFUEpNRnFmTnl5QUV1NDBSQXp2RkQ3a01CZ3B3eEhyYQpOQkJZbThrTjNtbmpYVXpFeWJVVUtnZU5iWWlpeGhQaXdMN1dGaE5aWE9rZkI5S0cwWUtsNVVCMkduV0JvSktaQ3k0ekc1VjhkVElXCnp3SXJ3Q1NJbzRFd1lSWXNwd3hHVHlCZ21rbUJnTUNMWVVHVVJoYndIQ0drMHNpamROdExCR1RGQmpnTGd3aU1LaVR3TnlCZi9JMG8KSTBoY0dIaGhWUkFhTHcyYVRtUmNaQ2Faa3pGQldDQklYQzRFbldQaHNvTGVPWmIvQVVWTVBsWWxUVEVqWjhOUTBSQUZEblk2Vk9GZwpMc01JSE96d1JzTEJHMU5SWGlaS3BJdmlwQkR4QXhNK0lBZ2M3QkpZQ2dTN3d5NGg1ako4d01HdWNvRGk5M3BVRnBjRWhqUDZ3TTQ3CjRHQm5NVU1FUnc0NkNwaCtFcHpMb0hLZzRBSENxS0lOTkFNQ3VwdEVTSSt4a2tpdlF4Q0x5QkdMV2QySXJhQ1I3Vmw2TVVEZE9ERTIKT091Smc1MTFyTjUxYk5CNDB4SUhPd2xNUkVYY1lZSFE0QkxGK3piVmJSQUtwbVFEUy9LeExWUWVrWTB6aVRrY0VCNGJxZUZEbW1oRgp0dGdtQXFJdzhlVEZKUjFZT0tTUnB1c1JIT3g0RnhyY1R6MHg5T2MrRXB1UFFqTDZCc0FIWkROYWVRdkRaWHRpOVM0c1JHbmtyTUxpCjZsMUhBUTd4TmEwcFMxcTltekVzYVBRTFgxNFNOcjJGV1QxTTQwQi91VGpZUnlJZlBEeE9tNVBlVEJtbFZTN1FVMmxrbE9rK3VEeVMKeTd1U2tHdXJ0SWp5N3BrN0g4d21sSWNmVU43bHNrZkhnOEtYaFBJWVVONk5MQ1E0VjVLQUVyZFlXcHpLUis1ME9JNU5qSXRrdXJ5QQpTU1h2YmhSVko3TXdOZ28yb2Y4SzN1REJaVjdpZXhSSTRRY250b1pndzlBd1dSTUdnZWhsSkE0ZDdMeUVoTVJUOHU3TE1sUzNXMGh3CjdvSmdBWGJkQWdjNzdSSjlQUDBBOGlBTUlPOUd1QVdDdlFTUWQ5TUVoWWk5SjZ2Ym95aWtCMWxJY0c1a0EvSXVsNTBnQlNEdnhqYUcKaXNhaDBMdXhDVFVpUHhZU25OdEJrQzRaRW1Hb3J1MkVwZ2dtTkRVMEhGaTRERUlKVFRqQndob1EwRjZud3VCd3lSSU1CU01nY2xsSAplWHpnWDBYT2pXaG9PTENvbnZObHVSM3UzUTl6cFRUcmhHRzFQUklPQnp1Slk5Snh1cE1DZGc4T0J6dklPT0U0aWVQMXJPUGU5ZlVGCnRGVzR2QXNiY2JBRFdhd0k5cCtzMmFTYlo2RGdkTnA0RjNzaWllR3lBWXlCWUlITTJQSzY3R0dpZDlNRkRMSnhTSi9JcHRJV3lWYngKR1lFTndhYTZEVUdoMEcwR0RVK3lGUlE4SXB2bk13SmJ4Z1YyMjZqaFNiYU5RUERZR0d0T1U5WHpja2hFeGdUdm5yNlI1aXBzcDQwRwpCbTdmb3kycW14YnFDeUVodkFhcDFlWmVEaTZiVzlEUUJCM3BzVHNKUXBvK1RBUVNGeGE3bzdzbkN1SGxzc3VrM0tXTFpQTk10Q0tiCnFwNGdEbmFxVWVCeUN3c2J5OFpsRWdnYmpjUTJpVmdLSWNpUUpsQUpqTDg3WEtwY09CQzhyMUJ3cmhiRElCU0J1RXM1NEFWQUpJNEIKMlZnT0VhT0MxVWZnSkhCVXBLU3g1alJkUTl1N0tlTnJxQTUvaXFWY05qSnhMQjA0SWRUVTA2UnBxdUQ0U053R1NVdmNWWWRPZDBVeQptVzZDQWhWeEh3d1JoK3NZU1JwdWpHSWEzWEs5bzd0cXFReDNSSFlXN3RjZjBXMk5aY0psclY2ZWUwTG9lSzdrSzRUWFE1NmJ5MlVXCmhZUE5uVWdtTk5lYjBHanU2U0lYdWxKb2dLRDdNSENnczB4UTdOYmltQnFiQllJYkc2T0Q0TFpVQkMxMEhLNTZWdFRnc2NXQVlQVUsKeUJDWXBwanhoREVWWWlmUitLQVRodFgxSmd5cjY4cU1ZWVpSdUVnWDNMTjJ3Q0JDa0FHNzFKRWtTZERkd1lHT0dlQ0tRY0VZZ2wySAp5eGdTdWtnbys5a21RY054SEplTkxCRU40R3lwMnBpZXF6cW1MRzFraWVpNGl0b1lRRlJaV1RxV3BKZ3VTQ1NlcklHa1BSemF6eGdrClpVbHVUdUZJeEFESk5obEcwLzNyWC8vMjFWZHpqSFAyK2ZhdXUrZis3NHQ5Ly9oN3EzTy9YL2JhZS8rMTlqZStuUFB2ODUvMTV0My8KM1RuUCtOdk90ZCs3MXQvVm0yK2R0ZGE4Vzg3LzkvenpPWE9lZmUvN2F2M3BiamZQTUJyL2VmL2Z0ZmJkWXB5MTNiWCsvdUx0NysxMgpheTEvL1gzNy82czE5L3k3K0g1WmE4N3QxcjFydlRQRytQc1c2eXpWdS9lZCs3Ky92Zk9YOGNaYzk0dXR2MW43djNmUCs4NGY5dHZxCm5IazBmWFgzR1hmKzliY1g0Njl6MWg5LzErcWNZVFQ4Y2I3OTZzeXZ0amRualgrTXVkL2NmLzEvM200Tjk2ODl4empmejNQc3YvNy8KODV2eDl4WnIybi84WnYwMTEvaGp6UFArbjN2Ly9ZL3RsV1FZVGZOK3M4K2Y5NXp0MWQzN2kvbUhPYjcyYXRyeisvUDkrSGM5eDVsdgovVFBIOW1yZnh2NXJmSFAzM202ZHRlL0RIOGI0ZnRoM25DM09NSnJYT3ZQdVAvN3p0MXhualYrZXU5ZGNZOHoxdDFuYmVPdXY3N2N6CjVyYnJyT0dldWYvODEzWGUzMXV0YlkrNzNsN3pqMzk5Yis5OGYvYm16S045di92Ti8vZjhabi81MXpybjc5UDYzdz09CgldXT4KCTwhW0NEQVRBWwoJeTcvdjl1L2ludi9sRitOcnQ5YTA5bnZqMzIrM21HZWRzL2JmeDdYZFd2dWZ2aC8yMy8xNjkvZCszRytkcjdaZFp4ak5aM3p6eGZyegpkMXZNcytieDFqcjN2UHVIUCt1MXRuWDMrbjZmN3Z2YnY3TzJzK1kzZjVwcmpybkZXOU9aYzZ5LzdUdHIzbmZlOThZZmQrL3R0ek9NCjlyLzkvZTg3NDYzdDNsbjcrdFdjWjQvemQ3blZYUHUrbS9QL0g4OFlXODMxdDd2SHUydHNPOWZ5OS9tUCtjK1plNS8zdnZoK2UydnQKcmVjWjV1N2M4ZGYzMWpqanEzL0cxK0tkdGN4ejNqbjN6Yi9uOW5hTmM5NDE3L2J1TEtWbG5iSCttbjk1Zi9qclQrdnNkZmZYZnAyMQp6L2Z0c2RlZlo4MHQ3dHIzN2V2NXgvSG1YZXVydDk4NGM5NXg1ajU3ci8yMlhtZk41L3kvN252M21uTjc5OFg0YisvenQvZkhQZGVjCmEvelpuelhjc2ViYmZ4bi8zaitPOGUvOTA3bGY2ejNPL1BMOGVZdHoxbkxYbW5ldk1kYVoyeTluR08yN1htZXR2M3l6L3J4ZnIvbnYKWEhOdWU5YjA3N2p6ejJPTXU4MDVhLzFlLzN2K2xtZU5lKzcxMTMzbmZQdisvK2Y1NTdmZmF6SE9QTnIrWFdPTU45YmM5OTN2MTMvKwoyTy9jZmU2M2Y2eng5dnh6L0wrK1dXdHR1N1p6Ly94cm5xL3VlMlA5ZGY2Zi8vSm51ZGIzei8vVFgydWVyZFpaKzM3UG5tdTlkKzhjClc1NWh0TTd4N1QzcmIvdmZPZTc3ZnBwL0hmdHV0OGIxNVZ6Zm5EL25OdXVzWmMzei8zN3YxMnY5cmRieTcxcGo3YS9uMjJLTkw4LzUKOHp6dmJYV0cwVGJYKzI3UDlkZFhiNTA5dm52Ly9uVnR0WWIxM3hscisrV3NhZis3M3R0cm5iUFZXdTc1YTkvenhscmJuYk9tc2NiZQovNi8vcnoyM08vTm9tVi84OWN2ejkybXJjOWE2L3ZqN2YvdWI4ZDIyWnhpTmYvMXpuanZXV2R1TnM1YnhoM1gvZFA3NDdWWm56ZXZ2CmY4dzc3ajl6emYzOThOZlhjN3Z6MTNIdm52UDg3Yzl0ejFtcWQ2M3p2M2x2dkh2SDJYTnVQNXcxbmJQditGNTd0ZFkvbkRuWDkxN2QKYmNkWis1Ly8vS2Mvdjc5dHM4NDhtc2Y2Y3F4djV2MWFqclBHL2RkZjVuZi8zTG5WT3NOb21kOTg4ZjRYNzZ5enZqcDdmWC9HbjgxYwoyL3I3c3YrNHp0dGIvdVcrTy83ZVgyNHoxNzYrM3V2TXY5dTM3ZHIzcnpIK2ZQNnl2VHByL2N2Zlk3Mjk1bmZiekRlK21QL2Q3N1djClp5OXRiK3o1eDEvLzdtM1dXVWJEbVdyUnJzNDJHWVp6akQvOCtkWDd1L2IyLzdXLzN2Kzd0ODcyOHl5bCthNzV0enZHbUgvcmM5YSsKcS9YL1B2ZXNlZjJ2M2x6M2pMSDFXVXJEdlBPUCtlWFpYL3Q5WGQvKzk2Y3p2N2Juck9YTnIrNitkMzIxdHAzN2orLzIzOTM3ZnRoKwpQSHRwWG4rT3YvNWU0Mng1enRyKytmdXR2Kzd6emRielRZYkJmV091L2IyZi96MW4vVzNQK0hQZDcrY2Q1Kyt6WDg1U21zYTU0NDkvClY5OXYvODFheG45amp2SDJXdDc5OXE5emp2ZG5iNWJTOVBmaC9MWFcrUHNzNXZmamVQZU5yN2NaWjgzMy9uMGVmL3JyWDdkWGE1MXYKN3AvMzNyVzNQMmN2N2ZNYjM4ejMvN3BiamJQV05jYmYxMS9uZmIzMU9XdFh3Ly9icS9sLytmNXk5NTNqekQrTTk4OWNaKzk1dGpmcgovVCsrM3UvL3I5LzJhdm56SHVmK3Y4MzV2cCs5V1lKMk05V2k4U3dHaVdXalJidFpBQ1R0WmhidFppY3VHMkJZVTh2cGFnOTgwaVphCnBzUGcrWkM4MU9LZHVFeGowVzVtZXJRSDFzWVlyQlF4amd6bDBhNTJ1WFkxenJQbU05YitoMVdtNW9SeEJnWkFoUlNZUXVHSXdNSE8KbTZBaGxpQndzSk5ZVTRjQW9ZUVhnMGJ3UVFkMEZJQW9oNG5nQXduelJyRGpnSU9YNDNGTUliYXdMNkFMMVBOeVI2UkxoZ0FuQkRpWQp5N29KZjJ6dVhhc3lRQXBTTlhVdTBnbDZOTXdQQjdtTXl6b0t1RXNVNzI3UDZuSThLQ3l5a1ZTbnlMWWhEOTh4V1YwWXVLSXcxR3FpClNCQ3FDK1dRdG1BanlvU2lVS0xXcUxGQnFIbXhjRkRFU21uSlpKWmNhcXMwbGlCUUpiRGpNdEtwQkhZWm9yUlBpRktxOU9IY1YwbVIKbGs0UUdIT0J1QXhpYllIQUVRUTZtRklVQ0hZeVFZQzR6SFNXUUp2SkhJRzJNb3kxVGhBbENGTkVnZ0NGc1FLTFVpT3l4K1dEUmlBUQpIVXdRTGl0dGE4akJPdTVOSGF0M1lhSUkyRjNQZ2hBYTNIRWlZQ2NCSVRRNEkwVEFUclE1REE1ajQ3SkZURzMxRU1VZ096QzJCWVBhCjRoR0l6aFZWQ0xwVUlZT3dPYzZFUjBsVHpNaVpVTmpUT1JqQjg0UVhwVVpreVNiMDdsa0FvY0VmaVlUSzdncEM3MXFGSjhRWER6VkMKYUhVRUpLWHJDK2g3RWhoa1BBb3JnZzg0MkVrNlR3US9xRXdhN0ppQXR1VFlvSGN6SlBGMnVMZmhEMUpDK0VHTDRkNlZjQ0lVL2lESgpaQy9pVXNmck9JbmpGVFVORlgyNUJZSWxMVFVpUThZRXoveHdrT0Vsb0xCSWhhRGtKQmdjeWRBS0lkanhDQTV1VW9XZ2dNc1dWRzZWCktUa3ZoNjdwU3Blc1dhczFnTkJnYTdGQXNQZXdFbmdZRHhUZkxKVG9ra2k4QllKeHFCQ3haWEJKT0F2RjBRNlh6R1VSRWFXUkl5T0YKaUNNWkNBME9vY1NJQnlXaEYwaXBCNWVaSUErWC9EMVozUTJtWmNHQ0hud3RqTVFBZzhHQ21WQUNsVkNvWkhRbHFsQlZrazRwSXlKRApJMnhDQVpNU0FEQWdKQnlSQ2thejJiYktCeFNBQWtZNkprWktTakl5SkN3VVJrT1JXQndTQ2tReERLTklDSUlvRUNubGxJTkhBVWhPCmVobHEzUVl1VDBXZlAyOHZXTm5Ub1RxR3FwL1BNTmQ5Qmk5MStlanY3Zm5vR2hZVnByd3dvNTFuWTZmS2c3R0c1QVk2Z1hUSVJ1V1UKL2J3Z3lNOE9DYWJjVzNZZHMxMTBCRGxFMHlqZlRleW9iTnJlU3AvWU1jcjhnR0M5aElvRzlmelUxRlU5SXJjaFRickk1WGtuTm5zawplbjBvYUwwTzU3RzVqZjJORkpaYzkrZjV6RWVUT3ZWYnpqZWlCUnU5YzZzeHE1aHhsT0NKb28rV1dEZGNER2V6VjdKV3RYZGlOMGlSCkNVWE5xZVJnQlh5anU2MHUwYlVWbDN6L2sxKzRtOEF1RzNvb1FnOW13TjFLTzFaS3BQNVJXSDl3aTJKdjNJcDk5a3BkdWhHenR2U0MKdmw1Q09mWFNWTkZ6d0xML2pEdkxXLzJLUXljWWJzU0VJek1LNHYvcm1lN2VpNTIrTlFNNkNRMkF3SFRLekdma081eDd4Sjd3S2ZDYwpUZ1plb2xGV2h2NlBaVk5zS25ZYW9DRkxIeEtRRnBNb21DTFJOM0JoZmF6Q0xjV1dOK2lZNnkwUVZQUlBPZDJGWk1NUzJpNFppRSsyCm1USzBxQXpVWUZPbW8xaEZ2eXBUVHZRTk5sc2ZsWEZEVWNZTk9vcFBSeUhxeGhUeHVwSVZvbFFOVVZjclI0Qzh0SC9hSEpVajY5S08KUXVseXJLZjNzdkNTc0ZxdGRlTGpqenBnT2J3ODh0aDlENDQ2SWNmeHBDanlGYzdrcE1jR01CaG9FNWdZMDhuNmlqYlc3L0dzcU95ZAo3YXlCcm5QY2pPUUdGZGp2eUorcHRuRnFJTEpTZVg0VDU2eWRoZUNDQm1scnZkYnNlTkpaQ2RPQ3RzSGVjdm4rbVYyNHppc2hBWlUwCjBwcUZKeWV6NVAxNERSRXBHWnRlYnZnQzArbG5MUVlvbXNKZHEyTng3bXd4N3lUaGtzUWVXVVRlcmVQTlNGNnNHQVVndGgyR3dYeFAKV3NxR2taYVVreGJoditCQnBBWGxSbGlZdEF6QnFjSmpwRlhsU2F2b1BmVEVTSXRFazFiWDB6L1NxcEdZYzQyM2RSMG9KdE5KeTVBVwpYWVJIV3NYUTl5ZXRTMXRNUjFweDBrb1FSbHFCbXJTVTB1TldwSlgrd2dwOU1UbWZnYWdpZG1Pa05hNUppN3NjUnkyTXRMcE1XbTZtCm9GRE95T25WM1B5am1INlRHcGg0Qzg3ZGNDZXJrOUlrVkY3OTVzRXpMK2hTemtZQ1I4a3JFWG4rT1hGSDVVZXhjWWMzR3RqbnVEWDAKQUU2L1dZd2R6Q3MzVncvV3FjSlFuQkZrUUltOEpGQXdQU3o1MTB3ZmhuT1RFQXBNM0tpNUhsUVFKSHEzWWxXbG5DR3M4VUZDQ1oyYgpFQ2loWUF1QklPSG0xUkFXbkRjd2E1VGNDbkwwTnhKcGcyckhBazJOWktzUjc2UUNmSDVFSk1hY3BFTXZhS0xPR2xoZ3JnNGJlc3ptCmp6dTRiV3B0QlE5d2NsSWlhb2JCN0l0bGJaTXdLQUV1VkJXSlYrRk5QVWhOdkJoYkp2MXRrMDF3QlFUZHdnQ0lSS1NZNk1lUytSR2EKNWo1blpzUDJtZnVRc1hBdTdzMmpuRmJ4S2I1TU4yMFFaMUVSa0FJTDVrYmpDQndnUVhrQk10RFlpalNBVFdDMFdBVjJUYzg0U1dWKwpHU2N0WENEWmNnTWYxZjlUdFVDUDRpdVdKM1FhQ2VySThvTVczazBHV0hXMysweGl3S3RqUThQWWRYUTBZSGpGeGFYZmZRUkt1MzY4CjU4Mkg4R2F6U1dmWU95MXdFVmZjQ2JnYjBja3Fpa0ZPZXo1NGdCVEZFRjlvYWN3UWpCa0djZUsvaTd2dDEwbHJ6QitYajBRQ0NNZm8KVjVZc0ZwWVlYVmVoeUdvb3JZblNCRnhhOGVxWDcrTHM2ZFhaTllOVmlWdk42MDg0d2hVbEdMMnBUR01hbyttQTczWjlXVGI1NHdxTQp6VlJ3dkVVWUhuY3FUQ2dxVHBvVWxvWWlpYmdSekNkYmtWemZqWEl5VmpkaGoxWWN3VnRQUlBUTDhyZTBRVjRwYmw5cFhCeWd3R1kxCkR3aU05ZG9vSm44VWMxUzJxajI1QU9JWHVyRHlYM1VsMm5QcUd2elUwQ0NqSi96WXgwNUJGSk5wM2F1NlFLRHhkRjFFQ2JXR3NEZEwKSDQwV1BOR1ByVldUMEVMdDBhNm1PZ3dWSWhSeXAzVE5uRGVLT0txanlFaXAzYUlVOVZlSzZwQTYvVC9BdUg4UVBrY1M1YnJUTHEzTQpDYVhPaTdkNWZrV3kwWEVzTjJrWVpGbnBnZG5kM3NQUFVaTGduSWtBdWZwTXppMndFU2FpaHF1QTZsN0NDM29VaStESGtIaFRybURxCkp6L3JXTjdzSXJqeFFCNERTQ1JpcElBUWtDVHdueTltcDN2dnpXSVk5VXlyNE9obUFUendxZkVYY0lPOS9mVXdBRXRESTYycHNIRUwKaTllY0U2VU1uZU1CV05ZSytMcm9VRWhBZkZaUVlXS1hsYVpyRHhqNEJXTmZlWFhwYmtDVEhvQm1Nc1NHZHlpVS9JSk5oREZQOWdQbQo1SDhGUThzb0xNZEpkN2IzYTN1V2JmL0E2SUZRZlV3WnFPQWNhUkIrbTVWdnZvQ2VrUXEzWlpIQUswa3VSTWlib2FjQWRXM0lJNUtmCnVpQzlVcVRGQVpFM0FmQk15MVFIbEJHRGVjY2xKN1A3emNQREl1dDVmbk5QVWttRU0rYnltakttRzRXOXBQc3FQdnV5VjZQT1AwSEwKSW1LUmFYYlZ4UW5iOEFBc3VrTEwwQXFjdDRwVjMzTjhhZW15TWl3ekNjUGxxNnBpdWtVaDBnOUlLTGVVb1FWYU8wS25DV3A1bEVDNApueHRRZWI1RVBNOElxa2tRZHFGckYyRVBHcWZNczNpbWpjUWgvdTJhZVVKZldmdXFDVHJKUWNnMUFhcTlJR2k2OXBzcTVXUVFHbC9KCnU4dHVsVnh0MHR0Y1lLVkwzTlJZSmpIa2krcnJLMkRuRm82VWNxUjJYcEFpL0F6MHR1QmFkNUNPK0ExSW1jSzc3REd1eG45cHVaUjcKVGdkTWpWaVFuVDJZcEdsWkxLei9CNmtMWWxyNksxRVU3VFU5dE05aVpjbXVCd29jMms5OU9lQ1RtS3BYbG5JR1VtQ3BVaUJVUTdWcAorVDZPYmlKaHA2SndoY2tvV2Q3VTFHdXpiRXBxVnd1cHZWQ3M3RFZYQ2NBK0d6cUtNUStteXUrZGV6OXhOczRabCtEUytGQXl4YVpkCk1Ua0VuWWl5S3dzTWdSZE55dUpOMWdXTVFXK1E0a1p4dng0RVdSTlZWUGxkRG5OT21nZzFmMzBkZWkyWVZESzhpQ3lWdjlqSUdnN24KaVZYUHJKQXltRkxLak1aTjJ1TWoxMUM3MDdzQ0piTko5S2VxQ3d5YmtQRXp1aEVyQVE1aWw2SytOMmUwY1JJV2NrWEZMeDdML2srWQpaTGU1TnM3NU9CTFRNRi9zNVhSU2dOVjlsT1dIWXliMlcvVEZvam9pU1QyZ09VZTZGcGtvbjV0S3prWnd6ZTNRa29WZVl5dmJnY1gxCk12cUoyR3hZWXhnSkg4THk5VkpXNW5UcC9kY1NYc3BZanZFb3gzZEUrYWJFc0JDd0l4NytYU0ZVY2VkQ0lxbUVVNU01UVZsRFdUTVAKMjN6MUlKbXJHTWhFY3hCaTJCaHlnalNWSVFpSVBJNCtvK1VaSENhRWtOUTNrMVk0ZXdEOU4wRmNOV2ZuaGhCZTZLcWpJYVkwbmd1NAoyTVlOZVBoU0ZJSllFRURiY29LRDRrUjRPd2wxdVZIRGl4U0lkZ1J1THJIVXZoWXdBcjRlQSt0VFpOVTFoMkM2dVkvc09JVE9nSWZhCldCRHUrYVdLQXo1dDBLYkRVYzBwRk5TQVFJZmZBZGtkZFBFZmFLOXdnYzJXbXd4ZnVBMDRjQzFqOGdIQ2YzMnAvUT09CgldXT4KCTwhW0NEQVRBWwoJZUo1Tld3S211TzVQNGpzUE9sWURMb29xWFUwUTZrcVBibjBFUGF6ZVkxV3lQU2VtQmtTV2c2WFgwOUZ5MVBDSHNSZUpUSDNBMXFpZgpNdGVjalZkc1BCclVTb3lyMUNWZzVybEVueHVSaUo2N2FxYTRia3cyUVpkblJnTFcrL3phbHJvdFMvMCtHOWw0dVBiMTZ2QnFFN3pNCnVFN3piWFRJUTBMalVCYi9vVEtFTzlCN3FNbGZVYkhrdVp5UjQ1LzMza256ZnpQVjE1VXh6ZWVOMVlmUDh4M3B2MVB3UXdMT2RWZGcKOVYwbEU1c1lvZ28vem9KbDA2K1MwY25DZ3lmNW1TTDlRSjhoNW5lTVVQMjQxVFVqL1E1NlBYUjR6bUhvTXpKbnIzbEtRaEtMRTRSUQo0eU9jbk5ZcFJlMjRmTHF4ajlHUmhPRXFqUFcvZlVBcktpTkoxVTRWNEZpdmoxdjFSMm4xTEtHNURBL2t0aUFaMExRY08wNDVEK09lCklXRDZvNXA4cFVaNGdwRXB2dUpsQ2JYQnc3SWorZkwrVVpZVHIrMDF0RTVVMWhTRyszdXRwa3BkSFptZ2VxK21wbjRRdkhIZFEzcFkKTXc2Qk9uMm1BS1l0UjBXNklMT24rd2JkSWIrVi9BeVBWUS9RU3ZySmV4OHQwSEdGS3p6V2I5enFxWkZtMUl3ekp2d0NZVmZuZThCSApHTFkzNXJpSTdHUm1vQUlRdFArOHE4bFMyUHZKTFBGMEl4WHlZci9QdzVXQmJnV1lCZGhmRml0NHhoWGs3eTVXSVRQRzhuVHJKdGdFCkZPc1dOV0UvRXlqQnNpL2htS2FhQUxDaWRrWEY0ckJwaEFNNlVVN2lrT2NLY3pwRmVZTG01dEQ1TVEzZHdHWW5vNHdqQmF5TEU2N04KNC84NzdJVTBMaEVmM1JydWwzTGJpcENSdzljL3JadytPaG1MS08wL3Fyb0Z6c1lzSHhqNkVwSjREWkN5SFArWTVQM0FoaHBaNDEwQwpTRVJqb29aRE5YUGNRSUpxSGFwbC9Bdm5ZRzdFLzhEcHhjdlFSMXhtMjMzalBhOWNPMHRBaU8wUUNiNTE2bnZsbkZLcHVMNnFDTkRHClEybXM5UnNMc3hONlFYd1FjQTJob25SUS9rY0JzU1B0anlvM0hMNXFDY2NsMndObW5vK2J4MXdYeFl6RStyMjQrS0JVVG9jZm5LVVoKSnFRa09Tc2UyU29vSXh3L0ZCSitET0F4akFUeDBTR24vVjg5dnYyOUtaVElGRkFQdVpUbjNtOUVlZVpYbmg3eU4rYnBNNnIwTHZUTQprSTZZNGxTazNqUEljY0t1Zm52dDlSMjlkelA3aklYLzVaenpQMnZnVldMdTJ3UmhFZ25NYm92U3puNHdKOUxINWxHZThmOWRsZHU3ClRiblJNbzZMbHcya2tmZExaK2tmd25CeWJBWG9uR1FEOTdnQXErOUZQMnhVWGlkUDZUTjJPWjVPN0lhakhaQ25KNUpQK3l0V3NGazcKUVVBTjFOOEg2ZXJJd2pNSTNwdERVWnVOS0pCRGx3NXNLeTRrd0tuNjVqODdPWmFYcGxmeWNPNnVmQkszcjIxWjF4anVnNjBhc0szcQo2OXZobmpid0E5NEFsWEhVK2ZCSzBrcjF4cFRjeEVoVDBUNUM2TGhPTlgrZncrcFBNOWlJVmZtZEl2K3EzTGlpMVdORXZFbUFidkdnCnJPTGo0TGxsMm02a0pQcWU2emU0dWFHbm85b0w4ZlF5NFRheGpRbS9laEVjOG9YcTRaa3Q4RXVUZCtncDl0WlppbWZ2ajczNjdBYWkKdngrSUxpOHlZdFhJM1QxNGJrWFZKdE5tV3VWUm1FYVg2YzJ1aEZNMmlxMzgwVDJsNk5WMXBSMUZ0K0ZwT0VaaDFZYUhJNlNYZW42dQp3WlBaVi8wYUF6Q3ZIRU9ZU3J0bVBYZzh0ZkJ3WFJSWXlDUGRzYmxXNXJGZVJINHBYS2kwWHdWSGU3VEViOE1HcmJSVGRqcXBGc1VOClBrQnR4V0pMNWxkWnh2YUpoVXVneTRyRzJvYTJyV2x3bVRaWVFoNkFyS2txbW5rYmc3d1ZYeksyZ0ErdjUrOVA5VVdCZkxHWWNyMUoKYWt6UG5xQi9JNSsrR3dGMXZ1Q0J1Y1VSTk9VRi9yaUc0OS91TkVqM2xFNmJyQXVucDJwOGdDSFRqZjBQRTE3LzFGUDRianpRQS84UgpqTGlzUkxvWUMwTUY0N096MDBnTVE4M3BwTUpacDdJRjc4ZXpLVU1Yay9mTTRhVjJJZk9DY2FDanV2UDl6Q2k1bCtvUjc1OGJrWDlXCkZMVFJWRTE5bWF2TW5Lam04ZVV0QnZURHFMQnV1Vnp5eWtxVFlLcjN0V2tkQy9wZ1k3bzRLdTZic010b1JueEs0NmNheFlNYWx2WU8KanUveGJqYkhGTjJxT0hZQ0JSK0VLdlU3VDhZWHZ3dEs2QU5rTVJkOXBjL1VobEJPUTJ6V3d4R0xCeTJINlV4Rk00d2ZKd25SVFhsbQp6dHpiaFhNOTFVMGJpZS9nUVE2YktGY09WNCtCWXNaR2hHYS9zL3pVZmZIeGVscTBqK3EyYitPd3RONFRjeUpaeHRSZks3ekVXaUFRCjgzSWhtYSsxMGZoNlk3cFlFcGdmYm45ckN4aklCV1A2MVV2dVZZaHZJMnFUOXV4Ny83bHovWWJaUWhXUk9XckVCcEVNNm83VzlMTWEKN0xpSkJFUGF4VlR5NVBBNHlER3JpKzAxMzh1Z1NLOGxPSlJRazQyN0VQY29RcHhIL2toMktpNGNHMklJM2JKRUF3Kzg3b01ZcjBYTwpuZFY0TUdnMW94azRici9VcDloK05Oak9XRDlRN093Mkc0anRsNEVkbzR5UytOcCtFYWVDVVRnbkxDV3kzNjVVZ1RmT1RlK2Q5QlhiCmJ4NlZ6MGl4OHgzdzdQYWJpazFQdGU5RUY5Z3dOL1hnRUplZjhDMTIrSEZlUXd2Y2dvTEJzZ0tvKzBQTmZtTjBhVUV4Ti9YYk11OWgKd05kc0pLTnFESTJIdEptUm1QMnlxdTdMVVFsWDVnQTJhemhoQ29SQ0ttbTNYNCtoK01YeTlRK3lxN2xwdEtvWmlmT1U0QUplaksxbApOcFg5Y2d6YnIwRXFuT3gzMSsrcEZYZk5zK3kxbHhpSXFuT0JsMkdyVVU4RTkwTk40bDNCVVlTaTFXdFdWU2x6Wkwvbm9hRHRkOEcrCnR0T2tydTMzek8rVDVMWEh5L1NSL1daY1pYcmFmbTFkWHg5MUJJcnROM3djMVlrWmducnlmb2VnN2JlMWxna28rMVhZRWk1cDQybjcKcmI3b3hEUnpHODFmOEl2dEYvWXlwSU9TSWFiWUs3N1Q5cnM2R0k1L0FxU1dESEJCK21ieW5VUUM5TzBYNS9NNXpWSGpGTUc1aVZ5VwovV1lvY2tlNC9UcW9VSUVJU0w5VHYvM0cyeDg2QmttNjIxZEQyOFBSQlRLdEg3bjlycnVZQjNHKzExZDYyM0trMnk5dXVrK0dmOHpOCnk4RXpYWHhtN2lkdWliT2JnblMvOEJWbzB2R1FmV3RLMUp2c2YvbHdtMlI0M0g3bmZZeFpBQXdTN1cyLzNCNXhxblUxOEdrVjJlOTEKcnFCaysrWDhYMndqeEpPeHQ5L0YzWlhDdkJBMElnemRYTy9EZ2RmWGZ5MlIvZjRDUVBmZ3RQMG1icTRFZmt4RkhaV24yYnFKN3ZldQo1QWNLcWtMcnBuRFZTTjl2TXZPNjFrMFZKTVU2NDhBUHRVZ0xETGpqeE9ZVU4xZzNJY3Fab3l3VGRoTkFIRXBGdDk5bkdmMlFxRExrCmdHOVhZSVZRMGxPUE5uejFkUlBqcGpUekxVUFpwTkl1WERkVkw4cGQ3SlJXK1gzSXJNS2tIRDd5bmd2ckpwcEM2UnpWbTJhS0p4WnUKdnorNlVNSGt6TUFuaVZvMzJlYnRlbSsvdXNsRS9DUDl0bU9mckxiZnJBUXBza2tsSWJqbjdUZkVEeC9pR21ObGt4SS8ySDRsb2dtZQpWTktGZklxQ3QxK2FPQVZrWXlqWlM3YmZaUTNMSkhwcGRTYXA0Nll1eGpNanpYNzlFRkl4dGwvQ0xlRWxXNVpyKzMyQm1lMGs1eStNCkNacnNWKzd0bHpaYlpQNG80elI3L3hYLzJva2NnNWJLeitsNWF3Y3A0VzZVSk45K2p3eTQ3SGNUMkdJL2xPT2dIOXpMZWZ0Tk02QkMKMDZhbUtBMWc5anNXa3lmZGZoT2tHc0t6MzA2NisrWWFHTSs3bWRlMDVIekFKUWNWWllDcEQxNlVHTnh6UGFDRkpnNkVITGlTY3UwaAozR1VFYkhXVDc3MTY2eHJBS0hwS1ZjYWgvN0FIOHlVS0NtMTBlNUZEV3dBSEdES1U4elVCeDUrYzNLYnA4RWtOa2JvNHVFa1prNEFaCmQ3cGYrTTBjaFdrT3NIWlRBVjhoWnZ1a1YyOVFlcEptd3V4ckN5WW5zNjUzb0xSbjQyWFNBZWJjVkE4U01Bd1IreDVMQjRGN1U1WUUKSEhlZERLQkx3M2d0b2ZGbHlLdnExWXR1VmwyOXFPdEtlQjdnd1lTS013a1lZM3pKbVZQMjh6VGlBaVJBV1FKK0xPOUpKdnBUVWJLYwpDUmpWNkhvblJkMndQUWJkM3RROXdhdDVUVEp2SFVLOUg0QXBOU1pLajJVb09ReFJoTkdETVdHMTR4aDc4WVlyczJZb3lodmZmMlpuCjN3MTlURTdHdjJlbmJQWFhwNGJ6dnRTOVA4dlkrYVFsYytBQVFmWW5uc081c0s4LzE0c1pSaFU5NFFGK2dlbVBuR0pzU1cvSGp2eVkKclU3cEN5bGhtSkZZU2RQT3FpWmt6MWJmUHVvZ2JMVjNENmRGQVQ4UmVHaVFYNXNaSWZMVGY5SW1FU1FaNVJJUjBDMjNWUHBvd2s4YQpxYklPbjVVVXRkQmRzUFhyZjluTWpBYUxXZGhFSXdBUGovUVZubTlpNytTTlhRWVFEcitQSmpvclpCS2JTM2ZySWRXeUl4cm1oa2ZICnlVQWhVMk51bXlHa05sMExCQnF2Wm9CM3RacTNoRXhqR0psd21PNlcxRzE4QUxGczZaa09JUlA1ZHAwamhEbm05ai9ERXBtSXJBRVUKaFV4c0hCYXJ4eGF6a0lsQU9qRnhhU2JyWDJ0VFFCUWxzc1Q3V1AxRWdOWkR6UDJ3WXVhK3hYdFFGdnd6TTRSYXFpdTJLQ2JXS0dVeQpMQXo5bGxxWXlzNTBKWUVKQjlrRUlYTnoxZE1rdkwrZXh4TFM4OGp0ZnZHMTk2eTd3dEcxTkMwY21XVGEwUlR5V1BNcUQxNDUrd2N4ClVuSTE3dDQ2UmwwQnA3UDBNZW02eTNaTk00ZWtqQ3dkeVdQa3VKbGZsRjNMdlVueUtnMDNpV3dib3F6Y2ppVUsrT1NGTUZHbXpzNHQKcGU0Si95L2gxY0hrRXF1Tno5V1lVSVBHUTd6cXNSOUx5M0tlSkNaNFV0NU5KTEFFVjRZamQvVFkzdWpjVUVtRFBXS3lUaWVGMW5LOQpTWGZWV0lhb3JoWXBFWXNnQkhOYys2ZUhMbWZwL1VxMTkvSzlVNGM2REdsMnYyekVBRWs2TlIzZVdPZmFjcG5lTUxhdDIxbDJWL2xMCnF6VXFKeXZpWmZDTzExTzhVRk9RL0JCdmhPLzlMNE5mV3E5S0ZTQ29JZjZLVVJNcVQ1c0RWVnpaT3NYaWJkNGhHSXpHeXkwVlk5YXEKRmxHMGVld29vd1g1TG9YazZ2ZU50dWMwVVQ1VmVORkZiU0Nvb1R6NW1IeVdhYVBERCtSNVRHTmhvblVUZGhGYjZhcWZOSi9UaHRzNApFY1J6V2w2ak9XY3IwV1ZFQ1ZtazBINCtzandwRDJPRXd3UUVkWWdNYmcxVGFoTVpCRG9BSmxtNlVFNFd2SVlES1ViSVh6dFlUK3pyClcwT3V5S0V6N1BFR085Q0FKZjFYWmptVXJFS2VNL2lsK0lYSzRJOTI4RnlIVkVqbDhxWEsxSHovN1luNFExK3MxY0dWd1IrMG9EVXEKMnlYZ0ZKNktlSkc1cTVEcHNvRU9UNEFmN2ZDZTZNendvRlJrdWlsVEtRb0lkYkxUa0drQW53NTZsMjRGU0FGNDdvbW8zaHlUSG11UQpyUjdvaDN0Z1E0cGkwY2NvRGZjSnZZWUpQMkdFbjNYVjhwSzNDYjYxRGQrdmZQbDkzSU12ZTFTUzFnYllQNWJwN3NyVGlSTXVOV042CnFNY0hYRnN1Tzl6bjc2T3RrN0F0aVJwWlh4YzVvUXU5eVpZRW05aGhSejEzTnJ2M2Rxd1lXRGF4ZVNQUGoxaUVDWkVoN0prNkZOblMKcHZvU3laVGxidmlEaFF3cGFxOHFYKzZHODU2SkhwbG9BRkV4OWwvYjNJUEFkTDhKQTc2anp0MDhKUHN1OTYyeEgvR2ZZSzhaZEFRSApEbVhqbUwwdjU2NVQzN2ZjVlNOeUtjYmsxeFFOM2l6UnlTOFRCZ2l4djRwRnFVY2tQTExsdVN0Sm50eVlRN0RjSlY1eEdZb1J6a3ZiCnhQbndZeFNyR08vQyt6QXpZOHF5cVpyQS9hcmFQY2lLeFZuZ0hPUU5ld05PRG9PTGV3OEpqUm1HZnprdnhzZS9hbmJPVHBNdWowUUsKR253dFVsUDY2am84bXZ6UFJMelc5TnZkbnpFaWk4Y1ovbndKaXlYMGZwdXc5RTVaZHVWbWZVclVJd1Q0eitjejAvaTF4cmUybXlJVgpkMGlnRVFMNnhQRE5YUFBQTThvUE1YU0kxYmhQOC8wVGZQZjdXTCtHQU94eWVJaTl6b0NNemR6eUYwbXczVGVwbS9BZUlzYjBXeUpXCkFvdXdvVkh4c0RPYWRKU1orMDVLZ3d0S0xKekFZSE43a3ZQSUlYSUNva3Vmd1NwcS9CeGFZVWpJdU9DUWRZZlFnQjNsakVHV1FHcnEKZDZCRGZFc256ZHFuM1NOYnBsbjVGWk5SSEhOQ25SMGZkallpdTFGZDNXMmM5L2dkYnBscCtSUDBERVNDVE5yN3pIRDF6ZXoxVHFJVgpIR2l3OU5OZE9VWnFhYktnKzRUblpaSFZ3cXFpcmYwdktZaEtyMU8zN005UlJKL1Nzc0MwVktHR3BBYVA0WEY0TkR0aTY4SlZOaEltCmJOc3RUYngxTmVqR1FrTFdJaDFGUEUwQWhIZzdEMW96NUFzU00yT0gwbVBmejVEdlFXNWdzYnVQUWdPSE5FTlM1Zz09CgldXT4KCTwhW0NEQVRBWwoJMGpzUndkcE1CSGJYU3QrMVB3SFc1VExYNktWUHhaRy9XRGFSdXV1UWNlck03dEpOaHB4U2QyVW1PVUI2TWVCTTNTMkVEcXo4N0M3agpGN2l5dWp0VFFUaldTR3RTZCt2QWNuVStJUWgxVnhnb3g2TGlva1NJamQyVlpGd2VoMW1xSUlHOHY5L3RtVmdIcUtCVWRHVlRUVVluCjZvb0VLNE5WWmhadzVVUUUyVGc2cFJkWm9oaW5xcnJaMnQ1SjI0Z2xPWmprRlJZcEgzT3JzUjNHVmFVc3hPTi9VU0NzSW95VWtFMm8KbEJrcmxVd3AyekRFbVltSFdKZVBLbllZYkhEV2RXbzZib2RoMlRGUTZyRm0wZUdNQnlrTktuWUNDMHkzRlY1aHR4bTBUbDJMNC8ragpUZUJOYmVjUWFUdEl1bEczMElPTkZqZGhjdXVYSVg2NkdhS01mOVNOQXE3Z0tmMUJiSTJwTUVmZEdPaVJIWE0wSmpBeUtNeWxmQjBwCmMySElHa3JQeW1aZU56ZnF3cXBXcm1tSm5McEhzSUdlYnBBbklpM3F0cUxtaElBRkRpODZPdmdjbUQzcXBoZktuRkk4M0hTZmprUzcKb1dacVFxcjJDbU0ydGdySFlpRDdWQXF4UFVmZHppbFZwcnBFTC83N21RekVQYVZrNGxnRjZTWmhLeGt6ZEZVMWFBS09GV3g4SVdtVQpWdmhxTEUwSHlIWTIrNmpXWDlDWWxuZGUyZEFFMThETXpHZ0dKeW5LcUp1dGRFbXJnZm5wNXFPbzYxR3NLejFkaVVYVXRUTGdpQXVrCmlhSnVUNjk0ZHMwSGk2Sk9rWUk5OW5TYnJyUm4xS1VwanIvTk1aZEQ0a1hkOHd0dTVSdVpuM2hnbGJDS3VrSytoMW1ya2NlcHFPTlMKMGhyQVVjeE0xQjFndVArekdOeHk4V0kxMksrSnVySCttb0xWakxpb3E0cVZXd1Vob3FnYkVtZTVXUWtCZUhWQnExSDNNdlBZN3BPdQpCM0pSTjJ0alNhblk5T1FlZFhsVC9pM0tDcEZYb203dHRDclA3WFZuRWpiS3FIc1VYbzJzek1YVERZYkY4b3E2R29uenJ5OFc5RkU1ClNVVkYzZDQ5MDlkblA0SE82L0YzT2pZRXRGR2xDVTVETlhRSDY1czFvWXRXbWdjS1FWVExzQzlFdHlZeXNKbnRMZEQ5ay9nZjIvNlkKWUV2dUdVZ1FvOUJ5RE1hK3ArWnVqdjl6WTVHSnhYN0xORzdkRHFaUzR3WlRQdjNUOGN4b2pGeFNHR2hwKy93d1lGZkh6ZjZnR2VzVQpxNjdjQjJQQVFiT1RTaHhVU3VxS1VVM3VoakNoODVYZnE2TEJrdXNUV0xwcmNzZXFIeVRaYVFEcjlYSmFMaWFtTnRsUGxrQkYwWVpGCnRmQUkxYzg2OUtHS1hGWnBPcnY3WFJhTHloZzhjS0s1RmFzT3V3VWJDZ1pndGFyYVlxUnZhSStNKzdyWVVQZkhXQ1VWWEVIWm40VnAKTHI5WlBrZk1yU1BOVGVSZFBEZnBHOVY1Q1FJSlRIaXBZUVpVU2lVdXUvbkRRSEhUSmZPc1EzZ2VrajBybEIrcjZmZmJ4dHNYc0pUdgozekdsR2pVSUNOYitNYWMyNGJLTHRoZHlFMWdDRVFDUDRhVTBidHhiVnFtMGxBN0V2cnFKN012YU1Pc3lkZ3RPN1J5bDdtSDFHaHc5ClRibGlySi9RR01mUVh2c0dKQkNWRU1FaUltbjRibU9aUU1TWm5pcVlwNHp6UXJaZ0U0V1psQmFDNGNpam55WTB6UEE0UnZtU3ZhRWgKa1hISkptdUFPRnB4bmg3amhjbTNsdmphNlV2TFoxMmJIQmhkVnZ6VVhBdXBNSWFOSm1WMENMTGRwZXJiNUZEY25Kcnl5YUJLbVBSUgpSZDIvOW5Ra3pFc2RibnlVT1hJWmFTbjFpTU4xMmNSN1dJWmVkbkd1a2I0RkVlSldGUGNRaHNOMTE0TTJzUWtBRGpkbUg3aXJSM3F5CkhpWU9keHJpWHBkUkd1SzdhTVZUSFJNVERYbkQybHJTbTZ2dmN0bG5qWGhWYkVsclNkSG5YaHJnaGsyaG1JSGRKNHVqM0IwazFrazMKbFRwVVVnZHpFSVd2N0pteUNhSWhTUENQT0JxTUkvWG5lRTZnNXJSQkM1NXhzTGNZRnluRUZXcWw2aVlXMkR3RWNtbEpPTm5SSXh6bgpZakRFaDVsTTJVY0ZzS0VJY0ZIM1NCWkJ4S0doMkdUeG0yQVBaMFhGUUJQS2F0ZlJyNUlybDNmZTRDV1JRem56OUlLSWhrR29NSThoCmwvR3c5OFF2eFV6Wm5DTC9GcE1pUGpNZXJMaHRMYTV0SC9YeUMycEN2RzduWGRIbjlUeDRXWHdQTUtaV0UreThFM3YrL3pKS015aFUKNzY0TTZzeUxBZWdzSmFCckxhN1EyWWtBSnNBVzVnbWtIbExvYWp3TmRsc3pJUW5oSzRTbS9rOUtXdXNpdVhxL1ZEOW5reWFJbWVVSwpTcE5NMTI4NVg5MzVENkVzZjNaN0lCNWJPMFBpN3RLbXNVNWNxTHZJV09iY2lndGNSckUxY1lQWERKak5zODJvQjdSWVJER0ZFemZwCkNISlI3aXViSDJNNjhsOEptaVRPa2x2WnNXVGk2bU9wTWlVcmZIV1ljMmVFRlBsVVhQbjdQSjZJT1ZPbVNaelE4RTFjaSt4SDFJRC8KT1lFaW5kYUtTOXhqYjNuaWhoZ1FlWGNYYTZLcnNKNzl1bmtHZHJ0b2xwME55cHBEN2dPbEhON1R2Zm94KzhjZUVYV21Ob3VCMlFrUQo1eVBPQkZxcUZyVmhsNHJ5QmRXSmQxYVlURzk4ZDdERkJad2dBWThLZ2x4R1B3dm1WdjZ4Wjcwd0JEdDR1WDFnZDZHSnI3SHhwcENQCnRlaWRMakdQTzZ3MDkrVm5uZFVnUUlPWldlVW92UVMydXJNcitCaWNhNDk4VVR1VC9LQnRJWTBjZ3VyaURpdTFMMUlaVWhXSUtMNksKcUhKemlGR0pOalRnZUJXbWttVlhCaFVaT3ZnQlpoZ2VKRWQ0TEMwYVM2ZDkvdERlcmhNdjQ3RlNQSzZNMnZOZCsxTWJ2RjdYWWphZwpZTDhEVjBxTWxSM0Z1TnNNWEN1TXZOOHVyOEc2bklhU2ZhNm0wSXBNdWZTTXNCRmowRnpCOTlTNDQrWkp1c0JnYi9sbnpwZWNWbG54CmpvdEhzVE1MS1V0OHJLOGdBSVA0ZjZuNVg1VE9Zd1VHNm92VjlQdDhaWEM1VVRhU3RXUzloRWh5MFloZGo3OUh6b054Zk5HczlMOGIKbnRVUU8vaWFLVTJPMUpKMlVDay9ZaXhwWnZzRk15RnZpUStsWE9TUHl4T2kyU3J3M1pHYmlCTEYrajlKbTRSdGtiMnNnUkU2YnRpUgpiaW1GVmNvOTNlZXczQ1VYNmRwZEJqYVNBTlFFS0l3NDZ1c3R3ajBwTkNId002bXRBSVB3bE1DakFqTHJESE93KzJVMGZQdUZRcWg1CnF2eE5Ddnh0OEpRZGQ2d3N6Mk5nb0prYjBGd05iVFQrOStWY25nWDhvQm0wSTdrNk8rbk5YM01kY3A1RUkxTnFqU28wQnNlTFdCcTAKcnJEWG5md3gzMWgxSERBNG9hbzh2Q0xzRXNLZllwSXh6TnBpaEhzZld1SmNxM3gra2tDYWxNb0M2bGZ6R1F5bW1ueTBTait6ZlJXSQpnL2ZCQzNkdXdYaVIyOXp5UjJXZWdYblNmUUhHMmtta3JJNENpcFlkZzgrNWF0S0xBSXg0UWQ0YUdlL0R4cHoxT3dDN3NsbG5ka3lHCnoxaUNWY0lQRDgzTU14bVkvMGdscHJ2dGxhZTA1L3VEbW9zVzZzbG9oKzR5dTVrV0x1aS9pcW9yd0duTUtHVVM5QjA2ZmRnZitQdUMKdVN5RzhWZk90WUNMblVsV3c0SStZYnlxbmFXMUN5cXkwMFh5QXlFNmpvbXN4a3lSSFp2N3NSeGhlcEhTMnI0V0ZwWFdHaEFEZUtiegpyN1U3aU1oMlhYN3loc3FVVHdZOUs0dGdXQzNwSE1jOEdoMmJFZU14V0lBOVpra1hUd1BLM1dRNkV5WkhvWTBRUXVNT0FlSVVyQXdLCjU5YXY3SEpGeGxGWm15K2hWNTViUVdmQUxlZGpuSitKNEltQXhrRFJjL1ZWdEtmK1dCNTc1Z2tiVUVUV2xITVc5Q3VCWWNkUERXUW4KSWJrZ0FFYmdTSnZ1cEJSM1pYbXQzMHl5NFZMejlCeW9mSEtBRHZ0b3I2UXdrMGRFTUJUUUJDWUp5RitNR09mZ3c0dGYrbk9mVW51OQpXbWpBUmVuZytXdDhBMVV0cG90ajBKZzJBeGRrQXlnTEZQbGJVREt5SDEyTnluMzVuZWZvbWx0MHVkYlIxWjU1clpkZHlHK2ZDUDlICk4zc010cWJvWnAyajZ6WUcxK25odFpzZVhSeHZOZCtTYTlCV0NhUWMzWmtZYkxqbzltc0RRRWRYM2NQc1JiZmZMYXVDYVVkM09RYTcKTGJwOUJoeGRBemozMVBEVHNDbEEwNkw3ZVVoZUhkMk1lVFVETHpYVXNtbWNvK3YxVkhTNzMzQTlmZ2M4R1dNNmF0UmUzL1VjK1QvVgpzQk1zQlRGQVpLRmRJUGV3eFArbEtJY3ZyWXZmeGtFQkJUWnJ0QVB4NzR6b3BrcGlhbExuSUlOeGNLNEhGTVBtTEFwOWtzVXRNYWZZCmVINzBVeGhNWDFvZWJES25JYjRRYm94MjZnempUcksvNXFYWE5DazFwY1VwQ3NRZ1BqRzZaZXpOZWozaHFLWHBiRmthcVJIYllKZVUKWUdEZVlYOUxBQmRLSyt4L1gvTlgzOGx0WUtLa0xzQ3RGVDMvdGMzZ2tQb0VwWHNSMnVQNVlSb2UrUTdRWnBid3B1TTMrTlZmUXZoNwpmS0VmUGhlQk93cGtWdHBNUWl1bmdTQkNveGpTZ1lyTGlObitlK1lqbnp4bGpkaVFoOG1PMEI2UG1POHlvSHk0ZXNRb1lnc0w5K0hBCmpWZ255eGV1MEoxemtGNFFzMG93Rm5HUDEyakhqS1hpcjFqdTFvV1RVRzdqK013ZHoxL0pNdmRSUVh4U3BqT3Q4U1ZGTHErUlJGWloKeFh4SHZLMHZNYWt1RFU1clhCdkc5N0M5bk9GRDdkVWtUTWdFS0JTdmdpT3hxYnFHYzI3Sm9sVGZRM1QyZi9MaEdnVGlSZTdsODBwcQplbTl2ZVN6TGZTREZNb1VPQzBzMGx3OG9TWUdtaW5ydmYzTk91dzhOQ0NyS0hzRXVUVG5RR2x3ck90SlJtWmRaUWd0VDZISEtGaEZKClVBUVBTL2VCQ2JhVFdaMmpHdEp4NStNVzQ2MllRNFgyRjdJVm5NS0hLNXlpUTEzZVU0MGhpV0JqQzMzV1RldUlKSm1GcUVaWjdOVTQKTHA3dHlMb2pBb0pmZ29qOWY3RjVSRnRMNWhGaFhzMG5ITUZiRVpTcXljTWkzWHg0ZlMzZVhQZEdXcklmcmdaVEU4QlBhNWZjNE82NgpHcDlHS0R0clpuU3lMMUM2NXR1WnplT24zZzF3bHNtWkJkcHJwUXhVNGpMY3JGbTVMUE5HNXM3L1VBQ0Irejh4ZmJaL3E4Q2lUaU8wCjI0cVZZNERrVlhKL1M3SGRFLzJFQXdud3VBU2EzN2dnelZKQVUxVmFiNkxWT2EvMlNjMlhHZEhxYkFZOGZYUDFQcE5DazFMTTFhMGgKdEJreUFGZnV5bGVXOFlueE5sYndZVGlLY21SQmFONE82Q0JvNWVHUXVnaWpOWjlIaGMzeHJGajVYNEJKbkJpN1RnWUJDdEM4T0F1cgpMWCtkTnV2STlsb1VlekJIeVpOZFFOaFhUeWN3UlpwUXMvZFVZSDB6ampEcllIMG1oYnRlWWYrVTB0NUdzYWV1NEhOQkgzU0NsNW5tCldXRXh3NEFLQk5wWXBJZGw0RnZKYnBIaU5LZC9XemtwcWVGeVprbnNtcVk0T0MwRnY1Mzh1aGtXQkp3TjhCN3k2REVYUnJwWHA3TDkKR05waEZXc0U4VGhYejEvVVVpcHYrMzlzOTJPRVdkVVVjWVBrNEd4ZVlMRTkwTDhVb0JMdEU2Y3BzQ3lURExDNmNBTEZBcDl4dkRwRgp6UXl2V2dORjYrMDcrb2o2Qk12aXhMU1g3WmU2VW82emFweTIrVlN0N3B5Yi9KcDFZbDVWWVpZbXJXRElWZk9KaTRzYmdkempyQ0t4CkhHR01DbXBGR3ZZdEc3QTdNSmxIRmZqU0poZ1dqNmVCTnVRbkFQMDhWMytJemNNcDlBQmFJRXk4cTc2MXR0cVFMMHFUQU1JSlNQVFgKRHg0Q2RFdm5qUlROWXdyN0ZvNkFZYW12VXZVQWVweHdJL0VTWmgxRERodkdsYVNybC9xL3BVMUJ2T2lKMU5GTk5LVUZhNTUvRmJtYQpOU3J4d28vY0QydGhSYkJpU1BvRG9yNklpUm12U09DU2puQ29Cb2UyTlNOVDVablZZS2pQSWlYb1hTOWovNUFka3pIWENRTU1xWENDCmZLK3luTVVXQkdSMnZZaFpmYlU5VUdSck1yM01aYWhMSEhlOTBIWndUNHcvOWxXV2djYkViVjdIUURaK2lwclhObXpjdTBXZi9WWGoKMHFyeGljZ05mZE5zeHhPT2drRlk4alZVWXpGUi9jWWhsZnBEaDdyNXlEaGFCWVQ1ZStGQkRCKzBkWFlVLzd6ZkN1MFFVNmQyT0s2ZApBZEpLd0pYTHZyZzV5NXJXMFRtSjRhSDJDQnQ5TWU3SUtFQnJHYW5Rb1RpRVlSOFVhRlBuNUtOcjNHUWQrY3hJMjhscVI0MW0zUWhNCmU1dy9FWE9TcGVUSGxMQXJvdzNPdjdQMHFWRUtOOUlLSGFNandsUzAwTGJSdDZQdm9pOVpiSkd6cDg0NWZLdFp5UFlJZVVCTmMrRkoKbzJpYWNzMTlZaTVwK0d3TTF2bDJ2OWw1NmRhYUg3RFhRK1V0T2NzcUtEcnluL1VWVWJxdzZ6aFBOWTZVUS83N3VnUnp4anArWFNxdgowMWtpT1F0amgrNU92Q25Cc2FxalFtVVc0T2taQXh2VXJJbTdOYUhGTUk5MWJpSnZDbkIyMCtkZUZqTHhKTjA0eml5VUFGVXk2MXliCkovL25zV2VwU2ovWjRTQ1pSWDRtbmFtd2Fad1BKSUp6blZFVjZYdUgzYXdUVFQvTTBKQitRSE16V2ZUdjJibFBwUT09CgldXT4KCTwhW0NEQVRBWwoJVmVFcG5ZMDlxN1p3bGRTektDL0MwaHh6ZVdzR3NJWEEwaVU2VEF6Sk95eUpXcDJ1ZzlJTElTL01rRXZsL2F6eVE4SWVYZ3lNbTlHUgpIbHV2N01FMUFGdGhERXREY2Ztd3Z2elFCUXdET3NCeHpCd0lwVUNGUGdNVGdFY2U3QnZob0F0VGNhcEF6Ykt6eVpkWnpFaUxGT1VaCklyQmtFR3dFdHlGOFlqR0hpdVowSm4weHlwMU81c1M0ZXNEWWJhV1B5Z2xCRmlWcUdOaG5zaVJHVFRmWUpIajA1UWdFOThCamJnc3AKRWZoaS9Dd1lwQzVncmkrSjJoQ01kdzdJbG1yZWxPOU1nREh5SW5EMmZ1RU1JWmVYT0w3WERsb3ZmYk91dUw4Z1VYVTRzRlF5c1hGWQpKeHRwaWRjcnNUb0owKzM5aDZIamxKUEJ2R3hqcGxUVkR6TWJKNlJzMzRoTWUrcEF0YXFiQXNmRnIrZjlqV2lLeWtqRUw2d2U0dDdaCnVETWY4Wkd3LzQrcHRYTnhpU3MzY25RbjhVMFRrZk95MXdsbUdHa0JSYTZBbVV4UTBFNGhqenk3K2FvY0hLMitoYmd3ajlhWVRyaCsKU05QUHU0MDFjY1hzc21pVVFuZzE4bWU3TUdlUjA0aDh0L3NVRXhBUzJuMCtwaHA1cERVdDU2a0owUUJieWxPSFJzczIzbCtBU0lwdAorQ00wTE9uOGNWbGpEY0U0d1hkcHB3NXRJTEVUd3QyZm02RXowRXpOWTI0R1RCaDY1bCtYSlBwenN0YUFHTG9xM3lPOHNpWjBDNHp4Cm0rN1g2c1V3VlVTbmI0SCtiVElpNlRxVDY5dVZGTUttelJzVWNYZExaeVZ5T0g2S1RQS05PRHN6TWVKSUt5R2ZUb2s5ekUwQVZlU24KYlNQZVcxclpIWjhuK2g5SThQbzZRbkFPWXFmMXAydTV6b284WGM0aDZ6aUNlakMvNDNoZHJSaFVxdS8rMWNoTWRQQWo2VEhuZWIxSQphKzFxTmdtOUZjcXpyUmlLRU5tNnZKWkxrVUp0NGZISDZMbjJHZDA5OFB6SHNOdER3L3pUL0FkWnZ3YU5ONjVWdnZvOThlVURadXVsCklWU3YxM211Y3hyQ1p2c3Y4eVN5OGNCQmYzOXFzanBoWEdlZjhQaTY3MkcrV0NmRWdwTitkakZ0bVkwZjB6UGF6ZTV6MVNBU3F5UkoKbEdHVlpsYjZLUnJ4YUQwbVZHczhwZGxHNERWV3NIMTZyM1d1bEs3cVJkRDVWd0VqdmJVb1lOTE5yZ3lIcUpjdjRKTnoxeDBVWEJ1dQpXcXlKMVRQWitPb2hXL3ZOYjJTZnphSm03eVVlK3lIZzdac1pQbGZraEZyN2lZZS96Q2ZKdXY0WkJvdUxHR0ZvbktYYXRPRElpbW52CmI0eCtpOUk0MzRES25Yd1B4U1J3ZjNMUGt0djlvN3NSQWlJM2dnZzVnRzkraFBFVVRMN0tFUnRvOWlPSzdUYmlLeGd6TVJmSVZVamoKUlZvMks2VWQzdEhkWGdPTWtXR2thZlFQY2p0V2Vjam5PUk1POW5KY1ZrUFlIRTdOem16QmJRWXBpVklETFpRSlIwbEhxaVdsTEpqcgp2UTVKcDVwT2pIVFZoU2hSS3RnVnRXOUdOQ2E1bVBJQzRubnpXU0FWYyt6TVg1c1ZlbFU4cVZIUExHd1cxNmUyQmdMZkVwNWFxYWYxCkxhNTh6WC9EMXVaUGg1V0VNNkt6dEZjdkdGUXRGam9sNHUvdy9KVGJ0MFJ4dHVVS0dldDNpOU5jRmFNYk9BTXFVS1BHN0QrVVl4QTEKT3JUSFV5NTFFdk15d3Z5Wmxnai9wODk3cU43Mm9xVnBiTldEUWl5WmxuSk8rWW5VZVFFa2w4eFNqR0hNU0JHMjVZZm5KazZWbEsyawpKQnFMYm5tZU1CUHNwWGlVUi9ld1Fic0l4aEtmTEN1U0NnVFpUbmxRT3hvTnNrMG82ZERuTHJqN1ZZUlZ5aTZ2Z2U2amNNYW5Ic2RWCjhYbXE3V09aQnhmNkpwS0xnYjk4QlFUT1JLUDhEdHdpWFFRemFDSW43U2ZCckdqZ0UzcWR0VVBuYVJ2RFpqT1p4SWxRMGYxSnBRYm0KZzBwL2ljclh2ZG9VKzlsbjhjTWtmb1dyMmpGSzhQL0hyV2JvU2M1MlZiQk9iZWRoVXMxY2pRT3ZWb0NrK3NBa09ZaGNEVXordEJRNgpRNXhrZFdaZ1lwT0k4dEhNcHdHMDRXdlVHcWp4aUVQL0o0LytBbG80NFhSVWN5R2VqTE1TNXdSdERCWksrUnQ0cm0xdFcwNDVTVlByCkMweFl6QWViMDV3QjB6ZjRzZEFzREVhM0I5aGJJQWZuSVV4VDFGYWYxRk5jVzVqOWdCdkVJckJtY1NGZ0xVa1ptUVR1cWgzN2JoSEsKWEppUm9OMlFlSTdmbGI4Q3lrSVcxcG9EbHdvTk1TaWovVnR1Yk5aVHcvUzBoblJRNU9LaEs3QVpZRlM0d0RrR3JpTTZjUU5YTExIWApjQXRNWWQwQVg5QVg4VCtGSXloOE9idHpmS1dNaEhrcm9CMFFmZlBSbWlyNUd2eGdoc2gxbzMwUWtpc0hBdVZpQld6Nk1HNzVWblYvCnhTdk5RUDJPUjk2YnBiNlBINWpvWDk5eUtGNU5QUkxSNTRoeUlGaTRMNG1HNTlnR3VrQkFPUC8yZmk5TTZXbTNsUWMyazJQU25XVSsKdWwxTW1ZbDRLWldXRkYydDJMQUVNaUhpc09kQXMxdXo0cVRBcldzVGpaM05paWJrQmVwUzRBNlF1NWwyZ3FUa2FBYUdxUXcwbVlzYwpCaUVWTy9YSUNKSzgrYnd2cFk5MndaRXVucGs1RE1YUmlHL3BHc3o4OE1RZ0xvcEhOYTE1b0VEQkIyWTBMYndhOVM4bWJGSjBxSG1DClQzTjZrZGd0QWJKYkFFdDNjTnV1TFdNVEltQkpSeHBWY0Nob2hCUmlsN3NUVnlQZUc0TlYzUlFJSlIzREtxNk5UM3g3d2pWK0pEZDcKTnd3ekFrQmoxVkdETXNvUUlFWlBYaVc1N1JCWGNUdjdqQVFVRFJSczFsRmYrTHFxMkFnTXMzaFB0WVRkdkRkS1ovNUVWUzNTYld3bQpHRW1nRzEzM3RabW5aSUp0eEF3U2hEeDlydUp0Q2Q3MFFCWmZlVk8xZXd4ekFlSFF4cGI5QW9DUVgyOGlJQVpzOFFkd1NnUytKRkhmCllBa1lDNE9pblUvV2xSRnJJS3h5QnRFQ3BrOTJOZ1gzTHUxdkFjc0JxQVpycmJCVm1LeHZTenpMV0RiM3FXWmExbGhIb3hQNkhFVW0KSC84aUo2Yk1FbHpNbnJWM29hTHhjblc1SlcrNVVkQXdhcUt4VzkwS05EYTRtRTJSTFVoZjcrWlE0RGdLSlBQTFNXQ2V1K2RJSjhHdAp5ejFic3dScjd2NkhRdDMybTl4TjZ3ekNrWmNvK3dHMjVwaTkwUTVRMFVKcWZHU0hFS3JhS2RPOWNQSXRrN2Y4Wis2YVU2N3FzRElzCmVxVXNYNkhlYkZHQlQ3Wk0ySmdRSjU0Q3R0MTljQXhkYStZOHZtaGhrUWczajB1S21pbWlac09MM0F3dGdBbGpiRzFuQnFpSlNwNWQKRkVWSk9TV3BjVGVlV2RJRklwVXlXa0FKUnE3NVZhdWRoaVpnUDc2VXdFTHliclkwR29QNGhMZS9SS3RVYnUyK1VHbEJzWTlnby9rVQp5TjA0eXJqcHZxejZLYTJMbWJlanVuL1Q3VlVIVnhNWUhWMEJWU3RwMU1Pb1BZZ3ZuTlNHY0o0R1RCSG5mTTZmSjROeW8vUGx1VEw1CjNCenc0Q1NudGwwNjBwaG54NHAraTBJZEFFSWdaNlFjeHBSQjBtL096eHpkbE9PTFFJTy84VEZlQU9jd0hMYUpRdU4vVjh5Tnk5aFcKL0NGVVBTNkRHbUlRVG80M2Exckc2WUxmZFlDdVBhY1hsT2JrTGVCcSt1eDBxTE55aHIzTjQzL0ZRYnZVa3ZpdS9sV1hBSERUdlRwTQorVTdZMjlQSXNXd1ovclU2U005S1gzdlBBYUVWOFBIcnJVMnV3NnBkaGZ0NEIzWWJBd1pJVDU0bjNYNlBFbEh2TWZqbjVVVXNsd080CmtmdVlseklUVG1Ja3FVcTFaT0E0R0l1THhyREdkUFFIY05WV0JHNjBqRGVaVzdxUzRuQ0xqRjVnTjhOZTRaTzVMdmdFd3p0SDlvTWIKTzd2ZTVtTmRmbVdQTDhzYk5rTVJvRld5VTZPUDdlVUtRUElZVWx2NmQ1c0xTM0s4dXJSdFpBR2xiYXNrVkVMRWJTVzZBODJvSmRBZwoyVGZlQlRrQWtqZ0UvWkt0dWtsSjhxckJ5NGc5NG1VdlBjdWNlY0F4RUQ1MGt0ckZnZEMrMmYrWXB3U1RpV0ZqYjQyZVNLUFJGZ3hOCkxUSTJqdTEwWFY3ZFlCOG9HVXNiVkJEbjJnaGdDTGtDTVYwME0yd2VGMi9QYXZ3QWRYS3k0ZWs5UDdyNEhFUTRid3lUNDU4Ujg1bS8KS1dxaGZWYnJ1WnlRc1VKYlpPRWRIeXNJUXllTVd1SWtEV29MMnlOVGRpcjhXU01TVk1SUzZVTDZmdUNJb3lHNXg3Vjc0b3M3Q3p2awozbGhhQkNIU3E1ZXZacW5zb0EwSmp3OUcxbWF5U3ZTZTN3akwzc2VueG1hNWVjcEhoV2hteElMUVBUeVRDYVR6NjRGTzEyZEhLbVNvCnhLaXJ4MkFEUG1yQW9wYkxWRkpUWDdYZ2JQeVZrdzdZdUU2T2ZMVjBmbkpUTHJtMmUyVDEvbHhIVWlJa2dTUnNzcGppOEZ5SmtiY1gKTUZiSjA3cnJPalQzY3dCWHdpb09sL2k3Uk1FL1Y0THZDYjFteExERUZkZFF5aXlvZFVjTDd3S3piVitpTHF0ZzRQdXNyUFI1ajI1TQpZU3B2SmdhOWorSm40ZHorWThxeEsvdUlMZUVOYjN3TEZYWmhKKzdoaFBZbHhKV0ZxQlRiUGhsVzBLQ3dDZVViK2N0SDM0ZktzL1BBCktMU1RSY3NaT3RPV08rakNwZGNFWWpxMWkzejhJLzZJZ0lQZ2cvQVhjcHkxZjNIWG53eklvaDBwZzI4VUJWYkdxaXl1andGUVVBZVgKTGdrODM3NmhvSGhiWkRiQ25FV3hNVWFXVHhtMHZBaDlKWUFFQjJCTWhwaWUybjlkZlNMM2paMmUxdmhMeEJQaFNnWG4xMHZ2T0IrRwpnVWlyWG9ST3ZYYzIyKzJjRytZbQoJXV0+CjwvaTphaXBnZj4KPC9zdmc+Cg==\"","<script lang=\"ts\">\n import type{ TUser } from \"../../../utils/types\";\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonLink from \"../shared/inputs/button-link/ButtonLink.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import NewWindowIcon from \"../../images/new-window.svg\";\n import GitbookIcon from \"../../images/gitbook-logo.svg\";\n import AccountIcon from \"../../images/account.svg\";\n import UserInfo from \"../shared/UserInfo.svelte\";\n\n export let options: {\n links: {\n passportLink?: string;\n scanLink?: string;\n scanIcon?: string;\n scanName?: string;\n nftsLink?: string;\n nftsIcon?: string;\n };\n gitbookUrl: string;\n gitbookToken: string | null;\n onSignOut: () => void;\n onUpdateProfile: () => void;\n\n storedValueAlias: string;\n balance: string | null;\n userData: TUser | null;\n userAddress: Promise<string>;\n };\n\n let {\n gitbookToken,\n onSignOut,\n onUpdateProfile,\n gitbookUrl,\n userAddress,\n storedValueAlias,\n } = options;\n\n $: links = options.links;\n $: balance = options.balance;\n $: userData = options.userData;\n</script>\n\n<ContentHeader text=\"Account Details\" />\n<div class=\"crtw-flex crtw-flex-col crtw-w-full crtw-mt-9 crtw-gap-9\">\n <UserInfo options={{ userAddress, userData, storedValueAlias, balance }} />\n <div\n class=\"crtw-flex crtw-flex-col crtw-w-full crtw-items-center crtw-gap-2.5\"\n >\n {#if links?.passportLink}\n <a\n href={links.passportLink}\n target=\"_blank\"\n title=\"View on Passport\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={AccountIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>View on Passport</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n {#if links?.scanLink && links?.scanIcon}\n <a\n href={links.scanLink}\n target=\"_blank\"\n title=\"View in the block explorer\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={links.scanIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>View in {links.scanName || \"Etherscan\"}</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n {#if links?.nftsLink && links?.nftsIcon}\n <a\n href={links.nftsLink}\n target=\"_blank\"\n title=\"View assets\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={links.nftsIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>View assets on OpenSea</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n {#if gitbookToken}\n <a\n href={`${gitbookUrl}?jwt_token=${gitbookToken}`}\n target=\"_blank\"\n title=\"GitBook docs\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={GitbookIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>GitBook docs</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n </div>\n <div\n class=\"crtw-flex crtw-flex-col crtw-justify-center crtw-items-center crtw-gap-4\"\n >\n <ButtonLink text=\"Update your account details\" onClick={onUpdateProfile} />\n <Button text=\"Sign Out\" onClick={onSignOut} />\n </div>\n</div>\n","import { Chains } from '@packages/utils/enums'\nimport { type TProfileLinks } from '@packages/utils/types'\nimport { configStore } from '@src/stores/config'\nimport { get } from 'svelte/store'\nimport { CHAIN_INFO } from '@packages/utils/chains'\n\n// eslint-disable-next-line max-lines-per-function, complexity\nexport const getProfileLinks = (address: string): TProfileLinks => {\n const { chainId } = get(configStore)\n switch (chainId) {\n case Chains.POLYGON_AMOY:\n return {\n scanName: 'Polygonscan',\n scanIcon: 'https://amoy.polygonscan.com/assets/poly/images/svg/logos/polygon-chain.svg?v=23.11.1.0',\n scanLink: CHAIN_INFO[Chains.POLYGON_AMOY].scanUrl + '/address/' + address,\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://testnets.opensea.io/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n }\n\n case Chains.CHILIZ_SPICY:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cloudflare-ipfs.com/ipfs/bafkreic5h74pwuf3ony3c5zmqoenps4pxj7l5q5j3o2mdcflfpb7g5tivy',\n scanLink: CHAIN_INFO[Chains.CHILIZ_SPICY].scanUrl + '/address/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n }\n\n case Chains.CHILIZ:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cloudflare-ipfs.com/ipfs/bafkreic5h74pwuf3ony3c5zmqoenps4pxj7l5q5j3o2mdcflfpb7g5tivy',\n scanLink: CHAIN_INFO[Chains.CHILIZ].scanUrl + '/address/' + address,\n passportLink: 'https://passport.credenza3.com',\n }\n\n case Chains.AVALANCHE_FUJI:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cryptologos.cc/logos/avalanche-avax-logo.svg?v=040',\n scanLink: CHAIN_INFO[Chains.AVALANCHE_FUJI].scanUrl + '/address/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://testnets.opensea.io/' + address,\n }\n\n case Chains.AVALANCHE:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cryptologos.cc/logos/avalanche-avax-logo.svg?v=040',\n scanLink: CHAIN_INFO[Chains.AVALANCHE].scanUrl + '/address/' + address,\n passportLink: 'https://passport.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://opensea.io/' + address,\n }\n case Chains.BASE:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cdn.brandfetch.io/id6XsSOVVS/theme/dark/logo.svg?c=1dxbfHSJFAPEGdCLU4o5B',\n scanLink: CHAIN_INFO[Chains.BASE].scanUrl + '/address/' + address,\n passportLink: 'https://passport.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://opensea.io/' + address,\n }\n case Chains.BASE_SEPOLIA:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cdn.brandfetch.io/id6XsSOVVS/theme/dark/logo.svg?c=1dxbfHSJFAPEGdCLU4o5B',\n scanLink: CHAIN_INFO[Chains.BASE_SEPOLIA].scanUrl + '/address/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://testnets.opensea.io/' + address,\n }\n case Chains.POLYGON:\n default:\n return {\n scanName: 'Polygonscan',\n scanIcon: CHAIN_INFO[Chains.POLYGON].scanUrl + '/assets/poly/images/svg/logos/polygon-chain.svg?v=23.11.1.0',\n scanLink: CHAIN_INFO[Chains.POLYGON].scanUrl + '/address/' + address,\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://opensea.io/' + address,\n passportLink: 'https://passport.credenza3.com',\n }\n }\n}\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { ethers } from '@credenza3/core-web-evm-ext'\n\n import { clientPublicStore, fn, forcedPageStore, pageStore, userStore } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n\n import { getProfileLinks } from '@pages/profile/Profile.service'\n import { analytics } from '@lib/mixpanel/mixpanel'\n\n import type { TEvmContract, TProfileLinks } from '@packages/utils/types'\n\n import { getGitbookAccessToken } from '@src/Passport.service'\n import { Profile } from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n\n const { getCREDContract, checkMembership } = get(fn)\n\n let links: TProfileLinks = {} as TProfileLinks\n let balance: string | null = null\n let gitbookToken: string | null = null\n\n const getProfileInfo = async () => {\n const publicKey = await getAddress()\n links = getProfileLinks(publicKey)\n try {\n const { isMember } = await checkMembership(publicKey)\n if (isMember) gitbookToken = await getGitbookAccessToken()\n } catch (err) {\n gitbookToken = null\n }\n\n if ($configStore.buyTokens !== false) {\n try {\n const { contract, decimals, address: contractAddress } = await getCREDContract() as TEvmContract\n const [balanceResult, symbol] = await Promise.all([\n contract.balanceOf(publicKey).then((weiBalance: bigint) => ethers.formatUnits(weiBalance, decimals)),\n contract.symbol(),\n ])\n balance = `${balanceResult} ${symbol}`\n analytics.track('cp_profile_balance_read', {\n chain: $configStore.chainId,\n contract: contractAddress,\n decimals,\n balance: balanceResult,\n symbol,\n })\n } catch (err) {\n balance = '-'\n }\n }\n }\n\n $: $configStore.chainId && getProfileInfo()\n</script>\n\n<Profile\n options={{\n links,\n gitbookToken,\n gitbookUrl: get(configStore).credenza.gitbookUrl,\n onSignOut: () => pageStore.set(Pages.LOGOUT),\n onUpdateProfile: () => forcedPageStore.set(Pages.UPDATE_PROFILE),\n balance,\n storedValueAlias: $clientPublicStore?.ui_settings.stored_value_alias,\n userData: $userStore,\n userAddress: getAddress(),\n }}\n/>\n"],"names":["NewWindowIcon","GitbookIcon","options","$.prop","$$props","gitbookToken","onSignOut","onUpdateProfile","gitbookUrl","userAddress","storedValueAlias","links","balance","userData","$.untrack","$.get","AccountIcon","$$render","consequent","getProfileLinks","address","chainId","get","configStore","Chains","CHAIN_INFO","__awaiter","thisArg","_arguments","P","generator","getCREDContract","checkMembership","fn","getProfileInfo","publicKey","getAddress","isMember","$.set","getGitbookAccessToken","$configStore","contract","decimals","contractAddress","balanceResult","symbol","weiBalance","ethers","analytics","Pages","forcedPageStore","$clientPublicStore","$userStore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Profile-Bvp4yZbP.js","sources":["../../ui/images/new-window.svg","../../ui/images/gitbook-logo.svg","../../ui/main/profile/Profile.svelte","../src/app/pages/profile/Profile.service.ts","../src/app/pages/profile/Profile.svelte"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='15'%20height='15'%20viewBox='0%200%2015%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12%2013C12.5523%2013%2013%2012.5523%2013%2012V3C13%202.44771%2012.5523%202%2012%202H3C2.44771%202%202%202.44771%202%203V6.5C2%206.77614%202.22386%207%202.5%207C2.77614%207%203%206.77614%203%206.5V3H12V12H8.5C8.22386%2012%208%2012.2239%208%2012.5C8%2012.7761%208.22386%2013%208.5%2013H12ZM9%206.5C9%206.5001%209%206.50021%209%206.50031V6.50035V9.5C9%209.77614%208.77614%2010%208.5%2010C8.22386%2010%208%209.77614%208%209.5V7.70711L2.85355%2012.8536C2.65829%2013.0488%202.34171%2013.0488%202.14645%2012.8536C1.95118%2012.6583%201.95118%2012.3417%202.14645%2012.1464L7.29289%207H5.5C5.22386%207%205%206.77614%205%206.5C5%206.22386%205.22386%206%205.5%206H8.5C8.56779%206%208.63244%206.01349%208.69139%206.03794C8.74949%206.06198%208.80398%206.09744%208.85143%206.14433C8.94251%206.23434%208.9992%206.35909%208.99999%206.49708L8.99999%206.49738'%20fill='currentColor'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjEuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiIFsKCTwhRU5USVRZIG5zX2V4dGVuZCAiaHR0cDovL25zLmFkb2JlLmNvbS9FeHRlbnNpYmlsaXR5LzEuMC8iPgoJPCFFTlRJVFkgbnNfYWkgImh0dHA6Ly9ucy5hZG9iZS5jb20vQWRvYmVJbGx1c3RyYXRvci8xMC4wLyI+Cgk8IUVOVElUWSBuc19ncmFwaHMgImh0dHA6Ly9ucy5hZG9iZS5jb20vR3JhcGhzLzEuMC8iPgoJPCFFTlRJVFkgbnNfdmFycyAiaHR0cDovL25zLmFkb2JlLmNvbS9WYXJpYWJsZXMvMS4wLyI+Cgk8IUVOVElUWSBuc19pbXJlcCAiaHR0cDovL25zLmFkb2JlLmNvbS9JbWFnZVJlcGxhY2VtZW50LzEuMC8iPgoJPCFFTlRJVFkgbnNfc2Z3ICJodHRwOi8vbnMuYWRvYmUuY29tL1NhdmVGb3JXZWIvMS4wLyI+Cgk8IUVOVElUWSBuc19jdXN0b20gImh0dHA6Ly9ucy5hZG9iZS5jb20vR2VuZXJpY0N1c3RvbU5hbWVzcGFjZS8xLjAvIj4KCTwhRU5USVRZIG5zX2Fkb2JlX3hwYXRoICJodHRwOi8vbnMuYWRvYmUuY29tL1hQYXRoLzEuMC8iPgpdPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhbHF1ZV8xIiB4bWxuczp4PSImbnNfZXh0ZW5kOyIgeG1sbnM6aT0iJm5zX2FpOyIgeG1sbnM6Z3JhcGg9IiZuc19ncmFwaHM7IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjQgNjQiCgkgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA2NCA2NDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM0Mjg1RkQ7fQo8L3N0eWxlPgo8c3dpdGNoPgoJPGZvcmVpZ25PYmplY3QgcmVxdWlyZWRFeHRlbnNpb25zPSImbnNfYWk7IiB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4KCQk8aTphaXBnZlJlZiAgeGxpbms6aHJlZj0iI2Fkb2JlX2lsbHVzdHJhdG9yX3BnZiI+CgkJPC9pOmFpcGdmUmVmPgoJPC9mb3JlaWduT2JqZWN0PgoJPGcgaTpleHRyYW5lb3VzPSJzZWxmIj4KCQk8Zz4KCQkJPHBhdGggaWQ9IkZpbGwtMSIgY2xhc3M9InN0MCIgZD0iTTI4LjgsNDcuNGMxLDAsMS45LDAuOCwxLjksMS45YzAsMS0wLjgsMS45LTEuOSwxLjljLTEsMC0xLjktMC44LTEuOS0xLjkKCQkJCUMyNi45LDQ4LjIsMjcuOCw0Ny40LDI4LjgsNDcuNCBNNTguMiwzNS44Yy0xLDAtMS45LTAuOC0xLjktMS45YzAtMSwwLjgtMS45LDEuOS0xLjljMSwwLDEuOSwwLjgsMS45LDEuOQoJCQkJQzYwLjEsMzQuOSw1OS4yLDM1LjgsNTguMiwzNS44IE01OC4yLDI4LjFjLTMuMiwwLTUuOCwyLjYtNS44LDUuOGMwLDAuNiwwLjEsMS4yLDAuMywxLjhMMzMuNiw0NS45Yy0xLjEtMS42LTIuOS0yLjUtNC44LTIuNQoJCQkJYy0yLjIsMC00LjIsMS4zLTUuMiwzLjJMNi40LDM3LjZjLTEuOC0xLTMuMi0zLjktMy02LjdjMC4xLTEuNCwwLjYtMi41LDEuMy0yLjljMC41LTAuMywxLTAuMiwxLjcsMC4xbDAuMSwwLjEKCQkJCWM0LjYsMi40LDE5LjUsMTAuMiwyMC4xLDEwLjVjMSwwLjQsMS41LDAuNiwzLjItMC4ybDMwLjgtMTZjMC41LTAuMiwxLTAuNiwxLTEuM2MwLTAuOS0wLjktMS4zLTAuOS0xLjMKCQkJCWMtMS44LTAuOC00LjUtMi4xLTcuMS0zLjNjLTUuNi0yLjYtMTItNS42LTE0LjgtNy4xYy0yLjQtMS4zLTQuNC0wLjItNC43LDBsLTAuNywwLjNDMjAuNywxNi4yLDMuOSwyNC41LDIuOSwyNS4xCgkJCQljLTEuNywxLTIuOCwzLjEtMi45LDUuN2MtMC4yLDQuMSwxLjksOC40LDQuOSw5LjlsMTguMiw5LjRjMC40LDIuOCwyLjksNSw1LjcsNWMzLjIsMCw1LjctMi41LDUuOC01LjdsMjAtMTAuOAoJCQkJYzEsMC44LDIuMywxLjIsMy42LDEuMmMzLjIsMCw1LjgtMi42LDUuOC01LjhDNjQsMzAuNyw2MS40LDI4LjEsNTguMiwyOC4xIi8+CgkJPC9nPgoJPC9nPgo8L3N3aXRjaD4KPGk6YWlwZ2YgIGlkPSJhZG9iZV9pbGx1c3RyYXRvcl9wZ2YiIGk6cGdmRW5jb2Rpbmc9InpzdGQvYmFzZTY0IiBpOnBnZlZlcnNpb249IjI0Ij4KCTwhW0NEQVRBWwoJS0xVdi9RQlkxZHdDU2hvdm15MlFBTURTRGdEd2U3ZHEwR0NrRUIwdnB4enpBeTZYSzZJTXdITHBickpMTXpyVElGUUFBQUJBaUVRQQpBQUd5Q1NvS0tnbzUwNGpZVkM2YkVPQjgwQUpoZ2VETEE3UHhVR1EvU2hUdmtwZjFzWlV1OHJGeDFTbXlhVXlqeU9aWEVvOU5aRlBkCjVpVmVzblZNbzhpMjA1VExCTFQ1V1NBNFJiRlFOZ3VsalVQbU9rQ2ttdEYyT0RlMmdZRGpRZlVmRkJnZ29CRUxpZ0ttS1pkaHhoUG4KcXE1dStNNk5oSVRBNGRVZHV0Zitva0dKaE1wMlpUallmZFNzYm9VSFp1T09Fc1c3K1hNbFc0YjBpV3lpU2F6YjdFcmlzYlhJVm1UNwpEZ2lQamNBRmRodVhoUnFlWktOdzlHTnI5UkNseTJEcHJqSWlKYlRndU1LL3lseldoWW9lVU5BVEJZS2RQNTEzOWRxcWRKSlA1MTBQCk5hcDBud1FIT3k2TGFLUHFUSTBaN2pzZGpNamlhUk1ONDQ3RnkxWUI0d0xHSGN0QXlGR1dGcFAwcUV4Ulc4MlJWSWxwYUJuSDhwSTYKTTZNYXM2aHpJb1dlSXJtYW9rVUZqQ1pacmtaVnRpa3p0anJSdEV5WnFWU0puaXVUSEZraTZrcUpKY3FtNVN1RkFaQ2VMWlFzVjFhVgpwZ0swOEZpS0tkV3EwbFFBVnRxeXFGaW1ZNENTWEswcVRkM1ZITW4wdEtvMGxiOEJxMnBkTDlaS3JxaHpJaDFWWWt0OW5TbXJwcUpKCm9xeUs5blZVcllxaVlpbytWeWxhcXV4cXJpd3FZQlhSMTVuQzVSaGdMTFhJR2szelhNMHpaVlcwUklubU9LNG1hVitwbUFvOVU0c0sKY0ExNHBkTFY2bFRSMDZJQ1VBRXB5NklDeURKbFVRRnJPZ1l3ejVSRkJiVFdNMFh0SzJXenBQZVBPMGJUMFM1aFNFMUZWSnBTeHhKbApYUzhXT3E1a0t3QlZIVk1VamFrV0ZXQ2FvcHFxMHZObDB6S0ZPaWRlSzRsU3hVdXVUdFJxa3FuSkl0VlJaVkhueEpteUtZcW1Zd0F5CnpXZ0RVSnBxTk1uVm1IR2s2TG11cTdHMEkwdDhrZit6S1lwbTNGTVVUVkZVaFphajZueXAwSFFzVjFWbHkxVWR5L0pNa1JudFhKa2QKMUdtZ2xhV0lIYVpZb2xEU3BhclNjMVRUTWNDWWx1V1pZcGxpT3JKRTFLTE9DYy9EZUVHRUUwUWd6VVh6UkNETkY5SUVqQ1ZLbGhoVgpKRXVMUnE2bVJldFl0STQ3RmkzampvVlVUNVBVVGxQN0tpb21XczF6ZzgxUlJYSUNPRnNpZFN4UmNpMWpuekdBS09wWVZ1a0lLa2NCCkpPam1qa1ZFMWZFbEltUTZxeXA2VnZQY2hDTVJLcExDa1VnMW9sNmFjQ1E2VTZZbUhJblM4ZUJjWTVad0pFcWRudFU4TitGSWxGbkkKaENPUmdIRmh4UUtGSTFFNEVxbGtha3hCNFVpMG5naWVwaHBWNlprYVE1NDIwTUMvakIwQ3pndDZwaGpjc3dNOVFkcklFbU1zVS9TcwpNWFNOSldpL1kybXA0MGY3SFF2VzFvMm1SV2l2R0trYVB3OE9qdlBYMVpUYzZQdzkveGVWZWFaR2tZQlJaWGJXMWVqUitQYmZ0aGgvCkgzb3VyRWJQLzlUVkpGTTBIUU9jYUZtT21JNjExL3gzOGVVVzYrMUxFYVVGa0tRbnlScFRUY0JZb3E4enBhRmttYm9zazJ5cHBDbU8KeGdEa0twWmppRXRXY1JXUktqa2FNQjZvNjZpcWxyRkVpV3Q2b2dJMDNwb2lNdzV0b0dNcFNaUzRDaGdYdERGQU9xcGpDdEl3N2xoVQpUVVdtTEcxQXloeFRFVlZOTVYyMTM3R1VzUmVwYXVtSWlxajJPNWF4UkduaktwYW5TcUpZR2s2MXJLVm5lYVpFN1hjc1B1L01UMXdXCllXbHI3SFNsVHRPbGFUZ2RWMVVNYWVjYXMyZ2RpME1iV0U5VXRTU3Erc2hTTE0rVUtyNVVJdHIxdWhvOS9udk9NVThBa09uSnliRVQKVTVZakJydk9kRlZ2dW9yS01yYnBXRndPa1N4RmpWeE5zWThBSUVWbE9XSzBnSEhWUnBNczE5aXBwZU5LdTdoanVTdVpFdEdFcjM5WgpYN2ptdkMrSUtRMmI0eXBBczdaWVpJaHpuSy9uS1ZOY1ZUTERNc2tBUm5Ma3Q3aUt1TVY3ZTQxYi9MRW5UWWJRdWhvOW12Tytya1lQCnpqMlhMTk15cHNUTnVobzlmSTlwdUQvUDl6cXFxMVZDZXA3bDVxUWkwMUMxK09JcXFzUjFmQVd3VXNkVUdqdEZlRjJObnRlNXJpZEsKZ0lCLy80QUJHL09mci9mZjk5bWJXeXh5YkcyTXYzLzMxM252Ylc5dXJTb3lnSHR4aWl4VkhNQkt6ZXNvV2tlUnVJcVpzVVJmb2pwNQpuYXNhUzUxVWt4RmdFbUF5bGlpUlRNVUFPS0lhWGFtek5FOXpGS1ZpQUV5aVROVXNYd0ppcFJoZ1FFM0ZBQ2ZWWkRqUUFldW9PczA4CnBxcVNiS1hVY1kyaHlIUmRSY21vT3MzeUpjQ2hEWXlxRThIeklYbmF3SUJxWEZOak9ZclVqa01yei9QaWFkaVZpcDhCWW9tcVpDYnYKL2hJUlJ0V1pJazBHVDN0Z1RaV0tKMnBOTFk3cnRjMzVoODJUWEVuMUJEbTBFNWVGem9WeURLMG1lWUo2RGxsQURxMFV4NUNuNFFGaQptbG84aXppbUZ2Uk1NUTV0TlR1ZWRrOWNGdEVlSlpLQTh4TEFTSTVPNFVqazBGZ21tYTRpVDNzNEJxU2llWkpyaXB4bzNvbkx4RlhNCmZKV3BPZTI4ODZxU25nc29TNEd5REFBa0ZHaGMxN0VVUVNwVE02Q3R4b3luWlFOZXBpSnBXTU5aaUtUZFRLWGRpQWZ0bzEyc0JhQmgKYlVLN21vRjJzd0VrN1dZV2tuWTEzRFhtOStPUGIzeS92ZHJ2L0h1ZWQrOS8zKzMzN2h4L2VYLzh2MjZ2eHZ2ZmYzOTk0L3o5L2RtYgpoYlNiaVNRTjN5eEJ1Mk9KdmtpUmwwVzA4U1VpZU5vallpMWo0bXJNUERpeWlXWUdjSm9IWHFhTzVZQlZ0S2FXTDVHb1RNMkpqd0ZJCmo2b3l4L0tpdFVUYVkwVEZsa2hUbWJFVGZaMlljU1ZqSWkwZFZTYTVhcTBpaUxTT3BsaUNWcE1VUGFsb2lpWElvVDNRc3h3RG1KcFgKZXE3R1RBQnlUWTJvbW80Z2gvWmdtV1JLVEJjMGgvWllVK01FS2tGVGpRQWcwM05OamFNVTJVTEZsRVdXcFlnWlU3SGNwRjdqcWc0UQpqV1dLWEZNUjlGTEo4a1M5Qm9oVUZPbHBwVll4QUpHV25pdXAwbWhyYW5tZ3BHakw4MXhZVTR0RGUyaVA4andYdEpZYVN5OWFheFZCClpvS1pqdXNxZ2h6WnVUSTdhT3hNUTVOa3hVclF5U05rTEpOY1RUSUZtU2ZDQ1kydG80aDFsbWNLTWtuV2VPRzRURjNOOGZVNk1TcFQKdzNHWjZHUHYvV0JPR1p2anVvcmxKbS9zT2U3ZnovL21qN0czWHN1ZmlrekQwOWV6Uk10YVQweVNSYVlKSTBzRWNWejJCVENTSTNORQpFN0RlV3U5Wnc5eHJQbStzYmJ6My9ybGZ2bisvVm11NDYyL3p2Ly9kM0Y2dU5mMC83LzNiL09adjIrOGxvM1BCSE5HRTAxZlRjWURvCmVjVVEvQm9yVDNVTXJTTXJGUmV3V0c2d05pbEgxZm41SFF1WGRXMmlycVRKa0k1bExIVHYzcUkxdFl6bWlhQk5BaGpKQUdQdW10ZGEKK3pxV2FQdkxrcExrOW1xc2NmdnBQcTVpaWI3R0JkeS9qN1dyVFZSWEtyN1FNMzFFbUNkSnNzYlFnK05xazBzWTRyanNhaE9WWlpMcgpPb3BHbHZqcW5MNk9oY3UweWNnU1ZZYVQ3bGk0N09ldFRkSVI5WW9ocUVveWRqbGwzTEZnYlJWZjZia1pTM0p6NGgwTGw0bXJPYkxFCmoyYUtBekRhUkUzUDhzU282cGc2VTlCcWpxOVk2c3h3WFBhejloNXZ6am0rTnZPczRXOTExNzZPc2VkN2IvOHR2MW43OTErcmppR1MKdzNHWjVsbmJYZU0zYTFlYkNEZ3ZMSk5VbWJIenduR1o5cnBqYlRJQ2dGUlZNWUFwWWpndSs0QzB1eWRZdTluN3NOZTF5YmlLR2ZNawpINndBcWpYUEZDbHhuU2RxSlZrT2JUS1dLN25BY2RuRG9UMUdOWlpLeFkvV0VrOEVoelpKenczSFpkcGl1N00yTVU5U1RjZlJ5WGNzCkhKZGR1N1AyQ0RuU2N4WFRWWTJWWlVmVEp1bTVpbU9LNGJoTXUxWkxSdFNwc2toRW9JMExycHhUNzhxaEt2d3U3d0k3aFJ5cVF0UzcKWUJtbFVSdFJ3MzA2N3c1a0hpQWVSQUtCUERLYkRDUm5IdExZQm53NUpGbzhnYVF4d1JiZGZNVk1MNVVENXZGSC8vRVdKQkVGMjZKdgpJSU9hTmp3YmhXbzNnalJ0Zlk2eG9VY1NrZkJ1ZGFNbzdUVGxNbE4raFFRMHd2Mlo4bmg0Q2NCQWpoOWJDMVYwUWZBcWw2bFNKd1BNCkVDR3NOaGRQYkJRT3BiM29FaXNSU3hrS2dqL0ppczN4S1lmVmxDSHdQZHBpUXBuSVptQlQzVll3MFlwc0N4T3R5RmI2QnBJTkkyQisKT0lpeG1OVlZVYUhGckc1TVJicGtyYUpVVkhvS3JXT1Nuc0tQd3FUU29qVHlocUkwU09tSmdkTElHRXhEUTRQQXFCQXhSb0VWZUhWaApFRHJ5R0tFbHROU2RvOXpwenFWMkxuVThSd3lrQndPSkFhTkg0U2dFTzFNVWdwQnhZcnpqeEhqSGlmRTZ4b254T2pnbUwxRDRBb1dnCmlFU1I0RndNTjhIQXRnVG5uc1R4aWtpT3g4Y3hWUFFCcWptR2l0NFVKZ2Y2QUZXWVZGYlFwTUlOUE5jWDBMMmxSdVRPeENOeldVdU4KeUxremtYRlUxQW1IMVdVUm5hOW5KVmw2Q3JrTWpaUVlHaE1Lc1Qycm0za0lGUTBRQXdSMnNBSUxCTDhZSUVlRW9ib1ZnNWNCQnpuWApLWlp1bEFURnVFaFF4UkFrbUNHQ0ZlbUp3K2hzRkpHTmdLRXZJTGFGQVV0Tkp6Y1VVU1BQeFhFaU52ZXlOZ3ExVk5vb3BLRUEwdUtoCkFnVWZzUkZ3dkM2bFljaTMwTFRvRXROR0FmSFlyb3dySklCeXRQZ3AwRkN2QjNKc0JLN3pjNUc4eTA4SGtnM2pBcnNOcERwRnRtNVoKZ0d3THFsTmtFNWxHa2EwaGxJbHNlT0FBc3Awa1hySnhtY2NGZHB0b29oWFpQb0dRWThzWGhRUVY1Vm5NNnBaVzBpVmpCR0FsVXFlaQpjSG9LMDFNSWhpSWJCcUVsQ2l4UllJa0NTeFJZb3NBd2lJWUdVa05JSVdLTWhrR0VFT0dJTVJxTlNCaFlZd1ZyckJvcnRJU0IwR0FNCkJJVFE0QVlEaVNHeVFIQjJxU04ycWVNOVI2RWtBbm1jeExGeEVzZDdnSFljUXlYYkR0QURMbnNvVEJxZnd1UkFlenBtZ0NzR0w0YUIKaG4wQnJXTUd1T0xZRXdHdERWNEdBbzZKZ0RaNFFXSUd1TEpTTGx5Mlp2S242MHd3T2hPUlJtZlRPQ29zTlNLbkdVZGxuMGlYekZIUApTMVpCUm1XdHJCeFcrRUVINWpJT2h4WFJHWThvalR3YVVScjV1M0tvQ2lXRWlwSFN5SkRZS1l5WktJMThDWW5lbFRWYkNIWmhCRVJwCjVQeFJpSGh6VW9nNHk2Z3pvOENPeXpRbWpVbWpucGN1QTZIQmFLU2tNVUZBYUxCbVRZRFFZQzdUbU1JUFFySXpuNHVjZVlBMFFEbnoKa0RrL2taeDVZSURBRHNKbEEyTitiUlNrL01CbEdoQzRzREVWQ1B5TkpxWmFaRTdpcUF4YkNXQ2FualpvU1VXVkdJclNKVnZNNmxyTQo2bHBNaTNUSlhGWWloUitVbEVpWDNNQWpTaU9USkNOS0kzZkhaSldlMGxONkNqUEhaSDJnTkxKMVRMZ3M0cGhJRkJoL0ZDSzJINFVZCitTaEVyTUF3Q04xQWdua1VJdTVDaFlnYkVWaGpkWDRpV1VkZ2pSVmFDa2VrRVduRTZFQm9NS3l4dWhCWVkzVmhrdytsa1R1WE9sNUsKZDdZOEx2TUdKQU1XQ0lZTVdDQll1OVR4bnFOekZJSmN4a0Rpc25OaWdlQUh0MEJ3NW1XR0tyUkFXaUE5SGhJYzFEWklJaDNFOFpEZwpYQXcraWVOOWdjSVhLQVJGcEpkRGduTXg2bmxwTENRNHQ4RmxtOEtrY29BZXFPZGxjM3BUbUZRTzBBZUZvYUlQVUk1eGdCa3EraElTCjlRRWFmaEN5Y1F3VnZZSW1sYzZBdzc2QWpobmd5amtLd2M0QTlnVjA5bGtZVmJUQkMwOEVOSmZoaXNGTE1SSFEydUFWZnRCeVdXZmkKY1lGQmhHQnVxUkU1YnlZdUVMeG1IQlV1YTNSclJPNU1kQlpyWitLeG1XcUVSbXlvYm1jaS9HQVpjbEFGVjdDRFRiSjhJbDB5bDJYWApuandIQXdLYXl6aXN4NEhHVWVrNENoZnB3dEVvc09Oa0RrczFrUzRaQnE2Z2cyT3k0aklTckxHNm9XbzBUb3lYNFNTT2w4c1dBaTVLCkkxOUNpMnp3SFM0NVZJVWY1REtIQTBVaHZlMjdPQTBCRVllcWtFUnA1TlM3WUZzaDRjRmlWcmR6WENJYWxsRmdwNERoTktDK3hDTHkKUmd3L0dQbFFHcmtSTzNXK0MrdzI2bm1CWlJTS1ZWUUllZ3pyZUxtc0lEMTVHUWdONWpMR1FhalJTTmJnVXNlck1URzQ3QVVLUVpUZwpnWUlNQ3hydlF1STV3SlZPTTRMUXJKRVM0eUVSU2twZ3Awbmdza3RJUkNPbDAxNHVnOFJPSlFWZVhRaGFDc0dCYnNBQ3dWeDJvaCtYClFXS25qOEtrRXRwQU1SelJSRHEzMHNpTHpOanl1SXpMakMzdm9wNFhqQVdDejArRTA0QmdweENxRVJxY2VRZy9tQT09CgldXT4KCTwhW0NEQVRBWwoJSVlrY1E0SnpRUXpoQnlzR213WUk3RElOS0FycGNSdzNLQkF4VkJjRGtXQzZrd0VDTzRXUWFIdlg3Q1E0YUtiMEVNRU1FVnh3Q1ltWQpoNGJxbHJGTjk0UWdFZ3pvNFlIWUExdzJFWmdzRkVyN05LQk5BUzdqK1BBQlFVTlNRUEJqYVhPWnFqVjZHUG0xVVFpSTlrTnBROFE2CmJMSG9Ga3ZFVWk0VEVHMkhncUFNQnp3dDB1WjRyWFlUTlYwd0dLb3ZDU1hFRDVuQUxickNaV0Z6dWN4VGJSU2swajQzQWc3UzRnMjkKQUQ4SnFZRk9BcUkwc2lJRlRSUzhxbEZZSVBpQm9wRGU0a093OG1qN3NCR2thWXhFOFc3RDlCL3ZvVVFaRnB5WFFVTXZ0R2g3dCtRawpVQkVIdSs3QXUyQXdLWHZCYk83cUZWZ0NqVU9tOUZVV05wakc2aFZ3dUpLbVhIWVpJVFFjU2dFUjFQUFNMYWdjS0tqWFZnZ2l3WVJlCkF3UmRoQUlyRTNSY0J2SFlFd2FiWUN2WERCWnc3R1pSTThjQk5qS0N3YU94Z2RUc3NCSU1MSmdtemppWUtPR0hpc3d1Qkh5bURCUUsKQjFpRTJwZ1lGN3hBZmJMRXh3NlJIMEFzNXJMMDlFLzlkQXNnOUFDRDZYNkl5R29pNG40UUVBZFN4SjJJK0JZT0Y0VFI5SWFMd0dXVwpMOUJ3UFJVSmEzUU5IbmFhT2lnYncraHk3TGZGVWk2N0c0R0ZiUXlYUHpnK0JRdlhQbXlMa2VoR0h2YnF3b2p1S2RSSkpWeU5iOWcrCkY4TmwvVURsdVpaZENYbHV4V0ZuWGVDNUZBZE5Bb0dHL0tEQUxuMk1IQVE3OUxIUmwwcHZqRmhHbVpPOHZkYU1BVWx3cnVOc1RhUXAKdHhGNFBBd1Y3ZEpRemdtT3R3cVRTc2RscllSTDNqWURodXB5T0NXS2d1c0kzZ09DcDNUajR3QXpFZENkcXRIaXFtZTVMS0p4Vk95RQpSck5pSkFnSVhpTGEzZzBmRURRM1ZOcHAyc0dsUytheWxlSmh4VUcrSzFJNkoxMUtZYWh1QVVsamdqa29DUkhSOXU3RjZGZzYyUWpTCmxNdkNWU0ZxRGVSM0hQL1FxSVVFSVUwN0NpdEpnUmsyWEpieGFDVHVCNExscUl6bmlXUXkzUWdDTjNHUkRBZ0tsY3M2Q1RIaWRvaUwKWjBFeFlWcUlPRnd1dzZTK29LSFRYQ3FTaHZ0QlQ2TmpwRkpNbzh0bEE1Q1RhbUVoOFh6VEhkMk14RUwvaUJhZHl6cGtaMkdyYkRZZQprejZJd1R5aTJ6MUVVSmc5NERMT1dDYjRWTW5qWTRyT3AvRHkzSXZENWpKcitiZm9Ea2twQXFIanVlajNPbkVVRU5IMnJob3BhS2hjCjlsQVFiRndRbXBiZEpBek95Q3VFbDZFMWVoZ1VnVkRCWlFzTDUrYWVTaFh1T2Jmb0Y0V0R6ZVV5TG00VUNBemxRRmQ2YkFkczVncG4KYzBFWEtwZDlZaDIyZ0dnUVNOaWIwdFJpNENKMExqUGdvQklHdSs2SS9RQ05NaEhwZ3dabGdlQ1dOMHAxb3dHYXZCcm5acWd1aDFyQQpaQWJZcHBTRzRWV1Z0cWEwTTRPVFdtMHVhRUNiQW41aW8wam9sODExS0cwdTR3Z09vOFdpRSt6VVFHZndnSm1BRFlvQ2w0RktvNFg2CnNCRTRlS2h5d1FFNWROTkZJVEF1UVFtOXFIV0tTRTJtS0hSdXhoYUNYY3g3dEMyQVlDTFNCTXhRWFM1ek9CUUtOSWtMdldoNzk4Q1gKRU9sSUhVaFQxWk1wTVZTM0REblltVGlMU2c2OTZ0bU1BbXdFRFAweWNKa1hLdG1FVXRjcGVmZGhCUjVad0Z5b2FCTEl1NnBLamNnWQpwVWJrR3dKNTEzcEEzbzJkSkIxUWh3RmxockRqRmdpK0NhRW45SzVwRTNZRjRXTVNlc0NJVFVTa2dHQmkwdUNJeWNUaFVOMEl4d1l2CjZLaWlJVHpMNFdCbkxXWVY0WEN3aXlnd3hLV09qZ2JIVzBod3Jnb2hPWkV1bVpjb2pRenhFaEJOdm1BZEwyZGllSklOcEMyU2JjQUYKZHB1QkMrdzJoU2h4Y0Zsc0V3SDU0NWh1VHBYSk1KQkZORS9MV1dkZ0FManNvSU0xVnBmTFBGbmREZytQMDBhQ2dFQkEyNFVFNS9ZSgphcno4dFhyWGp6NmF6ZWJodXd5bU5KTFlLT3dJRG5hYjlXSG9qQ000MkRrYVNtQjNJempZM1lRSFE5c0lEZ3FNN2tBQmw1a2VQNkxoClJHWHVEbnhDd0pXUnlOcUJOR1dKZkIyNDU1QTZPWEN3NjY4QlRkNjZnWVBkMllBYk9OZzlJbEJnZHhzNDJIa05IT3c4akVJbU42UysKU2lidkJXMHFGWmhpRVJrdmNMQzdJSldEaGhTSWlTd3M3eEFSamdLZ2xWOG9Ib1ZIdmhCc09JOTh3WWkyemtIR3MwcUJMQkNXTFMraApnWUxLSXk5d3NKTnN5U01McENlT1psQklLWEN3ODUxS0NuT1pwOERCRGxNa0tYejVSQ2FmUUVxQmc1M3RXQ2k5a1hEd0xSRGc0REsyClFWQnRWaGhCUURrWUlMQkxpRmtZMURzWVA1TWsxWGs2Y2YyUGcxWWpnaS9IMjNBdmZTQmRNdHBSaUJqeWNRZHVXTzVkaG8yVUlMQ1QKYUdnNG1SOVRpZUxkeHVmcXNNVnc3cGt3WUlrWURrTG5XQnlzS2RVNFRDb0xtd2lGZTFjdFlLanU5VEtYV1Vra2QxbHpNTzB3SDhybQphQzk3MlBNOExyT2V4SXQ0bmdRSEJQRXdCNkZDWGZRY3daRklSQ0toSXNaU0c0bDA1a2VqUU9uMEFSS0pjQmtIY3hublByak1TaUlQCkxudElRSVFFVUk2SDBpWFZlT2RHd3JIc1N2ajB4bVV0bmpFNUdLWWlBSkZZazhvQmd5Y29uVDVBT2xMQ1EyeEE4VVZxcG55b09CNG4KaUlNTUV3b2J3ZUVIajRzWktZR0w3OUdXOU5ocHVwMDIzbVU4cUh2Yll1RldpRGppb2VKNFpJcW9HQk84Ry9IWTYwbUY0R0NuVDJwRQo1akk3SWwyeTl6R0ZPSkpSaUJnL0REQzBaQUJDZ3gwTENjNHRRd2RwQVpGSUhsZU1sOHU0elVhaFFzNndBaW9VdXZRZFdWTVJ3SFFhCk1zTFl1T3d4VWhVV2pHSnpjc1pXb0ZxSkQ1ZHhtV2F5MDFRa1hmSkFod0dSdEhxSThuallTSXlqTVJvcm03cnBJRFI0UWl3dEcwanAKT20wc3NCRUhOUlBUQk1PQ0JRSVNxc1FhOXRxMU9HeU0rRnFZZFd4Z2tFMTFXd0xwRTluc2c0QURjeG1YdlN4Y3BpNjRqTXUwQmxMSgorQkd1RENTZ0lsTE5BTHF3S2tDUTZCeEx4THB4eURRbVo4Uml3THRLWm9PZ2tMSVVYRFJpUVNoZEdqVDUyZ3NHNVRJdTQ3SlRTa0xVCm9ESVlQVm1nakZWR1FXV0JKcFUwelFpTUdFQk81T1N5VXFneEtwRHdZR2FCU3lNaGFyS0ZBMFVuU0x4a0cxQW9kQTBvTExKZGgwTzMKR2FoT2tXMnp5Mjdqc2dLSFE3Y2hORHpKbGtPWlNFbmxRRUhHbWhuZ1FNV3hvcVVKc25FWmwzRVpsNkZNeWdxVFNvUnM1dFNDR0NpQQpuRkxaZ2RKSzZCS2FiV0U5YlRxVWcxSEJPUG9RcWNtMVBCaFhQV3MzRllJQ2hTTW1zaGowaDA3R01UR3dZSkhnUExPSktBQWxYTXlNCmVxOFhlRndKdDBDdytaRmtodXB5V2NVRmR0czFTYnhraTF3Z0R4SHBFOWxTU2FyYkRseGd0M2thbm1RVGFTQWtXNzVBSGdpYkhOa3UKTnRWdFhOWVRMRXowYmlpeXVZekx1S3owRWxQU1dMTUdjbUlBQlZBV1pPTXlMbE1ibjgxQW1BM1hCWU5CVzZqcUZYRFpmZUFjQ3dScApWSWFnNlhFWU1FMU1xU2FTOHBwZndNbWFpeWhqRUlGSk44NnhIRlJXcjhBanVqUm9QS0VZeXhDc0VnSUNpQVNUMlZLTDVqSXVxeVNrCk1wbFRXUkNGU1NWTk15YW51aUZWWVpVUjJKa0ZpNGVBbFdCWmNDS25UU25sbkFVd1VtTlVrREkySktZQXRvSFE0RWVKNHQyT2N1RnMKMjFnelRHY1dMQzVLR0dhNERDSWpjRERBQUFjcW5lSnptWUxENGJxUW8yWlNFUEpNRnFmTnl5QUV1NDBSQXp2RkQ3a01CZ3B3eEhyYQpOQkJZbThrTjNtbmpYVXpFeWJVVUtnZU5iWWlpeGhQaXdMN1dGaE5aWE9rZkI5S0cwWUtsNVVCMkduV0JvSktaQ3k0ekc1VjhkVElXCnp3SXJ3Q1NJbzRFd1lSWXNwd3hHVHlCZ21rbUJnTUNMWVVHVVJoYndIQ0drMHNpamROdExCR1RGQmpnTGd3aU1LaVR3TnlCZi9JMG8KSTBoY0dIaGhWUkFhTHcyYVRtUmNaQ2Faa3pGQldDQklYQzRFbldQaHNvTGVPWmIvQVVWTVBsWWxUVEVqWjhOUTBSQUZEblk2Vk9GZwpMc01JSE96d1JzTEJHMU5SWGlaS3BJdmlwQkR4QXhNK0lBZ2M3QkpZQ2dTN3d5NGg1ako4d01HdWNvRGk5M3BVRnBjRWhqUDZ3TTQ3CjRHQm5NVU1FUnc0NkNwaCtFcHpMb0hLZzRBSENxS0lOTkFNQ3VwdEVTSSt4a2tpdlF4Q0x5QkdMV2QySXJhQ1I3Vmw2TVVEZE9ERTIKT091Smc1MTFyTjUxYk5CNDB4SUhPd2xNUkVYY1lZSFE0QkxGK3piVmJSQUtwbVFEUy9LeExWUWVrWTB6aVRrY0VCNGJxZUZEbW1oRgp0dGdtQXFJdzhlVEZKUjFZT0tTUnB1c1JIT3g0RnhyY1R6MHg5T2MrRXB1UFFqTDZCc0FIWkROYWVRdkRaWHRpOVM0c1JHbmtyTUxpCjZsMUhBUTd4TmEwcFMxcTltekVzYVBRTFgxNFNOcjJGV1QxTTQwQi91VGpZUnlJZlBEeE9tNVBlVEJtbFZTN1FVMmxrbE9rK3VEeVMKeTd1U2tHdXJ0SWp5N3BrN0g4d21sSWNmVU43bHNrZkhnOEtYaFBJWVVONk5MQ1E0VjVLQUVyZFlXcHpLUis1ME9JNU5qSXRrdXJ5QQpTU1h2YmhSVko3TXdOZ28yb2Y4SzN1REJaVjdpZXhSSTRRY250b1pndzlBd1dSTUdnZWhsSkE0ZDdMeUVoTVJUOHU3TE1sUzNXMGh3CjdvSmdBWGJkQWdjNzdSSjlQUDBBOGlBTUlPOUd1QVdDdlFTUWQ5TUVoWWk5SjZ2Ym95aWtCMWxJY0c1a0EvSXVsNTBnQlNEdnhqYUcKaXNhaDBMdXhDVFVpUHhZU25OdEJrQzRaRW1Hb3J1MkVwZ2dtTkRVMEhGaTRERUlKVFRqQndob1EwRjZud3VCd3lSSU1CU01nY2xsSAplWHpnWDBYT2pXaG9PTENvbnZObHVSM3UzUTl6cFRUcmhHRzFQUklPQnp1Slk5Snh1cE1DZGc4T0J6dklPT0U0aWVQMXJPUGU5ZlVGCnRGVzR2QXNiY2JBRFdhd0k5cCtzMmFTYlo2RGdkTnA0RjNzaWllR3lBWXlCWUlITTJQSzY3R0dpZDlNRkRMSnhTSi9JcHRJV3lWYngKR1lFTndhYTZEVUdoMEcwR0RVK3lGUlE4SXB2bk13SmJ4Z1YyMjZqaFNiYU5RUERZR0d0T1U5WHpja2hFeGdUdm5yNlI1aXBzcDQwRwpCbTdmb3kycW14YnFDeUVodkFhcDFlWmVEaTZiVzlEUUJCM3BzVHNKUXBvK1RBUVNGeGE3bzdzbkN1SGxzc3VrM0tXTFpQTk10Q0tiCnFwNGdEbmFxVWVCeUN3c2J5OFpsRWdnYmpjUTJpVmdLSWNpUUpsQUpqTDg3WEtwY09CQzhyMUJ3cmhiRElCU0J1RXM1NEFWQUpJNEIKMlZnT0VhT0MxVWZnSkhCVXBLU3g1alJkUTl1N0tlTnJxQTUvaXFWY05qSnhMQjA0SWRUVTA2UnBxdUQ0U053R1NVdmNWWWRPZDBVeQptVzZDQWhWeEh3d1JoK3NZU1JwdWpHSWEzWEs5bzd0cXFReDNSSFlXN3RjZjBXMk5aY0psclY2ZWUwTG9lSzdrSzRUWFE1NmJ5MlVXCmhZUE5uVWdtTk5lYjBHanU2U0lYdWxKb2dLRDdNSENnczB4UTdOYmltQnFiQllJYkc2T0Q0TFpVQkMxMEhLNTZWdFRnc2NXQVlQVUsKeUJDWXBwanhoREVWWWlmUitLQVRodFgxSmd5cjY4cU1ZWVpSdUVnWDNMTjJ3Q0JDa0FHNzFKRWtTZERkd1lHT0dlQ0tRY0VZZ2wySAp5eGdTdWtnbys5a21RY054SEplTkxCRU40R3lwMnBpZXF6cW1MRzFraWVpNGl0b1lRRlJaV1RxV3BKZ3VTQ1NlcklHa1BSemF6eGdrClpVbHVUdUZJeEFESk5obEcwLzNyWC8vMjFWZHpqSFAyK2ZhdXUrZis3NHQ5Ly9oN3EzTy9YL2JhZS8rMTlqZStuUFB2ODUvMTV0My8KM1RuUCtOdk90ZCs3MXQvVm0yK2R0ZGE4Vzg3LzkvenpPWE9lZmUvN2F2M3BiamZQTUJyL2VmL2Z0ZmJkWXB5MTNiWCsvdUx0NysxMgpheTEvL1gzNy82czE5L3k3K0g1WmE4N3QxcjFydlRQRytQc1c2eXpWdS9lZCs3Ky92Zk9YOGNaYzk0dXR2MW43djNmUCs4NGY5dHZxCm5IazBmWFgzR1hmKzliY1g0Njl6MWg5LzErcWNZVFQ4Y2I3OTZzeXZ0amRualgrTXVkL2NmLzEvM200Tjk2ODl4empmejNQc3YvNy8KODV2eDl4WnIybi84WnYwMTEvaGp6UFArbjN2Ly9ZL3RsV1FZVGZOK3M4K2Y5NXp0MWQzN2kvbUhPYjcyYXRyeisvUDkrSGM5eDVsdgovVFBIOW1yZnh2NXJmSFAzM202ZHRlL0RIOGI0ZnRoM25DM09NSnJYT3ZQdVAvN3p0MXhualYrZXU5ZGNZOHoxdDFuYmVPdXY3N2N6CjVyYnJyT0dldWYvODEzWGUzMXV0YlkrNzNsN3pqMzk5Yis5OGYvYm16S045di92Ti8vZjhabi81MXpybjc5UDYzdz09CgldXT4KCTwhW0NEQVRBWwoJeTcvdjl1L2ludi9sRitOcnQ5YTA5bnZqMzIrM21HZWRzL2JmeDdYZFd2dWZ2aC8yMy8xNjkvZCszRytkcjdaZFp4ak5aM3p6eGZyegpkMXZNcytieDFqcjN2UHVIUCt1MXRuWDMrbjZmN3Z2YnY3TzJzK1kzZjVwcmpybkZXOU9aYzZ5LzdUdHIzbmZlOThZZmQrL3R0ek9NCjlyLzkvZTg3NDYzdDNsbjcrdFdjWjQvemQ3blZYUHUrbS9QL0g4OFlXODMxdDd2SHUydHNPOWZ5OS9tUCtjK1plNS8zdnZoK2UydnQKcmVjWjV1N2M4ZGYzMWpqanEzL0cxK0tkdGN4ejNqbjN6Yi9uOW5hTmM5NDE3L2J1TEtWbG5iSCttbjk1Zi9qclQrdnNkZmZYZnAyMQp6L2Z0c2RlZlo4MHQ3dHIzN2V2NXgvSG1YZXVydDk4NGM5NXg1ajU3ci8yMlhtZk41L3kvN252M21uTjc5OFg0YisvenQvZkhQZGVjCmEvelpuelhjc2ViYmZ4bi8zaitPOGUvOTA3bGY2ejNPL1BMOGVZdHoxbkxYbW5ldk1kYVoyeTluR08yN1htZXR2M3l6L3J4ZnIvbnYKWEhOdWU5YjA3N2p6ejJPTXU4MDVhLzFlLzN2K2xtZU5lKzcxMTMzbmZQdisvK2Y1NTdmZmF6SE9QTnIrWFdPTU45YmM5OTN2MTMvKwoyTy9jZmU2M2Y2eng5dnh6L0wrK1dXdHR1N1p6Ly94cm5xL3VlMlA5ZGY2Zi8vSm51ZGIzei8vVFgydWVyZFpaKzM3UG5tdTlkKzhjClc1NWh0TTd4N1QzcmIvdmZPZTc3ZnBwL0hmdHV0OGIxNVZ6Zm5EL25OdXVzWmMzei8zN3YxMnY5cmRieTcxcGo3YS9uMjJLTkw4LzUKOHp6dmJYV0cwVGJYKzI3UDlkZFhiNTA5dm52Ly9uVnR0WWIxM3hscisrV3NhZis3M3R0cm5iUFZXdTc1YTkvenhscmJuYk9tc2NiZQovNi8vcnoyM08vTm9tVi84OWN2ejkybXJjOWE2L3ZqN2YvdWI4ZDIyWnhpTmYvMXpuanZXV2R1TnM1YnhoM1gvZFA3NDdWWm56ZXZ2CmY4dzc3ajl6emYzOThOZlhjN3Z6MTNIdm52UDg3Yzl0ejFtcWQ2M3p2M2x2dkh2SDJYTnVQNXcxbmJQditGNTd0ZFkvbkRuWDkxN2QKYmNkWis1Ly8vS2Mvdjc5dHM4NDhtc2Y2Y3F4djV2MWFqclBHL2RkZjVuZi8zTG5WT3NOb21kOTg4ZjRYNzZ5enZqcDdmWC9HbjgxYwoyL3I3c3YrNHp0dGIvdVcrTy83ZVgyNHoxNzYrM3V2TXY5dTM3ZHIzcnpIK2ZQNnl2VHByL2N2Zlk3Mjk1bmZiekRlK21QL2Q3N1djClp5OXRiK3o1eDEvLzdtM1dXVWJEbVdyUnJzNDJHWVp6akQvOCtkWDd1L2IyLzdXLzN2Kzd0ODcyOHl5bCthNzV0enZHbUgvcmM5YSsKcS9YL1B2ZXNlZjJ2M2x6M2pMSDFXVXJEdlBPUCtlWFpYL3Q5WGQvKzk2Y3p2N2Juck9YTnIrNitkMzIxdHAzN2orLzIzOTM3ZnRoKwpQSHRwWG4rT3YvNWU0Mng1enRyKytmdXR2Kzd6emRielRZYkJmV091L2IyZi96MW4vVzNQK0hQZDcrY2Q1Kyt6WDg1U21zYTU0NDkvClY5OXYvODFheG45amp2SDJXdDc5OXE5emp2ZG5iNWJTOVBmaC9MWFcrUHNzNXZmamVQZU5yN2NaWjgzMy9uMGVmL3JyWDdkWGE1MXYKN3AvMzNyVzNQMmN2N2ZNYjM4ejMvN3BiamJQV05jYmYxMS9uZmIzMU9XdFh3Ly9icS9sLytmNXk5NTNqekQrTTk4OWNaKzk1dGpmcgovVCsrM3UvL3I5LzJhdm56SHVmK3Y4MzV2cCs5V1lKMk05V2k4U3dHaVdXalJidFpBQ1R0WmhidFppY3VHMkJZVTh2cGFnOTgwaVphCnBzUGcrWkM4MU9LZHVFeGowVzVtZXJRSDFzWVlyQlF4amd6bDBhNTJ1WFkxenJQbU05YitoMVdtNW9SeEJnWkFoUlNZUXVHSXdNSE8KbTZBaGxpQndzSk5ZVTRjQW9ZUVhnMGJ3UVFkMEZJQW9oNG5nQXduelJyRGpnSU9YNDNGTUliYXdMNkFMMVBOeVI2UkxoZ0FuQkRpWQp5N29KZjJ6dVhhc3lRQXBTTlhVdTBnbDZOTXdQQjdtTXl6b0t1RXNVNzI3UDZuSThLQ3l5a1ZTbnlMWWhEOTh4V1YwWXVLSXcxR3FpClNCQ3FDK1dRdG1BanlvU2lVS0xXcUxGQnFIbXhjRkRFU21uSlpKWmNhcXMwbGlCUUpiRGpNdEtwQkhZWm9yUlBpRktxOU9IY1YwbVIKbGs0UUdIT0J1QXhpYllIQUVRUTZtRklVQ0hZeVFZQzR6SFNXUUp2SkhJRzJNb3kxVGhBbENGTkVnZ0NGc1FLTFVpT3l4K1dEUmlBUQpIVXdRTGl0dGE4akJPdTVOSGF0M1lhSUkyRjNQZ2hBYTNIRWlZQ2NCSVRRNEkwVEFUclE1REE1ajQ3SkZURzMxRU1VZ096QzJCWVBhCjRoR0l6aFZWQ0xwVUlZT3dPYzZFUjBsVHpNaVpVTmpUT1JqQjg0UVhwVVpreVNiMDdsa0FvY0VmaVlUSzdncEM3MXFGSjhRWER6VkMKYUhVRUpLWHJDK2g3RWhoa1BBb3JnZzg0MkVrNlR3US9xRXdhN0ppQXR1VFlvSGN6SlBGMnVMZmhEMUpDK0VHTDRkNlZjQ0lVL2lESgpaQy9pVXNmck9JbmpGVFVORlgyNUJZSWxMVFVpUThZRXoveHdrT0Vsb0xCSWhhRGtKQmdjeWRBS0lkanhDQTV1VW9XZ2dNc1dWRzZWCktUa3ZoNjdwU3Blc1dhczFnTkJnYTdGQXNQZXdFbmdZRHhUZkxKVG9ra2k4QllKeHFCQ3haWEJKT0F2RjBRNlh6R1VSRWFXUkl5T0YKaUNNWkNBME9vY1NJQnlXaEYwaXBCNWVaSUErWC9EMVozUTJtWmNHQ0hud3RqTVFBZzhHQ21WQUNsVkNvWkhRbHFsQlZrazRwSXlKRApJMnhDQVpNU0FEQWdKQnlSQ2thejJiYktCeFNBQWtZNkprWktTakl5SkN3VVJrT1JXQndTQ2tReERLTklDSUlvRUNubGxJTkhBVWhPCmVobHEzUVl1VDBXZlAyOHZXTm5Ub1RxR3FwL1BNTmQ5Qmk5MStlanY3Zm5vR2hZVnByd3dvNTFuWTZmS2c3R0c1QVk2Z1hUSVJ1V1UKL2J3Z3lNOE9DYWJjVzNZZHMxMTBCRGxFMHlqZlRleW9iTnJlU3AvWU1jcjhnR0M5aElvRzlmelUxRlU5SXJjaFRickk1WGtuTm5zawplbjBvYUwwTzU3RzVqZjJORkpaYzkrZjV6RWVUT3ZWYnpqZWlCUnU5YzZzeHE1aHhsT0NKb28rV1dEZGNER2V6VjdKV3RYZGlOMGlSCkNVWE5xZVJnQlh5anU2MHUwYlVWbDN6L2sxKzRtOEF1RzNvb1FnOW13TjFLTzFaS3BQNVJXSDl3aTJKdjNJcDk5a3BkdWhHenR2U0MKdmw1Q09mWFNWTkZ6d0xML2pEdkxXLzJLUXljWWJzU0VJek1LNHYvcm1lN2VpNTIrTlFNNkNRMkF3SFRLekdma081eDd4Sjd3S2ZDYwpUZ1plb2xGV2h2NlBaVk5zS25ZYW9DRkxIeEtRRnBNb21DTFJOM0JoZmF6Q0xjV1dOK2lZNnkwUVZQUlBPZDJGWk1NUzJpNFppRSsyCm1USzBxQXpVWUZPbW8xaEZ2eXBUVHZRTk5sc2ZsWEZEVWNZTk9vcFBSeUhxeGhUeHVwSVZvbFFOVVZjclI0Qzh0SC9hSEpVajY5S08KUXVseXJLZjNzdkNTc0ZxdGRlTGpqenBnT2J3ODh0aDlENDQ2SWNmeHBDanlGYzdrcE1jR01CaG9FNWdZMDhuNmlqYlc3L0dzcU95ZAo3YXlCcm5QY2pPUUdGZGp2eUorcHRuRnFJTEpTZVg0VDU2eWRoZUNDQm1scnZkYnNlTkpaQ2RPQ3RzSGVjdm4rbVYyNHppc2hBWlUwCjBwcUZKeWV6NVAxNERSRXBHWnRlYnZnQzArbG5MUVlvbXNKZHEyTng3bXd4N3lUaGtzUWVXVVRlcmVQTlNGNnNHQVVndGgyR3dYeFAKV3NxR2taYVVreGJoditCQnBBWGxSbGlZdEF6QnFjSmpwRlhsU2F2b1BmVEVTSXRFazFiWDB6L1NxcEdZYzQyM2RSMG9KdE5KeTVBVwpYWVJIV3NYUTl5ZXRTMXRNUjFweDBrb1FSbHFCbXJTVTB1TldwSlgrd2dwOU1UbWZnYWdpZG1Pa05hNUppN3NjUnkyTXRMcE1XbTZtCm9GRE95T25WM1B5am1INlRHcGg0Qzg3ZGNDZXJrOUlrVkY3OTVzRXpMK2hTemtZQ1I4a3JFWG4rT1hGSDVVZXhjWWMzR3RqbnVEWDAKQUU2L1dZd2R6Q3MzVncvV3FjSlFuQkZrUUltOEpGQXdQU3o1MTB3ZmhuT1RFQXBNM0tpNUhsUVFKSHEzWWxXbG5DR3M4VUZDQ1oyYgpFQ2loWUF1QklPSG0xUkFXbkRjd2E1VGNDbkwwTnhKcGcyckhBazJOWktzUjc2UUNmSDVFSk1hY3BFTXZhS0xPR2xoZ3JnNGJlc3ptCmp6dTRiV3B0QlE5d2NsSWlhb2JCN0l0bGJaTXdLQUV1VkJXSlYrRk5QVWhOdkJoYkp2MXRrMDF3QlFUZHdnQ0lSS1NZNk1lUytSR2EKNWo1blpzUDJtZnVRc1hBdTdzMmpuRmJ4S2I1TU4yMFFaMUVSa0FJTDVrYmpDQndnUVhrQk10RFlpalNBVFdDMFdBVjJUYzg0U1dWKwpHU2N0WENEWmNnTWYxZjlUdFVDUDRpdVdKM1FhQ2VySThvTVczazBHV0hXMysweGl3S3RqUThQWWRYUTBZSGpGeGFYZmZRUkt1MzY4CjU4Mkg4R2F6U1dmWU95MXdFVmZjQ2JnYjBja3Fpa0ZPZXo1NGdCVEZFRjlvYWN3UWpCa0djZUsvaTd2dDEwbHJ6QitYajBRQ0NNZm8KVjVZc0ZwWVlYVmVoeUdvb3JZblNCRnhhOGVxWDcrTHM2ZFhaTllOVmlWdk42MDg0d2hVbEdMMnBUR01hbyttQTczWjlXVGI1NHdxTQp6VlJ3dkVVWUhuY3FUQ2dxVHBvVWxvWWlpYmdSekNkYmtWemZqWEl5VmpkaGoxWWN3VnRQUlBUTDhyZTBRVjRwYmw5cFhCeWd3R1kxCkR3aU05ZG9vSm44VWMxUzJxajI1QU9JWHVyRHlYM1VsMm5QcUd2elUwQ0NqSi96WXgwNUJGSk5wM2F1NlFLRHhkRjFFQ2JXR3NEZEwKSDQwV1BOR1ByVldUMEVMdDBhNm1PZ3dWSWhSeXAzVE5uRGVLT0txanlFaXAzYUlVOVZlSzZwQTYvVC9BdUg4UVBrY1M1YnJUTHEzTQpDYVhPaTdkNWZrV3kwWEVzTjJrWVpGbnBnZG5kM3NQUFVaTGduSWtBdWZwTXppMndFU2FpaHF1QTZsN0NDM29VaStESGtIaFRybURxCkp6L3JXTjdzSXJqeFFCNERTQ1JpcElBUWtDVHdueTltcDN2dnpXSVk5VXlyNE9obUFUendxZkVYY0lPOS9mVXdBRXRESTYycHNIRUwKaTllY0U2VU1uZU1CV05ZSytMcm9VRWhBZkZaUVlXS1hsYVpyRHhqNEJXTmZlWFhwYmtDVEhvQm1Nc1NHZHlpVS9JSk5oREZQOWdQbQo1SDhGUThzb0xNZEpkN2IzYTN1V2JmL0E2SUZRZlV3WnFPQWNhUkIrbTVWdnZvQ2VrUXEzWlpIQUswa3VSTWlib2FjQWRXM0lJNUtmCnVpQzlVcVRGQVpFM0FmQk15MVFIbEJHRGVjY2xKN1A3emNQREl1dDVmbk5QVWttRU0rYnltakttRzRXOXBQc3FQdnV5VjZQT1AwSEwKSW1LUmFYYlZ4UW5iOEFBc3VrTEwwQXFjdDRwVjMzTjhhZW15TWl3ekNjUGxxNnBpdWtVaDBnOUlLTGVVb1FWYU8wS25DV3A1bEVDNApueHRRZWI1RVBNOElxa2tRZHFGckYyRVBHcWZNczNpbWpjUWgvdTJhZVVKZldmdXFDVHJKUWNnMUFhcTlJR2k2OXBzcTVXUVFHbC9KCnU4dHVsVnh0MHR0Y1lLVkwzTlJZSmpIa2krcnJLMkRuRm82VWNxUjJYcEFpL0F6MHR1QmFkNUNPK0ExSW1jSzc3REd1eG45cHVaUjcKVGdkTWpWaVFuVDJZcEdsWkxLei9CNmtMWWxyNksxRVU3VFU5dE05aVpjbXVCd29jMms5OU9lQ1RtS3BYbG5JR1VtQ3BVaUJVUTdWcAorVDZPYmlKaHA2SndoY2tvV2Q3VTFHdXpiRXBxVnd1cHZWQ3M3RFZYQ2NBK0d6cUtNUStteXUrZGV6OXhOczRabCtEUytGQXl4YVpkCk1Ua0VuWWl5S3dzTWdSZE55dUpOMWdXTVFXK1E0a1p4dng0RVdSTlZWUGxkRG5OT21nZzFmMzBkZWkyWVZESzhpQ3lWdjlqSUdnN24KaVZYUHJKQXltRkxLak1aTjJ1TWoxMUM3MDdzQ0piTko5S2VxQ3d5YmtQRXp1aEVyQVE1aWw2SytOMmUwY1JJV2NrWEZMeDdML2srWQpaTGU1TnM3NU9CTFRNRi9zNVhSU2dOVjlsT1dIWXliMlcvVEZvam9pU1QyZ09VZTZGcGtvbjV0S3prWnd6ZTNRa29WZVl5dmJnY1gxCk12cUoyR3hZWXhnSkg4THk5VkpXNW5UcC9kY1NYc3BZanZFb3gzZEUrYWJFc0JDd0l4NytYU0ZVY2VkQ0lxbUVVNU01UVZsRFdUTVAKMjN6MUlKbXJHTWhFY3hCaTJCaHlnalNWSVFpSVBJNCtvK1VaSENhRWtOUTNrMVk0ZXdEOU4wRmNOV2ZuaGhCZTZLcWpJYVkwbmd1NAoyTVlOZVBoU0ZJSllFRURiY29LRDRrUjRPd2wxdVZIRGl4U0lkZ1J1THJIVXZoWXdBcjRlQSt0VFpOVTFoMkM2dVkvc09JVE9nSWZhCldCRHUrYVdLQXo1dDBLYkRVYzBwRk5TQVFJZmZBZGtkZFBFZmFLOXdnYzJXbXd4ZnVBMDRjQzFqOGdIQ2YzMnAvUT09CgldXT4KCTwhW0NEQVRBWwoJZUo1Tld3S211TzVQNGpzUE9sWURMb29xWFUwUTZrcVBibjBFUGF6ZVkxV3lQU2VtQmtTV2c2WFgwOUZ5MVBDSHNSZUpUSDNBMXFpZgpNdGVjalZkc1BCclVTb3lyMUNWZzVybEVueHVSaUo2N2FxYTRia3cyUVpkblJnTFcrL3phbHJvdFMvMCtHOWw0dVBiMTZ2QnFFN3pNCnVFN3piWFRJUTBMalVCYi9vVEtFTzlCN3FNbGZVYkhrdVp5UjQ1LzMza256ZnpQVjE1VXh6ZWVOMVlmUDh4M3B2MVB3UXdMT2RWZGcKOVYwbEU1c1lvZ28vem9KbDA2K1MwY25DZ3lmNW1TTDlRSjhoNW5lTVVQMjQxVFVqL1E1NlBYUjR6bUhvTXpKbnIzbEtRaEtMRTRSUQo0eU9jbk5ZcFJlMjRmTHF4ajlHUmhPRXFqUFcvZlVBcktpTkoxVTRWNEZpdmoxdjFSMm4xTEtHNURBL2t0aUFaMExRY08wNDVEK09lCklXRDZvNXA4cFVaNGdwRXB2dUpsQ2JYQnc3SWorZkwrVVpZVHIrMDF0RTVVMWhTRyszdXRwa3BkSFptZ2VxK21wbjRRdkhIZFEzcFkKTXc2Qk9uMm1BS1l0UjBXNklMT24rd2JkSWIrVi9BeVBWUS9RU3ZySmV4OHQwSEdGS3p6V2I5enFxWkZtMUl3ekp2d0NZVmZuZThCSApHTFkzNXJpSTdHUm1vQUlRdFArOHE4bFMyUHZKTFBGMEl4WHlZci9QdzVXQmJnV1lCZGhmRml0NHhoWGs3eTVXSVRQRzhuVHJKdGdFCkZPc1dOV0UvRXlqQnNpL2htS2FhQUxDaWRrWEY0ckJwaEFNNlVVN2lrT2NLY3pwRmVZTG01dEQ1TVEzZHdHWW5vNHdqQmF5TEU2N04KNC84NzdJVTBMaEVmM1JydWwzTGJpcENSdzljL3JadytPaG1MS08wL3Fyb0Z6c1lzSHhqNkVwSjREWkN5SFArWTVQM0FoaHBaNDEwQwpTRVJqb29aRE5YUGNRSUpxSGFwbC9Bdm5ZRzdFLzhEcHhjdlFSMXhtMjMzalBhOWNPMHRBaU8wUUNiNTE2bnZsbkZLcHVMNnFDTkRHClEybXM5UnNMc3hONlFYd1FjQTJob25SUS9rY0JzU1B0anlvM0hMNXFDY2NsMndObW5vK2J4MXdYeFl6RStyMjQrS0JVVG9jZm5LVVoKSnFRa09Tc2UyU29vSXh3L0ZCSitET0F4akFUeDBTR24vVjg5dnYyOUtaVElGRkFQdVpUbjNtOUVlZVpYbmg3eU4rYnBNNnIwTHZUTQprSTZZNGxTazNqUEljY0t1Zm52dDlSMjlkelA3aklYLzVaenpQMnZnVldMdTJ3UmhFZ25NYm92U3puNHdKOUxINWxHZThmOWRsZHU3ClRiblJNbzZMbHcya2tmZExaK2tmd25CeWJBWG9uR1FEOTdnQXErOUZQMnhVWGlkUDZUTjJPWjVPN0lhakhaQ25KNUpQK3l0V3NGazcKUVVBTjFOOEg2ZXJJd2pNSTNwdERVWnVOS0pCRGx3NXNLeTRrd0tuNjVqODdPWmFYcGxmeWNPNnVmQkszcjIxWjF4anVnNjBhc0szcQo2OXZobmpid0E5NEFsWEhVK2ZCSzBrcjF4cFRjeEVoVDBUNUM2TGhPTlgrZncrcFBNOWlJVmZtZEl2K3EzTGlpMVdORXZFbUFidkdnCnJPTGo0TGxsMm02a0pQcWU2emU0dWFHbm85b0w4ZlF5NFRheGpRbS9laEVjOG9YcTRaa3Q4RXVUZCtncDl0WlppbWZ2ajczNjdBYWkKdngrSUxpOHlZdFhJM1QxNGJrWFZKdE5tV3VWUm1FYVg2YzJ1aEZNMmlxMzgwVDJsNk5WMXBSMUZ0K0ZwT0VaaDFZYUhJNlNYZW42dQp3WlBaVi8wYUF6Q3ZIRU9ZU3J0bVBYZzh0ZkJ3WFJSWXlDUGRzYmxXNXJGZVJINHBYS2kwWHdWSGU3VEViOE1HcmJSVGRqcXBGc1VOClBrQnR4V0pMNWxkWnh2YUpoVXVneTRyRzJvYTJyV2x3bVRaWVFoNkFyS2txbW5rYmc3d1ZYeksyZ0ErdjUrOVA5VVdCZkxHWWNyMUoKYWt6UG5xQi9JNSsrR3dGMXZ1Q0J1Y1VSTk9VRi9yaUc0OS91TkVqM2xFNmJyQXVucDJwOGdDSFRqZjBQRTE3LzFGUDRianpRQS84UgpqTGlzUkxvWUMwTUY0N096MDBnTVE4M3BwTUpacDdJRjc4ZXpLVU1Yay9mTTRhVjJJZk9DY2FDanV2UDl6Q2k1bCtvUjc1OGJrWDlXCkZMVFJWRTE5bWF2TW5Lam04ZVV0QnZURHFMQnV1Vnp5eWtxVFlLcjN0V2tkQy9wZ1k3bzRLdTZic010b1JueEs0NmNheFlNYWx2WU8KanUveGJqYkhGTjJxT0hZQ0JSK0VLdlU3VDhZWHZ3dEs2QU5rTVJkOXBjL1VobEJPUTJ6V3d4R0xCeTJINlV4Rk00d2ZKd25SVFhsbQp6dHpiaFhNOTFVMGJpZS9nUVE2YktGY09WNCtCWXNaR2hHYS9zL3pVZmZIeGVscTBqK3EyYitPd3RONFRjeUpaeHRSZks3ekVXaUFRCjgzSWhtYSsxMGZoNlk3cFlFcGdmYm45ckN4aklCV1A2MVV2dVZZaHZJMnFUOXV4Ny83bHovWWJaUWhXUk9XckVCcEVNNm83VzlMTWEKN0xpSkJFUGF4VlR5NVBBNHlER3JpKzAxMzh1Z1NLOGxPSlJRazQyN0VQY29RcHhIL2toMktpNGNHMklJM2JKRUF3Kzg3b01ZcjBYTwpuZFY0TUdnMW94azRici9VcDloK05Oak9XRDlRN093Mkc0anRsNEVkbzR5UytOcCtFYWVDVVRnbkxDV3kzNjVVZ1RmT1RlK2Q5QlhiCmJ4NlZ6MGl4OHgzdzdQYWJpazFQdGU5RUY5Z3dOL1hnRUplZjhDMTIrSEZlUXd2Y2dvTEJzZ0tvKzBQTmZtTjBhVUV4Ti9YYk11OWgKd05kc0pLTnFESTJIdEptUm1QMnlxdTdMVVFsWDVnQTJhemhoQ29SQ0ttbTNYNCtoK01YeTlRK3lxN2xwdEtvWmlmT1U0QUplaksxbApOcFg5Y2d6YnIwRXFuT3gzMSsrcEZYZk5zK3kxbHhpSXFuT0JsMkdyVVU4RTkwTk40bDNCVVlTaTFXdFdWU2x6Wkwvbm9hRHRkOEcrCnR0T2tydTMzek8rVDVMWEh5L1NSL1daY1pYcmFmbTFkWHg5MUJJcnROM3djMVlrWmducnlmb2VnN2JlMWxna28rMVhZRWk1cDQybjcKcmI3b3hEUnpHODFmOEl2dEYvWXlwSU9TSWFiWUs3N1Q5cnM2R0k1L0FxU1dESEJCK21ieW5VUUM5TzBYNS9NNXpWSGpGTUc1aVZ5VwovV1lvY2tlNC9UcW9VSUVJU0w5VHYvM0cyeDg2QmttNjIxZEQyOFBSQlRLdEg3bjlycnVZQjNHKzExZDYyM0trMnk5dXVrK0dmOHpOCnk4RXpYWHhtN2lkdWliT2JnblMvOEJWbzB2R1FmV3RLMUp2c2YvbHdtMlI0M0g3bmZZeFpBQXdTN1cyLzNCNXhxblUxOEdrVjJlOTEKcnFCaysrWDhYMndqeEpPeHQ5L0YzWlhDdkJBMElnemRYTy9EZ2RmWGZ5MlIvZjRDUVBmZ3RQMG1icTRFZmt4RkhaV24yYnFKN3ZldQo1QWNLcWtMcnBuRFZTTjl2TXZPNjFrMFZKTVU2NDhBUHRVZ0xETGpqeE9ZVU4xZzNJY3Fab3l3VGRoTkFIRXBGdDk5bkdmMlFxRExrCmdHOVhZSVZRMGxPUE5uejFkUlBqcGpUekxVUFpwTkl1WERkVkw4cGQ3SlJXK1gzSXJNS2tIRDd5bmd2ckpwcEM2UnpWbTJhS0p4WnUKdnorNlVNSGt6TUFuaVZvMzJlYnRlbSsvdXNsRS9DUDl0bU9mckxiZnJBUXBza2tsSWJqbjdUZkVEeC9pR21ObGt4SS8ySDRsb2dtZQpWTktGZklxQ3QxK2FPQVZrWXlqWlM3YmZaUTNMSkhwcGRTYXA0Nll1eGpNanpYNzlFRkl4dGwvQ0xlRWxXNVpyKzMyQm1lMGs1eStNCkNacnNWKzd0bHpaYlpQNG80elI3L3hYLzJva2NnNWJLeitsNWF3Y3A0VzZVSk45K2p3eTQ3SGNUMkdJL2xPT2dIOXpMZWZ0Tk02QkMKMDZhbUtBMWc5anNXa3lmZGZoT2tHc0t6MzA2NisrWWFHTSs3bWRlMDVIekFKUWNWWllDcEQxNlVHTnh6UGFDRkpnNkVITGlTY3UwaAozR1VFYkhXVDc3MTY2eHJBS0hwS1ZjYWgvN0FIOHlVS0NtMTBlNUZEV3dBSEdES1U4elVCeDUrYzNLYnA4RWtOa2JvNHVFa1prNEFaCmQ3cGYrTTBjaFdrT3NIWlRBVjhoWnZ1a1YyOVFlcEptd3V4ckN5WW5zNjUzb0xSbjQyWFNBZWJjVkE4U01Bd1IreDVMQjRGN1U1WUUKSEhlZERLQkx3M2d0b2ZGbHlLdnExWXR1VmwyOXFPdEtlQjdnd1lTS013a1lZM3pKbVZQMjh6VGlBaVJBV1FKK0xPOUpKdnBUVWJLYwpDUmpWNkhvblJkMndQUWJkM3RROXdhdDVUVEp2SFVLOUg0QXBOU1pLajJVb09ReFJoTkdETVdHMTR4aDc4WVlyczJZb3lodmZmMlpuCjN3MTlURTdHdjJlbmJQWFhwNGJ6dnRTOVA4dlkrYVFsYytBQVFmWW5uc081c0s4LzE0c1pSaFU5NFFGK2dlbVBuR0pzU1cvSGp2eVkKclU3cEN5bGhtSkZZU2RQT3FpWmt6MWJmUHVvZ2JMVjNENmRGQVQ4UmVHaVFYNXNaSWZMVGY5SW1FU1FaNVJJUjBDMjNWUHBvd2s4YQpxYklPbjVVVXRkQmRzUFhyZjluTWpBYUxXZGhFSXdBUGovUVZubTlpNytTTlhRWVFEcitQSmpvclpCS2JTM2ZySWRXeUl4cm1oa2ZICnlVQWhVMk51bXlHa05sMExCQnF2Wm9CM3RacTNoRXhqR0psd21PNlcxRzE4QUxGczZaa09JUlA1ZHAwamhEbm05ai9ERXBtSXJBRVUKaFV4c0hCYXJ4eGF6a0lsQU9qRnhhU2JyWDJ0VFFCUWxzc1Q3V1AxRWdOWkR6UDJ3WXVhK3hYdFFGdnd6TTRSYXFpdTJLQ2JXS0dVeQpMQXo5bGxxWXlzNTBKWUVKQjlrRUlYTnoxZE1rdkwrZXh4TFM4OGp0ZnZHMTk2eTd3dEcxTkMwY21XVGEwUlR5V1BNcUQxNDUrd2N4ClVuSTE3dDQ2UmwwQnA3UDBNZW02eTNaTk00ZWtqQ3dkeVdQa3VKbGZsRjNMdlVueUtnMDNpV3dib3F6Y2ppVUsrT1NGTUZHbXpzNHQKcGU0Si95L2gxY0hrRXF1Tno5V1lVSVBHUTd6cXNSOUx5M0tlSkNaNFV0NU5KTEFFVjRZamQvVFkzdWpjVUVtRFBXS3lUaWVGMW5LOQpTWGZWV0lhb3JoWXBFWXNnQkhOYys2ZUhMbWZwL1VxMTkvSzlVNGM2REdsMnYyekVBRWs2TlIzZVdPZmFjcG5lTUxhdDIxbDJWL2xMCnF6VXFKeXZpWmZDTzExTzhVRk9RL0JCdmhPLzlMNE5mV3E5S0ZTQ29JZjZLVVJNcVQ1c0RWVnpaT3NYaWJkNGhHSXpHeXkwVlk5YXEKRmxHMGVld29vd1g1TG9YazZ2ZU50dWMwVVQ1VmVORkZiU0Nvb1R6NW1IeVdhYVBERCtSNVRHTmhvblVUZGhGYjZhcWZOSi9UaHRzNApFY1J6V2w2ak9XY3IwV1ZFQ1ZtazBINCtzandwRDJPRXd3UUVkWWdNYmcxVGFoTVpCRG9BSmxtNlVFNFd2SVlES1ViSVh6dFlUK3pyClcwT3V5S0V6N1BFR085Q0FKZjFYWmptVXJFS2VNL2lsK0lYSzRJOTI4RnlIVkVqbDhxWEsxSHovN1luNFExK3MxY0dWd1IrMG9EVXEKMnlYZ0ZKNktlSkc1cTVEcHNvRU9UNEFmN2ZDZTZNendvRlJrdWlsVEtRb0lkYkxUa0drQW53NTZsMjRGU0FGNDdvbW8zaHlUSG11UQpyUjdvaDN0Z1E0cGkwY2NvRGZjSnZZWUpQMkdFbjNYVjhwSzNDYjYxRGQrdmZQbDkzSU12ZTFTUzFnYllQNWJwN3NyVGlSTXVOV042CnFNY0hYRnN1Tzl6bjc2T3RrN0F0aVJwWlh4YzVvUXU5eVpZRW05aGhSejEzTnJ2M2Rxd1lXRGF4ZVNQUGoxaUVDWkVoN0prNkZOblMKcHZvU3laVGxidmlEaFF3cGFxOHFYKzZHODU2SkhwbG9BRkV4OWwvYjNJUEFkTDhKQTc2anp0MDhKUHN1OTYyeEgvR2ZZSzhaZEFRSApEbVhqbUwwdjU2NVQzN2ZjVlNOeUtjYmsxeFFOM2l6UnlTOFRCZ2l4djRwRnFVY2tQTExsdVN0Sm50eVlRN0RjSlY1eEdZb1J6a3ZiCnhQbndZeFNyR08vQyt6QXpZOHF5cVpyQS9hcmFQY2lLeFZuZ0hPUU5ld05PRG9PTGV3OEpqUm1HZnprdnhzZS9hbmJPVHBNdWowUUsKR253dFVsUDY2am84bXZ6UFJMelc5TnZkbnpFaWk4Y1ovbndKaXlYMGZwdXc5RTVaZHVWbWZVclVJd1Q0eitjejAvaTF4cmUybXlJVgpkMGlnRVFMNnhQRE5YUFBQTThvUE1YU0kxYmhQOC8wVGZQZjdXTCtHQU94eWVJaTl6b0NNemR6eUYwbXczVGVwbS9BZUlzYjBXeUpXCkFvdXdvVkh4c0RPYWRKU1orMDVLZ3d0S0xKekFZSE43a3ZQSUlYSUNva3Vmd1NwcS9CeGFZVWpJdU9DUWRZZlFnQjNsakVHV1FHcnEKZDZCRGZFc256ZHFuM1NOYnBsbjVGWk5SSEhOQ25SMGZkallpdTFGZDNXMmM5L2dkYnBscCtSUDBERVNDVE5yN3pIRDF6ZXoxVHFJVgpIR2l3OU5OZE9VWnFhYktnKzRUblpaSFZ3cXFpcmYwdktZaEtyMU8zN005UlJKL1Nzc0MwVktHR3BBYVA0WEY0TkR0aTY4SlZOaEltCmJOc3RUYngxTmVqR1FrTFdJaDFGUEUwQWhIZzdEMW96NUFzU00yT0gwbVBmejVEdlFXNWdzYnVQUWdPSE5FTlM1Zz09CgldXT4KCTwhW0NEQVRBWwoJMGpzUndkcE1CSGJYU3QrMVB3SFc1VExYNktWUHhaRy9XRGFSdXV1UWNlck03dEpOaHB4U2QyVW1PVUI2TWVCTTNTMkVEcXo4N0M3agpGN2l5dWp0VFFUaldTR3RTZCt2QWNuVStJUWgxVnhnb3g2TGlva1NJamQyVlpGd2VoMW1xSUlHOHY5L3RtVmdIcUtCVWRHVlRUVVluCjZvb0VLNE5WWmhadzVVUUUyVGc2cFJkWm9oaW5xcnJaMnQ1SjI0Z2xPWmprRlJZcEgzT3JzUjNHVmFVc3hPTi9VU0NzSW95VWtFMm8KbEJrcmxVd3AyekRFbVltSFdKZVBLbllZYkhEV2RXbzZib2RoMlRGUTZyRm0wZUdNQnlrTktuWUNDMHkzRlY1aHR4bTBUbDJMNC8ragpUZUJOYmVjUWFUdEl1bEczMElPTkZqZGhjdXVYSVg2NkdhS01mOVNOQXE3Z0tmMUJiSTJwTUVmZEdPaVJIWE0wSmpBeUtNeWxmQjBwCmMySElHa3JQeW1aZU56ZnF3cXBXcm1tSm5McEhzSUdlYnBBbklpM3F0cUxtaElBRkRpODZPdmdjbUQzcXBoZktuRkk4M0hTZmprUzcKb1dacVFxcjJDbU0ydGdySFlpRDdWQXF4UFVmZHppbFZwcnBFTC83N21RekVQYVZrNGxnRjZTWmhLeGt6ZEZVMWFBS09GV3g4SVdtVQpWdmhxTEUwSHlIWTIrNmpXWDlDWWxuZGUyZEFFMThETXpHZ0dKeW5LcUp1dGRFbXJnZm5wNXFPbzYxR3NLejFkaVVYVXRUTGdpQXVrCmlhSnVUNjk0ZHMwSGk2Sk9rWUk5OW5TYnJyUm4xS1VwanIvTk1aZEQ0a1hkOHd0dTVSdVpuM2hnbGJDS3VrSytoMW1ya2NlcHFPTlMKMGhyQVVjeE0xQjFndVArekdOeHk4V0kxMksrSnVySCttb0xWakxpb3E0cVZXd1Vob3FnYkVtZTVXUWtCZUhWQnExSDNNdlBZN3BPdQpCM0pSTjJ0alNhblk5T1FlZFhsVC9pM0tDcEZYb203dHRDclA3WFZuRWpiS3FIc1VYbzJzek1YVERZYkY4b3E2R29uenJ5OFc5RkU1ClNVVkYzZDQ5MDlkblA0SE82L0YzT2pZRXRGR2xDVTVETlhRSDY1czFvWXRXbWdjS1FWVExzQzlFdHlZeXNKbnRMZEQ5ay9nZjIvNlkKWUV2dUdVZ1FvOUJ5RE1hK3ArWnVqdjl6WTVHSnhYN0xORzdkRHFaUzR3WlRQdjNUOGN4b2pGeFNHR2hwKy93d1lGZkh6ZjZnR2VzVQpxNjdjQjJQQVFiT1RTaHhVU3VxS1VVM3VoakNoODVYZnE2TEJrdXNUV0xwcmNzZXFIeVRaYVFEcjlYSmFMaWFtTnRsUGxrQkYwWVpGCnRmQUkxYzg2OUtHS1hGWnBPcnY3WFJhTHloZzhjS0s1RmFzT3V3VWJDZ1pndGFyYVlxUnZhSStNKzdyWVVQZkhXQ1VWWEVIWm40VnAKTHI5WlBrZk1yU1BOVGVSZFBEZnBHOVY1Q1FJSlRIaXBZUVpVU2lVdXUvbkRRSEhUSmZPc1EzZ2VrajBybEIrcjZmZmJ4dHNYc0pUdgozekdsR2pVSUNOYitNYWMyNGJLTHRoZHlFMWdDRVFDUDRhVTBidHhiVnFtMGxBN0V2cnFKN012YU1Pc3lkZ3RPN1J5bDdtSDFHaHc5ClRibGlySi9RR01mUVh2c0dKQkNWRU1FaUltbjRibU9aUU1TWm5pcVlwNHp6UXJaZ0U0V1psQmFDNGNpam55WTB6UEE0UnZtU3ZhRWgKa1hISkptdUFPRnB4bmg3amhjbTNsdmphNlV2TFoxMmJIQmhkVnZ6VVhBdXBNSWFOSm1WMENMTGRwZXJiNUZEY25Kcnl5YUJLbVBSUgpSZDIvOW5Ra3pFc2RibnlVT1hJWmFTbjFpTU4xMmNSN1dJWmVkbkd1a2I0RkVlSldGUGNRaHNOMTE0TTJzUWtBRGpkbUg3aXJSM3F5CkhpWU9keHJpWHBkUkd1SzdhTVZUSFJNVERYbkQybHJTbTZ2dmN0bG5qWGhWYkVsclNkSG5YaHJnaGsyaG1JSGRKNHVqM0IwazFrazMKbFRwVVVnZHpFSVd2N0pteUNhSWhTUENQT0JxTUkvWG5lRTZnNXJSQkM1NXhzTGNZRnluRUZXcWw2aVlXMkR3RWNtbEpPTm5SSXh6bgpZakRFaDVsTTJVY0ZzS0VJY0ZIM1NCWkJ4S0doMkdUeG0yQVBaMFhGUUJQS2F0ZlJyNUlybDNmZTRDV1JRem56OUlLSWhrR29NSThoCmwvR3c5OFF2eFV6Wm5DTC9GcE1pUGpNZXJMaHRMYTV0SC9YeUMycEN2RzduWGRIbjlUeDRXWHdQTUtaV0UreThFM3YrL3pKS015aFUKNzY0TTZzeUxBZWdzSmFCckxhN1EyWWtBSnNBVzVnbWtIbExvYWp3TmRsc3pJUW5oSzRTbS9rOUtXdXNpdVhxL1ZEOW5reWFJbWVVSwpTcE5NMTI4NVg5MzVENkVzZjNaN0lCNWJPMFBpN3RLbXNVNWNxTHZJV09iY2lndGNSckUxY1lQWERKak5zODJvQjdSWVJER0ZFemZwCkNISlI3aXViSDJNNjhsOEptaVRPa2x2WnNXVGk2bU9wTWlVcmZIV1ljMmVFRlBsVVhQbjdQSjZJT1ZPbVNaelE4RTFjaSt4SDFJRC8KT1lFaW5kYUtTOXhqYjNuaWhoZ1FlWGNYYTZLcnNKNzl1bmtHZHJ0b2xwME55cHBEN2dPbEhON1R2Zm94KzhjZUVYV21Ob3VCMlFrUQo1eVBPQkZxcUZyVmhsNHJ5QmRXSmQxYVlURzk4ZDdERkJad2dBWThLZ2x4R1B3dm1WdjZ4Wjcwd0JEdDR1WDFnZDZHSnI3SHhwcENQCnRlaWRMakdQTzZ3MDkrVm5uZFVnUUlPWldlVW92UVMydXJNcitCaWNhNDk4VVR1VC9LQnRJWTBjZ3VyaURpdTFMMUlaVWhXSUtMNksKcUhKemlGR0pOalRnZUJXbWttVlhCaFVaT3ZnQlpoZ2VKRWQ0TEMwYVM2ZDkvdERlcmhNdjQ3RlNQSzZNMnZOZCsxTWJ2RjdYWWphZwpZTDhEVjBxTWxSM0Z1TnNNWEN1TXZOOHVyOEc2bklhU2ZhNm0wSXBNdWZTTXNCRmowRnpCOTlTNDQrWkp1c0JnYi9sbnpwZWNWbG54CmpvdEhzVE1MS1V0OHJLOGdBSVA0ZjZuNVg1VE9Zd1VHNm92VjlQdDhaWEM1VVRhU3RXUzloRWh5MFloZGo3OUh6b054Zk5HczlMOGIKbnRVUU8vaWFLVTJPMUpKMlVDay9ZaXhwWnZzRk15RnZpUStsWE9TUHl4T2kyU3J3M1pHYmlCTEYrajlKbTRSdGtiMnNnUkU2YnRpUgpiaW1GVmNvOTNlZXczQ1VYNmRwZEJqYVNBTlFFS0l3NDZ1c3R3ajBwTkNId002bXRBSVB3bE1DakFqTHJESE93KzJVMGZQdUZRcWg1CnF2eE5Ddnh0OEpRZGQ2d3N6Mk5nb0prYjBGd05iVFQrOStWY25nWDhvQm0wSTdrNk8rbk5YM01kY3A1RUkxTnFqU28wQnNlTFdCcTAKcnJEWG5md3gzMWgxSERBNG9hbzh2Q0xzRXNLZllwSXh6TnBpaEhzZld1SmNxM3gra2tDYWxNb0M2bGZ6R1F5bW1ueTBTait6ZlJXSQpnL2ZCQzNkdXdYaVIyOXp5UjJXZWdYblNmUUhHMmtta3JJNENpcFlkZzgrNWF0S0xBSXg0UWQ0YUdlL0R4cHoxT3dDN3NsbG5ka3lHCnoxaUNWY0lQRDgzTU14bVkvMGdscHJ2dGxhZTA1L3VEbW9zVzZzbG9oKzR5dTVrV0x1aS9pcW9yd0duTUtHVVM5QjA2ZmRnZitQdUMKdVN5RzhWZk90WUNMblVsV3c0SStZYnlxbmFXMUN5cXkwMFh5QXlFNmpvbXN4a3lSSFp2N3NSeGhlcEhTMnI0V0ZwWFdHaEFEZUtiegpyN1U3aU1oMlhYN3loc3FVVHdZOUs0dGdXQzNwSE1jOEdoMmJFZU14V0lBOVpra1hUd1BLM1dRNkV5WkhvWTBRUXVNT0FlSVVyQXdLCjU5YXY3SEpGeGxGWm15K2hWNTViUVdmQUxlZGpuSitKNEltQXhrRFJjL1ZWdEtmK1dCNTc1Z2tiVUVUV2xITVc5Q3VCWWNkUERXUW4KSWJrZ0FFYmdTSnZ1cEJSM1pYbXQzMHl5NFZMejlCeW9mSEtBRHZ0b3I2UXdrMGRFTUJUUUJDWUp5RitNR09mZ3c0dGYrbk9mVW51OQpXbWpBUmVuZytXdDhBMVV0cG90ajBKZzJBeGRrQXlnTEZQbGJVREt5SDEyTnluMzVuZWZvbWx0MHVkYlIxWjU1clpkZHlHK2ZDUDlICk4zc010cWJvWnAyajZ6WUcxK25odFpzZVhSeHZOZCtTYTlCV0NhUWMzWmtZYkxqbzltc0RRRWRYM2NQc1JiZmZMYXVDYVVkM09RYTcKTGJwOUJoeGRBemozMVBEVHNDbEEwNkw3ZVVoZUhkMk1lVFVETHpYVXNtbWNvK3YxVkhTNzMzQTlmZ2M4R1dNNmF0UmUzL1VjK1QvVgpzQk1zQlRGQVpLRmRJUGV3eFArbEtJY3ZyWXZmeGtFQkJUWnJ0QVB4NzR6b3BrcGlhbExuSUlOeGNLNEhGTVBtTEFwOWtzVXRNYWZZCmVINzBVeGhNWDFvZWJES25JYjRRYm94MjZnempUcksvNXFYWE5DazFwY1VwQ3NRZ1BqRzZaZXpOZWozaHFLWHBiRmthcVJIYllKZVUKWUdEZVlYOUxBQmRLSyt4L1gvTlgzOGx0WUtLa0xzQ3RGVDMvdGMzZ2tQb0VwWHNSMnVQNVlSb2UrUTdRWnBid3B1TTMrTlZmUXZoNwpmS0VmUGhlQk93cGtWdHBNUWl1bmdTQkNveGpTZ1lyTGlObitlK1lqbnp4bGpkaVFoOG1PMEI2UG1POHlvSHk0ZXNRb1lnc0w5K0hBCmpWZ255eGV1MEoxemtGNFFzMG93Rm5HUDEyakhqS1hpcjFqdTFvV1RVRzdqK013ZHoxL0pNdmRSUVh4U3BqT3Q4U1ZGTHErUlJGWloKeFh4SHZLMHZNYWt1RFU1clhCdkc5N0M5bk9GRDdkVWtUTWdFS0JTdmdpT3hxYnFHYzI3Sm9sVGZRM1QyZi9MaEdnVGlSZTdsODBwcQplbTl2ZVN6TGZTREZNb1VPQzBzMGx3OG9TWUdtaW5ydmYzTk91dzhOQ0NyS0hzRXVUVG5RR2x3ck90SlJtWmRaUWd0VDZISEtGaEZKClVBUVBTL2VCQ2JhVFdaMmpHdEp4NStNVzQ2MllRNFgyRjdJVm5NS0hLNXlpUTEzZVU0MGhpV0JqQzMzV1RldUlKSm1GcUVaWjdOVTQKTHA3dHlMb2pBb0pmZ29qOWY3RjVSRnRMNWhGaFhzMG5ITUZiRVpTcXljTWkzWHg0ZlMzZVhQZEdXcklmcmdaVEU4QlBhNWZjNE82NgpHcDlHS0R0clpuU3lMMUM2NXR1WnplT24zZzF3bHNtWkJkcHJwUXhVNGpMY3JGbTVMUE5HNXM3L1VBQ0Irejh4ZmJaL3E4Q2lUaU8wCjI0cVZZNERrVlhKL1M3SGRFLzJFQXdud3VBU2EzN2dnelZKQVUxVmFiNkxWT2EvMlNjMlhHZEhxYkFZOGZYUDFQcE5DazFMTTFhMGgKdEJreUFGZnV5bGVXOFlueE5sYndZVGlLY21SQmFONE82Q0JvNWVHUXVnaWpOWjlIaGMzeHJGajVYNEJKbkJpN1RnWUJDdEM4T0F1cgpMWCtkTnV2STlsb1VlekJIeVpOZFFOaFhUeWN3UlpwUXMvZFVZSDB6ampEcllIMG1oYnRlWWYrVTB0NUdzYWV1NEhOQkgzU0NsNW5tCldXRXh3NEFLQk5wWXBJZGw0RnZKYnBIaU5LZC9XemtwcWVGeVprbnNtcVk0T0MwRnY1Mzh1aGtXQkp3TjhCN3k2REVYUnJwWHA3TDkKR05waEZXc0U4VGhYejEvVVVpcHYrMzlzOTJPRVdkVVVjWVBrNEd4ZVlMRTkwTDhVb0JMdEU2Y3BzQ3lURExDNmNBTEZBcDl4dkRwRgp6UXl2V2dORjYrMDcrb2o2Qk12aXhMU1g3WmU2VW82emFweTIrVlN0N3B5Yi9KcDFZbDVWWVpZbXJXRElWZk9KaTRzYmdkempyQ0t4CkhHR01DbXBGR3ZZdEc3QTdNSmxIRmZqU0poZ1dqNmVCTnVRbkFQMDhWMytJemNNcDlBQmFJRXk4cTc2MXR0cVFMMHFUQU1JSlNQVFgKRHg0Q2RFdm5qUlROWXdyN0ZvNkFZYW12VXZVQWVweHdJL0VTWmgxRERodkdsYVNybC9xL3BVMUJ2T2lKMU5GTk5LVUZhNTUvRmJtYQpOU3J4d28vY0QydGhSYkJpU1BvRG9yNklpUm12U09DU2puQ29Cb2UyTlNOVDVablZZS2pQSWlYb1hTOWovNUFka3pIWENRTU1xWENDCmZLK3luTVVXQkdSMnZZaFpmYlU5VUdSck1yM01aYWhMSEhlOTBIWndUNHcvOWxXV2djYkViVjdIUURaK2lwclhObXpjdTBXZi9WWGoKMHFyeGljZ05mZE5zeHhPT2drRlk4alZVWXpGUi9jWWhsZnBEaDdyNXlEaGFCWVQ1ZStGQkRCKzBkWFlVLzd6ZkN1MFFVNmQyT0s2ZApBZEpLd0pYTHZyZzV5NXJXMFRtSjRhSDJDQnQ5TWU3SUtFQnJHYW5Rb1RpRVlSOFVhRlBuNUtOcjNHUWQrY3hJMjhscVI0MW0zUWhNCmU1dy9FWE9TcGVUSGxMQXJvdzNPdjdQMHFWRUtOOUlLSGFNandsUzAwTGJSdDZQdm9pOVpiSkd6cDg0NWZLdFp5UFlJZVVCTmMrRkoKbzJpYWNzMTlZaTVwK0d3TTF2bDJ2OWw1NmRhYUg3RFhRK1V0T2NzcUtEcnluL1VWVWJxdzZ6aFBOWTZVUS83N3VnUnp4anArWFNxdgowMWtpT1F0amgrNU92Q25Cc2FxalFtVVc0T2taQXh2VXJJbTdOYUhGTUk5MWJpSnZDbkIyMCtkZUZqTHhKTjA0eml5VUFGVXk2MXliCkovL25zV2VwU2ovWjRTQ1pSWDRtbmFtd2Fad1BKSUp6blZFVjZYdUgzYXdUVFQvTTBKQitRSE16V2ZUdjJibFBwUT09CgldXT4KCTwhW0NEQVRBWwoJVmVFcG5ZMDlxN1p3bGRTektDL0MwaHh6ZVdzR3NJWEEwaVU2VEF6Sk95eUpXcDJ1ZzlJTElTL01rRXZsL2F6eVE4SWVYZ3lNbTlHUgpIbHV2N01FMUFGdGhERXREY2Ztd3Z2elFCUXdET3NCeHpCd0lwVUNGUGdNVGdFY2U3QnZob0F0VGNhcEF6Ykt6eVpkWnpFaUxGT1VaCklyQmtFR3dFdHlGOFlqR0hpdVowSm4weHlwMU81c1M0ZXNEWWJhV1B5Z2xCRmlWcUdOaG5zaVJHVFRmWUpIajA1UWdFOThCamJnc3AKRWZoaS9Dd1lwQzVncmkrSjJoQ01kdzdJbG1yZWxPOU1nREh5SW5EMmZ1RU1JWmVYT0w3WERsb3ZmYk91dUw4Z1VYVTRzRlF5c1hGWQpKeHRwaWRjcnNUb0owKzM5aDZIamxKUEJ2R3hqcGxUVkR6TWJKNlJzMzRoTWUrcEF0YXFiQXNmRnIrZjlqV2lLeWtqRUw2d2U0dDdaCnVETWY4Wkd3LzQrcHRYTnhpU3MzY25RbjhVMFRrZk95MXdsbUdHa0JSYTZBbVV4UTBFNGhqenk3K2FvY0hLMitoYmd3ajlhWVRyaCsKU05QUHU0MDFjY1hzc21pVVFuZzE4bWU3TUdlUjA0aDh0L3NVRXhBUzJuMCtwaHA1cERVdDU2a0owUUJieWxPSFJzczIzbCtBU0lwdAorQ00wTE9uOGNWbGpEY0U0d1hkcHB3NXRJTEVUd3QyZm02RXowRXpOWTI0R1RCaDY1bCtYSlBwenN0YUFHTG9xM3lPOHNpWjBDNHp4Cm0rN1g2c1V3VlVTbmI0SCtiVElpNlRxVDY5dVZGTUttelJzVWNYZExaeVZ5T0g2S1RQS05PRHN6TWVKSUt5R2ZUb2s5ekUwQVZlU24KYlNQZVcxclpIWjhuK2g5SThQbzZRbkFPWXFmMXAydTV6b284WGM0aDZ6aUNlakMvNDNoZHJSaFVxdS8rMWNoTWRQQWo2VEhuZWIxSQphKzFxTmdtOUZjcXpyUmlLRU5tNnZKWkxrVUp0NGZISDZMbjJHZDA5OFB6SHNOdER3L3pUL0FkWnZ3YU5ONjVWdnZvOThlVURadXVsCklWU3YxM211Y3hyQ1p2c3Y4eVN5OGNCQmYzOXFzanBoWEdlZjhQaTY3MkcrV0NmRWdwTitkakZ0bVkwZjB6UGF6ZTV6MVNBU3F5UkoKbEdHVlpsYjZLUnJ4YUQwbVZHczhwZGxHNERWV3NIMTZyM1d1bEs3cVJkRDVWd0VqdmJVb1lOTE5yZ3lIcUpjdjRKTnoxeDBVWEJ1dQpXcXlKMVRQWitPb2hXL3ZOYjJTZnphSm03eVVlK3lIZzdac1pQbGZraEZyN2lZZS96Q2ZKdXY0WkJvdUxHR0ZvbktYYXRPRElpbW52CmI0eCtpOUk0MzRES25Yd1B4U1J3ZjNMUGt0djlvN3NSQWlJM2dnZzVnRzkraFBFVVRMN0tFUnRvOWlPSzdUYmlLeGd6TVJmSVZVamoKUlZvMks2VWQzdEhkWGdPTWtXR2thZlFQY2p0V2Vjam5PUk1POW5KY1ZrUFlIRTdOem16QmJRWXBpVklETFpRSlIwbEhxaVdsTEpqcgp2UTVKcDVwT2pIVFZoU2hSS3RnVnRXOUdOQ2E1bVBJQzRubnpXU0FWYyt6TVg1c1ZlbFU4cVZIUExHd1cxNmUyQmdMZkVwNWFxYWYxCkxhNTh6WC9EMXVaUGg1V0VNNkt6dEZjdkdGUXRGam9sNHUvdy9KVGJ0MFJ4dHVVS0dldDNpOU5jRmFNYk9BTXFVS1BHN0QrVVl4QTEKT3JUSFV5NTFFdk15d3Z5Wmxnai9wODk3cU43Mm9xVnBiTldEUWl5WmxuSk8rWW5VZVFFa2w4eFNqR0hNU0JHMjVZZm5KazZWbEsyawpKQnFMYm5tZU1CUHNwWGlVUi9ld1Fic0l4aEtmTEN1U0NnVFpUbmxRT3hvTnNrMG82ZERuTHJqN1ZZUlZ5aTZ2Z2U2amNNYW5Ic2RWCjhYbXE3V09aQnhmNkpwS0xnYjk4QlFUT1JLUDhEdHdpWFFRemFDSW43U2ZCckdqZ0UzcWR0VVBuYVJ2RFpqT1p4SWxRMGYxSnBRYm0KZzBwL2ljclh2ZG9VKzlsbjhjTWtmb1dyMmpGSzhQL0hyV2JvU2M1MlZiQk9iZWRoVXMxY2pRT3ZWb0NrK3NBa09ZaGNEVXordEJRNgpRNXhrZFdaZ1lwT0k4dEhNcHdHMDRXdlVHcWp4aUVQL0o0LytBbG80NFhSVWN5R2VqTE1TNXdSdERCWksrUnQ0cm0xdFcwNDVTVlByCkMweFl6QWViMDV3QjB6ZjRzZEFzREVhM0I5aGJJQWZuSVV4VDFGYWYxRk5jVzVqOWdCdkVJckJtY1NGZ0xVa1ptUVR1cWgzN2JoSEsKWEppUm9OMlFlSTdmbGI4Q3lrSVcxcG9EbHdvTk1TaWovVnR1Yk5aVHcvUzBoblJRNU9LaEs3QVpZRlM0d0RrR3JpTTZjUU5YTExIWApjQXRNWWQwQVg5QVg4VCtGSXloOE9idHpmS1dNaEhrcm9CMFFmZlBSbWlyNUd2eGdoc2gxbzMwUWtpc0hBdVZpQld6Nk1HNzVWblYvCnhTdk5RUDJPUjk2YnBiNlBINWpvWDk5eUtGNU5QUkxSNTRoeUlGaTRMNG1HNTlnR3VrQkFPUC8yZmk5TTZXbTNsUWMyazJQU25XVSsKdWwxTW1ZbDRLWldXRkYydDJMQUVNaUhpc09kQXMxdXo0cVRBcldzVGpaM05paWJrQmVwUzRBNlF1NWwyZ3FUa2FBYUdxUXcwbVlzYwpCaUVWTy9YSUNKSzgrYnd2cFk5MndaRXVucGs1RE1YUmlHL3BHc3o4OE1RZ0xvcEhOYTE1b0VEQkIyWTBMYndhOVM4bWJGSjBxSG1DClQzTjZrZGd0QWJKYkFFdDNjTnV1TFdNVEltQkpSeHBWY0Nob2hCUmlsN3NUVnlQZUc0TlYzUlFJSlIzREtxNk5UM3g3d2pWK0pEZDcKTnd3ekFrQmoxVkdETXNvUUlFWlBYaVc1N1JCWGNUdjdqQVFVRFJSczFsRmYrTHFxMkFnTXMzaFB0WVRkdkRkS1ovNUVWUzNTYld3bQpHRW1nRzEzM3RabW5aSUp0eEF3U2hEeDlydUp0Q2Q3MFFCWmZlVk8xZXd4ekFlSFF4cGI5QW9DUVgyOGlJQVpzOFFkd1NnUytKRkhmCllBa1lDNE9pblUvV2xSRnJJS3h5QnRFQ3BrOTJOZ1gzTHUxdkFjc0JxQVpycmJCVm1LeHZTenpMV0RiM3FXWmExbGhIb3hQNkhFVW0KSC84aUo2Yk1FbHpNbnJWM29hTHhjblc1SlcrNVVkQXdhcUt4VzkwS05EYTRtRTJSTFVoZjcrWlE0RGdLSlBQTFNXQ2V1K2RJSjhHdAp5ejFic3dScjd2NkhRdDMybTl4TjZ3ekNrWmNvK3dHMjVwaTkwUTVRMFVKcWZHU0hFS3JhS2RPOWNQSXRrN2Y4Wis2YVU2N3FzRElzCmVxVXNYNkhlYkZHQlQ3Wk0ySmdRSjU0Q3R0MTljQXhkYStZOHZtaGhrUWczajB1S21pbWlac09MM0F3dGdBbGpiRzFuQnFpSlNwNWQKRkVWSk9TV3BjVGVlV2RJRklwVXlXa0FKUnE3NVZhdWRoaVpnUDc2VXdFTHliclkwR29QNGhMZS9SS3RVYnUyK1VHbEJzWTlnby9rVQp5TjA0eXJqcHZxejZLYTJMbWJlanVuL1Q3VlVIVnhNWUhWMEJWU3RwMU1Pb1BZZ3ZuTlNHY0o0R1RCSG5mTTZmSjROeW8vUGx1VEw1CjNCenc0Q1NudGwwNjBwaG54NHAraTBJZEFFSWdaNlFjeHBSQjBtL096eHpkbE9PTFFJTy84VEZlQU9jd0hMYUpRdU4vVjh5Tnk5aFcKL0NGVVBTNkRHbUlRVG80M2Exckc2WUxmZFlDdVBhY1hsT2JrTGVCcSt1eDBxTE55aHIzTjQzL0ZRYnZVa3ZpdS9sV1hBSERUdlRwTQorVTdZMjlQSXNXd1ovclU2U005S1gzdlBBYUVWOFBIcnJVMnV3NnBkaGZ0NEIzWWJBd1pJVDU0bjNYNlBFbEh2TWZqbjVVVXNsd080CmtmdVlseklUVG1Ja3FVcTFaT0E0R0l1THhyREdkUFFIY05WV0JHNjBqRGVaVzdxUzRuQ0xqRjVnTjhOZTRaTzVMdmdFd3p0SDlvTWIKTzd2ZTVtTmRmbVdQTDhzYk5rTVJvRld5VTZPUDdlVUtRUElZVWx2NmQ1c0xTM0s4dXJSdFpBR2xiYXNrVkVMRWJTVzZBODJvSmRBZwoyVGZlQlRrQWtqZ0UvWkt0dWtsSjhxckJ5NGc5NG1VdlBjdWNlY0F4RUQ1MGt0ckZnZEMrMmYrWXB3U1RpV0ZqYjQyZVNLUFJGZ3hOCkxUSTJqdTEwWFY3ZFlCOG9HVXNiVkJEbjJnaGdDTGtDTVYwME0yd2VGMi9QYXZ3QWRYS3k0ZWs5UDdyNEhFUTRid3lUNDU4Ujg1bS8KS1dxaGZWYnJ1WnlRc1VKYlpPRWRIeXNJUXllTVd1SWtEV29MMnlOVGRpcjhXU01TVk1SUzZVTDZmdUNJb3lHNXg3Vjc0b3M3Q3p2awozbGhhQkNIU3E1ZXZacW5zb0EwSmp3OUcxbWF5U3ZTZTN3akwzc2VueG1hNWVjcEhoV2hteElMUVBUeVRDYVR6NjRGTzEyZEhLbVNvCnhLaXJ4MkFEUG1yQW9wYkxWRkpUWDdYZ2JQeVZrdzdZdUU2T2ZMVjBmbkpUTHJtMmUyVDEvbHhIVWlJa2dTUnNzcGppOEZ5SmtiY1gKTUZiSjA3cnJPalQzY3dCWHdpb09sL2k3Uk1FL1Y0THZDYjFteExERUZkZFF5aXlvZFVjTDd3S3piVitpTHF0ZzRQdXNyUFI1ajI1TQpZU3B2SmdhOWorSm40ZHorWThxeEsvdUlMZUVOYjN3TEZYWmhKKzdoaFBZbHhKV0ZxQlRiUGhsVzBLQ3dDZVViK2N0SDM0ZktzL1BBCktMU1RSY3NaT3RPV08rakNwZGNFWWpxMWkzejhJLzZJZ0lQZ2cvQVhjcHkxZjNIWG53eklvaDBwZzI4VUJWYkdxaXl1andGUVVBZVgKTGdrODM3NmhvSGhiWkRiQ25FV3hNVWFXVHhtMHZBaDlKWUFFQjJCTWhwaWUybjlkZlNMM2paMmUxdmhMeEJQaFNnWG4xMHZ2T0IrRwpnVWlyWG9ST3ZYYzIyKzJjRytZbQoJXV0+CjwvaTphaXBnZj4KPC9zdmc+Cg==\"","<script lang=\"ts\">\n import type{ TUser } from \"../../../utils/types\";\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonLink from \"../shared/inputs/button-link/ButtonLink.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import NewWindowIcon from \"../../images/new-window.svg\";\n import GitbookIcon from \"../../images/gitbook-logo.svg\";\n import AccountIcon from \"../../images/account.svg\";\n import UserInfo from \"../shared/UserInfo.svelte\";\n\n export let options: {\n links: {\n passportLink?: string;\n scanLink?: string;\n scanIcon?: string;\n scanName?: string;\n nftsLink?: string;\n nftsIcon?: string;\n };\n gitbookUrl: string;\n gitbookToken: string | null;\n onSignOut: () => void;\n onUpdateProfile: () => void;\n\n storedValueAlias: string;\n balance: string | null;\n userData: TUser | null;\n userAddress: Promise<string>;\n };\n\n let {\n gitbookToken,\n onSignOut,\n onUpdateProfile,\n gitbookUrl,\n userAddress,\n storedValueAlias,\n } = options;\n\n $: links = options.links;\n $: balance = options.balance;\n $: userData = options.userData;\n</script>\n\n<ContentHeader text=\"Account Details\" />\n<div class=\"crtw-flex crtw-flex-col crtw-w-full crtw-mt-9 crtw-gap-9\">\n <UserInfo options={{ userAddress, userData, storedValueAlias, balance }} />\n <div\n class=\"crtw-flex crtw-flex-col crtw-w-full crtw-items-center crtw-gap-2.5\"\n >\n {#if links?.passportLink}\n <a\n href={links.passportLink}\n target=\"_blank\"\n title=\"View on Passport\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={AccountIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>View on Passport</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n {#if links?.scanLink && links?.scanIcon}\n <a\n href={links.scanLink}\n target=\"_blank\"\n title=\"View in the block explorer\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={links.scanIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>View in {links.scanName || \"Etherscan\"}</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n {#if links?.nftsLink && links?.nftsIcon}\n <a\n href={links.nftsLink}\n target=\"_blank\"\n title=\"View assets\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={links.nftsIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>View assets on OpenSea</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n {#if gitbookToken}\n <a\n href={`${gitbookUrl}?jwt_token=${gitbookToken}`}\n target=\"_blank\"\n title=\"GitBook docs\"\n class=\"crtw-flex crtw-items-center crtw-justify-start crtw-w-full crtw-border crtw-border-gray-300 crtw-p-2.5 crtw-no-underline crtw-text-gray-600\"\n rel=\"noreferrer\"\n >\n <img class=\"crtw-h-7 crtw-mr-14\" src={GitbookIcon} alt=\"\" />\n <div class=\"crtw-flex crtw-w-full crtw-justify-between\">\n <span>GitBook docs</span>\n <img src={NewWindowIcon} alt=\"\" />\n </div>\n </a>\n {/if}\n </div>\n <div\n class=\"crtw-flex crtw-flex-col crtw-justify-center crtw-items-center crtw-gap-4\"\n >\n <ButtonLink text=\"Update your account details\" onClick={onUpdateProfile} />\n <Button text=\"Sign Out\" onClick={onSignOut} />\n </div>\n</div>\n","import { Chains } from '@packages/utils/enums'\nimport { type TProfileLinks } from '@packages/utils/types'\nimport { configStore } from '@src/stores/config'\nimport { get } from 'svelte/store'\nimport { CHAIN_INFO } from '@packages/utils/chains'\n\n// eslint-disable-next-line max-lines-per-function, complexity\nexport const getProfileLinks = (address: string): TProfileLinks => {\n const { chainId } = get(configStore)\n switch (chainId) {\n case Chains.POLYGON_AMOY:\n return {\n scanName: 'Polygonscan',\n scanIcon: 'https://amoy.polygonscan.com/assets/poly/images/svg/logos/polygon-chain.svg?v=23.11.1.0',\n scanLink: CHAIN_INFO[Chains.POLYGON_AMOY].scanUrl + '/address/' + address,\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://testnets.opensea.io/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n }\n\n case Chains.CHILIZ_SPICY:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cloudflare-ipfs.com/ipfs/bafkreic5h74pwuf3ony3c5zmqoenps4pxj7l5q5j3o2mdcflfpb7g5tivy',\n scanLink: CHAIN_INFO[Chains.CHILIZ_SPICY].scanUrl + '/address/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n }\n\n case Chains.CHILIZ:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cloudflare-ipfs.com/ipfs/bafkreic5h74pwuf3ony3c5zmqoenps4pxj7l5q5j3o2mdcflfpb7g5tivy',\n scanLink: CHAIN_INFO[Chains.CHILIZ].scanUrl + '/address/' + address,\n passportLink: 'https://passport.credenza3.com',\n }\n\n case Chains.AVALANCHE_FUJI:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cryptologos.cc/logos/avalanche-avax-logo.svg?v=040',\n scanLink: CHAIN_INFO[Chains.AVALANCHE_FUJI].scanUrl + '/address/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://testnets.opensea.io/' + address,\n }\n\n case Chains.AVALANCHE:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cryptologos.cc/logos/avalanche-avax-logo.svg?v=040',\n scanLink: CHAIN_INFO[Chains.AVALANCHE].scanUrl + '/address/' + address,\n passportLink: 'https://passport.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://opensea.io/' + address,\n }\n case Chains.BASE:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cdn.brandfetch.io/id6XsSOVVS/theme/dark/logo.svg?c=1dxbfHSJFAPEGdCLU4o5B',\n scanLink: CHAIN_INFO[Chains.BASE].scanUrl + '/address/' + address,\n passportLink: 'https://passport.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://opensea.io/' + address,\n }\n case Chains.BASE_SEPOLIA:\n return {\n scanName: 'Explorer',\n scanIcon: 'https://cdn.brandfetch.io/id6XsSOVVS/theme/dark/logo.svg?c=1dxbfHSJFAPEGdCLU4o5B',\n scanLink: CHAIN_INFO[Chains.BASE_SEPOLIA].scanUrl + '/address/' + address,\n passportLink: 'https://passport.testnets.credenza3.com',\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://testnets.opensea.io/' + address,\n }\n case Chains.POLYGON:\n default:\n return {\n scanName: 'Polygonscan',\n scanIcon: CHAIN_INFO[Chains.POLYGON].scanUrl + '/assets/poly/images/svg/logos/polygon-chain.svg?v=23.11.1.0',\n scanLink: CHAIN_INFO[Chains.POLYGON].scanUrl + '/address/' + address,\n nftsIcon: 'https://opensea.io/static/images/logos/opensea.svg',\n nftsLink: 'https://opensea.io/' + address,\n passportLink: 'https://passport.credenza3.com',\n }\n }\n}\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { ethers } from '@credenza3/core-web-evm-ext'\n\n import { clientPublicStore, fn, forcedPageStore, pageStore, userStore } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n\n import { getProfileLinks } from '@pages/profile/Profile.service'\n import { analytics } from '@lib/mixpanel/mixpanel'\n\n import type { TEvmContract, TProfileLinks } from '@packages/utils/types'\n\n import { getGitbookAccessToken } from '@src/Passport.service'\n import { Profile } from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n\n const { getCREDContract, checkMembership } = get(fn)\n\n let links: TProfileLinks = {} as TProfileLinks\n let balance: string | null = null\n let gitbookToken: string | null = null\n\n const getProfileInfo = async () => {\n const publicKey = await getAddress()\n links = getProfileLinks(publicKey)\n try {\n const { isMember } = await checkMembership(publicKey)\n if (isMember) gitbookToken = await getGitbookAccessToken()\n } catch (err) {\n gitbookToken = null\n }\n\n if ($configStore.buyTokens !== false) {\n try {\n const { contract, decimals, address: contractAddress } = await getCREDContract() as TEvmContract\n const [balanceResult, symbol] = await Promise.all([\n contract.balanceOf(publicKey).then((weiBalance: bigint) => ethers.formatUnits(weiBalance, decimals)),\n contract.symbol(),\n ])\n balance = `${balanceResult} ${symbol}`\n analytics.track('cp_profile_balance_read', {\n chain: $configStore.chainId,\n contract: contractAddress,\n decimals,\n balance: balanceResult,\n symbol,\n })\n } catch (err) {\n balance = '-'\n }\n }\n }\n\n $: $configStore.chainId && getProfileInfo()\n</script>\n\n<Profile\n options={{\n links,\n gitbookToken,\n gitbookUrl: get(configStore).credenza.gitbookUrl,\n onSignOut: () => pageStore.set(Pages.LOGOUT),\n onUpdateProfile: () => forcedPageStore.set(Pages.UPDATE_PROFILE),\n balance,\n storedValueAlias: $clientPublicStore?.ui_settings.stored_value_alias,\n userData: $userStore,\n userAddress: getAddress(),\n }}\n/>\n"],"names":["NewWindowIcon","GitbookIcon","options","$.prop","$$props","gitbookToken","onSignOut","onUpdateProfile","gitbookUrl","userAddress","storedValueAlias","links","balance","userData","$.untrack","$.get","AccountIcon","$$render","consequent","getProfileLinks","address","chainId","get","configStore","Chains","CHAIN_INFO","__awaiter","thisArg","_arguments","P","generator","getCREDContract","checkMembership","fn","getProfileInfo","publicKey","getAddress","isMember","$.set","getGitbookAccessToken","$configStore","contract","decimals","contractAddress","balanceResult","symbol","weiBalance","ethers","analytics","Pages","forcedPageStore","$clientPublicStore","$userStore"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as L, p as T, h as M, f as h, i as y, b as c, d as R, u as G, r as Z, s as k, a as j, B as K, o as Q, n as W } from "./legacy-
|
|
2
|
-
import { a as X } from "./index-client-
|
|
3
|
-
import { z as U, v as ee, I as $, m as q, A as te, w as se, x as A, B as P, E as B, J as r, G as v, C as F, y as z, u as C, D as I, F as re, N as O, R as E, bG as oe, M as ae, bH as D, Z as ie, bI as ne } from "./index-
|
|
1
|
+
import { c as L, p as T, h as M, f as h, i as y, b as c, d as R, u as G, r as Z, s as k, a as j, B as K, o as Q, n as W } from "./legacy-DYwhQppf.js";
|
|
2
|
+
import { a as X } from "./index-client-CHAC5Y-M.js";
|
|
3
|
+
import { z as U, v as ee, I as $, m as q, A as te, w as se, x as A, B as P, E as B, J as r, G as v, C as F, y as z, u as C, D as I, F as re, N as O, R as E, bG as oe, M as ae, bH as D, Z as ie, bI as ne } from "./index-CeCdfdju.js";
|
|
4
4
|
import { i as de } from "./validation-DaZvZUPL.js";
|
|
5
|
-
import { B as le } from "./Button-
|
|
5
|
+
import { B as le } from "./Button-BRJIRnNj.js";
|
|
6
6
|
var ce = h(`<div class="crtw-text-2xl crtw-font-bold crtw-font-['poppins'] crtw-mb-4"> </div>`), ve = h('<iframe id="videoProgressIframe" title="progress-video" frameborder="0" scrolling="no" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture;" allowfullscreen="" width="100%" style="min-height: 200px"></iframe>'), pe = h('<video width="100%" controls autoplay><source/> Your browser does not support the video tag.</video>', 2), ue = h('<div class="crtw-pt-4 crtw-w-full"><!></div>'), _e = h('<div class="crtw-w-full"><!> <!></div> <!>', 1);
|
|
7
7
|
function H(p, i) {
|
|
8
8
|
if (new.target) return L({ component: H, ...p });
|
|
@@ -122,4 +122,4 @@ function fe(p, i) {
|
|
|
122
122
|
export {
|
|
123
123
|
fe as default
|
|
124
124
|
};
|
|
125
|
-
//# sourceMappingURL=ProgressVideo-
|
|
125
|
+
//# sourceMappingURL=ProgressVideo-BiUOuBa9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressVideo-
|
|
1
|
+
{"version":3,"file":"ProgressVideo-BiUOuBa9.js","sources":["../../ui/main/shared/progress/ProgressVideo.svelte","../src/app/components/progress/ProgressVideo.svelte"],"sourcesContent":["\n<script lang=\"ts\">\n import Button from \"../inputs/button/Button.svelte\";\n\n export let isProgressFinished: boolean\n export let options: {\n text?: string\n selected: {\n src: string\n embedded?: boolean \n }\n onSetVideoEnded: () => void\n } \n let { text, onSetVideoEnded } = options\n\n $: selected = options.selected\n</script>\n\n<div class=\"crtw-w-full\">\n {#if text}\n <div class=\"crtw-text-2xl crtw-font-bold crtw-font-['poppins'] crtw-mb-4\">{text}</div>\n {/if}\n {#if selected.embedded}\n <iframe\n id=\"videoProgressIframe\"\n title=\"progress-video\"\n frameborder=\"0\"\n scrolling=\"no\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture;\"\n allowfullscreen\n width=\"100%\"\n style=\"min-height: 200px\"\n src={`${selected.src}?autoplay=1&mute=1`}\n ></iframe>\n {:else if selected.src}\n <video width=\"100%\" controls autoplay muted>\n <source src={selected.src} />\n Your browser does not support the video tag.\n </video>\n {/if}\n</div>\n\n{#if isProgressFinished}\n <div class=\"crtw-pt-4 crtw-w-full\">\n <Button onClick={onSetVideoEnded} text=\"Skip\" />\n </div>\n{/if}","<script lang=\"ts\">\n import { onMount } from 'svelte'\n import { get } from 'svelte/store'\n import { pageOptsStore } from '@packages/stores'\n import { DEFAULT_LOADER_TITLE, DEFAULT_PROGRESS_VIDEO } from '@packages/utils/constants'\n import { isUrlValid } from '@lib/validation/validation'\n import { setVideoEnded } from '@components/progress/ProgressVideo.service'\n import { ProgressVideo } from '@packages/ui'\n import { configStore } from '@src/stores/config'\n\n const text: string = get(pageOptsStore)?.loaderText || DEFAULT_LOADER_TITLE\n const list = get(pageOptsStore)?.progressVideos ||\n get(configStore)?.content?.progressVideos || [DEFAULT_PROGRESS_VIDEO]\n\n let selected: {\n src: string\n embedded?: boolean\n } = DEFAULT_PROGRESS_VIDEO\n\n onMount(() => {\n const randomIndex = Math.floor(Math.random() * list.length)\n selected = isUrlValid(list[randomIndex].src) ? list[randomIndex] : DEFAULT_PROGRESS_VIDEO\n })\n</script>\n\n<ProgressVideo bind:isProgressFinished={$pageOptsStore.isProgressFinished} options={{\n text,\n selected,\n onSetVideoEnded: setVideoEnded,\n}}/>\n"],"names":["isProgressFinished","$.prop","$$props","options","text","onSetVideoEnded","selected","$$render","consequent","$.untrack","$.get","consequent_2","consequent_1","alternate","_a","_b","_c","_d","pageOptsStore","list","get","configStore","DEFAULT_PROGRESS_VIDEO","onMount","randomIndex","$.set","isUrlValid"],"mappings":";;;;;;;;;;MAacA,IAA2BC,EAAAC,GAAA,sBAAA,EAAA,GAE5BC,IAOVF,EAAAC,GAAA,WAAA,EAAA,KACE,MAAAE,GAAA,iBAAAC,EAAA,IAAAF,EAAA;;MAELG,GAAaH,EAAS,EAAA,QAAK;AAAA;;;;;yBAKVC,CAAA,CAAA;;;MADXA,KAAAG,EAAAC,CAAA;AAAA;;;;;;6BAJNF,CAAa,GAiBRG,EAAA,MAAA,GAAAC,EAAAJ,CAAA,EAAkB,GAAA,oBAAA;;;;;;;;6CAjBvBA,CAAa,GAAAG,EAAA,MAAAC,EAqBTJ,CAAA,EAAA,GAAA,EAAA,CAAA;;;;;cArBJA,CAAa,GAAAG,EAAA,MAAAC,EAmBDJ,CAAQ,EAAC,GAAA,KAAAC,EAAAI,CAAA;AAAA;;;;;;;QAnBrBL,CAAa,GAAAG,EAAA,MAAAC,aAOU,IAAAH,EAAAK,CAAA,IAAAL,EAAAM,GAAA,EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AANvB;kBC1BA;;;;AAAiB,MAAAC,GAAAC,GAAAC,GAAAC;cAWCH,MAACI,6DACfC,MAAAJ,IAAAK,EAAAF,CAAe,OAAC,kCAAA,qBAEdD,KAAAD,IAAAI,EAAAC,EAGA,OAAA,QAAAL,MAAA,SAAA,SAAAA,EAAA,aAAA,QAAAC,MAAA,SAAA,SAAAA,EAAA,oBAAsBK,CAAA;AAGxB,MAAAhB,MAGFgB,CAAM;AAEP,EAAAC,EAAA,MAAc;UACTC,IAAA,KAAA,MAAA,KAAA,OAAA,IAAAL,EAAA,MAAA;AACJM,IAAAA,EAAAnB,GAAQoB,GAAAP,EAAAK,CAAA,EAAA,GAAA,IAAAL,EAAAK,CAAA,IAAAF,CAAA;AAAA,EACR,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;AACF;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as Q, p as at, h as Z, f as z, i as B, k as S, A as q, s as E, r as u, e as G, b as x, d as F, u as H, a as I } from "./legacy-
|
|
2
|
-
import { o as ct } from "./index-client-
|
|
3
|
-
import { z as K, N as ot, Q as nt, v as it, I as b, m as g, J as t, A as J, w as lt, B as o, E as _, C as n, D, G as w, y as M, u as wt, x as L, R as pt, Z as ft } from "./index-
|
|
4
|
-
import { b as ut } from "./App-
|
|
1
|
+
import { c as Q, p as at, h as Z, f as z, i as B, k as S, A as q, s as E, r as u, e as G, b as x, d as F, u as H, a as I } from "./legacy-DYwhQppf.js";
|
|
2
|
+
import { o as ct } from "./index-client-CHAC5Y-M.js";
|
|
3
|
+
import { z as K, N as ot, Q as nt, v as it, I as b, m as g, J as t, A as J, w as lt, B as o, E as _, C as n, D, G as w, y as M, u as wt, x as L, R as pt, Z as ft } from "./index-CeCdfdju.js";
|
|
4
|
+
import { b as ut } from "./App-CK6khfTH.js";
|
|
5
5
|
var xt = z("<button> </button>"), mt = z(`<a class="crtw-flex crtw-justify-center crtw-items-center crtw-w-full crtw-h-[50px] crtw-cursor-pointer
|
|
6
6
|
crtw-border-2 crtw-border-black crtw-rounded crtw-font-['Poppins'] crtw-text-base crtw-font-medium"> </a>`), dt = z(`<div class="crtw-flex crtw-flex-col crtw-justify-start crtw-items-start crtw-w-full crtw-mx-[50px]"><img alt="credenza-logo" class="crtw-w-[200px] crtw-mx-auto"/> <div class="crtw-flex crtw-flex-col crtw-justify-start crtw-items-start crtw-font-['Poppins'] crtw-w-full crtw-mt-[36px]"><span class="crtw-text-[24px] crtw-text-[#313a2c] crtw-font-medium"> </span> <span class="crtw-text-base crtw-text-[#747474] crtw-mb-1"> </span></div> <div class="crtw-flex crtw-flex crtw-gap-[6px] crtw-w-full crtw-items-center crtw-mb-[100px] crtw-mt-[30px]"><!> <button> </button></div></div>`);
|
|
7
7
|
function U(p, i) {
|
|
@@ -108,4 +108,4 @@ function vt(p, i) {
|
|
|
108
108
|
export {
|
|
109
109
|
vt as default
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=RichAlert-
|
|
111
|
+
//# sourceMappingURL=RichAlert-NrgZSS3T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichAlert-
|
|
1
|
+
{"version":3,"file":"RichAlert-NrgZSS3T.js","sources":["../../ui/main/rich-alert/RichAlert.svelte","../src/app/pages/rich-alert/RichAlert.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { fn } from \"../../../stores\";\n import type{ TRichAlertButtonConfig, TRichAlertOptions } from \"../../../utils/types\";\n import CredenzaLogo from \"../../images/credenza.svg\";\n import { get } from \"svelte/store\";\n\n export let options: TRichAlertOptions;\n\n let title: string | undefined;\n let description: string | undefined;\n let action: TRichAlertButtonConfig | undefined;\n const { close } = get(fn);\n\n $: if (options) {\n ({ title, description, action } = options);\n }\n\n const btnClass = `crtw-px-[36px] crtw-flex crtw-justify-center crtw-items-center crtw-bg-black crtw-text-white crtw-h-[50px] crtw-cursor-pointer\n crtw-border-0 crtw-rounded crtw-font-['Poppins'] crtw-text-sm crtw-font-medium`\n</script>\n\n<div class=\"crtw-flex crtw-flex-col crtw-justify-start crtw-items-start crtw-w-full crtw-mx-[50px]\">\n <img\n src={CredenzaLogo}\n alt=\"credenza-logo\"\n class=\"crtw-w-[200px] crtw-mx-auto\"\n />\n <div class=\"crtw-flex crtw-flex-col crtw-justify-start crtw-items-start crtw-font-['Poppins'] crtw-w-full crtw-mt-[36px]\">\n <span class=\"crtw-text-[24px] crtw-text-[#313a2c] crtw-font-medium\">\n {title}\n </span>\n\n <span class=\"crtw-text-base crtw-text-[#747474] crtw-mb-1\">\n {description}\n </span>\n </div>\n\n <div class=\"crtw-flex crtw-flex crtw-gap-[6px] crtw-w-full crtw-items-center crtw-mb-[100px] crtw-mt-[30px]\">\n {#if action}\n {#if action?.onClick}\n <button class={btnClass} on:click={action.onClick}> {action.text}</button>\n {:else if action?.link}\n <a\n href={action?.link}\n class=\"crtw-flex crtw-justify-center crtw-items-center crtw-w-full crtw-h-[50px] crtw-cursor-pointer\n crtw-border-2 crtw-border-black crtw-rounded crtw-font-['Poppins'] crtw-text-base crtw-font-medium\"\n >{action?.text}\n </a>\n {/if}\n {/if}\n\n <button class={btnClass} on:click={close}>{options.closeButtonText || \"Close\"}</button>\n </div>\n</div>\n","<script lang=\"ts\">\n import RichAlert from '@packages/ui/main/rich-alert/RichAlert.svelte'\n import { pageOptsStore } from '@packages/stores'\n import { onDestroy } from 'svelte'\n import { type TRichAlertButtonConfig } from '@packages/utils/types'\n\n let richAlertData: {\n description: string\n title: string\n action?: TRichAlertButtonConfig,\n closeButtonText?: string\n }\n\n const unsub = pageOptsStore.subscribe((data) => {\n richAlertData = { ...richAlertData, ...data.richAlertData }\n })\n\n onDestroy(unsub)\n</script>\n\n<RichAlert\n options={{\n title: richAlertData.title || 'Notification',\n description: richAlertData.description || 'Choose your next steps',\n action: richAlertData.action,\n closeButtonText: richAlertData.closeButtonText\n }}\n/>\n"],"names":["options","$.prop","$$props","title","$.mutable_source","description","action","get","fn","btnClass","$.untrack","$.get","$$args","$$render","consequent_1","consequent","alternate","consequent_2","CredenzaLogo","richAlertData","unsub","pageOptsStore","data","$.set","onDestroy"],"mappings":";;;;;;iBAAA;;;MAUgDA,IAAAC,GAAAC,GAAA,WAAA,EAAA,GAG3CC,IAAaC,EAAA,GACbC,IAA8BD,EAAA,GACjCE,IAAAF,EAAA;mBAEc,IAAGG,GAAAC,EAAA,GAMXC,IAAC;AAAA;;;;AAJD,MAAAT,EAAA;;;;;;;;;;;;;;;;oBA2BYS,CAAI,CAAA;;gCA/BtBH,CAAA,GAAAI,EAAA,MAAAC,EA+BsBL,CAAA,EAAA,IAAA,EAAA,CAAA;AAAAK,YAAAA,EAAAL,CAAA,EAAA,SAAA,MAAA,MAAAM,CAAA;AAAA;;;;;;;gCA/BtBN,CAAA,GAAAI,EAAA,MAAAC,EAkCML,CAAA,GAAA,IAAA,EAAA,YAlCNA,CAAA,GAAAI,EAAA,MAAAC,EAqCKL,CAAA,GAAA,IAAA,EAAA;AAAA;;;;;kBArCLA,CAAA,GAAAI,EAAA,MAAAC,EAgCSL,CAAA,GAAA,IAAA,KAAAO,EAAAC,CAAA;AAAA;;;;;;;YAhCTR,CAAA,GAAAI,EAAA,MAAAC,GA8Ba,GAAA,OAAS,IAAAE,EAAAE,EAAA,IAAAF,EAAAG,IAAA,EAAA;AAAA;;;;;QADxBV,CAAe,KAAAO,EAAAI,CAAA;AAAA;;;;;;gBAfRC,EAAK,UAMLf,CAAA,CAAA,UAIAE,CAAW,CAAA,WA7B8BL,EAAA,CAAA;;;;;;;;;;;AAehD;kBCzBA;;;MAcImB,IAMHf,EAAA;AAEG,QAAAgB,IAAOC,GAAmB,UAAK,CAAAC,MAAa;AAC5CC,IAAAA,EAAAJ,GAAa,OAAA,OAAA,OAAA,OAAA,IAAAR,GAAc,CAAA,GAAYW,eAAgB,CAAA;AAAA,EAC3D,CAAA;AAEE,EAAAE,GAACJ,CAAA;;;;;;;;;;;;;;;;;;AACH;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as T, p as J, h as A, f as C, i as U, k as B, b as y, d as O, u as E } from "./legacy-
|
|
2
|
-
import { a as j } from "./index-client-
|
|
3
|
-
import { z as R, v as q, I as L, m as k, A as H, w as Q, x as Y, E as b, B as g, J as S, C as h, D as z, y as x, u as F, N as K, Q as M, bh as Z, T as P, P as G, Z as V, bb as _, bC as W, bD as X, bE as $, bi as ee, bF as te } from "./index-
|
|
4
|
-
import { C as se } from "./ContentHeader-
|
|
5
|
-
import { L as ae } from "./Loader-
|
|
1
|
+
import { c as T, p as J, h as A, f as C, i as U, k as B, b as y, d as O, u as E } from "./legacy-DYwhQppf.js";
|
|
2
|
+
import { a as j } from "./index-client-CHAC5Y-M.js";
|
|
3
|
+
import { z as R, v as q, I as L, m as k, A as H, w as Q, x as Y, E as b, B as g, J as S, C as h, D as z, y as x, u as F, N as K, Q as M, bh as Z, T as P, P as G, Z as V, bb as _, bC as W, bD as X, bE as $, bi as ee, bF as te } from "./index-CeCdfdju.js";
|
|
4
|
+
import { C as se } from "./ContentHeader-LNw3sQg0.js";
|
|
5
|
+
import { L as ae } from "./Loader-DgyxIpZ6.js";
|
|
6
6
|
var ne = C('<div class="crtw-w-full crtw-h-64 crtw-rounded-[10px] crtw-flex crtw-items-center crtw-justify-center" style="background-color: rgb(238, 238, 238)"><!></div>'), re = C('<!> <div class="crtw-w-full"><!> <div id="cpuiScanner" style="background-color: rgb(238, 238, 238)"></div></div>', 1);
|
|
7
7
|
function D(f, i) {
|
|
8
8
|
if (new.target) return T({ component: D, ...f });
|
|
@@ -120,4 +120,4 @@ function oe(f, i) {
|
|
|
120
120
|
export {
|
|
121
121
|
oe as default
|
|
122
122
|
};
|
|
123
|
-
//# sourceMappingURL=Scanner-
|
|
123
|
+
//# sourceMappingURL=Scanner-BxVZaKBr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scanner-
|
|
1
|
+
{"version":3,"file":"Scanner-BxVZaKBr.js","sources":["../../ui/main/scanner/Scanner.svelte","../src/app/pages/scanner/Scanner.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import Loader from \"../shared/Loader.svelte\";\n\n export let options: {\n isScannerLoaded: boolean\n }\n\n $: isScannerLoaded = options.isScannerLoaded\n</script>\n\n<ContentHeader text=\"Scan PassScan Code\" />\n<div class=\"crtw-w-full\">\n {#if !isScannerLoaded}\n <div\n class=\"crtw-w-full crtw-h-64 crtw-rounded-[10px] crtw-flex crtw-items-center crtw-justify-center\"\n style=\"background-color: rgb(238, 238, 238)\"\n >\n <Loader />\n </div>\n {/if}\n <div\n id=\"cpuiScanner\"\n class=\"crtw-w-full crtw-h-64 crtw-rounded-lg crtw-flex crtw-items-center crtw-justify-center\"\n class:crtw-hidden={!isScannerLoaded}\n style=\"background-color: rgb(238, 238, 238)\"\n />\n</div>\n ","<script lang=\"ts\">\n import { onMount } from 'svelte'\n import { get } from 'svelte/store'\n import type { Scanner } from '@credenza3/scanner-lib'\n\n import { pageStore, fn } from '@packages/stores'\n import { ScanTypes } from '@packages/utils/enums'\n import { once, PassportEvents } from '@lib/events/events'\n import {\n goToPayment,\n goToSendTokens,\n processAirDrop,\n processRequestLoyaltyPoints,\n } from '@pages/scanner/Scanner.service'\n import { Scanner as ScannerComponent } from '@packages/ui'\n import { getUserAddressBySub } from '@src/Passport.service'\n\n const { close } = get(fn)\n let scanner: Scanner\n let isScannerLoaded = false\n\n const onCapture = async ({ message, sub, scanType }: { sub: string; message: string; scanType: string }) => {\n scanner.close()\n switch (scanType) {\n case ScanTypes.PASSPORT_ID_PASS:\n case ScanTypes.PASSPORT_ID: {\n const parsed = JSON.parse(message)\n const { address } = await getUserAddressBySub(sub)\n goToSendTokens({ userAddress: address, amount: parsed?.amount })\n break\n }\n case ScanTypes.TOKENS_PURCHASE: {\n goToPayment(JSON.parse(message))\n break\n }\n case ScanTypes.AIR_DROP_ASSET: {\n await processAirDrop(JSON.parse(message))\n break\n }\n case ScanTypes.REQUEST_LOYALTY_POINTS: {\n await processRequestLoyaltyPoints(JSON.parse(message))\n break\n }\n default: {\n close()\n pageStore.set(null)\n }\n }\n }\n\n onMount(async () => {\n const { Scanner } = await import('@credenza3/scanner-lib')\n scanner = new Scanner({ target: '#cpuiScanner' })\n once(PassportEvents.UI_CLOSED, () => {\n scanner.close()\n pageStore.set(null)\n })\n await scanner.scan({ isCloseButton: false })\n isScannerLoaded = true\n scanner.on(Scanner.events.CAPTURE, onCapture)\n scanner.on(Scanner.events.ERROR, (err) => {\n const message = err?.message || err\n if (message.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n })\n })\n</script>\n\n<ScannerComponent options={{ isScannerLoaded }} />\n"],"names":["options","$.prop","$$props","isScannerLoaded","$$render","consequent","__awaiter","thisArg","_arguments","P","generator","close","get","fn","scanner","onCapture","_a","message","sub","scanType","ScanTypes","parsed","address","getUserAddressBySub","goToSendTokens","goToPayment","processAirDrop","processRequestLoyaltyPoints","pageStore","Scanner","once","PassportEvents","$.set"],"mappings":";;;;;;iBAAA;;;;MASQA,IAEPC,EAAAC,GAAA,WAAA,EAAA;;MAEGC,GAAmBH,EAAA,EAAA,eAAA;AAAA;;;;;;;;;;QAKhBG,CAAQ,KAAAC,EAAAC,CAAA;AAAA;;;;;;;;;;;;;;AAJf;kBCdA;;;AAAiB,MAAAC,IAAA,QAAA,KAAA,aAAA,SAAAC,GAAAC,GAAAC,GAAAC,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiBP,OAAAC,EAAO,IAAGC,EAAMC,CAAC;MACrBC,GACAX,MAAkB,EAAK;QAGzBY,IAAa,CAAEC,MAAAV,EAAA,QAAA,CAAAU,CAAA,GAAA,QAAA,WAAA,EAAA,SAAAC,GAAA,KAAAC,GAAA,UAAAC,EAAA,GAAA;YACfL,EAAQ,SACNK,GAAK;AAAA,MACL,KAAAC,EAAK;AAAA,MACH,KAAAA,eAAoB;AACpB,cAAAC,SAAe,OAAW,KAC1B,SAAAC,EAAA,IAAA,MAAiBC,GAAsBL,CAAM;AAC7C,QAAAM,GAAA;AAAA,UAAA,aAAAF;AAAA,UAAA,QAAAD,GAAA;AAAA;;MAEF;AAAA,MACE,KAAAD,EAAA,iBAAuB;AACvB,QAAAK,EAAA,KAAA,MAAAR,CAAA,CAAA;;MAEF;AAAA,aACQ,gBAAmB;AACzB,cAAAS,EAAA,KAAA,MAAAT,CAAA,CAAA;;MAEF;AAAA,aACQ,wBAA2B;AACjC,cAAAU,EAAA,KAAA,MAAAV,CAAA,CAAA;;MAEF;AAAA;AAEE,QAAAN,EAAA,GACFiB,EAAA,IAAA,IAAA;AAAA;EAIJ,CAAA;IAEE,MAActB,EAAA,QAAA,QAAA,QAAA,aAAA;AACT,UAAA,EAAA,SAAAuB,EAAA,2CAA+B;QAClC,MAAe,EAAA,QAAA,eAAA,CAAA,GACfC,EAAAC,EAAc,WAAK,MAAA;AACnB,MAAAjB,EAAA,MAAA,GACFc,EAAM,IAAQ;IACd,CAAA,GACA,MAAAd,EAAW,KAAO,iBAAiB,GAAA,CAAA,GACnCkB,EAAA7B,GAAkB,EAAC,KACjB,GAAM0B,EAAO,OAAM,SAAAd,IACnBD,EAAI,GAAAe,EAAQ,qBAAsB;AAElC,wBAAA,SAAA,YAAA,KACF,MAAA,qFAAA;AAAA,IACF,CAAA;AAAA;;;;;;;;;;;;;AAEF;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { c as $e, p as ue, h as Be, f as ce, i as se, k as Me, r as me, s as Ve, e as je, b as ee, d as Te, u as Re, t as Fe, o as fe, n as ze } from "./legacy-
|
|
2
|
-
import { z as Ee, v as g, I as n, m as s, A as y, J as e, w as Ie, x as Xe, Z as J, E as m, B as _, C as b, D as pe, G as oe, y as De, u as ge, N as ie, M as Se, Q as qe, a3 as G, a1 as Ce, R as Ge, a2 as Je, T as he, V as Ae, a5 as Ke, bg as Qe, O as xe, P as we, bh as We, bi as Ye } from "./index-
|
|
1
|
+
import { c as $e, p as ue, h as Be, f as ce, i as se, k as Me, r as me, s as Ve, e as je, b as ee, d as Te, u as Re, t as Fe, o as fe, n as ze } from "./legacy-DYwhQppf.js";
|
|
2
|
+
import { z as Ee, v as g, I as n, m as s, A as y, J as e, w as Ie, x as Xe, Z as J, E as m, B as _, C as b, D as pe, G as oe, y as De, u as ge, N as ie, M as Se, Q as qe, a3 as G, a1 as Ce, R as Ge, a2 as Je, T as he, V as Ae, a5 as Ke, bg as Qe, O as xe, P as we, bh as We, bi as Ye } from "./index-CeCdfdju.js";
|
|
3
3
|
import "./scanner.es-DK9KxX60.js";
|
|
4
|
-
import { C as Ze } from "./ContentHeader-
|
|
5
|
-
import { B as et } from "./ButtonBack-
|
|
6
|
-
import { B as _e } from "./Button-
|
|
7
|
-
import { I as ke } from "./Input-
|
|
4
|
+
import { C as Ze } from "./ContentHeader-LNw3sQg0.js";
|
|
5
|
+
import { B as et } from "./ButtonBack-C7ohWbYv.js";
|
|
6
|
+
import { B as _e } from "./Button-BRJIRnNj.js";
|
|
7
|
+
import { I as ke } from "./Input-DN8dySsL.js";
|
|
8
8
|
import { S as tt } from "./scanner-Bm3Pvpfs.js";
|
|
9
9
|
import { g as be } from "./strings-B-rKL311.js";
|
|
10
10
|
var nt = ce('<div>ChainId: <span class="crtw-font-bold"> </span></div>'), rt = ce('<label class="crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message" for="recipientAddress">Provided address is not valid.</label>'), at = ce('<div class="crtw-ml-2.5 crtw-w-16 crtw-min-w-16"><!></div>'), st = ce('<!> <div class="crtw-w-full crtw-p-0 crtw-relative"><div id="cpuiCredScanner"></div> <!> <div>Your balance: <span class="crtw-font-bold"><!> </span></div> <div class="crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full"><div class="crtw-flex crtw-flex-col crtw-w-full"><!> <!></div> <div class="crtw-ml-2.5 crtw-cursor-pointer"><img width="53px" alt="" class="crtw-h-[53px]"/></div></div> <div class="crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full"><!> <div class="crtw-ml-2.5 crtw-w-16 crtw-min-w-16"><!></div> <!></div> <!></div> <div class="crtw-mt-0.5 crtw-mb-3 crtw-w-full"><!></div>', 1);
|
|
@@ -362,4 +362,4 @@ function it(K, E) {
|
|
|
362
362
|
export {
|
|
363
363
|
it as default
|
|
364
364
|
};
|
|
365
|
-
//# sourceMappingURL=SendTokens-
|
|
365
|
+
//# sourceMappingURL=SendTokens-BjaqaayL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendTokens-MHQ91lHt.js","sources":["../../ui/main/send-tokens/SendTokens.svelte","../src/app/pages/send-tokens/SendTokens.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ScanIcon from \"../../images/scanner.svg\";\n\n import { getCryptoCurrencySymbol } from \"../../../utils/lib/strings/strings\";\n\n export let recipientAddress: string;\n export let amount: number | undefined;\n\n export let options: {\n title: string;\n isScannerHidden: boolean;\n balance: string;\n chainId?: string;\n isRecipientAddressValid: boolean;\n onScannerClicked: () => void;\n onSendTokens: () => void;\n onBackClicked: () => void;\n onChangeCurrency: () => void;\n onSetMaxAmount: () => void;\n isLoading: boolean;\n isSubmitDisabled: boolean;\n credAlias: string;\n activeCurrency: string;\n symbol: string;\n nativeSymbol: string;\n nativeBalance: string;\n isNativeCurrecyTransferAllowed?: boolean;\n };\n\n let {\n onChangeCurrency,\n onSetMaxAmount,\n onBackClicked,\n onSendTokens,\n title,\n chainId,\n onScannerClicked,\n credAlias,\n isNativeCurrecyTransferAllowed = true\n } = options;\n\n $: balance = options.balance;\n $: isLoading = options.isLoading;\n $: isSubmitDisabled = options.isSubmitDisabled;\n $: isRecipientAddressValid = options.isRecipientAddressValid;\n $: isScannerHidden = options.isScannerHidden;\n $: activeCurrency = options.activeCurrency;\n $: symbol = options.symbol;\n $: nativeSymbol = options.nativeSymbol;\n $: nativeBalance = options.nativeBalance;\n\n $: activeCurrencySymbol = getCryptoCurrencySymbol(activeCurrency, credAlias);\n const round = (num: number) => Math.floor(num * 100) / 100\n</script>\n\n<ContentHeader\n text={title}\n description={isScannerHidden\n ? ``\n : \"Scan Passport Id\"}\n/>\n<div class=\"crtw-w-full crtw-p-0 crtw-relative\">\n <div\n id=\"cpuiCredScanner\"\n class=\"crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg\"\n class:crtw-hidden={isScannerHidden}\n class:crtw-z-[-1]={isScannerHidden}\n ></div>\n {#if chainId}\n <div>ChainId: <span class=\"crtw-font-bold\">{chainId}</span></div>\n {/if}\n <div>\n Your balance: \n <span class=\"crtw-font-bold\">\n {#if isNativeCurrecyTransferAllowed}\n {round(+nativeBalance)} {nativeSymbol} / \n {/if}\n\n {round(+balance)} {getCryptoCurrencySymbol(symbol, credAlias)}\n </span>\n </div>\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <div class=\"crtw-flex crtw-flex-col crtw-w-full\">\n <Input\n name=\"recipientAddress\"\n type=\"text\"\n placeholder=\"Address 0x...\"\n bind:value={recipientAddress}\n />\n {#if recipientAddress && !isRecipientAddressValid}\n <label\n class=\"crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message\"\n for=\"recipientAddress\">Provided address is not valid.</label\n >\n {/if}\n </div>\n\n <div class=\"crtw-ml-2.5 crtw-cursor-pointer\">\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->\n <img\n src={ScanIcon}\n on:click={onScannerClicked}\n width=\"53px\"\n alt=\"\"\n class=\"crtw-h-[53px]\"\n />\n </div>\n </div>\n\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <Input\n type=\"number\"\n min=\"0\"\n step=\"0.001\"\n placeholder={`${activeCurrencySymbol} amount`}\n bind:value={amount}\n />\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button onClick={onSetMaxAmount} text={`MAX`} disabled={+balance <= 0} />\n </div>\n\n {#if isNativeCurrecyTransferAllowed}\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button\n onClick={onChangeCurrency}\n text={activeCurrencySymbol}\n disabled={!activeCurrency}\n />\n </div>\n {/if}\n </div>\n <Button\n onClick={onSendTokens}\n text={`Send ${amount || \"\"} ${activeCurrencySymbol}`}\n {isLoading}\n disabled={isSubmitDisabled}\n />\n</div>\n<div class=\"crtw-mt-0.5 crtw-mb-3 crtw-w-full\">\n <ButtonBack onClick={onBackClicked} />\n</div>\n","<script lang=\"ts\">\n import { ethers } from '@credenza3/core-web-evm-ext'\n import { get } from 'svelte/store'\n import { type Scanner } from '@credenza3/scanner-lib'\n\n import { clientPublicStore, fn, pageOptsStore, pageStore } from '@packages/stores'\n import { dispatch, once, PassportEvents } from '@lib/events/events'\n import { Pages } from '@packages/utils/enums'\n import { getTxScanAddress } from '@src/lib/tx/tx'\n import { SendTokens } from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n import type { TEvmContract } from '@packages/utils/types'\n import { providerStore } from '@src/stores'\n import { getUserAddressBySub } from '@src/Passport.service'\n\n const config = get(configStore)\n const { sendTokens, getCREDContract, toastAlert } = get(fn)\n\n let userAddress = ''\n let recipientAddress = ''\n let amount: number | undefined\n\n let activeCurrency = ''\n\n let decimals = 18\n let symbol = '-'\n let balance = ''\n\n let nativeDecimals = 18\n let nativeSymbol = '-'\n let nativeBalance = ''\n\n let isScannerHidden = true\n let isLoading = false\n\n let contract: ethers.Contract\n let signer: ethers.JsonRpcSigner\n let scanner: Scanner\n\n const onScannerClicked = async () => {\n const { Scanner } = await import('@credenza3/scanner-lib')\n scanner = new Scanner({ target: '#cpuiCredScanner' })\n once(PassportEvents.UI_CLOSED, scanner.close)\n await scanner.scan()\n scanner.on(Scanner.events.CAPTURE, async ({ sub }: { sub: string }) => {\n const { address } = await getUserAddressBySub(sub)\n recipientAddress = address\n scanner.close()\n })\n scanner.on(Scanner.events.CANCEL, () => (isScannerHidden = true))\n scanner.on(Scanner.events.ERROR, (err) => {\n const message = err?.message || err\n if (message.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n isScannerHidden = true\n })\n isScannerHidden = false\n }\n\n const sendTokensToRecipient = async () => {\n const isTCRED = activeCurrency === symbol\n isLoading = true\n try {\n const weiBn = ethers.parseUnits(String(amount), isTCRED ? decimals : nativeDecimals)\n const result = (await sendTokens({\n address: recipientAddress,\n amount: weiBn,\n instance: isTCRED ? contract : undefined,\n })) as { hash: string; wait: () => Promise<void> }\n toastAlert(\n `<a href=\"${getTxScanAddress(result.hash)}\" target=\"_blank\">Send TX</a> was created`,\n )\n recipientAddress = ''\n amount = undefined\n\n const [weiBalance, weiNativeBalance] = await Promise.all([\n contract.balanceOf(userAddress),\n signer.provider.getBalance(userAddress),\n ])\n\n balance = ethers.formatUnits(weiBalance, decimals)\n nativeBalance = parseFloat(ethers.formatUnits(weiNativeBalance, nativeDecimals)).toFixed(4)\n dispatch(PassportEvents.RECHECK_BALANCE, [result.hash])\n } catch (err) {\n toastAlert(err?.message || err || 'An error occurred while sending tokens', 'failure')\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n }\n\n const init = async () => {\n const pageOpts = get(pageOptsStore)\n recipientAddress = pageOpts?.to || ''\n amount = pageOpts?.amount || undefined\n const { decimals: contractDecimals, contract: credContract } = (await getCREDContract()) as TEvmContract\n decimals = contractDecimals\n contract = credContract\n const provider = get(providerStore)\n if(!provider) return\n signer = await provider.getSigner()\n userAddress = await getAddress()\n const results = await Promise.all([\n contract.symbol(),\n contract.balanceOf(userAddress),\n provider.getBalance(userAddress),\n fetch('https://chainid.network/chains.json')\n .then((result) => result.json())\n .then((networks) =>\n networks.find((network: { chainId: number }) => String(network.chainId) === config.chainId),\n ),\n ])\n symbol = results[0]\n balance = ethers.formatUnits(results[1], decimals)\n nativeDecimals = results[3]?.nativeCurrency?.decimals ?? 18\n nativeBalance = parseFloat(ethers.formatUnits(results[2], nativeDecimals)).toFixed(4)\n nativeSymbol = results[3]?.nativeCurrency?.symbol ?? 'ETH'\n activeCurrency = symbol\n }\n\n $: $configStore.chainId && $providerStore && init()\n $: isRecipientAddressValid = !!ethers.isAddress(recipientAddress)\n $: isSubmitDisabled =\n isLoading ||\n !amount ||\n !isRecipientAddressValid ||\n (activeCurrency === symbol && amount > +balance) ||\n (activeCurrency === nativeSymbol && amount > +nativeBalance)\n</script>\n\n<SendTokens\n bind:recipientAddress\n bind:amount\n options={{\n title: `Send stored value`,\n isNativeCurrecyTransferAllowed: $configStore.transferTokens?.nativeCurrency !== false,\n isScannerHidden,\n balance,\n chainId: config.chainId,\n isRecipientAddressValid,\n onScannerClicked,\n onSendTokens: sendTokensToRecipient,\n onBackClicked: () => pageStore.set(Pages.WALLET),\n onChangeCurrency: () => (activeCurrency === symbol ? (activeCurrency = nativeSymbol) : (activeCurrency = symbol)),\n onSetMaxAmount: () => (activeCurrency === symbol ? (amount = +balance) : (amount = +nativeBalance)),\n isLoading,\n isSubmitDisabled,\n credAlias: $clientPublicStore?.ui_settings.cred_alias,\n activeCurrency,\n symbol,\n nativeSymbol,\n nativeBalance,\n }}\n/>\n"],"names":["$.prop","$$props","amount","options","onChangeCurrency","onSetMaxAmount","onBackClicked","onSendTokens","title","chainId","onScannerClicked","credAlias","isNativeCurrecyTransferAllowed","round","num","isLoading","isSubmitDisabled","isRecipientAddressValid","isScannerHidden","activeCurrency","symbol","nativeSymbol","nativeBalance","$.set","activeCurrencySymbol","getCryptoCurrencySymbol","$.get","$0","$.derived_safe_equal","$$render","consequent","consequent_1","recipientAddress","consequent_2","ScanIcon","balance","__awaiter","thisArg","_arguments","P","generator","config","get","configStore","sendTokens","getCREDContract","toastAlert","fn","userAddress","$.mutable_source","decimals","nativeDecimals","contract","signer","scanner","Scanner","once","PassportEvents","_a","sub","address","getUserAddressBySub","sendTokensToRecipient","isTCRED","weiBn","ethers","result","getTxScanAddress","weiBalance","weiNativeBalance","dispatch","err","init","pageOpts","pageOptsStore","contractDecimals","credContract","provider","providerStore","getAddress","networks","network","_c","_b","results","_f","_e","_d","$configStore","$providerStore","pageStore","Pages"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SendTokens-BjaqaayL.js","sources":["../../ui/main/send-tokens/SendTokens.svelte","../src/app/pages/send-tokens/SendTokens.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ScanIcon from \"../../images/scanner.svg\";\n\n import { getCryptoCurrencySymbol } from \"../../../utils/lib/strings/strings\";\n\n export let recipientAddress: string;\n export let amount: number | undefined;\n\n export let options: {\n title: string;\n isScannerHidden: boolean;\n balance: string;\n chainId?: string;\n isRecipientAddressValid: boolean;\n onScannerClicked: () => void;\n onSendTokens: () => void;\n onBackClicked: () => void;\n onChangeCurrency: () => void;\n onSetMaxAmount: () => void;\n isLoading: boolean;\n isSubmitDisabled: boolean;\n credAlias: string;\n activeCurrency: string;\n symbol: string;\n nativeSymbol: string;\n nativeBalance: string;\n isNativeCurrecyTransferAllowed?: boolean;\n };\n\n let {\n onChangeCurrency,\n onSetMaxAmount,\n onBackClicked,\n onSendTokens,\n title,\n chainId,\n onScannerClicked,\n credAlias,\n isNativeCurrecyTransferAllowed = true\n } = options;\n\n $: balance = options.balance;\n $: isLoading = options.isLoading;\n $: isSubmitDisabled = options.isSubmitDisabled;\n $: isRecipientAddressValid = options.isRecipientAddressValid;\n $: isScannerHidden = options.isScannerHidden;\n $: activeCurrency = options.activeCurrency;\n $: symbol = options.symbol;\n $: nativeSymbol = options.nativeSymbol;\n $: nativeBalance = options.nativeBalance;\n\n $: activeCurrencySymbol = getCryptoCurrencySymbol(activeCurrency, credAlias);\n const round = (num: number) => Math.floor(num * 100) / 100\n</script>\n\n<ContentHeader\n text={title}\n description={isScannerHidden\n ? ``\n : \"Scan Passport Id\"}\n/>\n<div class=\"crtw-w-full crtw-p-0 crtw-relative\">\n <div\n id=\"cpuiCredScanner\"\n class=\"crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg\"\n class:crtw-hidden={isScannerHidden}\n class:crtw-z-[-1]={isScannerHidden}\n ></div>\n {#if chainId}\n <div>ChainId: <span class=\"crtw-font-bold\">{chainId}</span></div>\n {/if}\n <div>\n Your balance: \n <span class=\"crtw-font-bold\">\n {#if isNativeCurrecyTransferAllowed}\n {round(+nativeBalance)} {nativeSymbol} / \n {/if}\n\n {round(+balance)} {getCryptoCurrencySymbol(symbol, credAlias)}\n </span>\n </div>\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <div class=\"crtw-flex crtw-flex-col crtw-w-full\">\n <Input\n name=\"recipientAddress\"\n type=\"text\"\n placeholder=\"Address 0x...\"\n bind:value={recipientAddress}\n />\n {#if recipientAddress && !isRecipientAddressValid}\n <label\n class=\"crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message\"\n for=\"recipientAddress\">Provided address is not valid.</label\n >\n {/if}\n </div>\n\n <div class=\"crtw-ml-2.5 crtw-cursor-pointer\">\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->\n <img\n src={ScanIcon}\n on:click={onScannerClicked}\n width=\"53px\"\n alt=\"\"\n class=\"crtw-h-[53px]\"\n />\n </div>\n </div>\n\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <Input\n type=\"number\"\n min=\"0\"\n step=\"0.001\"\n placeholder={`${activeCurrencySymbol} amount`}\n bind:value={amount}\n />\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button onClick={onSetMaxAmount} text={`MAX`} disabled={+balance <= 0} />\n </div>\n\n {#if isNativeCurrecyTransferAllowed}\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button\n onClick={onChangeCurrency}\n text={activeCurrencySymbol}\n disabled={!activeCurrency}\n />\n </div>\n {/if}\n </div>\n <Button\n onClick={onSendTokens}\n text={`Send ${amount || \"\"} ${activeCurrencySymbol}`}\n {isLoading}\n disabled={isSubmitDisabled}\n />\n</div>\n<div class=\"crtw-mt-0.5 crtw-mb-3 crtw-w-full\">\n <ButtonBack onClick={onBackClicked} />\n</div>\n","<script lang=\"ts\">\n import { ethers } from '@credenza3/core-web-evm-ext'\n import { get } from 'svelte/store'\n import { type Scanner } from '@credenza3/scanner-lib'\n\n import { clientPublicStore, fn, pageOptsStore, pageStore } from '@packages/stores'\n import { dispatch, once, PassportEvents } from '@lib/events/events'\n import { Pages } from '@packages/utils/enums'\n import { getTxScanAddress } from '@src/lib/tx/tx'\n import { SendTokens } from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n import type { TEvmContract } from '@packages/utils/types'\n import { providerStore } from '@src/stores'\n import { getUserAddressBySub } from '@src/Passport.service'\n\n const config = get(configStore)\n const { sendTokens, getCREDContract, toastAlert } = get(fn)\n\n let userAddress = ''\n let recipientAddress = ''\n let amount: number | undefined\n\n let activeCurrency = ''\n\n let decimals = 18\n let symbol = '-'\n let balance = ''\n\n let nativeDecimals = 18\n let nativeSymbol = '-'\n let nativeBalance = ''\n\n let isScannerHidden = true\n let isLoading = false\n\n let contract: ethers.Contract\n let signer: ethers.JsonRpcSigner\n let scanner: Scanner\n\n const onScannerClicked = async () => {\n const { Scanner } = await import('@credenza3/scanner-lib')\n scanner = new Scanner({ target: '#cpuiCredScanner' })\n once(PassportEvents.UI_CLOSED, scanner.close)\n await scanner.scan()\n scanner.on(Scanner.events.CAPTURE, async ({ sub }: { sub: string }) => {\n const { address } = await getUserAddressBySub(sub)\n recipientAddress = address\n scanner.close()\n })\n scanner.on(Scanner.events.CANCEL, () => (isScannerHidden = true))\n scanner.on(Scanner.events.ERROR, (err) => {\n const message = err?.message || err\n if (message.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n isScannerHidden = true\n })\n isScannerHidden = false\n }\n\n const sendTokensToRecipient = async () => {\n const isTCRED = activeCurrency === symbol\n isLoading = true\n try {\n const weiBn = ethers.parseUnits(String(amount), isTCRED ? decimals : nativeDecimals)\n const result = (await sendTokens({\n address: recipientAddress,\n amount: weiBn,\n instance: isTCRED ? contract : undefined,\n })) as { hash: string; wait: () => Promise<void> }\n toastAlert(\n `<a href=\"${getTxScanAddress(result.hash)}\" target=\"_blank\">Send TX</a> was created`,\n )\n recipientAddress = ''\n amount = undefined\n\n const [weiBalance, weiNativeBalance] = await Promise.all([\n contract.balanceOf(userAddress),\n signer.provider.getBalance(userAddress),\n ])\n\n balance = ethers.formatUnits(weiBalance, decimals)\n nativeBalance = parseFloat(ethers.formatUnits(weiNativeBalance, nativeDecimals)).toFixed(4)\n dispatch(PassportEvents.RECHECK_BALANCE, [result.hash])\n } catch (err) {\n toastAlert(err?.message || err || 'An error occurred while sending tokens', 'failure')\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n }\n\n const init = async () => {\n const pageOpts = get(pageOptsStore)\n recipientAddress = pageOpts?.to || ''\n amount = pageOpts?.amount || undefined\n const { decimals: contractDecimals, contract: credContract } = (await getCREDContract()) as TEvmContract\n decimals = contractDecimals\n contract = credContract\n const provider = get(providerStore)\n if(!provider) return\n signer = await provider.getSigner()\n userAddress = await getAddress()\n const results = await Promise.all([\n contract.symbol(),\n contract.balanceOf(userAddress),\n provider.getBalance(userAddress),\n fetch('https://chainid.network/chains.json')\n .then((result) => result.json())\n .then((networks) =>\n networks.find((network: { chainId: number }) => String(network.chainId) === config.chainId),\n ),\n ])\n symbol = results[0]\n balance = ethers.formatUnits(results[1], decimals)\n nativeDecimals = results[3]?.nativeCurrency?.decimals ?? 18\n nativeBalance = parseFloat(ethers.formatUnits(results[2], nativeDecimals)).toFixed(4)\n nativeSymbol = results[3]?.nativeCurrency?.symbol ?? 'ETH'\n activeCurrency = symbol\n }\n\n $: $configStore.chainId && $providerStore && init()\n $: isRecipientAddressValid = !!ethers.isAddress(recipientAddress)\n $: isSubmitDisabled =\n isLoading ||\n !amount ||\n !isRecipientAddressValid ||\n (activeCurrency === symbol && amount > +balance) ||\n (activeCurrency === nativeSymbol && amount > +nativeBalance)\n</script>\n\n<SendTokens\n bind:recipientAddress\n bind:amount\n options={{\n title: `Send stored value`,\n isNativeCurrecyTransferAllowed: $configStore.transferTokens?.nativeCurrency !== false,\n isScannerHidden,\n balance,\n chainId: config.chainId,\n isRecipientAddressValid,\n onScannerClicked,\n onSendTokens: sendTokensToRecipient,\n onBackClicked: () => pageStore.set(Pages.WALLET),\n onChangeCurrency: () => (activeCurrency === symbol ? (activeCurrency = nativeSymbol) : (activeCurrency = symbol)),\n onSetMaxAmount: () => (activeCurrency === symbol ? (amount = +balance) : (amount = +nativeBalance)),\n isLoading,\n isSubmitDisabled,\n credAlias: $clientPublicStore?.ui_settings.cred_alias,\n activeCurrency,\n symbol,\n nativeSymbol,\n nativeBalance,\n }}\n/>\n"],"names":["$.prop","$$props","amount","options","onChangeCurrency","onSetMaxAmount","onBackClicked","onSendTokens","title","chainId","onScannerClicked","credAlias","isNativeCurrecyTransferAllowed","round","num","isLoading","isSubmitDisabled","isRecipientAddressValid","isScannerHidden","activeCurrency","symbol","nativeSymbol","nativeBalance","$.set","activeCurrencySymbol","getCryptoCurrencySymbol","$.get","$0","$.derived_safe_equal","$$render","consequent","consequent_1","recipientAddress","consequent_2","ScanIcon","balance","__awaiter","thisArg","_arguments","P","generator","config","get","configStore","sendTokens","getCREDContract","toastAlert","fn","userAddress","$.mutable_source","decimals","nativeDecimals","contract","signer","scanner","Scanner","once","PassportEvents","_a","sub","address","getUserAddressBySub","sendTokensToRecipient","isTCRED","weiBn","ethers","result","getTxScanAddress","weiBalance","weiNativeBalance","dispatch","err","init","pageOpts","pageOptsStore","contractDecimals","credContract","provider","providerStore","getAddress","networks","network","_c","_b","results","_f","_e","_d","$configStore","$providerStore","pageStore","Pages"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as k, p as R, f as E, b as C, d as q, u as O, h as T, n as j, o as w } from "./legacy-
|
|
2
|
-
import { z, x as y, E as $, y as B, u as A, N as x, Q as F, J, Z as N, a1 as Q, bc as U, R as W, M as Z } from "./index-
|
|
3
|
-
import { C as G } from "./App-
|
|
4
|
-
import { C as I } from "./ContentHeader-
|
|
5
|
-
import { B as b } from "./Button-
|
|
1
|
+
import { c as k, p as R, f as E, b as C, d as q, u as O, h as T, n as j, o as w } from "./legacy-DYwhQppf.js";
|
|
2
|
+
import { z, x as y, E as $, y as B, u as A, N as x, Q as F, J, Z as N, a1 as Q, bc as U, R as W, M as Z } from "./index-CeCdfdju.js";
|
|
3
|
+
import { C as G } from "./App-CK6khfTH.js";
|
|
4
|
+
import { C as I } from "./ContentHeader-LNw3sQg0.js";
|
|
5
|
+
import { B as b } from "./Button-BRJIRnNj.js";
|
|
6
6
|
var K = E("<!> <!>", 1), L = E("<!> <!>", 1);
|
|
7
7
|
function D(i, r) {
|
|
8
8
|
if (new.target) return k({ component: D, ...i });
|
|
@@ -108,4 +108,4 @@ function P(i, r) {
|
|
|
108
108
|
export {
|
|
109
109
|
P as default
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=Sign-
|
|
111
|
+
//# sourceMappingURL=Sign-Dhe4XD6W.js.map
|