@mchp-mcc/clock-16bit-driver 1.0.0 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://creator/webpack/bootstrap","webpack://creator/./generated_module/src/Utils.ts","webpack://creator/./generated_module/src/autoModule sync","webpack://creator/./generated_module/src/autoModule/AutoModuleHardware.ts","webpack://creator/./generated_module/src/autoModule/AutoModuleHelpers.tsx","webpack://creator/./generated_module/src/autoModule/getConfigData.ts","webpack://creator/./generated_module/src/creator.tsx","webpack://creator/./generated_module/src/interfaces/createPrototypeExports.ts","webpack://creator/./generated_module/src/interfaces/createPrototypeImports.ts","webpack://creator/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://creator/./node_modules/@microchip/scf-device/lib/CalculateRegisterValue.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Register.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Setting.js","webpack://creator/./node_modules/@microchip/scf-device/lib/util/Arrays.js","webpack://creator/./node_modules/path-browserify/index.js","webpack://creator/./node_modules/process/browser.js","webpack://creator/./src/CreatorFunctions.ts"],"names":["getKeys","obj","Object","getOwnPropertyNames","values","map","key","forEach","action","mapper","assertNotNull","val","msg","Error","toDictionary","arr","keyMapper","valueMapper","result","entry","createPrototypeImport","interfaceName","config","getConfigData","undefined","imports","isFullyAssigned","interfaces","getHardwareInterfaces","peripherals","i","length","imp","isAssigned","peripheral","getFriendlyInterfaceId","interfaceId","name","castComponent","component","category","getDefaultValue","overrideDefaultValues","type","defaultValue","value","getComboOptions","overrideOptions","hasConfigBits","indexOf","getRegisterValues","model","registers","peripheralName","regName","registerValue","reg","getHardware","getPeripheral","comment","valueAsHex","alias","settings","registerVal","CalculateRegisterValue","comments","set","setting","push","getComponentValue","getSettingBits","getComponent","deviceType","withNumberValue","getOptionValueByName","Number","asNumber","toString","toUpperCase","sortComments","register","sort","a","b","settingA","split","settingB","mask","join","setValNumber","getOptionByAlias","settingValue","valueAsDescription","bitName","getRegisterFromComponent","hardware","registerName","replace","toLowerCase","modifiedRegName","getSettingFromComponent","description","desc","porDefault","optionName","optionValue","options","option","getSettingDefaultIfPresent","overrideDefaultValue","getOptionByName","displayOptionSetting","getOverrideDefaultValue","getDerivedFunctions","getSettingOptionsIfPresent","masterComponentValue","filteredOptions","mode","filterModeOptions","operation","find","optionModes","match","filter","getProcessedHandle","handle","payload","label","moduleName","providerId","exportId","DependencySelector","noneSelection","createOptionEntry","createOptionLabel","dropdownOptions","thisImport","getImports","importId","shouldAllowUnselectDependency","names","generateDropdownOptions","isUnassignable","getModuleDefaultDescription","packageJson","require","scf","configPath","newConfig","ConfigBuilder","withDynamicConfigData","withDynamicComponents","build","getConfigFile","getDerivedFunction","dynamicComponents","getDynamicComponents","dynamicComponentMap","UIGroups","group","softwareData","fromNew","fromPath","path","__dirname","create","state","getCreatorFunctions","myCreatorFunctions","prototypeImports","createPrototypeImports","prototypeExports","createPrototypeExports","exports","isSingletonPerDevice","isEntryPoint","expName","exp","processExportInterfaces","int","newInterfaces","creatorFunctions","prototypeImport","isRequired","args","getCreatorImportArgs","shouldImport","importKey"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AChFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,GAAD,EAA2B;AAC9C;AACA,SAAOC,MAAM,CAACC,mBAAP,CAA2BF,GAA3B,CAAP;AACH,CAHM;AAKA,IAAMG,MAAM,GAAG,SAATA,MAAS,CAAUH,GAAV,EAA6C;AAC/D,SAAOD,OAAO,CAACC,GAAD,CAAP,CAAaI,GAAb,CAAiB,UAACC,GAAD;AAAA,WAAoBL,GAAG,CAACK,GAAD,CAAvB;AAAA,GAAjB,CAAP;AACH,CAFM;AAIA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CACnBN,GADmB,EAEnBO,MAFmB,EAGZ;AACPR,SAAO,CAACC,GAAD,CAAP,CAAaM,OAAb,CAAqB,UAACD,GAAD;AAAA,WAAuBE,MAAM,CAACF,GAAD,EAAML,GAAG,CAACK,GAAD,CAAT,CAA7B;AAAA,GAArB;AACH,CALM;AAOA,IAAMD,GAAG,GAAG,SAANA,GAAM,CACfJ,GADe,EAEfQ,MAFe,EAGT;AACN,SAAOT,OAAO,CAACC,GAAD,CAAP,CAAaI,GAAb,CAAiB,UAACC,GAAD;AAAA,WAAoBG,MAAM,CAACH,GAAD,EAAML,GAAG,CAACK,GAAD,CAAT,CAA1B;AAAA,GAAjB,CAAP;AACH,CALM;AASA,IAAMI,aAA+B,GAAG,SAAlCA,aAAkC,CAC3CC,GAD2C,EAE3CC,GAF2C,EAGX;AAChC,MAAID,GAAG,IAAI,IAAX,EAAiB;AACb,UAAM,IAAIE,KAAJ,CAAUD,GAAV,CAAN;AACH;AACJ,CAPM;AASA,IAAME,YAAY,GAAG,SAAfA,YAAe,CACxBC,GADwB,EAExBC,SAFwB,EAGxBC,WAHwB,EAIR;AAChB,MAAMC,MAAqB,GAAG,EAA9B;AACAH,KAAG,CAACR,OAAJ,CAAY,UAACY,KAAD,EAAW;AACnBD,UAAM,CAACF,SAAS,CAACG,KAAD,CAAV,CAAN,GAA2BF,WAAW,CAACE,KAAD,CAAtC;AACH,GAFD;AAGA,SAAOD,MAAP;AACH,CAVM,C;;;;;;;;;;;ACrCP;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA,4E;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AAEO,IAAME,qBAAqB,GAAG,SAAxBA,qBAAwB,CACjCC,aADiC,EAEjCC,MAFiC,EAGD;AAAA;;AAChCA,QAAM,GAAGC,oEAAa,CAACC,SAAD,EAAYF,MAAZ,CAAtB;AACA,oBAAOA,MAAP,+DAAO,QAAQG,OAAf,6EAAO,gBAAkBJ,aAAlB,CAAP,0DAAO,+BAAP;AACH,CANM;AAQA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAC3BD,OAD2B,EAE3BH,MAF2B,EAGjB;AAAA;;AACVA,QAAM,GAAGC,oEAAa,CAACC,SAAD,EAAYF,MAAZ,CAAtB,CADU,CAGV;;AACA,MAAMK,UAAU,GAAGC,qBAAqB,oCAACN,MAAD,6CAAC,SAAQO,WAAT,qEAAwB,EAAxB,CAAxC;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,UAAU,CAACI,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;AACxC,QAAME,GAAG,GAAGP,OAAO,CAACE,UAAU,CAACG,CAAD,CAAX,CAAnB;;AACA,QAAI,CAACE,GAAD,IAAQ,CAACC,sFAAU,CAACD,GAAD,CAAvB,EAA8B;AAC1B,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH,CAhBM,C,CAkBP;;AACA,IAAMJ,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,WAAD,EAAyC;AACnE,MAAMF,UAAoB,GAAGtB,iFAAG,CAACwB,WAAD,EAAc,UAACK,UAAD,EAAgB;AAAA;;AAC1D,oCAAOC,iFAAsB,CAACD,UAAU,CAACE,WAAX,CAAuBC,IAAxB,CAA7B,yEAA8D,EAA9D;AACH,GAF+B,CAAhC;AAGA,SAAOV,UAAP;AACH,CALD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCA;AAGA;AACA;AAEA;AACA;AACA;AAeO,IAAMW,aAAa,GAAG,SAAhBA,aAAgB,CACzBC,SADyB,EAEkB;AAC3C,UAAQA,SAAS,CAACC,QAAlB;AACI,SAAK,UAAL;AACI,aAAOD,SAAP;;AACJ,SAAK,QAAL;AACI,aAAOA,SAAP;;AACJ,SAAK,UAAL;AACI,aAAOA,SAAP;;AACJ;AACI,YAAM1B,KAAK,CAAC,4BAAD,CAAX;AARR;AAUH,CAbM;AAeA,IAAM4B,eAAe,GAAG,SAAlBA,eAAkB,CAC3BC,qBAD2B,EAE3BH,SAF2B,EAGsB;AAAA;;AACjD,kCACIG,qBADJ,aACIA,qBADJ,uBACIA,qBAAqB,CAAGH,SAAS,CAACF,IAAb,CADzB,yEAEKE,SAAS,CAACI,IAAV,KAAmB,UAAnB,GACKJ,SAAS,CAACK,YAAV,CAAuBC,KAD5B,GAEKN,SAAS,CAACK,YAJpB;AAMH,CAVM;AAYA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAC3BC,eAD2B,EAE3BR,SAF2B,EAGnB;AAAA;;AACR,6BAAOQ,eAAP,aAAOA,eAAP,uBAAOA,eAAe,CAAGR,SAAS,CAACF,IAAb,CAAtB,+DAA4CE,SAA5C,aAA4CA,SAA5C,gDAA4CA,SAAS,CAAEK,YAAvD,0DAA4C,sBAA0B,SAA1B,CAA5C;AACH,CALM;AAOA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAAC3B,aAAD,EAAoC;AAAA;;AAC7D,SAAO,0BAAAc,sBAAsB,CAACd,aAAD,CAAtB,gFAAuC4B,OAAvC,CAA+C,oBAA/C,MAAwE,CAAC,CAAhF;AACH,CAFM;AAIA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAC7BC,KAD6B,EAE7B9B,aAF6B,EAG7BC,MAH6B,EAIV;AAAA;;AACnB,MAAM8B,SAA2B,GAAG,EAApC;AACA9B,QAAM,GAAGC,oEAAa,CAAC4B,KAAD,EAAQ7B,MAAR,CAAtB;AACAD,eAAa,GAAGc,sBAAsB,CAACd,aAAD,CAAtC;AAEA,aAAAC,MAAM,UAAN,iEAAQO,WAAR,4EAAqBtB,OAArB,CAA6B,UAAC2B,UAAD,EAAgB;AAAA;;AACzC,QAAMmB,cAAc,6BAAGlB,sBAAsB,CAACD,UAAU,CAACE,WAAX,CAAuBC,IAAxB,CAAzB,2EAA0D,EAA9E;AACA,QAAIW,aAAa,CAACK,cAAD,CAAjB,EAAmC;AACnC,QACKhC,aAAa,IAAIG,SAAjB,IAA8B6B,cAAc,KAAKhC,aAAlD,IACA,CAACa,UAAU,CAACkB,SAFhB,EAII;AACJ,gBAAApD,sDAAO,0BAACkC,UAAU,CAACkB,SAAZ,yEAAyB,EAAzB,CAAP,sDAAqC7C,OAArC,CAA6C,UAAC+C,OAAD,EAAa;AAAA;;AACtD,UAAIC,aAAJ;AACA,UAAMC,GAAG,yBAAGL,KAAK,CAACM,WAAN,CAAkBJ,cAAlB,CAAH,gFAAG,mBAAmCK,aAAnC,GAAmDN,SAAtD,0DAAG,sBACRE,OADQ,CAAZ;;AAGA,UAAIE,GAAJ,EAAS;AAAA;;AACLD,qBAAa,GAAG;AACZI,iBAAO,EAAE,EADG;AAEZd,eAAK,EAAE,CAFK;AAGZe,oBAAU,EAAE,MAHA;AAIZvB,cAAI,EAAEmB,GAAF,aAAEA,GAAF,uBAAEA,GAAG,CAAEnB,IAJC;AAKZwB,eAAK,gBAAEL,GAAF,aAAEA,GAAF,uBAAEA,GAAG,CAAEK,KAAP,mDAAgBL,GAAhB,aAAgBA,GAAhB,uBAAgBA,GAAG,CAAEnB,IALd;AAMZyB,kBAAQ,EAAE;AANE,SAAhB;AAQH,OATD,MASO;AACH;AACH;;AAED,UAAMC,WAAW,GAAGC,uFAAsB,OAAtB,CAA2BR,GAA3B,CAApB;AACA,UAAMS,QAAkB,GAAG,EAA3B;AACA,gCAAA/B,UAAU,CAACkB,SAAX,kFAAuBE,OAAvB,EAAgC/C,OAAhC,CAAwC,UAAC2D,GAAD,EAAS;AAAA;;AAC7C,YAAMC,OAAmC,oBAAGX,GAAG,CAACM,QAAP,kDAAG,cAAeI,GAAG,CAACC,OAAnB,CAA5C;;AACA,YAAIA,OAAJ,EAAa;AAAA;;AACT,cAAIA,OAAO,CAACxB,IAAR,KAAiB,GAArB,EAA0B;AACtB;AACAsB,oBAAQ,CAACG,IAAT,WACOF,GAAG,CAACC,OADX,cACsBhB,KAAK,CAACkB,iBAAN,CAAwBH,GAAG,CAAC7B,IAA5B,CADtB;AAGH;;AACD,gCAAIkB,aAAJ,mDAAI,eAAeO,QAAnB,EAA6B;AAAA;;AACzBP,yBAAa,CAACO,QAAd,CAAuBK,OAAO,CAACN,KAA/B,IAAwCS,cAAc,CAClDd,GADkD,EAElDW,OAFkD,yBAGlDhB,KAAK,CAACoB,YAAN,CAAmBL,GAAG,CAAC7B,IAAvB,CAHkD,wDAGlD,oBAA8BQ,KAHoB,oCAIlDvB,MAJkD,6CAIlD,SAAQkD,UAJ0C,mEAI5B,KAJ4B,CAAtD;AAMH;;AACD,kBAAQN,GAAG,CAACvB,IAAZ;AACI,iBAAK,UAAL;AACA,iBAAK,SAAL;AACIoB,yBAAW,CAACU,eAAZ,CACIN,OADJ,2BAEIO,oBAAoB,CAChBP,OADgB,0BAEhBhB,KAAK,CAACoB,YAAN,CAAmBL,GAAG,CAAC7B,IAAvB,CAFgB,yDAEhB,qBAA8BQ,KAFd,CAFxB,yEAKS,CALT;AAOA;;AACJ,iBAAK,QAAL;AACIkB,yBAAW,CAACU,eAAZ,CACIN,OADJ,EAEIhB,KAAK,CAACkB,iBAAN,CAAwBH,GAAG,CAAC7B,IAA5B,CAFJ;AAIA;;AACJ,iBAAK,UAAL;AACA,iBAAK,QAAL;AACI0B,yBAAW,CAACU,eAAZ,CACIN,OADJ,EAEIQ,MAAM,CAACxB,KAAK,CAACkB,iBAAN,CAAwBH,GAAG,CAAC7B,IAA5B,CAAD,CAFV;AAIA;;AACJ;AACI;AAzBR;AA2BH;AACJ,OA7CD;;AA8CA,UAAImB,GAAG,CAACM,QAAR,EAAkB;AACdP,qBAAa,CAACV,KAAd,GAAsBkB,WAAW,CAACa,QAAZ,EAAtB;AACH,OAFD,MAEO;AAAA;;AACHrB,qBAAa,CAACV,KAAd,GAAsB8B,MAAM,0BACxBxB,KAAK,CAACkB,iBAAN,qDACInC,UAAU,CAACkB,SADf,qFACI,uBAAuBE,OAAvB,CADJ,qFACI,uBAAkC,CAAlC,CADJ,2DACI,uBAAsCjB,IAD1C,2EACkD,EADlD,CADwB,yEAGnB,CAHmB,CAA5B;AAKA4B,gBAAQ,CAACG,IAAT,WAAiBb,aAAa,CAAClB,IAA/B,cAAuCkB,aAAa,CAACV,KAArD;AACH;;AACDU,mBAAa,CAACK,UAAd,GACI,OAAOL,aAAa,CAACV,KAAd,CAAoBgC,QAApB,CAA6B,EAA7B,EAAiCC,WAAjC,EADX;AAEAvB,mBAAa,CAACI,OAAd,GAAwBoB,YAAY,CAACd,QAAD,EAAWT,GAAX,CAApC;AAEAJ,eAAS,gBAACI,GAAD,aAACA,GAAD,uBAACA,GAAG,CAAEK,KAAN,qDAAeL,GAAG,CAACnB,IAAnB,CAAT,GAAoCkB,aAApC;AACH,KAjFD;AAkFH,GA1FD;AA4FA,SAAOH,SAAP;AACH,CAtGM;;AAwGP,IAAM2B,YAAY,GAAG,SAAfA,YAAe,CAACd,QAAD,EAAqBe,QAArB,EAAoD;AACrEf,UAAQ,CAACgB,IAAT,CAAc,UAACC,CAAD,EAAIC,CAAJ,EAAkB;AAAA;;AAC5B,QAAMC,QAAQ,yBAAGJ,QAAQ,CAAClB,QAAZ,uDAAG,gCAAoBoB,CAAC,CAACG,KAAF,CAAQ,GAAR,CAApB,8CAAoB,UAAe,CAAf,CAApB,CAAjB;AACA,QAAMC,QAAQ,0BAAGN,QAAQ,CAAClB,QAAZ,wDAAG,gCAAoBqB,CAAC,CAACE,KAAF,CAAQ,GAAR,CAApB,6CAAoB,SAAe,CAAf,CAApB,CAAjB;AACA,WAAOV,MAAM,CAACW,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAEC,IAAX,CAAN,GAAyBZ,MAAM,CAACS,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAEG,IAAX,CAAtC;AACH,GAJD;AAMA,SAAOtB,QAAQ,CAACuB,IAAT,CAAc,EAAd,CAAP;AACH,CARD;;AAUO,IAAMlB,cAAc,GAAG,SAAjBA,cAAiB,CAC1BU,QAD0B,EAE1Bb,OAF0B,EAG1BtB,KAH0B,EAI1B2B,UAJ0B,EAKX;AAAA;;AACf,MAAMiB,YAAY,GAAGd,MAAM,+CAACe,0FAAgB,CAAC7C,KAAD,EAAQsB,OAAR,CAAjB,sDAAC,kBAAkCtB,KAAnC,yEAA4C,CAA5C,CAA3B;AACA,MAAM8C,YAA0B,GAAG;AAC/B9B,SAAK,EAAEM,OAAO,CAACN,KADgB;AAE/BxB,QAAI,EAAE8B,OAAO,CAAC9B,IAFiB;AAG/BQ,SAAK,EAAE4C,YAAF,aAAEA,YAAF,cAAEA,YAAF,GAAkB,CAHQ;AAI/B7B,cAAU,EAAE,OAAO6B,YAAY,CAACZ,QAAb,CAAsB,EAAtB,EAA0BC,WAA1B,EAJY;AAK/Bc,sBAAkB,EAAE/C,KALW;AAM/BgD,WAAO,EACHrB,UAAU,KAAK,KAAf,aACSQ,QAAQ,CAAC3C,IADlB,kBAC8B8B,OAAO,CAAC9B,IADtC,cAES2C,QAAQ,CAAC3C,IAFlB,cAE0B8B,OAAO,CAAC9B,IAFlC;AAP2B,GAAnC;AAWA,SAAOsD,YAAP;AACH,CAnBM;;AAqBP,IAAMG,wBAAwB,GAAG,SAA3BA,wBAA2B,CAC7BC,QAD6B,EAE7BxD,SAF6B,EAGN;AAAA;;AACvB,MAAMyD,YAAY,4BAAGzD,SAAS,CAACF,IAAV,CAChB4D,OADgB,CACR1D,SAAS,CAAC4B,OAAV,CAAkB+B,WAAlB,EADQ,EACyB,EADzB,CAAH,0DAAG,sBAEfpB,WAFe,EAArB;AAGA,MAAME,QAAQ,GAAGe,QAAH,aAAGA,QAAH,8CAAGA,QAAQ,CAAE3C,SAAb,wDAAG,oBAAsB4C,YAAtB,CAAjB;;AAEA,MAAIhB,QAAJ,EAAc;AACV,WAAOA,QAAP;AACH,GAFD,MAEO;AAAA;;AACH,QAAM1B,OAAO,6BAAGf,SAAS,CAACF,IAAV,CACX4D,OADW,CACH1D,SAAS,CAAC4B,OAAV,CAAkB+B,WAAlB,EADG,EAC8B,EAD9B,CAAH,2DAAG,uBAEVpB,WAFU,EAAhB;AAGA,QAAI1B,SAA+B,GAAGpD,sDAAO,yBAAC+F,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAE3C,SAAX,uEAAwB,EAAxB,CAA7C;;AAJG,+CAKaA,SALb,aAKaA,SALb,cAKaA,SALb,GAK0B,EAL1B;AAAA;;AAAA;AAKH,0DAAiC;AAAA,YAAxBI,GAAwB;AAC7B,YAAM2C,eAAe,GAAG3C,GAAG,CAACyC,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAxB;;AACA,YAAI3C,OAAO,KAAK6C,eAAhB,EAAiC;AAAA;;AAC7B,iBAAOJ,QAAP,aAAOA,QAAP,+CAAOA,QAAQ,CAAE3C,SAAjB,yDAAO,qBAAsBI,GAAtB,CAAP;AACH;AACJ;AAVE;AAAA;AAAA;AAAA;AAAA;AAWN;AACJ,CAvBD;;AAyBO,IAAM4C,uBAAuB,GAAG,SAA1BA,uBAA0B,CACnCjD,KADmC,EAEnCZ,SAFmC,EAGnCjB,MAHmC,EAIN;AAC7BA,QAAM,GAAGC,oEAAa,CAAC4B,KAAD,EAAQ7B,MAAR,CAAtB;AACA,MAAI6C,OAAJ;;AAEA,MAAIhB,KAAJ,EAAW;AAAA;;AACP,gBAAA7B,MAAM,UAAN,oEAAQO,WAAR,8EAAqBtB,OAArB,CAA6B,UAAC2B,UAAD,EAAgB;AAAA;;AACzC,UAAIiC,OAAJ,EAAa;AACb,UAAMd,cAAc,GAAGlB,sBAAsB,CAACD,UAAU,CAACE,WAAX,CAAuBC,IAAxB,CAA7C;AACA,UAAM0D,QAAQ,0BAAG5C,KAAK,CAACM,WAAN,CAAkBJ,cAAlB,EAAkC/B,MAAlC,CAAH,wDAAG,oBAA2CoC,aAA3C,EAAjB;AACA,UAAMsB,QAAQ,GAAGc,wBAAwB,CAACC,QAAD,EAAWxD,SAAX,CAAzC;;AACA,UAAIyC,QAAQ,IAAI,CAACA,QAAQ,CAAClB,QAA1B,EAAoC;AAAA;;AAChC;AACAK,eAAO,GAAG;AACNN,eAAK,qBAAEmB,QAAQ,CAACnB,KAAX,6DAAoBmB,QAAQ,CAAC3C,IAD5B;AAENA,cAAI,EAAE2C,QAAQ,CAAC3C,IAFT;AAGNO,sBAAY,EAAEoC,QAAQ,CAACpC,YAHjB;AAIND,cAAI,EAAEqC,QAAQ,CAACrC,IAJT;AAKN0D,qBAAW,EAAErB,QAAQ,CAACsB,IALhB;AAMNC,oBAAU,EAAEvB,QAAQ,CAACpC;AANf,SAAV;AAQH,OAVD,MAUO;AAAA;;AACHuB,eAAO,GAAGa,QAAH,aAAGA,QAAH,8CAAGA,QAAQ,CAAElB,QAAb,wDAAG,oBAAqBvB,SAAS,CAAC4B,OAA/B,CAAV;AACH;AACJ,KAlBD;AAmBH;;AAED,SAAOA,OAAP;AACH,CA/BM;AAiCA,IAAMO,oBAAoB,GAAG,SAAvBA,oBAAuB,CAChCP,OADgC,EAEhCqC,UAFgC,EAGX;AACrB,MAAI,CAACrC,OAAL,EAAc,OAAO3C,SAAP;AAEd,MAAIiF,WAA+B,GAAGtC,OAAO,CAACoC,UAA9C;;AACA,MAAIpC,OAAO,CAACuC,OAAZ,EAAqB;AACjBvC,WAAO,CAACuC,OAAR,CAAgBnG,OAAhB,CAAwB,UAACoG,MAAD,EAAY;AAChC,UAAIA,MAAM,CAACtE,IAAP,KAAgBmE,UAAhB,IAA8BG,MAAM,CAACN,WAAP,KAAuBG,UAAzD,EAAqE;AACjEC,mBAAW,GAAGE,MAAM,CAAC9D,KAArB;AACH;AACJ,KAJD;AAKH;;AACD,SAAO8B,MAAM,CAAC8B,WAAD,CAAb;AACH,CAfM;AAiBA,IAAMG,0BAA0B,GAAG,SAA7BA,0BAA6B,CACtCrE,SADsC,EAEtC4B,OAFsC,EAGtC0C,oBAHsC,EAIjB;AACrB,MAAIjE,YAAJ;;AACA,MAAIiE,oBAAoB,KAAKrF,SAA7B,EAAwC;AACpC,WAAOqF,oBAAP;AACH;;AACD,MAAItE,SAAS,CAACsE,oBAAd,EAAoC;AAChC,WAAOtE,SAAS,CAACsE,oBAAjB;AACH;;AAED,MAAI1C,OAAJ,aAAIA,OAAJ,uBAAIA,OAAO,CAAEvB,YAAb,EAA2B;AAAA;;AACvB,QAAM+D,MAAM,GAAGG,yFAAe,CAAC3C,OAAO,CAACvB,YAAT,EAAuBuB,OAAvB,CAA9B;AACAvB,gBAAY,cACR+D,MADQ,aACRA,MADQ,uBACRA,MAAM,0BAAGpE,SAAS,CAACwE,oBAAb,yEAAqC,OAArC,CADE,6CAC+C5C,OAAO,CAACvB,YADnE;AAEH;;AACD,SAAOA,YAAP;AACH,CAnBM;AAoBA,IAAMoE,uBAAuB,GAAG,SAA1BA,uBAA0B,CACnCzE,SADmC,EAEnCY,KAFmC,EAGd;AAAA;;AACrB,kCAAO,0BAAAA,KAAK,CAAC8D,mBAAN,IAA4BvE,qBAAnC,0DAAO,mDAAoDH,SAAS,CAACF,IAA9D,CAAP;AACH,CALM;AAOA,IAAM6E,0BAA0B,GAAG,SAA7BA,0BAA6B,CACtC3E,SADsC,EAEtC4B,OAFsC,EAGtCgD,oBAHsC,EAI3B;AACX,MAAIT,OAAO,GAAG,CAAC,EAAD,CAAd;;AAEA,MAAIvC,OAAJ,EAAa;AAAA;;AACT,QAAMiD,eAAe,GAAG7E,SAAS,CAAC8E,IAAV,GAClBC,iBAAiB,qBAACnD,OAAO,CAACuC,OAAT,+DAAoB,EAApB,EAAwBnE,SAAxB,EAAmC4E,oBAAnC,CADC,GAElBhD,OAAO,CAACuC,OAFd;AAGAA,WAAO,GAAGrG,iFAAG,CACT+G,eADS,aACTA,eADS,cACTA,eADS,GACU,EADV,EAET,UAACT,MAAD;AAAA;;AAAA,yBAAYA,MAAM,2BAACpE,SAAS,CAACwE,oBAAX,2EAAmC,OAAnC,CAAlB,+CAAiEJ,MAAM,CAAC9C,KAAxE;AAAA,KAFS,CAAb;AAIH;;AACD,SAAO6C,OAAP;AACH,CAjBM;;AAmBP,IAAMY,iBAAiB,GAAG,SAApBA,iBAAoB,CACtBZ,OADsB,EAEtBnE,SAFsB,EAGtB4E,oBAHsB,EAIJ;AAAA;;AAClB,MAAI,oBAAA5E,SAAS,CAAC8E,IAAV,oEAAgBE,SAAhB,KAA6B,eAA7B,IAAgDJ,oBAAoB,IAAI3F,SAA5E,EACI,OAAOkF,OAAP,CAFc,CAGlB;;AACA,MAAMW,IAAY,GAAGG,kFAAI,cACrBxH,sDAAO,8CAACuC,SAAS,CAAC8E,IAAX,qDAAC,iBAAgBI,WAAjB,yEAAgC,EAAhC,CADc,iDACyB,EADzB,EAErB,UAACJ,IAAD,EAAU;AAAA;;AACN,QAAMK,KAAK,uBAAGnF,SAAS,CAAC8E,IAAb,8EAAG,iBAAgBI,WAAnB,0DAAG,sBAA8BJ,IAA9B,CAAd;;AACA,QAAIK,KAAJ,EAAW;AAAA;;AACP,aAAO,0BAACP,oBAAD,aAACA,oBAAD,iDAACA,oBAAoB,CAAEO,KAAtB,CAA4BA,KAA5B,CAAD,2DAAC,uBAAoC3F,MAArC,yEAA+C,CAAC,CAAhD,IAAqD,CAA5D;AACH;;AACD,WAAO,KAAP;AACH,GARoB,CAAzB;AAUA,MAAMqF,eAAe,GAAGO,oFAAM,CAACjB,OAAD,aAACA,OAAD,cAACA,OAAD,GAAY,EAAZ,EAAgB,UAACC,MAAD,EAAY;AACtD,QAAIA,MAAM,CAACU,IAAX,EAAiB;AAAA;;AACb,UAAMK,KAAK,uBAAGnF,SAAS,CAAC8E,IAAb,8EAAG,iBAAgBI,WAAnB,0DAAG,sBAA8BJ,IAA9B,CAAd;;AACA,UAAIK,KAAJ,EAAW;AAAA;;AACP,eAAO,gDAACf,MAAM,CAACU,IAAP,CAAYK,KAAZ,CAAkBA,KAAlB,CAAD,uDAAC,mBAA0B3F,MAA3B,yEAAqC,CAAC,CAAtC,IAA2C,CAAlD;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GAR6B,CAA9B;AASA,SAAOqF,eAAP;AACH,CA5BD;;AA8BO,IAAMQ,kBAAkB,GAAG,SAArBA,kBAAqB,CAC9BC,MAD8B,EAE9BC,OAF8B,EAGT;AACrB,MAAID,MAAJ,EAAY;AAAA;;AACRA,UAAM,mCACCA,MADD;AAEFE,WAAK,0CACDD,OADC,aACDA,OADC,uBACDA,OAAO,CAAEE,UADR,qEAEDF,OAFC,aAEDA,OAFC,uBAEDA,OAAO,CAAEzF,IAFR,yCAGDwF,MAAM,CAACE,KAHN,uCAIDF,MAAM,CAACI,UAAP,GAAoB,KAApB,GAA4BJ,MAAM,CAACK;AANrC,MAAN;AAQH;;AAED,SAAOL,MAAP;AACH,CAhBM;AAsBA,IAAMM,kBAAb;AAKI,8BACIhF,KADJ,EAEIZ,SAFJ,EAGE;AAAA;;AAAA;;AAAA,SAPM6F,aAON,GAPgD;AAAEL,WAAK,EAAE;AAAT,KAOhD;AAAA,SANM5E,KAMN;AAAA,SALMZ,SAKN;;AAAA,SA8BM8F,iBA9BN,GA8B0B,UAAC1B,MAAD,EAA8C;AACtE,aAAO;AACHoB,aAAK,EAAE,KAAI,CAACO,iBAAL,CAAuB3B,MAAM,CAACkB,MAA9B,EAAsClB,MAAM,CAACmB,OAA7C,CADJ;AAEHjF,aAAK,EAAE8D;AAFJ,OAAP;AAIH,KAnCC;;AAAA,SAqCF2B,iBArCE,GAqCkB,UAACT,MAAD,EAAiBC,OAAjB,EAAwD;AAAA;;AACxE,6DAAOF,kBAAkB,CAACC,MAAD,EAASC,OAAT,CAAzB,wDAAO,oBAAqCC,KAA5C,yEAAqD,EAArD;AACH,KAvCC;;AACE,SAAK5E,KAAL,GAAaA,KAAb;AACA,SAAKZ,SAAL,GAAiBA,SAAjB;AACH;;AAXL;AAAA;AAAA,8CAa0D;AAClD,UAAMgG,eAA2C,GAAG,EAApD;AACA,UAAMC,UAA8B,GAAG,KAAKrF,KAAL,CAAWsF,UAAX,GACnC,KAAKlG,SAAL,CAAemG,QADoB,CAAvC;AAGA,UAAMhC,OAAuC,GAAG8B,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAE9B,OAA5D;;AAEA,UAAI,KAAKiC,6BAAL,CAAmCH,UAAnC,EAA+C9B,OAA/C,CAAJ,EAA6D;AACzD6B,uBAAe,CAACnE,IAAhB,CAAqB,KAAKgE,aAA1B;AACH;;AACD,UAAI1B,OAAJ,EAAa;AACT,aAAK,IAAMC,MAAX,IAAqBD,OAArB,EAA8B;AAC1B6B,yBAAe,CAACnE,IAAhB,CAAqB,KAAKiE,iBAAL,CAAuB3B,OAAO,CAACC,MAAD,CAA9B,CAArB;AACH;AACJ;;AAED,aAAO4B,eAAP;AACH;AA9BL;AAAA;AAAA,6CAgCuC;AAC/B,UAAMK,KAAe,GAAG,EAAxB;AACA,WAAKC,uBAAL,GAA+BtI,OAA/B,CAAuC,UAACoG,MAAD;AAAA,eAAYiC,KAAK,CAACxE,IAAN,CAAWuC,MAAM,CAACoB,KAAlB,CAAZ;AAAA,OAAvC;AACA,aAAOa,KAAP;AACH;AApCL;AAAA;AAAA,kDAkDQJ,UAlDR,EAmDQ9B,OAnDR,EAoDe;AACP,aACI8B,UAAU,IAAIhH,SAAd,IACAgH,UAAU,CAACM,cAAX,IAA6B,KAD7B,IAEApC,OAAO,KAAKlF,SAHhB;AAKH;AA1DL;;AAAA;AAAA;AA6DO,SAASuH,2BAAT,GAA2D;AAC9D,MAAMC,WAAW,GAAGC,mBAAO,CAAC,6CAAD,CAA3B;;AACA,MAAI3C,IAAJ;;AACA,MAAI0C,WAAJ,EAAiB;AAAA;;AACb1C,QAAI,uBAAG0C,WAAW,CAACE,GAAf,qDAAG,iBAAiB7C,WAAxB;AACH,GAFD,MAEO;AACHC,QAAI,GAAG9E,SAAP;AACH;;AACD,SAAO8E,IAAP;AACH;AAEM,IAAMnE,sBAAsB,GAAG,SAAzBA,sBAAyB,CAClCd,aADkC,EAEb;AAAA;;AACrBA,eAAa,qBAAGA,aAAH,mDAAG,eAAe4E,OAAf,CAAuB,IAAvB,EAA6B,EAA7B,EAAiCA,OAAjC,CAAyC,IAAzC,EAA+C,GAA/C,CAAhB;AAEA,SAAO5E,aAAP;AACH,CANM,C;;;;;;;;;;;;;;;;;;;;;;;;;ACzbP;AAEA;AACA;AAKA,IAAM8H,UAAU,GAAG,gCAAnB;;AACA,IAAI7H,MAAsB,GAAG2H,mBAAO,CAAC,+DAAD,CAApC;;AAEO,IAAM1H,aAAa,GAAG,SAAhBA,aAAgB,CACzB4B,KADyB,EAEzBiG,SAFyB,EAGR;AACjB,MAAI,CAAC9H,MAAD,IAAW8H,SAAf,EAA0B;AACtB9H,UAAM,GAAG+H,aAAa,OAAb,CAAkBD,SAAlB,EACJE,qBADI,CACkBnG,KADlB,EAEJoG,qBAFI,CAEkBpG,KAFlB,EAGJqG,KAHI,EAAT;AAIH;;AAED,SAAOlI,MAAP;AACH,CAZM;;AAcP,IAAMmI,aAAa,GAAG,SAAhBA,aAAgB,CAACN,UAAD,EAAwC;AAC1D,MAAI;AACA,WAAOF,wEAAQE,UAAD,CAAd;AACH,GAFD,CAEE,gBAAM;AACJ,UAAMtI,KAAK,CAAC,uCAAuCsI,UAAxC,CAAX;AACH;AACJ,CAND;;IAQME,a,GAGF,uBAAY/H,MAAZ,EAAoC;AAAA;;AAAA;;AAAA,OAF5BA,MAE4B;;AAAA,OAoB7BkI,KApB6B,GAoBrB,YAAsB;AACjC,WAAO,KAAI,CAAClI,MAAZ;AACH,GAtBmC;;AAAA,OAwB7BgI,qBAxB6B,GAwBL,UAACnG,KAAD,EAAqC;AAAA;;AAChE,WAAO,IAAIkG,aAAJ,0BACHlG,KADG,aACHA,KADG,uBACHA,KAAK,CAAEuG,kBAAP,CAA0B,sBAA1B,EAAkD,KAAI,CAACpI,MAAvD,CADG,yEAC+D,KAAI,CAACA,MADpE,CAAP;AAGH,GA5BmC;;AAAA,OA8B7BiI,qBA9B6B,GA8BL,UAACpG,KAAD,EAAqC;AAAA;;AAChE,QAAMwG,iBAAiB,GAAGxG,KAAH,aAAGA,KAAH,iDAAG,0BAAAA,KAAK,CAAE8D,mBAAP,IAA6B2C,oBAAhC,2DAAG,mDAA1B;;AACA,QAAID,iBAAJ,EAAuB;AACnB,UAAME,mBAAmB,GAAG/I,2DAAY,CACpC6I,iBADoC,EAEpC,UAACpH,SAAD,EAAe;AAAA;;AACX,aAAI,CAACjB,MAAL,CAAYwI,QAAZ,CAAqBvH,SAAS,CAACwH,KAA/B,6BACI,KAAI,CAACzI,MAAL,CAAYwI,QAAZ,CAAqBvH,SAAS,CAACwH,KAA/B,CADJ,yEAC6CxH,SAAS,CAACwH,KADvD;AAEA,eAAOxH,SAAS,CAACF,IAAjB;AACH,OANmC,EAOpC,UAACE,SAAD;AAAA,eAAeA,SAAf;AAAA,OAPoC,CAAxC;AASA,WAAI,CAACjB,MAAL,CAAY0I,YAAZ,mCACO,KAAI,CAAC1I,MAAL,CAAY0I,YADnB,GAEQH,mBAFR;AAOH;;AACD,WAAO,IAAIR,aAAJ,CAAkB,KAAI,CAAC/H,MAAvB,CAAP;AACH,GAnDmC;;AAChC,OAAKA,MAAL,GAAcA,MAAd;AACH,C;;AALC+H,a,CAOYY,O,GAAU;AAAA,SACpBZ,aAAa,CAACa,QAAd,CAAuBC,4CAAA,CAAaC,SAAb,EAAwBjB,UAAxB,CAAvB,CADoB;AAAA,C;;AAPtBE,a,CAUYa,Q,GAAW,UAACC,IAAD,EAAiC;AACtD,MAAI,CAAC7I,MAAL,EAAa;AACTA,UAAM,GAAGmI,aAAa,CAACU,IAAD,CAAtB;AACH;;AACD,SAAO,IAAId,aAAJ,CAAkB/H,MAAlB,CAAP;AACH,C;;AAfC+H,a,UAiBkB,UAAC/H,MAAD,EAA4C;AAC5D,MAAI,CAACA,MAAL,EAAa,OAAO+H,aAAa,CAACY,OAAd,EAAP;AAEb,SAAO,IAAIZ,aAAJ,CAAkB/H,MAAlB,CAAP;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;ACtDL;;;;;;;;;;;;;;;;;;;;;AAuBA;AACA;AACA;AAGA;AAMO,IAAM+I,MAAM,GAAG,SAATA,MAAS,CAClBC,KADkB,EAElBC,mBAFkB,EAGlBjJ,MAHkB,EAIE;AAAA;;AACpB,MAAI,CAACiJ,mBAAL,EAA0BA,mBAAmB,GAAGC,yEAAtB;AAC1BlJ,QAAM,GAAGC,+EAAa,CAACC,SAAD,EAAYF,MAAZ,CAAtB;AAEA,MAAMmJ,gBAAgB,GAAGC,iGAAsB,CAACJ,KAAD,EAAQC,mBAAmB,EAA3B,CAA/C;AACA,MAAMI,gBAAgB,GAAGC,iGAAsB,EAA/C;AAEA,SAAO;AACH9C,WAAO,EAAEwC,KADN;AAEH7I,WAAO,oBACAgJ,gBADA,CAFJ;AAKHI,WAAO,EAAEF,gBALN;AAMHG,wBAAoB,aAAExJ,MAAF,4CAAE,QAAQwJ,oBAN3B;AAOHC,gBAAY,sCAAEzJ,MAAF,6CAAE,SAAQyJ,YAAV,uEAA0B;AAPnC,GAAP;AASH,CApBM,C;;;;;;;;;;;;;;;;;;;;;;AChCP;AACA;AAEO,IAAMH,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACtJ,MAAD,EAA4C;AAAA;;AAC9EA,QAAM,GAAGC,+EAAa,CAACC,SAAD,EAAYF,MAAZ,CAAtB;AACA,MAAMuJ,OAAwB,GAAG,EAAjC;AACA,cAAA7K,sDAAO,+BAACsB,MAAD,4CAAC,QAAQuJ,OAAT,6DAAoB,EAApB,CAAP,sDAAgCtK,OAAhC,CAAwC,UAACyK,OAAD,EAAa;AAAA;;AACjD,QAAMC,GAAG,eAAG3J,MAAH,iEAAG,SAAQuJ,OAAX,qDAAG,iBAAkBG,OAAlB,CAAZ;AACA,QAAIC,GAAG,IAAIzJ,SAAX,EAAsB;AAEtBqJ,WAAO,CAACG,OAAD,CAAP,mCACOC,GADP;AAEItJ,gBAAU,EAAEuJ,uBAAuB,CAACD,GAAG,CAACtJ,UAAL;AAFvC;AAIH,GARD;AASA,SAAOkJ,OAAP;AACH,CAbM;;AAeP,IAAMK,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,IAAD,EAAiD;AAC7E,MAAMC,aAAiC,GAAG,EAA1C;;AACAD,MAAG,CAAC5K,OAAJ,CAAY,gBAAiD;AAAA,QAA9C6B,WAA8C,QAA9CA,WAA8C;AAAA,QAAjC0F,OAAiC,QAAjCA,OAAiC;AACzDsD,iBAAa,CAAChH,IAAd,CAAmB;AAAEhC,iBAAW,EAAXA,WAAF;AAAe0F,aAAO,EAAPA;AAAf,KAAnB;AACH,GAFD;;AAGA,SAAOsD,aAAP;AACH,CAND,C;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AAEA;AACA;AAGO,IAAMV,sBAAsB,GAAG,SAAzBA,sBAAyB,CAClCJ,KADkC,EAElCe,gBAFkC,EAGlC/J,MAHkC,EAIhB;AAAA;;AAClB,MAAImJ,gBAAiC,GAAG,EAAxC;AACAnJ,QAAM,GAAGC,+EAAa,CAACC,SAAD,EAAYF,MAAZ,CAAtB;AAEA,MAAI,CAACA,MAAL,EAAa,OAAOmJ,gBAAP;;AAEb,iBAAInJ,MAAJ,4CAAI,QAAQO,WAAZ,EAAyB;AACrBP,UAAM,CAACO,WAAP,CAAmBtB,OAAnB,CAA2B,UAAC2B,UAAD,EAAgB;AACvC,UAAMb,aAAa,GAAGc,sBAAsB,CAACD,UAAU,CAACE,WAAX,CAAuBC,IAAxB,CAA5C;AACA,UAAMiJ,eAAe,GAAGlK,4FAAqB,CAACC,aAAD,CAA7C;;AACA,UAAIiK,eAAJ,EAAqB;AACjBb,wBAAgB,mCACTA,gBADS,2BAEXpJ,aAFW,kCAGLiK,eAHK;AAIRC,oBAAU,EAAE;AAJJ,YAAhB;AAOH;AACJ,KAZD;AAaH;;AACD,cAAAvL,qFAAO,gCAACsB,MAAD,6CAAC,SAAQG,OAAT,6DAAoB,EAApB,CAAP,sDAAgClB,OAAhC,CAAwC,UAACD,GAAD,EAAS;AAAA;;AAC7C,QAAM0B,GAA2B,eAAGV,MAAH,iEAAG,SAAQG,OAAX,qDAAG,iBAAkBnB,GAAlB,CAApC;AACA,QAAMkL,IAAI,GAAGH,gBAAH,aAAGA,gBAAH,gDAAGA,gBAAgB,CAAEI,oBAArB,0DAAG,2BAAAJ,gBAAgB,EAAyB/K,GAAzB,EAA8BgK,KAA9B,CAA7B;;AACA,QAAItI,GAAG,IAAI,CAAAqJ,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,qCAAAA,gBAAgB,CAAEK,YAAlB,qFAAAL,gBAAgB,EAAiB/K,GAAjB,EAAsBgK,KAAtB,CAAhB,KAAgD,KAA3D,EAAkE;AAC9DG,sBAAgB,mCACTA,gBADS,2BAEXnK,GAFW,kCAGL0B,GAAG,UAHE;AAIRwJ,YAAI,EAAEA;AAJE,UAAhB;AAOH;AACJ,GAZD;AAaA,SAAOf,gBAAP;AACH,CAvCM;;AAyCP,IAAMtI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,aAAD,EAAmC;AAC9DA,eAAa,GAAGA,aAAa,CAAC4E,OAAd,CAAsB,IAAtB,EAA4B,EAA5B,EAAgCA,OAAhC,CAAwC,IAAxC,EAA8C,GAA9C,CAAhB;AAEA,SAAO5E,aAAP;AACH,CAJD,C;;;;;;;;;;;;AClDa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB,wDAAwD;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C,kCAAkC,WAAW,oBAAoB,kBAAkB,8BAA8B,GAAG;AACpH,aAAa,GAAG;AAChB;AACA;AACA;AACA;;;;;;;;;;;;;AC9Ea;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D,gBAAgB,mBAAO,CAAC,sEAAW;AACnC,iBAAiB,mBAAO,CAAC,wEAAY;AACrC,eAAe,mBAAO,CAAC,8EAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,wCAAwC;AACxC,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,gGAAgG,0BAA0B,EAAE;AAC5H,4IAA4I,uDAAuD,EAAE;AACrM;AACA;AACA,wCAAwC,8DAA8D;AACtG;AACA,2CAA2C,iEAAiE;AAC5G;AACA,4CAA4C,kEAAkE;AAC9G;AACA,qCAAqC,0BAA0B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oCAAoC,mCAAmC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,6CAA6C;AACzF,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC,oBAAoB;AAC1D;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC,mCAAmC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kD;;;;;;;;;;;;AClNa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACNa;AACb,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,8EAAe;AACtC;AACA;AACA,wGAAwG,8BAA8B,EAAE;AACxI;AACA;AACA;AACA,wGAAwG,4BAA4B,EAAE;AACtI;AACA;AACA;AACA,wGAAwG,0CAA0C,EAAE;AACpJ;AACA;AACA;AACA,uGAAuG,oBAAoB,EAAE;AAC7H;AACA;AACA;AACA,uGAAuG,2BAA2B,EAAE;AACpI;AACA,mC;;;;;;;;;;;;ACxBa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,iBAAiB,EAAE;AACvE;AACA,kC;;;;;;;;;;;ACzCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC7SA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;;;;;;;;;;;;;ACpLtC;AAAA;AAAO,IAAMkJ,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAwB;AACvD,SAAO;AACHmB,gBAAY,EAAEA,YADX;AAEHD,wBAAoB,EAAEA;AAFnB,GAAP;AAIH,CALM;;AAOP,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,SAAD,EAAoBrB,KAApB,EAAgD;AACjE,SAAO,IAAP;AACH,CAFD;;AAIA,IAAMmB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACE,SAAD,EAAoBrB,KAApB,EAAwD;AACjF,SAAO9I,SAAP;AACH,CAFD,C","file":"creator.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./generated_module/src/creator.tsx\");\n","export type Dictionary<T> = Record<string, T>;\n\n/** @returns the non-prototype keys of the given object */\nexport const getKeys = (obj: object): string[] => {\n /* eslint-disable-line */\n return Object.getOwnPropertyNames(obj);\n};\n\nexport const values = <T = any>(obj: { [key: string]: T }): T[] => {\n return getKeys(obj).map((key: string): T => obj[key]);\n};\n\nexport const forEach = <T>(\n obj: Dictionary<T>,\n action: (key: string, value: T) => void,\n): void => {\n getKeys(obj).forEach((key: string): void => action(key, obj[key]));\n};\n\nexport const map = <T, R>(\n obj: Dictionary<T>,\n mapper: (key: string, value: T) => R,\n): R[] => {\n return getKeys(obj).map((key: string): R => mapper(key, obj[key]));\n};\n\ntype NonNullAssertion = <T>(val: T, msg?: string) => asserts val is NonNullable<T>;\n\nexport const assertNotNull: NonNullAssertion = <T>(\n val: T,\n msg?: string,\n): asserts val is NonNullable<T> => {\n if (val == null) {\n throw new Error(msg);\n }\n};\n\nexport const toDictionary = <T, V>(\n arr: T[],\n keyMapper: (input: T) => string,\n valueMapper: (input: T) => V,\n): Dictionary<V> => {\n const result: Dictionary<V> = {};\n arr.forEach((entry) => {\n result[keyMapper(entry)] = valueMapper(entry);\n });\n return result;\n};\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = \"./generated_module/src/autoModule sync recursive\";","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { ModuleConfig } from \"../types/AutoModuleTypes\";\nimport { isAssigned } from \"@microchip/scf-common/lib/Processor\";\nimport { getConfigData } from \"./getConfigData\";\nimport { map } from \"@microchip/scf-device/lib/util/Arrays\";\nimport { Peripheral } from \"@microchip/scf-automodule-interface/lib/src/ModuleConfig\";\nimport { getFriendlyInterfaceId } from \"./AutoModuleHelpers\";\n\nexport const createPrototypeImport = (\n interfaceName: string,\n config?: ModuleConfig,\n): Creator.Interface | undefined => {\n config = getConfigData(undefined, config);\n return config?.imports?.[interfaceName]?.import;\n};\n\nexport const isFullyAssigned = <T extends Processor.Imports = Processor.Imports>(\n imports: T,\n config?: ModuleConfig,\n): boolean => {\n config = getConfigData(undefined, config);\n\n //get peripheral interfaces.\n const interfaces = getHardwareInterfaces(config?.peripherals ?? []);\n\n for (let i = 0; i < interfaces.length; i++) {\n const imp = imports[interfaces[i]];\n if (!imp || !isAssigned(imp)) {\n return false;\n }\n }\n return true;\n};\n\n//Assumes hardware import keys are the same as the interface IDs\nconst getHardwareInterfaces = (peripherals: Peripheral[]): string[] => {\n const interfaces: string[] = map(peripherals, (peripheral) => {\n return getFriendlyInterfaceId(peripheral.interfaceId.name) ?? \"\";\n });\n return interfaces;\n};\n","/* eslint @typescript-eslint/no-var-requires: \"off\" */\nimport { ModuleConfig } from \"@microchip/scf-automodule-interface\";\nimport * as Device from \"@microchip/scf-device\";\nimport { find, filter, map } from \"@microchip/scf-device/lib/util/Arrays\";\nimport CalculateRegisterValue from \"@microchip/scf-device/lib/CalculateRegisterValue\";\nimport { Setting } from \"@microchip/scf-device\";\nimport { getOptionByAlias, getOptionByName } from \"@microchip/scf-device/lib/Setting\";\nimport { getConfigData } from \"./getConfigData\";\nimport { getKeys } from \"../Utils\";\nimport { MyComponentNames, MyPeripheral, Register } from \"../types\";\nimport {\n AppModel,\n ModuleConfig as MyModuleConfig,\n MyRegisterValues,\n} from \"../types/AutoModuleTypes\";\nimport {\n RegisterValue,\n SettingValue,\n} from \"@microchip/scf-automodule-interface/lib/src/HardwareTypes\";\nimport { SoftwareComboBoxComponent } from \"@microchip/scf-automodule-interface/lib/src/SoftwareComponents\";\nimport { Import, Option } from \"@microchip/scf-common/lib/Processor\";\nimport { Handle } from \"@microchip/scf-common\";\n\nexport const castComponent = (\n component: ModuleConfig.Component<MyComponentNames>,\n): ModuleConfig.Component<MyComponentNames> => {\n switch (component.category) {\n case \"software\":\n return component;\n case \"import\":\n return component;\n case \"hardware\":\n return component;\n default:\n throw Error(\"Unsupported Component Type\");\n }\n};\n\nexport const getDefaultValue = (\n overrideDefaultValues: ((componentName: MyComponentNames) => any) | undefined,\n component: ModuleConfig.SoftwareComponent<MyComponentNames>,\n): ModuleConfig.SoftwareComponent[\"defaultValue\"] => {\n return (\n overrideDefaultValues?.(component.name) ??\n (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue)\n );\n};\n\nexport const getComboOptions = (\n overrideOptions: ((componentName: MyComponentNames) => string[]) | undefined,\n component: SoftwareComboBoxComponent<MyComponentNames>,\n): any[] => {\n return overrideOptions?.(component.name) ?? component?.defaultValue?.[\"options\"];\n};\n\nexport const hasConfigBits = (interfaceName: string): boolean => {\n return getFriendlyInterfaceId(interfaceName)?.indexOf(\"configuration_bits\") != -1;\n};\n\nexport const getRegisterValues = (\n model: AppModel,\n interfaceName?: string,\n config?: MyModuleConfig,\n): MyRegisterValues => {\n const registers: MyRegisterValues = {} as MyRegisterValues;\n config = getConfigData(model, config);\n interfaceName = getFriendlyInterfaceId(interfaceName);\n\n config?.peripherals?.forEach((peripheral) => {\n const peripheralName = getFriendlyInterfaceId(peripheral.interfaceId.name) ?? \"\";\n if (hasConfigBits(peripheralName)) return;\n if (\n (interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers\n )\n return;\n getKeys(peripheral.registers ?? {})?.forEach((regName) => {\n let registerValue: RegisterValue<string>;\n const reg = model.getHardware(peripheralName)?.getPeripheral().registers?.[\n regName\n ];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg?.name,\n alias: reg?.alias ?? reg?.name,\n settings: {},\n };\n } else {\n return;\n }\n\n const registerVal = CalculateRegisterValue.for(reg as Device.Register);\n const comments: string[] = [];\n peripheral.registers?.[regName].forEach((set) => {\n const setting: Device.Setting | undefined = reg.settings?.[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n comments.push(\n `${set.setting} ${model.getComponentValue(set.name)}; `,\n );\n }\n if (registerValue?.settings) {\n registerValue.settings[setting.alias] = getSettingBits(\n reg,\n setting,\n model.getComponent(set.name)?.value as string,\n config?.deviceType ?? \"PIC\",\n );\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n registerVal.withNumberValue(\n setting,\n getOptionValueByName(\n setting,\n model.getComponent(set.name)?.value as string,\n ) ?? 0,\n );\n break;\n case \"number\":\n registerVal.withNumberValue(\n setting,\n model.getComponentValue(set.name as string) as number,\n );\n break;\n case \"register\":\n case \"string\":\n registerVal.withNumberValue(\n setting,\n Number(model.getComponentValue(set.name)),\n );\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n } else {\n registerValue.value = Number(\n model.getComponentValue(\n peripheral.registers?.[regName]?.[0]?.name ?? \"\",\n ) ?? 0,\n );\n comments.push(`${registerValue.name} ${registerValue.value}; `);\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = sortComments(comments, reg);\n\n registers[reg?.alias ?? reg.name] = registerValue;\n });\n });\n\n return registers;\n};\n\nconst sortComments = (comments: string[], register: Register): string => {\n comments.sort((a, b): number => {\n const settingA = register.settings?.[a.split[\" \"]?.[0]];\n const settingB = register.settings?.[b.split(\" \")?.[0]];\n return Number(settingB?.mask) - Number(settingA?.mask);\n });\n\n return comments.join(\"\");\n};\n\nexport const getSettingBits = (\n register: Register,\n setting: Device.Setting,\n value: string,\n deviceType: string,\n): SettingValue => {\n const setValNumber = Number(getOptionByAlias(value, setting)?.value ?? 0);\n const settingValue: SettingValue = {\n alias: setting.alias,\n name: setting.name,\n value: setValNumber ?? 0,\n valueAsHex: \"0x\" + setValNumber.toString(16).toUpperCase(),\n valueAsDescription: value,\n bitName:\n deviceType === \"PIC\"\n ? `${register.name}bits.${setting.name}`\n : `${register.name}.${setting.name}`,\n };\n return settingValue;\n};\n\nconst getRegisterFromComponent = (\n hardware: MyPeripheral | undefined,\n component: ModuleConfig.HardwareComponent,\n): Register | undefined => {\n const registerName = component.name\n .replace(component.setting.toLowerCase(), \"\")\n ?.toUpperCase();\n const register = hardware?.registers?.[registerName];\n\n if (register) {\n return register;\n } else {\n const regName = component.name\n .replace(component.setting.toLowerCase(), \"\")\n ?.toUpperCase();\n let registers: string[] | undefined = getKeys(hardware?.registers ?? {});\n for (let reg of registers ?? []) {\n const modifiedRegName = reg.replace(/\\_/g, \"\");\n if (regName === modifiedRegName) {\n return hardware?.registers?.[reg];\n }\n }\n }\n};\n\nexport const getSettingFromComponent = (\n model: AppModel,\n component: ModuleConfig.HardwareComponent,\n config?: MyModuleConfig,\n): Device.Setting | undefined => {\n config = getConfigData(model, config);\n let setting: Device.Setting | undefined;\n\n if (model) {\n config?.peripherals?.forEach((peripheral) => {\n if (setting) return;\n const peripheralName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n const hardware = model.getHardware(peripheralName, config)?.getPeripheral();\n const register = getRegisterFromComponent(hardware, component);\n if (register && !register.settings) {\n //No settings for this particular register. Create one\n setting = {\n alias: register.alias ?? register.name,\n name: register.name,\n defaultValue: register.defaultValue,\n type: register.type,\n description: register.desc,\n porDefault: register.defaultValue,\n };\n } else {\n setting = register?.settings?.[component.setting];\n }\n });\n }\n\n return setting;\n};\n\nexport const getOptionValueByName = (\n setting: Device.Setting,\n optionName: string,\n): number | undefined => {\n if (!setting) return undefined;\n\n let optionValue: string | undefined = setting.porDefault;\n if (setting.options) {\n setting.options.forEach((option) => {\n if (option.name === optionName || option.description === optionName) {\n optionValue = option.value;\n }\n });\n }\n return Number(optionValue);\n};\n\nexport const getSettingDefaultIfPresent = (\n component: ModuleConfig.HardwareComponent,\n setting: Setting | undefined,\n overrideDefaultValue: any | undefined,\n): string | undefined => {\n let defaultValue: string | undefined;\n if (overrideDefaultValue !== undefined) {\n return overrideDefaultValue;\n }\n if (component.overrideDefaultValue) {\n return component.overrideDefaultValue;\n }\n\n if (setting?.defaultValue) {\n const option = getOptionByName(setting.defaultValue, setting);\n defaultValue =\n option?.[component.displayOptionSetting ?? \"alias\"] ?? setting.defaultValue;\n }\n return defaultValue;\n};\nexport const getOverrideDefaultValue = (\n component: ModuleConfig.HardwareComponent,\n model: AppModel,\n): string | undefined => {\n return model.getDerivedFunctions().overrideDefaultValues?.(component.name);\n};\n\nexport const getSettingOptionsIfPresent = (\n component: ModuleConfig.HardwareComponent,\n setting: Device.Setting | undefined,\n masterComponentValue?: string,\n): string[] => {\n let options = [\"\"];\n\n if (setting) {\n const filteredOptions = component.mode\n ? filterModeOptions(setting.options ?? [], component, masterComponentValue)\n : setting.options;\n options = map(\n filteredOptions ?? [],\n (option) => option[component.displayOptionSetting ?? \"alias\"] ?? option.alias,\n );\n }\n return options;\n};\n\nconst filterModeOptions = (\n options: Device.Option[],\n component: ModuleConfig.Component,\n masterComponentValue?: string,\n): Device.Option[] => {\n if (component.mode?.operation != \"filterOptions\" || masterComponentValue == undefined)\n return options;\n //Determine mode\n const mode: string = find(\n getKeys(component.mode?.optionModes ?? {}) ?? [],\n (mode) => {\n const match = component.mode?.optionModes?.[mode];\n if (match) {\n return (masterComponentValue?.match(match)?.length ?? -1) > 0;\n }\n return false;\n },\n );\n const filteredOptions = filter(options ?? [], (option) => {\n if (option.mode) {\n const match = component.mode?.optionModes?.[mode];\n if (match) {\n return (option.mode.match(match)?.length ?? -1) > 0;\n }\n }\n return true;\n });\n return filteredOptions;\n};\n\nexport const getProcessedHandle = (\n handle: Handle | undefined,\n payload: Import[\"payload\"] | undefined,\n): Handle | undefined => {\n if (handle) {\n handle = {\n ...handle,\n label:\n payload?.moduleName ??\n payload?.name ??\n handle.label ??\n handle.providerId + \" : \" + handle.exportId,\n };\n }\n\n return handle;\n};\n\nexport interface DependencyDropdownOption {\n label: string;\n value?: Option<any, any>;\n}\nexport class DependencySelector {\n private noneSelection: DependencyDropdownOption = { label: \"None\" };\n private model: AppModel;\n private component: ModuleConfig.DependencyComponent<MyComponentNames>;\n\n constructor(\n model: AppModel,\n component: ModuleConfig.DependencyComponent<MyComponentNames>,\n ) {\n this.model = model;\n this.component = component;\n }\n\n generateDropdownOptions(): DependencyDropdownOption[] {\n const dropdownOptions: DependencyDropdownOption[] = [];\n const thisImport: Import | undefined = this.model.getImports()[\n this.component.importId\n ];\n const options: Option<any, any>[] | undefined = thisImport?.options;\n\n if (this.shouldAllowUnselectDependency(thisImport, options)) {\n dropdownOptions.push(this.noneSelection);\n }\n if (options) {\n for (const option in options) {\n dropdownOptions.push(this.createOptionEntry(options[option]));\n }\n }\n\n return dropdownOptions;\n }\n\n getDropdownOptionNames(): string[] {\n const names: string[] = [];\n this.generateDropdownOptions().forEach((option) => names.push(option.label));\n return names;\n }\n\n private createOptionEntry = (option: Option): DependencyDropdownOption => {\n return {\n label: this.createOptionLabel(option.handle, option.payload),\n value: option,\n };\n };\n\n createOptionLabel = (handle: Handle, payload: Import[\"payload\"]): string => {\n return getProcessedHandle(handle, payload)?.label ?? \"\";\n };\n\n private shouldAllowUnselectDependency(\n thisImport: Import | undefined,\n options: Option<any, any>[] | undefined,\n ): boolean {\n return (\n thisImport != undefined &&\n thisImport.isUnassignable != false &&\n options !== undefined\n );\n }\n}\n\nexport function getModuleDefaultDescription(): string | undefined {\n const packageJson = require(\"../../../package.json\");\n let desc: string | undefined;\n if (packageJson) {\n desc = packageJson.scf?.description;\n } else {\n desc = undefined;\n }\n return desc;\n}\n\nexport const getFriendlyInterfaceId = (\n interfaceName: string | undefined,\n): string | undefined => {\n interfaceName = interfaceName?.replace(/ /g, \"\").replace(/-/g, \"_\");\n\n return interfaceName;\n};\n","/* eslint-disable @typescript-eslint/no-var-requires */\nimport { ModuleConfig as MyModuleConfig } from \"../types/AutoModuleTypes\";\nimport { toDictionary } from \"../Utils\";\nimport * as path from \"path\";\nimport { AppModel } from \"../types/AutoModuleTypes\";\nimport { SoftwareComponent } from \"@microchip/scf-automodule-interface/lib/src/ModuleConfig\";\nimport { MyComponentNames } from \"../types\";\n\nconst configPath = \"../../../src/moduleConfig.json\";\nlet config: MyModuleConfig = require(\"../../../src/moduleConfig.json\");\n\nexport const getConfigData = (\n model?: AppModel,\n newConfig?: MyModuleConfig,\n): MyModuleConfig => {\n if (!config || newConfig) {\n config = ConfigBuilder.for(newConfig)\n .withDynamicConfigData(model)\n .withDynamicComponents(model)\n .build();\n }\n\n return config;\n};\n\nconst getConfigFile = (configPath: string): MyModuleConfig => {\n try {\n return require(configPath);\n } catch {\n throw Error(\"Cannot find moduleConfig.json at: \" + configPath);\n }\n};\n\nclass ConfigBuilder {\n private config: MyModuleConfig;\n\n constructor(config: MyModuleConfig) {\n this.config = config;\n }\n\n public static fromNew = (): ConfigBuilder =>\n ConfigBuilder.fromPath(path.resolve(__dirname, configPath));\n\n public static fromPath = (path: string): ConfigBuilder => {\n if (!config) {\n config = getConfigFile(path);\n }\n return new ConfigBuilder(config);\n };\n\n public static for = (config?: MyModuleConfig): ConfigBuilder => {\n if (!config) return ConfigBuilder.fromNew();\n\n return new ConfigBuilder(config);\n };\n\n public build = (): MyModuleConfig => {\n return this.config;\n };\n\n public withDynamicConfigData = (model?: AppModel): ConfigBuilder => {\n return new ConfigBuilder(\n model?.getDerivedFunction(\"getDynamicConfigData\", this.config) ?? this.config,\n );\n };\n\n public withDynamicComponents = (model?: AppModel): ConfigBuilder => {\n const dynamicComponents = model?.getDerivedFunctions().getDynamicComponents?.();\n if (dynamicComponents) {\n const dynamicComponentMap = toDictionary(\n dynamicComponents,\n (component) => {\n this.config.UIGroups[component.group] =\n this.config.UIGroups[component.group] ?? component.group;\n return component.name;\n },\n (component) => component,\n );\n this.config.softwareData = {\n ...this.config.softwareData,\n ...(dynamicComponentMap as Record<\n string,\n SoftwareComponent<MyComponentNames>\n >),\n };\n }\n return new ConfigBuilder(this.config);\n };\n}\n","/*\n * @license:\n * © 2019 Microchip Technology Inc. and its subsidiaries.\n *\n * You may use this software and any derivatives exclusively with Microchip products.\n *\n * THIS SOFTWARE IS SUPPLIED BY MICROCHIP \"AS IS\". NO WARRANTIES, WHETHER EXPRESS,\n * IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF\n * NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE, OR ITS\n * INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE\n * IN ANY APPLICATION.\n *\n * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL\n * OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO\n * THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY\n * OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S\n * TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED\n * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.\n *\n * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE TERMS.\n */\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { State as MyState } from \"./types/State\";\nimport { createPrototypeExports } from \"./interfaces/createPrototypeExports\";\nimport { createPrototypeImports } from \"./interfaces/createPrototypeImports\";\nimport { getCreatorFunctions as myCreatorFunctions } from \"../../src/CreatorFunctions\";\nimport { CreatorFunctions } from \"@microchip/scf-automodule-interface\";\nimport { ModuleConfig } from \"./types/AutoModuleTypes\";\nimport { getConfigData } from \"./autoModule/getConfigData\";\n\nexport type State<T extends MyState = MyState> = T & {\n [key: string]: any;\n};\n\nexport const create = (\n state: State,\n getCreatorFunctions?: () => CreatorFunctions,\n config?: ModuleConfig,\n): MyPrototypeModule => {\n if (!getCreatorFunctions) getCreatorFunctions = myCreatorFunctions;\n config = getConfigData(undefined, config);\n\n const prototypeImports = createPrototypeImports(state, getCreatorFunctions());\n const prototypeExports = createPrototypeExports();\n\n return {\n payload: state,\n imports: {\n ...prototypeImports,\n },\n exports: prototypeExports,\n isSingletonPerDevice: config?.isSingletonPerDevice,\n isEntryPoint: config?.isEntryPoint ?? true,\n };\n};\n\nexport type MyPrototypeModule<PayloadType = State> = Creator.Module<PayloadType>;\n","import { ModuleConfig } from \"../types/AutoModuleTypes\";\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { getConfigData } from \"../autoModule/getConfigData\";\nimport { getKeys } from \"../Utils\";\n\nexport const createPrototypeExports = (config?: ModuleConfig): Creator.Exports => {\n config = getConfigData(undefined, config);\n const exports: Creator.Exports = {};\n getKeys(config?.exports ?? {})?.forEach((expName) => {\n const exp = config?.exports?.[expName];\n if (exp == undefined) return;\n\n exports[expName] = {\n ...exp,\n interfaces: processExportInterfaces(exp.interfaces),\n };\n });\n return exports;\n};\n\nconst processExportInterfaces = (int: Creator.Interfaces): Creator.Interfaces => {\n const newInterfaces: Creator.Interfaces = [];\n int.forEach(({ interfaceId, payload }: Creator.Interface) => {\n newInterfaces.push({ interfaceId, payload });\n });\n return newInterfaces;\n};\n","import * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { CreatorFunctions } from \"@microchip/scf-automodule-interface\";\nimport { ModuleConfig } from \"../types/AutoModuleTypes\";\nimport { getConfigData } from \"../autoModule/getConfigData\";\nimport { State } from \"../creator\";\nimport { createPrototypeImport } from \"../autoModule/AutoModuleHardware\";\nimport { getKeys } from \"@microchip/scf-device/lib/util/Arrays\";\nimport { AutoImport } from \"@microchip/scf-automodule-interface/lib/src/ModuleConfig\";\n\nexport const createPrototypeImports = (\n state: State,\n creatorFunctions: CreatorFunctions,\n config?: ModuleConfig,\n): Creator.Imports => {\n let prototypeImports: Creator.Imports = {};\n config = getConfigData(undefined, config);\n\n if (!config) return prototypeImports;\n\n if (config?.peripherals) {\n config.peripherals.forEach((peripheral) => {\n const interfaceName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n const prototypeImport = createPrototypeImport(interfaceName);\n if (prototypeImport) {\n prototypeImports = {\n ...prototypeImports,\n [interfaceName]: {\n ...prototypeImport,\n isRequired: true,\n },\n };\n }\n });\n }\n getKeys(config?.imports ?? {})?.forEach((key) => {\n const imp: AutoImport | undefined = config?.imports?.[key];\n const args = creatorFunctions?.getCreatorImportArgs?.(key, state);\n if (imp && creatorFunctions?.shouldImport?.(key, state) != false) {\n prototypeImports = {\n ...prototypeImports,\n [key]: {\n ...imp.import,\n args: args,\n },\n };\n }\n });\n return prototypeImports;\n};\n\nconst getFriendlyInterfaceId = (interfaceName: string): string => {\n interfaceName = interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n\n return interfaceName;\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign({}, populatedImport, { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign({}, populatedImport, { options: populatedImport.options.map(function (option) {\n return __assign({}, option, { handle: __assign({}, option.handle, { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Setting_1 = require(\"./Setting\");\nvar Register_1 = require(\"./Register\");\nvar Arrays_1 = require(\"./util/Arrays\");\n/** Builder pattern */\nvar CalculateRegisterValue = /** @class */ (function () {\n function CalculateRegisterValue(register) {\n var _this = this;\n this.modifiedSettings = [];\n /** Assign a numerical value to the given `Setting`. */\n this.withNumberValue = function (setting, value) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign number value to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \" + setting.alias + \" is not present in Register \" + _this.register.name);\n }\n _this.modifiedSettings = __spreadArrays(_this.modifiedSettings, [\n new NumberSettingValue(setting, value)\n ]);\n return _this;\n };\n /** Assign the given `Option` to the given `Setting`. */\n this.withOption = function (setting, option) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \" + setting.alias + \" is not present in Register \" + _this.register.name);\n }\n if (!_this.getOption(setting, option)) {\n throw new Error(\"Option \" + option.name + \" is not present in Setting \" + setting.name);\n }\n _this.modifiedSettings = __spreadArrays(_this.modifiedSettings, [\n new OptionSettingValue(setting, option)\n ]);\n return _this;\n };\n /** Assign the `Option` matching the given alias to the given `Setting`. */\n this.withOptionAlias = function (setting, optionAlias) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option alias to setting, setting is undefined.\");\n }\n var option = Setting_1.getOptionByAlias(optionAlias, setting);\n if (option === undefined) {\n throw new Error(\"Option Alias: \\\"\" + optionAlias + \"\\\" not present in Setting: \\\"\" + setting.name + \"\\\".\");\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given name to the given `Setting`. */\n this.withOptionName = function (setting, optionName) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option name to setting, setting is undefined.\");\n }\n var option = Setting_1.getOptionByName(optionName, setting);\n if (option === undefined) {\n throw new Error(\"Option Name: \\\"\" + optionName + \"\\\" not present in Setting: \\\"\" + setting.name + \"\\\".\");\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given description to the given `Setting`. */\n this.withOptionDescription = function (setting, optionDescription) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option description to setting, setting is undefined.\");\n }\n var option = Setting_1.getOptionByDescription(optionDescription, setting);\n if (option === undefined) {\n throw new Error(\"Option Description: \\\"\" + optionDescription + \"\\\" not present in Setting: \\\"\" + setting.name + \"\\\".\");\n }\n return _this.withOption(setting, option);\n };\n this.getSetting = function (setting) {\n return Register_1.getSettingByAlias(setting.alias, _this.register);\n };\n this.getOption = function (setting, option) {\n return Setting_1.getOptionByName(option.name, setting);\n };\n this.calculate = function () {\n var registerValue = 0;\n _this.modifiedSettings.forEach(function (modifiedSetting) {\n registerValue = _this.setValue(modifiedSetting, registerValue);\n });\n var unmodifiedSettings = _this.getUnmodifiedSettings();\n unmodifiedSettings.forEach(function (unmodifiedSetting) {\n registerValue = _this.setValue(SettingValue.defaultValue(unmodifiedSetting), registerValue);\n });\n return Number(registerValue);\n };\n this.setValue = function (setting, registerValue) {\n var value = registerValue;\n value &= ~setting.getMask(); // Clear bits\n value |= setting.getShiftedValue(); // Set bits\n return value;\n };\n this.getUnmodifiedSettings = function () {\n var _a;\n var modifiedSettingNames = Arrays_1.map(_this.modifiedSettings, function (setting) { return setting.getName(); });\n return Arrays_1.filter((_a = Arrays_1.values(_this.register.settings)) !== null && _a !== void 0 ? _a : [], function (setting) { return modifiedSettingNames.indexOf(setting.name) < 0; });\n };\n /** Calculate and print the register's value as a hex string. */\n this.asHexString = function () { return CalculateRegisterValue.toHexString(_this.calculate()); };\n /** Calculate and print the register's value as a binary string. */\n this.asBinaryString = function () { return CalculateRegisterValue.toBinaryString(_this.calculate()); };\n /** Calculate and print the register's value as a decimal string. */\n this.asDecimalString = function () { return CalculateRegisterValue.toDecimalString(_this.calculate()); };\n /** Calculate and return the register's value as a number. */\n this.asNumber = function () { return _this.calculate(); };\n this.register = register;\n }\n /** Creates a register value calculation object for the given register. */\n CalculateRegisterValue.for = function (register) {\n return new CalculateRegisterValue(register);\n };\n /** Format the given number as a hex string value. */\n CalculateRegisterValue.toHexString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toHexString() illegal argument exception. Value must not be null.\");\n }\n return \"0x\" + value.toString(16);\n };\n /** Format the given number as a binary string value. */\n CalculateRegisterValue.toBinaryString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toBinaryString() illegal argument exception. Value must not be null.\");\n }\n return \"0b\" + value.toString(2);\n };\n /** Format the given number as a decimal string value. */\n CalculateRegisterValue.toDecimalString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toDecimalString() illegal argument exception. Value must not be null.\");\n }\n return value.toString();\n };\n return CalculateRegisterValue;\n}());\nexports.default = CalculateRegisterValue;\nvar SettingValue = /** @class */ (function () {\n function SettingValue(setting) {\n var _this = this;\n this.getMask = function () { return Number(_this.setting.mask); };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getShiftedValue = function () { return _this.getValue() << _this.getShift(); };\n this.getName = function () { return _this.setting.name; };\n this.setting = setting;\n }\n SettingValue.defaultValue = function (setting) {\n var value = Number(setting.porDefault);\n return new NumberSettingValue(setting, value);\n };\n return SettingValue;\n}());\nvar NumberSettingValue = /** @class */ (function (_super) {\n __extends(NumberSettingValue, _super);\n function NumberSettingValue(setting, value) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return _this.value; };\n _this.value = value;\n return _this;\n }\n return NumberSettingValue;\n}(SettingValue));\nvar OptionSettingValue = /** @class */ (function (_super) {\n __extends(OptionSettingValue, _super);\n function OptionSettingValue(setting, option) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return Number(_this.option.value); };\n _this.option = option;\n return _this;\n }\n OptionSettingValue.fromDefaultValue = function (setting, value) {\n var foundValueByName = Setting_1.getOptionByName(value, setting);\n if (foundValueByName)\n return new OptionSettingValue(setting, foundValueByName);\n var foundValueByAlias = Setting_1.getOptionByAlias(value, setting);\n if (foundValueByAlias)\n return new OptionSettingValue(setting, foundValueByAlias);\n throw new Error(\"Unable to create default value '\" + value + \"' for setting '\" + setting.name + \"'.\");\n };\n return OptionSettingValue;\n}(SettingValue));\n//# sourceMappingURL=CalculateRegisterValue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSettingByAlias = void 0;\nexports.getSettingByAlias = function (alias, register) {\n return register.settings[alias];\n};\n//# sourceMappingURL=Register.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionDescriptions = exports.getOptionNames = exports.getOptionByDescription = exports.getOptionByName = exports.getOptionByAlias = void 0;\nvar Arrays_1 = require(\"./util/Arrays\");\nexports.getOptionByAlias = function (alias, setting) {\n var _a;\n return Arrays_1.find((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.alias == alias; });\n};\nexports.getOptionByName = function (name, setting) {\n var _a;\n return Arrays_1.find((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name == name; });\n};\nexports.getOptionByDescription = function (description, setting) {\n var _a;\n return Arrays_1.find((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description == description; });\n};\nexports.getOptionNames = function (setting) {\n var _a;\n return Arrays_1.map((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name; });\n};\nexports.getOptionDescriptions = function (setting) {\n var _a;\n return Arrays_1.map((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description; });\n};\n//# sourceMappingURL=Setting.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.values = exports.getKeys = exports.find = exports.filter = exports.map = void 0;\nexports.map = function (arr, callback) {\n var result = [];\n arr.forEach(function (value, index) {\n result[index] = callback(value);\n });\n return result;\n};\nexports.filter = function (arr, callback) {\n var result = [];\n arr.forEach(function (value) {\n if (callback(value)) {\n result.push(value);\n }\n });\n return result;\n};\n/**\n * Iterates over elements of the array, returning the first element that the predicate returns truthy for.\n */\nexports.find = function (arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i])) {\n return arr[i];\n }\n }\n return undefined;\n};\n/** @returns the non-prototype keys of the given object */\nexports.getKeys = function (obj) {\n if (!obj)\n return undefined;\n return Object.getOwnPropertyNames(obj);\n};\nexports.values = function (obj) {\n if (!obj)\n return undefined;\n return exports.getKeys(obj).map(function (key) { return obj[key]; });\n};\n//# sourceMappingURL=Arrays.js.map","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import { CreatorFunctions } from \"@microchip/scf-automodule-interface\";\nimport { MyState } from \"../generated_module/src/types/AutoModuleTypes\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n getCreatorImportArgs: getCreatorImportArgs,\n };\n};\n\nconst shouldImport = (importKey: string, state: MyState): boolean => {\n return true;\n};\n\nconst getCreatorImportArgs = (importKey: string, state: MyState): any | undefined => {\n return undefined;\n};\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://creator/webpack/bootstrap","webpack://creator/./generated_module/src/Utils.ts","webpack://creator/./generated_module/src/autoModule sync","webpack://creator/./generated_module/src/autoModule/AutoModuleHardware.ts","webpack://creator/./generated_module/src/autoModule/AutoModuleHelpers.tsx","webpack://creator/./generated_module/src/autoModule/getConfigData.ts","webpack://creator/./generated_module/src/creator.tsx","webpack://creator/./generated_module/src/interfaces/createPrototypeExports.ts","webpack://creator/./generated_module/src/interfaces/createPrototypeImports.ts","webpack://creator/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://creator/./node_modules/@microchip/scf-device/lib/CalculateRegisterValue.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Register.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Setting.js","webpack://creator/./node_modules/@microchip/scf-device/lib/util/Arrays.js","webpack://creator/./node_modules/core-js/es/map/index.js","webpack://creator/./node_modules/core-js/es/set/index.js","webpack://creator/./node_modules/core-js/internals/a-callable.js","webpack://creator/./node_modules/core-js/internals/a-possible-prototype.js","webpack://creator/./node_modules/core-js/internals/add-to-unscopables.js","webpack://creator/./node_modules/core-js/internals/an-instance.js","webpack://creator/./node_modules/core-js/internals/an-object.js","webpack://creator/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://creator/./node_modules/core-js/internals/array-includes.js","webpack://creator/./node_modules/core-js/internals/array-slice.js","webpack://creator/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://creator/./node_modules/core-js/internals/classof-raw.js","webpack://creator/./node_modules/core-js/internals/classof.js","webpack://creator/./node_modules/core-js/internals/collection-strong.js","webpack://creator/./node_modules/core-js/internals/collection.js","webpack://creator/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://creator/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://creator/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://creator/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://creator/./node_modules/core-js/internals/create-property-descriptor.js","webpack://creator/./node_modules/core-js/internals/define-iterator.js","webpack://creator/./node_modules/core-js/internals/descriptors.js","webpack://creator/./node_modules/core-js/internals/document-create-element.js","webpack://creator/./node_modules/core-js/internals/engine-user-agent.js","webpack://creator/./node_modules/core-js/internals/engine-v8-version.js","webpack://creator/./node_modules/core-js/internals/enum-bug-keys.js","webpack://creator/./node_modules/core-js/internals/export.js","webpack://creator/./node_modules/core-js/internals/fails.js","webpack://creator/./node_modules/core-js/internals/freezing.js","webpack://creator/./node_modules/core-js/internals/function-bind-context.js","webpack://creator/./node_modules/core-js/internals/function-call.js","webpack://creator/./node_modules/core-js/internals/function-name.js","webpack://creator/./node_modules/core-js/internals/function-uncurry-this.js","webpack://creator/./node_modules/core-js/internals/get-built-in.js","webpack://creator/./node_modules/core-js/internals/get-iterator-method.js","webpack://creator/./node_modules/core-js/internals/get-iterator.js","webpack://creator/./node_modules/core-js/internals/get-method.js","webpack://creator/./node_modules/core-js/internals/global.js","webpack://creator/./node_modules/core-js/internals/has-own-property.js","webpack://creator/./node_modules/core-js/internals/hidden-keys.js","webpack://creator/./node_modules/core-js/internals/html.js","webpack://creator/./node_modules/core-js/internals/ie8-dom-define.js","webpack://creator/./node_modules/core-js/internals/indexed-object.js","webpack://creator/./node_modules/core-js/internals/inherit-if-required.js","webpack://creator/./node_modules/core-js/internals/inspect-source.js","webpack://creator/./node_modules/core-js/internals/internal-metadata.js","webpack://creator/./node_modules/core-js/internals/internal-state.js","webpack://creator/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://creator/./node_modules/core-js/internals/is-callable.js","webpack://creator/./node_modules/core-js/internals/is-forced.js","webpack://creator/./node_modules/core-js/internals/is-object.js","webpack://creator/./node_modules/core-js/internals/is-pure.js","webpack://creator/./node_modules/core-js/internals/is-symbol.js","webpack://creator/./node_modules/core-js/internals/iterate.js","webpack://creator/./node_modules/core-js/internals/iterator-close.js","webpack://creator/./node_modules/core-js/internals/iterators-core.js","webpack://creator/./node_modules/core-js/internals/iterators.js","webpack://creator/./node_modules/core-js/internals/length-of-array-like.js","webpack://creator/./node_modules/core-js/internals/native-symbol.js","webpack://creator/./node_modules/core-js/internals/native-weak-map.js","webpack://creator/./node_modules/core-js/internals/object-create.js","webpack://creator/./node_modules/core-js/internals/object-define-properties.js","webpack://creator/./node_modules/core-js/internals/object-define-property.js","webpack://creator/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://creator/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://creator/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://creator/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://creator/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://creator/./node_modules/core-js/internals/object-is-extensible.js","webpack://creator/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://creator/./node_modules/core-js/internals/object-keys-internal.js","webpack://creator/./node_modules/core-js/internals/object-keys.js","webpack://creator/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://creator/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://creator/./node_modules/core-js/internals/object-to-string.js","webpack://creator/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://creator/./node_modules/core-js/internals/own-keys.js","webpack://creator/./node_modules/core-js/internals/path.js","webpack://creator/./node_modules/core-js/internals/redefine-all.js","webpack://creator/./node_modules/core-js/internals/redefine.js","webpack://creator/./node_modules/core-js/internals/require-object-coercible.js","webpack://creator/./node_modules/core-js/internals/set-global.js","webpack://creator/./node_modules/core-js/internals/set-species.js","webpack://creator/./node_modules/core-js/internals/set-to-string-tag.js","webpack://creator/./node_modules/core-js/internals/shared-key.js","webpack://creator/./node_modules/core-js/internals/shared-store.js","webpack://creator/./node_modules/core-js/internals/shared.js","webpack://creator/./node_modules/core-js/internals/string-multibyte.js","webpack://creator/./node_modules/core-js/internals/to-absolute-index.js","webpack://creator/./node_modules/core-js/internals/to-indexed-object.js","webpack://creator/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://creator/./node_modules/core-js/internals/to-length.js","webpack://creator/./node_modules/core-js/internals/to-object.js","webpack://creator/./node_modules/core-js/internals/to-primitive.js","webpack://creator/./node_modules/core-js/internals/to-property-key.js","webpack://creator/./node_modules/core-js/internals/to-string-tag-support.js","webpack://creator/./node_modules/core-js/internals/to-string.js","webpack://creator/./node_modules/core-js/internals/try-to-string.js","webpack://creator/./node_modules/core-js/internals/uid.js","webpack://creator/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://creator/./node_modules/core-js/internals/well-known-symbol.js","webpack://creator/./node_modules/core-js/modules/es.array.iterator.js","webpack://creator/./node_modules/core-js/modules/es.map.js","webpack://creator/./node_modules/core-js/modules/es.object.to-string.js","webpack://creator/./node_modules/core-js/modules/es.set.js","webpack://creator/./node_modules/core-js/modules/es.string.iterator.js","webpack://creator/./node_modules/path-browserify/index.js","webpack://creator/./node_modules/process/browser.js","webpack://creator/(webpack)/buildin/global.js","webpack://creator/./src/CreatorFunctions.ts"],"names":["getKeys","obj","Object","getOwnPropertyNames","values","map","key","forEach","action","mapper","assertNotNull","val","msg","Error","toDictionary","arr","keyMapper","valueMapper","result","entry","createPrototypeImport","interfaceName","config","getConfigData","undefined","imports","isFullyAssigned","interfaces","getHardwareInterfaces","peripherals","i","length","imp","isAssigned","peripheral","getFriendlyInterfaceId","interfaceId","name","castComponent","component","category","getDefaultValue","overrideDefaultValues","type","defaultValue","value","getComboOptions","overrideOptions","hasConfigBits","indexOf","getRegisterValues","model","registers","peripheralName","regName","registerValue","reg","getHardware","getPeripheral","comment","valueAsHex","alias","settings","registerVal","CalculateRegisterValue","comments","set","setting","push","getComponentValue","getSettingBits","getComponent","deviceType","withNumberValue","getOptionValueByName","Number","asNumber","toString","toUpperCase","sortComments","register","sort","a","b","settingA","split","settingB","mask","join","setValNumber","getOptionByAlias","settingValue","valueAsDescription","bitName","getRegisterFromComponent","hardware","registerName","replace","toLowerCase","modifiedRegName","getSettingFromComponent","description","desc","porDefault","optionName","optionValue","options","option","getSettingDefaultIfPresent","overrideDefaultValue","getOptionByName","displayOptionSetting","getOverrideDefaultValue","getDerivedFunctions","getSettingOptionsIfPresent","masterComponentValue","filteredOptions","mode","filterModeOptions","operation","find","optionModes","match","filter","getProcessedHandle","handle","payload","label","moduleName","providerId","exportId","DependencySelector","noneSelection","createOptionEntry","createOptionLabel","dropdownOptions","thisImport","getImports","importId","shouldAllowUnselectDependency","names","generateDropdownOptions","isUnassignable","getModuleDefaultDescription","packageJson","require","scf","configPath","newConfig","ConfigBuilder","withDynamicConfigData","withDynamicComponents","build","getConfigFile","getDerivedFunction","dynamicComponents","getDynamicComponents","dynamicComponentMap","UIGroups","group","softwareData","fromNew","fromPath","path","__dirname","create","state","getCreatorFunctions","myCreatorFunctions","prototypeImports","createPrototypeImports","prototypeExports","createPrototypeExports","exports","isSingletonPerDevice","isEntryPoint","expName","exp","processExportInterfaces","int","newInterfaces","creatorFunctions","prototypeImport","isRequired","args","getCreatorImportArgs","shouldImport","importKey"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,wCAAwC;AACxC,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,gGAAgG,0BAA0B,EAAE;AAC5H,4IAA4I,uDAAuD,EAAE;AACrM;AACA;AACA,wCAAwC,8DAA8D;AACtG;AACA,2CAA2C,iEAAiE;AAC5G;AACA,4CAA4C,kEAAkE;AAC9G;AACA,qCAAqC,0BAA0B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oCAAoC,mCAAmC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,6CAA6C;AACzF,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC,oBAAoB;AAC1D;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC,mCAAmC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kD;;;;;;;;;;;;AClNa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACNa;A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A;;AAEA;AACA,gDAAgD,kBAAkB,EAAE;;AAEpE;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC7Ba;AACb,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,aAAa,mBAAO,CAAC,qFAA4B;AACjD,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,WAAW,mBAAO,CAAC,qGAAoC;AACvD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,cAAc,mBAAO,CAAC,6FAAgC;AACtD,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,SAAS,WAAW,YAAY,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC3Ma;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,6BAA6B,mBAAO,CAAC,6FAAgC;AACrE,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,wBAAwB,mBAAO,CAAC,iGAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA;AACA,4EAA4E,iCAAiC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AA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zF,CAAC;;;;;;;;;;;;ACRD,4BAA4B,mBAAO,CAAC,qGAAoC;AACxE,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,eAAe,mBAAO,CAAC,2FAA+B;;AAEtD;AACA;AACA;AACA,oDAAoD,eAAe;AACnE;;;;;;;;;;;;;ACRa;AACb,iBAAiB,mBAAO,CAAC,+EAAyB;AAClD,uBAAuB,mBAAO,CAAC,6FAAgC;;AAE/D;AACA;AACA;AACA,yBAAyB,gEAAgE;AACzF,CAAC;;;;;;;;;;;;;ACRY;AACb,aAAa,mBAAO,CAAC,2FAA+B;AACpD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,qBAAqB,mBAAO,CAAC,yFAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;;;;AC7BD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC7SA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;AChBA;AAAA;AAAO,IAAMkJ,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAwB;AACvD,SAAO;AACHmB,gBAAY,EAAEA,YADX;AAEHD,wBAAoB,EAAEA;AAFnB,GAAP;AAIH,CALM;;AAOP,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,SAAD,EAAoBrB,KAApB,EAAgD;AACjE,SAAO,IAAP;AACH,CAFD;;AAIA,IAAMmB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACE,SAAD,EAAoBrB,KAApB,EAAwD;AACjF,SAAO9I,SAAP;AACH,CAFD,C","file":"creator.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export type Dictionary<T> = Record<string, T>;\n\n/** @returns the non-prototype keys of the given object */\nexport const getKeys = (obj: object): string[] => {\n /* eslint-disable-line */\n return Object.getOwnPropertyNames(obj);\n};\n\nexport const values = <T = any>(obj: { [key: string]: T }): T[] => {\n return getKeys(obj).map((key: string): T => obj[key]);\n};\n\nexport const forEach = <T>(\n obj: Dictionary<T>,\n action: (key: string, value: T) => void,\n): void => {\n getKeys(obj).forEach((key: string): void => action(key, obj[key]));\n};\n\nexport const map = <T, R>(\n obj: Dictionary<T>,\n mapper: (key: string, value: T) => R,\n): R[] => {\n return getKeys(obj).map((key: string): R => mapper(key, obj[key]));\n};\n\ntype NonNullAssertion = <T>(val: T, msg?: string) => asserts val is NonNullable<T>;\n\nexport const assertNotNull: NonNullAssertion = <T>(\n val: T,\n msg?: string,\n): asserts val is NonNullable<T> => {\n if (val == null) {\n throw new Error(msg);\n }\n};\n\nexport const toDictionary = <T, V>(\n arr: T[],\n keyMapper: (input: T) => string,\n valueMapper: (input: T) => V,\n): Dictionary<V> => {\n const result: Dictionary<V> = {};\n arr.forEach((entry) => {\n result[keyMapper(entry)] = valueMapper(entry);\n });\n return result;\n};\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = \"./generated_module/src/autoModule sync recursive\";","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { ModuleConfig } from \"../types/AutoModuleTypes\";\nimport { isAssigned } from \"@microchip/scf-common/lib/Processor\";\nimport { getConfigData } from \"./getConfigData\";\nimport { map } from \"@microchip/scf-device/lib/util/Arrays\";\nimport { Peripheral } from \"@microchip/scf-automodule-interface/lib/src/ModuleConfig\";\nimport { getFriendlyInterfaceId } from \"./AutoModuleHelpers\";\n\nexport const createPrototypeImport = (\n interfaceName: string,\n config?: ModuleConfig,\n): Creator.Interface | undefined => {\n config = getConfigData(undefined, config);\n return config?.imports?.[interfaceName]?.import;\n};\n\nexport const isFullyAssigned = <T extends Processor.Imports = Processor.Imports>(\n imports: T,\n config?: ModuleConfig,\n): boolean => {\n config = getConfigData(undefined, config);\n\n //get peripheral interfaces.\n const interfaces = getHardwareInterfaces(config?.peripherals ?? []);\n\n for (let i = 0; i < interfaces.length; i++) {\n const imp = imports[interfaces[i]];\n if (!imp || !isAssigned(imp)) {\n return false;\n }\n }\n return true;\n};\n\n//Assumes hardware import keys are the same as the interface IDs\nconst getHardwareInterfaces = (peripherals: Peripheral[]): string[] => {\n const interfaces: string[] = map(peripherals, (peripheral) => {\n return getFriendlyInterfaceId(peripheral.interfaceId.name) ?? \"\";\n });\n return interfaces;\n};\n","/* eslint @typescript-eslint/no-var-requires: \"off\" */\nimport { ModuleConfig } from \"@microchip/scf-automodule-interface\";\nimport * as Device from \"@microchip/scf-device\";\nimport { find, filter, map } from \"@microchip/scf-device/lib/util/Arrays\";\nimport CalculateRegisterValue from \"@microchip/scf-device/lib/CalculateRegisterValue\";\nimport { Setting } from \"@microchip/scf-device\";\nimport { getOptionByAlias, getOptionByName } from \"@microchip/scf-device/lib/Setting\";\nimport { getConfigData } from \"./getConfigData\";\nimport { getKeys } from \"../Utils\";\nimport { MyComponentNames, MyPeripheral, Register } from \"../types\";\nimport {\n AppModel,\n ModuleConfig as MyModuleConfig,\n MyRegisterValues,\n} from \"../types/AutoModuleTypes\";\nimport {\n RegisterValue,\n SettingValue,\n} from \"@microchip/scf-automodule-interface/lib/src/HardwareTypes\";\nimport { SoftwareComboBoxComponent } from \"@microchip/scf-automodule-interface/lib/src/SoftwareComponents\";\nimport { Import, Option } from \"@microchip/scf-common/lib/Processor\";\nimport { Handle } from \"@microchip/scf-common\";\n\nexport const castComponent = (\n component: ModuleConfig.Component<MyComponentNames>,\n): ModuleConfig.Component<MyComponentNames> => {\n switch (component.category) {\n case \"software\":\n return component;\n case \"import\":\n return component;\n case \"hardware\":\n return component;\n default:\n throw Error(\"Unsupported Component Type\");\n }\n};\n\nexport const getDefaultValue = (\n overrideDefaultValues: ((componentName: MyComponentNames) => any) | undefined,\n component: ModuleConfig.SoftwareComponent<MyComponentNames>,\n): ModuleConfig.SoftwareComponent[\"defaultValue\"] => {\n return (\n overrideDefaultValues?.(component.name) ??\n (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue)\n );\n};\n\nexport const getComboOptions = (\n overrideOptions: ((componentName: MyComponentNames) => string[]) | undefined,\n component: SoftwareComboBoxComponent<MyComponentNames>,\n): any[] => {\n return overrideOptions?.(component.name) ?? component?.defaultValue?.[\"options\"];\n};\n\nexport const hasConfigBits = (interfaceName: string): boolean => {\n return getFriendlyInterfaceId(interfaceName)?.indexOf(\"configuration_bits\") != -1;\n};\n\nexport const getRegisterValues = (\n model: AppModel,\n interfaceName?: string,\n config?: MyModuleConfig,\n): MyRegisterValues => {\n const registers: MyRegisterValues = {} as MyRegisterValues;\n config = getConfigData(model, config);\n interfaceName = getFriendlyInterfaceId(interfaceName);\n\n config?.peripherals?.forEach((peripheral) => {\n const peripheralName = getFriendlyInterfaceId(peripheral.interfaceId.name) ?? \"\";\n if (hasConfigBits(peripheralName)) return;\n if (\n (interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers\n )\n return;\n getKeys(peripheral.registers ?? {})?.forEach((regName) => {\n let registerValue: RegisterValue<string>;\n const reg = model.getHardware(peripheralName)?.getPeripheral().registers?.[\n regName\n ];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg?.name,\n alias: reg?.alias ?? reg?.name,\n settings: {},\n };\n } else {\n return;\n }\n\n const registerVal = CalculateRegisterValue.for(reg as Device.Register);\n const comments: string[] = [];\n peripheral.registers?.[regName].forEach((set) => {\n const setting: Device.Setting | undefined = reg.settings?.[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n comments.push(\n `${set.setting} ${model.getComponentValue(set.name)}; `,\n );\n }\n if (registerValue?.settings) {\n registerValue.settings[setting.alias] = getSettingBits(\n reg,\n setting,\n model.getComponent(set.name)?.value as string,\n config?.deviceType ?? \"PIC\",\n );\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n registerVal.withNumberValue(\n setting,\n getOptionValueByName(\n setting,\n model.getComponent(set.name)?.value as string,\n ) ?? 0,\n );\n break;\n case \"number\":\n registerVal.withNumberValue(\n setting,\n model.getComponentValue(set.name as string) as number,\n );\n break;\n case \"register\":\n case \"string\":\n registerVal.withNumberValue(\n setting,\n Number(model.getComponentValue(set.name)),\n );\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n } else {\n registerValue.value = Number(\n model.getComponentValue(\n peripheral.registers?.[regName]?.[0]?.name ?? \"\",\n ) ?? 0,\n );\n comments.push(`${registerValue.name} ${registerValue.value}; `);\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = sortComments(comments, reg);\n\n registers[reg?.alias ?? reg.name] = registerValue;\n });\n });\n\n return registers;\n};\n\nconst sortComments = (comments: string[], register: Register): string => {\n comments.sort((a, b): number => {\n const settingA = register.settings?.[a.split[\" \"]?.[0]];\n const settingB = register.settings?.[b.split(\" \")?.[0]];\n return Number(settingB?.mask) - Number(settingA?.mask);\n });\n\n return comments.join(\"\");\n};\n\nexport const getSettingBits = (\n register: Register,\n setting: Device.Setting,\n value: string,\n deviceType: string,\n): SettingValue => {\n const setValNumber = Number(getOptionByAlias(value, setting)?.value ?? 0);\n const settingValue: SettingValue = {\n alias: setting.alias,\n name: setting.name,\n value: setValNumber ?? 0,\n valueAsHex: \"0x\" + setValNumber.toString(16).toUpperCase(),\n valueAsDescription: value,\n bitName:\n deviceType === \"PIC\"\n ? `${register.name}bits.${setting.name}`\n : `${register.name}.${setting.name}`,\n };\n return settingValue;\n};\n\nconst getRegisterFromComponent = (\n hardware: MyPeripheral | undefined,\n component: ModuleConfig.HardwareComponent,\n): Register | undefined => {\n const registerName = component.name\n .replace(component.setting.toLowerCase(), \"\")\n ?.toUpperCase();\n const register = hardware?.registers?.[registerName];\n\n if (register) {\n return register;\n } else {\n const regName = component.name\n .replace(component.setting.toLowerCase(), \"\")\n ?.toUpperCase();\n let registers: string[] | undefined = getKeys(hardware?.registers ?? {});\n for (let reg of registers ?? []) {\n const modifiedRegName = reg.replace(/\\_/g, \"\");\n if (regName === modifiedRegName) {\n return hardware?.registers?.[reg];\n }\n }\n }\n};\n\nexport const getSettingFromComponent = (\n model: AppModel,\n component: ModuleConfig.HardwareComponent,\n config?: MyModuleConfig,\n): Device.Setting | undefined => {\n config = getConfigData(model, config);\n let setting: Device.Setting | undefined;\n\n if (model) {\n config?.peripherals?.forEach((peripheral) => {\n if (setting) return;\n const peripheralName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n const hardware = model.getHardware(peripheralName, config)?.getPeripheral();\n const register = getRegisterFromComponent(hardware, component);\n if (register && !register.settings) {\n //No settings for this particular register. Create one\n setting = {\n alias: register.alias ?? register.name,\n name: register.name,\n defaultValue: register.defaultValue,\n type: register.type,\n description: register.desc,\n porDefault: register.defaultValue,\n };\n } else {\n setting = register?.settings?.[component.setting];\n }\n });\n }\n\n return setting;\n};\n\nexport const getOptionValueByName = (\n setting: Device.Setting,\n optionName: string,\n): number | undefined => {\n if (!setting) return undefined;\n\n let optionValue: string | undefined = setting.porDefault;\n if (setting.options) {\n setting.options.forEach((option) => {\n if (option.name === optionName || option.description === optionName) {\n optionValue = option.value;\n }\n });\n }\n return Number(optionValue);\n};\n\nexport const getSettingDefaultIfPresent = (\n component: ModuleConfig.HardwareComponent,\n setting: Setting | undefined,\n overrideDefaultValue: any | undefined,\n): string | undefined => {\n let defaultValue: string | undefined;\n if (overrideDefaultValue !== undefined) {\n return overrideDefaultValue;\n }\n if (component.overrideDefaultValue) {\n return component.overrideDefaultValue;\n }\n\n if (setting?.defaultValue) {\n const option = getOptionByName(setting.defaultValue, setting);\n defaultValue =\n option?.[component.displayOptionSetting ?? \"alias\"] ?? setting.defaultValue;\n }\n return defaultValue;\n};\nexport const getOverrideDefaultValue = (\n component: ModuleConfig.HardwareComponent,\n model: AppModel,\n): string | undefined => {\n return model.getDerivedFunctions().overrideDefaultValues?.(component.name);\n};\n\nexport const getSettingOptionsIfPresent = (\n component: ModuleConfig.HardwareComponent,\n setting: Device.Setting | undefined,\n masterComponentValue?: string,\n): string[] => {\n let options = [\"\"];\n\n if (setting) {\n const filteredOptions = component.mode\n ? filterModeOptions(setting.options ?? [], component, masterComponentValue)\n : setting.options;\n options = map(\n filteredOptions ?? [],\n (option) => option[component.displayOptionSetting ?? \"alias\"] ?? option.alias,\n );\n }\n return options;\n};\n\nconst filterModeOptions = (\n options: Device.Option[],\n component: ModuleConfig.Component,\n masterComponentValue?: string,\n): Device.Option[] => {\n if (component.mode?.operation != \"filterOptions\" || masterComponentValue == undefined)\n return options;\n //Determine mode\n const mode: string = find(\n getKeys(component.mode?.optionModes ?? {}) ?? [],\n (mode) => {\n const match = component.mode?.optionModes?.[mode];\n if (match) {\n return (masterComponentValue?.match(match)?.length ?? -1) > 0;\n }\n return false;\n },\n );\n const filteredOptions = filter(options ?? [], (option) => {\n if (option.mode) {\n const match = component.mode?.optionModes?.[mode];\n if (match) {\n return (option.mode.match(match)?.length ?? -1) > 0;\n }\n }\n return true;\n });\n return filteredOptions;\n};\n\nexport const getProcessedHandle = (\n handle: Handle | undefined,\n payload: Import[\"payload\"] | undefined,\n): Handle | undefined => {\n if (handle) {\n handle = {\n ...handle,\n label:\n payload?.moduleName ??\n payload?.name ??\n handle.label ??\n handle.providerId + \" : \" + handle.exportId,\n };\n }\n\n return handle;\n};\n\nexport interface DependencyDropdownOption {\n label: string;\n value?: Option<any, any>;\n}\nexport class DependencySelector {\n private noneSelection: DependencyDropdownOption = { label: \"None\" };\n private model: AppModel;\n private component: ModuleConfig.DependencyComponent<MyComponentNames>;\n\n constructor(\n model: AppModel,\n component: ModuleConfig.DependencyComponent<MyComponentNames>,\n ) {\n this.model = model;\n this.component = component;\n }\n\n generateDropdownOptions(): DependencyDropdownOption[] {\n const dropdownOptions: DependencyDropdownOption[] = [];\n const thisImport: Import | undefined = this.model.getImports()[\n this.component.importId\n ];\n const options: Option<any, any>[] | undefined = thisImport?.options;\n\n if (this.shouldAllowUnselectDependency(thisImport, options)) {\n dropdownOptions.push(this.noneSelection);\n }\n if (options) {\n for (const option in options) {\n dropdownOptions.push(this.createOptionEntry(options[option]));\n }\n }\n\n return dropdownOptions;\n }\n\n getDropdownOptionNames(): string[] {\n const names: string[] = [];\n this.generateDropdownOptions().forEach((option) => names.push(option.label));\n return names;\n }\n\n private createOptionEntry = (option: Option): DependencyDropdownOption => {\n return {\n label: this.createOptionLabel(option.handle, option.payload),\n value: option,\n };\n };\n\n createOptionLabel = (handle: Handle, payload: Import[\"payload\"]): string => {\n return getProcessedHandle(handle, payload)?.label ?? \"\";\n };\n\n private shouldAllowUnselectDependency(\n thisImport: Import | undefined,\n options: Option<any, any>[] | undefined,\n ): boolean {\n return (\n thisImport != undefined &&\n thisImport.isUnassignable != false &&\n options !== undefined\n );\n }\n}\n\nexport function getModuleDefaultDescription(): string | undefined {\n const packageJson = require(\"../../../package.json\");\n let desc: string | undefined;\n if (packageJson) {\n desc = packageJson.scf?.description;\n } else {\n desc = undefined;\n }\n return desc;\n}\n\nexport const getFriendlyInterfaceId = (\n interfaceName: string | undefined,\n): string | undefined => {\n interfaceName = interfaceName?.replace(/ /g, \"\").replace(/-/g, \"_\");\n\n return interfaceName;\n};\n","/* eslint-disable @typescript-eslint/no-var-requires */\nimport { ModuleConfig as MyModuleConfig } from \"../types/AutoModuleTypes\";\nimport { toDictionary } from \"../Utils\";\nimport * as path from \"path\";\nimport { AppModel } from \"../types/AutoModuleTypes\";\nimport { SoftwareComponent } from \"@microchip/scf-automodule-interface/lib/src/ModuleConfig\";\nimport { MyComponentNames } from \"../types\";\n\nconst configPath = \"../../../src/moduleConfig.json\";\nlet config: MyModuleConfig = require(\"../../../src/moduleConfig.json\");\n\nexport const getConfigData = (\n model?: AppModel,\n newConfig?: MyModuleConfig,\n): MyModuleConfig => {\n if (!config || newConfig) {\n config = ConfigBuilder.for(newConfig)\n .withDynamicConfigData(model)\n .withDynamicComponents(model)\n .build();\n }\n\n return config;\n};\n\nconst getConfigFile = (configPath: string): MyModuleConfig => {\n try {\n return require(configPath);\n } catch {\n throw Error(\"Cannot find moduleConfig.json at: \" + configPath);\n }\n};\n\nclass ConfigBuilder {\n private config: MyModuleConfig;\n\n constructor(config: MyModuleConfig) {\n this.config = config;\n }\n\n public static fromNew = (): ConfigBuilder =>\n ConfigBuilder.fromPath(path.resolve(__dirname, configPath));\n\n public static fromPath = (path: string): ConfigBuilder => {\n if (!config) {\n config = getConfigFile(path);\n }\n return new ConfigBuilder(config);\n };\n\n public static for = (config?: MyModuleConfig): ConfigBuilder => {\n if (!config) return ConfigBuilder.fromNew();\n\n return new ConfigBuilder(config);\n };\n\n public build = (): MyModuleConfig => {\n return this.config;\n };\n\n public withDynamicConfigData = (model?: AppModel): ConfigBuilder => {\n return new ConfigBuilder(\n model?.getDerivedFunction(\"getDynamicConfigData\", this.config) ?? this.config,\n );\n };\n\n public withDynamicComponents = (model?: AppModel): ConfigBuilder => {\n const dynamicComponents = model?.getDerivedFunctions().getDynamicComponents?.();\n if (dynamicComponents) {\n const dynamicComponentMap = toDictionary(\n dynamicComponents,\n (component) => {\n this.config.UIGroups[component.group] =\n this.config.UIGroups[component.group] ?? component.group;\n return component.name;\n },\n (component) => component,\n );\n this.config.softwareData = {\n ...this.config.softwareData,\n ...(dynamicComponentMap as Record<\n string,\n SoftwareComponent<MyComponentNames>\n >),\n };\n }\n return new ConfigBuilder(this.config);\n };\n}\n","/*\n * @license:\n * © 2019 Microchip Technology Inc. and its subsidiaries.\n *\n * You may use this software and any derivatives exclusively with Microchip products.\n *\n * THIS SOFTWARE IS SUPPLIED BY MICROCHIP \"AS IS\". NO WARRANTIES, WHETHER EXPRESS,\n * IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF\n * NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE, OR ITS\n * INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE\n * IN ANY APPLICATION.\n *\n * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL\n * OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO\n * THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY\n * OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S\n * TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED\n * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.\n *\n * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE TERMS.\n */\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { State as MyState } from \"./types/State\";\nimport { createPrototypeExports } from \"./interfaces/createPrototypeExports\";\nimport { createPrototypeImports } from \"./interfaces/createPrototypeImports\";\nimport { getCreatorFunctions as myCreatorFunctions } from \"../../src/CreatorFunctions\";\nimport { CreatorFunctions } from \"@microchip/scf-automodule-interface\";\nimport { ModuleConfig } from \"./types/AutoModuleTypes\";\nimport { getConfigData } from \"./autoModule/getConfigData\";\n\nexport type State<T extends MyState = MyState> = T & {\n [key: string]: any;\n};\n\nexport const create = (\n state: State,\n getCreatorFunctions?: () => CreatorFunctions,\n config?: ModuleConfig,\n): MyPrototypeModule => {\n if (!getCreatorFunctions) getCreatorFunctions = myCreatorFunctions;\n config = getConfigData(undefined, config);\n\n const prototypeImports = createPrototypeImports(state, getCreatorFunctions());\n const prototypeExports = createPrototypeExports();\n\n return {\n payload: state,\n imports: {\n ...prototypeImports,\n },\n exports: prototypeExports,\n isSingletonPerDevice: config?.isSingletonPerDevice,\n isEntryPoint: config?.isEntryPoint ?? true,\n };\n};\n\nexport type MyPrototypeModule<PayloadType = State> = Creator.Module<PayloadType>;\n","import { ModuleConfig } from \"../types/AutoModuleTypes\";\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { getConfigData } from \"../autoModule/getConfigData\";\nimport { getKeys } from \"../Utils\";\n\nexport const createPrototypeExports = (config?: ModuleConfig): Creator.Exports => {\n config = getConfigData(undefined, config);\n const exports: Creator.Exports = {};\n getKeys(config?.exports ?? {})?.forEach((expName) => {\n const exp = config?.exports?.[expName];\n if (exp == undefined) return;\n\n exports[expName] = {\n ...exp,\n interfaces: processExportInterfaces(exp.interfaces),\n };\n });\n return exports;\n};\n\nconst processExportInterfaces = (int: Creator.Interfaces): Creator.Interfaces => {\n const newInterfaces: Creator.Interfaces = [];\n int.forEach(({ interfaceId, payload }: Creator.Interface) => {\n newInterfaces.push({ interfaceId, payload });\n });\n return newInterfaces;\n};\n","import * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { CreatorFunctions } from \"@microchip/scf-automodule-interface\";\nimport { ModuleConfig } from \"../types/AutoModuleTypes\";\nimport { getConfigData } from \"../autoModule/getConfigData\";\nimport { State } from \"../creator\";\nimport { createPrototypeImport } from \"../autoModule/AutoModuleHardware\";\nimport { getKeys } from \"@microchip/scf-device/lib/util/Arrays\";\nimport { AutoImport } from \"@microchip/scf-automodule-interface/lib/src/ModuleConfig\";\n\nexport const createPrototypeImports = (\n state: State,\n creatorFunctions: CreatorFunctions,\n config?: ModuleConfig,\n): Creator.Imports => {\n let prototypeImports: Creator.Imports = {};\n config = getConfigData(undefined, config);\n\n if (!config) return prototypeImports;\n\n if (config?.peripherals) {\n config.peripherals.forEach((peripheral) => {\n const interfaceName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n const prototypeImport = createPrototypeImport(interfaceName);\n if (prototypeImport) {\n prototypeImports = {\n ...prototypeImports,\n [interfaceName]: {\n ...prototypeImport,\n isRequired: true,\n },\n };\n }\n });\n }\n getKeys(config?.imports ?? {})?.forEach((key) => {\n const imp: AutoImport | undefined = config?.imports?.[key];\n const args = creatorFunctions?.getCreatorImportArgs?.(key, state);\n if (imp && creatorFunctions?.shouldImport?.(key, state) != false) {\n prototypeImports = {\n ...prototypeImports,\n [key]: {\n ...imp.import,\n args: args,\n },\n };\n }\n });\n return prototypeImports;\n};\n\nconst getFriendlyInterfaceId = (interfaceName: string): string => {\n interfaceName = interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n\n return interfaceName;\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign({}, populatedImport, { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign({}, populatedImport, { options: populatedImport.options.map(function (option) {\n return __assign({}, option, { handle: __assign({}, option.handle, { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Setting_1 = require(\"./Setting\");\nvar Register_1 = require(\"./Register\");\nvar Arrays_1 = require(\"./util/Arrays\");\n/** Builder pattern */\nvar CalculateRegisterValue = /** @class */ (function () {\n function CalculateRegisterValue(register) {\n var _this = this;\n this.modifiedSettings = [];\n /** Assign a numerical value to the given `Setting`. */\n this.withNumberValue = function (setting, value) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign number value to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \" + setting.alias + \" is not present in Register \" + _this.register.name);\n }\n _this.modifiedSettings = __spreadArrays(_this.modifiedSettings, [\n new NumberSettingValue(setting, value)\n ]);\n return _this;\n };\n /** Assign the given `Option` to the given `Setting`. */\n this.withOption = function (setting, option) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \" + setting.alias + \" is not present in Register \" + _this.register.name);\n }\n if (!_this.getOption(setting, option)) {\n throw new Error(\"Option \" + option.name + \" is not present in Setting \" + setting.name);\n }\n _this.modifiedSettings = __spreadArrays(_this.modifiedSettings, [\n new OptionSettingValue(setting, option)\n ]);\n return _this;\n };\n /** Assign the `Option` matching the given alias to the given `Setting`. */\n this.withOptionAlias = function (setting, optionAlias) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option alias to setting, setting is undefined.\");\n }\n var option = Setting_1.getOptionByAlias(optionAlias, setting);\n if (option === undefined) {\n throw new Error(\"Option Alias: \\\"\" + optionAlias + \"\\\" not present in Setting: \\\"\" + setting.name + \"\\\".\");\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given name to the given `Setting`. */\n this.withOptionName = function (setting, optionName) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option name to setting, setting is undefined.\");\n }\n var option = Setting_1.getOptionByName(optionName, setting);\n if (option === undefined) {\n throw new Error(\"Option Name: \\\"\" + optionName + \"\\\" not present in Setting: \\\"\" + setting.name + \"\\\".\");\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given description to the given `Setting`. */\n this.withOptionDescription = function (setting, optionDescription) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option description to setting, setting is undefined.\");\n }\n var option = Setting_1.getOptionByDescription(optionDescription, setting);\n if (option === undefined) {\n throw new Error(\"Option Description: \\\"\" + optionDescription + \"\\\" not present in Setting: \\\"\" + setting.name + \"\\\".\");\n }\n return _this.withOption(setting, option);\n };\n this.getSetting = function (setting) {\n return Register_1.getSettingByAlias(setting.alias, _this.register);\n };\n this.getOption = function (setting, option) {\n return Setting_1.getOptionByName(option.name, setting);\n };\n this.calculate = function () {\n var registerValue = 0;\n _this.modifiedSettings.forEach(function (modifiedSetting) {\n registerValue = _this.setValue(modifiedSetting, registerValue);\n });\n var unmodifiedSettings = _this.getUnmodifiedSettings();\n unmodifiedSettings.forEach(function (unmodifiedSetting) {\n registerValue = _this.setValue(SettingValue.defaultValue(unmodifiedSetting), registerValue);\n });\n return Number(registerValue);\n };\n this.setValue = function (setting, registerValue) {\n var value = registerValue;\n value &= ~setting.getMask(); // Clear bits\n value |= setting.getShiftedValue(); // Set bits\n return value;\n };\n this.getUnmodifiedSettings = function () {\n var _a;\n var modifiedSettingNames = Arrays_1.map(_this.modifiedSettings, function (setting) { return setting.getName(); });\n return Arrays_1.filter((_a = Arrays_1.values(_this.register.settings)) !== null && _a !== void 0 ? _a : [], function (setting) { return modifiedSettingNames.indexOf(setting.name) < 0; });\n };\n /** Calculate and print the register's value as a hex string. */\n this.asHexString = function () { return CalculateRegisterValue.toHexString(_this.calculate()); };\n /** Calculate and print the register's value as a binary string. */\n this.asBinaryString = function () { return CalculateRegisterValue.toBinaryString(_this.calculate()); };\n /** Calculate and print the register's value as a decimal string. */\n this.asDecimalString = function () { return CalculateRegisterValue.toDecimalString(_this.calculate()); };\n /** Calculate and return the register's value as a number. */\n this.asNumber = function () { return _this.calculate(); };\n this.register = register;\n }\n /** Creates a register value calculation object for the given register. */\n CalculateRegisterValue.for = function (register) {\n return new CalculateRegisterValue(register);\n };\n /** Format the given number as a hex string value. */\n CalculateRegisterValue.toHexString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toHexString() illegal argument exception. Value must not be null.\");\n }\n return \"0x\" + value.toString(16);\n };\n /** Format the given number as a binary string value. */\n CalculateRegisterValue.toBinaryString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toBinaryString() illegal argument exception. Value must not be null.\");\n }\n return \"0b\" + value.toString(2);\n };\n /** Format the given number as a decimal string value. */\n CalculateRegisterValue.toDecimalString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toDecimalString() illegal argument exception. Value must not be null.\");\n }\n return value.toString();\n };\n return CalculateRegisterValue;\n}());\nexports.default = CalculateRegisterValue;\nvar SettingValue = /** @class */ (function () {\n function SettingValue(setting) {\n var _this = this;\n this.getMask = function () { return Number(_this.setting.mask); };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getShiftedValue = function () { return _this.getValue() << _this.getShift(); };\n this.getName = function () { return _this.setting.name; };\n this.setting = setting;\n }\n SettingValue.defaultValue = function (setting) {\n var value = Number(setting.porDefault);\n return new NumberSettingValue(setting, value);\n };\n return SettingValue;\n}());\nvar NumberSettingValue = /** @class */ (function (_super) {\n __extends(NumberSettingValue, _super);\n function NumberSettingValue(setting, value) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return _this.value; };\n _this.value = value;\n return _this;\n }\n return NumberSettingValue;\n}(SettingValue));\nvar OptionSettingValue = /** @class */ (function (_super) {\n __extends(OptionSettingValue, _super);\n function OptionSettingValue(setting, option) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return Number(_this.option.value); };\n _this.option = option;\n return _this;\n }\n OptionSettingValue.fromDefaultValue = function (setting, value) {\n var foundValueByName = Setting_1.getOptionByName(value, setting);\n if (foundValueByName)\n return new OptionSettingValue(setting, foundValueByName);\n var foundValueByAlias = Setting_1.getOptionByAlias(value, setting);\n if (foundValueByAlias)\n return new OptionSettingValue(setting, foundValueByAlias);\n throw new Error(\"Unable to create default value '\" + value + \"' for setting '\" + setting.name + \"'.\");\n };\n return OptionSettingValue;\n}(SettingValue));\n//# sourceMappingURL=CalculateRegisterValue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSettingByAlias = void 0;\nexports.getSettingByAlias = function (alias, register) {\n return register.settings[alias];\n};\n//# sourceMappingURL=Register.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionDescriptions = exports.getOptionNames = exports.getOptionByDescription = exports.getOptionByName = exports.getOptionByAlias = void 0;\nvar Arrays_1 = require(\"./util/Arrays\");\nexports.getOptionByAlias = function (alias, setting) {\n var _a;\n return Arrays_1.find((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.alias == alias; });\n};\nexports.getOptionByName = function (name, setting) {\n var _a;\n return Arrays_1.find((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name == name; });\n};\nexports.getOptionByDescription = function (description, setting) {\n var _a;\n return Arrays_1.find((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description == description; });\n};\nexports.getOptionNames = function (setting) {\n var _a;\n return Arrays_1.map((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name; });\n};\nexports.getOptionDescriptions = function (setting) {\n var _a;\n return Arrays_1.map((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description; });\n};\n//# sourceMappingURL=Setting.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.values = exports.getKeys = exports.find = exports.filter = exports.map = void 0;\nexports.map = function (arr, callback) {\n var result = [];\n arr.forEach(function (value, index) {\n result[index] = callback(value);\n });\n return result;\n};\nexports.filter = function (arr, callback) {\n var result = [];\n arr.forEach(function (value) {\n if (callback(value)) {\n result.push(value);\n }\n });\n return result;\n};\n/**\n * Iterates over elements of the array, returning the first element that the predicate returns truthy for.\n */\nexports.find = function (arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i])) {\n return arr[i];\n }\n }\n return undefined;\n};\n/** @returns the non-prototype keys of the given object */\nexports.getKeys = function (obj) {\n if (!obj)\n return undefined;\n return Object.getOwnPropertyNames(obj);\n};\nexports.values = function (obj) {\n if (!obj)\n return undefined;\n return exports.getKeys(obj).map(function (key) { return obj[key]; });\n};\n//# sourceMappingURL=Arrays.js.map","require('../../modules/es.array.iterator');\nrequire('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.set');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import { CreatorFunctions } from \"@microchip/scf-automodule-interface\";\nimport { MyState } from \"../generated_module/src/types/AutoModuleTypes\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n getCreatorImportArgs: getCreatorImportArgs,\n };\n};\n\nconst shouldImport = (importKey: string, state: MyState): boolean => {\n return true;\n};\n\nconst getCreatorImportArgs = (importKey: string, state: MyState): any | undefined => {\n return undefined;\n};\n"],"sourceRoot":""}