{"version":3,"sources":["assets/loginBackgrounds/loginBackground0.jpg","assets/loginBackgrounds/loginBackground1.jpg","../node_modules/moment/locale sync /^/.//.*$","ClientContext.js","assets/logo.svg","Sidebar.js","payments/PaymentError.js","utilities.js","home/HomeTile.js","home/ThingsTile.js","home/StorageTile.js","home/ThroughputTile.js","home/DiskTile.js","home/Home.js","i18n.js","payments/BillingAddress.js","payments/CompanyInfo.js","payments/stripe/StripeInput.js","payments/stripe/StripeElementWrapper.js","payments/CreditCardInfo.js","payments/UpgradeAlert.js","payments/VAT.js","payments/Payments.js","things/ThingInfoDialog.js","things/CreateThingDialog.js","things/UnpairThingDialog.js","things/DeleteThingDialog.js","things/ThingBody.js","things/ThingMain.js","UserFetcher.js","assets/background-logo.svg","assets/unauthenticated-logo.svg","App.js","index.js","assets/loginBackgrounds sync nonrecursive //.(png|jpe?g|svg)$"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","createContext","Client","process","mainColor","REACT_APP_MAIN_COLOR","textOnMainColor","REACT_APP_TEXT_ON_MAIN_COLOR","VerticalTabIndicator","path","style","backgroundColor","height","width","borderRadius","position","top","transition","CustomListItem","withStyles","root","ListItem","withTranslation","props","state","redirect","aboutOpen","this","greaterThan1200","openSettings","settingsOpen","userProps","isOpen","logOut","changeAccount","forceUpdate","t","tempRedirect","setState","push","to","className","display","src","logo","margin","alt","buttonStyle","hideExtraButtons","setOpen","setRedirect","user","data","overflowY","List","disablePadding","exact","localStorage","getItem","includes","button","color","paddingLeft","component","Link","ListItemIcon","minWidth","ListItemText","primary","window","location","pathname","onClick","paddingBottom","marginLeft","open","close","Component","contextType","ClientContext","injectStripe","mobile","stripe","useState","loading","setLoading","client","useContext","authenticate","retrievePaymentIntent","paymentIntentSecret","then","error","paymentIntent","confirmCardPayment","client_secret","mutation","confirmPaymentExecution","finally","retry","retryPayment","Collapse","in","billingStatus","Alert","severity","action","size","paddingRight","IconButton","Button","icon","addPropsToSingleChild","child","isValidElement","cloneElement","addPropsToChild","children","Array","isArray","formatBlocks","blocks","JSBI","BigInt","unit","lessThan","divide","REACT_APP_MAIN_BACKGROUND_COLOR","textOnBackgroundColor","REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR","HomeTile","updateDimensions","smallTile","innerWidth","addEventListener","debounce","removeEventListener","title","iconButton","Paper","elevation","alignItems","Typography","variant","lineHeight","fontWeight","lightColor","REACT_APP_LIGHT_COLOR","secondaryBackgroundColor","REACT_APP_SECONDARY_BACKGROUND_COLOR","errorColor","REACT_APP_ERROR_COLOR","refetch","padding","justifyContent","textAlign","parseFloat","addDotBigInt","usedThings","toString","tinyColor","setAlpha","toRgbString","multiply","maxThings","maxWidth","greaterThanOrEqual","fontSize","usedStorage","maxStorage","usedThroughput","maxThroughput","formatBytes","usedDiskSpace","bytes","maxDiskSpace","Home","rows","PaymentError","gridTemplateColumns","gridAutoRows","gridGap","ThingsTile","StorageTile","ThroughputTile","DiskTile","i18n","use","initReactI18next","init","resources","en","it","lng","navigator","language","userLanguage","slice","fallbackLng","debug","ns","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","react","wait","bindI18n","bindStore","nsMode","secondaryColor","REACT_APP_SECONDARY_COLOR","addressLine1","addressLine1Empty","addressLine2","addressCity","addressCityEmpty","addressPostalCode","addressPostalCodeEmpty","addressState","addressStateEmpty","addressCountryOrTerritory","nextProps","textButton","textButtonFunction","containedButton","containedButtonFunction","context","updateUser","containedButtonDisabled","replace","length","containedButtonLoading","fullScreen","TextField","required","label","placeholder","value","helperText","onChange","event","target","marginBottom","InputLabelProps","shrink","InputProps","endAdornment","InputAdornment","tabIndex","autoComplete","marginRight","type","StyledEngineProvider","injectFirst","theme","createTheme","adaptV4Theme","palette","default","main","light","secondary","overrides","MuiList","MuiMenu","list","MuiSelect","select","SelectProps","renderValue","countries","find","country","sort","a","b","flagCode","translatedName","MenuItem","countryCode","toLowerCase","setCompanyInfo","companyName","onKeyPress","key","cursor","withTheme","c","classes","onFocus","onBlur","handleChange","base","fontFamily","typography","PureComponent","displayName","focused","empty","stripeError","message","setComplete","setError","isLastElement","FormControl","fullWidth","InputLabel","OutlinedInput","notched","inputComponent","StripeInput","inputProps","complete","FormHelperText","numberComplete","expiryComplete","cvcComplete","numberError","expiryError","cvcError","anchorEl","elements","setupPayment","initiateBillingSetup","secret","handleCardSetup","getElement","setupIntent","updatePaymentMethod","stripePaymentMethod","payment_method","catch","CardNumberElement","CardExpiryElement","CardCVCElement","visible","upgradeDialogOpen","setUpgradeDialogOpen","openUpgradeDialog","closeUpgradeDialog","SvgIcon","viewBox","fill","d","containedButtonProps","href","setVatInfo","vatNumber","alertOpen","throughputPickerOpen","storagePickerOpen","item","price","vatRate","addressOpen","creditCardOpen","companyOpen","vatOpen","removeItemOpen","cellStyle","subscriptionPrice","billingPlan","businessPricing","vat","total","currency","euroCountries","poundCountries","tableCellStyle","textOverflow","overflow","whiteSpace","summaryLoaded","undefined","formatPrice","minHeight","cardLast4Digits","cardExpiryYear","cardExpiryMonth","moment","utc","nextBillingDate","diff","fromNow","filter","date","Table","tableLayout","TableRow","TableCell","Skeleton","align","currentTarget","UpgradeAlert","paddingTop","scope","colSpan","toFixed","Menu","onClose","anchorOrigin","vertical","horizontal","transformOrigin","PaperProps","disableTypography","isContainedButtonRed","BillingAddress","CreditCardInfo","CompanyInfo","VAT","appName","REACT_APP_NAME","sleep","ms","Promise","setTimeout","thing","showConfirm","setShowConfirm","showCopy","setShowCopy","copyRan","setCopyRan","showLoading","setShowLoading","showDownload","setShowDownload","downloadRan","setDownloadRan","selectable","noHorizontalPadding","pairCode","firmware","createdAt","split","online","updatedAt","clipboardCopy","token","Zoom","timeout","enter","exit","downloadText","svg2png","query","qrCode","trim","input","encoding","format","CircularProgress","marginTop","createThing","createThingLoading","typeError","editThing","updateThing","thingId","typeEmpty","firmwareEmpty","currentType","currentFirmware","edit","unpairThingOpen","reset","unpairThingLoading","unpairThing","ListItemSecondaryAction","right","Switch","checked","deleteThingOpen","deleteThingLoading","deleteThing","queryStringify","parse","search","greaterThan560","thingInfoOpen","editThingOpen","drawerOpen","menuOpen","fields","onDelete","disabled","owner","email","Divider","startsWith","isPortal","notificationCount","Fab","bottom","zIndex","AppBar","boxShadow","ThingInfoDialog","SwipeableDrawer","anchor","onOpen","disableBackdropTransition","disableDiscovery","disableSwipeToOpen","textOnSecondaryBackgroundColor","REACT_APP_TEXT_ON_SECONDARY_BACKGROUND_COLOR","textOnMainBackgroundColor","searchIcon","pointerEvents","inputRoot","inputInput","developerThingsProps","firmwareProps","sortBy","setSortBy","sortDirection","setSortDirection","createThingOpen","setCreateThingOpen","setSearch","textColor","queryMore","fetchFunction","developerThingCount","thingsData","locked","ownerEmail","querystringify","InputBase","fetchMore","ThemeProvider","contrastText","startIcon","LinearProgress","onScroll","scrollTop","clientHeight","scrollHeight","stickyHeader","TableHead","name","TableSortLabel","active","direction","isAsc","setItem","JSON","stringify","TableBody","row","textDecoration","hover","substring","dateFormat","timeFormat","AccountPopoverWrapper","PolicyDialogWrapper","acceptPrivacyPolicyOpen","metadata","privacyPolicyAccepted","privacyPolicyVersion","requireConsent","greaterThan1600","bearer","setSettingsOpen","snackbarOpen","setSnackbarOpen","URLSearchParams","useLocation","useEffect","desktopRoutes","ThingMain","tabs","Tab","server","metadataProps","privateCloud","limit","get","selectedThing","Box","sx","borderBottom","borderColor","Tabs","indicatorColor","TabIndicatorProps","left","containerStyle","justifyItems","Grid","container","emailIsVerified","developerThings","deleted","currentAccountList","account","loggedOut","loginEmail","signupEmail","userId","require","sessionStorage","images","reduce","acc","next","Math","floor","random","redirectTo","isMobile","isOnline","onLine","serviceWorker","register","updateLocale","address","redirectToHidden","backgroundLogo","unauthenticatedLogo","loginBackgrounds","values","importAll","image","version","Provider","UserFetcher","isLogin","changeBearer","setHiddenRedirect","isAccountSwitcher","isRecovery","ReactDOM","render","I18nextProvider","apiKey","document","getElementById"],"mappings":"2QAAA,OAAe,cAA0B,8C,kCCAzC,OAAe,cAA0B,8C,qBCAzC,IAAIA,EAAM,CACT,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,WAAY,IACZ,cAAe,IACf,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,YAAa,IACb,eAAgB,IAChB,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,aAAc,IACd,gBAAiB,IACjB,WAAY,IACZ,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,YAAa,IACb,eAAgB,IAChB,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,KAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,IAEpBC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK,M,oNChSLY,0BAAc,IAAIC,K,oHCHlB,MAA0B,iC,yICkBzC,GAGIC,46BAFoBC,GADxB,GACEC,qBAC8BC,GAFhC,GAEEC,6BAGIC,GAAuB,SAAC,GAAD,IAAGC,EAAH,EAAGA,KAAH,OAC3B,sBACEC,MAAO,CACLC,gBAAiBL,GACjBM,OAAQ,OACRC,MAAO,MACPC,aAAc,cACdC,SAAU,WACVC,IAAc,MAATP,EAAe,MAAiB,YAATA,EAAqB,OAAS,QAC1DQ,WAAY,gBAKZC,GAAiBC,aAAW,CAChCC,KAAM,CACJ,UAAW,CACTT,gBAAiB,iBAHAQ,CAMpBE,KAEYC,mBAAe,sDAE1B,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IAEDC,MAAQ,CACXC,SAAU,GACVC,WAAW,GALI,EAFO,0CAa1B,WAAU,IAAD,OACP,EAUIC,KAAKJ,MATPK,EADF,EACEA,gBACAC,EAFF,EAEEA,aACAC,EAHF,EAGEA,aACAC,EAJF,EAIEA,UACAC,EALF,EAKEA,OACAC,EANF,EAMEA,OACAC,EAPF,EAOEA,cACAC,EARF,EAQEA,YACAC,EATF,EASEA,EAEF,EAAgCT,KAAKH,MAA7BC,EAAR,EAAQA,SAAUC,EAAlB,EAAkBA,UAElB,GAAID,EAAU,CACZ,IAAIY,EAAeZ,EAGnB,OAFAE,KAAKW,SAAS,CAAEb,SAAU,KAGxB,uCACE,eAAC,IAAD,CAAUc,MAAI,EAACC,GAAIH,IAClBF,OAKP,OACE,uBACEzB,MAAO,CAAEC,gBAAiBP,GAAWQ,OAAQ,QAC7C6B,UAAU,cAFZ,UAIE,uBACE/B,MAAO,CACLE,OAAQgB,EACJ,mDACA,mDAJR,UAOGA,GACC,uBAAKlB,MAAO,CAAEgC,QAAS,QAAvB,UACE,sBACEC,IAAKC,EACLlC,MAAO,CACLE,OAAQ,OACRiC,OAAQ,oBAEVC,IAAI,aACJL,UAAU,kBAEZ,eAAC,iBAAD,CACEM,YAAa,CAAEF,OAAQ,oBACvBG,kBAAgB,EAChBC,QAASpB,EACTG,OAAQF,EACRoB,YAAa,SAACzB,GAAD,OAAc,EAAKa,SAAS,CAAEb,cAC3C0B,KAAMpB,EAAUqB,KAChBnB,OAAQA,EACRC,cAAeA,OAIrB,sBACExB,MAAO,CACL2C,UAAW,OACXzC,OAAQgB,EAAkB,oBAAsB,QAHpD,SAME,gBAAC0B,EAAA,EAAD,CACEC,gBAAc,EACd7C,MAAOkB,EAAkB,GAAK,CAAEf,MAAO,QAFzC,UAIE,gBAAC,IAAD,WACE,eAAC,IAAD,CAAOJ,KAAK,IAAI+C,OAAK,EAArB,SACE,eAAC,GAAD,CAAsB/C,KAAK,QAE7B,eAAC,IAAD,CAAOA,KAAK,UAAU+C,OAAK,EAA3B,SACE,eAAC,GAAD,CAAsB/C,KAAK,gBAE1BgD,aAAaC,QAAQ,WACtBD,aAAaC,QAAQ,UAAUC,SAAS,gBACxC,eAAC,IAAD,CAAOlD,KAAK,YAAY+C,OAAK,EAA7B,SACE,eAAC,GAAD,CAAsB/C,KAAK,mBAIjC,gBAACS,GAAD,CACE0C,QAAM,EACNlD,MACEkB,EACI,CACEiC,MAAOvD,GACPwD,YAAa,OACblD,OAAQ,QAEV,CAAEiD,MAAOvD,GAAiBM,OAAQ,QAExCmD,UAAWC,KACXxB,GAAG,IAZL,UAcE,eAACyB,EAAA,EAAD,CACEvD,MAAO,CACLwD,SAAUtC,EAAkB,GAAK,OACjCiB,OAAQ,QAHZ,SAME,eAAC,IAAD,CAAMnC,MAAO,CAAEmD,MAAOvD,QAEvBsB,GAAmB,eAACuC,EAAA,EAAD,CAAcC,QAAShC,EAAF,mCAE3C,gBAAClB,GAAD,CACE0C,QAAM,EACNlD,MACEkB,EACI,CACEiC,MAAOvD,GACPwD,YAAa,OACblD,OAAQ,QAEV,CAAEiD,MAAOvD,GAAiBM,OAAQ,QAExCmD,UAC+B,YAA7BM,OAAOC,SAASC,SAAyBlD,IAAW2C,KAEtDxB,GAAG,UAdL,UAgBE,eAACyB,EAAA,EAAD,CACEvD,MAAO,CACLwD,SAAUtC,EAAkB,GAAK,OACjCiB,OAAQ,QAHZ,SAME,eAAC,IAAD,CAAgBnC,MAAO,CAAEmD,MAAOvD,QAEjCsB,GAAmB,eAACuC,EAAA,EAAD,CAAcC,QAAShC,EAAF,uCAExCqB,aAAaC,QAAQ,WACtBD,aAAaC,QAAQ,UAAUC,SAAS,gBACxC,gBAACzC,GAAD,CACE0C,QAAM,EACNlD,MACEkB,EACI,CACEiC,MAAOvD,GACPwD,YAAa,OACblD,OAAQ,QAEV,CAAEiD,MAAOvD,GAAiBM,OAAQ,QAExCmD,UAAWC,KACXxB,GAAG,YAZL,UAcE,eAACyB,EAAA,EAAD,CACEvD,MAAO,CACLwD,SAAUtC,EAAkB,GAAK,OACjCiB,OAAQ,QAHZ,SAME,eAAC,IAAD,CAAanC,MAAO,CAAEmD,MAAOvD,QAE9BsB,GAAmB,eAACuC,EAAA,EAAD,CAAcC,QAAShC,EAAF,+CAMlDR,EACC,gBAAC0B,EAAA,EAAD,CAAMC,gBAAc,EAApB,UACE,gBAACrC,GAAD,CACE0C,QAAM,EACNlD,MAAO,CACLmD,MAAOvD,GACPwD,YAAa,OACblD,OAAQ,QAEV4D,QAAS3C,EAPX,UASE,eAACoC,EAAA,EAAD,UACE,eAAC,KAAD,CAAUvD,MAAO,CAAEmD,MAAOvD,QAE5B,eAAC6D,EAAA,EAAD,CAAcC,QAAShC,EAAF,uCAEvB,gBAAClB,GAAD,CACE0C,QAAM,EACNlD,MAAO,CACLmD,MAAOvD,GACPwD,YAAa,OACblD,OAAQ,QAEV4D,QAAS,kBAAM,EAAKlC,SAAS,CAAEZ,WAAW,KAP5C,UASE,eAACuC,EAAA,EAAD,UACE,eAAC,KAAD,CAAcvD,MAAO,CAAEmD,MAAOvD,QAEhC,eAAC6D,EAAA,EAAD,CAAcC,QAAShC,EAAE,cAE3B,gBAAClB,GAAD,CACE0C,QAAM,EACNlD,MAAO,CACLmD,MAAOvD,GACPwD,YAAa,OACblD,OAAQ,2CACR6D,cAAe,2CAEjBD,QAAS,kBAAMvC,GAAO,IARxB,UAUE,eAACgC,EAAA,EAAD,UACE,eAAC,KAAD,CAAWvD,MAAO,CAAEmD,MAAOvD,QAE7B,eAAC6D,EAAA,EAAD,CAAcC,QAAShC,EAAF,yCAIzB,eAAC,iBAAD,CACEW,YAAa,CAAE2B,WAAY,QAC3BzB,QAAStB,KAAKJ,MAAMM,aACpBsB,KAAMpB,EAAUqB,KAChBF,YAAa,SAACzB,GAAD,OAAc,EAAKa,SAAS,CAAEb,cAC3CQ,OAAQA,EACRC,cAAeA,EACfF,OAAQA,IAGZ,eAAC,cAAD,CACE2C,KAAMjD,EACNkD,MAAO,kBAAM,EAAKtC,SAAS,CAAEZ,WAAW,cA7OtB,GACNmD,aADM,EAWnBC,YAAcC,EAXK,I,iHChCfzD,kBACb0D,yBAAa,YAAkC,IAA/B7B,EAA8B,EAA9BA,KAAM8B,EAAwB,EAAxBA,OAAQC,EAAgB,EAAhBA,OAAQ9C,EAAQ,EAARA,EACpC,EAA8B+C,oBAAS,GAAvC,mBAAOC,EAAP,KAAgBC,EAAhB,KACMC,EAASC,qBAAWR,GAEpBS,EAAe,WACnBH,GAAW,GAEXH,EAAOO,sBAAsBtC,EAAKuC,qBAAqBC,MACrD,gBAAGC,EAAH,EAAGA,MAAOC,EAAV,EAAUA,cAAV,OACGD,GACDV,EACGY,mBAAmBD,EAAcE,eACjCJ,MAAK,kBAAML,EAAOU,SAASC,6BAC3BC,SAAQ,kBAAMb,GAAW,UAI5Bc,EAAQ,WACZd,GAAW,GAEXC,EAAOU,SAASI,eAAeF,SAAQ,kBAAMb,GAAW,OAG1D,OACE,gBAACgB,GAAA,EAAD,CAAUC,GAAInD,GAA+B,UAAvBA,EAAKoD,cAA3B,UACGpD,GACC,eAACqD,GAAA,EAAD,CACEC,SAAS,QACTC,OACEtB,EACE,eAAC,kBAAD,CACEvB,MAAM,UACN8C,KAAK,KACLjG,MAAO,CAAEE,OAAQ,OAAQgG,aAAc,SAEvC3B,EACqB,4BAAvB9B,EAAKoD,cACH,eAACM,GAAA,EAAD,CAAYhD,MAAM,UAAUW,QAASgB,EAAcmB,KAAK,QAAxD,SACE,eAAC,KAAD,MAGF,eAACE,GAAA,EAAD,CAAYhD,MAAM,UAAUW,QAAS2B,EAAOQ,KAAK,QAAjD,SACE,eAAC,KAAD,MAGqB,4BAAvBxD,EAAKoD,cACP,eAACO,GAAA,EAAD,CAAQjD,MAAM,UAAUW,QAASgB,EAAjC,SACGpD,EADH,wCAIA,eAAC0E,GAAA,EAAD,CAAQjD,MAAM,UAAUW,QAAS2B,EAAjC,SACG/D,EADH,iCAKJ2E,KAAM,eAAC,KAAD,CAAcrG,MAAO,CAAEmC,OAAQ,sBA7BvC,SA+BGM,EAAKoD,gBACoB,mBAAvBpD,EAAKoD,cACFnE,EADH,0DAE0B,uBAAvBe,EAAKoD,cACLnE,EADA,4EAEAA,EAFA,8EAKV,sBAAK1B,MAAO,CAAEE,OAAQ,iB,4DC5ExBoG,GAAwB,SAACC,EAAO1F,GAAR,OAC5B2F,yBAAeD,GACXE,uBAAaF,EAAD,eAAa1F,IACR,oBAAV0F,EACPA,EAAM1F,GACN0F,GAEOG,GAAkB,SAACC,EAAU9F,GAAX,OAC7B+F,MAAMC,QAAQF,GACVA,EAASnI,KAAI,SAAC+H,GAAD,OAAWD,GAAsBC,EAAO1F,MACrDyF,GAAsBK,EAAU9F,IAEzBiG,GAAe,SAACC,GAC3BA,EAASC,KAAKC,OAAOF,GAErB,IAAMG,EAAOF,KAAKG,SAASJ,EAAQC,KAAKC,OAAL,SAAY,GAAM,KACjD,GACAD,KAAKG,SAASJ,EAAQC,KAAKC,OAAL,SAAY,GAAM,KACxC,IACAD,KAAKG,SAASJ,EAAQC,KAAKC,OAAL,SAAY,GAAM,KACxC,IACAD,KAAKG,SAASJ,EAAQC,KAAKC,OAAL,SAAY,GAAM,MACxC,IACA,IAkBJ,MAhBa,MAATC,IACFH,EAASC,KAAKI,OAAOL,EAAQC,KAAKC,OAAL,SAAY,GAAM,MAGpC,MAATC,IACFH,EAASC,KAAKI,OAAOL,EAAQC,KAAKC,OAAL,SAAY,GAAM,MAGpC,MAATC,IACFH,EAASC,KAAKI,OAAOL,EAAQC,KAAKC,OAAL,SAAY,GAAM,MAGpC,MAATC,IACFH,EAASC,KAAKI,OAAOL,EAAQC,KAAKC,OAAL,SAAY,GAAM,OAG1C,CAAEF,SAAQG,SCtCnB,GAGIzH,46BAF+BQ,GADnC,GACEoH,gCACyCC,GAF3C,GAEEC,wCAGmBC,G,kDACnB,WAAY3G,GAAQ,IAAD,8BACjB,cAAMA,IAOR4G,iBAAmB,WACjB,IAAQC,EAAc,EAAK5G,MAAnB4G,UAEJ/D,OAAOgE,WAAa,KACrBD,GAAa,EAAK9F,SAAS,CAAE8F,WAAW,IAEzCA,GAAa,EAAK9F,SAAS,CAAE8F,WAAW,KAX1C,EAAK5G,MAAQ,CACX4G,WAAW,GAJI,E,qDAkBnB,WACEzG,KAAKwG,mBACL9D,OAAOiE,iBAAiB,SAAUC,mBAAS5G,KAAKwG,qB,kCAGlD,WACE9D,OAAOmE,oBAAoB,SAAUD,mBAAS5G,KAAKwG,qB,oBAGrD,WACE,MAAuDxG,KAAKJ,MAApD8F,EAAR,EAAQA,SAAUoB,EAAlB,EAAkBA,MAAO/H,EAAzB,EAAyBA,MAAOuE,EAAhC,EAAgCA,OAAQyD,EAAxC,EAAwCA,WAChCN,EAAczG,KAAKH,MAAnB4G,UAER,OACE,gBAACO,GAAA,EAAD,CACEC,UAAW,EACXlI,MAAK,aACHC,mBACAC,OAAQ,QACLF,GALP,UAQE,sBACEA,MAAO,CACLE,OAAQ,OACRC,MAAO,OACP6B,QAAS,OACTmG,WAAY,UALhB,SAQE,eAACC,GAAA,EAAD,CACEC,QAAS9D,EAAS,KAAO,KACzBvE,MAAO,CACLsI,WAAY,OACZtE,WAAY,OACZuE,WAAY,IACZpF,MAAOmE,GACPnH,MAAO6H,EAAa,oBAAsB,QAE5CjG,UAAU,gBATZ,SAWGgG,MAGL,sBAAK/H,MAAO,CAAEE,OAAQ,qBAAtB,SACGwG,GAAgBC,EAAU,CAAEe,uB,GAhEDvD,aCEtC,GAKI1E,46BAJqB+I,GADzB,GACEC,sBACyCnB,GAF3C,GAEEC,wCACsCmB,GAHxC,GAGEC,qCACuBC,GAJzB,GAIEC,sBAGajI,mBACb,oBAAGS,UAAa6D,EAAhB,EAAgBA,MAAOR,EAAvB,EAAuBA,QAAShC,EAAhC,EAAgCA,KAAMoG,EAAtC,EAAsCA,QAAWvE,EAAjD,EAAiDA,OAAQ7C,EAAzD,EAAyDA,EAAzD,OACE,eAAC,GAAD,CAAUqG,MAAOrG,EAAF,gCAAa6C,OAAQA,EAApC,SACG,gBAAGmD,EAAH,EAAGA,UAAH,OACC,uBACE1H,MAAO,CACLE,OAAQ,OACRC,MAAO,oBACP4I,QAAS,SACT/G,QAAS,OACTmG,WAAY,SACZa,eAAgB,SAChBC,UAAW,UAEblH,UAAU,gBAVZ,UAYGmD,GAAS,eAAC,cAAD,CAAa4D,QAASA,EAAS5D,MAAOA,IAC/CR,GAAW,eAAC,kBAAD,CAAiBuB,KAAOyB,EAAmB,KAAP,OAC/ChF,KACGK,aAAaC,QAAQ,WACvBD,aAAaC,QAAQ,UAAUC,SAAS,cACtC,uBAAKjD,MAAO,CAAEG,MAAO,QAArB,UACE,gBAACiI,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CAAEmD,MAAOmE,IAHlB,UAKG4B,WACCC,uBAAarC,GAA+B,GAAlBpE,EAAK0G,YAAiBrC,OAAQ,IACtDD,IAAgC,GAAlBpE,EAAK0G,YAAiBC,YAAYnC,KACpD,eAACkB,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CACLmD,MAAOmG,KAAUhC,IACdiC,SAAS,KACTC,eANP,SASG,IACCN,WACEC,uBACEnC,KAAKyC,SACH3C,GAAapE,EAAKgH,WAAW3C,OAC7BC,KAAKC,OAAO,KAEd,IAGJH,GAAapE,EAAKgH,UAAUL,YAAYnC,UAG9C,sBACElH,MAAO,CACLC,gBAAiByI,GACjBxI,OAAQ,OACRE,aAAc,OACdD,MAAO,OACPgC,OAAQ,UANZ,SASuB,IAApBO,EAAK0G,YACJ,sBACEpJ,MAAO,CACLC,gBACEyC,EAAK0G,WAAa1G,EAAKgH,UAAY,GAC/Bd,GACAJ,GACNtI,OAAQ,OACRE,aAAc,OACdD,OAEuB,IAAlBuC,EAAK0G,WACN1G,EAAKgH,WACLL,WAAa,IACjB7F,SAAU,OACVmG,SAAU3C,KAAK4C,mBACb5C,KAAKC,OAAOvE,EAAK0G,YACjBpC,KAAKC,OAAOvE,EAAKgH,YAEf,OACA,4BAOd,eAACtB,GAAA,EAAD,CACEC,QAAQ,KACRhF,UAAU,OACVrD,MAAO,CACLmD,MAAOmE,GACPuC,SAAUnC,EAAY,SAAW,UALrC,SAQGwB,WACCC,uBAAarC,GAA+B,GAAlBpE,EAAK0G,YAAiBrC,OAAQ,IACtDD,GAAapE,EAAK0G,WAAWC,YAAYnC,iBCzG7D,GAKIzH,46BAJqB+I,GADzB,GACEC,sBACyCnB,GAF3C,GAEEC,wCACsCmB,GAHxC,GAGEC,qCACuBC,GAJzB,GAIEC,sBAGajI,mBACb,oBAAGS,UAAa6D,EAAhB,EAAgBA,MAAOR,EAAvB,EAAuBA,QAAShC,EAAhC,EAAgCA,KAAMoG,EAAtC,EAAsCA,QAAWvE,EAAjD,EAAiDA,OAAQ7C,EAAzD,EAAyDA,EAAzD,OACE,eAAC,GAAD,CAAUqG,MAAOrG,EAAF,wCAAqB6C,OAAQA,EAA5C,SACG,gBAAGmD,EAAH,EAAGA,UAAH,OACC,uBACE1H,MAAO,CACLE,OAAQ,OACRC,MAAO,oBACP4I,QAAS,SACT/G,QAAS,OACTmG,WAAY,SACZa,eAAgB,SAChBC,UAAW,UAEblH,UAAU,gBAVZ,UAYGmD,GAAS,eAAC,cAAD,CAAa4D,QAASA,EAAS5D,MAAOA,IAC/CR,GAAW,eAAC,kBAAD,CAAiBuB,KAAOyB,EAAmB,KAAP,OAC/ChF,KACGK,aAAaC,QAAQ,WACvBD,aAAaC,QAAQ,UAAUC,SAAS,cACtC,uBAAKjD,MAAO,CAAEG,MAAO,QAArB,UACE,gBAACiI,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CAAEmD,MAAOmE,IAHlB,UAKG4B,WACCC,uBAAarC,GAAgC,GAAnBpE,EAAKoH,aAAkB/C,OAAQ,IACvDD,IAAiC,GAAnBpE,EAAKoH,aAAkBT,YAAYnC,KACrD,eAACkB,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CACLmD,MAAOmG,KAAUhC,IACdiC,SAAS,KACTC,eANP,SASG,IACCN,WACEC,uBACEnC,KAAKyC,SACH3C,GAAapE,EAAKqH,YAAYhD,OAC9BC,KAAKC,OAAO,KAEd,IAGJH,GAAapE,EAAKqH,WAAWV,YAAYnC,UAG/C,sBACElH,MAAO,CACLC,gBAAiByI,GACjBxI,OAAQ,OACRE,aAAc,OACdD,MAAO,OACPgC,OAAQ,UANZ,SASwB,IAArBO,EAAKoH,aACJ,sBACE9J,MAAO,CACLC,gBACEyC,EAAKoH,YAAcpH,EAAKqH,WAAa,GACjCnB,GACAJ,GACNtI,OAAQ,OACRE,aAAc,OACdD,OAEwB,IAAnBuC,EAAKoH,YACNpH,EAAKqH,YACLV,WAAa,IACjB7F,SAAU,OACVmG,SAAU3C,KAAK4C,mBACb5C,KAAKC,OAAOvE,EAAKoH,aACjB9C,KAAKC,OAAOvE,EAAKqH,aAEf,OACA,4BAOd,eAAC3B,GAAA,EAAD,CACEC,QAAQ,KACRhF,UAAU,OACVrD,MAAO,CACLmD,MAAOmE,GACPuC,SAAUnC,EAAY,SAAW,UALrC,SAQGwB,WACCC,uBAAarC,GAAgC,GAAnBpE,EAAKoH,aAAkB/C,OAAQ,IACvDD,GAAapE,EAAKoH,YAAYT,YAAYnC,iBCzG9D,GAKIzH,46BAJqB+I,GADzB,GACEC,sBACyCnB,GAF3C,GAEEC,wCACsCmB,GAHxC,GAGEC,qCACuBC,GAJzB,GAIEC,sBAGajI,mBACb,oBAAGS,UAAa6D,EAAhB,EAAgBA,MAAOR,EAAvB,EAAuBA,QAAShC,EAAhC,EAAgCA,KAAMoG,EAAtC,EAAsCA,QAAWvE,EAAjD,EAAiDA,OAAQ7C,EAAzD,EAAyDA,EAAzD,OACE,eAAC,GAAD,CAAUqG,MAAOrG,EAAF,iDAA8B6C,OAAQA,EAArD,SACG,gBAAGmD,EAAH,EAAGA,UAAH,OACC,uBACE1H,MAAO,CACLE,OAAQ,OACRC,MAAO,oBACP4I,QAAS,SACT/G,QAAS,OACTmG,WAAY,SACZa,eAAgB,SAChBC,UAAW,UAEblH,UAAU,gBAVZ,UAYGmD,GAAS,eAAC,cAAD,CAAa4D,QAASA,EAAS5D,MAAOA,IAC/CR,GAAW,eAAC,kBAAD,CAAiBuB,KAAOyB,EAAmB,KAAP,OAC/ChF,KACGK,aAAaC,QAAQ,WACvBD,aAAaC,QAAQ,UAAUC,SAAS,cACtC,uBAAKjD,MAAO,CAAEG,MAAO,QAArB,UACE,gBAACiI,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CAAEmD,MAAOmE,IAHlB,UAKG4B,WACCC,uBACErC,GAAmC,GAAtBpE,EAAKsH,gBAAqBjD,OACvC,IAEAD,IAAoC,GAAtBpE,EAAKsH,gBAAqBX,YAAYnC,KACxD,eAACkB,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CACLmD,MAAOmG,KAAUhC,IACdiC,SAAS,KACTC,eANP,SASG,IACCN,WACEC,uBACEnC,KAAKyC,SACH3C,GAAapE,EAAKuH,eAAelD,OACjCC,KAAKC,OAAO,KAEd,IAGJH,GAAapE,EAAKuH,cAAcZ,YAAYnC,UAGlD,sBACElH,MAAO,CACLC,gBAAiByI,GACjBxI,OAAQ,OACRE,aAAc,OACdD,MAAO,OACPgC,OAAQ,UANZ,SAS2B,IAAxBO,EAAKsH,gBACJ,sBACEhK,MAAO,CACLC,gBACEyC,EAAKsH,eAAiBtH,EAAKuH,cAAgB,GACvCrB,GACAJ,GACNtI,OAAQ,OACRE,aAAc,OACdD,OAEKuC,EAAKsH,eAAiBtH,EAAKuH,cAC5B,KACAZ,WAAa,IACjB7F,SAAU,OACVmG,SAAU3C,KAAK4C,mBACb5C,KAAKC,OAAOvE,EAAKsH,gBACjBhD,KAAKC,OAAOvE,EAAKuH,gBAEf,OACA,4BAOd,eAAC7B,GAAA,EAAD,CACEC,QAAQ,KACRhF,UAAU,OACVrD,MAAO,CACLmD,MAAOmE,GACPuC,SAAUnC,EAAY,SAAW,UALrC,SAQGwB,WACCC,uBAAarC,GAAmC,GAAtBpE,EAAKsH,gBAAqBjD,OAAQ,IAC1DD,GAAapE,EAAKsH,eAAeX,YAAYnC,iBC5GjE,GAKIzH,46BAJqB+I,GADzB,GACEC,sBACyCnB,GAF3C,GAEEC,wCACsCmB,GAHxC,GAGEC,qCACuBC,GAJzB,GAIEC,sBAGajI,mBACb,oBAAGS,UAAa6D,EAAhB,EAAgBA,MAAOR,EAAvB,EAAuBA,QAAShC,EAAhC,EAAgCA,KAAMoG,EAAtC,EAAsCA,QAAWvE,EAAjD,EAAiDA,OAAQ7C,EAAzD,EAAyDA,EAAzD,OACE,eAAC,GAAD,CAAUqG,MAAOrG,EAAF,qCAAkB6C,OAAQA,EAAzC,SACG,gBAAGmD,EAAH,EAAGA,UAAH,OACC,uBACE1H,MAAO,CACLE,OAAQ,OACRC,MAAO,oBACP4I,QAAS,SACT/G,QAAS,OACTmG,WAAY,SACZa,eAAgB,SAChBC,UAAW,UAEblH,UAAU,gBAVZ,UAYGmD,GAAS,eAAC,cAAD,CAAa4D,QAASA,EAAS5D,MAAOA,IAC/CR,GAAW,eAAC,kBAAD,CAAiBuB,KAAOyB,EAAmB,KAAP,OAC/ChF,KACGK,aAAaC,QAAQ,WACvBD,aAAaC,QAAQ,UAAUC,SAAS,cACtC,uBAAKjD,MAAO,CAAEG,MAAO,QAArB,UACE,gBAACiI,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CAAEmD,MAAOmE,IAHlB,UAKG4B,WACCC,uBAAae,sBAAiC,GAArBxH,EAAKyH,eAAoBC,MAAO,IACvDF,uBAAkC,GAArBxH,EAAKyH,eAAoBd,YAAYnC,KACtD,eAACkB,GAAA,EAAD,CACEC,QAASX,EAAY,KAAO,KAC5BrE,UAAU,OACVrD,MAAO,CACLmD,MAAOmG,KAAUhC,IACdiC,SAAS,KACTC,eANP,SASG,IACCN,WACEC,uBACEnC,KAAKyC,SACHS,sBAAYxH,EAAK2H,cAAcD,MAC/BpD,KAAKC,OAAO,KAEd,IAGJiD,sBAAYxH,EAAK2H,aAAahB,YAAYnC,UAGhD,sBACElH,MAAO,CACLC,gBAAiByI,GACjBxI,OAAQ,OACRE,aAAc,OACdD,MAAO,OACPgC,OAAQ,UANZ,SAS0B,IAAvBO,EAAKyH,eACJ,sBACEnK,MAAO,CACLC,gBACEyC,EAAKyH,cAAgBzH,EAAK2H,aAAe,GACrCzB,GACAJ,GACNtI,OAAQ,OACRE,aAAc,OACdD,OAE0B,IAArBuC,EAAKyH,cACNzH,EAAK2H,cACLhB,WAAa,IACjB7F,SAAU,OACVmG,SAAU3C,KAAK4C,mBACb5C,KAAKC,OAAOvE,EAAKyH,eACjBnD,KAAKC,OAAOvE,EAAK2H,eAEf,OACA,4BAOd,eAACjC,GAAA,EAAD,CACEC,QAAQ,KACRhF,UAAU,OACVrD,MAAO,CACLmD,MAAOmE,GACPuC,SAAUnC,EAAY,SAAW,UALrC,SAQGwB,WACCC,uBAAae,sBAAiC,GAArBxH,EAAKyH,eAAoBC,MAAO,IACvDF,sBAAYxH,EAAKyH,cAAcd,YAAYnC,iBC5G1CoD,G,4MACnBxJ,MAAQ,CAAEyJ,KAAM,M,EAEhB9C,iBAAmB,WACjB,IAAQ8C,EAAS,EAAKzJ,MAAdyJ,KAEJ5G,OAAOgE,YAAc,KACd,IAAT4C,GAAc,EAAK3I,SAAS,CAAE2I,KAAM,IAC3B5G,OAAOgE,YAAc,IACrB,IAAT4C,GAAc,EAAK3I,SAAS,CAAE2I,KAAM,IAE3B,IAATA,GAAc,EAAK3I,SAAS,CAAE2I,KAAM,K,uDAIxC,WACEtJ,KAAKwG,mBACL9D,OAAOiE,iBAAiB,SAAUC,mBAAS5G,KAAKwG,qB,kCAGlD,WACE9D,OAAOmE,oBAAoB,SAAUD,mBAAS5G,KAAKwG,qB,oBAGrD,WACE,MAA8BxG,KAAKJ,MAA3B0D,EAAR,EAAQA,OAAQlD,EAAhB,EAAgBA,UACRkJ,EAAStJ,KAAKH,MAAdyJ,KAER,OACE,uBACEvK,MAAO,CACLG,MAAO,oBACPgC,OAAQ,SACR4G,QAAS,SACTY,SAAmB,IAATY,EAAa,QAAmB,IAATA,EAAa,SAAW,SACzDtK,gBArCmDR,QA+BvD,UASE,eAAC+K,GAAD,CAAcjG,OAAQA,EAAQ9B,KAAMpB,EAAUqB,OAC9C,uBACE1C,MAAO,CACLgC,QAAS,OACTyI,oBACW,IAATF,EACI,OACS,IAATA,EACA,kCACA,sFACNG,aAAcnG,EAAS,QAAU,QACjCoG,QAAS,QAVb,UAaE,eAACC,GAAD,CAAYvJ,UAAWA,EAAWkD,OAAQA,IAC1C,eAACsG,GAAD,CAAaxJ,UAAWA,EAAWkD,OAAQA,IAC3C,eAACuG,GAAD,CAAgBzJ,UAAWA,EAAWkD,OAAQA,IAC9C,eAACwG,GAAD,CAAU1J,UAAWA,EAAWkD,OAAQA,c,GAvDhBJ,a,qUCNlC6G,KAAKC,IAAIC,MAAkBC,KAAK,CAC9BC,UAAW,CACTC,QACAC,SAEFC,IACExI,aAAaC,QAAQ,cACpBwI,UAAUC,UAAYD,UAAUE,cAAcC,MAAM,EAAG,GAC1DC,YAAa,KACbC,OAAO,EACPC,GAAI,CAAC,gBACLC,UAAW,eACXC,aAAc,IACdC,cAAe,CACbC,aAAa,EACbC,gBAAiB,KAEnBC,MAAO,CACLC,MAAM,EACNC,SAAU,yBACVC,UAAW,gBACXC,OAAQ,aAIGxB,I,mbAAAA,MAAf,ECbA,GAOIvL,46BANoBC,GADxB,GACEC,qBACuB6I,GAFzB,GAEEC,sBAC2BgE,GAH7B,GAGEC,0BACiCzM,GAJnC,GAIEoH,gCACyCC,GAL3C,GAKEC,wCACuBqB,GANzB,GAMEC,sBAGajI,mBAAe,wDAE1B,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IAEDC,MAAQ,CACX6L,aAAc9L,EAAM4B,KAAKkK,cAAgB,GACzCC,mBAAmB,EACnBC,aAAchM,EAAM4B,KAAKoK,cAAgB,GACzCC,YAAajM,EAAM4B,KAAKqK,aAAe,GACvCC,kBAAkB,EAClBC,kBAAmBnM,EAAM4B,KAAKuK,mBAAqB,GACnDC,wBAAwB,EACxBC,aAAcrM,EAAM4B,KAAKyK,cAAgB,GACzCC,mBAAmB,EACnBC,0BAA2BvM,EAAM4B,KAAK2K,2BAA6B,GACnE1I,SAAS,GAdM,EAFO,6DAsB1B,SAA0B2I,GACpBA,EAAUpJ,OAAShD,KAAKJ,MAAMoD,MAAQoJ,EAAUpJ,MAClDhD,KAAKW,SAAS,CACZ+K,aAAcU,EAAU5K,KAAKkK,cAAgB,GAC7CC,mBAAmB,EACnBC,aAAcQ,EAAU5K,KAAKoK,cAAgB,GAC7CC,YAAaO,EAAU5K,KAAKqK,aAAe,GAC3CC,kBAAkB,EAClBC,kBAAmBK,EAAU5K,KAAKuK,mBAAqB,GACvDC,wBAAwB,EACxBC,aAAcG,EAAU5K,KAAKyK,cAAgB,GAC7CC,mBAAmB,EACnBC,0BACEC,EAAU5K,KAAK2K,2BAA6B,OAnC1B,oBAwC1B,WAAU,IAAD,OACP,EAA2BnM,KAAKJ,MAAxBoD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOxC,EAArB,EAAqBA,EACrB,EAYIT,KAAKH,MAXP6L,EADF,EACEA,aACAC,EAFF,EAEEA,kBACAC,EAHF,EAGEA,aACAC,EAJF,EAIEA,YACAC,EALF,EAKEA,iBACAC,EANF,EAMEA,kBACAC,EAPF,EAOEA,uBACAC,EARF,EAQEA,aACAC,EATF,EASEA,kBACAC,EAVF,EAUEA,0BACA1I,EAXF,EAWEA,QAGF,OACE,eAAC,gBAAD,CACEqD,MAAOrG,EAAF,sDACLuC,KAAMA,EACNC,MAAOA,EACPoJ,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBsJ,gBAAiB9L,EAAF,mCACf+L,wBAAyB,WACvB,EAAK7L,SAAS,CAAE8C,SAAS,IAEzB,EAAKgJ,QAAQpI,SACVqI,WAAW,CACVhB,eACAE,eACAC,cACAE,oBACAE,eACAE,8BAED5H,SAAQ,WACP,EAAK5D,SAAS,CAAE8C,SAAS,IAEzBR,QAGN0J,yBACGjB,EAAakB,QAAQ,MAAO,IAAIC,QACjCnB,EAAamB,QAAU,KACvBjB,EAAaiB,QAAU,MACtBhB,EAAYe,QAAQ,MAAO,IAAIC,QAChChB,EAAYgB,QAAU,MACrBd,EAAkBa,QAAQ,MAAO,IAAIC,QACtCd,EAAkBc,QAAU,MAC3BZ,EAAaW,QAAQ,MAAO,IAAIC,QACjCZ,EAAaY,QAAU,MACtBV,EAA0BS,QAAQ,MAAO,IAAIC,QAC9CV,EAA0BU,QAAU,KACpCpJ,EAEFqJ,uBAAwBrJ,EAvC1B,SAyCG,gBAAGsJ,EAAH,EAAGA,WAAH,OACC,uCACE,eAACC,GAAA,EAAD,CACEC,UAAQ,EACRvP,GAAG,mBACHwP,MAAOzM,EAAF,0CACL0M,YAAa1M,EAAF,6CACX2M,MAAO1B,EACPtE,QAAQ,WACRnD,MAAO0H,GAAqBD,EAAamB,QAAU,IACnDQ,WACE3B,EAAamB,QAAU,IACnBpM,EADJ,qCAEIkL,EACAlL,EADiB,kDAEjB,IAEN6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZ+K,aAAc6B,EAAMC,OAAOJ,MAC3BzB,kBAC4C,KAA1C4B,EAAMC,OAAOJ,MAAMR,QAAQ,MAAO,OAGxC7N,MAAO,CACLG,MAAO,OACPuO,aAAc,QAEhBC,gBAAiBhC,EAAe,CAAEiC,QAAQ,GAAS,GACnDC,WAAY,CACVC,aAAcnC,GACZ,eAACoC,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZ+K,aAAc,MAGlBqC,SAAS,KACT/I,KAAK,QAPP,SASE,eAAC,KAAD,QAINgJ,aAAc,mBAGlB,eAAChB,GAAA,EAAD,CACEtP,GAAG,mBACHwP,MAAOzM,EAAF,0CACL0M,YACE1M,EAAC,qCACD,KACAA,EAFA,oCAGA,KACAA,EAJA,iCAKA,KACAA,EANA,+BAOA,IAEF2M,MAAOxB,EACPxE,QAAQ,WACRnD,MAAO2H,EAAaiB,QAAU,IAC9BQ,WAAYzB,EAAaiB,QAAU,IAAMpM,EAA7B,qCAA4C,IACxD6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZiL,aAAc2B,EAAMC,OAAOJ,SAG/BrO,MAAO,CACLG,MAAO,OACPuO,aAAc,QAEhBC,gBAAiB9B,EAAe,CAAE+B,QAAQ,GAAS,GACnDC,WAAY,CACVC,aAAcjC,GACZ,eAACkC,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZiL,aAAc,MAGlBmC,SAAS,KACT/I,KAAK,QAPP,SASE,eAAC,KAAD,QAINgJ,aAAc,mBAGlB,eAAChB,GAAA,EAAD,CACEC,UAAQ,EACRvP,GAAG,OACHwP,MAAOzM,EAAF,gCACL2M,MAAOvB,EACPzE,QAAQ,WACRnD,MAAO6H,GAAoBD,EAAYgB,QAAU,IACjDQ,WACExB,EAAYgB,QAAU,IAClBpM,EADJ,qCAEIqL,EACArL,EADgB,kDAEhB,IAEN6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZkL,YAAa0B,EAAMC,OAAOJ,MAC1BtB,iBAC4C,KAA1CyB,EAAMC,OAAOJ,MAAMR,QAAQ,MAAO,OAGxC7N,MAAO,CACLG,MAAO6N,EAAa,OAAS,kBAC7BkB,YAAalB,EAAa,EAAI,OAC9BU,aAAc,QAEhBC,gBAAiB7B,EAAc,CAAE8B,QAAQ,GAAS,GAClDC,WAAY,CACVC,aAAchC,GACZ,eAACiC,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZkL,YAAa,MAGjBkC,SAAS,KACT/I,KAAK,QAPP,SASE,eAAC,KAAD,QAINgJ,aAAc,oBAGlB,eAAChB,GAAA,EAAD,CACEC,UAAQ,EACRvP,GAAG,cACHwP,MAAOzM,EAAF,uCACL2M,MAAOrB,EACP3E,QAAQ,WACRnD,MACE+H,GAA0BD,EAAkBc,QAAU,IAExDQ,WACEtB,EAAkBc,QAAU,IACxBpM,EADJ,qCAEIuL,EACAvL,EADsB,kDAEtB,IAEN6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZoL,kBAAmBwB,EAAMC,OAAOJ,MAChCpB,uBAC4C,KAA1CuB,EAAMC,OAAOJ,MAAMR,QAAQ,MAAO,OAGxC7N,MAAO,CACLG,MAAO6N,EAAa,OAAS,kBAC7BU,aAAc,QAEhBC,gBAAiB3B,EAAoB,CAAE4B,QAAQ,GAAS,GACxDC,WAAY,CACVC,aAAc9B,GACZ,eAAC+B,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZoL,kBAAmB,MAGvBgC,SAAS,KACT/I,KAAK,QAPP,SASE,eAAC,KAAD,QAINgJ,aAAc,eAEhBE,KAAK,WAEP,eAAClB,GAAA,EAAD,CACEC,UAAQ,EACRvP,GAAG,QACHwP,MAAOzM,EAAF,iCACL2M,MAAOnB,EACP7E,QAAQ,WACRnD,MAAOiI,GAAqBD,EAAaY,QAAU,IACnDQ,WACEtB,EAAkBc,QAAU,IACxBpM,EADJ,qCAEIyL,EACAzL,EADiB,kDAEjB,IAEN6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZsL,aAAcsB,EAAMC,OAAOJ,MAC3BlB,kBAC4C,KAA1CqB,EAAMC,OAAOJ,MAAMR,QAAQ,MAAO,OAGxC7N,MAAO,CACLG,MAAO,OACPuO,aAAc,QAEhBC,gBAAiBzB,EAAe,CAAE0B,QAAQ,GAAS,GACnDC,WAAY,CACVC,aAAc5B,GACZ,eAAC6B,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZsL,aAAc,MAGlB8B,SAAS,KACT/I,KAAK,QAPP,SASE,eAAC,KAAD,QAINgJ,aAAc,oBAGlB,eAACG,EAAA,EAAD,CAAsBC,aAAW,EAAjC,SACE,eAAC,KAAD,CACEC,MAAOC,aACLC,aAAa,CACXC,QAAS,CACPC,QAAS,CAAEC,KAAM1P,IACjByD,QAAS,CAAEkM,MAAOpH,GAAYmH,KAAMjQ,IACpCmQ,UAAW,CAAEF,KAAMlD,IACnBvH,MAAO,CAAEyK,KAAM/G,KAEjBkH,UAAW,CACTC,QAAS,CACPrP,KAAM,CACJT,qBAGJ+P,QAAS,CACPC,KAAM,CACJlH,QAAS,IAGbmH,UAAW,CACTC,OAAQ,CAAEhN,MAAOmE,IACjBjB,KAAM,CAAElD,MAAOmE,SAtBzB,SA4BE,eAAC2G,GAAA,EAAD,CACEC,UAAQ,EACRC,MAAOzM,EAAF,gDACL2M,MAAOjB,EACPmB,SAAU,SAACC,GACT,EAAK5M,SAAS,CACZwL,0BAA2BoB,EAAMC,OAAOJ,SAG5ChG,QAAQ,WACR8H,QAAM,EACNC,YAAa,CACXC,YAAa,SAAChC,GAIZ,OAFEiC,YAAUC,MAAK,SAACC,GAAD,OAAaA,EAAQvR,OAASoP,KADtCrD,GAAKS,YAMlBzL,MAAO,CACLG,MAAO,QAETwO,gBACEvB,EAA4B,CAAEwB,QAAQ,GAAS,GAEjDN,WAAW,IAzBb,SA2BGgC,YACEG,MAAK,SAACC,EAAGC,GAAJ,OACJD,EAAE1F,GAAKS,UAAYkF,EAAE3F,GAAKS,UACtB,EACAiF,EAAE1F,GAAKS,UAAYkF,EAAE3F,GAAKS,WACzB,EACD,KAELjN,KACC,gBACES,EADF,EACEA,KACA2R,EAFF,EAEEA,SACiBC,EAHnB,EAGG7F,GAAKS,UAHR,OAKE,gBAACqF,GAAA,EAAD,CACE9Q,MAAO,CAAEmD,MAAOmE,IAChB+G,MAAOpP,EAFT,UAKE,eAACsE,EAAA,EAAD,UACY,OAATtE,EACC,eAAC,SAAD,IAEA,eAAC,KAAD,CACE8R,aAAcH,GAAY3R,GAAM+R,cAChC9Q,OAAO,SAIb,eAACuD,EAAA,EAAD,CAAczD,MAAO,CAAEkP,YAAa,OAApC,SACG2B,MAbE,wCAA0C5R,sBApZ7C,GACEkF,aADF,GAoBnBC,YAAcC,EApBK,KChBfzD,mBAAe,wDAE1B,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IAiBRoQ,eAlBmB,wBAkBF,uBAAAP,EAAA,6DACf,EAAK9O,SAAS,CAAE8C,SAAS,IADV,SAGT,EAAKgJ,QAAQpI,SAChBqI,WAAW,CACVuD,YAAa,EAAKpQ,MAAMoQ,aAAe,OAExCjM,KAAK,EAAKpE,MAAMqD,OAChBsB,SAAQ,kBAAM,EAAK5D,SAAS,CAAE8C,SAAS,OAR3B,2CAff,EAAK5D,MAAQ,CACXoQ,YAAarQ,EAAM4B,KAAKyO,aAAe,IAJxB,EAFO,6DAY1B,SAA0B7D,GACpBA,EAAUpJ,OAAShD,KAAKJ,MAAMoD,MAAQoJ,EAAUpJ,MAClDhD,KAAKW,SAAS,CACZsP,YAAa7D,EAAU5K,KAAKyO,aAAe,OAfvB,oBA+B1B,WAAU,IAAD,OACP,EAA2BjQ,KAAKJ,MAAxBoD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOxC,EAArB,EAAqBA,EACrB,EAAiCT,KAAKH,MAA9B4D,EAAR,EAAQA,QAASwM,EAAjB,EAAiBA,YAEjB,OACE,eAAC,gBAAD,CACEnJ,MAAOrG,EAAF,mDACLuC,KAAMA,EACNC,MAAOA,EACPoJ,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBsJ,gBAAiB9L,EAAF,mCACf+L,wBAAyBxM,KAAKgQ,eAC9BrD,yBACGsD,EAAYrD,QAAQ,MAAO,IAAIC,QAChCoD,EAAYpD,QAAU,KACtBpJ,EAEFqJ,uBAAwBrJ,EAb1B,SAeE,qCACE,eAACuJ,GAAA,EAAD,CACEtP,GAAG,eACHwP,MAAOzM,EAAF,wCACL2M,MAAO6C,EACP7I,QAAQ,WACRnD,MAAOgM,EAAYpD,QAAU,IAC7BQ,WAAY4C,EAAYpD,QAAU,IAAMpM,EAA5B,qCAA2C,IACvD6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZsP,YAAa1C,EAAMC,OAAOJ,SAG9B8C,WAAY,SAAC3C,GACO,UAAdA,EAAM4C,KACR,EAAKH,kBAGTjR,MAAO,CACLG,MAAO,QAETwO,gBAAiBuC,EAAc,CAAEtC,QAAQ,GAAS,GAClDC,WAAY,CACVC,aAAcoC,GACZ,eAACnC,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZsP,YAAa,MAGjBlC,SAAS,KACT/I,KAAK,QAPP,SAQE,eAAC,KAAD,mBApFQ,GACE9B,aADF,GAUnBC,YAAcC,EAVK,K,wCCEf5D,iBARA,iBAAO,CACpBC,KAAM,CACJP,MAAO,OACP4I,QAAS,YACTsI,OAAQ,WAIsB,CAAEC,WAAW,GAAhC7Q,EAAA,kKAIX,WACE,MAOIQ,KAAKJ,MANE0Q,EADX,EACEC,QACAlC,EAFF,EAEEA,MACWnL,EAHb,EAGEd,UACAoO,EAJF,EAIEA,QACAC,EALF,EAKEA,OACAC,EANF,EAMEA,aAGF,OACE,eAACxN,EAAD,CACEpC,UAAWwP,EAAE7Q,KACb+Q,QAASA,EACTC,OAAQA,EACRnD,SAAUoD,EACVvD,YAAY,GACZpO,MAAO,CACL4R,KAAM,CACJ/H,SAAU,OACVgI,WAAYvC,EAAMwC,WAAWD,WAC7B1O,MAAO,kBAzBN,GACC4O,iBADD,GAEJC,YAAc,cAFV,KCHApR,kBAAe,4MAE1BE,MAAQ,CACNmR,SAAS,EACTC,OAAO,EACPhN,OAAO,GALiB,+DAQ1B,SAA0BmI,GACpBA,EAAU8E,cAAgBlR,KAAKJ,MAAMsR,aACvClR,KAAKW,SAAS,CAAEsD,MAAO,CAAEkN,QAAS/E,EAAU8E,iBAVtB,oBAc1B,WAAU,IAAD,OACP,EACElR,KAAKJ,MADCwC,EAAR,EAAQA,UAAW8K,EAAnB,EAAmBA,MAAOkE,EAA1B,EAA0BA,YAAaC,EAAvC,EAAuCA,SAAUC,EAAjD,EAAiDA,cAAe7Q,EAAhE,EAAgEA,EAEhE,EAAkCT,KAAKH,MAA/BoE,EAAR,EAAQA,MAAO+M,EAAf,EAAeA,QAASC,EAAxB,EAAwBA,MAExB,OACE,+BACE,gBAACM,GAAA,EAAD,CACEnK,QAAQ,WACRoK,WAAS,EACTzS,MAAO,CACL0O,aAAc6D,EAAgB,EAAI,QAJtC,UAOE,eAACG,GAAA,EAAD,CACET,QAASA,EACTrD,OAAQqD,IAAYC,EACpBhN,QAASA,EAHX,SAKGiJ,IAEH,eAACwE,GAAA,EAAD,2BACOV,IAAYC,EAAQ,CAAE/D,SAAU,IADvC,IAEEyE,SAAO,EACPH,WAAS,EACTI,eAAgBC,GAChBrB,QAAS,kBAAM,EAAK7P,SAAS,CAAEqQ,SAAS,KACxCP,OAAQ,kBAAM,EAAK9P,SAAS,CAAEqQ,SAAS,KACvCc,WAAY,CACV1P,YACAsO,aAAc,YAAiC,IAA9BzM,EAA6B,EAA7BA,MAAOgN,EAAsB,EAAtBA,MAAOc,EAAe,EAAfA,SAC7B,EAAKpR,SAAS,CACZsD,MAAOgN,EACH,IAAIlT,MAAM0C,EAAV,mDACAwD,GAAS,IAAIlG,MAAM0C,EAAEwD,EAAMkN,QAAQvE,QAAQ,IAAK,MACpDqE,UAEFG,EAAYW,GACZV,EAASpN,KAGblF,MAAO,CACLE,OAAQ,OACR6I,QAAS,aAEX7D,QAASA,KAEX,eAAC+N,GAAA,EAAD,CAAgB/N,QAASA,EAAzB,SACGA,EAAQA,EAAMkN,QAAU,eA9DT,GACOjO,cCGtBvD,kBACb0D,yBAAY,kNAERxD,MAAQ,CACNoS,gBAAgB,EAChBC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,UAAU,EACVC,SAAU,KACV9O,SAAS,GAVH,+DAeR,SAA0B2I,GACpBA,EAAUpJ,OAAShD,KAAKJ,MAAMoD,MAAQoJ,EAAUpJ,MAClDhD,KAAKW,SAAS,CACZ8C,SAAS,EACTwO,gBAAgB,EAChBC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,UAAU,MAxBR,oBA6BR,WAAU,IAAD,OACP,EAA6CtS,KAAKJ,MAA1CoD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOM,EAArB,EAAqBA,OAAQiP,EAA7B,EAA6BA,SAAU/R,EAAvC,EAAuCA,EACvC,EASIT,KAAKH,MARPoS,EADF,EACEA,eACAC,EAFF,EAEEA,eACAC,EAHF,EAGEA,YACAjB,EAJF,EAIEA,YACAkB,EALF,EAKEA,YACAC,EANF,EAMEA,YACAC,EAPF,EAOEA,SACA7O,EARF,EAQEA,QAGIgP,EAAY,yCAAG,uBAAAhD,EAAA,sDACnB,EAAK9O,SAAS,CAAE8C,SAAS,IAEzB,EAAKgJ,QAAQpI,SACVqO,uBACA1O,MAAK,SAAC2O,GAAD,OACJpP,EACGqP,gBAAgBD,EAAQH,EAASK,WAAW,eAC5C7O,MAAK,YAA6B,IAA1BC,EAAyB,EAAzBA,MAAO6O,EAAkB,EAAlBA,YACd,GAAI7O,EAQF,MAPA,EAAKtD,SAAS,CACZuQ,YACiB,kBAAfjN,EAAMjG,KACFyC,EADJ,kDAEIA,EAFJ,mCAKE,IAAI1C,MAAM,SAEhB,EAAK0O,QAAQpI,SAAS0O,oBAAoB,CACxCC,oBAAqBF,EAAYG,uBAK1CjP,KAAKf,GACLsB,SAAQ,kBAAM,EAAK5D,SAAS,CAAE8C,SAAS,OACvCyP,OAAM,eA3BU,2CAAH,qDA8BlB,OACE,gBAAC,gBAAD,CACEpM,MAAOrG,EAAF,mDACLuC,KAAMA,EACNC,MAAOA,EACPoJ,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBsJ,gBAAiB9L,EAAF,mCACf+L,wBAAyBiG,EACzB9F,yBACGsF,IACAC,IACAC,GACDC,GACAC,GACAC,IACCE,EAASK,WAAW,eACrBpP,EAEFqJ,uBAAwBrJ,EAlB1B,UAoBE,eAAC,GAAD,CACEyJ,MAAOzM,EAAC,kCAAW,KACnB2B,UAAW+Q,qBACX/B,YAAa,SAACa,GAAD,OACX,EAAKtR,SAAS,CAAEsR,oBAElBZ,SAAU,SAACe,GAAD,OAAiB,EAAKzR,SAAS,CAAEyR,iBAC3ClB,YAAaA,IAEf,eAAC,GAAD,CACEhE,MAAOzM,EAAC,uCAAgB,KACxB2B,UAAWgR,qBACXhC,YAAa,SAACc,GAAD,OACX,EAAKvR,SAAS,CAAEuR,oBAElBb,SAAU,SAACgB,GAAD,OAAiB,EAAK1R,SAAS,CAAE0R,mBAE7C,eAAC,GAAD,CACEnF,MAAOzM,EAAC,+BAAQ,KAChB2B,UAAWiR,kBACXjC,YAAa,SAACe,GAAD,OAAiB,EAAKxR,SAAS,CAAEwR,iBAC9Cd,SAAU,SAACiB,GAAD,OAAc,EAAK3R,SAAS,CAAE2R,cACxChB,eAAa,WAnHb,GACsBpO,aADtB,GAaDC,YAAcC,EAbb,M,UCJCzD,mBAAkB,YAA6B,IAA1B2T,EAAyB,EAAzBA,QAAShQ,EAAgB,EAAhBA,OAAQ7C,EAAQ,EAARA,EACnD,EAAkD+C,oBAAS,GAA3D,mBAAO+P,EAAP,KAA0BC,EAA1B,KACMC,EAAoB,kBAAMD,GAAqB,IAC/CE,EAAqB,kBAAMF,GAAqB,IAEtD,OACE,uCACE,gBAAC9O,GAAA,EAAD,CAAUC,GAAI2O,EAAd,UACE,eAACzO,GAAA,EAAD,CACEC,SAAS,OACTM,MAAM,EACNL,OACEzB,EACE,eAAC4B,GAAA,EAAD,CACEhD,MAAM,UACNW,QAAS4Q,EACTzO,KAAK,QAHP,SAKE,eAAC2O,GAAA,EAAD,UACE,sBACE5U,MAAO,CACLG,MAAO,OACPD,OAAQ,QAEV2U,QAAQ,YALV,SAOE,uBACEC,KAAK,eACLC,EAAE,44BAMV,eAAC3O,GAAA,EAAD,CAAQjD,MAAM,UAAUW,QAAS4Q,EAAjC,SACGhT,EADH,qCAKJ1B,MAAO,CACLgC,QAAS,OACTmG,WAAY,UAjChB,SAoCGzG,EApCH,kEAsCA,sBAAK1B,MAAO,CAAEE,OAAQ,aAExB,gBAAC,gBAAD,CACE6H,MAAOrG,EAAF,qDACLuC,KAAMuQ,EACNtQ,MAAOyQ,EACPrH,WAAY5L,EAAF,iCACV6L,mBAAoBoH,EACpBnH,gBAAiB9L,EAAF,mCACf+L,wBAAyB,WACvBkH,KAEFK,qBAAsB,CACpB3R,UAAW,IACX4R,KACE,kCACAvT,EADA,uDAEA,SACAA,EAHA,6GAIA,KAjBN,UAoBGA,EApBH,sFAoB8D,wBAC5D,wBACCA,EAAC,6IACA,aCvEKd,mBAAe,wDAE1B,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IAiBRqU,WAlBmB,wBAkBN,uBAAAxE,EAAA,6DACX,EAAK9O,SAAS,CAAE8C,SAAS,IADd,SAGL,EAAKgJ,QAAQpI,SAChBqI,WAAW,CACVwH,UAAW,EAAKrU,MAAMqU,WAAa,OAEpClQ,KAAK,EAAKpE,MAAMqD,OAChBsB,SAAQ,kBAAM,EAAK5D,SAAS,CAAE8C,SAAS,OAR/B,2CAfX,EAAK5D,MAAQ,CACXqU,UAAWtU,EAAM4B,KAAK0S,WAAa,IAJpB,EAFO,6DAY1B,SAA0B9H,GACpBA,EAAUpJ,OAAShD,KAAKJ,MAAMoD,MAAQoJ,EAAUpJ,MAClDhD,KAAKW,SAAS,CACZuT,UAAW9H,EAAU5K,KAAK0S,WAAa,OAfnB,oBA+B1B,WAAU,IAAD,OACP,EAA2BlU,KAAKJ,MAAxBoD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOxC,EAArB,EAAqBA,EACrB,EAA+BT,KAAKH,MAA5B4D,EAAR,EAAQA,QAASyQ,EAAjB,EAAiBA,UAEjB,OACE,eAAC,gBAAD,CACEpN,MAAOrG,EAAF,iDACLuC,KAAMA,EACNC,MAAOA,EACPoJ,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBsJ,gBAAiB9L,EAAF,mCACf+L,wBAAyBxM,KAAKiU,WAC9BtH,yBACGuH,EAAUtH,QAAQ,MAAO,IAAIC,QAC9BqH,EAAUrH,QAAU,KACpBpJ,EAEFqJ,uBAAwBrJ,EAb1B,SAeE,eAACuJ,GAAA,EAAD,CACEtP,GAAG,aACHwP,MAAOzM,EAAF,sCACL2M,MAAO8G,EACP9M,QAAQ,WACRnD,MAAOiQ,EAAUrH,QAAU,IAC3BQ,WAAY6G,EAAUrH,QAAU,IAAMpM,EAA1B,qCAAyC,IACrD6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZuT,UAAW3G,EAAMC,OAAOJ,SAG5B8C,WAAY,SAAC3C,GACO,UAAdA,EAAM4C,KACR,EAAK8D,cAGTlV,MAAO,CACLG,MAAO,QAETwO,gBAAiBwG,EAAY,CAAEvG,QAAQ,GAAS,GAChDC,WAAY,CACVC,aAAcqG,GACZ,eAACpG,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZuT,UAAW,MAGfnG,SAAS,KACT/I,KAAK,QAPP,SAQE,eAAC,KAAD,iBAnFU,GACE9B,aADF,GAUnBC,YAAcC,EAVK,KC8B9B,GAKI5E,46BAJ+BQ,GADnC,GACEoH,gCACyCC,GAF3C,GAEEC,wCACuBqB,GAHzB,GAGEC,sBACuBL,GAJzB,GAIEC,sBAGa7H,mBAAe,kNAE1BE,MAAQ,CACNsU,WAAW,EACXC,sBAAsB,EACtBC,mBAAmB,EACnBC,KAAM,GACNC,MAAO,GACPC,QAAS,KACTjC,SAAU,KACV/E,OAAQ,KACRiH,aAAa,EACbC,gBAAgB,EAChBC,aAAa,EACbC,SAAS,EACTC,gBAAgB,EAChBpR,SAAS,EACTvE,MAAO,GAjBiB,EAsB1BsH,iBAAmB,WACb,EAAK3G,MAAMX,QAAUwD,OAAOgE,YAC9B,EAAK/F,SAAS,CAAEzB,MAAOwD,OAAOgE,cAxBR,uDA4B1B,WACE1G,KAAKwG,mBACL9D,OAAOiE,iBAAiB,SAAUC,mBAAS5G,KAAKwG,qBA9BxB,kCAiC1B,WACE9D,OAAOmE,oBAAoB,SAAUD,mBAAS5G,KAAKwG,qBAlC3B,oBAqC1B,WAAU,IAAD,SACP,EAAiCxG,KAAKJ,MAA9B0D,EAAR,EAAQA,OAAQlD,EAAhB,EAAgBA,UAAWK,EAA3B,EAA2BA,EAC3B,EAUIT,KAAKH,MATP0S,EADF,EACEA,SACA/E,EAFF,EAEEA,OACAiH,EAHF,EAGEA,YACAC,EAJF,EAIEA,eACAC,EALF,EAKEA,YACAC,EANF,EAMEA,QACAC,EAPF,EAOEA,eACApR,EARF,EAQEA,QACAvE,EATF,EASEA,MAEI4V,EAAY,CAAE7V,OAAQ,QAEtB8V,EAAoB3U,EAAUqB,KACD,aAA/BrB,EAAUqB,KAAKuT,aAC0B,IAAzC5U,EAAUqB,KAAKwT,gBAAgBV,MAC7BnU,EAAUqB,KACRrB,EAAUqB,KAAKwT,gBAAgBV,MAAQ,IACvC,GACF,EACF,KACEC,EAAUpU,EAAUqB,KAAOrB,EAAUqB,KAAK+S,QAAU,IAAM,KAC1DU,EAAMV,EAAUO,EAAoBP,EAAU,KAC9CW,EAAQD,EAAMH,EAAoBG,EAAMH,EAExCK,EAAWhV,EAAUqB,KACvB4T,gBAAcrT,SAAS5B,EAAUqB,KAAK0K,2BACpC,SACAmJ,iBAAetT,SAAS5B,EAAUqB,KAAK0K,2BACvC,OACA,IACF,GAEEoJ,EAAiB,CACrBC,aAAc,WACdC,SAAU,SACVC,WAAY,UAGRC,EACJvV,EAAUqB,MAAoB,OAAZ+S,QAAgCoB,IAAZpB,EAElCqB,EAAc,SAACtB,GAAD,OAClBA,EAAMnM,WAAWwE,QAAQ,wBAAyB,MAEpD,OACE,uCACE,uBACE7N,MAAO,CACL+I,QAAS,OACT5I,MAAO,oBACP4W,UAAW,oBACX9W,mBACAkD,MAAOmE,GACPqC,SAAU,SACVxH,OAAQ,QAEVJ,UAAU,gBAVZ,UAYE,eAACyI,GAAD,CAAcjG,OAAQA,EAAQ9B,KAAMpB,EAAUqB,OAC7CrB,EAAU6D,MACT,eAAC,cAAD,CACE4D,QAAS,WACPzH,EAAUyH,WAEZ5D,MAAO7D,EAAU6D,QAGnB,uCACE,eAACkD,GAAA,EAAD,CAAYC,QAAQ,KAAKrI,MAAO,CAAE+D,cAAe,QAAjD,SACGrC,EADH,6CAGA,gBAACiE,GAAA,EAAD,CACEC,GACEvE,EAAUqB,MACqB,UAA/BrB,EAAUqB,KAAKuT,aACkB,UAAjC5U,EAAUqB,KAAKmD,eACfxE,EAAUqB,KAAKsU,iBACf3V,EAAUqB,KAAKuU,gBACf5V,EAAUqB,KAAKwU,iBACf7V,EAAUqB,KAAKiK,cACftL,EAAUqB,KAAKoK,aACfzL,EAAUqB,KAAKsK,mBACf3L,EAAUqB,KAAKwK,cACf7L,EAAUqB,KAAK0K,2BACf+J,KACGC,IAAI/V,EAAUqB,KAAK2U,iBACnBC,KAAKH,KAAOC,MAAO,SAAW,IACjCD,KACGC,IAAI/V,EAAUqB,KAAK2U,iBACnBC,KAAKH,KAAOC,MAAO,SAAW,GACX,IAAtBpB,EAnBJ,UAsBE,eAAClQ,GAAA,EAAD,CACEC,SAAS,OACTM,KACE,eAAC,KAAD,CACErG,MAAO,CACLmC,OAAQ,mBACRgB,MAAOqF,MANf,SAWGnH,EAAUqB,OAMD,IALPyU,KACEC,MACAE,KACCH,KAAOC,IAAI/V,EAAUqB,KAAK2U,iBAC1B,QAEF3V,EAND,sDAQC,eAAC,KAAD,CACE6V,SAAO,EACPC,OAAQ,SAACC,GAAD,OAAU/V,EAAC,iDAA0B+V,GAF/C,SAIGN,KAAOC,IAAI/V,EAAUqB,KAAK2U,sBAInC,sBAAKrX,MAAO,CAAEE,OAAQ,aAExB,eAAC+H,GAAA,EAAD,CACEjI,MAAO,CACLC,oBAEFiI,UAAW,EAJb,SAME,gBAACwP,GAAA,EAAD,CACE3V,UAAU,gBACV/B,MAAO,CAAE2X,YAAa,SAFxB,UAIE,gBAACC,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CACE7X,MAAK,2BACA+V,GADA,IAEH5V,MAAOoE,EAAS,MAAQ,MACxBgE,WAAY,SAJhB,SAOGlH,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACE/T,EAHD,uCAKC,eAACoW,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CAAW7X,MAAOwW,EAAlB,SACGnV,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACEpU,EAAUqB,KAAKsU,gBACb7W,EAAQ,IACN,8EAAoBkB,EAAUqB,KAAKsU,gBAEnC,4BAAU3V,EAAUqB,KAAKsU,gBAG3B,8BAAKtV,EAAL,sCAGF,eAACoW,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CACE7X,MAAO,CACLG,MAAO,OACPgC,OAAQ,OACR4G,QAAS,aAEXgP,MAAM,QANR,SAQG1W,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACEpU,EAAUqB,KAAKsU,gBACkB,UAA/B3V,EAAUqB,KAAKuT,aACiB,aAA/B5U,EAAUqB,KAAKuT,cACb5U,EAAUqB,KAAKwT,gBAAgBV,MAChC,eAACrP,GAAA,EAAD,CACErC,QAAS,SAAC0K,GAAD,OACP,EAAK5M,SAAS,CACZ4R,SAAUhF,EAAMwJ,cAChBvJ,OAAQ,gBAGZxI,KAAK,QAPP,SASE,eAAC,KAAD,MAGF,eAACE,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZ+T,gBAAgB,EAChBnC,SAAU,QAGdvN,KAAK,QAPP,SASE,eAAC,KAAD,MAIJ,eAACE,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CAAE+T,gBAAgB,KAElC1P,KAAK,QAJP,SAME,eAAC,KAAD,MAIJ,eAAC6R,GAAA,EAAD,CACEzP,QAAQ,WACRrI,MAAO,CACLG,MAAO,OACPD,OAAQ,OACRiC,OAAQ,eAMlB,gBAACyV,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CACE7X,MAAK,2BACA+V,GADA,IAEH5V,MAAOoE,EAAS,MAAQ,MACxBgE,WAAY,SAJhB,SAOGlH,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACE/T,EAHD,mCAKC,eAACoW,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CAAW7X,MAAOwW,EAAlB,SACGnV,EAAUqB,KACTrB,EAAUqB,KAAKiK,cACftL,EAAUqB,KAAKsK,mBACf3L,EAAUqB,KAAKoK,aACfzL,EAAUqB,KAAKwK,cACf7L,EAAUqB,KAAK0K,0BAJf,UAKK/L,EAAUqB,KAAKiK,aALpB,aAMItL,EAAUqB,KAAKoK,YANnB,aAQsB,OAAlB9B,GAAKS,SACD6E,YAAUC,MACR,SAACC,GAAD,OACEA,EAAQvR,OACRoC,EAAUqB,KAAK0K,6BACjB/B,GACFiF,YAAUC,MACR,SAACC,GAAD,OACEA,EAAQvR,OACRoC,EAAUqB,KAAK0K,6BACjB9B,IAGR,8BAAK5J,EAAL,sCAGF,eAACoW,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CACE7X,MAAO,CACLG,MAAO,OACPgC,OAAQ,OACR4G,QAAS,aAEXgP,MAAM,QANR,SAQG1W,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACEpU,EAAUqB,KAAKiK,cACftL,EAAUqB,KAAKsK,mBACf3L,EAAUqB,KAAKoK,aACfzL,EAAUqB,KAAKwK,cACf7L,EAAUqB,KAAK0K,0BACkB,UAA/B/L,EAAUqB,KAAKuT,aACiB,aAA/B5U,EAAUqB,KAAKuT,cACb5U,EAAUqB,KAAK8S,MAChB,eAACrP,GAAA,EAAD,CACErC,QAAS,SAAC0K,GAAD,OACP,EAAK5M,SAAS,CACZ4R,SAAUhF,EAAMwJ,cAChBvJ,OAAQ,aAGZxI,KAAK,QAPP,SASE,eAAC,KAAD,MAGF,eAACE,GAAA,EAAD,CACErC,QAAS,SAAC0K,GAAD,OACP,EAAK5M,SAAS,CACZ8T,aAAa,EACblC,SAAU,QAGdvN,KAAK,QAPP,SASE,eAAC,KAAD,MAIJ,eAACE,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CAAE8T,aAAa,KAE/BzP,KAAK,QAJP,SAME,eAAC,KAAD,MAIJ,eAAC6R,GAAA,EAAD,CACEzP,QAAQ,WACRrI,MAAO,CACLG,MAAO,OACPD,OAAQ,OACRiC,OAAQ,eAMlB,gBAACyV,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CACE7X,MAAK,2BACA+V,GADA,IAEH5V,MAAOoE,EAAS,MAAQ,MACxBgE,WAAY,SAJhB,SAOGlH,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACE/T,EAHD,mCAKC,eAACoW,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CAAW7X,MAAOwW,EAAlB,SACGnV,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACEpU,EAAUqB,KAAKwO,YAEf,eAAC4G,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CACE7X,MAAO,CACLG,MAAO,OACPgC,OAAQ,OACR4G,QAAS,aAEXgP,MAAM,QANR,SAQG1W,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACEpU,EAAUqB,KAAKwO,YACb,eAAC/K,GAAA,EAAD,CACErC,QAAS,SAAC0K,GAAD,OACP,EAAK5M,SAAS,CACZ4R,SAAUhF,EAAMwJ,cAChBvJ,OAAQ,aAGZxI,KAAK,QAPP,SASE,eAAC,KAAD,MAGF,eAACE,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CAAEgU,aAAa,KAE/B3P,KAAK,QAJP,SAME,eAAC,KAAD,MAIJ,eAAC6R,GAAA,EAAD,CACEzP,QAAQ,WACRrI,MAAO,CACLG,MAAO,OACPD,OAAQ,OACRiC,OAAQ,eAMlB,gBAACyV,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CACE7X,MAAK,2BACA+V,GADA,IAEH5V,MAAOoE,EAAS,MAAQ,MACxBgE,WAAY,SAJhB,SAOGlH,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACE/T,EAHD,sCAKC,eAACoW,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CAAW7X,MAAOwW,EAAlB,SACGnV,EAAUqB,MACC,OAAZ+S,QACYoB,IAAZpB,EACEpU,EAAUqB,KAAKyS,UAEf,eAAC2C,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CACE7X,MAAO,CACLG,MAAO,OACPgC,OAAQ,OACR4G,QAAS,aAEXgP,MAAM,QANR,SAQG1W,EAAUqB,KACTrB,EAAUqB,KAAKyS,WACH,OAAZM,QACYoB,IAAZpB,EACE,eAACtP,GAAA,EAAD,CACErC,QAAS,SAAC0K,GAAD,OACP,EAAK5M,SAAS,CACZ4R,SAAUhF,EAAMwJ,cAChBvJ,OAAQ,SAGZxI,KAAK,QAPP,SASE,eAAC,KAAD,MAGF,eAACE,GAAA,EAAD,CACErC,QAAS,kBAAM,EAAKlC,SAAS,CAAEiU,SAAS,KACxC5P,KAAK,QAFP,SAIE,eAAC,KAAD,MAIJ,eAAC6R,GAAA,EAAD,CACEzP,QAAQ,WACRrI,MAAO,CACLG,MAAO,OACPD,OAAQ,OACRiC,OAAQ,oBAQtB,eAACiG,GAAA,EAAD,CAAYC,QAAQ,KAAKrI,MAAO,CAAE+I,QAAS,iBAA3C,SACGrH,EADH,uCAGA,eAACuW,GAAD,CACE1D,QAAyC,WAAhC,UAAAlT,EAAUqB,YAAV,eAAgBuT,aACzB1R,OAAQA,IAEV,eAAC0D,GAAA,EAAD,CACEjI,MAAO,CACLC,oBAEFiI,UAAW,EAJb,SAME,gBAACwP,GAAA,EAAD,CAAO3V,UAAU,gBAAjB,UACE,gBAAC6V,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CACE7X,MAAK,2BACA+V,GADA,IAEH5V,MAAOyW,EAAgB,SAAW,oBAClCsB,WAAY,EACZnU,cAAe,IAEjBV,UAAU,KACV8U,MAAM,MACNC,QAAS,EATX,SAWGxB,EACC,SACAvV,EAAUqB,KAAKuT,YAAY,GAC3B5U,EAAUqB,KAAKuT,YAAYtK,MAAM,GAAGqF,cAEpC,eAAC8G,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CACEE,MAAM,QACN/X,MAAK,2BACA+V,GADA,IAEH5V,MAAOyW,EAAgB,SAAW,SAJtC,SAOGA,EACCP,EAAWS,EAAYd,EAAkBqC,QAAQ,IAEjD,eAACP,GAAA,EAAD,CAAUzP,QAAQ,cAIxB,gBAACuP,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CAAW7X,MAAO+V,EAAWqC,QAAS,EAAtC,SACGxB,EACClV,EAAC,+BAAD,YAAcL,EAAUqB,KAAK+S,QAA7B,MAEA,eAACqC,GAAA,EAAD,CAAUzP,QAAQ,WAGtB,eAACwP,GAAA,EAAD,CAAWE,MAAM,QAAjB,SACGnB,EACCP,EAAWS,EAAYX,EAAIkC,QAAQ,IAEnC,eAACP,GAAA,EAAD,CAAUzP,QAAQ,cAIxB,gBAACuP,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CACE7X,MAAK,2BAAO+V,GAAP,IAAkBxN,WAAY,SACnC6P,QAAS,EAFX,SAIGxB,EAAgBlV,EAAH,iCAAc,eAACoW,GAAA,EAAD,CAAUzP,QAAQ,WAEhD,eAACwP,GAAA,EAAD,CAAWE,MAAM,QAAQ/X,MAAO,CAAEuI,WAAY,QAA9C,SACGqO,EACCP,EAAWS,EAAYV,EAAMiC,QAAQ,IAErC,eAACP,GAAA,EAAD,CAAUzP,QAAQ,yBASlC,gBAACiQ,GAAA,EAAD,CACE3Z,GAAG,0BACH6U,SAAUA,EACVvP,KAAMuP,EACN+E,QAAS,kBAAM,EAAK3W,SAAS,CAAE4R,SAAU,QACzCgF,aAAc,CACZC,SAAU,MACVC,WAAY,SAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,SAEdE,WAAY,CAAE5Y,MAAO,CAAEC,qBAbzB,UAeE,gBAAC6Q,GAAA,EAAD,CACEhN,QAAS,kBACP,EAAKlC,SACQ,eAAX6M,EACI,CAAEkH,gBAAgB,EAAMnC,SAAU,MACvB,YAAX/E,EACA,CAAEiH,aAAa,EAAMlC,SAAU,MACpB,YAAX/E,EACA,CAAEmH,aAAa,EAAMpC,SAAU,MAC/B,CAAEqC,SAAS,EAAMrC,SAAU,QATrC,UAaE,eAACjQ,EAAA,EAAD,UACE,eAAC,KAAD,MAEF,eAACE,EAAA,EAAD,CACEC,QAAShC,EAAF,gCACPmX,mBAAiB,EACjB7Y,MAAO,CAAEmD,MAAOmE,SAGpB,gBAACwJ,GAAA,EAAD,CACEhN,QAAS,kBACP,EAAKlC,SAAS,CAAEkU,gBAAgB,EAAMtC,SAAU,QAFpD,UAKE,eAACjQ,EAAA,EAAD,UACE,eAAC,KAAD,CAAqBvD,MAAO,CAAEmD,MAAOyF,QAEvC,eAACnF,EAAA,EAAD,CACEC,QAAShC,EAAF,kCACPmX,mBAAiB,EACjB7Y,MAAO,CAAEmD,MAAOyF,YAItB,eAAC,gBAAD,CACEb,MAAOrG,EAEDA,EADO,eAAX+M,EAAA,kDAEe,YAAXA,EAAA,8CAEW,YAAXA,EAAA,sGAINxK,KAAM6R,EACN5R,MAAO,kBACL,EAAKtC,SAAS,CACZkU,gBAAgB,KAGpBxI,WAAY5L,EAAF,iCACV6L,mBAAoB,kBAClB,EAAK3L,SAAS,CACZkU,gBAAgB,KAGpBgD,sBAAoB,EACpBtL,gBAAiB9L,EAAF,kCACfqM,uBAAwBrJ,EACxB+I,wBAAuB,wBAAE,uBAAAiD,EAAA,kEAErB,EAAK9O,SAAS,CAAE8C,SAAS,IAEV,eAAX+J,EAJiB,gCAKb,EAAKf,QAAQpI,SAAS0O,oBAAoB,CAC9CC,oBAAqB,OANJ,UAUN,YAAXxF,EAViB,gCAWb,EAAKf,QAAQpI,SAASqI,WAAW,CACrChB,aAAc,KACdE,aAAc,KACdC,YAAa,KACbE,kBAAmB,KACnBE,aAAc,KACdE,0BAA2B,OAjBV,UAqBN,YAAXqB,EArBiB,kCAsBb,EAAKf,QAAQpI,SAASqI,WAAW,CAAEuD,YAAa,OAtBnC,WAyBN,QAAXzC,EAzBiB,kCA0Bb,EAAKf,QAAQpI,SAASqI,WAAW,CAAEwH,UAAW,OA1BjC,QA6BrB,EAAKvT,SAAS,CAAEkU,gBAAgB,IA7BX,yBA+BrB,EAAKlU,SAAS,CAAE8C,SAAS,IA/BJ,2EAzB3B,SA4DGhD,EAEKA,EADO,eAAX+M,EAAA,8FAEe,YAAXA,EAAA,0FAEW,YAAXA,EAAA,gMAKPpN,EAAUqB,MACT,uCACE,eAACqW,GAAD,CACE9U,KAAMyR,EACNxR,MAAO,kBAAM,EAAKtC,SAAS,CAAE8T,aAAa,KAC1CjT,KAAMpB,EAAUqB,OAElB,eAACsW,GAAD,CACE/U,KAAM0R,EACNzR,MAAO,kBAAM,EAAKtC,SAAS,CAAE+T,gBAAgB,KAC7ClT,KAAMpB,EAAUqB,OAElB,eAACuW,GAAD,CACEhV,KAAM2R,EACN1R,MAAO,kBAAM,EAAKtC,SAAS,CAAEgU,aAAa,KAC1CnT,KAAMpB,EAAUqB,OAElB,eAACwW,GAAD,CACEjV,KAAM4R,EACN3R,MAAO,kBAAM,EAAKtC,SAAS,CAAEiU,SAAS,KACtCpT,KAAMpB,EAAUqB,iBAvuBF,GACLyB,aADK,GAoBnBC,YAAcC,EApBK,K,ySC7B9B,GAGI5E,46BAFc0Z,GADlB,GACEC,eACyC9R,GAF3C,GAEEC,wCAGI8R,GAAQ,SAACC,GAAD,OAAQ,IAAIC,SAAQ,SAACna,GAAD,OAAaoa,WAAWpa,EAASka,OAEpD1Y,mBAAkB,YAAgC,IAA7BqD,EAA4B,EAA5BA,KAAMC,EAAsB,EAAtBA,MAAOuV,EAAe,EAAfA,MAAO/X,EAAQ,EAARA,EACtD,EAAsC+C,oBAAS,GAA/C,mBAAOiV,EAAP,KAAoBC,EAApB,KACA,EAAgClV,oBAAS,GAAzC,mBAAOmV,EAAP,KAAiBC,EAAjB,KACA,EAA8BpV,oBAAS,GAAvC,mBAAOqV,EAAP,KAAgBC,EAAhB,KACA,EAAsCtV,oBAAS,GAA/C,mBAAOuV,EAAP,KAAoBC,EAApB,KACA,EAAwCxV,oBAAS,GAAjD,mBAAOyV,EAAP,KAAqBC,EAArB,KACA,EAAsC1V,oBAAS,GAA/C,mBAAO2V,EAAP,KAAoBC,EAApB,KAEMzV,EAASC,qBAAWR,GAE1B,OACE,gBAAC,gBAAD,CACE0D,MAAOrG,EAAF,6CACLuC,KAAMA,EACNC,MAAOA,EACPoJ,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBoW,YAAU,EACVC,qBAAmB,EAPrB,UASE,uBAAKva,MAAO,CAAE+I,QAAS,UAAvB,UACE,+BAAIrH,EAAJ,sCACC+X,EAAM9a,GACP,wBACA,+BAAI+C,EAAJ,6CACC+X,EAAMe,SACP,wBACA,+BAAI9Y,EAAJ,wCACC+X,EAAMtK,KACP,wBACCsK,EAAMgB,UACL,uCACE,+BAAI/Y,EAAJ,4CACC+X,EAAMgB,SACP,2BAGJ,+BAAI/Y,EAAJ,2CACA,eAAC,KAAD,CAAQ6V,SAAO,EAAf,SACGJ,KAAOC,IAAIqC,EAAMiB,UAAUC,MAAM,KAAK,GAAI,wBAE7C,wBACA,6BAAIjZ,EAAC,qCAAc,OAClB+X,EAAMmB,OACLlZ,EADD,+BAGC,eAAC,KAAD,CAAQ6V,SAAO,EAAf,SACGJ,KAAOC,IAAIqC,EAAMoB,UAAUF,MAAM,KAAK,GAAI,wBAG/C,2BAEF,gBAAC/X,EAAA,EAAD,CAAM5C,MAAO,CAAEkY,WAAY,QAA3B,UACE,gBAACvX,EAAA,EAAD,CACEuC,QAAM,EACNY,QAAO,wBAAE,uBAAA4M,EAAA,6DACPoK,KAAcrB,EAAMsB,OAGpBhB,GAAW,GAEXF,GAAY,GACZF,GAAe,GAPR,SAQDN,GAAM,KARL,OASPM,GAAe,GACfE,GAAY,GAVL,2CAFX,UAeE,gBAACtW,EAAA,EAAD,WACGmW,GACC,eAACsB,GAAA,EAAD,CAAMpV,GAAI8T,EAAV,SACE,eAAC9E,GAAA,EAAD,CAAS5U,MAAO,CAAEmC,OAAQ,SAA1B,SACE,sBACEnC,MAAO,CACLG,MAAO,OACPD,OAAQ,OACRiD,MAAOmE,IAETuN,QAAQ,YANV,SAQE,uBAAME,EAAE,kEAKf6E,GACC,eAACoB,GAAA,EAAD,CACEpV,GAAIgU,EACJqB,QACEnB,EAAU,CAAEoB,MAAO,IAAKC,KAAM,KAAQ,CAAED,MAAO,EAAGC,KAAM,GAH5D,SAME,eAACvG,GAAA,EAAD,CAAS5U,MAAO,CAAEmC,OAAQ,SAA1B,SACE,sBACEnC,MAAO,CACLG,MAAO,OACPD,OAAQ,OACRiD,MAAOmE,IAETuN,QAAQ,YANV,SAQE,uBAAME,EAAE,wIAMlB,eAACtR,EAAA,EAAD,CACEzD,MAAO,CACLqR,OAAQ,WAFZ,SAKG3P,EALH,2CAQF,gBAACf,EAAA,EAAD,CACEuC,QAAM,EACNY,QAAO,wBAAE,uBAAA4M,EAAA,6DAEP2J,GAAe,GACfF,GAAgB,GAChBF,GAAe,GAJR,KAMDmB,gBANC,KAOLjC,GAAU,MAAQM,EAAMtK,KAAO,QAP1B,KAQCkM,WARD,SASWzW,EAAO0W,MAAM7B,MAAMA,EAAM9a,IAAI4c,OATxC,0BASgDC,OAThD,MASHC,MATG,KAUHC,SAAU,SACVC,OAAQ,QAXL,0FAeP1B,GAAe,GACfE,GAAgB,GAhBT,4CAFX,UAqBE,gBAAC5W,EAAA,EAAD,WACGyW,GACC,eAAC4B,GAAA,EAAD,CACE3V,KAAM,GACN9C,MAAM,UACNnD,MAAO,CACLK,SAAU,WACVC,IAAK,MACLub,WAAY,GACZ7X,WAAY,SAIjBkW,GACC,eAACc,GAAA,EAAD,CACEpV,GAAIsU,EACJe,QACEb,EACI,CAAEc,MAAO,IAAKC,KAAM,KACpB,CAAED,MAAO,EAAGC,KAAM,GAL1B,SAQE,eAACvG,GAAA,EAAD,CAAS5U,MAAO,CAAEmC,OAAQ,SAA1B,SACE,uBACEnC,MAAO,CACLG,MAAO,OACPD,OAAQ,OACRiD,MAAOmE,IAETuN,QAAQ,YANV,UAQE,6BACE,uBAAMC,KAAK,OAAO5U,OAAO,KAAKC,MAAM,SAEtC,6BACE,uBAAM4U,EAAE,4IAOpB,eAACtR,EAAA,EAAD,CACEzD,MAAO,CACLqR,OAAQ,WAFZ,SAKG3P,EALH,0DChMKd,mBAAe,wDAE1B,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IAcRib,YAAc,WACZ,IAAQpa,EAAM,EAAKb,MAAXa,EACR,EAA2B,EAAKZ,MAAxBqO,EAAR,EAAQA,KAAMsL,EAAd,EAAcA,SAGZtL,EAAKtB,QAAQ,MAAO,IAAIC,QACxBqB,EAAKrB,OAAS,KACd2M,EAAS3M,OAAS,MAElB,EAAKlM,SAAS,CAAEma,oBAAoB,IAEpC,EAAKrO,QAAQpI,SACVwW,YAAY,CACX3M,OACAsL,SAAUA,EAASe,QAAU,OAE9BvW,MAAK,YAAa,IAAVtG,EAAS,EAATA,GACP,EAAKkC,MAAMqD,QAEX,EAAKtC,SAAS,CAAEb,SAAU,cAAgBpC,OAE3CwV,OAAM,SAACjP,GAAD,MAEL,iGADAA,EAAMmE,WAEF,EAAKzH,SAAS,CACZoa,UAAWta,EAAF,yDAEX,EAAKE,SAAS,CAAEoa,UAAWta,EAAF,sCAE9B8D,SAAQ,kBAAM,EAAK5D,SAAS,CAAEma,oBAAoB,SA5CtC,EAgDnBE,UAAY,WACV,MAA2B,EAAKnb,MAAxBqO,EAAR,EAAQA,KAAMsL,EAAd,EAAcA,SAGZtL,EAAKtB,QAAQ,MAAO,IAAIC,QACxBqB,EAAKrB,OAAS,KACd2M,EAAS3M,OAAS,MAElB,EAAKlM,SAAS,CAAEma,oBAAoB,IAEpC,EAAKrO,QAAQpI,SACV4W,YAAY,CACXvd,GAAI,EAAKkC,MAAMsb,QACfhN,OACAsL,SAAUA,EAASe,QAAU,OAE9BvW,KAAK,EAAKpE,MAAMqD,OAChBsB,SAAQ,kBAAM,EAAK5D,SAAS,CAAEma,oBAAoB,SA9DvD,EAAKjb,MAAQ,CACXqO,KAAM,GACNiN,UAAW,GACXJ,UAAW,GACXvB,SAAU,GACV4B,cAAe,GACftb,SAAU,IATK,EAFO,6DAuE1B,SAA0BsM,GAEpBA,EAAUpJ,OAAShD,KAAKJ,MAAMoD,MAAQoJ,EAAUpJ,MAClDhD,KAAKW,SAAS,CACZuN,KAAM9B,EAAUiP,aAAe,GAC/BF,UAAW,GACXJ,UAAW,GACXvB,SAAUpN,EAAUkP,iBAAmB,GACvCF,cAAe,OA/EK,oBAoF1B,WAAU,IAAD,OACP,EAAiCpb,KAAKJ,MAA9BoD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOsY,EAArB,EAAqBA,KAAM9a,EAA3B,EAA2BA,EAC3B,EAOIT,KAAKH,MANPqO,EADF,EACEA,KACAiN,EAFF,EAEEA,UACAJ,EAHF,EAGEA,UACAvB,EAJF,EAIEA,SACA1Z,EALF,EAKEA,SACAgb,EANF,EAMEA,mBAGF,GAAIhb,EAAU,CACZ,IAAMY,EAAeZ,EAIrB,OAFAE,KAAKW,SAAS,CAAEb,SAAU,KAEnB,eAAC,IAAD,CAAUc,MAAI,EAACC,GAAIH,IAG5B,OACE,gBAAC,gBAAD,CACEsC,KAAMA,EACNC,MAAOA,EACP6D,MAAcrG,EAAP8a,EAAI,6EACXlP,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBsJ,gBAAwB9L,EAAP8a,EAAI,iEACrB/O,wBAAyB+O,EAAOvb,KAAKgb,UAAYhb,KAAK6a,YACtDlO,yBACGuB,EAAKtB,QAAQ,MAAO,IAAIC,QACzBqB,EAAKrB,QAAU,KACf2M,EAAS3M,QAAU,KACnBiO,EAEFhO,uBAAwBgO,EAd1B,UAgBE,eAAC9N,GAAA,EAAD,CACEtP,GAAG,aACHwP,MAAOzM,EAAF,gCACL2M,MAAOc,EACP9G,QAAQ,WACRnD,MAAOkX,GAAaJ,GAAa7M,EAAKrB,QAAU,IAChDQ,WACEa,EAAKrB,QAAU,IACXpM,EADJ,qCAEI0a,EACA1a,EADS,kDAETsa,GAEA,IAENzN,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZuN,KAAMX,EAAMC,OAAOJ,MACnB+N,UAAqD,KAA1C5N,EAAMC,OAAOJ,MAAMR,QAAQ,MAAO,IAC7CmO,UAAW,MAGf7K,WAAY,SAAC3C,GACO,UAAdA,EAAM4C,MACJoL,EAAM,EAAKP,YACV,EAAKH,gBAGd9b,MAAO,CACLG,MAAO,OACPuO,aAAc,QAEhBC,gBAAiBQ,EAAO,CAAEP,QAAQ,GAAS,GAC3CC,WAAY,CACVC,aAAcK,GACZ,eAACJ,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZuN,KAAM,GACNiN,WAAW,EACXJ,UAAW,MAGfhN,SAAS,KACT/I,KAAK,QATP,SAUE,eAAC,KAAD,SAKRiI,UAAQ,IAEV,eAACD,GAAA,EAAD,CACEtP,GAAG,WACHwP,MAAOzM,EAAF,oCACL2M,MAAOoM,EACPpS,QAAQ,WACRnD,MAAOuV,EAAS3M,QAAU,IAC1BQ,WAAYmM,EAAS3M,QAAU,IAAMpM,EAAzB,qCAAwC,IACpD6M,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CACZ6Y,SAAUjM,EAAMC,OAAOJ,SAG3B8C,WAAY,SAAC3C,GACO,UAAdA,EAAM4C,MACJoL,EAAM,EAAKP,YACV,EAAKH,gBAGd9b,MAAO,CACLG,MAAO,OACPuO,aAAc,QAEhBC,gBAAiB8L,EAAW,CAAE7L,QAAQ,GAAS,GAC/CC,WAAY,CACVC,aAAc2L,GACZ,eAAC1L,GAAA,EAAD,CAAgB1O,SAAS,MAAzB,SACE,eAAC8F,GAAA,EAAD,CACErC,QAAS,kBACP,EAAKlC,SAAS,CACZ6Y,SAAU,MAGdzL,SAAS,KACT/I,KAAK,QAPP,SAQE,eAAC,KAAD,kBA/MU,GACI9B,aADJ,GAenBC,YAAcC,EAfK,K,oBCCfzD,mBAAe,wDAE1B,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IAEDC,MAAQ,CACX2b,iBAAiB,EACjBC,OAAO,EACPC,oBAAoB,EACpB5b,SAAU,IAPK,EAFO,6DAe1B,SAA0BsM,GACpBA,EAAUpJ,OAAShD,KAAKJ,MAAMoD,MAAQoJ,EAAUpJ,MAClDhD,KAAKW,SAAS,CAAE8a,OAAO,MAjBD,oBAqB1B,WAAU,IAAD,OACP,EAAoCzb,KAAKJ,MAAjCoD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOiY,EAArB,EAAqBA,QAASza,EAA9B,EAA8BA,EAC9B,EAAgDT,KAAKH,MAA7C4b,EAAR,EAAQA,MAAOC,EAAf,EAAeA,mBAAoB5b,EAAnC,EAAmCA,SAEnC,GAAIA,EAAU,CACZ,IAAMY,EAAeZ,EAIrB,OAFAE,KAAKW,SAAS,CAAEb,SAAU,KAEnB,eAAC,IAAD,CAAUe,GAAIH,IAGvB,OACE,qCACE,gBAAC,gBAAD,CACEsC,KAAMA,EACNC,MAAOA,EACP6D,MAAOrG,EAAF,wCACL4L,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBsJ,gBAAiB9L,EAAF,kCACf+L,wBAAyB,WACvB,EAAK7L,SAAS,CAAE+a,oBAAoB,IAEpC,EAAKjP,QAAQpI,SACVsX,YAAY,CAAEje,GAAIwd,EAASO,UAC3BzX,MAAK,WACJf,OAEDsB,SAAQ,kBAAM,EAAK5D,SAAS,CAAE+a,oBAAoB,QAEvD5O,uBAAwB4O,EACxB/O,wBAAyB+O,EACzB7D,sBAAoB,EAnBtB,UAqBGpX,EAAC,+GACA,IACF,eAACkB,EAAA,EAAD,CACE5C,MAAO,CACL+I,QAAS,EACT8S,UAAW,QAHf,SAME,gBAAClb,EAAA,EAAD,CACEX,MAAO,CACL6b,UAAW,OACXnN,aAAc,OACdtL,YAAa,GAJjB,UAOE,eAACK,EAAA,EAAD,CAAcC,QAAShC,EAAF,yCACrB,eAACmb,GAAA,EAAD,CAAyB7c,MAAO,CAAE8c,MAAO,QAAzC,SACE,eAACC,GAAA,EAAD,CACEC,QAASN,EACTnO,SAAU,SAACC,GAAD,OACR,EAAK5M,SAAS,CAAE8a,MAAOlO,EAAMC,OAAOuO,6BA5E5B,GACI7Y,aADJ,GAanBC,YAAcC,EAbK,KCJfzD,mBAAe,wDAE1B,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IAEDC,MAAQ,CACXmc,iBAAiB,EACjBP,OAAO,EACPQ,oBAAoB,EACpBnc,SAAU,IAPK,EAFO,6DAe1B,SAA0BsM,GACpBA,EAAUpJ,OAAShD,KAAKJ,MAAMoD,MAAQoJ,EAAUpJ,MAClDhD,KAAKW,SAAS,CAAE8a,OAAO,MAjBD,oBAqB1B,WAAU,IAAD,OACP,EAAoCzb,KAAKJ,MAAjCoD,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOiY,EAArB,EAAqBA,QAASza,EAA9B,EAA8BA,EAC9B,EAAyCT,KAAKH,MAAtCoc,EAAR,EAAQA,mBAAoBnc,EAA5B,EAA4BA,SAE5B,GAAIA,EAAU,CACZ,IAAMY,EAAeZ,EAIrB,OAFAE,KAAKW,SAAS,CAAEb,SAAU,KAEnB,eAAC,IAAD,CAAUe,GAAIH,IAGvB,OACE,eAAC,gBAAD,CACEsC,KAAMA,EACNC,MAAOA,EACP6D,MAAOrG,EAAF,wCACL4L,WAAY5L,EAAF,iCACV6L,mBAAoBrJ,EACpBsJ,gBAAiB9L,EAAF,kCACf+L,wBAAyB,WACvB,EAAK7L,SAAS,CAAEsb,oBAAoB,IAEpC,EAAKxP,QAAQpI,SACV6X,YAAY,CAAExe,GAAIwd,IAClBlX,MAAK,WACJ,EAAKrD,SAAS,CACZqb,iBAAiB,EACjBlc,SACEqc,IAAeC,MAAM1Z,OAAOC,SAAS0Z,QAAQ3e,KAAOwd,EAChD,UACA,KAERjY,OAEDsB,SAAQ,kBAAM,EAAK5D,SAAS,CAAEsb,oBAAoB,QAEvDnP,uBAAwBmP,EACxBtP,wBAAyBsP,EACzBpE,sBAAoB,EA1BtB,SA4BGpX,EAAC,8EAAuD,UA9DrC,GACIyC,aADJ,GAanBC,YAAcC,EAbK,KC2B9B,GAKI5E,46BAJ4BG,GADhC,GACEC,6BACuB+I,GAFzB,GAEEC,sBACiC5I,GAHnC,GAGEoH,gCACyCC,GAJ3C,GAIEC,wCAGa3G,kBAAe,4MAE1BE,MAAQ,CACNyc,gBAAgB,EAChBxc,UAAU,EACVyc,eAAe,EACfC,eAAe,EACfhB,iBAAiB,EACjBQ,iBAAiB,EACjBS,YAAY,EACZC,UAAU,GAVc,EAa1BlW,iBAAmB,WACb9D,OAAOgE,WAAa,KACrB,EAAK7G,MAAMyc,gBAAkB,EAAK3b,SAAS,CAAE2b,gBAAgB,IAE9D,EAAKzc,MAAMyc,gBAAkB,EAAK3b,SAAS,CAAE2b,gBAAgB,KAjBvC,uDAqB1B,WACEtc,KAAKwG,mBACL9D,OAAOiE,iBAAiB,SAAUC,mBAAS5G,KAAKwG,qBAvBxB,kCA0B1B,WACE9D,OAAOmE,oBAAoB,SAAUD,mBAAS5G,KAAKwG,qBA3B3B,oBA8B1B,WAAU,IAAD,OACP,EAAkCxG,KAAKJ,MAA/B0D,EAAR,EAAQA,OAAQ5F,EAAhB,EAAgBA,GAAI4C,EAApB,EAAoBA,OAAQG,EAA5B,EAA4BA,EAC5B,EASIT,KAAKH,MARP4c,EADF,EACEA,WACAH,EAFF,EAEEA,eACAxc,EAHF,EAGEA,SACAyc,EAJF,EAIEA,cACAC,EALF,EAKEA,cACAhB,EANF,EAMEA,gBACAQ,EAPF,EAOEA,gBACAU,EARF,EAQEA,SAGF,GAAI5c,EAAU,CACZ,IAAMY,EAAeZ,EAIrB,OAFAE,KAAKW,SAAS,CAAEb,UAAU,IAEnB,eAAC,IAAD,CAAUe,GAAIH,IAGvB,OACE,gBAAC,SAAD,CACEhD,GAAIA,EACJif,OAAQ,CACN,OACA,WACA,eACA,oBACA,YACA,YACA,WACA,SAEFC,SAAU,SAAClf,GACLye,IAAeC,MAAM1Z,OAAOC,SAAS0Z,QAAQ3e,KAAOA,GACtD,EAAKiD,SAAS,CAAEb,SAAU,aAdhC,UAkBG,kBAAS0Y,EAAT,EAAG/W,KAAawC,EAAhB,EAAgBA,MAAhB,OACC,wCACIX,GACA,uCACE,uBACEvE,MAAO,CAAEE,OAAQ,OAAQ8B,QAAS,QAClCD,UAAU,gBAFZ,UAIE,eAACoE,GAAA,EAAD,CACEnG,MAAO,CAAEmC,OAAQ,OACjBkB,UAAWC,KACXxB,GAAG,UACHmE,KAAK,QAJP,SAME,eAAC,KAAD,MAEF,eAACmC,GAAA,EAAD,CACEC,QAAQ,KACRrI,MAAO,CACL2W,WAAY,SACZD,SAAU,SACVD,aAAc,WACdnO,WAAY,OACZnI,MAAO,sBAPX,gBAUGsZ,QAVH,IAUGA,OAVH,EAUGA,EAAOtK,OAEV,uBAAKnP,MAAO,CAAEmC,OAAQ,OAAtB,UACE,eAACgE,GAAA,EAAD,CACErC,QAAS,kBAAM,EAAKlC,SAAS,CAAE4b,eAAe,KAC9CM,UAAWrE,EACXxT,KAAK,QAHP,SAKE,eAAC,KAAD,MAEF,eAACE,GAAA,EAAD,CACErC,QAAS,kBAAM,EAAKlC,SAAS,CAAE6b,eAAe,KAC9CK,UAAWrE,EACXxT,KAAK,QAHP,SAKE,eAAC,KAAD,MAEF,eAACE,GAAA,EAAD,CACErC,QAAS,kBAAM,EAAKlC,SAAS,CAAE6a,iBAAiB,KAChDqB,WAAU,OAACrE,QAAD,IAACA,GAAD,UAACA,EAAOsE,aAAR,aAAC,EAAcC,OACzB/X,KAAK,QAHP,SAKE,eAAC,KAAD,MAEF,eAACE,GAAA,EAAD,CACErC,QAAS,kBAAM,EAAKlC,SAAS,CAAEqb,iBAAiB,KAChDa,UAAWrE,EACXxT,KAAK,QAHP,SAKE,eAAC,KAAD,YAIN,eAACgY,GAAA,EAAD,OAGH/Y,IAEG,yDADDA,EAAMkN,SAELlN,EAAMkN,QAAQ8L,WACZ,qCACI,eAAC,IAAD,CAAUpc,GAAG,YACvB,eAAC,qBAAD,CACEqc,UAAQ,EACRla,KAAMyZ,EACNnb,QAAS,SAACmb,GAAD,OAAgB,EAAK9b,SAAS,CAAE8b,gBACzCvB,QAASxd,EACT4C,OAAQA,EACR6c,kBAAiB,OAAE3E,QAAF,IAAEA,OAAF,EAAEA,EAAO2E,oBAE5B,sBACEpe,MAAO,CACLE,OAAQqE,EAAS,oBAAsB,qBAF3C,SAKE,eAAC,WAAD,CACE4Z,UAAQ,EACRhC,QAASxd,EACT6D,YAAa,SAACzB,GAAD,OACXA,GAAY,EAAKa,SAAS,CAAEb,cAE9BQ,OAAQA,EACRgD,OAAQA,MAGZ,eAACyW,GAAA,EAAD,CAAMpV,GAAI6T,IAAUlV,EAApB,SACE,gBAAC8Z,GAAA,EAAD,CACEva,QAAS,kBAAM,EAAKlC,SAAS,CAAE8b,YAAY,KAC3Cva,MAAM,YACNkF,QAASkV,EAAiB,WAAa,QACvCvd,MAAO,CACLK,SAAU,WACVyc,MAAO,OACPwB,OAAQ/Z,EACJ,2CACA,2CACJga,OAAQ,MAEV5f,GAAG,mBAZL,WAcQ,OAAL8a,QAAK,IAALA,OAAA,EAAAA,EAAO2E,mBACN,eAAC,KAAD,CACEpe,MAAOud,EAAiB,CAAErO,YAAa,OAAU,KAGnD,eAAC,KAAD,CACElP,MAAOud,EAAiB,CAAErO,YAAa,OAAU,KAGpDqO,GAAkB7b,EAAJ,8CAGlB6C,EACC,eAACia,EAAA,EAAD,CACEne,SAAS,WACT8C,MAAM,UACNnD,MAAO,CACLE,OAAQ,2CACR6D,cAAe,8BACf0a,UACE,4GAPN,SAUE,uBACEze,MAAO,CACLgC,QAAS,OACTmG,WAAY,SACZjI,OAAQ,QAJZ,UAOE,eAACiG,GAAA,EAAD,CACEnG,MAAO,CAAEmC,OAAQ,MAAOgB,MAAOvD,IAC/ByD,UAAWC,KACXxB,GAAG,UACHmE,KAAK,QAJP,SAME,eAAC,KAAD,MAEF,eAACmC,GAAA,EAAD,CACErG,UAAU,gBACVsG,QAAQ,KACRrI,MAAO,CACL2W,WAAY,SACZD,SAAU,SACVD,aAAc,WACdtW,MAAO,sBAPX,gBAUGsZ,QAVH,IAUGA,OAVH,EAUGA,EAAOtK,OAEV,eAAChJ,GAAA,EAAD,CACEnG,MAAO,CACLmD,MAAOvD,IAETkE,QAAS,kBAAM,EAAKlC,SAAS,CAAE8b,YAAY,KAC3CzX,KAAK,QALP,UAOQ,OAALwT,QAAK,IAALA,OAAA,EAAAA,EAAO2E,mBACN,eAAC,KAAD,IAEA,eAAC,KAAD,MAGJ,eAACjY,GAAA,EAAD,CACEnG,MAAO,CACLmD,MAAOmG,KAAU1J,IAAiB2J,UAC3B,OAALkQ,QAAK,IAALA,OAAA,EAAAA,EAAOtK,MAAO,EAAI,MAGtB2O,WAAU,OAACrE,QAAD,IAACA,OAAD,EAACA,EAAOtK,MAClBrL,QAAS,kBAAM,EAAKlC,SAAS,CAAE+b,UAAU,KACzC1X,KAAK,QARP,SAUE,eAAC,KAAD,WAKN,GAEDwT,GACC,uCACE,eAACiF,GAAD,CACEza,KAAMuZ,EACNtZ,MAAO,kBAAM,EAAKtC,SAAS,CAAE4b,eAAe,KAC5C/D,MAAOA,IAET,eAAC,GAAD,CACExV,KAAMwZ,EACNvZ,MAAO,kBAAM,EAAKtC,SAAS,CAAE6b,eAAe,KAC5CjB,MAAI,EACJL,QAAS1C,EAAM9a,GACf2d,YAAa7C,EAAMtK,KACnBoN,gBAAiB9C,EAAMgB,WAEzB,eAAC,GAAD,CACExW,KAAMwY,EACNvY,MAAO,kBAAM,EAAKtC,SAAS,CAAE6a,iBAAiB,KAC9CN,QAAS1C,EAAM9a,KAEjB,eAAC,GAAD,CACEsF,KAAMgZ,EACN/Y,MAAO,kBAAM,EAAKtC,SAAS,CAAEqb,iBAAiB,KAC9Cd,QAAS1C,EAAM9a,YAMzB,gBAACggB,GAAA,EAAD,CACEtW,QAAQ,YACRuW,OAAO,SACP3a,KAAM0Z,EACNkB,OAAQ,kBAAM,EAAKjd,SAAS,CAAE+b,UAAU,KACxCpF,QAAS,kBAAM,EAAK3W,SAAS,CAAE+b,UAAU,KACzCmB,2BAA2B,EAC3BC,kBAAgB,EAChBC,oBAAkB,EAClBpG,WAAY,CACV5Y,MAAO,CACLC,qBAXN,UAeE,gBAAC6Q,GAAA,EAAD,CACEhN,QAAS,kBACP,EAAKlC,SAAS,CAAE4b,eAAe,EAAMG,UAAU,KAFnD,UAKE,eAACpa,EAAA,EAAD,UACE,eAAC,KAAD,MAEF,eAACE,EAAA,EAAD,CACEC,QAAShC,EAAF,uCACPmX,mBAAiB,EACjB7Y,MAAO,CAAEmD,MAAOmE,SAGpB,eAAC2W,GAAA,EAAD,IACA,gBAACnN,GAAA,EAAD,CACEhN,QAAS,kBACP,EAAKlC,SAAS,CAAE6b,eAAe,EAAME,UAAU,KAFnD,UAKE,eAACpa,EAAA,EAAD,UACE,eAAC,KAAD,MAEF,eAACE,EAAA,EAAD,CACEC,QAAShC,EAAF,gCACPmX,mBAAiB,EACjB7Y,MAAO,CAAEmD,MAAOmE,SAGpB,gBAACwJ,GAAA,EAAD,CACEhN,QAAS,kBACP,EAAKlC,SAAS,CAAE6a,iBAAiB,EAAMkB,UAAU,KAFrD,UAKE,eAACpa,EAAA,EAAD,UACE,eAAC,KAAD,MAEF,eAACE,EAAA,EAAD,CACEC,QAAShC,EAAF,kCACPmX,mBAAiB,EACjB7Y,MAAO,CAAEmD,MAAOmE,SAGpB,gBAACwJ,GAAA,EAAD,CACEhN,QAAS,kBACP,EAAKlC,SAAS,CAAEqb,iBAAiB,EAAMU,UAAU,KAFrD,UAKE,eAACpa,EAAA,EAAD,UACE,eAAC,KAAD,CAAQvD,MAAO,CAAEmD,MAAOyF,QAE1B,eAACnF,EAAA,EAAD,CACEC,QAAShC,EAAF,kCACPmX,mBAAiB,EACjB7Y,MAAO,CAAEmD,MAAOyF,mBAlWF,GACJzE,cChB1B,GAII1E,46BAHoCiJ,GADxC,GACEC,qCAC8CsW,GAFhD,GAEEC,6CACyCC,GAH3C,GAGE5X,wCAGa3G,kBACbH,cAAW,iBAAO,CAChB6c,OAAQ,CACNjd,SAAU,WACVD,aAAc,GACdH,gBAAiByI,GACjBvI,MAAO,oBACP,UAAW,CACT,cAAe,CACbF,gBAAiByI,KAGrBvF,MAAO8b,IAETG,WAAY,CACVjf,MAAO,OACPD,OAAQ,OACRG,SAAU,WACVgf,cAAe,OACfrd,QAAS,OACTmG,WAAY,SACZa,eAAgB,UAElBsW,UAAW,CACTnc,MAAO,UACPhD,MAAO,QAETof,WAAY,CACVxW,QAAS,mBACT5I,MAAO,QA5BXM,EA+BE,YAYO,IAXL+e,EAWI,EAXJA,qBACAne,EAUI,EAVJA,UACAoe,EASI,EATJA,cACAle,EAQI,EARJA,OACAG,EAOI,EAPJA,EACA8P,EAMI,EANJA,QACAjN,EAKI,EALJA,OACAmb,EAII,EAJJA,OACAC,EAGI,EAHJA,UACAC,EAEI,EAFJA,cACAC,EACI,EADJA,iBAEA,EAA8Cpb,oBAAS,GAAvD,mBAAOqb,EAAP,KAAwBC,EAAxB,KACA,EAA8Btb,oBAAS,GAAvC,mBAAOC,EAAP,KAAgBC,EAAhB,KACA,EAA4BF,mBAAS,IAArC,mBAAO6Y,EAAP,KAAe0C,EAAf,KACA,EAGIvgB,46BAFoB0D,EADxB,EACExD,qBAC8BsgB,EAFhC,EAEEpgB,6BAEE0K,EAAO,GAEL2V,EAAS,yCAAG,WAChBC,EACAC,EACAC,GAHgB,UAAA3P,EAAA,yDAKXwP,EAAUI,UAAUF,EAAsBC,EAAWvS,QAL1C,wBAMdoS,EAAUI,QAAS,EAEnB3b,GAAW,GARG,kBAWNwb,EACJC,EAAsBC,EAAWvS,QAAU,GACvC,GACAsS,EAAsB,IAdhB,uBAiBZF,EAAUI,QAAS,EAEnB3b,GAAW,GAnBC,yEAAH,0DAwBX6a,EAAqB9c,MAAQrB,EAAUqB,OACzC6H,EAAOiV,EAAqB9c,KACzB8U,QACC,SAACiC,GAAD,aACEA,EAAMtK,KAAK6B,cAAc/N,SAASqa,EAAOtM,iBAAzC,UACAyI,EAAMsE,aADN,aACA,EAAaC,MAAMhN,cAAc/N,SAASqa,EAAOtM,iBACjDyI,EAAM9a,GAAGqS,cAAc/N,SAASqa,EAAOtM,kBAE1CxS,KACC,gBAAGG,EAAH,EAAGA,GAAIwQ,EAAP,EAAOA,KAAMuL,EAAb,EAAaA,UAAWG,EAAxB,EAAwBA,UAAWJ,EAAnC,EAAmCA,SAAUG,EAA7C,EAA6CA,OAAQmD,EAArD,EAAqDA,MAArD,MAAkE,CAChEpf,KACAwQ,OACAsL,WACAG,OAAiBlZ,EAATkZ,EAAM,4DACd2F,WAAU,OAAExC,QAAF,IAAEA,OAAF,EAAEA,EAAOC,MACnBtD,YACAG,iBAKR,IAAM9E,EAAY,CAChBY,WAAY,UAGd,OAAO6J,IAAenD,MAAM1Z,OAAOC,SAAS0Z,QAAQ3e,GAClD,eAAC,GAAD,CACEA,GAAI6hB,IAAenD,MAAM1Z,OAAOC,SAAS0Z,QAAQ3e,GACjD4C,OAAQA,IAGV,uCACE,uBACEvB,MAAO,CACLE,OAAQ,OACR8B,QAAS,QAHb,UAME,uBACEhC,MAAO,CACLG,MAAOoE,EAAS,OAAS,MACzBrE,OAAQ,OACR8B,QAASuC,EAAS,OAAS,GAC3ByE,eAAgBzE,EAAS,SAAW,IALxC,UAQE,uBACExC,UAAWyP,EAAQ8L,OACnBtd,MAAO,CACLG,MAAOoE,EAAS,oBAAsB,OACtCoF,SAAU,QACVxH,OAAQ,wBALZ,UAQE,sBAAKJ,UAAWyP,EAAQ4N,WAAxB,SACE,eAAC,KAAD,CACEpf,MACEqB,EAAUqD,SACVrD,EAAU6D,OACVua,EAAc/a,SACd+a,EAAcva,OACdsa,EAAqB9a,SACrB8a,EAAqBta,OACpBsa,EAAqB9c,OACnB8c,EAAqB9c,KAAK,GACzB,CAAES,MAAO,sBACT,OAIV,eAACsd,GAAA,EAAD,CACErS,YAAa1M,EAAF,kCACXK,UAAU,gBACVyP,QAAS,CACP9Q,KAAM8Q,EAAQ8N,UACd7D,MAAOjK,EAAQ+N,YAEjBzB,SACEzc,EAAUqD,SACVrD,EAAU6D,OACVua,EAAc/a,SACd+a,EAAcva,OACdsa,EAAqB9a,SACrB8a,EAAqBta,OACpBsa,EAAqB9c,OAAS8c,EAAqB9c,KAAK,GAE3D6L,SAAU,SAACC,GACT,IACYH,EACRG,EADFC,OAAUJ,MAGZ2R,EAAU3R,GAEV6R,EACEV,EAAqBkB,UACrBrf,EAAUqB,KAAK0d,oBACfZ,EAAqB9c,YAK5B6B,GACC,eAAC4B,GAAA,EAAD,CACEnG,MAAO,CAAEG,MAAO,OAAQD,OAAQ,OAAQiC,OAAQ,OAChD2B,QAAS,kBAAMic,GAAmB,IAClC9Z,KAAK,QAHP,SAKE,eAAC,KAAD,UAIJ1B,GACA,sBACEvE,MAAO,CACLgC,QAAS,OACTgH,eAAgB,WAChBb,WAAY,SACZhI,MAAO,MACP+O,YAAa,QANjB,SASE,eAACE,EAAA,EAAD,CAAsBC,aAAW,EAAjC,SACE,eAACsR,EAAA,EAAD,CACErR,MAAOC,aACLC,aAAa,CACXC,QAAS,CACP/L,QAAS,CACPiM,KAAMxM,EACNyd,aAAcX,OANxB,SAYE,eAAC7Z,GAAA,EAAD,CACEiC,QAAQ,YACRlF,MAAM,UACN0d,UAAW,eAAC,KAAD,IACX7gB,MAAO,CAAEI,aAAc,QACvB0D,QAAS,kBAAMic,GAAmB,IALpC,SAOGre,EAPH,4CAcTgD,GACC,eAACoc,GAAA,EAAD,CACE9gB,MACEuE,EACI,CAAElE,SAAU,WAAYC,IAAK,OAAQH,MAAO,QAC5C,CAAE0b,UAAW,UAItB2D,EAAqBta,MACpB,eAAC,cAAD,CAAaA,MAAOsa,EAAqBta,QAEzC,sBACElF,MAAO,CAAEE,OAAQ,oBAAqByC,UAAW,QACjDoe,SAAU,SAACvS,GAEPA,EAAMC,OAAOuS,UAAYxS,EAAMC,OAAOwS,cACpCzS,EAAMC,OAAOyS,aAAe,KAC9B7f,EAAUqB,MACV8c,EAAqB9c,MAErBwd,EACEV,EAAqBkB,UACrBrf,EAAUqB,KAAK0d,oBACfZ,EAAqB9c,OAZ7B,SAgBG6H,EAAKuD,QAAU0R,EAAqB9a,QACnC,gBAACgT,GAAA,EAAD,CAAOyJ,cAAY,EAAnB,UACE,eAACC,GAAA,EAAD,CAAWrf,UAAU,gBAArB,SACE,eAAC6V,GAAA,EAAD,UACG,CACC,CAAEjZ,GAAI,KAAM0iB,KAAM3f,EAAF,8BAASvB,MAAO,SAChC,CAAExB,GAAI,OAAQ0iB,KAAM3f,EAAF,iCAClB,CAAE/C,GAAI,aAAc0iB,KAAM3f,EAAF,iCAAYvB,MAAO,OAC3C,CAAExB,GAAI,YAAa0iB,KAAM3f,EAAF,mCAAcvB,MAAO,SAC5C,CACExB,GAAI,YACJ0iB,KAAM3f,EAAF,wCACJvB,MAAO,UAET3B,KAAI,gBAAGG,EAAH,EAAGA,GAAI0iB,EAAP,EAAOA,KAAMlhB,EAAb,EAAaA,MAAb,OACJ,eAAC0X,GAAA,EAAD,CAAW7X,MAAO,CAAEC,gBAAiB,OAAQE,SAA7C,SACE,eAACmhB,GAAA,EAAD,CACEC,OAAQ7B,IAAW/gB,GAAM4L,EAAKuD,OAC9B0T,UACE9B,IAAW/gB,GAAwB,cAAlBihB,EACb,MACA,OAEN9b,QAAS,WACP,IAAM2d,EACJ/B,IAAW/gB,GAAwB,cAAlBihB,EACnBC,EACE4B,EAAQ,aAAe,aAEzB9B,EAAUhhB,GAEVoE,aAAa2e,QACX,qBACAC,KAAKC,UAAL,uBACKD,KAAKtE,MACNta,aAAaC,QAAQ,uBACrBwU,QACA,qBAAG7Y,KACMoE,aAAaC,QAAQ,cALlC,CAOE,CACErE,GAAIoE,aAAaC,QAAQ,UACzB0c,OAAQ/gB,EACRihB,cAAe6B,EACX,aACA,kBA7Bd,SAmCE,6BAAIJ,eAMd,eAACQ,GAAA,EAAD,WACIrC,EAAqB9a,QACnB,IAAIkC,MAAM,IAAIkO,KAAK,IACnBvK,EAAKkG,MAAK,SAACC,EAAGC,GAAJ,mBACR,UAAAD,EAAEgP,UAAF,eAAW1O,gBAAX,UAA2BL,EAAE+O,UAA7B,aAA2B,EAAW1O,eAChB,cAAlB4O,EACE,GACC,GACH,UAAAlP,EAAEgP,UAAF,eAAW1O,kBAAX,UACAL,EAAE+O,UADF,aACA,EAAW1O,eACX,EACkB,cAAlB4O,GACC,EACD,MAERphB,KAAI,SAACsjB,GAAD,iBACJ,gBAAClK,GAAA,EAAD,yBAEE7V,UAAU,gBACV/B,MAAO,CAAE+hB,eAAgB,SACpBvC,EAAqB9a,QACtB,GACA,CACEsd,OAAO,EACP3e,UAAWC,KACXxB,GAAI,cAAgBggB,EAAInjB,KAThC,cAYE,eAACkZ,GAAA,EAAD,CAAW7X,MAAK,2BAAO+V,GAAP,IAAkB5V,MAAO,UAAzC,SACGqf,EAAqB9a,QACpB,eAACoT,GAAA,EAAD,IAEAgK,EAAInjB,GAAGgc,MAAM,KAAK,KAGtB,eAAC9C,GAAA,EAAD,CAAW7X,MAAO+V,EAAlB,SACGyJ,EAAqB9a,QACpB,eAACoT,GAAA,EAAD,IACEgK,EAAI3S,KAAK8S,UAAU,EAAG,IAAInU,OAC5BgU,EAAI3S,KAAKrB,OACTgU,EAAI3S,KAAK8S,UAAU,EAAG,IAAM,MAE5BH,EAAI3S,OAGR,eAAC0I,GAAA,EAAD,CAAW7X,MAAK,2BAAO+V,GAAP,IAAkB5V,MAAO,QAAzC,SACGqf,EAAqB9a,QACpB,eAACoT,GAAA,EAAD,KACE,UAAAgK,EAAIvB,kBAAJ,eAAgB0B,UAAU,EAAG,IAAInU,SAAjC,UACFgU,EAAIvB,kBADF,aACF,EAAgBzS,SAChB,UAAAgU,EAAIvB,kBAAJ,eAAgB0B,UAAU,EAAG,KAAM,MAEnCH,EAAIvB,aAGR,eAAC1I,GAAA,EAAD,CAAW7X,MAAK,2BAAO+V,GAAP,IAAkB5V,MAAO,UAAzC,SACGqf,EAAqB9a,QACpB,eAACoT,GAAA,EAAD,IAEAX,KAAO2K,EAAIpH,WAAWiB,QACW,QAA9Bta,EAAUqB,KAAKwf,WACZ,aAC8B,QAA9B7gB,EAAUqB,KAAKwf,WACf,aAC8B,QAA9B7gB,EAAUqB,KAAKwf,WACf,aACA,cACF,KAC+B,QAA9B7gB,EAAUqB,KAAKyf,WACZ,aACA,eAIZ,eAACtK,GAAA,EAAD,CAAW7X,MAAK,2BAAO+V,GAAP,IAAkB5V,MAAO,UAAzC,SACGqf,EAAqB9a,QACpB,eAACoT,GAAA,EAAD,IAEAX,KAAO2K,EAAIjH,WAAWc,QACW,QAA9Bta,EAAUqB,KAAKwf,WACZ,aAC8B,QAA9B7gB,EAAUqB,KAAKwf,WACf,aAC8B,QAA9B7gB,EAAUqB,KAAKwf,WACf,aACA,cACF,KAC+B,QAA9B7gB,EAAUqB,KAAKyf,WACZ,aACA,kBAxEPL,EAAInjB,YAiFjB,eAACyJ,GAAA,EAAD,CACEC,QAAQ,KACRtG,UAAU,8BACV/B,MAAO,CACLG,MAAO,OACP8I,UAAW,SACX4S,UAAW,OACXnN,aAAc,OACdvL,MAAOgc,IARX,SAWGzd,EAXH,yCAgBLL,EAAUqB,MACT,eAAC,GAAD,CACEuB,KAAM6b,EACN5b,MAAO,kBAAM6b,GAAmB,a,+BC5axCqC,G,4MACJthB,MAAQ,CACNC,SAAU,I,4CAGZ,WAAU,IAAD,OACP,EACEE,KAAKJ,MADCM,EAAR,EAAQA,aAAcsB,EAAtB,EAAsBA,KAAMlB,EAA5B,EAA4BA,OAAQC,EAApC,EAAoCA,cAAeF,EAAnD,EAAmDA,OAAQG,EAA3D,EAA2DA,YAEnDV,EAAaE,KAAKH,MAAlBC,SAER,GAAIA,EAAU,CACZ,IAAIY,EAAeZ,EAGnB,OAFAE,KAAKW,SAAS,CAAEb,SAAU,KAGxB,uCACE,eAAC,IAAD,CAAUc,MAAI,EAACC,GAAIH,IAClBF,OAKP,OACE,eAAC,iBAAD,CACEY,YAAa,CACXF,OAAQ,uBAEVI,QAASpB,EACTsB,KAAMA,EACND,YAAa,SAACzB,GAAD,OAAc,EAAKa,SAAS,CAAEb,cAC3CQ,OAAQA,EACRC,cAAeA,EACfF,OAAQA,Q,GAhCoB6C,aAsC9Bke,G,4MACJvhB,MAAQ,CAAEwhB,yBAAyB,G,+DAEnC,SAA0BjV,IAErBpM,KAAKJ,MAAM6B,MACZ2K,EAAU3K,MACV2K,EAAUkV,UACVlV,EAAU3K,KAAK8f,wBACbnV,EAAUkV,SAASE,sBAErBxhB,KAAKW,SAAS,CAAE0gB,yBAAyB,M,oBAI7C,WAAU,IAAD,OACC5f,EAASzB,KAAKJ,MAAd6B,KACA4f,EAA4BrhB,KAAKH,MAAjCwhB,wBAER,OAAO5f,EACL,eAAC,eAAD,CACEggB,gBAAc,EACdze,KAAMqe,EACNpe,MAAO,kBAAM,EAAKtC,SAAS,CAAE0gB,yBAAyB,KACtD7f,KAAMC,IAEN,S,GA1B0ByB,aA8BnBvD,mBACb,YAUO,IAAD,IATJW,EASI,EATJA,OACAC,EAQI,EARJA,cACAF,EAOI,EAPJA,OACAG,EAMI,EANJA,YACAP,EAKI,EALJA,gBACAyhB,EAII,EAJJA,gBACAC,EAGI,EAHJA,OACAre,EAEI,EAFJA,OACA7C,EACI,EADJA,EAEA,EAAwC+C,oBAAS,GAAjD,mBAAOrD,EAAP,KAAqByhB,EAArB,KACA,EAAwCpe,oBAAS,GAAjD,mBAAOqe,EAAP,KAAqBC,EAArB,KACA,EAAgCte,mBAAS,IAAzC,mBAAO1D,EAAP,KAAiByB,EAAjB,KACA,EAA4BiC,oBAC1B,UAAAkd,KAAKtE,MAAMta,aAAaC,QAAQ,uBAAuBuN,MACrD,qBAAG5R,KAAgBoE,aAAaC,QAAQ,oBAD1C,eAEG0c,SAAU,QAHf,mBAAOA,EAAP,KAAeC,EAAf,KAKA,EAA0Clb,oBACxC,UAAAkd,KAAKtE,MAAMta,aAAaC,QAAQ,uBAAuBuN,MACrD,qBAAG5R,KAAgBoE,aAAaC,QAAQ,oBAD1C,eAEG4c,gBAAiB,aAHtB,mBAAOA,EAAP,KAAsBC,EAAtB,KAKMvE,EAhGa,IAAI0H,gBAAgBC,cAAc3F,QAiG7ChY,EAAaT,qBAAWR,GAAxBiB,SAcR,GAZA4d,qBACE,WACE5d,EAASqI,WAAW,CAClBlC,SACE1I,aAAaC,QAAQ,cACpBwI,UAAUC,UAAYD,UAAUE,cAAcC,MAAM,EAAG,OAI9D,IAGE5K,EAAU,CACZ,IAAIY,EAAeZ,EAGnB,OAFAyB,EAAY,IAGV,uCACE,eAAC,IAAD,CAAUX,MAAI,EAACC,GAAIH,IAClBF,OAKP,MAIIhC,46BAHuC0f,EAD3C,EACE5X,wCACgB4R,EAFlB,EAEEC,eACsB1Z,EAHxB,EAGEC,qBAGIwjB,GAAgB,SAAC9hB,EAAWme,EAAsBC,GAAlC,OACpB,gBAAC,IAAD,WACE,eAAC,IAAD,CAAO3c,OAAK,EAAC/C,KAAK,IAAlB,SACE,eAAC,GAAD,CAAMsB,UAAWA,MAEnB,eAAC,IAAD,CAAOtB,KAAK,UAAZ,SACE,eAACqjB,GAAD,CACE/hB,UAAWA,EACXoe,cAAeA,EACfD,qBAAsBA,EACtBje,OAAQA,EACRme,OAAQA,EACRC,UAAWA,EACXC,cAAeA,EACfC,iBAAkBA,QAGnB9c,aAAaC,QAAQ,WACtBD,aAAaC,QAAQ,UAAUC,SAAS,gBACxC,eAAC,IAAD,CAAOH,OAAK,EAAC/C,KAAK,YAAlB,SACE,eAAC,GAAD,CAAUsB,UAAWA,UAMvBgiB,GAAO,CACX,eAACC,EAAA,EAAD,CACEjd,KAAM,eAAC,IAAD,IACN8H,MAAOzM,EAAF,gCACL2B,UAAWC,KACXxB,GAAG,IACH9B,MAC+B,MAA7B2D,OAAOC,SAASC,SACZ,CAAEV,MAAOzD,GACT,CACEyD,MAAOmG,KAAU6V,GAA2B5V,SAAS,QAI/D,eAAC+Z,EAAA,EAAD,CACEjd,KAAM,eAAC,IAAD,IACN8H,MAAOzM,EAAF,kCACL2B,UAAWC,KACXxB,GAAG,UACH9B,MAC+B,YAA7B2D,OAAOC,SAASC,SACZ,CAAEV,MAAOzD,GACT,CACEyD,MAAOmG,KAAU6V,GAA2B5V,SAAS,UAI7DxG,aAAaC,QAAQ,WACrBD,aAAaC,QAAQ,UAAUC,SAAS,gBACxC,eAACqgB,EAAA,EAAD,CACEjd,KAAM,eAAC,IAAD,IACN8H,MAAOzM,EAAF,oCACL2B,UAAWC,KACXxB,GAAG,YACH9B,MAC+B,cAA7B2D,OAAOC,SAASC,SACZ,CAAEV,MAAOzD,GACT,CACEyD,MAAOmG,KAAU6V,GAA2B5V,SAAS,SAOnE,OACE,eAAC,KAAD,CACEqZ,OAAQA,EACRW,OACExgB,aAAaC,QAAQ,WAC2B,SAA3CD,aAAaC,QAAQ,kBAClB,UACA,YAAcD,aAAaC,QAAQ,UACvC,uBAPR,SAUE,eAAC,YAAD,CAAU4a,OAAQ,CAAC,wBAAnB,SACG,SAAC4F,GAAD,OACC,gBAAC,QAAD,CACE5F,OAAQ,CACN,OACA,QACA,mBACA,kBACA,aACA,YACA,iBACA,gBACA,cACA,aACA,gBACA,eACA,aACA,aACA,gBACA,cACA,sBACA,0BACA,eACA,cACA,gBACA,kBACA,iBACA,kBACA,kBACA,sBACA,sBACA,YACA,eACA,eACA,cACA,oBACA,eACA,4BACA,cACA,UACA,WACA,wBACA,cACA,6BACA,wBAEFC,SAAU,kBAAMtc,GAAO,IACvBkiB,aAAchkB,GA7ChB,UA+CE,eAAC,GAAD,CAAqB8iB,SAAUiB,EAAc9gB,OAC5C,SAACrB,GAAe,IAAD,EAQd,MALE,oDADA,UAAAA,EAAU6D,aAAV,eAAiBkN,UAGjB7Q,GAAO,GAIP,eAAC,QAAD,CACEqc,OAAQ,CAAC,4BACTC,SAAU,kBAAMtc,GAAO,IACvBkiB,aAAchkB,GAHhB,SAKG,SAACggB,GAAD,OACC,eAAC,mBAAD,CACE7B,OAAQ,CACN,OACA,QACA,WACA,YACA,YACA,eACA,WACA,oBACA,UAEF8F,MAAO,GACPhE,OAAQA,EACRE,cAAeA,EACf/B,SAAU,SAAClf,GACL2c,EAAMqI,IAAI,QAAUhlB,GACtB6D,EAAY,YAjBlB,SAqBG,SAACgd,GAA0B,IAAD,EACnBoE,EAAa,UAAGpE,EAAqB9c,YAAxB,aAAG,EAA2B6N,MAC/C,SAACkJ,GAAD,OAAWA,EAAM9a,KAAO2c,EAAMqI,IAAI,SAGpC,OACE,uCACE,eAAC,KAAD,UACE,iCACGxK,GAC+B,YAA7BxV,OAAOC,SAASC,SACb2b,EAAqB9c,MACrB4Y,EAAMqI,IAAI,OACVC,EACE,MAAQA,EAAczU,KACtB,MAAQzN,EAAR,kCAC2B,cAA7BiC,OAAOC,SAASC,SAChB,MAAQnC,EAAR,oCACA,QAGT6C,EACC+W,EAAMqI,IAAI,MACR,eAAC,GAAD,CACEpf,QAAM,EACN5F,GAAI2c,EAAMqI,IAAI,MACdpiB,OAAQA,IAGV,uCACE,eAACsiB,EAAA,EAAD,CACEC,GAAI,CACFC,aAAc,EACdC,YAAa,WAHjB,SAME,eAACC,EAAA,EAAD,CACE5b,QAAQ,YACR6b,eAAe,UACfjE,UAAU,UACVkE,kBAAmB,CACjBnkB,MAAO,CACLG,MAAM,GAAD,OAAK,IAAMkjB,GAAKvV,OAAhB,KACLsW,KAAK,GAAD,OAOA,KAN6B,MAA7BzgB,OAAOC,SAASC,SACd,EAEA,YADAF,OAAOC,SAASC,SAEhB,EACA,GAEJwf,GAAKvV,OARH,OAPV,SAoBGuV,OAGL,gBAAC,KAAD,CACErjB,MAAO,CACLE,OAAQqE,EACJ,mDACA,sBAEN8f,eAAgB,CAAEnkB,OAAQ,QAC1B4d,UAAQ,EAPV,UASE,eAAC,IAAD,CAAOhb,OAAK,EAAC/C,KAAK,IAAlB,SACE,eAAC,GAAD,CAAMwE,QAAM,EAAClD,UAAWA,MAE1B,eAAC,IAAD,CAAOyB,OAAK,EAAC/C,KAAK,UAAlB,SACE,eAACqjB,GAAD,CACE7e,QAAM,EACNlD,UAAWA,EACXoe,cAAeA,EACfD,qBACEA,EAEFje,OAAQA,EACRme,OAAQA,EACRC,UAAWA,EACXC,cAAeA,EACfC,iBAAkBA,QAGnB9c,aAAaC,QAAQ,WACtBD,aACGC,QAAQ,UACRC,SAAS,gBACZ,eAAC,IAAD,CAAOH,OAAK,EAAC/C,KAAK,YAAlB,SACE,eAAC,GAAD,CACEwE,QAAM,EACNlD,UAAWA,SAKnB,eAACmd,EAAA,EAAD,CACEne,SAAS,QACT8C,MAAM,UACNnD,MAAO,CACLE,OACE,2CACFue,UACE,2GACFne,IAAK,OACLge,OAAQ,EACRva,cACE,+BAXN,SAcE,uBACE/D,MAAO,CACLgC,QAAS,OACTsiB,aAAc,SACdpkB,OAAQ,QAJZ,UAOE,sBACE+B,IAAKC,EACLlC,MAAO,CACLG,MAAO,OACP6D,WAAY,QAEd5B,IAAI,QACJL,UAAU,kBAEZ,eAAC,GAAD,CACEZ,aAAc,kBACZ0hB,GAAgB,IAElBpgB,KAAMpB,EAAUqB,KAChBF,YAAaA,EACbjB,OAAQA,EACRC,cAAeA,EACfF,OAAQA,EACRG,YAAaA,YAMrBP,EACF,uBACElB,MAAO,CACLE,OAAQ,OACR8B,QAAS,QAHb,UAME,sBACEhC,MAAO,CACLue,OAAQ,GACRre,OAAQ,OACRC,MAAO,MACPwJ,SAAU,SALd,SAQE,eAAC,GAAD,CACEzI,iBAAe,EACfC,aAAc,kBAAM0hB,GAAgB,IACpCzhB,aAAcA,EACdC,UAAWA,EACXE,OAAQA,EACRC,cAAeA,EACfF,OAAQA,EACRG,YAAaA,MAGjB,sBACEzB,MAAO,CACLE,OAAQ,OACRyC,UAAW,OACXxC,MAAOwiB,EACH,qBACA,OANR,SASGQ,GACC9hB,EACAme,EACAC,QAMN,gBAAC8E,EAAA,EAAD,CAAMC,WAAS,EAACxkB,MAAO,CAAEE,OAAQ,QAAjC,UACE,eAACqkB,EAAA,EAAD,CACEhP,MAAI,EACJvV,MAAO,CACLG,MAAO,OACPoe,OAAQ,GACRre,OAAQ,QALZ,SAQE,eAAC,GAAD,CACEiB,aAAc,kBAAM0hB,GAAgB,IACpCzhB,aAAcA,EACdC,UAAWA,EACXE,OAAQA,EACRC,cAAeA,EACfF,OAAQA,EACRG,YAAaA,MAGjB,eAAC8iB,EAAA,EAAD,CACEhP,MAAI,EACJvV,MAAO,CACLG,MAAO,oBACPD,OAAQ,OACRyC,UAAW,QALf,SAQGwgB,GACC9hB,EACAme,EACAC,QAMR,eAAC,mBAAD,CACExb,KACE5C,EAAUqB,OACTrB,EAAUqB,KAAK+hB,iBAChB3B,EAEF5e,MAAO,kBAAM6e,GAAgB,IAC7BtgB,KAAMpB,EAAUqB,KAChBgiB,gBAAiBlF,EAAqB9c,KACtCyb,UAAQ,IAEV,eAAC,iBAAD,CACE7c,OAAQF,EACRG,OAAQA,EACRkB,MACG+c,EAAqBta,OAAS7D,EAAUqB,KAE3CH,QAASsgB,EACTphB,YAAaA,EACb0c,UAAQ,yBCxjBzB,I,QAAA,IAA0B,6CCA1B,OAA0B,iD,UCyBjBhF,GAAY1Z,eAQrBmB,kBAAe,kDAE1B,WAAYC,GAAQ,IAAD,uBACjB,cAAMA,IA8DR4G,iBAAmB,WACb9D,OAAOgE,WAAa,KACrB,EAAK7G,MAAMyD,QAAU,EAAK3C,SAAS,CAAE2C,QAAQ,IAE9C,EAAKzD,MAAMyD,QAAU,EAAK3C,SAAS,CAAE2C,QAAQ,IAG3CZ,OAAOgE,WAAa,MACrB,EAAK7G,MAAMI,iBAAmB,EAAKU,SAAS,CAAEV,iBAAiB,IAEhE,EAAKJ,MAAMI,iBAAmB,EAAKU,SAAS,CAAEV,iBAAiB,IAG7DyC,OAAOgE,WAAa,MACrB,EAAK7G,MAAM6hB,iBAAmB,EAAK/gB,SAAS,CAAE+gB,iBAAiB,IAEhE,EAAK7hB,MAAM6hB,iBAAmB,EAAK/gB,SAAS,CAAE+gB,iBAAiB,KA/EhD,EAmFnBphB,OAAS,SAACojB,GACR,IAAIC,EAAqBjD,KAAKtE,MAAMta,aAAaC,QAAQ,gBAEzD2hB,EACKC,EAAqBA,EAAmBpN,QACvC,SAACqN,GAAD,OAAaA,EAAQlmB,KAAOoE,aAAaC,QAAQ,aAEnD4hB,EAAmBpN,QACjB,SAACqN,GAAD,OAAaA,EAAQlmB,KAAOoE,aAAaC,QAAQ,aACjD,KACD4hB,EAAmBpN,QAClB,SAACqN,GAAD,OAAaA,EAAQlmB,KAAOoE,aAAaC,QAAQ,aACjD,GAAG+X,MAAQ,IAEjBhY,aAAa2e,QAAQ,cAAeC,KAAKC,UAAUgD,IAEnD7hB,aAAa2e,QAAQ,SAAU,IAE/B,EAAK9f,SAAS,CACZghB,OAAQ,GACRkC,WAAW,EACXC,WAAY,GACZC,YAAa,MAzGE,EA6GnBxjB,cAAgB,SAACyjB,EAAQlkB,GACvB,EAAKa,SAAS,CACZghB,OAAQ,GACRkC,WAAW,EACXG,SACAlkB,WACAikB,YAAa,KAEfjiB,aAAa2e,QAAQ,SAAU,KAlH1B3e,aAAaC,QAAQ,gBACxBD,aAAa2e,QAAQ,cAAe,MAEjC3e,aAAaC,QAAQ,uBACxBD,aAAa2e,QAAQ,qBAAsB,MAExC3e,aAAaC,QAAQ,kBACxBD,aAAa2e,QAAQ,gBAAiB,MAEnC3e,aAAaC,QAAQ,aACxBD,aAAa2e,QACX,YACClW,UAAUC,UAAYD,UAAUE,cAAcC,MAAM,EAAG,IAI5D,IAYqBuZ,EAZftC,EACJ7f,aAAaC,QAAQ,gBACrBD,aAAaC,QAAQ,WACrB2e,KAAKtE,MAAMta,aAAaC,QAAQ,gBAAgBwU,QAC9C,SAACqN,GAAD,OAAaA,EAAQlmB,KAAOoE,aAAaC,QAAQ,aACjD,GACE2e,KAAKtE,MAAMta,aAAaC,QAAQ,gBAAgBwU,QAC9C,SAACqN,GAAD,OAAaA,EAAQlmB,KAAOoE,aAAaC,QAAQ,aACjD,GAAG+X,MACL,GAEN,IAAKoK,eAAeniB,QAAQ,mBAAoB,CAC9C,IAMMoiB,GANaF,EAOjBA,QANQhmB,OAAOmmB,QAAO,SAACC,EAAKC,GAE1B,OADAD,EAAIC,EAAK1X,QAAQ,KAAM,KAAOqX,EAAQK,GAC/BD,IACN,IAULH,eAAezD,QACb,kBACA8D,KAAKC,MAAMD,KAAKE,SAAWvmB,OAAOD,KAAKkmB,GAAQtX,SA/ClC,OAmDjB,EAAKhN,MAAQ,CACXyD,OAAQ,KACRrD,gBAAiB,KACjB0hB,SACA+C,WAAY,GACZC,SAAU,KACVC,SAAUra,UAAUsa,QAhEtB,kBAAmBta,WACrBA,UAAUua,cAAcC,SAAS,oBAMd,EAFO,qDA0H1B,WACE/kB,KAAKwG,mBACL9D,OAAOiE,iBAAiB,SAAUC,mBAAS5G,KAAKwG,qBA5HxB,kCA+H1B,WACE9D,OAAOmE,oBAAoB,SAAUD,mBAAS5G,KAAKwG,qBAhI3B,oBAmI1B,WAAU,IAAD,OACCuD,EAAS/J,KAAKJ,MAAdmK,KACA6a,EAAa5kB,KAAKH,MAAlB+kB,SASR,GAPA1O,KAAO8O,aACLjb,EAAKS,SACa,OAAlBT,EAAKS,SACDyZ,EAAQ,KACRA,QAAQ,KAAmBla,EAAKS,WAIpC+U,IAAenD,MAAM1Z,OAAOC,SAAS0Z,QAAQ7a,MAC7CM,aAAaC,QAAQ,gBACQ,WAA7BW,OAAOC,SAASC,SAqBhB,OAlBE8d,KAAKtE,MAAMta,aAAaC,QAAQ,gBAAgBuN,MAC9C,SAACsU,GAAD,OACEA,EAAQlmB,KAAO6hB,IAAenD,MAAM1Z,OAAOC,SAAS0Z,QAAQ7a,UAGhEM,aAAa2e,QACX,SACAlB,IAAenD,MAAM1Z,OAAOC,SAAS0Z,QAAQ7a,MAG/CxB,KAAKW,SAAS,CACZghB,OAAQjB,KAAKtE,MAAMta,aAAaC,QAAQ,gBAAgBuN,MACtD,SAACsU,GAAD,OACEA,EAAQlmB,KAAO6hB,IAAenD,MAAM1Z,OAAOC,SAAS0Z,QAAQ7a,QAC9DsY,SAIC,eAAC,IAAD,CAAUjZ,GAAI6B,OAAOC,SAASC,WAGvC,GAAI5C,KAAKH,MAAM6kB,WAAY,CACzB,IAAIO,EAAUjlB,KAAKH,MAAM6kB,WAEzB,OADA1kB,KAAKW,SAAS,CAAE+jB,WAAY,KACrB,eAAC,IAAD,CAAU9jB,MAAI,EAACC,GAAIokB,IAG5B,GAAIjlB,KAAKH,MAAMqlB,iBAAkB,CAC/B,IAAID,EAAUjlB,KAAKH,MAAMqlB,iBAEzB,OADAllB,KAAKW,SAAS,CAAEukB,iBAAkB,KAC3B,eAAC,IAAD,CAAUrkB,GAAIokB,IAGvB,OACE,eAAC,mBAAD,CACE7X,MAAK,2BACA5O,66BADA,IAEHuL,OACAmM,YACAjV,OACAkkB,kBACAC,uBACAC,iBAAkBnnB,OAAOonB,OACvBC,oBACEtB,SAMF1mB,KAAI,SAACioB,GAAD,OAAWA,EAAM/W,WACvBgX,eAjBJ,SAoBE,eAACriB,EAAcsiB,SAAf,CACEtY,MACE,IAAI7O,IACFyB,KAAKH,MAAM8hB,OACX7f,aAAaC,QAAQ,WAC2B,SAA3CD,aAAaC,QAAQ,kBAClB,UACA,YACJD,aAAaC,QAAQ,UACrB,WALJ,gCAJN,SAcE,eAACoM,EAAA,EAAD,CAAsBC,aAAW,EAAjC,SACE,eAACsR,EAAA,EAAD,CAAerR,MAAOA,gBAAM7P,66BAA5B,SACGomB,EACC,gBAAC,IAAD,WACE,eAAC,IAAD,CACE9lB,MACGgD,aAAaC,QAAQ,WACtBD,aAAaC,QAAQ,UAAUC,SAAS,cACpC,CAAC,IAAK,UAAW,aACjB,CAAC,IAAK,WAEZH,OAAK,EAPP,SASG7B,KAAKH,MAAM8hB,OACV,eAACgE,GAAD,CACEriB,OAAQtD,KAAKH,MAAMyD,OACnBrD,gBAAiBD,KAAKH,MAAMI,gBAC5ByhB,gBAAiB1hB,KAAKH,MAAM6hB,gBAC5BC,OAAQ3hB,KAAKH,MAAM8hB,OACnBrhB,OAAQN,KAAKM,OACbC,cAAeP,KAAKO,cACpBC,YAAa,kBAAM,EAAKA,iBAG1B,eAAC,IAAD,CACEK,GACE6f,KAAKtE,MAAMta,aAAaC,QAAQ,gBAAgB,GAC5C,YACA,cAKZ,eAAC,IAAD,CAAOjD,KAAK,SAAZ,SACE,eAAC,qBAAD,CACE8mB,SAAO,EACP1I,UAAQ,EACR1c,YAAa,kBAAM,EAAKA,eACxBqlB,aAAc,SAAClE,GAAD,OAAY,EAAKhhB,SAAS,CAAEghB,YAC1CmE,kBAAmB,SAACZ,GAAD,OACjB,EAAKvkB,SAAS,CAAEukB,sBAElB3jB,YAAa,SAACmjB,GAAD,OACX,EAAK/jB,SAAS,CAAE+jB,gBAElBxM,QAASA,OAGb,eAAC,IAAD,CAAOpZ,KAAK,UAAZ,SACE,eAAC,qBAAD,CACEoe,UAAQ,EACR1c,YAAa,kBAAM,EAAKA,eACxBqlB,aAAc,SAAClE,GAAD,OAAY,EAAKhhB,SAAS,CAAEghB,YAC1CpgB,YAAa,SAACmjB,GAAD,OACX,EAAK/jB,SAAS,CAAE+jB,gBAElBxM,QAASA,OAGb,eAAC,IAAD,CAAOpZ,KAAK,YAAZ,SACE,eAAC,qBAAD,CACEinB,mBAAiB,EACjB7I,UAAQ,EACR1c,YAAa,kBAAM,EAAKA,eACxBqlB,aAAc,SAAClE,GAAD,OAAY,EAAKhhB,SAAS,CAAEghB,YAC1CpgB,YAAa,SAACmjB,GAAD,OACX,EAAK/jB,SAAS,CAAE+jB,gBAElBxM,QAASA,OAGb,eAAC,IAAD,CAAOpZ,KAAK,YAAZ,SACE,eAAC,qBAAD,CACEknB,YAAU,EACVH,aAAc,SAAClE,GAAD,OAAY,EAAKhhB,SAAS,CAAEghB,YAC1CpgB,YAAa,SAACmjB,GAAD,OACX,EAAK/jB,SAAS,CAAE+jB,gBAElBxM,QAASA,OAGb,eAAC,IAAD,UACE,eAAC,WAAD,CACEyM,SAAU3kB,KAAKH,MAAM8kB,SACrBpjB,YAAa,SAACmjB,GAAD,OACX,EAAK/jB,SAAS,CAAE+jB,gBAElBxM,QAASA,UAKf,eAAC,gBAAD,CAAeyM,SAAU3kB,KAAKH,MAAM8kB,SAAUzH,UAAQ,gBApT1C,GACVha,c,UC1BpB+iB,IAASC,OACP,eAACC,GAAA,EAAD,CAAiBpc,KAAMA,GAAvB,SACE,eAAC,KAAD,UACGQ,UAAUsa,OACT,eAAC,kBAAD,CAAgBuB,OAAO,6CAAvB,SACE,eAAC,YAAD,UACE,eAAC,GAAD,QAIJ,eAAC,GAAD,QAINC,SAASC,eAAe,U,oBCtB1B,IAAI/oB,EAAM,CACT,yBAA0B,KAC1B,yBAA0B,MAI3B,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,IAEpBC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK,K","file":"static/js/main.9b41b33f.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/loginBackground0.d25888f9.jpg\";","export default __webpack_public_path__ + \"static/media/loginBackground1.890e3d76.jpg\";","var map = {\n\t\"./af\": 669,\n\t\"./af.js\": 669,\n\t\"./ar\": 670,\n\t\"./ar-dz\": 671,\n\t\"./ar-dz.js\": 671,\n\t\"./ar-kw\": 672,\n\t\"./ar-kw.js\": 672,\n\t\"./ar-ly\": 673,\n\t\"./ar-ly.js\": 673,\n\t\"./ar-ma\": 674,\n\t\"./ar-ma.js\": 674,\n\t\"./ar-sa\": 675,\n\t\"./ar-sa.js\": 675,\n\t\"./ar-tn\": 676,\n\t\"./ar-tn.js\": 676,\n\t\"./ar.js\": 670,\n\t\"./az\": 677,\n\t\"./az.js\": 677,\n\t\"./be\": 678,\n\t\"./be.js\": 678,\n\t\"./bg\": 679,\n\t\"./bg.js\": 679,\n\t\"./bm\": 680,\n\t\"./bm.js\": 680,\n\t\"./bn\": 681,\n\t\"./bn-bd\": 682,\n\t\"./bn-bd.js\": 682,\n\t\"./bn.js\": 681,\n\t\"./bo\": 683,\n\t\"./bo.js\": 683,\n\t\"./br\": 684,\n\t\"./br.js\": 684,\n\t\"./bs\": 685,\n\t\"./bs.js\": 685,\n\t\"./ca\": 686,\n\t\"./ca.js\": 686,\n\t\"./cs\": 687,\n\t\"./cs.js\": 687,\n\t\"./cv\": 688,\n\t\"./cv.js\": 688,\n\t\"./cy\": 689,\n\t\"./cy.js\": 689,\n\t\"./da\": 690,\n\t\"./da.js\": 690,\n\t\"./de\": 691,\n\t\"./de-at\": 692,\n\t\"./de-at.js\": 692,\n\t\"./de-ch\": 693,\n\t\"./de-ch.js\": 693,\n\t\"./de.js\": 691,\n\t\"./dv\": 694,\n\t\"./dv.js\": 694,\n\t\"./el\": 695,\n\t\"./el.js\": 695,\n\t\"./en-au\": 696,\n\t\"./en-au.js\": 696,\n\t\"./en-ca\": 697,\n\t\"./en-ca.js\": 697,\n\t\"./en-gb\": 463,\n\t\"./en-gb.js\": 463,\n\t\"./en-ie\": 698,\n\t\"./en-ie.js\": 698,\n\t\"./en-il\": 699,\n\t\"./en-il.js\": 699,\n\t\"./en-in\": 700,\n\t\"./en-in.js\": 700,\n\t\"./en-nz\": 701,\n\t\"./en-nz.js\": 701,\n\t\"./en-sg\": 702,\n\t\"./en-sg.js\": 702,\n\t\"./eo\": 703,\n\t\"./eo.js\": 703,\n\t\"./es\": 704,\n\t\"./es-do\": 705,\n\t\"./es-do.js\": 705,\n\t\"./es-mx\": 706,\n\t\"./es-mx.js\": 706,\n\t\"./es-us\": 707,\n\t\"./es-us.js\": 707,\n\t\"./es.js\": 704,\n\t\"./et\": 708,\n\t\"./et.js\": 708,\n\t\"./eu\": 709,\n\t\"./eu.js\": 709,\n\t\"./fa\": 710,\n\t\"./fa.js\": 710,\n\t\"./fi\": 711,\n\t\"./fi.js\": 711,\n\t\"./fil\": 712,\n\t\"./fil.js\": 712,\n\t\"./fo\": 713,\n\t\"./fo.js\": 713,\n\t\"./fr\": 714,\n\t\"./fr-ca\": 715,\n\t\"./fr-ca.js\": 715,\n\t\"./fr-ch\": 716,\n\t\"./fr-ch.js\": 716,\n\t\"./fr.js\": 714,\n\t\"./fy\": 717,\n\t\"./fy.js\": 717,\n\t\"./ga\": 718,\n\t\"./ga.js\": 718,\n\t\"./gd\": 719,\n\t\"./gd.js\": 719,\n\t\"./gl\": 720,\n\t\"./gl.js\": 720,\n\t\"./gom-deva\": 721,\n\t\"./gom-deva.js\": 721,\n\t\"./gom-latn\": 722,\n\t\"./gom-latn.js\": 722,\n\t\"./gu\": 723,\n\t\"./gu.js\": 723,\n\t\"./he\": 724,\n\t\"./he.js\": 724,\n\t\"./hi\": 725,\n\t\"./hi.js\": 725,\n\t\"./hr\": 726,\n\t\"./hr.js\": 726,\n\t\"./hu\": 727,\n\t\"./hu.js\": 727,\n\t\"./hy-am\": 728,\n\t\"./hy-am.js\": 728,\n\t\"./id\": 729,\n\t\"./id.js\": 729,\n\t\"./is\": 730,\n\t\"./is.js\": 730,\n\t\"./it\": 731,\n\t\"./it-ch\": 732,\n\t\"./it-ch.js\": 732,\n\t\"./it.js\": 731,\n\t\"./ja\": 733,\n\t\"./ja.js\": 733,\n\t\"./jv\": 734,\n\t\"./jv.js\": 734,\n\t\"./ka\": 735,\n\t\"./ka.js\": 735,\n\t\"./kk\": 736,\n\t\"./kk.js\": 736,\n\t\"./km\": 737,\n\t\"./km.js\": 737,\n\t\"./kn\": 738,\n\t\"./kn.js\": 738,\n\t\"./ko\": 739,\n\t\"./ko.js\": 739,\n\t\"./ku\": 740,\n\t\"./ku.js\": 740,\n\t\"./ky\": 741,\n\t\"./ky.js\": 741,\n\t\"./lb\": 742,\n\t\"./lb.js\": 742,\n\t\"./lo\": 743,\n\t\"./lo.js\": 743,\n\t\"./lt\": 744,\n\t\"./lt.js\": 744,\n\t\"./lv\": 745,\n\t\"./lv.js\": 745,\n\t\"./me\": 746,\n\t\"./me.js\": 746,\n\t\"./mi\": 747,\n\t\"./mi.js\": 747,\n\t\"./mk\": 748,\n\t\"./mk.js\": 748,\n\t\"./ml\": 749,\n\t\"./ml.js\": 749,\n\t\"./mn\": 750,\n\t\"./mn.js\": 750,\n\t\"./mr\": 751,\n\t\"./mr.js\": 751,\n\t\"./ms\": 752,\n\t\"./ms-my\": 753,\n\t\"./ms-my.js\": 753,\n\t\"./ms.js\": 752,\n\t\"./mt\": 754,\n\t\"./mt.js\": 754,\n\t\"./my\": 755,\n\t\"./my.js\": 755,\n\t\"./nb\": 756,\n\t\"./nb.js\": 756,\n\t\"./ne\": 757,\n\t\"./ne.js\": 757,\n\t\"./nl\": 758,\n\t\"./nl-be\": 759,\n\t\"./nl-be.js\": 759,\n\t\"./nl.js\": 758,\n\t\"./nn\": 760,\n\t\"./nn.js\": 760,\n\t\"./oc-lnc\": 761,\n\t\"./oc-lnc.js\": 761,\n\t\"./pa-in\": 762,\n\t\"./pa-in.js\": 762,\n\t\"./pl\": 763,\n\t\"./pl.js\": 763,\n\t\"./pt\": 764,\n\t\"./pt-br\": 765,\n\t\"./pt-br.js\": 765,\n\t\"./pt.js\": 764,\n\t\"./ro\": 766,\n\t\"./ro.js\": 766,\n\t\"./ru\": 767,\n\t\"./ru.js\": 767,\n\t\"./sd\": 768,\n\t\"./sd.js\": 768,\n\t\"./se\": 769,\n\t\"./se.js\": 769,\n\t\"./si\": 770,\n\t\"./si.js\": 770,\n\t\"./sk\": 771,\n\t\"./sk.js\": 771,\n\t\"./sl\": 772,\n\t\"./sl.js\": 772,\n\t\"./sq\": 773,\n\t\"./sq.js\": 773,\n\t\"./sr\": 774,\n\t\"./sr-cyrl\": 775,\n\t\"./sr-cyrl.js\": 775,\n\t\"./sr.js\": 774,\n\t\"./ss\": 776,\n\t\"./ss.js\": 776,\n\t\"./sv\": 777,\n\t\"./sv.js\": 777,\n\t\"./sw\": 778,\n\t\"./sw.js\": 778,\n\t\"./ta\": 779,\n\t\"./ta.js\": 779,\n\t\"./te\": 780,\n\t\"./te.js\": 780,\n\t\"./tet\": 781,\n\t\"./tet.js\": 781,\n\t\"./tg\": 782,\n\t\"./tg.js\": 782,\n\t\"./th\": 783,\n\t\"./th.js\": 783,\n\t\"./tk\": 784,\n\t\"./tk.js\": 784,\n\t\"./tl-ph\": 785,\n\t\"./tl-ph.js\": 785,\n\t\"./tlh\": 786,\n\t\"./tlh.js\": 786,\n\t\"./tr\": 787,\n\t\"./tr.js\": 787,\n\t\"./tzl\": 788,\n\t\"./tzl.js\": 788,\n\t\"./tzm\": 789,\n\t\"./tzm-latn\": 790,\n\t\"./tzm-latn.js\": 790,\n\t\"./tzm.js\": 789,\n\t\"./ug-cn\": 791,\n\t\"./ug-cn.js\": 791,\n\t\"./uk\": 792,\n\t\"./uk.js\": 792,\n\t\"./ur\": 793,\n\t\"./ur.js\": 793,\n\t\"./uz\": 794,\n\t\"./uz-latn\": 795,\n\t\"./uz-latn.js\": 795,\n\t\"./uz.js\": 794,\n\t\"./vi\": 796,\n\t\"./vi.js\": 796,\n\t\"./x-pseudo\": 797,\n\t\"./x-pseudo.js\": 797,\n\t\"./yo\": 798,\n\t\"./yo.js\": 798,\n\t\"./zh-cn\": 799,\n\t\"./zh-cn.js\": 799,\n\t\"./zh-hk\": 800,\n\t\"./zh-hk.js\": 800,\n\t\"./zh-mo\": 801,\n\t\"./zh-mo.js\": 801,\n\t\"./zh-tw\": 802,\n\t\"./zh-tw.js\": 802\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1387;","import { createContext } from \"react\";\nimport Client from \"@igloocloud/igloo.js\";\n\nexport default createContext(new Client());\n","export default __webpack_public_path__ + \"static/media/logo.3d03b27c.svg\";","import React, { Component } from \"react\"\nimport logo from \"./assets/logo.svg\"\nimport List from \"@mui/material/List\"\nimport ListItem from \"@mui/material/ListItem\"\nimport ListItemIcon from \"@mui/material/ListItemIcon\"\nimport ListItemText from \"@mui/material/ListItemText\"\nimport Home from \"@mui/icons-material/Home\"\nimport DeveloperBoard from \"@mui/icons-material/DeveloperBoard\"\nimport AttachMoney from \"@mui/icons-material/AttachMoney\"\nimport Settings from \"@mui/icons-material/Settings\"\nimport InfoOutlined from \"@mui/icons-material/InfoOutlined\"\nimport ExitToApp from \"@mui/icons-material/ExitToApp\"\nimport { withStyles } from \"@mui/styles\"\nimport ClientContext from \"./ClientContext\"\nimport { Switch, Route, Link, Redirect } from \"react-router-dom\"\nimport { AccountPopover, AboutDialog } from \"@igloocloud/igloosharedui\"\nimport { withTranslation } from \"react-i18next\"\n\nconst {\n REACT_APP_MAIN_COLOR: mainColor,\n REACT_APP_TEXT_ON_MAIN_COLOR: textOnMainColor,\n} = process.env\n\nconst VerticalTabIndicator = ({ path }) => (\n \n)\n\nconst CustomListItem = withStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n})(ListItem)\n\nexport default withTranslation()(\n class Sidebar extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n redirect: \"\",\n aboutOpen: false,\n }\n }\n\n static contextType = ClientContext\n\n render() {\n const {\n greaterThan1200,\n openSettings,\n settingsOpen,\n userProps,\n isOpen,\n logOut,\n changeAccount,\n forceUpdate,\n t,\n } = this.props\n const { redirect, aboutOpen } = this.state\n\n if (redirect) {\n let tempRedirect = redirect\n this.setState({ redirect: \"\" })\n\n return (\n <>\n \n {forceUpdate()}\n \n )\n }\n\n return (\n \n \n {greaterThan1200 && (\n
\n \n this.setState({ redirect })}\n user={userProps.data}\n logOut={logOut}\n changeAccount={changeAccount}\n />\n
\n )}\n \n \n \n \n \n \n \n \n \n {(!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\")) && (\n \n \n \n )}\n \n \n \n \n \n {greaterThan1200 && }\n \n \n \n \n \n {greaterThan1200 && }\n \n {(!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\")) && (\n \n \n \n \n {greaterThan1200 && }\n \n )}\n \n \n \n {greaterThan1200 ? (\n \n \n \n \n \n \n \n this.setState({ aboutOpen: true })}\n >\n \n \n \n \n \n logOut(false)}\n >\n \n \n \n \n \n \n ) : (\n this.setState({ redirect })}\n logOut={logOut}\n changeAccount={changeAccount}\n isOpen={isOpen}\n />\n )}\n this.setState({ aboutOpen: false })}\n />\n \n )\n }\n }\n)\n","import React, { useState, useContext } from \"react\"\nimport { injectStripe } from \"react-stripe-elements\"\nimport Button from \"@mui/material/Button\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Collapse from \"@mui/material/Collapse\"\nimport Alert from \"@mui/material/Alert\"\nimport Refresh from \"@mui/icons-material/Refresh\"\nimport ErrorOutline from \"@mui/icons-material/ErrorOutline\"\nimport LockOpen from \"@mui/icons-material/LockOpen\"\nimport { withTranslation } from \"react-i18next\"\nimport ClientContext from \"../ClientContext\"\nimport { CenteredSpinner } from \"@igloocloud/igloosharedui\"\n\nexport default withTranslation()(\n injectStripe(({ user, mobile, stripe, t }) => {\n const [loading, setLoading] = useState(false)\n const client = useContext(ClientContext)\n\n const authenticate = () => {\n setLoading(true)\n\n stripe.retrievePaymentIntent(user.paymentIntentSecret).then(\n ({ error, paymentIntent }) =>\n !error &&\n stripe\n .confirmCardPayment(paymentIntent.client_secret)\n .then(() => client.mutation.confirmPaymentExecution())\n .finally(() => setLoading(false))\n )\n }\n\n const retry = () => {\n setLoading(true)\n\n client.mutation.retryPayment().finally(() => setLoading(false))\n }\n\n return (\n \n {user && (\n \n ) : mobile ? (\n user.billingStatus === \"REQUIRES_AUTHENTICATION\" ? (\n \n \n \n ) : (\n \n \n \n )\n ) : user.billingStatus === \"REQUIRES_AUTHENTICATION\" ? (\n \n ) : (\n \n )\n }\n icon={}\n >\n {user.billingStatus &&\n (user.billingStatus === \"FAILED_PAYMENT\"\n ? t`Your last payment attempt failed`\n : user.billingStatus === \"INSUFFICIENT_FUNDS\"\n ? t`You didn't have enough funds to pay your last bill`\n : t`You'll need to authenticate to pay your last bill`)}\n \n )}\n
\n \n );\n })\n)\n","import { cloneElement, isValidElement } from \"react\";\nimport JSBI from \"jsbi\";\n\nconst addPropsToSingleChild = (child, props) =>\n isValidElement(child)\n ? cloneElement(child, { ...props })\n : typeof child === \"function\"\n ? child(props)\n : child;\n\nexport const addPropsToChild = (children, props) =>\n Array.isArray(children)\n ? children.map((child) => addPropsToSingleChild(child, props))\n : addPropsToSingleChild(children, props);\n\nexport const formatBlocks = (blocks) => {\n blocks = JSBI.BigInt(blocks);\n\n const unit = JSBI.lessThan(blocks, JSBI.BigInt(10 ** 3))\n ? \"\"\n : JSBI.lessThan(blocks, JSBI.BigInt(10 ** 6))\n ? \"k\"\n : JSBI.lessThan(blocks, JSBI.BigInt(10 ** 9))\n ? \"M\"\n : JSBI.lessThan(blocks, JSBI.BigInt(10 ** 12))\n ? \"B\"\n : \"T\";\n\n if (unit === \"k\") {\n blocks = JSBI.divide(blocks, JSBI.BigInt(10 ** 3));\n }\n\n if (unit === \"M\") {\n blocks = JSBI.divide(blocks, JSBI.BigInt(10 ** 6));\n }\n\n if (unit === \"B\") {\n blocks = JSBI.divide(blocks, JSBI.BigInt(10 ** 9));\n }\n\n if (unit === \"T\") {\n blocks = JSBI.divide(blocks, JSBI.BigInt(10 ** 12));\n }\n\n return { blocks, unit };\n};\n","import React, { Component } from \"react\"\nimport Paper from \"@mui/material/Paper\"\nimport Typography from \"@mui/material/Typography\"\nimport { addPropsToChild } from \"../utilities\"\nimport { debounce } from \"@igloocloud/igloosharedui\"\n\nconst {\n REACT_APP_MAIN_BACKGROUND_COLOR: backgroundColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n} = process.env\n\nexport default class HomeTile extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n smallTile: false,\n }\n }\n\n updateDimensions = () => {\n const { smallTile } = this.state\n\n if (window.innerWidth < 416) {\n !smallTile && this.setState({ smallTile: true })\n } else {\n smallTile && this.setState({ smallTile: false })\n }\n }\n\n componentDidMount() {\n this.updateDimensions()\n window.addEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n render() {\n const { children, title, style, mobile, iconButton } = this.props\n const { smallTile } = this.state\n\n return (\n \n \n \n {title}\n \n
\n
\n {addPropsToChild(children, { smallTile })}\n
\n \n )\n }\n}\n","import React from \"react\"\nimport tinyColor from \"tinycolor2\"\nimport HomeTile from \"./HomeTile\"\nimport Typography from \"@mui/material/Typography\"\nimport JSBI from \"jsbi\"\nimport {\n CenteredSpinner,\n ErrorScreen,\n addDotBigInt,\n} from \"@igloocloud/igloosharedui\"\nimport { formatBlocks } from \"../utilities\"\nimport { withTranslation } from \"react-i18next\"\n\nconst {\n REACT_APP_LIGHT_COLOR: lightColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n REACT_APP_SECONDARY_BACKGROUND_COLOR: secondaryBackgroundColor,\n REACT_APP_ERROR_COLOR: errorColor,\n} = process.env\n\nexport default withTranslation()(\n ({ userProps: { error, loading, data, refetch }, mobile, t }) => (\n \n {({ smallTile }) => (\n \n {error && }\n {loading && }\n {data &&\n (!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\") ? (\n
\n \n {parseFloat(\n addDotBigInt(formatBlocks(data.usedThings * 10).blocks, 1)\n ) + formatBlocks((data.usedThings * 10).toString()).unit}\n \n {\"/\" +\n parseFloat(\n addDotBigInt(\n JSBI.multiply(\n formatBlocks(data.maxThings).blocks,\n JSBI.BigInt(10)\n ),\n 1\n )\n ) +\n formatBlocks(data.maxThings.toString()).unit}\n \n \n \n {data.usedThings !== 0 && (\n 0.9\n ? errorColor\n : lightColor,\n height: \"24px\",\n borderRadius: \"12px\",\n width:\n (\n (data.usedThings * 100) /\n data.maxThings\n ).toString() + \"%\",\n minWidth: \"24px\",\n maxWidth: JSBI.greaterThanOrEqual(\n JSBI.BigInt(data.usedThings),\n JSBI.BigInt(data.maxThings)\n )\n ? \"100%\"\n : \"calc(100% - 12px)\",\n }}\n />\n )}\n
\n \n ) : (\n \n {parseFloat(\n addDotBigInt(formatBlocks(data.usedThings * 10).blocks, 1)\n ) + formatBlocks(data.usedThings.toString()).unit}\n \n ))}\n \n )}\n
\n )\n)\n","import React from \"react\"\nimport tinyColor from \"tinycolor2\"\nimport HomeTile from \"./HomeTile\"\nimport Typography from \"@mui/material/Typography\"\nimport JSBI from \"jsbi\"\nimport {\n CenteredSpinner,\n ErrorScreen,\n addDotBigInt,\n} from \"@igloocloud/igloosharedui\"\nimport { formatBlocks } from \"../utilities\"\nimport { withTranslation } from \"react-i18next\"\n\nconst {\n REACT_APP_LIGHT_COLOR: lightColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n REACT_APP_SECONDARY_BACKGROUND_COLOR: secondaryBackgroundColor,\n REACT_APP_ERROR_COLOR: errorColor,\n} = process.env\n\nexport default withTranslation()(\n ({ userProps: { error, loading, data, refetch }, mobile, t }) => (\n \n {({ smallTile }) => (\n \n {error && }\n {loading && }\n {data &&\n (!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\") ? (\n
\n \n {parseFloat(\n addDotBigInt(formatBlocks(data.usedStorage * 10).blocks, 1)\n ) + formatBlocks((data.usedStorage * 10).toString()).unit}\n \n {\"/\" +\n parseFloat(\n addDotBigInt(\n JSBI.multiply(\n formatBlocks(data.maxStorage).blocks,\n JSBI.BigInt(10)\n ),\n 1\n )\n ) +\n formatBlocks(data.maxStorage.toString()).unit}\n \n \n \n {data.usedStorage !== 0 && (\n 0.9\n ? errorColor\n : lightColor,\n height: \"24px\",\n borderRadius: \"12px\",\n width:\n (\n (data.usedStorage * 100) /\n data.maxStorage\n ).toString() + \"%\",\n minWidth: \"24px\",\n maxWidth: JSBI.greaterThanOrEqual(\n JSBI.BigInt(data.usedStorage),\n JSBI.BigInt(data.maxStorage)\n )\n ? \"100%\"\n : \"calc(100% - 12px)\",\n }}\n />\n )}\n
\n \n ) : (\n \n {parseFloat(\n addDotBigInt(formatBlocks(data.usedStorage * 10).blocks, 1)\n ) + formatBlocks(data.usedStorage.toString()).unit}\n \n ))}\n \n )}\n
\n )\n)\n","import React from \"react\"\nimport tinyColor from \"tinycolor2\"\nimport HomeTile from \"./HomeTile\"\nimport Typography from \"@mui/material/Typography\"\nimport JSBI from \"jsbi\"\nimport {\n CenteredSpinner,\n ErrorScreen,\n addDotBigInt,\n} from \"@igloocloud/igloosharedui\"\nimport { formatBlocks } from \"../utilities\"\nimport { withTranslation } from \"react-i18next\"\n\nconst {\n REACT_APP_LIGHT_COLOR: lightColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n REACT_APP_SECONDARY_BACKGROUND_COLOR: secondaryBackgroundColor,\n REACT_APP_ERROR_COLOR: errorColor,\n} = process.env\n\nexport default withTranslation()(\n ({ userProps: { error, loading, data, refetch }, mobile, t }) => (\n \n {({ smallTile }) => (\n \n {error && }\n {loading && }\n {data &&\n (!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\") ? (\n
\n \n {parseFloat(\n addDotBigInt(\n formatBlocks(data.usedThroughput * 10).blocks,\n 1\n )\n ) + formatBlocks((data.usedThroughput * 10).toString()).unit}\n \n {\"/\" +\n parseFloat(\n addDotBigInt(\n JSBI.multiply(\n formatBlocks(data.maxThroughput).blocks,\n JSBI.BigInt(10)\n ),\n 1\n )\n ) +\n formatBlocks(data.maxThroughput.toString()).unit}\n \n \n \n {data.usedThroughput !== 0 && (\n 0.9\n ? errorColor\n : lightColor,\n height: \"24px\",\n borderRadius: \"12px\",\n width:\n (\n (data.usedThroughput / data.maxThroughput) *\n 100\n ).toString() + \"%\",\n minWidth: \"24px\",\n maxWidth: JSBI.greaterThanOrEqual(\n JSBI.BigInt(data.usedThroughput),\n JSBI.BigInt(data.maxThroughput)\n )\n ? \"100%\"\n : \"calc(100% - 12px)\",\n }}\n />\n )}\n
\n \n ) : (\n \n {parseFloat(\n addDotBigInt(formatBlocks(data.usedThroughput * 10).blocks, 1)\n ) + formatBlocks(data.usedThroughput.toString()).unit}\n \n ))}\n \n )}\n
\n )\n)\n","import React from \"react\"\nimport tinyColor from \"tinycolor2\"\nimport HomeTile from \"./HomeTile\"\nimport Typography from \"@mui/material/Typography\"\nimport JSBI from \"jsbi\"\nimport {\n CenteredSpinner,\n ErrorScreen,\n formatBytes,\n addDotBigInt,\n} from \"@igloocloud/igloosharedui\"\nimport { withTranslation } from \"react-i18next\"\n\nconst {\n REACT_APP_LIGHT_COLOR: lightColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n REACT_APP_SECONDARY_BACKGROUND_COLOR: secondaryBackgroundColor,\n REACT_APP_ERROR_COLOR: errorColor,\n} = process.env\n\nexport default withTranslation()(\n ({ userProps: { error, loading, data, refetch }, mobile, t }) => (\n \n {({ smallTile }) => (\n \n {error && }\n {loading && }\n {data &&\n (!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\") ? (\n
\n \n {parseFloat(\n addDotBigInt(formatBytes(data.usedDiskSpace * 10).bytes, 1)\n ) + formatBytes((data.usedDiskSpace * 10).toString()).unit}\n \n {\"/\" +\n parseFloat(\n addDotBigInt(\n JSBI.multiply(\n formatBytes(data.maxDiskSpace).bytes,\n JSBI.BigInt(10)\n ),\n 1\n )\n ) +\n formatBytes(data.maxDiskSpace.toString()).unit}\n \n \n \n {data.usedDiskSpace !== 0 && (\n 0.9\n ? errorColor\n : lightColor,\n height: \"24px\",\n borderRadius: \"12px\",\n width:\n (\n (data.usedDiskSpace * 100) /\n data.maxDiskSpace\n ).toString() + \"%\",\n minWidth: \"24px\",\n maxWidth: JSBI.greaterThanOrEqual(\n JSBI.BigInt(data.usedDiskSpace),\n JSBI.BigInt(data.maxDiskSpace)\n )\n ? \"100%\"\n : \"calc(100% - 12px)\",\n }}\n />\n )}\n
\n \n ) : (\n \n {parseFloat(\n addDotBigInt(formatBytes(data.usedDiskSpace * 10).bytes, 1)\n ) + formatBytes(data.usedDiskSpace.toString()).unit}\n \n ))}\n \n )}\n
\n )\n)\n","import React, { Component } from \"react\";\nimport PaymentError from \"../payments/PaymentError\";\nimport ThingsTile from \"./ThingsTile\";\nimport StorageTile from \"./StorageTile\";\nimport ThroughputTile from \"./ThroughputTile\";\nimport DiskTile from \"./DiskTile\";\nimport { debounce } from \"@igloocloud/igloosharedui\";\n\nconst { REACT_APP_MAIN_BACKGROUND_COLOR: backgroundColor } = process.env;\n\nexport default class Home extends Component {\n state = { rows: null };\n\n updateDimensions = () => {\n const { rows } = this.state;\n\n if (window.innerWidth >= 1896) {\n rows !== 3 && this.setState({ rows: 3 });\n } else if (window.innerWidth >= 880) {\n rows !== 2 && this.setState({ rows: 2 });\n } else {\n rows !== 1 && this.setState({ rows: 1 });\n }\n };\n\n componentDidMount() {\n this.updateDimensions();\n window.addEventListener(\"resize\", debounce(this.updateDimensions));\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", debounce(this.updateDimensions));\n }\n\n render() {\n const { mobile, userProps } = this.props;\n const { rows } = this.state;\n\n return (\n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport { en, it } from \"@igloocloud/igloosharedui/locales\";\n\ni18n.use(initReactI18next).init({\n resources: {\n en,\n it,\n },\n lng:\n localStorage.getItem(\"language\") ||\n (navigator.language || navigator.userLanguage).slice(0, 2),\n fallbackLng: \"en\",\n debug: false,\n ns: [\"translations\"],\n defaultNS: \"translations\",\n keySeparator: \".\",\n interpolation: {\n escapeValue: false,\n formatSeparator: \",\",\n },\n react: {\n wait: true,\n bindI18n: \"languageChanged loaded\",\n bindStore: \"added removed\",\n nsMode: \"default\",\n },\n});\n\nexport default i18n;\n","import React, { Component } from \"react\"\nimport { createTheme, adaptV4Theme } from \"@mui/material/styles\"\nimport ThemeProvider from \"@mui/styles/ThemeProvider\"\nimport StyledEngineProvider from \"@mui/material/StyledEngineProvider\"\nimport IconButton from \"@mui/material/IconButton\"\nimport InputAdornment from \"@mui/material/InputAdornment\"\nimport TextField from \"@mui/material/TextField\"\nimport MenuItem from \"@mui/material/MenuItem\"\nimport Clear from \"@mui/icons-material/Clear\"\nimport { withTranslation } from \"react-i18next\"\nimport { GenericDialog, countries, AQFlag } from \"@igloocloud/igloosharedui\"\nimport { ListItemIcon, ListItemText } from \"@mui/material\"\nimport { CircleFlag } from \"react-circle-flags\"\nimport ClientContext from \"../ClientContext\"\nimport i18n from \"../i18n\"\n\nconst {\n REACT_APP_MAIN_COLOR: mainColor,\n REACT_APP_LIGHT_COLOR: lightColor,\n REACT_APP_SECONDARY_COLOR: secondaryColor,\n REACT_APP_MAIN_BACKGROUND_COLOR: backgroundColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n REACT_APP_ERROR_COLOR: errorColor,\n} = process.env\n\nexport default withTranslation()(\n class BillingSettings extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n addressLine1: props.user.addressLine1 || \"\",\n addressLine1Empty: false,\n addressLine2: props.user.addressLine2 || \"\",\n addressCity: props.user.addressCity || \"\",\n addressCityEmpty: false,\n addressPostalCode: props.user.addressPostalCode || \"\",\n addressPostalCodeEmpty: false,\n addressState: props.user.addressState || \"\",\n addressStateEmpty: false,\n addressCountryOrTerritory: props.user.addressCountryOrTerritory || \"\",\n loading: false,\n }\n }\n\n static contextType = ClientContext\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.open !== this.props.open && nextProps.open) {\n this.setState({\n addressLine1: nextProps.user.addressLine1 || \"\",\n addressLine1Empty: false,\n addressLine2: nextProps.user.addressLine2 || \"\",\n addressCity: nextProps.user.addressCity || \"\",\n addressCityEmpty: false,\n addressPostalCode: nextProps.user.addressPostalCode || \"\",\n addressPostalCodeEmpty: false,\n addressState: nextProps.user.addressState || \"\",\n addressStateEmpty: false,\n addressCountryOrTerritory:\n nextProps.user.addressCountryOrTerritory || \"\",\n })\n }\n }\n\n render() {\n const { open, close, t } = this.props\n const {\n addressLine1,\n addressLine1Empty,\n addressLine2,\n addressCity,\n addressCityEmpty,\n addressPostalCode,\n addressPostalCodeEmpty,\n addressState,\n addressStateEmpty,\n addressCountryOrTerritory,\n loading,\n } = this.state\n\n return (\n {\n this.setState({ loading: true })\n\n this.context.mutation\n .updateUser({\n addressLine1,\n addressLine2,\n addressCity,\n addressPostalCode,\n addressState,\n addressCountryOrTerritory,\n })\n .finally(() => {\n this.setState({ loading: false })\n\n close()\n })\n }}\n containedButtonDisabled={\n !addressLine1.replace(/\\s/g, \"\").length ||\n addressLine1.length >= 256 ||\n addressLine2.length >= 256 ||\n !addressCity.replace(/\\s/g, \"\").length ||\n addressCity.length >= 256 ||\n !addressPostalCode.replace(/\\s/g, \"\").length ||\n addressPostalCode.length >= 256 ||\n !addressState.replace(/\\s/g, \"\").length ||\n addressState.length >= 256 ||\n !addressCountryOrTerritory.replace(/\\s/g, \"\").length ||\n addressCountryOrTerritory.length >= 256 ||\n loading\n }\n containedButtonLoading={loading}\n >\n {({ fullScreen }) => (\n <>\n = 256}\n helperText={\n addressLine1.length >= 256\n ? t`Too long!`\n : addressLine1Empty\n ? t`This field is required`\n : \" \"\n }\n onChange={(event) =>\n this.setState({\n addressLine1: event.target.value,\n addressLine1Empty:\n event.target.value.replace(/\\s/g, \"\") === \"\",\n })\n }\n style={{\n width: \"100%\",\n marginBottom: \"16px\",\n }}\n InputLabelProps={addressLine1 ? { shrink: true } : {}}\n InputProps={{\n endAdornment: addressLine1 && (\n \n \n this.setState({\n addressLine1: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\"\n >\n \n \n \n ),\n autoComplete: \"address-line1\",\n }}\n />\n = 256}\n helperText={addressLine2.length >= 256 ? t`Too long!` : \" \"}\n onChange={(event) =>\n this.setState({\n addressLine2: event.target.value,\n })\n }\n style={{\n width: \"100%\",\n marginBottom: \"16px\",\n }}\n InputLabelProps={addressLine2 ? { shrink: true } : {}}\n InputProps={{\n endAdornment: addressLine2 && (\n \n \n this.setState({\n addressLine2: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\"\n >\n \n \n \n ),\n autoComplete: \"address-line2\",\n }}\n />\n = 256}\n helperText={\n addressCity.length >= 256\n ? t`Too long!`\n : addressCityEmpty\n ? t`This field is required`\n : \" \"\n }\n onChange={(event) =>\n this.setState({\n addressCity: event.target.value,\n addressCityEmpty:\n event.target.value.replace(/\\s/g, \"\") === \"\",\n })\n }\n style={{\n width: fullScreen ? \"100%\" : \"calc(60% - 8px)\",\n marginRight: fullScreen ? 0 : \"16px\",\n marginBottom: \"16px\",\n }}\n InputLabelProps={addressCity ? { shrink: true } : {}}\n InputProps={{\n endAdornment: addressCity && (\n \n \n this.setState({\n addressCity: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\"\n >\n \n \n \n ),\n autoComplete: \"address-level2\",\n }}\n />\n = 256\n }\n helperText={\n addressPostalCode.length >= 256\n ? t`Too long!`\n : addressPostalCodeEmpty\n ? t`This field is required`\n : \" \"\n }\n onChange={(event) =>\n this.setState({\n addressPostalCode: event.target.value,\n addressPostalCodeEmpty:\n event.target.value.replace(/\\s/g, \"\") === \"\",\n })\n }\n style={{\n width: fullScreen ? \"100%\" : \"calc(40% - 8px)\",\n marginBottom: \"16px\",\n }}\n InputLabelProps={addressPostalCode ? { shrink: true } : {}}\n InputProps={{\n endAdornment: addressPostalCode && (\n \n \n this.setState({\n addressPostalCode: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\"\n >\n \n \n \n ),\n autoComplete: \"postal-code\",\n }}\n type=\"number\"\n />\n = 256}\n helperText={\n addressPostalCode.length >= 256\n ? t`Too long!`\n : addressStateEmpty\n ? t`This field is required`\n : \" \"\n }\n onChange={(event) =>\n this.setState({\n addressState: event.target.value,\n addressStateEmpty:\n event.target.value.replace(/\\s/g, \"\") === \"\",\n })\n }\n style={{\n width: \"100%\",\n marginBottom: \"16px\",\n }}\n InputLabelProps={addressState ? { shrink: true } : {}}\n InputProps={{\n endAdornment: addressState && (\n \n \n this.setState({\n addressState: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\"\n >\n \n \n \n ),\n autoComplete: \"address-level1\",\n }}\n />\n \n \n {\n this.setState({\n addressCountryOrTerritory: event.target.value,\n })\n }}\n variant=\"outlined\"\n select\n SelectProps={{\n renderValue: (value) => {\n const { [i18n.language]: translatedName } =\n countries.find((country) => country.code === value)\n\n return translatedName\n },\n }}\n style={{\n width: \"100%\",\n }}\n InputLabelProps={\n addressCountryOrTerritory ? { shrink: true } : {}\n }\n helperText=\" \"\n >\n {countries\n .sort((a, b) =>\n a[i18n.language] > b[i18n.language]\n ? 1\n : a[i18n.language] < b[i18n.language]\n ? -1\n : 0\n )\n .map(\n ({\n code,\n flagCode,\n [i18n.language]: translatedName,\n }) => (\n \n \n {code === \"AQ\" ? (\n \n ) : (\n \n )}\n \n \n {translatedName}\n \n \n )\n )}\n \n \n \n \n )}\n \n )\n }\n }\n)\n","import React, { Component } from \"react\"\nimport IconButton from \"@mui/material/IconButton\"\nimport InputAdornment from \"@mui/material/InputAdornment\"\nimport TextField from \"@mui/material/TextField\"\nimport Clear from \"@mui/icons-material/Clear\"\nimport { withTranslation } from \"react-i18next\"\nimport { GenericDialog } from \"@igloocloud/igloosharedui\"\nimport ClientContext from \"../ClientContext\"\n\nexport default withTranslation()(\n class BillingSettings extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n companyName: props.user.companyName || \"\",\n }\n }\n\n static contextType = ClientContext\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.open !== this.props.open && nextProps.open) {\n this.setState({\n companyName: nextProps.user.companyName || \"\",\n })\n }\n }\n\n setCompanyInfo = async () => {\n this.setState({ loading: true })\n\n await this.context.mutation\n .updateUser({\n companyName: this.state.companyName || null,\n })\n .then(this.props.close)\n .finally(() => this.setState({ loading: false }))\n }\n\n render() {\n const { open, close, t } = this.props\n const { loading, companyName } = this.state\n\n return (\n = 256 ||\n loading\n }\n containedButtonLoading={loading}\n >\n <>\n = 256}\n helperText={companyName.length >= 256 ? t`Too long!` : \" \"}\n onChange={(event) =>\n this.setState({\n companyName: event.target.value,\n })\n }\n onKeyPress={(event) => {\n if (event.key === \"Enter\") {\n this.setCompanyInfo()\n }\n }}\n style={{\n width: \"100%\",\n }}\n InputLabelProps={companyName ? { shrink: true } : {}}\n InputProps={{\n endAdornment: companyName && (\n \n \n this.setState({\n companyName: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\">\n \n \n \n ),\n }}\n />\n \n \n );\n }\n }\n)\n","import React, { PureComponent } from \"react\"\nimport { withStyles } from \"@mui/styles\"\n\nconst styles = () => ({\n root: {\n width: \"100%\",\n padding: \"6px 0 7px\",\n cursor: \"text\",\n },\n})\n\nexport default withStyles(styles, { withTheme: true })(\n class extends PureComponent {\n static displayName = \"StripeInput\"\n\n render() {\n const {\n classes: c,\n theme,\n component: Component,\n onFocus,\n onBlur,\n handleChange,\n } = this.props\n\n return (\n \n )\n }\n }\n)\n","import React, { Component } from \"react\"\nimport FormControl from \"@mui/material/FormControl\"\nimport FormHelperText from \"@mui/material/FormHelperText\"\nimport OutlinedInput from \"@mui/material/OutlinedInput\"\nimport InputLabel from \"@mui/material/InputLabel\"\nimport { withTranslation } from \"react-i18next\"\nimport StripeInput from \"./StripeInput\"\n\nexport default withTranslation()(\n class StripeElementWrapper extends Component {\n state = {\n focused: false,\n empty: true,\n error: false,\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.stripeError !== this.props.stripeError) {\n this.setState({ error: { message: nextProps.stripeError } })\n }\n }\n\n render() {\n const { component, label, setComplete, setError, isLastElement, t } =\n this.props\n const { error, focused, empty } = this.state\n\n return (\n
\n \n \n {label}\n \n this.setState({ focused: true })}\n onBlur={() => this.setState({ focused: false })}\n inputProps={{\n component,\n handleChange: ({ error, empty, complete }) => {\n this.setState({\n error: empty\n ? new Error(t`This field is required`)\n : error && new Error(t(error.message.replace(\".\", \"\"))),\n empty,\n })\n setComplete(complete)\n setError(error)\n },\n }}\n style={{\n height: \"19px\",\n padding: \"28px 14px\",\n }}\n error={!!error}\n />\n \n {error ? error.message : \" \"}\n \n \n
\n )\n }\n }\n)\n","import React, { Component } from \"react\";\nimport {\n injectStripe,\n CardNumberElement,\n CardExpiryElement,\n CardCVCElement,\n} from \"react-stripe-elements\";\nimport { GenericDialog } from \"@igloocloud/igloosharedui\";\nimport { withTranslation } from \"react-i18next\";\nimport StripeElementWrapper from \"./stripe/StripeElementWrapper\";\nimport ClientContext from \"../ClientContext\";\n\nexport default withTranslation()(\n injectStripe(\n class PaymentInfoDialog extends Component {\n state = {\n numberComplete: false,\n expiryComplete: false,\n cvcComplete: false,\n numberError: false,\n expiryError: false,\n cvcError: false,\n anchorEl: null,\n loading: false,\n };\n\n static contextType = ClientContext;\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.open !== this.props.open && nextProps.open) {\n this.setState({\n loading: false,\n numberComplete: false,\n expiryComplete: false,\n cvcComplete: false,\n numberError: false,\n expiryError: false,\n cvcError: false,\n });\n }\n }\n\n render() {\n const { open, close, stripe, elements, t } = this.props;\n const {\n numberComplete,\n expiryComplete,\n cvcComplete,\n stripeError,\n numberError,\n expiryError,\n cvcError,\n loading,\n } = this.state;\n\n const setupPayment = async () => {\n this.setState({ loading: true });\n\n this.context.mutation\n .initiateBillingSetup()\n .then((secret) =>\n stripe\n .handleCardSetup(secret, elements.getElement(\"cardNumber\"))\n .then(({ error, setupIntent }) => {\n if (error) {\n this.setState({\n stripeError:\n error.code === \"card_declined\"\n ? t`Your card was declined`\n : t`Error`,\n });\n\n throw new Error(\"Error\"); //Do not remove: allows react-stripe-elements to display the error below the textfield\n } else {\n this.context.mutation.updatePaymentMethod({\n stripePaymentMethod: setupIntent.payment_method,\n });\n }\n })\n )\n .then(close)\n .finally(() => this.setState({ loading: false }))\n .catch(() => {}); //Do not remove: allows react-stripe-elements to display the error below the textfield\n };\n\n return (\n \n \n this.setState({ numberComplete })\n }\n setError={(numberError) => this.setState({ numberError })}\n stripeError={stripeError}\n />\n \n this.setState({ expiryComplete })\n }\n setError={(expiryError) => this.setState({ expiryError })}\n />\n this.setState({ cvcComplete })}\n setError={(cvcError) => this.setState({ cvcError })}\n isLastElement\n />\n \n );\n }\n }\n )\n);\n","import React, { useState } from \"react\"\nimport Alert from \"@mui/material/Alert\"\nimport Button from \"@mui/material/Button\"\nimport SvgIcon from \"@mui/material/SvgIcon\"\nimport Collapse from \"@mui/material/Collapse\"\nimport IconButton from \"@mui/material/IconButton\"\nimport { GenericDialog } from \"@igloocloud/igloosharedui\"\nimport { withTranslation } from \"react-i18next\"\n\nexport default withTranslation()(({ visible, mobile, t }) => {\n const [upgradeDialogOpen, setUpgradeDialogOpen] = useState(false)\n const openUpgradeDialog = () => setUpgradeDialogOpen(true)\n const closeUpgradeDialog = () => setUpgradeDialogOpen(false)\n\n return (\n <>\n \n \n \n \n \n \n \n \n ) : (\n \n )\n }\n style={{\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {t`Need more? Upgrade to Igloo Business`}\n \n
\n \n {\n closeUpgradeDialog()\n }}\n containedButtonProps={{\n component: \"a\",\n href:\n \"mailto:sales@igloo.ooo?subject=\" +\n t`Upgrading to Igloo Business` +\n \"&body=\" +\n t`Please describe your project and we'll reply with an offer tailored to your needs` +\n \".\",\n }}\n >\n {t`Thank you for considering upgrading to Igloo Business!`}
\n
\n {t`By clicking \"Upgrade\" you'll be able to get in touch with our sales team and get an offer tailored to your needs` +\n \".\"}\n \n \n )\n})\n","import React, { Component } from \"react\"\nimport IconButton from \"@mui/material/IconButton\"\nimport InputAdornment from \"@mui/material/InputAdornment\"\nimport TextField from \"@mui/material/TextField\"\nimport Clear from \"@mui/icons-material/Clear\"\nimport { GenericDialog } from \"@igloocloud/igloosharedui\"\nimport ClientContext from \"../ClientContext\"\nimport { withTranslation } from \"react-i18next\"\n\nexport default withTranslation()(\n class BillingSettings extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n vatNumber: props.user.vatNumber || \"\",\n }\n }\n\n static contextType = ClientContext\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.open !== this.props.open && nextProps.open) {\n this.setState({\n vatNumber: nextProps.user.vatNumber || \"\",\n })\n }\n }\n\n setVatInfo = async () => {\n this.setState({ loading: true })\n\n await this.context.mutation\n .updateUser({\n vatNumber: this.state.vatNumber || null,\n })\n .then(this.props.close)\n .finally(() => this.setState({ loading: false }))\n }\n\n render() {\n const { open, close, t } = this.props\n const { loading, vatNumber } = this.state\n\n return (\n = 256 ||\n loading\n }\n containedButtonLoading={loading}\n >\n = 256}\n helperText={vatNumber.length >= 256 ? t`Too long!` : \" \"}\n onChange={(event) =>\n this.setState({\n vatNumber: event.target.value,\n })\n }\n onKeyPress={(event) => {\n if (event.key === \"Enter\") {\n this.setVatInfo()\n }\n }}\n style={{\n width: \"100%\",\n }}\n InputLabelProps={vatNumber ? { shrink: true } : {}}\n InputProps={{\n endAdornment: vatNumber && (\n \n \n this.setState({\n vatNumber: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\">\n \n \n \n ),\n }}\n />\n \n );\n }\n }\n)\n","import React, { Component } from \"react\"\nimport Typography from \"@mui/material/Typography\"\nimport Table from \"@mui/material/Table\"\nimport TableRow from \"@mui/material/TableRow\"\nimport TableCell from \"@mui/material/TableCell\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Menu from \"@mui/material/Menu\"\nimport MenuItem from \"@mui/material/MenuItem\"\nimport ListItemIcon from \"@mui/material/ListItemIcon\"\nimport ListItemText from \"@mui/material/ListItemText\"\nimport Paper from \"@mui/material/Paper\"\nimport Collapse from \"@mui/material/Collapse\"\nimport Skeleton from \"@mui/material/Skeleton\"\nimport Alert from \"@mui/material/Alert\"\nimport MoreVert from \"@mui/icons-material/MoreVert\"\nimport Add from \"@mui/icons-material/Add\"\nimport Edit from \"@mui/icons-material/Edit\"\nimport InfoOutlined from \"@mui/icons-material/InfoOutlined\"\nimport RemoveCircleOutline from \"@mui/icons-material/RemoveCircleOutline\"\nimport moment from \"moment\"\nimport Moment from \"react-moment\"\nimport { withTranslation } from \"react-i18next\"\nimport {\n ErrorScreen,\n GenericDialog,\n debounce,\n countries,\n euroCountries,\n poundCountries,\n} from \"@igloocloud/igloosharedui\"\nimport PaymentError from \"./PaymentError\"\nimport BillingAddress from \"./BillingAddress\"\nimport CompanyInfo from \"./CompanyInfo\"\nimport CreditCardInfo from \"./CreditCardInfo\"\nimport UpgradeAlert from \"./UpgradeAlert\"\nimport VAT from \"./VAT\"\nimport ClientContext from \"../ClientContext\"\nimport i18n from \"../i18n\"\n\nconst {\n REACT_APP_MAIN_BACKGROUND_COLOR: backgroundColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n REACT_APP_ERROR_COLOR: errorColor,\n REACT_APP_LIGHT_COLOR: lightColor,\n} = process.env\n\nexport default withTranslation()(\n class Payments extends Component {\n state = {\n alertOpen: false,\n throughputPickerOpen: false,\n storagePickerOpen: false,\n item: \"\",\n price: \"\",\n vatRate: null,\n anchorEl: null,\n target: null,\n addressOpen: false,\n creditCardOpen: false,\n companyOpen: false,\n vatOpen: false,\n removeItemOpen: false,\n loading: false,\n width: 0,\n }\n\n static contextType = ClientContext\n\n updateDimensions = () => {\n if (this.state.width !== window.innerWidth) {\n this.setState({ width: window.innerWidth })\n }\n }\n\n componentDidMount() {\n this.updateDimensions()\n window.addEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n render() {\n const { mobile, userProps, t } = this.props\n const {\n anchorEl,\n target,\n addressOpen,\n creditCardOpen,\n companyOpen,\n vatOpen,\n removeItemOpen,\n loading,\n width,\n } = this.state\n const cellStyle = { height: \"32px\" }\n\n const subscriptionPrice = userProps.data\n ? userProps.data.billingPlan === \"BUSINESS\" &&\n userProps.data.businessPricing.price !== 0\n ? userProps.data\n ? userProps.data.businessPricing.price / 100\n : \"\"\n : 0\n : null\n const vatRate = userProps.data ? userProps.data.vatRate / 100 : null\n const vat = vatRate ? subscriptionPrice * vatRate : null\n const total = vat ? subscriptionPrice + vat : subscriptionPrice\n\n const currency = userProps.data\n ? euroCountries.includes(userProps.data.addressCountryOrTerritory)\n ? \"€\"\n : poundCountries.includes(userProps.data.addressCountryOrTerritory)\n ? \"£\"\n : \"$\"\n : \"\"\n\n const tableCellStyle = {\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n }\n\n const summaryLoaded =\n userProps.data && vatRate !== null && vatRate !== undefined\n\n const formatPrice = (price) =>\n price.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\n\n return (\n <>\n \n \n {userProps.error ? (\n {\n userProps.refetch()\n }}\n error={userProps.error}\n />\n ) : (\n <>\n \n {t`Billing details`}\n \n = 0 &&\n subscriptionPrice !== 0\n }\n >\n \n }\n >\n {userProps.data &&\n (moment\n .utc()\n .diff(\n moment.utc(userProps.data.nextBillingDate),\n \"days\"\n ) === 0 ? (\n t`Your next payment is today`\n ) : (\n t`Your next payment is ` + date}\n >\n {moment.utc(userProps.data.nextBillingDate)}\n \n ))}\n \n
\n \n \n \n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n t`Credit card`\n ) : (\n \n )}\n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n userProps.data.cardLast4Digits ? (\n width > 450 ? (\n \"•••• •••• •••• \" + userProps.data.cardLast4Digits\n ) : (\n \"•••• \" + userProps.data.cardLast4Digits\n )\n ) : (\n {t`Required`}\n )\n ) : (\n \n )}\n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n userProps.data.cardLast4Digits ? (\n userProps.data.billingPlan === \"BASIC\" ||\n (userProps.data.billingPlan === \"BUSINESS\" &&\n !userProps.data.businessPricing.price) ? (\n \n this.setState({\n anchorEl: event.currentTarget,\n target: \"creditCard\",\n })\n }\n size=\"large\"\n >\n \n \n ) : (\n \n this.setState({\n creditCardOpen: true,\n anchorEl: null,\n })\n }\n size=\"large\"\n >\n \n \n )\n ) : (\n \n this.setState({ creditCardOpen: true })\n }\n size=\"large\"\n >\n \n \n )\n ) : (\n \n )}\n \n \n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n t`Address`\n ) : (\n \n )}\n \n \n {userProps.data ? (\n userProps.data.addressLine1 &&\n userProps.data.addressPostalCode &&\n userProps.data.addressCity &&\n userProps.data.addressState &&\n userProps.data.addressCountryOrTerritory ? (\n `${userProps.data.addressLine1}, ${\n userProps.data.addressCity\n }, ${\n i18n.language === \"en\"\n ? countries.find(\n (country) =>\n country.code ===\n userProps.data.addressCountryOrTerritory\n ).en\n : countries.find(\n (country) =>\n country.code ===\n userProps.data.addressCountryOrTerritory\n ).it\n }`\n ) : (\n {t`Required`}\n )\n ) : (\n \n )}\n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n userProps.data.addressLine1 &&\n userProps.data.addressPostalCode &&\n userProps.data.addressCity &&\n userProps.data.addressState &&\n userProps.data.addressCountryOrTerritory ? (\n userProps.data.billingPlan === \"BASIC\" ||\n (userProps.data.billingPlan === \"BUSINESS\" &&\n !userProps.data.price) ? (\n \n this.setState({\n anchorEl: event.currentTarget,\n target: \"address\",\n })\n }\n size=\"large\"\n >\n \n \n ) : (\n \n this.setState({\n addressOpen: true,\n anchorEl: null,\n })\n }\n size=\"large\"\n >\n \n \n )\n ) : (\n \n this.setState({ addressOpen: true })\n }\n size=\"large\"\n >\n \n \n )\n ) : (\n \n )}\n \n \n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n t`Company`\n ) : (\n \n )}\n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n userProps.data.companyName\n ) : (\n \n )}\n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n userProps.data.companyName ? (\n \n this.setState({\n anchorEl: event.currentTarget,\n target: \"company\",\n })\n }\n size=\"large\"\n >\n \n \n ) : (\n \n this.setState({ companyOpen: true })\n }\n size=\"large\"\n >\n \n \n )\n ) : (\n \n )}\n \n \n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n t`VAT number`\n ) : (\n \n )}\n \n \n {userProps.data &&\n vatRate !== null &&\n vatRate !== undefined ? (\n userProps.data.vatNumber\n ) : (\n \n )}\n \n \n {userProps.data ? (\n userProps.data.vatNumber &&\n vatRate !== null &&\n vatRate !== undefined ? (\n \n this.setState({\n anchorEl: event.currentTarget,\n target: \"vat\",\n })\n }\n size=\"large\"\n >\n \n \n ) : (\n this.setState({ vatOpen: true })}\n size=\"large\"\n >\n \n \n )\n ) : (\n \n )}\n \n \n \n \n \n {t`Your bill`}\n \n \n \n \n \n \n {summaryLoaded ? (\n \"Igloo \" +\n userProps.data.billingPlan[0] +\n userProps.data.billingPlan.slice(1).toLowerCase()\n ) : (\n \n )}\n \n \n {summaryLoaded ? (\n currency + formatPrice(subscriptionPrice.toFixed(2))\n ) : (\n \n )}\n \n \n \n \n {summaryLoaded ? (\n t`VAT` + ` (${userProps.data.vatRate}%)`\n ) : (\n \n )}\n \n \n {summaryLoaded ? (\n currency + formatPrice(vat.toFixed(2))\n ) : (\n \n )}\n \n \n \n \n {summaryLoaded ? t`Total` : }\n \n \n {summaryLoaded ? (\n currency + formatPrice(total.toFixed(2))\n ) : (\n \n )}\n \n \n
\n \n \n )}\n
\n this.setState({ anchorEl: null })}\n anchorOrigin={{\n vertical: \"top\",\n horizontal: \"right\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"right\",\n }}\n PaperProps={{ style: { backgroundColor } }}\n >\n \n this.setState(\n target === \"creditCard\"\n ? { creditCardOpen: true, anchorEl: null }\n : target === \"address\"\n ? { addressOpen: true, anchorEl: null }\n : target === \"company\"\n ? { companyOpen: true, anchorEl: null }\n : { vatOpen: true, anchorEl: null }\n )\n }\n >\n \n \n \n \n \n \n this.setState({ removeItemOpen: true, anchorEl: null })\n }\n >\n \n \n \n \n \n \n \n this.setState({\n removeItemOpen: false,\n })\n }\n textButton={t`Close`}\n textButtonFunction={() =>\n this.setState({\n removeItemOpen: false,\n })\n }\n isContainedButtonRed\n containedButton={t`Remove`}\n containedButtonLoading={loading}\n containedButtonFunction={async () => {\n try {\n this.setState({ loading: true })\n\n if (target === \"creditCard\") {\n await this.context.mutation.updatePaymentMethod({\n stripePaymentMethod: null,\n })\n }\n\n if (target === \"address\") {\n await this.context.mutation.updateUser({\n addressLine1: null,\n addressLine2: null,\n addressCity: null,\n addressPostalCode: null,\n addressState: null,\n addressCountryOrTerritory: null,\n })\n }\n\n if (target === \"company\") {\n await this.context.mutation.updateUser({ companyName: null })\n }\n\n if (target === \"vat\") {\n await this.context.mutation.updateUser({ vatNumber: null })\n }\n\n this.setState({ removeItemOpen: false })\n } finally {\n this.setState({ loading: false })\n }\n }}\n >\n {t(\n target === \"creditCard\"\n ? t`Are you sure you want to remove your credit card from this account?`\n : target === \"address\"\n ? t`Are you sure you want to remove your address from this account?`\n : target === \"company\"\n ? t`Are you sure you want to remove your company info from this account?`\n : t`Are you sure you want to remove your VAT number from this account?`\n )}\n \n {userProps.data && (\n <>\n this.setState({ addressOpen: false })}\n user={userProps.data}\n />\n this.setState({ creditCardOpen: false })}\n user={userProps.data}\n />\n this.setState({ companyOpen: false })}\n user={userProps.data}\n />\n this.setState({ vatOpen: false })}\n user={userProps.data}\n />\n \n )}\n \n )\n }\n }\n)\n","import React, { useState, useContext } from \"react\"\nimport { GenericDialog } from \"@igloocloud/igloosharedui\"\nimport ClientContext from \"../ClientContext\"\nimport moment from \"moment\"\nimport Moment from \"react-moment\"\nimport clipboardCopy from \"clipboard-copy\"\nimport { downloadText } from \"download.js\"\nimport { svg2png } from \"svg-png-converter\"\nimport CircularProgress from \"@mui/material/CircularProgress\"\nimport List from \"@mui/material/List\"\nimport ListItem from \"@mui/material/ListItem\"\nimport ListItemIcon from \"@mui/material/ListItemIcon\"\nimport ListItemText from \"@mui/material/ListItemText\"\nimport SvgIcon from \"@mui/material/SvgIcon\"\nimport Zoom from \"@mui/material/Zoom\"\nimport { withTranslation } from \"react-i18next\"\n\nconst {\n REACT_APP_NAME: appName,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n} = process.env\n\nconst sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))\n\nexport default withTranslation()(({ open, close, thing, t }) => {\n const [showConfirm, setShowConfirm] = useState(false)\n const [showCopy, setShowCopy] = useState(true)\n const [copyRan, setCopyRan] = useState(false)\n const [showLoading, setShowLoading] = useState(false)\n const [showDownload, setShowDownload] = useState(true)\n const [downloadRan, setDownloadRan] = useState(false)\n\n const client = useContext(ClientContext)\n\n return (\n \n
\n {t`ID`}: \n {thing.id}\n
\n {t`Pair code`}: \n {thing.pairCode}\n
\n {t`Type`}: \n {thing.type}\n
\n {thing.firmware && (\n <>\n {t`Firmware`}: \n {thing.firmware}\n
\n \n )}\n {t`Created`}: \n \n {moment.utc(thing.createdAt.split(\".\")[0], \"YYYY-MM-DDTh:mm:ss\")}\n \n
\n {t`Last seen` + \": \"}\n {thing.online ? (\n t`now`\n ) : (\n \n {moment.utc(thing.updatedAt.split(\".\")[0], \"YYYY-MM-DDTh:mm:ss\")}\n \n )}\n
\n
\n \n {\n clipboardCopy(thing.token)\n\n //this way the zoom animation isn't shown when the dialog opens\n setCopyRan(true)\n\n setShowCopy(false)\n setShowConfirm(true)\n await sleep(1000)\n setShowConfirm(false)\n setShowCopy(true)\n }}\n >\n \n {showConfirm && (\n \n \n \n \n \n \n \n )}\n {showCopy && (\n \n \n \n \n \n \n \n )}\n \n \n {t`Copy token`}\n \n \n {\n //this way the zoom animation isn't shown when the dialog opens\n setDownloadRan(true)\n setShowDownload(false)\n setShowLoading(true)\n\n await downloadText(\n appName + \" - \" + thing.type + \".jpeg\",\n await svg2png({\n input: (await client.query.thing(thing.id).qrCode).trim(),\n encoding: \"buffer\",\n format: \"jpeg\",\n })\n )\n\n setShowLoading(false)\n setShowDownload(true)\n }}\n >\n \n {showLoading && (\n \n )}\n {showDownload && (\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n {t`Download QR code`}\n \n \n \n \n )\n})\n","import React, { Component } from \"react\"\nimport { GenericDialog } from \"@igloocloud/igloosharedui\"\nimport ClientContext from \"../ClientContext\"\nimport TextField from \"@mui/material/TextField\"\nimport InputAdornment from \"@mui/material/InputAdornment\"\nimport IconButton from \"@mui/material/IconButton\"\nimport Clear from \"@mui/icons-material/Clear\"\nimport { Redirect } from \"react-router-dom\"\nimport { withTranslation } from \"react-i18next\"\n\nexport default withTranslation()(\n class CreateThingDialog extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n type: \"\",\n typeEmpty: \"\",\n typeError: \"\",\n firmware: \"\",\n firmwareEmpty: \"\",\n redirect: \"\",\n }\n }\n\n static contextType = ClientContext\n\n createThing = () => {\n const { t } = this.props\n const { type, firmware } = this.state\n\n if (\n type.replace(/\\s/g, \"\").length &&\n type.length < 256 &&\n firmware.length < 256\n ) {\n this.setState({ createThingLoading: true })\n\n this.context.mutation\n .createThing({\n type,\n firmware: firmware.trim() || null,\n })\n .then(({ id }) => {\n this.props.close()\n\n this.setState({ redirect: \"/things?id=\" + id })\n })\n .catch((error) =>\n error.toString() ===\n \"Error: GraphQL error: You reached the maximum amount of things you can create with this plan\"\n ? this.setState({\n typeError: t`You created too many things`,\n })\n : this.setState({ typeError: t`Error` })\n )\n .finally(() => this.setState({ createThingLoading: false }))\n }\n }\n\n editThing = () => {\n const { type, firmware } = this.state\n\n if (\n type.replace(/\\s/g, \"\").length &&\n type.length < 256 &&\n firmware.length < 256\n ) {\n this.setState({ createThingLoading: true })\n\n this.context.mutation\n .updateThing({\n id: this.props.thingId,\n type,\n firmware: firmware.trim() || null,\n })\n .then(this.props.close)\n .finally(() => this.setState({ createThingLoading: false }))\n }\n }\n\n componentWillReceiveProps(nextProps) {\n // closing the dialog resets the textfield state\n if (nextProps.open !== this.props.open && nextProps.open) {\n this.setState({\n type: nextProps.currentType || \"\",\n typeEmpty: \"\",\n typeError: \"\",\n firmware: nextProps.currentFirmware || \"\",\n firmwareEmpty: \"\",\n })\n }\n }\n\n render() {\n const { open, close, edit, t } = this.props\n const {\n type,\n typeEmpty,\n typeError,\n firmware,\n redirect,\n createThingLoading,\n } = this.state\n\n if (redirect) {\n const tempRedirect = redirect\n\n this.setState({ redirect: \"\" })\n\n return \n }\n\n return (\n = 256 ||\n firmware.length >= 256 ||\n createThingLoading\n }\n containedButtonLoading={createThingLoading}\n >\n = 256}\n helperText={\n type.length >= 256\n ? t`Too long!`\n : typeEmpty\n ? t`This field is required`\n : typeError\n ? typeError\n : \" \"\n }\n onChange={(event) =>\n this.setState({\n type: event.target.value,\n typeEmpty: event.target.value.replace(/\\s/g, \"\") === \"\",\n typeError: \"\",\n })\n }\n onKeyPress={(event) => {\n if (event.key === \"Enter\") {\n if (edit) this.editThing()\n else this.createThing()\n }\n }}\n style={{\n width: \"100%\",\n marginBottom: \"16px\",\n }}\n InputLabelProps={type ? { shrink: true } : {}}\n InputProps={{\n endAdornment: type && (\n \n \n this.setState({\n type: \"\",\n typeEmpty: true,\n typeError: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\">\n \n \n \n ),\n }}\n required\n />\n = 256}\n helperText={firmware.length >= 256 ? t`Too long!` : \" \"}\n onChange={(event) =>\n this.setState({\n firmware: event.target.value,\n })\n }\n onKeyPress={(event) => {\n if (event.key === \"Enter\") {\n if (edit) this.editThing()\n else this.createThing()\n }\n }}\n style={{\n width: \"100%\",\n marginBottom: \"16px\",\n }}\n InputLabelProps={firmware ? { shrink: true } : {}}\n InputProps={{\n endAdornment: firmware && (\n \n \n this.setState({\n firmware: \"\",\n })\n }\n tabIndex=\"-1\"\n size=\"large\">\n \n \n \n ),\n }}\n />\n \n );\n }\n }\n)\n","import React, { Component } from \"react\"\nimport List from \"@mui/material/List\"\nimport ListItem from \"@mui/material/ListItem\"\nimport ListItemText from \"@mui/material/ListItemText\"\nimport ListItemSecondaryAction from \"@mui/material/ListItemSecondaryAction\"\nimport Switch from \"@mui/material/Switch\"\nimport { Redirect } from \"react-router-dom\"\nimport { withTranslation } from \"react-i18next\"\nimport { GenericDialog } from \"@igloocloud/igloosharedui\"\nimport ClientContext from \"../ClientContext\"\n\nexport default withTranslation()(\n class UnpairThingDialog extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n unpairThingOpen: false,\n reset: false,\n unpairThingLoading: false,\n redirect: \"\",\n }\n }\n\n static contextType = ClientContext\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.open !== this.props.open && nextProps.open) {\n this.setState({ reset: false })\n }\n }\n\n render() {\n const { open, close, thingId, t } = this.props\n const { reset, unpairThingLoading, redirect } = this.state\n\n if (redirect) {\n const tempRedirect = redirect\n\n this.setState({ redirect: \"\" })\n\n return \n }\n\n return (\n <>\n {\n this.setState({ unpairThingLoading: true })\n\n this.context.mutation\n .unpairThing({ id: thingId, reset })\n .then(() => {\n close()\n })\n .finally(() => this.setState({ unpairThingLoading: false }))\n }}\n containedButtonLoading={unpairThingLoading}\n containedButtonDisabled={unpairThingLoading}\n isContainedButtonRed\n >\n {t`Be careful, the owner of this thing will be unable to access it after you unpair it` +\n \".\"}\n \n \n \n \n \n this.setState({ reset: event.target.checked })\n }\n />\n \n \n \n \n \n )\n }\n }\n)\n","import React, { Component } from \"react\";\nimport queryStringify from \"querystringify\";\nimport { Redirect } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport { GenericDialog } from \"@igloocloud/igloosharedui\";\nimport ClientContext from \"../ClientContext\";\n\nexport default withTranslation()(\n class DeleteThingDialog extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n deleteThingOpen: false,\n reset: false,\n deleteThingLoading: false,\n redirect: \"\",\n };\n }\n\n static contextType = ClientContext;\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.open !== this.props.open && nextProps.open) {\n this.setState({ reset: false });\n }\n }\n\n render() {\n const { open, close, thingId, t } = this.props;\n const { deleteThingLoading, redirect } = this.state;\n\n if (redirect) {\n const tempRedirect = redirect;\n\n this.setState({ redirect: \"\" });\n\n return ;\n }\n\n return (\n {\n this.setState({ deleteThingLoading: true });\n\n this.context.mutation\n .deleteThing({ id: thingId })\n .then(() => {\n this.setState({\n deleteThingOpen: false,\n redirect:\n queryStringify.parse(window.location.search).id === thingId\n ? \"/things\"\n : \"\",\n });\n close();\n })\n .finally(() => this.setState({ deleteThingLoading: false }));\n }}\n containedButtonLoading={deleteThingLoading}\n containedButtonDisabled={deleteThingLoading}\n isContainedButtonRed\n >\n {t`Be careful, this thing will be deleted permanently` + \".\"}\n \n );\n }\n }\n);\n","import React, { Component } from \"react\"\nimport Zoom from \"@mui/material/Zoom\"\nimport Fab from \"@mui/material/Fab\"\nimport AppBar from \"@mui/material/AppBar\"\nimport Typography from \"@mui/material/Typography\"\nimport IconButton from \"@mui/material/IconButton\"\nimport ArrowBack from \"@mui/icons-material/ArrowBack\"\nimport Notifications from \"@mui/icons-material/Notifications\"\nimport NotificationsNone from \"@mui/icons-material/NotificationsNone\"\nimport { Link, Redirect } from \"react-router-dom\"\nimport queryStringify from \"querystringify\"\nimport { withTranslation } from \"react-i18next\"\nimport {\n MainBody,\n NotificationDrawer,\n debounce,\n} from \"@igloocloud/igloosharedui\"\nimport { Thing } from \"@igloocloud/react-igloo\"\nimport InfoOutlined from \"@mui/icons-material/InfoOutlined\"\nimport Edit from \"@mui/icons-material/Edit\"\nimport LinkOff from \"@mui/icons-material/LinkOff\"\nimport Delete from \"@mui/icons-material/Delete\"\nimport Divider from \"@mui/material/Divider\"\nimport ListItemIcon from \"@mui/material/ListItemIcon\"\nimport ListItemText from \"@mui/material/ListItemText\"\nimport MenuItem from \"@mui/material/MenuItem\"\nimport SwipeableDrawer from \"@mui/material/SwipeableDrawer\"\nimport ThingInfoDialog from \"./ThingInfoDialog\"\nimport CreateThingDialog from \"./CreateThingDialog\"\nimport UnpairThingDialog from \"./UnpairThingDialog\"\nimport DeleteThingDialog from \"./DeleteThingDialog\"\nimport MoreVert from \"@mui/icons-material/MoreVert\"\nimport tinyColor from \"tinycolor2\"\n\nconst {\n REACT_APP_TEXT_ON_MAIN_COLOR: textOnMainColor,\n REACT_APP_ERROR_COLOR: errorColor,\n REACT_APP_MAIN_BACKGROUND_COLOR: backgroundColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnBackgroundColor,\n} = process.env\n\nexport default withTranslation()(\n class ThingBody extends Component {\n state = {\n greaterThan560: false,\n redirect: false,\n thingInfoOpen: false,\n editThingOpen: false,\n unpairThingOpen: false,\n deleteThingOpen: false,\n drawerOpen: false,\n menuOpen: false,\n }\n\n updateDimensions = () => {\n if (window.innerWidth > 560) {\n !this.state.greaterThan560 && this.setState({ greaterThan560: true })\n } else {\n this.state.greaterThan560 && this.setState({ greaterThan560: false })\n }\n }\n\n componentDidMount() {\n this.updateDimensions()\n window.addEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n render() {\n const { mobile, id, logOut, t } = this.props\n const {\n drawerOpen,\n greaterThan560,\n redirect,\n thingInfoOpen,\n editThingOpen,\n unpairThingOpen,\n deleteThingOpen,\n menuOpen,\n } = this.state\n\n if (redirect) {\n const tempRedirect = redirect\n\n this.setState({ redirect: false })\n\n return \n }\n\n return (\n {\n if (queryStringify.parse(window.location.search).id === id) {\n this.setState({ redirect: \"/things\" })\n }\n }}\n >\n {({ data: thing, error }) => (\n <>\n {!mobile && (\n <>\n \n \n \n \n \n {thing?.type}\n \n
\n this.setState({ thingInfoOpen: true })}\n disabled={!thing}\n size=\"large\"\n >\n \n \n this.setState({ editThingOpen: true })}\n disabled={!thing}\n size=\"large\"\n >\n \n \n this.setState({ unpairThingOpen: true })}\n disabled={!thing?.owner?.email}\n size=\"large\"\n >\n \n \n this.setState({ deleteThingOpen: true })}\n disabled={!thing}\n size=\"large\"\n >\n \n \n
\n
\n \n \n )}\n {error &&\n (error.message ===\n \"GraphQL error: The requested resource does not exist\" ||\n error.message.startsWith(\n 'Argument \"id\" has invalid value'\n )) && }\n this.setState({ drawerOpen })}\n thingId={id}\n logOut={logOut}\n notificationCount={thing?.notificationCount}\n />\n \n \n redirect && this.setState({ redirect })\n }\n logOut={logOut}\n mobile={mobile}\n />\n \n \n this.setState({ drawerOpen: true })}\n color=\"secondary\"\n variant={greaterThan560 ? \"extended\" : \"round\"}\n style={{\n position: \"absolute\",\n right: \"16px\",\n bottom: mobile\n ? \"calc(40px + env(safe-area-inset-bottom))\"\n : \"calc(16px + env(safe-area-inset-bottom))\",\n zIndex: 1200,\n }}\n id=\"notification-fab\"\n >\n {thing?.notificationCount ? (\n \n ) : (\n \n )}\n {greaterThan560 && t`Notifications`}\n \n \n {mobile ? (\n \n \n \n \n \n \n {thing?.type}\n \n this.setState({ drawerOpen: true })}\n size=\"large\"\n >\n {thing?.notificationCount ? (\n \n ) : (\n \n )}\n \n this.setState({ menuOpen: true })}\n size=\"large\"\n >\n \n \n \n \n ) : (\n \"\"\n )}\n {thing && (\n <>\n this.setState({ thingInfoOpen: false })}\n thing={thing}\n />\n this.setState({ editThingOpen: false })}\n edit\n thingId={thing.id}\n currentType={thing.type}\n currentFirmware={thing.firmware}\n />\n this.setState({ unpairThingOpen: false })}\n thingId={thing.id}\n />\n this.setState({ deleteThingOpen: false })}\n thingId={thing.id}\n />\n \n )}\n \n )}\n this.setState({ menuOpen: true })}\n onClose={() => this.setState({ menuOpen: false })}\n disableBackdropTransition={false}\n disableDiscovery\n disableSwipeToOpen\n PaperProps={{\n style: {\n backgroundColor,\n },\n }}\n >\n \n this.setState({ thingInfoOpen: true, menuOpen: false })\n }\n >\n \n \n \n \n \n \n \n this.setState({ editThingOpen: true, menuOpen: false })\n }\n >\n \n \n \n \n \n \n this.setState({ unpairThingOpen: true, menuOpen: false })\n }\n >\n \n \n \n \n \n \n this.setState({ deleteThingOpen: true, menuOpen: false })\n }\n >\n \n \n \n \n \n \n \n )\n }\n }\n)\n","import React, { useState } from \"react\"\nimport moment from \"moment\"\nimport { withTranslation } from \"react-i18next\"\nimport Typography from \"@mui/material/Typography\"\nimport Table from \"@mui/material/Table\"\nimport TableHead from \"@mui/material/TableHead\"\nimport TableBody from \"@mui/material/TableBody\"\nimport TableCell from \"@mui/material/TableCell\"\nimport TableRow from \"@mui/material/TableRow\"\nimport TableSortLabel from \"@mui/material/TableSortLabel\"\nimport InputBase from \"@mui/material/InputBase\"\nimport Button from \"@mui/material/Button\"\nimport IconButton from \"@mui/material/IconButton\"\nimport LinearProgress from \"@mui/material/LinearProgress\"\nimport Skeleton from \"@mui/material/Skeleton\"\nimport { withStyles } from \"@mui/styles\"\nimport Add from \"@mui/icons-material/Add\"\nimport Search from \"@mui/icons-material/Search\"\nimport { Link } from \"react-router-dom\"\nimport ThingBody from \"./ThingBody\"\nimport querystringify from \"querystringify\"\nimport CreateThingDialog from \"./CreateThingDialog\"\nimport { ErrorScreen } from \"@igloocloud/igloosharedui\"\nimport { StyledEngineProvider, ThemeProvider } from \"@mui/material\"\nimport { createTheme, adaptV4Theme } from \"@mui/material/styles\"\n\nconst {\n REACT_APP_SECONDARY_BACKGROUND_COLOR: secondaryBackgroundColor,\n REACT_APP_TEXT_ON_SECONDARY_BACKGROUND_COLOR: textOnSecondaryBackgroundColor,\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnMainBackgroundColor,\n} = process.env\n\nexport default withTranslation()(\n withStyles(() => ({\n search: {\n position: \"relative\",\n borderRadius: 18,\n backgroundColor: secondaryBackgroundColor,\n width: \"calc(100% - 32px)\",\n \"&:hover\": {\n \"&:!disabled\": {\n backgroundColor: secondaryBackgroundColor,\n },\n },\n color: textOnSecondaryBackgroundColor,\n },\n searchIcon: {\n width: \"48px\",\n height: \"100%\",\n position: \"absolute\",\n pointerEvents: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n inputRoot: {\n color: \"inherit\",\n width: \"100%\",\n },\n inputInput: {\n padding: \"8px 8px 8px 48px\",\n width: 400,\n },\n }))(\n ({\n developerThingsProps,\n userProps,\n firmwareProps,\n logOut,\n t,\n classes,\n mobile,\n sortBy,\n setSortBy,\n sortDirection,\n setSortDirection,\n }) => {\n const [createThingOpen, setCreateThingOpen] = useState(false)\n const [loading, setLoading] = useState(false)\n const [search, setSearch] = useState(\"\")\n const {\n REACT_APP_MAIN_COLOR: color,\n REACT_APP_TEXT_ON_MAIN_COLOR: textColor,\n } = process.env\n let rows = []\n\n const queryMore = async (\n fetchFunction,\n developerThingCount,\n thingsData\n ) => {\n if (!queryMore.locked && developerThingCount > thingsData.length) {\n queryMore.locked = true\n\n setLoading(true)\n\n try {\n await fetchFunction(\n developerThingCount - thingsData.length >= 20\n ? 20\n : developerThingCount % 20\n )\n } finally {\n queryMore.locked = false\n\n setLoading(false)\n }\n }\n }\n\n if (developerThingsProps.data && userProps.data) {\n rows = developerThingsProps.data\n .filter(\n (thing) =>\n thing.type.toLowerCase().includes(search.toLowerCase()) ||\n thing.owner?.email.toLowerCase().includes(search.toLowerCase()) ||\n thing.id.toLowerCase().includes(search.toLowerCase())\n )\n .map(\n ({ id, type, createdAt, updatedAt, firmware, online, owner }) => ({\n id,\n type,\n firmware,\n online: online ? t`Yes` : t`No`,\n ownerEmail: owner?.email,\n createdAt,\n updatedAt,\n })\n )\n }\n\n const cellStyle = {\n whiteSpace: \"nowrap\",\n }\n\n return querystringify.parse(window.location.search).id ? (\n \n ) : (\n <>\n \n \n \n
\n \n
\n {\n const {\n target: { value },\n } = event\n\n setSearch(value)\n\n queryMore(\n developerThingsProps.fetchMore,\n userProps.data.developerThingCount,\n developerThingsProps.data\n )\n }}\n />\n \n {mobile && (\n setCreateThingOpen(true)}\n size=\"large\"\n >\n \n \n )}\n \n {!mobile && (\n \n \n \n }\n style={{ borderRadius: \"18px\" }}\n onClick={() => setCreateThingOpen(true)}\n >\n {t`Thing`}\n \n \n \n \n )}\n \n {loading && (\n \n )}\n {developerThingsProps.error ? (\n \n ) : (\n {\n if (\n event.target.scrollTop + event.target.clientHeight >=\n event.target.scrollHeight - 600 &&\n userProps.data &&\n developerThingsProps.data\n )\n queryMore(\n developerThingsProps.fetchMore,\n userProps.data.developerThingCount,\n developerThingsProps.data\n )\n }}\n >\n {rows.length || developerThingsProps.loading ? (\n \n \n \n {[\n { id: \"id\", name: t`ID`, width: \"120px\" },\n { id: \"type\", name: t`Type` },\n { id: \"ownerEmail\", name: t`Owner`, width: \"25%\" },\n { id: \"createdAt\", name: t`Created`, width: \"256px\" },\n {\n id: \"updatedAt\",\n name: t`Last updated`,\n width: \"256px\",\n },\n ].map(({ id, name, width }) => (\n \n {\n const isAsc =\n sortBy === id && sortDirection === \"ASCENDING\"\n setSortDirection(\n isAsc ? \"DESCENDING\" : \"ASCENDING\"\n )\n setSortBy(id)\n\n localStorage.setItem(\n \"sortingPreferences\",\n JSON.stringify([\n ...JSON.parse(\n localStorage.getItem(\"sortingPreferences\")\n ).filter(\n ({ id }) =>\n id !== localStorage.getItem(\"userId\")\n ),\n {\n id: localStorage.getItem(\"userId\"),\n sortBy: id,\n sortDirection: isAsc\n ? \"DESCENDING\"\n : \"ASCENDING\",\n },\n ])\n )\n }}\n >\n {name}\n \n \n ))}\n \n \n \n {(developerThingsProps.loading\n ? new Array(20).fill({})\n : rows.sort((a, b) =>\n a[sortBy]?.toLowerCase() > b[sortBy]?.toLowerCase()\n ? sortDirection === \"ASCENDING\"\n ? 1\n : -1\n : a[sortBy]?.toLowerCase() ===\n b[sortBy]?.toLowerCase()\n ? 0\n : sortDirection === \"ASCENDING\"\n ? -1\n : 1\n )\n ).map((row) => (\n \n \n {developerThingsProps.loading ? (\n \n ) : (\n row.id.split(\"-\")[0]\n )}\n \n \n {developerThingsProps.loading ? (\n \n ) : row.type.substring(0, 32).length <\n row.type.length ? (\n row.type.substring(0, 32) + \"...\"\n ) : (\n row.type\n )}\n \n \n {developerThingsProps.loading ? (\n \n ) : row.ownerEmail?.substring(0, 32).length <\n row.ownerEmail?.length ? (\n row.ownerEmail?.substring(0, 32) + \"...\"\n ) : (\n row.ownerEmail\n )}\n \n \n {developerThingsProps.loading ? (\n \n ) : (\n moment(row.createdAt).format(\n (userProps.data.dateFormat === \"DMY\"\n ? \"DD/MM/YYYY\"\n : userProps.data.dateFormat === \"MDY\"\n ? \"MM/DD/YYYY\"\n : userProps.data.dateFormat === \"YMD\"\n ? \"YYYY/MM/DD\"\n : \"YYYY/DD/MM\") +\n \" \" +\n (userProps.data.timeFormat === \"H12\"\n ? \"hh:mm:ss A\"\n : \"HH:mm:ss\")\n )\n )}\n \n \n {developerThingsProps.loading ? (\n \n ) : (\n moment(row.updatedAt).format(\n (userProps.data.dateFormat === \"DMY\"\n ? \"DD/MM/YYYY\"\n : userProps.data.dateFormat === \"MDY\"\n ? \"MM/DD/YYYY\"\n : userProps.data.dateFormat === \"YMD\"\n ? \"YYYY/MM/DD\"\n : \"YYYY/DD/MM\") +\n \" \" +\n (userProps.data.timeFormat === \"H12\"\n ? \"hh:mm:ss A\"\n : \"HH:mm:ss\")\n )\n )}\n \n \n ))}\n \n
\n ) : (\n \n {t`No things`}\n \n )}\n \n )}\n {userProps.data && (\n setCreateThingOpen(false)}\n />\n )}\n \n )\n }\n )\n)\n","import React, { Component, useState, useEffect, useContext } from \"react\"\nimport AppBar from \"@mui/material/AppBar\"\nimport Box from \"@mui/material/Box\"\nimport Grid from \"@mui/material/Grid\"\nimport Tabs from \"@mui/material/Tabs\"\nimport Tab from \"@mui/material/Tab\"\nimport HomeIcon from \"@mui/icons-material/Home\"\nimport DeveloperBoard from \"@mui/icons-material/DeveloperBoard\"\nimport AttachMoney from \"@mui/icons-material/AttachMoney\"\nimport Sidebar from \"./Sidebar\"\nimport Home from \"./home/Home\"\nimport Payments from \"./payments/Payments\"\nimport ThingMain from \"./things/ThingMain\"\nimport ThingBody from \"./things/ThingBody\"\nimport tinyColor from \"tinycolor2\"\nimport { Switch, Route, Link, Redirect, useLocation } from \"react-router-dom\"\nimport SwipeableRoutes from \"react-swipeable-routes\"\nimport Helmet from \"react-helmet\"\nimport { withTranslation } from \"react-i18next\"\nimport {\n SettingsDialog,\n EmailNotVerified,\n AccountPopover,\n PolicyDialog,\n} from \"@igloocloud/igloosharedui\"\nimport Igloo, { User, DeveloperThings, Metadata } from \"@igloocloud/react-igloo\"\nimport logo from \"./assets/logo.svg\"\nimport ClientContext from \"./ClientContext\"\n\nconst useQuery = () => new URLSearchParams(useLocation().search)\n\n//needed because redirect logic doesn't work in functional component\nclass AccountPopoverWrapper extends Component {\n state = {\n redirect: \"\",\n }\n\n render() {\n const { openSettings, user, logOut, changeAccount, isOpen, forceUpdate } =\n this.props\n const { redirect } = this.state\n\n if (redirect) {\n let tempRedirect = redirect\n this.setState({ redirect: \"\" })\n\n return (\n <>\n \n {forceUpdate()}\n \n )\n }\n\n return (\n this.setState({ redirect })}\n logOut={logOut}\n changeAccount={changeAccount}\n isOpen={isOpen}\n />\n )\n }\n}\n\nclass PolicyDialogWrapper extends Component {\n state = { acceptPrivacyPolicyOpen: false }\n\n componentWillReceiveProps(nextProps) {\n if (\n !this.props.data &&\n nextProps.data &&\n nextProps.metadata &&\n nextProps.data.privacyPolicyAccepted !==\n nextProps.metadata.privacyPolicyVersion\n ) {\n this.setState({ acceptPrivacyPolicyOpen: true })\n }\n }\n\n render() {\n const { data } = this.props\n const { acceptPrivacyPolicyOpen } = this.state\n\n return data ? (\n this.setState({ acceptPrivacyPolicyOpen: false })}\n user={data}\n />\n ) : null\n }\n}\n\nexport default withTranslation()(\n ({\n logOut,\n changeAccount,\n isOpen,\n forceUpdate,\n greaterThan1200,\n greaterThan1600,\n bearer,\n mobile,\n t,\n }) => {\n const [settingsOpen, setSettingsOpen] = useState(false)\n const [snackbarOpen, setSnackbarOpen] = useState(true)\n const [redirect, setRedirect] = useState(\"\")\n const [sortBy, setSortBy] = useState(\n JSON.parse(localStorage.getItem(\"sortingPreferences\")).find(\n ({ id }) => id === localStorage.getItem(\"userId\")\n )?.sortBy || \"type\"\n )\n const [sortDirection, setSortDirection] = useState(\n JSON.parse(localStorage.getItem(\"sortingPreferences\")).find(\n ({ id }) => id === localStorage.getItem(\"userId\")\n )?.sortDirection || \"ASCENDING\"\n )\n const query = useQuery()\n const { mutation } = useContext(ClientContext)\n\n useEffect(\n () => {\n mutation.updateUser({\n language:\n localStorage.getItem(\"language\") ||\n (navigator.language || navigator.userLanguage).slice(0, 2),\n })\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n )\n\n if (redirect) {\n let tempRedirect = redirect\n setRedirect(\"\")\n\n return (\n <>\n \n {forceUpdate()}\n \n )\n }\n\n const {\n REACT_APP_TEXT_ON_MAIN_BACKGROUND_COLOR: textOnMainBackgroundColor,\n REACT_APP_NAME: appName,\n REACT_APP_MAIN_COLOR: mainColor,\n } = process.env\n\n const desktopRoutes = (userProps, developerThingsProps, firmwareProps) => (\n \n \n \n \n \n \n \n {(!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\")) && (\n \n \n \n )}\n \n )\n\n const tabs = [\n }\n label={t`Home`}\n component={Link}\n to=\"/\"\n style={\n window.location.pathname === \"/\"\n ? { color: mainColor }\n : {\n color: tinyColor(textOnMainBackgroundColor).setAlpha(0.54),\n }\n }\n />,\n }\n label={t`Things`}\n component={Link}\n to=\"/things\"\n style={\n window.location.pathname === \"/things\"\n ? { color: mainColor }\n : {\n color: tinyColor(textOnMainBackgroundColor).setAlpha(0.54),\n }\n }\n />,\n (!localStorage.getItem(\"server\") ||\n localStorage.getItem(\"server\").includes(\".igloo.ooo\")) && (\n }\n label={t`Payments`}\n component={Link}\n to=\"/payments\"\n style={\n window.location.pathname === \"/payments\"\n ? { color: mainColor }\n : {\n color: tinyColor(textOnMainBackgroundColor).setAlpha(0.54),\n }\n }\n />\n ),\n ]\n\n return (\n \n \n {(metadataProps) => (\n logOut(true)}\n privateCloud={process.env.REACT_APP_PRIVATE_CLOUD}\n >\n \n {(userProps) => {\n if (\n userProps.error?.message ===\n \"GraphQL error: This user doesn't exist anymore\"\n ) {\n logOut(true)\n }\n\n return (\n logOut(true)}\n privateCloud={process.env.REACT_APP_PRIVATE_CLOUD}\n >\n {(firmwareProps) => (\n {\n if (query.get(\"id\") === id) {\n setRedirect(\"/things\")\n }\n }}\n >\n {(developerThingsProps) => {\n const selectedThing = developerThingsProps.data?.find(\n (thing) => thing.id === query.get(\"id\")\n )\n\n return (\n <>\n \n \n {appName +\n (window.location.pathname === \"/things\"\n ? developerThingsProps.data &&\n query.get(\"id\") &&\n selectedThing\n ? \" - \" + selectedThing.type\n : \" - \" + t`Things`\n : window.location.pathname === \"/payments\"\n ? \" - \" + t`Payments`\n : \"\")}\n \n \n {mobile ? (\n query.get(\"id\") ? (\n \n ) : (\n <>\n \n \n {tabs}\n \n \n \n \n \n \n \n \n \n {(!localStorage.getItem(\"server\") ||\n localStorage\n .getItem(\"server\")\n .includes(\".igloo.ooo\")) && (\n \n \n \n )}\n \n \n \n \n \n setSettingsOpen(true)\n }\n user={userProps.data}\n setRedirect={setRedirect}\n logOut={logOut}\n changeAccount={changeAccount}\n isOpen={isOpen}\n forceUpdate={forceUpdate}\n />\n \n \n \n )\n ) : greaterThan1200 ? (\n \n \n setSettingsOpen(true)}\n settingsOpen={settingsOpen}\n userProps={userProps}\n logOut={logOut}\n changeAccount={changeAccount}\n isOpen={isOpen}\n forceUpdate={forceUpdate}\n />\n \n \n {desktopRoutes(\n userProps,\n developerThingsProps,\n firmwareProps,\n true\n )}\n \n \n ) : (\n \n \n setSettingsOpen(true)}\n settingsOpen={settingsOpen}\n userProps={userProps}\n logOut={logOut}\n changeAccount={changeAccount}\n isOpen={isOpen}\n forceUpdate={forceUpdate}\n />\n \n \n {desktopRoutes(\n userProps,\n developerThingsProps,\n firmwareProps,\n false\n )}\n \n \n )}\n setSnackbarOpen(false)}\n user={userProps.data}\n developerThings={developerThingsProps.data}\n isPortal\n />\n \n \n )\n }}\n \n )}\n \n )\n }}\n \n )}\n \n \n )\n }\n)\n","export default __webpack_public_path__ + \"static/media/background-logo.73a47cf0.svg\";","export default __webpack_public_path__ + \"static/media/unauthenticated-logo.3806a3b1.svg\";","import React, { Component } from \"react\"\nimport {\n OfflineScreen,\n theme,\n UnauthenticatedApp,\n Error404,\n SharedUIProvider,\n debounce,\n importAll,\n} from \"@igloocloud/igloosharedui\"\nimport Client from \"@igloocloud/igloo.js\"\nimport ThemeProvider from \"@mui/material/styles/ThemeProvider\"\nimport StyledEngineProvider from \"@mui/material/StyledEngineProvider\"\nimport { Switch, Redirect, Route } from \"react-router-dom\"\nimport querystringify from \"querystringify\"\nimport ClientContext from \"./ClientContext\"\nimport UserFetcher from \"./UserFetcher\"\nimport \"./App.css\"\nimport logo from \"./assets/logo.svg\"\nimport backgroundLogo from \"./assets/background-logo.svg\"\nimport unauthenticatedLogo from \"./assets/unauthenticated-logo.svg\"\nimport moment from \"moment\"\nimport { withTranslation } from \"react-i18next\"\nimport { version } from \"../package.json\"\n\nconst { REACT_APP_NAME: appName } = process.env\n\nconst setupServiceWorker = () => {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.register(\"serviceWorker.js\")\n }\n}\n\nexport default withTranslation()(\n class App extends Component {\n constructor(props) {\n super(props)\n\n if (!localStorage.getItem(\"accountList\")) {\n localStorage.setItem(\"accountList\", \"[]\")\n }\n if (!localStorage.getItem(\"sortingPreferences\")) {\n localStorage.setItem(\"sortingPreferences\", \"[]\")\n }\n if (!localStorage.getItem(\"sortDirection\")) {\n localStorage.setItem(\"sortDirection\", \"[]\")\n }\n if (!localStorage.getItem(\"language\")) {\n localStorage.setItem(\n \"language\",\n (navigator.language || navigator.userLanguage).slice(0, 2)\n )\n }\n\n const bearer =\n localStorage.getItem(\"accountList\") &&\n localStorage.getItem(\"userId\") &&\n JSON.parse(localStorage.getItem(\"accountList\")).filter(\n (account) => account.id === localStorage.getItem(\"userId\")\n )[0]\n ? JSON.parse(localStorage.getItem(\"accountList\")).filter(\n (account) => account.id === localStorage.getItem(\"userId\")\n )[0].token\n : \"\"\n\n if (!sessionStorage.getItem(\"loginBackground\")) {\n const importAll = (require) =>\n require.keys().reduce((acc, next) => {\n acc[next.replace(\"./\", \"\")] = require(next)\n return acc\n }, {})\n\n const images = importAll(\n require.context(\n \"./assets/loginBackgrounds\",\n false,\n /\\.(png|jpe?g|svg)$/\n )\n )\n\n sessionStorage.setItem(\n \"loginBackground\",\n Math.floor(Math.random() * Object.keys(images).length)\n )\n }\n\n this.state = {\n mobile: null,\n greaterThan1200: null,\n bearer,\n redirectTo: \"\",\n isMobile: null,\n isOnline: navigator.onLine,\n }\n\n setupServiceWorker()\n }\n\n updateDimensions = () => {\n if (window.innerWidth < 600) {\n !this.state.mobile && this.setState({ mobile: true })\n } else {\n this.state.mobile && this.setState({ mobile: false })\n }\n\n if (window.innerWidth > 1200) {\n !this.state.greaterThan1200 && this.setState({ greaterThan1200: true })\n } else {\n this.state.greaterThan1200 && this.setState({ greaterThan1200: false })\n }\n\n if (window.innerWidth > 1600) {\n !this.state.greaterThan1600 && this.setState({ greaterThan1600: true })\n } else {\n this.state.greaterThan1600 && this.setState({ greaterThan1600: false })\n }\n }\n\n logOut = (deleted) => {\n let currentAccountList = JSON.parse(localStorage.getItem(\"accountList\"))\n\n deleted\n ? (currentAccountList = currentAccountList.filter(\n (account) => account.id !== localStorage.getItem(\"userId\")\n ))\n : currentAccountList.filter(\n (account) => account.id === localStorage.getItem(\"userId\")\n )[0] &&\n (currentAccountList.filter(\n (account) => account.id === localStorage.getItem(\"userId\")\n )[0].token = \"\")\n\n localStorage.setItem(\"accountList\", JSON.stringify(currentAccountList))\n\n localStorage.setItem(\"userId\", \"\")\n\n this.setState({\n bearer: \"\",\n loggedOut: true,\n loginEmail: \"\",\n signupEmail: \"\",\n })\n }\n\n changeAccount = (userId, redirect) => {\n this.setState({\n bearer: \"\",\n loggedOut: true,\n userId,\n redirect,\n signupEmail: \"\",\n })\n localStorage.setItem(\"userId\", \"\")\n }\n\n componentDidMount() {\n this.updateDimensions()\n window.addEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", debounce(this.updateDimensions))\n }\n\n render() {\n const { i18n } = this.props\n const { isOnline } = this.state\n\n moment.updateLocale(\n i18n.language,\n i18n.language === \"en\"\n ? require(\"moment/locale/en-gb\")\n : require(\"moment/locale/\" + i18n.language)\n )\n\n if (\n querystringify.parse(window.location.search).user &&\n localStorage.getItem(\"accountList\") &&\n window.location.pathname !== \"/login\"\n ) {\n if (\n JSON.parse(localStorage.getItem(\"accountList\")).find(\n (account) =>\n account.id === querystringify.parse(window.location.search).user\n )\n ) {\n localStorage.setItem(\n \"userId\",\n querystringify.parse(window.location.search).user\n )\n\n this.setState({\n bearer: JSON.parse(localStorage.getItem(\"accountList\")).find(\n (account) =>\n account.id === querystringify.parse(window.location.search).user\n ).token,\n })\n }\n\n return \n }\n\n if (this.state.redirectTo) {\n let address = this.state.redirectTo\n this.setState({ redirectTo: \"\" })\n return \n }\n\n if (this.state.redirectToHidden) {\n let address = this.state.redirectToHidden\n this.setState({ redirectToHidden: \"\" })\n return \n }\n\n return (\n image.default),\n version,\n }}\n >\n \n \n \n {isOnline ? (\n \n \n {this.state.bearer ? (\n this.forceUpdate()}\n />\n ) : (\n \n )}\n \n \n this.forceUpdate()}\n changeBearer={(bearer) => this.setState({ bearer })}\n setHiddenRedirect={(redirectToHidden) =>\n this.setState({ redirectToHidden })\n }\n setRedirect={(redirectTo) =>\n this.setState({ redirectTo })\n }\n appName={appName}\n />\n \n \n this.forceUpdate()}\n changeBearer={(bearer) => this.setState({ bearer })}\n setRedirect={(redirectTo) =>\n this.setState({ redirectTo })\n }\n appName={appName}\n />\n \n \n this.forceUpdate()}\n changeBearer={(bearer) => this.setState({ bearer })}\n setRedirect={(redirectTo) =>\n this.setState({ redirectTo })\n }\n appName={appName}\n />\n \n \n this.setState({ bearer })}\n setRedirect={(redirectTo) =>\n this.setState({ redirectTo })\n }\n appName={appName}\n />\n \n \n \n this.setState({ redirectTo })\n }\n appName={appName}\n />\n \n \n ) : (\n \n )}\n \n \n \n \n )\n }\n }\n)\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { StripeProvider, Elements } from \"react-stripe-elements\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { I18nextProvider } from \"react-i18next\";\nimport i18n from \"./i18n\";\n\nReactDOM.render(\n \n \n {navigator.onLine ? (\n \n \n \n \n \n ) : (\n \n )}\n \n ,\n document.getElementById(\"root\")\n);\n","var map = {\n\t\"./loginBackground0.jpg\": 1385,\n\t\"./loginBackground1.jpg\": 1386\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 668;"],"sourceRoot":""}