{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/modal-popup.vue?54e1","webpack:///./src/components/modal-popup.vue?25a1","webpack:///./graphql/settings.gql","webpack:///./src/components/modal-popup.vue","webpack:///./src/components/modal-popup.vue?3b52","webpack:///./src/components/vue-utils.ts","webpack:///./src/components/header/header.vue?2cf1","webpack:///./src/store/mutations.ts","webpack:///./src/oidc.ts","webpack:///./src/helpers/api.ts","webpack:///./src/store/actions.ts","webpack:///./src/helpers/graphql.ts","webpack:///./src/store/graphql-actions.ts","webpack:///./src/pages/apps/actions.ts","webpack:///./src/pages/settings/actions.ts","webpack:///./src/helpers/index.ts","webpack:///./src/store/index.ts","webpack:///./src/pages/oidc/OidcCallback.vue?534c","webpack:///./src/pages/oidc/OidcCallback.vue?7fb6","webpack:///./src/pages/oidc/OidcCallback.vue?09a6","webpack:///./src/pages/oidc/OidcCallback.vue","webpack:///./src/pages/access.vue?4913","webpack:///./src/pages/access.vue?418f","webpack:///./src/pages/access.vue?5f0a","webpack:///./src/pages/access.vue","webpack:///./src/pages/apps/apps-list.vue?8e50","webpack:///./src/helpers/utils.ts","webpack:///./src/pages/apps/app-list-item.ts","webpack:///./src/pages/apps/apps-list.vue?6b74","webpack:///./src/pages/apps/apps-list.vue?7f75","webpack:///./src/pages/apps/apps-list.vue","webpack:///./src/pages/apps/app-versions-list.vue?0d9c","webpack:///./src/helpers/filters.ts","webpack:///./src/pages/apps/app-versions-list.vue?003a","webpack:///./src/pages/apps/app-versions-list.vue?c32c","webpack:///./src/pages/apps/app-versions-list.vue","webpack:///./src/pages/apps/app-version-summary.vue?9950","webpack:///./src/pages/apps/app-version-summary.vue?386c","webpack:///./src/pages/apps/app-version-summary.vue?f838","webpack:///./src/pages/apps/app-version-summary.vue","webpack:///./src/pages/apps/texts-edit.vue?7fe4","webpack:///./src/components/button-progress.ts","webpack:///./src/pages/apps/texts-edit.vue?1f9e","webpack:///./src/pages/apps/texts-edit.vue?e1e2","webpack:///./src/pages/apps/texts-edit.vue","webpack:///./src/pages/settings/settings.vue?74af","webpack:///./src/components/dropdown-menu/dropdown-menu.vue?47c6","webpack:///./src/helpers/dom.ts","webpack:///./src/components/dropdown-menu/dropdown-menu.vue?1b8c","webpack:///./src/components/dropdown-menu/dropdown-menu.vue?600c","webpack:///./src/components/dropdown-menu/dropdown-menu.vue","webpack:///./src/pages/settings/settings.vue?1a6a","webpack:///./src/pages/settings/settings.vue?ac0e","webpack:///./src/pages/settings/settings.vue","webpack:///./src/pages/settings/section-edit.vue?f797","webpack:///./src/pages/settings/section-edit.vue?6385","webpack:///./src/pages/settings/section-edit.vue?11b3","webpack:///./src/pages/settings/section-edit.vue","webpack:///./src/router.ts","webpack:///./src/base.ts","webpack:///./src/components/header/header.vue?7022","webpack:///./src/components/header/header.vue?9304","webpack:///./src/components/header/header.vue","webpack:///./src/components/page-path.vue?b046","webpack:///./src/components/page-path.vue?def4","webpack:///./src/components/page-path.vue?7ebc","webpack:///./src/components/page-path.vue","webpack:///./src/components/menu.vue?27fa","webpack:///./src/components/menu.vue?7e0c","webpack:///./src/components/menu.vue?3505","webpack:///./src/components/menu.vue","webpack:///./src/components/snackbar-popup.vue?21d3","webpack:///./src/components/snackbar-popup.vue?6836","webpack:///./src/components/snackbar-popup.vue?3ee2","webpack:///./src/components/snackbar-popup.vue","webpack:///./src/components/spinner.vue?1ba9","webpack:///./src/components/spinner.vue?432e","webpack:///./src/components/spinner.vue?94ab","webpack:///./src/components/spinner.vue","webpack:///./src/components/table.ts","webpack:///./src/components/entry-image/entry-image.vue?1b05","webpack:///./src/i18n.ts","webpack:///./src/components/entry-image/entry-image.vue?26ce","webpack:///./src/components/entry-image/entry-image.vue?d8d2","webpack:///./src/components/entry-image/entry-image.vue","webpack:///./src/components/WokDialogInput.vue?b5c4","webpack:///./src/components/WokDialogInput.vue?3730","webpack:///./src/components/WokDialogInput.vue?d21e","webpack:///./src/components/WokDialogInput.vue","webpack:///./src/components/WokInputTextDir.vue?13f2","webpack:///./src/components/WokInputTextDir.vue?612d","webpack:///./src/components/WokInputTextDir.vue?2dba","webpack:///./src/components/WokInputTextDir.vue","webpack:///./src/components/WokInputTextAreaDir.vue?0a03","webpack:///./src/components/WokInputTextAreaDir.vue?5631","webpack:///./src/components/WokInputTextAreaDir.vue?621a","webpack:///./src/components/WokInputTextAreaDir.vue","webpack:///./src/components/index.ts","webpack:///./src/helpers/media.ts","webpack:///./src/helpers/detector.ts","webpack:///./src/App.vue?fb10","webpack:///./src/App.vue?6ba4","webpack:///./src/App.vue?98d7","webpack:///./src/App.vue","webpack:///./src/main.ts","webpack:///./graphql/app.gql"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","class","type","_t","_e","staticRenderFns","doc","loc","source","collectFragmentReferences","node","refs","kind","add","selectionSet","selections","forEach","selection","variableDefinitions","def","definitions","definitionRefs","findOperation","element","oneQuery","operationName","newDoc","opRefs","Set","allRefs","newRefs","refName","size","prevRefs","has","childRefs","childRef","op","composition_api_1","require","componentName","defineComponent","props","show","Boolean","default","String","setup","context","watch","prevshow","document","body","style","overflow","hasHeader","computed","slots","header","hasActions","actions","component","registerComponents","Vue","components","includeComponents","includes","registerComponent","kebabize","toLowerCase","test","replace","isAccess","_v","_s","loggedUser","email","on","onLogout","setApps","state","apps","setAppVersions","appVersions","setAppVersionSummary","appVersionSummary","oidcUserManager","mutations","init","configure","userManagerSettings","response_type","scope","UserManager","signin","signinPopup","signout","signoutRedirect","getUserManager","checkAuthentication","dontUseSilentSignin","getUser","user","access_token","expires_in","signinSilent","base","checkVersionHeader","useOidc","serializeParameters","params","search","k","v","Array","isArray","x","encodeURIComponent","join","addAuthorization","headers","token","Authorization","http","a","paramsSerializer","initAction","location","protocol","host","interceptors","response","use","res","endsWith","reload","console","log","buildRequest","url","parameters","Date","getTime","discardableRequests","is401","error","status","href","isDiscardable","cts","cancel","CancelToken","method","cancelToken","request","post","del","profile","signIn","ctx","endpoint","then","commit","signOut","authenticationCheck","isAuthenticated","passwordSendUpdateEmail","passwordUpdate","prepareQuery","query","variables","headersJson","executeGraphQL","errors","getApps","getAppVersions","getAppVersionSummary","summary","updateKeys","updateAppSection","updateSection","updateAppSectionsTranslations","updateSectionsTranslations","addScreenInSection","addScreen","deleteSection","deleteScreen","loadApps","resultData","loadAppVersions","appId","loadAppVersionData","versionId","updateTranslationData","appVersionData","updateSections","section","screen","deleteSectionCall","sectionId","deleteScreenCall","screenId","copyArray","src","includeProp","dst","copy","copyObject","excludeProps","indexOf","setLoading","loading","isLoading","setLang","lang","locale","setNavigation","navigation","setUIMessage","message","uiMessage","clearUIMessage","setUISnackbar","snackbar","uiSnackbar","clearUISnackbar","setIsDevelopment","isDevelopment","setMobile","isMobile","resetUI","updateAuthentication","update","roles","getRoleObject","roleString","JSON","parse","role","some","hasTranslatorLanguage","translator","filter","languages","OPTIONS","getters","hasRole","getStore","Store","isSilent","pathname","userManager","signinSilentCallback","signinPopupCallback","_m","signinLoading","onSignin","useRouter","router","route","_l","$event","onItemClick","langCode","percentage","platform","mountedClass","iconName","AppListItem","functional","item","h","clickHandler","shortName","iconPlatformClass","click","store","pageBase","usePageBase","componentBase","useComponentBase","loaded","onCreated","nav","title","appShortName","appName","platformIconClass","appPlatform","totalPercentageCompletion","version","build","completionColor","filterLanguages","done","keysNumber","currency","precision","parseInt","Math","abs","toFixed","substr","extendedDate","dt","nullValue","date","format","dayName","monthName","euroAmount","zeroReplacement","dollarsAmount","percent","symbol","decimal","human","round","isoDate","isMoment","localizedDate","localizedExtendedDate","localizedFullDate","monthNameShort","monthNameFull","dayNameShort","dayNameFull","timeShort","timeFull","ifEmpty","emptyResult","isNullOrWhitespace","pnr","handle","partLen","toUpperCase","text","toString","trim","isNullOrTodo","startsWith","filters","day","year","month","routerTo","appNameForPagePath","appVersionsForList","listElement","langElements","getLanguageName","texts","total","floor","totalDone","perc","getCompletionColor","isUserAdmin","subtitle","doneCount","keysCount","langAtLoad","languageName","sections","UISection","directives","rawName","expression","domProps","todoOnlySwitch","_i","$$a","$$el","target","$$c","checked","$$v","$$i","$set","concat","saveProgress","onSave","slot","langId","model","callback","nonScreenshotKeys","selectedLangDirection","getReactiveKeyFromOriginal","selectedLang","langDirection","computeUISection","screenshotKeys","getImagePath","imageId","ButtonProgress","progress","disabled","buttonContent","screens","UISectionOriginal","getLangDirection","kOriginal","find","stringify","dispatch","todoOnly","appLanguages","keysIdCheckboxArray","onArrangeBack","onArrangeSave","sectionSelectOptions","onArrangeModeClick","onNewSection","isArrangeMode","isFirst","onUpPressedSection","isLast","onDownPressedSection","editSectionLink","onAddScreen","onSectionDelete","sc","scIndex","showScreenshotPreview","screenHasKeys","onUpPressedScreen","screenshots","onDownPressedScreen","onDeleteScreen","onSelectSectionChanged","onKeysMove","screenshotPreview","newSectionSaveProgress","newSectionName","showNewSectionDialog","onNewSectionSave","scopedSlots","_u","fn","ref","focus","showPopup","onClick","E","listener","isCapture","evt","removeEventListener","addEventListener","D","container","selector","msElement","msMatchesSelector","matches","parentElement","once","HTMLElement","inside","root","$el","keyReset","selectedSectionId","selectedScreenId","position","top","bottom","left","appVersionDataOriginal","UISections","sortSections","sortAllScreens","extended","hideScreenshotPreview","updateData","sort","b","ordinal","sortScreen","getScreenshotName","UIScreenshots","screenSelectOptions","selectedSection","screenshotPreviewCssStyle","index","rect","getBoundingClientRect","max","right","innerHeight","newSection","findIndex","Number","selectedPredecessor","selectedSuccessor","selectedScreen","classList","remove","dataToUpdate","prepareDataForArrangeSave","sectionsTranslations","sectionOriginal","screenOriginal","DropdownMenu","ModalPopup","makeGetImagePath","onImageRemove","arguments","argsArray","onImageUpload","image","basePath","routes","path","redirect","OidcCallback","meta","authorize","beforeEnter","to","from","next","adminOnly","scrollBehavior","savedPosition","defaultScroll","y","hash","beforeEach","check","args","matched","authorized","access","menu","imagePathFromId","imageIdFromPath","showNavigation","showMenu","onMenuClick","showMenuPopup","onMenuItemClick","items","snackbarClasses","propsInternal","onClose","activeTimeout","setTimeout","isActive","timeout","clearTimeout","prevIsActive","TableHeader","mergeClass","TableCell","TableLabel","isStretch","cellClassName","entryClassName","label","hasSrc","srcPreview","buttonAddLabel","onImageChange","onRemoveClick","buttonRemoveLabel","srcDownload","buttonDownloadLabel","Function","variant","userdata","downloadFormat","readonly","locked","mandatory","valid","showErrors","isReadonly","entryId","validate","forceEmit","oldValid","emit","HTMLInputElement","file","files","onRequestHideDialog","onInput","inputFocus","cancelLabel","confirmDisabled","onEmitInput","confirmLabel","undefined","currValue","wrapperClasses","$scopedSlots","inputClasses","placeholder","isReadOnly","isDisabled","computedTestName","dir","formattedValue","onFocus","onBlur","onKeyDown","showReset","actionSequentialFocus","onReset","onAutoCompleteItemClick","selected","acIndex","formatAutoCompleteItem","autoComplete","autoCompleteFmt","dafault","resetValue","fmt","testName","prop","event","inputElement","focused","acCached","acValues","acElementsList","acIndexStep","step","showError","acFocused","acOnFocus","isTrue","acOnBlur","acEnabled","acAutoCompleteUpdate","hint","promiseOrResult","acSelectItemByIndex","children","textContent","Element","previousElementSibling","KeyboardEvent","preventDefault","reset","textAreaElement","HTMLTextAreaElement","autoExpand","el","height","getComputedStyle","scrollHeight","getPropertyValue","install","options","loadTranslations","translations","en","it","split","fallbackLocale","messages","setImagesBasePath","imagesBasePath","uploadImage","initMediaModule","namespaced","initDetector","detector","createElement","appendChild","oldW","detect","w","clientWidth","isdevelopment","i18n","hostname","oidc","onload","mixin","config","productionTip","registerModule","level","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,IAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,gECvJT,IAAIyC,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOpC,EAAoBqC,GAE5B,SAASC,EAAsBF,GAC9B,IAAIpC,EAAoBW,EAAEuB,EAAKE,GAAM,CACpC,IAAIG,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KAEjD,MADAG,EAAEE,KAAO,mBACHF,EAEP,OAAOL,EAAIE,GAEZD,EAAeO,KAAO,WACrB,OAAO5D,OAAO4D,KAAKR,IAEpBC,EAAeQ,QAAUL,EACzBlC,EAAOD,QAAUgC,EACjBA,EAAeE,GAAK,Q,wGCnSpB,IAAIO,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,gBAAgB,CAAEN,EAAQ,KAAEI,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACI,MAAO,eAAiBR,EAAIS,MAAO,CAAET,EAAa,UAAEI,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACP,EAAIU,GAAG,WAAW,GAAGV,EAAIW,KAAKP,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACP,EAAIU,GAAG,YAAY,GAAIV,EAAc,WAAEI,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACP,EAAIU,GAAG,YAAY,GAAGV,EAAIW,SAASX,EAAIW,QACteC,EAAkB,I,kCCDtB,yBAAwZ,eAAG,G,qBCCvZ,IAAIC,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,MAAQ,CAAC,KAAO,OAAO,MAAQ,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,WAAa,OAAO,CAAC,KAAO,sBAAsB,UAAY,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iCAAiC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,gCAAgC,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,MAAQ,CAAC,KAAO,OAAO,MAAQ,8BAA8B,KAAO,CAAC,KAAO,OAAO,MAAQ,8BAA8B,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,2BAA2B,WAAa,OAAO,CAAC,KAAO,sBAAsB,UAAY,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,MAAQ,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,WAAa,OAAO,CAAC,KAAO,sBAAsB,UAAY,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,MAAQ,CAAC,KAAO,OAAO,MAAQ,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,WAAa,OAAO,CAAC,KAAO,sBAAsB,UAAY,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,MAAQ,CAAC,KAAO,OAAO,MAAQ,gBAAgB,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,QAAQ,IAAM,CAAC,MAAQ,EAAE,IAAM,MACr+GA,EAAIC,IAAIC,OAAS,CAAC,KAAO,8mBAA8mB,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBpsB,SAASC,EAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKE,KACPD,EAAKE,IAAIH,EAAKrD,KAAKS,YACd,GAAkB,uBAAd4C,EAAKE,KAA+B,CAC7C,IAAIV,EAAOQ,EAAKR,KACE,cAAdA,EAAKU,MACPD,EAAKE,IAAIX,EAAK7C,KAAKS,OAInB4C,EAAKI,cACPJ,EAAKI,aAAaC,WAAWC,SAAQ,SAASC,GAC5CR,EAA0BQ,EAAWN,MAIrCD,EAAKQ,qBACPR,EAAKQ,oBAAoBF,SAAQ,SAASG,GACxCV,EAA0BU,EAAKR,MAI/BD,EAAKU,aACPV,EAAKU,YAAYJ,SAAQ,SAASG,GAChCV,EAA0BU,EAAKR,MAKrC,IAAIU,EAAiB,GAWrB,SAASC,EAAchB,EAAKjD,GAC1B,IAAK,IAAI9B,EAAI,EAAGA,EAAI+E,EAAIc,YAAY3F,OAAQF,IAAK,CAC/C,IAAIgG,EAAUjB,EAAIc,YAAY7F,GAC9B,GAAIgG,EAAQlE,MAAQkE,EAAQlE,KAAKS,OAAST,EACxC,OAAOkE,GAKb,SAASC,EAASlB,EAAKmB,GAErB,IAAIC,EAAS,CACXd,KAAMN,EAAIM,KACVQ,YAAa,CAACE,EAAchB,EAAKmB,KAE/BnB,EAAI1E,eAAe,SACrB8F,EAAOnB,IAAMD,EAAIC,KAKnB,IAAIoB,EAASN,EAAeI,IAAkB,IAAIG,IAC9CC,EAAU,IAAID,IACdE,EAAU,IAAIF,IAGlBD,EAAOX,SAAQ,SAASe,GACtBD,EAAQjB,IAAIkB,MAGd,MAAOD,EAAQE,KAAO,EAAG,CACvB,IAAIC,EAAWH,EACfA,EAAU,IAAIF,IAEdK,EAASjB,SAAQ,SAASe,GACxB,IAAKF,EAAQK,IAAIH,GAAU,CACzBF,EAAQhB,IAAIkB,GACZ,IAAII,EAAYd,EAAeU,IAAY,IAAIH,IAC/CO,EAAUnB,SAAQ,SAASoB,GACzBN,EAAQjB,IAAIuB,UAapB,OAPAP,EAAQb,SAAQ,SAASe,GACvB,IAAIM,EAAKf,EAAchB,EAAKyB,GACxBM,GACFX,EAAON,YAAYrF,KAAKsG,MAIrBX,GA9DT,WACEpB,EAAIc,YAAYJ,SAAQ,SAASG,GAC/B,GAAIA,EAAI9D,KAAM,CACZ,IAAIsD,EAAO,IAAIiB,IACfnB,EAA0BU,EAAKR,GAC/BU,EAAeF,EAAI9D,KAAKS,OAAS6C,OALvC,GAiEA3D,EAAOD,QAAUuD,EAEbtD,EAAOD,QAAQ,oBAAsByE,EAASlB,EAAK,oBAEnDtD,EAAOD,QAAQ,iCAAmCyE,EAASlB,EAAK,iCAEhEtD,EAAOD,QAAQ,aAAeyE,EAASlB,EAAK,aAE5CtD,EAAOD,QAAQ,iBAAmByE,EAASlB,EAAK,iBAEhDtD,EAAOD,QAAQ,gBAAkByE,EAASlB,EAAK,iB,yjMC/HvD5E,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,IACtD,IAAIwE,EAAoBC,EAAQ,QAC5BC,EAAgB,cACpBzF,EAAO,WAAWuF,EAAkBG,gBAAgB,CAChDC,MAAO,CACHC,KAAM,CAAEzC,KAAM0C,QAASC,SAAS,GAChC3C,KAAM,CAAEA,KAAM4C,OAAQD,QAAS,iBAEnCxF,KAAMmF,EACNO,MAAO,SAAUL,EAAOM,GACpBV,EAAkBW,OAAM,WAAc,OAAOP,EAAMC,QAAS,SAAUA,EAAMO,GACxER,EAAMC,KAAOQ,SAASC,KAAKC,MAAMC,SAAW,SAAWH,SAASC,KAAKC,MAAMC,SAAW,MAE1F,IAAIC,EAAYjB,EAAkBkB,UAAS,WACvC,OAAOR,EAAQS,MAAMC,UAErBC,EAAarB,EAAkBkB,UAAS,WACxC,OAAOR,EAAQS,MAAMG,WAEzB,MAAO,CACHL,UAAWA,EACXI,WAAYA,O,yDCtBxB,wCAOIE,EAAY,eACd,aACA,OACA,QACA,EACA,KACA,KACA,MAIa,aAAAA,E,2pEClBT,SAAUC,EAAmBC,EAAUC,EAAoBC,GAC7D,IAAK,IAAI7F,KAAO4F,EACPC,IAAqBA,EAAkBC,SAAS9F,IACjD+F,EAAkBJ,EAAK3F,EAAW4F,EAAY5F,IAKpD,SAAU+F,EAAkBJ,EAAU3F,EAAayF,GACrDE,EAAIF,UAAUA,EAAUxG,MAAQ+G,EAAShG,GAAMyF,GAGnD,SAASO,EAAShG,GAGd,IAFA,IAAIvB,EAAI,GAAIyB,GAAI,EAEP/C,EAAI,EAAIA,EAAI6C,EAAI3C,OAASF,IAC1B6C,EAAI7C,GAAG8I,eAAiBjG,EAAI7C,IAAO,KAAK+I,KAAKlG,EAAI7C,MAAQ+C,GACzDzB,GAAK,IACLA,GAAIuB,EAAI7C,GAAG8I,eAGXxH,GAAKuB,EAAI7C,GAGb+C,EAAI,KAAKgG,KAAKlG,EAAI7C,IAGtB,OAAOsB,EAAE0H,QAAQ,aAAc,IC3BnC,IAAI,EAAS,WAAa,IAAI9E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,SAAS,CAACI,MAAM,CAAC,SAAU,CAAE,iBAAkBR,EAAI+E,YAAa,CAAC3E,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,cAAc,CAACG,YAAY,WAAWC,MAAM,CAAE,qBAAsBR,EAAI+E,UAAWzE,MAAM,CAAC,IAAM,MAAM,GAAK,CAAE1C,KAAM,UAAW,CAACwC,EAAG,MAAM,CAACG,YAAY,OAAOD,MAAM,CAAC,IAAM,qCAAsCN,EAAmB,gBAAEI,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,MAAM,CAACG,YAAY,QAAQ,CAACH,EAAG,OAAO,CAACG,YAAY,+BAA+B,CAAEP,EAAY,SAAE,CAACA,EAAIgF,GAAG,WAAW,CAAChF,EAAIgF,GAAG,SAAShF,EAAIiF,GAAGjF,EAAIkF,WAAWC,UAAU,KAAK/E,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,SAAS,CAACG,YAAY,gBAAgB6E,GAAG,CAAC,MAAQpF,EAAIqF,WAAW,CAACjF,EAAG,IAAI,CAACG,YAAY,6BAA6BP,EAAIW,MAAM,UAC13BC,EAAkB,G,sFCEtB,SAAS0E,EAAQC,EAAc/J,GACd,MAAT+J,IAEJA,EAAMC,KAAOhK,EAAKgK,MAGtB,SAASC,EAAeF,EAAc/J,GACrB,MAAT+J,IAEJA,EAAMG,YAAclK,EAAKkK,aAG7B,SAASC,EAAqBJ,EAAc/J,GAC3B,MAAT+J,IAEJA,EAAMK,kBAAoBpK,EAAKoK,mBAG5B,ICfH,EACAC,EDcSC,EAAY,CACrBR,UACAG,iBACAE,wB,0GCfE,SAAUI,EAAKC,GACM,MAAnBH,IACe,MAAX,IACA,EAAU,CACNI,oBAAqB,CACjBC,cAAe,iBACfC,MAAO,YAInBH,EAAU,GACVH,EAAkB,IAAI,IAAKO,YAAY,EAAQH,sBAIjD,SAAUI,IACZ,OAAOR,EAAgBS,cAOrB,SAAUC,IACZ,OAAOV,EAAgBW,kBAGrB,SAAUC,IACZ,OAAOZ,EAqBJ,SAAea,IAAtB,+B,8DAAO,yHAAmCC,EAAnC,yCACcd,EAAgBe,UAD9B,UACCC,EADD,SAECA,GAAQA,EAAKC,cAAgBD,EAAKE,YAAc,IAFjD,yCAGQF,GAHR,WAOCA,GAASF,EAPV,iCAQcd,EAAgBmB,aAAa,EAAQf,qBARnD,oF,wBCnCP,IAAM,EAAsB,CACxBgB,KAAM,GACNC,oBAAoB,EACpBC,SAAS,GAGb,SAASC,EAAoBC,GACzB,IAAIC,EAAS,GADuB,WAE3BC,GACL,IAAIC,EAAIH,EAAOE,GACXC,GAAKC,MAAMC,QAAQF,GACnBF,EAAOhL,KAAP,MAAAgL,EAAM,eAASE,EAAEnI,KAAI,SAAAsI,GAAC,gBAAOJ,EAAP,YAAYK,mBAAmBD,SAGrDL,EAAOhL,KAAP,UAAeiL,EAAf,YAAoBK,mBAAmBJ,MAN/C,IAAK,IAAID,KAAKF,EAAQ,EAAbE,GAST,OAAOD,EAAOO,KAAK,K,SAGRC,E,gGAAf,WAAgCC,GAAhC,2FACQ,EAAQZ,QADhB,gCAE0B,IAF1B,OAEYa,EAFZ,OAGYA,IACAD,EAAUA,GAAW,GACrBA,EAAQE,cAAR,iBAAkCD,IAL9C,gCAQWD,GARX,2C,wBAWA,IAAMG,EAAO,EAAAC,EAAMzJ,OAAO,CACtB0J,iBAAkBhB,IAGhB,SAAU,EAAKiB,GACjB,GAAInJ,OAAQ,CACR,IAAI1B,EAAI0B,OAAOoJ,SACf,EAAQrB,KAAR,UAAkBzJ,EAAE+K,SAApB,aAAiC/K,EAAEgL,MAGnCH,GACAA,EAAW,GAGX,EAAQnB,oBACRgB,EAAKO,aAAaC,SAASC,KAAI,SAAUC,GACrC,IAAIlL,EAAI,iDACJN,EAAIwL,EAAIb,QAAQ,yBAKpB,OAJI3K,GAAKM,GAAKN,GAAKM,IAAMN,EAAEyL,SAAS,WAChC3J,OAAOoJ,SAASQ,QAAO,GACvBC,QAAQC,IAAR,8BAAmC5L,EAAnC,iBAA6CM,EAA7C,kCAEGkL,KAMnB,SAASK,EAAaC,EAAa,EAAmBC,GAClDD,EAAgB,KAAVA,EAAI,GAAJ,UAAmB,EAAQjC,MAA3B,OAAkCiC,GAAQA,EAEhD,IAAI7B,EAAc,GAClB,GAAI8B,EACA,IAAK,IAAI5B,KAAK4B,EACD,cAAL5B,EACA,GAAW,EAGXF,EAAOE,GAAK4B,EAAW5B,GASnC,OALI,IACAF,EAAO,QAAS,IAAI+B,MAAOC,WAIxB,CAAEH,MAAK7B,UAGlB,IAAMiC,EAA4D,GAElE,SAASC,EAAMC,GAEX,OADAT,QAAQC,IAAIQ,MACRA,EAAMd,UAAqC,KAAzBc,EAAMd,SAASe,UAC7BvK,SACAA,OAAOoJ,SAASoB,KAAO,MAEpB,GAKR,SAAe,EAAtB,oC,8DAAO,WAAmBR,EAAaC,GAAhC,4GAAkDQ,EAAlD,gCACCC,EAAgC,OAEjB,IAAfT,GAAuBQ,KACvBC,EAAMN,EAAoBJ,GACtBU,GACAA,EAAIC,SAERD,EAAMN,EAAoBJ,GAAO,EAAAf,EAAM2B,YAAY/I,UARpD,KAWImH,EAXJ,iBAckB0B,GAAOA,EAAI5B,OAAS,KAdtC,SAeoBF,IAfpB,gCAaKiC,OAAQ,MACRC,YAdL,KAeKjC,QAfL,WAgBQkB,EAAaC,GAAK,EAAMC,GAhBhC,gDAYEc,QAZF,0BAkBQ,SAACT,GACJ,GAAID,EAAMC,GACN,OAAOA,EAAMd,SAEjB,MAAMc,MAtBX,4C,wBA+CA,SAAeU,EAAtB,sC,8DAAO,WAAoBhB,EAAa1N,EAAYuM,GAA7C,6FACIG,EADJ,iBAE4B1M,EAF5B,SAEiDsM,EAAiBC,GAFlE,gCAEYgC,OAAQ,OAAQvO,KAF5B,KAEkCuM,QAFlC,WAE+EkB,EAAaC,GAAK,GAFjG,gDAEEe,QAFF,0BAGQ,SAACT,GACJ,GAAID,EAAMC,GACN,OAAOA,EAAMd,SAEjB,MAAMc,MAPX,4C,wBAsBA,SAAeW,EAAtB,sC,8DAAO,WAAmBjB,EAAaC,EAAkBpB,GAAlD,6FACIG,EADJ,qBAE6CJ,EAAiBC,GAF9D,gCAEYgC,OAAQ,SAAUhC,QAF9B,WAE2EkB,EAAaC,GAAK,EAAOC,GAFpG,gDAEEc,QAFF,0BAGQ,SAACT,GACJ,GAAID,EAAMC,GACN,OAAOA,EAAMd,SAEjB,MAAMc,MAPX,2C,wBA+BA,SAAe,IAAtB,+B,8DAAO,oHACc9C,IADd,UACCG,EADD,SAECA,GAAQA,EAAKC,cAAgBD,EAAKE,YAAc,IAFjD,yCAGQF,EAAKC,cAHb,2C,wBAOA,SAAe,IAAtB,+B,8DAAO,oHACcJ,IADd,UACCG,EADD,SAECA,GAAQA,EAAKC,cAAgBD,EAAKE,YAAc,IAFjD,yCAGQF,EAAKuD,SAHb,2C,iCC1NQC,E,qGAAf,WAAsBC,EAA6B9O,GAAnD,gGACU+O,EADV,sCAG6CL,EAAKK,EAAU/O,GAAMgP,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHlF,cAGQqB,EAHR,OAKIyN,EAAIG,OAAO,uBAAwB,CAAE5N,OAAQA,EAAOA,OAAQgK,KAAMhK,EAAOrB,MAAQqB,EAAOrB,KAAKqL,OALjG,kBAOWhK,GAPX,2C,kCAUe6N,G,mGAAf,WAAuBJ,GAAvB,gGACUC,EADV,sCAG6CL,EAAKK,GAAUC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAH5E,cAGQqB,EAHR,OAKIyN,EAAIG,OAAO,uBAAwB,CAAE5N,OAAQA,EAAOA,OAAQgK,KAAM,OALtE,kBAOWhK,GAPX,2C,kCAUe8N,G,qGAAf,WAAmCL,EAA6B9O,GAAhE,4FACU+O,EADV,sBAGSD,EAAI/E,MAAMqF,gBAHnB,gCAIiD,EAAIL,GACxCC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAL7B,cAIYqB,EAJZ,OAOQyN,EAAIG,OAAO,uBAAwB,CAAE5N,OAAQA,EAAOA,OAAQgK,KAAMhK,EAAOrB,MAAQqB,EAAOrB,KAAKqL,OAPrG,kBASehK,GATf,gCAYe,CAAEA,OAAQ,OAZzB,4C,yBAgBA,SAASgO,GAAwBP,EAA6B9O,GAC1D,IAAM+O,EAAW,iDAEjB,OAAOL,EAAKK,EAAU/O,GAAMgP,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAGhD,SAASsP,GAAeR,EAA6B9O,GACjD,IAAM+O,EAAW,sCAEjB,OAAOL,EAAKK,EAAU/O,GAAMgP,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAGzC,IAAM2I,GAAU,CACnBkG,SACAK,WACAC,uBACAE,2BACAC,mB,aCxDE,SAAUC,GAAaC,EAAqBC,GAC9C,MAAO,CACHD,MAAO,gBAAMA,GACbC,a,8BCIFC,GAAc,CAAE,eAAgB,oB,SAEvBC,G,qGAAf,WAA8Bb,EAA6B9O,GAA3D,gGACU+O,EADV,4BAM2BL,EAAKK,EAAU/O,EAAM0P,IAAaV,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAN7E,UAMYqB,EANZ,SAQYA,EAAOuO,QAAUvO,EAAOuO,OAAOpP,OAAS,GARpD,uBASY+M,QAAQS,MAAM3M,EAAOuO,QATjC,mBAUmB,GAVnB,gCAYevO,EAAOrB,MAZtB,4CAeQuN,QAAQS,MAAR,MAfR,mBAgBe,GAhBf,0D,kCA8Be6B,G,qGAAf,WAAuBf,EAA6B9O,GAApD,gGAEQ+D,EAAMwL,GAAa,WAAMvP,GAFjC,SAGoB2P,GAAeb,EAAK/K,GAHxC,UAGQqJ,EAHR,QAIQA,EAJR,uBAKQ0B,EAAIG,OAAO,UAAW7B,GAL9B,kBAMeA,EAAIpD,MANnB,gCAQW,MARX,2C,kCAWe8F,G,qGAAf,WAA8BhB,EAA6B9O,GAA3D,gGAEIA,EAAK,cAAe,EAChB+D,EAAMwL,GAAa,kBAAavP,GAHxC,SAIoB2P,GAAeb,EAAK/K,GAJxC,UAIQqJ,EAJR,QAKQA,EALR,uBAMQ0B,EAAIG,OAAO,iBAAkB7B,GANrC,kBAOeA,EAAIlD,aAPnB,gCASW,MATX,2C,kCAYe6F,G,qGAAf,WAAoCjB,EAA6B9O,GAAjE,kGAEIA,EAAK,cAAe,EAChB+D,EAAMwL,GAAa,wBAAmBvP,GAH9C,SAIoB2P,GAAeb,EAAK/K,GAJxC,UAIQqJ,EAJR,QAKQA,IAAOnB,MAAMC,QAAQkB,EAAIlD,cAA0C,GAA1BkD,EAAIlD,YAAY1J,OALjE,uBAMYwP,EAAU5C,EAAIlD,YAAY,GAC9B4E,EAAIG,OAAO,uBAAwB,CAAE7E,kBAAmB4F,IAPhE,kBAQeA,GARf,gCAUW,MAVX,4C,kCAaeC,G,qGAAf,WAA0BnB,EAA6B9O,GAAvD,gGAEQ+D,EAAMwL,GAAa,iBAAYvP,GAFvC,SAGoB2P,GAAeb,EAAK/K,GAHxC,UAGQqJ,EAHR,QAIQA,IAAOA,EAAI6C,WAJnB,0CAKe,GALf,gCAOW,MAPX,2C,kCAUeC,G,qGAAf,WAAgCpB,EAA6B9O,GAA7D,gGAEQ+D,EAAMwL,GAAa,uBAAkBvP,GAF7C,SAGoB2P,GAAeb,EAAK/K,GAHxC,UAGQqJ,EAHR,QAIQA,IAAOA,EAAI+C,cAJnB,0CAKe,GALf,gCAOW,MAPX,2C,kCAUeC,G,qGAAf,WAA6CtB,EAA6B9O,GAA1E,gGAEQ+D,EAAMwL,GAAa,oCAA+BvP,GAF1D,SAGoB2P,GAAeb,EAAK/K,GAHxC,UAGQqJ,EAHR,QAIQA,IAAOA,EAAIiD,2BAJnB,0CAKe,GALf,gCAOW,MAPX,2C,kCAUeC,G,qGAAf,WAAkCxB,EAA6B9O,GAA/D,gGAEQ+D,EAAMwL,GAAa,gBAAWvP,GAFtC,SAGoB2P,GAAeb,EAAK/K,GAHxC,UAGQqJ,EAHR,QAIQA,IAAOA,EAAImD,UAJnB,0CAKe,GALf,gCAOW,MAPX,2C,kCAUeC,G,qGAAf,WAA6B1B,EAA6B9O,GAA1D,gGAEQ+D,EAAMwL,GAAa,oBAAevP,GAF1C,SAGoB2P,GAAeb,EAAK/K,GAHxC,UAGQqJ,EAHR,QAIQA,IAAOA,EAAIoD,cAJnB,0CAKe,GALf,gCAOW,MAPX,2C,kCAUeC,G,qGAAf,WAA4B3B,EAA6B9O,GAAzD,gGAEQ+D,EAAMwL,GAAa,mBAAcvP,GAFzC,SAGoB2P,GAAeb,EAAK/K,GAHxC,UAGQqJ,EAHR,QAIQA,IAAOA,EAAIqD,aAJnB,0CAKe,GALf,gCAOW,MAPX,2C,yBAUO,IAAM,GAAU,CACnBZ,WACAC,kBACAC,wBACAE,cACAC,oBACAE,iCACAE,sBACAE,iBACAC,iB,SC5IWC,G,mGAAf,WAAwB5B,GAAxB,kGACUC,EADV,+BAGuB,EAAIA,GAAUC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHrD,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,kCAYeC,G,qGAAf,WAA+B9B,EAA6B+B,GAA5D,kGACU9B,EADV,8BAC4C8B,EAD5C,sBAGuB,EAAI9B,GAAUC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHrD,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,kCAYeG,G,qGAAf,WAAkChC,EAA6B9O,GAA/D,kGACU+O,EADV,8BAC4C/O,EAAK6Q,MADjD,qBACmE7Q,EAAK+Q,UADxE,qBAGuB,EAAIhC,GAAUC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHrD,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,kCAYeK,G,qGAAf,WAAqClC,EAA6BmC,GAAlE,kGACUlC,EADV,sCAGuBL,EAAKK,EAAUkC,GAAgBjC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHtE,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,yBAYe,QACXD,YACAE,mBACAE,sBACAE,0B,SCpDWE,G,qGAAf,WAA8BpC,EAA6B9O,GAA3D,kGACU+O,EADV,iDAGuBL,EAAKK,EAAU/O,EAAK+D,KAAKiL,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHhE,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,kCAYeR,G,qGAAf,WAA6BrB,EAA6B9O,GAA1D,kGACU+O,EADV,gDAGuBL,EAAKK,EAAU/O,EAAKmR,SAASnC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHpE,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,kCAYeJ,G,qGAAf,WAAyBzB,EAA6B9O,GAAtD,kGACU+O,EADV,uDAGuBL,EAAKK,EAAU/O,EAAKoR,QAAQpC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHnE,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,kCAYeU,G,qGAAf,WAAiCvC,EAA6B9O,GAA9D,kGACU+O,EADV,+CAC6D/O,EAAKsR,WADlE,SAGuB3C,EAAII,GAAUC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHrD,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,kCAYeY,G,qGAAf,WAAgCzC,EAA6B9O,GAA7D,kGACU+O,EADV,uDACqE/O,EAAKwR,UAD1E,SAGuB7C,EAAII,GAAUC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAHrD,UAGQqB,EAHR,OAIQsP,EAAa,GAAY7B,EAAKzN,IAC9BsP,EALR,yCAMeA,GANf,gCASW,MATX,2C,yBAYe,QACXR,iBACAe,kBACAG,qBACAd,aACAgB,qB,iCC1DJ,SAASE,GAAUC,EAAYC,GAE3B,IADA,IAAIC,EAAM,GACDtR,EAAE,EAAIA,EAAIoR,EAAIlR,OAASF,IACxBqR,IAAgBA,EAAYD,EAAIpR,GAAIA,IAGxCsR,EAAI9Q,KAAK+Q,GAAKH,EAAIpR,GAAI,KAAM,KAAMqR,IAEtC,OAAOC,EAGX,SAASE,GAAWJ,EAAajK,EAAkBsK,EAAyBJ,GACxE,IAAIC,EAAM,GACV,IAAK,IAAI7F,KAAK2F,EACV,GAAIA,EAAI/Q,eAAeoL,MAAQtE,IAA8B,GAArBA,EAAMuK,QAAQjG,OAAegG,IAA4C,GAA5BA,EAAaC,QAAQjG,IAAW,CACjH,IAAIC,EAAI0F,EAAI3F,GACZ,GAAI4F,IAAgBA,EAAY3F,EAAGD,GAC/B,SAEJ,GAAIC,EAAG,CACH,GAAIC,MAAMC,QAAQF,GAAI,CAClB4F,EAAI7F,GAAK0F,GAAUzF,EAAG2F,GACtB,SAEJ,GAAgB,UAAZ,gBAAO3F,GAAe,CACtB4F,EAAI7F,GAAK+F,GAAW9F,EAAG,KAAM,KAAM2F,GACnC,UAGRC,EAAI7F,GAAKC,EAGjB,OAAO4F,EAGL,SAAUC,GAAKH,EAAUjK,EAAkBsK,EAAyBJ,GACtE,GAAID,EAAK,CACL,GAAIzF,MAAMC,QAAQwF,GACd,OAAOD,GAAUC,EAAKC,GAE1B,GAAkB,UAAd,gBAAOD,GACP,OAAOI,GAAmBJ,EAAKjK,EAAOsK,EAAcJ,GAG5D,OAAOD,ECnDX,SAASO,GAAWlI,EAAcmI,GAC1BA,EACAnI,EAAMoI,WAAa,EAGnBpI,EAAMoI,WAAa,EAI3B,SAASC,GAAQrI,EAAcsI,GAC3BtI,EAAMsI,KAAOA,EACb,IAAOC,OAAOD,GAGlB,SAASE,GAAcxI,EAAcyI,GACjCzI,EAAMyI,WAAaA,EAGvB,SAASC,GAAa1I,EAAc2I,GAChC3I,EAAM4I,UAAYD,EAGtB,SAASE,GAAe7I,GACpBA,EAAM4I,UAAY,KAGtB,SAASE,GAAc9I,EAAc+I,GACjC/I,EAAMgJ,WAAaD,EAGvB,SAASE,GAAgBjJ,GACrBA,EAAMgJ,WAAa,KAGvB,SAASE,GAAiBlJ,EAAcmJ,GACpCnJ,EAAMmJ,cAAgBA,EAG1B,SAASC,GAAUpJ,EAAcqJ,GAC7BrJ,EAAMqJ,SAAWA,EAGrB,SAASC,GAAQtJ,IAGjB,SAASuJ,GAAqBvJ,EAAcwJ,GACnB,MAAjBA,EAAOlS,QAAoBkS,EAAOlI,MAClCtB,EAAMqF,iBAAkB,EACxBmE,EAAOlI,KAAKmI,MAAQ3B,GAAK0B,EAAOlI,KAAK,uBAC9BkI,EAAOlI,KAAK,eACfkI,EAAOlI,KAAKmI,QACRvH,MAAMC,QAAQqH,EAAOlI,KAAKmI,OAC1BD,EAAOlI,KAAKmI,MAAQD,EAAOlI,KAAKmI,MAAM3P,KAAI,SAAAnB,GAAC,OAAI+Q,GAAc/Q,MAG7D6Q,EAAOlI,KAAKmI,MAAQ,CAACC,GAAcF,EAAOlI,KAAKmI,SAGvDzJ,EAAML,WAAa6J,EAAOlI,OAG1BtB,EAAMqF,iBAAkB,EACxBrF,EAAML,WAAa,MAI3B,SAAS+J,GAAcC,GACnB,OAAOC,KAAKC,MAAMF,GAKhB,SAAU,GAAe5E,EAA+BzN,GAC1D,MAAqB,MAAjBA,EAAOA,SACAA,EAAOrB,OAAQ,GAS9B,SAAS,GAAQ+J,GACb,OAAO,SAAC8J,GAAD,OAAkB9J,EAAML,YAAcK,EAAML,WAAW8J,OAASzJ,EAAML,WAAW8J,MAAMM,MAAK,SAAA3H,GAAC,OAAIA,EAAE/J,MAAQyR,MAGtH,SAASE,GAAsBhK,GAC3B,OAAO,SAACsI,GACJ,GAAI,GAAQtI,EAAR,CAAe,SACf,OAAO,EAEX,IAAIiK,EAAajK,EAAML,YAAcK,EAAML,WAAW8J,OAASzJ,EAAML,WAAW8J,MAAMS,QAAO,SAAA9H,GAAC,MAAc,cAAVA,EAAE/J,QAAsB,GAC1H,QAAI4R,GACOA,EAAWE,UAAUjL,SAASoJ,IAQjD,IAAM,GAAe,CACjBa,eAAe,EACff,UAAW,EACXiB,UAAU,EACVhE,iBAAiB,EAEjB1F,WAAY,KAEZ2I,KAAM,KACNM,UAAW,KACXI,WAAY,KACZP,WAAY,KAEZxI,KAAM,GACNE,YAAa,GACbE,kBAAmB,MAajB+J,GAAgC,CAClCpK,MAAA,GACApB,QAAS,+DACF,IACA,IACA,IACA,IAEP2B,UAAW,gBACP2H,cACAgB,oBACAb,WACAiB,WACAF,aACAZ,iBACAE,gBACAG,kBACAC,iBACAG,mBACAM,yBACGhJ,GAEP8J,QAAS,CACLC,QAAA,GACAN,2BAIJ,GAAsB,KAEpB,SAAUO,KAIZ,OAHa,MAAT,KACA,GAAQ,IAAI,OAAKC,MAAMJ,KAEpB,G,iBC3KP,GAAS,WAAa,IAAI3P,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAC/F,GAAkB,GCSP,gCAAgB,CAC3BkD,MAD2B,WAEvB,wBAAU,WACN,IAAM0M,EAAW9Q,OAAOoJ,SAAS2H,SAASpH,SAAS,UAC7CqH,EAAczJ,IAEd5J,EAASmT,EAAWE,EAAYC,uBAAyBD,EAAYE,sBAE3EvT,EACK2N,MAAK,SAAC3D,GACCA,IAASmJ,EACT9Q,OAAOoJ,SAASoB,KAAO,cAEvBwG,EACKE,sBACA5F,MAAK,SAAC3D,GACH3H,OAAOoJ,SAASoB,KAAO,iBAH/B,UAKW,SAAChK,GACJqJ,QAAQS,MAAM9J,SAXlC,UAeW,SAACA,GACJqJ,QAAQS,MAAM9J,YClCyY,M,aCOva0E,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,GAAAA,G,QClBX,GAAS,WAAa,IAAIpE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,MAAM,CAACG,YAAY,eAAeD,MAAM,CAAC,IAAM,oCAAoCN,EAAIqQ,GAAG,GAAGjQ,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,0BAA0B,UAAYN,EAAIsQ,eAAelL,GAAG,CAAC,MAAQpF,EAAIuQ,WAAW,CAACvQ,EAAIgF,GAAG,gBAAgB,IAC7X,GAAkB,CAAC,WAAa,IAAIhF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAG,eAAe5E,EAAG,SAAS,CAACJ,EAAIgF,GAAG,WAAWhF,EAAIgF,GAAG,KAAK5E,EAAG,MAAMJ,EAAIgF,GAAG,sCCkB3M,gCAAgB,CAC3BpH,KAAM,SAEN0F,MAH2B,SAGrBL,EAAOM,GAAO,MACUiN,KAAlBC,EADQ,EACRA,OAEFH,GAHU,EACAI,MAEM,kBAAI,IAEpBH,EAAQ,yDAAG,oHAETD,EAAcjS,OAAQ,EAFb,SAGUgI,IAHV,OAGHQ,EAHG,OAILA,GACA4J,EAAO3L,QAAQ,CAAClH,KAAM,SALjB,uBAST0S,EAAcjS,OAAQ,EATb,uEAAH,qDAad,MAAO,CACHkS,WACAD,oBC1CuY,MCO/Y,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAItQ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuF,MAAY,OAAEnF,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,qBAAqBP,EAAI2Q,GAAI3Q,EAAIuF,MAAU,MAAE,SAAS4C,GAAG,OAAO/H,EAAG,gBAAgB,CAACzB,IAAIwJ,EAAE3I,GAAGc,MAAM,CAAC,KAAO6H,GAAG/C,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAI6Q,YAAY1I,EAAE3I,WAAU,OAAOQ,EAAIW,MACjZ,GAAkB,G,0BCAT,I,8BAAb,4GACI,SAAuBmQ,GACnB,OAAQA,GACJ,IAAK,KACD,MAAO,UACX,IAAK,KACD,MAAO,UACX,IAAK,KACD,MAAO,SACX,IAAK,KACD,MAAO,UACX,IAAK,KACD,MAAO,SACX,IAAK,KACD,MAAO,YACX,IAAK,KACD,MAAO,aACX,IAAK,KACD,MAAO,SACX,IAAK,KACD,MAAO,WACX,IAAK,KACD,MAAO,UACX,IAAK,KACD,MAAO,QACX,IAAK,KACD,MAAO,QACX,IAAK,KACD,MAAO,YACX,IAAK,KACD,MAAO,SACX,IAAK,KACD,MAAO,SACX,IAAK,KACD,MAAO,UACX,QACI,MAAO,MApCvB,gCAwCI,SAA0BC,GACtB,OAAIA,EAAa,GACN,MAGPA,GAAc,IAAMA,GAAc,GAC3B,SAGO,KAAdA,EACO,aADX,IAjDR,+BAsDI,SAAyBxQ,EAAqByQ,GAC1C,IAAIC,EAAyB,CAAC1Q,GAC1B2Q,EAAW,GAEf,OAAQF,GACJ,IAAK,UACDE,EAAW,UACX,MACJ,IAAK,MACDA,EAAW,QACX,MACJ,IAAK,cACL,IAAK,MACDA,EAAW,QACX,MACJ,QACI,MAKR,OAFAD,EAAa3U,KAAb,eAA0B4U,EAA1B,QAEOD,MA3Ef,MCEaE,GAA2C,CACpDC,YAAY,EACZxT,KAAM,gBACNqF,MAAO,CACHoO,KAAM,CACF5Q,KAAMxE,SAGd8D,OARoD,SAQ7CuR,EAAGhH,GACN,OACIgH,EAAE,MAAO,CACL9Q,MAAO,CAAC,WAAY8J,EAAI9O,KAAK+E,aAC7B6E,GAAImM,GAAajH,IAClB,CACCgH,EAAE,MAAO,CAAE9Q,MAAO,oBAAsB,CACpC8Q,EAAE,MAAO,CAAE9Q,MAAO,iBAAmB,CACjC8Q,EAAE,MAAO,CAAE9Q,MAAO,oBAAsB,CACpC8Q,EAAE,MAAO,CAAE9Q,MAAO,WAAYF,MAAO,CAAE4M,IAAK,iBAAF,OAAmB5C,EAAIrH,MAAMoO,KAAKG,UAAlC,eAGlDF,EAAE,MAAO,CAAE9Q,MAAO,iBAAmB,CACjC8Q,EAAE,KAAM,CAAE9Q,MAAO,SAAW8J,EAAIrH,MAAMoO,KAAKzT,MAC3C0T,EAAE,MAAO,CAAE9Q,MAAO,YAAc,CAC5B8Q,EAAE,IAAK,CAAE9Q,MAAO,GAAMiR,kBAAkB,OAAQnH,EAAIrH,MAAMoO,KAAKL,YAC/DM,EAAE,OAAQ,CAAE9Q,MAAO,iBAAmB8J,EAAIrH,MAAMoO,KAAKL,cAG7DM,EAAE,MAAO,CAAE9Q,MAAO,mBAAqB,CACnC8Q,EAAE,IAAK,CAAE9Q,MAAO,uCAQxC,SAAS+Q,GAAajH,GAClB,OAAIA,EAAI9O,KAAK4J,IAAMkF,EAAI9O,KAAK4J,GAAGsM,MACpB,CAAEA,MAAOpH,EAAI9O,KAAK4J,GAAGsM,OAEzB,KCnBX,IAAM3O,GAAgB,WAEP,gCAAgB,CAC3BE,MAAO,GACPrF,KAAMmF,GAENO,MAJ2B,SAIrBL,EAAOM,GACH,IAAAoO,EAAQ7B,KAAR,EAAwCU,KAAlBC,EAAtB,EAAsBA,OACtBmB,GADA,EAA8BlB,MACnBmB,MACXC,EAAgBC,KAEhBxM,EAAQ,sBAAS,CACnBC,KAAM,GACNwM,QAAQ,IAGNC,EAAY,WACdH,EAAcrE,YAAW,GAEzBmE,EAAS7D,eAAc,SAACmE,GACpBA,EAAI5V,KAAK,CAAE6V,MAAO,YAItB5M,EAAMC,KAAOmM,EAAMpM,MAAMC,KACzBD,EAAMyM,QAAS,EACfF,EAAcrE,YAAW,IAGvBoD,EAAc,SAACxE,GACjBoE,EAAOnU,KAAK,CAAEsB,KAAM,eAAgByJ,OAAQ,CAAEgF,MAAOA,MAKzD,OAFA4F,IAEO,CACH1M,QACAsL,gBAIRtM,WAAY,CAAE4M,kBCjEsZ,MCOpa,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAInR,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuF,MAAY,OAAEnF,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,IAAO,iBAAmBN,EAAIoS,aAAe,YAAahS,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIqS,YAAYjS,EAAG,KAAK,CAACG,YAAY,YAAY,CAACH,EAAG,IAAI,CAACI,MAAMR,EAAIsS,kBAAkBtS,EAAIuS,eAAevS,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuS,gBAAgBnS,EAAG,MAAM,CAACG,YAAY,gBAAgBH,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,qBAAqBP,EAAI2Q,GAAI3Q,EAAsB,oBAAE,SAASmI,GAAG,OAAO/H,EAAG,MAAM,CAACzB,IAAIwJ,EAAE3I,GAAGe,YAAY,qCAAqC,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,MAAM,CAACG,YAAY,+BAA+BqD,MAAQ,UAAa5D,EAAIwS,0BAA0BrK,GAAM,SAAW/H,EAAG,MAAM,CAACG,YAAY,4BAA4B,CAACH,EAAG,KAAK,CAACG,YAAY,kBAAkB,CAACP,EAAIgF,GAAG,WAAWhF,EAAIiF,GAAGkD,EAAEsK,SAAS,KAAKrS,EAAG,OAAO,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAG,SAAShF,EAAIiF,GAAGkD,EAAEuK,YAAYtS,EAAG,MAAM,CAACG,YAAY,0BAA0B,CAAEP,EAAe,YAAEI,EAAG,cAAc,CAACG,YAAY,kBAAkBD,MAAM,CAAC,GAAK,CAAE1C,KAAM,eAAgByJ,OAAQ,CAACgF,MAAOrM,EAAIqM,MAAOE,UAAWpE,EAAE3I,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,wBAAwBP,EAAIW,MAAM,GAAGP,EAAG,MAAM,CAACI,MAAM,CAAC,kCAAmCR,EAAI2S,gBAAgB3S,EAAIwS,0BAA0BrK,MAAM,CAACnI,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGjF,EAAIwS,0BAA0BrK,IAAI,UAAU/H,EAAG,MAAM,CAACG,YAAY,sBAAsBP,EAAI2Q,GAAI3Q,EAAI4S,gBAAgBzK,EAAEuH,YAAY,SAASlS,EAAE1B,GAAG,OAAOsE,EAAG,cAAc,CAACzB,IAAK,MAAQ7C,EAAGyE,YAAY,oBAAoBD,MAAM,CAAC,IAAM,MAAM,GAAK,CAAE1C,KAAM,sBAAuByJ,OAAQ,CAAEkF,UAAWpE,EAAE3I,GAAIqO,KAAMrQ,EAAEoC,SAAU,CAACQ,EAAG,MAAM,CAACG,YAAY,gDAAgD,CAACH,EAAG,MAAM,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGzH,EAAEI,MAAM,OAAOwC,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGzH,EAAEqV,MAAM,MAAM7S,EAAIiF,GAAGkD,EAAE2K,eAAe1S,EAAG,MAAM,CAACI,MAAM,CAAC,yBAA0BR,EAAI2S,gBAAgB3S,EAAI+Q,WAAWvT,EAAEqV,KAAM1K,EAAE2K,eAAe,CAAC9S,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGjF,EAAI+Q,WAAWvT,EAAEqV,KAAM1K,EAAE2K,aAAa,QAAQ1S,EAAG,IAAI,CAACG,YAAY,sCAAqC,UAAS,OAAOP,EAAIW,MACh0E,GAAkB,G,+FCEhB,SAAUoS,GAAS1U,GAA2C,IAA/BV,EAA+B,uDAA3B,IAAKW,EAAsB,uDAAlB,IAAK0U,EAAa,uDAAD,EAC3DxL,EAAInJ,GAAgB,EACpBjB,EAAIoK,EAAI,EAAI,IAAM,GAClB1L,EAAImX,SAASC,KAAKC,IAAI3L,EAAE4L,QAAQJ,IAAc,GAAI,IAAM,GACxDhW,EAAIlB,EAAEE,OAAS,EAAIF,EAAEE,OAAS,EAAI,EACtC,OAAOoB,GAAKJ,EAAIlB,EAAEuX,OAAO,EAAGrW,GAAKsB,EAAI,IAC/BxC,EAAEuX,OAAOrW,GAAG8H,QAAQ,iBAAkB,KAAOxG,IAC5C0U,EAAYrV,EAAIuV,KAAKC,IAAI3L,EAAIyL,SAAS7V,EAAItB,EAAG,KAAKsX,QAAQJ,GAAW5T,MAAM4T,GAAa,IAG7F,SAAUM,GAAaC,GAAuD,IAA7BzF,EAA6B,uDAApB,KAAM0F,EAAc,uDAAF,GACjF,IAAKD,EAAM,OAAOC,EAElB,IAAIC,EAAcF,aAAcnK,KAAQmK,EAAK,IAAInK,KAAKmK,GAEtD,OAAO,OAAAG,GAAA,MAAOD,EAAM,mBAAoB,CAAE3F,WAGrC,SAAU6F,GAAQJ,GAAuD,IAA7BzF,EAA6B,uDAApB,KAAM0F,EAAc,uDAAF,GAC5E,IAAKD,EAAM,OAAOC,EAElB,IAAIC,EAAcF,aAAcnK,KAAQmK,EAAK,IAAInK,KAAKmK,GAEtD,OAAO,OAAAG,GAAA,MAAOD,EAAM,OAAQ,CAAE3F,WAGzB,SAAU8F,GAAUL,GAAuD,IAA7BzF,EAA6B,uDAApB,KAAM0F,EAAc,uDAAF,GAC9E,IAAKD,EAAM,OAAOC,EAElB,IAAIC,EAAcF,aAAcnK,KAAQmK,EAAK,IAAInK,KAAKmK,GAEtD,OAAO,OAAAG,GAAA,MAAOD,EAAM,OAAQ,CAAE3F,WAGzB,SAAU+F,GAAWxV,GAAkC,IAAtByV,EAAsB,uDAAJ,KACpDtM,EAAInJ,EACR,OAAS,GAALmJ,GAAUsM,EACNA,EAGAf,GAAS1U,EAAO,IAAK,IAAK,GAAK,KAKlC,SAAU0V,GAAc1V,GAAkC,IAAtByV,EAAsB,uDAAJ,KACvDtM,EAAInJ,EACR,OAAS,GAALmJ,GAAUsM,EACNA,EAGAf,GAAS1U,EAAO,IAAK,IAAK,GAAK,KAIlC,SAAU2V,GAAQ3V,GACpB,IAAI2U,EAAY,EACfiB,EAAS,IACTC,EAAU,IACP1M,EAAInJ,EAAQA,EAAM+U,QAAQJ,GAAa,EAC3C,OAAQxL,EAAE,IAAI1C,QAAQ,IAAKoP,GAASD,EAGlC,SAAUE,GAAM9V,GACrB,OAAIA,GAAS,IACL6U,KAAKkB,MAAM/V,EAAQ,KAAW,IAE1BA,GAAS,IACb6U,KAAKkB,MAAM/V,EAAQ,KAAQ,IAG3BA,EAIH,SAAUgW,GAAQd,GAAiD,IAAdC,EAAc,uDAAF,GACtE,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,eALCF,EAQb,SAAUe,GAAchB,GAAiD,IAAdC,EAAc,uDAAF,GAC5E,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,MALCF,EAQb,SAAUgB,GAAsBjB,GAAiD,IAAdC,EAAc,uDAAF,GACpF,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,OALCF,EAQb,SAAUiB,GAAkBlB,GAAiD,IAAdC,EAAc,uDAAF,GAChF,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,YALCF,EAQb,SAAU,GAAKD,GAAiD,IAAdC,EAAc,uDAAF,GACnE,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,SALCF,EAQb,SAAU,GAAMD,GAAiD,IAAdC,EAAc,uDAAF,GACpE,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,OALCF,EAQb,SAAUkB,GAAenB,GAAiD,IAAdC,EAAc,uDAAF,GAC7E,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,QALCF,EAQb,SAAUmB,GAAcpB,GAAiD,IAAdC,EAAc,uDAAF,GAC5E,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,SALCF,EAQb,SAAU,GAAID,GAAiD,IAAdC,EAAc,uDAAF,GAClE,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,OALCF,EAQb,SAAUoB,GAAarB,GAAiD,IAAdC,EAAc,uDAAF,GAC3E,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,QALCF,EAQb,SAAUqB,GAAYtB,GAAiD,IAAdC,EAAc,uDAAF,GAC1E,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,SALCF,EAQb,SAAUsB,GAAUvB,GAAiD,IAAdC,EAAc,uDAAF,GACxE,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,UALCF,EAQb,SAAUuB,GAASxB,GAAiD,IAAdC,EAAc,uDAAF,GACvE,OAAKD,GAEA,IAAOe,SAASf,KACpBA,EAAK,IAAOA,IAENA,EAAGG,OAAO,aALCF,EAQb,SAAUwB,GAAQ3W,EAAY4W,GACnC,OAAOC,GAAmB7W,IAAU4W,GAAe5W,EAG9C,SAAU8W,GAAIC,GAA2B,IAAXC,EAAW,uDAAD,EAE1C,OADHD,EAASA,EAAOE,cACNF,EAAO/B,OAAO,EAAGgC,GAAW,IAAMD,EAAO/B,OAAO,EAAGgC,GAGxD,SAAUH,GAAmBK,GAClC,OAAIA,GAC8B,IAA1BA,EAAKC,WAAWC,OAKnB,SAAUC,GAAaH,GACzB,GAAIA,EAAM,CACN,IAAMnY,EAAImY,EAAKC,WAAWC,OAChC,MAAY,IAALrY,GAAWA,EAAEuY,WAAW,QAEhC,OAAO,EAKD,IAAMC,GAAU,CACnB7C,YACAwB,iBACAjB,gBACAuC,IAAA,GACHlC,WACAiB,gBACGhB,aACHC,cACAE,iBACAC,WACAG,SACAE,WACAG,yBACAC,qBACAqB,KAAA,GACAC,MAAA,GACArB,kBACAC,iBACAE,eACAC,aACAC,YACAC,WACAG,OAGAD,uBCrLK,GAAgB,kBAEP,gCAAgB,CAC3BjS,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACH,IAAAoO,EAAQ7B,KAAR,EAAwCU,KAAVE,GAA9B,EAAsBD,OAAtB,EAA8BC,OAC9BkB,EAAWC,KACXC,EAAgBC,KAEhBxM,EAAQ,sBAAS,CACnByM,QAAQ,EACRtM,YAAa,OAGXuM,EAAY,WACdH,EAAcrE,YAAW,GAEzBlI,EAAMG,YAAciM,EAAMpM,MAAMG,YAChCkM,EAAS7D,eAAc,SAACmE,GACpBA,EAAI5V,KAAK,CAAE6V,MAAO,OAAQ6D,SAAU,CAAEpY,KAAM,UAC5CsU,EAAI5V,KAAK,CAAE6V,MAAO8D,EAAmB5X,WAEzCkH,EAAMyM,QAAS,EACfF,EAAcrE,YAAW,IAGvBpB,EAAQ,uBAAS,kBAAMqE,EAAMrS,MAAMgJ,OAAOgF,SAE1C4J,EAAqB,uBAAS,WAC5B,OAAK1Q,EAAMG,aAAgB+B,MAAMC,QAAQnC,EAAMG,cAA4C,GAA5BH,EAAMG,YAAY1J,OAGjF,UAAUuJ,EAAMG,YAAY,GAAG9H,KAA/B,YAAuC2H,EAAMG,YAAY,GAAGsL,UAFjD,MAMbqB,EAAU,uBAAS,WACjB,OAAK9M,EAAMG,aAAgB+B,MAAMC,QAAQnC,EAAMG,cAA4C,GAA5BH,EAAMG,YAAY1J,OAG1EuJ,EAAMG,YAAY,GAAG9H,KAFjB,MAMbwU,EAAe,uBAAS,WACtB,OAAK7M,EAAMG,aAAgB+B,MAAMC,QAAQnC,EAAMG,cAA4C,GAA5BH,EAAMG,YAAY1J,OAG1EuJ,EAAMG,YAAY,GAAG8L,UAFjB,MAMbe,EAAc,uBAAS,WACrB,OAAKhN,EAAMG,aAAgB+B,MAAMC,QAAQnC,EAAMG,cAA4C,GAA5BH,EAAMG,YAAY1J,OAG1EuJ,EAAMG,YAAY,GAAGsL,SAFjB,MAMbkF,EAAqB,uBAAS,WAChC,IAAIC,EAAc,GAElB,GAAyB,MAArB5Q,EAAMG,YAyBV,OArBAH,EAAMG,YAAYnE,SAAQ,SAAAiG,GAEtB,IAAI4O,EAAe,GAEnB5O,EAAEkI,UAAUnO,SAAQ,SAAA/D,GAChB4Y,EAAa9Z,KAAK,CACdsD,KAAMpC,EACNI,KAAO,GAAMyY,gBAAgB7Y,GAC7BqV,KAAkB,MAAVrL,EAAE3H,KAAgB,EAAI2H,EAAE3H,KAAK4P,QAAO,SAAAlI,GAAC,OAAKmO,GAAanO,EAAE+O,MAAM9Y,OAAKxB,YAIpFma,EAAY7Z,KACR,CAAEkD,GAAIgI,EAAEhI,GACRiT,QAASjL,EAAEiL,QACXC,MAAOlL,EAAEkL,MACTI,WAAuB,MAAVtL,EAAE3H,KAAgB,EAAI2H,EAAE3H,KAAK7D,OAC1C0T,UAAY0G,OAIbD,KAGLpF,EAAa,SAAC8B,EAAc0D,GAC9B,OAAiB,GAATA,EAAc,EAAIrD,KAAKsD,MAAQ3D,EAAO0D,EAAS,MAGrD/D,EAA4B,SAACC,GAC/B,IAAIgE,EAAY,EAChBhE,EAAQ/C,UAAUnO,SAAQ,SAAA/D,GACtBiZ,GAAwBjZ,EAAEqV,QAG9B,IAAIjK,EAAO6N,GAAahE,EAAQK,WAAaL,EAAQ/C,UAAU1T,QAAW,IAE1E,OAAO4M,EAAMsK,KAAKsD,MAAM5N,GAAO,GAG7B+J,EAAkB,SAAC+D,GACrB,OAAO,GAAMC,mBAAmBD,IAG9BpE,EAAoB,SAACtB,GACvB,OAAO,GAAMS,kBAAkB,OAAQT,IAGrC4B,EAAkB,SAAClD,GACrB,OAAOA,EAAUD,QAAO,SAAA9H,GAAC,OAAIiK,EAASrC,sBAAsB5H,EAAE/H,UAKlE,OAFAqS,IAEO,CACH1M,QACA0Q,qBACA5D,UACAD,eACAG,cACA2D,qBACAnF,aACAyB,4BACAG,kBACAL,oBACAM,kBACAgE,YAAahF,EAASgF,YACtBvK,YCzMoa,MCO5a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIrM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuF,MAAY,OAAEnF,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,IAAO,iBAAoBN,EAAIuF,MAAMkH,eAAwB,UAAI,YAAarM,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAe7O,SAASwC,EAAG,KAAK,CAACG,YAAY,YAAY,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAI6W,aAAazW,EAAG,KAAK,CAACG,YAAY,YAAY,CAACH,EAAG,IAAI,CAACI,MAAMR,EAAIsS,kBAAkBtS,EAAIuF,MAAMkH,eAAeuE,YAAYhR,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAeuE,UAAU,OAAO5Q,EAAG,MAAM,CAACG,YAAY,gBAAgBH,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,qBAAqBP,EAAI2Q,GAAI3Q,EAAY,UAAE,SAAS5C,EAAEtB,GAAG,OAAOsE,EAAG,MAAM,CAACzB,IAAK,KAAO7C,EAAGyE,YAAY,0BAA0B,CAACH,EAAG,cAAc,CAACG,YAAY,mBAAmBD,MAAM,CAAC,IAAM,MAAM,GAAK,CAAE1C,KAAM,YAAayJ,OAAQ,CAAEwG,KAAM7N,EAAI6N,KAAMf,UAAW1P,EAAEoC,OAAQ,CAACY,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,MAAM,CAACI,MAAM,CAAC,wBAAyBR,EAAI2S,gBAAgB3S,EAAI+Q,WAAW3T,EAAE0Z,UAAW1Z,EAAE2Z,aAAanT,MAAQ,UAAa5D,EAAI+Q,WAAW3T,EAAE0Z,UAAW1Z,EAAE2Z,WAAc,SAAW3W,EAAG,MAAM,CAACG,YAAY,4BAA4B,CAACH,EAAG,KAAK,CAACG,YAAY,kBAAkB,CAACP,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAG7H,EAAEQ,MAAM,OAAOwC,EAAG,MAAM,CAACG,YAAY,gCAAgC,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAG7H,EAAE0Z,WAAW,MAAM9W,EAAIiF,GAAG7H,EAAE2Z,cAAc3W,EAAG,MAAM,CAACI,MAAM,CAAC,kCAAmCR,EAAI2S,gBAAgB3S,EAAI+Q,WAAW3T,EAAE0Z,UAAW1Z,EAAE2Z,cAAc,CAAC/W,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAI+Q,WAAW3T,EAAE0Z,UAAW1Z,EAAE2Z,YAAY,OAAO3W,EAAG,IAAI,CAACG,YAAY,oCAAoC,MAAK,OAAOP,EAAIW,MACtuD,GAAkB,G,aC4ChB,GAAgB,oBAEP,gCAAgB,CAC3BsC,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACH,IAAAoO,EAAQ7B,KAAR,EAAwCU,KAAVE,GAA9B,EAAsBD,OAAtB,EAA8BC,OAC9BkB,EAAWC,KACXC,EAAgBC,KAEhBxM,EAAQ,sBAAS,CACnByM,QAAQ,EACRvF,eAAgB,OAGhBuK,EAAqB,GAEnB/E,EAAY,WACdH,EAAcrE,YAAW,GAGzBlI,EAAMkH,eAAiBkF,EAAMpM,MAAMK,kBACnCgM,EAAS7D,eAAc,SAACmE,GACpBA,EAAI5V,KAAK,CAAE6V,MAAO,OAAQ6D,SAAU,CAAEpY,KAAM,UAC5CsU,EAAI5V,KAAK,CAAE6V,MAAO,GAAF,OAAK5M,EAAMkH,eAAe7O,KAA1B,YAAkC2H,EAAMkH,eAAeuE,UAAYgF,SAAU,CAAEpY,KAAM,kBACrGsU,EAAI5V,KAAK,CAAE6V,MAAO,WAAF,OAAa5M,EAAMkH,eAAegG,QAAlC,mBAAoDlN,EAAMkH,eAAeiG,MAAzE,eAAqF7E,EAAKxP,YAG9GkH,EAAMyM,QAAS,EAEfF,EAAcrE,YAAW,GAEzBuJ,EAAanJ,EAAKxP,OAGhBwP,EAAO,uBAAS,kBAAM6C,EAAMrS,MAAMgJ,OAAOwG,QAEzCoJ,EAAe,uBAAS,kBAAM,GAAMZ,gBAAgBxI,EAAKxP,UAEzDwY,EAAW,uBAAS,mCAAiBtR,EAAMkH,eAAegG,QAAtC,mBAAwDlN,EAAMkH,eAAeiG,MAA7E,eAAyFuE,EAAa5Y,UAE1H6Y,EAAW,uBAAS,WACtB,IAAIA,EAAW,GAef,GAZI3R,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAKyP,MAAK,SAAA/H,GAAC,OAAmB,MAAfA,EAAEuF,cACnEoK,EAAS5a,KAAK,CACVkD,GAAI,EACJ5B,KAAM,aACN4T,UAAW,aACX3R,KAAM0F,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAmB,MAAfA,EAAEuF,aAC3EgK,UAAWvR,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OACzB,MAAfA,EAAEuF,YAAwB4I,GAAanO,EAAE+O,MAAMzI,EAAKxP,OAAS2Y,OAAehb,OACjF+a,UAAYxR,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAmB,MAAfA,EAAEuF,aAAmB9Q,SAI3EuJ,EAAMkH,eAAeyK,SAAU,yBACjB3R,EAAMkH,eAAeyK,UADJ,yBACtB9Z,EADsB,QAE3B8Z,EAAS5a,KAAK,CACVkD,GAAIpC,EAAEoC,GACN5B,KAAMR,EAAEQ,KACR4T,UAAWpU,EAAEoU,UACb3R,KAAM0F,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAIA,EAAEuF,WAAa1P,EAAEoC,MAC1FsX,UAAWvR,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OACrEA,EAAEuF,WAAa1P,EAAEoC,KAASkW,GAAanO,EAAE+O,MAAMzI,EAAKxP,OAAS2Y,OAAehb,OACjF+a,UAAYxR,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAIA,EAAEuF,WAAa1P,EAAEoC,MAAIxD,UAR5G,2BAA6C,IADd,+BAcnC,OAAOkb,KAGLnG,EAAa,SAAC8B,EAAc0D,GAAf,OAA2C,GAATA,EAAc,IAAMrD,KAAKsD,MAAQ3D,EAAO0D,EAAS,MAEhG5D,EAAkB,SAAC5B,GAAD,OAAwB,GAAM4F,mBAAmB5F,IAEnEuB,EAAoB,SAACtB,GAAD,OAAsB,GAAMS,kBAAkB,OAAQT,IAIhF,OAFAiB,IAEO,CACH1M,QACA0R,eACAC,WACAnG,aACA4B,kBACAL,oBACAzE,OACAgJ,eCxIsa,MCO9a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI7W,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuF,MAAY,OAAEnF,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,IAAO,iBAAoBN,EAAIuF,MAAMkH,eAAwB,UAAI,YAAarM,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAe7O,MAAM,IAAIoC,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAeuE,aAAa5Q,EAAG,KAAK,CAACG,YAAY,YAAY,CAACP,EAAIgF,GAAG,WAAWhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAegG,SAAS,WAAWzS,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAeiG,OAAO,WAAWtS,EAAG,MAAM,CAACG,YAAY,4BAA4B,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,KAAK,CAACG,YAAY,YAAY,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIiX,iBAAiB7W,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuF,MAAM4R,UAAUL,WAAW,MAAM9W,EAAIiF,GAAGjF,EAAIuF,MAAM4R,UAAUJ,gBAAgB3W,EAAG,MAAM,CAACI,MAAM,CAAC,yBAA0BR,EAAI2S,gBAAgB3S,EAAI+Q,WAAW/Q,EAAIuF,MAAM4R,UAAUL,UAAW9W,EAAIuF,MAAM4R,UAAUJ,cAAc,CAAC/W,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGjF,EAAI+Q,WAAW/Q,EAAIuF,MAAM4R,UAAUL,UAAW9W,EAAIuF,MAAM4R,UAAUJ,YAAY,UAAU3W,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,QAAQ,CAACG,YAAY,UAAU,CAACH,EAAG,QAAQ,CAACgX,WAAW,CAAC,CAACxZ,KAAK,QAAQyZ,QAAQ,UAAUhZ,MAAO2B,EAAIuF,MAAoB,eAAE+R,WAAW,yBAAyBhX,MAAM,CAAC,KAAO,YAAYiX,SAAS,CAAC,QAAU9P,MAAMC,QAAQ1H,EAAIuF,MAAMiS,gBAAgBxX,EAAIyX,GAAGzX,EAAIuF,MAAMiS,eAAe,OAAO,EAAGxX,EAAIuF,MAAoB,gBAAGH,GAAG,CAAC,OAAS,SAASwL,GAAQ,IAAI8G,EAAI1X,EAAIuF,MAAMiS,eAAeG,EAAK/G,EAAOgH,OAAOC,IAAIF,EAAKG,QAAuB,GAAGrQ,MAAMC,QAAQgQ,GAAK,CAAC,IAAIK,EAAI,KAAKC,EAAIhY,EAAIyX,GAAGC,EAAIK,GAAQJ,EAAKG,QAASE,EAAI,GAAIhY,EAAIiY,KAAKjY,EAAIuF,MAAO,iBAAkBmS,EAAIQ,OAAO,CAACH,KAAaC,GAAK,GAAIhY,EAAIiY,KAAKjY,EAAIuF,MAAO,iBAAkBmS,EAAItY,MAAM,EAAE4Y,GAAKE,OAAOR,EAAItY,MAAM4Y,EAAI,UAAYhY,EAAIiY,KAAKjY,EAAIuF,MAAO,iBAAkBsS,OAAUzX,EAAG,MAAM,CAACG,YAAY,WAAWH,EAAG,MAAM,CAACG,YAAY,QAAQ,CAACP,EAAIgF,GAAG,kBAAkB5E,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,YAAY,GAAK,CAAE1C,KAAM,yBAA0B,CAACoC,EAAIgF,GAAG,YAAY5E,EAAG,aAAa,CAACE,MAAM,CAAC,SAAWN,EAAIuF,MAAM4S,aAAa,UAAYnY,EAAIuF,MAAM4S,cAAc/S,GAAG,CAAC,MAAQpF,EAAIoY,SAAS,CAACpY,EAAIgF,GAAG,aAAa,SAAS5E,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,KAAK,CAACG,YAAY,iBAAiB,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuF,MAAM4R,UAAUvZ,SAASwC,EAAG,WAAW,CAACG,YAAY,uBAAuB,CAACH,EAAG,kBAAkB,CAACE,MAAM,CAAC,OAAS,aAAa,OAAS,oBAAoB,CAACF,EAAG,WAAW,CAACiY,KAAK,WAAWrY,EAAI2Q,GAAI3Q,EAAa,WAAE,SAAS6N,EAAKyK,GAAQ,OAAOlY,EAAG,kBAAkB,CAACzB,IAAK,QAAU2Z,EAAQhY,MAAM,CAAC,KAAO,eAAe,MAAQuN,EAAK,MAAQA,GAAM0K,MAAM,CAACla,MAAO2B,EAAIuF,MAAkB,aAAEiT,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAO,eAAgBwS,IAAMT,WAAW,2BAA0B,IAAI,IAAI,GAAItX,EAAIuF,MAAM4R,UAAUtX,KAAK7D,OAAS,EAAGoE,EAAG,MAAM,CAA4D,GAA1DJ,EAAIyY,kBAAkBzY,EAAIuF,MAAMiS,gBAAgBxb,OAAaoE,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,WAAW,CAACG,YAAY,oBAAoB,CAA4D,GAA1DP,EAAIyY,kBAAkBzY,EAAIuF,MAAMiS,gBAAgBxb,OAAagE,EAAI2Q,GAAI3Q,EAAIyY,kBAAkBzY,EAAIuF,MAAMiS,iBAAiB,SAASjQ,EAAEzL,GAAG,OAAOsE,EAAG,eAAe,CAACzB,IAAK,OAAS7C,EAAGyc,MAAM,CAACla,MAAO2B,EAAIuF,MAAoB,eAAEiT,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAO,iBAAkBwS,IAAMT,WAAW,yBAAyB,CAAG/P,EAAEmM,QAAsB,UAAZnM,EAAEmM,OAAg1B1T,EAAIW,KAAh0B,CAACP,EAAG,qBAAqB,CAACzB,IAAK,kBAAqB4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,kBAAqBiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,UAAW,EAAK,IAAMoC,EAAI0Y,uBAAuBH,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAIuF,MAAMqT,cAAeJ,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAIuF,MAAMqT,aAAcb,IAAMT,WAAW,6DAA6DlX,EAAG,qBAAqB,CAACzB,IAAK,YAAe4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,YAAeiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,IAAMoC,EAAI6Y,eAAezT,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAI8Y,iBAAiBvR,KAAKgR,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAI6N,MAAO2K,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAI6N,KAAMkK,IAAMT,WAAW,gDAAsE,QAAZ/P,EAAEmM,QAAgC,YAAZnM,EAAEmM,OAAsB,CAACtT,EAAG,0BAA0B,CAACzB,IAAK,kBAAqB4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,kBAAqBiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,UAAW,EAAK,IAAMoC,EAAI0Y,uBAAuBH,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAIuF,MAAMqT,cAAeJ,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAIuF,MAAMqT,aAAcb,IAAMT,WAAW,6DAA6DlX,EAAG,0BAA0B,CAACzB,IAAK,YAAe4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,YAAeiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,IAAMoC,EAAI6Y,eAAezT,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAI8Y,iBAAiBvR,KAAKgR,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAI6N,MAAO2K,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAI6N,KAAMkK,IAAMT,WAAW,gDAAgDtX,EAAIW,MAAM,MAAKX,EAAIW,MAAM,IAAI,GAAGX,EAAIW,KAAKX,EAAI2Q,GAAI3Q,EAAIuF,MAAM4R,UAAiB,SAAE,SAAS/Z,EAAEtB,GAAG,OAAOsE,EAAG,MAAM,CAACzB,IAAK,KAAO7C,EAAG0E,MAAM,CAAC,iBAAkB,CAAE,MAAsE,GAA7DR,EAAI+Y,eAAe3b,EAAEoC,GAAIQ,EAAIuF,MAAMiS,gBAAgBxb,UAAgB,CAA+D,GAA7DgE,EAAI+Y,eAAe3b,EAAEoC,GAAIQ,EAAIuF,MAAMiS,gBAAgBxb,OAAa,CAAEoB,EAAI,GAAEgD,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,MAAM,CAACG,YAAY,sCAAsC,CAAEnD,EAAS,QAAEgD,EAAG,MAAM,CAACG,YAAY,aAAaD,MAAM,CAAC,IAAMN,EAAIgZ,aAAa5b,EAAE6b,YAAYjZ,EAAIW,SAASX,EAAIW,KAAKP,EAAG,WAAW,CAACG,YAAY,oBAAoBP,EAAI2Q,GAAI3Q,EAAI+Y,eAAe3b,EAAEoC,GAAIQ,EAAIuF,MAAMiS,iBAAiB,SAASjQ,EAAEzL,GAAG,OAAOsE,EAAG,eAAe,CAACzB,IAAK,MAAQ7C,EAAGyc,MAAM,CAACla,MAAO2B,EAAIuF,MAAoB,eAAEiT,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAO,iBAAkBwS,IAAMT,WAAW,yBAAyB,CAAG/P,EAAEmM,QAAsB,UAAZnM,EAAEmM,OAA80B1T,EAAIW,KAA9zB,CAACP,EAAG,qBAAqB,CAACzB,IAAK,iBAAoB4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,iBAAoBiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,UAAW,EAAK,IAAMoC,EAAI0Y,uBAAuBH,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAIuF,MAAMqT,cAAeJ,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAIuF,MAAMqT,aAAcb,IAAMT,WAAW,6DAA6DlX,EAAG,qBAAqB,CAACzB,IAAK,YAAe4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,YAAeiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,IAAMoC,EAAI6Y,eAAezT,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAI8Y,iBAAiBvR,KAAKgR,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAI6N,MAAO2K,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAI6N,KAAMkK,IAAMT,WAAW,gDAAsE,QAAZ/P,EAAEmM,QAAgC,YAAZnM,EAAEmM,OAAsB,CAACtT,EAAG,0BAA0B,CAACzB,IAAK,kBAAqB4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,kBAAqBiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,UAAW,EAAK,IAAMoC,EAAI0Y,uBAAuBH,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAIuF,MAAMqT,cAAeJ,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAIuF,MAAMqT,aAAcb,IAAMT,WAAW,6DAA6DlX,EAAG,0BAA0B,CAACzB,IAAK,YAAe4I,EAAI,GAAGjH,MAAM,CAAC,KAAQ,YAAeiH,EAAI,GAAG,MAAQA,EAAE3J,KAAK,IAAMoC,EAAI6Y,eAAezT,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAI8Y,iBAAiBvR,KAAKgR,MAAM,CAACla,MAAO2B,EAAI2Y,2BAA2BpR,GAAG+O,MAAMtW,EAAI6N,MAAO2K,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAI2Y,2BAA2BpR,GAAG+O,MAAOtW,EAAI6N,KAAMkK,IAAMT,WAAW,gDAAgDtX,EAAIW,MAAM,MAAK,IAAIX,EAAIW,MAAM,OAAM,GAAGP,EAAG,KAAK,CAACJ,EAAIgF,GAAG,gCAAgC,KAAKhF,EAAIW,MACr1P,GAAkB,GCCTuY,I,UAA6C,CACtD9H,YAAY,EACZxT,KAAM,kBACNqF,MAAO,CACHkW,SAAU,CACN1Y,KAAM0C,QACNC,SAAS,IAGjBrD,OATsD,SAS/CuR,EAAGhH,GACN,OACIgH,EAAE,SAAU,CACR9Q,MAAO,CAAC8J,EAAI9O,KAAK+E,YAAa,mBAC9B6E,GAAI,GAAakF,GACjBhK,MAAO,CAAE8Y,SAAU9O,EAAI9O,KAAK8E,MAAM8Y,WACnCC,GAAc/H,EAAGhH,OAKhC,SAAS,GAAaA,GAClB,OAAIA,EAAI9O,KAAK4J,IAAMkF,EAAI9O,KAAK4J,GAAGsM,MACpB,CAAEA,MAAOpH,EAAI9O,KAAK4J,GAAGsM,OAEzB,KAGX,SAAS2H,GAAc/H,EAAkBhH,GACrC,OAAIA,EAAIrH,MAAMkW,SACH,CAAE7H,EAAE,MAAO,CAAE9Q,MAAO,6BAExB8J,EAAItG,QAAJ,WCwJX,IAAM,GAAgB,YAEP,gCAAgB,CAC3Bf,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACH,IAAAoO,EAAQ7B,KAAR,EAAwCU,KAAlBC,EAAtB,EAAsBA,OAAQC,EAA9B,EAA8BA,MAC9BkB,EAAWC,KACXC,EAAgBC,KAEhBxM,EAAQ,sBAAS,CACnByM,QAAQ,EACRmG,cAAc,EACd1L,eAAgB,KAChB+K,gBAAgB,EAChBoB,aAAc,KACdzB,UAAW,CACP3X,GAAK,KACL5B,KAAM,KACNkZ,UAAW,KACXC,UAAW,KACXlX,KAAM,GACNyZ,QAAS,MAIbC,EAAyB,KAEvBtH,EAAY,WACdH,EAAcrE,YAAW,GAEzBlI,EAAMkH,eAAiBkF,EAAMpM,MAAMK,kBACnCL,EAAMqT,aAAe,KACrBE,EAAiB,MACjBS,EAAoBlM,GAAK9H,EAAM4R,WAG/BvF,EAAS7D,eAAc,SAACmE,GACpBA,EAAI5V,KAAK,CAAE6V,MAAO,OAAQ6D,SAAU,CAAEpY,KAAM,UAC5CsU,EAAI5V,KAAK,CAAE6V,MAAO,GAAF,OAAK5M,EAAMkH,eAAe7O,KAA1B,YAAkC2H,EAAMkH,eAAeuE,UAAYgF,SAAU,CAAEpY,KAAM,kBACrGsU,EAAI5V,KAAK,CACL6V,MAAO,WAAF,OAAa5M,EAAMkH,eAAegG,QAAlC,mBAAoDlN,EAAMkH,eAAeiG,MAAzE,eAAqF7E,EAAKxP,OAC/F2X,SAAU,CAAEpY,KAAM,yBAEtBsU,EAAI5V,KAAK,CAAE6V,MAAO5M,EAAM4R,UAAUvZ,UAGtC2H,EAAMyM,QAAS,EAEfF,EAAcrE,YAAW,IAGvBI,EAAO,uBAAS,kBAAM6C,EAAMrS,MAAMgJ,OAAOwG,QAE/C,SAAS2L,EAAiB3L,GACtB,MAAY,MAARA,EACO,MAGJ,MAGX,IAAMgL,EAAgB,uBAAS,kBAAMW,EAAiB3L,EAAKxP,UACrDqa,EAAwB,uBAAS,kBAAMc,EAAiBjU,EAAMqT,iBAE9DR,EAAM,yDAAG,6GACX7S,EAAM4S,cAAe,EAEjB5Y,EAAM,CACNgN,UAAWhH,EAAMkH,eAAeF,UAChC1M,KAAM0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAC/B,IAAIkS,EAAYF,EAAkB1Z,MAAQ0Z,EAAkB1Z,KAAK6Z,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAM+H,EAAE/H,MACrF,SAAIia,GAAatK,KAAKwK,UAAUF,EAAUnD,QAAUnH,KAAKwK,UAAUpS,EAAE+O,YAPtE,SAcK3E,EAAMiI,SAAS,aAAc,CAAC/Z,KAAMN,EAAIM,OAd7C,OAcP+I,EAdO,OAgBXrD,EAAM4S,cAAe,EACjBvP,GACA+I,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,UAAWyN,QAAS,qCAC1DuC,EAAOnU,KAAK,CAAEsB,KAAM,yBAGpB+T,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,QAASyN,QAAS,sDAtBjD,2CAAH,qDA0BN4K,EAAmB,SAACvR,GAEtB,GAA+C,KAA3CmJ,EAAMrS,MAAMgJ,OAAOyF,UAAU0I,WAC7BjQ,EAAM4R,UAAU3X,GAAK,EACrB+F,EAAM4R,UAAUvZ,KAAO,aACvB2H,EAAM4R,UAAUL,UAAYvR,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAoB,MAAfA,EAAEuF,YAAuB4I,GAAanO,EAAE+O,MAAMzI,EAAKxP,WAASrC,OAC5JuJ,EAAM4R,UAAUJ,UAAYxR,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAmB,MAAfA,EAAEuF,aAAmB9Q,OACpHuJ,EAAM4R,UAAUtX,KAAO0F,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAmB,MAAfA,EAAEuF,aAC5FvH,EAAM4R,UAAUmC,QAAU,CAAE,CAAE9Z,GAAI,WAEjC,CACD,IAAIpC,EAAImI,EAAMkH,eAAeyK,UAAY3R,EAAMkH,eAAeyK,SAASwC,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,GAAGgW,YAAc9E,EAAMrS,MAAMgJ,OAAOyF,aACvH,IAAK1P,EACD,OAGJmI,EAAM4R,UAAU3X,GAAKpC,EAAEoC,GACvB+F,EAAM4R,UAAUvZ,KAAOR,EAAEQ,KACzB2H,EAAM4R,UAAUL,UAAYvR,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAKA,EAAEuF,WAAa1P,EAAEoC,KAAQkW,GAAanO,EAAE+O,MAAMzI,EAAKxP,WAASrC,OAC5JuJ,EAAM4R,UAAUJ,UAAYxR,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAIA,EAAEuF,WAAa1P,EAAEoC,MAAIxD,OACpHuJ,EAAM4R,UAAUtX,KAAO0F,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAAlI,GAAC,OAAIA,EAAEuF,WAAa1P,EAAEoC,MAC3G+F,EAAM4R,UAAUmC,QAAUlc,EAAEkc,UAI9BvI,EAAa,SAAC8B,EAAc0D,GAAf,OAA2C,GAATA,EAAc,EAAIrD,KAAKsD,MAAO3D,EAAO0D,EAAS,MAE7F5D,EAAkB,SAAC+D,GAAD,OAAkB,GAAMC,mBAAmBD,IAE7DqC,EAAiB,SAAC/L,EAAmB6M,GACvC,OAAIA,EACON,EAAkB1Z,KAAK4P,QAAO,SAAA9H,GAAC,OAAmB,MAAdA,EAAEqF,UAAsBrF,EAAEqF,UAAYA,GAAa0I,GAAa/N,EAAE2O,MAAMzI,EAAKxP,WAGjHkb,EAAkB1Z,KAAK4P,QAAO,SAAA9H,GAAC,OAAmB,MAAdA,EAAEqF,UAAqBrF,EAAEqF,UAAYA,MAIlFyL,EAAoB,SAACoB,GACvB,OAAIA,EACON,EAAkB1Z,KAAK4P,QAAO,SAAA9H,GAAC,OAAmB,MAAdA,EAAEqF,UAAqB0I,GAAa/N,EAAE2O,MAAMzI,EAAKxP,WAGrFkb,EAAkB1Z,KAAK4P,QAAO,SAAA9H,GAAC,OAAkB,MAAdA,EAAEqF,aAI9C2L,EAA6B,SAACc,GAChC,OAAOlU,EAAM4R,UAAUtX,KAAK6Z,MAAK,SAAAnS,GAAC,OAAIA,EAAE/H,IAAMia,EAAUja,OAGtDwZ,EAAe,SAACC,GAClB,GAAIA,EACA,wBAAkBA,EAAlB,YAIFhC,EAAe,uBAAS,kBAAM,GAAMZ,gBAAgBxI,EAAKxP,UAEzDqR,EAAY,uBAAS,kBAAMnK,EAAMkH,eAAeqN,gBAItD,OAFA7H,IAEO,CACH1M,QACA6S,SACAU,mBACA/H,aACA4B,kBACAoG,iBACAN,oBACAO,eACA/B,eACAvH,YACA7B,OACAgL,gBACAH,wBACAC,+BAIRpU,WAAY,CAAE2U,qBCtWuZ,MCOra,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuF,MAAY,OAAEnF,EAAG,MAAM,CAACI,MAAM,CAAC,oBAAqB,CAAE,eAAgBR,EAAIuF,MAAMwU,oBAAsB,KAAM,CAAC3Z,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,IAAO,iBAAoBN,EAAIuF,MAAMkH,eAAwB,UAAI,YAAarM,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAe7O,MAAM,IAAIoC,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAeuE,aAAa5Q,EAAG,KAAK,CAACG,YAAY,YAAY,CAACP,EAAIgF,GAAG,WAAWhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAegG,SAAS,WAAWzS,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAeiG,OAAO,SAAStS,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAIuF,MAAmB,cAAEnF,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACP,EAAIgF,GAAG,0BAA0BhF,EAAIW,QAAQ,GAAGP,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAAEP,EAAIuF,MAAmB,cAAE,CAACnF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,aAAa8E,GAAG,CAAC,MAAQpF,EAAIga,gBAAgB,CAACha,EAAIgF,GAAG,YAAY5E,EAAG,aAAa,CAACgF,GAAG,CAAC,MAAQpF,EAAIia,gBAAgB,CAACja,EAAIgF,GAAG,aAAa,CAAC5E,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,WAAW,SAA8C,GAAnCN,EAAIka,qBAAqBle,QAAaoJ,GAAG,CAAC,MAAQpF,EAAIma,qBAAqB,CAACna,EAAIgF,GAAG,wBAAwB5E,EAAG,aAAa,CAACgF,GAAG,CAAC,MAAQpF,EAAIoa,eAAe,CAACpa,EAAIgF,GAAG,qBAAqB,SAAS5E,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,KAAK,CAACG,YAAY,iBAAiB,CAACP,EAAIgF,GAAG,cAAchF,EAAI2Q,GAAI3Q,EAAc,YAAE,SAAS5C,GAAG,OAAOgD,EAAG,MAAM,CAACzB,IAAK,WAAcvB,EAAI,GAAI,IAAO4C,EAAIuF,MAAc,SAAGhF,YAAY,gBAAgB,CAACH,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAG7H,EAAEQ,SAAUR,EAAI,GAAE,CAAG4C,EAAIuF,MAAM8U,cAAieja,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,SAAS,CAACG,YAAY,mBAAmBD,MAAM,CAAC,SAAWlD,EAAEkd,SAASlV,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAIua,mBAAmBnd,EAAEoC,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,4BAA4BP,EAAIgF,GAAG,SAAS5E,EAAG,SAAS,CAACG,YAAY,qBAAqBD,MAAM,CAAC,SAAWlD,EAAEod,QAAQpV,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAIya,qBAAqBrd,EAAEoC,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,8BAA8BP,EAAIgF,GAAG,aAAn5B5E,EAAG,gBAAgB,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAKN,EAAI0a,gBAAgBtd,EAAEoC,MAAM,CAACY,EAAG,IAAI,CAACG,YAAY,wBAAwBP,EAAIgF,GAAG,kBAAkB5E,EAAG,SAAS,CAACgF,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAI2a,YAAYvd,EAAEoC,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,uBAAuBP,EAAIgF,GAAG,gBAAgB5E,EAAG,SAAS,CAACG,YAAY,UAAU6E,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAI4a,gBAAgBxd,EAAEoC,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,yBAAyBP,EAAIgF,GAAG,qBAAqB,IAAkdhF,EAAIW,KAAKX,EAAI2Q,GAAIvT,EAAa,aAAE,SAASyd,EAAGC,GAAS,OAAO1a,EAAG,MAAM,CAACzB,IAAK,WAAcvB,EAAI,GAAI,WAAcyd,EAAK,GAAI,MAAS7a,EAAIuF,MAAc,SAAGhF,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,KAAK,CAACG,YAAY,gBAAgB,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAG4V,EAAGjd,SAAUid,EAAK,GAAE,CAACza,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAAEsa,EAAU,QAAEza,EAAG,SAAS,CAACG,YAAY,gCAAgC6E,GAAG,CAAC,UAAY,SAASwL,GAAQ,OAAO5Q,EAAI+a,sBAAsBnK,EAAQiK,EAAG5B,YAAY,CAAC7Y,EAAG,IAAI,CAACG,YAAY,6BAA6BP,EAAIW,OAASX,EAAIuF,MAAM8U,cAAmPra,EAAIuF,MAAM8U,eAAiBra,EAAIgb,cAAcH,GAAKza,EAAG,MAAM,CAACG,YAAY,qCAAqC,CAACH,EAAG,SAAS,CAACG,YAAY,mBAAmBD,MAAM,CAAC,SAAsB,GAAXwa,GAAc1V,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAIib,kBAAkB7d,EAAEoC,GAAIqb,EAAGrb,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,4BAA4BP,EAAIgF,GAAG,SAAS5E,EAAG,SAAS,CAACG,YAAY,qBAAqBD,MAAM,CAAC,SAAWwa,GAAW1d,EAAE8d,YAAYlf,OAAS,GAAGoJ,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAImb,oBAAoB/d,EAAEoC,GAAIqb,EAAGrb,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,8BAA8BP,EAAIgF,GAAG,aAAahF,EAAIW,KAAryBP,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,SAAS,CAACG,YAAY,+BAA+B6E,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAIob,eAAeP,EAAGrb,OAAO,CAACY,EAAG,IAAI,CAACG,YAAY,8BAAqmBP,EAAIW,MAAM,GAAGP,EAAG,WAAW,CAACG,YAAY,yBAAyB,CAACH,EAAG,qBAAqB,CAACE,MAAM,CAAC,OAAS,WAAW,UAAYN,EAAIuF,MAAM8U,gBAAgB,CAACja,EAAG,WAAW,CAACiY,KAAK,WAAWrY,EAAI2Q,GAAIkK,EAAO,MAAE,SAAStT,GAAG,OAAOnH,EAAG,qBAAqB,CAACzB,IAAK,OAAU4I,EAAI,GAAI,IAAOvH,EAAIuF,MAAc,SAAGjF,MAAM,CAAC,KAAQ,GAAMiH,EAAI,GAAG,MAAUA,EAAM,KAAI,OAAUA,EAAE+O,MAAM,OAASiC,MAAM,CAACla,MAAO2B,EAAIuF,MAAyB,oBAAEiT,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAO,sBAAuBwS,IAAMT,WAAW,kCAAiC,IAAI,IAAI,IAAI,OAAM,OAAM,GAAGlX,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,gBAAgB,CAAEN,EAAIuF,MAAM8U,eAAiBra,EAAIuF,MAAMwU,qBAAuB/Z,EAAIuF,MAAMwU,oBAAoB/d,OAAS,EAAGoE,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAACH,EAAG,IAAI,CAACG,YAAY,sBAAsBH,EAAG,MAAM,CAACG,YAAY,QAAQ,CAACP,EAAIgF,GAAG,SAAS5E,EAAG,SAAS,CAACJ,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuF,MAAMwU,oBAAoB/d,WAAWgE,EAAIgF,GAAG,uBAAuB5E,EAAG,WAAW,CAACA,EAAG,eAAe,CAACA,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,UAAU,YAAc,oBAAoB8E,GAAG,CAAC,MAAQpF,EAAIqb,wBAAwB9C,MAAM,CAACla,MAAO2B,EAAIuF,MAAuB,kBAAEiT,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAO,oBAAqBwS,IAAMT,WAAW,4BAA4BtX,EAAI2Q,GAAI3Q,EAAwB,sBAAE,SAAS5C,GAAG,OAAOgD,EAAG,SAAS,CAACzB,IAAIvB,EAAEoC,GAAG+X,SAAS,CAAC,MAAQna,EAAEoC,KAAK,CAACQ,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAG7H,EAAEQ,MAAM,UAAS,GAAGwC,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,SAAS,YAAc,mBAAmBiY,MAAM,CAACla,MAAO2B,EAAIuF,MAAsB,iBAAEiT,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAO,mBAAoBwS,IAAMT,WAAW,2BAA2BtX,EAAI2Q,GAAI3Q,EAAuB,qBAAE,SAAS6a,EAAG/e,GAAG,OAAOsE,EAAG,SAAS,CAACzB,IAAK,MAAQ7C,EAAI,IAAO+e,EAAK,GAAGtD,SAAS,CAAC,MAAQsD,EAAGrb,KAAK,CAACQ,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAG4V,EAAGjd,MAAQ,aAAa,UAAS,IAAI,IAAI,GAAGwC,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS8E,GAAG,CAAC,MAAQpF,EAAIsb,aAAa,CAACtb,EAAIgF,GAAG,WAAW,OAAOhF,EAAIW,OAAOP,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,cAAc,CAAEN,EAAIuF,MAAMgW,kBAAsB,KAAEnb,EAAG,MAAM,CAACG,YAAY,2BAA2BqD,MAAO5D,EAA6B,2BAAG,CAACI,EAAG,MAAM,CAACE,MAAM,CAAC,IAAMN,EAAIuF,MAAMgW,kBAAkBrO,SAASlN,EAAIW,OAAQX,EAAIuF,MAA0B,qBAAEnF,EAAG,mBAAmB,CAACE,MAAM,CAAC,UAAYN,EAAIuF,MAAMiW,uBAAuB,gBAAkBxb,EAAIkV,mBAAmBlV,EAAIuF,MAAMkW,iBAAiBrW,GAAG,CAAC,cAAc,SAASwL,GAAQ5Q,EAAIuF,MAAMmW,sBAAuB,GAAO,MAAQ1b,EAAI2b,kBAAkBC,YAAY5b,EAAI6b,GAAG,CAAC,CAACld,IAAI,OAAOmd,GAAG,SAASC,GACvmN,IAAIC,EAAQD,EAAIC,MAChB,OAAO5b,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,cAAc,YAAc,eAAe,MAAQ0b,GAAOzD,MAAM,CAACla,MAAO2B,EAAIuF,MAAoB,eAAEiT,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAO,iBAAkBwS,IAAMT,WAAW,6BAA6B,MAAK,EAAM,aAAa,CAAClX,EAAG,WAAW,CAACiY,KAAK,SAAS,CAACrY,EAAIgF,GAAG,iBAAiB5E,EAAG,WAAW,CAACiY,KAAK,YAAY,CAACrY,EAAIgF,GAAG,sCAAsC,GAAGhF,EAAIW,MAAM,GAAGX,EAAIW,MACta,GAAkB,GCHlB,I,8BAAS,WAAa,IAAIX,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,SAAS,CAACG,YAAY,0BAA0BC,MAAM,CAAE,OAAUR,EAAIuF,MAAM0W,WAAY7W,GAAG,CAAC,MAAQpF,EAAIkc,UAAU,CAAC9b,EAAG,IAAI,CAACG,YAAY,6BAA6BH,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,uBAAuB,CAAEN,EAAIuF,MAAe,UAAEnF,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACP,EAAIU,GAAG,YAAY,GAAGV,EAAIW,QAAQ,KAChd,GAAkB,GCDhB,SAAUwb,GAAEzc,GACd,OAAO,IAAI,GAAmBA,GAG3B,IAAM,GAAb,WACI,WAAoBA,GAAc,wBAAd,KAAAA,IADxB,4CAGI,SAAKe,EAAc2b,EAA+DC,GAC9E,IAAI3c,EAAIO,KAAKP,EACTlC,EAAI,SAAJA,EAAa8e,GACb,IAAI9U,EAAI4U,EAASE,IACP,IAAN9U,GACA9H,EAAE6c,oBAAoB9b,EAAMjD,EAAG6e,IAGvC3c,EAAE8c,iBAAiB/b,EAAMjD,EAAG6e,OAXpC,KAeM,SAAUI,GAAE/c,GACd,OAAO,IAAI,GAAWA,GAGnB,IAAM,GAAb,WACI,WAAoBA,GAAc,wBAAd,KAAAA,IADxB,8CAGI,SAAOgd,GACH,OAAO,GAAOA,EAAWzc,KAAKP,KAJtC,sBAOI,SAASoC,GACL,OAAO,GAAO7B,KAAKP,EAAGoC,KAR9B,qBAWI,SAAQ6a,GACJ,IAAIjd,EAAwBO,KAAKP,EACjC,MAAY,MAALA,EAAW,CACd,IAAIkd,EAAiBld,EACrB,GAAIkd,EAAUC,kBAAoBD,EAAUC,kBAAkBF,GAAYjd,EAAEod,QAAQH,GAChF,OAAOjd,EAEXA,EAAIA,EAAEqd,cAGV,OAAOrd,MArBf,KA+BA,SAAS,GAAOgd,EAAwB9E,GACpC,OAAe,OAAXA,IAGAA,IAAW8E,GAGR,GAAOA,EAAW9E,EAAOmF,gBCxCpC,IAAM,GAAgB,gBAEP,gCAAgB,CAC3B9Z,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACT,IAAMgC,EAAQ,sBAAS,CACnB0W,WAAW,IAGTC,EAAU,WACZ3W,EAAM0W,WAAa1W,EAAM0W,UACzBE,GAAEzY,UAAUsZ,KAAK,SAAS,SAACV,GACvB,OAAIA,EAAI1E,kBAAkBqF,cAAgBR,GAAEH,EAAI1E,QAAQsF,OAAoB3Z,EAAQ4Z,KAAKC,OACrF7X,EAAM0W,WAAY,GACX,OAMnB,MAAO,CACH1W,QACA2W,cC7Cga,MCOxa,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,qBCgNT,GAAgB,WAEP,gCAAgB,CAC3BjZ,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACH,IAAAoO,EAAQ7B,KAAR,EAAwCU,KAAVE,GAA9B,EAAsBD,OAAtB,EAA8BC,OAC9BkB,EAAWC,KACXC,EAAgBC,KAEhBxM,EAAQ,sBAAS,CACnByM,QAAQ,EACRmG,cAAc,EACd1L,eAAgB,KAChB4Q,SAAU,EAEV5B,eAAgB,KAChBC,sBAAsB,EACtBF,wBAAwB,EACxBnB,eAAe,EAEfN,oBAAqB,GACrBuD,kBAAmB,KACnBC,iBAAkB,KAElBhC,kBAAmB,CACfrY,MAAM,EACNsa,SAAU,CAAEC,IAAK,KAAMC,OAAQ,KAAMC,KAAM,MAC3CzQ,IAAK,MAIT0Q,EAA8B,KAE5B3L,EAAY,WACdH,EAAcrE,YAAW,GAEzBlI,EAAMkH,eAAiBkF,EAAMpM,MAAMK,kBACnCgY,EAAyBvQ,GAAK9H,EAAMkH,gBACpClH,EAAM+X,kBAAoBO,EAAWxf,MAAM,GAAKwf,EAAWxf,MAAM,GAAGmB,GAAK,EAEzEse,IACAC,IAEAnM,EAAS7D,eAAc,SAACmE,GACpBA,EAAI5V,KAAK,CAAE6V,MAAO,OAAQ6D,SAAU,CAAEpY,KAAM,UAC5CsU,EAAI5V,KAAK,CAAE6V,MAAO,GAAF,OAAK5M,EAAMkH,eAAe7O,KAA1B,YAAkC2H,EAAMkH,eAAeuE,UAAYgF,SAAU,CAAEpY,KAAM,kBACrGsU,EAAI5V,KAAK,CAAE6V,MAAO,WAAF,OAAa5M,EAAMkH,eAAegG,QAAlC,mBAAoDlN,EAAMkH,eAAeiG,MAAzE,gBAA8FsL,UAAU,OAG5H9e,OAAOsd,iBAAiB,UAAWyB,GAEnC1Y,EAAMyM,QAAS,EAEfF,EAAcrE,YAAW,IAGvByQ,EAAU,yDAAG,8GACcvM,EAAMiI,SAC/B,uBACA,CAAErN,UAAWmE,EAAMrS,MAAMgJ,OAAOkF,YAHrB,OACfhH,EAAMkH,eADS,OAKfmR,EAAyBvQ,GAAK9H,EAAMkH,gBACpCqR,IACAC,IAPe,2CAAH,qDAUVD,EAAe,WACjBvY,EAAMkH,eAAeyK,SAASiH,MAAK,SAAShW,EAAGiW,GAAG,OAAOjW,EAAEkW,QAAUD,EAAEC,YAGrEC,EAAa,SAAC3R,GACXA,EAAQ2M,SAGb3M,EAAQ2M,QAAQ6E,MAAK,SAAShW,EAAGiW,GAAG,OAAOjW,EAAEkW,QAAUD,EAAEC,YAGvDN,EAAiB,WACdxY,EAAMkH,eAAeyK,UAG1B3R,EAAMkH,eAAeyK,SAAS3V,SAAQ,SAAAnE,GAClCkhB,EAAWlhB,OAInB,8BAAgB,kBAAM8B,OAAOqd,oBAAoB,UAAW0B,MAE5D,IAAMJ,EAAa,uBAAS,WACxB,IAAI3G,EAAW,GAqCf,OAnCI3R,EAAMkH,gBAAkBlH,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAA9H,GAAC,OAAmB,MAAfA,EAAEmF,aAAmB9Q,OAAS,GACzHkb,EAAS5a,KAAK,CAAEkD,GAAI,KAAM5B,KAAM,aAAcsd,YAAc,CAAC,CAAE1b,GAAI,KAAM5B,KAAM2gB,EAAkB,CAAC/e,GAAG,MAAM,GAAIK,KAAMA,EAAK,KAAK,UAG/H0F,EAAMkH,gBAAkBlH,EAAMkH,eAAeyK,UAC7C3R,EAAMkH,eAAeyK,SAAS3V,SAAQ,SAACnE,EAAEtB,GAErC,IAAI0iB,EAAgB,CAChB,CAAEhf,GAAI,KAAMyZ,QAAS,KAAMrb,KAAM2gB,EAAkB,CAAC/e,GAAG,MAAM,GAAI6e,QAAS,KAAMvR,UAAW1P,EAAEoC,GAAIK,KAAMA,EAAKzC,EAAEoC,GAAG,QAIpG,MAAbpC,EAAEkc,SACFlc,EAAEkc,QAAQ/X,SAAQ,SAACqL,EAAQkO,GACvB0D,EAAcliB,KAAK,CACfkD,GAAIoN,EAAOpN,GACXyZ,QAASrM,EAAOqM,QAChBrb,KAAM2gB,EAAkB3R,EAAQkO,GAChCuD,QAASzR,EAAOyR,QAChBvR,UAAW1P,EAAEoC,GACbK,KAAMA,EAAKzC,EAAEoC,GAAIoN,EAAOpN,SAKpC0X,EAAS5a,KACL,CAAIkD,GAAIpC,EAAEoC,GACN5B,KAAOR,EAAEQ,KACTsd,YAAcsD,EACdlE,QAAe,GAALxe,EACV0e,OAAS1e,GAAKyJ,EAAMkH,eAAeyK,SAASlb,OAAS,OAK9Dkb,KAGLgD,EAAuB,uBAAS,kBAAM2D,EAAWxf,MAAMoR,QAAO,SAAA9H,GAAC,OAAIA,EAAEnI,MAAMqe,EAAWxf,MAAMoR,QAAO,SAAA9H,GAAC,OAAIA,EAAEnI,MAAM,MAEhHif,EAAsB,uBAAS,WACjC,IAAIC,EAAkBb,EAAWxf,MAAMoR,QAAO,SAAA9H,GAAC,OAAIA,EAAEnI,IAAM+F,EAAM+X,qBAAmB,GACpF,OAAOoB,EAAkBA,EAAgBxD,YAAc,MAGrDyD,EAA4B,uBAAS,WACvC,IAAInB,EAAWjY,EAAMgW,kBAAkBiC,SACvC,qBAAeA,EAASC,KAAO,GAA/B,uBAAgDD,EAASE,QAAU,GAAnE,qBAAkFF,EAASG,MAAQ,GAAnG,UAGE9d,EAAO,SAACiN,EAAmBE,GAApB,OAAyCzH,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAA9H,GAAC,OAAKA,EAAEmF,WAAaA,GAAenF,EAAEqF,UAAYA,MAEhKuR,EAAoB,SAAC3R,EAAagS,GACpC,OAAiB,MAAbhS,EAAOpN,GACA,YAGAoN,EAAOhP,MAIhBmd,EAAwB,SAACuB,EAAiBrD,GAC5C,GAAIqD,EAAI1E,kBAAkBqF,YAAa,CACnC,IAAI4B,EAAOvC,EAAI1E,OAAOkH,wBAClBrB,EAAMvK,KAAK6L,IAAIF,EAAKpB,IAAM,IAAK,IAC/BC,EAASD,EAAM,IACfE,EAAOkB,EAAKG,MAAQ,EAEpBtB,EAASxe,OAAO+f,YAAc,KAC9BxB,EAAM,KACNC,EAAS,IAGbnY,EAAMgW,kBAAkBiC,SAAW,CAC/BC,IAAKA,EACLE,KAAMA,EACND,OAAQA,GAEZnY,EAAMgW,kBAAkBrO,IAAM8L,EAAaC,GAC3C1T,EAAMgW,kBAAkBrY,MAAO,IAIjC+a,EAAwB,kBAAM1Y,EAAMgW,kBAAkBrY,MAAO,GAE7DkX,EAAe,WACjB7U,EAAMkW,eAAiB,KACvBlW,EAAMmW,sBAAuB,GAG3BC,EAAgB,yDAAG,6GACjBuD,EAAa,CACb1f,GAAI,KACJ+M,UAAYmE,EAAMrS,MAAMgJ,OAAOkF,UAC/B3O,KAAO2H,EAAMkW,gBAGjBlW,EAAMiW,wBAAyB,EAPV,SASL7J,EAAMiI,SAAS,mBAAoB,CAAEjN,QAASuS,IATzC,UASjBtW,EATiB,QAUjBA,EAViB,iCAWXsV,IAXW,OAYjBvM,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,UAAWyN,QAAS,kBAAF,OAAoB3I,EAAMkW,eAA1B,OAZvC,wBAejB9J,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,QAASyN,QAAS,sDAfvC,QAkBrB3I,EAAMiW,wBAAyB,EAC/BjW,EAAMmW,sBAAuB,EAnBR,4CAAH,qDAsBhBf,EAAW,yDAAG,WAAO7N,GAAP,uGACA6E,EAAMiI,SAAS,qBAAsB,CAAE9M,cADvC,UACZlE,EADY,QAEZA,EAFY,gCAGNsV,IAHM,OAIZvM,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,UAAWyN,QAAS,kBAJ9C,uBAOZyD,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,QAASyN,QAAS,sDAP5C,4CAAH,sDAWXkN,EAAc,yDAAG,WAAOpO,GAAP,uGACH2E,EAAMiI,SAAS,eAAgB,CAAE5M,aAD9B,UACfpE,EADe,QAGfA,EAHe,gCAITsV,IAJS,6BAOfnV,QAAQC,IAAI,+BAPG,2CAAH,sDAWd4R,EAAe,yDAAG,WAAO9N,GAAP,uGACJ6E,EAAMiI,SAAS,gBAAiB,CAAE9M,cAD9B,UAChBlE,EADgB,QAGhBA,EAHgB,gCAIVsV,IAJU,6BAOhBnV,QAAQC,IAAI,gCAPI,2CAAH,sDAWfsS,EAAU,yDAAG,8FACf/V,EAAMwU,oBAAoBxY,SAAQ,SAAA/B,GAC9B,IAAIof,EAAQrZ,EAAMkH,eAAe5M,KAAKsf,WAAU,SAAAxX,GAAC,OAAIA,EAAEnI,IAAMA,KACzDb,EAAM4G,EAAMkH,eAAe5M,KAAK+e,GACpC,iBAAIjgB,EAAK,YAAaygB,OAAO7Z,EAAM+X,oBACnC,iBAAI3e,EAAK,WAA8C,GAAlCygB,OAAO7Z,EAAMgY,kBAAyB,KAAO6B,OAAO7Z,EAAMgY,sBAGnFhY,EAAMwU,oBAAsB,GAC5BxU,EAAM8X,UAAY,EATH,2CAAH,qDAYVrC,EAAgB,SAACpO,GAAD,OAAiBrH,EAAMkH,eAAe5M,MAAQ0F,EAAMkH,eAAe5M,KAAK4P,QAAO,SAAA9H,GAAC,OAAIA,EAAEqF,UAAYJ,EAAOpN,MAAIxD,OAAS,GAItIue,EAAqB,SAACzN,GACxB,IAAI8R,EAAQrZ,EAAMkH,eAAeyK,SAASiI,WAAU,SAAAxX,GAAC,OAAIA,EAAEnI,IAAMsN,KAE7D4R,EAAkBnZ,EAAMkH,eAAeyK,SAAS0H,GACpDF,EAAgBL,UAEhB,IAAIgB,EAAsB9Z,EAAMkH,eAAeyK,SAAS0H,EAAM,GAC9DS,EAAoBhB,UAEpBP,KAGErD,EAAuB,SAAC3N,GAC1B,IAAI8R,EAAQrZ,EAAMkH,eAAeyK,SAASiI,WAAU,SAAAxX,GAAC,OAAIA,EAAEnI,IAAMsN,KAE7D4R,EAAkBnZ,EAAMkH,eAAeyK,SAAS0H,GACpDF,EAAgBL,UAEhB,IAAIiB,EAAoB/Z,EAAMkH,eAAeyK,SAAS0H,EAAM,GAC5DU,EAAkBjB,UAElBP,KAKE7C,EAAoB,SAACnO,EAAmBE,GAC1C,IAAIL,EAAUpH,EAAMkH,eAAeyK,SAASwC,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAMsN,KAE1D8R,EAAQjS,EAAQ2M,QAAQ6F,WAAU,SAAAxX,GAAC,OAAIA,EAAEnI,IAAMwN,KAE/CuS,EAAiB5S,EAAQ2M,QAAQsF,GACrCW,EAAelB,UAEf,IAAIgB,EAAsB1S,EAAQ2M,QAAQsF,EAAM,GAChDS,EAAoBhB,UAEpBC,EAAW3R,IAGTwO,EAAsB,SAACrO,EAAmBE,GAC5C,IAAIL,EAAUpH,EAAMkH,eAAeyK,SAASwC,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAMsN,KAE1D8R,EAAQjS,EAAQ2M,QAAQ6F,WAAU,SAAAxX,GAAC,OAAIA,EAAEnI,IAAMwN,KAE/CuS,EAAiB5S,EAAQ2M,QAAQsF,GACrCW,EAAelB,UAEf,IAAIiB,EAAoB3S,EAAQ2M,QAAQsF,EAAM,GAC9CU,EAAkBjB,UAElBC,EAAW3R,IAGTwN,EAAqB,WACvBzW,SAASC,KAAK6b,UAAUpe,IAAI,oBAC5BmE,EAAM8U,eAAgB,GAGpBgB,EAAyB,kBAAM9V,EAAMgY,iBAAmB,MAExDvD,EAAa,yDAAG,qGAClBtW,SAASC,KAAK6b,UAAUC,OAAO,oBAC/Bla,EAAM8U,eAAgB,EAFJ,SAIZ6D,IAJY,OAMlB3Y,EAAM8X,UAAY,EAClB9X,EAAMwU,oBAAsB,GAC5BxU,EAAM+X,kBAAoBO,EAAWxf,MAAM,GAAKwf,EAAWxf,MAAM,GAAGmB,GAAK,KACzE+F,EAAMgY,iBAAmB,KATP,2CAAH,qDAYbtD,EAAa,yDAAG,6GACdyF,EAAeC,IADD,SAEFhO,EAAMiI,SAAS,gCAAiC,CAAEgG,qBAAsBF,IAFtE,UAEd9W,EAFc,QAIdA,EAJc,iCAKRsV,IALQ,OAMdxa,SAASC,KAAK6b,UAAUC,OAAO,oBAC/Bla,EAAM8U,eAAgB,EAPR,wBAUdtR,QAAQC,IAAI,gCAVE,4CAAH,qDAcb2W,EAA4B,WAC9B,IAAID,EAAerS,GAAK9H,EAAMkH,gBA6B9B,OA3BAiT,EAAa7f,KAAO6f,EAAa7f,MAAQ6f,EAAa7f,KAAK4P,QAAO,SAAAlI,GAC9D,IAAIkS,EAAYmE,EAAuB/d,KAAK6Z,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAM+H,EAAE/H,MAChE,SAAIia,GAAcA,EAAUzM,UAAYzF,EAAEyF,UAAYyM,EAAU3M,WAAavF,EAAEuF,eAI7E,GAEN4S,EAAaxI,SAAS3V,SAAQ,SAAAnE,GAC1BA,EAAEkc,QAAUlc,EAAEkc,SAAWlc,EAAEkc,QAAQ7J,QAAO,SAAA7C,GACtC,IAAIiT,EAAkBjC,EAAuB1G,SAASwC,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAMpC,EAAEoC,MACtEsgB,EAAiBD,GAAmBA,EAAgBvG,QAAQI,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAMoN,EAAOpN,MACzF,SAAIsgB,GAAkBA,EAAezB,SAAWzR,EAAOyR,aAIrD,MAGVqB,EAAaxI,SAAWwI,EAAaxI,UAAYwI,EAAaxI,SAASzH,QAAO,SAAArS,GAC1E,IAAIyiB,EAAkBjC,EAAuB1G,SAASwC,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAMpC,EAAEoC,MAC1E,SAAIqgB,KAAoBA,EAAgBxB,SAAWjhB,EAAEihB,SAAWjhB,EAAEkc,QAAQtd,OAAS,QAIjF,GAEC0jB,GAGLhF,EAAkB,SAAC5N,GACrB,MAAO,CAAElP,KAAM,mBAAoByJ,OAAQ,CAAEyF,UAAWA,KAGtDkM,EAAe,SAACC,GAClB,GAAIA,EACA,wBAAkBA,EAAlB,YAMR,OAFAhH,IAEO,CACH1M,QACA2Y,aACAL,aACA3D,uBACAuE,sBACAE,4BACA9e,OACA0e,oBACAxD,wBACAkD,wBACA7D,eACAuB,mBACAhB,cACAS,iBACAR,kBACAU,aACAN,gBACAT,qBACAE,uBACAQ,oBACAE,sBACAhB,qBACAkB,yBACArB,gBACAC,gBACAS,kBACA1B,eACA9D,wBAIR3Q,WAAY,CAAE2U,kBAAgB6G,aAAA,GAAcC,WAAA,iBCpoBuX,MCOna,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIhgB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuF,MAAY,OAAEnF,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,IAAO,iBAAoBN,EAAIuF,MAAMkH,eAAwB,UAAI,YAAarM,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAe7O,MAAM,IAAIoC,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAeuE,aAAa5Q,EAAG,KAAK,CAACG,YAAY,YAAY,CAACP,EAAIgF,GAAG,WAAWhF,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAegG,SAAS,WAAWzS,EAAIiF,GAAGjF,EAAIuF,MAAMkH,eAAeiG,OAAO,WAAWtS,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,YAAY,GAAK,CAAE1C,KAAM,kBAAmB,CAACoC,EAAIgF,GAAG,UAAU5E,EAAG,aAAa,CAACE,MAAM,CAAC,SAAWN,EAAIuF,MAAM4S,aAAa,UAAYnY,EAAIuF,MAAM4S,cAAc/S,GAAG,CAAC,MAAQpF,EAAIoY,SAAS,CAACpY,EAAIgF,GAAG,WAAW,SAAS5E,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,KAAK,CAACG,YAAY,iBAAiB,CAACP,EAAIgF,GAAG,kBAAkB5E,EAAG,WAAW,CAACA,EAAG,eAAe,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQ,eAAe,YAAc,gBAAgBiY,MAAM,CAACla,MAAO2B,EAAIuF,MAAMoH,QAAY,KAAE6L,SAAS,SAAUT,GAAM/X,EAAIiY,KAAKjY,EAAIuF,MAAMoH,QAAS,OAAQoL,IAAMT,WAAW,yBAAyB,GAAGlX,EAAG,eAAe,CAACG,YAAY,0BAA0BP,EAAI2Q,GAAI3Q,EAAIuF,MAAMoH,QAAe,SAAE,SAASkO,GAAI,OAAOza,EAAG,cAAc,CAACzB,IAAIkc,EAAGrb,GAAGc,MAAM,CAAC,KAAO,SAAS,MAAQua,EAAGjd,KAAK,OAAS,SAAS,KAAOoC,EAAIigB,iBAAiBpF,GAAI,eAAiB,cAAczV,GAAG,CAAC,OAAS,SAASwL,GAAQ,OAAO5Q,EAAIkgB,cAAcrF,IAAK,OAAS,SAASjK,GACnyD,IAAI9U,EAAIqkB,UAAUnkB,OAAQokB,EAAY3Y,MAAM3L,GAC5C,MAAQA,IAAMskB,EAAUtkB,GAAKqkB,UAAUrkB,GACvC,OAAOkE,EAAIqgB,cAAc1jB,WAAM,EAAQ,CAAEke,GAAK3C,OAAQkI,WAAmB,IAAI,IAAI,KAAKpgB,EAAIW,MACtF,GAAkB,GC2DhB,GAAgB,cAEP,gCAAgB,CAC3BsC,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACH,IAAAoO,EAAQ7B,KAAR,EAAwCU,KAAlBC,EAAtB,EAAsBA,OAAQC,EAA9B,EAA8BA,MAC9BkB,EAAWC,KACXC,EAAgBC,KAEhBxM,EAAQ,sBAAS,CACnByM,QAAQ,EACRmG,cAAc,EACd1L,eAAgB,KAChBE,QAAS,OAGPsF,EAAY,WAEdH,EAAcrE,YAAW,GAEzBlI,EAAMkH,eAAiBkF,EAAMpM,MAAMK,kBACnCL,EAAMoH,QAAUpH,EAAMkH,eAAeyK,UAAY3R,EAAMkH,eAAeyK,SAASwC,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAMkR,EAAMrS,MAAMgJ,OAAOyF,aACpH8E,EAAS7D,eAAc,SAACmE,GACpBA,EAAI5V,KAAK,CAAE6V,MAAO,OAAQ6D,SAAU,CAAEpY,KAAM,UAC5CsU,EAAI5V,KAAK,CAAE6V,MAAO,GAAF,OAAK5M,EAAMkH,eAAe7O,KAA1B,YAAkC2H,EAAMkH,eAAeuE,UAAYgF,SAAU,CAAEpY,KAAM,kBACrGsU,EAAI5V,KACA,CACI6V,MAAO,WAAF,OAAa5M,EAAMkH,eAAegG,QAAlC,mBAAoDlN,EAAMkH,eAAeiG,MAAzE,gBACLsD,SAAU,CAAEpY,KAAM,gBAClBogB,UAAU,IAGlB9L,EAAI5V,KAAK,CAAE6V,MAAO,eAGtB5M,EAAMyM,QAAS,EAEfF,EAAcrE,YAAW,IAGvByQ,EAAU,yDAAG,8GACcvM,EAAMiI,SAC/B,uBACA,CAAErN,UAAWmE,EAAMrS,MAAMgJ,OAAOkF,YAHrB,OACfhH,EAAMkH,eADS,OAKflH,EAAMoH,QAAUpH,EAAMkH,eAAeyK,UAAY3R,EAAMkH,eAAeyK,SAASwC,MAAK,SAAA/R,GAAC,OAAIA,EAAEnI,IAAMkR,EAAMrS,MAAMgJ,OAAOyF,aALrG,2CAAH,qDAQVuT,EAAa,yDAAG,WAAOzT,EAAcpR,GAArB,uGACFmW,EAAMiI,SAAS,oBAAqBpe,GADlC,OACdoN,EADc,OAEdA,IACAgE,EAAOqM,QAAUrQ,EAAI0X,MAAM9gB,IAHb,2CAAH,wDAOb0gB,EAAgB,SAACtT,GAAD,OAAkBA,EAAOqM,QAAU,MAEnDD,EAAe,SAACC,GAClB,GAAIA,EACA,wBAAkBA,IAIpBgH,EAAmB,SAACpF,GACtB,OAAO,WAAQ,OAAO7B,EAAa6B,EAAG5B,WAGpCb,EAAM,yDAAG,2GACX7S,EAAM4S,cAAe,EADV,SAGKxG,EAAMiI,SAAS,mBAAoB,CAAEjN,QAASpH,EAAMoH,UAHzD,OAGP/D,EAHO,OAKXrD,EAAM4S,cAAe,EACjBvP,GACA+I,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,UAAWyN,QAAS,gCAC1DuC,EAAOnU,KAAK,CAAEsB,KAAM,kBAGpB+T,EAAMlH,OAAO,gBAAiB,CAAEhK,KAAM,QAASyN,QAAS,sDAXjD,2CAAH,qDAiBZ,OAFA+D,IAEO,CACH1M,QACA2Y,aACAmC,gBACAH,gBACAlH,eACAiH,mBACA7H,WAIR7T,WAAY,CAAE2U,qBChKyZ,MCOva,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCdf,aAAIvQ,IAAI,SAiBR,IAkGI,GAAmB,GAlGjB4X,GAAW,UAEXC,GAAS,CACX,CACIC,KAAM,IACN7iB,KAAM,OACN8iB,SAAUH,GAAW,QAEzB,CACIE,KAAM,mBACN7iB,KAAM,gBACNwG,UAAWuc,IAEf,CACIF,KAAM,0BACN7iB,KAAM,uBACNwG,UAAWuc,IAEf,CACIF,KAAMF,GAAW,SACjB3iB,KAAM,SACNwG,UAAW,IAEf,CACIqc,KAAMF,GAAW,OACjBK,KAAM,CAAEC,WAAW,GACnBjjB,KAAM,OACNwG,UAAW,GACX0c,YAAa,WAAF,8CAAE,WAAOC,EAAWC,EAAaC,GAA/B,8FACHtP,EAAQ7B,KADL,SAEC6B,EAAMiI,SAAS,WAFhB,kCAGLqH,IAHK,2CAAF,0DAAE,IAOjB,CACIR,KAAMF,GAAW,uBACjBK,KAAM,CAAEC,WAAW,GACnBjjB,KAAM,eACNwG,UAAW,GACX0c,YAAa,WAAF,8CAAE,WAAOC,EAAWC,EAAaC,GAA/B,8FACHtP,EAAQ7B,KADL,SAEC6B,EAAMiI,SAAS,iBAAkB,CAAEvN,MAAO0U,EAAG1Z,OAAOgF,QAFrD,kCAGL4U,IAHK,2CAAF,0DAAE,IAOjB,CACIR,KAAMF,GAAW,gDACjBK,KAAM,CAAEC,WAAW,GACnBjjB,KAAM,sBACNwG,UAAW,GACX0c,YAAa,WAAF,8CAAE,WAAOC,EAAWC,EAAaC,GAA/B,8FACHtP,EAAQ7B,KADL,SAEC6B,EAAMiI,SAAS,uBAAwB,CAAErN,UAAWwU,EAAG1Z,OAAOkF,YAF/D,kCAGL0U,IAHK,2CAAF,0DAAE,IAOjB,CACIR,KAAMF,GAAW,kEACjBK,KAAM,CAAEC,WAAW,GACnBjjB,KAAM,YACNwG,UAAW,GACX0c,YAAa,WAAF,8CAAE,WAAOC,EAAWC,EAAaC,GAA/B,8FACHtP,EAAQ7B,KADL,SAEC6B,EAAMiI,SAAS,uBAAwB,CAAErN,UAAWwU,EAAG1Z,OAAOkF,YAF/D,kCAGL0U,IAHK,2CAAF,0DAAE,IAQjB,CACIR,KAAMF,GAAW,2CACjBK,KAAM,CAAEC,WAAW,EAAMK,WAAW,GACpCtjB,KAAM,eACNwG,UAAW,GACX0c,YAAa,WAAF,8CAAE,WAAOC,EAAWC,EAAaC,GAA/B,8FACHtP,EAAQ7B,KADL,SAEC6B,EAAMiI,SAAS,uBAAwB,CAAErN,UAAWwU,EAAG1Z,OAAOkF,YAF/D,kCAGL0U,IAHK,2CAAF,0DAAE,IAOjB,CACIR,KAAMF,GAAW,2DACjBK,KAAM,CAAEC,WAAW,EAAMK,WAAW,GACpCtjB,KAAM,mBACNwG,UAAW,GACX0c,YAAa,WAAF,8CAAE,WAAOC,EAAWC,EAAaC,GAA/B,8FACHtP,EAAQ7B,KADL,SAEC6B,EAAMiI,SAAS,uBAAwB,CAAErN,UAAWwU,EAAG1Z,OAAOkF,YAF/D,kCAGL0U,IAHK,2CAAF,0DAAE,KAWf,SAAU,KACZ,IAAItP,EAAQ7B,KA6EZ,OA3Ec,MAAV,KACA,GAAS,IAAI,QAAU,CACnBvR,KAAM,UACNiiB,UACAW,eAAgB,SAASJ,EAAIC,EAAMI,GAC/B,IAAMC,EAAgB,CAAE1Z,EAAG,EAAG2Z,EAAG,GACjC,OAAIP,EAAGN,KAAKhc,SAAS,mBACV4c,EAEFN,EAAGQ,KACD,CAAE5E,SAAUoE,EAAGQ,MAEjBH,GAIEC,KAKnB,GAAOG,WAAP,yDAAkB,WAAOT,EAAWC,EAAaC,GAA/B,IAGCQ,EAHD,wJAGd,WAAqBC,GAArB,uGACsB,IADtB,UACQ1Z,EADR,QAGQA,EAHR,6BAIQ2J,EAJR,SAIyE,IAJzE,gCAI+C9U,OAAQ,KAAMgK,KAJ7D,WAIc4D,OAJd,UAIqB,uBAJrB,yBAKe,GALf,4CAHc,yBAGCgX,EAHD,4CACd,GAAMpjB,MAAQ0iB,EAWVF,EAAYE,EAAGY,QAAQlS,QAAO,SAAA9H,GAAC,QAAMA,EAAEiZ,KAAKC,aAAWxhB,KAAI,SAAAsI,GAAC,OAAIA,EAAEiZ,KAAKC,eAEvEA,EAAU7kB,OAAS,GAdT,iCAeaylB,EAAMZ,GAfnB,UAeNe,EAfM,OAgBLA,EAhBK,wBAiBNX,EAAK,CAAErjB,KAAM,WAjBP,gCAqBNgkB,GAAcb,EAAGY,QAAQlS,QAAO,SAAA9H,GAAC,QAAMA,EAAEiZ,KAAKiB,UAAQ7lB,OAAS,GArBzD,wBAsBNilB,EAAK,CAAErjB,KAAM,SAtBP,gCA0BNgkB,GAAcb,EAAGY,QAAQlS,QAAO,SAAA9H,GAAC,QAAMA,EAAEiZ,KAAKM,aAAWllB,OAAS,GA1B5D,oBA2BD2V,EAAM/B,QAAQC,QAAQ,SA3BrB,wBA4BFoR,EAAK,CAAErjB,KAAM,SA5BX,8BAkCC,UAAXmjB,EAAGnjB,KAlCO,4CAoCI,IApCJ,2CAqCFqjB,EAAK,CAAErjB,KAAM,SArCX,iFA0CNmL,QAAQS,MAAR,MA1CM,QA8Cd9F,SAASyO,MAAQ,eAEjB8O,IAhDc,2DAAlB,2DAmDA,GAAQ,iBAAW,OAGhB,GAGL,SAAUzQ,KACZ,MAAO,CAAEC,OAAA,GAAQC,MAAA,ICtMf,SAAUqB,KACN,IAAAJ,EAAQ7B,KAAR,EAAwCU,KAAxC,EAAsBC,OAAtB,EAA8BC,MACpC,MAAO,CACH9B,SAAU,uBAAS,kBAAM+C,EAAMpM,MAAMqJ,YACrCjB,UAAW,uBAAS,kBAAMgE,EAAMpM,MAAMoI,UAAY,KAClD/C,gBAAiB,uBAAS,kBAAM+G,EAAMpM,MAAMqF,mBAC5C1F,WAAY,uBAAS,kBAAMyM,EAAMpM,MAAML,cACvCuI,WAAY,SAACE,GACTgE,EAAMlH,OAAO,aAAckD,KAKjC,SAAUkE,KACN,IAAAF,EAAQ7B,KAAR,EAAwCU,KACxCX,GADA,EAAsBY,OAAtB,EAA8BC,MACpB,SAACrB,GAAD,OAAkBsC,EAAM/B,QAAQC,QAAQR,KACxD,MAAO,CACHQ,QAASA,EACTN,sBAAuB,SAAC1B,GAAD,OAAkB8D,EAAM/B,QAAQL,sBAAsB1B,IAC7EE,cAAe,SAACyK,GACZ,IAAIxK,EAA+B,GAC/B8T,EAAyB,GAC7BtJ,EAASxK,EAAY8T,IACjB9T,EAAWhS,OAAS,GAAK8lB,EAAK9lB,OAAS,IACvC2V,EAAMlH,OAAO,gBAAiB,CAAEuD,aAAY8T,UAGpDC,gBAAiB,SAACviB,GAAD,OAAyBmS,EAAM/B,QAAQ,yBAAyBpQ,IACjFwiB,gBAAiB,SAACvB,GAAD,OAAkB9O,EAAM/B,QAAQ,yBAAyB6Q,IAC1E7J,YAAa,uBAAS,kBAAM/G,EAAQ,aCO5C,IAAM,GAAgB,aAEP,gCAAgB,CAC3B5M,MAAO,GACPrF,KAAM,GACN0F,MAH2B,SAGrBL,EAAOM,GACKuM,KAAR,MAAwCU,KAAVE,GAA9B,EAAsBD,OAAtB,EAA8BC,OAC9BoB,EAAgBC,KAEhBhN,EAAW,uBAAS,WACtB,MAA2B,UAApB2L,EAAMrS,MAAMT,QAGjByH,EAAQ,yDAAG,8FACbkB,IADa,2CAAH,qDAId,MAAO,CACHxB,WACAM,WACAuF,gBAAiBkH,EAAclH,gBAC/BgE,SAAUkD,EAAclD,SACxB1J,WAAY4M,EAAc5M,eC/D+X,MCOja,GAAY,gBACd,GACA,EACAtE,GACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAkB,eAAEI,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAAEP,EAAY,SAAEI,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI8hB,QAAQ9hB,EAAIW,KAAKP,EAAG,MAAM,CAACG,YAAY,4BAA4BP,EAAI2Q,GAAI3Q,EAAc,YAAE,SAASnB,EAAE/C,GAAG,OAAOsE,EAAG,MAAM,CAACzB,IAAK,MAAQ7C,EAAG0E,MAAM,CAAC,gBAAiB,CAAE,SAAY3B,EAAEmf,YAAa,CAAEnf,EAAU,SAAEuB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAKzB,EAAEmX,WAAW,CAAChW,EAAIgF,GAAGhF,EAAIiF,GAAGpG,EAAEsT,UAAU/R,EAAG,OAAO,CAACJ,EAAIgF,GAAGhF,EAAIiF,GAAGpG,EAAEsT,WAAW,MAAK,IAAI,OAAOnS,EAAIW,MACxmB,GAAkB,GCwBhB,GAAgB,YAEP,gCAAgB,CAC3BsC,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACT,IAAMoO,EAAQ7B,KAERmS,EAAiB,uBAAS,kBAAMjU,EAAW3P,OAAS2P,EAAW3P,MAAMrC,OAAS,KAE9EgS,EAAa,uBAAS,kBAAM2D,EAAMpM,MAAMyI,YAAc2D,EAAMpM,MAAMyI,WAAWA,cAE7EkU,EAAW,uBAAS,kBAAMJ,EAAKzjB,OAASyjB,EAAKzjB,MAAMrC,OAAS,KAE5D8lB,EAAO,uBAAS,kBAAMnQ,EAAMpM,MAAMyI,YAAc2D,EAAMpM,MAAMyI,WAAW8T,QAE7E,MAAO,CACHG,iBACAjU,aACAkU,WACAJ,WC9C0Y,MCOlZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI9hB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,QAAQ,CAACH,EAAG,MAAM,CAACG,YAAY,SAAS6E,GAAG,CAAC,MAAQpF,EAAImiB,cAAc,CAAC/hB,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACI,MAAM,CAAC,YAAa,CAAE,KAAQR,EAAIuF,MAAM6c,sBAAuBhiB,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAIuF,MAAmB,cAAEnF,EAAG,MAAM,CAACG,YAAY,cAAcP,EAAI2Q,GAAI3Q,EAAS,OAAE,SAASlE,EAAE6C,GAAK,OAAOyB,EAAG,MAAM,CAACzB,IAAK,KAAOA,EAAK4B,YAAY,YAAY6E,GAAG,CAAC,MAAQ,SAASwL,GAAQ,OAAO5Q,EAAIqiB,qBAAqB,CAACjiB,EAAG,cAAc,CAACG,YAAY,OAAOD,MAAM,CAAC,GAAKxE,EAAEka,WAAW,CAAChW,EAAIgF,GAAGhF,EAAIiF,GAAGnJ,EAAEqW,WAAW,MAAK,GAAGnS,EAAIW,QAAQ,IAChqB,GAAkB,GCyBhB,GAAgB,WAEP,gCAAgB,CAC3BsC,MAAO,CAACqf,MAAO,CAAC7hB,KAAMgH,QACtB7J,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACT,IAAMgC,EAAQ,sBAAS,CACnB6c,eAAe,IAGbD,EAAc,WAChB5c,EAAM6c,eAAiB7c,EAAM6c,cAC7BjG,GAAEzY,UAAUsZ,KAAK,SAAS,SAACV,GACvB,OAAIA,EAAI1E,kBAAkBqF,cAAgBR,GAAEH,EAAI1E,QAAQsF,OAAoB3Z,EAAQ4Z,KAAKC,OACrF7X,EAAM6c,eAAgB,GACf,OAMbC,EAAkB,WACpB9c,EAAM6c,eAAgB,GAG1B,MAAO,CACH7c,QACA4c,cACAE,sBCvDqY,MCO7Y,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIriB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,wBAAwB,CAAEN,EAAY,SAAEI,EAAG,MAAM,CAACI,MAAMR,EAAIuiB,iBAAiB,CAACniB,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,IAAI,CAACG,YAAY,QAAQ,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIwiB,cAActU,YAAY9N,EAAG,SAAS,CAACG,YAAY,SAAS6E,GAAG,CAAC,MAAQpF,EAAIyiB,UAAU,CAACziB,EAAIgF,GAAG,iBAAiBhF,EAAIW,QACjc,GAAkB,GCkBhB,GAAgB,iBAEP,gCAAgB,CAC3BsC,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACT,IAAMoO,EAAQ7B,KAERvK,EAAQ,sBAAS,CACnBmd,eAAgB,IAGpB,wBAAU,WACNC,OAGJ,IAAMC,EAAW,uBAAS,WACtB,OAAOjR,EAAMpM,MAAMgJ,cAGjBiU,EAAgB,uBAAS,WAC3B,IAAIplB,EAAIuU,EAAMpM,MAAMgJ,WACpB,MAAO,CACH9N,KAAMrD,GAAKA,EAAEqD,KACbyN,QAAS9Q,GAAKA,EAAE8Q,QAChB2U,QAASzlB,GAAKA,EAAEylB,SAAW,QAI7BN,EAAkB,uBAAS,WAC7B,MAAO,CACH,UAAY,EACZ,oBAAiD,WAA5BC,EAAcnkB,MAAMoC,KACzC,kBAA+C,SAA5B+hB,EAAcnkB,MAAMoC,SAIzCgiB,EAAU,WACZ9Q,EAAMlH,OAAO,oBAGXkY,EAAa,WACfzjB,OAAO4jB,aAAavd,EAAMmd,eAEtBE,EAASvkB,OAASmkB,EAAcnkB,MAAMwkB,UACtCtd,EAAMmd,cAAgBxjB,OAAOyjB,YAAW,WACpCF,MACDD,EAAcnkB,MAAMwkB,WAQ/B,OAJA,mBAAMD,GAAU,SAACA,EAAUG,GACvBJ,OAGG,CACHpd,QACAqd,WACAJ,gBACAD,kBACAE,UACAE,iBCjF+Y,MCOvZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI3iB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,MAAM,CAACG,YAAY,SAASH,EAAG,MAAM,CAACG,YAAY,gBAAgBH,EAAG,MAAM,CAACG,YAAY,qBAC1Q,GAAkB,GCYhB,GAAgB,kBAEP,gCAAgB,CAC3B0C,MAAO,GACPrF,KAAM,GAEN0F,MAJ2B,SAIrBL,EAAOM,GACT,MAAO,MCpBqY,MCOhZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QChBFyf,GAA2C,CACpDplB,KAAM,eACNwT,YAAY,EAEZrR,OAJoD,SAI7CuR,EAAGhH,GACN,OACIgH,EAAE,MAAO2R,GAAW3Y,GAAK,EAAO,yBAA0B,CACtDgH,EAAE,MAAO,CAAE9Q,MAAO,eAAiB,CAC/B8Q,EAAE,MAAO,CAAE9Q,MAAO,gBAAkB,CAChC8Q,EAAE,MAAO,CAAE9Q,MAAO,aAAe,CAAC8J,EAAItG,QAAQ,qBAQzDkf,GAAyC,CAClDtlB,KAAM,aACNwT,YAAY,EAEZrR,OAJkD,SAI3CuR,EAAGhH,GACN,OACIgH,EAAE,MAAO2R,GAAW3Y,EAAKA,EAAI9O,KAAK8E,OAAsC,MAA7BgK,EAAI9O,KAAK8E,MAAM,WAAoB,aAAc,CACxFgR,EAAE,MAAO,CAAE9Q,MAAO,WAAa8J,EAAItG,QAAQ,gBAM9Cmf,GAA0C,CACnDvlB,KAAM,cACNwT,YAAY,EAEZrR,OAJmD,SAI5CuR,EAAGhH,GACN,OACIgH,EAAE,MAAO2R,GAAW3Y,EAAKA,EAAI9O,KAAK8E,OAAsC,MAA7BgK,EAAI9O,KAAK8E,MAAM,WAAoB,aAAc,CACxFgR,EAAE,MAAO,CAAE9Q,MAAO,WAAa,CAC3B8Q,EAAE,MAAO,CAAE9Q,MAAO,SAAW8J,EAAItG,QAAQ,kBAO7D,SAASif,GAAW3Y,EAAwC8Y,EAAoB7iB,GAO5E,OANI+J,EAAI9O,KAAK+E,cACTA,EAAc+J,EAAI9O,KAAK+E,YAAc,IAAMA,GAE3C6iB,IACA7iB,GAAe,uBAEZ,CAAEA,YAAaA,EAAaC,MAAO8J,EAAI9O,KAAJ,UCtD9C,ICoEI,GDpEA,GAAS,WAAa,IAAIwE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAMR,EAAIqjB,eAAe,CAACjjB,EAAG,MAAM,CAACI,MAAMR,EAAIsjB,gBAAgB,CAACljB,EAAG,QAAQ,CAACG,YAAY,QAAQ,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIujB,UAAUnjB,EAAG,MAAM,CAACI,MAAM,CAAC,kBAAmB,CAAE,SAAYR,EAAIwjB,UAAW,CAACpjB,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAAGP,EAAIwjB,OAAkOpjB,EAAG,MAAM,CAACE,MAAM,CAAC,IAAMN,EAAIyjB,cAArPrjB,EAAG,QAAQ,CAACG,YAAY,iBAAiB,CAACH,EAAG,OAAO,CAACG,YAAY,eAAe,CAACP,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAI0jB,mBAAmBtjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,KAAON,EAAIpC,KAAK,GAAKoC,EAAIpC,MAAMwH,GAAG,CAAC,OAASpF,EAAI2jB,uBAAgEvjB,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,aAAa,CAACG,YAAY,oCAAoCD,MAAM,CAAC,UAAYN,EAAIwjB,QAAQpe,GAAG,CAAC,MAAQpF,EAAI4jB,gBAAgB,CAAC5jB,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAI6jB,sBAAsBzjB,EAAG,IAAI,CAACG,YAAY,sCAAsCD,MAAM,CAAC,KAAON,EAAI8jB,YAAY,UAAY9jB,EAAIwjB,SAAS,CAACxjB,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAI+jB,yBAAyB,QACh9B,GAAkB,GE6BhB,GAAgB,cAEP,gCAAgB,CAC3B9gB,MAAO,CACHrF,KAAwB,CAAC6C,KAAM4C,QAC/Bod,KAAwB,CAAChgB,KAAMujB,SAAU5gB,QAAS,SAACoE,GAAD,OAAOA,IACzDjF,KAAwB,CAAC9B,KAAM4C,QAC/B4gB,QAAwB,CAACxjB,KAAM4C,QAC/BkgB,MAAwB,CAAC9iB,KAAM4C,QAC/B6gB,SAAwB,CAACzjB,KAAMxE,QAC/ByX,OAAwB,CAACjT,KAAM4C,OAAQD,QAAS,cAChD+gB,eAAwB,CAAC1jB,KAAM4C,OAAQD,QAAS,UAChDghB,SAAwB,CAAC3jB,KAAM0C,QAASC,SAAS,GACjDihB,OAAwB,CAAC5jB,KAAM0C,QAASC,SAAS,GACjDkhB,UAAwB,CAAC7jB,KAAM0C,QAASC,SAAS,GACjDsgB,eAAwB,CAACjjB,KAAM4C,OAAQD,QAAS,aAChD2gB,oBAAwB,CAACtjB,KAAM4C,OAAQD,QAAS,YAChDygB,kBAAwB,CAACpjB,KAAM4C,OAAQD,QAAS,WAEpDxF,KAAM,GAEN0F,MAnB2B,SAmBrBL,EAAOM,GAAO,WAEVgC,EAAQ,sBAAS,CACnBgf,OAAO,EACPC,YAAY,IAGVxL,EAAe,SAACtF,GAClB,IAAI+M,EAAexd,EAAMwd,KAAKxd,EAAMihB,UACpC,OAAIzD,GAAQ/M,EACR,UAAU+M,EAAV,YAAkB/M,GAEf+M,GAKLgE,EAAa,uBAAS,WACxB,OAAOxhB,EAAMmhB,UAAYnhB,EAAMohB,UAG7BhB,EAAgB,uBAAS,WAC3B,IAAI3lB,EAAI,gBAIR,OAHIuF,EAAMV,OACN7E,GAAK,mBAAJ,OAAuBuF,EAAMV,OAE3B7E,KAGL4lB,EAAiB,uBAAS,WAC5B,IAAI3lB,EAAS,CACT,eAAe,EACf,UAAasF,EAAMqhB,UACnB,SAAYG,EAAWpmB,MACvB,OAAU4E,EAAMohB,OAChB,MAAS9e,EAAMif,aAAejf,EAAMgf,OAKxC,OAHIthB,EAAMghB,UACNtmB,EAAE,gBAAkBsF,EAAMghB,UAAW,GAElCtmB,KAGL+mB,EAAU,uBAAS,WACrB,OAAOzhB,EAAMrF,QAGX4lB,EAAS,uBAAS,WACpB,QAASxK,OAGPyK,EAAa,uBAAS,WACxB,OAAOzK,EAAa/V,EAAMyQ,WAGxBoQ,EAAc,uBAAS,WACzB,OAAO9K,EAAa/V,EAAMkhB,mBAKxBQ,EAAW,WAAsB,IAArBC,EAAqB,wDAC/BC,EAAWtf,EAAMgf,MAErBhf,EAAMgf,OAASthB,EAAMqhB,WAAad,EAAOnlB,MAEpComB,EAAWpmB,QAAUumB,GAAaC,IAAatf,EAAMgf,OACtDhhB,EAAQuhB,KAAK,eAAgB,CAAElN,OAAQ,EAAMha,KAAMqF,EAAMrF,KAAMS,MAAOkH,EAAMgf,SAI9EZ,EAAgB,SAACrH,GACnB,GAAIA,EAAI1E,kBAAkBmN,iBAAkB,CACxC,IAAIC,EAAO1I,EAAI1E,OAAOqN,OAAS3I,EAAI1E,OAAOqN,MAAM,GAC5CD,GACAzhB,EAAQuhB,KAAK,SAAU,CAAEE,OAAMd,SAAUjhB,EAAMihB,aAKrDN,EAAgB,WACd3gB,EAAMwd,MACNld,EAAQuhB,KAAK,SAAU,CAAErE,KAAMzH,IAAgBkL,SAAUjhB,EAAMihB,YAOvE,OAFAS,GAAS,GAEF,CACHpf,QACAyT,eACAyL,aACApB,gBACAC,iBACAoB,UACAlB,SACAC,aACAK,cACAa,WACAhB,gBACAC,oBCxJ8Z,MCOta,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI5jB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,cAAc,OAAS,KAAK,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,UAAYN,EAAI2N,WAAWvI,GAAG,CAAC,cAAcpF,EAAIklB,sBAAsB,CAAC9kB,EAAG,WAAW,CAACiY,KAAK,SAAS,CAACrY,EAAIU,GAAG,UAAU,GAAGN,EAAG,WAAW,CAACiY,KAAK,YAAY,CAACrY,EAAIU,GAAG,aAAa,GAAGN,EAAG,WAAW,CAACiY,KAAK,QAAQ,CAACrY,EAAIU,GAAG,OAAO,KAAK,CAAC,QAAUV,EAAImlB,QAAQ,MAAQnlB,EAAIolB,cAAc,GAAGhlB,EAAG,WAAW,CAACiY,KAAK,WAAW,CAACjY,EAAG,2BAA2B,CAACE,MAAM,CAAC,KAAO,aAAa8E,GAAG,CAAC,MAAQpF,EAAIklB,sBAAsB,CAACllB,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGjF,EAAIqlB,aAAe,UAAU,OAAOjlB,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIslB,iBAAiBlgB,GAAG,CAAC,MAAQpF,EAAIulB,cAAc,CAACvlB,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGjF,EAAIwlB,cAAgB,QAAQ,QAAQ,IAAI,IAAI,IAChyB,GAAkB,GCuChB,GAAgB,mBAEP,gCAAgB,CAC3B5nB,KAAM,GAENqF,MAAO,CACHC,KAAM,CACFzC,KAAM0C,QACNC,SAAS,GAEbiiB,YAAa,CACT5kB,KAAM4C,OACND,aAASqiB,GAEbD,aAAc,CACV/kB,KAAM4C,OACND,aAASqiB,GAEbpnB,MAAO,CACH+E,QAAS,MAEbuK,UAAW,CACPlN,KAAM0C,QACNC,SAAS,GAEbkiB,gBAAiB,CACb7kB,KAAM0C,QACNC,SAAS,IAIjBE,MA7B2B,SA6BrBL,EAAOM,GACT,IAAMmiB,EAAY,iBAAI,MAChBN,EAAa,kBAAI,GAEvB,wBAAU,WACNA,EAAW/mB,OAAQ,KAGvB,IAAM8mB,EAAU,SAAC7I,GACboJ,EAAUrnB,MAAQie,GAGhBiJ,EAAc,WAChBhiB,EAAQuhB,KAAK,QAASY,EAAUrnB,QAG9B6mB,EAAsB,WACxB3hB,EAAQuhB,KAAK,gBAGjB,MAAO,CACHK,UACAI,cACAL,sBACAE,iBC/F+Y,MCOvZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIplB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAMR,EAAI2lB,eAAetnB,OAAO,CAAC2B,EAAIU,GAAG,gBAAgB,CAAEV,EAAIujB,OAASvjB,EAAI4lB,aAAarC,MAAOnjB,EAAG,QAAQ,CAACG,YAAY,kCAAkCD,MAAM,CAAC,IAAMN,EAAIR,KAAK,CAACQ,EAAIU,GAAG,QAAQ,CAACV,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIujB,WAAW,GAAGvjB,EAAIW,MAAM,CAAC,MAAQX,EAAIujB,MAAM,GAAKvjB,EAAIR,KAAKY,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACH,EAAG,QAAQ,CAAC2b,IAAI,eAAevb,MAAMR,EAAI6lB,aAAavlB,MAAM,CAAC,GAAKN,EAAIR,GAAG,KAAOQ,EAAIR,GAAG,YAAcQ,EAAI8lB,YAAY,SAAW9lB,EAAI+lB,WAAW,SAAW/lB,EAAIgmB,WAAW,kBAAkBhmB,EAAIimB,iBAAiB,IAAMjmB,EAAIkmB,KAAK3O,SAAS,CAAC,MAAQvX,EAAImmB,gBAAgB/gB,GAAG,CAAC,MAAQpF,EAAImlB,QAAQ,MAAQnlB,EAAIomB,QAAQ,KAAOpmB,EAAIqmB,OAAO,QAAUrmB,EAAIsmB,aAActmB,EAAIumB,WAAavmB,EAAIkE,WAAY9D,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,mBAAmB,CAACE,MAAM,CAAC,aAAa,cAAc,gBAAkBN,EAAIwmB,uBAAuBphB,GAAG,CAAC,MAAQpF,EAAIymB,UAAU,CAACrmB,EAAG,sBAAsB,IAAI,GAAGJ,EAAIW,KAAMX,EAAa,UAAEI,EAAG,MAAM,CAAC2b,IAAI,iBAAiBxb,YAAY,6BAA6B6E,GAAG,CAAC,MAAQpF,EAAI0mB,0BAA0B1mB,EAAI2Q,GAAI3Q,EAAY,UAAE,SAASqR,EAAKuN,GAAO,OAAOxe,EAAG,MAAM,CAACzB,IAAIigB,EAAMpe,MAAM,CAAE,6BAA6B,EAAMmmB,SAAU3mB,EAAI4mB,SAAWhI,IAAS,CAAC5e,EAAIU,GAAG,eAAe,CAACV,EAAIgF,GAAG,IAAIhF,EAAIiF,GAAGjF,EAAI6mB,uBAAuBxV,IAAO,MAAM,CAAC,KAAO,CAAEA,KAAMA,MAAU,MAAK,GAAGrR,EAAIW,QAAQ,IACl5C,GAAkB,G,0BCsDP,gCAAgB,CAC3B/C,KAAM,kBAENqF,MAAO,CACHrF,KAAM,CACF6C,KAAM4C,OACND,QAAS,IAEb/E,MAAO,CACHoC,KAAM4C,OACND,QAAS,IAEbkhB,UAAW,CACP7jB,KAAM0C,QACNC,SAAS,GAEb0jB,aAAc,CACVrmB,KAAM,CAACgH,MAAOuc,UACd5gB,aAASqiB,GAEbsB,gBAAiB,CACbtmB,KAAMujB,SACN5gB,aAASqiB,GAEblC,MAAO,CACH9iB,KAAM4C,OACN2jB,QAAS,IAEbxd,MAAO,CACH/I,KAAMxE,OACNmH,QAAS,MAEb0iB,YAAa,CACTrlB,KAAM4C,OACND,QAAS,IAEbgW,SAAU,CACN3Y,KAAM,CAAC0C,QAASE,QAChBD,SAAS,GAEbghB,SAAU,CACN3jB,KAAM,CAAC0C,QAASE,QAChBD,SAAS,GAEb6jB,WAAY,CACRxmB,KAAM4C,OACND,QAAS,IAEbmjB,UAAW,CACP9lB,KAAM0C,QACNC,SAAS,GAEbojB,sBAAuB,CACnB/lB,KAAM0C,QACNC,SAAS,GAEb4Y,MAAO,CACHvb,KAAM0C,QACNC,QAAS,MAEb8jB,IAAK,CACDzmB,KAAMujB,SACN5gB,aAASqiB,GAEb0B,SAAU,CACN1mB,KAAM4C,OACND,aAASqiB,GAEbS,IAAK,CACDzlB,KAAM4C,OACND,QAAS,QAIjBmV,MAAO,CAAE6O,KAAM,QAASC,MAAO,gBAE/B/jB,MA5E2B,SA4ErBL,EAAOM,GACT,IAAM+jB,EAAe,mBAEf9nB,EAAK,+BAAiByD,EAAMrF,MAHlB,EAKmB,mCAAqBqF,GAAhD8iB,EALQ,EAKRA,WAAYC,EALJ,EAKIA,WALJ,EAOqB,6BAAesB,EAAc/jB,EAAQuhB,KAAM7hB,GAA/DmjB,GAPD,EAORmB,QAPQ,EAOCnB,SAASC,EAPV,EAOUA,OAEpBniB,EAAa,uBAAS,kBAAMjB,EAAMsjB,YAAcR,EAAW1nB,QAAU2nB,EAAW3nB,SAEhF8nB,EAAiB,uBAAS,kBAAMljB,EAAM5E,OAAS,MAE/CwoB,EAAyB,SAACxV,GAAD,OAAepO,EAAM8jB,gBAAwB9jB,EAAM8jB,gBAAiB1V,GAAQA,GAMrGmW,EAAWvkB,EAAM6jB,wBAAwB9C,SAAW,iBAAI,IAAM,KAE9DyD,EAAW,uBACb,kBAAkB,MAAZD,EAAmBA,EAASnpB,MAASoJ,MAAMC,QAAQzE,EAAM6jB,cAAgB7jB,EAAM6jB,aAAe,QAKlGY,EAAiB,mBAEjBd,EAAU,kBAAK,GAEfe,EAAc,SAACC,GACjB,IAAIpgB,EAAIof,EAAQvoB,MAAQupB,EACxBhB,EAAQvoB,OAASmJ,EAAIigB,EAASppB,MAAOrC,QAAUyrB,EAASppB,MAAOrC,QAU7D6rB,EAAY,kBAAI,GAEhBC,EAAY,kBAAI,GAEhBC,EAAY,WACdF,EAAUxpB,OAAQ,EAClBypB,EAAUzpB,OAAQ,EAClB+nB,KAGJ,SAAS4B,EAAO3pB,GACZ,MAAiB,SAAVA,IAA8B,IAAVA,EAG/B,IAAM4pB,EAAW,WACbJ,EAAUxpB,OAAS2pB,EAAO/kB,EAAMmhB,UACN,MAAtBnhB,EAAM6jB,aACNnE,YAAW,kBAAMmF,EAAUzpB,OAAQ,IAAO,KAG1CypB,EAAUzpB,OAAQ,EAEtBgoB,KAGE6B,EAAY,uBACd,kBAAwB,MAAlBT,EAASppB,OAAiBopB,EAASppB,MAAMrC,OAAS,GAAK8rB,EAAUzpB,SAGrE8pB,EAAuB,SAACC,GAE1B,GAAInlB,EAAM6jB,wBAAwB9C,SAAU,CACxC,IAAIqE,EAAkBplB,EAAM6jB,aAAasB,GACrCC,EAAgB7d,KAChB6d,EAAgB7d,MAAK,SAAC7C,GAAD,OAAY6f,EAAUnpB,MAAV,OAAkBsJ,QAAlB,IAAkBA,IAAK,MAGxD6f,EAAUnpB,MAAV,OAAkBgqB,QAAlB,IAAkBA,IAAmB,QAIzC9kB,EAAQuhB,KAAK,0BAA2BsD,IAI1CE,EAAsB,SAAC1J,EAAe9c,GAAqB,QAC7DA,EAAO,UAAGA,SAAH,kBAAc4lB,EAAerpB,aAA7B,aAAc,EAAsBkqB,SAAS3J,GACpD,IACqC,IADjCvN,EAAOoW,EAASppB,MAAOugB,GACf,MAARvN,GAA2B,MAAXvP,IAChByB,EAAQuhB,KAAK,eAAgB7hB,EAAMikB,IAAYjkB,EAAMikB,IAAK7V,GAA7B,oBAAmDvP,EAAS0mB,mBAA5D,aAAmD,EAAsB/S,cAAzE,QAAmF,IAChHlS,EAAQuhB,KAAK,0BAA2BzT,GAExC8W,EAAqB,MAIvBzB,EAA0B,SAACpK,GAE7B,GAAIA,GAAOA,EAAI1E,kBAAkB6Q,QAAS,CACtC,IAAI7J,EAAQ,EACRlf,EAAoB4c,EAAI1E,OAC5B,MAAyC,OAAjClY,EAAIA,EAAEgpB,wBAAmC9J,GAAS,EACtDA,GAAS,GACT0J,EAAoB1J,EAAOtC,EAAI1E,UAKrCuN,EAAU,SAAC7I,GACb,GAAIA,EAAI1E,kBAAkBmN,iBAAkB,CACxC,IAAI1mB,EAAQie,EAAI1E,OAAOvZ,MAGG,MAAtB4E,EAAM6jB,cACNqB,EAAqB9pB,GAEzBkF,EAAQuhB,KAAK,eAAgB7hB,EAAMikB,IAAYjkB,EAAMikB,IAAK7oB,GAASA,KAIrEioB,EAAY,SAAChK,GAGrB,GAAIA,aAAeqM,cACT,OAAQrM,EAAI3d,KAER,IAAK,YACDgpB,EAAY,GACZrL,EAAIsM,iBACJ,MACJ,IAAK,UACDjB,GAAa,GACbrL,EAAIsM,iBACJ,MACJ,IAAK,QACDN,EAAoB1B,EAAQvoB,OAC5Bie,EAAIsM,iBACJ,QAKVnC,EAAU,WACZljB,EAAQuhB,KAAK,eAAgB7hB,EAAMgkB,YACnB,MAAZO,IACAA,EAASnpB,MAAQ,KAIzB,MAAO,CACHipB,eACA9nB,KACAymB,iBAAkB,uBAAS,kCAAMhjB,EAAMkkB,gBAAZ,QAAwBlkB,EAAMrF,QAEzD+nB,eAAiB,uBAAS,kBAAM,gCAAkB1iB,EAAOM,EAAQjD,UACjEulB,aAAe,8BAAgB,OAAQ3hB,GACvCiiB,iBACAU,yBACA3iB,aACA6hB,aACAC,aACAY,UACAa,WACAS,YACAR,iBACAvC,UACAmB,YACAG,UACAL,QAAS2B,EACT1B,OAAQ4B,EACRvB,8BChTgZ,MCOxZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI1mB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAMR,EAAI2lB,gBAAgB,CAAC3lB,EAAIU,GAAG,gBAAgB,CAAEV,EAAIujB,OAASvjB,EAAI4lB,aAAarC,MAAOnjB,EAAG,QAAQ,CAACG,YAAY,kCAAkCD,MAAM,CAAC,IAAMN,EAAIR,KAAK,CAACQ,EAAIU,GAAG,QAAQ,CAACV,EAAIgF,GAAGhF,EAAIiF,GAAGjF,EAAIujB,WAAW,GAAGvjB,EAAIW,MAAM,CAAC,MAAQX,EAAIujB,MAAM,GAAKvjB,EAAIR,KAAKY,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACH,EAAG,WAAW,CAAC2b,IAAI,kBAAkBvb,MAAMR,EAAI6lB,aAAavlB,MAAM,CAAC,GAAKN,EAAIR,GAAG,KAAOQ,EAAIR,GAAG,YAAcQ,EAAI8lB,YAAY,SAAW9lB,EAAIokB,SAAS,SAAWpkB,EAAIoZ,SAAS,kBAAkBpZ,EAAIimB,iBAAiB,IAAMjmB,EAAIkmB,KAAK3O,SAAS,CAAC,MAAQvX,EAAImmB,gBAAgB/gB,GAAG,CAAC,MAAQpF,EAAImlB,cAAc,IACpsB,GAAkB,GCwCP,gCAAgB,CAC3BvnB,KAAM,sBAENqF,MAAO,CACHrF,KAAM,CACF6C,KAAM4C,OACND,QAAS,IAEb/E,MAAO,CACHoC,KAAM4C,OACND,QAAS,IAEbmgB,MAAO,CACH9iB,KAAM4C,OACN2jB,QAAS,IAEbxd,MAAO,CACH/I,KAAMxE,OACNmH,QAAS,MAEb0iB,YAAa,CACTrlB,KAAM4C,OACND,QAAS,IAEbgW,SAAU,CACN3Y,KAAM0C,QACNC,SAAS,GAEbghB,SAAU,CACN3jB,KAAM0C,QACNC,SAAS,GAEbylB,MAAO,CACHpoB,KAAM4C,OACND,QAAS,IAEbmjB,UAAW,CACP9lB,KAAM0C,QACNC,SAAS,GAEbojB,sBAAuB,CACnB/lB,KAAM0C,QACNC,SAAS,GAEb+jB,SAAU,CACN1mB,KAAM4C,OACND,aAASqiB,GAEbS,IAAK,CACDzlB,KAAM4C,OACND,QAAS,QAIjBE,MAtD2B,SAsDrBL,EAAOM,GAET,IAAM/D,EAAK,+BAAiByD,EAAMrF,MAE5BkrB,EAAkB,mBAClB3C,EAAiB,uBAAS,kBAAMljB,EAAM5E,OAAS,MAE/C8mB,EAAU,SAAC7I,GACTA,EAAI1E,kBAAkBmR,sBACtBC,EAAWF,EAAgBzqB,OAC3BkF,EAAQuhB,KAAK,QAASxI,EAAI1E,OAAOvZ,SAInC2qB,EAAa,SAACC,GAEhBA,EAAGrlB,MAAMslB,OAAS,UAGlB,IAAInlB,EAAW7E,OAAOiqB,iBAAiBF,GAGnCC,EAASD,EAAGG,aAAenW,SAASlP,EAASslB,iBAAiB,uBAAwB,IAE1FJ,EAAGrlB,MAAMslB,OAAT,UAAqBA,EAArB,OAGEzC,EAAU,kBAAMljB,EAAQuhB,KAAK,QAAS7hB,EAAM4lB,QAQlD,OANA,wBAAU,WACFC,EAAgBzqB,OAChB2qB,EAAWF,EAAgBzqB,UAI5B,CACHmB,KACAymB,iBAAkB,uBAAS,kCAAMhjB,EAAMkkB,gBAAZ,QAAwBlkB,EAAMrF,QACzDkrB,kBACAnD,eAAiB,gCAAkB1iB,EAAOM,EAAQjD,OAClDulB,aAAe,8BAAgB,WAAY,uBAAS,kBAAM5iB,EAAMsjB,cAChEJ,iBACAhB,UACAsB,cC1IoZ,MCO5Z,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCdA,IACX6C,QADW,SACHhlB,EAAUilB,GACd,IAAM/kB,EAA+B,MAAX+kB,GAAmB9hB,MAAMC,QAAQ6hB,EAAQhlB,aAAeglB,EAAQhlB,iBAAckhB,EACxGphB,EAAmBC,EAAK,EAAYE,K,gMhBctC,SAAUglB,KACZ,IAAIC,EAAe,CACfC,GAAIA,GACJC,GAAIA,IAOR,OAAOF,EAuCL,SAAU,KACZ,GAAY,MAAR,GAAc,CAEd,IAAI3b,EAAS5O,OAAOoJ,SAAS2H,SAAS2Z,MAAM,KAAK,GAC7C9b,GAA4B,IAAlBA,EAAO9R,OACjB,IAAO8R,OAAOA,IAGdA,EAAS,KACT,IAAOA,OAAO,OAGlB,GAAO,IAAI,QAAQ,CACfA,OAAQA,EACR+b,eAAgB,KAChBC,SAAUN,OAIlB,OAAO,GiB/EX,SAASO,GAAkBxkB,EAAckb,GACrClb,EAAMykB,eAAiBvJ,EAK3B,SAASsB,GAAgBxc,GACrB,OAAO,SAAC/F,GAAD,gBAA4B+F,EAAMykB,eAAlC,YAAoDxqB,IAG/D,SAASwiB,GAAgBzc,GACrB,OAAO,SAACkb,GAAD,OAAkBA,EAAK3b,QAAQS,EAAMykB,eAAe,IAAK,K,SAKrDC,G,qGAAf,WAA2B3f,EAA+B9O,GAA1D,kGACU+O,EAAW/O,EAAKgE,GAAL,UAAa8K,EAAI/E,MAAMykB,eAAvB,YAAyCxuB,EAAKgE,IAAO8K,EAAI/E,MAAMykB,eAI5EjiB,EAAU,CACV,eAAgBvM,EAAKwpB,KAAKvkB,KAC1B,sDAAgDjF,EAAKwpB,KAAKpnB,KAA1D,MAPR,SASuBsM,EAAKK,EAAU/O,EAAKwpB,KAAMjd,GAASyC,MAAK,SAAA5B,GAAG,OAAIA,EAAIpN,QAT1E,cASQqB,EATR,yBAWWA,GAXX,2C,yBAkBM,SAAUqtB,GAAgB3kB,GAK5B,OAJAA,EAAQA,GAAS,CACbykB,eAAgB,WAGO,CACvBG,YAAY,EACZ5kB,QACApB,QAAS,CACL8lB,gBAEJnkB,UAAW,CACPikB,sBAEJna,QAAS,CACLmS,mBACAC,qBC5DN,SAAUoI,GAAa5R,GACzB,IAAM6R,EAAW3mB,SAAS4mB,cAAc,OACxCD,EAAS7qB,GAAK,WAEdkE,SAASC,KAAK4mB,YAAYF,GAE1B,IAAIG,GAAQ,EAEZ,SAASC,IACL,IAAIC,EAAIL,EAASM,YACbD,GAAKF,IACLA,EAAOE,EACPlS,EAASkS,IAIjBxrB,OAAOsd,iBAAiB,SAAUiO,GAElCA,IlBfJ,aAAI9hB,IAAI,SmBHR,IAAI,GAAS,WAAa,IAAI3I,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,mBAAmBD,MAAM,CAAC,GAAK,QAAQ,CAACF,EAAG,cAAcA,EAAG,aAAaA,EAAG,MAAM,CAACgX,WAAW,CAAC,CAACxZ,KAAK,OAAOyZ,QAAQ,SAAShZ,OAAQ2B,EAAI2N,UAAW2J,WAAW,eAAe/W,YAAY,QAAQ,CAACH,EAAG,gBAAgB,GAAGA,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,kBAAkB,CAACgX,WAAW,CAAC,CAACxZ,KAAK,OAAOyZ,QAAQ,SAAShZ,MAAO2B,EAAa,UAAEsX,WAAW,iBAAiB,GAAGlX,EAAG,mBAAmB,IAC/f,GAAkB,GCoBP,gCAAgB,CAC3B6C,MAAO,CACH4K,KAAM,CACFpN,KAAM4C,QAEVunB,cAAe,CACXnqB,KAAM0C,UAIdG,MAV2B,SAUrBL,EAAOM,GACH,IAAAoO,EAAQ7B,KAAR,EAAwCU,KAAVE,GAA9B,EAAsBD,OAAtB,EAA8BC,OAChCma,EAAO,KAEPhd,EAAO6C,EAAMrS,MAAMgJ,OAAOwG,MAAQ5K,EAAM4K,KACxCA,IACA8D,EAAMlH,OAAO,UAAWxH,EAAM4K,MAC9Bgd,EAAK/c,OAASD,GAElB8D,EAAMlH,OAAO,mBAAoBxH,EAAM2nB,eAEvC,IAAMjd,EAAY,uBAAS,WACvB,OAAOgE,EAAMpM,MAAMoI,UAAY,KAGnC,MAAO,CACHA,gBC/CkX,MCO1X,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCDT,I,UAAiB,GAAazO,OAAOoJ,SAASwiB,WAEpD/kB,GAAS,SAAAwjB,GACLA,EAAQtjB,oBAAsB,GAAS8kB,QAG3C7rB,OAAO8rB,OAAP,wCAAgB,oGACZ,GAAQ,SAAAzB,GACJA,EAAQpiB,SAAU,KAGtB,aAAI8jB,MAAM,CAAErV,aAEZ,aAAIsV,OAAOC,eAAgB,EAC3B,aAAIxiB,IAAI,KACR,aAAIA,IAAI,QACR,aAAIA,IAAI,IACR,aAAIA,IAAI,MACR,aAAIA,IAAI,MAEJgJ,EAAQ7B,KACZ6B,EAAMyZ,eAAe,QAASlB,MAE9BE,IAAa,SAACiB,GACV1Z,EAAMlH,OAAO,YAAa4gB,GAAS,MAGvC,IAAI,aAAI,CACR1Z,QACAlB,OAAQ,KACRoa,KAAM,KACN9qB,OAAQ,SAAAuR,GAAC,OAAIA,EAAEga,OACZC,OAAO,QA1BE,6C,mBCtBZ,IAAI1qB,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,oBAAsB,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,WAAa,UAAU,CAAC,KAAO,qBAAqB,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,cAAgB,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,uBAAuB,WAAa,UAAU,CAAC,KAAO,qBAAqB,KAAO,CAAC,KAAO,OAAO,MAAQ,uBAAuB,cAAgB,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,WAAa,UAAU,CAAC,KAAO,qBAAqB,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,cAAgB,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,8BAA8B,WAAa,UAAU,CAAC,KAAO,qBAAqB,KAAO,CAAC,KAAO,OAAO,MAAQ,8BAA8B,cAAgB,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,WAAa,UAAU,CAAC,KAAO,qBAAqB,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,cAAgB,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,iBAAiB,KAAO,CAAC,KAAO,OAAO,MAAQ,0BAA0B,WAAa,UAAU,CAAC,KAAO,qBAAqB,KAAO,CAAC,KAAO,OAAO,MAAQ,0BAA0B,cAAgB,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,sBAAsB,UAAY,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,KAAO,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,MAAQ,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,QAAQ,IAAM,CAAC,MAAQ,EAAE,IAAM,OACt+VA,EAAIC,IAAIC,OAAS,CAAC,KAAO,gsDAAgsD,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBtxD,SAASC,EAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKE,KACPD,EAAKE,IAAIH,EAAKrD,KAAKS,YACd,GAAkB,uBAAd4C,EAAKE,KAA+B,CAC7C,IAAIV,EAAOQ,EAAKR,KACE,cAAdA,EAAKU,MACPD,EAAKE,IAAIX,EAAK7C,KAAKS,OAInB4C,EAAKI,cACPJ,EAAKI,aAAaC,WAAWC,SAAQ,SAASC,GAC5CR,EAA0BQ,EAAWN,MAIrCD,EAAKQ,qBACPR,EAAKQ,oBAAoBF,SAAQ,SAASG,GACxCV,EAA0BU,EAAKR,MAI/BD,EAAKU,aACPV,EAAKU,YAAYJ,SAAQ,SAASG,GAChCV,EAA0BU,EAAKR,MAKrC,IAAIU,EAAiB,GAWrB,SAASC,EAAchB,EAAKjD,GAC1B,IAAK,IAAI9B,EAAI,EAAGA,EAAI+E,EAAIc,YAAY3F,OAAQF,IAAK,CAC/C,IAAIgG,EAAUjB,EAAIc,YAAY7F,GAC9B,GAAIgG,EAAQlE,MAAQkE,EAAQlE,KAAKS,OAAST,EACxC,OAAOkE,GAKb,SAASC,EAASlB,EAAKmB,GAErB,IAAIC,EAAS,CACXd,KAAMN,EAAIM,KACVQ,YAAa,CAACE,EAAchB,EAAKmB,KAE/BnB,EAAI1E,eAAe,SACrB8F,EAAOnB,IAAMD,EAAIC,KAKnB,IAAIoB,EAASN,EAAeI,IAAkB,IAAIG,IAC9CC,EAAU,IAAID,IACdE,EAAU,IAAIF,IAGlBD,EAAOX,SAAQ,SAASe,GACtBD,EAAQjB,IAAIkB,MAGd,MAAOD,EAAQE,KAAO,EAAG,CACvB,IAAIC,EAAWH,EACfA,EAAU,IAAIF,IAEdK,EAASjB,SAAQ,SAASe,GACxB,IAAKF,EAAQK,IAAIH,GAAU,CACzBF,EAAQhB,IAAIkB,GACZ,IAAII,EAAYd,EAAeU,IAAY,IAAIH,IAC/CO,EAAUnB,SAAQ,SAASoB,GACzBN,EAAQjB,IAAIuB,UAapB,OAPAP,EAAQb,SAAQ,SAASe,GACvB,IAAIM,EAAKf,EAAchB,EAAKyB,GACxBM,GACFX,EAAON,YAAYrF,KAAKsG,MAIrBX,GA9DT,WACEpB,EAAIc,YAAYJ,SAAQ,SAASG,GAC/B,GAAIA,EAAI9D,KAAM,CACZ,IAAIsD,EAAO,IAAIiB,IACfnB,EAA0BU,EAAKR,GAC/BU,EAAeF,EAAI9D,KAAKS,OAAS6C,OALvC,GAiEA3D,EAAOD,QAAUuD,EAEbtD,EAAOD,QAAQ,QAAUyE,EAASlB,EAAK,QAEvCtD,EAAOD,QAAQ,eAAiByE,EAASlB,EAAK,eAE9CtD,EAAOD,QAAQ,qBAAuByE,EAASlB,EAAK,qBAEpDtD,EAAOD,QAAQ,cAAgByE,EAASlB,EAAK","file":"js/app.c25f4050.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var map = {\n\t\"./af\": \"8206\",\n\t\"./af.js\": \"8206\",\n\t\"./ar\": \"cdac\",\n\t\"./ar-dz\": \"7f26\",\n\t\"./ar-dz.js\": \"7f26\",\n\t\"./ar-kw\": \"8e88\",\n\t\"./ar-kw.js\": \"8e88\",\n\t\"./ar-ly\": \"cd65\",\n\t\"./ar-ly.js\": \"cd65\",\n\t\"./ar-ma\": \"e8d6\",\n\t\"./ar-ma.js\": \"e8d6\",\n\t\"./ar-sa\": \"a284\",\n\t\"./ar-sa.js\": \"a284\",\n\t\"./ar-tn\": \"64f7\",\n\t\"./ar-tn.js\": \"64f7\",\n\t\"./ar.js\": \"cdac\",\n\t\"./az\": \"b139\",\n\t\"./az.js\": \"b139\",\n\t\"./be\": \"98e2\",\n\t\"./be.js\": \"98e2\",\n\t\"./bg\": \"a1a5\",\n\t\"./bg.js\": \"a1a5\",\n\t\"./bm\": \"4d0d\",\n\t\"./bm.js\": \"4d0d\",\n\t\"./bn\": \"e8ae\",\n\t\"./bn-bd\": \"5dd8\",\n\t\"./bn-bd.js\": \"5dd8\",\n\t\"./bn.js\": \"e8ae\",\n\t\"./bo\": \"bcf2\",\n\t\"./bo.js\": \"bcf2\",\n\t\"./br\": \"69f1\",\n\t\"./br.js\": \"69f1\",\n\t\"./bs\": \"24d1\",\n\t\"./bs.js\": \"24d1\",\n\t\"./ca\": \"3507\",\n\t\"./ca.js\": \"3507\",\n\t\"./cs\": \"d15f\",\n\t\"./cs.js\": \"d15f\",\n\t\"./cv\": \"7bfe\",\n\t\"./cv.js\": \"7bfe\",\n\t\"./cy\": \"1d35\",\n\t\"./cy.js\": \"1d35\",\n\t\"./da\": \"a019\",\n\t\"./da.js\": \"a019\",\n\t\"./de\": \"0cfa\",\n\t\"./de-at\": \"edea\",\n\t\"./de-at.js\": \"edea\",\n\t\"./de-ch\": \"9aae\",\n\t\"./de-ch.js\": \"9aae\",\n\t\"./de.js\": \"0cfa\",\n\t\"./dv\": \"1722\",\n\t\"./dv.js\": \"1722\",\n\t\"./el\": \"5390\",\n\t\"./el.js\": \"5390\",\n\t\"./en-au\": \"dad9\",\n\t\"./en-au.js\": \"dad9\",\n\t\"./en-ca\": \"6f13\",\n\t\"./en-ca.js\": \"6f13\",\n\t\"./en-gb\": \"6267\",\n\t\"./en-gb.js\": \"6267\",\n\t\"./en-ie\": \"80b1\",\n\t\"./en-ie.js\": \"80b1\",\n\t\"./en-il\": \"ad38\",\n\t\"./en-il.js\": \"ad38\",\n\t\"./en-in\": \"eb60\",\n\t\"./en-in.js\": \"eb60\",\n\t\"./en-nz\": \"39db\",\n\t\"./en-nz.js\": \"39db\",\n\t\"./en-sg\": \"c30d\",\n\t\"./en-sg.js\": \"c30d\",\n\t\"./eo\": \"1a30\",\n\t\"./eo.js\": \"1a30\",\n\t\"./es\": \"48a3\",\n\t\"./es-do\": \"f306\",\n\t\"./es-do.js\": \"f306\",\n\t\"./es-mx\": \"56d9\",\n\t\"./es-mx.js\": \"56d9\",\n\t\"./es-us\": \"60bf\",\n\t\"./es-us.js\": \"60bf\",\n\t\"./es.js\": \"48a3\",\n\t\"./et\": \"f891\",\n\t\"./et.js\": \"f891\",\n\t\"./eu\": \"a403\",\n\t\"./eu.js\": \"a403\",\n\t\"./fa\": \"ce14\",\n\t\"./fa.js\": \"ce14\",\n\t\"./fi\": \"fc14\",\n\t\"./fi.js\": \"fc14\",\n\t\"./fil\": \"f46e\",\n\t\"./fil.js\": \"f46e\",\n\t\"./fo\": \"2bf2\",\n\t\"./fo.js\": \"2bf2\",\n\t\"./fr\": \"c1e8\",\n\t\"./fr-ca\": \"50a2\",\n\t\"./fr-ca.js\": \"50a2\",\n\t\"./fr-ch\": \"b087\",\n\t\"./fr-ch.js\": \"b087\",\n\t\"./fr.js\": \"c1e8\",\n\t\"./fy\": \"4665\",\n\t\"./fy.js\": \"4665\",\n\t\"./ga\": \"b396\",\n\t\"./ga.js\": \"b396\",\n\t\"./gd\": \"056c\",\n\t\"./gd.js\": \"056c\",\n\t\"./gl\": \"efde\",\n\t\"./gl.js\": \"efde\",\n\t\"./gom-deva\": \"12ea\",\n\t\"./gom-deva.js\": \"12ea\",\n\t\"./gom-latn\": \"8e2c\",\n\t\"./gom-latn.js\": \"8e2c\",\n\t\"./gu\": \"533d\",\n\t\"./gu.js\": \"533d\",\n\t\"./he\": \"7520\",\n\t\"./he.js\": \"7520\",\n\t\"./hi\": \"d2f3\",\n\t\"./hi.js\": \"d2f3\",\n\t\"./hr\": \"7e79\",\n\t\"./hr.js\": \"7e79\",\n\t\"./hu\": \"148f\",\n\t\"./hu.js\": \"148f\",\n\t\"./hy-am\": \"6711\",\n\t\"./hy-am.js\": \"6711\",\n\t\"./id\": \"2b10\",\n\t\"./id.js\": \"2b10\",\n\t\"./is\": \"1feb\",\n\t\"./is.js\": \"1feb\",\n\t\"./it\": \"1b21\",\n\t\"./it-ch\": \"8d2c\",\n\t\"./it-ch.js\": \"8d2c\",\n\t\"./it.js\": \"1b21\",\n\t\"./ja\": \"926e\",\n\t\"./ja.js\": \"926e\",\n\t\"./jv\": \"5a78\",\n\t\"./jv.js\": \"5a78\",\n\t\"./ka\": \"5975\",\n\t\"./ka.js\": \"5975\",\n\t\"./kk\": \"cc93\",\n\t\"./kk.js\": \"cc93\",\n\t\"./km\": \"66e1\",\n\t\"./km.js\": \"66e1\",\n\t\"./kn\": \"5421\",\n\t\"./kn.js\": \"5421\",\n\t\"./ko\": \"1297\",\n\t\"./ko.js\": \"1297\",\n\t\"./ku\": \"16f8\",\n\t\"./ku.js\": \"16f8\",\n\t\"./ky\": \"3df9\",\n\t\"./ky.js\": \"3df9\",\n\t\"./lb\": \"c124\",\n\t\"./lb.js\": \"c124\",\n\t\"./lo\": \"20a5\",\n\t\"./lo.js\": \"20a5\",\n\t\"./lt\": \"c14a\",\n\t\"./lt.js\": \"c14a\",\n\t\"./lv\": \"c553\",\n\t\"./lv.js\": \"c553\",\n\t\"./me\": \"ae25\",\n\t\"./me.js\": \"ae25\",\n\t\"./mi\": \"6f56\",\n\t\"./mi.js\": \"6f56\",\n\t\"./mk\": \"c8fc\",\n\t\"./mk.js\": \"c8fc\",\n\t\"./ml\": \"752d\",\n\t\"./ml.js\": \"752d\",\n\t\"./mn\": \"f09e\",\n\t\"./mn.js\": \"f09e\",\n\t\"./mr\": \"0a56\",\n\t\"./mr.js\": \"0a56\",\n\t\"./ms\": \"55b6\",\n\t\"./ms-my\": \"a9e9\",\n\t\"./ms-my.js\": \"a9e9\",\n\t\"./ms.js\": \"55b6\",\n\t\"./mt\": \"624b\",\n\t\"./mt.js\": \"624b\",\n\t\"./my\": \"e256\",\n\t\"./my.js\": \"e256\",\n\t\"./nb\": \"e1d5\",\n\t\"./nb.js\": \"e1d5\",\n\t\"./ne\": \"761a\",\n\t\"./ne.js\": \"761a\",\n\t\"./nl\": \"a0f2\",\n\t\"./nl-be\": \"5cb2\",\n\t\"./nl-be.js\": \"5cb2\",\n\t\"./nl.js\": \"a0f2\",\n\t\"./nn\": \"4fda\",\n\t\"./nn.js\": \"4fda\",\n\t\"./oc-lnc\": \"ec3d\",\n\t\"./oc-lnc.js\": \"ec3d\",\n\t\"./pa-in\": \"2f2f\",\n\t\"./pa-in.js\": \"2f2f\",\n\t\"./pl\": \"317f\",\n\t\"./pl.js\": \"317f\",\n\t\"./pt\": \"5553\",\n\t\"./pt-br\": \"a9ab\",\n\t\"./pt-br.js\": \"a9ab\",\n\t\"./pt.js\": \"5553\",\n\t\"./ro\": \"db12\",\n\t\"./ro.js\": \"db12\",\n\t\"./ru\": \"7aa4\",\n\t\"./ru.js\": \"7aa4\",\n\t\"./sd\": \"e87b\",\n\t\"./sd.js\": \"e87b\",\n\t\"./se\": \"a296\",\n\t\"./se.js\": \"a296\",\n\t\"./si\": \"51ec\",\n\t\"./si.js\": \"51ec\",\n\t\"./sk\": \"608b\",\n\t\"./sk.js\": \"608b\",\n\t\"./sl\": \"b367\",\n\t\"./sl.js\": \"b367\",\n\t\"./sq\": \"f68f\",\n\t\"./sq.js\": \"f68f\",\n\t\"./sr\": \"0991\",\n\t\"./sr-cyrl\": \"c577\",\n\t\"./sr-cyrl.js\": \"c577\",\n\t\"./sr.js\": \"0991\",\n\t\"./ss\": \"cf76\",\n\t\"./ss.js\": \"cf76\",\n\t\"./sv\": \"0153\",\n\t\"./sv.js\": \"0153\",\n\t\"./sw\": \"cb6f\",\n\t\"./sw.js\": \"cb6f\",\n\t\"./ta\": \"8bfa\",\n\t\"./ta.js\": \"8bfa\",\n\t\"./te\": \"668b\",\n\t\"./te.js\": \"668b\",\n\t\"./tet\": \"eae7\",\n\t\"./tet.js\": \"eae7\",\n\t\"./tg\": \"70b1\",\n\t\"./tg.js\": \"70b1\",\n\t\"./th\": \"7180\",\n\t\"./th.js\": \"7180\",\n\t\"./tk\": \"4912\",\n\t\"./tk.js\": \"4912\",\n\t\"./tl-ph\": \"f8bb\",\n\t\"./tl-ph.js\": \"f8bb\",\n\t\"./tlh\": \"b026\",\n\t\"./tlh.js\": \"b026\",\n\t\"./tr\": \"371d\",\n\t\"./tr.js\": \"371d\",\n\t\"./tzl\": \"c744\",\n\t\"./tzl.js\": \"c744\",\n\t\"./tzm\": \"787a\",\n\t\"./tzm-latn\": \"71e0\",\n\t\"./tzm-latn.js\": \"71e0\",\n\t\"./tzm.js\": \"787a\",\n\t\"./ug-cn\": \"6b5c\",\n\t\"./ug-cn.js\": \"6b5c\",\n\t\"./uk\": \"8c0c\",\n\t\"./uk.js\": \"8c0c\",\n\t\"./ur\": \"519e\",\n\t\"./ur.js\": \"519e\",\n\t\"./uz\": \"7982\",\n\t\"./uz-latn\": \"3137\",\n\t\"./uz-latn.js\": \"3137\",\n\t\"./uz.js\": \"7982\",\n\t\"./vi\": \"ae22\",\n\t\"./vi.js\": \"ae22\",\n\t\"./x-pseudo\": \"1129\",\n\t\"./x-pseudo.js\": \"1129\",\n\t\"./yo\": \"b4bf\",\n\t\"./yo.js\": \"b4bf\",\n\t\"./zh-cn\": \"fdc4\",\n\t\"./zh-cn.js\": \"fdc4\",\n\t\"./zh-hk\": \"747d\",\n\t\"./zh-hk.js\": \"747d\",\n\t\"./zh-mo\": \"fe39\",\n\t\"./zh-mo.js\": \"fe39\",\n\t\"./zh-tw\": \"d3e0\",\n\t\"./zh-tw.js\": \"d3e0\"\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 = \"0fd5\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal-popup\"}},[(_vm.show)?_c('div',{staticClass:\"modal-popup-wrapper\"},[_c('div',{class:(\"modal-popup \" + _vm.type)},[(_vm.hasHeader)?_c('div',{staticClass:\"modal-header\"},[_vm._t(\"header\")],2):_vm._e(),_c('div',{staticClass:\"modal-content\"},[_vm._t(\"default\")],2),(_vm.hasActions)?_c('div',{staticClass:\"modal-actions\"},[_vm._t(\"actions\")],2):_vm._e()])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-popup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-popup.vue?vue&type=script&lang=ts&\"","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateAppSection\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"section\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppSectionInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"updateSection\"},\"name\":{\"kind\":\"Name\",\"value\":\"updateSection\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"section\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"section\"}}}],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateAppSectionsTranslations\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionsTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppSectionTranslationInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"updateSectionsTranslations\"},\"name\":{\"kind\":\"Name\",\"value\":\"updateSectionsTranslations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionsTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionsTranslations\"}}}],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"AddScreen\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"addScreen\"},\"name\":{\"kind\":\"Name\",\"value\":\"addScreen\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"}}}],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteSection\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"deleteSection\"},\"name\":{\"kind\":\"Name\",\"value\":\"deleteSection\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"}}}],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteScreen\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"screenId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"deleteScreen\"},\"name\":{\"kind\":\"Name\",\"value\":\"deleteScreen\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"screenId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"screenId\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":601}};\n doc.loc.source = {\"body\":\"mutation UpdateAppSection($section: AppSectionInput!) {\\n updateSection: updateSection(section: $section) \\n}\\n\\nmutation UpdateAppSectionsTranslations($sectionsTranslations: AppSectionTranslationInput!) {\\n updateSectionsTranslations: updateSectionsTranslations(sectionsTranslations: $sectionsTranslations) \\n}\\n\\nmutation AddScreen($sectionId: Int) {\\n addScreen: addScreen(sectionId: $sectionId) \\n}\\n\\nmutation DeleteSection($sectionId: Int!) {\\n deleteSection: deleteSection(sectionId: $sectionId) \\n}\\n\\nmutation DeleteScreen($screenId: Int!) {\\n deleteScreen: deleteScreen(screenId: $screenId) \\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"UpdateAppSection\"] = oneQuery(doc, \"UpdateAppSection\");\n \n module.exports[\"UpdateAppSectionsTranslations\"] = oneQuery(doc, \"UpdateAppSectionsTranslations\");\n \n module.exports[\"AddScreen\"] = oneQuery(doc, \"AddScreen\");\n \n module.exports[\"DeleteSection\"] = oneQuery(doc, \"DeleteSection\");\n \n module.exports[\"DeleteScreen\"] = oneQuery(doc, \"DeleteScreen\");\n \n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar composition_api_1 = require(\"@vue/composition-api\");\nvar componentName = 'modal-popup';\nexports.default = composition_api_1.defineComponent({\n props: {\n show: { type: Boolean, default: false },\n type: { type: String, default: 'confirmation' }\n },\n name: componentName,\n setup: function (props, context) {\n composition_api_1.watch(function () { return props.show; }, function (show, prevshow) {\n props.show ? document.body.style.overflow = 'hidden' : document.body.style.overflow = '';\n });\n var hasHeader = composition_api_1.computed(function () {\n return context.slots.header;\n });\n var hasActions = composition_api_1.computed(function () {\n return context.slots.actions;\n });\n return {\n hasHeader: hasHeader,\n hasActions: hasActions\n };\n }\n});\n","import { render, staticRenderFns } from \"./modal-popup.vue?vue&type=template&id=2bbaf92c&\"\nimport script from \"./modal-popup.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-popup.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export function registerComponents(Vue: any, components: object, includeComponents?: string[]) {\n for (let key in components) {\n if (!includeComponents || includeComponents.includes(key)) {\n registerComponent(Vue, key, (components)[key]);\n }\n }\n}\n\nexport function registerComponent(Vue: any, key: string, component: any) {\n Vue.component(component.name || kebabize(key), component);\n}\n\nfunction kebabize(key: string) {\n let s = \"\", n = false;\n\n for (let i = 0 ; i < key.length ; i++) {\n if (key[i].toLowerCase() != key[i] || (/\\d/.test(key[i]) && !n)) {\n s += \"-\";\n s+= key[i].toLowerCase();\n }\n else {\n s += key[i];\n }\n\n n = /\\d/.test(key[i]);\n }\n\n return s.replace(/(^-+|-+$)/g, '');\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-container\"},[_c('header',{class:['header', { 'header--access': _vm.isAccess }]},[_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"header-content\"},[_c('router-link',{staticClass:\"identity\",class:{ 'identity--disabled': _vm.isAccess },attrs:{\"tag\":\"div\",\"to\":{ name: 'apps' }}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":\"/images/finder_logo_white.svg\"}})]),(_vm.isAuthenticated)?_c('div',{staticClass:\"authentication\"},[_c('div',{staticClass:\"user\"},[_c('span',{staticClass:\"username wok--body-short-01\"},[(_vm.isMobile)?[_vm._v(\"Logout\")]:[_vm._v(\"User: \"+_vm._s(_vm.loggedUser.email))]],2)]),_c('div',{staticClass:\"action\"},[_c('button',{staticClass:\"action-logout\",on:{\"click\":_vm.onLogout}},[_c('i',{staticClass:\"icon icon-power-16\"})])])]):_vm._e()],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { State } from './abstractions';\nimport { App, AppVersion } from '@/graphql-schema';\n\nfunction setApps(state: State, data: { apps: App[] }) {\n if (state == null) { return }\n\n state.apps = data.apps;\n}\n\nfunction setAppVersions(state: State, data: { appVersions: AppVersion[] }) {\n if (state == null) { return }\n\n state.appVersions = data.appVersions;\n}\n\nfunction setAppVersionSummary(state: State, data: { appVersionSummary: AppVersion }) {\n if (state == null) { return }\n\n state.appVersionSummary = data.appVersionSummary;\n}\n\nexport const mutations = {\n setApps,\n setAppVersions,\n setAppVersionSummary\n}","import Oidc from 'oidc-client';\n\nexport interface OidcOptions {\n userManagerSettings: Oidc.UserManagerSettings;\n}\n\nlet options: OidcOptions;\nlet oidcUserManager: Oidc.UserManager;\n\nexport function init(configure: (options: OidcOptions) => void) {\n if (oidcUserManager == null) {\n if (options == null) {\n options = {\n userManagerSettings: {\n response_type: 'id_token token',\n scope: 'openid',\n },\n };\n }\n configure(options);\n oidcUserManager = new Oidc.UserManager(options.userManagerSettings);\n }\n}\n\nexport function signin() {\n return oidcUserManager.signinPopup();\n}\n\nexport function signinSilent() {\n return oidcUserManager.signinSilent(options.userManagerSettings);\n}\n\nexport function signout() {\n return oidcUserManager.signoutRedirect();\n}\n\nexport function getUserManager() {\n return oidcUserManager;\n}\n\nexport function getUser() {\n return oidcUserManager.getUser();\n}\n\nexport async function checkToken() {\n let user = await checkAuthentication(true);\n if (user && user.access_token && user.expires_in >= 60) {\n return user.access_token;\n }\n}\n\nexport async function checkUserInfo() {\n let user = await checkAuthentication();\n if (user && user.access_token && user.expires_in >= 60) {\n return user.profile;\n }\n}\n\nexport async function checkAuthentication(dontUseSilentSignin = false) {\n let user = await oidcUserManager.getUser();\n if (user && user.access_token && user.expires_in >= 60) {\n return user;\n }\n\n // Start a silent authentication to renew the token _or_ redirect the user to signin.\n if (user && !dontUseSilentSignin) {\n return await oidcUserManager.signinSilent(options.userManagerSettings);\n }\n}\n\nexport async function checkRedirect() {\n console.log(\n window.location.href == options.userManagerSettings.redirect_uri\n );\n console.log(\n window.location.href == options.userManagerSettings.silent_redirect_uri\n );\n return false;\n}\n","import axios, { CancelTokenSource, CancelToken } from 'axios';\nimport { ActionContext } from 'vuex';\nimport { checkAuthentication } from '../oidc';\n\nexport interface ApiResult {\n result: string;\n resultCode?: string;\n data?: T;\n}\n\nexport function apiFailure(err?: any): ApiResult {\n if (err) {\n console.log(err);\n }\n return { result: 'ERROR' };\n}\n\nexport interface ApiOptions {\n base: string;\n checkVersionHeader: boolean;\n useOidc: boolean;\n}\n\nconst options: ApiOptions = {\n base: '',\n checkVersionHeader: true,\n useOidc: false\n}\n\nfunction serializeParameters(params: any) {\n let search = [];\n for (let k in params) {\n let v = params[k];\n if (v && Array.isArray(v)) {\n search.push(...v.map(x => `${k}=${encodeURIComponent(x)}`));\n }\n else {\n search.push(`${k}=${encodeURIComponent(v)}`);\n }\n }\n return search.join('&');\n}\n\nasync function addAuthorization(headers?: any) {\n if (options.useOidc) {\n let token = await checkToken();\n if (token) {\n headers = headers || {};\n headers.Authorization = `Bearer ${token}`;\n }\n }\n return headers;\n}\n\nconst http = axios.create({\n paramsSerializer: serializeParameters\n});\n\nexport function init(initAction: (options: ApiOptions) => void) {\n if (window) {\n let l = window.location;\n options.base = `${l.protocol}//${l.host}`\n }\n\n if (initAction) {\n initAction(options);\n }\n\n if (options.checkVersionHeader) {\n http.interceptors.response.use(function (res) {\n let c = VERSION;\n let s = res.headers[\"x-application-version\"];\n if (s && c && s != c && !s.endsWith('DEVEL')) {\n window.location.reload(true);\n console.log(`Version mismatch (s:${s} != c:${c}): reloading application ...`);\n }\n return res;\n });\n }\n}\n\n\nfunction buildRequest(url: string, volatile: boolean, parameters?: any): any {\n url = url[0] == '/' ? `${options.base}${url}` : url;\n\n let params: any = {};\n if (parameters) {\n for (let k in parameters) {\n if (k == '__volatile') {\n volatile = true;\n }\n else {\n params[k] = parameters[k];\n }\n }\n }\n if (volatile) {\n params['__t'] = new Date().getTime();\n }\n\n // Return ready to go Axios options.\n return { url, params };\n}\n\nconst discardableRequests: { [url: string]: CancelTokenSource } = {};\n\nfunction is401(error: any) {\n console.log(error)\n if (error.response && error.response.status == 401) {\n if (window) {\n window.location.href = \"/\";\n }\n return true;\n }\n return false;\n}\n\nexport async function get(url: string, parameters?: any, isDiscardable = false) {\n let cts: CancelTokenSource | null = null;\n\n if (parameters === true || isDiscardable) {\n cts = discardableRequests[url];\n if (cts) {\n cts.cancel();\n }\n cts = discardableRequests[url] = axios.CancelToken.source();\n }\n\n return http\n .request({\n method: 'GET',\n cancelToken: cts && cts.token || null,\n headers: await addAuthorization(),\n ...buildRequest(url, true, parameters)\n })\n .catch((error: any) => {\n if (is401(error)) {\n return error.response;\n }\n throw error;\n });\n}\n\nexport async function getAsDataURL(url: string, parameters?: any): Promise {\n return http\n .request({\n method: 'GET',\n responseType: 'blob',\n headers: await addAuthorization(),\n ...buildRequest(url, true, parameters) })\n .then(res => new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.onerror = reject\n reader.readAsDataURL(res.data)\n }))\n .catch((error: any) => {\n if (is401(error)) {\n return error.response;\n }\n throw error;\n });\n}\n\nexport async function post(url: string, data?: any, headers?: any) {\n return http\n .request({ method: 'POST', data, headers: await addAuthorization(headers), ...buildRequest(url, false) })\n .catch((error: any) => {\n if (is401(error)) {\n return error.response;\n }\n throw error;\n });\n}\n\nexport async function put(url: string, data?: any, headers?: any) {\n return http\n .request({ method: 'PUT', data, headers: await addAuthorization(headers), ...buildRequest(url, false) })\n .catch((error: any) => {\n if (is401(error)) {\n return error.response;\n }\n throw error;\n });\n}\n\nexport async function del(url: string, parameters?: any, headers?: any) {\n return http\n .request({ method: 'DELETE', headers: await addAuthorization(headers), ...buildRequest(url, false, parameters) })\n .catch((error: any) => {\n if (is401(error)) {\n return error.response;\n }\n throw error;\n });\n}\n\nexport function checkResult(result: ApiResult, ctx?: ActionContext): boolean;\n\nexport function checkResult(result: ApiResult, ctx?: ActionContext): T | false;\n\nexport function checkResult(result: ApiResult, ctx?: ActionContext) {\n if (result) {\n if (result.result == \"OK\") {\n return result.data || true;\n }\n else {\n if (result.result == \"ERROR\") {\n //ctx.dispatch('showError', result);\n }\n }\n }\n return false;\n}\n\n// OIDC shortcuts\n\nexport async function checkToken() {\n let user = await checkAuthentication();\n if (user && user.access_token && user.expires_in >= 60) {\n return user.access_token;\n }\n}\n\nexport async function checkUserInfo() {\n let user = await checkAuthentication();\n if (user && user.access_token && user.expires_in >= 60) {\n return user.profile;\n }\n}\n\n\n\n","import { ActionContext } from 'vuex';\nimport { get, post, ApiResult, checkToken, checkUserInfo } from '../helpers/api';\nimport { User } from '@/model';\n\ntype AuthenticationResult = ApiResult<{user: User, next?: string}>;\n\nasync function signIn(ctx: ActionContext, data: any) {\n const endpoint = `/babel/_api/v1/auth/signin`;\n\n let result: AuthenticationResult = await post(endpoint, data).then(res => res.data);\n\n ctx.commit('updateAuthentication', { result: result.result, user: result.data && result.data.user });\n\n return result;\n}\n\nasync function signOut(ctx: ActionContext) {\n const endpoint = `/babel/_api/v1/auth/logout`;\n\n let result: AuthenticationResult = await post(endpoint).then(res => res.data);\n\n ctx.commit('updateAuthentication', { result: result.result, user: null });\n\n return result;\n}\n\nasync function authenticationCheck(ctx: ActionContext, data: any) {\n const endpoint = `/_api/v1/auth/check`;\n\n if (!ctx.state.isAuthenticated) {\n let result: AuthenticationResult = await get(endpoint)\n .then(res => res.data);\n\n ctx.commit('updateAuthentication', { result: result.result, user: result.data && result.data.user });\n\n return result;\n }\n else {\n return { result: \"OK\" };\n }\n}\n\nfunction passwordSendUpdateEmail(ctx: ActionContext, data: any) {\n const endpoint = `/babel/_api/v1/auth/password/send-update-email`;\n\n return post(endpoint, data).then(res => res.data);\n}\n\nfunction passwordUpdate(ctx: ActionContext, data: any) {\n const endpoint = `/babel/_api/v1/auth/password/update`;\n\n return post(endpoint, data).then(res => res.data);\n}\n\nexport const actions = {\n signIn,\n signOut,\n authenticationCheck,\n passwordSendUpdateEmail,\n passwordUpdate\n}","import { DocumentNode } from 'graphql';\nimport { print } from 'graphql/language/printer';\n\nexport function prepareQuery(query: DocumentNode, variables?: any) {\n return {\n query: print(query),\n variables\n }\n}\n","import { ActionContext } from 'vuex';\nimport { copy } from '../helpers';\nimport { post } from '../helpers/api';\nimport { post as postOidc } from '../helpers/api';\nimport { prepareQuery } from '../helpers/graphql';\nimport { formatTimeFromSeconds } from '../utils';\nimport { Apps, AppVersions, AppVersionSummary, UpdateKeys } from '../../graphql/app.gql';\nimport { UpdateAppSection, UpdateAppSectionsTranslations, AddScreen, DeleteSection, DeleteScreen } from '../../graphql/settings.gql';\nimport { AppKeyInput, AppSectionInput, AppSectionTranslationInput } from '@/graphql-schema';\n\nconst headersJson = { 'Content-Type': 'application/json' };\n\nasync function executeGraphQL(ctx: ActionContext, data: { query: any, variables?: any }) {\n const endpoint = `/_graph`;\n\n type ResultType = { data: any, errors: any[] }\n\n try {\n let result = await post(endpoint, data, headersJson).then(res => res.data) as ResultType;\n\n if (result.errors && result.errors.length > 0) {\n console.error(result.errors);\n return false;\n }\n return result.data;\n }\n catch (ex) {\n console.error(ex);\n return false;\n }\n}\n\nfunction invalidateCache(ctx: ActionContext, key: string) {\n}\n\nfunction checkCache(ctx: ActionContext, key: string) : boolean | undefined {\n if (ctx.state.cacheControl[key] == 'reload') {\n ctx.state.cacheControl[key] == null;\n return true;\n }\n}\n\nasync function getApps(ctx: ActionContext, data: {})\n{\n let req = prepareQuery(Apps, data);\n let res = await executeGraphQL(ctx, req);\n if (res) {\n ctx.commit('setApps', res);\n return res.apps;\n }\n return null;\n}\n\nasync function getAppVersions(ctx: ActionContext, data: {appId: number})\n{\n data['isSummary'] = false;\n let req = prepareQuery(AppVersions, data);\n let res = await executeGraphQL(ctx, req);\n if (res) {\n ctx.commit('setAppVersions', res);\n return res.appVersions;\n }\n return null;\n}\n\nasync function getAppVersionSummary(ctx: ActionContext, data: {versionId: number})\n{\n data['isSummary'] = true;\n let req = prepareQuery(AppVersionSummary, data);\n let res = await executeGraphQL(ctx, req);\n if (res && Array.isArray(res.appVersions) && res.appVersions.length == 1) {\n let summary = res.appVersions[0];\n ctx.commit('setAppVersionSummary', { appVersionSummary: summary });\n return summary;\n }\n return null;\n}\n\nasync function updateKeys(ctx: ActionContext, data: {keys: AppKeyInput[]})\n{\n let req = prepareQuery(UpdateKeys, data);\n let res = await executeGraphQL(ctx, req);\n if (res && res.updateKeys) {\n return true;\n }\n return null;\n}\n\nasync function updateAppSection(ctx: ActionContext, data: {section: AppSectionInput})\n{\n let req = prepareQuery(UpdateAppSection, data);\n let res = await executeGraphQL(ctx, req);\n if (res && res.updateSection) {\n return true;\n }\n return null;\n}\n\nasync function updateAppSectionsTranslations(ctx: ActionContext, data: {sectionsTranslations: AppSectionTranslationInput})\n{\n let req = prepareQuery(UpdateAppSectionsTranslations, data);\n let res = await executeGraphQL(ctx, req);\n if (res && res.updateSectionsTranslations) {\n return true;\n }\n return null;\n}\n\nasync function addScreenInSection(ctx: ActionContext, data: {sectionId: number})\n{\n let req = prepareQuery(AddScreen, data);\n let res = await executeGraphQL(ctx, req);\n if (res && res.addScreen) {\n return true;\n }\n return null;\n}\n\nasync function deleteSection(ctx: ActionContext, data: {sectionId: number})\n{\n let req = prepareQuery(DeleteSection, data);\n let res = await executeGraphQL(ctx, req);\n if (res && res.deleteSection) {\n return true;\n }\n return null;\n}\n\nasync function deleteScreen(ctx: ActionContext, data: {screenId: number})\n{\n let req = prepareQuery(DeleteScreen, data);\n let res = await executeGraphQL(ctx, req);\n if (res && res.deleteScreen) {\n return true;\n }\n return null;\n}\n\nexport const actions = {\n getApps,\n getAppVersions,\n getAppVersionSummary,\n updateKeys,\n updateAppSection,\n updateAppSectionsTranslations,\n addScreenInSection,\n deleteSection,\n deleteScreen\n}\n","// Copyright 2014-2018 DNDG srl \n// Some rights reserved. See the LICENSE file for licensing details.\n\nimport { ActionContext } from 'vuex';\nimport { get, post, del, ApiResult } from '../../helpers/api';\nimport { checkResult } from '../../store';\n\nasync function loadApps(ctx: ActionContext) {\n const endpoint = `/babel/_api/v1/apps`;\n\n let result = await get(endpoint).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nasync function loadAppVersions(ctx: ActionContext, appId: number) {\n const endpoint = `/babel/_api/v1/apps/${appId}/versions`;\n\n let result = await get(endpoint).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nasync function loadAppVersionData(ctx: ActionContext, data : { appId: number, versionId: number}) {\n const endpoint = `/babel/_api/v1/apps/${data.appId}/versions/${data.versionId}/summary`;\n\n let result = await get(endpoint).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nasync function updateTranslationData(ctx: ActionContext, appVersionData: any) {\n const endpoint = `/babel/_api/v1/apps/update`;\n\n let result = await post(endpoint, appVersionData).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nexport default {\n loadApps,\n loadAppVersions,\n loadAppVersionData,\n updateTranslationData\n}","// Copyright 2014-2018 DNDG srl \n// Some rights reserved. See the LICENSE file for licensing details.\n\nimport { ActionContext } from 'vuex';\nimport { get, post, del, ApiResult } from '../../helpers/api';\nimport { checkResult } from '../../store';\n\nasync function updateSections(ctx: ActionContext, data: { req: any }) {\n const endpoint = `/babel/_api/v1/apps/settings/sections`;\n\n let result = await post(endpoint, data.req).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nasync function updateSection(ctx: ActionContext, data: { section: any }) {\n const endpoint = `/babel/_api/v1/apps/settings/section`;\n\n let result = await post(endpoint, data.section).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nasync function addScreen(ctx: ActionContext, data: { screen: any }) {\n const endpoint = `/babel/_api/v1/apps/settings/section/screen`;\n\n let result = await post(endpoint, data.screen).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nasync function deleteSectionCall(ctx: ActionContext, data: { sectionId: number }) {\n const endpoint = `/babel/_api/v1/apps/settings/section/${data.sectionId}`;\n\n let result = await del(endpoint).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nasync function deleteScreenCall(ctx: ActionContext, data: { screenId: number }) {\n const endpoint = `/babel/_api/v1/apps/settings/section/screens/${data.screenId}`;\n\n let result = await del(endpoint).then(res => res.data) as ApiResult;\n let resultData = checkResult(ctx, result);\n if (resultData) {\n return resultData;\n }\n \n return null;\n}\n\nexport default {\n updateSection,\n updateSections,\n deleteSectionCall,\n addScreen,\n deleteScreenCall\n}","import isToday from 'date-fns/isToday';\n\nexport function arrayEquals(a: T[], b: T[]) {\n if (a === b) return true;\n if (a == null || b == null) return false;\n if (a.length != b.length) return false;\n\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n}\n\nfunction copyArray(src: any[], includeProp?: (v: any, k: any) => boolean) {\n let dst = [];\n for (let i=0 ; i < src.length ; i++) {\n if (includeProp && !includeProp(src[i], i)) {\n continue;\n }\n dst.push(copy(src[i], null, null, includeProp));\n }\n return dst;\n}\n\nfunction copyObject(src: object, props?: string[], excludeProps?: string[], includeProp?: (v: any, k: any) => boolean) {\n let dst = {};\n for (let k in src) {\n if (src.hasOwnProperty(k) && (!props || props.indexOf(k) != -1) && (!excludeProps || excludeProps.indexOf(k) == -1)) {\n let v = src[k];\n if (includeProp && !includeProp(v, k)) {\n continue;\n }\n if (v) {\n if (Array.isArray(v)) {\n dst[k] = copyArray(v, includeProp)\n continue;\n }\n if (typeof v == 'object') {\n dst[k] = copyObject(v, null, null, includeProp);\n continue;\n }\n }\n dst[k] = v;\n }\n }\n return dst;\n}\n\nexport function copy(src: any, props?: string[], excludeProps?: string[], includeProp?: (v: any, k: any) => boolean) {\n if (src) {\n if (Array.isArray(src)) {\n return copyArray(src, includeProp);\n }\n if (typeof src == 'object') {\n return copyObject(src, props, excludeProps, includeProp);\n }\n }\n return src;\n}\n\nexport function copyWithoutEmptyStrings(src: any, props?: string[], excludeProps?: string[]) {\n return copy(src, props, excludeProps, v => v !== '');\n}\n\nexport function checkIsToday(year: number, month: number, day: number) {\n return isToday(new Date(year, month-1, day));\n}","import moment from 'moment';\nimport Vuex, { Store, StoreOptions, Getter, ActionContext } from 'vuex';\nimport { State } from './abstractions';\n\n// Mutations\n\n\nfunction setLoading(state: State, loading: boolean) {\n if (loading) {\n state.isLoading += 1;\n }\n else {\n state.isLoading -= 1;\n }\n}\n\nfunction setLang(state: State, lang: string) {\n state.lang = lang;\n moment.locale(lang);\n}\n\nfunction setNavigation(state: State, navigation: any) {\n state.navigation = navigation;\n}\n\nfunction setUIMessage(state: State, message: string) {\n state.uiMessage = message;\n}\n\nfunction clearUIMessage(state: State) {\n state.uiMessage = null;\n}\n\nfunction setUISnackbar(state: State, snackbar: any) {\n state.uiSnackbar = snackbar;\n}\n\nfunction clearUISnackbar(state: State) {\n state.uiSnackbar = null;\n}\n\nfunction setIsDevelopment(state: State, isDevelopment: boolean) {\n state.isDevelopment = isDevelopment;\n}\n\nfunction setMobile(state: State, isMobile: boolean) {\n state.isMobile = isMobile;\n}\n\nfunction resetUI(state: State) {\n}\n\nfunction updateAuthentication(state: State, update: { result: 'OK' | 'ERROR', user: User }) {\n if (update.result == 'OK' && !!update.user) {\n state.isAuthenticated = true;\n update.user.roles = copy(update.user['finder:role']);\n delete update.user['finder:role'];\n if (update.user.roles) {\n if (Array.isArray(update.user.roles)) {\n update.user.roles = update.user.roles.map(r => getRoleObject(r));\n }\n else {\n update.user.roles = [getRoleObject(update.user.roles)];\n }\n }\n state.loggedUser = update.user;\n }\n else {\n state.isAuthenticated = false;\n state.loggedUser = null;\n }\n}\n\nfunction getRoleObject(roleString: string) {\n return JSON.parse(roleString);\n}\n\n// Error management\n\nexport function checkResult(ctx: ActionContext, result: ApiResult) {\n if (result.result == \"OK\") {\n return result.data || true;\n }\n else {\n return false;\n }\n}\n\n// Getters\n\nfunction hasRole(state: State) {\n return (role: string) => state.loggedUser && state.loggedUser.roles && state.loggedUser.roles.some(x => x.name == role);\n}\n\nfunction hasTranslatorLanguage(state: State) {\n return (lang: string) => {\n if (hasRole(state)('ADMIN')) {\n return true;\n }\n let translator = state.loggedUser && state.loggedUser.roles && state.loggedUser.roles.filter(x => x.name == 'TRANSLATOR')[0];\n if (translator) {\n return translator.languages.includes(lang);\n }\n return false;\n }\n}\n\n// Initial state and store options\n\nconst state: State = {\n isDevelopment: false,\n isLoading: 0,\n isMobile: false,\n isAuthenticated: false,\n\n loggedUser: null,\n\n lang: \"en\",\n uiMessage: null,\n uiSnackbar: null,\n navigation: null,\n\n apps: [],\n appVersions: [],\n appVersionSummary: null\n}\n\nimport { mutations } from './mutations';\n\nimport { actions as mainActions } from './actions';\nimport { actions as graphqlActions } from './graphql-actions';\nimport appsActions from '../pages/apps/actions';\nimport settingsActions from '../pages/settings/actions';\nimport { User } from '@/model';\nimport { ApiResult } from '@/helpers/api';\nimport { copy } from '@/helpers';\n\nconst OPTIONS : StoreOptions = {\n state,\n actions: {\n ...mainActions,\n ...graphqlActions,\n ...appsActions,\n ...settingsActions\n },\n mutations: {\n setLoading,\n setIsDevelopment,\n setLang,\n resetUI,\n setMobile,\n setNavigation,\n setUIMessage,\n clearUIMessage,\n setUISnackbar,\n clearUISnackbar,\n updateAuthentication,\n ...mutations\n },\n getters: {\n hasRole,\n hasTranslatorLanguage\n }\n}\n\nlet store: Store = null;\n\nexport function getStore() {\n if (store == null) {\n store = new Vuex.Store(OPTIONS);\n }\n return store;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { defineComponent, onMounted } from '@vue/composition-api';\nimport { getUserManager } from '../../oidc';\n\nexport default defineComponent({\n setup() {\n onMounted(() => {\n const isSilent = window.location.pathname.endsWith('silent');\n const userManager = getUserManager();\n\n const result = isSilent ? userManager.signinSilentCallback() : userManager.signinPopupCallback();\n\n result\n .then((user) => {\n if (user && !isSilent) {\n window.location.href = '/babel/apps';\n } else {\n userManager\n .signinPopupCallback()\n .then((user) => {\n window.location.href = '/babel/apps';\n })\n .catch((e) => {\n console.error(e);\n });\n }\n })\n .catch((e) => {\n console.error(e);\n });\n });\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OidcCallback.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OidcCallback.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OidcCallback.vue?vue&type=template&id=27a1aee4&\"\nimport script from \"./OidcCallback.vue?vue&type=script&lang=ts&\"\nexport * from \"./OidcCallback.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-wrapper access-section\"},[_c('img',{staticClass:\"illustration\",attrs:{\"src\":\"/images/babel-illustration.svg\"}}),_vm._m(0),_c('wok-button',{attrs:{\"icon\":\"wok-icon-arrow-right-16\",\"isLoading\":_vm.signinLoading},on:{\"click\":_vm.onSignin}},[_vm._v(\" Sign in \")])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{staticClass:\"title\"},[_vm._v(\"Sign in to \"),_c('strong',[_vm._v(\"Babel\")]),_vm._v(\",\"),_c('br'),_vm._v(\" the Finder® translations tool\")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, ref } from '@vue/composition-api';\nimport { signin } from '../oidc';\nimport { useRouter } from '../router';\n\nexport default defineComponent({\n name: 'Access',\n\n setup(props, context) {\n const { router, route } = useRouter();\n\n const signinLoading = ref(false);\n\n const onSignin = async () => {\n try {\n signinLoading.value = true;\n const user = await signin();\n if (user) {\n router.replace({name: 'apps'});\n }\n }\n finally {\n signinLoading.value = false;\n }\n }\n\n return {\n onSignin,\n signinLoading\n }\n },\n})\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./access.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./access.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./access.vue?vue&type=template&id=7ef58794&\"\nimport script from \"./access.vue?vue&type=script&lang=ts&\"\nexport * from \"./access.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.loaded)?_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"app-items-wrapper\"},[_c('div',{staticClass:\"app-items-content\"},_vm._l((_vm.state.apps),function(a){return _c('app-list-item',{key:a.id,attrs:{\"item\":a},on:{\"click\":function($event){return _vm.onItemClick(a.id)}}})}),1)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nexport class Utils {\n static getLanguageName(langCode: string) {\n switch (langCode) {\n case \"it\":\n return \"Italian\";\n case \"en\":\n return \"English\";\n case \"de\":\n return \"German\";\n case \"es\":\n return \"Spanish\";\n case \"fr\":\n return \"French\";\n case \"hu\":\n return \"Hungarian\";\n case \"pt\":\n return \"Portoguese\";\n case \"pl\":\n return \"Polish\"\n case \"ro\":\n return \"Romanian\";\n case \"ru\":\n return \"Russian\";\n case \"nl\":\n return \"Dutch\";\n case \"cs\":\n return \"Czech\";\n case \"sl\":\n return \"Slovenian\";\n case \"sk\":\n return \"Slovak\";\n case \"ar\":\n return \"Arabic\";\n case \"sr\":\n return \"Serbian\";\n default:\n return \"\";\n }\n }\n\n static getCompletionColor(percentage: number) {\n if (percentage < 50) {\n return 'red';\n }\n\n if (percentage >= 50 && percentage <= 99) {\n return 'yellow';\n }\n\n if (percentage == 100) {\n return 'green';\n }\n }\n\n static iconPlatformClass(staticClass: string, platform: string) {\n let mountedClass: string[] = [staticClass];\n let iconName = '';\n\n switch (platform) {\n case 'Android':\n iconName = 'android';\n break;\n case 'iOS':\n iconName = 'apple';\n break;\n case 'Android/iOS':\n case 'Web':\n iconName = 'globe';\n break;\n default:\n break;\n }\n\n mountedClass.push(`icon-${iconName}-16`);\n\n return mountedClass;\n }\n}\n\nexport const promiseTimeout = function (ms: number, promise: Promise) {\n let timeout = new Promise((resolve, reject) => {\n let id = setTimeout(() => {\n clearTimeout(id);\n reject('Timed out in ' + ms + 'ms.')\n }, ms)\n })\n return Promise.race([\n promise,\n timeout\n ])\n}","import Vue, { RenderContext, FunctionalComponentOptions } from 'vue';\nimport { Utils } from '../../helpers/utils';\n\nexport const AppListItem = {\n functional: true,\n name: 'app-list-item',\n props: {\n item: {\n type: Object\n }\n },\n render(h, ctx) {\n return (\n h('div', { \n class: ['app-item', ctx.data.staticClass],\n on: clickHandler(ctx)\n }, [\n h('div', { class: 'app-item-content' }, [\n h('div', { class: 'app-item-icon' }, [\n h('div', { class: 'app-icon-wrapper' }, [\n h('img', { class: 'app-icon', attrs: { src: `/images/icons/${ctx.props.item.shortName}.svg` }})\n ])\n ]),\n h('div', { class: 'app-item-info' }, [\n h('h1', { class: 'title' }, ctx.props.item.name),\n h('div', { class: 'platform' }, [\n h('i', { class: Utils.iconPlatformClass('icon', ctx.props.item.platform)}),\n h('span', { class: 'platform-name' }, ctx.props.item.platform)\n ])\n ]),\n h('div', { class: 'app-item-action' }, [\n h('i', { class: 'icon icon-chevron-right-16' })\n ])\n ])\n ])\n )\n }\n}\n\nfunction clickHandler(ctx: RenderContext) {\n if (ctx.data.on && ctx.data.on.click) {\n return { click: ctx.data.on.click }\n }\n return null;\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive } from '@vue/composition-api';\nimport { User } from '../../model/user';\nimport { usePageBase, useComponentBase } from '../../base';\nimport { AppListItem } from './app-list-item';\nimport { getStore } from '../../store';\nimport { useRouter } from '../../router';\n\nconst componentName = 'AppsList';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n const pageBase = usePageBase();\n const componentBase = useComponentBase();\n\n const state = reactive({\n apps: [],\n loaded: false\n });\n\n const onCreated = () => {\n componentBase.setLoading(true);\n\n pageBase.setNavigation((nav) => {\n nav.push({ title: 'Apps' });\n });\n\n \n state.apps = store.state.apps;\n state.loaded = true;\n componentBase.setLoading(false);\n }\n\n const onItemClick = (appId: string) => {\n router.push({ name: 'app-versions', params: { appId: appId }});\n }\n\n onCreated();\n\n return {\n state,\n onItemClick\n }\n },\n\n components: { AppListItem }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./apps-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./apps-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./apps-list.vue?vue&type=template&id=7c7234e0&\"\nimport script from \"./apps-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./apps-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.loaded)?_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"app-overview-header\"},[_c('div',{staticClass:\"app-icon-wrapper\"},[_c('img',{staticClass:\"app-icon\",attrs:{\"src\":(\"/images/icons/\" + _vm.appShortName + \".svg\")}})]),_c('h1',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.appName))]),_c('h3',{staticClass:\"platform\"},[_c('i',{class:_vm.platformIconClass(_vm.appPlatform)}),_vm._v(_vm._s(_vm.appPlatform))]),_c('div',{staticClass:\"dashboard\"})]),_c('div',{staticClass:\"app-items-wrapper\"},[_c('div',{staticClass:\"app-items-content\"},_vm._l((_vm.appVersionsForList),function(a){return _c('div',{key:a.id,staticClass:\"app-item app-item--col no-pointer\"},[_c('div',{staticClass:\"app-item-content\"},[_c('div',{staticClass:\"app-item-progress-bar-wrapper\"},[_c('div',{staticClass:\"app-item-progress-bar yellow\",style:((\"width: \" + (_vm.totalPercentageCompletion(a)) + \"%;\"))})]),_c('div',{staticClass:\"app-item-title-container\"},[_c('h4',{staticClass:\"app-item-title\"},[_vm._v(\"Version \"+_vm._s(a.version)+\" \"),_c('span',{staticClass:\"build\"},[_vm._v(\"Build \"+_vm._s(a.build))])]),_c('div',{staticClass:\"app-item-inline-action\"},[(_vm.isUserAdmin)?_c('router-link',{staticClass:\"action-settings\",attrs:{\"to\":{ name: 'app-settings', params: {appId: _vm.appId, versionId: a.id}}}},[_c('i',{staticClass:\"icon icon-gear-16\"})]):_vm._e()],1),_c('div',{class:['app-item-translation-percentage', _vm.completionColor(_vm.totalPercentageCompletion(a))]},[_vm._v(\" \"+_vm._s(_vm.totalPercentageCompletion(a))+\"% \")])]),_c('div',{staticClass:\"app-item-languages\"},_vm._l((_vm.filterLanguages(a.languages)),function(l,i){return _c('router-link',{key:(\"ail\" + i),staticClass:\"app-item-language\",attrs:{\"tag\":\"div\",\"to\":{ name: 'app-version-summary', params: { versionId: a.id, lang: l.code }}}},[_c('div',{staticClass:\"app-item-language-content wok--body-short-01\"},[_c('div',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(l.name)+\" \")]),_c('div',{staticClass:\"translation-numbers\"},[_vm._v(_vm._s(l.done)+\" / \"+_vm._s(a.keysNumber))]),_c('div',{class:['translation-percentage', _vm.completionColor(_vm.percentage(l.done, a.keysNumber))]},[_vm._v(\" \"+_vm._s(_vm.percentage(l.done, a.keysNumber))+\"% \")]),_c('i',{staticClass:\"icon icon-chevron-right-12\"})])])}),1)])])}),0)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import moment from 'moment';\nimport { format } from 'date-fns';\n\nexport function currency(value: any, d = ',', t = '.', precision = 2) {\n let v = value ? value : 0;\n let s = v < 0 ? '-' : '';\n let i = parseInt(Math.abs(v.toFixed(precision)) + '', 10) + '';\n let j = i.length > 3 ? i.length % 3 : 0;\n return s + (j ? i.substr(0, j) + t : '')\n + i.substr(j).replace(/(\\d{3})(?=\\d)/g, '$1' + t)\n + (precision ? d + Math.abs(v - parseInt(s + i, 10)).toFixed(precision).slice(precision) : '');\n}\n\nexport function extendedDate(dt: Date | string | null, locale = null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tvar date: Date = (dt instanceof Date) ? dt : new Date(dt);\n\n\treturn format(date, 'iiii d MMMM yyyy', { locale });\n}\n\nexport function dayName(dt: Date | string | null, locale = null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tvar date: Date = (dt instanceof Date) ? dt : new Date(dt);\n\n\treturn format(date, 'iiii', { locale });\n}\n\nexport function monthName(dt: Date | string | null, locale = null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tvar date: Date = (dt instanceof Date) ? dt : new Date(dt);\n\n\treturn format(date, 'MMMM', { locale });\n}\n\nexport function euroAmount(value: any, zeroReplacement = null) {\n\tlet v = value;\n\tif (v == 0 && zeroReplacement) {\n\t\treturn zeroReplacement;\n }\n else {\n\t\treturn currency(value, '.', ',', 2) + ' €';\n\t}\n}\n\n\nexport function dollarsAmount(value: any, zeroReplacement = null) {\n\tlet v = value;\n\tif (v == 0 && zeroReplacement) {\n\t\treturn zeroReplacement;\n }\n else {\n\t\treturn currency(value, '.', ',', 2) + ' $';\n\t}\n}\n\nexport function percent(value: any) {\n let precision = 2;\n\tlet symbol = \"%\";\n\tlet decimal = \",\";\n let v = value ? value.toFixed(precision) : 0.00;\n return (v+\"\").replace('.', decimal)+symbol;\n}\n\nexport function human(value: number) {\n\tif (value >= 1000000) {\n\t\treturn Math.round(value / 1000000) + 'M';\n }\n else if (value >= 1000) {\n\t\treturn Math.round(value / 1000) + 'k';\n }\n else {\n\t\treturn value;\n\t}\n}\n\nexport function isoDate(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"YYYY-MM-DD\");\n}\n\nexport function localizedDate(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"L\");\n}\n\nexport function localizedExtendedDate(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"LL\");\n}\n\nexport function localizedFullDate(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"dddd LL\");\n}\n\nexport function year(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"YYYY\");\n}\n\nexport function month(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"MM\");\n}\n\nexport function monthNameShort(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"MMM\");\n}\n\nexport function monthNameFull(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"MMMM\");\n}\n\nexport function day(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"DD\");\n}\n\nexport function dayNameShort(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"ddd\");\n}\n\nexport function dayNameFull(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"dddd\");\n}\n\nexport function timeShort(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"hh:mm\");\n}\n\nexport function timeFull(dt: moment.Moment | string | null, nullValue = ''): string {\n\tif (!dt) { return nullValue }\n\n\tif (!moment.isMoment(dt)) {\n\t\tdt = moment(dt);\n\t}\n\treturn dt.format(\"hh:mm:ss\");\n}\n\nexport function ifEmpty(value: any, emptyResult: string): string {\n\treturn isNullOrWhitespace(value) && emptyResult || value;\n}\n\nexport function pnr(handle: string, partLen = 4) {\n\thandle = handle.toUpperCase();\n return handle.substr(0, partLen) + '-' + handle.substr(4, partLen);\n}\n\nexport function isNullOrWhitespace(text: any): boolean {\n\tif (text) {\n\t\treturn text.toString().trim() == '';\n\t}\n\treturn true;\n}\n\nexport function isNullOrTodo(text: any): boolean {\n if (text) {\n const s = text.toString().trim();\n\t\treturn s == '' || s.startsWith('TODO');\n\t}\n\treturn true;\n}\n\n\n\nexport const filters = {\n currency,\n localizedDate,\n extendedDate,\n day,\n\tdayName,\n\tdayNameShort,\n monthName,\n\teuroAmount,\n\tdollarsAmount,\n\tpercent,\n\thuman,\n\tisoDate,\n\tlocalizedExtendedDate,\n\tlocalizedFullDate,\n\tyear,\n\tmonth,\n\tmonthNameShort,\n\tmonthNameFull,\n\tdayNameFull,\n\ttimeShort,\n\ttimeFull,\n\tifEmpty,\n\tpnr,\n\n\t// Utilities\n\tisNullOrWhitespace\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, computed } from '@vue/composition-api';\nimport { usePageBase, useComponentBase } from '../../base';\nimport { Utils } from '../../helpers/utils';\nimport { isNullOrTodo } from '../../helpers/filters';\nimport { getStore } from '../../store';\nimport { useRouter } from '../../router';\n\nconst componentName = 'AppVersionsList';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n const pageBase = usePageBase();\n const componentBase = useComponentBase();\n\n const state = reactive({\n loaded: false,\n appVersions: null\n });\n\n const onCreated = () => {\n componentBase.setLoading(true);\n\n state.appVersions = store.state.appVersions;\n pageBase.setNavigation((nav) => {\n nav.push({ title: 'Apps', routerTo: { name: 'apps' } });\n nav.push({ title: appNameForPagePath.value });\n });\n state.loaded = true;\n componentBase.setLoading(false);\n }\n\n const appId = computed(() => route.value.params.appId);\n\n const appNameForPagePath = computed(() => {\n if (!state.appVersions || !Array.isArray(state.appVersions) || state.appVersions.length == 0) {\n return '';\n }\n return `${state.appVersions[0].name} ${state.appVersions[0].platform}`;\n }\n );\n\n const appName = computed(() => {\n if (!state.appVersions || !Array.isArray(state.appVersions) || state.appVersions.length == 0) {\n return '';\n }\n return state.appVersions[0].name;\n }\n );\n\n const appShortName = computed(() => {\n if (!state.appVersions || !Array.isArray(state.appVersions) || state.appVersions.length == 0) {\n return '';\n }\n return state.appVersions[0].shortName;\n }\n );\n\n const appPlatform = computed(() => {\n if (!state.appVersions || !Array.isArray(state.appVersions) || state.appVersions.length == 0) {\n return '';\n }\n return state.appVersions[0].platform;\n }\n );\n\n const appVersionsForList = computed(() => {\n var listElement = []\n\n if (state.appVersions == null) {\n return;\n }\n\n state.appVersions.forEach(v => {\n\n var langElements = [];\n\n v.languages.forEach(l => {\n langElements.push({\n code: l,\n name : Utils.getLanguageName(l),\n done : (v.keys == null) ? 0 : v.keys.filter(k => !isNullOrTodo(k.texts[l])).length\n })\n });\n\n listElement.push(\n { id: v.id,\n version: v.version,\n build: v.build,\n keysNumber: (v.keys == null) ? 0 : v.keys.length,\n languages : langElements\n })\n });\n\n return listElement;\n });\n\n const percentage = (done: number, total: number) => {\n return (total == 0) ? 0 : Math.floor(((done / total) * 100));\n }\n\n const totalPercentageCompletion = (version : any) => {\n var totalDone = 0;\n version.languages.forEach(l => {\n totalDone = totalDone + l.done\n });\n\n var res = (totalDone / (version.keysNumber * version.languages.length)) * 100;\n\n return res ? Math.floor(res) : 0;\n }\n\n const completionColor = (perc: number) => {\n return Utils.getCompletionColor(perc);\n }\n\n const platformIconClass = (platform: string) => {\n return Utils.iconPlatformClass('icon', platform);\n }\n\n const filterLanguages = (languages: { code: string }[]) => {\n return languages.filter(x => pageBase.hasTranslatorLanguage(x.code));\n }\n\n onCreated();\n\n return {\n state,\n appNameForPagePath,\n appName,\n appShortName,\n appPlatform,\n appVersionsForList,\n percentage,\n totalPercentageCompletion,\n completionColor,\n platformIconClass,\n filterLanguages,\n isUserAdmin: pageBase.isUserAdmin,\n appId\n }\n }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-versions-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-versions-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./app-versions-list.vue?vue&type=template&id=5657c17a&\"\nimport script from \"./app-versions-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./app-versions-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.loaded)?_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"app-overview-header\"},[_c('div',{staticClass:\"app-icon-wrapper\"},[_c('img',{staticClass:\"app-icon\",attrs:{\"src\":(\"/images/icons/\" + (_vm.state.appVersionData.shortName) + \".svg\")}})]),_c('h1',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.state.appVersionData.name))]),_c('h2',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.subtitle))]),_c('h3',{staticClass:\"platform\"},[_c('i',{class:_vm.platformIconClass(_vm.state.appVersionData.platform)}),_vm._v(\" \"+_vm._s(_vm.state.appVersionData.platform)+\" \")]),_c('div',{staticClass:\"dashboard\"})]),_c('div',{staticClass:\"app-items-wrapper\"},[_c('div',{staticClass:\"app-items-content\"},_vm._l((_vm.sections),function(s,i){return _c('div',{key:(\"ai\" + i),staticClass:\"app-item app-item--col\"},[_c('router-link',{staticClass:\"app-item-content\",attrs:{\"tag\":\"div\",\"to\":{ name: 'app-texts', params: { lang: _vm.lang, sectionId: s.id }}}},[_c('div',{staticClass:\"app-item-progress-bar-wrapper\"},[_c('div',{class:['app-item-progress-bar', _vm.completionColor(_vm.percentage(s.doneCount, s.keysCount))],style:((\"width: \" + (_vm.percentage(s.doneCount, s.keysCount)) + \"%;\"))})]),_c('div',{staticClass:\"app-item-title-container\"},[_c('h4',{staticClass:\"app-item-title\"},[_vm._v(\" \"+_vm._s(s.name)+\" \")]),_c('div',{staticClass:\"app-item-translation-numbers\"},[_vm._v(_vm._s(s.doneCount)+\" / \"+_vm._s(s.keysCount))]),_c('div',{class:['app-item-translation-percentage', _vm.completionColor(_vm.percentage(s.doneCount, s.keysCount))]},[_vm._v(_vm._s(_vm.percentage(s.doneCount, s.keysCount))+\"%\")]),_c('i',{staticClass:\"icon icon-chevron-right-12\"})])])],1)}),0)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, onMounted, computed } from '@vue/composition-api';\nimport { usePageBase, useComponentBase } from '../../base';\nimport { Utils } from '../../helpers/utils';\nimport { isNullOrTodo } from '../../helpers/filters';\nimport { getStore } from '../../store';\nimport { useRouter } from '../../router';\n\nconst componentName = 'AppVersionSummary';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n const pageBase = usePageBase();\n const componentBase = useComponentBase();\n\n const state = reactive({\n loaded: false,\n appVersionData: null\n });\n\n let langAtLoad: string = '';\n\n const onCreated = () => {\n componentBase.setLoading(true);\n\n\n state.appVersionData = store.state.appVersionSummary;\n pageBase.setNavigation((nav) => {\n nav.push({ title: 'Apps', routerTo: { name: 'apps' }});\n nav.push({ title: `${state.appVersionData.name} ${state.appVersionData.platform}`, routerTo: { name: 'app-versions' }});\n nav.push({ title: `Version ${state.appVersionData.version} (Build ${state.appVersionData.build}) - ${lang.value}`});\n });\n\n state.loaded = true;\n\n componentBase.setLoading(false);\n\n langAtLoad = lang.value;\n }\n\n const lang = computed(() => route.value.params.lang);\n\n const languageName = computed(() => Utils.getLanguageName(lang.value));\n\n const subtitle = computed(() => `Version ${state.appVersionData.version} (Build ${state.appVersionData.build}) – ${languageName.value}`)\n\n const sections = computed(() => {\n var sections = [];\n\n // If exists at least one key without a section, create a dummy section.\n if (state.appVersionData.keys && state.appVersionData.keys.some(k => k.sectionId == null)) {\n sections.push({\n id: 0,\n name: 'No section',\n shortName: 'no-section',\n keys: state.appVersionData.keys && state.appVersionData.keys.filter(k => k.sectionId == null),\n doneCount: state.appVersionData.keys.filter(k =>\n (k.sectionId == null) && (!isNullOrTodo(k.texts[lang.value || langAtLoad]))).length,\n keysCount : state.appVersionData.keys.filter(k => k.sectionId == null).length\n })\n }\n\n if (state.appVersionData.sections) {\n for (let s of state.appVersionData.sections) {\n sections.push({\n id: s.id,\n name: s.name,\n shortName: s.shortName,\n keys: state.appVersionData.keys && state.appVersionData.keys.filter(k => k.sectionId == s.id),\n doneCount: state.appVersionData.keys && state.appVersionData.keys.filter(k =>\n (k.sectionId == s.id) && (!isNullOrTodo(k.texts[lang.value || langAtLoad]))).length,\n keysCount : state.appVersionData.keys && state.appVersionData.keys.filter(k => k.sectionId == s.id).length\n });\n }\n }\n\n return sections;\n });\n\n const percentage = (done: number, total: number) => (total == 0) ? 100 : Math.floor(((done / total) * 100));\n\n const completionColor = (percentage: number) => Utils.getCompletionColor(percentage);\n\n const platformIconClass = (platform: string) => Utils.iconPlatformClass('icon', platform);\n\n onCreated();\n\n return {\n state,\n languageName,\n sections,\n percentage,\n completionColor,\n platformIconClass,\n lang,\n subtitle\n }\n }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-version-summary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-version-summary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./app-version-summary.vue?vue&type=template&id=fdc6c17a&\"\nimport script from \"./app-version-summary.vue?vue&type=script&lang=ts&\"\nexport * from \"./app-version-summary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.loaded)?_c('div',{staticClass:\"section-container\"},[_c('div',{staticClass:\"top-summary-container\"},[_c('div',{staticClass:\"top-summary\"},[_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"summary-app-info\"},[_c('div',{staticClass:\"app-icon-wrapper\"},[_c('img',{staticClass:\"app-icon\",attrs:{\"src\":(\"/images/icons/\" + (_vm.state.appVersionData.shortName) + \".svg\")}})]),_c('div',{staticClass:\"summary-app-title-container\"},[_c('h2',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.state.appVersionData.name)+\" \"+_vm._s(_vm.state.appVersionData.platform))]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Version \"+_vm._s(_vm.state.appVersionData.version)+\" (Build \"+_vm._s(_vm.state.appVersionData.build)+\")\")])])]),_c('div',{staticClass:\"summary-status-container\"},[_c('div',{staticClass:\"language-wrapper\"},[_c('h4',{staticClass:\"language\"},[_vm._v(_vm._s(_vm.languageName))]),_c('div',{staticClass:\"translation-numbers\"},[_vm._v(_vm._s(_vm.state.UISection.doneCount)+\" / \"+_vm._s(_vm.state.UISection.keysCount))])]),_c('div',{class:['translation-percentage', _vm.completionColor(_vm.percentage(_vm.state.UISection.doneCount, _vm.state.UISection.keysCount))]},[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.state.UISection.doneCount, _vm.state.UISection.keysCount))+\"% \")])]),_c('div',{staticClass:\"summary-actions\"},[_c('label',{staticClass:\"switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.state.todoOnlySwitch),expression:\"state.todoOnlySwitch\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.state.todoOnlySwitch)?_vm._i(_vm.state.todoOnlySwitch,null)>-1:(_vm.state.todoOnlySwitch)},on:{\"change\":function($event){var $$a=_vm.state.todoOnlySwitch,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.state, \"todoOnlySwitch\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.state, \"todoOnlySwitch\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.state, \"todoOnlySwitch\", $$c)}}}}),_c('div',{staticClass:\"slider\"}),_c('div',{staticClass:\"text\"},[_vm._v(\"To-do only\")])]),_c('wok-button',{attrs:{\"kind\":\"secondary\",\"to\":{ name: 'app-version-summary' }}},[_vm._v(\" Back \")]),_c('wok-button',{attrs:{\"disabled\":_vm.state.saveProgress,\"isLoading\":_vm.state.saveProgress},on:{\"click\":_vm.onSave}},[_vm._v(\" Save \")])],1)])])]),_c('div',{staticClass:\"main-wrapper\"},[_c('h1',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.state.UISection.name))]),_c('wok-form',{staticClass:\"lang-selection-form\"},[_c('wok-radio-group',{attrs:{\"layout\":\"horizontal\",\"legend\":\"Translate from:\"}},[_c('template',{slot:\"content\"},_vm._l((_vm.languages),function(lang,langId){return _c('wok-input-radio',{key:(\"lang_\" + langId),attrs:{\"name\":\"mainLanguage\",\"value\":lang,\"label\":lang},model:{value:(_vm.state.selectedLang),callback:function ($$v) {_vm.$set(_vm.state, \"selectedLang\", $$v)},expression:\"state.selectedLang\"}})}),1)],2)],1),(_vm.state.UISection.keys.length > 0)?_c('div',[(_vm.nonScreenshotKeys(_vm.state.todoOnlySwitch).length != 0)?_c('div',{staticClass:\"section-screen\"},[_c('wok-form',{staticClass:\"translation-form\"},[(_vm.nonScreenshotKeys(_vm.state.todoOnlySwitch).length != 0)?_vm._l((_vm.nonScreenshotKeys(_vm.state.todoOnlySwitch)),function(k,i){return _c('wok-form-row',{key:(\"nssk\" + i),model:{value:(_vm.state.todoOnlySwitch),callback:function ($$v) {_vm.$set(_vm.state, \"todoOnlySwitch\", $$v)},expression:\"state.todoOnlySwitch\"}},[(!k.format || k.format == 'STRING')?[_c('wok-input-text-dir',{key:(\"nssk_main_entry\" + (k.id)),attrs:{\"name\":(\"nssk_main_entry\" + (k.id)),\"label\":k.name,\"readonly\":true,\"dir\":_vm.selectedLangDirection},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.state.selectedLang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.state.selectedLang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[state.selectedLang]\"}}),_c('wok-input-text-dir',{key:(\"ssk_entry\" + (k.id)),attrs:{\"name\":(\"ssk_entry\" + (k.id)),\"label\":k.name,\"dir\":_vm.langDirection},on:{\"input\":function($event){return _vm.computeUISection(k)}},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.lang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.lang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[lang]\"}})]:_vm._e(),(k.format == 'TEXT' || k.format == 'MARKDOWN')?[_c('wok-input-text-area-dir',{key:(\"nssk_main_entry\" + (k.id)),attrs:{\"name\":(\"nssk_main_entry\" + (k.id)),\"label\":k.name,\"readonly\":true,\"dir\":_vm.selectedLangDirection},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.state.selectedLang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.state.selectedLang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[state.selectedLang]\"}}),_c('wok-input-text-area-dir',{key:(\"ssk_entry\" + (k.id)),attrs:{\"name\":(\"ssk_entry\" + (k.id)),\"label\":k.name,\"dir\":_vm.langDirection},on:{\"input\":function($event){return _vm.computeUISection(k)}},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.lang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.lang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[lang]\"}})]:_vm._e()],2)}):_vm._e()],2)],1):_vm._e(),_vm._l((_vm.state.UISection.screens),function(s,i){return _c('div',{key:(\"ss\" + i),class:['section-screen', { 'empty': _vm.screenshotKeys(s.id, _vm.state.todoOnlySwitch).length == 0 }]},[(_vm.screenshotKeys(s.id, _vm.state.todoOnlySwitch).length != 0)?[(s.id)?_c('div',{staticClass:\"screenshot-container\"},[_c('div',{staticClass:\"screenshot-container-image-wrapper\"},[(s.imageId)?_c('img',{staticClass:\"screenshot\",attrs:{\"src\":_vm.getImagePath(s.imageId)}}):_vm._e()])]):_vm._e(),_c('wok-form',{staticClass:\"translation-form\"},_vm._l((_vm.screenshotKeys(s.id, _vm.state.todoOnlySwitch)),function(k,i){return _c('wok-form-row',{key:(\"ssk\" + i),model:{value:(_vm.state.todoOnlySwitch),callback:function ($$v) {_vm.$set(_vm.state, \"todoOnlySwitch\", $$v)},expression:\"state.todoOnlySwitch\"}},[(!k.format || k.format == 'STRING')?[_c('wok-input-text-dir',{key:(\"ssk_main_entry\" + (k.id)),attrs:{\"name\":(\"ssk_main_entry\" + (k.id)),\"label\":k.name,\"readonly\":true,\"dir\":_vm.selectedLangDirection},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.state.selectedLang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.state.selectedLang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[state.selectedLang]\"}}),_c('wok-input-text-dir',{key:(\"ssk_entry\" + (k.id)),attrs:{\"name\":(\"ssk_entry\" + (k.id)),\"label\":k.name,\"dir\":_vm.langDirection},on:{\"input\":function($event){return _vm.computeUISection(k)}},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.lang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.lang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[lang]\"}})]:_vm._e(),(k.format == 'TEXT' || k.format == 'MARKDOWN')?[_c('wok-input-text-area-dir',{key:(\"nssk_main_entry\" + (k.id)),attrs:{\"name\":(\"nssk_main_entry\" + (k.id)),\"label\":k.name,\"readonly\":true,\"dir\":_vm.selectedLangDirection},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.state.selectedLang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.state.selectedLang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[state.selectedLang]\"}}),_c('wok-input-text-area-dir',{key:(\"ssk_entry\" + (k.id)),attrs:{\"name\":(\"ssk_entry\" + (k.id)),\"label\":k.name,\"dir\":_vm.langDirection},on:{\"input\":function($event){return _vm.computeUISection(k)}},model:{value:(_vm.getReactiveKeyFromOriginal(k).texts[_vm.lang]),callback:function ($$v) {_vm.$set(_vm.getReactiveKeyFromOriginal(k).texts, _vm.lang, $$v)},expression:\"getReactiveKeyFromOriginal(k).texts[lang]\"}})]:_vm._e()],2)}),1)]:_vm._e()],2)})],2):_c('h1',[_vm._v(\"This section has no keys.\")])],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue, { FunctionalComponentOptions, CreateElement, RenderContext } from 'vue';\n\nexport const ButtonProgress = {\n functional: true,\n name: 'button-progress',\n props: {\n progress: {\n type: Boolean,\n default: false\n }\n },\n render(h, ctx) {\n return (\n h('button', { \n class: [ctx.data.staticClass, 'button-progress'], \n on: clickHandler(ctx),\n attrs: { disabled: ctx.data.attrs.disabled }\n }, buttonContent(h, ctx))\n )\n }\n}\n\nfunction clickHandler(ctx: RenderContext) {\n if (ctx.data.on && ctx.data.on.click) {\n return { click: ctx.data.on.click }\n }\n return null;\n}\n\nfunction buttonContent(h: CreateElement, ctx: RenderContext) {\n if (ctx.props.progress) {\n return [ h('div', { class: 'button-progress-spinner' }) ];\n }\n return ctx.slots().default;\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, computed } from '@vue/composition-api';\nimport { usePageBase, useComponentBase } from '../../base';\nimport { Utils } from '../../helpers/utils';\nimport { ButtonProgress } from '../../components/button-progress';\nimport { isNullOrTodo } from '../../helpers/filters';\nimport { getStore } from '../../store';\nimport { useRouter } from '../../router';\nimport { copy } from '../../helpers';\n\n\nconst componentName = 'TextsEdit';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n const pageBase = usePageBase();\n const componentBase = useComponentBase();\n\n const state = reactive({\n loaded: false,\n saveProgress: false,\n appVersionData: null,\n todoOnlySwitch: false,\n selectedLang: null,\n UISection: {\n id : null,\n name: null,\n doneCount: null,\n keysCount: null,\n keys: [],\n screens: []\n }\n });\n\n let UISectionOriginal: any = null;\n\n const onCreated = () => {\n componentBase.setLoading(true);\n\n state.appVersionData = store.state.appVersionSummary;\n state.selectedLang = \"en\";\n computeUISection(null);\n UISectionOriginal = copy(state.UISection);\n\n\n pageBase.setNavigation((nav) => {\n nav.push({ title: 'Apps', routerTo: { name: 'apps' }});\n nav.push({ title: `${state.appVersionData.name} ${state.appVersionData.platform}`, routerTo: { name: 'app-versions' }});\n nav.push({\n title: `Version ${state.appVersionData.version} (Build ${state.appVersionData.build}) - ${lang.value}`,\n routerTo: { name: 'app-version-summary' }\n });\n nav.push({ title: state.UISection.name });\n });\n\n state.loaded = true;\n\n componentBase.setLoading(false);\n }\n\n const lang = computed(() => route.value.params.lang);\n\n function getLangDirection(lang: string) {\n if (lang == 'ar') {\n return 'rtl';\n }\n \n return 'ltr';\n }\n\n const langDirection = computed(() => getLangDirection(lang.value));\n const selectedLangDirection = computed(() => getLangDirection(state.selectedLang));\n\n const onSave = async () => {\n state.saveProgress = true;\n\n let req = {\n versionId: state.appVersionData.versionId,\n keys: state.appVersionData.keys.filter(k => {\n let kOriginal = UISectionOriginal.keys && UISectionOriginal.keys.find(x => x.id == k.id);\n if (kOriginal && JSON.stringify(kOriginal.texts) != JSON.stringify(k.texts)) {\n return true;\n }\n return false;\n })\n };\n\n let res = await store.dispatch('updateKeys', {keys: req.keys });\n\n state.saveProgress = false;\n if (res) {\n store.commit('setUISnackbar', { type: 'success', message: 'Translations successfully saved.'});\n router.push({ name: 'app-version-summary' });\n }\n else {\n store.commit('setUISnackbar', { type: 'error', message: 'Error while saving data to the server. Try again.' });\n }\n }\n\n const computeUISection = (k: any) => {\n\n if (route.value.params.sectionId.toString() == '0') {\n state.UISection.id = 0;\n state.UISection.name = 'No section';\n state.UISection.doneCount = state.appVersionData.keys && state.appVersionData.keys.filter(k => (k.sectionId == null) && !isNullOrTodo(k.texts[lang.value])).length;\n state.UISection.keysCount = state.appVersionData.keys && state.appVersionData.keys.filter(k => k.sectionId == null).length;\n state.UISection.keys = state.appVersionData.keys && state.appVersionData.keys.filter(k => k.sectionId == null);\n state.UISection.screens = [ { id: null } ]\n }\n else {\n var s = state.appVersionData.sections && state.appVersionData.sections.find(x => x.id.toString() == route.value.params.sectionId);\n if (!s) {\n return;\n }\n\n state.UISection.id = s.id;\n state.UISection.name = s.name;\n state.UISection.doneCount = state.appVersionData.keys && state.appVersionData.keys.filter(k => (k.sectionId == s.id) && !isNullOrTodo(k.texts[lang.value])).length;\n state.UISection.keysCount = state.appVersionData.keys && state.appVersionData.keys.filter(k => k.sectionId == s.id).length;\n state.UISection.keys = state.appVersionData.keys && state.appVersionData.keys.filter(k => k.sectionId == s.id);\n state.UISection.screens = s.screens\n }\n }\n\n const percentage = (done: number, total: number) => (total == 0) ? 0 : Math.floor((done / total) * 100);\n\n const completionColor = (perc: number) => Utils.getCompletionColor(perc);\n\n const screenshotKeys = (screenId : number, todoOnly: boolean) => {\n if (todoOnly) {\n return UISectionOriginal.keys.filter(x => (x.screenId != null) && (x.screenId == screenId) && isNullOrTodo(x.texts[lang.value]));;\n }\n else {\n return UISectionOriginal.keys.filter(x => (x.screenId != null) && x.screenId == screenId);\n }\n }\n\n const nonScreenshotKeys = (todoOnly: boolean) => {\n if (todoOnly) {\n return UISectionOriginal.keys.filter(x => (x.screenId == null) && isNullOrTodo(x.texts[lang.value]));\n }\n else {\n return UISectionOriginal.keys.filter(x => x.screenId == null);\n }\n }\n\n const getReactiveKeyFromOriginal = (kOriginal: any) => {\n return state.UISection.keys.find(k => k.id == kOriginal.id);\n }\n\n const getImagePath = (imageId : number) => {\n if (imageId) {\n return `/images/${imageId}/origin`;\n }\n }\n\n const languageName = computed(() => Utils.getLanguageName(lang.value));\n\n const languages = computed(() => state.appVersionData.appLanguages);\n\n onCreated();\n\n return {\n state,\n onSave,\n computeUISection,\n percentage,\n completionColor,\n screenshotKeys,\n nonScreenshotKeys,\n getImagePath,\n languageName,\n languages,\n lang,\n langDirection,\n selectedLangDirection,\n getReactiveKeyFromOriginal\n }\n },\n\n components: { ButtonProgress }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./texts-edit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./texts-edit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./texts-edit.vue?vue&type=template&id=35a53b23&\"\nimport script from \"./texts-edit.vue?vue&type=script&lang=ts&\"\nexport * from \"./texts-edit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.loaded)?_c('div',{class:['section-container', { 'bottom-space': _vm.state.keysIdCheckboxArray > 0 }]},[_c('div',{staticClass:\"top-summary-container\"},[_c('div',{staticClass:\"top-summary\"},[_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"summary-app-info no-separator\"},[_c('div',{staticClass:\"app-icon-wrapper\"},[_c('img',{staticClass:\"app-icon\",attrs:{\"src\":(\"/images/icons/\" + (_vm.state.appVersionData.shortName) + \".svg\")}})]),_c('div',{staticClass:\"summary-app-title-container\"},[_c('h2',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.state.appVersionData.name)+\" \"+_vm._s(_vm.state.appVersionData.platform))]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Version \"+_vm._s(_vm.state.appVersionData.version)+\" (Build \"+_vm._s(_vm.state.appVersionData.build)+\")\")])]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.state.isArrangeMode)?_c('div',{staticClass:\"arrange-mode-label\"},[_vm._v(\"Arrange mode enabled\")]):_vm._e()])],1),_c('div',{staticClass:\"summary-actions\"},[(_vm.state.isArrangeMode)?[_c('wok-button',{attrs:{\"kind\":\"secondary\"},on:{\"click\":_vm.onArrangeBack}},[_vm._v(\" Back \")]),_c('wok-button',{on:{\"click\":_vm.onArrangeSave}},[_vm._v(\" Save \")])]:[_c('wok-button',{attrs:{\"kind\":\"tertiary\",\"disabled\":_vm.sectionSelectOptions.length == 0},on:{\"click\":_vm.onArrangeModeClick}},[_vm._v(\" Arrange sections \")]),_c('wok-button',{on:{\"click\":_vm.onNewSection}},[_vm._v(\" New section \")])]],2)])])]),_c('div',{staticClass:\"main-wrapper\"},[_c('h1',{staticClass:\"section-title\"},[_vm._v(\"Sections\")]),_vm._l((_vm.UISections),function(s){return _c('div',{key:(\"section_\" + (s.id) + \"_\" + (_vm.state.keyReset)),staticClass:\"section-item\"},[_c('h4',{staticClass:\"title\"},[_vm._v(_vm._s(s.name))]),(s.id)?[(!_vm.state.isArrangeMode)?_c('dropdown-menu',[_c('router-link',{attrs:{\"to\":_vm.editSectionLink(s.id)}},[_c('i',{staticClass:\"icon icon-edit-o-12\"}),_vm._v(\"Edit section\")]),_c('button',{on:{\"click\":function($event){return _vm.onAddScreen(s.id)}}},[_c('i',{staticClass:\"icon icon-add-o-12\"}),_vm._v(\"Add screen\")]),_c('button',{staticClass:\"warning\",on:{\"click\":function($event){return _vm.onSectionDelete(s.id)}}},[_c('i',{staticClass:\"icon icon-trash-o-12\"}),_vm._v(\"Delete section\")])],1):_c('div',{staticClass:\"arrange-arrows\"},[_c('button',{staticClass:\"arrange-arrow up\",attrs:{\"disabled\":s.isFirst},on:{\"click\":function($event){return _vm.onUpPressedSection(s.id)}}},[_c('i',{staticClass:\"icon icon-chevron-up-12\"}),_vm._v(\"Up \")]),_c('button',{staticClass:\"arrange-arrow down\",attrs:{\"disabled\":s.isLast},on:{\"click\":function($event){return _vm.onDownPressedSection(s.id)}}},[_c('i',{staticClass:\"icon icon-chevron-down-12\"}),_vm._v(\"Down \")])])]:_vm._e(),_vm._l((s.screenshots),function(sc,scIndex){return _c('div',{key:(\"section_\" + (s.id) + \"_screen_\" + (sc.id) + \"_v_\" + (_vm.state.keyReset)),staticClass:\"screen-item\"},[_c('div',{staticClass:\"screen-item-header\"},[_c('h5',{staticClass:\"screen-title\"},[_vm._v(_vm._s(sc.name))]),(sc.id)?[_c('div',{staticClass:\"action-container\"},[(sc.imageId)?_c('button',{staticClass:\"action action--screen-preview\",on:{\"mousedown\":function($event){return _vm.showScreenshotPreview($event, sc.imageId)}}},[_c('i',{staticClass:\"icon icon-preview-o-16\"})]):_vm._e()]),(!_vm.state.isArrangeMode)?_c('div',{staticClass:\"action-container right-pinned\"},[_c('button',{staticClass:\"action action--screen-delete\",on:{\"click\":function($event){return _vm.onDeleteScreen(sc.id)}}},[_c('i',{staticClass:\"icon icon-trash-o-16\"})])]):(_vm.state.isArrangeMode && _vm.screenHasKeys(sc))?_c('div',{staticClass:\"action-container right-pinned alt\"},[_c('button',{staticClass:\"arrange-arrow up\",attrs:{\"disabled\":scIndex == 1},on:{\"click\":function($event){return _vm.onUpPressedScreen(s.id, sc.id)}}},[_c('i',{staticClass:\"icon icon-chevron-up-12\"}),_vm._v(\"Up \")]),_c('button',{staticClass:\"arrange-arrow down\",attrs:{\"disabled\":scIndex == s.screenshots.length - 1},on:{\"click\":function($event){return _vm.onDownPressedScreen(s.id, sc.id)}}},[_c('i',{staticClass:\"icon icon-chevron-down-12\"}),_vm._v(\"Down \")])]):_vm._e()]:_vm._e()],2),_c('wok-form',{staticClass:\"screen-keys-container\"},[_c('wok-checkbox-group',{attrs:{\"layout\":\"vertical\",\"disabled\":!_vm.state.isArrangeMode}},[_c('template',{slot:\"content\"},_vm._l((sc.keys),function(k){return _c('wok-input-checkbox',{key:(\"key_\" + (k.id) + \"_\" + (_vm.state.keyReset)),attrs:{\"name\":(\"\" + (k.id)),\"label\":((k.name) + \" -- \" + (k.texts['en']))},model:{value:(_vm.state.keysIdCheckboxArray),callback:function ($$v) {_vm.$set(_vm.state, \"keysIdCheckboxArray\", $$v)},expression:\"state.keysIdCheckboxArray\"}})}),1)],2)],1)],1)})],2)})],2),_c('transition',{attrs:{\"name\":\"popup-slide\"}},[(_vm.state.isArrangeMode && _vm.state.keysIdCheckboxArray && _vm.state.keysIdCheckboxArray.length > 0)?_c('div',{staticClass:\"keys-arrange-popup\"},[_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"keys-arrange-popup-content\"},[_c('i',{staticClass:\"icon icon-move-24\"}),_c('div',{staticClass:\"text\"},[_vm._v(\"Move \"),_c('strong',[_vm._v(_vm._s(_vm.state.keysIdCheckboxArray.length))]),_vm._v(\" items to section\")]),_c('wok-form',[_c('wok-form-row',[_c('wok-select-native',{attrs:{\"name\":\"section\",\"placeholder\":\"Select a section\"},on:{\"input\":_vm.onSelectSectionChanged},model:{value:(_vm.state.selectedSectionId),callback:function ($$v) {_vm.$set(_vm.state, \"selectedSectionId\", $$v)},expression:\"state.selectedSectionId\"}},_vm._l((_vm.sectionSelectOptions),function(s){return _c('option',{key:s.id,domProps:{\"value\":s.id}},[_vm._v(\" \"+_vm._s(s.name)+\" \")])}),0),_c('wok-select-native',{attrs:{\"name\":\"screen\",\"placeholder\":\"Select a screen\"},model:{value:(_vm.state.selectedScreenId),callback:function ($$v) {_vm.$set(_vm.state, \"selectedScreenId\", $$v)},expression:\"state.selectedScreenId\"}},_vm._l((_vm.screenSelectOptions),function(sc,i){return _c('option',{key:(\"sc_\" + i + \"_\" + (sc.id)),domProps:{\"value\":sc.id}},[_vm._v(\" \"+_vm._s(sc.name || 'No screen')+\" \")])}),0)],1)],1),_c('wok-button',{attrs:{\"size\":\"field\"},on:{\"click\":_vm.onKeysMove}},[_vm._v(\"Move\")])],1)])]):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade-fast\"}},[(_vm.state.screenshotPreview.show)?_c('div',{staticClass:\"screen-preview-container\",style:(_vm.screenshotPreviewCssStyle)},[_c('img',{attrs:{\"src\":_vm.state.screenshotPreview.src}})]):_vm._e()]),(_vm.state.showNewSectionDialog)?_c('wok-dialog-input',{attrs:{\"isLoading\":_vm.state.newSectionSaveProgress,\"confirmDisabled\":_vm.isNullOrWhitespace(_vm.state.newSectionName)},on:{\"hide-dialog\":function($event){_vm.state.showNewSectionDialog = false},\"input\":_vm.onNewSectionSave},scopedSlots:_vm._u([{key:\"body\",fn:function(ref){\nvar focus = ref.focus;\nreturn _c('wok-input-text',{attrs:{\"name\":\"sectionName\",\"placeholder\":\"Section name\",\"focus\":focus},model:{value:(_vm.state.newSectionName),callback:function ($$v) {_vm.$set(_vm.state, \"newSectionName\", $$v)},expression:\"state.newSectionName\"}})}}],null,false,1817312379)},[_c('template',{slot:\"title\"},[_vm._v(\"New section\")]),_c('template',{slot:\"subtitle\"},[_vm._v(\"Give a name to the new section.\")])],2):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-menu-wrapper\"},[_c('button',{staticClass:\"dropdown-menu-activator\",class:{ 'active': _vm.state.showPopup },on:{\"click\":_vm.onClick}},[_c('i',{staticClass:\"icon icon-menu-dots-16\"})]),_c('transition',{attrs:{\"name\":\"dropdown-menu-fade\"}},[(_vm.state.showPopup)?_c('div',{staticClass:\"dropdown-menu-popup\"},[_vm._t(\"default\")],2):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function E(e: HTMLElement|Document) {\n return new EventTargetWrapper(e as EventTarget);\n}\n\nexport class EventTargetWrapper {\n constructor(private e: EventTarget) {}\n\n once(type: string, listener: ((evt:Event) => boolean)|((evt:Event) => undefined), isCapture?: boolean) {\n let e = this.e;\n let l = function(evt:Event) {\n let v = listener(evt);\n if (v !== false) {\n e.removeEventListener(type, l, isCapture);\n }\n }\n e.addEventListener(type, l, isCapture);\n }\n}\n\nexport function D(e: HTMLElement) {\n return new DomWrapper(e);\n}\n\nexport class DomWrapper {\n constructor(private e: HTMLElement) {}\n\n inside(container: HTMLElement): boolean {\n return inside(container, this.e);\n }\n\n contains(element: HTMLElement): boolean {\n return inside(this.e, element);\n }\n\n closest(selector: string): HTMLElement | null {\n let e: HTMLElement | null = this.e;\n while (e != null) {\n let msElement = e;\n if (msElement.msMatchesSelector ? msElement.msMatchesSelector(selector) : e.matches(selector)) {\n return e;\n }\n e = e.parentElement;\n }\n\n return e;\n }\n}\n\n// Helper functions\n\nfunction isEventListenerObject(arg: any): arg is EventListenerObject {\n return arg.handleEvent !== undefined;\n}\n\nfunction inside(container: HTMLElement, target: HTMLElement|null): boolean {\n if (target === null) {\n return false;\n }\n if (target === container) {\n return true;\n }\n return inside(container, target.parentElement);\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, computed, watch, ref, reactive } from \"@vue/composition-api\";\nimport { D, E } from '../../helpers/dom';\n\nconst componentName = 'dropdown-menu';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const state = reactive({\n showPopup: false\n });\n\n const onClick = () => {\n state.showPopup = !state.showPopup;\n E(document).once('click', (evt: Event) => {\n if (evt.target instanceof HTMLElement && !D(evt.target).inside(context.root.$el)) {\n state.showPopup = false;\n return true;\n }\n return false;\n });\n }\n\n return {\n state,\n onClick\n }\n }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-menu.vue?vue&type=template&id=67895a11&\"\nimport script from \"./dropdown-menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-menu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, computed, onBeforeUnmount, set } from '@vue/composition-api';\nimport { usePageBase, useComponentBase } from '../../base';\nimport { ButtonProgress } from '../../components/button-progress';\nimport { isNullOrWhitespace } from '../../helpers/filters';\nimport DropdownMenu from '../../components/dropdown-menu/dropdown-menu.vue';\nimport ModalPopup from '../../components/modal-popup.vue';\nimport { getStore } from '../../store';\nimport { useRouter } from '../../router';\nimport Vue from 'vue';\nimport { copy } from '../../helpers';\n\nconst componentName = 'Settings';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n const pageBase = usePageBase();\n const componentBase = useComponentBase();\n\n const state = reactive({\n loaded: false,\n saveProgress: false,\n appVersionData: null,\n keyReset: 1,\n\n newSectionName: null,\n showNewSectionDialog: false,\n newSectionSaveProgress: false,\n isArrangeMode: false,\n\n keysIdCheckboxArray: [] as any[] | null,\n selectedSectionId: null,\n selectedScreenId: null,\n\n screenshotPreview: {\n show: false,\n position: { top: null, bottom: null, left: null },\n src: ''\n }\n });\n\n let appVersionDataOriginal: any = null;\n\n const onCreated = () => {\n componentBase.setLoading(true);\n\n state.appVersionData = store.state.appVersionSummary;\n appVersionDataOriginal = copy(state.appVersionData);\n state.selectedSectionId = UISections.value[1] ? UISections.value[1].id : 0;\n\n sortSections();\n sortAllScreens();\n\n pageBase.setNavigation((nav) => {\n nav.push({ title: 'Apps', routerTo: { name: 'apps' }});\n nav.push({ title: `${state.appVersionData.name} ${state.appVersionData.platform}`, routerTo: { name: 'app-versions' }});\n nav.push({ title: `Version ${state.appVersionData.version} (Build ${state.appVersionData.build}) - Settings`, extended: true });\n });\n\n window.addEventListener('mouseup', hideScreenshotPreview);\n\n state.loaded = true;\n\n componentBase.setLoading(false);\n }\n\n const updateData = async () => {\n state.appVersionData = await store.dispatch(\n 'getAppVersionSummary',\n { versionId: route.value.params.versionId }\n );\n appVersionDataOriginal = copy(state.appVersionData);\n sortSections();\n sortAllScreens();\n }\n\n const sortSections = () => {\n state.appVersionData.sections.sort(function(a, b){return a.ordinal - b.ordinal});\n }\n\n const sortScreen = (section: any) => {\n if (!section.screens) {\n return;\n }\n section.screens.sort(function(a, b){return a.ordinal - b.ordinal});\n }\n\n const sortAllScreens = () => {\n if (!state.appVersionData.sections) {\n return;\n }\n state.appVersionData.sections.forEach(s => {\n sortScreen(s);\n });\n }\n\n onBeforeUnmount(() => window.removeEventListener('mouseup', hideScreenshotPreview));\n\n const UISections = computed(() => {\n let sections = []\n //if there is at least one key without section, generate the dummy section\n if (state.appVersionData && state.appVersionData.keys && state.appVersionData.keys.filter(x => x.sectionId == null).length > 0) {\n sections.push({ id: null, name: 'No section', screenshots : [{ id: null, name: getScreenshotName({id:null},0), keys: keys(null,null) }] });\n }\n\n if (state.appVersionData && state.appVersionData.sections) {\n state.appVersionData.sections.forEach((s,i) => {\n\n let UIScreenshots = [\n { id: null, imageId: null, name: getScreenshotName({id:null},0), ordinal: null, sectionId: s.id, keys: keys(s.id,null) }\n ];\n\n // generate screenshots for the view\n if (s.screens != null) {\n s.screens.forEach((screen, scIndex) => {\n UIScreenshots.push({\n id: screen.id,\n imageId: screen.imageId,\n name: getScreenshotName(screen, scIndex),\n ordinal: screen.ordinal,\n sectionId: s.id,\n keys: keys(s.id, screen.id)\n });\n });\n }\n\n sections.push(\n { id: s.id,\n name : s.name,\n screenshots : UIScreenshots,\n isFirst : i == 0,\n isLast : i == state.appVersionData.sections.length - 1\n }\n );\n });\n }\n return sections;\n });\n\n const sectionSelectOptions = computed(() => UISections.value.filter(x => x.id) ? UISections.value.filter(x => x.id) : []);\n\n const screenSelectOptions = computed(() => {\n var selectedSection = UISections.value.filter(x => x.id == state.selectedSectionId)[0];\n return selectedSection ? selectedSection.screenshots : [];\n });\n\n const screenshotPreviewCssStyle = computed(() => {\n let position = state.screenshotPreview.position;\n return `top: ${position.top || ''}px; bottom: ${position.bottom || ''}px; left: ${position.left || ''}px;`\n });\n\n const keys = (sectionId: number, screenId: number) => state.appVersionData.keys && state.appVersionData.keys.filter(x => (x.sectionId == sectionId) && (x.screenId == screenId));\n\n const getScreenshotName = (screen: any, index : number) => {\n if (screen.id == null) {\n return \"No screen\";\n }\n else {\n return screen.name;\n }\n }\n\n const showScreenshotPreview = (evt: MouseEvent, imageId: number) => {\n if (evt.target instanceof HTMLElement) {\n let rect = evt.target.getBoundingClientRect();\n let top = Math.max(rect.top - 232, 20);\n let bottom = top + 500;\n let left = rect.right + 8;\n\n if (bottom > window.innerHeight - 20) {\n top = null,\n bottom = 20;\n }\n\n state.screenshotPreview.position = {\n top: top,\n left: left,\n bottom: bottom\n }\n state.screenshotPreview.src = getImagePath(imageId);\n state.screenshotPreview.show = true;\n }\n }\n\n const hideScreenshotPreview = () => state.screenshotPreview.show = false;\n\n const onNewSection = () => {\n state.newSectionName = null;\n state.showNewSectionDialog = true;\n }\n\n const onNewSectionSave = async () => {\n let newSection = {\n id: null,\n versionId : route.value.params.versionId,\n name : state.newSectionName\n }\n\n state.newSectionSaveProgress = true;\n\n let res = await store.dispatch('updateAppSection', { section: newSection });\n if (res) {\n await updateData();\n store.commit('setUISnackbar', { type: 'success', message: `Added section: ${state.newSectionName}.` });\n }\n else {\n store.commit('setUISnackbar', { type: 'error', message: 'Error while saving data to the server. Try again.' });\n }\n\n state.newSectionSaveProgress = false;\n state.showNewSectionDialog = false;\n }\n\n const onAddScreen = async (sectionId: number) => {\n let res = await store.dispatch('addScreenInSection', { sectionId });\n if (res) {\n await updateData();\n store.commit('setUISnackbar', { type: 'success', message: `Added screen.` });\n }\n else {\n store.commit('setUISnackbar', { type: 'error', message: 'Error while saving data to the server. Try again.' });\n }\n }\n\n const onDeleteScreen = async (screenId : number) => {\n let res = await store.dispatch('deleteScreen', { screenId });\n\n if (res) {\n await updateData();\n }\n else {\n console.log(\"ERROR WHILE DELETING SCREEN\");\n }\n }\n\n const onSectionDelete = async (sectionId : number) => {\n let res = await store.dispatch('deleteSection', { sectionId });\n\n if (res) {\n await updateData();\n }\n else {\n console.log(\"ERROR WHILE DELETING SECTION\");\n }\n }\n\n const onKeysMove = async () => {\n state.keysIdCheckboxArray.forEach(id => {\n var index = state.appVersionData.keys.findIndex(x => x.id == id);\n var key = state.appVersionData.keys[index];\n set(key, 'sectionId', Number(state.selectedSectionId));\n set(key, 'screenId', Number(state.selectedScreenId) == 0 ? null : Number(state.selectedScreenId));\n });\n\n state.keysIdCheckboxArray = [];\n state.keyReset += 1;\n }\n\n const screenHasKeys = (screen: any) => state.appVersionData.keys && state.appVersionData.keys.filter(x => x.screenId == screen.id).length > 0;\n\n // Section arrangement\n\n const onUpPressedSection = (sectionId : number) => {\n let index = state.appVersionData.sections.findIndex(x => x.id == sectionId);\n\n let selectedSection = state.appVersionData.sections[index];\n selectedSection.ordinal--;\n\n let selectedPredecessor = state.appVersionData.sections[index-1]\n selectedPredecessor.ordinal++;\n\n sortSections();\n }\n\n const onDownPressedSection = (sectionId : number) => {\n let index = state.appVersionData.sections.findIndex(x => x.id == sectionId);\n\n let selectedSection = state.appVersionData.sections[index];\n selectedSection.ordinal++;\n\n let selectedSuccessor = state.appVersionData.sections[index+1]\n selectedSuccessor.ordinal--;\n\n sortSections();\n }\n\n // Screenshots arrangement\n\n const onUpPressedScreen = (sectionId: number, screenId : number) => {\n let section = state.appVersionData.sections.find(x => x.id == sectionId);\n\n let index = section.screens.findIndex(x => x.id == screenId);\n\n let selectedScreen = section.screens[index];\n selectedScreen.ordinal--;\n\n let selectedPredecessor = section.screens[index-1]\n selectedPredecessor.ordinal++;\n\n sortScreen(section);\n }\n\n const onDownPressedScreen = (sectionId: number, screenId : number) => {\n let section = state.appVersionData.sections.find(x => x.id == sectionId);\n\n let index = section.screens.findIndex(x => x.id == screenId);\n\n let selectedScreen = section.screens[index];\n selectedScreen.ordinal++;\n\n let selectedSuccessor = section.screens[index+1]\n selectedSuccessor.ordinal--;\n\n sortScreen(section);\n }\n\n const onArrangeModeClick = () => {\n document.body.classList.add('arrangement-mode');\n state.isArrangeMode = true;\n }\n\n const onSelectSectionChanged = () => state.selectedScreenId = null;\n\n const onArrangeBack = async () => {\n document.body.classList.remove('arrangement-mode');\n state.isArrangeMode = false;\n\n await updateData();\n //bring back data as they were from db\n state.keyReset += 1;\n state.keysIdCheckboxArray = [];\n state.selectedSectionId = UISections.value[1] ? UISections.value[1].id : null;\n state.selectedScreenId = null;\n }\n\n const onArrangeSave = async () => {\n let dataToUpdate = prepareDataForArrangeSave();\n let res = await store.dispatch('updateAppSectionsTranslations', { sectionsTranslations: dataToUpdate });\n\n if (res) {\n await updateData();\n document.body.classList.remove('arrangement-mode');\n state.isArrangeMode = false;\n }\n else {\n console.log(\"ERROR WHILE DELETING SECTION\");\n }\n }\n\n const prepareDataForArrangeSave = () => {\n let dataToUpdate = copy(state.appVersionData);\n\n dataToUpdate.keys = dataToUpdate.keys && dataToUpdate.keys.filter(k => {\n let kOriginal = appVersionDataOriginal.keys.find(x => x.id == k.id);\n if (kOriginal && (kOriginal.screenId != k.screenId || kOriginal.sectionId != k.sectionId)) {\n return true;\n }\n return false;\n }) || [];\n\n dataToUpdate.sections.forEach(s => {\n s.screens = s.screens && s.screens.filter(screen => {\n let sectionOriginal = appVersionDataOriginal.sections.find(x => x.id == s.id);\n let screenOriginal = sectionOriginal && sectionOriginal.screens.find(x => x.id == screen.id);\n if (screenOriginal && screenOriginal.ordinal != screen.ordinal) {\n return true;\n }\n return false;\n }) || [];\n });\n\n dataToUpdate.sections = dataToUpdate.sections && dataToUpdate.sections.filter(s => {\n let sectionOriginal = appVersionDataOriginal.sections.find(x => x.id == s.id);\n if (sectionOriginal && (sectionOriginal.ordinal != s.ordinal || s.screens.length > 0)) {\n return true;\n }\n return false;\n }) || [];\n \n return dataToUpdate;\n }\n\n const editSectionLink = (sectionId: number) => {\n return { name: 'app-section-edit', params: { sectionId: sectionId }};\n }\n\n const getImagePath = (imageId : number) => {\n if (imageId) {\n return `/images/${imageId}/origin`;\n }\n }\n\n onCreated();\n\n return {\n state,\n updateData,\n UISections,\n sectionSelectOptions,\n screenSelectOptions,\n screenshotPreviewCssStyle,\n keys,\n getScreenshotName,\n showScreenshotPreview,\n hideScreenshotPreview,\n onNewSection,\n onNewSectionSave,\n onAddScreen,\n onDeleteScreen,\n onSectionDelete,\n onKeysMove,\n screenHasKeys,\n onUpPressedSection,\n onDownPressedSection,\n onUpPressedScreen,\n onDownPressedScreen,\n onArrangeModeClick,\n onSelectSectionChanged,\n onArrangeBack,\n onArrangeSave,\n editSectionLink,\n getImagePath,\n isNullOrWhitespace\n }\n },\n\n components: { ButtonProgress, DropdownMenu, ModalPopup }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./settings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./settings.vue?vue&type=template&id=b207a7bc&\"\nimport script from \"./settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./settings.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.loaded)?_c('div',{staticClass:\"section-container\"},[_c('div',{staticClass:\"top-summary-container\"},[_c('div',{staticClass:\"top-summary\"},[_c('div',{staticClass:\"main-wrapper\"},[_c('div',{staticClass:\"summary-app-info no-separator\"},[_c('div',{staticClass:\"app-icon-wrapper\"},[_c('img',{staticClass:\"app-icon\",attrs:{\"src\":(\"/images/icons/\" + (_vm.state.appVersionData.shortName) + \".svg\")}})]),_c('div',{staticClass:\"summary-app-title-container\"},[_c('h2',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.state.appVersionData.name)+\" \"+_vm._s(_vm.state.appVersionData.platform))]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Version \"+_vm._s(_vm.state.appVersionData.version)+\" (Build \"+_vm._s(_vm.state.appVersionData.build)+\")\")])])]),_c('div',{staticClass:\"summary-actions\"},[_c('wok-button',{attrs:{\"kind\":\"secondary\",\"to\":{ name: 'app-settings' }}},[_vm._v(\"Back\")]),_c('wok-button',{attrs:{\"disabled\":_vm.state.saveProgress,\"isLoading\":_vm.state.saveProgress},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")])],1)])])]),_c('div',{staticClass:\"main-wrapper\"},[_c('h1',{staticClass:\"section-title\"},[_vm._v(\"Edit section\")]),_c('wok-form',[_c('wok-form-row',[_c('wok-input-text',{attrs:{\"span\":\"6\",\"label\":\"Section name\",\"placeholder\":\"Section name\"},model:{value:(_vm.state.section.name),callback:function ($$v) {_vm.$set(_vm.state.section, \"name\", $$v)},expression:\"state.section.name\"}})],1),_c('wok-form-row',{staticClass:\"row--screens-container\"},_vm._l((_vm.state.section.screens),function(sc){return _c('entry-image',{key:sc.id,attrs:{\"name\":\"image1\",\"label\":sc.name,\"format\":\"origin\",\"path\":_vm.makeGetImagePath(sc),\"buttonAddLabel\":\"Add screen\"},on:{\"remove\":function($event){return _vm.onImageRemove(sc)},\"upload\":function($event){\nvar i = arguments.length, argsArray = Array(i);\nwhile ( i-- ) argsArray[i] = arguments[i];\nreturn _vm.onImageUpload.apply(void 0, [ sc ].concat( argsArray ))}}})}),1)],1)],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, computed } from '@vue/composition-api';\nimport { usePageBase, useComponentBase } from '../../base';\nimport { ButtonProgress } from '../../components/button-progress';\nimport { getStore } from '../../store';\nimport { useRouter } from '../../router';\n\nconst componentName = 'SectionEdit';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n const pageBase = usePageBase();\n const componentBase = useComponentBase();\n\n const state = reactive({\n loaded: false,\n saveProgress: false,\n appVersionData: null,\n section: null\n });\n\n const onCreated = () => {\n\n componentBase.setLoading(true);\n\n state.appVersionData = store.state.appVersionSummary;\n state.section = state.appVersionData.sections && state.appVersionData.sections.find(x => x.id == route.value.params.sectionId)\n pageBase.setNavigation((nav) => {\n nav.push({ title: 'Apps', routerTo: { name: 'apps' }});\n nav.push({ title: `${state.appVersionData.name} ${state.appVersionData.platform}`, routerTo: { name: 'app-versions' }});\n nav.push(\n {\n title: `Version ${state.appVersionData.version} (Build ${state.appVersionData.build}) - Settings`,\n routerTo: { name: 'app-settings' },\n extended: true\n }\n );\n nav.push({ title: 'Section' });\n });\n\n state.loaded = true;\n\n componentBase.setLoading(false);\n }\n\n const updateData = async () => {\n state.appVersionData = await store.dispatch(\n 'getAppVersionSummary',\n { versionId: route.value.params.versionId }\n );\n state.section = state.appVersionData.sections && state.appVersionData.sections.find(x => x.id == route.value.params.sectionId)\n }\n\n const onImageUpload = async (screen : any, data: { file: File, userdata: any }) => {\n let res = await store.dispatch('media/uploadImage', data);\n if (res) {\n screen.imageId = res.image.id;\n }\n }\n\n const onImageRemove = (screen : any) => screen.imageId = null;\n\n const getImagePath = (imageId : number) => {\n if (imageId) {\n return `/images/${imageId}`;\n }\n }\n\n const makeGetImagePath = (sc: any) => {\n return () => { return getImagePath(sc.imageId);}\n }\n\n const onSave = async () => {\n state.saveProgress = true;\n\n let res = await store.dispatch('updateAppSection', { section: state.section });\n\n state.saveProgress = false;\n if (res) {\n store.commit('setUISnackbar', { type: 'success', message: 'Section successfully saved.' });\n router.push({ name: 'app-settings' });\n }\n else {\n store.commit('setUISnackbar', { type: 'error', message: 'Error while saving data to the server. Try again.' });\n }\n }\n\n onCreated();\n\n return {\n state,\n updateData,\n onImageUpload,\n onImageRemove,\n getImagePath,\n makeGetImagePath,\n onSave\n }\n },\n\n components: { ButtonProgress }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./section-edit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./section-edit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./section-edit.vue?vue&type=template&id=21c879f5&\"\nimport script from \"./section-edit.vue?vue&type=script&lang=ts&\"\nexport * from \"./section-edit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter, { Route } from 'vue-router';\nimport { ref, Ref } from '@vue/composition-api';\n\nVue.use(VueRouter)\n\nimport { authorize } from './router-utils';\nimport { getStore } from './store/index';\n\nimport OidcCallback from './pages/oidc/OidcCallback.vue';\nimport Access from './pages/access.vue';\nimport AppsList from './pages/apps/apps-list.vue';\nimport AppVersionsList from './pages/apps/app-versions-list.vue';\nimport AppVersionSummary from './pages/apps/app-version-summary.vue';\nimport TextsEdit from './pages/apps/texts-edit.vue';\nimport Settings from './pages/settings/settings.vue';\nimport SectionEdit from './pages/settings/section-edit.vue';\nimport { signin, signinSilent } from './oidc';\nimport { checkToken, checkUserInfo } from './helpers/api';\nimport { promiseTimeout } from './helpers/utils';\n\nconst basePath = '/babel/';\n\nconst routes = [\n {\n path: '/',\n name: 'home',\n redirect: basePath + 'apps'\n },\n {\n path: '/access/callback',\n name: 'oidc-callback',\n component: OidcCallback\n },\n {\n path: '/access/callback-silent',\n name: 'oidc-callback-silent',\n component: OidcCallback\n },\n {\n path: basePath + 'access',\n name: 'access',\n component: Access\n },\n {\n path: basePath + 'apps',\n meta: { authorize: true },\n name: 'apps',\n component: AppsList,\n beforeEnter: async (to: Route, from: Route, next: Function) => {\n const store = getStore();\n if (await store.dispatch('getApps')) {\n next();\n }\n }\n },\n {\n path: basePath + 'apps/:appId/versions',\n meta: { authorize: true },\n name: 'app-versions',\n component: AppVersionsList,\n beforeEnter: async (to: Route, from: Route, next: Function) => {\n const store = getStore();\n if (await store.dispatch('getAppVersions', { appId: to.params.appId})) {\n next();\n }\n }\n },\n {\n path: basePath + 'apps/:appId/versions/:versionId/:lang/summary',\n meta: { authorize: true },\n name: 'app-version-summary',\n component: AppVersionSummary,\n beforeEnter: async (to: Route, from: Route, next: Function) => {\n const store = getStore();\n if (await store.dispatch('getAppVersionSummary', { versionId: to.params.versionId })) {\n next();\n }\n }\n },\n {\n path: basePath + 'apps/:appId/versions/:versionId/:lang/sections/:sectionId/texts',\n meta: { authorize: true },\n name: 'app-texts',\n component: TextsEdit,\n beforeEnter: async (to: Route, from: Route, next: Function) => {\n const store = getStore();\n if (await store.dispatch('getAppVersionSummary', { versionId: to.params.versionId })) {\n next();\n }\n }\n },\n // Settings routes\n {\n path: basePath + 'apps/:appId/versions/:versionId/settings',\n meta: { authorize: true, adminOnly: true },\n name: 'app-settings',\n component: Settings,\n beforeEnter: async (to: Route, from: Route, next: Function) => {\n const store = getStore();\n if (await store.dispatch('getAppVersionSummary', { versionId: to.params.versionId })) {\n next();\n }\n }\n },\n {\n path: basePath + 'apps/:appId/versions/:versionId/settings/:sectionId/edit',\n meta: { authorize: true, adminOnly: true },\n name: 'app-section-edit',\n component: SectionEdit,\n beforeEnter: async (to: Route, from: Route, next: Function) => {\n const store = getStore();\n if (await store.dispatch('getAppVersionSummary', { versionId: to.params.versionId })) {\n next();\n }\n }\n }\n]\n\nlet router: VueRouter, route: Ref;\n\nexport function init() {\n let store = getStore();\n\n if (router == null) {\n router = new VueRouter({\n mode: 'history',\n routes,\n scrollBehavior: function(to, from, savedPosition) {\n const defaultScroll = { x: 0, y: 0 };\n if (to.path.includes('access/callback')) {\n return defaultScroll;\n }\n else if (to.hash) {\n return { selector: to.hash }\n }\n else if (savedPosition) {\n return savedPosition\n }\n else {\n return defaultScroll;\n }\n }\n });\n\n router.beforeEach(async (to: Route, from: Route, next: Function) => {\n route.value = to;\n\n async function check(args: any) {\n let token = await checkToken();\n\n if (token) {\n store.commit('updateAuthentication', { result: 'OK', user: await checkUserInfo() });\n return true;\n }\n }\n\n let authorize = to.matched.filter(x => !!x.meta.authorize).map(x => x.meta.authorize);\n\n if (authorize.length > 0) {\n let authorized = await check(authorize);\n if (!authorized) {\n next({ name: 'access' });\n return;\n }\n\n if (authorized && to.matched.filter(x => !!x.meta.access).length > 0) {\n next({ name: 'apps' });\n return;\n }\n\n if (authorized && to.matched.filter(x => !!x.meta.adminOnly).length > 0) {\n if (!store.getters.hasRole('ADMIN')) {\n next({ name: 'apps' });\n return;\n }\n }\n }\n\n if (to.name == 'access') {\n try {\n if (await checkUserInfo()) {\n next({ name: 'apps' });\n return;\n }\n }\n catch (err) {\n console.error(err);\n }\n }\n\n document.title = 'Finder Babel';\n\n next();\n });\n\n route = ref(null);\n }\n\n return router;\n}\n\nexport function useRouter() {\n return { router, route }\n}\n","import { computed } from '@vue/composition-api';\nimport { NavigationItem } from './components/navigation';\nimport { getStore } from './store';\nimport { useRouter } from './router';\n\nexport function useComponentBase() {\n const store = getStore(), { router, route } = useRouter();\n return {\n isMobile: computed(() => store.state.isMobile),\n isLoading: computed(() => store.state.isLoading > 0),\n isAuthenticated: computed(() => store.state.isAuthenticated),\n loggedUser: computed(() => store.state.loggedUser),\n setLoading: (isLoading: boolean) => {\n store.commit('setLoading', isLoading);\n }\n }\n}\n\nexport function usePageBase() {\n const store = getStore(), { router, route } = useRouter();\n const hasRole = (role: string) => store.getters.hasRole(role);\n return {\n hasRole: hasRole,\n hasTranslatorLanguage: (lang: string) => store.getters.hasTranslatorLanguage(lang),\n setNavigation: (callback: (items: NavigationItem[], menuItems: NavigationItem[]) => void) => {\n let navigation: NavigationItem[] = [];\n let menu: NavigationItem[] = [];\n callback(navigation, menu);\n if (navigation.length > 0 || menu.length > 0) {\n store.commit('setNavigation', { navigation, menu });\n }\n },\n imagePathFromId: (id: string | number) => store.getters['media/imagePathFromId'](id),\n imageIdFromPath: (path: string) => store.getters['media/imageIdFromPath'](path),\n isUserAdmin: computed(() => hasRole(\"ADMIN\"))\n }\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, computed } from '@vue/composition-api';\nimport { useComponentBase } from '../../base';\nimport { useRouter } from '../../router';\nimport { getStore } from '../../store';\nimport { signout } from '../../oidc';\n\nconst componentName = 'app-header';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n const componentBase = useComponentBase();\n\n const isAccess = computed(() => {\n return route.value.name == 'access';\n });\n\n const onLogout = async () => {\n signout();\n }\n\n return {\n isAccess,\n onLogout,\n isAuthenticated: componentBase.isAuthenticated,\n isMobile: componentBase.isMobile,\n loggedUser: componentBase.loggedUser\n }\n }\n})\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./header.vue?vue&type=template&id=3d295d30&\"\nimport script from \"./header.vue?vue&type=script&lang=ts&\"\nexport * from \"./header.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showNavigation)?_c('div',{staticClass:\"page-path-container\"},[_c('div',{staticClass:\"page-path\"},[_c('div',{staticClass:\"main-wrapper\"},[(_vm.showMenu)?_c('app-menu',{attrs:{\"items\":_vm.menu}}):_vm._e(),_c('div',{staticClass:\"route-elements-container\"},_vm._l((_vm.navigation),function(n,i){return _c('div',{key:(\"rel\" + i),class:['route-element', { 'extended': n.extended }]},[(n.routerTo)?_c('router-link',{attrs:{\"to\":n.routerTo}},[_vm._v(_vm._s(n.title))]):_c('span',[_vm._v(_vm._s(n.title))])],1)}),0)],1)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, computed } from '@vue/composition-api';\nimport { NavigationItem } from './navigation';\nimport { getStore } from '../store';\n\nconst componentName = 'page-path';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore();\n\n const showNavigation = computed(() => navigation.value && navigation.value.length > 0);\n\n const navigation = computed(() => store.state.navigation && store.state.navigation.navigation);\n\n const showMenu = computed(() => menu.value && menu.value.length > 0);\n\n const menu = computed(() => store.state.navigation && store.state.navigation.menu);\n\n return {\n showNavigation,\n navigation,\n showMenu,\n menu\n }\n\n }\n})\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page-path.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page-path.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./page-path.vue?vue&type=template&id=40e32023&\"\nimport script from \"./page-path.vue?vue&type=script&lang=ts&\"\nexport * from \"./page-path.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"menu\"},[_c('div',{staticClass:\"action\",on:{\"click\":_vm.onMenuClick}},[_c('div',{staticClass:\"hamburger-container\"},[_c('div',{class:['hamburger', { 'open': _vm.state.showMenuPopup }]})])]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.state.showMenuPopup)?_c('div',{staticClass:\"menu-popup\"},_vm._l((_vm.items),function(i,key){return _c('div',{key:(\"mi\" + key),staticClass:\"menu-item\",on:{\"click\":function($event){return _vm.onMenuItemClick()}}},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":i.routerTo}},[_vm._v(_vm._s(i.title))])],1)}),0):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, computed, reactive, ref } from '@vue/composition-api';\nimport { D, E } from '../helpers/dom';\n\nconst componentName = 'app-menu';\n\nexport default defineComponent({\n props: {items: {type: Array}},\n name: componentName,\n\n setup(props, context) {\n const state = reactive({\n showMenuPopup: false\n });\n\n const onMenuClick = () => {\n state.showMenuPopup = !state.showMenuPopup;\n E(document).once('click', (evt: Event) => {\n if (evt.target instanceof HTMLElement && !D(evt.target).inside(context.root.$el)) {\n state.showMenuPopup = false;\n return true;\n }\n return false;\n });\n }\n\n const onMenuItemClick = () => {\n state.showMenuPopup = false;\n }\n\n return {\n state,\n onMenuClick,\n onMenuItemClick\n }\n }\n})\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./menu.vue?vue&type=template&id=ebb5b24a&\"\nimport script from \"./menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./menu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"snackbar-popup-anim\"}},[(_vm.isActive)?_c('div',{class:_vm.snackbarClasses},[_c('div',{staticClass:\"snackbar-wrapper\"},[_c('div',{staticClass:\"snackbar-content\"},[_c('p',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.propsInternal.message))]),_c('button',{staticClass:\"action\",on:{\"click\":_vm.onClose}},[_vm._v(\"close\")])])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, onMounted, computed, watch } from '@vue/composition-api';\nimport { getStore } from '../store';\n\nconst componentName = 'snackbar-popup';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n const store = getStore();\n\n const state = reactive({\n activeTimeout: -1\n });\n\n onMounted(() => {\n setTimeout();\n });\n\n const isActive = computed(() => {\n return store.state.uiSnackbar;\n });\n\n const propsInternal = computed(() => {\n let s = store.state.uiSnackbar;\n return {\n type: s && s.type,\n message: s && s.message,\n timeout: s && s.timeout || 2000\n }\n });\n\n const snackbarClasses = computed(() => {\n return {\n 'snackbar': true,\n 'snackbar--success': propsInternal.value.type == 'success',\n 'snackbar--error': propsInternal.value.type == 'error'\n }\n });\n\n const onClose = () => {\n store.commit('clearUISnackbar');\n }\n\n const setTimeout = () => {\n window.clearTimeout(state.activeTimeout);\n\n if (isActive.value && propsInternal.value.timeout) {\n state.activeTimeout = window.setTimeout(() => {\n onClose();\n }, propsInternal.value.timeout)\n }\n }\n\n watch(isActive, (isActive, prevIsActive) => {\n setTimeout();\n });\n\n return {\n state,\n isActive,\n propsInternal,\n snackbarClasses,\n onClose,\n setTimeout\n }\n }\n})\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snackbar-popup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snackbar-popup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./snackbar-popup.vue?vue&type=template&id=57a797ce&\"\nimport script from \"./snackbar-popup.vue?vue&type=script&lang=ts&\"\nexport * from \"./snackbar-popup.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{staticClass:\"loading-wrapper\"},[_c('div',{staticClass:\"line\"}),_c('div',{staticClass:\"subline inc\"}),_c('div',{staticClass:\"subline dec\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from '@vue/composition-api';\n\nconst componentName = 'loading-spinner';\n\nexport default defineComponent({\n props: {},\n name: componentName,\n\n setup(props, context) {\n return {}\n }\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./spinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./spinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./spinner.vue?vue&type=template&id=2e1471df&\"\nimport script from \"./spinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./spinner.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue, { FunctionalComponentOptions, RenderContext } from 'vue'\n\nexport const TableHeader = {\n name: 'table-header',\n functional: true,\n\n render(h, ctx) {\n return (\n h('div', mergeClass(ctx, false, 'list-header-container'), [\n h('div', { class: 'list-header' }, [\n h('div', { class: 'main-wrapper' }, [\n h('div', { class: 'list-item' }, [ctx.slots()['default']])\n ])\n ])\n ])\n )\n }\n}\n\nexport const TableCell = {\n name: 'table-cell',\n functional: true,\n\n render(h, ctx) {\n return (\n h('div', mergeClass(ctx, ctx.data.attrs && ctx.data.attrs['stretch'] != null, 'list-cell'), [\n h('div', { class: 'content' }, ctx.slots()['default'])\n ])\n )\n }\n}\n\nexport const TableLabel = {\n name: 'table-label',\n functional: true,\n\n render(h, ctx) {\n return (\n h('div', mergeClass(ctx, ctx.data.attrs && ctx.data.attrs['stretch'] != null, 'list-cell'), [\n h('div', { class: 'content' }, [\n h('div', { class: 'label' }, ctx.slots()['default'])\n ])\n ])\n )\n }\n}\n\nfunction mergeClass(ctx: RenderContext>, isStretch: boolean, staticClass: string) {\n if (ctx.data.staticClass) {\n staticClass = ctx.data.staticClass + ' ' + staticClass;\n }\n if (isStretch) {\n staticClass += \" list-cell--stretch\";\n }\n return { staticClass: staticClass, class: ctx.data.class };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.cellClassName},[_c('div',{class:_vm.entryClassName},[_c('label',{staticClass:\"show\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{class:['image-container', { 'preview': !_vm.hasSrc }]},[_c('div',{staticClass:\"image-wrapper\"},[(!_vm.hasSrc)?_c('label',{staticClass:\"input-wrapper\"},[_c('span',{staticClass:\"input-label\"},[_vm._v(_vm._s(_vm.buttonAddLabel))]),_c('input',{attrs:{\"type\":\"file\",\"name\":_vm.name,\"id\":_vm.name},on:{\"change\":_vm.onImageChange}})]):_c('img',{attrs:{\"src\":_vm.srcPreview}})])]),_c('div',{staticClass:\"action-wrapper\"},[_c('wok-button',{staticClass:\"button-image button-image--remove\",attrs:{\"disabled\":!_vm.hasSrc},on:{\"click\":_vm.onRemoveClick}},[_vm._v(_vm._s(_vm.buttonRemoveLabel))]),_c('a',{staticClass:\"button-image button-image--download\",attrs:{\"href\":_vm.srcDownload,\"disabled\":!_vm.hasSrc}},[_vm._v(_vm._s(_vm.buttonDownloadLabel))])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\n\nVue.use(VueI18n);\n\n// EN\nimport enSection from '../i18n/en.json';\n// IT\nimport itSection from '../i18n/it.json';\n\n// Import moment l10n.\n\nimport moment from 'moment';\nimport 'moment/locale/it';\nimport 'moment/locale/de';\nimport 'moment/locale/fr';\nimport 'moment/locale/pt';\nimport 'moment/locale/es';\nimport 'moment/locale/ro';\n\n\nexport function loadTranslations() {\n let translations = {\n en: enSection, //{},\n it: itSection //{}\n };\n\n // loadTranslation(translations.en, enSection);\n\n // loadTranslation(translations.it, itSection);\n\n return translations;\n}\n\nfunction loadTranslation(storage: any, section: any) {\n let prefix = section.section;\n\n for (let screen of section.screens) {\n for (let key in screen.keys) {\n let name = `${prefix}${key[0].toLocaleUpperCase()}${key.substring(1)}`;\n storage[name] = screen.keys[key];\n }\n }\n}\n\nimport en_US from 'date-fns/locale/en-US';\nimport it from 'date-fns/locale/it';\nexport function getDateFnsLocale(locale: string, fallbackLocale: string) {\n function get(l: string) {\n switch (locale.substring(0, 2)) {\n case 'en':\n case 'en-US':\n return en_US;\n\n case 'it':\n return it;\n\n default:\n return null;\n }\n }\n\n return get(locale)\n || get(locale.substring(0, 2))\n || (fallbackLocale && get(fallbackLocale))\n || (fallbackLocale && get(fallbackLocale.substring(0, 2)));\n}\n\nlet i18n: VueI18n;\n\nexport function init() {\n if (i18n == null) {\n // Setup localization.\n let locale = window.location.pathname.split('/')[1];\n if (locale && locale.length === 2) {\n moment.locale(locale);\n }\n else {\n locale = 'en';\n moment.locale('en');\n }\n\n i18n = new VueI18n({\n locale: locale,\n fallbackLocale: 'en',\n messages: loadTranslations()\n });\n }\n\n return i18n;\n}\n\nexport function useI18n() {\n return i18n;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, reactive, computed } from '@vue/composition-api';\nimport { D, E } from '../../helpers/dom';\n\n\nconst componentName = 'entry-image';\n\nexport default defineComponent({\n props: {\n name: {type: String},\n path: {type: Function, default: (v) => v},\n size: {type: String},\n variant: {type: String},\n label: {type: String},\n userdata: {type: Object},\n format: {type: String, default: 'backoffice'},\n downloadFormat: {type: String, default: 'origin'},\n readonly: {type: Boolean, default: false},\n locked: {type: Boolean, default: false},\n mandatory: {type: Boolean, default: false},\n buttonAddLabel: {type: String, default: 'Add image'},\n buttonDownloadLabel: {type: String, default: 'Download'},\n buttonRemoveLabel: {type: String, default: 'Remove'},\n },\n name: componentName,\n\n setup(props, context) {\n\n const state = reactive({\n valid: false,\n showErrors: false\n });\n\n const getImagePath = (format?: string) => {\n let path = props.path(props.userdata);\n if (path && format) {\n return `${path}/${format}`;\n }\n return path;\n }\n\n // Generated properties\n\n const isReadonly = computed(() => {\n return props.readonly || props.locked /* || this.$form.readonly */;\n });\n\n const cellClassName = computed(() => {\n let c = \"c-entry-image\";\n if (props.size) {\n c += ` c-entry-image--${props.size}`;\n }\n return c;\n });\n\n const entryClassName = computed(() => {\n let d: any = {\n \"entry-image\": true,\n \"mandatory\": props.mandatory,\n \"readonly\": isReadonly.value,\n \"locked\": props.locked,\n \"error\": state.showErrors && !state.valid\n };\n if (props.variant) {\n d['entry-image--' + props.variant] = true;\n }\n return d;\n });\n\n const entryId = computed(() => {\n return props.name;\n });\n\n const hasSrc = computed(() => {\n return !!getImagePath();\n });\n\n const srcPreview = computed(() => {\n return getImagePath(props.format);\n });\n\n const srcDownload = computed(() => {\n return getImagePath(props.downloadFormat);\n });\n\n // Validation\n\n const validate = (forceEmit = false) => {\n let oldValid = state.valid;\n\n state.valid = !props.mandatory || hasSrc.value;\n\n if (!isReadonly.value && (forceEmit || oldValid !== state.valid)) {\n context.emit(\"valid-change\", { target: this, name: props.name, value: state.valid });\n }\n }\n\n const onImageChange = (evt: Event) => {\n if (evt.target instanceof HTMLInputElement) {\n let file = evt.target.files && evt.target.files[0];\n if (file) {\n context.emit('upload', { file, userdata: props.userdata });\n }\n }\n }\n\n const onRemoveClick = () => {\n if (props.path) {\n context.emit('remove', { path: getImagePath(), userdata: props.userdata });\n }\n }\n\n // on created:\n validate(true);\n\n return {\n state,\n getImagePath,\n isReadonly,\n cellClassName,\n entryClassName,\n entryId,\n hasSrc,\n srcPreview,\n srcDownload,\n validate,\n onImageChange,\n onRemoveClick\n }\n }\n})\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./entry-image.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./entry-image.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./entry-image.vue?vue&type=template&id=d47a78da&\"\nimport script from \"./entry-image.vue?vue&type=script&lang=ts&\"\nexport * from \"./entry-image.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"wok--dialog\",\"appear\":\"\"}},[_c('wok-dialog',{attrs:{\"isLoading\":_vm.isLoading},on:{\"hide-dialog\":_vm.onRequestHideDialog}},[_c('template',{slot:\"title\"},[_vm._t(\"title\")],2),_c('template',{slot:\"subtitle\"},[_vm._t(\"subtitle\")],2),_c('template',{slot:\"body\"},[_vm._t(\"body\",null,{\"onInput\":_vm.onInput,\"focus\":_vm.inputFocus})],2),_c('template',{slot:\"actions\"},[_c('wok-mobile-dialog-button',{attrs:{\"kind\":\"secondary\"},on:{\"click\":_vm.onRequestHideDialog}},[_vm._v(\" \"+_vm._s(_vm.cancelLabel || 'Cancel')+\" \")]),_c('wok-mobile-dialog-button',{attrs:{\"disabled\":_vm.confirmDisabled},on:{\"click\":_vm.onEmitInput}},[_vm._v(\" \"+_vm._s(_vm.confirmLabel || 'Save')+\" \")])],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { defineComponent, ref, computed, onMounted } from '@vue/composition-api';\n\nconst componentName = 'wok-dialog-input';\n\nexport default defineComponent({\n name: componentName,\n\n props: {\n show: { \n type: Boolean, \n default: false \n },\n cancelLabel: {\n type: String,\n default: undefined\n },\n confirmLabel: {\n type: String,\n default: undefined\n },\n value: {\n default: null\n },\n isLoading: {\n type: Boolean,\n default: false\n },\n confirmDisabled: {\n type: Boolean,\n default: false\n }\n },\n\n setup(props, context) {\n const currValue = ref(null);\n const inputFocus = ref(false);\n\n onMounted(() => {\n inputFocus.value = true;\n });\n\n const onInput = (evt) => {\n currValue.value = evt;\n }\n\n const onEmitInput = () => {\n context.emit('input', currValue.value);\n }\n\n const onRequestHideDialog = () => { \n context.emit('hide-dialog'); \n }\n\n return {\n onInput,\n onEmitInput,\n onRequestHideDialog,\n inputFocus\n }\n }\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WokDialogInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WokDialogInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WokDialogInput.vue?vue&type=template&id=6be8aa2c&\"\nimport script from \"./WokDialogInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./WokDialogInput.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.wrapperClasses.value},[_vm._t(\"replace-label\",[(_vm.label || _vm.$scopedSlots.label)?_c('label',{staticClass:\"wok--input__label wok--label-01\",attrs:{\"for\":_vm.id}},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.label))])],2):_vm._e()],{\"label\":_vm.label,\"id\":_vm.id}),_c('div',{staticClass:\"wok--input__field-wrapper\"},[_c('input',{ref:\"inputElement\",class:_vm.inputClasses,attrs:{\"id\":_vm.id,\"name\":_vm.id,\"placeholder\":_vm.placeholder,\"readonly\":_vm.isReadOnly,\"disabled\":_vm.isDisabled,\"data-test-input\":_vm.computedTestName,\"dir\":_vm.dir},domProps:{\"value\":_vm.formattedValue},on:{\"input\":_vm.onInput,\"focus\":_vm.onFocus,\"blur\":_vm.onBlur,\"keydown\":_vm.onKeyDown}}),(_vm.showReset && _vm.hasActions)?_c('div',{staticClass:\"wok--input__actions\"},[_c('wok-input-action',{attrs:{\"aria-label\":\"Reset field\",\"sequentialFocus\":_vm.actionSequentialFocus},on:{\"click\":_vm.onReset}},[_c('wok-icon-close-16')],1)],1):_vm._e(),(_vm.acEnabled)?_c('div',{ref:\"acElementsList\",staticClass:\"wok--picker-input__wrapper\",on:{\"click\":_vm.onAutoCompleteItemClick}},_vm._l((_vm.acValues),function(item,index){return _c('div',{key:index,class:{ 'wok--picker-input__option': true, selected: _vm.acIndex == index }},[_vm._t(\"autocomplete\",[_vm._v(\" \"+_vm._s(_vm.formatAutoCompleteItem(item))+\" \")],{\"item\":{ item: item }})],2)}),0):_vm._e()])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, ref, watch, computed, watchEffect, onMounted, Ref, nextTick } from '@vue/composition-api';\nimport { useWrapperClasses, useInputClasses, useDefaultInputFlags, useExposeFocus } from 'wok-components/src/input/abstractions';\nimport { generateRandomId } from 'wok-components/src/helpers';\n\nexport default defineComponent({\n name: \"WokInputTextDir\",\n\n props: {\n name: {\n type: String,\n default: ''\n },\n value: {\n type: String,\n default: ''\n },\n mandatory: {\n type: Boolean,\n default: false\n },\n autoComplete: {\n type: [Array, Function],\n default: undefined\n },\n autoCompleteFmt: {\n type: Function,\n default: undefined\n },\n label: {\n type: String,\n dafault: ''\n },\n error: {\n type: Object,\n default: null\n },\n placeholder: {\n type: String,\n default: ''\n },\n disabled: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: [Boolean, String],\n default: false\n },\n resetValue: {\n type: String,\n default: ''\n },\n showReset: {\n type: Boolean,\n default: false\n },\n actionSequentialFocus: {\n type: Boolean,\n default: false\n },\n focus: {\n type: Boolean,\n default: null\n },\n fmt: {\n type: Function,\n default: undefined\n },\n testName: {\n type: String,\n default: undefined\n },\n dir: {\n type: String,\n default: \"ltr\"\n }\n },\n\n model: { prop: 'value', event: 'update:value' },\n\n setup(props, context) {\n const inputElement = ref() as Ref;\n\n const id = generateRandomId(props.name);\n\n const { isReadOnly, isDisabled } = useDefaultInputFlags(props);\n\n const { focused, onFocus, onBlur } = useExposeFocus(inputElement, context.emit, props);\n\n const hasActions = computed(() => props.showReset && !isReadOnly.value && !isDisabled.value);\n\n const formattedValue = computed(() => props.value || '');\n\n const formatAutoCompleteItem = (item: any) => props.autoCompleteFmt ? (props.autoCompleteFmt)(item) : item;\n\n // Auto-complete can be done using an externat list or a function:\n // make sure to abstract over the two methods and cache the resulting\n // list of items.\n\n const acCached = props.autoComplete instanceof Function ? ref([]) : null;\n\n const acValues = computed(\n () => acCached != null ? acCached.value : (Array.isArray(props.autoComplete) ? props.autoComplete : null)\n )\n\n // Keep and index to the \"currently selected\" item, to enable keyboard navigation.\n\n const acElementsList = ref();\n\n const acIndex = ref(-1);\n\n const acIndexStep = (step: number) => {\n let v = acIndex.value + step;\n acIndex.value = (v + acValues.value!.length) % acValues.value!.length;\n }\n\n // Unfortunately we cannot just depend on the input being focused because a click\n // on the auto-complete list will blur it before anything else and the list\n // itself will go away and we will never receive that click. What we do instead\n // is to keep an extra variable and update it some time after receiving the blur\n // event.\n\n // Error should be shown only after the input field has been in focus at least once.\n const showError = ref(false);\n \n const acFocused = ref(false);\n\n const acOnFocus = () => {\n showError.value = false;\n acFocused.value = true;\n onFocus();\n }\n\n function isTrue(value: string | boolean | null | undefined) {\n return value === 'true' || value === true;\n }\n\n const acOnBlur = () => {\n showError.value = !isTrue(props.readonly);\n if (props.autoComplete != null) {\n setTimeout(() => acFocused.value = false, 200);\n }\n else {\n acFocused.value = false;\n }\n onBlur();\n }\n\n const acEnabled = computed(\n () => acValues.value != null && acValues.value.length > 0 && acFocused.value\n )\n\n const acAutoCompleteUpdate = (hint: string) => {\n // This function is used to update the auto-complete list cached values.\n if (props.autoComplete instanceof Function) {\n let promiseOrResult = props.autoComplete(hint);\n if (promiseOrResult.then) {\n promiseOrResult.then((x: any) => acCached!.value = x ?? []);\n }\n else {\n acCached!.value = promiseOrResult ?? [];\n }\n }\n else {\n context.emit('update:autoCompleteHint', hint);\n }\n }\n\n const acSelectItemByIndex = (index: number, element?: Element) => {\n element = element ?? acElementsList.value?.children[index];\n let item = acValues.value![index];\n if (item != null && element != null) {\n context.emit('update:value', props.fmt ? (props.fmt)(item) : (element).textContent?.trim() ?? '');\n context.emit('update:autoCompleteItem', item);\n // Make sure to reset the auto-complete list to a safe (empty) value.\n acAutoCompleteUpdate('');\n }\n }\n\n const onAutoCompleteItemClick = (evt: Event) => {\n // Find the index of the node in the DOM tree: we use it to recover the correct item.\n if (evt && evt.target instanceof Element) {\n let index = 0;\n let e: Element | null = evt.target;\n while ((e = e.previousElementSibling) != null) { index += 1 }\n if (index >= 0) {\n acSelectItemByIndex(index, evt.target);\n }\n }\n }\n\n const onInput = (evt: Event) => {\n if (evt.target instanceof HTMLInputElement) {\n let value = evt.target.value;\n // If the autocomplete is enabled send an update on every input but\n // also process it internally or emit an update:autoCompleteText event.\n if (props.autoComplete != null) {\n acAutoCompleteUpdate(value);\n }\n context.emit('update:value', props.fmt ? (props.fmt)(value) : value);\n }\n }\n\n const onKeyDown = (evt: Event) => {\n // If the autocomplete is enabled the keys up, down and return are used\n // to move around and select items in the auto-complete list.\n\t\t    if (evt instanceof KeyboardEvent) {\n switch (evt.key)\n {\n case 'ArrowDown':\n acIndexStep(+1);\n evt.preventDefault();\n break;\n case 'ArrowUp':\n acIndexStep(-1);\n evt.preventDefault();\n break;\n case 'Enter':\n acSelectItemByIndex(acIndex.value);\n evt.preventDefault();\n break;\n }\n\t\t    }\n }\n\n const onReset = () => {\n context.emit('update:value', props.resetValue);\n if (acCached != null) {\n acCached.value = [];\n }\n }\n\n return {\n inputElement,\n id,\n computedTestName: computed(() => props.testName ?? props.name),\n // wrapperClasses : computed(() => useWrapperClasses(props, context.attrs, showError.value)),\n wrapperClasses : computed(() => useWrapperClasses(props, context.attrs)),\n inputClasses : useInputClasses('text', hasActions),\n formattedValue,\n formatAutoCompleteItem,\n hasActions,\n isReadOnly,\n isDisabled,\n acIndex,\n acValues,\n acEnabled,\n acElementsList,\n onInput,\n onKeyDown,\n onReset,\n onFocus: acOnFocus,\n onBlur: acOnBlur,\n onAutoCompleteItemClick\n }\n }\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WokInputTextDir.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WokInputTextDir.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WokInputTextDir.vue?vue&type=template&id=58aad79f&\"\nimport script from \"./WokInputTextDir.vue?vue&type=script&lang=ts&\"\nexport * from \"./WokInputTextDir.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.wrapperClasses},[_vm._t(\"replace-label\",[(_vm.label || _vm.$scopedSlots.label)?_c('label',{staticClass:\"wok--input__label wok--label-01\",attrs:{\"for\":_vm.id}},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.label))])],2):_vm._e()],{\"label\":_vm.label,\"id\":_vm.id}),_c('div',{staticClass:\"wok--input__field-wrapper\"},[_c('textarea',{ref:\"textAreaElement\",class:_vm.inputClasses,attrs:{\"id\":_vm.id,\"name\":_vm.id,\"placeholder\":_vm.placeholder,\"readonly\":_vm.readonly,\"disabled\":_vm.disabled,\"data-test-input\":_vm.computedTestName,\"dir\":_vm.dir},domProps:{\"value\":_vm.formattedValue},on:{\"input\":_vm.onInput}})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { defineComponent, ref, Ref, computed, onMounted } from '@vue/composition-api';\nimport { generateRandomId } from 'wok-components/src/helpers';\nimport { useWrapperClasses, useInputClasses } from 'wok-components/src/input/abstractions';\n\nexport default defineComponent({\n name: \"WokInputTextAreaDir\",\n\n props: {\n name: {\n type: String,\n default: ''\n },\n value: {\n type: String,\n default: ''\n },\n label: {\n type: String,\n dafault: ''\n },\n error: {\n type: Object,\n default: null\n },\n placeholder: {\n type: String,\n default: ''\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n reset: {\n type: String,\n default: ''\n },\n showReset: {\n type: Boolean,\n default: false\n },\n actionSequentialFocus: {\n type: Boolean,\n default: false\n },\n testName: {\n type: String,\n default: undefined\n },\n dir: {\n type: String,\n default: \"ltr\"\n }\n },\n\n setup(props, context) {\n\n const id = generateRandomId(props.name);\n\n const textAreaElement = ref() as Ref;\n const formattedValue = computed(() => props.value || '');\n\n const onInput = (evt: Event) => {\n if (evt.target instanceof HTMLTextAreaElement) {\n autoExpand(textAreaElement.value);\n context.emit('input', evt.target.value);\n }\n }\n\n const autoExpand = (el: HTMLTextAreaElement) => {\n // Reset field height\n el.style.height = 'inherit';\n\n // Get the computed styles for the element\n let computed = window.getComputedStyle(el);\n\n // Calculate the height\n let height = el.scrollHeight + parseInt(computed.getPropertyValue('border-bottom-width'), 10);\n\n el.style.height = `${height}px`;\n }\n\n const onReset = () => context.emit('input', props.reset);\n\n onMounted(() => {\n if (textAreaElement.value) {\n autoExpand(textAreaElement.value);\n }\n });\n\n return {\n id,\n computedTestName: computed(() => props.testName ?? props.name),\n textAreaElement,\n wrapperClasses : useWrapperClasses(props, context.attrs),\n inputClasses : useInputClasses('textarea', computed(() => props.showReset)),\n formattedValue,\n onInput,\n onReset\n }\n }\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WokInputTextAreaDir.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WokInputTextAreaDir.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WokInputTextAreaDir.vue?vue&type=template&id=7173b60a&\"\nimport script from \"./WokInputTextAreaDir.vue?vue&type=script&lang=ts&\"\nexport * from \"./WokInputTextAreaDir.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { registerComponents } from './vue-utils';\nimport * as components from './components';\n\n// Export the components as a Vue plugin.\nexport default {\n install(Vue: any, options?: { components?: string[] }) {\n const includeComponents = options != null && Array.isArray(options.components) && options.components || undefined;\n registerComponents(Vue, components, includeComponents);\n }\n}\n","import moment from 'moment';\nimport { ActionContext, Module } from 'vuex';\nimport { ApiResult, get, post, del, checkResult } from './api';\n\nexport interface State {\n imagesBasePath: string;\n}\n\n// Mutations\n\nfunction setImagesBasePath(state: State, path: string) {\n state.imagesBasePath = path;\n}\n\n// Getters\n\nfunction imagePathFromId(state: State) {\n return (id: string | number) => `${state.imagesBasePath}/${id}`;\n}\n\nfunction imageIdFromPath(state: State) {\n return (path: string) => path.replace(state.imagesBasePath+'/', '');\n}\n\n// Actions\n\nasync function uploadImage(ctx: ActionContext, data: { file: File, id?: number }) {\n const endpoint = data.id ? `${ctx.state.imagesBasePath}/${data.id}` : ctx.state.imagesBasePath;\n\n type ResultType = ApiResult<{ image: { id: number }}>;\n\n let headers = {\n 'Content-Type': data.file.type,\n 'Content-Disposition': `attachment; filename=\"${data.file.name}\"`\n }\n let result = await post(endpoint, data.file, headers).then(res => res.data as ResultType);\n\n return result;\n //return checkResult(result, ctx);\n}\n\n\n// Initial state and store options\n\nexport function initMediaModule(state?: State) {\n state = state || {\n imagesBasePath: '/images'\n };\n\n return > {\n namespaced: true,\n state,\n actions: {\n uploadImage,\n },\n mutations: {\n setImagesBasePath\n },\n getters: {\n imagePathFromId,\n imageIdFromPath\n }\n };\n}\n\n","export function initDetector(callback: (level: number) => void) {\n const detector = document.createElement('div');\n detector.id = 'detector';\n\n document.body.appendChild(detector);\n\n let oldW = -1;\n\n function detect() {\n let w = detector.clientWidth;\n if (w != oldW) {\n oldW = w;\n callback(w);\n }\n }\n\n window.addEventListener('resize', detect);\n\n detect();\n}\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wok--theme-light\",attrs:{\"id\":\"app\"}},[_c('app-header'),_c('page-path'),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLoading),expression:\"!isLoading\"}],staticClass:\"main\"},[_c('router-view')],1),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('loading-spinner',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLoading),expression:\"isLoading\"}]})],1),_c('snackbar-popup')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent, computed, watch, ref } from \"@vue/composition-api\";\nimport { getStore } from \"./store\";\nimport { useRouter } from \"./router\";\nimport { init as initI18n } from './i18n';\n\nexport default defineComponent({\n props: {\n lang: {\n type: String\n },\n isdevelopment: {\n type: Boolean\n }\n },\n\n setup(props, context) {\n const store = getStore(), { router, route } = useRouter();\n let i18n = initI18n();\n\n var lang = route.value.params.lang || props.lang;\n if (lang) {\n store.commit('setLang', props.lang);\n i18n.locale = lang;\n }\n store.commit('setIsDevelopment', props.isdevelopment);\n\n const isLoading = computed(() => {\n return store.state.isLoading > 0;\n });\n\n return {\n isLoading\n };\n }\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=197b0121&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex';\nimport Components from './components';\nimport WokComponents from 'wok-components/src/index';\nimport WokForms from 'wok-forms';\nimport VueCompositionApi from \"@vue/composition-api\";\nimport appSettings from '../appsettings.json';\nimport { init as initOidc } from './oidc';\nimport { init as initApi } from './helpers/api';\nimport { filters } from './helpers/filters';\nimport { getStore } from './store';\nimport { init as initRouter } from './router';\nimport { init as initI18n } from './i18n';\nimport { initMediaModule } from './helpers/media';\nimport { initDetector } from './helpers/detector';\nimport App from './App.vue';\n\nconst settings = (appSettings)[window.location.hostname];\n\ninitOidc(options => {\n options.userManagerSettings = settings.oidc;\n})\n\nwindow.onload = async function () {\n initApi(options => {\n options.useOidc = true;\n })\n\n Vue.mixin({ filters });\n\n Vue.config.productionTip = false;\n Vue.use(VueCompositionApi);\n Vue.use(Vuex);\n Vue.use(Components);\n Vue.use(WokComponents);\n Vue.use(WokForms);\n\n let store = getStore();\n store.registerModule('media', initMediaModule());\n\n initDetector((level) => {\n store.commit('setMobile', level >= 1);\n });\n\n new Vue({\n store,\n router: initRouter(),\n i18n: initI18n(),\n render: h => h(App)\n }).$mount('#app')\n};\n\n// Generate CSS\nimport './styles/main.pcss';","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Apps\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"apps\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppFields\"},\"directives\":[]}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"App\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shortName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"platform\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"languages\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AppVersions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"versionId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isSummary\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appVersions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"versionId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"versionId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"isSummary\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isSummary\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppVersionFields\"},\"directives\":[]}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppVersionFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppVersion\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"languages\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shortName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"platform\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keys\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppKeyFields\"},\"directives\":[]}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppKeyFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppKey\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"screenId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"versionId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ordinal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"format\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"texts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"de\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"en\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"es\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fr\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hu\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"it\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ro\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ru\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sk\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ar\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sr\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AppVersionSummary\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"versionId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isSummary\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appVersions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"versionId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"versionId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"isSummary\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isSummary\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppVersionSummaryFields\"},\"directives\":[]}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppVersionSummaryFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppVersion\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appLanguages\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shortName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"platform\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keys\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"allAppKeyFields\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sections\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"allSectionFields\"},\"directives\":[]}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"allSectionFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppSection\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ordinal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shortName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"screens\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"allSectionScreenFields\"},\"directives\":[]}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"allSectionScreenFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppSectionScreen\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ordinal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sectionId\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateKeys\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keys\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"AppKeyInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"updateKeys\"},\"name\":{\"kind\":\"Name\",\"value\":\"updateKeys\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"keys\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keys\"}}}],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":1618}};\n doc.loc.source = {\"body\":\"query Apps {\\n apps {\\n ...allAppFields\\n }\\n}\\n\\nfragment allAppFields on App {\\n id\\n name\\n shortName\\n platform\\n languages\\n}\\n\\nquery AppVersions ($appId: Int, $versionId: Int, $isSummary: Boolean!) {\\n appVersions (appId: $appId, versionId: $versionId, isSummary: $isSummary) {\\n ...allAppVersionFields\\n }\\n}\\n\\nfragment allAppVersionFields on AppVersion {\\n id\\n appId\\n version\\n build\\n target\\n languages\\n name\\n shortName\\n platform\\n keys {\\n ...allAppKeyFields\\n }\\n}\\n\\nfragment allAppKeyFields on AppKey {\\n id\\n sectionId\\n screenId\\n name\\n versionId\\n ordinal\\n format\\n texts {\\n de\\n en\\n es\\n fr\\n hu\\n it\\n pl\\n pt\\n ro\\n nl\\n ru\\n cs\\n sl\\n sk\\n ar\\n sr\\n }\\n}\\n\\nquery AppVersionSummary ($appId: Int, $versionId: Int, $isSummary: Boolean!) {\\n appVersions (appId: $appId, versionId: $versionId, isSummary: $isSummary) {\\n ...allAppVersionSummaryFields\\n }\\n}\\n\\nfragment allAppVersionSummaryFields on AppVersion {\\n id\\n appId\\n version\\n build\\n target\\n appLanguages\\n name\\n shortName\\n platform\\n keys {\\n ...allAppKeyFields\\n }\\n sections {\\n ...allSectionFields\\n }\\n}\\n\\nfragment allSectionFields on AppSection {\\n id\\n name\\n ordinal\\n shortName\\n screens {\\n ...allSectionScreenFields\\n }\\n}\\n\\nfragment allSectionScreenFields on AppSectionScreen {\\n id\\n imageId\\n name\\n ordinal\\n sectionId\\n}\\n\\nmutation UpdateKeys($keys: [AppKeyInput]) {\\n updateKeys: updateKeys(keys: $keys) \\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"Apps\"] = oneQuery(doc, \"Apps\");\n \n module.exports[\"AppVersions\"] = oneQuery(doc, \"AppVersions\");\n \n module.exports[\"AppVersionSummary\"] = oneQuery(doc, \"AppVersionSummary\");\n \n module.exports[\"UpdateKeys\"] = oneQuery(doc, \"UpdateKeys\");\n \n"],"sourceRoot":""}