{"version":3,"sources":["dist/js/ewcore.js"],"names":["ew","devnull","bundleIdCache","bundleResultCache","bundleCallbackQueue","publish","bundleId","pathsNotFound","q","length","splice","executeCallbacks","args","depsNotFound","call","success","error","loadFile","path","callbackFn","numTries","e","doc","document","async","maxTries","numRetries","beforeCallbackFn","before","pathname","replace","pathStripped","test","createElement","rel","href","src","undefined","onload","onerror","onbeforeload","ev","result","type","as","defaultPrevented","tagName","head","appendChild","loadjs","paths","arg1","arg2","trim","loadFn","resolve","reject","fn","i","numWaiting","push","x","loadFiles","returnPromise","Promise","ready","deps","bundleIds","r","subscribe","done","reset","isDefined","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","prototype","valueOf","_construct","Parent","Class","a","apply","instance","Function","bind","arguments","_wrapNativeSuper","_cache","Map","toString","indexOf","TypeError","has","get","set","Wrapper","this","constructor","create","value","_defineProperty","obj","SelectionListOption","text","selected","String","SelectionList","_HTMLElement","subClass","superClass","_this","_internals","attachInternals","Constructor","protoProps","staticProps","_proto","connectedCallback","getAttribute","values","multiple","split","MULTIPLE_OPTION_SEPARATOR","val","add","option","index","options","findIndex","remove","removeAll","clear","render","getRandom","Math","floor","random","triggerChange","event","Event","view","window","bubbles","cancelable","dispatchEvent","isInvalid","className","attributeChangedCallback","name","oldValue","newValue","targetId","inputs","getElementById","querySelectorAll","Array","forEach","input","classList","toggle","setFormValue","template","list","firstChild","removeChild","style","cursor","row","content","cols","columns","tbl","cnt","radioSuffix","contains","containerClass","append","filter","opt","clone","cloneNode","querySelector","label","suffix","id","setAttribute","checked","addEventListener","parseInt","innerHTML","htmlFor","cell","cellClass","rowClass","j","c","focus","_this$target","_this$target$querySel","form","parentNode","templateId","inputId","_ew","IS_MOBILE","hasAttribute","join","ar","_val","isArray","map","v","includes","HTMLElement","customElements","define","_initPanelsReq","noop","templateCallback","element","HTMLOptionElement","ew$1","PAGE_ID","RELATIVE_PATH","GENERATE_PASSWORD_UPPERCASE","GENERATE_PASSWORD_LOWERCASE","GENERATE_PASSWORD_NUMBER","GENERATE_PASSWORD_SPECIALCHARS","CONFIRM_CANCEL","ROWTYPE_ADD","ROWTYPE_EDIT","UNFORMAT_YEAR","LAZY_LOAD_DELAY","AJAX_DELAY","LOOKUP_DELAY","MAX_OPTION_COUNT","NUMBERING_SYSTEM","USE_OVERLAY_SCROLLBARS","Language","phrase","toLowerCase","language","vars","maps","addOptionDialog","emailDialog","importDialog","modalDialog","modalLookupDialog","ajaxBatchSize","autoSuggestSettings","highlight","hint","minLength","debounce","delay","templates","classNames","menu","dataset","suggestion","lightboxSettings","transition","photo","opacity","uploadOptions","importUploadOptions","maxFileSize","maxNumberOfFiles","sweetAlertSettings","showClass","popup","backdrop","icon","hideClass","customClass","container","header","title","closeButton","image","htmlContainer","inputLabel","validationMessage","actions","confirmButton","denyButton","cancelButton","loader","footer","selectOptions","allowClear","theme","width","minimumResultsForSearch","escapeMarkup","templateResult","templateSelection","customOption","iconClass","selectMinimumInputLength","modalLookupOptions","closeOnSelect","minimumInputLength","dropdownCssClass","modal","draggableOptions","filterOptions","dropdownAutoWidth","preventScroll","toastOptions","position","DOMPurifyConfig","sanitize","str","DOMPurify","overlayScrollbarsOptions","sizeAutoCapable","scrollbars","autoHide","clickScrolling","sanitizeFn","PDFObjectOptions","chartConfig","spinnerClass","jsRenderHelpers","jsRenderAttributes","autoHideSuccessMessage","autoHideSuccessMessageDelay","searchOperatorChanged","setLanguage","addOptionDialogShow","importDialogShow","toggleSearchOperator","togglePassword","sort","selectKey","export","exportWithCharts","setSearchType","emailDialogShow","selectAll","selectAllKeys","submitAction","addGridRow","confirmDelete","deleteGridRow","initPanel","el","isset","html","child","children","panelSelectors","initPanels","_initPanels","requestAnimationFrame","cancelAnimationFrame","then","catch","console","log","clientScript","startupScript","deepAssign","extended","overwrite","merge","prop","hasOwnProperty","applyTemplateId","renderTemplate","tmpl","data","$","jQuery","$tmpl","$template","trigger","method","parent","renderJsTemplates","_e$target","from","b","seq"],"mappings":";;;;AAIA,IAAIA,GAAK,WACP,aAMA,IAAIC,EAAU,aACVC,EAAgB,GAChBC,EAAoB,GACpBC,EAAsB,GA4C1B,SAASC,EAAQC,EAAUC,GAEzB,GAAKD,EAAL,CACA,IAAIE,EAAIJ,EAAoBE,GAI5B,GAFAH,EAAkBG,GAAYC,EAEzBC,EAEL,KAAOA,EAAEC,QACPD,EAAE,GAAGF,EAAUC,GACfC,EAAEE,OAAO,EAAG,IAShB,SAASC,EAAiBC,EAAMC,GAE1BD,EAAKE,OAAMF,EAAO,CACpBG,QAASH,IAGPC,EAAaJ,QAASG,EAAKI,OAASf,GAASY,IAAoBD,EAAKG,SAAWd,GAASW,GAQhG,SAASK,EAASC,EAAMC,EAAYP,EAAMQ,GACxC,IAOAC,EAPIC,EAAMC,SACNC,EAAQZ,EAAKY,MACbC,GAAYb,EAAKc,YAAc,GAAK,EACpCC,EAAmBf,EAAKgB,QAAU3B,EAClC4B,EAAWX,EAAKY,QAAQ,YAAa,IACrCC,EAAeb,EAAKY,QAAQ,cAAe,IAG/CV,EAAWA,GAAY,EAEnB,iBAAiBY,KAAKH,KAExBR,EAAIC,EAAIW,cAAc,SACpBC,IAAM,aACRb,EAAEc,KAAOJ,GAQA,oCAAoCC,KAAKH,IAElDR,EAAIC,EAAIW,cAAc,QACpBG,IAAML,IAGRV,EAAIC,EAAIW,cAAc,WACpBG,IAAMlB,EACRG,EAAEG,WAAkBa,IAAVb,GAA6BA,GAGzCH,EAAEiB,OAASjB,EAAEkB,QAAUlB,EAAEmB,aAAe,SAAUC,GAChD,IAAIC,EAASD,EAAGE,KAAK,GAarB,GAAc,KAAVD,GAIF,IAFAtB,GAAY,GAEGK,EACb,OAAOR,EAASC,EAAMC,EAAYP,EAAMQ,QAErC,GAAa,WAATC,EAAEa,KAA4B,SAARb,EAAEuB,GAEjC,OAAOvB,EAAEa,IAAM,aAGjBf,EAAWD,EAAMwB,EAAQD,EAAGI,oBAGI,IAA9BlB,EAAiBT,EAAMG,IAA6B,OAAbA,EAAEyB,SAAkBxB,EAAIyB,KAAKC,YAAY3B,GA0CtF,SAAS4B,EAAOC,EAAOC,EAAMC,GAC3B,IAAI9C,EAAUM,EAMd,GAJIuC,GAAQA,EAAKE,OAAM/C,EAAW6C,GAElCvC,GAAQN,EAAW8C,EAAOD,IAAS,GAE/B7C,EAAU,CACZ,GAAIA,KAAYJ,EACd,KAAM,SAENA,EAAcI,IAAY,EAI9B,SAASgD,EAAOC,EAASC,IAjD3B,SAAmBN,EAAO/B,EAAYP,GAGpC,IAGI6C,EACAC,EAJAC,GADJT,EAAQA,EAAMU,KAAOV,EAAQ,CAACA,IACPzC,OACnBoD,EAAIF,EACJpD,EAAgB,GAiBpB,IAbAkD,EAAK,SAAUvC,EAAMwB,EAAQG,GAK3B,GAHc,KAAVH,GAAenC,EAAcqD,KAAK1C,GAGxB,KAAVwB,EAAe,CACjB,IAAIG,EAAgD,OAA9BtC,EAAcqD,KAAK1C,KAG3CyC,GACiBxC,EAAWZ,IAGzBmD,EAAI,EAAGA,EAAIG,EAAGH,IAAKzC,EAASiC,EAAMQ,GAAID,EAAI7C,GA4B7CkD,CAAUZ,GAAO,SAAU3C,GAEzBI,EAAiBC,EAAML,GAEnBgD,GACF5C,EAAiB,CACfI,QAASwC,EACTvC,MAAOwC,GACNjD,GAGLF,EAAQC,EAAUC,KACjBK,GAGL,GAAIA,EAAKmD,cAAe,OAAO,IAAIC,QAAQV,GAAaA,IAQ1DL,EAAOgB,MAAQ,SAAeC,EAAMtD,GAMlC,OA7NF,SAAmBuD,EAAWhD,GAE5BgD,EAAYA,EAAUP,KAAOO,EAAY,CAACA,GAC1C,IAGIV,EACAnD,EACA8D,EALAvD,EAAe,GACf6C,EAAIS,EAAU1D,OACdkD,EAAaD,EAYjB,IANAD,EAAK,SAAUnD,EAAUC,GACnBA,EAAcE,QAAQI,EAAa+C,KAAKtD,KAC5CqD,GACiBxC,EAAWN,IAGvB6C,KACLpD,EAAW6D,EAAUT,IAErBU,EAAIjE,EAAkBG,IAGpBmD,EAAGnD,EAAU8D,IAIXhE,EAAoBE,GAAYF,EAAoBE,IAAa,IACnEsD,KAAKH,GA6LTY,CAAUH,GAAM,SAAUrD,GAExBF,EAAiBC,EAAMC,MAElBoC,GAOTA,EAAOqB,KAAO,SAAchE,GAC1BD,EAAQC,EAAU,KAMpB2C,EAAOsB,MAAQ,WACbrE,EAAgB,GAChBC,EAAoB,GACpBC,EAAsB,IAOxB6C,EAAOuB,UAAY,SAAmBlE,GACpC,OAAOA,KAAYJ,GAoBrB,SAASuE,EAAkBC,EAAQC,GACjC,IAAK,IAAIjB,EAAI,EAAGA,EAAIiB,EAAMlE,OAAQiD,IAAK,CACrC,IAAIkB,EAAaD,EAAMjB,GACvBkB,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,IAUlD,SAASO,EAAuBC,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,EAGT,SAASE,EAAgBC,EAAGC,GAM1B,OALAF,EAAkBN,OAAOS,gBAAkB,SAAyBF,EAAGC,GAErE,OADAD,EAAEG,UAAYF,EACPD,GAGFD,EAAgBC,EAAGC,GAS5B,SAASG,EAAgBJ,GAIvB,OAHAI,EAAkBX,OAAOS,eAAiBT,OAAOY,eAAiB,SAAyBL,GACzF,OAAOA,EAAEG,WAAaV,OAAOY,eAAeL,IAEvCI,EAAgBJ,GAOzB,SAASM,IACP,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,QAAQC,UAAUC,QAAQtF,KAAKgF,QAAQC,UAAUG,QAAS,IAAI,iBACvD,EACP,MAAO7E,GACP,OAAO,GAIX,SAASgF,EAAWC,EAAQ1F,EAAM2F,GAchC,OAZEF,EADER,IACWC,QAAQC,UAER,SAAoBO,EAAQ1F,EAAM2F,GAC7C,IAAIC,EAAI,CAAC,MACTA,EAAE5C,KAAK6C,MAAMD,EAAG5F,GAChB,IACI8F,EAAW,IADGC,SAASC,KAAKH,MAAMH,EAAQE,IAG9C,OADID,GAAOjB,EAAgBoB,EAAUH,EAAMJ,WACpCO,GAIJL,EAAWI,MAAM,KAAMI,WAGhC,SAASC,EAAiBP,GACxB,IAAIQ,EAAwB,mBAARC,IAAqB,IAAIA,SAAQ3E,EA8BrD,OA5BAyE,EAAmB,SAA0BP,GAC3C,GAAc,OAAVA,IAtCmB9C,EAsCkB8C,GArCqB,IAAzDI,SAASM,SAASnG,KAAK2C,GAAIyD,QAAQ,kBAqCS,OAAOX,EAtC5D,IAA2B9C,EAwCvB,GAAqB,mBAAV8C,EACT,MAAM,IAAIY,UAAU,sDAGtB,GAAsB,oBAAXJ,EAAwB,CACjC,GAAIA,EAAOK,IAAIb,GAAQ,OAAOQ,EAAOM,IAAId,GAEzCQ,EAAOO,IAAIf,EAAOgB,GAGpB,SAASA,IACP,OAAOlB,EAAWE,EAAOM,UAAWlB,EAAgB6B,MAAMC,aAW5D,OARAF,EAAQpB,UAAYnB,OAAO0C,OAAOnB,EAAMJ,UAAW,CACjDsB,YAAa,CACXE,MAAOJ,EACP1C,YAAY,EACZE,UAAU,EACVD,cAAc,KAGXQ,EAAgBiC,EAAShB,IAG3BO,EAAiBP,GAG1B,SAASqB,EAAgBC,EAAK3C,EAAKyC,GAYjC,OAXIzC,KAAO2C,EACT7C,OAAOC,eAAe4C,EAAK3C,EAAK,CAC9ByC,MAAOA,EACP9C,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ8C,EAAI3C,GAAOyC,EAGNE,EAMT,IAAIC,EAIJ,SAA6BH,EAAOI,EAAMC,GACxCR,KAAKG,MAAQM,OAAON,GACpBH,KAAKO,KAAOE,OAAOF,GACnBP,KAAKQ,WAAaA,GAOhBE,EAA6B,SAAUC,GAjH3C,IAAwBC,EAAUC,EAuHhC,SAASH,IACP,IAAII,EAaJ,OATAV,EAAgBzC,EAFhBmD,EAAQH,EAAarH,KAAK0G,OAASA,MAEY,iBAAkB,cAEjEI,EAAgBzC,EAAuBmD,GAAQ,WAAY,kBAE3DV,EAAgBzC,EAAuBmD,GAAQ,YAAa,mBAE5DV,EAAgBzC,EAAuBmD,GAAQ,UAAW,IAE1DA,EAAMC,WAAaD,EAAME,kBAClBF,EArIuBD,EAkHFF,GAlHRC,EAkHPF,GAjHN/B,UAAYnB,OAAO0C,OAAOW,EAAWlC,WAC9CiC,EAASjC,UAAUsB,YAAcW,EACjC9C,EAAgB8C,EAAUC,GAwI1B,IAlKoBI,EAAaC,EAAYC,EAkKzCC,EAASV,EAAc/B,UA0a3B,OAxaAyC,EAAOC,kBAAoB,WACzB,IAAIlB,EAAQH,KAAKsB,aAAa,UAAY,GACtCC,EAASvB,KAAKwB,SAAWrB,EAAMsB,MAAMjJ,GAAGkJ,2BAA6B,CAACvB,GAE1E,IAAK,IAAIwB,KAAOJ,EAAQvB,KAAK4B,IAAID,EAAK,IAAI,IAU5CP,EAAOQ,IAAM,SAAazB,EAAOI,EAAMC,GACrC,IAAIqB,EAAS,IAAIvB,EAAoBH,EAAOI,EAAMC,GAC9CsB,EAAQ9B,KAAK+B,QAAQC,WAAUH,GAAUA,EAAO1B,OAASA,IACzD2B,GAAS,EAAG9B,KAAK+B,QAAQD,GAASD,EAAY7B,KAAK+B,QAAQ3F,KAAKyF,IAOtET,EAAOa,OAAS,SAAgBH,GACjB9B,KAAK+B,QAAQD,IACd9B,KAAK+B,QAAQ7I,OAAO4I,EAAO,IAOzCV,EAAOc,UAAY,WACjBlC,KAAK+B,QAAQ7I,OAAO,IAOtBkI,EAAOe,MAAQ,WACb,IAAK,IAAIN,KAAU7B,KAAK+B,QAASF,EAAOrB,UAAW,EAEnDR,KAAKoC,UAOPhB,EAAOiB,UAAY,WACjB,OAAOC,KAAKC,MAAsB,OAAhBD,KAAKE,UAAgC,KAOzDpB,EAAOqB,cAAgB,WACrB,MAAMC,EAAQ,IAAIC,MAAM,SAAU,CAChCC,KAAMC,OACNC,SAAS,EACTC,YAAY,IAEd/C,KAAKgD,cAAcN,IAOrBtB,EAAO6B,UAAY,SAAmBC,GACpC,MAAO,iBAAiB1I,KAAK0I,IAO/B9B,EAAO+B,yBAA2B,SAAkCC,EAAMC,EAAUC,GAClF,GAAY,SAARF,GACF,GAAIpD,KAAKuD,UAAYvD,KAAKiD,UAAUI,IAAarD,KAAKiD,UAAUK,GAAW,CAEzE,IACIE,EADSzJ,SAAS0J,eAAezD,KAAKuD,UACtBG,iBAAiB,SACjCT,EAAYjD,KAAKiD,UAAUK,GAC/BK,MAAMhF,UAAUiF,QAAQtK,KAAKkK,GAAQK,GAASA,EAAMC,UAAUC,OAAO,aAAcd,UAEpE,SAARG,IACTpD,KAAKe,WAAWiD,aAAahE,KAAKG,OAEf,KAAfH,KAAKG,OAAcH,KAAK8D,UAAU7B,OAAO,gBAQjDb,EAAOgB,OAAS,WACd,IAAIlF,EAAS8C,KAAK9C,OACd+G,EAAWjE,KAAKiE,SACpB,IAAK/G,IAAW+G,IAAajE,KAAKkE,KAAM,OAExC,KAAOhH,EAAOiH,YAAYjH,EAAOkH,YAAYlH,EAAOiH,YAEpDjH,EAAOmH,MAAMC,OAAS,OACtB,IAOIC,EAPA3G,EAAOoC,KACPwE,EAAUP,EAASO,QACnBC,EAAOzE,KAAK0E,SAAW,EACvBC,EAAM5K,SAASU,cAAc,OAC7BmK,EAAM5E,KAAK/G,OACX4L,EAAc,IAAM7E,KAAKqC,YACzBY,EAAYjD,KAAK8D,UAAUgB,SAAS,cAExCH,EAAIzB,UAAYlD,KAAK+E,eAAiB,qBACtC7H,EAAO8H,OAAOL,GAEd,IACgB3E,KAAK+B,QAAQkD,QAAOC,GAAOA,EAAI/E,QACrCyD,SAAQ,CAAC/B,EAAQ3F,KACvB,IAAIiJ,EAAQX,EAAQY,WAAU,GAC1BvB,EAAQsB,EAAME,cAAc,SAC5BC,EAAQH,EAAME,cAAc,SAC5BE,EAAS,IAAMvF,KAAKqC,YAExBwB,EAAMT,KAAOS,EAAMT,MAAsB,SAAdS,EAAM1I,KAAkB0J,EAAcU,GACjE1B,EAAM2B,GAAK3B,EAAM2B,GAAKD,EACtB1B,EAAM1D,MAAQ0B,EAAO1B,MACrB0D,EAAM4B,aAAa,aAAcvJ,GACjC2H,EAAM6B,QAAU7D,EAAOrB,SACvBqD,EAAMC,UAAUlC,IAAI,oBAChBqB,GAAWY,EAAMC,UAAUlC,IAAI,cACnCiC,EAAM8B,iBAAiB,SAAS,WAC9B,IAAI7D,EAAQ8D,SAAS5F,KAAKsB,aAAa,cAAe,IAEtD,GAAiB,cAAb1D,EAAKzC,KACP,IAAK,IAAI0G,KAAUjE,EAAKmE,QAASF,EAAOrB,UAAW,EAGrD5C,EAAKmE,QAAQD,GAAOtB,SAAWR,KAAK0F,QACpC9H,EAAK6H,aAAa,QAAS7H,EAAKuC,OAChCvC,EAAK6E,mBAEP6C,EAAMO,UAAYhE,EAAOtB,KACzB+E,EAAMQ,QAAUjC,EAAM2B,GACtB,IAAIO,EAAOhM,SAASU,cAAc,OAWlC,GAVAsL,EAAK7C,UAAYlD,KAAKgG,UACtBD,EAAKvK,YAAY2J,GAEbjJ,EAAIuI,GAAQ,IACdF,EAAMxK,SAASU,cAAc,OAC7B8J,EAAIrB,UAAYlD,KAAKiG,UAGvB1B,EAAIS,OAAOe,GAEP7J,EAAIuI,GAAQA,EAAO,EACrBE,EAAIK,OAAOT,QACN,GAAIrI,GAAK0I,EAAM,EAAG,CAEvB,IAAK,IAAIsB,EAAIhK,EAAIuI,EAAO,EAAGyB,EAAIzB,EAAMyB,IAAK,CACxC,IAAIC,EAAIpM,SAASU,cAAc,OAC/B0L,EAAEjD,UAAYlD,KAAKgG,UACnBzB,EAAIS,OAAOmB,GAGbxB,EAAIK,OAAOT,OAGfvE,KAAKyF,aAAa,QAASzF,KAAKG,OAChC,QACAjD,EAAOmH,MAAMC,OAAS,YAQ1BlD,EAAOgF,MAAQ,WAEX,IAAIC,EAAcC,EADhBtG,KAAKkE,KAGyB,OAA/BmC,EAAerG,KAAK9C,SAA4F,OAAhEoJ,EAAwBD,EAAahB,cAAc,WAA6BiB,EAAsBF,QAEvJzF,EAAahC,UAAUyH,MAAM9M,KAAK0G,OA/VlBiB,EAmWPP,EAnWgCS,EAmjBzC,CAAC,CACHzD,IAAK,qBACLmC,IASA,WACE,MAAO,CAAC,QAAS,WAMlB,CACDnC,IAAK,iBACLmC,IAAK,WACH,OAAO,MAxkBsBqB,EAmWL,CAAC,CAC3BxD,IAAK,OACLmC,IAIA,WACE,OAAOG,KAAKe,WAAWwF,OAMxB,CACD7I,IAAK,OACLmC,IAAK,WACH,OAAOG,KAAKsB,aAAa,UAE1B,CACD5D,IAAK,WACLmC,IAAK,WACH,OAAOG,KAAKsB,aAAa,oBAM1B,CACD5D,IAAK,SACLmC,IAAK,WACH,OAAOG,KAAKwG,WAAWnB,cAAc,IAAMrF,KAAKuD,YAMjD,CACD7F,IAAK,aACLmC,IAAK,WACH,OAAOG,KAAKsB,aAAa,mBAM1B,CACD5D,IAAK,WACLmC,IAAK,WACH,OAAOG,KAAKwG,WAAWnB,cAAc,IAAMrF,KAAKyG,cAMjD,CACD/I,IAAK,UACLmC,IAAK,WACH,OAAOG,KAAKsB,aAAa,gBAM1B,CACD5D,IAAK,QACLmC,IAAK,WACH,OAAOG,KAAKwG,WAAWnB,cAAc,IAAMrF,KAAK0G,WAMjD,CACDhJ,IAAK,OACLmC,IAAK,WACH,OAAOG,KAAK+B,UAMb,CACDrE,IAAK,UACLmC,IAAK,WACH,IAAI8G,EAEJ,GAAkB,OAAbA,EAAMnO,KAAemO,EAAIC,UAC5B,OAAO,EACF,CACL,IAAInC,EAAOzE,KAAKsB,aAAa,qBAC7B,OAAOmD,EAAOmB,SAASnB,EAAM,IAAM,KAOtC,CACD/G,IAAK,SACLmC,IAAK,WACH,OAAOG,KAAK+B,QAAQ9I,SAMrB,CACDyE,IAAK,gBACLmC,IAAK,WACH,IAAK,IAAIgC,KAAU7B,KAAK+B,QACtB,GAAIF,EAAOrB,SAAU,OAAOqB,EAAOC,MAGrC,OAAQ,GAMVhC,IAAK,SAAUgC,GACb,IAAID,EAAS7B,KAAK+B,QAAQD,GAEtBD,IACF7B,KAAK+B,QAAQ6B,SAAQ/B,GAAUA,EAAOrB,UAAW,IACjDqB,EAAOrB,UAAW,EAClBR,KAAKoC,YAOR,CACD1E,IAAK,OACLmC,IAAK,WACH,OAAOG,KAAKsB,aAAa,cAAgBtB,KAAKsB,aAAa,UAM5D,CACD5D,IAAK,WACLmC,IAAK,WACH,OAAIG,KAAK6G,aAAa,iBACyB,KAAtC7G,KAAKsB,aAAa,iBAEL,mBAAbtB,KAAK7E,OAQf,CACDuC,IAAK,QACLmC,IAAK,WACH,MAAiB,cAAbG,KAAK7E,MAAqC,mBAAb6E,KAAK7E,KAC7B6E,KAAKuB,OAAOuF,KAAKtO,GAAGkJ,2BAA6B,KAEjD1B,KAAKsB,aAAa,UAQ7BxB,IAKA,SAAU6B,GACR,GAAiB,cAAb3B,KAAK7E,KACP,IAAK,IAAI0G,KAAU7B,KAAK+B,QAASF,EAAOrB,SAAWqB,EAAO1B,OAASwB,OAC9D,GAAiB,mBAAb3B,KAAK7E,KAA2B,CACzC,IAAI4L,EAMF,IAAIC,EAFJD,EAFEpD,MAAMsD,QAAQtF,GAEXA,EAAIuF,KAAIC,GAAU,MAALA,EAAYA,EAAI1G,OAAO0G,MAKzCxF,EAAsB,OAAfqF,EAAOrF,GAAeqF,EAAOvG,OAAOkB,IAChCA,EAAIF,MAAMjJ,GAAGkJ,2BAA6B,KAAO,GAG9D,IAAK,IAAIG,KAAU7B,KAAK+B,QAASF,EAAOrB,SAAWuG,EAAGK,SAAS3G,OAAOoB,EAAO1B,aAE7EH,KAAKyF,aAAa,QAAS9D,GAG7B3B,KAAKoC,WAEN,CACD1E,IAAK,SACLmC,IAAK,WACH,GAAiB,cAAbG,KAAK7E,MAAqC,mBAAb6E,KAAK7E,KACpC,OAAOwI,MAAMhF,UAAUsG,OAAO3L,KAAK0G,KAAK+B,SAASF,GAAUA,EAAOrB,WAAU0G,KAAIrF,GAAUA,EAAO1B,QAC5F,CACL,IAAIwB,EAAM3B,KAAKsB,aAAa,SAC5B,OAAOK,EAAMA,EAAIF,MAAMjJ,GAAGkJ,2BAA6B,KAAO,SA/iBpDzE,EAAkBgE,EAAYtC,UAAWuC,GACrDC,GAAalE,EAAkBgE,EAAaE,GA0kBzCT,EApcwB,CAqcjBpB,EAAiB+H,cAEjCxE,OAAOpH,OAASA,EAEhB6L,eAAeC,OAAO,iBAAkB7G,GAExC,IAqPI8G,EArPAC,EAAO,OACPC,EAAmB3J,IAAMA,EAAE4J,mBAAmBC,kBAAoB7J,EAAE4J,QAAQ9B,UAAY,KAAO9H,EAAEwC,KAEjGsH,EAAO,CACTC,QAAS,GAETC,cAAe,GAEfrG,0BAA2B,IAC3BsG,6BAA6B,EAC7BC,6BAA6B,EAC7BC,0BAA0B,EAC1BC,+BAAgC,EAEhCC,gBAAgB,EAChBC,YAAa,EACbC,aAAc,EACdC,cAAe,GACfC,gBAAiB,EACjBC,WAAY,EACZC,aAAc,IACdC,iBAAkB,EAClBC,iBAAkB,GAClBC,wBAAwB,EAExBC,SA9nBF,SAAkBzI,GAChBL,KAAKK,IAAMA,EAEXL,KAAK+I,OAAS,SAAUvD,GACtB,OAAOxF,KAAKK,IAAImF,EAAGwD,iBA4nBrBC,SAAU,KAEVC,KAAM,KACNC,KAAM,GACNC,gBAAiB,KACjBC,YAAa,KACbC,aAAc,KACdC,YAAa,KACbC,kBAAmB,KACnBC,cAAe,GACfC,oBAAqB,CACnBC,WAAW,EACXC,MAAM,EACNC,UAAW,EACXC,SAAU,IACVC,MAAO,IAEPC,UAAW,GAEXC,WAAY,CACVC,KAAM,wBACNrG,MAAO,wBACPsG,QAAS,aACTC,WAAY,8BACZ9F,OAAQ,cAGZ+F,iBAAkB,CAChBC,WAAY,OACZC,OAAO,EACPC,QAAS,IAEXC,cAAe,GACfC,oBAAqB,CACnBC,YAAa,IACbC,iBAAkB,IAEpBC,mBAAoB,CAClBC,UAAW,CACTC,MAAO,oBAEPC,SAAU,oBAEVC,KAAM,IAGRC,UAAW,CACTH,MAAO,GAEPC,SAAU,GAEVC,KAAM,IAGRE,YAAa,CACXC,UAAW,qBACXL,MAAO,iBACPM,OAAQ,kBACRC,MAAO,iBACPC,YAAa,wBACbN,KAAM,gBACNO,MAAO,iBACPC,cAAe,0BACfjH,QAAS,mBACTX,MAAO,8BACP6H,WAAY,uBACZC,kBAAmB,8BACnBC,QAAS,mBACTC,cAAe,0CACfC,WAAY,sCACZC,aAAc,2CACdC,OAAQ,kBACRC,OAAQ,oBAGZC,cAAe,CAEbC,YAAY,EACZC,MAAO,aACPC,MAAO,QACPC,wBAAyB,GACzBC,aAAcpF,GAAKA,EACnBqF,eAAgB9E,EAChB+E,kBAAmB/E,EAEnBoC,SAAU,IAEV4C,cAAc,EACd3H,eAAgB,aAChBkB,SAAU,iBACVD,UAAW,8BACX2G,UAAW,oBAEbC,yBAA0B,EAC1BC,mBAAoB,CAElBV,YAAY,EACZC,MAAO,aACPC,MAAO,OACPE,aAAcpF,GAAKA,EACnBqF,eAAgB9E,EAChB+E,kBAAmB/E,EACnBoF,eAAe,EACfC,mBAAoB,EACpBC,iBAAkB,oBAElBC,OAAO,EACPnD,SAAU,IAEVoD,iBAAkB,CAChB5I,OAAQ,aAIZ6I,cAAe,CAEbhB,YAAY,EACZC,MAAO,aACPC,MAAO,OACPE,aAAcpF,GAAKA,EACnBqF,eAAgB9E,EAChB+E,kBAAmB/E,EACnBoF,eAAe,EACfC,mBAAoB,EACpBK,mBAAmB,EACnBJ,iBAAkB,qBAElBlD,SAAU,IAEV4C,cAAc,EACdhI,QAAS,EACTlD,UAAU,EACV6L,eAAe,EAEftI,eAAgB,YAChBkB,SAAU,MACVD,UAAW,kBACX2G,UAAW,oBAEbW,aAAc,CACZC,SAAU,YAGZC,gBAAiB,GACjBC,SAAU,SAAUC,GAClB,OAAOC,UAAUF,SAASC,EAAK1N,KAAKwN,kBAEtCI,yBAA0B,CAExB1K,UAAW,gBACX2K,iBAAiB,EACjBC,WAAY,CACVC,SAAU,QACVC,gBAAgB,IAGpBd,iBAAkB,CAChB5I,OAAQ,YAGV3H,UAAW,CAAC,MAAO,QAEnBsR,WAAY,KAEZC,iBAAkB,GAClBC,YAAa,GACbC,aAAc,8BAEdC,gBAAiB,GACjBC,mBAAoB,CAAC,MAAO,OAAQ,SAEpCC,wBAAwB,EACxBC,4BAA6B,IAC7BC,sBAAuBhH,EACvBiH,YAAajH,EACbkH,oBAAqBlH,EACrBmH,iBAAkBnH,EAClBoH,qBAAsBpH,EACtBqH,eAAgBrH,EAChBsH,KAAMtH,EACNuH,UAAWvH,EACXwH,OAAQxH,EACRyH,iBAAkBzH,EAClB0H,cAAe1H,EACf2H,gBAAiB3H,EACjB4H,UAAW5H,EACX6H,cAAe7H,EACf8H,aAAc9H,EACd+H,WAAY/H,EACZgI,cAAe,KAAM,EACrBC,cAAe,KAAM,GAQvB7H,EAAK8H,UAAYC,IACf,GAAIA,EAAGzF,QAAQ0F,MAAO,OACtB,IAAIC,EAAO,GAEX,IAAK,IAAIC,KAASH,EAAGI,SAEnB,GADAF,EAAOC,EAAMlK,UAAUhK,OACV,KAATiU,EAAa,MAGN,KAATA,GAAaF,EAAG9L,UAAUlC,IAAI,UAClCgO,EAAGzF,QAAQ0F,OAAQ,GAGrBhI,EAAKoI,eAAiB,CAAC,cAAe,uBAAwB,uBAAwB,kDAAmD,mDAKzIpI,EAAKqI,WAAaN,GAAMA,EAAGlM,iBAAiBmE,EAAKoI,eAAenJ,KAAK,MAAMlD,QAAQiE,EAAK8H,WAIxF,IAAIQ,EAAc,KAChBtI,EAAKqI,WAAWnW,UAChByN,EAAiB4I,sBAAsBD,IAGzC1U,EAAOgB,MAAM,WAAW,IAAM+K,EAAiB4I,sBAAsBD,KAErEpW,SAAS4L,iBAAiB,oBAAoB,KAC5CkC,EAAKqI,WAAWnW,UAChBsW,qBAAqB7I,GACrB/L,EAAOqB,KAAK,UAYd+K,EAAKpM,OAAS,SAAUC,EAAOC,EAAMC,GACnC,IAAI9C,EAAmB,MAAR6C,GAAgBA,EAAKE,KAAOF,EAAO,GAC9C7C,GAAwB,QAAZA,IAAuB+O,EAAKlL,UAAUyK,SAAStO,IAAW+O,EAAKlL,UAAUP,KAAKtD,GAC9F,IAAIM,GAAQN,EAAW8C,EAAOD,IAAS,GAEvCD,GADAA,EAAQiI,MAAMsD,QAAQvL,GAASA,EAAQ,CAACA,IAC1BuJ,QAAOvL,GAAQA,KAAUiK,MAAMsD,QAAQvN,IAASA,EAAKT,UAE/DG,EAAKE,OACPF,EAAO,CACLG,QAASH,IAEbA,EAAO,IAAKA,EACVmD,eAAe,GAEjB,IAAI4I,EAAQ,IAAK/L,GAEb4E,EAAIxB,QAAQT,UAMhB,cALOoJ,EAAM5L,QACbmC,EAAMkI,SAAQ,CAAClK,EAAMwC,EAAG6K,KAEpB/I,EADE9B,GAAK6K,EAAG9N,OAAS,EACf+E,EAAEsS,MAAK,IAAM7U,EAAO/B,EAAMZ,GAAYM,EAAMN,EAAWM,EAAO,MAAMmX,OAAM7U,GAAS8U,QAAQC,IAAI/U,OAAkBsC,EAAEsS,MAAK,IAAM7U,EAAO/B,EAAMyL,GAAOoL,OAAM7U,GAAS8U,QAAQC,IAAI/U,UAE9KsC,GAaT6J,EAAKpL,MAAQ,SAAUC,EAAMhB,EAAOC,EAAMC,GACxC,IAAI9C,EAAmB,MAAR6C,GAAgBA,EAAKE,KAAOF,EAAO,GAC9C7C,GAAwB,QAAZA,IAAuB+O,EAAKlL,UAAUyK,SAAStO,IAAW+O,EAAKlL,UAAUP,KAAKtD,GAC9F2C,EAAOgB,MAAMC,GAAM,WACjBmL,EAAKpM,OAAOC,EAAOC,EAAMC,OAI7BH,EAAOgB,MAAM,QAAQ,WACnBoL,EAAK6I,kBAGPjV,EAAOgB,MAAM,QAAQ,WACnBoL,EAAK8I,gBACLlV,EAAOqB,KAAK,WAGd,IAAI8T,EAAa,WACf,IAAIC,EAAW,GACXC,GAAY,EACZ5U,EAAI,GAEa,IAAjBmD,UAAU,KAEZyR,GAAY,EACZ5U,KAGyB,iBAAhBmD,UAAUnD,KAEnB2U,EAAWxR,UAAUnD,GACrBA,KAGF,IAAI6U,EAAQ,SAAU1Q,GACpB,IAAK,IAAI2Q,KAAQ3Q,EACXA,EAAI4Q,eAAeD,KAEG,iBAAb3Q,EAAI2Q,GACbH,EAASG,GAAQJ,EAAWE,EAAWD,EAASG,GAAO3Q,EAAI2Q,IAEvDF,EACFD,EAASG,GAAQ3Q,EAAI2Q,GAEhBH,EAASI,eAAeD,KAAOH,EAASG,GAAQ3Q,EAAI2Q,MAOnE,KAAO9U,EAAImD,UAAUpG,OAAQiD,IACA,iBAAhBmD,UAAUnD,IAAgB6U,EAAM1R,UAAUnD,IAGvD,OAAO2U,GA0ET,OAvEAhJ,EAAK+I,WAAaA,EAKlB/I,EAAKqJ,gBAAkB,CAAC,WAAY,WASpCrJ,EAAKsJ,eAAiB,SAAUC,EAAMC,GACpC,IAAIC,EAAIC,OACJC,EAAgB,MAARJ,GAAgBA,EAAKhP,OAASgP,EAAOE,EAAEF,GACnD,IAAKI,EAAMpP,OAAQ,OACnB,IAAIhJ,EAAO,CACTqY,UAAWD,EACXH,KAAMA,GAERC,EAAEvX,UAAU2X,QAAQ,iBAAkB,CAACtY,IACvC,IAAI0W,EAAO0B,EAAMpP,OAAOhJ,EAAKiY,KAAMxJ,EAAKwG,iBACpCsD,EAASvY,EAAKqY,UAAUJ,KAAK,UAC7BnU,EAAS9D,EAAKqY,UAAUJ,KAAK,UAMjC,OALIvB,GAAQ6B,GAAUzU,EACpBoU,EAAExB,GAAM6B,GAAQzU,GAAiB4S,IAAS6B,GAAUzU,EACpDoU,EAAEpU,GAAQ4S,KAAKA,IAAeA,GAAS6B,GAAWzU,GAClDsU,EAAMI,SAAS5M,OAAO8K,GACxBrU,EAAOqB,KAAK,WAAaI,GAClB4S,GAQTjI,EAAKgK,kBAAoB,SAAUhY,GACjC,IAAIiY,EAEJ,IAAIR,EAAIC,OACJ3B,EAAoD,OAA9CkC,EAAiB,MAALjY,OAAY,EAASA,EAAEqD,QAAkB4U,EAAY/X,SAC3E4J,MAAMoO,KAAKnC,EAAGlM,iBAAiB,oBAAoBqL,MAAK,CAAC/P,EAAGgT,KAC1DhT,EAAI4G,SAAS5G,EAAEmL,QAAQ8H,IAAK,KAAO,IACnCD,EAAIpM,SAASoM,EAAE7H,QAAQ8H,IAAK,KAAO,KAElCrO,SAAQwN,IACT,IAAIhO,EAAOgO,EAAKjH,QAAQ/G,KACpBiO,EAAOD,EAAKjH,QAAQkH,KAEpBA,GAAuB,iBAARA,IACjBA,EAAOxJ,EAAKqB,KAAKmI,IAASxO,OAAOwO,IAE5BA,KAIHjO,EACGkO,EAAElP,OAAOgB,KAEZkO,EAAEtH,UAAU5G,EAAMgO,EAAK7Q,MACvBsH,EAAKsJ,eAAeG,EAAEF,GAAOC,IAG/BxJ,EAAKsJ,eAAeG,EAAEF,GAAOC,QAK5BxJ,EAzyCA","sourcesContent":["/*!\n * Core JavaScript for PHPMaker v2022.12.0\n * Copyright (c) e.World Technology Limited. All rights reserved.\n */\nvar ew = (function () {\n 'use strict';\n\n /**\r\n * Global dependencies.\r\n * @global {Object} document - DOM\r\n */\r\n var devnull = function () {},\r\n bundleIdCache = {},\r\n bundleResultCache = {},\r\n bundleCallbackQueue = {};\r\n /**\r\n * Subscribe to bundle load event.\r\n * @param {string[]} bundleIds - Bundle ids\r\n * @param {Function} callbackFn - The callback function\r\n */\r\n\r\n function subscribe(bundleIds, callbackFn) {\r\n // listify\r\n bundleIds = bundleIds.push ? bundleIds : [bundleIds];\r\n var depsNotFound = [],\r\n i = bundleIds.length,\r\n numWaiting = i,\r\n fn,\r\n bundleId,\r\n r,\r\n q; // define callback function\r\n\r\n fn = function (bundleId, pathsNotFound) {\r\n if (pathsNotFound.length) depsNotFound.push(bundleId);\r\n numWaiting--;\r\n if (!numWaiting) callbackFn(depsNotFound);\r\n }; // register callback\r\n\r\n while (i--) {\r\n bundleId = bundleIds[i]; // execute callback if in result cache\r\n\r\n r = bundleResultCache[bundleId];\r\n\r\n if (r) {\r\n fn(bundleId, r);\r\n continue;\r\n } // add to callback queue\r\n\r\n q = bundleCallbackQueue[bundleId] = bundleCallbackQueue[bundleId] || [];\r\n q.push(fn);\r\n }\r\n }\r\n /**\r\n * Publish bundle load event.\r\n * @param {string} bundleId - Bundle id\r\n * @param {string[]} pathsNotFound - List of files not found\r\n */\r\n\r\n function publish(bundleId, pathsNotFound) {\r\n // exit if id isn't defined\r\n if (!bundleId) return;\r\n var q = bundleCallbackQueue[bundleId]; // cache result\r\n\r\n bundleResultCache[bundleId] = pathsNotFound; // exit if queue is empty\r\n\r\n if (!q) return; // empty callback queue\r\n\r\n while (q.length) {\r\n q[0](bundleId, pathsNotFound);\r\n q.splice(0, 1);\r\n }\r\n }\r\n /**\r\n * Execute callbacks.\r\n * @param {Object or Function} args - The callback args\r\n * @param {string[]} depsNotFound - List of dependencies not found\r\n */\r\n\r\n function executeCallbacks(args, depsNotFound) {\r\n // accept function as argument\r\n if (args.call) args = {\r\n success: args\r\n }; // success and error callbacks\r\n\r\n if (depsNotFound.length) (args.error || devnull)(depsNotFound);else (args.success || devnull)(args);\r\n }\r\n /**\r\n * Load individual file.\r\n * @param {string} path - The file path\r\n * @param {Function} callbackFn - The callback function\r\n */\r\n\r\n function loadFile(path, callbackFn, args, numTries) {\r\n var doc = document,\r\n async = args.async,\r\n maxTries = (args.numRetries || 0) + 1,\r\n beforeCallbackFn = args.before || devnull,\r\n pathname = path.replace(/[\\?|#].*$/, ''),\r\n pathStripped = path.replace(/^(css|img)!/, ''),\r\n // isLegacyIECss, //***\r\n e;\r\n numTries = numTries || 0;\r\n\r\n if (/(^css!|\\.css$)/.test(pathname)) {\r\n // css\r\n e = doc.createElement('link');\r\n e.rel = 'stylesheet';\r\n e.href = pathStripped; // tag IE9+\r\n // isLegacyIECss = 'hideFocus' in e; //***\r\n // use preload in IE Edge (to detect load errors)\r\n // if (isLegacyIECss && e.relList) { //***\r\n // isLegacyIECss = 0;\r\n // e.rel = 'preload';\r\n // e.as = 'style';\r\n // }\r\n } else if (/(^img!|\\.(png|gif|jpg|svg|webp)$)/.test(pathname)) {\r\n // image\r\n e = doc.createElement('img');\r\n e.src = pathStripped;\r\n } else {\r\n // javascript\r\n e = doc.createElement('script');\r\n e.src = path;\r\n e.async = async === undefined ? true : async;\r\n }\r\n\r\n e.onload = e.onerror = e.onbeforeload = function (ev) {\r\n var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror\r\n // support in IE9-11\r\n // if (isLegacyIECss) { //***\r\n // try {\r\n // if (!e.sheet.cssText.length) result = 'e';\r\n // } catch (x) {\r\n // // sheets objects created from load errors don't allow access to\r\n // // `cssText` (unless error is Code:18 SecurityError)\r\n // if (x.code != 18) result = 'e';\r\n // }\r\n // }\r\n // handle retries in case of load failure\r\n\r\n if (result == 'e') {\r\n // increment counter\r\n numTries += 1; // exit function and try again\r\n\r\n if (numTries < maxTries) {\r\n return loadFile(path, callbackFn, args, numTries);\r\n }\r\n } else if (e.rel == 'preload' && e.as == 'style') {\r\n // activate preloaded stylesheets\r\n return e.rel = 'stylesheet'; // jshint ignore:line\r\n } // execute callback\r\n\r\n callbackFn(path, result, ev.defaultPrevented);\r\n }; // add to document (unless callback returns `false`)\r\n\r\n if (beforeCallbackFn(path, e) !== false && e.tagName != \"IMG\") doc.head.appendChild(e); //***\r\n }\r\n /**\r\n * Load multiple files.\r\n * @param {string[]} paths - The file paths\r\n * @param {Function} callbackFn - The callback function\r\n */\r\n\r\n function loadFiles(paths, callbackFn, args) {\r\n // listify paths\r\n paths = paths.push ? paths : [paths];\r\n var numWaiting = paths.length,\r\n x = numWaiting,\r\n pathsNotFound = [],\r\n fn,\r\n i; // define callback function\r\n\r\n fn = function (path, result, defaultPrevented) {\r\n // handle error\r\n if (result == 'e') pathsNotFound.push(path); // handle beforeload event. If defaultPrevented then that means the load\r\n // will be blocked (ex. Ghostery/ABP on Safari)\r\n\r\n if (result == 'b') {\r\n if (defaultPrevented) pathsNotFound.push(path);else return;\r\n }\r\n\r\n numWaiting--;\r\n if (!numWaiting) callbackFn(pathsNotFound);\r\n }; // load scripts\r\n\r\n for (i = 0; i < x; i++) loadFile(paths[i], fn, args);\r\n }\r\n /**\r\n * Initiate script load and register bundle.\r\n * @param {(string|string[])} paths - The file paths\r\n * @param {(string|Function|Object)} [arg1] - The (1) bundleId or (2) success\r\n * callback or (3) object literal with success/error arguments, numRetries,\r\n * etc.\r\n * @param {(Function|Object)} [arg2] - The (1) success callback or (2) object\r\n * literal with success/error arguments, numRetries, etc.\r\n */\r\n\r\n function loadjs(paths, arg1, arg2) {\r\n var bundleId, args; // bundleId (if string)\r\n\r\n if (arg1 && arg1.trim) bundleId = arg1; // args (default is {})\r\n\r\n args = (bundleId ? arg2 : arg1) || {}; // throw error if bundle is already defined\r\n\r\n if (bundleId) {\r\n if (bundleId in bundleIdCache) {\r\n throw \"LoadJS\";\r\n } else {\r\n bundleIdCache[bundleId] = true;\r\n }\r\n }\r\n\r\n function loadFn(resolve, reject) {\r\n loadFiles(paths, function (pathsNotFound) {\r\n // execute callbacks\r\n executeCallbacks(args, pathsNotFound); // resolve Promise\r\n\r\n if (resolve) {\r\n executeCallbacks({\r\n success: resolve,\r\n error: reject\r\n }, pathsNotFound);\r\n } // publish bundle load event\r\n\r\n publish(bundleId, pathsNotFound);\r\n }, args);\r\n }\r\n\r\n if (args.returnPromise) return new Promise(loadFn);else loadFn();\r\n }\r\n /**\r\n * Execute callbacks when dependencies have been satisfied.\r\n * @param {(string|string[])} deps - List of bundle ids\r\n * @param {Object} args - success/error arguments\r\n */\r\n\r\n loadjs.ready = function ready(deps, args) {\r\n // subscribe to bundle load event\r\n subscribe(deps, function (depsNotFound) {\r\n // execute callbacks\r\n executeCallbacks(args, depsNotFound);\r\n });\r\n return loadjs;\r\n };\r\n /**\r\n * Manually satisfy bundle dependencies.\r\n * @param {string} bundleId - The bundle id\r\n */\r\n\r\n loadjs.done = function done(bundleId) {\r\n publish(bundleId, []);\r\n };\r\n /**\r\n * Reset loadjs dependencies statuses\r\n */\r\n\r\n loadjs.reset = function reset() {\r\n bundleIdCache = {};\r\n bundleResultCache = {};\r\n bundleCallbackQueue = {};\r\n };\r\n /**\r\n * Determine if bundle has already been defined\r\n * @param String} bundleId - The bundle id\r\n */\r\n\r\n loadjs.isDefined = function isDefined(bundleId) {\r\n return bundleId in bundleIdCache;\r\n }; // export\r\n //***\n\n /**\r\n * Language class\r\n */\r\n let Language =\r\n /**\r\n * Constructor\r\n * @param {Object} obj Phrases\r\n */\r\n function Language(obj) {\r\n this.obj = obj;\r\n\r\n this.phrase = function (id) {\r\n return this.obj[id.toLowerCase()];\r\n };\r\n };\n\n function _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) descriptor.writable = true;\r\n Object.defineProperty(target, descriptor.key, descriptor);\r\n }\r\n }\r\n\r\n function _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\r\n if (staticProps) _defineProperties(Constructor, staticProps);\r\n return Constructor;\r\n }\n\n function _assertThisInitialized(self) {\r\n if (self === void 0) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\r\n }\r\n\r\n return self;\r\n }\n\n function _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\r\n o.__proto__ = p;\r\n return o;\r\n };\r\n\r\n return _setPrototypeOf(o, p);\r\n }\n\n function _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass);\r\n }\n\n function _getPrototypeOf(o) {\r\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\r\n return o.__proto__ || Object.getPrototypeOf(o);\r\n };\r\n return _getPrototypeOf(o);\r\n }\n\n function _isNativeFunction(fn) {\r\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\r\n }\n\n function _isNativeReflectConstruct() {\r\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\r\n if (Reflect.construct.sham) return false;\r\n if (typeof Proxy === \"function\") return true;\r\n\r\n try {\r\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\n\n function _construct(Parent, args, Class) {\r\n if (_isNativeReflectConstruct()) {\r\n _construct = Reflect.construct;\r\n } else {\r\n _construct = function _construct(Parent, args, Class) {\r\n var a = [null];\r\n a.push.apply(a, args);\r\n var Constructor = Function.bind.apply(Parent, a);\r\n var instance = new Constructor();\r\n if (Class) _setPrototypeOf(instance, Class.prototype);\r\n return instance;\r\n };\r\n }\r\n\r\n return _construct.apply(null, arguments);\r\n }\n\n function _wrapNativeSuper(Class) {\r\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\r\n\r\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\r\n if (Class === null || !_isNativeFunction(Class)) return Class;\r\n\r\n if (typeof Class !== \"function\") {\r\n throw new TypeError(\"Super expression must either be null or a function\");\r\n }\r\n\r\n if (typeof _cache !== \"undefined\") {\r\n if (_cache.has(Class)) return _cache.get(Class);\r\n\r\n _cache.set(Class, Wrapper);\r\n }\r\n\r\n function Wrapper() {\r\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\r\n }\r\n\r\n Wrapper.prototype = Object.create(Class.prototype, {\r\n constructor: {\r\n value: Wrapper,\r\n enumerable: false,\r\n writable: true,\r\n configurable: true\r\n }\r\n });\r\n return _setPrototypeOf(Wrapper, Class);\r\n };\r\n\r\n return _wrapNativeSuper(Class);\r\n }\n\n function _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n });\r\n } else {\r\n obj[key] = value;\r\n }\r\n\r\n return obj;\r\n }\n\n /**\r\n * Class selection list option\r\n */\r\n let SelectionListOption =\r\n /**\r\n * Constructor\r\n */\r\n function SelectionListOption(value, text, selected) {\r\n this.value = String(value);\r\n this.text = String(text);\r\n this.selected = !!selected;\r\n };\n\n /**\r\n * Class Dynamic Selection List\r\n */\r\n\r\n let SelectionList = /*#__PURE__*/function (_HTMLElement) {\r\n _inheritsLoose(SelectionList, _HTMLElement);\r\n\r\n /**\r\n * Constructor\r\n */\r\n function SelectionList() {\r\n var _this;\r\n\r\n _this = _HTMLElement.call(this) || this;\r\n\r\n _defineProperty(_assertThisInitialized(_this), \"containerClass\", \"d-sm-table\");\r\n\r\n _defineProperty(_assertThisInitialized(_this), \"rowClass\", \"d-sm-table-row\");\r\n\r\n _defineProperty(_assertThisInitialized(_this), \"cellClass\", \"d-sm-table-cell\");\r\n\r\n _defineProperty(_assertThisInitialized(_this), \"options\", []);\r\n\r\n _this._internals = _this.attachInternals();\r\n return _this;\r\n }\r\n /**\r\n * Connected\r\n */\r\n\r\n var _proto = SelectionList.prototype;\r\n\r\n _proto.connectedCallback = function connectedCallback() {\r\n let value = this.getAttribute(\"value\") || \"\",\r\n values = this.multiple ? value.split(ew.MULTIPLE_OPTION_SEPARATOR) : [value];\r\n\r\n for (let val of values) this.add(val, \"\", true);\r\n }\r\n /**\r\n * Target element id\r\n */\r\n ;\r\n\r\n /**\r\n * Add an option\r\n */\r\n _proto.add = function add(value, text, selected) {\r\n let option = new SelectionListOption(value, text, selected),\r\n index = this.options.findIndex(option => option.value == value);\r\n if (index > -1) this.options[index] = option;else this.options.push(option);\r\n }\r\n /**\r\n * Remove an option\r\n */\r\n ;\r\n\r\n _proto.remove = function remove(index) {\r\n let option = this.options[index];\r\n if (option) this.options.splice(index, 1);\r\n }\r\n /**\r\n * Remove all options\r\n */\r\n ;\r\n\r\n _proto.removeAll = function removeAll() {\r\n this.options.splice(0);\r\n }\r\n /**\r\n * Clear selection\r\n */\r\n ;\r\n\r\n _proto.clear = function clear() {\r\n for (let option of this.options) option.selected = false;\r\n\r\n this.render();\r\n }\r\n /**\r\n * Get random number\r\n */\r\n ;\r\n\r\n _proto.getRandom = function getRandom() {\r\n return Math.floor(Math.random() * (999999 - 100000)) + 100000;\r\n }\r\n /**\r\n * Trigger change event\r\n */\r\n ;\r\n\r\n _proto.triggerChange = function triggerChange() {\r\n const event = new Event(\"change\", {\r\n view: window,\r\n bubbles: true,\r\n cancelable: false\r\n });\r\n this.dispatchEvent(event);\r\n }\r\n /**\r\n * Check if invalid\r\n */\r\n ;\r\n\r\n _proto.isInvalid = function isInvalid(className) {\r\n return /\\bis-invalid\\b/.test(className);\r\n }\r\n /**\r\n * Check class\r\n */\r\n ;\r\n\r\n _proto.attributeChangedCallback = function attributeChangedCallback(name, oldValue, newValue) {\r\n if (name == \"class\") {\r\n if (this.targetId && this.isInvalid(oldValue) != this.isInvalid(newValue)) {\r\n // \"is-invalid\" toggled\r\n let target = document.getElementById(this.targetId),\r\n inputs = target.querySelectorAll(\"input\"),\r\n isInvalid = this.isInvalid(newValue);\r\n Array.prototype.forEach.call(inputs, input => input.classList.toggle(\"is-invalid\", isInvalid));\r\n }\r\n } else if (name == \"value\") {\r\n this._internals.setFormValue(this.value);\r\n\r\n if (this.value !== \"\") this.classList.remove(\"is-invalid\");\r\n }\r\n }\r\n /**\r\n * Render checkbox or radio in the target element\r\n */\r\n ;\r\n\r\n _proto.render = function render() {\r\n let target = this.target,\r\n template = this.template;\r\n if (!target || !template || !this.list) return; // Clear the target\r\n\r\n while (target.firstChild) target.removeChild(target.firstChild); // Render\r\n\r\n target.style.cursor = \"wait\";\r\n let self = this,\r\n content = template.content,\r\n cols = this.columns || 1,\r\n tbl = document.createElement(\"div\"),\r\n cnt = this.length,\r\n radioSuffix = \"_\" + this.getRandom(),\r\n isInvalid = this.classList.contains(\"is-invalid\"),\r\n row;\r\n tbl.className = this.containerClass + \" ew-item-container\";\r\n target.append(tbl);\r\n\r\n try {\r\n let options = this.options.filter(opt => opt.value);\r\n options.forEach((option, i) => {\r\n let clone = content.cloneNode(true),\r\n input = clone.querySelector(\"input\"),\r\n label = clone.querySelector(\"label\"),\r\n suffix = \"_\" + this.getRandom(); // Make sure the id is unique\r\n\r\n input.name = input.name + (input.type == \"radio\" ? radioSuffix : suffix);\r\n input.id = input.id + suffix;\r\n input.value = option.value;\r\n input.setAttribute(\"data-index\", i);\r\n input.checked = option.selected;\r\n input.classList.add(\"ew-custom-option\");\r\n if (isInvalid) input.classList.add(\"is-invalid\");\r\n input.addEventListener(\"click\", function () {\r\n let index = parseInt(this.getAttribute(\"data-index\"), 10);\r\n\r\n if (self.type == \"select-one\") {\r\n for (let option of self.options) option.selected = false;\r\n }\r\n\r\n self.options[index].selected = this.checked;\r\n self.setAttribute(\"value\", self.value);\r\n self.triggerChange();\r\n });\r\n label.innerHTML = option.text;\r\n label.htmlFor = input.id;\r\n let cell = document.createElement(\"div\");\r\n cell.className = this.cellClass;\r\n cell.appendChild(clone);\r\n\r\n if (i % cols == 0) {\r\n row = document.createElement(\"div\");\r\n row.className = this.rowClass;\r\n }\r\n\r\n row.append(cell);\r\n\r\n if (i % cols == cols - 1) {\r\n tbl.append(row);\r\n } else if (i == cnt - 1) {\r\n // Last\r\n for (let j = i % cols + 1; j < cols; j++) {\r\n let c = document.createElement(\"div\");\r\n c.className = this.cellClass;\r\n row.append(c);\r\n }\r\n\r\n tbl.append(row);\r\n }\r\n });\r\n this.setAttribute(\"value\", this.value);\r\n } finally {\r\n target.style.cursor = \"default\";\r\n }\r\n }\r\n /**\r\n * Set focus\r\n */\r\n ;\r\n\r\n _proto.focus = function focus() {\r\n if (this.list) {\r\n var _this$target, _this$target$querySel;\r\n\r\n (_this$target = this.target) == null ? void 0 : (_this$target$querySel = _this$target.querySelector(\"input\")) == null ? void 0 : _this$target$querySel.focus();\r\n } else {\r\n _HTMLElement.prototype.focus.call(this);\r\n }\r\n };\r\n\r\n _createClass(SelectionList, [{\r\n key: \"form\",\r\n get:\r\n /**\r\n * Get form\r\n */\r\n function () {\r\n return this._internals.form;\r\n }\r\n /**\r\n * Get name\r\n */\r\n\r\n }, {\r\n key: \"name\",\r\n get: function () {\r\n return this.getAttribute(\"name\");\r\n }\r\n }, {\r\n key: \"targetId\",\r\n get: function () {\r\n return this.getAttribute(\"data-bs-target\");\r\n }\r\n /**\r\n * Target\r\n */\r\n\r\n }, {\r\n key: \"target\",\r\n get: function () {\r\n return this.parentNode.querySelector(\"#\" + this.targetId);\r\n }\r\n /**\r\n * Template id\r\n */\r\n\r\n }, {\r\n key: \"templateId\",\r\n get: function () {\r\n return this.getAttribute(\"data-template\");\r\n }\r\n /**\r\n * Template\r\n */\r\n\r\n }, {\r\n key: \"template\",\r\n get: function () {\r\n return this.parentNode.querySelector(\"#\" + this.templateId);\r\n }\r\n /**\r\n * Input element id (for AutoSuggest)\r\n */\r\n\r\n }, {\r\n key: \"inputId\",\r\n get: function () {\r\n return this.getAttribute(\"data-input\");\r\n }\r\n /**\r\n * Input element (for AutoSuggest)\r\n */\r\n\r\n }, {\r\n key: \"input\",\r\n get: function () {\r\n return this.parentNode.querySelector(\"#\" + this.inputId);\r\n }\r\n /**\r\n * Is list\r\n */\r\n\r\n }, {\r\n key: \"list\",\r\n get: function () {\r\n return this.options;\r\n }\r\n /**\r\n * Number of columns\r\n */\r\n\r\n }, {\r\n key: \"columns\",\r\n get: function () {\r\n var _ew;\r\n\r\n if ((_ew = ew) != null && _ew.IS_MOBILE) {\r\n return 1;\r\n } else {\r\n let cols = this.getAttribute(\"data-repeatcolumn\");\r\n return cols ? parseInt(cols, 10) : 1;\r\n }\r\n }\r\n /**\r\n * Length\r\n */\r\n\r\n }, {\r\n key: \"length\",\r\n get: function () {\r\n return this.options.length;\r\n }\r\n /**\r\n * Get selected index\r\n */\r\n\r\n }, {\r\n key: \"selectedIndex\",\r\n get: function () {\r\n for (let option of this.options) {\r\n if (option.selected) return option.index;\r\n }\r\n\r\n return -1;\r\n }\r\n /**\r\n * Set selected index\r\n */\r\n ,\r\n set: function (index) {\r\n let option = this.options[index];\r\n\r\n if (option) {\r\n this.options.forEach(option => option.selected = false);\r\n option.selected = true;\r\n this.render();\r\n }\r\n }\r\n /**\r\n * Type\r\n */\r\n\r\n }, {\r\n key: \"type\",\r\n get: function () {\r\n return this.getAttribute(\"data-type\") || this.getAttribute(\"type\");\r\n }\r\n /**\r\n * Multiple\r\n */\r\n\r\n }, {\r\n key: \"multiple\",\r\n get: function () {\r\n if (this.hasAttribute(\"data-multiple\")) {\r\n return this.getAttribute(\"data-multiple\") != \"0\";\r\n } else {\r\n return this.type == \"select-multiple\";\r\n }\r\n }\r\n /**\r\n * Get value\r\n * @returns {string}\r\n */\r\n\r\n }, {\r\n key: \"value\",\r\n get: function () {\r\n if (this.type == \"select-one\" || this.type == \"select-multiple\") {\r\n return this.values.join(ew.MULTIPLE_OPTION_SEPARATOR || \",\");\r\n } else {\r\n return this.getAttribute(\"value\");\r\n }\r\n }\r\n /**\r\n * Get value as array\r\n * @returns {string[]}\r\n */\r\n ,\r\n set:\r\n /**\r\n * Set value\r\n * @param {string|string[]} val\r\n */\r\n function (val) {\r\n if (this.type == \"select-one\") {\r\n for (let option of this.options) option.selected = option.value == val;\r\n } else if (this.type == \"select-multiple\") {\r\n let ar;\r\n\r\n if (Array.isArray(val)) {\r\n // Array\r\n ar = val.map(v => v != null ? v : String(v));\r\n } else {\r\n var _val;\r\n\r\n // String\r\n val = (_val = val) != null ? _val : String(val);\r\n ar = val ? val.split(ew.MULTIPLE_OPTION_SEPARATOR || \",\") : [];\r\n }\r\n\r\n for (let option of this.options) option.selected = ar.includes(String(option.value));\r\n } else {\r\n this.setAttribute(\"value\", val);\r\n }\r\n\r\n this.render();\r\n }\r\n }, {\r\n key: \"values\",\r\n get: function () {\r\n if (this.type == \"select-one\" || this.type == \"select-multiple\") {\r\n return Array.prototype.filter.call(this.options, option => option.selected).map(option => option.value);\r\n } else {\r\n let val = this.getAttribute(\"value\");\r\n return val ? val.split(ew.MULTIPLE_OPTION_SEPARATOR || \",\") : [];\r\n }\r\n }\r\n }], [{\r\n key: \"observedAttributes\",\r\n get:\r\n /**\r\n * Options\r\n * @type {SelectionListOption[]}\r\n */\r\n\r\n /**\r\n * Specify observed attributes so that attributeChangedCallback will work\r\n */\r\n function () {\r\n return [\"class\", \"value\"];\r\n }\r\n /**\r\n * Form associcated\r\n */\r\n\r\n }, {\r\n key: \"formAssociated\",\r\n get: function () {\r\n return true;\r\n }\r\n }]);\r\n\r\n return SelectionList;\r\n }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\n\n window.loadjs = loadjs; // Define SelectionList\r\n\r\n customElements.define(\"selection-list\", SelectionList); // Select2 templateResult/templateSelection\r\n\r\n let noop = () => {},\r\n templateCallback = o => (o.element instanceof HTMLOptionElement ? o.element.innerHTML : \"\") || o.text;\r\n\r\n let ew$1 = {\r\n PAGE_ID: \"\",\r\n // Page ID // To be updated in page\r\n RELATIVE_PATH: \"\",\r\n // Relative path // To be updated in page\r\n MULTIPLE_OPTION_SEPARATOR: \",\",\r\n GENERATE_PASSWORD_UPPERCASE: true,\r\n GENERATE_PASSWORD_LOWERCASE: true,\r\n GENERATE_PASSWORD_NUMBER: true,\r\n GENERATE_PASSWORD_SPECIALCHARS: 1,\r\n // Max. number of special characters (number|boolean)\r\n CONFIRM_CANCEL: true,\r\n ROWTYPE_ADD: 2,\r\n ROWTYPE_EDIT: 3,\r\n UNFORMAT_YEAR: 50,\r\n LAZY_LOAD_DELAY: 0,\r\n AJAX_DELAY: 5,\r\n LOOKUP_DELAY: 250,\r\n MAX_OPTION_COUNT: 3,\r\n NUMBERING_SYSTEM: \"\",\r\n USE_OVERLAY_SCROLLBARS: true,\r\n // For responsive tables\r\n Language: Language,\r\n // Class\r\n language: null,\r\n // Language object\r\n vars: null,\r\n maps: {},\r\n addOptionDialog: null,\r\n emailDialog: null,\r\n importDialog: null,\r\n modalDialog: null,\r\n modalLookupDialog: null,\r\n ajaxBatchSize: 10,\r\n autoSuggestSettings: {\r\n highlight: true,\r\n hint: true,\r\n minLength: 1,\r\n debounce: 250,\r\n delay: 250,\r\n // For loading more results\r\n templates: {},\r\n // Custom templates for Typeahead (notFound, pending, header, footer, suggestion)\r\n classNames: {\r\n menu: \"tt-menu dropdown-menu\",\r\n input: 'tt-input form-control',\r\n dataset: \"tt-dataset\",\r\n suggestion: \"tt-suggestion dropdown-item\",\r\n cursor: \"tt-cursor\"\r\n }\r\n },\r\n lightboxSettings: {\r\n transition: \"none\",\r\n photo: true,\r\n opacity: 0.5\r\n },\r\n uploadOptions: {},\r\n importUploadOptions: {\r\n maxFileSize: 10000000,\r\n maxNumberOfFiles: 10\r\n },\r\n sweetAlertSettings: {\r\n showClass: {\r\n popup: \"swal2-noanimation\",\r\n // Disable popup animation\r\n backdrop: \"swal2-noanimation\",\r\n // Disable backdrop animation\r\n icon: \"\" // Disable icon animation\r\n\r\n },\r\n hideClass: {\r\n popup: \"\",\r\n // Disable popup animation\r\n backdrop: \"\",\r\n // Disable backdrop animation\r\n icon: \"\" // Disable icon animation\r\n\r\n },\r\n customClass: {\r\n container: \"ew-swal2-container\",\r\n popup: \"ew-swal2-popup\",\r\n header: \"ew-swal2-header\",\r\n title: \"ew-swal2-title\",\r\n closeButton: \"ew-swal2-close-button\",\r\n icon: \"ew-swal2-icon\",\r\n image: \"ew-swal2-image\",\r\n htmlContainer: \"ew-swal2-html-container\",\r\n content: \"ew-swal2-content\",\r\n input: \"form-control ew-swal2-input\",\r\n inputLabel: \"ew-swal2-input-label\",\r\n validationMessage: \"ew-swal2-validation-message\",\r\n actions: \"ew-swal2-actions\",\r\n confirmButton: \"btn btn-primary ew-swal2-confirm-button\",\r\n denyButton: \"btn btn-danger ew-swal2-deny-button\",\r\n cancelButton: \"btn btn-secondary ew-swal2-cancel-button\",\r\n loader: \"ew-swal2-loader\",\r\n footer: \"ew-swal2-footer\"\r\n }\r\n },\r\n selectOptions: {\r\n // Select2 options\r\n allowClear: true,\r\n theme: \"bootstrap5\",\r\n width: \"style\",\r\n minimumResultsForSearch: 20,\r\n escapeMarkup: v => v,\r\n templateResult: templateCallback,\r\n templateSelection: templateCallback,\r\n // Custom options\r\n debounce: 250,\r\n // For ajax.delay, see https://select2.org/data-sources/ajax#rate-limiting-requests\r\n customOption: true,\r\n containerClass: \"d-sm-table\",\r\n rowClass: \"d-sm-table-row\",\r\n cellClass: \"d-sm-table-cell text-nowrap\",\r\n iconClass: \"form-check-label\"\r\n },\r\n selectMinimumInputLength: 1,\r\n modalLookupOptions: {\r\n // Select2 options\r\n allowClear: true,\r\n theme: \"bootstrap5\",\r\n width: \"100%\",\r\n escapeMarkup: v => v,\r\n templateResult: templateCallback,\r\n templateSelection: templateCallback,\r\n closeOnSelect: false,\r\n minimumInputLength: 0,\r\n dropdownCssClass: \"ew-modal-dropdown\",\r\n // Custom options\r\n modal: true,\r\n debounce: 250,\r\n // For ajax.delay, see https://select2.org/data-sources/ajax#rate-limiting-requests\r\n draggableOptions: {\r\n cursor: \"grabbing\"\r\n } // See https://api.jqueryui.com/draggable/\r\n\r\n },\r\n filterOptions: {\r\n // Select2 options\r\n allowClear: true,\r\n theme: \"bootstrap5\",\r\n width: \"100%\",\r\n escapeMarkup: v => v,\r\n templateResult: templateCallback,\r\n templateSelection: templateCallback,\r\n closeOnSelect: false,\r\n minimumInputLength: 0,\r\n dropdownAutoWidth: true,\r\n dropdownCssClass: \"ew-filter-dropdown\",\r\n // Custom options\r\n debounce: 250,\r\n // For ajax.delay, see https://select2.org/data-sources/ajax#rate-limiting-requests\r\n customOption: true,\r\n columns: 1,\r\n multiple: true,\r\n preventScroll: true,\r\n // For focusing the search box\r\n containerClass: \"container\",\r\n rowClass: \"row\",\r\n cellClass: \"col text-nowrap\",\r\n iconClass: \"form-check-label\"\r\n },\r\n toastOptions: {\r\n position: \"topRight\" // topRight|topLeft|bottomRight|bottomLeft\r\n\r\n },\r\n DOMPurifyConfig: {},\r\n sanitize: function (str) {\r\n return DOMPurify.sanitize(str, this.DOMPurifyConfig);\r\n },\r\n overlayScrollbarsOptions: {\r\n // Overlay scrollbars options\r\n className: \"os-theme-dark\",\r\n sizeAutoCapable: true,\r\n scrollbars: {\r\n autoHide: \"leave\",\r\n clickScrolling: true\r\n }\r\n },\r\n draggableOptions: {\r\n cursor: \"grabbing\"\r\n },\r\n // See https://api.jqueryui.com/draggable/\r\n bundleIds: [\"dom\", \"head\"],\r\n // All bundle IDs\r\n sanitizeFn: null,\r\n // For Bootstrap Tooltips and Popovers\r\n PDFObjectOptions: {},\r\n chartConfig: {},\r\n spinnerClass: \"spinner-border text-primary\",\r\n // spinner-border or spinner-grow\r\n jsRenderHelpers: {},\r\n jsRenderAttributes: [\"src\", \"href\", \"title\"],\r\n // Attributes supporting built-in JsRender tags\r\n autoHideSuccessMessage: true,\r\n autoHideSuccessMessageDelay: 5000,\r\n searchOperatorChanged: noop,\r\n setLanguage: noop,\r\n addOptionDialogShow: noop,\r\n importDialogShow: noop,\r\n toggleSearchOperator: noop,\r\n togglePassword: noop,\r\n sort: noop,\r\n selectKey: noop,\r\n export: noop,\r\n exportWithCharts: noop,\r\n setSearchType: noop,\r\n emailDialogShow: noop,\r\n selectAll: noop,\r\n selectAllKeys: noop,\r\n submitAction: noop,\r\n addGridRow: noop,\r\n confirmDelete: () => false,\r\n deleteGridRow: () => false\r\n };\r\n /**\r\n * Init panel/header/footer\r\n *\r\n * @param {HTMLElement} el - Element\r\n */\r\n\r\n ew$1.initPanel = el => {\r\n if (el.dataset.isset) return;\r\n let html = \"\";\r\n\r\n for (let child of el.children) {\r\n html = child.innerHTML.trim();\r\n if (html !== \"\") break;\r\n }\r\n\r\n if (html === \"\") el.classList.add(\"d-none\");\r\n el.dataset.isset = true;\r\n }; // Panel selectors\r\n\r\n ew$1.panelSelectors = [\".user-panel\", \".ew-grid-upper-panel\", \".ew-grid-lower-panel\", \".ew-multi-column-row > * > .card > .card-header\", \".ew-multi-column-row > * > .card > .card-footer\"];\r\n /**\r\n * Init panels/headers/footers\r\n */\r\n\r\n ew$1.initPanels = el => el.querySelectorAll(ew$1.panelSelectors.join(\",\")).forEach(ew$1.initPanel); // Request animation frame to init panels\r\n\r\n let _initPanelsReq;\r\n\r\n let _initPanels = () => {\r\n ew$1.initPanels(document);\r\n _initPanelsReq = requestAnimationFrame(_initPanels);\r\n };\r\n\r\n loadjs.ready(\"wrapper\", () => _initPanelsReq = requestAnimationFrame(_initPanels)); // DOM content loaded\r\n\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n ew$1.initPanels(document);\r\n cancelAnimationFrame(_initPanelsReq);\r\n loadjs.done(\"dom\");\r\n });\r\n /**\r\n * Initiate script load (async in series) and register bundle\r\n * @param {(string|string[])} paths - The file paths\r\n * @param {(string|Function|Object)} [arg1] - The (1) bundleId or (2) success\r\n * callback or (3) object literal with success/error arguments, numRetries,\r\n * etc.\r\n * @param {(Function|Object)} [arg2] - The (1) success callback or (2) object\r\n * literal with success/error arguments, numRetries, etc.\r\n */\r\n\r\n ew$1.loadjs = function (paths, arg1, arg2) {\r\n let bundleId = arg1 != null && arg1.trim ? arg1 : \"\";\r\n if (bundleId && bundleId != \"load\" && !ew$1.bundleIds.includes(bundleId)) ew$1.bundleIds.push(bundleId);\r\n let args = (bundleId ? arg2 : arg1) || {};\r\n paths = Array.isArray(paths) ? paths : [paths];\r\n paths = paths.filter(path => path && (!Array.isArray(path) || path.length)); // Valid paths\r\n\r\n if (args.call) // Accept function as argument\r\n args = {\r\n success: args\r\n };\r\n args = { ...args,\r\n returnPromise: true\r\n };\r\n let clone = { ...args\r\n },\r\n p = Promise.resolve();\r\n delete clone.success;\r\n paths.forEach((path, i, ar) => {\r\n if (i == ar.length - 1) // Last\r\n p = p.then(() => loadjs(path, bundleId || args, bundleId ? args : null).catch(paths => console.log(paths)));else p = p.then(() => loadjs(path, clone).catch(paths => console.log(paths)));\r\n });\r\n return p;\r\n };\r\n /**\r\n * Initiate script load (async in series) when dependencies have been satisfied\r\n * @param {(string|string[])} deps - List of bundle ids\r\n * @param {(string|string[])} paths - The file paths\r\n * @param {(string|Function|Object)} [arg1] - The (1) bundleId or (2) success\r\n * callback or (3) object literal with success/error arguments, numRetries,\r\n * etc.\r\n * @param {(Function|Object)} [arg2] - The (1) success callback or (2) object\r\n * literal with success/error arguments, numRetries, etc.\r\n */\r\n\r\n ew$1.ready = function (deps, paths, arg1, arg2) {\r\n let bundleId = arg1 != null && arg1.trim ? arg1 : \"\";\r\n if (bundleId && bundleId != \"load\" && !ew$1.bundleIds.includes(bundleId)) ew$1.bundleIds.push(bundleId);\r\n loadjs.ready(deps, function () {\r\n ew$1.loadjs(paths, arg1, arg2);\r\n });\r\n }; // Global client script\r\n\r\n loadjs.ready(\"head\", function () {\r\n ew$1.clientScript();\r\n }); // Global startup script\r\n\r\n loadjs.ready(\"foot\", function () {\r\n ew$1.startupScript();\r\n loadjs.done(\"load\");\r\n }); // Deep merge two or more objects into the first object\r\n\r\n let deepAssign = function () {\r\n let extended = {},\r\n overwrite = true,\r\n i = 0; // Check if overwrite\r\n\r\n if (arguments[0] === false) {\r\n // First argument is boolean\r\n overwrite = false;\r\n i++;\r\n }\r\n\r\n if (typeof arguments[i] == \"object\") {\r\n // Get first object\r\n extended = arguments[i];\r\n i++;\r\n } // Merge the object into the extended object\r\n\r\n let merge = function (obj) {\r\n for (let prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n // If property is an object, merge properties\r\n if (typeof obj[prop] == \"object\") {\r\n extended[prop] = deepAssign(overwrite, extended[prop], obj[prop]);\r\n } else {\r\n if (overwrite) {\r\n extended[prop] = obj[prop];\r\n } else {\r\n if (!extended.hasOwnProperty(prop)) extended[prop] = obj[prop];\r\n }\r\n }\r\n }\r\n }\r\n }; // Loop through each object and merge\r\n\r\n for (; i < arguments.length; i++) {\r\n if (typeof arguments[i] == \"object\") merge(arguments[i]);\r\n }\r\n\r\n return extended;\r\n };\r\n\r\n ew$1.deepAssign = deepAssign;\r\n /**\r\n * Bundle IDs for applying client side template\r\n */\r\n\r\n ew$1.applyTemplateId = [\"jsrender\", \"makerjs\"];\r\n /**\r\n * Render client side template, use the HTML in DOM and return the HTML\r\n *\r\n * @param {jQuery} tmpl - Template\r\n * @param {Object} data - Data\r\n * @returns HTML string\r\n */\r\n\r\n ew$1.renderTemplate = function (tmpl, data) {\r\n let $ = jQuery,\r\n $tmpl = tmpl != null && tmpl.render ? tmpl : $(tmpl);\r\n if (!$tmpl.render) return;\r\n let args = {\r\n $template: $tmpl,\r\n data: data\r\n };\r\n $(document).trigger(\"rendertemplate\", [args]);\r\n let html = $tmpl.render(args.data, ew$1.jsRenderHelpers),\r\n method = args.$template.data(\"method\"),\r\n target = args.$template.data(\"target\");\r\n if (html && method && target) // Render by specified method to target\r\n $(html)[method](target);else if (html && !method && target) // No method, render as inner HTML of target\r\n $(target).html(html);else if (html && !method && !target) // No method and target, render locally\r\n $tmpl.parent().append(html);\r\n loadjs.done(\"template\" + target);\r\n return html;\r\n };\r\n /**\r\n * Render all client side templates\r\n *\r\n * @param {Event} e - Event\r\n */\r\n\r\n ew$1.renderJsTemplates = function (e) {\r\n var _e$target;\r\n\r\n let $ = jQuery,\r\n el = (_e$target = e == null ? void 0 : e.target) != null ? _e$target : document;\r\n Array.from(el.querySelectorAll(\".ew-js-template\")).sort((a, b) => {\r\n a = parseInt(a.dataset.seq, 10) || 0;\r\n b = parseInt(b.dataset.seq, 10) || 0;\r\n return a - b;\r\n }).forEach(tmpl => {\r\n let name = tmpl.dataset.name,\r\n data = tmpl.dataset.data;\r\n\r\n if (data && typeof data == \"string\") {\r\n data = ew$1.vars[data] || window[data]; // Get data from ew.vars or global\r\n\r\n if (!data) // Data not found\r\n return;\r\n }\r\n\r\n if (name) {\r\n if (!$.render[name]) {\r\n // Render the first template of any named template only\r\n $.templates(name, tmpl.text);\r\n ew$1.renderTemplate($(tmpl), data);\r\n }\r\n } else {\r\n ew$1.renderTemplate($(tmpl), data);\r\n }\r\n });\r\n };\n\n return ew$1;\n\n})();\n"]}