UNPKG

@voerkai18n/utils

Version:

utils for voerkai18n

1 lines 81 kB
{"version":3,"sources":["../../../node_modules/.pnpm/flex-tools@1.4.41/node_modules/flex-tools/src/errors.ts","../../../node_modules/.pnpm/flex-tools@1.4.41/node_modules/flex-tools/dist/chunk-R42SWOGE.mjs","../src/getSettingsFromPackageJson.ts","../src/getDefaultLanguageDir.ts","../src/getLanguageDir.ts","../src/getIdMap.ts","../src/isVoerkaI18nInstalled.ts","../src/escapeRegex.ts","../src/applyIdMap.ts","../src/getVoerkaI18nSettings.ts","../src/getBcp47LanguageApi.ts","../src/getFileNamespace.ts","../src/getApi.ts","../src/aiQuestion.ts","../../../node_modules/.pnpm/flex-tools@1.4.41/node_modules/flex-tools/src/package/getPackageModuleType.ts","../../../node_modules/.pnpm/flex-tools@1.4.41/node_modules/flex-tools/src/func/promisify.ts","../src/getProjectContext.ts","../src/getBackupFile.ts","../src/addToGitIgnore.ts","../src/trimChars.ts","../src/hasImport.ts","../src/addImport.ts","../../../node_modules/.pnpm/flex-tools@1.4.41/node_modules/flex-tools/src/typecheck/isNumber.ts","../src/isMessageId.ts","../src/getDir.ts","../src/indentString.ts","../src/fetchJson.ts","../src/encodeRegExp.ts","../src/extractMessages.ts","../../../node_modules/.pnpm/flex-tools@1.4.41/node_modules/flex-tools/src/typecheck/isPlainObject.ts","../../../node_modules/.pnpm/flex-tools@1.4.41/node_modules/flex-tools/src/object/pick.ts","../src/extractParagraphs.ts"],"names":["InvalidProjectPathError","getPackageRootPath","entryPath","excludeCurrent","path","r","pkgFile","fs","parent","a","b","c","getPackageJson","entry","findUp","packageRoot","__require","getSettingsFromPackageJson","pkg","settings","undefined","Object","assign","voerkai18n","getDefaultLanguageDir","cwd","process","env","INIT_CWD","srcPath","join","existsSync","getLanguageDir","options","location","autoCreate","absolute","langDir","isAbsolute","mkdirSync","recursive","relative","e","console","error","getIdMap","idMapFile","JSON","parse","readFileSync","encoding","isVoerkaI18nInstalled","settingsFile","escapeRegex","input","replace","getMessageRegex","names","RegExp","map","name","getComponentRegex","tags","tag","applyIdMap","code","idMap","tFuncNames","tComponentNames","matched","pre","tName","_","message","n","tagName","attrs","getVoerkaI18nSettings","packageJsonSettings","namespaces","settingFile","require","defaultLanguage","languages","find","lang","default","activeLanguage","active","getBcp47LanguageApi","osLocale","split","inNamespace","filePath","nsPath","startsWith","getFileNamespace","file","value","entries","paths","Array","isArray","getApi","defaultValue","apikeyFile","apikeys","removeCodeBlock","text","aiQuestion","prompt","apiUrl","apiKey","temperature","model","roles","request","messages","role","content","data","res","axios","post","headers","status","Error","statusText","result","choices","trim","err","getPackageModuleType","packageJson","fileIsExists","filename","isTypeScriptPackage","projectFolder","buildNodejsArgs","args","callback","parseNodejsCallback","results","promisify","fn","buildArgs","parseCallback","resolve","reject","callArgs","readFile","getPromptTemplate","defaultPrompt","promptDir","promptFile","endsWith","getDefaultPatterns","patterns","langRelDir","push","every","p","apiFile","apis","getApiParams","api","call","forEach","key","length","substring","toLowerCase","getDir","dir","getProjectContext","ctx","rootDir","replaceAll","sep","settingRelFile","getPrompt","bind","getTranslateMessagesDir","getTranslateParagraphsDir","getMessagesDir","getParagraphsDir","typescript","moduleType","getBackupFile","i","extName","extname","bakFile","addToGitIgnore","files","projectRoot","gitignoreFile","writeFileSync","toString","lines","newLines","includes","trimChars","str","chars","start","end","RequireRegex","hasImport","importName","test","reg","addImport","fromModule","scriptSection","importCode","hasScript","scriptBegin","scriptContent","scriptEnd","isNumber","strict","v","isMessageId","spath","indentString","indent","indentChars","repeat","line","fetchJson","urls","url","response","get","encodeRegExp","regex","vars","k","commentRegexs","removeComments","language","filetype","regexps","messageExtractors","getMessageExtractors","parseTranslateMessagesByRegex","exec","index","lastIndex","groups","rang","extractMessagesUseRegex","namespace","extractMessages","opts","isPlainObject","obj","proto","baseProto","pick","source","keys","defaultValues","newObject","field","attrsRegex","parseTranslateAttrs","attrsMap","paragraphExtractors","getParagraphExtractors","parseParagraphsByRegex","paragraphs","extractParagraphs"],"mappings":";;;;;;;;;;;;;;;;;;;AACO,IAAMA,CAAAA,IAAN,mBAAsC,KAAK,CAAA;AAAA,CAAA,EAAA,MAA3C,CAAA,EAAA,EAAA,GAAA,CAAA,EAAA,EAAA,CAAA;ACUA,SAASC,CAAmBC,CAAAA,EAAAA,GAAoB,IAAMC,EAAAA,EAAAA,GAA0B,KAAsB,EAAA;AACpGC,EAAKC,KAAA,CAAA,UAAA,CAAWH,EAAS,CAAA,KAC1BA,EAAYE,GAAAA,KAAAA,CAAK,KAAK,OAAQ,CAAA,GAAA,EAAMF,EAAAA,EAAAA,IAAa,IAAI,CAAA,CAAA;AAEzD,EAAG,IAAA;AACC,IAAMI,IAAAA,EAAAA,GAAUH,EACAC,GAAAA,KAAAA,CAAK,IAAKF,CAAAA,EAAAA,EAAW,IAAM,EAAA,cAAc,CACvCE,GAAAA,KAAAA,CAAK,IAAKF,CAAAA,EAAAA,EAAW,cAAc,CAAA;AACrD,IAAA,IAAGK,GAAG,UAAWD,CAAAA,EAAO,GACbF,OAAAA,KAAAA,CAAK,QAAQE,EAAO,CAAA;AAE/B,IAAME,IAAAA,EAAAA,GAASJ,KAAK,CAAA,OAAA,CAAQF,EAAS,CAAA;AACrC,IAAA,OAAGM,EAASN,KAAAA,EAAAA,GAAkB,IACvBD,GAAAA,CAAAA,CAAmBO,IAAO,KAAK,CAAA;GACpC,CAAA,MAAA;AACF,IAAA,MAAM,IAAIR,CAAAA,EAAAA;AACd;AACJ;AAjBgBC,MAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA;;;AAPmM,IAAI,CAAG,GAAA,CAAA,CAAAQ,EAAG,KAAA,OAAO,SAAQ,GAAA,GAAA,GAAI,SAAQ,GAAA,OAAO,KAAM,GAAA,GAAA,GAAI,IAAI,KAAA,CAAMA,IAAE,EAAC,GAAA,kBAAKC,MAAAA,CAAAA,CAAAA,EAAAA,EAAEC,EAAK,KAAA,CAAA,OAAO,SAAQ,GAAA,GAAA,GAAI,SAAQD,GAAAA,EAAAA,EAAGC,EAAC,CAAA,EAAvC,KAAwC,CAAA,EAAC,CAAEF,GAAAA,EAAAA,EAAG,SAASA,EAAE,EAAA;AAAC,EAAA,IAAG,OAAO,SAAQ,GAAA,GAAA,SAAW,SAAQ,CAAA,KAAA,CAAM,MAAK,SAAS,CAAA;AAAE,EAAM,MAAA,KAAA,CAAM,sBAAuBA,GAAAA,EAAAA,GAAE,oBAAoB,CAAA;AAAC,CAAC,CAAA;ACMnc,SAASG,CAAAA,CAAeC,EAAcC,EAAAA,GAAAA,GAAiB,IAA6B,EAAA;AACvF,EAAA,IAAMC,KAAaD,GAASb,GAAAA,CAAAA,CAAmBY,EAAK,CAAcA,GAAAA,EAAAA,IAAS,QAAQ,GAAA,EAAA;AACnF,EAAG,IAAA;AACC,IAAA,OAAOG,CAAQZ,CAAAA,KAAAA,CAAK,IAAKW,CAAAA,EAAAA,EAAY,cAAc,CAAC,CAAA;GAClD,CAAA,MAAA;AACF,IAAA;AACJ;AACJ;AAPgBH,MAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA;;;AAFT,SAASK,2BAA2BJ,KAAa,EAAA;AACvD,EAAMK,MAAAA,GAAAA,GAAON,CAAeC,CAAAA,KAAAA,EAAM,KAAA,CAAA;AAC/B,EAAA,MAAMM,QAAW,GAAA;IAAEN,KAAOO,EAAAA;AAAU,GAAA;AACvC,EAAA,IAAG,OAAOF,GAAAA,IAAM,QAAa,IAAA,YAAA,IAAgBA,GAAI,EAAA;AAChDG,IAAOC,MAAAA,CAAAA,MAAAA,CAAOH,QAASD,EAAAA,GAAAA,CAAIK,UAAU,CAAA;AACtC;AACA,EAAOJ,OAAAA,QAAAA;AACR;AAPgBF,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;ACoBT,SAASO,qBAAAA,GAAAA;AACZ,EAAA,MAAMC,GAAMC,GAAAA,OAAAA,CAAQC,GAAIC,CAAAA,QAAAA,IAAYF,QAAQD,GAAG,EAAA;AAC/C,EAAA,MAAMI,OAAUzB,GAAAA,KAAAA,CAAK0B,IAAKL,CAAAA,GAAAA,EAAI,KAAA,CAAA;AAC9B,EAAGlB,IAAAA,EAAAA,CAAGwB,UAAWF,CAAAA,OAAAA,CAAS,EAAA;AACtB,IAAQzB,OAAAA,KAAAA,CAAK0B,IAAKD,CAAAA,OAAAA,EAAQ,WAAA,CAAA;GACzB,MAAA;AACD,IAAOzB,OAAAA,KAAAA,CAAK0B,IAAKL,CAAAA,GAAAA,EAAI,WAAA,CAAA;AACzB;AACJ;AARgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;;;ACMT,SAASQ,eAAeC,OAA4B,EAAA;AACvD,EAAA,MAAM,EAAEC,QAASC,EAAAA,UAAAA,EAAWC,QAAQ,EAAA,GAAKf,OAAOC,MAAO,CAAA;IACnDa,UAAW,EAAA,IAAA;IACXC,QAAS,EAAA;AACb,GAAA,EAAGH,OAAAA,CAAAA;AAEH,EAAA,MAAMR,GAAMC,GAAAA,OAAAA,CAAQC,GAAIC,CAAAA,QAAAA,IAAaF,QAAQD,GAAG,EAAA;AAEhD,EAAG,IAAA;AACC,IAAA,MAAM,EAAEZ,KAAAA,EAAUI,GAAAA,0BAAAA,CAA2BiB,QAAAA,CAAAA;AAE7C,IAAIG,IAAAA,OAAAA,GAAkBxB,SAASW,qBAAAA,EAAAA;AAC/Ba,IAAUjC,OAAAA,GAAAA,KAAAA,CAAKkC,WAAWD,OAAAA,CAAAA,GAAYA,UAAUjC,KAAK0B,CAAAA,IAAAA,CAAKL,KAAIY,OAAAA,CAAAA;AAE9D,IAAA,IAAGF,UAAc,IAAA,CAAC5B,EAAGwB,CAAAA,UAAAA,CAAWM,OAAAA,CAAS,EAAA;AACrC9B,MAAAA,EAAAA,CAAGgC,UAAUF,OAAQ,EAAA;QAAEG,SAAW,EAAA;OAAK,CAAA;AAC3C;AAEA,IAAA,OAAOJ,QAAWC,GAAAA,OAAAA,GAAUjC,KAAKqC,CAAAA,QAAAA,CAAShB,KAAIY,OAAAA,CAAAA;AAElD,GAAA,CAAA,OAAOK,EAAE,EAAA;AACLC,IAAQC,OAAAA,CAAAA,KAAAA,CAAM,0DAAYF,EAAAA,CAAAA;AAC1B,IAAO,OAAA,eAAA;AACX;AACJ;AAxBgBV,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;;;AC9BT,SAASa,SAASC,SAAiB,EAAA;AACtC,EAAA,IAAG,CAACA,SAAU,EAAA;AACV,IAAA,MAAMT,UAAUL,cAAe,CAAA;MAACG,UAAW,EAAA,KAAA;MAAMC,QAAS,EAAA;KAAI,CAAA;AAC9DU,IAAY1C,SAAAA,GAAAA,KAAAA,CAAK0B,IAAKO,CAAAA,OAAAA,EAAQ,YAAA,CAAA;AAClC;AACA,EAAG,IAAA;AACC,IAAG9B,IAAAA,EAAAA,CAAGwB,UAAWe,CAAAA,SAAAA,CAAY,EAAA;AACzB,MAAA,OAAOC,IAAKC,CAAAA,KAAAA,CAAMzC,EAAG0C,CAAAA,YAAAA,CAAaH,SAAW,EAAA;QAACI,QAAS,EAAA;AAAO,OAAA,CAAA,CAAA;AAClE;GACE,CAAA,MAAA;AAEN;AACJ;AAZgBL,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;ACMT,SAASM,qBAAAA,GAAAA;AACZ,EAAA,MAAMd,UAAUL,cAAe,CAAA;IAC3BG,UAAY,EAAA;GAChB,CAAA;AACA,EAAA,MAAMiB,YAAehD,GAAAA,KAAAA,CAAK0B,IAAKO,CAAAA,OAAAA,EAAS,eAAA,CAAA;AACxC,EAAO9B,OAAAA,EAAAA,CAAGwB,WAAWqB,YAAAA,CAAAA;AACzB;AANgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;;;ACTT,SAASE,YAAYC,KAAY,EAAA;AACpC,EAAOA,OAAAA,KAAAA,CAAMC,OAAQ,CAAA,qCAAA,EAAuC,MAAA,CAAA;AAChE;AAFgBF,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;;;ACYhB,IAAMG,eAAAA,2BAAmBC,KAAe,GAAA;AAAC,EAAA;AAAI,CAAA,KAAA;AACzC,EAAA,OAAO,IAAIC,MAAAA,CAAO,CAA+CD,4CAAAA,EAAAA,KAAAA,CAAME,IAAIC,CAAAA,IAAAA,KAAMP,WAAYO,CAAAA,IAAAA,CAAAA,CAAO9B,CAAAA,IAAAA,CAAK,GAAA,CAAA,+BAAkC,IAAA,CAAA;AAC/I,CAFwB,EAAA,iBAAA,CAAA;AAGxB,IAAM+B,iBAAAA,2BAAqBC,IAAc,GAAA;AAAC,EAAA;AAAY,CAAA,KAAA;AAClD,EAAA,OAAO,IAAIJ,MAAAA,CAAO,CAAKI,EAAAA,EAAAA,IAAAA,CAAKH,IAAII,CAAAA,GAAAA,KAAKV,WAAYU,CAAAA,GAAAA,CAAAA,CAAMjC,CAAAA,IAAAA,CAAK,GAAA,CAAA,6FAAgG,IAAA,CAAA;AAChK,CAF0B,EAAA,mBAAA,CAAA;AASnB,SAASkC,UAAAA,CAAWC,IAAYC,EAAAA,KAAAA,EAA4BjC,OAA0B,EAAA;AACzF,EAAA,MAAM,EAAEkC,UAAAA,EAAYC,eAAe,EAAA,GAAK/C,OAAOC,MAAO,CAAA;IAClD6C,UAAW,EAAA;AAAC,MAAA,GAAA;AAAI,MAAA;;IAChBC,eAAgB,EAAA;AAAC,MAAA,WAAA;AAAY,MAAA;;AACjC,GAAA,EAAEnC,OAAAA,CAAAA;AACF,EAAOgC,OAAAA,IAAAA,CAAKV,OAAQC,CAAAA,eAAAA,CAAgBW,UAAAA,CAAAA,EAAY,CAACE,OAAAA,EAAQC,GAAIC,EAAAA,KAAAA,EAAMC,CAAEC,EAAAA,OAAAA,EAAQC,EAAAA,KAAAA;AACzE,IAAO,OAAA,CAAA,EAAGJ,GAAAA,CAAMC,EAAAA,KAAAA,KAAUL,KAAMO,CAAAA,OAAAA,KAAYA,OAAAA,CAAAA,CAAAA,CAAAA;GAChD,CAAA,CAAGlB,QAAQM,iBAAkBO,CAAAA,eAAAA,GAAiB,CAACI,CAAAA,EAAEG,OAAQC,EAAAA,KAAAA,EAAMH,OAAAA,KAAAA;AAC3D,IAAO,OAAA,CAAA,CAAA,EAAIE,OAAAA,CAAUC,EAAAA,KAAAA,YAAiBV,KAAMO,CAAAA,OAAAA,KAAYA,OAAAA,CAAAA,CAAAA,CAAAA;GAC5D,CAAA;AACJ;AAVgBT,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AClBT,SAASa,qBAAAA,GAAAA;AAEZ,EAAA,MAAMC,sBAAsB7D,0BAAAA,EAAAA;AAE5B,EAAA,MAAMoB,UAAUL,cAAe,CAAA;IAC3BG,UAAY,EAAA;GAChB,CAAA;AAEA,EAAMhB,MAAAA,QAAAA,GAAWE,OAAOC,MAAO,CAAA;AAC3ByD,IAAAA,UAAAA,EAAa;AACjB,GAAA,EAAED,mBAAAA,CAAAA;AAGF,EAAA,MAAME,WAAc5E,GAAAA,KAAAA,CAAK0B,IAAKO,CAAAA,OAAAA,EAAS,eAAA,CAAA;AACvC,EAAG9B,IAAAA,EAAAA,CAAGwB,UAAWiD,CAAAA,WAAAA,CAAa,EAAA;AAC1B3D,IAAAA,MAAAA,CAAOC,MAAOH,CAAAA,QAAAA,EAAU8D,SAAQD,CAAAA,WAAAA,CAAAA,CAAAA;AACpC;AAGA7D,EAAS+D,QAAAA,CAAAA,eAAAA,GAAAA,CAAmB/D,QAASgE,CAAAA,SAAAA,IAAa,EAAA,EAAIC,KAAK,CAACC,IAAAA,KAA4BA,IAAKC,CAAAA,OAAO,CAAG1B,EAAAA,IAAAA;AAGvGzC,EAASoE,QAAAA,CAAAA,cAAAA,GAAAA,CAAkBpE,QAASgE,CAAAA,SAAAA,IAAa,EAAA,EAAIC,KAAK,CAACC,IAAAA,KAA4BA,IAAKG,CAAAA,MAAM,CAAG5B,EAAAA,IAAAA;AAErG,EAAOzC,OAAAA,QAAAA;AACX;AAzBgB0D,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;;;ACNT,SAASY,mBAAAA,CAAoBC,WAAkB,OAAO,EAAA;AACzD,EAAG,IAAA;AACC,IAAOT,OAAAA,SAAAA,CAAQ,uBAAuBS,QAASC,CAAAA,KAAAA,CAAM,GAAA,CAAK,CAAA,CAAA,CAAE,CAAE,CAAA,CAAA;AAClE,GAAA,CAAA,OAAOjD,EAAE,EAAA;AACL,IAAA,OAAOuC,UAAQ,wBAAA,CAAA;AACnB;AACJ;AANgBQ,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;ACahB,SAASG,WAAAA,CAAYC,UAAgBC,MAAa,EAAA;AAC9C,EAAA,OAAO,CAAC1F,KAAKqC,CAAAA,QAAAA,CAASqD,QAAOD,QAAAA,CAAAA,CAAUE,WAAW,IAAA,CAAA;AAGtD;AAJSH,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAoBF,SAASI,gBAAAA,CAAiBC,MAAYlB,UAAgC,EAAA;AACzE,EAAG,IAAA,CAACA,YAAmB,OAAA,SAAA;AACvB,EAAG,IAAA,CAACkB,MAAa,OAAA,SAAA;AACjB,EAAA,MAAMxE,GAAMC,GAAAA,OAAAA,CAAQC,GAAIC,CAAAA,QAAAA,IAAYF,QAAQD,GAAG,EAAA;AAC/CwE,EAAO7F,IAAAA,GAAAA,KAAAA,CAAKkC,WAAW2D,IAAAA,CAAAA,GAAQA,OAAO7F,KAAK0B,CAAAA,IAAAA,CAAKL,KAAIwE,IAAAA,CAAAA;AACpD,EAAA,KAAA,IAAQ,CAACrC,IAAKsC,EAAAA,KAAAA,KAAU7E,MAAO8E,CAAAA,OAAAA,CAAQpB,UAAAA,CAAY,EAAA;AAC/C,IAAG,IAAA,OAAOmB,UAAU,UAAW,EAAA;AAC3B,MAAA,IAAGA,KAAMD,CAAAA,IAAAA,CAAQ,KAAA,IAAA,EAAarC,OAAAA,IAAAA;KAC7B,MAAA;AACD,MAAA,MAAMwC,KAAQC,GAAAA,KAAAA,CAAMC,OAAQJ,CAAAA,KAAAA,IAASA,KAAQ,GAAA;AAACA,QAAAA;;AAC9C,MAAA,KAAA,IAAQJ,UAAUM,KAAM,EAAA;AACpBN,QAAS1F,MAAAA,GAAAA,KAAAA,CAAKkC,WAAWwD,MAAAA,CAAAA,GAAUA,SAAS1F,KAAK0B,CAAAA,IAAAA,CAAKL,KAAIqE,MAAAA,CAAAA;AAC1D,QAAGF,IAAAA,WAAAA,CAAYK,IAAKH,EAAAA,MAAAA,CAAQ,EAAA;AACxB,UAAOlC,OAAAA,IAAAA;AACX;AACJ;AACJ;AACJ;AACA,EAAO,OAAA,SAAA;AACX;AAnBgBoC,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;ACXT,SAASO,MAAAA,CAAyD3C,MAAY4C,YAAwB,EAAA;AAEzG,EAAA,MAAMnE,UAAUL,cAAAA,EAAAA;AAChB,EAAA,MAAMyE,UAAarG,GAAAA,KAAAA,CAAK0B,IAAKO,CAAAA,OAAAA,EAAQ,YAAA,CAAA;AACrC,EAAG9B,IAAAA,EAAAA,CAAGwB,UAAW0E,CAAAA,UAAAA,CAAY,EAAA;AACzB,IAAA,MAAMC,UAAU3D,IAAKC,CAAAA,KAAAA,CAAMzC,GAAG0C,YAAawD,CAAAA,UAAAA,EAAW,OAAA,CAAA,CAAA;AACtD,IAAOC,OAAAA,OAAAA,CAAQ9C,IAAAA,CAAS4C,IAAAA,YAAAA;AAC5B;AACA,EAAOA,OAAAA,YAAAA;AACX;AATgBD,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA;ACShB,SAASI,gBAAgBC,IAAW,EAAA;AAChC,EAAA,OAAOA,KAAKrD,OAAQ,CAAA,qBAAA,EAAsB,EAAA,CACzBA,CAAAA,OAAAA,CAAQ,aAAY,EAAA,CAAA;AACzC;AAHSoD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAwBT,eAAuBE,UAAAA,CAAqBC,QAAc7E,OAA0B,EAAA;AAChF,EAAM,MAAA,EAAE8E,QAAOC,MAAOC,EAAAA,WAAAA,EAAYC,OAAMC,KAAK,EAAA,GAAK9F,OAAOC,MAAO,CAAA;IAC5D2F,WAAY,EAAA,CAAA;AACZE,IAAAA,KAAAA,EAAM;AACV,GAAA,EAAElF,OAAAA,CAAAA;AAEF,EAAA,MAAMmF,OAAU,GAAA;IACZC,QAAS,EAAA;AACL,MAAA;QACIC,IAAK,EAAA,MAAA;QACLC,OAAQT,EAAAA;AACZ,OAAA;AACGK,MAAAA,GAAAA;;AAEPD,IAAAA,KAAAA;AACAD,IAAAA;AACJ,GAAA;AAEA,EAAIO,IAAAA,IAAAA;AACJ,EAAG,IAAA;AACC,IAAA,MAAMC,GAAM,GAAA,MAAMC,KAAMC,CAAAA,IAAAA,CAAKZ,QAAQK,OAAS,EAAA;MAC1CQ,OAAS,EAAA;QACL,cAAgB,EAAA,kBAAA;AAChB,QAAA,eAAA,EAAiB,UAAUZ,MAAAA,CAAAA,CAAAA;QAC3B,eAAiB,EAAA;AACrB;KACJ,CAAA;AACA,IAAIS,IAAAA,GAAAA,CAAII,WAAW,GAAK,EAAA;AACpB,MAAM,MAAA,IAAIC,MAAM,CAAkCL,+BAAAA,EAAAA,GAAAA,CAAII,MAAM,CAAKJ,EAAAA,EAAAA,GAAAA,CAAIM,UAAU,CAAE,CAAA,CAAA;AACrF;AACAP,IAAAA,IAAAA,GAAOC,GAAID,CAAAA,IAAAA;AACX,IAAMQ,MAAAA,MAAAA,GAASrB,gBAAgBa,IAAKS,CAAAA,OAAAA,CAAQ,CAAA,CAAGxD,CAAAA,OAAAA,CAAQ8C,OAAQW,CAAAA,IAAAA,EAAI,CAAA;AACnE,IAAOF,OAAAA,MAAAA;AAEX,GAAA,CAAA,OAASG,GAAS,EAAA;AACd,IAAA,MAAM,IAAIL,KAAAA,CAAM,CAA8BK,2BAAAA,EAAAA,GAAAA,CAAI1D,OAAO,CAAE,CAAA,CAAA;AAC/D;AACJ;AArCuBoC,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;;;ACpDhB,SAASuB,GAAqBvH,EAAqC,EAAA;AACtE,EAAG,IAAA;AACC,IAAIwH,IAAAA,EAAAA,GAAczH,EAAeC,EAAK,CAAA;AACtC,IAAA,IAAGwH,EACC,EAAA,OAAOA,EAAY,CAAA,IAAA,IAAM,WAAW,KAAQ,GAAA,KAAA;GAE9C,CAAA,MAAA;AAAA;AAEV;AARgBD,MAAAA,CAAAA,EAAAA,EAAAA,GAAAA,CAAAA;ACCT,SAASE,GAAaC,EAAwB,EAAA;AACjD,EAAG,IAAA;AACC,IAAAhI,OAAAA,EAAAA,CAAG,QAASgI,CAAAA,EAAQ,CACb,EAAA,IAAA;GACL,CAAA,MAAA;AACF,IAAO,OAAA,KAAA;AACX;AACJ;AAPgBD,MAAAA,CAAAA,EAAAA,EAAAA,GAAAA,CAAAA;AAIT,SAASE,EAAoB3H,EAAsB,EAAA;AACtD,EAAI4H,IAAAA,EAAAA,GAAgBxI,EAAmBY,EAAK,CAAA;AAC5C,EAAA,OAAG4H,EACOH,GAAAA,EAAAA,CAAalI,KAAK,CAAA,IAAA,CAAKqI,IAAc,eAAe,CAAC,CACpDH,IAAAA,EAAAA,CAAalI,MAAK,IAAKqI,CAAAA,EAAAA,EAAc,KAAM,EAAA,eAAe,CAAC,CAE/D,GAAA,KAAA;AACX;AAPgBD,MAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA;;;AAsDhB,IAAME,CAAAA,2BAAmBC,EAAWC,EAAAA,EAAAA,KACzB,CAAC,GAAGD,EAAAA,EAAKC,EAAQ,CADJ,EAAA,GAAA,CAAA;AAAxB,IAGMC,CAAAA,2BAAuBC,EAAgB,KAAA;AACzC,EAAGA,IAAAA,EAAAA,CAAQ,WAAS,CACpB,EAAA;AAAA,IAAGA,IAAAA,EAAAA,CAAQ,SAAO,CAAKA,IAAAA,EAAAA,CAAQ,CAAC,CAC5B,EAAA,MAAMA,GAAQ,CAAC,CAAA;AAEf,IAAGA,OAAAA,EAAAA,CAAQ,UAAQ,CAAUA,GAAAA,EAAAA,CAAQ,CAAC,CAC/BA,GAAAA,EAAAA,CAAQ,MAAM,CAAC,CAAA;AAE9B;AAAA,CAR6BA,EAAAA,GAAAA,CAAAA;AAmBtB,SAASC,CAAAA,CAAqEC,IAAsB/G,EAAyC,EAAA;AAChJ,EAAA,IAAM,EAAE,SAAA,EAAAgH,EAAU,EAAA,aAAA,EAAAC,IAAkB,GAAA,MAAA,CAAO,MAAO,CAAA,EAC9C,SAAUR,EAAAA,CAAAA,EACV,aAAcG,EAAAA,CAAAA,IAChB5G,EAAO,CAAA;AAmBT,EAAA,OAlBoB,YAAY0G,EAAW,EAAA;AACvC,IAAA,OAAO,IAAI,OAAA,CAAa,CAACQ,EAAAA,EAAQC,EAAS,KAAA;AACtC,MAAA,IAAIC,EAAWJ,GAAAA,EAAAA,CAAUN,EAAY,EAAA,CAAA,GAAIG,EAAgB,KAAA;AACrD,QAAG,IAAA;AACC,UAAMd,IAAAA,EAAAA,GAASkB,GAAcJ,EAAO,CAAA;AACpCK,UAAAA,GAAQnB,EAAM,CAAA;AAClB,SAAA,CAAA,OAAOtF,EAAE,EAAA;AACL0G,UAAAA,GAAO1G,EAAC,CAAA;AACZ;OACH,CAAA;AACD,MAAG,IAAA;AACCsG,QAAAA,EAAAA,CAAG,GAAGK,EAAQ,CAAA;AAClB,OAAA,CAAA,OAAO3G,EAAE,EAAA;AACL0G,QAAAA,GAAO1G,EAAC,CAAA;AACZ;KACH,CAAA;AACL,GAAA;AAGJ;AAxBgBqG,MAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA;ACrDHO,IAAAA,EAAAA,GAAWP,CAAUxI,CAAAA,EAAAA,CAAG,QAAQ,CAAA;AACrBwI,CAAUxI,CAAAA,EAAAA,CAAG,QAAQ;AACxBwI,CAAUxI,CAAAA,EAAAA,CAAG,KAAK;AAChBwI,CAAUxI,CAAAA,EAAAA,CAAG,OAAO;AACnBwI,CAAUxI,CAAAA,EAAAA,CAAG,QAAQ;AACrBwI,CAAUxI,CAAAA,EAAAA,CAAG,QAAQ;AACvBwI,CAAUxI,CAAAA,EAAAA,CAAG,MAAM;AACpBwI,CAAUxI,CAAAA,EAAAA,CAAG,KAAK;AACnBwI,CAAUxI,CAAAA,EAAAA,CAAG,IAAI;AACdwI,CAAUxI,CAAAA,EAAAA,CAAG,OAAO;AACrBwI,CAAUxI,CAAAA,EAAAA,CAAG,MAAM;AAChBwI,CAAUxI,CAAAA,EAAAA,CAAG,SAAS;AACzBwI,CAAUxI,CAAAA,EAAAA,CAAG,MAAM;AACfwI,CAAUxI,CAAAA,EAAAA,CAAG,UAAU;AAC5BwI,CAAUxI,CAAAA,EAAAA,CAAG,KAAK;AAClBwI,CAAUxI,CAAAA,EAAAA,CAAG,KAAK;AAClBwI,CAAUxI,CAAAA,EAAAA,CAAG,KAAK;AACjBwI,CAAUxI,CAAAA,EAAAA,CAAG,MAAM;AACnBwI,CAAUxI,CAAAA,EAAAA,CAAG,MAAM;AACvBwI,CAAUxI,CAAAA,EAAAA,CAAG,EAAE;AACTwI,CAAUxI,CAAAA,EAAAA,CAAG,QAAQ;AACtBwI,CAAUxI,CAAAA,EAAAA,CAAG,OAAO;AACvBwI,CAAUxI,CAAAA,EAAAA,CAAG,IAAI;AACjBwI,CAAUxI,CAAAA,EAAAA,CAAG,IAAI;AAChBwI,CAAUxI,CAAAA,EAAAA,CAAG,KAAK;AAChBwI,CAAUxI,CAAAA,EAAAA,CAAG,OAAO;AACzBwI,CAAUxI,CAAAA,EAAAA,CAAG,EAAE;AAEXwI,CAAAA,CAAUxI,EAAG,CAAA,MAAA,EAAQ,EAC1C,aAAA,kBAAgBuI,MAAAA,CAAAA,CAAAA,EAAAA,KACRA,EAAQ,CAAA,CAAC,CADDA,EAAAA,eAAAA,CAAAA,EAGhB;AAlCD,eAAeS,iBAAAA,CAAgD3F,MAAY4F,aAAqB,EAAA;AAC5F,EAAM,MAAA,EAAEC,WAAc,GAAA,IAAA;AACtB,EAAG,IAAA,CAAC7F,MAAa4F,OAAAA,aAAAA;AACjB,EAAA,MAAME,UAAatJ,GAAAA,KAAAA,CAAKkC,UAAWsB,CAAAA,IAAAA,IAAQA,IAAOxD,GAAAA,KAAAA,CAAK0B,IAAK2H,CAAAA,SAAAA,EAAU7F,KAAK+F,QAAS,CAAA,KAAA,CAAS/F,GAAAA,IAAAA,GAAOA,OAAK,KAAA,CAAA;AACzG,EAAGrD,IAAAA,EAAAA,CAAGwB,UAAW2H,CAAAA,UAAAA,CAAY,EAAA;AACzB,IAAO,OAAA,MAAMJ,GAASI,UAAW,EAAA;MAAExG,QAAU,EAAA;KAAQ,CAAA;AACzD;AACA,EAAOsG,OAAAA,aAAAA;AACX;AAReD,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAUf,SAASK,mBAAiD3H,OAA2B,EAAA;AAEjF,EAAA,MAAM4H,QAAW,GAAA;AACb,IAAA,WAAA;AACA,IAAA,QAAA;AACA,IAAA,cAAA;AACA,IAAA,cAAA;AACA,IAAA,UAAA;AACA,IAAA,OAAA;AACA,IAAA,OAAA;AACA,IAAA,SAAA;AACA,IAAA,YAAA;AACA,IAAA,mBAAA;AACA,IAAA,eAAA;AACA,IAAA,GAAA,GAAI,IAAKC,CAAAA;;AAEb,EAAA,IAAGzD,KAAMC,CAAAA,OAAAA,CAAQ,IAAKuD,CAAAA,QAAQ,CAAE,EAAA;AAC5BA,IAASE,QAAAA,CAAAA,IAAAA,CAAI,GAAI,IAAA,CAAKF,QAAQ,CAAA;AAClC;AAEA,EAAA,IAAGxD,KAAMC,CAAAA,OAAAA,CAAQrE,OAAS4H,EAAAA,QAAAA,CAAU,EAAA;AAChCA,IAASE,QAAAA,CAAAA,IAAAA,CAAI,GAAI9H,OAAAA,CAAQ4H,QAAQ,CAAA;AACjC,IAAA,OAAO5H,OAAQ4H,CAAAA,QAAAA;GACV,MAAA,IAAA,OAAO5H,OAAS4H,EAAAA,QAAAA,KAAY,QAAS,EAAA;AAC1CA,IAASE,QAAAA,CAAAA,IAAAA,CAAK9H,QAAQ4H,QAAQ,CAAA;AAC9B,IAAA,OAAO5H,OAAQ4H,CAAAA,QAAAA;AACnB;AAGA,EAAGA,IAAAA,QAAAA,CAASG,MAAMC,CAAAA,EAAAA,KAAGA,GAAElE,UAAW,CAAA,GAAA,CAAA,CAAM,EAAA;AACpC8D,IAAAA,QAAAA,CAASE,KAAK,2CAAA,CAAA;AAClB;AACA,EAAOF,OAAAA,QAAAA;AACX;AAjCSD,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAmCT,SAASrD,OAAAA,CAAqC3C,MAAY4C,YAAgC,EAAA;AACtF,EAAM,MAAA,EAAEnE,SAAY,GAAA,IAAA;AACpB,EAAA,MAAM6H,OAAS9J,GAAAA,KAAAA,CAAK0B,IAAKO,CAAAA,OAAAA,EAAQ,UAAA,CAAA;AACjC,EAAA,IAAI8H,OAA0B,EAAC;AAC/B,EAAG,IAAA;AACC,IAAG5J,IAAAA,EAAAA,CAAGwB,UAAWmI,CAAAA,OAAAA,CAAS,EAAA;AACtBC,MAAAA,IAAAA,GAAOpH,KAAKC,KAAMzC,CAAAA,EAAAA,CAAG0C,YAAaiH,CAAAA,OAAAA,EAAQ,OAAA,CAAA,CAAA;AAC9C;GACE,CAAA,MAAA;AAAC;AACP,EAAOC,OAAAA,IAAAA,CAAKvG,IAAAA,CAAS4C,IAAAA,YAAAA;AACzB;AAVSD,MAAAA,CAAAA,OAAAA,EAAAA,QAAAA,CAAAA;AAYT,SAAS6D,aAA2CnI,OAA2B,EAAA;AAC3E,EAAG,IAAA,OAAOA,YAAW,QAAS,EAAA;AAC1B,IAAIoI,IAAAA,GAAAA;AACJ,IAAG,IAAA,OAAOpI,OAAQoI,CAAAA,GAAAA,KAAO,QAAS,EAAA;AAC9BA,MAAAA,GAAAA,GAAM9D,QAAO+D,IAAK,CAAA,IAAA,EAAKrI,OAAQoI,CAAAA,GAAAA,EAAI,EAAC,CAAA;AACxC;AACAhJ,IAAO8E,MAAAA,CAAAA,OAAAA,CAAQlE,OAAAA,CAASsI,CAAAA,OAAAA,CAAQ,CAAC,CAACC,GAAAA,EAAItE,KAAAA,CAAM,KAAA;AACxC,MAAA,IAAGsE,IAAIzE,UAAW,CAAA,KAAA,CAAUyE,IAAAA,GAAAA,CAAIC,SAAO,CAAE,EAAA;AACrC,QAAM7G,MAAAA,IAAAA,GAAO4G,GAAIE,CAAAA,SAAAA,CAAU,CAAA,CAAA;AAC3B,QAAG,IAAA,CAACL,GAAKA,EAAAA,GAAAA,GAAM,EAAC;AAChBA,QAAIzG,GAAAA,CAAAA,IAAAA,CAAK,CAAA,CAAG+G,CAAAA,WAAAA,KAAgB/G,IAAK8G,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAMxE,GAAAA,KAAAA;AACrD;KACJ,CAAA;AACA,IAAOmE,OAAAA,GAAAA;AACX;AACJ;AAfSD,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAkBT,SAASQ,OAAqC1I,QAAe,EAAA;AACzD,EAAO,OAAA,CAACC,aAAmB,IAAI,KAAA;AAC3B,IAAA,MAAM0I,GAAOzK,GAAAA,KAAAA,CAAK0B,IAAK,CAAA,IAAA,CAAKO,SAAQH,QAAAA,CAAAA;AACpC,IAAA,IAAGC,UAAc,IAAA,CAAC5B,EAAGwB,CAAAA,UAAAA,CAAW8I,GAAAA,CAAK,EAAA;AACjCtK,MAAAA,EAAAA,CAAGgC,UAAUsI,GAAI,EAAA;QAACrI,SAAU,EAAA;OAAI,CAAA;AACpC;AACA,IAAOqI,OAAAA,GAAAA;AACX,GAAA;AAEJ;AATSD,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA;AAeT,eAAsBE,kBAAkB7I,OAA2B,EAAA;AAC/D,EAAM8I,MAAAA,GAAAA,GAAe,MAAMlG,qBAAAA,EAAAA;AAC3BkG,EAAAA,GAAAA,CAAIC,OAAiBtJ,GAAAA,OAAAA,CAAQC,GAAIC,CAAAA,QAAAA,IAAYF,QAAQD,GAAG,EAAA;AACxDsJ,EAAAA,GAAAA,CAAI1I,UAAiBL,cAAAA,EAAAA;AACrB+I,EAAAA,GAAAA,CAAIjB,UAAiB1J,GAAAA,KAAAA,CAAKqC,QAASf,CAAAA,OAAAA,CAAQD,GAAG,EAAA,EAAGsJ,GAAI1I,CAAAA,OAAO,CAAE4I,CAAAA,UAAAA,CAAW7K,KAAK8K,CAAAA,GAAAA,EAAI,GAAA,CAAA;AAClFH,EAAAA,GAAAA,CAAI/F,WAAiB5E,GAAAA,KAAAA,CAAK0B,IAAKiJ,CAAAA,GAAAA,CAAI1I,SAAS,eAAA,CAAA;AAC5C0I,EAAII,GAAAA,CAAAA,cAAAA,GAAiB/K,KAAKqC,CAAAA,QAAAA,CAASf,OAAQD,CAAAA,GAAAA,EAAMsJ,EAAAA,GAAAA,CAAI/F,WAAW,CAAA,CAAEzB,OAAQ,CAAA,KAAA,EAAM,GAAA,CAAA;AAChFwH,EAAAA,GAAAA,CAAItB,SAAiBrJ,GAAAA,KAAAA,CAAK0B,IAAKiJ,CAAAA,GAAAA,CAAI1I,SAAQ,SAAA,CAAA;AAC3C0I,EAAIK,GAAAA,CAAAA,SAAAA,GAAiB7B,iBAAkB8B,CAAAA,IAAAA,CAAKN,GAAAA,CAAAA;AAC5CA,EAAAA,GAAAA,CAAIlB,QAAiBD,GAAAA,kBAAAA,CAAmBU,IAAKS,CAAAA,GAAAA,EAAI9I,OAAAA,CAAAA;AACjD8I,EAAIxE,GAAAA,CAAAA,MAAAA,GAAiBA,OAAO8E,CAAAA,IAAAA,CAAKN,GAAAA,CAAAA;AACjCA,EAAAA,GAAAA,CAAIO,0BAA0BV,MAAON,CAAAA,IAAAA,CAAKS,KAAI,qBAAA,CAAA,CAAuBM,KAAKN,GAAAA,CAAAA;AAC1EA,EAAAA,GAAAA,CAAIQ,4BAA4BX,MAAON,CAAAA,IAAAA,CAAKS,KAAI,uBAAA,CAAA,CAAyBM,KAAKN,GAAAA,CAAAA;AAC9EA,EAAAA,GAAAA,CAAIS,iBAAiBZ,MAAON,CAAAA,IAAAA,CAAKS,KAAI,UAAA,CAAA,CAAYM,KAAKN,GAAAA,CAAAA;AACtDA,EAAAA,GAAAA,CAAIU,mBAAmBb,MAAON,CAAAA,IAAAA,CAAKS,KAAI,YAAA,CAAA,CAAcM,KAAKN,GAAAA,CAAAA;AAC1D,EAAA,IAAG,CAACA,GAAAA,CAAIW,UAAYX,EAAAA,GAAAA,CAAIW,aAAalD,CAAAA,EAAAA;AACrC,EAAA,IAAG,CAACuC,GAAAA,CAAIY,UAAYZ,EAAAA,GAAAA,CAAIY,aAAavD,EAAAA,EAAAA;AACrC/G,EAAOC,MAAAA,CAAAA,MAAAA,CAAOyJ,KAAI9I,OAAAA,CAAAA;AAClB8I,EAAAA,GAAAA,CAAIV,GAAMD,GAAAA,YAAAA,CAAaE,IAAKS,CAAAA,GAAAA,EAAI9I,OAAAA,CAAAA;AAChC,EAAO8I,OAAAA,GAAAA;AACX;AApBsBD,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;ACpHf,SAASc,cAAc3F,IAAW,EAAA;AACrC,EAAA,IAAI4F,EAAI,GAAA,CAAA;AACR,EAAMC,MAAAA,OAAAA,GAAU1L,KAAK2L,CAAAA,OAAAA,CAAQ9F,IAAAA,CAAAA;AAC7B,EAAA,OAAM,IAAK,EAAA;AACP,IAAM+F,MAAAA,OAAAA,GAAW/F,KAAK1C,OAAQuI,CAAAA,OAAAA,EAAQ,QAAQD,EAAAA,EAAAA,CAAAA,EAAMC,OAAAA,CAAS,CAAA,CAAA;AAC7D,IAAA,IAAG,CAACvL,EAAAA,CAAGwB,UAAWiK,CAAAA,OAAAA,CAAS,EAAA;AACvB,MAAOA,OAAAA,OAAAA;AACX;AACJ;AACJ;AATgBJ,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;ACOT,SAASK,eAAeC,KAAuB,EAAA;AAElD,EAAA,MAAMC,WAAclM,GAAAA,CAAAA,EAAwByB,IAAAA,OAAAA,CAAQD,GAAG,EAAA;AAEvD,EAAA,MAAM2K,aAAgBhM,GAAAA,KAAAA,CAAK+I,OAAQgD,CAAAA,WAAAA,EAAY,YAAA,CAAA;AAE/C,EAAA,IAAG,CAAC5L,EAAAA,CAAGwB,UAAWqK,CAAAA,aAAAA,CAAe,EAAA;AAC7B7L,IAAAA,EAAAA,CAAG8L,aAAcD,CAAAA,aAAAA,EAAc,EAAA,CAAA;AACnC;AAEA,EAAA,MAAM7E,OAAUhH,GAAAA,EAAAA,CAAG0C,YAAamJ,CAAAA,aAAAA,EAAeE,QAAQ,EAAA;AAEvD,EAAMC,MAAAA,KAAAA,GAAQhF,OAAQ5B,CAAAA,KAAAA,CAAM,IAAA,CAAA;AAE5B,EAAA,MAAM6G,QAAWnG,GAAAA,KAAAA,CAAMC,OAAQ4F,CAAAA,KAAAA,IAASA,KAAQ,GAAA;AAACA,IAAAA;;AAEjDM,EAASjC,QAAAA,CAAAA,OAAAA,CAAQtE,CAAAA,IAAAA,KAAAA;AAEb,IAAGsG,IAAAA,KAAAA,CAAME,QAASxG,CAAAA,IAAAA,CAAM,EAAA;AACpB,MAAA;AACJ;AAEAsG,IAAAA,KAAAA,CAAMxC,KAAK9D,IAAAA,CAAAA;GACf,CAAA;AAEA1F,EAAAA,GAAG8L,aAAcD,CAAAA,aAAAA,EAAcG,KAAMzK,CAAAA,IAAAA,CAAK,IAAA,CAAA,CAAA;AAC9C;AA1BgBmK,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;;;ACAT,SAASS,SAAAA,CAAUC,KAAWC,KAAM,GAAA;AAAC,EAAA,GAAA;AAAI,EAAA;AAAI,CAAA,EAAA;AAChD,EAAA,IAAIC,KAAQ,GAAA,CAAA;AACZ,EAAA,IAAIC,MAAMH,GAAIlC,CAAAA,MAAAA;AACd,EAAA,OAAMoC,QAAMC,GAAOF,IAAAA,KAAAA,CAAMH,SAASE,GAAIE,CAAAA,KAAAA,CAAM,CAAE,EAAA;AAC1CA,IAAAA,KAAAA,EAAAA;AACJ;AACA,EAAMC,OAAAA,GAAAA,GAAID,SAASD,KAAMH,CAAAA,QAAAA,CAASE,IAAIG,GAAI,GAAA,CAAA,CAAE,CAAE,EAAA;AAC1CA,IAAAA,GAAAA,EAAAA;AACJ;AACA,EAAOH,OAAAA,GAAAA,CAAIjC,SAAUmC,CAAAA,KAAAA,EAAMC,GAAAA,CAAAA;AAC/B;AAVgBJ,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;;;ACJhB,IAAMK,YAAe,GAAA,sEAAA;AAiBd,SAASC,SAAAA,CAAU/I,IAAagJ,EAAAA,UAAAA,EAAmBhL,OAA0B,EAAA;AAChF,EAAA,IAAI,EAAE0J,UAAAA,EAAetK,GAAAA,MAAAA,CAAOC,MAAO,CAAA;IAACqK,UAAY,EAAA;AAAM,GAAA,EAAE1J,OAAAA,CAAAA;AACxD,EAAA,IAAG0J,eAAe,MAAO,EAAA;AACrBA,IAAAA,UAAAA,GAAaoB,YAAaG,CAAAA,IAAAA,CAAKjJ,IAAAA,CAAAA,GAAQ,KAAQ,GAAA,IAAA;AACnD;AACA,EAAIkJ,IAAAA,GAAAA;AACJ,EAAGxB,IAAAA,UAAAA,KAAe,IAAQA,IAAAA,UAAAA,KAAe,KAAM,EAAA;AAC3CwB,IAAAA,GAAAA,GAAM,IAAIzJ,MAAAA,CAAO,CAAqBuJ,kBAAAA,EAAAA,UAAAA,CAAgD,oCAAA,CAAA,CAAA;GACrF,MAAA;AACDE,IAAAA,GAAAA,GAAM,IAAIzJ,MAAAA,CAAO,CAAiCuJ,8BAAAA,EAAAA,UAAAA,CAA0D,8CAAA,CAAA,CAAA;AAChH;AACA,EAAOE,OAAAA,GAAAA,CAAID,KAAKjJ,IAAAA,CAAAA;AACpB;AAZgB+I,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;;;ACtBhB,IAAMD,aAAe,GAAA,sEAAA;AAOd,SAASK,SAAUnJ,CAAAA,IAAAA,EAAYoJ,UAAmBJ,EAAAA,UAAAA,EAAmBhL,OAAyB,EAAA;AACjG,EAAA,IAAI,EAAE0J,UAAAA,EAAW2B,aAAa,EAAA,GAAKjM,OAAOC,MAAO,CAAA;IAC7CqK,UAAe,EAAA,MAAA;IACf2B,aAAe,EAAA;AACnB,GAAA,EAAErL,OAAAA,CAAAA;AAEF,EAAA,IAAG0J,eAAe,MAAO,EAAA;AACrBA,IAAAA,UAAAA,GAAaoB,aAAaG,CAAAA,IAAAA,CAAKjJ,IAAAA,CAAAA,GAAQ,KAAQ,GAAA,IAAA;AACnD;AACA,EAAA,IAAG+I,SAAU/I,CAAAA,IAAAA,EAAKgJ,UAAWhL,EAAAA,OAAAA,CAA6B,EAAA;AACtD,IAAOgC,OAAAA,IAAAA;GACN,MAAA;AACD,IAAMsJ,MAAAA,UAAAA,GAAa5B,UAAc,IAAA,KAAA,GAAU,CAAWsB,QAAAA,EAAAA,UAAAA,CAAsBI,SAAAA,EAAAA,UAAAA,CAAgB,CAAA,CAAA,GAAA,CAAA,SAAA,EAAYJ,UAAAA,CAAAA,SAAAA,EAAsBI,UAAAA,CAAAA,CAAAA,CAAAA;AAE9H,IAAA,IAAIG,SAAY,GAAA,KAAA;AAGhBvJ,IAAAA,IAAAA,GAAOA,KAAKV,OAAQ+J,CAAAA,aAAAA,EAAc,CAACjJ,OAAQoJ,EAAAA,WAAAA,EAAYC,eAAcC,SAAAA,KAAAA;AACjEH,MAAY,SAAA,GAAA,IAAA;AACZ,MAAOnJ,OAAAA,OAAAA,CAAQd,QAAQmK,aAAcD,EAAAA,WAAAA,GAAY,OAAKF,UAAa,GAAA,IAAA,GAAOG,aAAgB,GAAA,IAAA,GAAOC,SAAAA,CAAAA;KACrG,CAAA;AACA,IAAA,IAAG,CAACH,SAAU,EAAA;AACVvJ,MAAAA,IAAAA,GAAOsJ,aAAa,IAAOtJ,GAAAA,IAAAA;AAC/B;AACJ;AACA,EAAOA,OAAAA,IAAAA;AACX;AA1BgBmJ,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;;;ACCT,SAASQ,EAAAA,CAAS1H,EAAU2H,EAAAA,EAAAA,GAAe,KAAe,EAAA;AAC7D,EAAG,IAAA,OAAO3H,EAAQ,IAAA,QAAA,EAAiB,OAAA,IAAA;AAGnC,EAAA,IAFG,OAAOA,EAAAA,IAAQ,QAEf2H,IAAAA,EAAAA,EAAe,OAAA,KAAA;AAClB,EAAG,IAAA;AACC,IAAG3H,IAAAA,EAAAA,CAAM,QAAS,CAAA,GAAG,CAAE,EAAA;AACnB,MAAI4H,IAAAA,EAAAA,GAAI,WAAW5H,EAAK,CAAA;AACxB,MAAGA,OAAAA,EAAAA,CAAM,SAAS,GAAG,CAAA,GACV,CAAC,KAAM4H,CAAAA,EAAC,CAAK,IAAA,MAAA,CAAOA,EAAC,CAAA,CAAE,WAAS5H,EAAM,CAAA,MAAA,GAAO,CAE7C,GAAA,CAAC,KAAM4H,CAAAA,EAAC,KAAK,MAAOA,CAAAA,EAAC,CAAE,CAAA,MAAA,KAAS5H,EAAM,CAAA,MAAA;KAEhD,MAAA;AACD,MAAI4H,IAAAA,EAAAA,GAAI,SAAS5H,EAAK,CAAA;AACtB,MAAO,OAAA,CAAC,MAAM4H,EAAC,CAAA,IAAK,OAAOA,EAAC,CAAA,CAAE,WAAS5H,EAAM,CAAA,MAAA;AACjD;GACE,CAAA,MAAA;AACF,IAAO,OAAA,KAAA;AACX;AACJ;AApBgB0H,MAAAA,CAAAA,EAAAA,EAAAA,GAAAA,CAAAA;;;ACHT,SAASG,YAAYxG,OAAc,EAAA;AACtC,EAAA,OAAOqG,GAASrG,OAAAA,CAAAA;AACpB;AAFgBwG,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;ACET,SAASnD,QAAOoD,KAAY,EAAA;AAC/BA,EAAQ5N,KAAAA,GAAAA,KAAAA,CAAKkC,UAAW0L,CAAAA,KAAAA,CAASA,GAAAA,KAAAA,GAAQ5N,MAAK0B,IAAKJ,CAAAA,OAAAA,CAAQD,GAAG,EAAA,EAAGuM,KAAAA,CAAAA;AACjE,EAAA,IAAG,CAACzN,EAAAA,CAAGwB,UAAWiM,CAAAA,KAAAA,CAAO,EAAA;AACrBzN,IAAAA,EAAAA,CAAGgC,UAAUyL,KAAM,EAAA;MAACxL,SAAU,EAAA;KAAI,CAAA;AACtC;AACA,EAAOwL,OAAAA,KAAAA;AACX;AANgBpD,MAAAA,CAAAA,OAAAA,EAAAA,QAAAA,CAAAA;;;ACHT,SAASqD,YAAAA,CAAatB,GAAWuB,EAAAA,MAAAA,GAAgB,CAAC,EAAA;AACrD,EAAMC,MAAAA,WAAAA,GAAc,GAAIC,CAAAA,MAAAA,CAAOF,MAAAA,CAAAA;AAC/B,EAAA,MAAM3B,QAAQI,GAAIhH,CAAAA,KAAAA,CAAM,IAAA,CAAMhC,CAAAA,GAAAA,CAAI,CAAC0K,IAAAA,KAAAA;AAC/B,IAAGA,IAAAA,IAAAA,CAAKtI,UAAWoI,CAAAA,WAAAA,CAAa,EAAA;AAC5BE,MAAOA,IAAAA,GAAAA,IAAAA,CAAK3D,SAAUyD,CAAAA,WAAAA,CAAY1D,MAAM,CAAA;AAC5C;AACA,IAAO4D,OAAAA,IAAAA;GACX,CAAA;AACA,EAAO9B,OAAAA,KAAAA,CAAMzK,KAAK,IAAA,CAAA;AACtB;AATgBmM,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;ACHhB,eAAsBK,SAAAA,CAAiBC,MAAyB/H,YAAgB,EAAA;AAC5E,EAAI,IAAA,OAAO+H,SAAS,QAAU,EAAA;AAC1BA,IAAO,IAAA,GAAA;AAACA,MAAAA;;AACZ;AACA,EAAA,KAAA,MAAWC,OAAOD,IAAM,EAAA;AACpB,IAAI,IAAA;AACA,MAAA,MAAME,QAAW,GAAA,MAAM/G,KAAMgH,CAAAA,GAAAA,CAAIF,GAAAA,CAAAA;AACjC,MAAIC,IAAAA,QAAAA,CAAS5G,WAAW,GAAK,EAAA;AACzB,QAAO9E,OAAAA,IAAAA,CAAKC,KAAMyL,CAAAA,QAAAA,CAASjH,IAAI,CAAA;AACnC;AACJ,KAAA,CAAA,OAAS5E,KAAO,EAAA;AAChB;AACJ;AACA,EAAO4D,OAAAA,YAAAA;AACX;AAdsB8H,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;;;ACWf,SAASK,YAAAA,CAAaC,OAAaC,IAA2B,EAAA;AACjE,EAAA,IAAIxO,KAAIuO,KAAMtC,CAAAA,QAAAA,EAAW/I,CAAAA,OAAAA,CAAQ,YAAY,EAAA,CAAA;AAC7C,EAAGsL,IAAAA,IAAAA,IAAQ,OAAOA,IAAAA,KAAQ,QAAS,EAAA;AAC/BxN,IAAO8E,MAAAA,CAAAA,OAAAA,CAAQ0I,IAAAA,CAAMtE,CAAAA,OAAAA,CAAQ,CAAC,CAACuE,EAAAA,EAAEhB,EAAAA,CAAE,KAAA;AAC/BzN,MAAAA,EAAIA,GAAAA,EAAAA,CAAE4K,UAAW6D,CAAAA,EAAAA,EAAEhB,EAAAA,CAAAA;KACvB,CAAA;AACJ;AACA,EAAOzN,OAAAA,EAAAA;AACX;AARgBsO,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;;;ACiBhB,IAAMI,aAAe,GAAA;EACjB,mBAAsB,EAAA;AAClB,IAAA,oCAAA;AACA,IAAA;;EAEJ,iBAAoB,EAAA;AAChB,IAAA;;AAER,CAAA;AAKA,SAASC,cAAAA,CAAe/K,IAAYgL,EAAAA,QAAAA,GAAS,IAAI,EAAA;AAC7C5N,EAAO8E,MAAAA,CAAAA,OAAAA,CAAQ4I,aAAAA,CAAexE,CAAAA,OAAAA,CAAQ,CAAC,CAAC2E,QAAAA,EAASC,OAAAA,CAAQ,KAAA;AACrD,IAAA,IAAGD,SAASvJ,KAAM,CAAA,GAAA,CAAK8G,CAAAA,QAAAA,CAASyC,QAAAA,CAAU,EAAA;AACtCC,MAAQ5E,OAAAA,CAAAA,OAAAA,CAAQqE,CAAAA,KAAAA,KAAAA;AACZ3K,QAAOA,IAAAA,GAAAA,IAAAA,CAAKgH,UAAW2D,CAAAA,KAAAA,EAAM,EAAA,CAAA;OACjC,CAAA;AACJ;GACJ,CAAA;AACA,EAAO3K,OAAAA,IAAAA;AACX;AATS+K,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAgBT,IAAMI,iBAAoB,GAAA;AACtB,EAAA,sFAAA;AACA,EAAA;;AAGJ,SAASC,qBAAqBpN,OAAsD,EAAA;AAChF,EAAA,MAAM,EAAEkC,UAAa,GAAA;AAAC,IAAA,GAAA;AAAI,IAAA;KAAOC,eAAgB,GAAA;AAAC,IAAA,WAAA;AAAY,IAAA;KAAmBnC,GAAAA,OAAAA;AACjF,EAAOmN,OAAAA,iBAAAA,CAAkBzL,GAAIiL,CAAAA,CAAAA,KAAAA,KAAAA;AACzB,IAAO,OAAA,IAAIlL,MAAOiL,CAAAA,YAAAA,CAAaC,KAAM,EAAA;MACjC,YAAmBzK,EAAAA,UAAAA,CAAWR,IAAIe,CAAAA,EAAAA,KAAGrB,YAAYqB,EAAAA,CAAAA,CAAI5C,CAAAA,IAAAA,CAAK,GAAA,CAAA;MAC1D,iBAAmBsC,EAAAA,eAAAA,CAAgBT,IAAIe,CAAAA,EAAAA,KAAGrB,YAAYqB,EAAAA,CAAAA,CAAI5C,CAAAA,IAAAA,CAAK,GAAA;AACnE,KAAA,GAAG,IAAA,CAAA;GACP,CAAA;AACJ;AARSuN,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAmBF,SAASC,6BAAAA,CAA8BrL,MAAYhC,OAA8B,EAAA;AACpF,EAAA,MAAM,EAAEkC,UAAAA,EAAYC,eAAe,EAAA,GAAK/C,OAAOC,MAAO,CAAA;IAClD6C,UAAiB,EAAA;AAAC,MAAA,GAAA;AAAI,MAAA;;IACtBC,eAAiB,EAAA;AAAC,MAAA,WAAA;AAAY,MAAA;;AAClC,GAAA,EAAEnC,OAAAA,CAAAA;AACF,EAAI+F,IAAAA,MAAAA;AACJ,EAAA,IAAIX,WAAyB,EAAA;AAE7B,EAAA,MAAM+H,qBAAoBC,oBAAqB,CAAA;AAAElL,IAAAA,UAAAA;AAAYC,IAAAA;GAAgB,CAAA;AAE7E,EAAA,KAAA,IAAQwK,SAASQ,kBAAkB,EAAA;AAC/B,IAAA,OAAA,CAAQpH,MAAS4G,GAAAA,KAAAA,CAAMW,IAAKtL,CAAAA,IAAAA,OAAW,IAAM,EAAA;AAEzC,MAAI+D,IAAAA,MAAAA,CAAOwH,KAAUZ,KAAAA,KAAAA,CAAMa,SAAW,EAAA;AACpCb,QAAMa,KAAAA,CAAAA,SAAAA,EAAAA;AACR;AACA,MAAM7I,MAAAA,IAAAA,GAAOoB,OAAO0H,MAAQ9I,EAAAA,IAAAA;AAC5B,MAAA,IAAGA,IAAK,EAAA;AACJS,QAAAA,QAAAA,CAAS0C,IAAK,CAAA;UACZtF,OAASmC,EAAAA,IAAAA;UACT+I,IAAS,EAAA;AAAE9C,YAAAA,KAAAA,EAAM7E,MAAOwH,CAAAA,KAAAA;AAAO1C,YAAAA,GAAAA,EAAI9E,MAAOwH,CAAAA,KAAAA,GAAMxH,MAAO,CAAA,CAAA,CAAGyC,CAAAA;AAAO;SACnE,CAAA;AACJ;AACJ;AACJ;AACA,EAAOpD,OAAAA,QAAAA;AACV;AA1BeiI,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AA6BT,SAASM,uBAAAA,CAAwB3L,MAAYhC,OAA8B,EAAA;AAC9E,EAAA,MAAM,EAAEgE,IAAAA,EAAMlB,UAAYkK,EAAAA,QAAAA,EAAahN,GAAAA,OAAAA;AACvC,EAAA,MAAM4N,SAAY5J,GAAAA,IAAAA,GAAOD,gBAAiBC,CAAAA,IAAAA,EAAMlB,UAAAA,CAAa,GAAA,SAAA;AAE7Dd,EAAO+K,IAAAA,GAAAA,cAAAA,CAAe/K,MAAKgL,QAAAA,CAAAA;AAE3B,EAAM5H,MAAAA,QAAAA,GAAWiI,6BAA8BrL,CAAAA,IAAAA,EAAKhC,OAAAA,CAAAA;AAEpD,EAAOoF,OAAAA,QAAAA,CAAS1D,GAAI,CAAA,CAACc,OAAe,MAAA;IAChCoK,IAAKzN,EAAAA,MAAAA;IACLa,OAAQb,EAAAA,MAAAA;AACRyO,IAAAA,SAAAA;AACA5J,IAAAA,IAAAA;IACA,GAAGxB;GACP,CAAA,CAAA;AACJ;AAfgBmL,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAyBT,SAASE,eAAAA,CAAgB7L,MAAYhC,OAA+B,EAAA;AACvE,EAAO8N,MAAAA,IAAAA,GAAS1O,OAAOC,MAAO,CAAA;IAC1B2N,QAAY,EAAA,IAAA;AACZlK,IAAAA,UAAAA,EAAY;AAChB,GAAA,EAAE9C,OAAAA,CAAAA;AACF,EAAO2N,OAAAA,uBAAAA,CAAwB3L,MAAK8L,IAAAA,CAAAA;AACxC;AANgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;;;ACrIT,SAASE,GAAcC,EAAgB,EAAA;AAC1C,EAAA,IAAI,OAAOA,EAAAA,IAAQ,QAAYA,IAAAA,EAAAA,KAAQ,MAAa,OAAA,KAAA;AACpD,EAAIC,IAAAA,EAAAA,GAAQ,MAAO,CAAA,cAAA,CAAeD,EAAG,CAAA;AACrC,EAAIC,IAAAA,EAAAA,KAAU,MAAa,OAAA,IAAA;AAE3B,EADIC,KAAAA,IAAAA,EAAAA,GAAYD,EACT,EAAA,MAAA,CAAO,cAAeC,CAAAA,EAAS,CAAM,KAAA,IAAA,IACxCA,EAAAA,GAAY,MAAO,CAAA,cAAA,CAAeA,EAAS,CAAA;AAE/C,EAAA,OAAOD,EAAUC,KAAAA,EAAAA;AACrB;AATgBH,MAAAA,CAAAA,EAAAA,EAAAA,GAAAA,CAAAA;;;ACWT,SAASI,EAAAA,CAAKC,EAAuBC,EAAAA,EAAAA,EAAgBC,GAA+B,EAAA;AACvF,EAAIC,IAAAA,EAAAA,GAA2BR,EAAcO,CAAAA,GAAa,CAAI,GAAA,MAAA,CAAO,OAAO,EAAA,EAAGA,GAAa,CAAA,GAAI,EAAA;AAChG,EAAA,OAAG,OAAOD,EAAAA,IAAS,UACf,GAAA,MAAA,CAAO,OAAQD,CAAAA,EAAM,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC7F,EAAItE,EAAAA,EAAK,CAAK,KAAA;AACxCoK,IAAAA,EAAAA,CAAK,KAAKD,EAAO7F,EAAAA,EAAAA,EAAItE,EAAK,CACzBsK,KAAAA,EAAAA,CAAUhG,EAAG,CAAItE,GAAAA,EAAAA,CAAAA;GAExB,CAAA,GAAA,CAEqB,KAAM,CAAA,OAAA,CAAQoK,EAAI,CAAA,GAAIA,EAAO,GAAA,CAACA,EAAI,CAAA,EACjD,OAAQG,CAAAA,CAAAA,EAAQ,KAAA;AACfA,IAAAA,EAAAA,IAASJ,EAAWA,IAAAA,EAAAA,CAAOI,EAAK,CAAA,KAAI,WACpCD,EAAUC,CAAAA,EAAK,CAAKJ,GAAAA,EAAAA,CAAOI,EAAK,CAAA,CAAA;AAExC,GAAC,CAEED,EAAAA,EAAAA;AACX;AAjBgBJ,MAAAA,CAAAA,EAAAA,EAAAA,GAAAA,CAAAA;;;ACOhB,IAAMM,UAAa,GAAA,4CAAA;AAEnB,SAASC,oBAAoB/L,KAAY,EAAA;AACrC,EAAIoD,IAAAA,MAAAA;AACJ,EAAA,IAAI4I,WAA8B,EAAC;AACnC,EAAA,OAAA,CAAQ5I,MAAS0I,GAAAA,UAAAA,CAAWnB,IAAK3K,CAAAA,KAAAA,OAAY,IAAM,EAAA;AAC/C,IAAA,MAAM,EAAEhB,IAAKsC,EAAAA,KAAAA,EAAU8B,GAAAA,MAAAA,CAAO0H,UAAU,EAAC;AACzC,IAAA,IAAG9L,QAAQsC,KAAM,EAAA;AACb0K,MAAAA,QAAAA,CAAShN,IAAAA,CAAQsC,GAAAA,KAAAA;AACrB;AACJ;AACA,EAAO0K,OAAAA,QAAAA;AACX;AAVSD,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAcT,IAAME,mBAAsB,GAAA;AACxB,EAAA;;AAEJ,SAASC,uBAAuB7O,OAAkC,EAAA;AAC9D,EAAA,MAAM,EAAGmC,eAAgB,GAAA;AAAC,IAAA,WAAA;AAAY,IAAA;KAAmBnC,GAAAA,OAAAA;AACzD,EAAO4O,OAAAA,mBAAAA,CAAoBlN,GAAIiL,CAAAA,CAAAA,KAAAA,KAAAA;AAC3B,IAAO,OAAA,IAAIlL,MAAOiL,CAAAA,YAAAA,CAAaC,KAAM,EAAA;MACjC,iBAAoBxK,EAAAA,eAAAA,CAAgBT,IAAIe,CAAAA,EAAAA,KAAGrB,YAAYqB,EAAAA,CAAAA,CAAI5C,CAAAA,IAAAA,CAAK,GAAA;AACpE,KAAA,GAAG,IAAA,CAAA;GACP,CAAA;AACJ;AAPSgP,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAYF,SAASC,sBAAAA,CAAuB9M,MAAYhC,OAAgC,EAAA;AAC/E,EAAM,MAAA,EAAEgE,MAAUhE,GAAAA,OAAAA;AAClB,EAAA,MAAM,EAAEmC,eAAAA,EAAoB/C,GAAAA,MAAAA,CAAOC,MAAO,CAAA;IACtC8C,eAAiB,EAAA;AAAC,MAAA,WAAA;AAAY,MAAA;;AAClC,GAAA,EAAEnC,OAAAA,CAAAA;AAEF,EAAA,MAAM4O,uBAAsBC,sBAAuB,CAAA;AAAE1M,IAAAA;GAAgB,CAAA;AAErE,EAAI4D,IAAAA,MAAAA;AACJ,EAAA,IAAIgJ,aAA6B,EAAA;AAEjC,EAAA,KAAA,IAAQpC,SAASiC,oBAAoB,EAAA;AACnC,IAAA,OAAA,CAAQ7I,MAAS4G,GAAAA,KAAAA,CAAMW,IAAKtL,CAAAA,IAAAA,OAAW,IAAM,EAAA;AAE3C,MAAI+D,IAAAA,MAAAA,CAAOwH,KAAUZ,KAAAA,KAAAA,CAAMa,SAAW,EAAA;AAClCb,QAAMa,KAAAA,CAAAA,SAAAA,EAAAA;AACV;AACA,MAAM7I,MAAAA,IAAAA,GAAOoB,OAAO0H,MAAQ9I,EAAAA,IAAAA;AAC5B,MAAA,MAAMhC,KAAQ+L,GAAAA,mBAAAA,CAAoB3I,MAAO0H,CAAAA,MAAAA,EAAQ9K,SAAS,EAAA,CAAA;AAC1D,MAAA,IAAGgC,IAAK,EAAA;AACJoK,QAAAA,UAAAA,CAAWjH,IAAK,CAAA;UACZtF,OAAQmC,EAAAA,IAAAA;UACR+I,IAAK,EAAA;AACD9C,YAAAA,KAAAA,EAAO7E,MAAOwH,CAAAA,KAAAA;AACd1C,YAAAA,GAAAA,EAAK9E,MAAOwH,CAAAA,KAAAA,GAAQxH,MAAO,CAAA,CAAA,CAAGyC,CAAAA;AAClC,WAAA;AACAxE,UAAAA,IAAAA;AACA,UAAA,GAAGmK,GAAKxL,KAAM,EAAA;AACV,YAAA,IAAA;AACA,YAAA,MAAA;AACA,YAAA,OAAA;AACA,YAAA,SAAA;AACA,YAAA,KAAA;AACA,YAAA,OAAA;AACA,YAAA,OAAA;AACA,YAAA;AACH,WAAA;SACH,CAAA;AACJ;AACJ;AACF;AACA,EAAOoM,OAAAA,UAAAA;AACX;AA1CgBD,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAsDT,SAASE,iBAAAA,CAAkBhN,MAAYhC,OAAiC,EAAA;AAC3E,EAAA,MAAM8N,IAAO1O,GAAAA,MAAAA,CAAOC,MAAO,CAAA,IAAGW,OAAAA,CAAAA;AAC9B,EAAM+O,MAAAA,UAAAA,GAA6BD,sBAAuB9M,CAAAA,IAAAA,EAAK8L,IAAAA,CAAAA;AAC/D,EAAOiB,OAAAA,UAAAA;AACX;AAJgBC,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA","file":"index.mjs","sourcesContent":["\nexport class InvalidProjectPathError extends Error{}\nexport class CircularRefError extends Error{}\nexport class TimeoutError extends Error{}","/**\n* ---=== FlexTools ===---\n* https://zhangfisher.github.com/flex-tools \n*/\nvar i=Object.create;var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var g=a=>{throw TypeError(a)};var o=(a=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(a,{get:(b,c)=>(typeof require<\"u\"?require:b)[c]}):a)(function(a){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+a+'\" is not supported')});var p=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var n=(a,b,c,d)=>{if(b&&typeof b==\"object\"||typeof b==\"function\")for(let e of k(b))!m.call(a,e)&&e!==c&&f(a,e,{get:()=>b[e],enumerable:!(d=j(b,e))||d.enumerable});return a};var q=(a,b,c)=>(c=a!=null?i(l(a)):{},n(b||!a||!a.__esModule?f(c,\"default\",{value:a,enumerable:true}):c,a));var h=(a,b,c)=>b.has(a)||g(\"Cannot \"+c);var r=(a,b,c)=>(h(a,b,\"read from private field\"),c?c.call(a):b.get(a)),s=(a,b,c)=>b.has(a)?g(\"Cannot add the same private member more than once\"):b instanceof WeakSet?b.add(a):b.set(a,c),t=(a,b,c,d)=>(h(a,b,\"write to private field\"),d?d.call(a,c):b.set(a,c),c);export{o as a,p as b,q as c,r as d,s as e,t as f};//# sourceMappingURL=chunk-R42SWOGE.mjs.map\n//# sourceMappingURL=chunk-R42SWOGE.mjs.map","import { VoerkaI18nPackageJsonSettings } from \"./types\"\r\nimport { getPackageJson } from \"flex-tools/package/getPackageJson\"\r\n \r\n/**\r\n * \r\n * 从当前文件的package.json读取voerkai18n配置\r\n * \r\n */\r\nexport function getSettingsFromPackageJson(entry?:string):VoerkaI18nPackageJsonSettings{\r\n\tconst pkg = getPackageJson(entry,false)\r\n const settings = { entry: undefined }\r\n\tif(typeof(pkg)=='object' && \"voerkai18n\" in pkg){\r\n\t\tObject.assign(settings,pkg.voerkai18n)\r\n\t} \r\n\treturn settings\r\n}","/**\r\n *\r\n * 获取VoerkaI18n语言文件夹\r\n * \r\n */\r\n\r\nimport fs from \"node:fs\"\r\nimport path from \"node:path\" \r\nimport { getExistedDir } from \"flex-tools/fs/getExistedDir\"\r\nimport { LanguagesDirOptions } from \"./getLanguageDir\"\r\n\r\n \r\n/**\r\n * \r\n * 获取语言文件夹\r\n * \r\n * - 读取package.json中的voerkai18n字段\r\n * - 如果没有,则在当前文件夹下查找\r\n * - <src/languages>\r\n * - <languages>\r\n * \r\n * 如果目录不存在,则自动创建\r\n * \r\n * \r\n * @returns \r\n * @param location 指定入口文件夹\r\n * @param created 是否创建\r\n */\r\nexport function getDefaultLanguageDir():string{ \r\n const cwd = process.env.INIT_CWD || process.cwd()\r\n const srcPath = path.join(cwd,\"src\")\r\n if(fs.existsSync(srcPath)){\r\n return path.join(srcPath,\"languages\")\r\n }else{\r\n return path.join(cwd,\"languages\")\r\n } \r\n}\r\n","/**\r\n *\r\n * 获取VoerkaI18n语言文件夹\r\n * \r\n */\r\n\r\nimport { getSettingsFromPackageJson } from \"./getSettingsFromPackageJson\"\r\nimport fs from \"node:fs\"\r\nimport path from \"node:path\" \r\nimport { getDefaultLanguageDir } from \"./getDefaultLanguageDir\"\r\n\r\n\r\nexport type LanguagesDirOptions = {\r\n location? : string\r\n autoCreate? : boolean\r\n absolute? : boolean // 是否返回绝对路径\r\n}\r\n\r\n/**\r\n * \r\n * 获取语言工作文件夹\r\n * \r\n * - 读取package.json中的voerkai18n字段\r\n * - 如果没有,则在当前文件夹下查找\r\n * - <src/languages>\r\n * - <languages>\r\n * \r\n * 如果目录不存在,则自动创建\r\n * \r\n * \r\n * @returns \r\n * @param location 指定入口文件夹\r\n * @param created 是否创建\r\n */\r\nexport function getLanguageDir(options?:LanguagesDirOptions):string{ \r\n const { location,autoCreate,absolute } = Object.assign({\r\n autoCreate:true,\r\n absolute:true\r\n }, options) \r\n \r\n const cwd = process.env.INIT_CWD || process.cwd()\r\n\r\n try{\r\n const { entry } = getSettingsFromPackageJson(location) \r\n\r\n let langDir :string = entry || getDefaultLanguageDir() \r\n langDir = path.isAbsolute(langDir) ? langDir : path.join(cwd,langDir)\r\n\r\n if(autoCreate && !fs.existsSync(langDir)){\r\n fs.mkdirSync(langDir,{ recursive: true })\r\n }\r\n\r\n return absolute ? langDir : path.relative(cwd,langDir)\r\n\r\n }catch(e){\r\n console.error(\"获取语言文件夹失败\",e)\r\n return \"src/languages\"\r\n } \r\n}\r\n","import path from \"node:path\"\r\nimport fs from \"node:fs\"\r\nimport { getLanguageDir } from \"./getLanguageDir\"\r\n\r\nexport function getIdMap(idMapFile?:string): Record<string,string> | undefined{\r\n if(!idMapFile){\r\n const langDir = getLanguageDir({autoCreate:false,absolute:true})\r\n idMapFile = path.join(langDir,\"idMap.json\")\r\n } \r\n try{ \r\n if(fs.existsSync(idMapFile!)){\r\n return JSON.parse(fs.readFileSync(idMapFile!,{encoding:\"utf-8\"}))\r\n }\r\n }catch{\r\n\r\n } \r\n}","import fs from \"node:fs\";\r\nimport path from \"node:path\";\r\nimport { getLanguageDir } from \"./getLanguageDir\";\r\n\r\n/**\r\n * \r\n * 检查当前工程是否已经安装了voerkai18n支持\r\n * \r\n * @returns \r\n */\r\nexport function isVoerkaI18nInstalled(): boolean {\r\n const langDir = getLanguageDir({\r\n autoCreate: false\r\n });\r\n const settingsFile = path.join(langDir, \"settings.json\");\r\n return fs.existsSync(settingsFile); \r\n}","\r\nexport function escapeRegex(input:string) {\r\n return input.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\r\n}","/**\r\n * 将idMap应用到翻译结果中\r\n * \r\n */\r\n\r\nimport { escapeRegex } from \"./escapeRegex\"\r\n\r\n \r\n\r\n// 捕获翻译文本正则表达式二: 能够支持复杂的表达式,但是当提供不完整的t函数定义时,也会进行匹配提取 \r\n// const MessageRegex = /([ \\t\\^;\\{\\(\\,=\\'\\\"\\.\\[\\|\\+\\>])(t)\\(\\s*([\"']{1})(.*?)(\\3)/gm\r\n// const MessageComponentRegex = /<Translate\\s+[^>]*(?<![:@#%&*])message\\s*=\\s*(?:\"([^\"]+)\"|{[\"'`](.+?)[\"'`]}|{`([^`]+)`})/gm\r\n\r\nconst getMessageRegex = (names:string[]=['t'])=>{ \r\n return new RegExp(`([ \\\\t\\\\^;\\\\{\\\\(\\\\,=\\\\'\\\\\"\\\\.\\\\[\\\\|\\\\+\\\\>])(${names.map(name=>escapeRegex(name)).join(\"|\")})\\\\(\\\\s*([\"']{1})(.*?)(\\\\3)`,\"gm\") \r\n}\r\nconst getComponentRegex = (tags:string[]=['Translate'])=>{ \r\n return new RegExp(`<(${tags.map(tag=>escapeRegex(tag)).join(\"|\")})(\\\\s+[^>]*)(?<![:@#%&*])message\\\\s*=\\\\s*(?:\"([^\"]+)\"|{[\"'\\`](.+?)[\"'\\`]}|{\\`([^\\`]+)\\`})`,\"gm\") \r\n}\r\n\r\nexport type ApplyIdMapOptions = {\r\n tFuncNames?: string[]\r\n tComponentNames?:string[]\r\n}\r\n\r\nexport function applyIdMap(code:string,idMap:Record<string,string>,options?:ApplyIdMapOptions):string{ \r\n const { tFuncNames, tComponentNames } = Object.assign({\r\n tFuncNames:['t','$t'],\r\n tComponentNames:['Translate','v-translate']\r\n },options)\r\n return code.replace(getMessageRegex(tFuncNames),(matched,pre,tName,_,message,n)=>{ \r\n return `${pre}${tName}('${idMap[message] || message}'`\r\n }).replace(getComponentRegex(tComponentNames),(_,tagName,attrs,message)=>{\r\n return `<${tagName}${attrs}message=\"${idMap[message] || message}\"`\r\n })\r\n}\r\n\r\n\r\n// console.log(applyIdMap(String.raw`\r\n// t(\"aaa\") \r\n// t('bbb') \r\n// t(\"ccc\", {xxx:xxx})\r\n// t('ddd', [1,2,3,\"\"])\r\n// t(\"eee\", {xxx:xxx},{})\r\n// t('fff', [1,2,3,\"\"],{})\r\n// t(\"ggg\", {xxx:xxx},()=>{}) \r\n// t('hhh', [1,2,3,\"\"],()=>{}) \r\n// $t('iii', [1,2,3,\"\"],()=>{}) \r\n// `,{\r\n// \"aaa\":\"1\",\r\n// \"bbb\":\"2\",\r\n// \"ccc\":\"3\",\r\n// \"ddd\":\"4\",\r\n// \"eee\":\"5\",\r\n// \"fff\":\"6\",\r\n// \"ggg\":\"7\",\r\n// \"hhh\":\"8\" \r\n// }))\r\n","import { getLanguageDir } from \"./getLanguageDir\";\r\nimport { getSettingsFromPackageJson } from \"./getSettingsFromPackageJson\";\r\nimport path from \"node:path\"\r\nimport fs from \"node:fs\"\r\nimport type { VoerkaI18nLanguage, VoerkaI18nSettings } from \"@voerkai18n/runtime\";\r\n\r\n\r\nexport function getVoerkaI18nSettings():VoerkaI18nSettings{\r\n\r\n const packageJsonSettings = getSettingsFromPackageJson() \r\n\r\n const langDir = getLanguageDir({\r\n autoCreate: false\r\n })\r\n\r\n const settings = Object.assign({\r\n namespaces : {},\r\n },packageJsonSettings) as VoerkaI18nSettings\r\n\r\n \r\n const settingFile = path.join(langDir, \"settings.json\")\r\n if(fs.existsSync(settingFile)){\r\n Object.assign(settings, require(settingFile))\r\n } \r\n\r\n // @ts-ignore\r\n settings.defaultLanguage = (settings.languages || []).find((lang:VoerkaI18nLanguage) => lang.default)?.name\r\n\r\n // @ts-ignore\r\n settings.activeLanguage = (settings.languages || []).find((lang:VoerkaI18nLanguage) => lang.active)?.name\r\n\r\n return settings as VoerkaI18nSettings\r\n}","\r\nexport function getBcp47LanguageApi(osLocale:string = 'en-US') {\r\n try{\r\n return require(`bcp47-language-tags/${osLocale.split(\"-\")[0]}`)\r\n }catch(e){\r\n return require(\"bcp47-language-tags/en\")\r\n } \r\n}\r\n","import type { VoerkaI18nNamespaces } from '@voerkai18n/runtime'\r\nimport path from 'node:path'\r\n\r\n/**\r\n * \r\n * 返回filePath是否在nsPaths名称空间内\r\n * \r\n * inNamespace(\"a/b/c/xxx.js\",\"a/b\") == true\r\n * inNamespace(\"a/c/c/xxx.js\",\"a/b\") == false\r\n * \r\n * @param {*} filePath 文件路径\r\n * @param {*} nsPath 名称空间的路径\r\n * @returns \r\n */\r\nfunction inNamespace(filePath:string,nsPath:string){\r\n return !path.relative(nsPath,filePath).startsWith(\"..\") \r\n\r\n\r\n}\r\n/**\r\n * \r\n * 输入一个namespaces配置,\r\n * const namespaces = {\r\n * \"a\":\"src/a\",\r\n * \"b\":[\"src/b\",\"src/c\"],\r\n * \"c\":(file)=>file.startsWith(\"src/c\")\r\n * }\r\n * \r\n * 如果输入的文件在namespace指定的路径内,则返回namespace的名称\r\n * \r\n * \r\n * @param {*} file \r\n * @param {*} options.namespaces 名称空间配置 {<name>:[path,...,path],<name>:path,<name>:(file)=>{}}\r\n */\r\nexport function getFileNamespace(file:string,namespaces?:VoerkaI18nNamespaces):string{\r\n if(!namespaces) return \"default\"\r\n if(!file) return \"default\"\r\n const cwd = process.env.INIT_CWD || process.cwd()\r\n file = path.isAbsolute(file) ? file : path.join(cwd,file)\r\n for(let [name,value] of Object.entries(namespaces)){\r\n if(typeof(value)=== 'function'){\r\n if(value(file)===true) return name\r\n }else{\r\n const paths = Array.isArray(value) ? value : [value]\r\n for(let nsPath of paths){\r\n nsPath = path.isAbsolute(nsPath) ? nsPath : path.join(cwd,nsPath)\r\n if(inNamespace(file,nsPath)){\r\n return name\r\n }\r\n }\r\n }\r\n }\r\n return \"default\"\r\n}","/**\r\n * 在languages/.apikey.json中获取对应的API Key\r\n * \r\n * .apikey.json文件格式如下:\r\n * {\r\n * \"baidu\": {\r\n * \r\n * },\r\n * \"deepseek\": {\r\n * \"appid\": \"xxxx\",\r\n * }\r\n * }\r\n * \r\n * \r\n * 之所有api key放在单独的文件中,是因为api key是敏感信息,不应该放在代码中\r\n * 所以应该在.gitignore中忽略这个文件\r\n * \r\n */\r\n\r\nimport { getLanguageDir } from \"./getLanguageDir\"\r\nimport path from \"node:path\"\r\nimport fs from 'node:fs';\r\n\r\nexport function getApi<T extends Record<string,any> =Record<string,any>>(name:string,defaultValue?:Partial<T>):T | undefined{\r\n // 读取.apikey.json文件\r\n const langDir = getLanguageDir()\r\n const apikeyFile = path.join(langDir,\"./api.json\")\r\n if(fs.existsSync(apikeyFile)){ \r\n const apikeys = JSON.parse(fs.readFileSync(apikeyFile,\"utf-8\"))\r\n return apikeys[name] || defaultValue \r\n }\r\n return defaultValue as T\r\n}","import axios from 'axios';\r\n\r\n\r\nexport type AiRole = {\r\n role: string\r\n content: string\r\n}\r\nexport interface AiQuestionOptions {\r\n model?: string\r\n temperature?: number\r\n apiUrl: string\r\n apiKey: string\r\n roles?: AiRole[]\r\n}\r\n\r\nexport interface AiResponse {\r\n choices: {\r\n message: {\r\n content: string\r\n }\r\n }[]\r\n}\r\n\r\nexport type AiError = Error & {\r\n response?: Response\r\n data?: any\r\n}\r\n\r\n/**\r\n * 输入一个代码块,返回代码块中的所有字符串字面量\r\n * @param text \r\n */\r\nfunction removeCodeBlock(text:string){\r\n return text.replace(/^```\\w?.*?[\\n\\r]+/gm,\"\")\r\n .replace(/```\\s*$/gm,\"\")\r\n}\r\n\r\n/**\r\n * \r\n * 向AI提问并返回结果\r\n * \r\n * 目标AI大模型的API是OpenAI兼容的接口,可以使用OpenAI的API Key\r\n * \r\n * 如:\r\n * \r\n * ```ts\r\n * const answer = await aiQuestion(\"今天天气如何\",{\r\n * apiUrl:\"https://api.deepseek.ai\",\r\n * model:\"gpt-3.5-turbo\",\r\n * apiKey:\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\r\n * })\r\n * \r\n * \r\n * @param prompt \r\n * @param options \r\n */\r\nexport async function aiQuestion<T=string>(prompt:string,options?:AiQuestionOptions):Promise<T>{\r\n const { apiUrl,apiKey,temperature,model,roles } = Object.assign({\r\n temperature:1,\r\n roles:[]\r\n },options)\r\n\r\n const request = {\r\n messages:[\r\n {\r\n role:\"user\",\r\n content:prompt\r\n },\r\n ...roles\r\n ], \r\n model,\r\n temperature\r\n }\r\n // 使用fetch向API发送请求\r\n let data:any \r\n try{\r\n const res = await axios.post(apiUrl, request, {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Authorization\": `Bearer ${apiKey}`,\r\n \"Cache-Control\": \"no-cache\"\r\n }\r\n });\r\n if (res.status !== 200) {\r\n throw new Error(`API request failed with status ${res.status}: ${res.statusText}`);\r\n }\r\n data = res.data;\r\n const result = removeCodeBlock(data.choices[0].message.content.trim()) as T;\r\n return result;\r\n\r\n } catch (err:any) {\r\n throw new Error(`Error when calling AI api: ${err.message}`)\r\n }\r\n}\r\n","import { getPackageJson } from \"./getPackageJson\" \n\nexport type ModuleType = \"esm\" | \"cjs\" \n\nexport function getPackageModuleType(entry?:string):ModuleType | undefined{ \n try{\n let packageJson = getPackageJson(entry)\n if(packageJson){\n return packageJson.type==\"module\" ? \"esm\" : \"cjs\"\n } \n }catch{\n }\n}","/**\r\n * \r\n * 封装一个任意支持callback的同步函数为异步函数\r\n * \r\n * \r\n * \r\n * \r\n * promiseify(fs.readFile)('package.json', 'utf8').then().catch()\r\n * \r\n * \r\n * // 比如myFunc函数的第二个参数是callback,那么可以这样使用\r\n * function myfunc(a,callback,options){ \r\n * } \r\n * \r\n * promisedFunc(a,options).then().catch()\r\n * \r\n * \r\n * promisedFunc = promiseify(myfunc,{\r\n * buildArgs:(...args:any[],callback)=>{ // 将callback放到最后一个参数\r\n * return [args[0],callback,args[1]]\r\n * }\r\n * })\r\n * \r\n * 如果myFunc函数的callback不是标准nodejs callback样式,签名是这样: (a,b,err,c)=>{}\r\n * \r\n * 则需要自己实现handleCallback\r\n * \r\n * pr