@social-mail/social-mail-client 1.2.781 → 1.2.783
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.
- package/dist/admin/AdminAppIndex.pack.js +51 -24
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +5 -5
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/FileUrlService.d.ts +8 -0
- package/dist/common/FileUrlService.d.ts.map +1 -0
- package/dist/common/FileUrlService.js +29 -0
- package/dist/common/FileUrlService.js.map +1 -0
- package/dist/common/controls/file-preview/FilePreview.d.ts.map +1 -1
- package/dist/common/controls/file-preview/FilePreview.js +12 -16
- package/dist/common/controls/file-preview/FilePreview.js.map +1 -1
- package/dist/common/folder-view/FolderViewControl.d.ts.map +1 -1
- package/dist/common/folder-view/FolderViewControl.js +5 -3
- package/dist/common/folder-view/FolderViewControl.js.map +1 -1
- package/dist/common/pages/files/FolderPage.d.ts.map +1 -1
- package/dist/common/pages/files/FolderPage.js +6 -4
- package/dist/common/pages/files/FolderPage.js.map +1 -1
- package/dist/common/pages/files/media/ChooseMediaPage.d.ts.map +1 -1
- package/dist/common/pages/files/media/ChooseMediaPage.js +5 -5
- package/dist/common/pages/files/media/ChooseMediaPage.js.map +1 -1
- package/dist/model/model.d.ts +1 -4
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +0 -3
- package/dist/model/model.js.map +1 -1
- package/dist/public/channel/ChannelApp.pack.js +0 -3
- package/dist/public/channel/ChannelApp.pack.js.map +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js.map +1 -1
- package/dist/public/preview/zip/DownloadZip.pack.js +0 -3
- package/dist/public/preview/zip/DownloadZip.pack.js.map +1 -1
- package/dist/public/preview/zip/DownloadZip.pack.min.js +1 -1
- package/dist/public/preview/zip/DownloadZip.pack.min.js.map +1 -1
- package/dist/public/store/StoreApp.pack.js +0 -3
- package/dist/public/store/StoreApp.pack.js.map +1 -1
- package/dist/public/store/StoreApp.pack.min.js +1 -1
- package/dist/public/store/StoreApp.pack.min.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.js +0 -3
- package/dist/public/store/cart/ShoppingCart.pack.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.min.js +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.min.js.map +1 -1
- package/dist/services/store/StoreItemService.d.ts.map +1 -1
- package/dist/services/store/StoreItemService.js +0 -1
- package/dist/services/store/StoreItemService.js.map +1 -1
- package/dist/site-editor/editor/WebSitePageEditor.js +3 -3
- package/dist/site-editor/editor/WebSitePageEditor.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.js +69 -45
- package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js +11 -11
- package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
- package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.d.ts.map +1 -1
- package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.js +3 -6
- package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.js.map +1 -1
- package/dist/site-editor-app/pages/websites/templates/TemplateService.d.ts.map +1 -1
- package/dist/site-editor-app/pages/websites/templates/TemplateService.js +2 -3
- package/dist/site-editor-app/pages/websites/templates/TemplateService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +51 -24
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +5 -5
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/package.json +1 -1
- package/src/common/FileUrlService.ts +27 -0
- package/src/common/controls/file-preview/FilePreview.tsx +4 -4
- package/src/common/folder-view/FolderViewControl.tsx +2 -1
- package/src/common/pages/files/FolderPage.tsx +3 -2
- package/src/common/pages/files/media/ChooseMediaPage.tsx +2 -1
- package/src/model/model.ts +2 -4
- package/src/services/store/StoreItemService.ts +0 -1
- package/src/site-editor/editor/WebSitePageEditor.tsx +3 -3
- package/src/site-editor-app/pages/websites/studio/WebSiteStudioPage.tsx +3 -5
- package/src/site-editor-app/pages/websites/templates/TemplateService.ts +2 -3
|
@@ -98,7 +98,7 @@ html, body {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
`.withId("global-styles").withOrder("medium").installGlobal()}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/GlobalStyle");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;if((_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancelled){return}asyncState.token=undefined;(_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export("RootObject",void 0);return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}};XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);_export("default",XNode);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{dispose(){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}static installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.busyIndicators=[];this.readyHandlers=[];this.onError=error=>{console.log(error)};this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){App_1.installStyleSheet(ssConfig)}installScript(location){return App_1.installScript(location)}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){if(this.invokeReadyHandler){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator.dispose()}));a.catch((e=>{indicator.dispose();console.error(typeof e==="string"?e:JSON.stringify(e))}));return}indicator.dispose()}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,visitDescendents,refreshInherited,watchProperty,setValue;return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("visitDescendents",visitDescendents=(element,action)=>{for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}visitDescendents(iterator,action)}});_export("refreshInherited",refreshInherited=(target,name,fieldName)=>{AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){refreshInherited(ac,name,fieldName)}return false}return true}))});_export("watchProperty",watchProperty=(element,name,events,f)=>{if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}});_export("setValue",setValue=(element,name,value)=>{element[name]=value})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Hacks");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["tslib","../App","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./Hacks","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,visitDescendents,watchProperty,InheritedProperty,PropertyMap,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,localBindSymbol,localXNodeSymbol,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_Hacks){visitDescendents=_Hacks.visitDescendents;watchProperty=_Hacks.watchProperty},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this.creator||this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){element[name]=value}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}pushInit(){this.runAfterInit((()=>{var _c,_d,_e;(_e=(_d=(_c=this).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>CancelToken.isCancelled(error)?void 0:console.error(error)))}))}});_a=isControl;_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.msDays=exports.msHours=exports.msSeconds=exports.msMinutes=void 0;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}exports.msMinutes=6e4;exports.msSeconds=1e3;exports.msHours=36e5;exports.msDays=24*exports.msHours;const daysPerMS=1/exports.msDays;const hoursPerMS=1/exports.msHours;const minutesPerMS=1/exports.msMinutes;const secondsPerMS=1/exports.msSeconds;function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}class TimeSpan{static fromDays(n){return new TimeSpan(n*exports.msDays)}static fromHours(n){return new TimeSpan(n*exports.msHours)}static fromMinutes(n){return new TimeSpan(n*exports.msMinutes)}static fromSeconds(n){return new TimeSpan(n*exports.msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/exports.msDays)}get hours(){return Math.floor(this.msSinceEpoch/exports.msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/exports.msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/exports.msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%exports.msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*exports.msDays+(hours||0)*exports.msHours+(minutes||0)*exports.msMinutes+(seconds||0)*exports.msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(exports.msDays);format(exports.msHours,formatAs12&&!d);format(exports.msMinutes);let s=format(exports.msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}}exports.default=TimeSpan;if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./TimeSpan"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const TimeSpan_1=require("./TimeSpan");class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan_1.default.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan_1.default(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan_1.default){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan_1.default(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}}exports.default=DateTime;DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}if(this.optional){return`(/?(?<${this.variable}>[^\\/]+))?`}return`/${StringHelper.escapeRegExp(this.prefix)}(?<${this.variable}>[^\\/]{1,500})${StringHelper.escapeRegExp(this.suffix)}`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.prefix="";this.suffix="";this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}const match=/\{(\*?[\p{L}:]{1,50}\??)\}/u.exec(iterator);if(!match){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}const start=match.index;const index=match[0].length;const name=match[1];const prefix=iterator.substring(0,start);const suffix=iterator.substring(index+1);const v=new Variable(name);v.prefix=prefix;v.suffix=suffix;regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.href),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){if(this.routePrefix){if(!route.startsWith(this.routePrefix)){route=this.routePrefix+route}}cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}};Command.routePrefix="";Command.registry=new Map;Command.routes=[];_export("default",Command);_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["tslib","../../core/AtomBinder","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/Hacks","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomComponent,BindableProperty,Command,FormattedString,refreshInherited,visitDescendents,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,defaultStyleSheets,ElementValueSetters,propertyId,getSelection,body,html;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreHacks){refreshInherited=_coreHacks.refreshInherited;visitDescendents=_coreHacks.visitDescendents},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){setTimeout((()=>requestAnimationFrame((()=>ie.focus()))),100)}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("attr-")){if(value===null){element.removeAttribute(name.substring(5));return}element.setAttribute(name.substring(5),value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};body=document.body;html=body.parentElement;window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;if(originalTarget===html){return}let clickEvent;while(start&&start!==body){clickEvent||(clickEvent=start.getAttribute("data-click-event"));if(start.tagName==="A"){if(!clickEvent){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}if(targetElement===void 0&&srcElement){target[key]=srcElement;continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,FetchBuilder,JsonError;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static url(url){return this.method(url,"GET")}static header(name,value){return new FetchBuilder({headers:{url:"",method:"POST",[name]:value}})}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}log(logger){return this.append({log:logger})}logWhenFailed(logger){return this.append({logError:logger})}get(url){return this.method(url,"GET")}put(url){return this.method(url,"PUT")}post(url){return this.method(url,"POST")}delete(url){return this.method(url,"DELETE")}method(url,method){return this.append({url,method})}signal(signal){if(!signal){return this}return this.append({signal})}cancelToken(ct){if(!ct){return this}const ac=new AbortController;const signal=ac.signal;ct.registerForCancel((()=>ac.abort()));return this.signal(signal)}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}asText(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asTextResponse(ensureSuccess);return result}))}asBlob(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asBlobResponse(ensureSuccess);return result}))}asJson(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asJsonResponse(ensureSuccess);return result}))}jsonPostProcessor(jsonPostProcessor){return this.append({jsonPostProcessor})}asJsonResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,((x,jsonPostProcessor)=>__awaiter(this,void 0,void 0,(function*(){if(!/json/i.test(x.headers.get("content-type"))){throw new Error(`Failed to parse json from ${this.request.url}\n${yield x.text()}`)}if(jsonPostProcessor){return x.json().then(jsonPostProcessor)}return x.json()}))))}))}asTextResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.text()))}))}asBlobResponse(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.blob()))}dispatcher(dispatcher){return this.append({dispatcher})}withFetchProxy(fetchProxy){return this.append({fetchProxy})}execute(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true,postProcessor){var _a,_b,_c,_d,_e,_f;let{log,logError}=this.request;try{const{headers,fetchProxy,jsonPostProcessor}=this.request;const r=yield(fetchProxy!==null&&fetchProxy!==void 0?fetchProxy:fetch)(this.request.url,this.request);if(ensureSuccess){if(r.status>300){log=logError;log===null||log===void 0?void 0:log(`fetch: ${(_a=this.request.method)!==null&&_a!==void 0?_a:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}log===null||log===void 0?void 0:log(`${r.status} ${r.statusText||"Http Error"}`);const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();log===null||log===void 0?void 0:log(json);const message=(_e=(_d=(_c=(_b=json.title)!==null&&_b!==void 0?_b:json.detail)!==null&&_c!==void 0?_c:json.message)!==null&&_d!==void 0?_d:json.exceptionMessage)!==null&&_e!==void 0?_e:"Json Server Error";log=null;logError=null;throw new JsonError(message,json)}const text=yield r.text();log===null||log===void 0?void 0:log(text);log=null;logError=null;throw new Error(`Fetch failed with error ${r.status} for ${this.request.url}\n${text}`)}}log===null||log===void 0?void 0:log(`${(_f=this.request.method)!==null&&_f!==void 0?_f:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}const result=yield postProcessor(r,jsonPostProcessor);if(log){log(`${r.status} ${r.statusText||"OK"}`);log(result)}return{result,headers:r.headers,status:r.status}}catch(error){log===null||log===void 0?void 0:log(error);throw error}}))}append(r){let{url}=this.request;const{url:newUrl}=r;if(newUrl){if(!url){url=newUrl}else{if(/^https?\:\/\//i.test(newUrl)){url=newUrl}else{url=new URL(newUrl,url).toString()}}}return new FetchBuilder(Object.assign(Object.assign(Object.assign({},this.request),r),{url}))}});JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}};FetchBuilder.JsonError=JsonError}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","./StringHelper","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,StringHelper,FetchBuilder,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_StringHelper){StringHelper=_StringHelper.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(){return __awaiter(this,arguments,void 0,(function*(p={}){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray(){return __awaiter(this,arguments,void 0,(function*({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList(){return __awaiter(this,arguments,void 0,(function*({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,cacheImmutable=cacheSeconds>0,count=true,expandable}={}){const env_1={stack:[],error:void 0,hasError:false};try{let url;const{traceQuery,name,service,queryFunction,args}=this.context;const busy=__addDisposableResource(env_1,service.createBusyIndicator(hideActivityIndicator),false);const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}if(expandable){fm.append("expandable","1")}const encodedMethods=fm.toString();let result;if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;result=yield FetchBuilder.post(url).cancelToken(cancelToken).jsonBody({methods:this.methods,start,size,split:splitInclude,count,trace,expandable:expandable?1:void 0,function:queryFunction||void 0,args:queryFunction?args:void 0}).asJson();result=service.resultConverter(result);return result}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion);if(!cacheImmutable){fm.append("cacheImmutable","false")}}else{}url=`${service.url}query/${name}?${fm.toString()}`;result=yield FetchBuilder.get(url).cancelToken(cancelToken).asJson();return service.resultConverter(result)}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store.get(this.head)}enqueue(item){this.store.set(this.tail,item);this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store.get(head);this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register(["tslib","./Queue"],(function(_export,_context){"use strict";var __awaiter,Queue,TaskManager,sleep;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_Queue){Queue=_Queue.default}],execute:function(){sleep=n=>new Promise((r=>setTimeout(r,n)));_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}queueRun(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));pr.catch((error=>console.error(error)));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}runAfterEnd(fx){(()=>__awaiter(this,void 0,void 0,(function*(){for(;;){yield sleep(100);if(this.running.size>0){continue}yield sleep(10);if(this.running.size>0){continue}break}fx()})))().catch(console.error)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","../models/Cloner","../models/IEntityModel","./mergeProperties","./Query","./resolve","../models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,Cloner,EntityContext,mergeProperties,Query,resolve,TaskManager,FetchBuilder,DefaultFactory,Model,BaseEntityService,_a,_b,_c,_d,ArrayPrototype,orderBy,orderByDescending;_export({DefaultFactory:void 0,Model:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");ArrayPrototype=Array.prototype;orderBy=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};orderByDescending=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};Object.defineProperties(ArrayPrototype,{where:{enumerable:false,value:ArrayPrototype.filter,configurable:true},any:{enumerable:false,value:ArrayPrototype.some,configurable:true},select:{enumerable:false,value:ArrayPrototype.map,configurable:true},selectMany:{enumerable:false,value(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r},configurable:true},firstOrDefault:{enumerable:false,value(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]},configurable:true},sum:{enumerable:false,value(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n},configurable:true},average:{enumerable:false,value(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length},configurable:true},orderBy:{enumerable:false,value:orderBy,configurable:true},thenBy:{enumerable:false,value:orderBy,configurable:false},orderByDescending:{enumerable:false,value:orderByDescending,configurable:true},thenByDescending:{enumerable:false,value:orderByDescending,configurable:false},count:{enumerable:false,value(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length},configurable:false}});_export("DefaultFactory",DefaultFactory=class DefaultFactory{constructor(factory){this.factory=factory}});_export("Model",Model=class Model{constructor(name,keys=[],defaults=null,schema=null){this.name=name;this.keys=keys;this.schema=schema;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){if(value instanceof DefaultFactory){properties[key]=value.factory()}else{properties[key]=value}}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends TaskManager{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{if(this.entityModel){return this.entityModel}const busy=__addDisposableResource(env_1,this.createBusyIndicator(false),false);const c=yield FetchBuilder.get(`${this.url}model`).asJson();this.entityModel=new EntityContext(c);return this.entityModel}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}delete(body){return __awaiter(this,void 0,void 0,(function*(){const env_2={stack:[],error:void 0,hasError:false};try{const busy=__addDisposableResource(env_2,this.createBusyIndicator(false),false);const url=this.url;return yield FetchBuilder.delete(url).jsonBody(body).asJson()}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}insert(body){return __awaiter(this,void 0,void 0,(function*(){const env_3={stack:[],error:void 0,hasError:false};try{const busy=__addDisposableResource(env_3,this.createBusyIndicator(false),false);const url=this.url;const result=yield FetchBuilder.put(url).jsonBody(body).asJson();return this.resultConverter(result)}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}invoke(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_4={stack:[],error:void 0,hasError:false};try{const busy=__addDisposableResource(env_4,this.createBusyIndicator(false),false);const entity={$type:m.name};for(const key of m.schema.keys){entity[key.name]=argEntity[key.name]}const result=yield FetchBuilder.post(`${this.url}invoke/${entity.$type}/${method}`).jsonBody({entity,args}).asJson();return this.resultConverter(result)}catch(e_4){env_4.error=e_4;env_4.hasError=true}finally{__disposeResources(env_4)}}))}buildRunUrl(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const{$type,$key}=argEntity;if(!$key){throw new Error(`Run requires encrypted $key`)}const usp=new URLSearchParams;usp.append("key",$key);if(args){usp.append("args",JSON.stringify(args))}if(cacheSeconds){usp.append("cache",cacheSeconds.toString())}if(cacheVersion){usp.append("cv",cacheVersion)}return`${this.url}run/${$type}/${method}?${usp.toString()}`}run(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const url=this.buildRunUrl(m,method,argEntity,{args,cacheSeconds,cacheVersion});return FetchBuilder.get(url).jsonPostProcessor(this.resultConverter)}save(body,cloner,trace){return __awaiter(this,void 0,void 0,(function*(){const env_5={stack:[],error:void 0,hasError:false};try{if(Array.isArray(body)&&body.length===0){return body}const busy=__addDisposableResource(env_5,this.createBusyIndicator(false),false);let url=this.url;if(body instanceof Cloner){body=body.copy}if(trace){const hasQuery=url.includes("?");if(hasQuery){url=url+="&trace=true"}else{url=url+="?trace=true"}}if(cloner){if(Array.isArray(body)){body=body.map((x=>cloner(new Cloner(x)).copy))}else{const c=cloner(new Cloner(body));body=c.copy}}let result=yield FetchBuilder.post(url).jsonBody(body).asJson();result=this.resultConverter(result);mergeProperties(result,body);return body}catch(e_5){env_5.error=e_5;env_5.hasError=true}finally{__disposeResources(env_5)}}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities_1,update_1){return __awaiter(this,arguments,void 0,(function*(entities,update,throwWhenNotFound=false){const env_6={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_6,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;let results=yield FetchBuilder.post(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_6){env_6.error=e_6;env_6.hasError=true}finally{__disposeResources(env_6)}}))}bulkDelete(entities_1){return __awaiter(this,arguments,void 0,(function*(entities,throwWhenNotFound=false){const env_7={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_7,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};let results=yield FetchBuilder.delete(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_7){env_7.error=e_7;env_7.hasError=true}finally{__disposeResources(env_7)}}))}createBusyIndicator(hideActivityIndicator=false){return{[Symbol.dispose](){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,WebHookEventTypeArray,WebHookHttpVerbArray,WebHook,WebHookEvent,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,HostedZone,HostedZoneRecordTypeArray,HostedZoneRecord,HostedZoneUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEvent,MailboxFolder,MailboxContactEmail,MailboxContactTag,MailboxTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,NameToken,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,StoreConfig,StoreItemItemTypeArray,StoreItemItemUnitTypeArray,StoreItem,StoreCouponTypeArray,StoreCoupon,StoreJournalCoupon,StoreItemFolder,StoreItemFolderTag,StoreItemPrice,StorePaymentAttempt,StoreMediaFile,StoreInsight,StoreAccount,StoreAccountAddress,StoreAccountEmail,StoreAccountPhone,StorePaymentGatewayPaymentGatewayArray,StorePaymentGateway,StoreJournalJournalTypeArray,StoreJournalStatusArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTax,StoreTag,StoreItemTag,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSite,WebSiteHost,WebSiteVersion,WebSiteChannelDomain,WebSiteChannel,LoginSession,TextDocument,IncomingSmsSource,VerificationTokenTypeArray,VerificationToken,VerificationTokenAddress,EmailAddressName,ThreadParticipant,Tag,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string",dataType:"Char",length:100}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentDisposition",type:"string",dataType:"AsciiChar",length:10,default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",dataType:"Char",default:["contentID",'""']},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"creatorID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",dataType:"Boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",dataType:"Int",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSite"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSite"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],queries:{storeItemFiles:"external",channelEmailFiles:"external",channelFiles:"external",children:"external",templateSnapshot:"external"},actions:{download:"external"}}));modelEntitySchemas["AppFile"]=AppFile;_export("WebHookEventTypeArray",WebHookEventTypeArray=[{label:"email-received",value:"email-received"},{label:"order-paid",value:"order-paid"}]);_export("WebHookHttpVerbArray",WebHookHttpVerbArray=[{label:"POST",value:"POST"},{label:"GET",value:"GET"}]);_export("WebHook",WebHook=new Model("WebHook",["webHookID"],{eventType:"email-received",name:"",url:"",httpVerb:"POST",lastEvent:""},{name:"web_hooks",keys:[{name:"webHookID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"eventType",type:"string",dataType:"Char",length:50,default:["eventType",'"email-received"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"httpVerb",type:"string",dataType:"Char",length:20,default:["httpVerb",'"POST"']},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"lastEvent",type:"string",dataType:"Char",length:50,default:["lastEvent",'""']},{name:"lastEventTime",type:"DateTime",dataType:"DateTime",default:["lastEventTime","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"events",isCollection:true,isInverse:true,relatedName:"WebHookEvent"}]}));modelEntitySchemas["WebHook"]=WebHook;_export("WebHookEvent",WebHookEvent=new Model("WebHookEvent",["webHookEventID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"web_hook_events",keys:[{name:"webHookEventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"webHookID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"number",dataType:"Int",default:["status","0"]},{name:"response",type:"string",dataType:"Char",length:400,default:["response",'""']},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"webHook",fkMap:[{fk:"webHookID",relatedKey:"webHookID"}],relatedName:"WebHook"}]}));modelEntitySchemas["WebHookEvent"]=WebHookEvent;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"secret",type:"string",dataType:"Char",length:400,default:["secret",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",dataType:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"sessionID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"folderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["fileID","userID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"app_file_access",keys:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:10}],properties:[{name:"accessCode",type:"string",dataType:"Char",length:200,default:["accessCode",'""']},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contentHash",type:"string",dataType:"AsciiChar",length:200,default:["contentHash",'""']},{name:"cloudPath",type:"string",dataType:"Char",length:450,default:["cloudPath",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentSize",type:"number",dataType:"BigInt",default:["contentSize","0"]},{name:"compression",type:"string",dataType:"Char",length:10,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number",dataType:"BigInt",default:["textDocumentID","0"]},{name:"deleted",type:"boolean",dataType:"Boolean",default:["deleted","false"]}],relations:[{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"textDocument",isCollection:false,isInverse:true,relatedName:"TextDocument"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string",dataType:"Char",length:200}],properties:[{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",length:200,default:["description",'""']},{name:"companyID",type:"string",dataType:"Char",length:200,default:["companyID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"synchronization",type:"string",dataType:"Char",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number",dataType:"BigInt"},{name:"billingAddressID",type:"number",dataType:"BigInt"},{name:"shippingAddressID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:50}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:200,default:["type",'""']},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"valuesJson",type:"string",dataType:"Char",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID"],{keyHash:"",key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"keyHash",type:"string",dataType:"Char",length:450,default:["keyHash",'""']},{name:"key",type:"string",dataType:"Char",default:["key",'""']},{name:"expiry",type:"DateTime",dataType:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",dataType:"Boolean",default:["ready","false"]},{name:"slide",type:"boolean",dataType:"Boolean",default:["slide","false"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"received",type:"number",dataType:"Int",default:["received","0"]},{name:"failed",type:"number",dataType:"Int",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"hostedZone",isCollection:false,isInverse:true,relatedName:"HostedZone"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}]}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,maxSendPerSecond:0},{name:"hosted_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"}],properties:[{name:"enableReceive",type:"boolean",dataType:"Boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",dataType:"Boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",dataType:"Boolean",default:["useRelay","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"aliasForName",type:"string",dataType:"Char",length:200}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteChannelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"}]}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[{name:"prefix",type:"string",dataType:"Char",length:20,default:["prefix",'""']},{name:"isAdmin",type:"boolean",dataType:"Boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",dataType:"Boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_export("HostedZone",HostedZone=new Model("HostedZone",["zoneID"],{dnsHosted:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"hosted_zones",keys:[{name:"zoneID",type:"number",dataType:"BigInt"}],properties:[{name:"dnsHosted",type:"boolean",dataType:"Boolean",default:["dnsHosted","false"]},{name:"unsigned",type:"string",dataType:"Char",default:["unsigned",'""']},{name:"digest",type:"string",dataType:"Char",default:["digest",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"dateSigned",type:"DateTime",dataType:"DateTime",default:["dateSigned","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"domain",fkMap:[{fk:"zoneID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"records",isCollection:true,isInverse:true,relatedName:"HostedZoneRecord"},{name:"users",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"}],actions:{updateHosting:"external"}}));modelEntitySchemas["HostedZone"]=HostedZone;_export("HostedZoneRecordTypeArray",HostedZoneRecordTypeArray=[{label:"A",value:"A"},{label:"AAAA",value:"AAAA"},{label:"CNAME",value:"CNAME"},{label:"MX",value:"MX"},{label:"TXT",value:"TXT"},{label:"PTR",value:"PTR"},{label:"SRV",value:"SRV"},{label:"CAA",value:"CAA"},{label:"NS",value:"NS"},{label:"SOA",value:"SOA"}]);_export("HostedZoneRecord",HostedZoneRecord=new Model("HostedZoneRecord",["recordID"],{disabled:false,readonly:false,name:"",type:"A",isAlias:false,value:"",ttl:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),hosted:false},{name:"hosted_zone_records",keys:[{name:"recordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"disabled",type:"boolean",dataType:"Boolean",default:["disabled","false"]},{name:"readonly",type:"boolean",dataType:"Boolean",default:["readonly","false"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"type",type:"Object",dataType:"Char",length:15,default:["type",'"A"']},{name:"isAlias",type:"boolean",dataType:"Boolean",default:["isAlias","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"ttl",type:"number",dataType:"Int",default:["ttl","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"expiryDate",type:"DateTime",dataType:"DateTimeOffset",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"hosted",type:"boolean",dataType:"Boolean",default:["hosted","false"]},{name:"fqdn",type:"string",dataType:"Char",default:["fqdn",'""']}],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"}]}));modelEntitySchemas["HostedZoneRecord"]=HostedZoneRecord;_export("HostedZoneUser",HostedZoneUser=new Model("HostedZoneUser",["zoneID","userID"],{},{name:"hosted_zone_users",keys:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["HostedZoneUser"]=HostedZoneUser;_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"AsciiChar",length:20,default:["type",'"smtp"']},{name:"host",type:"string",dataType:"Char",length:400,default:["host",'""']},{name:"username",type:"string",dataType:"Char",length:100,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:100,default:["password",'""']},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"script",type:"string",dataType:"Char",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"keyType",type:"string",dataType:"Char",length:20,default:["keyType",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"privateKey",type:"string",dataType:"Char",default:["privateKey",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"},{label:"closed",value:"closed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,hasUnsubscribe:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,engagementCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"subject",type:"string",dataType:"Char",default:["subject",'""']},{name:"summary",type:"string",dataType:"Char",length:200,default:["summary",'""']},{name:"textBody",type:"string",dataType:"Char",default:["textBody",'""']},{name:"htmlBody",type:"string",dataType:"Char",default:["htmlBody",'""']},{name:"senderName",type:"string",dataType:"Char",default:["senderName",'""']},{name:"senderID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"received",type:"boolean",dataType:"Boolean",default:["received","false"]},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"hasUnsubscribe",type:"boolean",dataType:"Boolean",default:["hasUnsubscribe","false"]},{name:"headerMessageID",type:"string",dataType:"Char",default:["headerMessageID",'""']},{name:"inReplyTo",type:"string",dataType:"Char",default:["inReplyTo",'""']},{name:"externalEmailID",type:"string",dataType:"Char",length:200,default:["externalEmailID",'""']},{name:"dateReceived",type:"DateTime",dataType:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",dataType:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'"queued"']},{name:"forwardCount",type:"number",dataType:"Int",default:["forwardCount","0"]},{name:"replyCount",type:"number",dataType:"Int",default:["replyCount","0"]},{name:"viewCount",type:"number",dataType:"Int",default:["viewCount","0"]},{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"mimeFileID",type:"number",dataType:"BigInt"},{name:"sentMessageID",type:"string",dataType:"Char",length:200,default:["sentMessageID",'""']},{name:"htmlBodyID",type:"number",dataType:"BigInt"},{name:"emailSize",type:"number",dataType:"BigInt",default:["emailSize","0"]},{name:"originalFileSize",type:"number",dataType:"Int",default:["originalFileSize","0"]},{name:"workflowID",type:"string",dataType:"Char",length:400,default:["workflowID",'""']},{name:"parentID",type:"number",dataType:"BigInt"},{name:"threadID",type:"number",dataType:"BigInt"},{name:"forwardedID",type:"number",dataType:"BigInt"},{name:"lastReplyID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"tags",type:"string",dataType:"Char",default:["tags",'""']},{name:"stateReferencesUpdated",type:"boolean",dataType:"Boolean",default:["stateReferencesUpdated","false"]},{name:"statePostReceiveInvoked",type:"boolean",dataType:"Boolean",default:["statePostReceiveInvoked","false"]}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"thread",fkMap:[{fk:"threadID",relatedKey:"emailID"}],relatedName:"Email"},{name:"threadChildren",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"lastReply",fkMap:[{fk:"lastReplyID",relatedKey:"emailID"}],relatedName:"Email"},{name:"lastRepliedThreads",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"mailboxContactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"threadContacts",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}],queries:{channelEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"fileName",type:"string",dataType:"Char",length:200,default:["fileName",'""']},{name:"fileSize",type:"number",dataType:"Int",default:["fileSize","0"]},{name:"compression",type:"string",dataType:"Char",length:20,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"},{label:"unsubscribed",value:"unsubscribed"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"},{name:"email_recipients",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:20,default:["type",'"from"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"dateSent",type:"DateTime",dataType:"DateTimeOffset",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'""']},{name:"replyTo",type:"string",dataType:"Char",length:400,default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailAddress",type:"string",dataType:"Char",length:400,default:["emailAddress",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"names",isCollection:true,isInverse:true,relatedName:"EmailAddressName"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,openThreads:0,totalThreads:0,unread:0,isExternal:false,maxSendPerSecond:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,nonMembersCanPost:false,nonMembersCanComment:false,nonMembersCanReact:false,requiresMembershipApproval:false,requiresPostModeration:false,requiresCommentModeration:false,requiresSignup:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",dataType:"Boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",dataType:"Boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"logoID",type:"number",dataType:"BigInt"},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",dataType:"Boolean",default:["isChannel","false"]},{name:"isPrivateChannel",type:"boolean",dataType:"Boolean",default:["isPrivateChannel","false"]},{name:"nonMembersCanPost",type:"boolean",dataType:"Boolean",default:["nonMembersCanPost","false"]},{name:"nonMembersCanComment",type:"boolean",dataType:"Boolean",default:["nonMembersCanComment","false"]},{name:"nonMembersCanReact",type:"boolean",dataType:"Boolean",default:["nonMembersCanReact","false"]},{name:"requiresMembershipApproval",type:"boolean",dataType:"Boolean",default:["requiresMembershipApproval","false"]},{name:"requiresPostModeration",type:"boolean",dataType:"Boolean",default:["requiresPostModeration","false"]},{name:"requiresCommentModeration",type:"boolean",dataType:"Boolean",default:["requiresCommentModeration","false"]},{name:"requiresSignup",type:"boolean",dataType:"Boolean",default:["requiresSignup","false"]},{name:"subscriberCount",type:"number",dataType:"Int",default:["subscriberCount","0"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",dataType:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",dataType:"BigInt",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"mailboxEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"folders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{channels:"external"},actions:{fetch:"external"}}));modelEntitySchemas["Mailbox"]=Mailbox;_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{engagementCount:0,isThread:false},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"isThread",type:"boolean",dataType:"Boolean",default:["isThread","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}],queries:{channelEmails:"external"}}));modelEntitySchemas["MailboxEmail"]=MailboxEmail;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,openThreads:0,totalThreads:0,autoClose:false,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,newRequest:false,spam:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"folderTagID",type:"number",dataType:"BigInt",default:["folderTagID","0"]},{name:"lastEmailID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"autoClose",type:"boolean",dataType:"Boolean",default:["autoClose","false"]},{name:"total",type:"number",dataType:"Int",default:["total","0"]},{name:"doNotIndex",type:"boolean",dataType:"Boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",dataType:"Boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",dataType:"Boolean",default:["isOwner","false"]},{name:"canContribute",type:"boolean",dataType:"Boolean",default:["canContribute","false"]},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]},{name:"newRequest",type:"boolean",dataType:"Boolean",default:["newRequest","false"]},{name:"spam",type:"boolean",dataType:"Boolean",default:["spam","false"]},{name:"mute",type:"boolean",dataType:"Boolean",default:["mute","false"]},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'"invited"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"contactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEvent",MailboxContactEvent=new Model("MailboxContactEvent",["eventID"],{emailAddressID:0,startDate:new DefaultFactory((()=>new DateTime)),endDate:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_events",keys:[{name:"eventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"emailID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"description",type:"string",dataType:"Char",length:400,default:["description",'""']},{name:"location",type:"string",dataType:"Char",length:400,default:["location",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],queries:{calendarMonth:"external"}}));modelEntitySchemas["MailboxContactEvent"]=MailboxContactEvent;_export("MailboxFolder",MailboxFolder=new Model("MailboxFolder",["mailboxID","tagID"],{count:0,isSystem:false},{name:"mailbox_folders",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"isSystem",type:"boolean",dataType:"Boolean",default:["isSystem","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["MailboxFolder"]=MailboxFolder;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"dateReceived",type:"DateTime",dataType:"DateTimeOffset",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",dataType:"DateTimeOffset",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"signedFileLogID",type:"number",dataType:"BigInt",default:["signedFileLogID","0"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],actions:{getBody:"external",markAsRead:"external"}}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"mailboxTag",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"tagID",relatedKey:"tagID"}],relatedName:"MailboxTag"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_export("MailboxTag",MailboxTag=new Model("MailboxTag",["mailboxID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"contactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}],queries:{channelTags:"external"}}));modelEntitySchemas["MailboxTag"]=MailboxTag;_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"},{label:"smtp",value:"smtp"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"direction",type:"string",dataType:"Char",length:5,default:["direction",'"in"']},{name:"protocol",type:"string",dataType:"Char",length:20,default:["protocol",'"imap"']},{name:"username",type:"string",dataType:"Char",length:200,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:200,default:["password",'""']},{name:"host",type:"string",dataType:"Char",length:200,default:["host",'""']},{name:"port",type:"number",dataType:"Int",default:["port","0"]},{name:"isSecure",type:"boolean",dataType:"Boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",dataType:"Boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",dataType:"Boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",dataType:"Char",length:200,default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",dataType:"Int",default:["intervalSeconds","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",dataType:"DateTimeOffset",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",dataType:"Char",length:200,default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",dataType:"Char",default:["syncState",'""']},{name:"lastSyncError",type:"string",dataType:"Char",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("NameToken",NameToken=new Model("NameToken",["nameTokenID"],{word:""},{name:"name_tokens",keys:[{name:"nameTokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",length:400,default:["word",'""']},{name:"suggest",type:"boolean",generated:"computed",dataType:"Boolean"}],relations:[{name:"emailAddressNames",isCollection:true,isInverse:true,relatedName:"EmailAddressName"}]}));modelEntitySchemas["NameToken"]=NameToken;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"inviteContent",type:"string",dataType:"Char",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",dataType:"Char",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",dataType:"Boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",dataType:"Boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",dataType:"Boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",dataType:"Char",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"activity",type:"string",dataType:"Char",length:20,default:["activity",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",default:["word",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"Char",length:10,default:["status",'"begin"']},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"}],properties:[{name:"rank",type:"number",dataType:"Int",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"webSiteFolderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"activity",type:"string",dataType:"Char",length:50,default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"groupName",type:"string",dataType:"Char",length:50},{name:"configName",type:"string",dataType:"Char",length:200}],properties:[{name:"encrypted",type:"boolean",dataType:"Boolean",default:["encrypted","false"]},{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItemItemUnitTypeArray",StoreItemItemUnitTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",itemUnit:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"internalNotes",type:"string",dataType:"Char",default:["internalNotes",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"itemType",type:"string",dataType:"Char",length:20,default:["itemType",'"product"']},{name:"itemUnitType",type:"string",dataType:"Char",length:50,default:["itemUnitType",'"product"']},{name:"itemUnit",type:"number",dataType:"Decimal",default:["itemUnit","0"]},{name:"folderID",type:"number",dataType:"BigInt"},{name:"sizeForID",type:"number",dataType:"BigInt"},{name:"variantForID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"maxPrice",type:"number",dataType:"Decimal",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"itemCoupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"applicableTaxes",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"taxItems",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreCouponTypeArray",StoreCouponTypeArray=[{label:"discount",value:"discount"},{label:"subtract",value:"subtract"}]);_export("StoreCoupon",StoreCoupon=new Model("StoreCoupon",["couponID"],{code:"",active:false,hidden:false,startDate:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),exclusive:false,minOrderAmount:0,maxOrderAmount:0,minQuantity:0,maxQuantity:0,amount:0,type:"discount"},{name:"store_coupons",keys:[{name:"couponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"code",type:"string",dataType:"Char",length:100,default:["code",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"hidden",type:"boolean",dataType:"Boolean",default:["hidden","false"]},{name:"itemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"exclusive",type:"boolean",dataType:"Boolean",default:["exclusive","false"]},{name:"minOrderAmount",type:"number",dataType:"Decimal",default:["minOrderAmount","0"]},{name:"maxOrderAmount",type:"number",dataType:"Decimal",default:["maxOrderAmount","0"]},{name:"minQuantity",type:"number",dataType:"Int",default:["minQuantity","0"]},{name:"maxQuantity",type:"number",dataType:"Int",default:["maxQuantity","0"]},{name:"amount",type:"number",dataType:"Int",default:["amount","0"]},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'"discount"']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"orders",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"}]}));modelEntitySchemas["StoreCoupon"]=StoreCoupon;_export("StoreJournalCoupon",StoreJournalCoupon=new Model("StoreJournalCoupon",["appliedCouponID"],{couponCode:""},{name:"store_journal_coupons",keys:[{name:"appliedCouponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"couponID",type:"number",dataType:"BigInt"},{name:"orderID",type:"number",dataType:"BigInt"},{name:"lineItemID",type:"number",dataType:"BigInt"},{name:"couponCode",type:"string",dataType:"Char",length:200,default:["couponCode",'""']}],relations:[{name:"coupon",fkMap:[{fk:"couponID",relatedKey:"couponID"}],relatedName:"StoreCoupon"},{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalCoupon"]=StoreJournalCoupon;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemFolderTag",StoreItemFolderTag=new Model("StoreItemFolderTag",["itemFolderID","tagID"],{count:0},{name:"store_item_folder_tags",keys:[{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemFolderTag"]=StoreItemFolderTag;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",recurring:false,amount:0,maxQuantity:0,taxIncluded:false,taxAmount:0,active:false},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTimeOffset",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTimeOffset",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",dataType:"Char",length:5,default:["currency",'""']},{name:"recurring",type:"boolean",dataType:"Boolean",default:["recurring","false"]},{name:"durationDays",type:"number",dataType:"Int",default:["durationDays","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"maxAmount",type:"number",dataType:"Decimal",default:["maxAmount","0"]},{name:"maxQuantity",type:"number",dataType:"Decimal",default:["maxQuantity","0"]},{name:"taxIncluded",type:"boolean",dataType:"Boolean",default:["taxIncluded","false"]},{name:"taxAmount",type:"number",dataType:"Decimal",default:["taxAmount","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePaymentAttempt",StorePaymentAttempt=new Model("StorePaymentAttempt",["attemptID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),success:false},{name:"store_payment_attempt",keys:[{name:"attemptID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"orderID",type:"number",dataType:"BigInt"},{name:"gatewayID",type:"number",dataType:"BigInt"},{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]}],relations:[{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"gateway",fkMap:[{fk:"gatewayID",relatedKey:"accountID"}],relatedName:"StorePaymentGateway"}]}));modelEntitySchemas["StorePaymentAttempt"]=StorePaymentAttempt;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"}],properties:[{name:"fileContentID",type:"number",dataType:"BigInt",default:["fileContentID","0"]},{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"isPreview",type:"boolean",dataType:"Boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",dataType:"Char",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",dataType:"Char",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}],queries:{siteQuery:"external",storeQuery:"external"}}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"value",type:"number",dataType:"Decimal",default:["value","0"]},{name:"isPublic",type:"boolean",dataType:"Boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreAccount",StoreAccount=new Model("StoreAccount",["accountID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ledgerType:"",name:"",balance:0},{name:"store_accounts",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"storeID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"head",type:"string",dataType:"Char",length:50,default:["head",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ledgerType",type:"string",dataType:"Char",length:50,default:["ledgerType",'""']},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"billingAddressID",type:"number",dataType:"BigInt",default:["billingAddressID","0"]},{name:"shippingAddressID",type:"number",dataType:"BigInt",default:["shippingAddressID","0"]}],relations:[{name:"user",fkMap:[{fk:"accountID",relatedKey:"userID"}],relatedName:"User"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"StoreAccountAddress"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storePaymentGateway",isCollection:false,isInverse:true,relatedName:"StorePaymentGateway"},{name:"emails",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"StoreAccountPhone"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreAccount"]=StoreAccount;_export("StoreAccountAddress",StoreAccountAddress=new Model("StoreAccountAddress",["addressID"],{title:"",line1:""},{name:"store_account_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"otherTaxID",type:"string",dataType:"Char",length:200,default:["otherTaxID",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"billedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"shippedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"}]}));modelEntitySchemas["StoreAccountAddress"]=StoreAccountAddress;_export("StoreAccountEmail",StoreAccountEmail=new Model("StoreAccountEmail",["accountID","emailAddressID"],{},{name:"store_account_emails",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["StoreAccountEmail"]=StoreAccountEmail;_export("StoreAccountPhone",StoreAccountPhone=new Model("StoreAccountPhone",["accountID","phoneNumberE64"],{},{name:"store_account_phones",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:200}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"}]}));modelEntitySchemas["StoreAccountPhone"]=StoreAccountPhone;_export("StorePaymentGatewayPaymentGatewayArray",StorePaymentGatewayPaymentGatewayArray=[{label:"paypal",value:"paypal"},{label:"phone-pe",value:"phone-pe"},{label:"stripe",value:"stripe"}]);_export("StorePaymentGateway",StorePaymentGateway=new Model("StorePaymentGateway",["accountID"],{isGatewayActive:false,isDefault:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"store_payment_gateways",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"paymentGateway",type:"string",dataType:"Char",length:50,default:["paymentGateway",'"paypal"']},{name:"isGatewayActive",type:"boolean",dataType:"Boolean",default:["isGatewayActive","false"]},{name:"isDefault",type:"boolean",dataType:"Boolean",default:["isDefault","false"]},{name:"merchantID",type:"string",dataType:"Char",length:400,default:["merchantID",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"accessID",type:"string",dataType:"Char",default:["accessID",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"clientID",type:"string",dataType:"Char",default:["clientID",'""']},{name:"saltIndex",type:"string",dataType:"Char",length:50,default:["saltIndex",'""']},{name:"encryptedSalt",type:"string",dataType:"Char",length:400,default:["encryptedSalt",'""']},{name:"encryptedSecret",type:"string",dataType:"Char",default:["encryptedSecret",'""']},{name:"country",type:"string",dataType:"Char",length:20,default:["country",'""']},{name:"currency",type:"string",dataType:"Char",length:20,default:["currency",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"}]}));modelEntitySchemas["StorePaymentGateway"]=StorePaymentGateway;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournalStatusArray",StoreJournalStatusArray=[{label:"new",value:"new"},{label:"paid",value:"paid"},{label:"draft",value:"draft"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"new",total:0,balance:0,taxExempt:false},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",dataType:"AsciiChar",length:50,default:["journalType",'"order"']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"posted",type:"boolean",dataType:"Boolean",default:["posted","false"]},{name:"status",type:"string",dataType:"Char",length:50,default:["status",'"new"']},{name:"sellerID",type:"number",dataType:"BigInt"},{name:"buyerID",type:"number",dataType:"BigInt"},{name:"buyerBillingAddressID",type:"number",dataType:"BigInt"},{name:"buyerShippingAddressID",type:"number",dataType:"BigInt"},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"referenceID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"},{name:"taxExempt",type:"boolean",dataType:"Boolean",default:["taxExempt","false"]},{name:"taxExemptNotes",type:"string",dataType:"Char",default:["taxExemptNotes",'""']},{name:"taxExemptTaxID",type:"string",dataType:"Char",default:["taxExemptTaxID",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyerBillingAddress",fkMap:[{fk:"buyerBillingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"buyerShippingAddress",fkMap:[{fk:"buyerShippingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"orderCoupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"accountID",type:"number",dataType:"BigInt"},{name:"credit",type:"number",dataType:"Decimal",default:["credit","0"]},{name:"debit",type:"number",dataType:"Decimal",default:["debit","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"lineItemID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{price:0,discountPercentage:0,discount:0,priceAfterDiscount:0,couponDiscount:0,quantity:0,amount:0,taxes:0,total:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"itemID",type:"number",dataType:"BigInt"},{name:"itemPriceID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"discountPercentage",type:"number",dataType:"Decimal",default:["discountPercentage","0"]},{name:"discount",type:"number",dataType:"Decimal",default:["discount","0"]},{name:"priceAfterDiscount",type:"number",dataType:"Decimal",default:["priceAfterDiscount","0"]},{name:"couponDiscount",type:"number",dataType:"Decimal",default:["couponDiscount","0"]},{name:"quantity",type:"number",dataType:"Decimal",default:["quantity","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"taxes",type:"number",dataType:"Decimal",default:["taxes","0"]},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"itemType",type:"string",dataType:"Char",length:50,default:["itemType",'"product"']},{name:"hide",type:"boolean",dataType:"Boolean",default:["hide","false"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"sourceID",type:"number",dataType:"BigInt"},{name:"taxForID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFor",fkMap:[{fk:"taxForID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTax",StoreItemTax=new Model("StoreItemTax",["storeItemID","taxItemID"],{inclusive:false,print:false},{name:"store_item_taxes",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"taxItemID",type:"number",dataType:"BigInt"}],properties:[{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"print",type:"boolean",dataType:"Boolean",default:["print","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"taxItem",fkMap:[{fk:"taxItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreItemTax"]=StoreItemTax;_export("StoreTag",StoreTag=new Model("StoreTag",["storeID","tagID"],{count:0},{name:"store_tags",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreTag"]=StoreTag;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"tagValue",type:"string",dataType:"Char",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime)),storage:0,maxStorage:0,maxWebSites:0,maxExternalInboxes:0,maxChildUsers:0},{name:"users",keys:[{name:"userID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userName",type:"string",dataType:"Char",length:200,default:["userName",'""']},{name:"displayName",type:"string",dataType:"Char",length:200,default:["displayName",'""']},{name:"passwordHash",type:"string",dataType:"Char",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",dataType:"Char",length:20,default:["passwordSalt",'""']},{name:"status",type:"string",dataType:"AsciiChar",length:15,default:["status",'"active"']},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",dataType:"Boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"maxWebSites",type:"number",dataType:"BigInt",default:["maxWebSites","0"]},{name:"maxExternalInboxes",type:"number",dataType:"BigInt",default:["maxExternalInboxes","0"]},{name:"maxChildUsers",type:"number",dataType:"BigInt",default:["maxChildUsers","0"]},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"userID"}],relatedName:"User"},{name:"children",isCollection:true,isInverse:true,relatedName:"User"},{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"storeAccount",isCollection:false,isInverse:true,relatedName:"StoreAccount"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"hostedZones",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}]}));modelEntitySchemas["User"]=User;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"notify",type:"boolean",dataType:"Boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"roleName",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"},{label:"otp-in",value:"otp-in"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"method",type:"string",dataType:"Char",length:10,default:["method",'"totp"']},{name:"secret",type:"string",dataType:"Char",default:["secret",'""']},{name:"hint",type:"string",dataType:"Char",length:100,default:["hint",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:20,default:["phoneNumber",'""']},{name:"isdCode",type:"string",dataType:"Char",length:20,default:["isdCode",'""']},{name:"verificationID",type:"number",dataType:"BigInt"},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSite",WebSite=new Model("WebSite",["folderID"],{isStatic:false,isTemplate:false,storeEnabled:false,isModified:false,snapshotStorage:0,currency:""},{name:"web_sites",keys:[{name:"folderID",type:"number",dataType:"BigInt"}],properties:[{name:"currentVersionID",type:"number",dataType:"BigInt"},{name:"isStatic",type:"boolean",dataType:"Boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",dataType:"Boolean",default:["isTemplate","false"]},{name:"storeEnabled",type:"boolean",dataType:"Boolean",default:["storeEnabled","false"]},{name:"isModified",type:"boolean",dataType:"Boolean",default:["isModified","false"]},{name:"snapshotStorage",type:"number",dataType:"BigInt",default:["snapshotStorage","0"]},{name:"supportEmail",type:"string",dataType:"Char",length:200,default:["supportEmail",'""']},{name:"fromEmail",type:"string",dataType:"Char",length:200,default:["fromEmail",'""']},{name:"currency",type:"string",dataType:"Char",length:10,default:["currency",'""']}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"},{name:"channelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{templates:"external"}}));modelEntitySchemas["WebSite"]=WebSite;_export("WebSiteHost",WebSiteHost=new Model("WebSiteHost",["host"],{},{name:"web_site_hosts",keys:[{name:"host",type:"string",dataType:"Char",length:200}],properties:[{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["WebSiteHost"]=WebSiteHost;_export("WebSiteVersion",WebSiteVersion=new Model("WebSiteVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_versions",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"snapshotFolderID",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"authorID",type:"number",dataType:"BigInt"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteVersion"]=WebSiteVersion;_export("WebSiteChannelDomain",WebSiteChannelDomain=new Model("WebSiteChannelDomain",["folderID","domainID"],{},{name:"web_site_channel_domains",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["WebSiteChannelDomain"]=WebSiteChannelDomain;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"channelID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"start",type:"DateTime",dataType:"DateTimeOffset",default:["start","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"invalid",type:"boolean",dataType:"Boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'""']},{name:"deviceToken",type:"string",dataType:"AsciiChar",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",dataType:"AsciiChar",length:50,default:["deviceTokenType",'""']},{name:"verificationID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}],queries:{currentUser:"external"}}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number",dataType:"BigInt"}],properties:[{name:"searchable",type:"string",dataType:"Char",default:["searchable",'""']}],relations:[{name:"fileContent",fkMap:[{fk:"textDocumentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("IncomingSmsSource",IncomingSmsSource=new Model("IncomingSmsSource",["textInSourceID"],{name:"",isdPrefix:"",phoneNumber:"",dateUpdated:new DefaultFactory((()=>new DateTime)),countryCode:""},{name:"incoming_sms_source",keys:[{name:"textInSourceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"username",type:"string",dataType:"Char",default:["username",'""']},{name:"encryptedPassword",type:"string",dataType:"Char",default:["encryptedPassword",'""']},{name:"isdPrefix",type:"string",dataType:"Char",default:["isdPrefix",'""']},{name:"keyword",type:"string",dataType:"Char",default:["keyword",'""']},{name:"phoneNumber",type:"string",dataType:"Char",default:["phoneNumber",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"countryCode",type:"string",dataType:"Char",length:20,default:["countryCode",'""']}],relations:[]}));modelEntitySchemas["IncomingSmsSource"]=IncomingSmsSource;_export("VerificationTokenTypeArray",VerificationTokenTypeArray=[{label:"email",value:"email"},{label:"sms",value:"sms"},{label:"captcha",value:"captcha"},{label:"totp",value:"totp"}]);_export("VerificationToken",VerificationToken=new Model("VerificationToken",["verificationID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiry:new DefaultFactory((()=>new DateTime)),verified:false,accessCode:"",type:"email"},{name:"verification_tokens",keys:[{name:"verificationID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:200,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt",default:["userID","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"code",type:"string",dataType:"Char",length:20,default:["code",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"externalConfig",type:"string",dataType:"Char",default:["externalConfig",'""']},{name:"type",type:"string",dataType:"AsciiChar",length:50,default:["type",'"email"']},{name:"webSiteFolderID",type:"number",dataType:"BigInt",default:["webSiteFolderID","0"]}],relations:[{name:"loginSessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"VerificationTokenAddress"}],queries:{get:"external"},actions:{resendCode:"external",verifyCode:"external",login:"external"}}));modelEntitySchemas["VerificationToken"]=VerificationToken;_export("VerificationTokenAddress",VerificationTokenAddress=new Model("VerificationTokenAddress",["verificationID","address"],{},{name:"verification_token_addresses",keys:[{name:"verificationID",type:"number",dataType:"BigInt"},{name:"address",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["VerificationTokenAddress"]=VerificationTokenAddress;_export("EmailAddressName",EmailAddressName=new Model("EmailAddressName",["nameTokenID","emailAddressID"],{},{name:"email_address_names",keys:[{name:"nameTokenID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"nameToken",fkMap:[{fk:"nameTokenID",relatedKey:"nameTokenID"}],relatedName:"NameToken"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailAddressName"]=EmailAddressName;_export("ThreadParticipant",ThreadParticipant=new Model("ThreadParticipant",["emailID","emailAddressID"],{unsubscribed:false},{name:"thread_participants",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"unsubscribed",type:"boolean",dataType:"Boolean",default:["unsubscribed","false"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["ThreadParticipant"]=ThreadParticipant;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",label:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"label",type:"string",dataType:"Char",length:200,default:["label",'""']},{name:"lowerCaseName",type:"string",generated:"computed",dataType:"Char",length:200},{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isSystemTag",type:"boolean",dataType:"Boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",dataType:"Char",default:["contentTypes",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxFolders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"mailboxTags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"storeItemFolderTags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"},{name:"storeTags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}]}));modelEntitySchemas["Tag"]=Tag;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled,BusyProgress,css,container,stack;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
101
|
+
`.withId("global-styles").withOrder("medium").installGlobal()}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/GlobalStyle");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;if((_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancelled){return}asyncState.token=undefined;(_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export("RootObject",void 0);return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}};XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);_export("default",XNode);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{dispose(){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}static installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.busyIndicators=[];this.readyHandlers=[];this.onError=error=>{console.log(error)};this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){App_1.installStyleSheet(ssConfig)}installScript(location){return App_1.installScript(location)}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){if(this.invokeReadyHandler){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator.dispose()}));a.catch((e=>{indicator.dispose();console.error(typeof e==="string"?e:JSON.stringify(e))}));return}indicator.dispose()}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,visitDescendents,refreshInherited,watchProperty,setValue;return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("visitDescendents",visitDescendents=(element,action)=>{for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}visitDescendents(iterator,action)}});_export("refreshInherited",refreshInherited=(target,name,fieldName)=>{AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){refreshInherited(ac,name,fieldName)}return false}return true}))});_export("watchProperty",watchProperty=(element,name,events,f)=>{if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}});_export("setValue",setValue=(element,name,value)=>{element[name]=value})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Hacks");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["tslib","../App","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./Hacks","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,visitDescendents,watchProperty,InheritedProperty,PropertyMap,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,localBindSymbol,localXNodeSymbol,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_Hacks){visitDescendents=_Hacks.visitDescendents;watchProperty=_Hacks.watchProperty},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this.creator||this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){element[name]=value}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}pushInit(){this.runAfterInit((()=>{var _c,_d,_e;(_e=(_d=(_c=this).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>CancelToken.isCancelled(error)?void 0:console.error(error)))}))}});_a=isControl;_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.msDays=exports.msHours=exports.msSeconds=exports.msMinutes=void 0;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}exports.msMinutes=6e4;exports.msSeconds=1e3;exports.msHours=36e5;exports.msDays=24*exports.msHours;const daysPerMS=1/exports.msDays;const hoursPerMS=1/exports.msHours;const minutesPerMS=1/exports.msMinutes;const secondsPerMS=1/exports.msSeconds;function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}class TimeSpan{static fromDays(n){return new TimeSpan(n*exports.msDays)}static fromHours(n){return new TimeSpan(n*exports.msHours)}static fromMinutes(n){return new TimeSpan(n*exports.msMinutes)}static fromSeconds(n){return new TimeSpan(n*exports.msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/exports.msDays)}get hours(){return Math.floor(this.msSinceEpoch/exports.msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/exports.msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/exports.msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%exports.msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*exports.msDays+(hours||0)*exports.msHours+(minutes||0)*exports.msMinutes+(seconds||0)*exports.msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(exports.msDays);format(exports.msHours,formatAs12&&!d);format(exports.msMinutes);let s=format(exports.msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}}exports.default=TimeSpan;if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./TimeSpan"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const TimeSpan_1=require("./TimeSpan");class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan_1.default.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan_1.default(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan_1.default){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan_1.default(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}}exports.default=DateTime;DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}if(this.optional){return`(/?(?<${this.variable}>[^\\/]+))?`}return`/${StringHelper.escapeRegExp(this.prefix)}(?<${this.variable}>[^\\/]{1,500})${StringHelper.escapeRegExp(this.suffix)}`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.prefix="";this.suffix="";this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}const match=/\{(\*?[\p{L}:]{1,50}\??)\}/u.exec(iterator);if(!match){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}const start=match.index;const index=match[0].length;const name=match[1];const prefix=iterator.substring(0,start);const suffix=iterator.substring(index+1);const v=new Variable(name);v.prefix=prefix;v.suffix=suffix;regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.href),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){if(this.routePrefix){if(!route.startsWith(this.routePrefix)){route=this.routePrefix+route}}cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}};Command.routePrefix="";Command.registry=new Map;Command.routes=[];_export("default",Command);_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["tslib","../../core/AtomBinder","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/Hacks","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomComponent,BindableProperty,Command,FormattedString,refreshInherited,visitDescendents,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,defaultStyleSheets,ElementValueSetters,propertyId,getSelection,body,html;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreHacks){refreshInherited=_coreHacks.refreshInherited;visitDescendents=_coreHacks.visitDescendents},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){setTimeout((()=>requestAnimationFrame((()=>ie.focus()))),100)}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("attr-")){if(value===null){element.removeAttribute(name.substring(5));return}element.setAttribute(name.substring(5),value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};body=document.body;html=body.parentElement;window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;if(originalTarget===html){return}let clickEvent;while(start&&start!==body){clickEvent||(clickEvent=start.getAttribute("data-click-event"));if(start.tagName==="A"){if(!clickEvent){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}if(targetElement===void 0&&srcElement){target[key]=srcElement;continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,FetchBuilder,JsonError;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static url(url){return this.method(url,"GET")}static header(name,value){return new FetchBuilder({headers:{url:"",method:"POST",[name]:value}})}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}log(logger){return this.append({log:logger})}logWhenFailed(logger){return this.append({logError:logger})}get(url){return this.method(url,"GET")}put(url){return this.method(url,"PUT")}post(url){return this.method(url,"POST")}delete(url){return this.method(url,"DELETE")}method(url,method){return this.append({url,method})}signal(signal){if(!signal){return this}return this.append({signal})}cancelToken(ct){if(!ct){return this}const ac=new AbortController;const signal=ac.signal;ct.registerForCancel((()=>ac.abort()));return this.signal(signal)}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}asText(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asTextResponse(ensureSuccess);return result}))}asBlob(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asBlobResponse(ensureSuccess);return result}))}asJson(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asJsonResponse(ensureSuccess);return result}))}jsonPostProcessor(jsonPostProcessor){return this.append({jsonPostProcessor})}asJsonResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,((x,jsonPostProcessor)=>__awaiter(this,void 0,void 0,(function*(){if(!/json/i.test(x.headers.get("content-type"))){throw new Error(`Failed to parse json from ${this.request.url}\n${yield x.text()}`)}if(jsonPostProcessor){return x.json().then(jsonPostProcessor)}return x.json()}))))}))}asTextResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.text()))}))}asBlobResponse(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.blob()))}dispatcher(dispatcher){return this.append({dispatcher})}withFetchProxy(fetchProxy){return this.append({fetchProxy})}execute(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true,postProcessor){var _a,_b,_c,_d,_e,_f;let{log,logError}=this.request;try{const{headers,fetchProxy,jsonPostProcessor}=this.request;const r=yield(fetchProxy!==null&&fetchProxy!==void 0?fetchProxy:fetch)(this.request.url,this.request);if(ensureSuccess){if(r.status>300){log=logError;log===null||log===void 0?void 0:log(`fetch: ${(_a=this.request.method)!==null&&_a!==void 0?_a:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}log===null||log===void 0?void 0:log(`${r.status} ${r.statusText||"Http Error"}`);const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();log===null||log===void 0?void 0:log(json);const message=(_e=(_d=(_c=(_b=json.title)!==null&&_b!==void 0?_b:json.detail)!==null&&_c!==void 0?_c:json.message)!==null&&_d!==void 0?_d:json.exceptionMessage)!==null&&_e!==void 0?_e:"Json Server Error";log=null;logError=null;throw new JsonError(message,json)}const text=yield r.text();log===null||log===void 0?void 0:log(text);log=null;logError=null;throw new Error(`Fetch failed with error ${r.status} for ${this.request.url}\n${text}`)}}log===null||log===void 0?void 0:log(`${(_f=this.request.method)!==null&&_f!==void 0?_f:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}const result=yield postProcessor(r,jsonPostProcessor);if(log){log(`${r.status} ${r.statusText||"OK"}`);log(result)}return{result,headers:r.headers,status:r.status}}catch(error){log===null||log===void 0?void 0:log(error);throw error}}))}append(r){let{url}=this.request;const{url:newUrl}=r;if(newUrl){if(!url){url=newUrl}else{if(/^https?\:\/\//i.test(newUrl)){url=newUrl}else{url=new URL(newUrl,url).toString()}}}return new FetchBuilder(Object.assign(Object.assign(Object.assign({},this.request),r),{url}))}});JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}};FetchBuilder.JsonError=JsonError}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","./StringHelper","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,StringHelper,FetchBuilder,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_StringHelper){StringHelper=_StringHelper.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(){return __awaiter(this,arguments,void 0,(function*(p={}){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray(){return __awaiter(this,arguments,void 0,(function*({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList(){return __awaiter(this,arguments,void 0,(function*({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,cacheImmutable=cacheSeconds>0,count=true,expandable}={}){const env_1={stack:[],error:void 0,hasError:false};try{let url;const{traceQuery,name,service,queryFunction,args}=this.context;const busy=__addDisposableResource(env_1,service.createBusyIndicator(hideActivityIndicator),false);const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}if(expandable){fm.append("expandable","1")}const encodedMethods=fm.toString();let result;if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;result=yield FetchBuilder.post(url).cancelToken(cancelToken).jsonBody({methods:this.methods,start,size,split:splitInclude,count,trace,expandable:expandable?1:void 0,function:queryFunction||void 0,args:queryFunction?args:void 0}).asJson();result=service.resultConverter(result);return result}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion);if(!cacheImmutable){fm.append("cacheImmutable","false")}}else{}url=`${service.url}query/${name}?${fm.toString()}`;result=yield FetchBuilder.get(url).cancelToken(cancelToken).asJson();return service.resultConverter(result)}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store.get(this.head)}enqueue(item){this.store.set(this.tail,item);this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store.get(head);this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register(["tslib","./Queue"],(function(_export,_context){"use strict";var __awaiter,Queue,TaskManager,sleep;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_Queue){Queue=_Queue.default}],execute:function(){sleep=n=>new Promise((r=>setTimeout(r,n)));_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}queueRun(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));pr.catch((error=>console.error(error)));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}runAfterEnd(fx){(()=>__awaiter(this,void 0,void 0,(function*(){for(;;){yield sleep(100);if(this.running.size>0){continue}yield sleep(10);if(this.running.size>0){continue}break}fx()})))().catch(console.error)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","../models/Cloner","../models/IEntityModel","./mergeProperties","./Query","./resolve","../models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,Cloner,EntityContext,mergeProperties,Query,resolve,TaskManager,FetchBuilder,DefaultFactory,Model,BaseEntityService,_a,_b,_c,_d,ArrayPrototype,orderBy,orderByDescending;_export({DefaultFactory:void 0,Model:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");ArrayPrototype=Array.prototype;orderBy=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};orderByDescending=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};Object.defineProperties(ArrayPrototype,{where:{enumerable:false,value:ArrayPrototype.filter,configurable:true},any:{enumerable:false,value:ArrayPrototype.some,configurable:true},select:{enumerable:false,value:ArrayPrototype.map,configurable:true},selectMany:{enumerable:false,value(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r},configurable:true},firstOrDefault:{enumerable:false,value(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]},configurable:true},sum:{enumerable:false,value(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n},configurable:true},average:{enumerable:false,value(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length},configurable:true},orderBy:{enumerable:false,value:orderBy,configurable:true},thenBy:{enumerable:false,value:orderBy,configurable:false},orderByDescending:{enumerable:false,value:orderByDescending,configurable:true},thenByDescending:{enumerable:false,value:orderByDescending,configurable:false},count:{enumerable:false,value(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length},configurable:false}});_export("DefaultFactory",DefaultFactory=class DefaultFactory{constructor(factory){this.factory=factory}});_export("Model",Model=class Model{constructor(name,keys=[],defaults=null,schema=null){this.name=name;this.keys=keys;this.schema=schema;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){if(value instanceof DefaultFactory){properties[key]=value.factory()}else{properties[key]=value}}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends TaskManager{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{if(this.entityModel){return this.entityModel}const busy=__addDisposableResource(env_1,this.createBusyIndicator(false),false);const c=yield FetchBuilder.get(`${this.url}model`).asJson();this.entityModel=new EntityContext(c);return this.entityModel}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}delete(body){return __awaiter(this,void 0,void 0,(function*(){const env_2={stack:[],error:void 0,hasError:false};try{const busy=__addDisposableResource(env_2,this.createBusyIndicator(false),false);const url=this.url;return yield FetchBuilder.delete(url).jsonBody(body).asJson()}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}insert(body){return __awaiter(this,void 0,void 0,(function*(){const env_3={stack:[],error:void 0,hasError:false};try{const busy=__addDisposableResource(env_3,this.createBusyIndicator(false),false);const url=this.url;const result=yield FetchBuilder.put(url).jsonBody(body).asJson();return this.resultConverter(result)}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}invoke(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_4={stack:[],error:void 0,hasError:false};try{const busy=__addDisposableResource(env_4,this.createBusyIndicator(false),false);const entity={$type:m.name};for(const key of m.schema.keys){entity[key.name]=argEntity[key.name]}const result=yield FetchBuilder.post(`${this.url}invoke/${entity.$type}/${method}`).jsonBody({entity,args}).asJson();return this.resultConverter(result)}catch(e_4){env_4.error=e_4;env_4.hasError=true}finally{__disposeResources(env_4)}}))}buildRunUrl(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const{$type,$key}=argEntity;if(!$key){throw new Error(`Run requires encrypted $key`)}const usp=new URLSearchParams;usp.append("key",$key);if(args){usp.append("args",JSON.stringify(args))}if(cacheSeconds){usp.append("cache",cacheSeconds.toString())}if(cacheVersion){usp.append("cv",cacheVersion)}return`${this.url}run/${$type}/${method}?${usp.toString()}`}run(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const url=this.buildRunUrl(m,method,argEntity,{args,cacheSeconds,cacheVersion});return FetchBuilder.get(url).jsonPostProcessor(this.resultConverter)}save(body,cloner,trace){return __awaiter(this,void 0,void 0,(function*(){const env_5={stack:[],error:void 0,hasError:false};try{if(Array.isArray(body)&&body.length===0){return body}const busy=__addDisposableResource(env_5,this.createBusyIndicator(false),false);let url=this.url;if(body instanceof Cloner){body=body.copy}if(trace){const hasQuery=url.includes("?");if(hasQuery){url=url+="&trace=true"}else{url=url+="?trace=true"}}if(cloner){if(Array.isArray(body)){body=body.map((x=>cloner(new Cloner(x)).copy))}else{const c=cloner(new Cloner(body));body=c.copy}}let result=yield FetchBuilder.post(url).jsonBody(body).asJson();result=this.resultConverter(result);mergeProperties(result,body);return body}catch(e_5){env_5.error=e_5;env_5.hasError=true}finally{__disposeResources(env_5)}}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities_1,update_1){return __awaiter(this,arguments,void 0,(function*(entities,update,throwWhenNotFound=false){const env_6={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_6,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;let results=yield FetchBuilder.post(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_6){env_6.error=e_6;env_6.hasError=true}finally{__disposeResources(env_6)}}))}bulkDelete(entities_1){return __awaiter(this,arguments,void 0,(function*(entities,throwWhenNotFound=false){const env_7={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_7,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};let results=yield FetchBuilder.delete(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_7){env_7.error=e_7;env_7.hasError=true}finally{__disposeResources(env_7)}}))}createBusyIndicator(hideActivityIndicator=false){return{[Symbol.dispose](){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,WebHookEventTypeArray,WebHookHttpVerbArray,WebHook,WebHookEvent,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,HostedZone,HostedZoneRecordTypeArray,HostedZoneRecord,HostedZoneUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEvent,MailboxFolder,MailboxContactEmail,MailboxContactTag,MailboxTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,NameToken,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,StoreConfig,StoreItemItemTypeArray,StoreItemItemUnitTypeArray,StoreItem,StoreCouponTypeArray,StoreCoupon,StoreJournalCoupon,StoreItemFolder,StoreItemFolderTag,StoreItemPrice,StorePaymentAttempt,StoreMediaFile,StoreInsight,StoreAccount,StoreAccountAddress,StoreAccountEmail,StoreAccountPhone,StorePaymentGatewayPaymentGatewayArray,StorePaymentGateway,StoreJournalJournalTypeArray,StoreJournalStatusArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTax,StoreTag,StoreItemTag,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSite,WebSiteHost,WebSiteVersion,WebSiteChannelDomain,WebSiteChannel,LoginSession,TextDocument,IncomingSmsSource,VerificationTokenTypeArray,VerificationToken,VerificationTokenAddress,EmailAddressName,ThreadParticipant,Tag,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string",dataType:"Char",length:100}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentDisposition",type:"string",dataType:"AsciiChar",length:10,default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",dataType:"Char",default:["contentID",'""']},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"creatorID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",dataType:"Boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",dataType:"Int",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSite"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSite"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],queries:{storeItemFiles:"external",channelEmailFiles:"external",channelFiles:"external",children:"external",templateSnapshot:"external"}}));modelEntitySchemas["AppFile"]=AppFile;_export("WebHookEventTypeArray",WebHookEventTypeArray=[{label:"email-received",value:"email-received"},{label:"order-paid",value:"order-paid"}]);_export("WebHookHttpVerbArray",WebHookHttpVerbArray=[{label:"POST",value:"POST"},{label:"GET",value:"GET"}]);_export("WebHook",WebHook=new Model("WebHook",["webHookID"],{eventType:"email-received",name:"",url:"",httpVerb:"POST",lastEvent:""},{name:"web_hooks",keys:[{name:"webHookID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"eventType",type:"string",dataType:"Char",length:50,default:["eventType",'"email-received"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"httpVerb",type:"string",dataType:"Char",length:20,default:["httpVerb",'"POST"']},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"lastEvent",type:"string",dataType:"Char",length:50,default:["lastEvent",'""']},{name:"lastEventTime",type:"DateTime",dataType:"DateTime",default:["lastEventTime","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"events",isCollection:true,isInverse:true,relatedName:"WebHookEvent"}]}));modelEntitySchemas["WebHook"]=WebHook;_export("WebHookEvent",WebHookEvent=new Model("WebHookEvent",["webHookEventID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"web_hook_events",keys:[{name:"webHookEventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"webHookID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"number",dataType:"Int",default:["status","0"]},{name:"response",type:"string",dataType:"Char",length:400,default:["response",'""']},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"webHook",fkMap:[{fk:"webHookID",relatedKey:"webHookID"}],relatedName:"WebHook"}]}));modelEntitySchemas["WebHookEvent"]=WebHookEvent;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"secret",type:"string",dataType:"Char",length:400,default:["secret",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",dataType:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"sessionID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"folderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["fileID","userID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"app_file_access",keys:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:10}],properties:[{name:"accessCode",type:"string",dataType:"Char",length:200,default:["accessCode",'""']},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contentHash",type:"string",dataType:"AsciiChar",length:200,default:["contentHash",'""']},{name:"cloudPath",type:"string",dataType:"Char",length:450,default:["cloudPath",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentSize",type:"number",dataType:"BigInt",default:["contentSize","0"]},{name:"compression",type:"string",dataType:"Char",length:10,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number",dataType:"BigInt",default:["textDocumentID","0"]},{name:"deleted",type:"boolean",dataType:"Boolean",default:["deleted","false"]}],relations:[{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"textDocument",isCollection:false,isInverse:true,relatedName:"TextDocument"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string",dataType:"Char",length:200}],properties:[{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",length:200,default:["description",'""']},{name:"companyID",type:"string",dataType:"Char",length:200,default:["companyID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"synchronization",type:"string",dataType:"Char",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number",dataType:"BigInt"},{name:"billingAddressID",type:"number",dataType:"BigInt"},{name:"shippingAddressID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:50}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:200,default:["type",'""']},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"valuesJson",type:"string",dataType:"Char",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID"],{keyHash:"",key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"keyHash",type:"string",dataType:"Char",length:450,default:["keyHash",'""']},{name:"key",type:"string",dataType:"Char",default:["key",'""']},{name:"expiry",type:"DateTime",dataType:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",dataType:"Boolean",default:["ready","false"]},{name:"slide",type:"boolean",dataType:"Boolean",default:["slide","false"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"received",type:"number",dataType:"Int",default:["received","0"]},{name:"failed",type:"number",dataType:"Int",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"hostedZone",isCollection:false,isInverse:true,relatedName:"HostedZone"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}]}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,maxSendPerSecond:0},{name:"hosted_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"}],properties:[{name:"enableReceive",type:"boolean",dataType:"Boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",dataType:"Boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",dataType:"Boolean",default:["useRelay","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"aliasForName",type:"string",dataType:"Char",length:200}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteChannelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"}]}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[{name:"prefix",type:"string",dataType:"Char",length:20,default:["prefix",'""']},{name:"isAdmin",type:"boolean",dataType:"Boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",dataType:"Boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_export("HostedZone",HostedZone=new Model("HostedZone",["zoneID"],{dnsHosted:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"hosted_zones",keys:[{name:"zoneID",type:"number",dataType:"BigInt"}],properties:[{name:"dnsHosted",type:"boolean",dataType:"Boolean",default:["dnsHosted","false"]},{name:"unsigned",type:"string",dataType:"Char",default:["unsigned",'""']},{name:"digest",type:"string",dataType:"Char",default:["digest",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"dateSigned",type:"DateTime",dataType:"DateTime",default:["dateSigned","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"domain",fkMap:[{fk:"zoneID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"records",isCollection:true,isInverse:true,relatedName:"HostedZoneRecord"},{name:"users",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"}],actions:{updateHosting:"external"}}));modelEntitySchemas["HostedZone"]=HostedZone;_export("HostedZoneRecordTypeArray",HostedZoneRecordTypeArray=[{label:"A",value:"A"},{label:"AAAA",value:"AAAA"},{label:"CNAME",value:"CNAME"},{label:"MX",value:"MX"},{label:"TXT",value:"TXT"},{label:"PTR",value:"PTR"},{label:"SRV",value:"SRV"},{label:"CAA",value:"CAA"},{label:"NS",value:"NS"},{label:"SOA",value:"SOA"}]);_export("HostedZoneRecord",HostedZoneRecord=new Model("HostedZoneRecord",["recordID"],{disabled:false,readonly:false,name:"",type:"A",isAlias:false,value:"",ttl:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),hosted:false},{name:"hosted_zone_records",keys:[{name:"recordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"disabled",type:"boolean",dataType:"Boolean",default:["disabled","false"]},{name:"readonly",type:"boolean",dataType:"Boolean",default:["readonly","false"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"type",type:"Object",dataType:"Char",length:15,default:["type",'"A"']},{name:"isAlias",type:"boolean",dataType:"Boolean",default:["isAlias","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"ttl",type:"number",dataType:"Int",default:["ttl","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"expiryDate",type:"DateTime",dataType:"DateTimeOffset",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"hosted",type:"boolean",dataType:"Boolean",default:["hosted","false"]},{name:"fqdn",type:"string",dataType:"Char",default:["fqdn",'""']}],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"}]}));modelEntitySchemas["HostedZoneRecord"]=HostedZoneRecord;_export("HostedZoneUser",HostedZoneUser=new Model("HostedZoneUser",["zoneID","userID"],{},{name:"hosted_zone_users",keys:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["HostedZoneUser"]=HostedZoneUser;_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"AsciiChar",length:20,default:["type",'"smtp"']},{name:"host",type:"string",dataType:"Char",length:400,default:["host",'""']},{name:"username",type:"string",dataType:"Char",length:100,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:100,default:["password",'""']},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"script",type:"string",dataType:"Char",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"keyType",type:"string",dataType:"Char",length:20,default:["keyType",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"privateKey",type:"string",dataType:"Char",default:["privateKey",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"},{label:"closed",value:"closed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,hasUnsubscribe:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,engagementCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"subject",type:"string",dataType:"Char",default:["subject",'""']},{name:"summary",type:"string",dataType:"Char",length:200,default:["summary",'""']},{name:"textBody",type:"string",dataType:"Char",default:["textBody",'""']},{name:"htmlBody",type:"string",dataType:"Char",default:["htmlBody",'""']},{name:"senderName",type:"string",dataType:"Char",default:["senderName",'""']},{name:"senderID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"received",type:"boolean",dataType:"Boolean",default:["received","false"]},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"hasUnsubscribe",type:"boolean",dataType:"Boolean",default:["hasUnsubscribe","false"]},{name:"headerMessageID",type:"string",dataType:"Char",default:["headerMessageID",'""']},{name:"inReplyTo",type:"string",dataType:"Char",default:["inReplyTo",'""']},{name:"externalEmailID",type:"string",dataType:"Char",length:200,default:["externalEmailID",'""']},{name:"dateReceived",type:"DateTime",dataType:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",dataType:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'"queued"']},{name:"forwardCount",type:"number",dataType:"Int",default:["forwardCount","0"]},{name:"replyCount",type:"number",dataType:"Int",default:["replyCount","0"]},{name:"viewCount",type:"number",dataType:"Int",default:["viewCount","0"]},{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"mimeFileID",type:"number",dataType:"BigInt"},{name:"sentMessageID",type:"string",dataType:"Char",length:200,default:["sentMessageID",'""']},{name:"htmlBodyID",type:"number",dataType:"BigInt"},{name:"emailSize",type:"number",dataType:"BigInt",default:["emailSize","0"]},{name:"originalFileSize",type:"number",dataType:"Int",default:["originalFileSize","0"]},{name:"workflowID",type:"string",dataType:"Char",length:400,default:["workflowID",'""']},{name:"parentID",type:"number",dataType:"BigInt"},{name:"threadID",type:"number",dataType:"BigInt"},{name:"forwardedID",type:"number",dataType:"BigInt"},{name:"lastReplyID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"tags",type:"string",dataType:"Char",default:["tags",'""']},{name:"stateReferencesUpdated",type:"boolean",dataType:"Boolean",default:["stateReferencesUpdated","false"]},{name:"statePostReceiveInvoked",type:"boolean",dataType:"Boolean",default:["statePostReceiveInvoked","false"]}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"thread",fkMap:[{fk:"threadID",relatedKey:"emailID"}],relatedName:"Email"},{name:"threadChildren",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"lastReply",fkMap:[{fk:"lastReplyID",relatedKey:"emailID"}],relatedName:"Email"},{name:"lastRepliedThreads",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"mailboxContactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"threadContacts",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}],queries:{channelEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"fileName",type:"string",dataType:"Char",length:200,default:["fileName",'""']},{name:"fileSize",type:"number",dataType:"Int",default:["fileSize","0"]},{name:"compression",type:"string",dataType:"Char",length:20,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"},{label:"unsubscribed",value:"unsubscribed"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"},{name:"email_recipients",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:20,default:["type",'"from"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"dateSent",type:"DateTime",dataType:"DateTimeOffset",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'""']},{name:"replyTo",type:"string",dataType:"Char",length:400,default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailAddress",type:"string",dataType:"Char",length:400,default:["emailAddress",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"names",isCollection:true,isInverse:true,relatedName:"EmailAddressName"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,openThreads:0,totalThreads:0,unread:0,isExternal:false,maxSendPerSecond:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,nonMembersCanPost:false,nonMembersCanComment:false,nonMembersCanReact:false,requiresMembershipApproval:false,requiresPostModeration:false,requiresCommentModeration:false,requiresSignup:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",dataType:"Boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",dataType:"Boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"logoID",type:"number",dataType:"BigInt"},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",dataType:"Boolean",default:["isChannel","false"]},{name:"isPrivateChannel",type:"boolean",dataType:"Boolean",default:["isPrivateChannel","false"]},{name:"nonMembersCanPost",type:"boolean",dataType:"Boolean",default:["nonMembersCanPost","false"]},{name:"nonMembersCanComment",type:"boolean",dataType:"Boolean",default:["nonMembersCanComment","false"]},{name:"nonMembersCanReact",type:"boolean",dataType:"Boolean",default:["nonMembersCanReact","false"]},{name:"requiresMembershipApproval",type:"boolean",dataType:"Boolean",default:["requiresMembershipApproval","false"]},{name:"requiresPostModeration",type:"boolean",dataType:"Boolean",default:["requiresPostModeration","false"]},{name:"requiresCommentModeration",type:"boolean",dataType:"Boolean",default:["requiresCommentModeration","false"]},{name:"requiresSignup",type:"boolean",dataType:"Boolean",default:["requiresSignup","false"]},{name:"subscriberCount",type:"number",dataType:"Int",default:["subscriberCount","0"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",dataType:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",dataType:"BigInt",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"mailboxEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"folders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{channels:"external"},actions:{fetch:"external"}}));modelEntitySchemas["Mailbox"]=Mailbox;_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{engagementCount:0,isThread:false},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"isThread",type:"boolean",dataType:"Boolean",default:["isThread","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}],queries:{channelEmails:"external"}}));modelEntitySchemas["MailboxEmail"]=MailboxEmail;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,openThreads:0,totalThreads:0,autoClose:false,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,newRequest:false,spam:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"folderTagID",type:"number",dataType:"BigInt",default:["folderTagID","0"]},{name:"lastEmailID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"autoClose",type:"boolean",dataType:"Boolean",default:["autoClose","false"]},{name:"total",type:"number",dataType:"Int",default:["total","0"]},{name:"doNotIndex",type:"boolean",dataType:"Boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",dataType:"Boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",dataType:"Boolean",default:["isOwner","false"]},{name:"canContribute",type:"boolean",dataType:"Boolean",default:["canContribute","false"]},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]},{name:"newRequest",type:"boolean",dataType:"Boolean",default:["newRequest","false"]},{name:"spam",type:"boolean",dataType:"Boolean",default:["spam","false"]},{name:"mute",type:"boolean",dataType:"Boolean",default:["mute","false"]},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'"invited"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"contactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEvent",MailboxContactEvent=new Model("MailboxContactEvent",["eventID"],{emailAddressID:0,startDate:new DefaultFactory((()=>new DateTime)),endDate:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_events",keys:[{name:"eventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"emailID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"description",type:"string",dataType:"Char",length:400,default:["description",'""']},{name:"location",type:"string",dataType:"Char",length:400,default:["location",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],queries:{calendarMonth:"external"}}));modelEntitySchemas["MailboxContactEvent"]=MailboxContactEvent;_export("MailboxFolder",MailboxFolder=new Model("MailboxFolder",["mailboxID","tagID"],{count:0,isSystem:false},{name:"mailbox_folders",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"isSystem",type:"boolean",dataType:"Boolean",default:["isSystem","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["MailboxFolder"]=MailboxFolder;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"dateReceived",type:"DateTime",dataType:"DateTimeOffset",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",dataType:"DateTimeOffset",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"signedFileLogID",type:"number",dataType:"BigInt",default:["signedFileLogID","0"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],actions:{getBody:"external",markAsRead:"external"}}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"mailboxTag",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"tagID",relatedKey:"tagID"}],relatedName:"MailboxTag"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_export("MailboxTag",MailboxTag=new Model("MailboxTag",["mailboxID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"contactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}],queries:{channelTags:"external"}}));modelEntitySchemas["MailboxTag"]=MailboxTag;_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"},{label:"smtp",value:"smtp"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"direction",type:"string",dataType:"Char",length:5,default:["direction",'"in"']},{name:"protocol",type:"string",dataType:"Char",length:20,default:["protocol",'"imap"']},{name:"username",type:"string",dataType:"Char",length:200,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:200,default:["password",'""']},{name:"host",type:"string",dataType:"Char",length:200,default:["host",'""']},{name:"port",type:"number",dataType:"Int",default:["port","0"]},{name:"isSecure",type:"boolean",dataType:"Boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",dataType:"Boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",dataType:"Boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",dataType:"Char",length:200,default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",dataType:"Int",default:["intervalSeconds","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",dataType:"DateTimeOffset",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",dataType:"Char",length:200,default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",dataType:"Char",default:["syncState",'""']},{name:"lastSyncError",type:"string",dataType:"Char",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("NameToken",NameToken=new Model("NameToken",["nameTokenID"],{word:""},{name:"name_tokens",keys:[{name:"nameTokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",length:400,default:["word",'""']},{name:"suggest",type:"boolean",generated:"computed",dataType:"Boolean"}],relations:[{name:"emailAddressNames",isCollection:true,isInverse:true,relatedName:"EmailAddressName"}]}));modelEntitySchemas["NameToken"]=NameToken;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"inviteContent",type:"string",dataType:"Char",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",dataType:"Char",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",dataType:"Boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",dataType:"Boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",dataType:"Boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",dataType:"Char",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"activity",type:"string",dataType:"Char",length:20,default:["activity",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",default:["word",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"Char",length:10,default:["status",'"begin"']},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"}],properties:[{name:"rank",type:"number",dataType:"Int",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"webSiteFolderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"activity",type:"string",dataType:"Char",length:50,default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"groupName",type:"string",dataType:"Char",length:50},{name:"configName",type:"string",dataType:"Char",length:200}],properties:[{name:"encrypted",type:"boolean",dataType:"Boolean",default:["encrypted","false"]},{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItemItemUnitTypeArray",StoreItemItemUnitTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",itemUnit:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"internalNotes",type:"string",dataType:"Char",default:["internalNotes",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"itemType",type:"string",dataType:"Char",length:20,default:["itemType",'"product"']},{name:"itemUnitType",type:"string",dataType:"Char",length:50,default:["itemUnitType",'"product"']},{name:"itemUnit",type:"number",dataType:"Decimal",default:["itemUnit","0"]},{name:"folderID",type:"number",dataType:"BigInt"},{name:"sizeForID",type:"number",dataType:"BigInt"},{name:"variantForID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"maxPrice",type:"number",dataType:"Decimal",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"itemCoupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"applicableTaxes",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"taxItems",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreCouponTypeArray",StoreCouponTypeArray=[{label:"discount",value:"discount"},{label:"subtract",value:"subtract"}]);_export("StoreCoupon",StoreCoupon=new Model("StoreCoupon",["couponID"],{code:"",active:false,hidden:false,startDate:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),exclusive:false,minOrderAmount:0,maxOrderAmount:0,minQuantity:0,maxQuantity:0,amount:0,type:"discount"},{name:"store_coupons",keys:[{name:"couponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"code",type:"string",dataType:"Char",length:100,default:["code",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"hidden",type:"boolean",dataType:"Boolean",default:["hidden","false"]},{name:"itemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"exclusive",type:"boolean",dataType:"Boolean",default:["exclusive","false"]},{name:"minOrderAmount",type:"number",dataType:"Decimal",default:["minOrderAmount","0"]},{name:"maxOrderAmount",type:"number",dataType:"Decimal",default:["maxOrderAmount","0"]},{name:"minQuantity",type:"number",dataType:"Int",default:["minQuantity","0"]},{name:"maxQuantity",type:"number",dataType:"Int",default:["maxQuantity","0"]},{name:"amount",type:"number",dataType:"Int",default:["amount","0"]},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'"discount"']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"orders",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"}]}));modelEntitySchemas["StoreCoupon"]=StoreCoupon;_export("StoreJournalCoupon",StoreJournalCoupon=new Model("StoreJournalCoupon",["appliedCouponID"],{couponCode:""},{name:"store_journal_coupons",keys:[{name:"appliedCouponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"couponID",type:"number",dataType:"BigInt"},{name:"orderID",type:"number",dataType:"BigInt"},{name:"lineItemID",type:"number",dataType:"BigInt"},{name:"couponCode",type:"string",dataType:"Char",length:200,default:["couponCode",'""']}],relations:[{name:"coupon",fkMap:[{fk:"couponID",relatedKey:"couponID"}],relatedName:"StoreCoupon"},{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalCoupon"]=StoreJournalCoupon;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemFolderTag",StoreItemFolderTag=new Model("StoreItemFolderTag",["itemFolderID","tagID"],{count:0},{name:"store_item_folder_tags",keys:[{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemFolderTag"]=StoreItemFolderTag;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",recurring:false,amount:0,maxQuantity:0,taxIncluded:false,taxAmount:0,active:false},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTimeOffset",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTimeOffset",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",dataType:"Char",length:5,default:["currency",'""']},{name:"recurring",type:"boolean",dataType:"Boolean",default:["recurring","false"]},{name:"durationDays",type:"number",dataType:"Int",default:["durationDays","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"maxAmount",type:"number",dataType:"Decimal",default:["maxAmount","0"]},{name:"maxQuantity",type:"number",dataType:"Decimal",default:["maxQuantity","0"]},{name:"taxIncluded",type:"boolean",dataType:"Boolean",default:["taxIncluded","false"]},{name:"taxAmount",type:"number",dataType:"Decimal",default:["taxAmount","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePaymentAttempt",StorePaymentAttempt=new Model("StorePaymentAttempt",["attemptID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),success:false},{name:"store_payment_attempt",keys:[{name:"attemptID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"orderID",type:"number",dataType:"BigInt"},{name:"gatewayID",type:"number",dataType:"BigInt"},{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]}],relations:[{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"gateway",fkMap:[{fk:"gatewayID",relatedKey:"accountID"}],relatedName:"StorePaymentGateway"}]}));modelEntitySchemas["StorePaymentAttempt"]=StorePaymentAttempt;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"}],properties:[{name:"fileContentID",type:"number",dataType:"BigInt",default:["fileContentID","0"]},{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"isPreview",type:"boolean",dataType:"Boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",dataType:"Char",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",dataType:"Char",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}],queries:{siteQuery:"external",storeQuery:"external"}}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"value",type:"number",dataType:"Decimal",default:["value","0"]},{name:"isPublic",type:"boolean",dataType:"Boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreAccount",StoreAccount=new Model("StoreAccount",["accountID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ledgerType:"",name:"",balance:0},{name:"store_accounts",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"storeID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"head",type:"string",dataType:"Char",length:50,default:["head",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ledgerType",type:"string",dataType:"Char",length:50,default:["ledgerType",'""']},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"billingAddressID",type:"number",dataType:"BigInt",default:["billingAddressID","0"]},{name:"shippingAddressID",type:"number",dataType:"BigInt",default:["shippingAddressID","0"]}],relations:[{name:"user",fkMap:[{fk:"accountID",relatedKey:"userID"}],relatedName:"User"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"StoreAccountAddress"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storePaymentGateway",isCollection:false,isInverse:true,relatedName:"StorePaymentGateway"},{name:"emails",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"StoreAccountPhone"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreAccount"]=StoreAccount;_export("StoreAccountAddress",StoreAccountAddress=new Model("StoreAccountAddress",["addressID"],{title:"",line1:""},{name:"store_account_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"otherTaxID",type:"string",dataType:"Char",length:200,default:["otherTaxID",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"billedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"shippedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"}]}));modelEntitySchemas["StoreAccountAddress"]=StoreAccountAddress;_export("StoreAccountEmail",StoreAccountEmail=new Model("StoreAccountEmail",["accountID","emailAddressID"],{},{name:"store_account_emails",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["StoreAccountEmail"]=StoreAccountEmail;_export("StoreAccountPhone",StoreAccountPhone=new Model("StoreAccountPhone",["accountID","phoneNumberE64"],{},{name:"store_account_phones",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:200}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"}]}));modelEntitySchemas["StoreAccountPhone"]=StoreAccountPhone;_export("StorePaymentGatewayPaymentGatewayArray",StorePaymentGatewayPaymentGatewayArray=[{label:"paypal",value:"paypal"},{label:"phone-pe",value:"phone-pe"},{label:"stripe",value:"stripe"}]);_export("StorePaymentGateway",StorePaymentGateway=new Model("StorePaymentGateway",["accountID"],{isGatewayActive:false,isDefault:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"store_payment_gateways",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"paymentGateway",type:"string",dataType:"Char",length:50,default:["paymentGateway",'"paypal"']},{name:"isGatewayActive",type:"boolean",dataType:"Boolean",default:["isGatewayActive","false"]},{name:"isDefault",type:"boolean",dataType:"Boolean",default:["isDefault","false"]},{name:"merchantID",type:"string",dataType:"Char",length:400,default:["merchantID",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"accessID",type:"string",dataType:"Char",default:["accessID",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"clientID",type:"string",dataType:"Char",default:["clientID",'""']},{name:"saltIndex",type:"string",dataType:"Char",length:50,default:["saltIndex",'""']},{name:"encryptedSalt",type:"string",dataType:"Char",length:400,default:["encryptedSalt",'""']},{name:"encryptedSecret",type:"string",dataType:"Char",default:["encryptedSecret",'""']},{name:"country",type:"string",dataType:"Char",length:20,default:["country",'""']},{name:"currency",type:"string",dataType:"Char",length:20,default:["currency",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"}]}));modelEntitySchemas["StorePaymentGateway"]=StorePaymentGateway;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournalStatusArray",StoreJournalStatusArray=[{label:"new",value:"new"},{label:"paid",value:"paid"},{label:"draft",value:"draft"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"new",total:0,balance:0,taxExempt:false},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",dataType:"AsciiChar",length:50,default:["journalType",'"order"']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"posted",type:"boolean",dataType:"Boolean",default:["posted","false"]},{name:"status",type:"string",dataType:"Char",length:50,default:["status",'"new"']},{name:"sellerID",type:"number",dataType:"BigInt"},{name:"buyerID",type:"number",dataType:"BigInt"},{name:"buyerBillingAddressID",type:"number",dataType:"BigInt"},{name:"buyerShippingAddressID",type:"number",dataType:"BigInt"},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"referenceID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"},{name:"taxExempt",type:"boolean",dataType:"Boolean",default:["taxExempt","false"]},{name:"taxExemptNotes",type:"string",dataType:"Char",default:["taxExemptNotes",'""']},{name:"taxExemptTaxID",type:"string",dataType:"Char",default:["taxExemptTaxID",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyerBillingAddress",fkMap:[{fk:"buyerBillingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"buyerShippingAddress",fkMap:[{fk:"buyerShippingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"orderCoupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"accountID",type:"number",dataType:"BigInt"},{name:"credit",type:"number",dataType:"Decimal",default:["credit","0"]},{name:"debit",type:"number",dataType:"Decimal",default:["debit","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"lineItemID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{price:0,discountPercentage:0,discount:0,priceAfterDiscount:0,couponDiscount:0,quantity:0,amount:0,taxes:0,total:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"itemID",type:"number",dataType:"BigInt"},{name:"itemPriceID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"discountPercentage",type:"number",dataType:"Decimal",default:["discountPercentage","0"]},{name:"discount",type:"number",dataType:"Decimal",default:["discount","0"]},{name:"priceAfterDiscount",type:"number",dataType:"Decimal",default:["priceAfterDiscount","0"]},{name:"couponDiscount",type:"number",dataType:"Decimal",default:["couponDiscount","0"]},{name:"quantity",type:"number",dataType:"Decimal",default:["quantity","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"taxes",type:"number",dataType:"Decimal",default:["taxes","0"]},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"itemType",type:"string",dataType:"Char",length:50,default:["itemType",'"product"']},{name:"hide",type:"boolean",dataType:"Boolean",default:["hide","false"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"sourceID",type:"number",dataType:"BigInt"},{name:"taxForID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFor",fkMap:[{fk:"taxForID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTax",StoreItemTax=new Model("StoreItemTax",["storeItemID","taxItemID"],{inclusive:false,print:false},{name:"store_item_taxes",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"taxItemID",type:"number",dataType:"BigInt"}],properties:[{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"print",type:"boolean",dataType:"Boolean",default:["print","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"taxItem",fkMap:[{fk:"taxItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreItemTax"]=StoreItemTax;_export("StoreTag",StoreTag=new Model("StoreTag",["storeID","tagID"],{count:0},{name:"store_tags",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreTag"]=StoreTag;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"tagValue",type:"string",dataType:"Char",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime)),storage:0,maxStorage:0,maxWebSites:0,maxExternalInboxes:0,maxChildUsers:0},{name:"users",keys:[{name:"userID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userName",type:"string",dataType:"Char",length:200,default:["userName",'""']},{name:"displayName",type:"string",dataType:"Char",length:200,default:["displayName",'""']},{name:"passwordHash",type:"string",dataType:"Char",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",dataType:"Char",length:20,default:["passwordSalt",'""']},{name:"status",type:"string",dataType:"AsciiChar",length:15,default:["status",'"active"']},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",dataType:"Boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"maxWebSites",type:"number",dataType:"BigInt",default:["maxWebSites","0"]},{name:"maxExternalInboxes",type:"number",dataType:"BigInt",default:["maxExternalInboxes","0"]},{name:"maxChildUsers",type:"number",dataType:"BigInt",default:["maxChildUsers","0"]},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"userID"}],relatedName:"User"},{name:"children",isCollection:true,isInverse:true,relatedName:"User"},{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"storeAccount",isCollection:false,isInverse:true,relatedName:"StoreAccount"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"hostedZones",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}]}));modelEntitySchemas["User"]=User;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"notify",type:"boolean",dataType:"Boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"roleName",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"},{label:"otp-in",value:"otp-in"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"method",type:"string",dataType:"Char",length:10,default:["method",'"totp"']},{name:"secret",type:"string",dataType:"Char",default:["secret",'""']},{name:"hint",type:"string",dataType:"Char",length:100,default:["hint",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:20,default:["phoneNumber",'""']},{name:"isdCode",type:"string",dataType:"Char",length:20,default:["isdCode",'""']},{name:"verificationID",type:"number",dataType:"BigInt"},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSite",WebSite=new Model("WebSite",["folderID"],{isStatic:false,isTemplate:false,storeEnabled:false,isModified:false,snapshotStorage:0,currency:""},{name:"web_sites",keys:[{name:"folderID",type:"number",dataType:"BigInt"}],properties:[{name:"currentVersionID",type:"number",dataType:"BigInt"},{name:"isStatic",type:"boolean",dataType:"Boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",dataType:"Boolean",default:["isTemplate","false"]},{name:"storeEnabled",type:"boolean",dataType:"Boolean",default:["storeEnabled","false"]},{name:"isModified",type:"boolean",dataType:"Boolean",default:["isModified","false"]},{name:"snapshotStorage",type:"number",dataType:"BigInt",default:["snapshotStorage","0"]},{name:"supportEmail",type:"string",dataType:"Char",length:200,default:["supportEmail",'""']},{name:"fromEmail",type:"string",dataType:"Char",length:200,default:["fromEmail",'""']},{name:"currency",type:"string",dataType:"Char",length:10,default:["currency",'""']}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"},{name:"channelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{templates:"external"}}));modelEntitySchemas["WebSite"]=WebSite;_export("WebSiteHost",WebSiteHost=new Model("WebSiteHost",["host"],{},{name:"web_site_hosts",keys:[{name:"host",type:"string",dataType:"Char",length:200}],properties:[{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["WebSiteHost"]=WebSiteHost;_export("WebSiteVersion",WebSiteVersion=new Model("WebSiteVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_versions",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"snapshotFolderID",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"authorID",type:"number",dataType:"BigInt"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteVersion"]=WebSiteVersion;_export("WebSiteChannelDomain",WebSiteChannelDomain=new Model("WebSiteChannelDomain",["folderID","domainID"],{},{name:"web_site_channel_domains",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["WebSiteChannelDomain"]=WebSiteChannelDomain;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"channelID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"start",type:"DateTime",dataType:"DateTimeOffset",default:["start","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"invalid",type:"boolean",dataType:"Boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'""']},{name:"deviceToken",type:"string",dataType:"AsciiChar",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",dataType:"AsciiChar",length:50,default:["deviceTokenType",'""']},{name:"verificationID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}],queries:{currentUser:"external"}}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number",dataType:"BigInt"}],properties:[{name:"searchable",type:"string",dataType:"Char",default:["searchable",'""']}],relations:[{name:"fileContent",fkMap:[{fk:"textDocumentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("IncomingSmsSource",IncomingSmsSource=new Model("IncomingSmsSource",["textInSourceID"],{name:"",isdPrefix:"",phoneNumber:"",dateUpdated:new DefaultFactory((()=>new DateTime)),countryCode:""},{name:"incoming_sms_source",keys:[{name:"textInSourceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"username",type:"string",dataType:"Char",default:["username",'""']},{name:"encryptedPassword",type:"string",dataType:"Char",default:["encryptedPassword",'""']},{name:"isdPrefix",type:"string",dataType:"Char",default:["isdPrefix",'""']},{name:"keyword",type:"string",dataType:"Char",default:["keyword",'""']},{name:"phoneNumber",type:"string",dataType:"Char",default:["phoneNumber",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"countryCode",type:"string",dataType:"Char",length:20,default:["countryCode",'""']}],relations:[]}));modelEntitySchemas["IncomingSmsSource"]=IncomingSmsSource;_export("VerificationTokenTypeArray",VerificationTokenTypeArray=[{label:"email",value:"email"},{label:"sms",value:"sms"},{label:"captcha",value:"captcha"},{label:"totp",value:"totp"}]);_export("VerificationToken",VerificationToken=new Model("VerificationToken",["verificationID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiry:new DefaultFactory((()=>new DateTime)),verified:false,accessCode:"",type:"email"},{name:"verification_tokens",keys:[{name:"verificationID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:200,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt",default:["userID","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"code",type:"string",dataType:"Char",length:20,default:["code",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"externalConfig",type:"string",dataType:"Char",default:["externalConfig",'""']},{name:"type",type:"string",dataType:"AsciiChar",length:50,default:["type",'"email"']},{name:"webSiteFolderID",type:"number",dataType:"BigInt",default:["webSiteFolderID","0"]}],relations:[{name:"loginSessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"VerificationTokenAddress"}],queries:{get:"external"},actions:{resendCode:"external",verifyCode:"external",login:"external"}}));modelEntitySchemas["VerificationToken"]=VerificationToken;_export("VerificationTokenAddress",VerificationTokenAddress=new Model("VerificationTokenAddress",["verificationID","address"],{},{name:"verification_token_addresses",keys:[{name:"verificationID",type:"number",dataType:"BigInt"},{name:"address",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["VerificationTokenAddress"]=VerificationTokenAddress;_export("EmailAddressName",EmailAddressName=new Model("EmailAddressName",["nameTokenID","emailAddressID"],{},{name:"email_address_names",keys:[{name:"nameTokenID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"nameToken",fkMap:[{fk:"nameTokenID",relatedKey:"nameTokenID"}],relatedName:"NameToken"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailAddressName"]=EmailAddressName;_export("ThreadParticipant",ThreadParticipant=new Model("ThreadParticipant",["emailID","emailAddressID"],{unsubscribed:false},{name:"thread_participants",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"unsubscribed",type:"boolean",dataType:"Boolean",default:["unsubscribed","false"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["ThreadParticipant"]=ThreadParticipant;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",label:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"label",type:"string",dataType:"Char",length:200,default:["label",'""']},{name:"lowerCaseName",type:"string",generated:"computed",dataType:"Char",length:200},{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isSystemTag",type:"boolean",dataType:"Boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",dataType:"Char",default:["contentTypes",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxFolders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"mailboxTags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"storeItemFolderTags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"},{name:"storeTags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}]}));modelEntitySchemas["Tag"]=Tag;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled,BusyProgress,css,container,stack;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
102
102
|
|
|
103
103
|
position: absolute;
|
|
104
104
|
left: 0;
|