@mescius/wijmo 5.20252.44-rc → 5.20261.45-nightly.d20251218.t163151
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/es2015-commonjs.js +2 -2
- package/es2015-esm.js +2 -2
- package/es5-esm.js +2 -2
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/package.json +2 -2
package/es2015-commonjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20261.45-nightly.d20251218.t163151
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"use strict";var __importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});const selfModule=__importStar(require("@mescius/wijmo"));function _ipTools(){const e={};var t="(0?\\d+|0x[a-f0-9]+)",i={fourOctet:new RegExp("^".concat(t,"\\.").concat(t,"\\.").concat(t,"\\.").concat(t,"$"),"i"),threeOctet:new RegExp("^".concat(t,"\\.").concat(t,"\\.").concat(t,"$"),"i"),twoOctet:new RegExp("^".concat(t,"\\.").concat(t,"$"),"i"),longValue:new RegExp("^".concat(t,"$"),"i")},s=new RegExp("^0[0-7]+$","i"),r=new RegExp("^0x[a-f0-9]+$","i"),n="(?:[0-9a-f]+::?)+",o={zoneIndex:new RegExp("%[0-9a-z]{1,}","i"),native:new RegExp("^(::)?(".concat(n,")?([0-9a-f]+)?(::)?(").concat("%[0-9a-z]{1,}",")?$"),"i"),deprecatedTransitional:new RegExp("^(?:::)(".concat(t,"\\.").concat(t,"\\.").concat(t,"\\.").concat(t,"(").concat("%[0-9a-z]{1,}",")?)$"),"i"),transitional:new RegExp("^((?:".concat(n,")|(?:::)(?:").concat(n,")?)").concat(t,"\\.").concat(t,"\\.").concat(t,"\\.").concat(t,"(").concat("%[0-9a-z]{1,}",")?$"),"i")};function expandIPv6(e,t){if(e.indexOf("::")!==e.lastIndexOf("::"))return null;var i,s,r=0,n=-1,a=(e.match(o.zoneIndex)||[])[0];if(a){a=a.substring(1);e=e.replace(/%.+$/,"")}for(;(n=e.indexOf(":",n+1))>=0;)r++;"::"===e.substr(0,2)&&r--;"::"===e.substr(-2,2)&&r--;if(r>t)return null;s=t-r;i=":";for(;s--;)i+="0:";":"===(e=e.replace("::",i))[0]&&(e=e.slice(1));":"===e[e.length-1]&&(e=e.slice(0,-1));return{parts:t=function(){for(var t=e.split(":"),i=[],s=0;s<t.length;s++)i.push(parseInt(t[s],16));return i}(),zoneId:a}}function matchCIDR(e,t,i,s){if(e.length!==t.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(var r,n=0;s>0;){(r=i-s)<0&&(r=0);if(e[n]>>r!=t[n]>>r)return!1;s-=i;n+=1}return!0}function parseIntAuto(e){if(r.test(e))return parseInt(e,16);if("0"===e[0]&&!isNaN(parseInt(e[1],10))){if(s.test(e))return parseInt(e,8);throw new Error("ipaddr: cannot parse ".concat(e," as octal"))}return parseInt(e,10)}function padPart(e,t){for(;e.length<t;)e="0".concat(e);return e}e.IPv4=function(){function IPv4(e){if(4!==e.length)throw new Error("ipaddr: ipv4 octet count should be 4");var t,i;for(t=0;t<e.length;t++)if(!(0<=(i=e[t])&&i<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=e}IPv4.prototype.SpecialRanges={unspecified:[[new IPv4([0,0,0,0]),8]],broadcast:[[new IPv4([255,255,255,255]),32]],multicast:[[new IPv4([224,0,0,0]),4]],linkLocal:[[new IPv4([169,254,0,0]),16]],loopback:[[new IPv4([127,0,0,0]),8]],carrierGradeNat:[[new IPv4([100,64,0,0]),10]],private:[[new IPv4([10,0,0,0]),8],[new IPv4([172,16,0,0]),12],[new IPv4([192,168,0,0]),16]],reserved:[[new IPv4([192,0,0,0]),24],[new IPv4([192,0,2,0]),24],[new IPv4([192,88,99,0]),24],[new IPv4([198,51,100,0]),24],[new IPv4([203,0,113,0]),24],[new IPv4([240,0,0,0]),4]]};IPv4.prototype.kind=function(){return"ipv4"};IPv4.prototype.match=function(e,t){var i;if(void 0===t){e=(i=e)[0];t=i[1]}if("ipv4"!==e.kind())throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return matchCIDR(this.octets,e.octets,8,t)};IPv4.prototype.prefixLengthFromSubnetMask=function(){var e,t,i,s=0,r=!1,n={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};for(e=3;e>=0;e-=1){if(!((t=this.octets[e])in n))return null;i=n[t];if(r&&0!==i)return null;8!==i&&(r=!0);s+=i}return 32-s};IPv4.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)};IPv4.prototype.toByteArray=function(){return this.octets.slice(0)};IPv4.prototype.toIPv4MappedAddress=function(){return e.IPv6.parse("::ffff:".concat(this.toString()))};IPv4.prototype.toNormalizedString=function(){return this.toString()};IPv4.prototype.toString=function(){return this.octets.join(".")};return IPv4}();e.IPv4.broadcastAddressFromCIDR=function(e){try{for(var t=this.parseCIDR(e),i=t[0].toByteArray(),s=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),r=[],n=0;n<4;){r.push(parseInt(i[n],10)|255^parseInt(s[n],10));n++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}};e.IPv4.isIPv4=function(e){return null!==this.parser(e)};e.IPv4.isValid=function(e){try{new this(this.parser(e));return!0}catch(e){return!1}};e.IPv4.isValidFourPartDecimal=function(t){return!(!e.IPv4.isValid(t)||!t.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))};e.IPv4.networkAddressFromCIDR=function(e){var t,i,s,r,n;try{s=(t=this.parseCIDR(e))[0].toByteArray();n=this.subnetMaskFromPrefixLength(t[1]).toByteArray();r=[];i=0;for(;i<4;){r.push(parseInt(s[i],10)&parseInt(n[i],10));i++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}};e.IPv4.parse=function(e){var t=this.parser(e);if(null===t)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(t)};e.IPv4.parseCIDR=function(e){var t;if(t=e.match(/^(.+)\/(\d+)$/)){var i=parseInt(t[2]);if(i>=0&&i<=32){var s=[this.parse(t[1]),i];Object.defineProperty(s,"toString",{value:function value(){return this.join("/")}});return s}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")};e.IPv4.parser=function(e){var t,s,r;if(t=e.match(i.fourOctet))return function(){for(var e=t.slice(1,6),i=[],r=0;r<e.length;r++){s=e[r];i.push(parseIntAuto(s))}return i}();if(t=e.match(i.longValue)){if((r=parseIntAuto(t[1]))>4294967295||r<0)throw new Error("ipaddr: address outside defined range");return function(){var e,t=[];for(e=0;e<=24;e+=8)t.push(r>>e&255);return t}().reverse()}return(t=e.match(i.twoOctet))?function(){var e=t.slice(1,4),i=[];if((r=parseIntAuto(e[1]))>16777215||r<0)throw new Error("ipaddr: address outside defined range");i.push(parseIntAuto(e[0]));i.push(r>>16&255);i.push(r>>8&255);i.push(255&r);return i}():(t=e.match(i.threeOctet))?function(){var e=t.slice(1,5),i=[];if((r=parseIntAuto(e[2]))>65535||r<0)throw new Error("ipaddr: address outside defined range");i.push(parseIntAuto(e[0]));i.push(parseIntAuto(e[1]));i.push(r>>8&255);i.push(255&r);return i}():null};e.IPv4.subnetMaskFromPrefixLength=function(e){if((e=parseInt(e))<0||e>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(var t=[0,0,0,0],i=0,s=Math.floor(e/8);i<s;){t[i]=255;i++}s<4&&(t[s]=Math.pow(2,e%8)-1<<8-e%8);return new this(t)};e.IPv6=function(){function IPv6(e,t){var i,s;if(16===e.length){this.parts=[];for(i=0;i<=14;i+=2)this.parts.push(e[i]<<8|e[i+1])}else{if(8!==e.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=e}for(i=0;i<this.parts.length;i++)if(!(0<=(s=this.parts[i])&&s<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");t&&(this.zoneId=t)}IPv6.prototype.SpecialRanges={unspecified:[new IPv6([0,0,0,0,0,0,0,0]),128],linkLocal:[new IPv6([65152,0,0,0,0,0,0,0]),10],multicast:[new IPv6([65280,0,0,0,0,0,0,0]),8],loopback:[new IPv6([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new IPv6([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new IPv6([0,0,0,0,0,65535,0,0]),96],rfc6145:[new IPv6([0,0,0,0,65535,0,0,0]),96],rfc6052:[new IPv6([100,65435,0,0,0,0,0,0]),96],"6to4":[new IPv6([8194,0,0,0,0,0,0,0]),16],teredo:[new IPv6([8193,0,0,0,0,0,0,0]),32],reserved:[[new IPv6([8193,3512,0,0,0,0,0,0]),32]]};IPv6.prototype.isIPv4MappedAddress=function(){return"ipv4Mapped"===this.range()};IPv6.prototype.kind=function(){return"ipv6"};IPv6.prototype.match=function(e,t){var i;if(void 0===t){e=(i=e)[0];t=i[1]}if("ipv6"!==e.kind())throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return matchCIDR(this.parts,e.parts,16,t)};IPv6.prototype.prefixLengthFromSubnetMask=function(){for(var e,t,i=0,s=!1,r={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},n=7;n>=0;n-=1){if(!((e=this.parts[n])in r))return null;t=r[e];if(s&&0!==t)return null;16!==t&&(s=!0);i+=t}return 128-i};IPv6.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)};IPv6.prototype.toByteArray=function(){for(var e,t=[],i=this.parts,s=0;s<i.length;s++){e=i[s];t.push(e>>8);t.push(255&e)}return t};IPv6.prototype.toFixedLengthString=function(){var e=function(){for(var e=[],t=0;t<this.parts.length;t++)e.push(padPart(this.parts[t].toString(16),4));return e}.call(this).join(":"),t="";this.zoneId&&(t="%".concat(this.zoneId));return e+t};IPv6.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");var t=this.parts.slice(-2),i=t[0],s=t[1];return new e.IPv4([i>>8,255&i,s>>8,255&s])};IPv6.prototype.toNormalizedString=function(){var e=function(){for(var e=[],t=0;t<this.parts.length;t++)e.push(this.parts[t].toString(16));return e}.call(this).join(":"),t="";this.zoneId&&(t="%".concat(this.zoneId));return e+t};IPv6.prototype.toRFC5952String=function(){for(var e,t=/((^|:)(0(:|$)){2,})/g,i=this.toNormalizedString(),s=0,r=-1;e=t.exec(i);)if(e[0].length>r){s=e.index;r=e[0].length}return r<0?i:"".concat(i.substring(0,s),"::").concat(i.substring(s+r))};IPv6.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")};return IPv6}();e.IPv6.broadcastAddressFromCIDR=function(e){try{for(var t=this.parseCIDR(e),i=t[0].toByteArray(),s=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),r=[],n=0;n<16;){r.push(parseInt(i[n],10)|255^parseInt(s[n],10));n++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv6 CIDR format (".concat(e,")"))}};e.IPv6.isIPv6=function(e){return null!==this.parser(e)};e.IPv6.isValid=function(e){if("string"==typeof e&&-1===e.indexOf(":"))return!1;try{var t=this.parser(e);new this(t.parts,t.zoneId);return!0}catch(e){return!1}};e.IPv6.networkAddressFromCIDR=function(e){var t,i,s,r,n;try{s=(t=this.parseCIDR(e))[0].toByteArray();n=this.subnetMaskFromPrefixLength(t[1]).toByteArray();r=[];i=0;for(;i<16;){r.push(parseInt(s[i],10)&parseInt(n[i],10));i++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv6 CIDR format (".concat(e,")"))}};e.IPv6.parse=function(e){var t=this.parser(e);if(null===t.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(t.parts,t.zoneId)};e.IPv6.parseCIDR=function(e){var t,i,s;if((i=e.match(/^(.+)\/(\d+)$/))&&(t=parseInt(i[2]))>=0&&t<=128){s=[this.parse(i[1]),t];Object.defineProperty(s,"toString",{value:function value(){return this.join("/")}});return s}throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")};e.IPv6.parser=function(e){var t,i,s,r,n,a;if(s=e.match(o.deprecatedTransitional))return this.parser("::ffff:".concat(s[1]));if(o.native.test(e))return expandIPv6(e,8);if(s=e.match(o.transitional)){a=s[6]||"";if((t=expandIPv6(s[1].slice(0,-1)+a,6)).parts){n=[parseInt(s[2]),parseInt(s[3]),parseInt(s[4]),parseInt(s[5])];for(i=0;i<n.length;i++)if(!(0<=(r=n[i])&&r<=255))return null;t.parts.push(n[0]<<8|n[1]);t.parts.push(n[2]<<8|n[3]);return{parts:t.parts,zoneId:t.zoneId}}}return null};e.IPv6.subnetMaskFromPrefixLength=function(e){if((e=parseInt(e))<0||e>128)throw new Error("ipaddr: invalid IPv6 prefix length");for(var t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=0,s=Math.floor(e/8);i<s;){t[i]=255;i++}s<16&&(t[s]=Math.pow(2,e%8)-1<<8-e%8);return new this(t)};e.fromByteArray=function(t){var i=t.length;if(4===i)return new e.IPv4(t);if(16===i)return new e.IPv6(t);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")};e.isValid=function(t){return e.IPv6.isValid(t)||e.IPv4.isValid(t)};e.parse=function(t){if(e.IPv6.isValid(t))return e.IPv6.parse(t);if(e.IPv4.isValid(t))return e.IPv4.parse(t);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")};e.parseCIDR=function(t){try{return e.IPv6.parseCIDR(t)}catch(i){try{return e.IPv4.parseCIDR(t)}catch(e){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}};e.process=function(e){var t=this.parse(e);return"ipv6"===t.kind()&&t.isIPv4MappedAddress()?t.toIPv4Address():t};e.subnetMatch=function(e,t,i){var s,r,n,o;null==i&&(i="unicast");for(r in t)if(Object.prototype.hasOwnProperty.call(t,r)){!(n=t[r])[0]||n[0]instanceof Array||(n=[n]);for(s=0;s<n.length;s++){o=n[s];if(e.kind()===o[0].kind()&&e.match.apply(e,o))return r}}return i};return e}exports.ipaddr=_ipTools();class Binding{constructor(e){this.path=e}get path(){return this._path}set path(e){this._path=e;this._parts=e?e.split("."):[];for(let e=0;e<this._parts.length;e++){let t=this._parts[e],i=t.indexOf("[");if(i>-1){this._parts[e]=t.substr(0,i);this._parts.splice(++e,0,parseInt(t.substr(i+1)))}}this._key=1==this._parts.length?this._parts[0]:null}getValue(e){if(e){if(this._key)return e[this._key];if(this._path&&this._path in e)return e[this._path];for(let t=0;t<this._parts.length&&e;t++)e=e[this._parts[t]]}return e}setValue(e,t){if(e)try{let i=this._path;if(i in e){e[i]=t;return e[i]==t}for(let t=0;t<this._parts.length-1;t++)if(null==(e=e[this._parts[t]]))return!1;i=this._parts[this._parts.length-1];e[i]=t;return e[i]==t}catch(e){return!1}return!1}}exports.Binding=Binding;class EventHandler{constructor(e,t){this.handler=e;this.self=t}}class Event{constructor(e){this._handlers=[];this._handlersChanged=e}addHandler(e,t){e=asFunction(e);this._handlers.push(new EventHandler(e,t));isFunction(this._handlersChanged)&&this._handlersChanged()}getHandler(e=0){const t=this._handlers[e];if(t)return t.handler}removeHandler(e,t){let i=!1;e=asFunction(e);for(let s=0;s<this._handlers.length;s++){let r=this._handlers[s];if(!(r.handler!=e&&null!=e||r.self!=t&&null!=t)){this._handlers.splice(s--,1);i=!0;if(e&&t)break}}i&&isFunction(this._handlersChanged)&&this._handlersChanged()}removeAllHandlers(){let e=this._handlers.length>0;this._handlers.length=0;e&&isFunction(this._handlersChanged)&&this._handlersChanged()}raise(e,t=EventArgs.empty){let i=this._handlers;for(let s=0;s<i.length;s++){let r=i[s];r.handler.call(r.self,e,t);i[s]!==r&&s--}}get hasHandlers(){return this._handlers.length>0}get handlerCount(){return this._handlers.length}}exports.Event=Event;class EventArgs{}EventArgs.empty=new EventArgs;exports.EventArgs=EventArgs;class CancelEventArgs extends EventArgs{constructor(){super(...arguments);this.cancel=!1}}exports.CancelEventArgs=CancelEventArgs;class PropertyChangedEventArgs extends EventArgs{constructor(e,t,i){super();this._name=e;this._oldVal=t;this._newVal=i}get propertyName(){return this._name}get oldValue(){return this._oldVal}get newValue(){return this._newVal}}exports.PropertyChangedEventArgs=PropertyChangedEventArgs;class RequestErrorEventArgs extends CancelEventArgs{constructor(e,t){super();this._xhr=e;this._msg=t}get request(){return this._xhr}get message(){return this._msg}set message(e){this._msg=e}}exports.RequestErrorEventArgs=RequestErrorEventArgs;var NotifyCollectionChangedAction;!function(e){e[e.Add=0]="Add";e[e.Remove=1]="Remove";e[e.Change=2]="Change";e[e.Reset=3]="Reset"}(NotifyCollectionChangedAction=exports.NotifyCollectionChangedAction||(exports.NotifyCollectionChangedAction={}));class NotifyCollectionChangedEventArgs extends EventArgs{constructor(e=NotifyCollectionChangedAction.Reset,t=null,i=-1){super();this.action=e;this.item=t;this.index=i}}NotifyCollectionChangedEventArgs.reset=new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset);exports.NotifyCollectionChangedEventArgs=NotifyCollectionChangedEventArgs;class SortDescription{constructor(e,t){this._bnd=new Binding(e);this._asc=t}get property(){return this._bnd.path}get ascending(){return this._asc}}exports.SortDescription=SortDescription;class PageChangingEventArgs extends CancelEventArgs{constructor(e){super();this.newPageIndex=e}}exports.PageChangingEventArgs=PageChangingEventArgs;class GroupDescription{groupNameFromItem(e,t){return""}namesMatch(e,t){return e===t}}exports.GroupDescription=GroupDescription;class PropertyGroupDescription extends GroupDescription{constructor(e,t){super();this._bnd=new Binding(e);this._converter=t}get propertyName(){return this._bnd.path}groupNameFromItem(e,t){return this._converter?this._converter(e,this.propertyName):this._bnd.getValue(e)}namesMatch(e,t){return e===t}}exports.PropertyGroupDescription=PropertyGroupDescription;exports.empty={};exports.ClipboardClsNames={clipboard:"wj-clipboard"};exports.ControlClsNames={content:"wj-content",hostElement:"wj-control",template:"wj-template"};exports.ControlStateClsNames={active:"wj-state-active",checked:"wj-state-checked",collapsed:"wj-state-collapsed",collapsing:"wj-state-collapsing",disabled:"wj-state-disabled",dragSrc:"wj-state-dragsrc",empty:"wj-state-empty",focus:"wj-state-focus",focused:"wj-state-focused",invalid:"wj-state-invalid",lastSelected:"wj-state-last-selected",loading:"wj-state-loading",match:"wj-state-match",exactMatchSpace:"wj-state-exact-match-space",measuring:"wj-state-measuring",multiSelected:"wj-state-multi-selected",pinned:"wj-state-pinned",readOnly:"wj-state-readonly",selected:"wj-state-selected",sticky:"wj-state-sticky",updating:"wj-state-updating",labeledInput:".wj-labeled-input",wjError:".wj-error",errorVisible:"wj-error-visible"};exports.GlyphClsNames={backward:"wj-glyph-backward",btnGlyph:"wj-btn-glyph",calendar:"wj-glyph-calendar",circle:"wj-glyph-circle",clock:"wj-glyph-clock",down:"wj-glyph-down",downLeft:"wj-glyph-down-left",drag:"wj-glyph-drag",file:"wj-glyph-file",filter:"wj-glyph-filter",forward:"wj-glyph-forward",glyph:"wj-glyph",left:"wj-glyph-left",minus:"wj-glyph-minus",plus:"wj-glyph-plus",right:"wj-glyph-right",stepBackward:"wj-glyph-step-backward",stepForward:"wj-glyph-step-forward",up:"wj-glyph-up"};exports.InputFormElementsClsNames={btn:"wj-btn",btnDefault:"wj-btn-default",btnGroup:"wj-btn-group",btnGroupVertical:"wj-btn-group-vertical",btnsOutside:"wj-btns-outside",formControl:"wj-form-control",svgBtn:"wj-svg-btn"};exports.PrintDocumentClsNames={printDocument:"wj-printdocument"};exports.TooltipClsNames={hostElement:"wj-tooltip"};exports.UtilitesClsNames={align:"wj-align",alignVCenter:"wj-align-vcenter",animated:"wj-animated",centerVert:"wj-center-vert",close:"wj-close",hide:"wj-hide",hideOk:"wj-hide-ok",remove:"wj-remove",right:"wj-right",rtl:"wj-rtl",separator:"wj-separator"};exports.ForeignClsNames={InputClsNames:{input:"wj-input",inputBtnVisible:"wj-input-btn-visible",inputGroup:"wj-input-group",inputGroupBtn:"wj-input-group-btn"},SelectorClsNames:{columnSelector:"wj-column-selector",columnSelectorGroup:"wj-column-selector-group"}};const _agent="undefined"!=typeof navigator?navigator.userAgent:"";function isMobile(){const e=_agent.toLowerCase();return["android","webos","iphone","ipad","ipod","blackberry","windows phone","mobile","mobi","tablet"].some(t=>e.includes(t))}exports.isMobile=isMobile;function isSupportTouch(){return"ontouchstart"in window||navigator.maxTouchPoints>0}exports.isSupportTouch=isSupportTouch;const _isiOS=null!=_agent.match(/iPad|iPhone|iPod/i);function isiOS(){return _isiOS}exports.isiOS=isiOS;const _isFF=null!=_agent.match(/Firefox\//);function isFirefox(){return _isFF}exports.isFirefox=isFirefox;const _isSafari=null!=_agent.match(/^((?!Chrome|Android).)*safari/i);function isSafari(){return _isSafari}exports.isSafari=isSafari;const _isEdge=null!=_agent.match(/Edge\/|Edg\//);function isEdge(){return _isEdge}exports.isEdge=isEdge;const _isIE=null!=_agent.match(/MSIE |Trident\/|Edge\//);function isIE(){return _isIE}exports.isIE=isIE;let _isIE9=!1;function isIE9(){return _isIE9}exports.isIE9=isIE9;let _isIE10=!1;function isIE10(){return _isIE10}exports.isIE10=isIE10;let _isChromiumBased=null;function isChromiumBased(){if(null!=_isChromiumBased)return _isChromiumBased;{_isChromiumBased=!1;const e="undefined"!=typeof navigator?navigator.userAgentData:null;if(e&&e.brands)for(let t of e.brands)if("Chromium"==t.brand){_isChromiumBased=!0;break}return _isChromiumBased}}exports.isChromiumBased=isChromiumBased;let _supportsPassive=!1;"undefined"!=typeof document&&document.addEventListener("test",e=>{},{get passive(){_supportsPassive=!0;return!0}});function getEventOptions(e,t){return _supportsPassive?{capture:e,passive:t}:e}exports.getEventOptions=getEventOptions;var _supportsFocusOptions=!1;"undefined"!=typeof document&&document.createElement("div").focus({get preventScroll(){_supportsFocusOptions=!0;return!0}});function supportsFocusOptions(){return _supportsFocusOptions}exports.supportsFocusOptions=supportsFocusOptions;function _startDrag(e,t){e.effectAllowed=t;isFirefox()&&e.setData("text","")}exports._startDrag=_startDrag;if("undefined"!=typeof document&&document.doctype){navigator.appVersion.indexOf("MSIE 10")>-1&&(_isIE10=!0);if(navigator.appVersion.indexOf("MSIE 9")>-1){_isIE9=!0;document.addEventListener("mousemove",e=>{if(1==e.which){let t=closest(e.target,"."+exports.ControlClsNames.hostElement);if(t&&!t.style.cursor)for(let t=e.target;t;t=t.parentElement)if(t.attributes&&t.attributes.draggable){t.dragDrop();return!1}}})}}if("undefined"!=typeof window){let e="requestAnimationFrame",t="cancelAnimationFrame";if(!window[e]){let i=0;window[e]=e=>{let t=Date.now(),s=16-(t-i),r=s>0?s:0;i=t+r;return setTimeout(()=>{e(i)},r)};window[t]=clearTimeout}if(!window.atob){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t=new RegExp("[^"+e+"]");window.atob=i=>{let s,r,n,o,a=[],l=0,u=i.length;if(t.test(i)||/=/.test(i)&&(/=[^=]/.test(i)||/={3}/.test(i)))throw new Error("Invalid base64 data");u%4>0&&(u=(i+=Array(4-u%4+1).join("=")).length);for(;l<u;){for(r=[],o=l;l<o+4;)r.push(e.indexOf(i.charAt(l++)));s=(r[0]<<18)+(r[1]<<12)+((63&r[2])<<6)+(63&r[3]);n=[(s&255<<16)>>16,64===r[2]?-1:(65280&s)>>8,64===r[3]?-1:255&s];for(o=0;o<3;++o)(n[o]>=0||0===o)&&a.push(String.fromCharCode(n[o]))}return a.join("")};window.btoa=t=>{let i,s,r=[],n=0,o=t.length;for(;n<o;){s=[t.charCodeAt(n++),t.charCodeAt(n++),t.charCodeAt(n++)];i=(s[0]<<16)+((s[1]||0)<<8)+(s[2]||0);r.push(e.charAt((i&63<<18)>>18),e.charAt((258048&i)>>12),e.charAt(isNaN(s[1])?64:(4032&i)>>6),e.charAt(isNaN(s[2])?64:63&i))}return r.join("")}}}class _FocusService{constructor(){this._hasDoc="undefined"!=typeof Document;this._ae=this._nativeAe();let e=window,t=this._onBlur.bind(this),i=this._onFocus.bind(this);e.addEventListener("focusout",t,!0);e.addEventListener("focusin",i,!0);if(!isIE()){e.addEventListener("blur",t,!0);e.addEventListener("focus",i,!0)}}get activeElement(){let e=this._ae,t=this._nativeAe();e===_FocusService._noAe?e=this._ae=t:e!=t&&(this._isSpecialRoot(e)||document.body.contains(e)||(e=this._ae=t));return e!==_FocusService._noAe?e:null}_onBlur(e){if(e.isTrusted){let t=e.relatedTarget;this._ae=this._isSpecialRoot(t)?this._nativeAe():t}}_onFocus(e){e.isTrusted&&(this._ae=this._nativeAe())}_isSpecialRoot(e){return null==e||e===document.body||this._hasDoc&&e instanceof Document}_nativeAe(){let e;try{e="unknown"!=typeof document.activeElement?document.activeElement:_FocusService._noAe}catch(t){e=_FocusService._noAe}return e}dispose(){if(!isIE()){window.removeEventListener("blur",this._onBlur,!0);window.removeEventListener("focus",this._onFocus,!0)}window.removeEventListener("focusout",this._onBlur,!0);window.removeEventListener("focusin",this._onFocus,!0)}}_FocusService._noAe={};exports._FocusService=_FocusService;const _getProxyTarget="undefined"!=typeof window&&window.Symbol?Symbol("_getProxyTarget"):"\t_get\tProxy\tTarget\t";function _getCalculatedArray(e,t,i){let s=new WeakMap;if(!i){let t={};if(e.length){let s=e[0];for(let e in s){let i=typeof s[e];t[e]="string"==i?"":"number"==i?0:null}i=t}}return new Proxy(e,{get(e,r){if(r===_getProxyTarget)return e;if("string"==typeof r||"number"==typeof r){if("indexOf"==r)return(t,i)=>{let s=e.indexOf(t,i);s<0&&t&&(t=t[_getProxyTarget])&&(s=e.indexOf(t,i));return s};let n=parseInt(r);if(!isNaN(n)){let r=e[n];if(r&&!r[_getProxyTarget]){let e=s.get(r);if(!e){e=_createItemProxy(r,t,i);s.set(r,e)}r=e}return r}}return Reflect.get(e,r)}})}exports._getCalculatedArray=_getCalculatedArray;function _createItemProxy(e,t,i){if(!e[_getProxyTarget]){if(isIE())for(let i in t)e[i]=null;let s={get:(e,s,r)=>{if(s===_getProxyTarget)return e;if("constructor"===s)return()=>Object.assign({},i||{});let n=t[s];if(n)switch(typeof n){case"function":return n(r);case"string":return _eval(n,r)}return e[s]}};if(!isIE()){s.ownKeys=e=>Object.keys(e).concat(Object.keys(t));s.getOwnPropertyDescriptor=(e,i)=>i in t?{enumerable:!0,configurable:!0,writable:!1}:Reflect.getOwnPropertyDescriptor(e,i)}e=new Proxy(e,s)}return e}function _getTargetObject(e){return(e?e[_getProxyTarget]:null)||e}exports._getTargetObject=_getTargetObject;function _eval(e,t){let i=[t];return new Function(...["$"],"return "+e)(...i)}var Key,DataType,_VERSION="5.20252.44";class _ENV_TOOLS{}_ENV_TOOLS.isSameInstance=(e,t)=>e==t;_ENV_TOOLS.indexOf=(e,t)=>e.indexOf(t);exports._ENV_TOOLS=_ENV_TOOLS;exports._CLS_STATE_DISABLED=exports.ControlStateClsNames.disabled;function getVersion(){return _VERSION}exports.getVersion=getVersion;function setLicenseKey(e){Control._licKey=e}exports.setLicenseKey=setLicenseKey;!function(e){e[e.Back=8]="Back";e[e.Tab=9]="Tab";e[e.Enter=13]="Enter";e[e.Escape=27]="Escape";e[e.Space=32]="Space";e[e.PageUp=33]="PageUp";e[e.PageDown=34]="PageDown";e[e.End=35]="End";e[e.Home=36]="Home";e[e.Left=37]="Left";e[e.Up=38]="Up";e[e.Right=39]="Right";e[e.Down=40]="Down";e[e.Delete=46]="Delete";e[e.X=88]="X";e[e.F1=112]="F1";e[e.F2=113]="F2";e[e.F3=114]="F3";e[e.F4=115]="F4";e[e.F5=116]="F5";e[e.F6=117]="F6";e[e.F7=118]="F7";e[e.F8=119]="F8";e[e.F9=120]="F9";e[e.F10=121]="F10";e[e.F11=122]="F11";e[e.F12=123]="F12";e[e.PlusKey=107]="PlusKey";e[e.EqualPlusKey=187]="EqualPlusKey";e[e.MinusKey=109]="MinusKey";e[e.HyphenMinusKey=189]="HyphenMinusKey";e[e.S=83]="S";e[e.P=80]="P";e[e.F=70]="F"}(Key=exports.Key||(exports.Key={}));!function(e){e[e.Object=0]="Object";e[e.String=1]="String";e[e.Number=2]="Number";e[e.Boolean=3]="Boolean";e[e.Date=4]="Date";e[e.Array=5]="Array"}(DataType=exports.DataType||(exports.DataType={}));function tryCast(e,t){return null==e?null:isString(t)?isFunction(e.implementsInterface)&&e.implementsInterface(t)?e:null:e instanceof t?e:null}exports.tryCast=tryCast;function isPrimitive(e){return isString(e)||isNumber(e)||isBoolean(e)||isDate(e)}exports.isPrimitive=isPrimitive;function isString(e){return"string"==typeof e}exports.isString=isString;function isNullOrWhiteSpace(e){return!e||!/\S/.test(e)}exports.isNullOrWhiteSpace=isNullOrWhiteSpace;function isNumber(e){return"number"==typeof e}exports.isNumber=isNumber;function isInt(e){return isNumber(e)&&e==Math.round(e)}exports.isInt=isInt;function isBoolean(e){return"boolean"==typeof e}exports.isBoolean=isBoolean;function isFunction(e){return"function"==typeof e}exports.isFunction=isFunction;function isUndefined(e){return void 0===e}exports.isUndefined=isUndefined;function isNullOrUndefined(e){return null==e}exports.isNullOrUndefined=isNullOrUndefined;function isDate(e){return(e instanceof Date||"[object Date]"===Object.prototype.toString.call(e))&&!isNaN(e.getTime())}exports.isDate=isDate;function isArray(e){return e instanceof Array||Array.isArray(e)||"[object Array]"===Object.prototype.toString.call(e)}exports.isArray=isArray;function _isPlainArray(e){return Array.isArray(e)}exports._isPlainArray=_isPlainArray;function isObject(e){return null!=e&&"object"==typeof e&&!isDate(e)&&!isArray(e)}exports.isObject=isObject;function isEmpty(e){for(var t in e)return!1;return!0}exports.isEmpty=isEmpty;function _areObjectsEqual(e,t){const i=Object.entries(e),s=Object.entries(t);if(i.length!==s.length)return!1;for(const[e,s]of i)if(!t.hasOwnProperty(e)||t[e]!==s)return!1;return!0}exports._areObjectsEqual=_areObjectsEqual;function getUniqueId(e){let t=e;for(let i=0;null!=document.getElementById(t);i++)t=e+i;return t}exports.getUniqueId=getUniqueId;function getSafeUniqueId(e,t="wj",i){let s=e;s=s.trim().toLowerCase();s=s.replace(/[^a-z0-9_-]+/g,"-");s=s.replace(/-+/g,"-").replace(/^-|-$/g,"");s?/^[a-z]/.test(s)&&!i||(s=`${t}-${s}`):s=`${t}-${Date.now()}`;for(let e=0;null!=document.getElementById(s);e++)s+=e;return s}exports.getSafeUniqueId=getSafeUniqueId;function uidGenerator(){for(var e="",t="0123456789abcdef".split(""),i=0;i<32;i++){var s=Math.floor(16*Math.random());switch(i){case 8:e+="-";break;case 12:s=4;e+="-";break;case 16:s=3&s|8;e+="-";break;case 20:e+="-"}e+=t[s]}return e}exports.uidGenerator=uidGenerator;function mouseToPage(e){if(e instanceof Point)return e;e&&e.touches&&e.touches.length>0&&(e=e.touches[0]);if(isNumber(e.clientX)&&isNumber(e.clientY))return new Point(e.clientX+pageXOffset,e.clientY+pageYOffset);throw"Mouse or touch event expected."}exports.mouseToPage=mouseToPage;function getType(e){return isNumber(e)?DataType.Number:isBoolean(e)?DataType.Boolean:isDate(e)?DataType.Date:isString(e)?DataType.String:isArray(e)?DataType.Array:DataType.Object}exports.getType=getType;function getTypes(e,t=1e3){if(!e)return[];const i=e.length;(t<=0||i<t)&&(t=i);const s=[];if(t){const i=Object.keys(e[0]),r={},n=[...i];for(let i=0;i<t;i++){const t=e[i];for(let s=n.length-1;s>=0;s--){const o=n[s],a=t[o];if(isPrimitive(a)){let t=Object.getOwnPropertyDescriptor(e[i],o);r[o]={binding:o,dataType:getType(a),isReadOnly:t&&!t.writable&&!t.set};n.splice(s,1)}}if(!n.length)break}for(let e=0;e<i.length;e++){const t=r[i[e]];t&&s.push(t)}}return s}exports.getTypes=getTypes;function changeType(e,t,i,s){if(null!=e){let r=DataType;if(isString(e))switch(t){case r.Number:let t=Globalize.parseFloat(e,i);return isNaN(t)?e:t;case r.Date:let n=Globalize.parseDate(e,i,isDate(s)?s:null);n||i||!e||(n=new Date(e));return n&&isFinite(n.getTime())?n:e;case r.Boolean:switch(e.toLowerCase()){case"true":return!0;case"false":return!1}return e;case r.Array:try{let t=e.split(",").map(e=>(e=e.trim()).match(/^(\+|\-)?\d+\.?\d*$/)?e:'"'+e+'"');return JSON.parse("["+t.join(",")+"]")}catch(e){}}if(t==DataType.String)return Globalize.format(e,i)}return e}exports.changeType=changeType;function toFixed(e,t,i){if(i){let i=e.toString(),s=i.indexOf("e"),r=i.indexOf(".");if(s>-1){if("-"===i[s+1]){let n=parseFloat(i.substr(s+2)),o=i.substr(0,s);r>-1&&(o=o.substr(0,r)+o.substr(r+1));i="0."+(Array(n).join("0")+o).substr(0,t);e=parseFloat(i)}}else if(r>-1){i=i.substr(0,r+1+t);e=parseFloat(i)}}else{let i=Math.pow(10,t);e=Math.round(e*i)/i}return e}exports.toFixed=toFixed;function format(e,t,i){if((e=asString(e)).match(/\{.*"count".*:.*"when".*:.*\}/))try{let i=JSON.parse(e);if(isString(i.count)){let s=t[i.count],r=i.when;if(isNumber(s)&&isObject(r)){let t=r[s]||r.other;isString(t)&&(e=t)}}}catch(e){}return e.replace(/\{(.*?)(:(.*?))?\}/g,(e,s,r,n)=>{let o=e;if(s&&"{"!=s[0]&&t){o=new Binding(s).getValue(t);n&&(o=Globalize.format(o,n));i&&(o=i(t,s,n,o))}return null==o?"":o})}exports.format=format;function glbz(...e){let t=[],i=-1;e[0].forEach((s,r)=>{if(r>0&&r!=i){let n=e[r],o=s.match(/^:([a-z][0-9]*\b)/i)||s.match(/^:'(.+?)'/)||s.match(/^:"(.+?)"/);if(o){n=Globalize.format(n,o[1]);s=s.substr(o[0].length)}else if(":"==s&&r<e.length-1&&(isNumber(n)||isDate(n))){n=Globalize.format(n,e[r+1]);s="";i=r+1}t.push(n)}s&&t.push(s)});return t.join("")}exports.glbz=glbz;function evalTemplate(e,t){if(isIE()){let i=/:\${([^}]*)}/g,s=/\${([^}]*)}(:(([A-Za-z]\d*)|"([^"]+)"|'([^']+)'))?/g;return(e=e.replace(i,(e,i)=>":"+_evalExpression(i,t))).replace(s,(e,i,s,r,n,o,a)=>{let l=_evalExpression(i,t);return r?Globalize.format(l,n||o||a):l})}return _evalExpression(e,t)}exports.evalTemplate=evalTemplate;function _evalExpression(e,t){(t=t||{}).glbz=glbz;const i=parseTpl(e,t);return isIE()?i:glbz`${i}`}function get(e,t,i=`\${${e}}`){return e.split(".").reduce((e,t)=>null!=e&&null!=e[t]?e[t]:i,t)}function parseTpl(e,t,i){return e.replace(/\$\{.+?}/g,e=>get(e.substr(2,e.length-3).trim(),t,i))}function clamp(e,t,i){if(null!=e){null!=i&&e>i&&(e=i);null!=t&&e<t&&(e=t)}return e}exports.clamp=clamp;function copy(e,t,i=!0,s=!1){if(t)for(let r in t)if("_"!=r[0]){assert(r in e,'Unknown property "'+r+'".');let n=t[r];if(!e._copy||!e._copy(r,n)){const t=e[r];e[r]instanceof Event?isFunction(n)&&e[r].addHandler(n):!i||!isObject(n)||"undefined"!=typeof Element&&n instanceof Element||!t||!isObject(t)||Object.getPrototypeOf(t).constructor==Object.prototype.constructor&&isWritable(e,r)||"itemsSource"==r?s&&isObject(n)&&Object.getPrototypeOf(n).isPrototypeOf(Object)&&isObject(t)&&!Object.getPrototypeOf(t).isPrototypeOf(Object)?copy(t,n):e[r]=n:copy(t,n)}}return e}exports.copy=copy;function _isPlainObject(e){return isObject(e)&&Object.getPrototypeOf(e).isPrototypeOf(Object)}exports._isPlainObject=_isPlainObject;function isWritable(e,t){const i=Object.getOwnPropertyDescriptor(e,t)||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),t)||{};return!!i.writable||isFunction(i.set)}exports.isWritable=isWritable;function deepClone(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e)){return e.map(e=>deepClone(e))}const t={};for(const i in e)e.hasOwnProperty(i)&&(t[i]=deepClone(e[i]));return t}exports.deepClone=deepClone;function assert(e,t,i=!0){if(!e){t="** Assertion failed in Wijmo: "+t;let e=new Error;isString(e.stack)&&i&&(t+=" "+e.stack);throw t}}exports.assert=assert;function _deprecated(e,t){console.error('** WARNING: "'+e+'" has been deprecated; please use "'+t+'" instead.')}exports._deprecated=_deprecated;function _warning(e){console.error('** WARNING: "'+e)}exports._warning=_warning;function asString(e,t=!0){isUndefined(e)&&(e=null);assert(t&&null==e||isString(e),"String expected.");return e}exports.asString=asString;function asNumber(e,t=!1,i=!1){assert(t&&null==e||isNumber(e),"Number expected.");if(i&&e&&e<0)throw"Positive number expected.";return e}exports.asNumber=asNumber;function asInt(e,t=!1,i=!1){assert(t&&null==e||isInt(e),"Integer expected.");if(i&&e&&e<0)throw"Positive integer expected.";return e}exports.asInt=asInt;function asBoolean(e,t=!1){assert(t&&null==e||isBoolean(e),"Boolean expected.");return e}exports.asBoolean=asBoolean;function asDate(e,t=!1){if(isString(e)){let t=changeType(e,DataType.Date,"r");isDate(t)&&(e=t)}assert(t&&null==e||isDate(e),"Date expected.");return e}exports.asDate=asDate;function asFunction(e,t=!0){assert(t&&null==e||isFunction(e),"Function expected.");return e}exports.asFunction=asFunction;function asArray(e,t=!0){assert(t&&null==e||isArray(e),"Array expected.");return e}exports.asArray=asArray;function asType(e,t,i=!1){e=tryCast(e,t);assert(i||null!=e,t+" expected.");return e}exports.asType=asType;function asEnum(e,t,i=!1){if(null==e&&i)return null;let s=isString(e)?t[e]:e;assert(null!=s,'Invalid enum value: "'+e+'"');return isNumber(s)?s:e}exports.asEnum=asEnum;function asCollectionView(e,t=!0){if(null==e&&t)return null;let i=tryCast(e,"ICollectionView");if(null!=i)return i;isArray(e)||assert(!1,"Array or ICollectionView expected.");return new CollectionView(e)}exports.asCollectionView=asCollectionView;function hasItems(e){return null!=e&&null!=e.items&&e.items.length>0}exports.hasItems=hasItems;function toHeaderCase(e){return e&&e.length?e[0].toUpperCase()+e.substr(1).replace(/([a-z])([A-Z])/g,"$1 $2"):""}exports.toHeaderCase=toHeaderCase;function escapeHtml(e){e&&isString(e)&&(e=e.replace(/[&<>]/g,e=>_ENTITYMAP[e]));return null!=e?e.toString():""}exports.escapeHtml=escapeHtml;const _ENTITYMAP={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},_specialCharsRegex=/"(.*?)"|[^\w]|_/g;function getSpecialCharsRegex(){return _specialCharsRegex}exports.getSpecialCharsRegex=getSpecialCharsRegex;function escapeRegExp(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}exports.escapeRegExp=escapeRegExp;function toPlainText(e){let t=asString(e);if(isString(t)&&t.indexOf("<")>-1){_plainText||(_plainText=document.createElement("div"));_plainText.innerHTML=t;t=_plainText.textContent}return t}exports.toPlainText=toPlainText;var _plainText;function hasClass(e,t){if(e&&t){if(e instanceof HTMLElement&&e.classList&&!isIE9())return e.classList.contains(t);if(e.getAttribute){let i=new RegExp("(\\s|^)"+t+"(\\s|$)");return e&&i.test(e.getAttribute("class"))}}return!1}exports.hasClass=hasClass;function addClass(e,t=""){if(e&&t){let i=t.trim();if(e instanceof HTMLElement&&e.classList&&!isIE9()){i.indexOf(" ")<0?e.classList.add(i):i.split(" ").forEach(t=>{t.length>0&&e.classList.add(t)});return}e.setAttribute&&i.split(" ").forEach(t=>{if(t.length>0&&!hasClass(e,t)){let i=e.getAttribute("class");e.setAttribute("class",i?i+" "+t:t)}})}}exports.addClass=addClass;function removeClass(e,t){if(e&&t){let i=t.trim();if(e instanceof HTMLElement&&e.classList&&!isIE9()){i.indexOf(" ")<0?e.classList.remove(i):i.split(" ").forEach(t=>{t.length>0&&e.classList.remove(t)});0===e.classList.length&&e.removeAttribute("class");return}e.setAttribute&&i.split(" ").forEach(t=>{if(hasClass(e,t)){let i=new RegExp("((\\s|^)"+t+"(\\s|$))","g"),s=e.getAttribute("class");s=s.replace(i," ").replace(/ +/g," ").trim();s?e.setAttribute("class",s):e.removeAttribute("class")}})}}exports.removeClass=removeClass;function toggleClass(e,t,i){null==i&&(i=!hasClass(e,t));i?addClass(e,t):removeClass(e,t)}exports.toggleClass=toggleClass;function setAttribute(e,t,i,s){e&&(null!=i?s&&e.getAttribute(t)||("style"===t.toLowerCase()&&(e instanceof HTMLElement||e instanceof SVGElement)?e.style.cssText=i.toString():e.setAttribute(t,i.toString())):e.removeAttribute(t))}exports.setAttribute=setAttribute;function setInnerHTMLSafe(e,t){t=t.replace(/\bstyle\s*=/gi,"data-wj-style=");e.innerHTML=t;const i=e.querySelectorAll("[data-wj-style]");for(let e=0;e<i.length;e++){const t=i[e],s=t.getAttribute("data-wj-style");s&&(t instanceof HTMLElement||t instanceof SVGElement)&&(t.style.cssText=s);t.removeAttribute("data-wj-style")}}exports.setInnerHTMLSafe=setInnerHTMLSafe;function setChecked(e,t){let i=null==t;e.checked=isIE()?t||i:t;e.indeterminate=i}exports.setChecked=setChecked;function setAriaLabel(e,t){setAttribute(e,"aria-label",t)}exports.setAriaLabel=setAriaLabel;function setSelectionRange(e,t,i=t,s=!0){assert(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement,"INPUT or TEXTAREA element expected");if(contains(document.body,e)&&!e.disabled&&e.offsetHeight){try{e.setSelectionRange(t,i,"backward")}catch(e){}if(s)try{e.focus();return!0}catch(e){}}return!1}exports.setSelectionRange=setSelectionRange;function disableAutoComplete(e){let t="autocomplete",i=e.getAttribute(t);i&&"on"!=i||e.setAttribute(t,"off");"autocorrect,autocapitalize,spellcheck".split(",").forEach(t=>{e.setAttribute(t,"spellcheck"==t?"false":"off")})}exports.disableAutoComplete=disableAutoComplete;function removeChild(e){return e&&e.parentNode?e.parentNode.removeChild(e):null}exports.removeChild=removeChild;function getActiveElement(){let e=document.activeElement;if(e){let t=e.shadowRoot;t&&t.activeElement&&(e=t.activeElement)}return e}exports.getActiveElement=getActiveElement;function _getActiveElement(e){let t=e;if(t){let e=t.shadowRoot;e&&e.activeElement&&(t=e.activeElement)}return t}exports._getActiveElement=_getActiveElement;function moveFocus(e,t){let i=_getFocusableElements(e,t<0),s=0;if(t){let e=i.indexOf(getActiveElement());e>-1&&(s=(e+t+i.length)%i.length)}if(s<i.length){let e=i[s];e.focus();e instanceof HTMLInputElement&&e.select();return!0}return!1}exports.moveFocus=moveFocus;function _getFocusableElements(e,t=!1){let i=[],s=Array.prototype.slice.call(e.querySelectorAll("input,select,textarea,button,a,div,label,[tabindex]")),r={};s=s.filter(e=>-1!==e.tabIndex);const isRb=e=>e instanceof HTMLInputElement&&"radio"===e.type;s.forEach(e=>{isRb(e)&&e.checked&&(r[e.name||""]=!0)});s=s.filter(e=>!isRb(e)||e.checked||!r[e.name||""]);s.sort((e,t)=>e.tabIndex===t.tabIndex?0:0===e.tabIndex?1:0===t.tabIndex?-1:e.tabIndex-t.tabIndex);for(let e=0;e<s.length;e++){let r=s[e];if(r.offsetHeight>0&&r.tabIndex>-1&&!r.disabled&&"hidden"!==window.getComputedStyle(r).visibility&&!closest(r,"[disabled],."+exports.ControlStateClsNames.disabled)){if(r instanceof HTMLAnchorElement&&!r.hasAttribute("href"))continue;if(isIE()&&!r.hasAttribute("tabindex")){if(r instanceof HTMLDivElement)continue;let e=Control.getControl(closest(r,".wj-flexgrid"));if(e&&0==e.keyActionTab)continue}if("radio"===r.type&&!r.checked&&i.length>0){let e=i[i.length-1],s=getActiveElement();if("radio"===e.type&&e.name===r.name){t&&e!=s&&(i[i.length-1]=r);continue}}(Control.getControl(r)||!_getFocusableElements(r).length||r.classList.contains("wj-detail"))&&i.push(r)}}return i}exports._getFocusableElements=_getFocusableElements;function saveFile(e,t,i="text/plain"){let s=e instanceof Blob;s||!i.match(/\bcsv\b/i)&&!t.match(/\.csv$/i)||(e="\ufeff"+e);let r=s?e:new Blob([e],{type:i});const n=navigator;if(isFunction(n.msSaveOrOpenBlob))n.msSaveOrOpenBlob(r,t);else{var o=document.createElement("a"),click=e=>{let t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null);e.dispatchEvent(t)};if("download"in o){let e=window.URL||window.webkitURL,i=e.createObjectURL(r);o.href=i;o.target="_blank";o.download=t;click(o);o=null;window.setTimeout(()=>{e.revokeObjectURL(i)},3e4)}else{let e=new FileReader;e.onloadend=()=>{o.href=e.result;o.download=t;click(o);o=null};e.readAsDataURL(r)}}}exports.saveFile=saveFile;function getElement(e){if(e instanceof Element||e&&e.appendChild&&e.appendChild instanceof Function)return e;if(isString(e))try{return document.querySelector(e)}catch(e){}return e&&e.jquery?e[0]:null}exports.getElement=getElement;function processStyleProperty(e){let t=(e=e.replace(";base64,","_wj_")).split(";"),i=[];t.forEach(e=>{let t=[];if(e.indexOf("_wj_")>-1){t=(e=e.replace("_wj_",";base64,").replace("data:image","_wjimg_")).split(":");2==t.length&&(t[1]=t[1].replace("_wjimg_","data:image"))}else t=e.split(":");i.push(t)});return i}function createElement(e,t,i){e=e.replace(/\bstyle\s*=/gi,"_wj-style=");let s=document.createElement("div");s.innerHTML=e;if(e.indexOf("_wj-style")>-1){const e=s.querySelectorAll("[_wj-style]");for(let t=0;t<e.length;t++){let i=e[t],s=i.getAttribute("_wj-style"),r=[];if(s.indexOf(";base64,")>-1)r=processStyleProperty(s);else{s.split(";").forEach(e=>{r.push(e.split(":"))})}r.forEach(e=>{2==e.length&&(i.style[e[0].trim()]=e[1].trim())});i.removeAttribute("_wj-style")}}1==s.children.length&&(s=s.children[0]);i&&setCss(s,i);t&&(t=getElement(t)).appendChild(s);return s}exports.createElement=createElement;function setText(e,t){e.textContent=t||""}exports.setText=setText;function contains(e,t,i){for(let s=t;s&&e;){if(s===e)return!0;s=(i?s[Control._OWNR_KEY]:null)||s.parentNode||s.host}return!1}exports.contains=contains;function closest(e,t){if(e){if(isFunction(e.closest))return e.closest(t);let i=e.matches||e.webkitMatchesSelector||e.msMatchesSelector||e.mozMatchesSelector;if(i)for(;e&&1===e.nodeType;e=e.parentElement||e.parentNode)if(i.call(e,t))return e}return null}exports.closest=closest;function closestClass(e,t){return closest(e,"."+t)}exports.closestClass=closestClass;function enable(e,t){let i=!t,s="disabled";toggleClass(e,exports.ControlStateClsNames.disabled,i);setAttribute(e,s,i?s:null);let r=e.querySelectorAll("input,button");for(let e=0;e<r.length;e++)setAttribute(r[e],s,i?s:null)}exports.enable=enable;function getElementRect(e){let t=e.getBoundingClientRect();return new Rect(t.left+pageXOffset,t.top+pageYOffset,t.width,t.height)}exports.getElementRect=getElementRect;function setCss(e,t){assert(isObject(t),"css parameter should be an object");if(e instanceof Array)for(let i=0;i<e.length;i++)setCss(e[i],t);else if(e&&e.style){let i=e.style;for(let e in t){let s=t[e];"number"==typeof s&&e.match(/width|height|left|top|right|bottom|size|padding|margin'/i)&&(s+="px");i[e]!==s&&(i[e]=s)}}}exports.setCss=setCss;function animate(e,t,i,s){null==t&&(t=Control._ANIM_DEF_DURATION);null==i&&(i=Control._ANIM_DEF_STEP);e=asFunction(e);t=asNumber(t,!1,!0);i=asNumber(i,!1,!0);let r,n=Date.now(),o=setInterval(()=>{let i=Math.min(1,(Date.now()-n)/t);i=Math.sin(i*Math.PI/2);i*=i;r&&cancelAnimationFrame(r);r=requestAnimationFrame(()=>{r=null;e(i);i>=1&&s&&s()});i>=1&&clearInterval(o)},i);return o}exports.animate=animate;class Point{constructor(e=0,t=0){this.x=asNumber(e);this.y=asNumber(t)}equals(e,t=0,i=0){return e instanceof Point&&Math.abs(this.x-e.x)<=t&&Math.abs(this.y-e.y)<=i}clone(){return new Point(this.x,this.y)}}exports.Point=Point;class Size{constructor(e=0,t=0){this.width=asNumber(e);this.height=asNumber(t)}equals(e){return e instanceof Size&&this.width==e.width&&this.height==e.height}clone(){return new Size(this.width,this.height)}}exports.Size=Size;class Rect{constructor(e,t,i,s){this.left=asNumber(e);this.top=asNumber(t);this.width=asNumber(i);this.height=asNumber(s)}get right(){return this.left+this.width}get bottom(){return this.top+this.height}equals(e){return e instanceof Rect&&this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height}clone(){return new Rect(this.left,this.top,this.width,this.height)}static fromBoundingRect(e){if(null!=e.left)return new Rect(e.left,e.top,e.width,e.height);if(null!=e.x)return new Rect(e.x,e.y,e.width,e.height);assert(!1,"Invalid source rectangle.")}static union(e,t){let i=Math.min(e.left,t.left),s=Math.min(e.top,t.top),r=Math.max(e.right,t.right),n=Math.max(e.bottom,t.bottom);return new Rect(i,s,r-i,n-s)}static intersection(e,t){let i=Math.max(e.left,t.left),s=Math.max(e.top,t.top),r=Math.min(e.right,t.right),n=Math.min(e.bottom,t.bottom);return new Rect(i,s,r-i,n-s)}contains(e){if(e instanceof Point)return e.x>=this.left&&e.x<=this.right&&e.y>=this.top&&e.y<=this.bottom;if(e instanceof Rect){let t=e;return t.left>=this.left&&t.right<=this.right&&t.top>=this.top&&t.bottom<=this.bottom}assert(!1,"Point or Rect expected.")}inflate(e,t,i,s){return null!=i&&null!=s?new Rect(this.left-e,this.top-t,this.width+e+i,this.height+t+s):new Rect(this.left-e,this.top-t,this.width+2*e,this.height+2*t)}}exports.Rect=Rect;class DateTime{static addDays(e,t){(e=new Date(e.getTime())).setDate(e.getDate()+t);return e}static addMonths(e,t){var i=(e=new Date(e.getTime())).getDate();e.setMonth(e.getMonth()+t);e.getDate()!=i&&e.setDate(0);return e}static addYears(e,t){(e=new Date(e.getTime())).setFullYear(e.getFullYear()+t);return e}static addHours(e,t){(e=new Date(e.getTime())).setHours(e.getHours()+t);return e}static addMinutes(e,t){(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t);return e}static addSeconds(e,t){(e=new Date(e.getTime())).setSeconds(e.getSeconds()+t);return e}static weekFirst(e,t=Globalize.getFirstDayOfWeek()){return DateTime.addDays(e,-(e.getDay()-t))}static weekLast(e,t=Globalize.getFirstDayOfWeek()){e=DateTime.weekFirst(e,t);return DateTime.addDays(e,6)}static monthFirst(e){return DateTime.addDays(e,1-e.getDate())}static monthLast(e){e=DateTime.monthFirst(e);e=DateTime.addMonths(e,1);return DateTime.addDays(e,-1)}static yearFirst(e){return new Date(e.getFullYear(),0,1)}static yearLast(e){return new Date(e.getFullYear(),11,31)}static sameDate(e,t){return isDate(e)&&isDate(t)&&e.getFullYear()==t.getFullYear()&&e.getMonth()==t.getMonth()&&e.getDate()==t.getDate()}static sameTime(e,t){return isDate(e)&&isDate(t)&&e.getHours()==t.getHours()&&e.getMinutes()==t.getMinutes()&&e.getSeconds()==t.getSeconds()&&e.getMilliseconds()==t.getMilliseconds()}static equals(e,t){return null==e&&null==t||isDate(e)&&isDate(t)&&e.getTime()==t.getTime()}static fromDateTime(e,t){if(!e&&!t)return null;e||(e=t);t||(t=e);return DateTime.newDate(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}static toFiscal(e,t){let i=exports.culture.Globalize.calendar;return isArray(i.fiscalYearOffsets)?DateTime.addMonths(e,-i.fiscalYearOffsets[t?0:1]):e}static fromFiscal(e,t){let i=exports.culture.Globalize.calendar;return isArray(i.fiscalYearOffsets)?DateTime.addMonths(e,+i.fiscalYearOffsets[t?0:1]):e}static newDate(e,t,i,s,r,n,o){if(null==e||null==t||null==i){let s=new Date;null==e&&(e=s.getFullYear());null==t&&(t=s.getMonth());null==i&&(i=s.getDate())}null==s&&(s=0);null==r&&(r=0);null==n&&(n=0);null==o&&(o=0);let a=new Date(e,t,i,s,r,n,o),l=a.getFullYear();e<100&&l>=1900&&a.setFullYear(a.getFullYear()-1900);return a}static clone(e){return DateTime.fromDateTime(e,e)}}exports.DateTime=DateTime;function httpRequest(e,t){let i=t||{},s=i.method?asString(i.method).toUpperCase():"GET",r=null==i.async||asBoolean(i.async),n=i.data;if(null!=n&&"GET"==s){let t=[];for(let e in n){let i=n[e];isDate(i)&&(i=i.toJSON());t.push(e+"="+encodeURIComponent(i))}if(t.length){let i=e.indexOf("?")<0?"?":"&";e+=i+t.join("&")}n=null}let o=new XMLHttpRequest;o.URL_DEBUG=e;let a=!1;if(null!=n&&!isString(n)){a=isObject(n);n=JSON.stringify(n)}o.onload=function(){if(4==o.readyState){o.status<300?i.success&&asFunction(i.success)(o):i.error&&asFunction(i.error)(o);i.complete&&asFunction(i.complete)(o)}};o.onerror=function(){if(!isFunction(i.error))throw"HttpRequest Error: "+o.status+" "+o.statusText;i.error(o)};o.open(s,e,r,i.user,i.password);i.user&&i.password&&o.setRequestHeader("Authorization","Basic "+btoa(i.user+":"+i.password));a&&(()=>{for(let e in i.requestHeaders)if("content-type"===e.toLowerCase())return!1;return!0})()&&o.setRequestHeader("Content-Type","application/json");if(i.requestHeaders)for(let e in i.requestHeaders)o.setRequestHeader(e,i.requestHeaders[e]);isNumber(i.timeout)&&(o.timeout=i.timeout);isFunction(i.beforeSend)&&i.beforeSend(o);o.send(n);return o}exports.httpRequest=httpRequest;let _modules={};function _registerModule(e,t){_modules[e]=t;if("wijmo"===e){let e="undefined"!=typeof window?window:"undefined"!=typeof self?self:null;e&&(e.wijmo=t)}}exports._registerModule=_registerModule;function _getModule(e){return _modules[e]}exports._getModule=_getModule;function focusFirst(e,t){const i=e.querySelectorAll(t||'button, [href], input, [tabindex]:not([tabindex="-1"])'),s=Array.from(i).filter(e=>e.offsetWidth>0&&e.offsetHeight>0&&!e.hasAttribute("disabled")&&e.tabIndex>=0);if(s.length>0){s[0].focus();return!0}return!1}exports.focusFirst=focusFirst;exports.cellCoordinateParserRegex=new RegExp(/(\'?\w+\'?\!)?(\$?[A-Za-z]+)(\$?\d+)/,"g");function getScrollableParent(e){const t=document.scrollingElement;let i="absolute"==getComputedStyle(e).position?e.offsetParent:e.parentElement;for(;i&&i!=t;){if(i.clientHeight!=i.scrollHeight)return i;i="absolute"==getComputedStyle(i).position?i.offsetParent:i.parentElement;e=i}return t}exports.getScrollableParent=getScrollableParent;function getOffsetFromAncestor(e,t){let i=0,s=0,r=0,n=0;for(;e;){s+=e.offsetLeft;i+=e.offsetTop;e=e.offsetParent}for(;t;){n+=t.offsetLeft;r+=t.offsetTop;t=t.offsetParent}return{top:i-r,left:s-n}}exports.getOffsetFromAncestor=getOffsetFromAncestor;function _isMacOS(){return-1!==navigator.userAgent.indexOf("Mac")}exports._isMacOS=_isMacOS;function _setAriaLabelBy(e,t,i,s){let r=""===i?null:i;if(r!==e.ariaLabelledBy){e._ariaLabelledby=r;setAttribute(t,"aria-labelledby",r);s&&s()}}exports._setAriaLabelBy=_setAriaLabelBy;function deepElementFromPoint(e,t){let i=document.elementFromPoint(e,t);for(;i&&i.shadowRoot;){const s=i.shadowRoot.elementFromPoint(e,t);if(!s||s===i)break;i=s}return i}exports.deepElementFromPoint=deepElementFromPoint;function roundTo(e,t){const i=Math.pow(10,t);return Math.round(e*i)/i}exports.roundTo=roundTo;function addAttributeValueToElement(e,t,i){const s=e.getAttribute(t);if(s){if(!s.split(/\s+/).includes(i)){setAttribute(e,t,s+" "+i)}}else setAttribute(e,t,i)}exports.addAttributeValueToElement=addAttributeValueToElement;function removeAttributeValueFromElement(e,t,i){const s=e.getAttribute(t);if(!s)return;const r=i.toString(),n=s.split(/\s+/).filter(e=>e!==r);n.length>0?e.setAttribute(t,n.join(" ")):e.removeAttribute(t)}exports.removeAttributeValueFromElement=removeAttributeValueFromElement;function replaceItems(e,t){const i=new Map(t.map(e=>[""+e.value,e]));return e.map(e=>{const t=""+e.value;return i.has(t)?i.get(t):e})}exports.replaceItems=replaceItems;function _getTextDecorations(e){const t=[];if(e){e.underline&&t.push("underline");e.strikethrough&&t.push("line-through")}return t.length?t.join(" "):"none"}exports._getTextDecorations=_getTextDecorations;class _Map{constructor(e=!0){if(e)this._h={};else{let e=_getGlobal(),t=e&&e.Map;this._m=t&&new Map||new _ArrayMap}}get isPojoHash(){return null!=this._h}get size(){return this._h&&Object.keys(this._h).length||this._m.size}clear(){this._h?this._h={}:this._m.clear()}delete(e){this._h?delete this._h[e]:this._m.delete(e)}get(e){return this._h?this._h[e]:this._m.get(e)}has(e){return this._h?e in this._h:this._m.has(e)}set(e,t){this._h?this._h[e]=t:this._m.set(e,t);return this}}exports._Map=_Map;class _ArrayMap{constructor(){this._d=[]}get size(){return this._d.length}clear(){this._d=[]}delete(e){let t=this._kIdx(e);if(t>-1){this._d.splice(t,1);return!0}return!1}get(e){let t=this._kIdx(e);return t>-1?this._d[t].v:void 0}has(e){return this._kIdx(e)>-1}set(e,t){let i=this._kIdx(e);i>-1?this._d[i].v=t:this._d.push({k:e,v:t});return this}_kIdx(e){let t=this._d,i=t.length;if(e==e){for(let s=0;s<i;s++)if(t[s].k===e)return s}else for(let e=0;e<i;e++){let i=t[e].k;if(i!=i)return e}return-1}}function _getGlobal(){let e=null;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self);return e}class Color{constructor(e){this._r=0;this._g=0;this._b=0;this._a=1;e&&this._parse(e)}get r(){return this._r}set r(e){this._r=clamp(asNumber(e),0,255)}get g(){return this._g}set g(e){this._g=clamp(asNumber(e),0,255)}get b(){return this._b}set b(e){this._b=clamp(asNumber(e),0,255)}get a(){return this._a}set a(e){this._a=clamp(asNumber(e),0,1)}equals(e){return e instanceof Color&&this.r==e.r&&this.g==e.g&&this.b==e.b&&this.a==e.a}toString(){let e=Math.round(100*this.a);return e>99?"#"+((1<<24)+(this.r<<16)+(this.g<<8)+this.b).toString(16).slice(1):"rgba("+this.r+","+this.g+","+this.b+","+e/100+")"}static fromRgba(e,t,i,s=1){let r=new Color(null);r.r=Math.round(clamp(asNumber(e),0,255));r.g=Math.round(clamp(asNumber(t),0,255));r.b=Math.round(clamp(asNumber(i),0,255));r.a=clamp(asNumber(s),0,1);return r}static fromHsb(e,t,i,s=1){let r=Color._hsbToRgb(clamp(asNumber(e),0,1),clamp(asNumber(t),0,1),clamp(asNumber(i),0,1));return Color.fromRgba(r[0],r[1],r[2],s)}static fromHsl(e,t,i,s=1){let r=Color._hslToRgb(clamp(asNumber(e),0,1),clamp(asNumber(t),0,1),clamp(asNumber(i),0,1));return Color.fromRgba(r[0],r[1],r[2],s)}static fromString(e){let t=new Color(null);return t._parse(asString(e))?t:null}getHsb(){return Color._rgbToHsb(this.r,this.g,this.b)}getHsl(){return Color._rgbToHsl(this.r,this.g,this.b)}static interpolate(e,t,i){i=clamp(asNumber(i),0,1);let s=Color._rgbToHsl(e.r,e.g,e.b),r=Color._rgbToHsl(t.r,t.g,t.b),n=1-i,o=e.a*n+t.a*i,a=[s[0]*n+r[0]*i,s[1]*n+r[1]*i,s[2]*n+r[2]*i],l=Color._hslToRgb(a[0],a[1],a[2]);return Color.fromRgba(l[0],l[1],l[2],o)}static toOpaque(e,t){if(1==(e=isString(e)?Color.fromString(e):asType(e,Color)).a)return e;t=null==t?Color.fromRgba(255,255,255,1):isString(t)?Color.fromString(t):asType(t,Color);let i=e.a,s=1-i;return Color.fromRgba(e.r*i+t.r*s,e.g*i+t.g*s,e.b*i+t.b*s)}_parse(e){if("transparent"==(e=e.toLowerCase())){this._r=this._g=this._b=this._a=0;return!0}if(e&&0!=e.indexOf("#")&&0!=e.indexOf("rgb")&&0!=e.indexOf("hsl")){let t=document.createElement("div");t.style.color=e;let i=t.style.color;if(i==e){i=window.getComputedStyle(t).color;if(!i){document.body.appendChild(t);i=window.getComputedStyle(t).color;removeChild(t)}}e=i.toLowerCase()}if(0==e.indexOf("#")){if(this._isValidHexColor(e)){if(4==e.length){this.r=parseInt(e[1]+e[1],16);this.g=parseInt(e[2]+e[2],16);this.b=parseInt(e[3]+e[3],16);this.a=1;return!0}if(7==e.length){this.r=parseInt(e.substr(1,2),16);this.g=parseInt(e.substr(3,2),16);this.b=parseInt(e.substr(5,2),16);this.a=1;return!0}}return!1}if(0==e.indexOf("rgb")){let t=e.indexOf("("),i=e.indexOf(")");if(t>-1&&i>-1){let s=e.substr(t+1,i-(t+1)).split(",");if(s.length>2){this.r=parseInt(s[0]);this.g=parseInt(s[1]);this.b=parseInt(s[2]);this.a=s.length>3?parseFloat(s[3]):1;return!0}}}if(0==e.indexOf("hsl")){let t=e.indexOf("("),i=e.indexOf(")");if(t>-1&&i>-1){let s=e.substr(t+1,i-(t+1)).split(",");if(s.length>2){let e=parseInt(s[0])/360,t=parseInt(s[1]),i=parseInt(s[2]);s[1].indexOf("%")>-1&&(t/=100);s[2].indexOf("%")>-1&&(i/=100);let r=Color._hslToRgb(e,t,i);this.r=r[0];this.g=r[1];this.b=r[2];this.a=s.length>3?parseFloat(s[3]):1;return!0}}}return!1}_isValidHexColor(e){return/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.test(e)}static _hslToRgb(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSL values");let s,r,n;if(0==t)s=r=n=i;else{let o=i<.5?i*(1+t):i+t-i*t,a=2*i-o;s=Color._hue2rgb(a,o,e+1/3);r=Color._hue2rgb(a,o,e);n=Color._hue2rgb(a,o,e-1/3)}return[Math.round(255*s),Math.round(255*r),Math.round(255*n)]}static _hue2rgb(e,t,i){i<0&&(i+=1);i>1&&(i-=1);return i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static _rgbToHsl(e,t,i){assert(e>=0&&e<=255&&t>=0&&t<=255&&i>=0&&i<=255,"bad RGB values");e/=255,t/=255,i/=255;let s,r,n=Math.max(e,t,i),o=Math.min(e,t,i),a=(n+o)/2;if(n==o)s=r=0;else{let l=n-o;r=a>.5?l/(2-n-o):l/(n+o);switch(n){case e:s=(t-i)/l+(t<i?6:0);break;case t:s=(i-e)/l+2;break;case i:s=(e-t)/l+4}s/=6}return[s,r,a]}static _rgbToHsb(e,t,i){assert(e>=0&&e<=255&&t>=0&&t<=255&&i>=0&&i<=255,"bad RGB values");let s=Color._rgbToHsl(e,t,i);return Color._hslToHsb(s[0],s[1],s[2])}static _hsbToRgb(e,t,i){let s=Color._hsbToHsl(e,t,i);return Color._hslToRgb(s[0],s[1],s[2])}static _hsbToHsl(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSB values");let s=clamp(i*(2-t)/2,0,1),r=1-Math.abs(2*s-1),n=clamp(r>0?i*t/r:t,0,1);assert(!isNaN(s)&&!isNaN(n),"bad conversion to HSL");return[e,n,s]}static _hslToHsb(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSL values");let s=clamp(1==i?1:(2*i+t*(1-Math.abs(2*i-1)))/2,0,1),r=clamp(s>0?2*(s-i)/s:t,0,1);assert(!isNaN(s)&&!isNaN(r),"bad conversion to HSB");return[e,r,s]}}exports.Color=Color;exports.culture="undefined"!=typeof window&&window.wijmo&&window.wijmo.culture||{Globalize:{numberFormat:{".":".",",":",","-":"-","+":"+","%":"%",percent:{pattern:["-n%","n%"]},currency:{decimals:2,symbol:"$",pattern:["($n)","$n"]}},calendar:{"/":"/",":":":",firstDay:0,days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],am:["AM","A"],pm:["PM","P"],eras:["A.D.","B.C."],patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",t:"h:mm tt",T:"h:mm:ss tt",M:"MMMM d",m:"MMMM d",Y:"MMMM, yyyy",y:"MMMM, yyyy",g:"M/d/yyyy h:mm tt",G:"M/d/yyyy h:mm:ss tt",s:'yyyy"-"MM"-"dd"T"HH":"mm":"ss',o:'yyyy"-"MM"-"dd"T"HH":"mm":"ss"."fffffffK',O:'yyyy"-"MM"-"dd"T"HH":"mm":"ss"."fffffffK',U:"dddd, MMMM dd, yyyy h:mm:ss tt"},fiscalYearOffsets:[-3,-3]}}};class Globalize{static format(e,t,i,s,r){if(isString(e))return e;if(isNumber(e)){t=t||(e==Math.round(e)?"n0":"n2");return Globalize.formatNumber(e,t,i,s,r)}if(isDate(e)){t=t||Globalize.DefaultDateFormat;return Globalize.formatDate(e,t)}return null!=e?e.toString():""}static formatNumber(e,t,i,s,r){e=asNumber(e);t=asString(t);let n,o=exports.culture.Globalize.numberFormat,a=Globalize._parseNumericFormat(t),l=a.spec,u=a.prec,c=o["."]||".",h=o[","]||",",d=o["-"]||"-",p=Math;null==u&&(u=null!=r?r:"c"==l?o.currency.decimals:"e"==l?6:"r"==l?15:e==p.round(e)?0:2);a.scale&&(e/=p.pow(10,a.scale));if("d"==l||"x"==l){n=(s?p.floor:p.round)(p.abs(e)).toString("d"==l?10:16);for(;n.length<u;)n="0"+n;e<0&&(n=d+n);return"X"==a.specRaw?n.toUpperCase():n}s&&"p"!=l&&"e"!=l&&(e=toFixed(e,u,!0));switch(l){case"e":n=e.toExponential(u);"E"==a.specRaw&&(n=n.replace("e","E"));break;case"c":n=Globalize._toFixedStr(p.abs(e),u);break;case"p":e=Globalize._shiftDecimal(e,2,14);s&&(e=toFixed(e,u,s));n=Globalize._toFixedStr(p.abs(e),u);break;default:n=Globalize._toFixedStr(e,u);"-"!=n[0]||n.match(/[1-9]/)||(n=n.substr(1))}(i||"g"==l||"r"==l)&&n.indexOf(".")>-1&&(n=n.replace(/(\.\d*?)0+$/g,"$1").replace(/\.$/,""));"."!=c&&(n=n.replace(".",c));"-"!=d&&(n=n.replace("-",d));if(h&&("n"==l||"c"==l||"p"==a.specRaw||"F"==a.specRaw||"G"==a.specRaw)){let e=n.indexOf(c),t=/\B(?=(\d\d\d)+(?!\d))/g;n=e>-1?n.substr(0,e).replace(t,h)+n.substr(e):n.replace(t,h)}if("c"==l){let t=e<0&&n.match(/[1-9]/)?0:1,i=o.currency.pattern[t],s=a.curr||o.currency.symbol;""==s&&(s="");n=i.replace("n",n).replace("$",s)}if("p"==l){let t=e<0&&n.match(/[1-9]/)?0:1,i=o.percent.pattern[t],s=o["%"]||"%";n=i.replace("n",n);"%"!=s&&(n=n.replace("%",s));"-"!=d&&0==t&&(n=n.replace("-",d))}return a.prefix||a.suffix?a.prefix+n+a.suffix:n}static formatDate(e,t){e=asDate(e);switch(t){case"r":case"R":return e.toUTCString();case"u":return e.toISOString().replace(/\.\d{3}/,"")}t=Globalize._expandFormat(t);return Globalize._parseDateFormat(t).map(i=>Globalize._formatDatePart(e,t,i)).join("")}static parseInt(e,t){return Math.round(Globalize.parseFloat(e,t))}static parseFloat(e,t){let i=Globalize._parseNumericFormat(t),s=i.prefix;s&&0==e.indexOf(s)&&(e=e.substring(s.length));let r=i.suffix;if(r){let t=e.lastIndexOf(r);t>-1&&t==e.length-r.length&&(e=e.substring(0,e.length-r.length))}let n=exports.culture.Globalize.numberFormat,o=n["."]||".",a=n[","]||",",l=n["-"]||"-",u=n["%"]||"%",c=i.curr||n.currency.symbol||"$",h=e.indexOf(u)>-1,d=e.indexOf("(")>-1&&e.indexOf(")")>-1,p=0;if("x"==i.spec)p=parseInt(e,16);else{[c,u,"(",")"].forEach(t=>{e=e.replace(t,"")});/\s/.test(a)&&(e=e.replace(/\s+/g,""));let t=(e=e.replace(new RegExp("\\"+a,"g"),"").replace(new RegExp("\\"+l,"g"),"-").replace(/(\+|\-)\s+/g,"$1").replace(o,".").trim()).length;if(!d&&t&&"-"==e[t-1]){d=!0;e=e.substring(0,t-1)}p=/^\s*(\+|\-)?\d*(\.\d*)?(\s*E(\+|\-)?\d+)?\s*$/i.test(e)?parseFloat(e):Number.NaN}if(!isNaN(p)){d=d||p<0;p=Math.abs(p);h&&(p=Globalize._shiftDecimal(p,-2));d&&(p=-p);i.scale&&(p*=Math.pow(10,i.scale))}return p}static parseDate(e,t,i){if(!(e=asString(e)))return null;if("u"==t)return new Date(e);let s;if("R"==t||"r"==t){let t=/((\d+)\-(\d+)\-(\d+))?\s?((\d+):(\d+)(:(\d+))?)?/,i=e.match(t);if(i[1]||i[5]){s=i[1]?new Date(parseInt(i[2]),parseInt(i[3])-1,parseInt(i[4])):new Date;if(i[5]){s.setHours(parseInt(i[6]));s.setMinutes(parseInt(i[7]));s.setSeconds(i[8]?parseInt(i[9]):0)}}else s=new Date(e);return isNaN(s.getTime())?null:s}t=Globalize._expandFormat(t||"d");let r=exports.culture.Globalize.calendar,n=Globalize._CJK,o=new RegExp("(\\"+r["/"]+")|(\\"+r[":"]+")|(\\d+)|(["+n+"\\.]{2,})|(["+n+"]+)","gi"),a=e.match(o),l=Globalize._parseDateFormat(t),u=0;if(!(a&&a.length&&l&&l.length))return null;let c,h,d,p,g,f=-1,_=0,m=1,b=0,C=0,v=0,w=0,y=-1,x=null;if(i=asDate(i,!0)){_=i.getMonth();m=i.getDate();b=i.getHours();C=i.getMinutes();v=i.getSeconds();w=i.getMilliseconds()}for(let e=0;e<l.length&&a;e++){let t=e-u,i=t>-1&&t<a.length?a[t]:"",s=l[e].length;switch(l[e]){case"EEEE":case"EEE":case"EE":case"E":case"eeee":case"eee":case"ee":case"e":g=l[e];case"yyyy":case"yyy":case"yy":case"y":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}f=parseInt(i);p=4==i.length;break;case"MMMM":case"MMM":d=!0;_=-1;let n=i.toLowerCase(),o="MMMM"==l[e]?r.months:r.monthsAbbr;for(let e=0;e<12;e++)if(0==o[e].toLowerCase().indexOf(n)){_=e;break}if(_>-1)break;case"MM":case"M":d=!0;if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}_=parseInt(i)-1;break;case"dddd":case"ddd":c=!0;break;case"dd":case"d":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}m=parseInt(i);h=!0;break;case"hh":case"h":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}b=parseInt(i);b=12==b?0:b;break;case"HH":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}b=parseInt(i);break;case"H":b=parseInt(i);break;case"mm":case"m":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}C=parseInt(i);break;case"ss":case"s":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}v=parseInt(i);break;case"fffffff":case"FFFFFFF":case"ffffff":case"FFFFFF":case"fffff":case"FFFFF":case"ffff":case"FFFF":case"fff":case"FFF":case"ff":case"FF":case"f":case"F":w=parseInt(i)/Math.pow(10,s-3);break;case"tt":case"t":i=i.toUpperCase();b<12&&r.pm.indexOf(i)>-1&&(b+=12);break;case"q":case"Q":case"u":case"U":y=parseInt(i);break;case"ggg":case"gg":case"g":case'"г."':x=r.eras.length>1?Globalize._getEra(i,r):r.eras.length>0?r.eras[0]:null;if(r.eras.length>0&&!x)return null;break;case"/":case":":if(i&&i!=r[l[e]])return null;break;case r["/"]:case r[":"]:if(i&&i!=l[e])return null;break;case"K":break;default:Globalize._unquote(l[e]).trim()!=i.trim()&&u++}}if(d&&h){isNaN(b)&&(b=0);isNaN(C)&&(C=0);isNaN(v)&&(v=0)}if(_<0||_>11||isNaN(_)||m<1||m>31||isNaN(m)||b<0||b>=24||isNaN(b)||C<0||C>=60||isNaN(C)||v<0||v>=60||isNaN(v))return null;if(a.length+u>l.length)return null;if(g){if(!d)return null;let e=exports.culture.Globalize.calendar;if(isArray(e.fiscalYearOffsets)){let t="E"==g[0],i=_-e.fiscalYearOffsets[t?0:1];f+=i>11?-1:i<0?1:0}}if(c&&!h)return null;!d&&y>=1&&y<=4&&(_=3*(y-1));if(isNaN(f)||f<0)f=i?i.getFullYear():(new Date).getFullYear();else if(x&&x.start)f=f+x.start.getFullYear()-1;else if(f<100&&!p){let e=isNumber(r.twoDigitYearMax)?r.twoDigitYearMax:2029;e>99&&(f+=f+2e3<=e?2e3:1900)}s=DateTime.newDate(f,_,m,b,C+0,v,w);return s.getMonth()!=_||s.getDate()!=m||isNaN(s.getTime())?null:s}static getFullFormat(e){return Globalize._expandFormat(e)}static getFirstDayOfWeek(){let e=exports.culture.Globalize.calendar.firstDay;return e||0}static getNumberDecimalSeparator(){let e=exports.culture.Globalize.numberFormat["."];return e||"."}static _toFixedStr(e,t){let i=e.toString(),s=i.indexOf("."),r=t-(i.length-s)+1,n=i.indexOf("e")>-1;if(!n&&s>-1&&r>=0)return i+Array(r+1).join("0");if(s>-1&&!n&&"5"==i[i.length-1]){e=+(Math.round(+(Math.abs(e)+"e"+t))+"e"+-t)*(e<0?-1:1)}return e.toFixed(t)}static _unquote(e){return e.length>1&&e[0]==e[e.length-1]&&("'"==e[0]||'"'==e[0])?e.substr(1,e.length-2):e}static _parseNumericFormat(e){let t=Globalize._numFormatInfo[e];if(!t){let i=e&&e.match(/(\"(.*?)\"\s*)?([a-z]+)\s*(\d*)\s*(,*)(\s*\"(.*?)\"\s*)?(.*)/i)||[],s=i[3]?i[3]:"n";if(s.length>1){i=[];s="n"}t={prefix:i[2]||"",spec:s.toLowerCase(),specRaw:s,prec:i[4]?parseInt(i[4]):null,scale:i[5]?3*i[5].length:0,suffix:i[7]||"",curr:i[8]||null};Globalize._numFormatInfo[e]=t}return t}static _parseDateFormat(e){let t=Globalize._dateFormatParts[e];if(!t){t=[];if(e){let i,s;for(i=0;i>-1&&i<e.length;i++){let r=e[i];if("'"==r||'"'==r){s=e.indexOf(r,i+1);if(s>-1){t.push(e.substring(i,s+1));i=s;continue}}if("\\"==r&&i<e.length-1){i++;t.push('"'+e[i]+'"')}else{s=i+1;for(;s<e.length&&e[s]==r;s++);t.push(e.substring(i,s));i=s-1}}}Globalize._dateFormatParts[e]=t}return t}static _formatDatePart(e,t,i){let s,r=exports.culture.Globalize.calendar,n=null,o=0,a=0,l=i.length;switch(i){case"yyyy":case"yyy":case"yy":case"y":case"EEEE":case"EEE":case"EE":case"E":case"eeee":case"eee":case"ee":case"e":s="E"==i[0]?DateTime.toFiscal(e,!0):"e"==i[0]?DateTime.toFiscal(e,!1):e;o=s.getFullYear();if(r.eras.length>1&&t.indexOf("g")>-1){n=Globalize._getEra(e,r);n&&(o=isDate(n.start)?o-n.start.getFullYear()+1:Math.abs(o))}let u=i.length<3?o%100:3==i.length?o%1e3:o;return Globalize._zeroPad(u,i.length);case"MMMMM":return r.monthsAbbr[e.getMonth()][0];case"MMMM":return r.months[e.getMonth()];case"MMM":return r.monthsAbbr[e.getMonth()];case"MM":case"M":return Globalize._zeroPad(e.getMonth()+1,l);case"dddd":return r.days[e.getDay()];case"ddd":return r.daysAbbr[e.getDay()];case"dd":return Globalize._zeroPad(e.getDate(),2);case"d":return e.getDate().toString();case"hh":case"h":return Globalize._zeroPad(Globalize._h12(e),l);case"HH":case"H":return Globalize._zeroPad(e.getHours(),l);case"mm":case"m":return Globalize._zeroPad(e.getMinutes(),l);case"ss":case"s":return Globalize._zeroPad(e.getSeconds(),l);case"fffffff":case"FFFFFFF":case"ffffff":case"FFFFFF":case"fffff":case"FFFFF":case"ffff":case"FFFF":case"fff":case"FFF":case"ff":case"FF":case"f":case"F":a=e.getMilliseconds()*Math.pow(10,l-3);return"f"==i[0]?Globalize._zeroPad(a,l):a.toFixed(0);case"tt":return e.getHours()<12?r.am[0]:r.pm[0];case"t":return e.getHours()<12?r.am[1]:r.pm[1];case"q":case"Q":return(Math.floor(e.getMonth()/3)+1).toString();case"u":case"U":s=DateTime.toFiscal(e,"U"==i);return(Math.floor(s.getMonth()/3)+1).toString();case"ggg":case"gg":case"g":if(r.eras.length>1){n=Globalize._getEra(e,r);if(n){if(isString(n))return n;switch(i){case"gg":return n.name[0];case"g":return n.symbol;default:return n.name}}}return r.eras[0];case":":case"/":return r[i];case"K":let c=e.toString().match(/(\+|\-)(\d{2})(\d{2})/);return c?c[1]+c[2]+c[3]:"";case"zzz":case"zz":case"z":let h,d=-e.getTimezoneOffset(),p=Math.abs(d),g=Globalize.formatNumber;switch(i){case"zzz":h=g(p/60,"d2",!1,!0)+r[":"]+g(p%60,"d2",!1,!0);break;case"zz":h=g(p/60,"d2",!1,!0);break;case"z":h=g(p/60,"d1",!1,!0)}return(d>=0?"+":"-")+h}return l>1&&i[0]==i[l-1]&&('"'==i[0]||"'"==i[0])?i.substr(1,l-2):i}static _getEra(e,t){if(t.eras){let i=t.eras,s=t.eras.length;if(isDate(e)){if(isString(i[0]))return i[e.getFullYear()>=0?0:1];if(isDate(i[0].start)){for(let t=0;t<s;t++)if(e>=i[t].start)return i[t];return i[s-1]}}else if(isString(e)&&e.length>0){e=e.toLowerCase();for(let t=0;t<s;t++){let s=i[t];if(isString(s)){if(0==s.toLowerCase().indexOf(e))return s}else if(s.name&&0==s.name.toLowerCase().indexOf(e)||s.symbol&&0==s.symbol.toLowerCase().indexOf(e))return s}}}return null}static _expandFormat(e){let t=exports.culture.Globalize.calendar.patterns[e];return t||e}static _zeroPad(e,t){let i=e.toFixed(0),s=t-i.length+1;return s>0?Array(s).join("0")+i:i}static _h12(e){let t=exports.culture.Globalize.calendar,i=e.getHours();if(t.am&&t.am[0]){i%=12;0==i&&(i=12)}return i}static _shiftDecimal(e,t,i){if(0==t||isNaN(e))return e;let s=e.toString();if(s.indexOf("e")>-1){let s=e*Math.pow(10,t);null!=i&&(s=parseFloat(s.toFixed(i)));return s}let r=Array(Math.abs(t)+1).join("0");t<0&&(s=r+s);var n=s.indexOf(".");if(n<0){s+=".";n=s.indexOf(".")}t>0&&(s+=r);n+=t;s=s.replace(".","");s=s.substr(0,n)+"."+s.substr(n);return parseFloat(s)}}Globalize.DefaultDateFormat="d";Globalize._CJK="a-z"+"u00c0-u017fu3000-u30ffu4e00-u9faf".replace(/u/g,"\\u")+"u1100-u11ffu3130-u318fua960-ua97fuac00-ud7afud7b0-ud7ff".replace(/u/g,"\\u");Globalize._numFormatInfo={};Globalize._dateFormatParts={};exports.Globalize=Globalize;exports._loadedCultures="undefined"!=typeof window&&window.wijmo&&window.wijmo._loadedCultures||{};function _updateCulture(e){exports.culture=e;exports._loadedCultures[e.Globalize.name]=e}exports._updateCulture=_updateCulture;function _addCultureInfo(e,t){let i="undefined"!=typeof window?window.wijmo:null,s=i?i.culture:null,r=s?s[e]:null;exports.culture[e]=r||t}exports._addCultureInfo=_addCultureInfo;exports.changeCultureSync=(e,t)=>{const i=document.getElementsByTagName("script");for(let e=0;e<i.length;e++){let t=i[e];if(t.src.indexOf("wijmo.culture.")>-1){t.parentElement.removeChild(t);break}}const s=exports._loadedCultures[e]||void 0;if(s){let e=window.wijmo._updateCulture;e?e(s):window.wijmo.culture=s;t&&t();window.wijmo.Control.invalidateAll()}return s};exports.changeCulture=e=>new Promise((t,i)=>{const s=exports.changeCultureSync(e);s?t(s):i()});class _MaskProvider{constructor(e,t="",i="_"){this._promptChar="_";this._mskArr=[];this._overWrite=!1;this._full=!0;this._inputBnd=this._input.bind(this);this._keydownBnd=this._keydown.bind(this);this._keypressBnd=this._keypress.bind(this);this._cmpstartBnd=this._cmpstart.bind(this);this._cmpendBnd=this._cmpend.bind(this);this.mask=asString(t);this.input=e;this.promptChar=asString(i,!1);this._connect(!0);(this._evtInput=document.createEvent("HTMLEvents")).initEvent("input",!0,!1)}get input(){return this._tbx}set input(e){this._connect(!1);this._tbx=e;this._connect(!0)}get mask(){return this._msk}set mask(e){if(e!=this._msk){this._msk=asString(e,!0);this._parseMask();this._valueChanged()}}get promptChar(){return this._promptChar}set promptChar(e){if(e!=this._promptChar){assert(1==(e=asString(e,!1)).length,"promptChar must be a string with length 1.");let t=this._tbx,i=t.value,s="",r=this._mskArr,n=this._promptChar;for(let t=0;t<i.length;t++){let o=r[t],a=i[t];o&&o.literal||a!==n||(a=e);s+=a}t.value=s;this._promptChar=e}}get overwriteMode(){return this._overWrite}set overwriteMode(e){this._overWrite=asBoolean(e)}get maskFull(){return this._full}getMaskRange(){return this._mskArr.length?[this._firstPos,this._lastPos]:[0,this._tbx.value.length-1]}getRawValue(){let e=this._tbx?this._tbx.value:"";if(!this.mask)return e;let t="";for(let i=0;i<this._mskArr.length&&i<e.length;i++)this._mskArr[i].literal||e[i]==this._promptChar||(t+=e[i]);return t}refresh(){this._parseMask();this._valueChanged()}_input(e){if(this._msk&&!this._composing&&e!=this._evtInput){e.preventDefault();e.stopImmediatePropagation();setTimeout(()=>{this._valueChanged();this._tbx&&this._tbx.dispatchEvent(this._evtInput)})}}_keydown(e){if(e.keyCode==Key.Back){let t=this._tbx.selectionStart,i=this._tbx.selectionEnd;if(t<=this._firstPos&&i==t){e.preventDefault();this._backSpace=!1;return}}this._backSpace=e.keyCode==Key.Back}_keypress(e){e.ctrlKey||e.metaKey||e.altKey||this._composing||!this._preventKey(e.charCode)||e.preventDefault()}_cmpstart(e){this._composing=!0}_cmpend(e){if(this._composing){this._composing=!1;setTimeout(()=>{let e=this._tbx;e&&this._valueChanged()&&e.dispatchEvent(this._evtInput)})}}_preventKey(e){if(e&&this._mskArr.length){let t=this._tbx,i=t.selectionStart,s=String.fromCharCode(e);if(i<this._firstPos){i=this._firstPos;setSelectionRange(t,i)}if(i>=this._mskArr.length)return!0;let r=this._mskArr[i];if(r.literal)this._validatePosition(i);else if(r.wildCard!=s&&!this._isCharValid(r.wildCard,s))return!0}return!1}_connect(e){let t=this._tbx;if(t){assert(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement,"INPUT or TEXTAREA element expected.");if(e){this._autoComplete=t.autocomplete;this._spellCheck=t.spellcheck;t.autocomplete="off";t.spellcheck=!1;t.addEventListener("input",this._inputBnd,!0);t.addEventListener("keydown",this._keydownBnd,!0);t.addEventListener("keypress",this._keypressBnd,!0);t.addEventListener("compositionstart",this._cmpstartBnd,!0);t.addEventListener("compositionend",this._cmpendBnd,!0);t.addEventListener("blur",this._cmpendBnd,!0);this._valueChanged()}else{t.autocomplete=this._autoComplete;t.spellcheck=this._spellCheck;t.removeEventListener("input",this._inputBnd,!0);t.removeEventListener("keydown",this._keydownBnd,!0);t.removeEventListener("keypress",this._keypressBnd,!0);t.removeEventListener("compositionstart",this._cmpstartBnd,!0);t.removeEventListener("compositionend",this._cmpendBnd,!0);t.removeEventListener("blur",this._cmpendBnd,!0)}}}_valueChanged(){if(!this._tbx||!this._msk)return!1;let e=this._tbx,t=e.selectionStart,i=t>0?e.value[t-1]:"",s=e.value;e.value=this._applyMask();""==s&&(t=this._firstPos+1);let r=t>0?e.value[t-1]:"";t>0&&r==this._promptChar&&i!=this.promptChar&&t--;t==s.length&&(t=this._matchEnd);this._validatePosition(t);return s!=e.value}_applyMask(){let e=this._tbx,t=e.value;this._full=!0;this._matchEnd=0;if(!this._msk)return t;if(!t&&!e.required)return t;if(this._overWrite){let i=e.selectionStart;e==document.activeElement&&e.selectionEnd==i&&t.length>this.mask.length&&(t=t.substr(0,i)+t.substr(i+t.length-this.mask.length))}t=this._handleVagueLiterals(t);let i="",s=0,r=this._promptChar;for(let e=0;e<this._mskArr.length;e++){let n=this._mskArr[e],o=n.literal;o&&o==t[s]&&s++;if(n.wildCard){o=r;if(t){let e=s;for(;e<t.length;e++)if(this._isCharValid(n.wildCard,t[e])){o=t[e];switch(n.charCase){case">":o=o.toUpperCase();break;case"<":o=o.toLowerCase()}o!=r&&(this._matchEnd=i.length+1);break}s=e+1}o==r&&(this._full=!1)}i+=o}return i}_handleVagueLiterals(e){if(e.length>this._mskArr.length+1)return e;let t=e.length-this._mskArr.length;if(0!=t&&e.length>1){let i=-1,s=this._backSpace,r=this._tbx,n=r==getActiveElement()?r.selectionStart:r.value.length;for(let e=Math.max(0,n-t);e<this._mskArr.length;e++)if(this._mskArr[e].vague){i=e;break}if(i>-1)if(t<0){if(s)for(;i>0&&this._mskArr[i-1].literal;)i--;let r=Array(1-t).join(this._promptChar),n=i+t;n>-1&&(e=e.substr(0,n)+r+e.substr(n-t))}else{for(;i>0&&this._mskArr[i-1].literal;)i--;e=e.substr(0,i)+e.substr(i+t)}}return e}_isCharValid(e,t){if(t==this._promptChar)return!0;switch(e){case"0":return this._isDigit(t);case"9":return this._isDigit(t)||" "==t;case"#":return this._isDigit(t)||" "==t||"+"==t||"-"==t;case"L":return this._isLetter(t);case"l":return this._isLetter(t)||" "==t;case"A":return this._isDigit(t)||this._isLetter(t);case"a":return this._isDigit(t)||this._isLetter(t)||" "==t;case"9":return t>="0"&&t<="9";case"J":case"G":return!("G"==e&&_MaskProvider._X_DBCS_BIG_HIRA.indexOf(t)>-1)&&(t>="ぁ"&&t<="ゟ");case"K":case"N":return!("N"==e&&_MaskProvider._X_DBCS_BIG_KATA.indexOf(t)>-1)&&(t>="゠"&&t<="ヿ");case"Z":return!(t>="ヲ"&&t<="゚")&&(t<" "||t>"ÿ");case"H":return t>="!"&&t<="ÿ"||t>="ヲ"&&t<="゚";case"K":case"N":return!("N"==e&&_MaskProvider._X_SBCS_BIG_KATA.indexOf(t)>-1)&&(t>="ヲ"&&t<="゚")}return!1}_isDigit(e){return e>="0"&&e<="9"}_isLetter(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}_validatePosition(e){let t=this._mskArr;if(this._backSpace)for(;e>0&&e<t.length&&t[e-1].literal;)e--;if(0==e||!this._backSpace)for(;e<t.length&&t[e].literal;)e++;getActiveElement()==this._tbx&&setSelectionRange(this._tbx,e);this._backSpace=!1}_parseMask(){this._mskArr=[];this._firstPos=-1;this._lastPos=-1;let e,t=this._msk,i="|";for(let s=0;t&&s<t.length;s++)switch(t[s]){case"0":case"9":case"#":case"A":case"a":case"L":case"l":case"9":case"J":case"G":case"K":case"N":case"Z":case"K":case"N":case"H":this._firstPos<0&&(this._firstPos=this._mskArr.length);this._lastPos=this._mskArr.length;this._mskArr.push(new _MaskElement(t[s],i));break;case".":case",":case":":case"/":case"$":switch(t[s]){case".":case",":e=exports.culture.Globalize.numberFormat[t[s]];break;case":":case"/":e=exports.culture.Globalize.calendar[t[s]];break;case"$":e=exports.culture.Globalize.numberFormat.currency.symbol}for(let t=0;t<e.length;t++)this._mskArr.push(new _MaskElement(e[t]));break;case"<":case">":case"|":i=t[s];break;case"\\":s<t.length-1&&s++;this._mskArr.push(new _MaskElement(t[s]));break;default:this._mskArr.push(new _MaskElement(t[s]))}for(let e=0;e<this._mskArr.length;e++){let t=this._mskArr[e];if(t.literal)for(let e=0;e<this._mskArr.length;e++){let i=this._mskArr[e];if(i.wildCard&&this._isCharValid(i.wildCard,t.literal)){t.vague=!0;break}}}}dispose(){this._connect(!1);this._tbx=null;this._inputBnd=null;this._keydownBnd=null;this._keypressBnd=null;this._cmpstartBnd=null;this._cmpendBnd=null;this._mskArr=null;this._evtInput=null}}_MaskProvider._X_DBCS_BIG_HIRA="ぁぃぅぇぉっゃゅょゎゕゖ";_MaskProvider._X_DBCS_BIG_KATA="ァィゥェォッャュョヮヵヶ";_MaskProvider._X_SBCS_BIG_KATA="ァィゥェォャュョッ";exports._MaskProvider=_MaskProvider;class _MaskElement{constructor(e,t){if(t){this.wildCard=e;this.charCase=t}else this.literal=e}}exports._MaskElement=_MaskElement;var Aggregate;!function(e){e[e.None=0]="None";e[e.Sum=1]="Sum";e[e.Cnt=2]="Cnt";e[e.Avg=3]="Avg";e[e.Max=4]="Max";e[e.Min=5]="Min";e[e.Rng=6]="Rng";e[e.Std=7]="Std";e[e.Var=8]="Var";e[e.StdPop=9]="StdPop";e[e.VarPop=10]="VarPop";e[e.CntAll=11]="CntAll";e[e.First=12]="First";e[e.Last=13]="Last"}(Aggregate=exports.Aggregate||(exports.Aggregate={}));function getAggregate(e,t,i,s){let r=0,n=0,o=0,a=0,l=null,u=null,c=null,h=i?new Binding(i):null;if((e=asEnum(e,Aggregate))==Aggregate.CntAll)return t.length;for(let i=0;i<t.length;i++){let d=t[i];h&&(d=h.getValue(d));if(null!=d){if(e==Aggregate.First)return d;r++;(null==l||d<l)&&(l=d);(null==u||d>u)&&(u=d);c=d;d&&"string"==typeof d&&d.length>1&&"="===d[0]&&"="!==d[1]&&s&&"function"==typeof s.evaluate&&(d=s.evaluate(d));if(isNumber(d)&&!isNaN(d)){n++;o+=d;a+=d*d}else if(isBoolean(d)){n++;if(1==d){o++;a++}}}}let d=0==n?0:o/n;switch(e){case Aggregate.Avg:return d;case Aggregate.Cnt:return r;case Aggregate.Max:return u;case Aggregate.Min:return l;case Aggregate.Rng:return u-l;case Aggregate.Sum:return o;case Aggregate.VarPop:return n<=1?0:a/n-d*d;case Aggregate.StdPop:return n<=1?0:Math.sqrt(a/n-d*d);case Aggregate.Var:return n<=1?0:(a/n-d*d)*n/(n-1);case Aggregate.Std:return n<=1?0:Math.sqrt((a/n-d*d)*n/(n-1));case Aggregate.Last:return c;case Aggregate.First:return null}throw"Invalid aggregate type."}exports.getAggregate=getAggregate;function extend(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e}class ArrayBase extends Array{constructor(){canChangePrototype?this.length=0:super()}}exports.ArrayBase=ArrayBase;let canChangePrototype=!0;try{extend(ArrayBase.prototype,Array.prototype);canChangePrototype=ArrayBase.prototype.length===Array.prototype.length}catch(e){canChangePrototype=!1}var SortNulls,symb="undefined"!=typeof window?window.Symbol:null;!canChangePrototype&&symb&&symb.species&&Object.defineProperty(ArrayBase,symb.species,{get:function(){return Array},enumerable:!1,configurable:!1});class ObservableArray extends ArrayBase{constructor(e){super();this._updating=0;this.collectionChanged=new Event;if(e){e=asArray(e);this._updating++;for(let t=0;t<e.length;t++)this.push(e[t]);this._updating--}}push(...e){e.forEach(e=>{super.push(e);this._raiseCollectionChanged(NotifyCollectionChangedAction.Add,e,this.length-1)});return this.length}shift(){let e=super.shift();this._raiseCollectionChanged(NotifyCollectionChangedAction.Remove,e,0);return e}unshift(...e){let t=super.unshift(...e);1==e.length?this._raiseCollectionChanged(NotifyCollectionChangedAction.Add,e[0],0):this._raiseCollectionChanged();return t}pop(){let e=super.pop();this._raiseCollectionChanged(NotifyCollectionChangedAction.Remove,e,this.length);return e}splice(e,t,...i){let s,r=NotifyCollectionChangedAction,n=this._raiseCollectionChanged.bind(this);if(t&&i.length){s=super.splice(e,t,...i);1==t&&1==i.length?n(r.Change,i[0],e):n()}else if(i.length){s=super.splice(e,0,...i);1==i.length?n(r.Add,i[0],e):n()}else{s=super.splice(e,t);1==t?n(r.Remove,s[0],e):n()}return s}slice(e,t){return super.slice(e,t)}indexOf(e,t){return super.indexOf(e,t)}sort(e){let t=super.sort(e);this._raiseCollectionChanged();return t}insert(e,t){this.splice(e,0,t)}remove(e){let t=this.indexOf(e);t>-1&&this.removeAt(t);return t>-1}removeAt(e){this.splice(e,1)}setAt(e,t){e>=this.length&&(this.length=e+1);this.splice(e,1,t)}clear(){this.length&&this.splice(0,this.length)}beginUpdate(){this._updating++}endUpdate(e=!1){this._updating--;this._updating<=0&&!e&&this._raiseCollectionChanged()}get isUpdating(){return this._updating>0}deferUpdate(e){try{this.beginUpdate();e()}finally{this.endUpdate()}}implementsInterface(e){return"INotifyCollectionChanged"==e}onCollectionChanged(e=NotifyCollectionChangedEventArgs.reset){this.isUpdating||this.collectionChanged.raise(this,e)}_raiseCollectionChanged(e=NotifyCollectionChangedAction.Reset,t,i){if(!this.isUpdating){let s=new NotifyCollectionChangedEventArgs(e,t,i);this.onCollectionChanged(s)}}}exports.ObservableArray=ObservableArray;!function(e){e[e.Natural=0]="Natural";e[e.First=1]="First";e[e.Last=2]="Last"}(SortNulls=exports.SortNulls||(exports.SortNulls={}));const _OBJ_DEPTH=2;class CollectionView{constructor(e,t){this._srcRaw=null;this._src=null;this._ncc=null;this._view=null;this._pgView=null;this._groups=null;this._fullGroups=null;this._digest="";this._idx=-1;this._filter=null;this._filters=new ObservableArray;this._srtDsc=new ObservableArray;this._grpDesc=new ObservableArray;this._newItem=null;this._edtItem=null;this._edtClone=null;this._committing=!1;this._canceling=!1;this._pendingRefresh=!1;this._pendingRemove=!1;this._pgSz=0;this._pgIdx=0;this._updating=0;this._stableSort=!1;this._srtNulls=SortNulls.Last;this._canFilter=!0;this._canGroup=!0;this._canSort=!0;this._canAddNew=!0;this._canCancelEdit=!0;this._canRemove=!0;this._canChangePage=!0;this._refreshOnEdit=!0;this._trackChanges=!1;this._chgAdded=new ObservableArray;this._chgRemoved=new ObservableArray;this._chgEdited=new ObservableArray;this._orgVals=window.Map?new Map:null;this._srtCvt=null;this._srtCmp=null;this._getError=null;this._keepCurrentItem=null;this._initializing=!1;this.collectionChanged=new Event;this.sourceCollectionChanging=new Event;this.sourceCollectionChanged=new Event;this.currentChanged=new Event;this.currentChanging=new Event;this.pageChanged=new Event;this.pageChanging=new Event;this._srtDsc.collectionChanged.addHandler(()=>{this._srtDsc.forEach(e=>{assert(e instanceof SortDescription,"sortDescriptions array must contain SortDescription objects.")});this.canSort&&this._commitAndRefresh()});this._grpDesc.collectionChanged.addHandler(()=>{this._grpDesc.forEach(e=>{assert(e instanceof GroupDescription,"groupDescriptions array must contain GroupDescription objects.")});this.canGroup&&this._commitAndRefresh()});this._filters.collectionChanged.addHandler(()=>{this._filters.forEach(e=>{assert(isFunction(e),"filters array must contain IPredicate functions.")});this.canFilter&&this._commitAndRefresh()});this._chgEdited.collectionChanged.addHandler((e,t)=>{if(t&&t.action&&this._orgVals&&0!==this._orgVals.size)switch(t.action){case NotifyCollectionChangedAction.Remove:this._orgVals.delete(t.item);break;case NotifyCollectionChangedAction.Reset:this._orgVals.clear()}});this.sourceCollection=e||new ObservableArray;if(t){this._initializing=!0;this.deferUpdate(()=>{copy(this,t)});this._initializing=!1}null==this._keepCurrentItem&&(this._keepCurrentItem=!0)}_copy(e,t){switch(e){case"sortDescriptions":let e=this.sortDescriptions;e.deferUpdate(()=>{e.clear();asArray(t).forEach(t=>{isString(t)?t=new SortDescription(t,!0):t instanceof SortDescription||!t.property||(t=new SortDescription(t.property,t.ascending));e.push(t)})});return!0;case"groupDescriptions":let i=this.groupDescriptions;i.deferUpdate(()=>{i.clear();t.forEach(e=>{isString(e)&&(e=new PropertyGroupDescription(e));i.push(e)})});return!0;case"currentItem":this.currentItem=t;return!0}return!1}get calculatedFields(){return this._calcFields}set calculatedFields(e){if(e&&!window.Proxy){console.warn("** Calculated fields require Proxy (see https://www.npmjs.com/package/proxy-polyfill).");e=null}if(e!=this._calcFields){this._calcFields=e;let t=this._srcRaw;this._srcRaw=null;this.sourceCollection=t}}get newItemCreator(){return this._itemCreator}set newItemCreator(e){this._itemCreator=asFunction(e)}get sortConverter(){return this._srtCvt}set sortConverter(e){e!=this._srtCvt&&(this._srtCvt=asFunction(e,!0))}get sortComparer(){return this._srtCmp}set sortComparer(e){e!=this._srtCmp&&(this._srtCmp=asFunction(e,!0))}get useStableSort(){return this._stableSort}set useStableSort(e){if(e!=this._stableSort){this._stableSort=asBoolean(e);this.refresh()}}get sortNulls(){return this._srtNulls}set sortNulls(e){if((e=asEnum(e,SortNulls))!=this._srtNulls){this._srtNulls=e;this.refresh()}}get sortNullsFirst(){return this.sortNulls!=SortNulls.Last}set sortNullsFirst(e){_deprecated("sortNullsFirst","sortNulls");this.sortNulls=asBoolean(e)?SortNulls.First:SortNulls.Last}getAggregate(e,t,i){return getAggregate(e,i?this._pgView:this._view,t)}get trackChanges(){return this._trackChanges}set trackChanges(e){this._trackChanges=asBoolean(e)}get refreshOnEdit(){return this._refreshOnEdit}set refreshOnEdit(e){this._refreshOnEdit=asBoolean(e)}get itemsAdded(){return this._chgAdded}get itemsRemoved(){return this._chgRemoved}get itemsEdited(){return this._chgEdited}clearChanges(){this._chgAdded.clear();this._chgRemoved.clear();this._chgEdited.clear();this._orgVals&&this._orgVals.clear()}implementsInterface(e){switch(e){case"ICollectionView":case"IEditableCollectionView":case"IPagedCollectionView":case"INotifyCollectionChanged":return!0}return!1}get getError(){return this._getError}set getError(e){if(this._getError!=e){this._getError=asFunction(e);this._raiseCollectionChanged()}}onCollectionChanged(e=NotifyCollectionChangedEventArgs.reset,t){e.action!=NotifyCollectionChangedAction.Change||this._committing||this._canceling||e.item==this.currentEditItem||e.item==this.currentAddItem||this._trackItemChanged(e.item,t);this._updating||this.collectionChanged.raise(this,e)}_raiseCollectionChanged(e=NotifyCollectionChangedAction.Reset,t,i){let s=new NotifyCollectionChangedEventArgs(e,t,i);this.onCollectionChanged(s)}onSourceCollectionChanging(e){this.sourceCollectionChanging.raise(this,e);return!e.cancel}onSourceCollectionChanged(e){this.sourceCollectionChanged.raise(this,e)}get canFilter(){return this._canFilter}set canFilter(e){this._canFilter=asBoolean(e)}get canGroup(){return this._canGroup}set canGroup(e){this._canGroup=asBoolean(e)}get canSort(){return this._canSort}set canSort(e){this._canSort=asBoolean(e)}get currentItem(){return this._pgView&&this._idx>-1&&this._idx<this._pgView.length?this._pgView[this._idx]:null}set currentItem(e){this.moveCurrentTo(e)}get currentPosition(){return this._idx}set currentPosition(e){this.moveCurrentToPosition(asNumber(e))}get filter(){return this._filter}set filter(e){if(this._filter!=e){this._filter=asFunction(e);this.canFilter&&this.refresh()}}get filters(){return this._filters}get groupDescriptions(){return this._grpDesc}get groups(){return this._groups}get isEmpty(){return!this._pgView||!this._pgView.length}get sortDescriptions(){return this._srtDsc}get sourceCollection(){return this._src}set sourceCollection(e){if(e!=this._srcRaw){if(!this.onSourceCollectionChanging(new CancelEventArgs))return;let t=this.currentPosition;this.commitEdit();null!=this._ncc&&this._ncc.collectionChanged.removeHandler(this._sourceChanged);this._srcRaw=e;this._src=asArray(e,!1);this._calcFields&&(this._src=_getCalculatedArray(this._src,this._calcFields));this._ncc=tryCast(this._src,"INotifyCollectionChanged");this._ncc&&this._ncc.collectionChanged.addHandler(this._sourceChanged,this);this.clearChanges();this.refresh();this.moveCurrentToFirst();this.onSourceCollectionChanged();this.currentPosition<0&&t>-1&&this.onCurrentChanged()}}_sourceChanged(e,t){this._updating<=0&&this.refresh()}contains(e){return this._pgView.indexOf(e)>-1}moveCurrentTo(e){return this.moveCurrentToPosition(_ENV_TOOLS.indexOf(this._pgView,e))}moveCurrentToFirst(){return this.moveCurrentToPosition(0)}moveCurrentToLast(){return this.moveCurrentToPosition(this._pgView.length-1)}moveCurrentToPrevious(){return this._idx>0&&this.moveCurrentToPosition(this._idx-1)}moveCurrentToNext(){return this.moveCurrentToPosition(this._idx+1)}moveCurrentToPosition(e){if(e>=-1&&e<this._pgView.length&&e!=this._idx){let t=new CancelEventArgs;if(this.onCurrentChanging(t)){let t=this._pgView[e],i=_getTargetObject(t),s=this._edtItem,r=this._newItem;s&&s!=t&&s!=i?this.commitEdit():r&&r!=t&&r!=i&&this.commitNew();this._idx=e;this.onCurrentChanged()}}return this._idx==e}refresh(){if(this._newItem||this._edtItem||this._updating>0)this._pendingRefresh=!0;else{let e=this.currentItem;this._performRefresh();this.onCollectionChanged();e==this.currentItem||this._initializing||this.onCurrentChanged()}}_commitAndRefresh(){if(this.currentEditItem||this.currentAddItem){this._pendingRefresh=!0;this.commitEdit()}else this.refresh()}_performRefresh(){if(this._updating>0){this._pendingRefresh=!0;return}this._pendingRefresh=!1;this._pendingRemove=!1;let e=this.currentItem;this._view=this._src?this._performFilter(this._src):[];if(this.canSort&&this._srtDsc.length>0){this._view==this._src&&(this._view=this._src.slice());this._performSort(this._view)}this._groups=this.canGroup?this._createGroups(this._view):null;this._fullGroups=this._groups;this._groups&&(this._view=this._mergeGroupItems(this._groups));this._pgIdx=clamp(this._pgIdx,0,this.pageCount-1);this._pgView=this._getPageView();if(this._groups&&this.pageCount>1){this._groups=this._createGroups(this._pgView);this._mergeGroupItems(this._groups)}let t=this._keepCurrentItem&&null!=e?this._pgView.indexOf(e):-1;t<0&&(t=Math.min(this._idx,this._pgView.length-1));this._idx=t;this._digest=this._getGroupsDigest(this.groups)}_performSort(e){if(this._stableSort){let t=e.map((e,t)=>({item:e,index:t})),i=this._compareItems();t.sort((e,t)=>{let s=i(e.item,t.item);return 0==s?e.index-t.index:s});for(let i=0;i<e.length;i++)e[i]=t[i].item}else e.sort(this._compareItems())}_compareItems(){let e=this._srtDsc,t=this._srtCvt,i=this._srtCmp,s=CollectionView._collator,r=!0,n=0;return(o,a)=>{for(let l=0;l<e.length;l++){let u=e[l],c=u._bnd.getValue(o),h=u._bnd.getValue(a);if(t){c=t(u,o,c,r);h=t(u,a,h,!1);r=!1}if(i){n=i(c,h);if(null!=n){if(0!=n)return u.ascending?+n:-n;continue}}c!=c&&(c=null);h!=h&&(h=null);if(c!==h&&(null==c||null==h))switch(this._srtNulls){case SortNulls.First:return null==c?-1:1;case SortNulls.Last:return null==c?1:-1;default:n=null==c?-1:1;return u.ascending?+n:-n}if("string"==typeof c&&"string"==typeof h){if(s){n=s.compare(c,h);if(0!=n)return u.ascending?+n:-n;continue}let e=c.toLowerCase(),t=h.toLowerCase();if(e!=t){c=e;h=t}}n=c<h?-1:c>h?1:0;if(0!=n)return u.ascending?+n:-n}return 0}}_performFilter(e){return this.canFilter&&this._filter||this._filters.length?e.filter(this._filterItem,this):e}_filterItem(e){var t=!this.canFilter||!this._filter||this._filter(e);for(let i=0;i<this._filters.length&&t;i++)t=this._filters[i](e);return t}onCurrentChanged(e){this.currentChanged.raise(this,e)}onCurrentChanging(e){this.currentChanging.raise(this,e);return!e.cancel}get items(){return this._pgView}beginUpdate(){this._updating++}endUpdate(e=!0){this._updating--;e&&(this._pendingRefresh=!0);if(this._updating<=0){this._pendingRefresh&&this.refresh();if(this._pendingRemove){this._pendingRemove=!1;this._raiseCollectionChanged()}}}get isUpdating(){return this._updating>0}deferUpdate(e,t=!0){try{this.beginUpdate();e()}finally{this.endUpdate(t)}}get canAddNew(){return this._canAddNew}set canAddNew(e){if(e!=this._canAddNew){this._canAddNew=asBoolean(e);this._raiseCollectionChanged()}}get canCancelEdit(){return this._canCancelEdit}set canCancelEdit(e){this._canCancelEdit=asBoolean(e)}get canRemove(){return this._canRemove}set canRemove(e){this._canRemove=asBoolean(e)}get currentAddItem(){return this._newItem}get currentEditItem(){return this._edtItem}get isAddingNew(){return null!=this._newItem}get isEditingItem(){return null!=this._edtItem}editItem(e){if(e!=this._edtItem&&this.moveCurrentTo(e)){this.commitEdit();this._edtItem=e;this._edtClone=this._extend({},this._edtItem)}}commitEdit(){let e=this._edtItem,t=this._edtClone;if(null!=e){this._committing=!0;let i=this._getChangedFields(e,t),s=this._pendingRefresh;this._edtItem=null;this._edtClone=null;let r=this._pgView.indexOf(e),n=this._digest;this._needRefresh(i)&&this._refreshOnEdit&&this._performRefresh();this._trackItemChanged(e,t);this._pgView.indexOf(e)!=r||n!=this._digest||s?this._raiseCollectionChanged():this._raiseCollectionChanged(NotifyCollectionChangedAction.Change,e,r);this.commitNew();this._committing=!1;if(this.sourceCollection instanceof ObservableArray){this._updating++;let t=new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Change,e);this.sourceCollection.onCollectionChanged(t);this._updating--}}}cancelEdit(){let e=this._edtItem;if(null!=e){this._edtItem=null;if(!this.canCancelEdit)return;let t=this._src.indexOf(e);if(t>=0&&this._edtClone){this._extend(this._src[t],this._edtClone);this._edtClone=null;this._canceling=!0;this._raiseCollectionChanged(NotifyCollectionChangedAction.Change,e,t);this._canceling=!1;if(this._pendingRefresh&&this._refreshOnEdit){this._performRefresh();this._raiseCollectionChanged()}}}}addNew(e,t=!1){this.commitEdit();if(!this.canAddNew)return null;let i=this.sourceCollection;null==e&&(e=this.newItemCreator?this.newItemCreator():i&&i.length?new i[0].constructor:{});if(null!=e){this._updating++;i.push(e);this._updating--;e=i[i.length-1];this._newItem=e;this._pgView!=this._src&&this._pgView.push(e);if(this.groups&&this.groups.length){let t=this.groups[this.groups.length-1];t.items.push(e);for(;t.groups&&t.groups.length;){t=t.groups[t.groups.length-1];t.items.push(e)}}this._raiseCollectionChanged(NotifyCollectionChangedAction.Add,e,this._pgView.length-1);this.moveCurrentTo(e);t&&this.commitNew()}return this._newItem}commitNew(){let e=this._newItem;if(null!=e){this._newItem=null;let t=this._pgView.indexOf(e),i=this._digest;this._refreshOnEdit&&this._performRefresh();if(this._trackChanges){let t=this._chgEdited.indexOf(e);t>-1&&this._chgEdited.removeAt(t);this._chgAdded.indexOf(e)<0&&this._chgAdded.push(e)}this._pgView.indexOf(e)!=t||i!=this._digest||this.calculatedFields?this._raiseCollectionChanged():this._raiseCollectionChanged(NotifyCollectionChangedAction.Change,e,t)}}cancelNew(){let e=this._newItem;null!=e&&this.remove(e)}remove(e){let t=e==this._newItem;t&&(this._newItem=null);e==this._edtItem&&this.cancelEdit();if(!this.canRemove)return;let i=this._src.indexOf(e);if(i>-1){let s=this._view.indexOf(e)<0,r=this.currentItem;this._updating++;this._src.splice(i,1);this._updating--;let n=this._digest;if(this._refreshOnEdit)this._performRefresh();else{this._updating>0&&(this._pendingRemove=!0);let t=this._pgView.indexOf(e);t>=0&&this._pgView.splice(t,1)}if(this._trackChanges){let i=this._chgAdded.indexOf(e);i>-1&&this._chgAdded.removeAt(i);let s=this._chgEdited.indexOf(e);s>-1&&this._chgEdited.removeAt(s);this._chgRemoved.indexOf(e)<0&&!t&&i<0&&this._chgRemoved.push(e)}let o=this.sortDescriptions.length>0,a=this.pageSize>0&&this._pgIdx>-1;o||a||n!=this._getGroupsDigest(this.groups)?this._raiseCollectionChanged():s||this._raiseCollectionChanged(NotifyCollectionChangedAction.Remove,e,i);this.currentItem!==r&&this.onCurrentChanged()}}removeAt(e){e=asInt(e);this.remove(this._pgView[e])}_trackItemChanged(e,t){if(this._trackChanges){let i=this.sourceCollection;if(i&&i.indexOf(e)>-1){let i=this._orgVals,s=i?i.get(e):null;if(t&&!s){i.set(e,t);s=t}let r=this._chgEdited.indexOf(e),n=NotifyCollectionChangedAction.Change;if(s&&this._sameContent(e,s)){r>-1&&this._chgEdited.removeAt(r);return}if(r<0&&this._chgAdded.indexOf(e)<0)this._chgEdited.push(e);else if(r>-1){let t=new NotifyCollectionChangedEventArgs(n,e,r);this._chgEdited.onCollectionChanged(t)}else{r=this._chgAdded.indexOf(e);if(r>-1){let t=new NotifyCollectionChangedEventArgs(n,e,r);this._chgAdded.onCollectionChanged(t)}}}}}_extend(e,t,i=2){for(let s in t)try{let r=t[s];if(i>0&&isObject(r))if("Map"===r.constructor.name)e[s]=r;else{e[s]={};this._extend(e[s],r,i-1)}else e[s]=r}catch(e){}return e}_getChangedFields(e,t,i=2){assert(null!=t&&null!=e,"Two objects expected.");let s={};for(let r in t)try{this._sameValue(e[r],t[r],i)||(s[r]=!0)}catch(e){}for(let r in e)try{s[r]||this._sameValue(e[r],t[r],i)||(s[r]=!0)}catch(e){}let r=Object.keys(s);return r.length?r:null}_sameValue(e,t,i=2){return!!(e===t||DateTime.equals(e,t)||Number.isNaN(e)&&Number.isNaN(t))||!(!isObject(e)||!isObject(t))&&(!(i>0)||null==this._getChangedFields(e,t,i-1))}_sameContent(e,t){return null==this._getChangedFields(e,t)}_needRefresh(e){if(this._pendingRefresh)return!0;if(!e)return!1;if(this._filter)return!0;for(let t=0;t<this._srtDsc.length;t++){let i=this._getBindingRoot(this._srtDsc[t].property);if(e.indexOf(i)>-1)return!0}for(let t=0;t<this._grpDesc.length;t++){let i=this._grpDesc[t];if(!(i instanceof PropertyGroupDescription))return!0;let s=this._getBindingRoot(i.propertyName);if(e.indexOf(s)>-1)return!0}return!1}_getBindingRoot(e){let t=e.indexOf(".");return t>-1?e.substr(0,t):e}get canChangePage(){return this._canChangePage}set canChangePage(e){this._canChangePage=asBoolean(e)}get isPageChanging(){return!1}get itemCount(){return this._pgView.length}get pageIndex(){return this._pgIdx}get pageSize(){return this._pgSz}set pageSize(e){if(e!=this._pgSz){this._pgSz=asInt(e);this.refresh()}}get totalItemCount(){return this._view.length}get pageCount(){return this.pageSize?Math.ceil(this.totalItemCount/this.pageSize):1}moveToFirstPage(){return this.moveToPage(0)}moveToLastPage(){return this.moveToPage(this.pageCount-1)}moveToPreviousPage(){return this.moveToPage(this.pageIndex-1)}moveToNextPage(){return this.moveToPage(this.pageIndex+1)}moveToPage(e){let t=clamp(e,0,this.pageCount-1);if(t!=this._pgIdx){if(!this.canChangePage)return!1;let e=new PageChangingEventArgs(t);if(this.onPageChanging(e)&&this.onCurrentChanging(e)){this.commitEdit();this.commitNew();let e=this.currentItem;this._pgIdx=t;this._pgView=this._getPageView();this._idx=0;if(this.groupDescriptions&&0!=this.groupDescriptions.length)this.refresh();else{this.onCollectionChanged();e!=this.currentItem&&this.onCurrentChanged()}this.onPageChanged()}}return this._pgIdx==e}onPageChanged(e){this.pageChanged.raise(this,e)}onPageChanging(e){this.pageChanging.raise(this,e);return!e.cancel}_getFullGroup(e){let t=this._getGroupByPath(this._fullGroups,e.level,e._path);null!=t&&(e=t);return e}_getGroupByPath(e,t,i){if(e)for(let s=0;s<e.length;s++){let r=e[s];if(r.level==t&&r._path==i)return r;if(r.level<t&&0==i.indexOf(r._path)){r=this._getGroupByPath(r.groups,t,i);if(null!=r)return r}}return null}_getPageView(){if(this.pageSize<=0||this._pgIdx<0)return this._view;let e=this._pgSz*this._pgIdx,t=Math.min(e+this._pgSz,this._view.length);return this._view.slice(e,t)}_createGroups(e){if(!this._grpDesc||!this._grpDesc.length)return null;let t=[],i={},s=null;e.forEach(e=>{let r=t,n=this._grpDesc.length,o="";for(let t=0;t<n;t++){let a=this._grpDesc[t],l=a.groupNameFromItem(e,t),u=t==n-1;s=i[o];if(!s&&isPrimitive(l)){s={};i[o]=s}let c=this._getGroup(a,r,s,l,t,u);o+="/"+l;c._path=o;u&&c.items.push(e);r=c.groups}});return t}_getGroupsDigest(e){let t="";for(let i=0;null!=e&&i<e.length;i++){let s=e[i];t+="{"+s.name+":"+(s.items?s.items.length:"*");if(s.groups.length>0){t+=",";t+=this._getGroupsDigest(s.groups)}t+="}"}return t}_mergeGroupItems(e){let t=[];for(let i=0;i<e.length;i++){let s=e[i];if(!s._isBottomLevel){let e=this._mergeGroupItems(s.groups);for(let t=0,i=e.length;t<i;t++)s._items.push(e[t])}for(let e=0,i=s._items.length;e<i;e++)t.push(s._items[e])}return t}_getGroup(e,t,i,s,r,n){let o;if(i&&isPrimitive(s)){o=i[s];if(o)return o}else for(let i=0;i<t.length;i++)if(e.namesMatch(t[i].name,s))return t[i];let a=new CollectionViewGroup(e,s,r,n);t.push(a);i&&(i[s]=a);return a}}CollectionView._collator="undefined"!=typeof window&&window.Intl&&Intl.Collator?new Intl.Collator:null;exports.CollectionView=CollectionView;class CollectionViewGroup{constructor(e,t,i,s){this._gd=e;this._name=t;this._level=i;this._isBottomLevel=s;this._groups=[];this._items=[]}get name(){return this._name}get level(){return this._level}get isBottomLevel(){return this._isBottomLevel}get items(){return this._items}get groups(){return this._groups}get groupDescription(){return this._gd}getAggregate(e,t,i,s){let r=tryCast(i,CollectionView);return getAggregate(e,(r?r._getFullGroup(this):this).items,t,s)}_clone(){const e=new CollectionViewGroup(this.groupDescription,this.name,this.level,this.isBottomLevel);e._path=this._path;if(this.groups.length)for(let t=0;t<this.groups.length;t++)e.groups.push(this.groups[t]);if(this.items.length)for(let t=0;t<this.items.length;t++)e.items.push(this.items[t]);return e}}exports.CollectionViewGroup=CollectionViewGroup;class _NullValue{constructor(e){this._id=e}}exports._NullValue=_NullValue;exports.controlBaseClass="undefined"!=typeof window&&window["wj-control-is-element"]?HTMLElement:Object;var __isES6Mode=!1;try{let e=class __c{};e.prototype=Array.prototype;__isES6Mode=e.prototype!==Array.prototype}catch(e){__isES6Mode=!0}var PopupPosition,TooltipTrigger,__callSuper=__isES6Mode||exports.controlBaseClass!==Object;class ControlBase extends exports.controlBaseClass{constructor(){__callSuper&&super()}}exports.ControlBase=ControlBase;class Control extends ControlBase{constructor(e,t=null,i=!1){super();this.workingAs="PureJs";this.disposed=!1;this._orgAttributes=[];this._listeners=[];this._pristine=!0;this._focus=!1;this._updating=0;this._fullUpdate=!1;this._listenResizeEvents=!0;this.gotFocus=new Event;this.lostFocus=new Event;this.invalidInput=new Event;this.refreshing=new Event;this.refreshed=new Event;this._updateWme();assert(null==Control.getControl(e),"Element is already hosting a control.");let s=getElement(e);assert(null!=s,"Cannot find the host element.");this._orgTabIndex=s.hasAttribute("tabindex")?s.tabIndex:0;for(let e=0;e<s.attributes.length;e++){const t=s.attributes[e];this._orgAttributes.push({name:t.name,value:t.textContent})}this._orgInner=s.innerHTML;this._orgTag=s.tagName;this._orgAtts=s.attributes;"INPUT"!=s.tagName&&"SELECT"!=s.tagName||(s=this._replaceWithDiv(s));this._e=s;s[Control._CTRL_KEY]=this;let r=this.addEventListener.bind(this);if(1==i){this._szCtl=new Size(s.offsetWidth,s.offsetHeight);let e=window.ResizeObserver,t=null;e&&(t=this._szObserver=new e(e=>this._resizeObserverCallback(e)));t?t.observe(s):r(window,"resize",this._handleResize.bind(this))}let n=this._handleFocusBlur.bind(this);r(s,"focus",n,!0);r(s,"blur",n,!0);let o=this._handleDisabled.bind(this);r(s,"mousedown",o,!0);r(s,"mouseup",o,!0);r(s,"click",o,!0);r(s,"dblclick",o,!0);r(s,"wheel",o,getEventOptions(!0,!0));r(s,"keydown",e=>{this.isDisabled&&e.keyCode!=Key.Tab&&e.preventDefault()});0==Control._ctlCnt&&_detectTouch(!0);Control._ctlCnt++}getTemplate(){for(let e=Object.getPrototypeOf(this);e;e=Object.getPrototypeOf(e)){let t=e.constructor.controlTemplate;if(t)return t}return null}applyTemplate(e,t,i,s){let r=this._e;e&&addClass(r,e);let n=null;t&&(n=createElement(t,r));let o=r.querySelectorAll("a."+exports.InputFormElementsClsNames.btn);for(var a=0;a<o.length;a++){let e=o[a];setAttribute(e,"role","button",!0);setAttribute(e,"href","",!0);setAttribute(e,"draggable",!1,!0)}let l=r.querySelectorAll("button");for(a=0;a<l.length;a++)setAttribute(l[a],"type","button",!0);let u=r.querySelectorAll("input"),c=1==u.length?u[0]:null;if(c){let e=Control._rxInputAtts;this._copyAttributes(c,r.attributes,e);this._copyAttributes(c,this._orgAtts,e)}if(c&&r.id){let e=r;for(;e.parentElement;)e=e.parentElement;let t=e.querySelector('label[for="'+r.id+'"]');if(t instanceof HTMLLabelElement){let e=getUniqueId(r.id+"_input");c.id=e;t.htmlFor=e}}if(c){let e=c.value,t=!0,i=!1,s=document.createEvent("HTMLEvents");s.initEvent("change",!0,!1);this.gotFocus.addHandler(()=>{t=!1;i=!0;e=c.value});this.addEventListener(r,"focusin",s=>{if(t){i=!0;t=!1;e=c.value}});this.addEventListener(c,"input",()=>{this._pristine=!1;this._getInputValueTimer=setTimeout(()=>{e=c.value})});this.addEventListener(c,"change",t=>{t.isTrusted&&(e=c.value)});const leave=()=>{if(!this._containsFocus()){t=!0;if(this._pristine){this._pristine=!1;this._updateState()}if(i&&e!=c.value){e=c.value;c.dispatchEvent(s)}i=!1}};this.addEventListener(r,"blur",()=>{leave()});this.lostFocus.addHandler(()=>{leave()})}c?r.tabIndex=-1:r.getAttribute("tabindex")||(r.tabIndex=0);this._updateState();if(i)for(let e in i){let t=i[e];this[e]=n.querySelector('[wj-part="'+t+'"]');null==this[e]&&n.getAttribute("wj-part")==t&&(this[e]=n);if(null==this[e])throw'Missing template part: "'+t+'"';if(t==s){let t="name",i=r.attributes[t];i&&i.value&&this[e].setAttribute(t,i.value);t="accesskey";i=r.attributes[t];if(i&&i.value){this[e].setAttribute(t,i.value);r.removeAttribute(t)}}}return n}dispose(){if(!this._e)return;this.disposed=!0;let e=this._e.querySelectorAll("."+exports.ControlClsNames.hostElement);for(let t=0;t<e.length;t++){let i=Control.getControl(e[t]);i&&i.dispose()}if(this._toInv){clearTimeout(this._toInv);this._toInv=null}if(this._toFocus){clearTimeout(this._toFocus);this._toFocus=null}if(this._getInputValueTimer){clearTimeout(this._getInputValueTimer);this._getInputValueTimer=null}if(this._updateFocusStateTimer){clearTimeout(this._updateFocusStateTimer);this._updateFocusStateTimer=null}if(this.focusService){this.focusService.dispose();this.focusService=null}let t=this._szObserver;t&&t.disconnect();this.removeEventListener();for(let e in this)if(e.length>2&&0==e.indexOf("on")){let t=this[e[2].toLowerCase()+e.substr(3)];t instanceof Event&&t.removeAllHandlers()}let i=this.collectionView;if(i instanceof CollectionView)for(let e in i){let t=i[e];t instanceof Event&&t.removeHandler(null,this)}if(this._e.parentNode){for(;this._e.attributes.length>0;)this._e.removeAttribute(this._e.attributes[0].name);for(let e of this._orgAttributes)setAttribute(this._e,e.name,e.value);this._e.innerHTML=this._orgInner}this._e[Control._CTRL_KEY]=null;this._e=this._orgTag=this._szObserver=null;Control._ctlCnt--;0==Control._ctlCnt&&_detectTouch(!1);if(Control._ctlInvalidInput===this){if(Control._toInvalidInput){clearTimeout(Control._toInvalidInput);Control._toInvalidInput=null}if(Control._toClearCtlInvalid){clearTimeout(Control._toClearCtlInvalid);Control._toClearCtlInvalid=null}Control._ctlInvalidInput=null}if(Control._toTouch){clearTimeout(Control._toTouch);Control._toTouch=null}}static getControl(e){let t=getElement(e);return t?asType(t[Control._CTRL_KEY],Control,!0):null}get hostElement(){return this._e}get rightToLeft(){null==this._rtlDir&&(this._rtlDir=!!this._e&&"rtl"==getComputedStyle(this._e).direction);return this._rtlDir}focus(){let e=this._e;e&&e.offsetHeight&&(this.isDisabled||!(e.tabIndex>=0)&&moveFocus(e,0)||e.focus())}containsFocus(){return this._containsFocusImpl(getActiveElement())}_containsFocus(){this.focusService||(this.focusService=new _FocusService);return this._containsFocusImpl(_getActiveElement(this.focusService.activeElement))}_containsFocusImpl(e){return contains(this._e,e,!0)}invalidate(e=!0){this._rtlDir=null;this._fullUpdate=this._fullUpdate||e;if(this._toInv){clearTimeout(this._toInv);this._toInv=null}this.isUpdating||this.disposed||(this._toInv=setTimeout(()=>{this.refresh(this._fullUpdate);this._toInv=null},Control._REFRESH_INTERVAL))}refresh(e=!0){if(!this.isUpdating&&!this.disposed){this.onRefreshing();this.refreshed.hasHandlers&&setTimeout(()=>{this.onRefreshed()})}if(!this.isUpdating&&this._toInv){clearTimeout(this._toInv);this._toInv=null;this._fullUpdate=!1}this._updateState();this._updateWme()}static invalidateAll(e){e||(e=document.body);let t=e.children;if(t)for(let e=0;e<t.length;e++)Control.invalidateAll(t[e]);let i=Control.getControl(e);i&&i.invalidate()}static refreshAll(e){e||(e=document.body);if(e.children)for(let t=0;t<e.children.length;t++)Control.refreshAll(e.children[t]);let t=Control.getControl(e);t&&t.refresh()}static disposeAll(e){let t=Control.getControl(e);if(t)t.dispose();else if(e.children)for(let t=0;t<e.children.length;t++)Control.disposeAll(e.children[t])}beginUpdate(){this._updating++}endUpdate(e=!0){this._updating--;this._updating<=0&&e&&this.invalidate()}get isUpdating(){return this._updating>0}deferUpdate(e){try{this.beginUpdate();e()}finally{this.endUpdate()}}get isTouching(){return Control._touching}get tabOrder(){return this._orgTabIndex}set tabOrder(e){this._setTabOrder(e)}_setTabOrder(e){let t=this._e;this._orgTabIndex=e;let i=t.querySelectorAll("input"),s=1===i.length?i[0]:null;t.tabIndex=this.isDisabled||s?-1:this._orgTabIndex;s&&(s.tabIndex=this._orgTabIndex)}get isDisabled(){return this._e&&null!=this._e.getAttribute("disabled")}set isDisabled(e){this._setIsDisabled(e)}_setIsDisabled(e){if((e=!!asBoolean(e,!0))!=this.isDisabled){let t=this._e;if(t){let i="disabled";toggleClass(t,exports.ControlStateClsNames.disabled,e);setAttribute(t,i,e?i:null);setAttribute(t,"aria-disabled",e);if(t.id){const i=document.querySelector(`[dropdown-id=${t.id}]`);i&&toggleClass(i,exports.ControlStateClsNames.disabled,e)}t.tabIndex=this.isDisabled||1===t.querySelectorAll("input").length?-1:this._orgTabIndex;let s=t.querySelectorAll("input,textarea,button,command,fieldset,keygen,optgroup,option,select"),r=Control._DSBL_KEY;for(let t=0;t<s.length;t++){let i=s[t];if(e){i[r]=i.disabled;i.disabled=!0}else{if(!!closest(i,`.${exports.ControlClsNames.hostElement}.${exports.ControlStateClsNames.disabled}`)){i[r]=i.disabled;i.disabled=!0}else{let e=i[r];isBoolean(e)||(e=!1);i.disabled=e;delete i[r]}}}}}}initialize(e){copy(this,e)}addEventListener(e,t,i,s,r){if(e){null==s&&(s=!1);isBoolean(s)&&null==r&&(t.indexOf("touch")>-1||t.indexOf("wheel")>-1)&&(r=!1);let n=isBoolean(s)&&isBoolean(r)?getEventOptions(s,r):s;e.addEventListener(t,i,n);this._listeners.push({target:e,type:t,fn:i,capture:s})}}removeEventListener(e,t,i,s){let r=0;for(let n=0;n<this._listeners.length;n++){let o=this._listeners[n];if(!(null!=e&&e!=o.target||null!=t&&t!=o.type||null!=i&&i!=o.fn||null!=s&&s!=o.capture)){o.target.removeEventListener(o.type,o.fn,o.capture);this._listeners.splice(n,1);n--;r++}}return r}onGotFocus(e){this.gotFocus.raise(this,e)}onLostFocus(e){this.lostFocus.raise(this,e)}onInvalidInput(e){this.invalidInput.raise(this,e);let t=this;if(e.cancel){let e=Control._FOCUS_INTERVAL+50;if(null==Control._ctlInvalidInput||Control._ctlInvalidInput===this){Control._ctlInvalidInput=this;Control._toInvalidInput&&clearTimeout(Control._toInvalidInput);Control._toClearCtlInvalid&&clearTimeout(Control._toClearCtlInvalid);Control._toInvalidInput=setTimeout(()=>{Control._toInvalidInput=null;t.containsFocus()||"isDroppedDown"in t&&"_isDropdownOpened"in t&&t._isDropdownOpened&&(t.isDroppedDown=t._isDropdownOpened);t.focus();Control._toClearCtlInvalid=setTimeout(()=>{Control._ctlInvalidInput=null;Control._toClearCtlInvalid=null},e)},e)}}else Control._ctlInvalidInput=null;this._updateState();return!e.cancel}onRefreshing(e){this.refreshing.raise(this,e)}onRefreshed(e){this.refreshed.raise(this,e)}_getProductInfo(){return"B0C3,Control"}_getFocusedElements(e){let t=e;for(;t;){if(!t.parentNode)return t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&void 0!==t.host?t.querySelectorAll("."+exports.ControlStateClsNames.focused):document.body.querySelectorAll("."+exports.ControlStateClsNames.focused);t=t.parentNode}return[]}_updateWme(){let e=this._getProductInfo(),t=Control._toWme,i=_updateWme;if(isFunction(i)&&!t[e]){t[e]=!0;i(this,Control._licKey)}}_hasPendingUpdates(){return null!=this._toInv}_handleResize(){if(this._e.parentElement||this._e.parentNode){let e=new Size(this._e.offsetWidth,this._e.offsetHeight);if(!e.equals(this._szCtl)){this._szCtl=e;this._listenResizeEvents&&(e.width||e.height)&&this.invalidate()}}}_resizeObserverCallback(e){e.forEach(e=>{let t=Control.getControl(e.target);t&&t._handleResize()})}_handleFocusBlur(){this._toFocus||(this._toFocus=setTimeout(()=>{this._toFocus=null;this._updateFocusState()},Control._FOCUS_INTERVAL))}_updateFocusState(){this._updateFocusStateTimer=setTimeout(()=>{let e=EventArgs.empty,t=this._getFocusedElements(this.hostElement);for(let i=0;i<t.length;i++){let s=Control.getControl(t[i]);if(s&&s._focus&&!s.containsFocus()){removeClass(s._e,exports.ControlStateClsNames.focus);s._focus=!1;s._updateState();s.onLostFocus(e)}}let i=getActiveElement();if(i){let t=!0;for(let s=i;s;){let i=Control.getControl(s);if(i&&!i._focus&&i.containsFocus()){if(t){addClass(s,exports.ControlStateClsNames.focus);t=!1}i._focus=!0;i._updateState();i.onGotFocus(e)}s=s[Control._OWNR_KEY]||s.parentNode}}})}_updateState(){let e=this.hostElement;if(e){toggleClass(e,exports.ControlStateClsNames.focused,this._focus);this._rtlDir=this._getRtlStates();toggleClass(e,exports.UtilitesClsNames.rtl,this._rtlDir);let t=e.querySelector("input");if(t instanceof HTMLInputElement){toggleClass(e,exports.ControlStateClsNames.empty,0==t.value.length);toggleClass(e,exports.ControlStateClsNames.readOnly,t.readOnly);let i=t.validationMessage;toggleClass(e,exports.ControlStateClsNames.invalid,!this._pristine&&null!=i&&i.length>0);const s=closest(this.hostElement,exports.ControlStateClsNames.labeledInput),r=s&&s.querySelector(exports.ControlStateClsNames.wjError);if(r){const e=this.hostElement.classList.contains(exports.ControlStateClsNames.invalid);toggleClass(r,exports.ControlStateClsNames.errorVisible,e)}}}}_getRtlStates(){let e=this.hostElement;return"rtl"===getComputedStyle(e).direction}_handleDisabled(e){if(this.isDisabled||closest(e.target,"."+exports.ControlStateClsNames.disabled)){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation()}}_replaceWithDiv(e){let t=document.createElement("div");e.parentElement.replaceChild(t,e);t.innerHTML=e.innerHTML;this._copyAttributes(t,e.attributes,/id|style|class/i);return t}_copyAttributes(e,t,i){if(e)for(let s=0;s<t.length;s++){let r=t[s].name;r.match(i)&&e.setAttribute(r,t[s].value)}}_getKeyCode(e){let t=e.keyCode;if(this.rightToLeft)switch(t){case Key.Right:t=Key.Left;break;case Key.Left:t=Key.Right}return t}_getCodeAsPerRTL(e){let t=e.code;if(this.rightToLeft)switch(t){case"ArrowRight":return"ArrowLeft";case"ArrowLeft":return"ArrowRight"}return t}}Control.sharedState={};Control._toWme={};Control._ctlCnt=0;Control._touching=!1;Control._REFRESH_INTERVAL=10;Control._FOCUS_INTERVAL=5;Control._ANIM_DEF_DURATION=400;Control._ANIM_DEF_STEP=35;Control._CLICK_DELAY=800;Control._CLICK_REPEAT=75;Control._CLIPBOARD_DELAY=100;Control._POPUP_ZINDEX=1500;Control._SEARCH_DELAY=500;Control._HOVER_DELAY=400;Control._LEAVE_DELAY=600;Control._DRAG_SCROLL_EDGE=15;Control._DRAG_SCROLL_STEP=20;Control._CTRL_KEY="$WJ-CTRL";Control._OWNR_KEY="$WJ-OWNR";Control._SCRL_KEY="$WJ-SCRL";Control._TTIP_KEY="$WJ-TTIP";Control._DSBL_KEY="$WJ-DSBL";Control._rxInputAtts=/name|tabindex|placeholder|autofocus|autocomplete|autocorrect|autocapitalize|spellcheck|readonly|minlength|maxlength|pattern|type|aria-.+/i;exports.Control=Control;function _detectTouch(e){if("ontouchstart"in window||"onpointerdown"in window){let t=document,i=getEventOptions(!0,!0),s=_handleTouchStart,r=_handleTouchEnd,n=e?t.addEventListener.bind(t):t.removeEventListener.bind(t);if("ontouchstart"in window){n("touchstart",s,i);n("touchend",r,i);n("touchcancel",r,i)}else if("onpointerdown"in window){n("pointerdown",s,i);n("pointerup",r,i);n("pointercancel",r,i)}}}function _handleTouchStart(e){if(null==e.pointerType||"touch"==e.pointerType){if(Control._toTouch){clearTimeout(Control._toTouch);Control._toTouch=null}Control._touching=!0}}function _handleTouchEnd(e){if(null==e.pointerType||"touch"==e.pointerType){Control._toTouch=setTimeout((function(){Control._toTouch=null;Control._touching=!1}),900);if(document.querySelector("ion-app")){let t=e.target;if(closest(t,".wj-dropdown-panel,.wj-dropdown")){t.focus();e.stopPropagation();e.stopImmediatePropagation()}}}}class PrintDocument{constructor(e){this._title=null;this._copyCss=!0;null!=e&©(this,e)}get title(){return this._title}set title(e){this._title=asString(e)}get copyCss(){return this._copyCss}set copyCss(e){this._copyCss=asBoolean(e)}addCSS(e){this._css||(this._css=[]);this._css.push(e)}append(e){let t=this._getDocument();if(isString(e))t.write(e);else if(e instanceof Element){e instanceof HTMLElement&&Control.refreshAll(e);let i=e.cloneNode(!0),s=i.querySelectorAll("input");for(let e=0;e<s.length;e++){let t=s[e];switch(t.type){case"checkbox":setAttribute(t,"checked",!!t.checked||null);setAttribute(t,"indeterminate",!!t.indeterminate||null);break;case"radio":setAttribute(t,"checked",!!t.checked||null);break;default:setAttribute(t,"value",t.value||null)}}t.write(i.outerHTML)}else assert(!1,"content should be an HTML string or an Element.")}print(e){if(this._iframe){this._close();setTimeout(()=>{let t=this._iframe.contentWindow,i="onafterprint"in t&&!isFirefox();i&&(t.onafterprint=()=>{this._afterPrint(e)});if(!(isIE()&&null==t.document.body)&&document.queryCommandSupported("print"))t.document.execCommand("print",!0,null);else{t.focus();t.print()}i||this._afterPrint(e)},100)}}_afterPrint(e){document.body.removeChild(this._iframe);this._iframe=null;isFunction(e)&&e()}_getDocument(){if(!this._iframe){let e=this._iframe=document.createElement("iframe");addClass(e,exports.PrintDocumentClsNames.printDocument);setCss(e,{position:"fixed",left:32e3,top:32e3});document.body.appendChild(e)}return this._iframe.contentDocument}_close(){let e=this._getDocument();e.close();e.title=null!=this.title?this.title:document.title;e.title&&e.title.trim()||(e.title=" ");this._copyCss&&[document.head,document.body].forEach(e=>{let t=e.querySelectorAll("LINK");for(let e=0;e<t.length;e++){let i=t[e];if(i.rel.match(/stylesheet/i)&&(!i.type||i.type.match(/text\/css/i))){let e=httpRequest(i.href,{async:!1});this._addStyle(e.responseText)}}let i=e.querySelectorAll("STYLE");for(let e=0;e<i.length;e++)this._addStyle(i[e].textContent)});if(this._css)for(let t=0;t<this._css.length;t++){let i=e.createElement("style"),s=httpRequest(this._css[t],{async:!1});i.textContent=s.responseText;e.head.appendChild(i)}}_addStyle(e){let t=this._getDocument(),i=t.createElement("style");i.textContent=e;t.head.appendChild(i)}}exports.PrintDocument=PrintDocument;class Clipboard{static copy(e){Clipboard._copyPaste(asString(e),null)}static paste(e){e=asFunction(e);Clipboard._copyPaste(null,e)}static _copyPaste(e,t){let i=getActiveElement(),s=closest(i,"."+exports.ControlClsNames.hostElement);for(;s&&Control.getControl(s);)s=s.parentElement;s=s||document.body;if(s){let r=!1,n=createElement(`<textarea class="${exports.ClipboardClsNames.clipboard}">`,s,{position:"fixed",opacity:"0"});n.onkeydown=e=>e.preventDefault();n.onchange=e=>e.stopImmediatePropagation();if(isString(e)){n.value=e;n.select();document.execCommand("copy")&&(r=!0)}else{n.select();if(isFunction(t)&&document.execCommand("paste")){t(n.value);r=!0}}setTimeout(()=>{i.focus({preventScroll:!0});(isIE()?setTimeout:(e,t)=>e())(()=>removeChild(n),500);!r&&isFunction(t)&&t(n.value)},Control._CLIPBOARD_DELAY)}}}exports.Clipboard=Clipboard;class _ClickRepeater{constructor(e){this._isDown=!1;this._mousedownBnd=this._mousedown.bind(this);this._mouseupBnd=this._mouseup.bind(this);this._clickBnd=this._click.bind(this);this.element=e;this._connect(!0)}get element(){return this._e}set element(e){this._connect(!1);this._e=asType(e,HTMLElement,!0);this._connect(!0)}get disabled(){return this._disabled}set disabled(e){this._disabled=asBoolean(e)}_connect(e){this._e&&_ClickRepeater._startEvents.forEach(t=>{e?this._e.addEventListener(t,this._mousedownBnd,{passive:!0}):this._e.removeEventListener(t,this._mousedownBnd)})}_clearTimeouts(){if(this._toRepeat){clearTimeout(this._toRepeat);this._toRepeat=null}if(this._toDelay){clearTimeout(this._toDelay);this._toDelay=null}}_mousedown(e){this._isDown&&this._mouseup(null);if(!this._disabled){this._isDown=!0;_ClickRepeater._stopEvents.forEach(e=>{document.addEventListener(e,this._mouseupBnd)});this._clearTimeouts();this._toDelay=setTimeout(()=>{if(this._isDown){this._click();this._toRepeat=setTimeout(this._clickBnd,Control._CLICK_REPEAT)}},Control._CLICK_DELAY)}}_mouseup(e){if(!e||"mouseout"!==e.type||this._e&&this._e.contains(e.target)){this._isDown&&e&&"keydown"!=e.type&&this._clicked&&e.preventDefault();_ClickRepeater._stopEvents.forEach(e=>{document.removeEventListener(e,this._mouseupBnd)});this._clearTimeouts();this._isDown=!1;this._clicked=!1}}_click(){this._clicked=!0;this._clearTimeouts();if(this._e){this._e.click();this._isDown&&(this._toRepeat=setTimeout(this._clickBnd,Control._CLICK_REPEAT))}}}_ClickRepeater._startEvents=["mousedown","touchstart"];_ClickRepeater._stopEvents=["mouseup","mouseout","keydown","touchend","touchcancel"];exports._ClickRepeater=_ClickRepeater;!function(e){e[e.Above=0]="Above";e[e.AboveRight=1]="AboveRight";e[e.RightTop=2]="RightTop";e[e.Right=3]="Right";e[e.RightBottom=4]="RightBottom";e[e.BelowRight=5]="BelowRight";e[e.Below=6]="Below";e[e.BelowLeft=7]="BelowLeft";e[e.LeftBottom=8]="LeftBottom";e[e.Left=9]="Left";e[e.LeftTop=10]="LeftTop";e[e.AboveLeft=11]="AboveLeft"}(PopupPosition=exports.PopupPosition||(exports.PopupPosition={}));function showPopup(e,t,i,s,r=!0,n){let o=e.offsetHeight||e.offsetWidth,a=i;(isBoolean(i)||null==i)&&(a=i?PopupPosition.AboveLeft:PopupPosition.BelowLeft);let l=_getPopupParent(t);_addPopupToDOM(e,l);_copyPopupStyles(e,t,r);Control.refreshAll(e);_updatePopupPosition(e,t,a);isFirefox()&&requestAnimationFrame(()=>{_updatePopupPosition(e,t,a)});t instanceof HTMLElement&&(e[Control._OWNR_KEY]=t);if(!o){_hidePopupOnscroll(e,t,n);if(s)return animate(t=>e.style.opacity=t<1?t.toString():"");e.style.opacity=""}return null}exports.showPopup=showPopup;function hidePopup(e,t=!0,i=!1){let s=null;i?s=animate(i=>{e.style.opacity=(1-i).toString();if(1==i){_hidePopup(e,t);e.style.opacity=""}}):_hidePopup(e,t);return s}exports.hidePopup=hidePopup;function _updatePopupPosition(e,t,i){let s=_getReferenceRect(e,t),r=_getPopupOffset(e),n=_getPopupPosition(e,s,i,r),o={position:"absolute",zIndex:Control._POPUP_ZINDEX},a=0==r.x;if(a){o.left=n.x;o.top=n.y}else o.transform="translate("+n.x+"px, "+n.y+"px)";let l=e.getBoundingClientRect().width;setCss(e,o);if(a){let t=l-e.getBoundingClientRect().width;t>0&&(e.style.left=n.x-Math.ceil(t)+"px")}}exports._updatePopupPosition=_updatePopupPosition;function _hidePopup(e,t){e.style.display="none";t&&e.parentElement&&setTimeout(()=>{if("none"==e.style.display){removeChild(e);isFunction(t)&&t()}},Control._FOCUS_INTERVAL+50);let i=e[Control._SCRL_KEY];i instanceof Control&&i.dispose();delete e[Control._SCRL_KEY];delete e[Control._OWNR_KEY]}function _isjQueryDialog(e){let t=window.jQuery,i=isFunction(t)?t(e):null;return i&&isFunction(i.dialog)&&hasClass(e,"ui-dialog")}function _getPopupParent(e){let t=document.body;if(e instanceof HTMLElement){if(!contains(document.body,e))return t;for(let i=e;i;i=i.parentElement){if("DIALOG"==i.tagName||"ION-CONTENT"==i.tagName||"fixed"==getComputedStyle(i).position){t=i;break}if(_isjQueryDialog(i)){t=i.querySelector(".ui-dialog-content")||i;break}}}return t}function _addPopupToDOM(e,t){if(!e.offsetHeight||!e.offsetWidth||e.parentElement!=t){setCss(e,{opacity:"0",position:"fixed",left:0,top:0,transform:"",display:""});t.appendChild(e)}}function _getPopupOffset(e){let t=document.body,i=document.documentElement,s=e.parentElement,r=new Point(t.scrollLeft||pageXOffset,t.scrollTop||pageYOffset);if(s!=t){let n=s==t?i:e.offsetParent||s;n==t&&(n=s);if(n){let e=n.getBoundingClientRect();r=new Point(n.scrollLeft-e.left,n.scrollTop-e.top)}}if(s instanceof HTMLElement){let e=getComputedStyle(s);r.x-=parseFloat(e.borderLeftWidth);r.y-=parseFloat(e.borderTopWidth)}return r}function _copyPopupStyles(e,t,i){if(t instanceof HTMLElement&&i){let s=i instanceof HTMLElement?i:t,r=getComputedStyle(s);1==new Color(r.backgroundColor).a&&setCss(e,{color:r.color,backgroundColor:r.backgroundColor,fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontStyle:r.fontStyle})}}function _hidePopupOnscroll(e,t,i){let s=t instanceof MouseEvent?t.target:t;if(s instanceof HTMLElement&&s.parentElement!=document.body){let r=Date.now(),n=s.getBoundingClientRect(),o=new Control(document.createElement("div"));e[Control._SCRL_KEY]=o;o.addEventListener(document,"scroll",a=>{if(a.target!=e.parentElement&&Date.now()-r>100&&contains(document,s)&&!contains(e,a.target)&&(a.target!=document||null!=t&&"fixed"==e.style.position)){let t=s.getBoundingClientRect(),r=Math.abs(t.left-n.left),a=Math.abs(t.top-n.top);if(r>1||a>1){isFunction(i)&&i();_hidePopup(e,!0);o.dispose()}}},!0)}}function _getPopupPosition(e,t,i,s){let r=document.documentElement,n=r.clientWidth,o=r.clientHeight,a=PopupPosition;switch(i){case a.AboveLeft:case a.AboveRight:case a.BelowLeft:case a.BelowRight:if(t){let i=t.width;if(i){isIE()&&(i-=e.offsetWidth-e.clientWidth);e.style.minWidth=i+"px"}}}let l=getComputedStyle(e),u=parseFloat(l.marginTop)+parseFloat(l.marginBottom),c=parseFloat(l.marginLeft)+parseFloat(l.marginRight),h=new Size(e.offsetWidth+c,e.offsetHeight+u),d=new Point((n-h.width)/2,Math.round((o-h.height)/2*.7));if(t){"rtl"==l.direction&&(i=_getRtlPosition(i));let e=t.left,s=n-t.right;d.x=t.left;switch(i){case a.Above:case a.Below:d.x=t.left+(t.width-h.width)/2;break;case a.AboveLeft:case a.BelowLeft:d.x=t.left;break;case a.AboveRight:case a.BelowRight:d.x=t.right-h.width;break;case a.Left:case a.LeftTop:case a.LeftBottom:d.x=e>=h.width||e>=s?t.left-h.width:t.right;break;case a.RightTop:case a.RightBottom:case a.Right:d.x=s>=h.width||s>=e?t.right:t.left-h.width}let r=t.top,u=o-t.bottom;switch(i){case a.Above:case a.AboveLeft:case a.AboveRight:d.y=r>h.height||r>u?t.top-h.height:t.bottom;break;case a.Below:case a.BelowLeft:case a.BelowRight:d.y=u>h.height||u>r?t.bottom:t.top-h.height;break;case a.LeftTop:case a.RightTop:d.y=t.top;break;case a.LeftBottom:case a.RightBottom:d.y=t.bottom-h.height;break;case a.Left:case a.Right:d.y=t.bottom-h.height+(h.height-t.height)/2}}d.x=Math.min(d.x,n-h.width);d.y=Math.min(d.y,o-h.height);d.x=Math.max(0,d.x)+s.x;d.y=Math.max(0,d.y)+s.y;return d}function _getRtlPosition(e){let t=PopupPosition;switch(e){case t.AboveLeft:return t.AboveRight;case t.AboveRight:return t.AboveLeft;case t.BelowLeft:return t.BelowRight;case t.BelowRight:return t.BelowLeft;case t.Left:return t.Right;case t.LeftTop:return t.RightTop;case t.LeftBottom:return t.RightBottom;case t.Right:return t.Left;case t.RightTop:return t.LeftTop;case t.RightBottom:return t.LeftBottom}return e}function _getReferenceRect(e,t){return t instanceof MouseEvent?t.clientX<=0&&t.clientY<=0&&t.target instanceof HTMLElement?Rect.fromBoundingRect(t.target.getBoundingClientRect()):new Rect(t.pageX-pageXOffset,t.pageY-pageYOffset,0,0):t instanceof Point?new Rect(t.x,t.y,0,0):t instanceof HTMLElement?Rect.fromBoundingRect(t.getBoundingClientRect()):t&&null!=t.top&&null!=t.left?t:null}!function(e){e[e.Focus=0]="Focus";e[e.Hover=1]="Hover";e[e.Both=2]="Both"}(TooltipTrigger=exports.TooltipTrigger||(exports.TooltipTrigger={}));class Tooltip{constructor(e){this._showAutoTipBnd=this._showAutoTip.bind(this);this._hideAutoTipBnd=this._hideAutoTip.bind(this);this._mousemoveBnd=this._mousemove.bind(this);this._focusBnd=this._focus.bind(this);this._mousemovedocBnd=this._mousemovedoc.bind(this);this._keydownBnd=this._keydown.bind(this);this._keydownHandleBnd=this.keydownHandle.bind(this);this._html=!0;this._cssClass="";this._gap=6;this._isAnimated=!1;this._position=PopupPosition.Above;this._trigger=TooltipTrigger.Hover;this._showAtMouse=!1;this._showDelay=500;this._hideDelay=0;this._tooltipVisibleOnHover=!0;this._tips=[];this._forceRecreate=!1;this.popup=new Event;copy(this,e)}get position(){return this._position}set position(e){this._position=asEnum(e,PopupPosition)}get trigger(){return this._trigger}set trigger(e){this._trigger=asEnum(e,TooltipTrigger);this._tips.forEach(e=>{this._detach(e.element);this._attach(e.element)})}get isAnimated(){return this._isAnimated}set isAnimated(e){this._isAnimated=asBoolean(e)}setTooltip(e,t,i){e=getElement(e);t=this._getContent(t);let s=this._indexOf(e);if(s>-1){this._detach(e);this._tips.splice(s,1)}if(t){this._attach(e);this._tips.push({element:e,content:t,position:i})}let r=Tooltip._eTip;if(r&&r[Control._TTIP_KEY]==e)if(t){this._setContent(t);r.isConnected&&!this._showAtMouse&&this.show(e,t,null,i)}else this._hideAutoTip()}getTooltip(e){e=getElement(e);let t=this._tips;for(let i=0;i<t.length;i++)if(t[i].element==e)return t[i].content;return null}show(e,t,i,s){e=getElement(e);t=this._getContent(t);if(!e)return;null==s&&(s=this.position);document.addEventListener("keydown",this._keydownHandleBnd);let r=Tooltip._eTip;this.forceRecreate&&r&&r.remove();if(!r||this.forceRecreate){r=Tooltip._eTip=document.createElement("div");addClass(r,exports.TooltipClsNames.hostElement);setAttribute(r,"aria-live","polite");r.style.visibility="none"}if(!r.isConnected){r.id=getUniqueId(e.id+"_toolTip");addAttributeValueToElement(e,"aria-describedby",r.id)}r.setAttribute("class",exports.TooltipClsNames.hostElement);this._tooltipVisibleOnHover&&[TooltipTrigger.Hover,TooltipTrigger.Both].includes(this.trigger)&&r.addEventListener("mouseleave",this._hideAutoTipBnd);addClass(r,this.cssClass);hasClass(e,exports.ControlStateClsNames.invalid)?r.setAttribute("role","alert"):r.setAttribute("role","tooltip");this._setContent(t);r[Control._TTIP_KEY]=e;let n=new TooltipEventArgs(t,e);this.onPopup(n);if(n.content&&!n.cancel){this._setContent(n.content);i||(i=Rect.fromBoundingRect(e.getBoundingClientRect()));let t=this.gap,o=PopupPosition;if(t)switch(s){case o.Above:case o.AboveLeft:case o.AboveRight:case o.Below:case o.BelowLeft:case o.BelowRight:i=i.inflate(0,t);break;default:i=i.inflate(t,0)}showPopup(r,i,s,this.isAnimated);document.addEventListener("mousedown",this._hideAutoTipBnd)}}hide(){let e=Tooltip._eTip;if(e){removeChild(e);removeClass(e,this.cssClass);e.innerHTML="";this._tooltipVisibleOnHover&&e.removeEventListener("mouseleave",this._hideAutoTipBnd);removeAttributeValueFromElement(e[Control._TTIP_KEY],"aria-describedby",e.id)}document.removeEventListener("mousedown",this._hideAutoTipBnd);document.removeEventListener("keydown",this._keydownHandleBnd);this._tooltipVisibleOnHover&&document.removeEventListener("mousemove",this._mousemovedocBnd)}dispose(){this.hide();let e=this._tips;if(e.length){e.forEach(e=>{this._detach(e.element)});e.splice(0,e.length)}if(Tooltip._eTip){Tooltip._eTip[Control._TTIP_KEY]=null;Tooltip._eTip=null}this._clearTimeouts()}get isVisible(){let e=Tooltip._eTip;return null!=e&&null!=e.parentElement&&e.offsetWidth>0}get isContentHtml(){return this._html}set isContentHtml(e){this._html=asBoolean(e)}get cssClass(){return this._cssClass}set cssClass(e){this._cssClass=asString(e)}get gap(){return this._gap}set gap(e){this._gap=asNumber(e)}get showAtMouse(){return this._showAtMouse}set showAtMouse(e){this._showAtMouse=asBoolean(e)}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=asInt(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=asInt(e)}onPopup(e){this.popup&&this.popup.raise(this,e);return!e.cancel}keydownHandle(e){"Escape"===e.key&&this.hide()}_indexOf(e){for(let t=0;t<this._tips.length;t++)if(this._tips[t].element==e)return t;return-1}_attach(e){if(this._tooltipVisibleOnHover)switch(this._trigger){case TooltipTrigger.Focus:e.addEventListener("focus",this._focusBnd);e.addEventListener("keydown",this._keydownBnd);e.addEventListener("blur",this._hideAutoTipBnd);break;case TooltipTrigger.Both:e.addEventListener("mousemove",this._showAutoTipBnd);e.addEventListener("mouseleave",this._hideAutoTipBnd);e.addEventListener("focus",this._focusBnd);e.addEventListener("keydown",this._keydownBnd);e.addEventListener("blur",this._hideAutoTipBnd);break;default:e.addEventListener("mousemove",this._showAutoTipBnd);e.addEventListener("mouseleave",this._hideAutoTipBnd)}else{e.addEventListener("mousemove",this._showAutoTipBnd);e.addEventListener("mouseleave",this._hideAutoTipBnd)}e.addEventListener("click",this._showAutoTipBnd);this.showAtMouse&&e.addEventListener("mousemove",this._mousemoveBnd)}_detach(e){e.removeEventListener("focus",this._focusBnd);e.removeEventListener("mousemove",this._showAutoTipBnd);e.removeEventListener("mouseleave",this._hideAutoTipBnd);e.removeEventListener("click",this._showAutoTipBnd);e.removeEventListener("mousemove",this._mousemoveBnd);e.removeEventListener("keydown",this._keydownBnd);e.removeEventListener("blur",this._hideAutoTipBnd);e.removeEventListener("mousedown",this._hideAutoTipBnd)}_keydown(e,t){if("Tab"==e.key){this._clearTimeouts();this.hide()}}_focus(e){e&&e.target&&this._showAutoTip(void 0,e.target)}_showAutoTip(e,t){let i=this._hideDelay;if(e&&[TooltipTrigger.Hover,TooltipTrigger.Both].includes(this.trigger)){if(e.defaultPrevented)return;if(this._tooltipVisibleOnHover&&"mousemove"==e.type&&this.isVisible&&!1===this._isMouseOutOfTipAndOwner(e))return;if("click"==e.type&&!Control._touching){this._hideAutoTip(e);return}let t=e&&"mouseenter"==e.type?this._showDelay:0;this._clearTimeouts();this._eMouse=e;let s=e.currentTarget;this._toShow=setTimeout(()=>{let e=this._indexOf(s);if(e>-1){let t=this._tips[e],s=this._eMouse,r=this._showAtMouse?new Rect(s.clientX,s.clientY,0,0):null;const n=t&&t.element;if(n&&this._hasOffset(n)){let e=Control.getControl(t.element);if(null==e||0!=e.isVisible){this.show(t.element,t.content,r,t.position);i>0&&(this._toHide=setTimeout(()=>{this.hide()},i))}}}},t)}if(t&&[TooltipTrigger.Focus,TooltipTrigger.Both].includes(this.trigger)){let e=this._showDelay;this._toShow=setTimeout(()=>{let e=this._indexOf(t);if(e>-1){let t=this._tips[e],s=null;const r=t&&t.element;if(r&&this._hasOffset(r)){let e=Control.getControl(t.element);if(null==e||0!=e.isVisible){this.show(t.element,t.content,s,t.position);i>0&&(this._toHide=setTimeout(()=>{this.hide()},i))}}}},e)}}_mousemove(e){let t=Tooltip._eTip;t&&!t.isConnected&&(this._eMouse=e)}_mousemovedoc(e){[TooltipTrigger.Hover,TooltipTrigger.Both].includes(this.trigger)&&this._checkBoundsAndHide(e,!1)}_hideAutoTip(e){if(!e)return;if(Tooltip._eTip)if(this._tooltipVisibleOnHover){"mouseleave"==e.type&&document.addEventListener("mousemove",this._mousemovedocBnd);this._checkBoundsAndHide(e,!0)}else if((this.trigger==TooltipTrigger.Hover||this.trigger==TooltipTrigger.Both)&&e&&"click"!=e.type&&"mousedown"!=e.type){this._clearTimeouts();this.hide()}}_checkBoundsAndHide(e,t){if(Tooltip._eTip&&e&&(!0===this._isMouseOutOfTipAndOwner(e)||"blur"==e.type)){t&&this._clearTimeouts();this.hide()}}_clearTimeouts(){if(this._toShow){clearTimeout(this._toShow);this._toShow=null}if(this._toHide){clearTimeout(this._toHide);this._toHide=null}if(this._forScreenReader){clearTimeout(this._forScreenReader);this._forScreenReader=null}}_getContent(e){if((e=asString(e))&&"#"==e[0]){let t=getElement(e);t&&(e=t.innerHTML)}return e}_setContent(e){let t=Tooltip._eTip;t&&(this._html?t.innerHTML=e:t.textContent=e)}_hasOffset(e){let t=new Size(e.offsetWidth,e.offsetHeight);if(e instanceof SVGGraphicsElement){let i=e.getBBox();t.width=i.width;t.height=i.height}return t.width>0||t.height>0}get forceRecreate(){return this._forceRecreate}set forceRecreate(e){this._forceRecreate=e}_isMouseOutOfTipAndOwner(e){let t=Tooltip._eTip;if(!t||!e)return;let i=t[Control._TTIP_KEY],s=Rect.fromBoundingRect(t.getBoundingClientRect()),r=Rect.fromBoundingRect(i.getBoundingClientRect()),n=this.gap+2,o=PopupPosition,a=0,l=this._indexOf(i);l>-1&&(a=this._tips[l]&&this._tips[l].position?this._tips[l].position:this.position);switch(a){case o.Above:case o.AboveLeft:case o.AboveRight:r=r.inflate(0,n,0,0);break;case o.Below:case o.BelowLeft:case o.BelowRight:r=r.inflate(0,0,0,n);break;case o.Left:case o.LeftTop:case o.LeftBottom:r=r.inflate(n,0,0,0);break;case o.Right:case o.RightTop:case o.RightBottom:r=r.inflate(0,0,n,0)}let u=e,c=!0;t.getClientRects().length>0&&null!=u&&(c=!(u.clientX>s.left&&u.clientX<s.right&&u.clientY>s.top&&u.clientY<s.bottom));let h=!0;null!=u&&(h=!(u.clientX>r.left&&u.clientX<r.right&&u.clientY>r.top&&u.clientY<r.bottom));return c&&h}}exports.Tooltip=Tooltip;class TooltipEventArgs extends CancelEventArgs{constructor(e,t){super();this._content=asString(e);this._e=t}get tip(){return Tooltip._eTip}get element(){return this._e}get content(){return this._content}set content(e){this._content=asString(e)}}exports.TooltipEventArgs=TooltipEventArgs;var theLic="The Wijmo license in this application ",_licStr={evl:"Wijmo Evaluation Version ({version})",prd:theLic+"is not valid for the <b>{control}</b> control.",ver:theLic+"is not valid for the version in use. The license version is <b>{licVer}</b>; the product version is <b>{version}</b>.",dmn:theLic+"is not valid for the current domain. The license domain is <b>{licDomain}</b>; the current domain is <b>{domain}</b>.",exp:theLic+"has expired. The license expiration date is <b>{expDate:d}</b>.",lic:theLic+"is invalid.",mss:theLic+"is not set.",ctc:'If you are a customer, you can <a target="_blank" rel="noopener" href="https://developer.mescius.com/licensing/wijmo?utm_source=Wijmo-In-App&utm_medium=Click-to-Site&utm_campaign=Wijmo-User-Analysis">create a license</a> online. Otherwise, you can <a target="_blank" rel="noopener" href="https://developer.mescius.com/wijmo/request-trial-key?utm_source=Wijmo-In-App&utm_medium=Click-to-Site&utm_campaign=Wijmo-User-Analysis">generate a 30-day license</a> for free. For further assistance, contact MESCIUS: <a href="mailto:us.sales@mescius.com">us.sales@mescius.com</a>.',hdr:"Wijmo License",cls:"CLOSE"},_codes={};function _updateWme(e,t){let i=Control._wme;if(!(i&&contains(document.body,i)&&i.offsetWidth&&i.offsetHeight))if(t){let i=_getControlCode(e);if(!_codes[i]){_codes[i]=!0;_attorn(t,{algorithmCode:"B0",publicKey:"l6/zrbWoSbcLFwEetFh38rH3ErBZE9H+Cqix3R+wTlfA1wD5B+lUcCQn+EJ60I4RGrm0x1sFjkiLWwB0jAn6BWZv0W4WbqAKriOdeoivxDp1Wmjs3qkEDhvbsjPtfvwx2BHil6o+/tDrdMJQSGs18WZm2PoQLQuL+9VhZ4FNRHUQU3Jtioke/OZEGHJOdYVwvCGalzBad6QFOiVbDBQPePpS3++GJzOxN8SN/7lyS5/IdKiy3WJRaVGkB370+HbN6hKraDfUgReLX26yxRaKC/5aWnGAJ2NnWLoGyAGRcwT9dVjo4bcAZNrrA0U9JVKQxaSskhdv2p49XzJkltXx5w=="},s=>{_checkLicense(e,t,s);delete _codes[i]},()=>{_checkLicense(e,t,null);delete _codes[i]})}}else _checkLicense(e,null,null)}exports._updateWme=_updateWme;function _getControlCode(e){return e._getProductInfo().split(",")[0]}function _getControlName(e){return e._getProductInfo().split(",")[1]}function _checkLicense(e,t,i){let s=exports.culture.Licensing||_licStr,r=null;i?_checkExpiration(e,i)?_checkVersion(e,i)?_checkDomain(e,i)?_checkProductCode(e,i)?_checkEval(e,i)&&(r=s.evl):r=s.prd:r=s.dmn:r=s.ver:r=s.exp:r=t?s.lic:s.mss;if(r){r+="<br/><br/>"+s.ctc;_addWme(e,r,i)}}function _checkProductCode(e,t){let i=_getControlCode(e);if(i&&i.length>=4)for(let e=0;e<t.Prd.length;e++)if(t.Prd[e].C.indexOf(i)>-1)return!0;return!1}function _checkExpiration(e,t){if(t.Exp){let e=t.Exp,i=new Date(parseInt(e.substr(0,4))||0,parseInt(e.substr(4,2))-1||0,parseInt(e.substr(6,2))||0);if(Math.ceil((i.valueOf()-Date.now())/864e5)<=0)return!1}return!0}function _checkVersion(e,t){let i=t.Anl?t.Anl.ver:null,s=getVersion();if(i&&s){return parseInt(i.replace("v",""))+10>=parseInt(s.split(".")[1])}return!0}function _checkDomain(e,t){if(_isLocalHost()||!t.Dms)return!0;let i=location.hostname,s=t.Dms.split(",");for(let e=0;e<s.length;e++)if(_ckHT(i,s[e]))return!0;return!1}function _ckHT(e,t){var i="^"+t.replace(/\./g,"\\.").replace(/\*/g,"(.*)")+"$";if(new RegExp(i,"i").test(e))return!0;if("*."==t.substr(0,2))return _ckHT(e,t.substr(2));if(isIp(e)&&!isIpv6(e)){let i=exports.ipaddr.parse(e),s=parseCIDR(t);if(s&&matchCIDR(i,s))return!0}return!1}exports._ckHT=_ckHT;function isIp(e){return isIpv4(e)||isIpv6(e)}function isIpv4(e){return exports.ipaddr.IPv4.isValidFourPartDecimal(e)}function isIpv6(e){return exports.ipaddr.IPv6.isValid(e)}function isIPExactMatch(e,t){return exports.ipaddr.parse(e).toString()===exports.ipaddr.parse(t).toString()}function parseCIDR(e){if(-1===e.indexOf("/"))return!1;let t=e.split("/");if(t[1].indexOf(".")>-1){let i=exports.ipaddr.parse(t[1]).prefixLengthFromSubnetMask();e=[t[0],i].join("/")}try{return exports.ipaddr.parseCIDR(e)}catch(e){return!1}}function matchCIDR(e,t){try{return e.match(t)}catch(e){return!1}}function _checkEval(e,t){return!!t&&t.Evl}function _isLocalHost(){let e=location,t=atob("Xih8bG9jYWxob3N0fGZpZGRsZS5qc2hlbGwubmV0fHJ1bi5wbG5rci5jb3xzLmNvZGVwZW4uaW98bnVsbC5qc2Jpbi5jb218Lio/LnN0YWNrYmxpdHouaW98MTI3LjAuMC4xfFt3LV0rLmxvY2FsfFt3LV0rfDo6MSkk");return"file:"==e.protocol||new RegExp(t,"i").test(e.hostname)}function _addWme(e,t,i){t=_getMessage(e,t,i);if(!_codes[" "]&&!_isLocalHost()&&!_checkEval(e,i)){_codes[" "]=!0;let e=exports.culture.Licensing||_licStr,i=createElement('<div style="position:fixed;background:rgba(0,0,0,0.3);left:0;top:0;width:100%;height:100%;font-family: sans-serif;z-index:10000;"><div style="position:relative;overflow:auto;background:white;width:450px;padding:36pt;left:50%;top:50%;transform:translate(-50%,-50%)"><div><p style="font-size:150%;font-weight:bold">'+e.hdr+"</p><p>"+t+'</p></div><div style="text-align:right;margin-top:24pt"><button style="border:none;background:rgba(158,158,158,.2);padding:8px 16px">'+e.cls+"</button></div></div></div>",document.body);i.addEventListener("click",e=>{e.target instanceof HTMLButtonElement&&removeChild(i)})}if(!Control._wme){let i=createElement('<div><a href="'+_getWmeHref()+'" target="_blank" rel="noopener">'+_getMessage(e)+"</a></div>"),s={position:"fixed",display:"block",visibility:"visible",background:"rgba(240,240,240,.9)",padding:"8px 12px",margin:"6px",fontFamily:"sans-serif",fontSize:"14pt",fontWeight:"bold",zIndex:1e4,opacity:.8,height:"auto",width:"auto",transform:"none"};switch(Math.round(100*Math.random())%3){case 0:s.right=s.bottom=0;break;case 1:s.left=s.bottom=0;break;case 2:s.right=s.top=0}setCss(i,s);document.body.appendChild(i);Control._wme=i;_addClickableTooltip(i,t)}}function _addClickableTooltip(e,t){let i,s=createElement(t);s.className=exports.TooltipClsNames.hostElement;setCss(s,{pointerEvents:"auto",padding:"10px",margin:"6px"});[e,s].forEach(e=>{e.addEventListener("mouseenter",()=>trackMouse(!0));e.addEventListener("mouseleave",()=>trackMouse(!1))});let r=0;function trackMouse(t){r+=t?1:-1;i&&clearTimeout(i);i=setTimeout(()=>{i=null;1==r?showPopup(s,e.getBoundingClientRect()):r<1&&hidePopup(s)},500)}}function _getWmeHref(){switch(exports.culture.Globalize.name){case"ja":return"https://developer.mescius.jp/wijmo/about-license";case"ko":return"https://www.mescius.co.kr/wijmo#price";default:return"https://developer.mescius.com/licensing/wijmo?utm_source=Wijmo-In-App&utm_medium=Click-to-Site&utm_campaign=Wijmo-User-Analysis"}}function _getMessage(e,t,i){if(!t||t.trim().length<15){t=(exports.culture.Licensing||_licStr).evl}(!t||t.trim().length<15)&&(t=atob("V2lqbW8gRXZhbHVhdGlvbiBWZXJzaW9uICh7dmVyc2lvbn0p"));let s=null;if(i&&i.Exp){let e=i.Exp;s=new Date(parseInt(e.substr(0,4))||0,parseInt(e.substr(4,2))-1||0,parseInt(e.substr(6,2))||0)}return t=format(t,{version:getVersion(),domain:location.hostname,control:_getControlName(e),licVer:i&&i.Anl?"5."+i.Anl.ver.replace("v","")+".*":null,licDomain:i?i.Dms:null,expDate:s})}function _attorn(e,t,i,s){let r=parseKeyData(e,t.algorithmCode);if(!r)return s();let n=r.lic,o=r.prefix+"#"+t.algorithmCode;if(tripleHash(o+JSON.stringify(n.D))!=n.H)return s();let a=window.msCrypto||window.crypto,l=a?a.subtle:null;if(!l||!location.protocol.match(/^https/i))return i(n.D);let u={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},c={alg:"RS256",e:"AQAB",kty:"RSA",n:str64ToJwkBase64(t.publicKey)};c=window.msCrypto?str2ArrayBuffer(JSON.stringify(c)):c;try{asPromise(l.importKey("jwk",c,u,!1,["verify"])).then(e=>{let t=arrayBuffer2Str(str64ToArrayBuffer(str64EncodeUnicode(o+JSON.stringify(n.D))));asPromise(l.verify(u,e,str64ToArrayBuffer(n.S),str2ArrayBuffer(t))).then(e=>e?i(n.D):s())},()=>i(n.D))}catch(e){return i(n.D)}}var uint8Array="undefined"==typeof window?null:window.Uint8Array||window.TypedArray;function parseKeyData(e,t){try{t="#"+t;let i=e.indexOf(t);if(i>-1)return{prefix:e.substring(0,i),lic:JSON.parse(decode(e.substr(i+t.length)))}}catch(e){}return null}function decode(e){if(!e)return"";let t=unshiftString(e);t=reverseString(t);let i=Math.ceil(t.length/2);t=t.substr(i)+t.substr(0,i);t=t.replace("#","=");t=t.replace("&","==");return str64DecodeUnicode(t)}function unshiftString(e){let t=e.split("");for(let e=t.length-5;e>=0;e--){swapArrayElements(t,e+1,e+3,unshiftChar);swapArrayElements(t,e,e+2,unshiftChar)}return t.join("")}function swapArrayElements(e,t,i,s){e.length>1&&e.splice(i,1,s(e.splice(t,1,s(e[i]))[0]))}function shiftChar(e,t){let i=e.charCodeAt(0);return i>=65&&i<=90?e.toLowerCase():i>=97&&i<=122?e.toUpperCase():i>=48&&i<=57?String.fromCharCode(48+(i-48+10+t)%10):e}function unshiftChar(e){return shiftChar(e,-1)}function reverseString(e){return e.split("").reverse().join("")}function str64DecodeUnicode(e){let t=atob(e),i="";for(let e=0;e<t.length;e++)i+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(i)}function arrayBuffer2Str(e){return String.fromCharCode.apply(null,new uint8Array(e))}function str64ToArrayBuffer(e){let t=atob(e),i=t.length,s=new uint8Array(i);for(let e=0;e<i;e++)s[e]=t.charCodeAt(e);return s.buffer}function str64EncodeUnicode(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16))))}function str64ToJwkBase64(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"")}function str2ArrayBuffer(e){let t=new ArrayBuffer(e.length),i=new uint8Array(t);for(let t=0,s=e.length;t<s;t++)i[t]=e.charCodeAt(t);return t}function tripleHash(e){let t=0,i=5381,s=0;for(let r=e.length-1;r>=0;r--){let n=e.charCodeAt(r);t=n+(t<<6)+(t<<16)-t;i=n+((i<<5)+i);s=n+((s<<5)-s)}let r=t^i^s;r<0&&(r=~r);return r.toString(16).toUpperCase()}function asPromise(e){if("oncomplete"in e){e.then=(t,i)=>{e.resolve=t;e.reject=i};e.oncomplete=t=>{e.resolve(e.result)};e.onerror=t=>{e.reject()}}return e}_registerModule("wijmo",selfModule);
|
|
14
|
+
"use strict";var __importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});const selfModule=__importStar(require("@mescius/wijmo"));function _ipTools(){const e={};var t="(0?\\d+|0x[a-f0-9]+)",i={fourOctet:new RegExp("^".concat(t,"\\.").concat(t,"\\.").concat(t,"\\.").concat(t,"$"),"i"),threeOctet:new RegExp("^".concat(t,"\\.").concat(t,"\\.").concat(t,"$"),"i"),twoOctet:new RegExp("^".concat(t,"\\.").concat(t,"$"),"i"),longValue:new RegExp("^".concat(t,"$"),"i")},s=new RegExp("^0[0-7]+$","i"),r=new RegExp("^0x[a-f0-9]+$","i"),n="(?:[0-9a-f]+::?)+",o={zoneIndex:new RegExp("%[0-9a-z]{1,}","i"),native:new RegExp("^(::)?(".concat(n,")?([0-9a-f]+)?(::)?(").concat("%[0-9a-z]{1,}",")?$"),"i"),deprecatedTransitional:new RegExp("^(?:::)(".concat(t,"\\.").concat(t,"\\.").concat(t,"\\.").concat(t,"(").concat("%[0-9a-z]{1,}",")?)$"),"i"),transitional:new RegExp("^((?:".concat(n,")|(?:::)(?:").concat(n,")?)").concat(t,"\\.").concat(t,"\\.").concat(t,"\\.").concat(t,"(").concat("%[0-9a-z]{1,}",")?$"),"i")};function expandIPv6(e,t){if(e.indexOf("::")!==e.lastIndexOf("::"))return null;var i,s,r=0,n=-1,a=(e.match(o.zoneIndex)||[])[0];if(a){a=a.substring(1);e=e.replace(/%.+$/,"")}for(;(n=e.indexOf(":",n+1))>=0;)r++;"::"===e.substr(0,2)&&r--;"::"===e.substr(-2,2)&&r--;if(r>t)return null;s=t-r;i=":";for(;s--;)i+="0:";":"===(e=e.replace("::",i))[0]&&(e=e.slice(1));":"===e[e.length-1]&&(e=e.slice(0,-1));return{parts:t=function(){for(var t=e.split(":"),i=[],s=0;s<t.length;s++)i.push(parseInt(t[s],16));return i}(),zoneId:a}}function matchCIDR(e,t,i,s){if(e.length!==t.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(var r,n=0;s>0;){(r=i-s)<0&&(r=0);if(e[n]>>r!=t[n]>>r)return!1;s-=i;n+=1}return!0}function parseIntAuto(e){if(r.test(e))return parseInt(e,16);if("0"===e[0]&&!isNaN(parseInt(e[1],10))){if(s.test(e))return parseInt(e,8);throw new Error("ipaddr: cannot parse ".concat(e," as octal"))}return parseInt(e,10)}function padPart(e,t){for(;e.length<t;)e="0".concat(e);return e}e.IPv4=function(){function IPv4(e){if(4!==e.length)throw new Error("ipaddr: ipv4 octet count should be 4");var t,i;for(t=0;t<e.length;t++)if(!(0<=(i=e[t])&&i<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=e}IPv4.prototype.SpecialRanges={unspecified:[[new IPv4([0,0,0,0]),8]],broadcast:[[new IPv4([255,255,255,255]),32]],multicast:[[new IPv4([224,0,0,0]),4]],linkLocal:[[new IPv4([169,254,0,0]),16]],loopback:[[new IPv4([127,0,0,0]),8]],carrierGradeNat:[[new IPv4([100,64,0,0]),10]],private:[[new IPv4([10,0,0,0]),8],[new IPv4([172,16,0,0]),12],[new IPv4([192,168,0,0]),16]],reserved:[[new IPv4([192,0,0,0]),24],[new IPv4([192,0,2,0]),24],[new IPv4([192,88,99,0]),24],[new IPv4([198,51,100,0]),24],[new IPv4([203,0,113,0]),24],[new IPv4([240,0,0,0]),4]]};IPv4.prototype.kind=function(){return"ipv4"};IPv4.prototype.match=function(e,t){var i;if(void 0===t){e=(i=e)[0];t=i[1]}if("ipv4"!==e.kind())throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return matchCIDR(this.octets,e.octets,8,t)};IPv4.prototype.prefixLengthFromSubnetMask=function(){var e,t,i,s=0,r=!1,n={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};for(e=3;e>=0;e-=1){if(!((t=this.octets[e])in n))return null;i=n[t];if(r&&0!==i)return null;8!==i&&(r=!0);s+=i}return 32-s};IPv4.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)};IPv4.prototype.toByteArray=function(){return this.octets.slice(0)};IPv4.prototype.toIPv4MappedAddress=function(){return e.IPv6.parse("::ffff:".concat(this.toString()))};IPv4.prototype.toNormalizedString=function(){return this.toString()};IPv4.prototype.toString=function(){return this.octets.join(".")};return IPv4}();e.IPv4.broadcastAddressFromCIDR=function(e){try{for(var t=this.parseCIDR(e),i=t[0].toByteArray(),s=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),r=[],n=0;n<4;){r.push(parseInt(i[n],10)|255^parseInt(s[n],10));n++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}};e.IPv4.isIPv4=function(e){return null!==this.parser(e)};e.IPv4.isValid=function(e){try{new this(this.parser(e));return!0}catch(e){return!1}};e.IPv4.isValidFourPartDecimal=function(t){return!(!e.IPv4.isValid(t)||!t.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))};e.IPv4.networkAddressFromCIDR=function(e){var t,i,s,r,n;try{s=(t=this.parseCIDR(e))[0].toByteArray();n=this.subnetMaskFromPrefixLength(t[1]).toByteArray();r=[];i=0;for(;i<4;){r.push(parseInt(s[i],10)&parseInt(n[i],10));i++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}};e.IPv4.parse=function(e){var t=this.parser(e);if(null===t)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(t)};e.IPv4.parseCIDR=function(e){var t;if(t=e.match(/^(.+)\/(\d+)$/)){var i=parseInt(t[2]);if(i>=0&&i<=32){var s=[this.parse(t[1]),i];Object.defineProperty(s,"toString",{value:function value(){return this.join("/")}});return s}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")};e.IPv4.parser=function(e){var t,s,r;if(t=e.match(i.fourOctet))return function(){for(var e=t.slice(1,6),i=[],r=0;r<e.length;r++){s=e[r];i.push(parseIntAuto(s))}return i}();if(t=e.match(i.longValue)){if((r=parseIntAuto(t[1]))>4294967295||r<0)throw new Error("ipaddr: address outside defined range");return function(){var e,t=[];for(e=0;e<=24;e+=8)t.push(r>>e&255);return t}().reverse()}return(t=e.match(i.twoOctet))?function(){var e=t.slice(1,4),i=[];if((r=parseIntAuto(e[1]))>16777215||r<0)throw new Error("ipaddr: address outside defined range");i.push(parseIntAuto(e[0]));i.push(r>>16&255);i.push(r>>8&255);i.push(255&r);return i}():(t=e.match(i.threeOctet))?function(){var e=t.slice(1,5),i=[];if((r=parseIntAuto(e[2]))>65535||r<0)throw new Error("ipaddr: address outside defined range");i.push(parseIntAuto(e[0]));i.push(parseIntAuto(e[1]));i.push(r>>8&255);i.push(255&r);return i}():null};e.IPv4.subnetMaskFromPrefixLength=function(e){if((e=parseInt(e))<0||e>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(var t=[0,0,0,0],i=0,s=Math.floor(e/8);i<s;){t[i]=255;i++}s<4&&(t[s]=Math.pow(2,e%8)-1<<8-e%8);return new this(t)};e.IPv6=function(){function IPv6(e,t){var i,s;if(16===e.length){this.parts=[];for(i=0;i<=14;i+=2)this.parts.push(e[i]<<8|e[i+1])}else{if(8!==e.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=e}for(i=0;i<this.parts.length;i++)if(!(0<=(s=this.parts[i])&&s<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");t&&(this.zoneId=t)}IPv6.prototype.SpecialRanges={unspecified:[new IPv6([0,0,0,0,0,0,0,0]),128],linkLocal:[new IPv6([65152,0,0,0,0,0,0,0]),10],multicast:[new IPv6([65280,0,0,0,0,0,0,0]),8],loopback:[new IPv6([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new IPv6([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new IPv6([0,0,0,0,0,65535,0,0]),96],rfc6145:[new IPv6([0,0,0,0,65535,0,0,0]),96],rfc6052:[new IPv6([100,65435,0,0,0,0,0,0]),96],"6to4":[new IPv6([8194,0,0,0,0,0,0,0]),16],teredo:[new IPv6([8193,0,0,0,0,0,0,0]),32],reserved:[[new IPv6([8193,3512,0,0,0,0,0,0]),32]]};IPv6.prototype.isIPv4MappedAddress=function(){return"ipv4Mapped"===this.range()};IPv6.prototype.kind=function(){return"ipv6"};IPv6.prototype.match=function(e,t){var i;if(void 0===t){e=(i=e)[0];t=i[1]}if("ipv6"!==e.kind())throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return matchCIDR(this.parts,e.parts,16,t)};IPv6.prototype.prefixLengthFromSubnetMask=function(){for(var e,t,i=0,s=!1,r={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},n=7;n>=0;n-=1){if(!((e=this.parts[n])in r))return null;t=r[e];if(s&&0!==t)return null;16!==t&&(s=!0);i+=t}return 128-i};IPv6.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)};IPv6.prototype.toByteArray=function(){for(var e,t=[],i=this.parts,s=0;s<i.length;s++){e=i[s];t.push(e>>8);t.push(255&e)}return t};IPv6.prototype.toFixedLengthString=function(){var e=function(){for(var e=[],t=0;t<this.parts.length;t++)e.push(padPart(this.parts[t].toString(16),4));return e}.call(this).join(":"),t="";this.zoneId&&(t="%".concat(this.zoneId));return e+t};IPv6.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");var t=this.parts.slice(-2),i=t[0],s=t[1];return new e.IPv4([i>>8,255&i,s>>8,255&s])};IPv6.prototype.toNormalizedString=function(){var e=function(){for(var e=[],t=0;t<this.parts.length;t++)e.push(this.parts[t].toString(16));return e}.call(this).join(":"),t="";this.zoneId&&(t="%".concat(this.zoneId));return e+t};IPv6.prototype.toRFC5952String=function(){for(var e,t=/((^|:)(0(:|$)){2,})/g,i=this.toNormalizedString(),s=0,r=-1;e=t.exec(i);)if(e[0].length>r){s=e.index;r=e[0].length}return r<0?i:"".concat(i.substring(0,s),"::").concat(i.substring(s+r))};IPv6.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")};return IPv6}();e.IPv6.broadcastAddressFromCIDR=function(e){try{for(var t=this.parseCIDR(e),i=t[0].toByteArray(),s=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),r=[],n=0;n<16;){r.push(parseInt(i[n],10)|255^parseInt(s[n],10));n++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv6 CIDR format (".concat(e,")"))}};e.IPv6.isIPv6=function(e){return null!==this.parser(e)};e.IPv6.isValid=function(e){if("string"==typeof e&&-1===e.indexOf(":"))return!1;try{var t=this.parser(e);new this(t.parts,t.zoneId);return!0}catch(e){return!1}};e.IPv6.networkAddressFromCIDR=function(e){var t,i,s,r,n;try{s=(t=this.parseCIDR(e))[0].toByteArray();n=this.subnetMaskFromPrefixLength(t[1]).toByteArray();r=[];i=0;for(;i<16;){r.push(parseInt(s[i],10)&parseInt(n[i],10));i++}return new this(r)}catch(e){throw new Error("ipaddr: the address does not have IPv6 CIDR format (".concat(e,")"))}};e.IPv6.parse=function(e){var t=this.parser(e);if(null===t.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(t.parts,t.zoneId)};e.IPv6.parseCIDR=function(e){var t,i,s;if((i=e.match(/^(.+)\/(\d+)$/))&&(t=parseInt(i[2]))>=0&&t<=128){s=[this.parse(i[1]),t];Object.defineProperty(s,"toString",{value:function value(){return this.join("/")}});return s}throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")};e.IPv6.parser=function(e){var t,i,s,r,n,a;if(s=e.match(o.deprecatedTransitional))return this.parser("::ffff:".concat(s[1]));if(o.native.test(e))return expandIPv6(e,8);if(s=e.match(o.transitional)){a=s[6]||"";if((t=expandIPv6(s[1].slice(0,-1)+a,6)).parts){n=[parseInt(s[2]),parseInt(s[3]),parseInt(s[4]),parseInt(s[5])];for(i=0;i<n.length;i++)if(!(0<=(r=n[i])&&r<=255))return null;t.parts.push(n[0]<<8|n[1]);t.parts.push(n[2]<<8|n[3]);return{parts:t.parts,zoneId:t.zoneId}}}return null};e.IPv6.subnetMaskFromPrefixLength=function(e){if((e=parseInt(e))<0||e>128)throw new Error("ipaddr: invalid IPv6 prefix length");for(var t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=0,s=Math.floor(e/8);i<s;){t[i]=255;i++}s<16&&(t[s]=Math.pow(2,e%8)-1<<8-e%8);return new this(t)};e.fromByteArray=function(t){var i=t.length;if(4===i)return new e.IPv4(t);if(16===i)return new e.IPv6(t);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")};e.isValid=function(t){return e.IPv6.isValid(t)||e.IPv4.isValid(t)};e.parse=function(t){if(e.IPv6.isValid(t))return e.IPv6.parse(t);if(e.IPv4.isValid(t))return e.IPv4.parse(t);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")};e.parseCIDR=function(t){try{return e.IPv6.parseCIDR(t)}catch(i){try{return e.IPv4.parseCIDR(t)}catch(e){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}};e.process=function(e){var t=this.parse(e);return"ipv6"===t.kind()&&t.isIPv4MappedAddress()?t.toIPv4Address():t};e.subnetMatch=function(e,t,i){var s,r,n,o;null==i&&(i="unicast");for(r in t)if(Object.prototype.hasOwnProperty.call(t,r)){!(n=t[r])[0]||n[0]instanceof Array||(n=[n]);for(s=0;s<n.length;s++){o=n[s];if(e.kind()===o[0].kind()&&e.match.apply(e,o))return r}}return i};return e}exports.ipaddr=_ipTools();class Binding{constructor(e){this.path=e}get path(){return this._path}set path(e){this._path=e;this._parts=e?e.split("."):[];for(let e=0;e<this._parts.length;e++){let t=this._parts[e],i=t.indexOf("[");if(i>-1){this._parts[e]=t.substr(0,i);this._parts.splice(++e,0,parseInt(t.substr(i+1)))}}this._key=1==this._parts.length?this._parts[0]:null}getValue(e){if(e){if(this._key)return e[this._key];if(this._path&&this._path in e)return e[this._path];for(let t=0;t<this._parts.length&&e;t++)e=e[this._parts[t]]}return e}setValue(e,t){if(e)try{let i=this._path;if(i in e){e[i]=t;return e[i]==t}for(let t=0;t<this._parts.length-1;t++)if(null==(e=e[this._parts[t]]))return!1;i=this._parts[this._parts.length-1];e[i]=t;return e[i]==t}catch(e){return!1}return!1}}exports.Binding=Binding;class EventHandler{constructor(e,t){this.handler=e;this.self=t}}class Event{constructor(e){this._handlers=[];this._handlersChanged=e}addHandler(e,t){e=asFunction(e);this._handlers.push(new EventHandler(e,t));isFunction(this._handlersChanged)&&this._handlersChanged()}getHandler(e=0){const t=this._handlers[e];if(t)return t.handler}removeHandler(e,t){let i=!1;e=asFunction(e);for(let s=0;s<this._handlers.length;s++){let r=this._handlers[s];if(!(r.handler!=e&&null!=e||r.self!=t&&null!=t)){this._handlers.splice(s--,1);i=!0;if(e&&t)break}}i&&isFunction(this._handlersChanged)&&this._handlersChanged()}removeAllHandlers(){let e=this._handlers.length>0;this._handlers.length=0;e&&isFunction(this._handlersChanged)&&this._handlersChanged()}raise(e,t=EventArgs.empty){let i=this._handlers;for(let s=0;s<i.length;s++){let r=i[s];r.handler.call(r.self,e,t);i[s]!==r&&s--}}get hasHandlers(){return this._handlers.length>0}get handlerCount(){return this._handlers.length}}exports.Event=Event;class EventArgs{}EventArgs.empty=new EventArgs;exports.EventArgs=EventArgs;class CancelEventArgs extends EventArgs{constructor(){super(...arguments);this.cancel=!1}}exports.CancelEventArgs=CancelEventArgs;class PropertyChangedEventArgs extends EventArgs{constructor(e,t,i){super();this._name=e;this._oldVal=t;this._newVal=i}get propertyName(){return this._name}get oldValue(){return this._oldVal}get newValue(){return this._newVal}}exports.PropertyChangedEventArgs=PropertyChangedEventArgs;class RequestErrorEventArgs extends CancelEventArgs{constructor(e,t){super();this._xhr=e;this._msg=t}get request(){return this._xhr}get message(){return this._msg}set message(e){this._msg=e}}exports.RequestErrorEventArgs=RequestErrorEventArgs;var NotifyCollectionChangedAction;!function(e){e[e.Add=0]="Add";e[e.Remove=1]="Remove";e[e.Change=2]="Change";e[e.Reset=3]="Reset"}(NotifyCollectionChangedAction=exports.NotifyCollectionChangedAction||(exports.NotifyCollectionChangedAction={}));class NotifyCollectionChangedEventArgs extends EventArgs{constructor(e=NotifyCollectionChangedAction.Reset,t=null,i=-1){super();this.action=e;this.item=t;this.index=i}}NotifyCollectionChangedEventArgs.reset=new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset);exports.NotifyCollectionChangedEventArgs=NotifyCollectionChangedEventArgs;class SortDescription{constructor(e,t){this._bnd=new Binding(e);this._asc=t}get property(){return this._bnd.path}get ascending(){return this._asc}}exports.SortDescription=SortDescription;class PageChangingEventArgs extends CancelEventArgs{constructor(e){super();this.newPageIndex=e}}exports.PageChangingEventArgs=PageChangingEventArgs;class GroupDescription{groupNameFromItem(e,t){return""}namesMatch(e,t){return e===t}}exports.GroupDescription=GroupDescription;class PropertyGroupDescription extends GroupDescription{constructor(e,t){super();this._bnd=new Binding(e);this._converter=t}get propertyName(){return this._bnd.path}groupNameFromItem(e,t){return this._converter?this._converter(e,this.propertyName):this._bnd.getValue(e)}namesMatch(e,t){return e===t}}exports.PropertyGroupDescription=PropertyGroupDescription;exports.empty={};exports.ClipboardClsNames={clipboard:"wj-clipboard"};exports.ControlClsNames={content:"wj-content",hostElement:"wj-control",template:"wj-template"};exports.ControlStateClsNames={active:"wj-state-active",checked:"wj-state-checked",collapsed:"wj-state-collapsed",collapsing:"wj-state-collapsing",disabled:"wj-state-disabled",dragSrc:"wj-state-dragsrc",empty:"wj-state-empty",focus:"wj-state-focus",focused:"wj-state-focused",invalid:"wj-state-invalid",lastSelected:"wj-state-last-selected",loading:"wj-state-loading",match:"wj-state-match",exactMatchSpace:"wj-state-exact-match-space",measuring:"wj-state-measuring",multiSelected:"wj-state-multi-selected",pinned:"wj-state-pinned",readOnly:"wj-state-readonly",selected:"wj-state-selected",sticky:"wj-state-sticky",updating:"wj-state-updating",labeledInput:".wj-labeled-input",wjError:".wj-error",errorVisible:"wj-error-visible"};exports.GlyphClsNames={backward:"wj-glyph-backward",btnGlyph:"wj-btn-glyph",calendar:"wj-glyph-calendar",circle:"wj-glyph-circle",clock:"wj-glyph-clock",down:"wj-glyph-down",downLeft:"wj-glyph-down-left",drag:"wj-glyph-drag",file:"wj-glyph-file",filter:"wj-glyph-filter",forward:"wj-glyph-forward",glyph:"wj-glyph",left:"wj-glyph-left",minus:"wj-glyph-minus",plus:"wj-glyph-plus",right:"wj-glyph-right",stepBackward:"wj-glyph-step-backward",stepForward:"wj-glyph-step-forward",up:"wj-glyph-up"};exports.InputFormElementsClsNames={btn:"wj-btn",btnDefault:"wj-btn-default",btnGroup:"wj-btn-group",btnGroupVertical:"wj-btn-group-vertical",btnsOutside:"wj-btns-outside",formControl:"wj-form-control",svgBtn:"wj-svg-btn"};exports.PrintDocumentClsNames={printDocument:"wj-printdocument"};exports.TooltipClsNames={hostElement:"wj-tooltip"};exports.UtilitesClsNames={align:"wj-align",alignVCenter:"wj-align-vcenter",animated:"wj-animated",centerVert:"wj-center-vert",close:"wj-close",hide:"wj-hide",hideOk:"wj-hide-ok",remove:"wj-remove",right:"wj-right",rtl:"wj-rtl",separator:"wj-separator"};exports.ForeignClsNames={InputClsNames:{input:"wj-input",inputBtnVisible:"wj-input-btn-visible",inputGroup:"wj-input-group",inputGroupBtn:"wj-input-group-btn"},SelectorClsNames:{columnSelector:"wj-column-selector",columnSelectorGroup:"wj-column-selector-group"}};const _agent="undefined"!=typeof navigator?navigator.userAgent:"";function isMobile(){const e=_agent.toLowerCase();return["android","webos","iphone","ipad","ipod","blackberry","windows phone","mobile","mobi","tablet"].some(t=>e.includes(t))}exports.isMobile=isMobile;function isSupportTouch(){return"ontouchstart"in window||navigator.maxTouchPoints>0}exports.isSupportTouch=isSupportTouch;const _isiOS=null!=_agent.match(/iPad|iPhone|iPod/i);function isiOS(){return _isiOS}exports.isiOS=isiOS;const _isFF=null!=_agent.match(/Firefox\//);function isFirefox(){return _isFF}exports.isFirefox=isFirefox;const _isSafari=null!=_agent.match(/^((?!Chrome|Android).)*safari/i);function isSafari(){return _isSafari}exports.isSafari=isSafari;const _isEdge=null!=_agent.match(/Edge\/|Edg\//);function isEdge(){return _isEdge}exports.isEdge=isEdge;const _isIE=null!=_agent.match(/MSIE |Trident\/|Edge\//);function isIE(){return _isIE}exports.isIE=isIE;let _isIE9=!1;function isIE9(){return _isIE9}exports.isIE9=isIE9;let _isIE10=!1;function isIE10(){return _isIE10}exports.isIE10=isIE10;let _isChromiumBased=null;function isChromiumBased(){if(null!=_isChromiumBased)return _isChromiumBased;{_isChromiumBased=!1;const e="undefined"!=typeof navigator?navigator.userAgentData:null;if(e&&e.brands)for(let t of e.brands)if("Chromium"==t.brand){_isChromiumBased=!0;break}return _isChromiumBased}}exports.isChromiumBased=isChromiumBased;let _supportsPassive=!1;"undefined"!=typeof document&&document.addEventListener("test",e=>{},{get passive(){_supportsPassive=!0;return!0}});function getEventOptions(e,t){return _supportsPassive?{capture:e,passive:t}:e}exports.getEventOptions=getEventOptions;var _supportsFocusOptions=!1;"undefined"!=typeof document&&document.createElement("div").focus({get preventScroll(){_supportsFocusOptions=!0;return!0}});function supportsFocusOptions(){return _supportsFocusOptions}exports.supportsFocusOptions=supportsFocusOptions;function _startDrag(e,t){e.effectAllowed=t;isFirefox()&&e.setData("text","")}exports._startDrag=_startDrag;if("undefined"!=typeof document&&document.doctype){navigator.appVersion.indexOf("MSIE 10")>-1&&(_isIE10=!0);if(navigator.appVersion.indexOf("MSIE 9")>-1){_isIE9=!0;document.addEventListener("mousemove",e=>{if(1==e.which){let t=closest(e.target,"."+exports.ControlClsNames.hostElement);if(t&&!t.style.cursor)for(let t=e.target;t;t=t.parentElement)if(t.attributes&&t.attributes.draggable){t.dragDrop();return!1}}})}}if("undefined"!=typeof window){let e="requestAnimationFrame",t="cancelAnimationFrame";if(!window[e]){let i=0;window[e]=e=>{let t=Date.now(),s=16-(t-i),r=s>0?s:0;i=t+r;return setTimeout(()=>{e(i)},r)};window[t]=clearTimeout}if(!window.atob){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t=new RegExp("[^"+e+"]");window.atob=i=>{let s,r,n,o,a=[],l=0,u=i.length;if(t.test(i)||/=/.test(i)&&(/=[^=]/.test(i)||/={3}/.test(i)))throw new Error("Invalid base64 data");u%4>0&&(u=(i+=Array(4-u%4+1).join("=")).length);for(;l<u;){for(r=[],o=l;l<o+4;)r.push(e.indexOf(i.charAt(l++)));s=(r[0]<<18)+(r[1]<<12)+((63&r[2])<<6)+(63&r[3]);n=[(s&255<<16)>>16,64===r[2]?-1:(65280&s)>>8,64===r[3]?-1:255&s];for(o=0;o<3;++o)(n[o]>=0||0===o)&&a.push(String.fromCharCode(n[o]))}return a.join("")};window.btoa=t=>{let i,s,r=[],n=0,o=t.length;for(;n<o;){s=[t.charCodeAt(n++),t.charCodeAt(n++),t.charCodeAt(n++)];i=(s[0]<<16)+((s[1]||0)<<8)+(s[2]||0);r.push(e.charAt((i&63<<18)>>18),e.charAt((258048&i)>>12),e.charAt(isNaN(s[1])?64:(4032&i)>>6),e.charAt(isNaN(s[2])?64:63&i))}return r.join("")}}}class _FocusService{constructor(){this._hasDoc="undefined"!=typeof Document;this._ae=this._nativeAe();let e=window,t=this._onBlur.bind(this),i=this._onFocus.bind(this);e.addEventListener("focusout",t,!0);e.addEventListener("focusin",i,!0);if(!isIE()){e.addEventListener("blur",t,!0);e.addEventListener("focus",i,!0)}}get activeElement(){let e=this._ae,t=this._nativeAe();e===_FocusService._noAe?e=this._ae=t:e!=t&&(this._isSpecialRoot(e)||document.body.contains(e)||(e=this._ae=t));return e!==_FocusService._noAe?e:null}_onBlur(e){if(e.isTrusted){let t=e.relatedTarget;this._ae=this._isSpecialRoot(t)?this._nativeAe():t}}_onFocus(e){e.isTrusted&&(this._ae=this._nativeAe())}_isSpecialRoot(e){return null==e||e===document.body||this._hasDoc&&e instanceof Document}_nativeAe(){let e;try{e="unknown"!=typeof document.activeElement?document.activeElement:_FocusService._noAe}catch(t){e=_FocusService._noAe}return e}dispose(){if(!isIE()){window.removeEventListener("blur",this._onBlur,!0);window.removeEventListener("focus",this._onFocus,!0)}window.removeEventListener("focusout",this._onBlur,!0);window.removeEventListener("focusin",this._onFocus,!0)}}_FocusService._noAe={};exports._FocusService=_FocusService;const _getProxyTarget="undefined"!=typeof window&&window.Symbol?Symbol("_getProxyTarget"):"\t_get\tProxy\tTarget\t";function _getCalculatedArray(e,t,i){let s=new WeakMap;if(!i){let t={};if(e.length){let s=e[0];for(let e in s){let i=typeof s[e];t[e]="string"==i?"":"number"==i?0:null}i=t}}return new Proxy(e,{get(e,r){if(r===_getProxyTarget)return e;if("string"==typeof r||"number"==typeof r){if("indexOf"==r)return(t,i)=>{let s=e.indexOf(t,i);s<0&&t&&(t=t[_getProxyTarget])&&(s=e.indexOf(t,i));return s};let n=parseInt(r);if(!isNaN(n)){let r=e[n];if(r&&!r[_getProxyTarget]){let e=s.get(r);if(!e){e=_createItemProxy(r,t,i);s.set(r,e)}r=e}return r}}return Reflect.get(e,r)}})}exports._getCalculatedArray=_getCalculatedArray;function _createItemProxy(e,t,i){if(!e[_getProxyTarget]){if(isIE())for(let i in t)e[i]=null;let s={get:(e,s,r)=>{if(s===_getProxyTarget)return e;if("constructor"===s)return()=>Object.assign({},i||{});let n=t[s];if(n)switch(typeof n){case"function":return n(r);case"string":return _eval(n,r)}return e[s]}};if(!isIE()){s.ownKeys=e=>Object.keys(e).concat(Object.keys(t));s.getOwnPropertyDescriptor=(e,i)=>i in t?{enumerable:!0,configurable:!0,writable:!1}:Reflect.getOwnPropertyDescriptor(e,i)}e=new Proxy(e,s)}return e}function _getTargetObject(e){return(e?e[_getProxyTarget]:null)||e}exports._getTargetObject=_getTargetObject;function _eval(e,t){let i=[t];return new Function(...["$"],"return "+e)(...i)}var Key,DataType,_VERSION="5.20261.45";class _ENV_TOOLS{}_ENV_TOOLS.isSameInstance=(e,t)=>e==t;_ENV_TOOLS.indexOf=(e,t)=>e.indexOf(t);exports._ENV_TOOLS=_ENV_TOOLS;exports._CLS_STATE_DISABLED=exports.ControlStateClsNames.disabled;function getVersion(){return _VERSION}exports.getVersion=getVersion;function setLicenseKey(e){Control._licKey=e}exports.setLicenseKey=setLicenseKey;!function(e){e[e.Back=8]="Back";e[e.Tab=9]="Tab";e[e.Enter=13]="Enter";e[e.Escape=27]="Escape";e[e.Space=32]="Space";e[e.PageUp=33]="PageUp";e[e.PageDown=34]="PageDown";e[e.End=35]="End";e[e.Home=36]="Home";e[e.Left=37]="Left";e[e.Up=38]="Up";e[e.Right=39]="Right";e[e.Down=40]="Down";e[e.Delete=46]="Delete";e[e.X=88]="X";e[e.F1=112]="F1";e[e.F2=113]="F2";e[e.F3=114]="F3";e[e.F4=115]="F4";e[e.F5=116]="F5";e[e.F6=117]="F6";e[e.F7=118]="F7";e[e.F8=119]="F8";e[e.F9=120]="F9";e[e.F10=121]="F10";e[e.F11=122]="F11";e[e.F12=123]="F12";e[e.PlusKey=107]="PlusKey";e[e.EqualPlusKey=187]="EqualPlusKey";e[e.MinusKey=109]="MinusKey";e[e.HyphenMinusKey=189]="HyphenMinusKey";e[e.S=83]="S";e[e.P=80]="P";e[e.F=70]="F"}(Key=exports.Key||(exports.Key={}));!function(e){e[e.Object=0]="Object";e[e.String=1]="String";e[e.Number=2]="Number";e[e.Boolean=3]="Boolean";e[e.Date=4]="Date";e[e.Array=5]="Array"}(DataType=exports.DataType||(exports.DataType={}));function tryCast(e,t){return null==e?null:isString(t)?isFunction(e.implementsInterface)&&e.implementsInterface(t)?e:null:e instanceof t?e:null}exports.tryCast=tryCast;function isPrimitive(e){return isString(e)||isNumber(e)||isBoolean(e)||isDate(e)}exports.isPrimitive=isPrimitive;function isString(e){return"string"==typeof e}exports.isString=isString;function isNullOrWhiteSpace(e){return!e||!/\S/.test(e)}exports.isNullOrWhiteSpace=isNullOrWhiteSpace;function isNumber(e){return"number"==typeof e}exports.isNumber=isNumber;function isInt(e){return isNumber(e)&&e==Math.round(e)}exports.isInt=isInt;function isBoolean(e){return"boolean"==typeof e}exports.isBoolean=isBoolean;function isFunction(e){return"function"==typeof e}exports.isFunction=isFunction;function isUndefined(e){return void 0===e}exports.isUndefined=isUndefined;function isNullOrUndefined(e){return null==e}exports.isNullOrUndefined=isNullOrUndefined;function isDate(e){return(e instanceof Date||"[object Date]"===Object.prototype.toString.call(e))&&!isNaN(e.getTime())}exports.isDate=isDate;function isArray(e){return e instanceof Array||Array.isArray(e)||"[object Array]"===Object.prototype.toString.call(e)}exports.isArray=isArray;function _isPlainArray(e){return Array.isArray(e)}exports._isPlainArray=_isPlainArray;function isObject(e){return null!=e&&"object"==typeof e&&!isDate(e)&&!isArray(e)}exports.isObject=isObject;function isEmpty(e){for(var t in e)return!1;return!0}exports.isEmpty=isEmpty;function _areObjectsEqual(e,t){const i=Object.entries(e),s=Object.entries(t);if(i.length!==s.length)return!1;for(const[e,s]of i)if(!t.hasOwnProperty(e)||t[e]!==s)return!1;return!0}exports._areObjectsEqual=_areObjectsEqual;function getUniqueId(e){let t=e;for(let i=0;null!=document.getElementById(t);i++)t=e+i;return t}exports.getUniqueId=getUniqueId;function getSafeUniqueId(e,t="wj",i){let s=e;s=s.trim().toLowerCase();s=s.replace(/[^a-z0-9_-]+/g,"-");s=s.replace(/-+/g,"-").replace(/^-|-$/g,"");s?/^[a-z]/.test(s)&&!i||(s=`${t}-${s}`):s=`${t}-${Date.now()}`;for(let e=0;null!=document.getElementById(s);e++)s+=e;return s}exports.getSafeUniqueId=getSafeUniqueId;function uidGenerator(){for(var e="",t="0123456789abcdef".split(""),i=0;i<32;i++){var s=Math.floor(16*Math.random());switch(i){case 8:e+="-";break;case 12:s=4;e+="-";break;case 16:s=3&s|8;e+="-";break;case 20:e+="-"}e+=t[s]}return e}exports.uidGenerator=uidGenerator;function mouseToPage(e){if(e instanceof Point)return e;e&&e.touches&&e.touches.length>0&&(e=e.touches[0]);if(isNumber(e.clientX)&&isNumber(e.clientY))return new Point(e.clientX+pageXOffset,e.clientY+pageYOffset);throw"Mouse or touch event expected."}exports.mouseToPage=mouseToPage;function getType(e){return isNumber(e)?DataType.Number:isBoolean(e)?DataType.Boolean:isDate(e)?DataType.Date:isString(e)?DataType.String:isArray(e)?DataType.Array:DataType.Object}exports.getType=getType;function getTypes(e,t=1e3){if(!e)return[];const i=e.length;(t<=0||i<t)&&(t=i);const s=[];if(t){const i=Object.keys(e[0]),r={},n=[...i];for(let i=0;i<t;i++){const t=e[i];for(let s=n.length-1;s>=0;s--){const o=n[s],a=t[o];if(isPrimitive(a)){let t=Object.getOwnPropertyDescriptor(e[i],o);r[o]={binding:o,dataType:getType(a),isReadOnly:t&&!t.writable&&!t.set};n.splice(s,1)}}if(!n.length)break}for(let e=0;e<i.length;e++){const t=r[i[e]];t&&s.push(t)}}return s}exports.getTypes=getTypes;function changeType(e,t,i,s){if(null!=e){let r=DataType;if(isString(e))switch(t){case r.Number:let t=Globalize.parseFloat(e,i);return isNaN(t)?e:t;case r.Date:let n=Globalize.parseDate(e,i,isDate(s)?s:null);n||i||!e||(n=new Date(e));return n&&isFinite(n.getTime())?n:e;case r.Boolean:switch(e.toLowerCase()){case"true":return!0;case"false":return!1}return e;case r.Array:try{let t=e.split(",").map(e=>(e=e.trim()).match(/^(\+|\-)?\d+\.?\d*$/)?e:'"'+e+'"');return JSON.parse("["+t.join(",")+"]")}catch(e){}}if(t==DataType.String)return Globalize.format(e,i)}return e}exports.changeType=changeType;function toFixed(e,t,i){if(i){let i=e.toString(),s=i.indexOf("e"),r=i.indexOf(".");if(s>-1){if("-"===i[s+1]){let n=parseFloat(i.substr(s+2)),o=i.substr(0,s);r>-1&&(o=o.substr(0,r)+o.substr(r+1));i="0."+(Array(n).join("0")+o).substr(0,t);e=parseFloat(i)}}else if(r>-1){i=i.substr(0,r+1+t);e=parseFloat(i)}}else{let i=Math.pow(10,t);e=Math.round(e*i)/i}return e}exports.toFixed=toFixed;function format(e,t,i){if((e=asString(e)).match(/\{.*"count".*:.*"when".*:.*\}/))try{let i=JSON.parse(e);if(isString(i.count)){let s=t[i.count],r=i.when;if(isNumber(s)&&isObject(r)){let t=r[s]||r.other;isString(t)&&(e=t)}}}catch(e){}return e.replace(/\{(.*?)(:(.*?))?\}/g,(e,s,r,n)=>{let o=e;if(s&&"{"!=s[0]&&t){o=new Binding(s).getValue(t);n&&(o=Globalize.format(o,n));i&&(o=i(t,s,n,o))}return null==o?"":o})}exports.format=format;function glbz(...e){let t=[],i=-1;e[0].forEach((s,r)=>{if(r>0&&r!=i){let n=e[r],o=s.match(/^:([a-z][0-9]*\b)/i)||s.match(/^:'(.+?)'/)||s.match(/^:"(.+?)"/);if(o){n=Globalize.format(n,o[1]);s=s.substr(o[0].length)}else if(":"==s&&r<e.length-1&&(isNumber(n)||isDate(n))){n=Globalize.format(n,e[r+1]);s="";i=r+1}t.push(n)}s&&t.push(s)});return t.join("")}exports.glbz=glbz;function evalTemplate(e,t){if(isIE()){let i=/:\${([^}]*)}/g,s=/\${([^}]*)}(:(([A-Za-z]\d*)|"([^"]+)"|'([^']+)'))?/g;return(e=e.replace(i,(e,i)=>":"+_evalExpression(i,t))).replace(s,(e,i,s,r,n,o,a)=>{let l=_evalExpression(i,t);return r?Globalize.format(l,n||o||a):l})}return _evalExpression(e,t)}exports.evalTemplate=evalTemplate;function _evalExpression(e,t){(t=t||{}).glbz=glbz;const i=parseTpl(e,t);return isIE()?i:glbz`${i}`}function get(e,t,i=`\${${e}}`){return e.split(".").reduce((e,t)=>null!=e&&null!=e[t]?e[t]:i,t)}function parseTpl(e,t,i){return e.replace(/\$\{.+?}/g,e=>get(e.substr(2,e.length-3).trim(),t,i))}function clamp(e,t,i){if(null!=e){null!=i&&e>i&&(e=i);null!=t&&e<t&&(e=t)}return e}exports.clamp=clamp;function copy(e,t,i=!0,s=!1){if(t)for(let r in t)if("_"!=r[0]){assert(r in e,'Unknown property "'+r+'".');let n=t[r];if(!e._copy||!e._copy(r,n)){const t=e[r];e[r]instanceof Event?isFunction(n)&&e[r].addHandler(n):!i||!isObject(n)||"undefined"!=typeof Element&&n instanceof Element||!t||!isObject(t)||Object.getPrototypeOf(t).constructor==Object.prototype.constructor&&isWritable(e,r)||"itemsSource"==r?s&&isObject(n)&&Object.getPrototypeOf(n).isPrototypeOf(Object)&&isObject(t)&&!Object.getPrototypeOf(t).isPrototypeOf(Object)?copy(t,n):e[r]=n:copy(t,n)}}return e}exports.copy=copy;function _isPlainObject(e){return isObject(e)&&Object.getPrototypeOf(e).isPrototypeOf(Object)}exports._isPlainObject=_isPlainObject;function isWritable(e,t){const i=Object.getOwnPropertyDescriptor(e,t)||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),t)||{};return!!i.writable||isFunction(i.set)}exports.isWritable=isWritable;function deepClone(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e)){return e.map(e=>deepClone(e))}const t={};for(const i in e)e.hasOwnProperty(i)&&(t[i]=deepClone(e[i]));return t}exports.deepClone=deepClone;function assert(e,t,i=!0){if(!e){t="** Assertion failed in Wijmo: "+t;let e=new Error;isString(e.stack)&&i&&(t+=" "+e.stack);throw t}}exports.assert=assert;function _deprecated(e,t){console.error('** WARNING: "'+e+'" has been deprecated; please use "'+t+'" instead.')}exports._deprecated=_deprecated;function _warning(e){console.error('** WARNING: "'+e)}exports._warning=_warning;function asString(e,t=!0){isUndefined(e)&&(e=null);assert(t&&null==e||isString(e),"String expected.");return e}exports.asString=asString;function asNumber(e,t=!1,i=!1){assert(t&&null==e||isNumber(e),"Number expected.");if(i&&e&&e<0)throw"Positive number expected.";return e}exports.asNumber=asNumber;function asInt(e,t=!1,i=!1){assert(t&&null==e||isInt(e),"Integer expected.");if(i&&e&&e<0)throw"Positive integer expected.";return e}exports.asInt=asInt;function asBoolean(e,t=!1){assert(t&&null==e||isBoolean(e),"Boolean expected.");return e}exports.asBoolean=asBoolean;function asDate(e,t=!1){if(isString(e)){let t=changeType(e,DataType.Date,"r");isDate(t)&&(e=t)}assert(t&&null==e||isDate(e),"Date expected.");return e}exports.asDate=asDate;function asFunction(e,t=!0){assert(t&&null==e||isFunction(e),"Function expected.");return e}exports.asFunction=asFunction;function asArray(e,t=!0){assert(t&&null==e||isArray(e),"Array expected.");return e}exports.asArray=asArray;function asType(e,t,i=!1){e=tryCast(e,t);assert(i||null!=e,t+" expected.");return e}exports.asType=asType;function asEnum(e,t,i=!1){if(null==e&&i)return null;let s=isString(e)?t[e]:e;assert(null!=s,'Invalid enum value: "'+e+'"');return isNumber(s)?s:e}exports.asEnum=asEnum;function asCollectionView(e,t=!0){if(null==e&&t)return null;let i=tryCast(e,"ICollectionView");if(null!=i)return i;isArray(e)||assert(!1,"Array or ICollectionView expected.");return new CollectionView(e)}exports.asCollectionView=asCollectionView;function hasItems(e){return null!=e&&null!=e.items&&e.items.length>0}exports.hasItems=hasItems;function toHeaderCase(e){return e&&e.length?e[0].toUpperCase()+e.substr(1).replace(/([a-z])([A-Z])/g,"$1 $2"):""}exports.toHeaderCase=toHeaderCase;function escapeHtml(e){e&&isString(e)&&(e=e.replace(/[&<>]/g,e=>_ENTITYMAP[e]));return null!=e?e.toString():""}exports.escapeHtml=escapeHtml;const _ENTITYMAP={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},_specialCharsRegex=/"(.*?)"|[^\w]|_/g;function getSpecialCharsRegex(){return _specialCharsRegex}exports.getSpecialCharsRegex=getSpecialCharsRegex;function escapeRegExp(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}exports.escapeRegExp=escapeRegExp;function toPlainText(e){let t=asString(e);if(isString(t)&&t.indexOf("<")>-1){_plainText||(_plainText=document.createElement("div"));_plainText.innerHTML=t;t=_plainText.textContent}return t}exports.toPlainText=toPlainText;var _plainText;function hasClass(e,t){if(e&&t){if(e instanceof HTMLElement&&e.classList&&!isIE9())return e.classList.contains(t);if(e.getAttribute){let i=new RegExp("(\\s|^)"+t+"(\\s|$)");return e&&i.test(e.getAttribute("class"))}}return!1}exports.hasClass=hasClass;function addClass(e,t=""){if(e&&t){let i=t.trim();if(e instanceof HTMLElement&&e.classList&&!isIE9()){i.indexOf(" ")<0?e.classList.add(i):i.split(" ").forEach(t=>{t.length>0&&e.classList.add(t)});return}e.setAttribute&&i.split(" ").forEach(t=>{if(t.length>0&&!hasClass(e,t)){let i=e.getAttribute("class");e.setAttribute("class",i?i+" "+t:t)}})}}exports.addClass=addClass;function removeClass(e,t){if(e&&t){let i=t.trim();if(e instanceof HTMLElement&&e.classList&&!isIE9()){i.indexOf(" ")<0?e.classList.remove(i):i.split(" ").forEach(t=>{t.length>0&&e.classList.remove(t)});0===e.classList.length&&e.removeAttribute("class");return}e.setAttribute&&i.split(" ").forEach(t=>{if(hasClass(e,t)){let i=new RegExp("((\\s|^)"+t+"(\\s|$))","g"),s=e.getAttribute("class");s=s.replace(i," ").replace(/ +/g," ").trim();s?e.setAttribute("class",s):e.removeAttribute("class")}})}}exports.removeClass=removeClass;function toggleClass(e,t,i){null==i&&(i=!hasClass(e,t));i?addClass(e,t):removeClass(e,t)}exports.toggleClass=toggleClass;function setAttribute(e,t,i,s){e&&(null!=i?s&&e.getAttribute(t)||("style"===t.toLowerCase()&&(e instanceof HTMLElement||e instanceof SVGElement)?e.style.cssText=i.toString():e.setAttribute(t,i.toString())):e.removeAttribute(t))}exports.setAttribute=setAttribute;function setInnerHTMLSafe(e,t){t=t.replace(/\bstyle\s*=/gi,"data-wj-style=");e.innerHTML=t;const i=e.querySelectorAll("[data-wj-style]");for(let e=0;e<i.length;e++){const t=i[e],s=t.getAttribute("data-wj-style");s&&(t instanceof HTMLElement||t instanceof SVGElement)&&(t.style.cssText=s);t.removeAttribute("data-wj-style")}}exports.setInnerHTMLSafe=setInnerHTMLSafe;function setChecked(e,t){let i=null==t;e.checked=isIE()?t||i:t;e.indeterminate=i}exports.setChecked=setChecked;function setAriaLabel(e,t){setAttribute(e,"aria-label",t)}exports.setAriaLabel=setAriaLabel;function setSelectionRange(e,t,i=t,s=!0){assert(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement,"INPUT or TEXTAREA element expected");if(contains(document.body,e)&&!e.disabled&&e.offsetHeight){try{e.setSelectionRange(t,i,"backward")}catch(e){}if(s)try{e.focus();return!0}catch(e){}}return!1}exports.setSelectionRange=setSelectionRange;function disableAutoComplete(e){let t="autocomplete",i=e.getAttribute(t);i&&"on"!=i||e.setAttribute(t,"off");"autocorrect,autocapitalize,spellcheck".split(",").forEach(t=>{e.setAttribute(t,"spellcheck"==t?"false":"off")})}exports.disableAutoComplete=disableAutoComplete;function removeChild(e){return e&&e.parentNode?e.parentNode.removeChild(e):null}exports.removeChild=removeChild;function getActiveElement(){let e=document.activeElement;if(e){let t=e.shadowRoot;t&&t.activeElement&&(e=t.activeElement)}return e}exports.getActiveElement=getActiveElement;function _getActiveElement(e){let t=e;if(t){let e=t.shadowRoot;e&&e.activeElement&&(t=e.activeElement)}return t}exports._getActiveElement=_getActiveElement;function moveFocus(e,t){let i=_getFocusableElements(e,t<0),s=0;if(t){let e=i.indexOf(getActiveElement());e>-1&&(s=(e+t+i.length)%i.length)}if(s<i.length){let e=i[s];e.focus();e instanceof HTMLInputElement&&e.select();return!0}return!1}exports.moveFocus=moveFocus;function _getFocusableElements(e,t=!1){let i=[],s=Array.prototype.slice.call(e.querySelectorAll("input,select,textarea,button,a,div,label,[tabindex]")),r={};s=s.filter(e=>-1!==e.tabIndex);const isRb=e=>e instanceof HTMLInputElement&&"radio"===e.type;s.forEach(e=>{isRb(e)&&e.checked&&(r[e.name||""]=!0)});s=s.filter(e=>!isRb(e)||e.checked||!r[e.name||""]);s.sort((e,t)=>e.tabIndex===t.tabIndex?0:0===e.tabIndex?1:0===t.tabIndex?-1:e.tabIndex-t.tabIndex);for(let e=0;e<s.length;e++){let r=s[e];if(r.offsetHeight>0&&r.tabIndex>-1&&!r.disabled&&"hidden"!==window.getComputedStyle(r).visibility&&!closest(r,"[disabled],."+exports.ControlStateClsNames.disabled)){if(r instanceof HTMLAnchorElement&&!r.hasAttribute("href"))continue;if(isIE()&&!r.hasAttribute("tabindex")){if(r instanceof HTMLDivElement)continue;let e=Control.getControl(closest(r,".wj-flexgrid"));if(e&&0==e.keyActionTab)continue}if("radio"===r.type&&!r.checked&&i.length>0){let e=i[i.length-1],s=getActiveElement();if("radio"===e.type&&e.name===r.name){t&&e!=s&&(i[i.length-1]=r);continue}}(Control.getControl(r)||!_getFocusableElements(r).length||r.classList.contains("wj-detail"))&&i.push(r)}}return i}exports._getFocusableElements=_getFocusableElements;function saveFile(e,t,i="text/plain"){let s=e instanceof Blob;s||!i.match(/\bcsv\b/i)&&!t.match(/\.csv$/i)||(e="\ufeff"+e);let r=s?e:new Blob([e],{type:i});const n=navigator;if(isFunction(n.msSaveOrOpenBlob))n.msSaveOrOpenBlob(r,t);else{var o=document.createElement("a"),click=e=>{let t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null);e.dispatchEvent(t)};if("download"in o){let e=window.URL||window.webkitURL,i=e.createObjectURL(r);o.href=i;o.target="_blank";o.download=t;click(o);o=null;window.setTimeout(()=>{e.revokeObjectURL(i)},3e4)}else{let e=new FileReader;e.onloadend=()=>{o.href=e.result;o.download=t;click(o);o=null};e.readAsDataURL(r)}}}exports.saveFile=saveFile;function getElement(e){if(e instanceof Element||e&&e.appendChild&&e.appendChild instanceof Function)return e;if(isString(e))try{return document.querySelector(e)}catch(e){}return e&&e.jquery?e[0]:null}exports.getElement=getElement;function processStyleProperty(e){let t=(e=e.replace(";base64,","_wj_")).split(";"),i=[];t.forEach(e=>{let t=[];if(e.indexOf("_wj_")>-1){t=(e=e.replace("_wj_",";base64,").replace("data:image","_wjimg_")).split(":");2==t.length&&(t[1]=t[1].replace("_wjimg_","data:image"))}else t=e.split(":");i.push(t)});return i}function createElement(e,t,i){e=e.replace(/\bstyle\s*=/gi,"_wj-style=");let s=document.createElement("div");s.innerHTML=e;if(e.indexOf("_wj-style")>-1){const e=s.querySelectorAll("[_wj-style]");for(let t=0;t<e.length;t++){let i=e[t],s=i.getAttribute("_wj-style"),r=[];if(s.indexOf(";base64,")>-1)r=processStyleProperty(s);else{s.split(";").forEach(e=>{r.push(e.split(":"))})}r.forEach(e=>{2==e.length&&(i.style[e[0].trim()]=e[1].trim())});i.removeAttribute("_wj-style")}}1==s.children.length&&(s=s.children[0]);i&&setCss(s,i);t&&(t=getElement(t)).appendChild(s);return s}exports.createElement=createElement;function setText(e,t){e.textContent=t||""}exports.setText=setText;function contains(e,t,i){for(let s=t;s&&e;){if(s===e)return!0;s=(i?s[Control._OWNR_KEY]:null)||s.parentNode||s.host}return!1}exports.contains=contains;function closest(e,t){if(e){if(isFunction(e.closest))return e.closest(t);let i=e.matches||e.webkitMatchesSelector||e.msMatchesSelector||e.mozMatchesSelector;if(i)for(;e&&1===e.nodeType;e=e.parentElement||e.parentNode)if(i.call(e,t))return e}return null}exports.closest=closest;function closestClass(e,t){return closest(e,"."+t)}exports.closestClass=closestClass;function enable(e,t){let i=!t,s="disabled";toggleClass(e,exports.ControlStateClsNames.disabled,i);setAttribute(e,s,i?s:null);let r=e.querySelectorAll("input,button");for(let e=0;e<r.length;e++)setAttribute(r[e],s,i?s:null)}exports.enable=enable;function getElementRect(e){let t=e.getBoundingClientRect();return new Rect(t.left+pageXOffset,t.top+pageYOffset,t.width,t.height)}exports.getElementRect=getElementRect;function setCss(e,t){assert(isObject(t),"css parameter should be an object");if(e instanceof Array)for(let i=0;i<e.length;i++)setCss(e[i],t);else if(e&&e.style){let i=e.style;for(let e in t){let s=t[e];"number"==typeof s&&e.match(/width|height|left|top|right|bottom|size|padding|margin'/i)&&(s+="px");i[e]!==s&&(i[e]=s)}}}exports.setCss=setCss;function animate(e,t,i,s){null==t&&(t=Control._ANIM_DEF_DURATION);null==i&&(i=Control._ANIM_DEF_STEP);e=asFunction(e);t=asNumber(t,!1,!0);i=asNumber(i,!1,!0);let r,n=Date.now(),o=setInterval(()=>{let i=Math.min(1,(Date.now()-n)/t);i=Math.sin(i*Math.PI/2);i*=i;r&&cancelAnimationFrame(r);r=requestAnimationFrame(()=>{r=null;e(i);i>=1&&s&&s()});i>=1&&clearInterval(o)},i);return o}exports.animate=animate;class Point{constructor(e=0,t=0){this.x=asNumber(e);this.y=asNumber(t)}equals(e,t=0,i=0){return e instanceof Point&&Math.abs(this.x-e.x)<=t&&Math.abs(this.y-e.y)<=i}clone(){return new Point(this.x,this.y)}}exports.Point=Point;class Size{constructor(e=0,t=0){this.width=asNumber(e);this.height=asNumber(t)}equals(e){return e instanceof Size&&this.width==e.width&&this.height==e.height}clone(){return new Size(this.width,this.height)}}exports.Size=Size;class Rect{constructor(e,t,i,s){this.left=asNumber(e);this.top=asNumber(t);this.width=asNumber(i);this.height=asNumber(s)}get right(){return this.left+this.width}get bottom(){return this.top+this.height}equals(e){return e instanceof Rect&&this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height}clone(){return new Rect(this.left,this.top,this.width,this.height)}static fromBoundingRect(e){if(null!=e.left)return new Rect(e.left,e.top,e.width,e.height);if(null!=e.x)return new Rect(e.x,e.y,e.width,e.height);assert(!1,"Invalid source rectangle.")}static union(e,t){let i=Math.min(e.left,t.left),s=Math.min(e.top,t.top),r=Math.max(e.right,t.right),n=Math.max(e.bottom,t.bottom);return new Rect(i,s,r-i,n-s)}static intersection(e,t){let i=Math.max(e.left,t.left),s=Math.max(e.top,t.top),r=Math.min(e.right,t.right),n=Math.min(e.bottom,t.bottom);return new Rect(i,s,r-i,n-s)}contains(e){if(e instanceof Point)return e.x>=this.left&&e.x<=this.right&&e.y>=this.top&&e.y<=this.bottom;if(e instanceof Rect){let t=e;return t.left>=this.left&&t.right<=this.right&&t.top>=this.top&&t.bottom<=this.bottom}assert(!1,"Point or Rect expected.")}inflate(e,t,i,s){return null!=i&&null!=s?new Rect(this.left-e,this.top-t,this.width+e+i,this.height+t+s):new Rect(this.left-e,this.top-t,this.width+2*e,this.height+2*t)}}exports.Rect=Rect;class DateTime{static addDays(e,t){(e=new Date(e.getTime())).setDate(e.getDate()+t);return e}static addMonths(e,t){var i=(e=new Date(e.getTime())).getDate();e.setMonth(e.getMonth()+t);e.getDate()!=i&&e.setDate(0);return e}static addYears(e,t){(e=new Date(e.getTime())).setFullYear(e.getFullYear()+t);return e}static addHours(e,t){(e=new Date(e.getTime())).setHours(e.getHours()+t);return e}static addMinutes(e,t){(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t);return e}static addSeconds(e,t){(e=new Date(e.getTime())).setSeconds(e.getSeconds()+t);return e}static weekFirst(e,t=Globalize.getFirstDayOfWeek()){return DateTime.addDays(e,-(e.getDay()-t))}static weekLast(e,t=Globalize.getFirstDayOfWeek()){e=DateTime.weekFirst(e,t);return DateTime.addDays(e,6)}static monthFirst(e){return DateTime.addDays(e,1-e.getDate())}static monthLast(e){e=DateTime.monthFirst(e);e=DateTime.addMonths(e,1);return DateTime.addDays(e,-1)}static yearFirst(e){return new Date(e.getFullYear(),0,1)}static yearLast(e){return new Date(e.getFullYear(),11,31)}static sameDate(e,t){return isDate(e)&&isDate(t)&&e.getFullYear()==t.getFullYear()&&e.getMonth()==t.getMonth()&&e.getDate()==t.getDate()}static sameTime(e,t){return isDate(e)&&isDate(t)&&e.getHours()==t.getHours()&&e.getMinutes()==t.getMinutes()&&e.getSeconds()==t.getSeconds()&&e.getMilliseconds()==t.getMilliseconds()}static equals(e,t){return null==e&&null==t||isDate(e)&&isDate(t)&&e.getTime()==t.getTime()}static fromDateTime(e,t){if(!e&&!t)return null;e||(e=t);t||(t=e);return DateTime.newDate(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}static toFiscal(e,t){let i=exports.culture.Globalize.calendar;return isArray(i.fiscalYearOffsets)?DateTime.addMonths(e,-i.fiscalYearOffsets[t?0:1]):e}static fromFiscal(e,t){let i=exports.culture.Globalize.calendar;return isArray(i.fiscalYearOffsets)?DateTime.addMonths(e,+i.fiscalYearOffsets[t?0:1]):e}static newDate(e,t,i,s,r,n,o){if(null==e||null==t||null==i){let s=new Date;null==e&&(e=s.getFullYear());null==t&&(t=s.getMonth());null==i&&(i=s.getDate())}null==s&&(s=0);null==r&&(r=0);null==n&&(n=0);null==o&&(o=0);let a=new Date(e,t,i,s,r,n,o),l=a.getFullYear();e<100&&l>=1900&&a.setFullYear(a.getFullYear()-1900);return a}static clone(e){return DateTime.fromDateTime(e,e)}}exports.DateTime=DateTime;function httpRequest(e,t){let i=t||{},s=i.method?asString(i.method).toUpperCase():"GET",r=null==i.async||asBoolean(i.async),n=i.data;if(null!=n&&"GET"==s){let t=[];for(let e in n){let i=n[e];isDate(i)&&(i=i.toJSON());t.push(e+"="+encodeURIComponent(i))}if(t.length){let i=e.indexOf("?")<0?"?":"&";e+=i+t.join("&")}n=null}let o=new XMLHttpRequest;o.URL_DEBUG=e;let a=!1;if(null!=n&&!isString(n)){a=isObject(n);n=JSON.stringify(n)}o.onload=function(){if(4==o.readyState){o.status<300?i.success&&asFunction(i.success)(o):i.error&&asFunction(i.error)(o);i.complete&&asFunction(i.complete)(o)}};o.onerror=function(){if(!isFunction(i.error))throw"HttpRequest Error: "+o.status+" "+o.statusText;i.error(o)};o.open(s,e,r,i.user,i.password);i.user&&i.password&&o.setRequestHeader("Authorization","Basic "+btoa(i.user+":"+i.password));a&&(()=>{for(let e in i.requestHeaders)if("content-type"===e.toLowerCase())return!1;return!0})()&&o.setRequestHeader("Content-Type","application/json");if(i.requestHeaders)for(let e in i.requestHeaders)o.setRequestHeader(e,i.requestHeaders[e]);isNumber(i.timeout)&&(o.timeout=i.timeout);isFunction(i.beforeSend)&&i.beforeSend(o);o.send(n);return o}exports.httpRequest=httpRequest;let _modules={};function _registerModule(e,t){_modules[e]=t;if("wijmo"===e){let e="undefined"!=typeof window?window:"undefined"!=typeof self?self:null;e&&(e.wijmo=t)}}exports._registerModule=_registerModule;function _getModule(e){return _modules[e]}exports._getModule=_getModule;function focusFirst(e,t){const i=e.querySelectorAll(t||'button, [href], input, [tabindex]:not([tabindex="-1"])'),s=Array.from(i).filter(e=>e.offsetWidth>0&&e.offsetHeight>0&&!e.hasAttribute("disabled")&&e.tabIndex>=0);if(s.length>0){s[0].focus();return!0}return!1}exports.focusFirst=focusFirst;exports.cellCoordinateParserRegex=new RegExp(/(\'?\w+\'?\!)?(\$?[A-Za-z]+)(\$?\d+)/,"g");function getScrollableParent(e){const t=document.scrollingElement;let i="absolute"==getComputedStyle(e).position?e.offsetParent:e.parentElement;for(;i&&i!=t;){if(i.clientHeight!=i.scrollHeight)return i;i="absolute"==getComputedStyle(i).position?i.offsetParent:i.parentElement;e=i}return t}exports.getScrollableParent=getScrollableParent;function getOffsetFromAncestor(e,t){let i=0,s=0,r=0,n=0;for(;e;){s+=e.offsetLeft;i+=e.offsetTop;e=e.offsetParent}for(;t;){n+=t.offsetLeft;r+=t.offsetTop;t=t.offsetParent}return{top:i-r,left:s-n}}exports.getOffsetFromAncestor=getOffsetFromAncestor;function _isMacOS(){return-1!==navigator.userAgent.indexOf("Mac")}exports._isMacOS=_isMacOS;function _setAriaLabelBy(e,t,i,s){let r=""===i?null:i;if(r!==e.ariaLabelledBy){e._ariaLabelledby=r;setAttribute(t,"aria-labelledby",r);s&&s()}}exports._setAriaLabelBy=_setAriaLabelBy;function deepElementFromPoint(e,t){let i=document.elementFromPoint(e,t);for(;i&&i.shadowRoot;){const s=i.shadowRoot.elementFromPoint(e,t);if(!s||s===i)break;i=s}return i}exports.deepElementFromPoint=deepElementFromPoint;function roundTo(e,t){const i=Math.pow(10,t);return Math.round(e*i)/i}exports.roundTo=roundTo;function addAttributeValueToElement(e,t,i){const s=e.getAttribute(t);if(s){if(!s.split(/\s+/).includes(i)){setAttribute(e,t,s+" "+i)}}else setAttribute(e,t,i)}exports.addAttributeValueToElement=addAttributeValueToElement;function removeAttributeValueFromElement(e,t,i){const s=e.getAttribute(t);if(!s)return;const r=i.toString(),n=s.split(/\s+/).filter(e=>e!==r);n.length>0?e.setAttribute(t,n.join(" ")):e.removeAttribute(t)}exports.removeAttributeValueFromElement=removeAttributeValueFromElement;function replaceItems(e,t){const i=new Map(t.map(e=>[""+e.value,e]));return e.map(e=>{const t=""+e.value;return i.has(t)?i.get(t):e})}exports.replaceItems=replaceItems;function _getTextDecorations(e){const t=[];if(e){e.underline&&t.push("underline");e.strikethrough&&t.push("line-through")}return t.length?t.join(" "):"none"}exports._getTextDecorations=_getTextDecorations;class _Map{constructor(e=!0){if(e)this._h={};else{let e=_getGlobal(),t=e&&e.Map;this._m=t&&new Map||new _ArrayMap}}get isPojoHash(){return null!=this._h}get size(){return this._h&&Object.keys(this._h).length||this._m.size}clear(){this._h?this._h={}:this._m.clear()}delete(e){this._h?delete this._h[e]:this._m.delete(e)}get(e){return this._h?this._h[e]:this._m.get(e)}has(e){return this._h?e in this._h:this._m.has(e)}set(e,t){this._h?this._h[e]=t:this._m.set(e,t);return this}}exports._Map=_Map;class _ArrayMap{constructor(){this._d=[]}get size(){return this._d.length}clear(){this._d=[]}delete(e){let t=this._kIdx(e);if(t>-1){this._d.splice(t,1);return!0}return!1}get(e){let t=this._kIdx(e);return t>-1?this._d[t].v:void 0}has(e){return this._kIdx(e)>-1}set(e,t){let i=this._kIdx(e);i>-1?this._d[i].v=t:this._d.push({k:e,v:t});return this}_kIdx(e){let t=this._d,i=t.length;if(e==e){for(let s=0;s<i;s++)if(t[s].k===e)return s}else for(let e=0;e<i;e++){let i=t[e].k;if(i!=i)return e}return-1}}function _getGlobal(){let e=null;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self);return e}class Color{constructor(e){this._r=0;this._g=0;this._b=0;this._a=1;e&&this._parse(e)}get r(){return this._r}set r(e){this._r=clamp(asNumber(e),0,255)}get g(){return this._g}set g(e){this._g=clamp(asNumber(e),0,255)}get b(){return this._b}set b(e){this._b=clamp(asNumber(e),0,255)}get a(){return this._a}set a(e){this._a=clamp(asNumber(e),0,1)}equals(e){return e instanceof Color&&this.r==e.r&&this.g==e.g&&this.b==e.b&&this.a==e.a}toString(){let e=Math.round(100*this.a);return e>99?"#"+((1<<24)+(this.r<<16)+(this.g<<8)+this.b).toString(16).slice(1):"rgba("+this.r+","+this.g+","+this.b+","+e/100+")"}static fromRgba(e,t,i,s=1){let r=new Color(null);r.r=Math.round(clamp(asNumber(e),0,255));r.g=Math.round(clamp(asNumber(t),0,255));r.b=Math.round(clamp(asNumber(i),0,255));r.a=clamp(asNumber(s),0,1);return r}static fromHsb(e,t,i,s=1){let r=Color._hsbToRgb(clamp(asNumber(e),0,1),clamp(asNumber(t),0,1),clamp(asNumber(i),0,1));return Color.fromRgba(r[0],r[1],r[2],s)}static fromHsl(e,t,i,s=1){let r=Color._hslToRgb(clamp(asNumber(e),0,1),clamp(asNumber(t),0,1),clamp(asNumber(i),0,1));return Color.fromRgba(r[0],r[1],r[2],s)}static fromString(e){let t=new Color(null);return t._parse(asString(e))?t:null}getHsb(){return Color._rgbToHsb(this.r,this.g,this.b)}getHsl(){return Color._rgbToHsl(this.r,this.g,this.b)}static interpolate(e,t,i){i=clamp(asNumber(i),0,1);let s=Color._rgbToHsl(e.r,e.g,e.b),r=Color._rgbToHsl(t.r,t.g,t.b),n=1-i,o=e.a*n+t.a*i,a=[s[0]*n+r[0]*i,s[1]*n+r[1]*i,s[2]*n+r[2]*i],l=Color._hslToRgb(a[0],a[1],a[2]);return Color.fromRgba(l[0],l[1],l[2],o)}static toOpaque(e,t){if(1==(e=isString(e)?Color.fromString(e):asType(e,Color)).a)return e;t=null==t?Color.fromRgba(255,255,255,1):isString(t)?Color.fromString(t):asType(t,Color);let i=e.a,s=1-i;return Color.fromRgba(e.r*i+t.r*s,e.g*i+t.g*s,e.b*i+t.b*s)}_parse(e){if("transparent"==(e=e.toLowerCase())){this._r=this._g=this._b=this._a=0;return!0}if(e&&0!=e.indexOf("#")&&0!=e.indexOf("rgb")&&0!=e.indexOf("hsl")){let t=document.createElement("div");t.style.color=e;let i=t.style.color;if(i==e){i=window.getComputedStyle(t).color;if(!i){document.body.appendChild(t);i=window.getComputedStyle(t).color;removeChild(t)}}e=i.toLowerCase()}if(0==e.indexOf("#")){if(this._isValidHexColor(e)){if(4==e.length){this.r=parseInt(e[1]+e[1],16);this.g=parseInt(e[2]+e[2],16);this.b=parseInt(e[3]+e[3],16);this.a=1;return!0}if(7==e.length){this.r=parseInt(e.substr(1,2),16);this.g=parseInt(e.substr(3,2),16);this.b=parseInt(e.substr(5,2),16);this.a=1;return!0}}return!1}if(0==e.indexOf("rgb")){let t=e.indexOf("("),i=e.indexOf(")");if(t>-1&&i>-1){let s=e.substr(t+1,i-(t+1)).split(",");if(s.length>2){this.r=parseInt(s[0]);this.g=parseInt(s[1]);this.b=parseInt(s[2]);this.a=s.length>3?parseFloat(s[3]):1;return!0}}}if(0==e.indexOf("hsl")){let t=e.indexOf("("),i=e.indexOf(")");if(t>-1&&i>-1){let s=e.substr(t+1,i-(t+1)).split(",");if(s.length>2){let e=parseInt(s[0])/360,t=parseInt(s[1]),i=parseInt(s[2]);s[1].indexOf("%")>-1&&(t/=100);s[2].indexOf("%")>-1&&(i/=100);let r=Color._hslToRgb(e,t,i);this.r=r[0];this.g=r[1];this.b=r[2];this.a=s.length>3?parseFloat(s[3]):1;return!0}}}return!1}_isValidHexColor(e){return/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.test(e)}static _hslToRgb(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSL values");let s,r,n;if(0==t)s=r=n=i;else{let o=i<.5?i*(1+t):i+t-i*t,a=2*i-o;s=Color._hue2rgb(a,o,e+1/3);r=Color._hue2rgb(a,o,e);n=Color._hue2rgb(a,o,e-1/3)}return[Math.round(255*s),Math.round(255*r),Math.round(255*n)]}static _hue2rgb(e,t,i){i<0&&(i+=1);i>1&&(i-=1);return i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static _rgbToHsl(e,t,i){assert(e>=0&&e<=255&&t>=0&&t<=255&&i>=0&&i<=255,"bad RGB values");e/=255,t/=255,i/=255;let s,r,n=Math.max(e,t,i),o=Math.min(e,t,i),a=(n+o)/2;if(n==o)s=r=0;else{let l=n-o;r=a>.5?l/(2-n-o):l/(n+o);switch(n){case e:s=(t-i)/l+(t<i?6:0);break;case t:s=(i-e)/l+2;break;case i:s=(e-t)/l+4}s/=6}return[s,r,a]}static _rgbToHsb(e,t,i){assert(e>=0&&e<=255&&t>=0&&t<=255&&i>=0&&i<=255,"bad RGB values");let s=Color._rgbToHsl(e,t,i);return Color._hslToHsb(s[0],s[1],s[2])}static _hsbToRgb(e,t,i){let s=Color._hsbToHsl(e,t,i);return Color._hslToRgb(s[0],s[1],s[2])}static _hsbToHsl(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSB values");let s=clamp(i*(2-t)/2,0,1),r=1-Math.abs(2*s-1),n=clamp(r>0?i*t/r:t,0,1);assert(!isNaN(s)&&!isNaN(n),"bad conversion to HSL");return[e,n,s]}static _hslToHsb(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSL values");let s=clamp(1==i?1:(2*i+t*(1-Math.abs(2*i-1)))/2,0,1),r=clamp(s>0?2*(s-i)/s:t,0,1);assert(!isNaN(s)&&!isNaN(r),"bad conversion to HSB");return[e,r,s]}}exports.Color=Color;exports.culture="undefined"!=typeof window&&window.wijmo&&window.wijmo.culture||{Globalize:{numberFormat:{".":".",",":",","-":"-","+":"+","%":"%",percent:{pattern:["-n%","n%"]},currency:{decimals:2,symbol:"$",pattern:["($n)","$n"]}},calendar:{"/":"/",":":":",firstDay:0,days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],am:["AM","A"],pm:["PM","P"],eras:["A.D.","B.C."],patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",t:"h:mm tt",T:"h:mm:ss tt",M:"MMMM d",m:"MMMM d",Y:"MMMM, yyyy",y:"MMMM, yyyy",g:"M/d/yyyy h:mm tt",G:"M/d/yyyy h:mm:ss tt",s:'yyyy"-"MM"-"dd"T"HH":"mm":"ss',o:'yyyy"-"MM"-"dd"T"HH":"mm":"ss"."fffffffK',O:'yyyy"-"MM"-"dd"T"HH":"mm":"ss"."fffffffK',U:"dddd, MMMM dd, yyyy h:mm:ss tt"},fiscalYearOffsets:[-3,-3]}}};class Globalize{static format(e,t,i,s,r){if(isString(e))return e;if(isNumber(e)){t=t||(e==Math.round(e)?"n0":"n2");return Globalize.formatNumber(e,t,i,s,r)}if(isDate(e)){t=t||Globalize.DefaultDateFormat;return Globalize.formatDate(e,t)}return null!=e?e.toString():""}static formatNumber(e,t,i,s,r){e=asNumber(e);t=asString(t);let n,o=exports.culture.Globalize.numberFormat,a=Globalize._parseNumericFormat(t),l=a.spec,u=a.prec,c=o["."]||".",h=o[","]||",",d=o["-"]||"-",p=Math;null==u&&(u=null!=r?r:"c"==l?o.currency.decimals:"e"==l?6:"r"==l?15:e==p.round(e)?0:2);a.scale&&(e/=p.pow(10,a.scale));if("d"==l||"x"==l){n=(s?p.floor:p.round)(p.abs(e)).toString("d"==l?10:16);for(;n.length<u;)n="0"+n;e<0&&(n=d+n);return"X"==a.specRaw?n.toUpperCase():n}s&&"p"!=l&&"e"!=l&&(e=toFixed(e,u,!0));switch(l){case"e":n=e.toExponential(u);"E"==a.specRaw&&(n=n.replace("e","E"));break;case"c":n=Globalize._toFixedStr(p.abs(e),u);break;case"p":e=Globalize._shiftDecimal(e,2,14);s&&(e=toFixed(e,u,s));n=Globalize._toFixedStr(p.abs(e),u);break;default:n=Globalize._toFixedStr(e,u);"-"!=n[0]||n.match(/[1-9]/)||(n=n.substr(1))}(i||"g"==l||"r"==l)&&n.indexOf(".")>-1&&(n=n.replace(/(\.\d*?)0+$/g,"$1").replace(/\.$/,""));"."!=c&&(n=n.replace(".",c));"-"!=d&&(n=n.replace("-",d));if(h&&("n"==l||"c"==l||"p"==a.specRaw||"F"==a.specRaw||"G"==a.specRaw)){let e=n.indexOf(c),t=/\B(?=(\d\d\d)+(?!\d))/g;n=e>-1?n.substr(0,e).replace(t,h)+n.substr(e):n.replace(t,h)}if("c"==l){let t=e<0&&n.match(/[1-9]/)?0:1,i=o.currency.pattern[t],s=a.curr||o.currency.symbol;""==s&&(s="");n=i.replace("n",n).replace("$",s)}if("p"==l){let t=e<0&&n.match(/[1-9]/)?0:1,i=o.percent.pattern[t],s=o["%"]||"%";n=i.replace("n",n);"%"!=s&&(n=n.replace("%",s));"-"!=d&&0==t&&(n=n.replace("-",d))}return a.prefix||a.suffix?a.prefix+n+a.suffix:n}static formatDate(e,t){e=asDate(e);switch(t){case"r":case"R":return e.toUTCString();case"u":return e.toISOString().replace(/\.\d{3}/,"")}t=Globalize._expandFormat(t);return Globalize._parseDateFormat(t).map(i=>Globalize._formatDatePart(e,t,i)).join("")}static parseInt(e,t){return Math.round(Globalize.parseFloat(e,t))}static parseFloat(e,t){let i=Globalize._parseNumericFormat(t),s=i.prefix;s&&0==e.indexOf(s)&&(e=e.substring(s.length));let r=i.suffix;if(r){let t=e.lastIndexOf(r);t>-1&&t==e.length-r.length&&(e=e.substring(0,e.length-r.length))}let n=exports.culture.Globalize.numberFormat,o=n["."]||".",a=n[","]||",",l=n["-"]||"-",u=n["%"]||"%",c=i.curr||n.currency.symbol||"$",h=e.indexOf(u)>-1,d=e.indexOf("(")>-1&&e.indexOf(")")>-1,p=0;if("x"==i.spec)p=parseInt(e,16);else{[c,u,"(",")"].forEach(t=>{e=e.replace(t,"")});/\s/.test(a)&&(e=e.replace(/\s+/g,""));let t=(e=e.replace(new RegExp("\\"+a,"g"),"").replace(new RegExp("\\"+l,"g"),"-").replace(/(\+|\-)\s+/g,"$1").replace(o,".").trim()).length;if(!d&&t&&"-"==e[t-1]){d=!0;e=e.substring(0,t-1)}p=/^\s*(\+|\-)?\d*(\.\d*)?(\s*E(\+|\-)?\d+)?\s*$/i.test(e)?parseFloat(e):Number.NaN}if(!isNaN(p)){d=d||p<0;p=Math.abs(p);h&&(p=Globalize._shiftDecimal(p,-2));d&&(p=-p);i.scale&&(p*=Math.pow(10,i.scale))}return p}static parseDate(e,t,i){if(!(e=asString(e)))return null;if("u"==t)return new Date(e);let s;if("R"==t||"r"==t){let t=/((\d+)\-(\d+)\-(\d+))?\s?((\d+):(\d+)(:(\d+))?)?/,i=e.match(t);if(i[1]||i[5]){s=i[1]?new Date(parseInt(i[2]),parseInt(i[3])-1,parseInt(i[4])):new Date;if(i[5]){s.setHours(parseInt(i[6]));s.setMinutes(parseInt(i[7]));s.setSeconds(i[8]?parseInt(i[9]):0)}}else s=new Date(e);return isNaN(s.getTime())?null:s}t=Globalize._expandFormat(t||"d");let r=exports.culture.Globalize.calendar,n=Globalize._CJK,o=new RegExp("(\\"+r["/"]+")|(\\"+r[":"]+")|(\\d+)|(["+n+"\\.]{2,})|(["+n+"]+)","gi"),a=e.match(o),l=Globalize._parseDateFormat(t),u=0;if(!(a&&a.length&&l&&l.length))return null;let c,h,d,p,g,f=-1,_=0,m=1,b=0,C=0,v=0,w=0,y=-1,x=null;if(i=asDate(i,!0)){_=i.getMonth();m=i.getDate();b=i.getHours();C=i.getMinutes();v=i.getSeconds();w=i.getMilliseconds()}for(let e=0;e<l.length&&a;e++){let t=e-u,i=t>-1&&t<a.length?a[t]:"",s=l[e].length;switch(l[e]){case"EEEE":case"EEE":case"EE":case"E":case"eeee":case"eee":case"ee":case"e":g=l[e];case"yyyy":case"yyy":case"yy":case"y":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}f=parseInt(i);p=4==i.length;break;case"MMMM":case"MMM":d=!0;_=-1;let n=i.toLowerCase(),o="MMMM"==l[e]?r.months:r.monthsAbbr;for(let e=0;e<12;e++)if(0==o[e].toLowerCase().indexOf(n)){_=e;break}if(_>-1)break;case"MM":case"M":d=!0;if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}_=parseInt(i)-1;break;case"dddd":case"ddd":c=!0;break;case"dd":case"d":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}m=parseInt(i);h=!0;break;case"hh":case"h":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}b=parseInt(i);b=12==b?0:b;break;case"HH":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}b=parseInt(i);break;case"H":b=parseInt(i);break;case"mm":case"m":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}C=parseInt(i);break;case"ss":case"s":if(s>1&&i.length>s){a[t]=i.substr(s);i=i.substr(0,s);u++}v=parseInt(i);break;case"fffffff":case"FFFFFFF":case"ffffff":case"FFFFFF":case"fffff":case"FFFFF":case"ffff":case"FFFF":case"fff":case"FFF":case"ff":case"FF":case"f":case"F":w=parseInt(i)/Math.pow(10,s-3);break;case"tt":case"t":i=i.toUpperCase();b<12&&r.pm.indexOf(i)>-1&&(b+=12);break;case"q":case"Q":case"u":case"U":y=parseInt(i);break;case"ggg":case"gg":case"g":case'"г."':x=r.eras.length>1?Globalize._getEra(i,r):r.eras.length>0?r.eras[0]:null;if(r.eras.length>0&&!x)return null;break;case"/":case":":if(i&&i!=r[l[e]])return null;break;case r["/"]:case r[":"]:if(i&&i!=l[e])return null;break;case"K":break;default:Globalize._unquote(l[e]).trim()!=i.trim()&&u++}}if(d&&h){isNaN(b)&&(b=0);isNaN(C)&&(C=0);isNaN(v)&&(v=0)}if(_<0||_>11||isNaN(_)||m<1||m>31||isNaN(m)||b<0||b>=24||isNaN(b)||C<0||C>=60||isNaN(C)||v<0||v>=60||isNaN(v))return null;if(a.length+u>l.length)return null;if(g){if(!d)return null;let e=exports.culture.Globalize.calendar;if(isArray(e.fiscalYearOffsets)){let t="E"==g[0],i=_-e.fiscalYearOffsets[t?0:1];f+=i>11?-1:i<0?1:0}}if(c&&!h)return null;!d&&y>=1&&y<=4&&(_=3*(y-1));if(isNaN(f)||f<0)f=i?i.getFullYear():(new Date).getFullYear();else if(x&&x.start)f=f+x.start.getFullYear()-1;else if(f<100&&!p){let e=isNumber(r.twoDigitYearMax)?r.twoDigitYearMax:2029;e>99&&(f+=f+2e3<=e?2e3:1900)}s=DateTime.newDate(f,_,m,b,C+0,v,w);return s.getMonth()!=_||s.getDate()!=m||isNaN(s.getTime())?null:s}static getFullFormat(e){return Globalize._expandFormat(e)}static getFirstDayOfWeek(){let e=exports.culture.Globalize.calendar.firstDay;return e||0}static getNumberDecimalSeparator(){let e=exports.culture.Globalize.numberFormat["."];return e||"."}static _toFixedStr(e,t){let i=e.toString(),s=i.indexOf("."),r=t-(i.length-s)+1,n=i.indexOf("e")>-1;if(!n&&s>-1&&r>=0)return i+Array(r+1).join("0");if(s>-1&&!n&&"5"==i[i.length-1]){e=+(Math.round(+(Math.abs(e)+"e"+t))+"e"+-t)*(e<0?-1:1)}return e.toFixed(t)}static _unquote(e){return e.length>1&&e[0]==e[e.length-1]&&("'"==e[0]||'"'==e[0])?e.substr(1,e.length-2):e}static _parseNumericFormat(e){let t=Globalize._numFormatInfo[e];if(!t){let i=e&&e.match(/(\"(.*?)\"\s*)?([a-z]+)\s*(\d*)\s*(,*)(\s*\"(.*?)\"\s*)?(.*)/i)||[],s=i[3]?i[3]:"n";if(s.length>1){i=[];s="n"}t={prefix:i[2]||"",spec:s.toLowerCase(),specRaw:s,prec:i[4]?parseInt(i[4]):null,scale:i[5]?3*i[5].length:0,suffix:i[7]||"",curr:i[8]||null};Globalize._numFormatInfo[e]=t}return t}static _parseDateFormat(e){let t=Globalize._dateFormatParts[e];if(!t){t=[];if(e){let i,s;for(i=0;i>-1&&i<e.length;i++){let r=e[i];if("'"==r||'"'==r){s=e.indexOf(r,i+1);if(s>-1){t.push(e.substring(i,s+1));i=s;continue}}if("\\"==r&&i<e.length-1){i++;t.push('"'+e[i]+'"')}else{s=i+1;for(;s<e.length&&e[s]==r;s++);t.push(e.substring(i,s));i=s-1}}}Globalize._dateFormatParts[e]=t}return t}static _formatDatePart(e,t,i){let s,r=exports.culture.Globalize.calendar,n=null,o=0,a=0,l=i.length;switch(i){case"yyyy":case"yyy":case"yy":case"y":case"EEEE":case"EEE":case"EE":case"E":case"eeee":case"eee":case"ee":case"e":s="E"==i[0]?DateTime.toFiscal(e,!0):"e"==i[0]?DateTime.toFiscal(e,!1):e;o=s.getFullYear();if(r.eras.length>1&&t.indexOf("g")>-1){n=Globalize._getEra(e,r);n&&(o=isDate(n.start)?o-n.start.getFullYear()+1:Math.abs(o))}let u=i.length<3?o%100:3==i.length?o%1e3:o;return Globalize._zeroPad(u,i.length);case"MMMMM":return r.monthsAbbr[e.getMonth()][0];case"MMMM":return r.months[e.getMonth()];case"MMM":return r.monthsAbbr[e.getMonth()];case"MM":case"M":return Globalize._zeroPad(e.getMonth()+1,l);case"dddd":return r.days[e.getDay()];case"ddd":return r.daysAbbr[e.getDay()];case"dd":return Globalize._zeroPad(e.getDate(),2);case"d":return e.getDate().toString();case"hh":case"h":return Globalize._zeroPad(Globalize._h12(e),l);case"HH":case"H":return Globalize._zeroPad(e.getHours(),l);case"mm":case"m":return Globalize._zeroPad(e.getMinutes(),l);case"ss":case"s":return Globalize._zeroPad(e.getSeconds(),l);case"fffffff":case"FFFFFFF":case"ffffff":case"FFFFFF":case"fffff":case"FFFFF":case"ffff":case"FFFF":case"fff":case"FFF":case"ff":case"FF":case"f":case"F":a=e.getMilliseconds()*Math.pow(10,l-3);return"f"==i[0]?Globalize._zeroPad(a,l):a.toFixed(0);case"tt":return e.getHours()<12?r.am[0]:r.pm[0];case"t":return e.getHours()<12?r.am[1]:r.pm[1];case"q":case"Q":return(Math.floor(e.getMonth()/3)+1).toString();case"u":case"U":s=DateTime.toFiscal(e,"U"==i);return(Math.floor(s.getMonth()/3)+1).toString();case"ggg":case"gg":case"g":if(r.eras.length>1){n=Globalize._getEra(e,r);if(n){if(isString(n))return n;switch(i){case"gg":return n.name[0];case"g":return n.symbol;default:return n.name}}}return r.eras[0];case":":case"/":return r[i];case"K":let c=e.toString().match(/(\+|\-)(\d{2})(\d{2})/);return c?c[1]+c[2]+c[3]:"";case"zzz":case"zz":case"z":let h,d=-e.getTimezoneOffset(),p=Math.abs(d),g=Globalize.formatNumber;switch(i){case"zzz":h=g(p/60,"d2",!1,!0)+r[":"]+g(p%60,"d2",!1,!0);break;case"zz":h=g(p/60,"d2",!1,!0);break;case"z":h=g(p/60,"d1",!1,!0)}return(d>=0?"+":"-")+h}return l>1&&i[0]==i[l-1]&&('"'==i[0]||"'"==i[0])?i.substr(1,l-2):i}static _getEra(e,t){if(t.eras){let i=t.eras,s=t.eras.length;if(isDate(e)){if(isString(i[0]))return i[e.getFullYear()>=0?0:1];if(isDate(i[0].start)){for(let t=0;t<s;t++)if(e>=i[t].start)return i[t];return i[s-1]}}else if(isString(e)&&e.length>0){e=e.toLowerCase();for(let t=0;t<s;t++){let s=i[t];if(isString(s)){if(0==s.toLowerCase().indexOf(e))return s}else if(s.name&&0==s.name.toLowerCase().indexOf(e)||s.symbol&&0==s.symbol.toLowerCase().indexOf(e))return s}}}return null}static _expandFormat(e){let t=exports.culture.Globalize.calendar.patterns[e];return t||e}static _zeroPad(e,t){let i=e.toFixed(0),s=t-i.length+1;return s>0?Array(s).join("0")+i:i}static _h12(e){let t=exports.culture.Globalize.calendar,i=e.getHours();if(t.am&&t.am[0]){i%=12;0==i&&(i=12)}return i}static _shiftDecimal(e,t,i){if(0==t||isNaN(e))return e;let s=e.toString();if(s.indexOf("e")>-1){let s=e*Math.pow(10,t);null!=i&&(s=parseFloat(s.toFixed(i)));return s}let r=Array(Math.abs(t)+1).join("0");t<0&&(s=r+s);var n=s.indexOf(".");if(n<0){s+=".";n=s.indexOf(".")}t>0&&(s+=r);n+=t;s=s.replace(".","");s=s.substr(0,n)+"."+s.substr(n);return parseFloat(s)}}Globalize.DefaultDateFormat="d";Globalize._CJK="a-z"+"u00c0-u017fu3000-u30ffu4e00-u9faf".replace(/u/g,"\\u")+"u1100-u11ffu3130-u318fua960-ua97fuac00-ud7afud7b0-ud7ff".replace(/u/g,"\\u");Globalize._numFormatInfo={};Globalize._dateFormatParts={};exports.Globalize=Globalize;exports._loadedCultures="undefined"!=typeof window&&window.wijmo&&window.wijmo._loadedCultures||{};function _updateCulture(e){exports.culture=e;exports._loadedCultures[e.Globalize.name]=e}exports._updateCulture=_updateCulture;function _addCultureInfo(e,t){let i="undefined"!=typeof window?window.wijmo:null,s=i?i.culture:null,r=s?s[e]:null;exports.culture[e]=r||t}exports._addCultureInfo=_addCultureInfo;exports.changeCultureSync=(e,t)=>{const i=document.getElementsByTagName("script");for(let e=0;e<i.length;e++){let t=i[e];if(t.src.indexOf("wijmo.culture.")>-1){t.parentElement.removeChild(t);break}}const s=exports._loadedCultures[e]||void 0;if(s){let e=window.wijmo._updateCulture;e?e(s):window.wijmo.culture=s;t&&t();window.wijmo.Control.invalidateAll()}return s};exports.changeCulture=e=>new Promise((t,i)=>{const s=exports.changeCultureSync(e);s?t(s):i()});class _MaskProvider{constructor(e,t="",i="_"){this._promptChar="_";this._mskArr=[];this._overWrite=!1;this._full=!0;this._inputBnd=this._input.bind(this);this._keydownBnd=this._keydown.bind(this);this._keypressBnd=this._keypress.bind(this);this._cmpstartBnd=this._cmpstart.bind(this);this._cmpendBnd=this._cmpend.bind(this);this.mask=asString(t);this.input=e;this.promptChar=asString(i,!1);this._connect(!0);(this._evtInput=document.createEvent("HTMLEvents")).initEvent("input",!0,!1)}get input(){return this._tbx}set input(e){this._connect(!1);this._tbx=e;this._connect(!0)}get mask(){return this._msk}set mask(e){if(e!=this._msk){this._msk=asString(e,!0);this._parseMask();this._valueChanged()}}get promptChar(){return this._promptChar}set promptChar(e){if(e!=this._promptChar){assert(1==(e=asString(e,!1)).length,"promptChar must be a string with length 1.");let t=this._tbx,i=t.value,s="",r=this._mskArr,n=this._promptChar;for(let t=0;t<i.length;t++){let o=r[t],a=i[t];o&&o.literal||a!==n||(a=e);s+=a}t.value=s;this._promptChar=e}}get overwriteMode(){return this._overWrite}set overwriteMode(e){this._overWrite=asBoolean(e)}get maskFull(){return this._full}getMaskRange(){return this._mskArr.length?[this._firstPos,this._lastPos]:[0,this._tbx.value.length-1]}getRawValue(){let e=this._tbx?this._tbx.value:"";if(!this.mask)return e;let t="";for(let i=0;i<this._mskArr.length&&i<e.length;i++)this._mskArr[i].literal||e[i]==this._promptChar||(t+=e[i]);return t}refresh(){this._parseMask();this._valueChanged()}_input(e){if(this._msk&&!this._composing&&e!=this._evtInput){e.preventDefault();e.stopImmediatePropagation();setTimeout(()=>{this._valueChanged();this._tbx&&this._tbx.dispatchEvent(this._evtInput)})}}_keydown(e){if(e.keyCode==Key.Back){let t=this._tbx.selectionStart,i=this._tbx.selectionEnd;if(t<=this._firstPos&&i==t){e.preventDefault();this._backSpace=!1;return}}this._backSpace=e.keyCode==Key.Back}_keypress(e){e.ctrlKey||e.metaKey||e.altKey||this._composing||!this._preventKey(e.charCode)||e.preventDefault()}_cmpstart(e){this._composing=!0}_cmpend(e){if(this._composing){this._composing=!1;setTimeout(()=>{let e=this._tbx;e&&this._valueChanged()&&e.dispatchEvent(this._evtInput)})}}_preventKey(e){if(e&&this._mskArr.length){let t=this._tbx,i=t.selectionStart,s=String.fromCharCode(e);if(i<this._firstPos){i=this._firstPos;setSelectionRange(t,i)}if(i>=this._mskArr.length)return!0;let r=this._mskArr[i];if(r.literal)this._validatePosition(i);else if(r.wildCard!=s&&!this._isCharValid(r.wildCard,s))return!0}return!1}_connect(e){let t=this._tbx;if(t){assert(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement,"INPUT or TEXTAREA element expected.");if(e){this._autoComplete=t.autocomplete;this._spellCheck=t.spellcheck;t.autocomplete="off";t.spellcheck=!1;t.addEventListener("input",this._inputBnd,!0);t.addEventListener("keydown",this._keydownBnd,!0);t.addEventListener("keypress",this._keypressBnd,!0);t.addEventListener("compositionstart",this._cmpstartBnd,!0);t.addEventListener("compositionend",this._cmpendBnd,!0);t.addEventListener("blur",this._cmpendBnd,!0);this._valueChanged()}else{t.autocomplete=this._autoComplete;t.spellcheck=this._spellCheck;t.removeEventListener("input",this._inputBnd,!0);t.removeEventListener("keydown",this._keydownBnd,!0);t.removeEventListener("keypress",this._keypressBnd,!0);t.removeEventListener("compositionstart",this._cmpstartBnd,!0);t.removeEventListener("compositionend",this._cmpendBnd,!0);t.removeEventListener("blur",this._cmpendBnd,!0)}}}_valueChanged(){if(!this._tbx||!this._msk)return!1;let e=this._tbx,t=e.selectionStart,i=t>0?e.value[t-1]:"",s=e.value;e.value=this._applyMask();""==s&&(t=this._firstPos+1);let r=t>0?e.value[t-1]:"";t>0&&r==this._promptChar&&i!=this.promptChar&&t--;t==s.length&&(t=this._matchEnd);this._validatePosition(t);return s!=e.value}_applyMask(){let e=this._tbx,t=e.value;this._full=!0;this._matchEnd=0;if(!this._msk)return t;if(!t&&!e.required)return t;if(this._overWrite){let i=e.selectionStart;e==document.activeElement&&e.selectionEnd==i&&t.length>this.mask.length&&(t=t.substr(0,i)+t.substr(i+t.length-this.mask.length))}t=this._handleVagueLiterals(t);let i="",s=0,r=this._promptChar;for(let e=0;e<this._mskArr.length;e++){let n=this._mskArr[e],o=n.literal;o&&o==t[s]&&s++;if(n.wildCard){o=r;if(t){let e=s;for(;e<t.length;e++)if(this._isCharValid(n.wildCard,t[e])){o=t[e];switch(n.charCase){case">":o=o.toUpperCase();break;case"<":o=o.toLowerCase()}o!=r&&(this._matchEnd=i.length+1);break}s=e+1}o==r&&(this._full=!1)}i+=o}return i}_handleVagueLiterals(e){if(e.length>this._mskArr.length+1)return e;let t=e.length-this._mskArr.length;if(0!=t&&e.length>1){let i=-1,s=this._backSpace,r=this._tbx,n=r==getActiveElement()?r.selectionStart:r.value.length;for(let e=Math.max(0,n-t);e<this._mskArr.length;e++)if(this._mskArr[e].vague){i=e;break}if(i>-1)if(t<0){if(s)for(;i>0&&this._mskArr[i-1].literal;)i--;let r=Array(1-t).join(this._promptChar),n=i+t;n>-1&&(e=e.substr(0,n)+r+e.substr(n-t))}else{for(;i>0&&this._mskArr[i-1].literal;)i--;e=e.substr(0,i)+e.substr(i+t)}}return e}_isCharValid(e,t){if(t==this._promptChar)return!0;switch(e){case"0":return this._isDigit(t);case"9":return this._isDigit(t)||" "==t;case"#":return this._isDigit(t)||" "==t||"+"==t||"-"==t;case"L":return this._isLetter(t);case"l":return this._isLetter(t)||" "==t;case"A":return this._isDigit(t)||this._isLetter(t);case"a":return this._isDigit(t)||this._isLetter(t)||" "==t;case"9":return t>="0"&&t<="9";case"J":case"G":return!("G"==e&&_MaskProvider._X_DBCS_BIG_HIRA.indexOf(t)>-1)&&(t>="ぁ"&&t<="ゟ");case"K":case"N":return!("N"==e&&_MaskProvider._X_DBCS_BIG_KATA.indexOf(t)>-1)&&(t>="゠"&&t<="ヿ");case"Z":return!(t>="ヲ"&&t<="゚")&&(t<" "||t>"ÿ");case"H":return t>="!"&&t<="ÿ"||t>="ヲ"&&t<="゚";case"K":case"N":return!("N"==e&&_MaskProvider._X_SBCS_BIG_KATA.indexOf(t)>-1)&&(t>="ヲ"&&t<="゚")}return!1}_isDigit(e){return e>="0"&&e<="9"}_isLetter(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}_validatePosition(e){let t=this._mskArr;if(this._backSpace)for(;e>0&&e<t.length&&t[e-1].literal;)e--;if(0==e||!this._backSpace)for(;e<t.length&&t[e].literal;)e++;getActiveElement()==this._tbx&&setSelectionRange(this._tbx,e);this._backSpace=!1}_parseMask(){this._mskArr=[];this._firstPos=-1;this._lastPos=-1;let e,t=this._msk,i="|";for(let s=0;t&&s<t.length;s++)switch(t[s]){case"0":case"9":case"#":case"A":case"a":case"L":case"l":case"9":case"J":case"G":case"K":case"N":case"Z":case"K":case"N":case"H":this._firstPos<0&&(this._firstPos=this._mskArr.length);this._lastPos=this._mskArr.length;this._mskArr.push(new _MaskElement(t[s],i));break;case".":case",":case":":case"/":case"$":switch(t[s]){case".":case",":e=exports.culture.Globalize.numberFormat[t[s]];break;case":":case"/":e=exports.culture.Globalize.calendar[t[s]];break;case"$":e=exports.culture.Globalize.numberFormat.currency.symbol}for(let t=0;t<e.length;t++)this._mskArr.push(new _MaskElement(e[t]));break;case"<":case">":case"|":i=t[s];break;case"\\":s<t.length-1&&s++;this._mskArr.push(new _MaskElement(t[s]));break;default:this._mskArr.push(new _MaskElement(t[s]))}for(let e=0;e<this._mskArr.length;e++){let t=this._mskArr[e];if(t.literal)for(let e=0;e<this._mskArr.length;e++){let i=this._mskArr[e];if(i.wildCard&&this._isCharValid(i.wildCard,t.literal)){t.vague=!0;break}}}}dispose(){this._connect(!1);this._tbx=null;this._inputBnd=null;this._keydownBnd=null;this._keypressBnd=null;this._cmpstartBnd=null;this._cmpendBnd=null;this._mskArr=null;this._evtInput=null}}_MaskProvider._X_DBCS_BIG_HIRA="ぁぃぅぇぉっゃゅょゎゕゖ";_MaskProvider._X_DBCS_BIG_KATA="ァィゥェォッャュョヮヵヶ";_MaskProvider._X_SBCS_BIG_KATA="ァィゥェォャュョッ";exports._MaskProvider=_MaskProvider;class _MaskElement{constructor(e,t){if(t){this.wildCard=e;this.charCase=t}else this.literal=e}}exports._MaskElement=_MaskElement;var Aggregate;!function(e){e[e.None=0]="None";e[e.Sum=1]="Sum";e[e.Cnt=2]="Cnt";e[e.Avg=3]="Avg";e[e.Max=4]="Max";e[e.Min=5]="Min";e[e.Rng=6]="Rng";e[e.Std=7]="Std";e[e.Var=8]="Var";e[e.StdPop=9]="StdPop";e[e.VarPop=10]="VarPop";e[e.CntAll=11]="CntAll";e[e.First=12]="First";e[e.Last=13]="Last"}(Aggregate=exports.Aggregate||(exports.Aggregate={}));function getAggregate(e,t,i,s){let r=0,n=0,o=0,a=0,l=null,u=null,c=null,h=i?new Binding(i):null;if((e=asEnum(e,Aggregate))==Aggregate.CntAll)return t.length;for(let i=0;i<t.length;i++){let d=t[i];h&&(d=h.getValue(d));if(null!=d){if(e==Aggregate.First)return d;r++;(null==l||d<l)&&(l=d);(null==u||d>u)&&(u=d);c=d;d&&"string"==typeof d&&d.length>1&&"="===d[0]&&"="!==d[1]&&s&&"function"==typeof s.evaluate&&(d=s.evaluate(d));if(isNumber(d)&&!isNaN(d)){n++;o+=d;a+=d*d}else if(isBoolean(d)){n++;if(1==d){o++;a++}}}}let d=0==n?0:o/n;switch(e){case Aggregate.Avg:return d;case Aggregate.Cnt:return r;case Aggregate.Max:return u;case Aggregate.Min:return l;case Aggregate.Rng:return u-l;case Aggregate.Sum:return o;case Aggregate.VarPop:return n<=1?0:a/n-d*d;case Aggregate.StdPop:return n<=1?0:Math.sqrt(a/n-d*d);case Aggregate.Var:return n<=1?0:(a/n-d*d)*n/(n-1);case Aggregate.Std:return n<=1?0:Math.sqrt((a/n-d*d)*n/(n-1));case Aggregate.Last:return c;case Aggregate.First:return null}throw"Invalid aggregate type."}exports.getAggregate=getAggregate;function extend(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e}class ArrayBase extends Array{constructor(){canChangePrototype?this.length=0:super()}}exports.ArrayBase=ArrayBase;let canChangePrototype=!0;try{extend(ArrayBase.prototype,Array.prototype);canChangePrototype=ArrayBase.prototype.length===Array.prototype.length}catch(e){canChangePrototype=!1}var SortNulls,symb="undefined"!=typeof window?window.Symbol:null;!canChangePrototype&&symb&&symb.species&&Object.defineProperty(ArrayBase,symb.species,{get:function(){return Array},enumerable:!1,configurable:!1});class ObservableArray extends ArrayBase{constructor(e){super();this._updating=0;this.collectionChanged=new Event;if(e){e=asArray(e);this._updating++;for(let t=0;t<e.length;t++)this.push(e[t]);this._updating--}}push(...e){e.forEach(e=>{super.push(e);this._raiseCollectionChanged(NotifyCollectionChangedAction.Add,e,this.length-1)});return this.length}shift(){let e=super.shift();this._raiseCollectionChanged(NotifyCollectionChangedAction.Remove,e,0);return e}unshift(...e){let t=super.unshift(...e);1==e.length?this._raiseCollectionChanged(NotifyCollectionChangedAction.Add,e[0],0):this._raiseCollectionChanged();return t}pop(){let e=super.pop();this._raiseCollectionChanged(NotifyCollectionChangedAction.Remove,e,this.length);return e}splice(e,t,...i){let s,r=NotifyCollectionChangedAction,n=this._raiseCollectionChanged.bind(this);if(t&&i.length){s=super.splice(e,t,...i);1==t&&1==i.length?n(r.Change,i[0],e):n()}else if(i.length){s=super.splice(e,0,...i);1==i.length?n(r.Add,i[0],e):n()}else{s=super.splice(e,t);1==t?n(r.Remove,s[0],e):n()}return s}slice(e,t){return super.slice(e,t)}indexOf(e,t){return super.indexOf(e,t)}sort(e){let t=super.sort(e);this._raiseCollectionChanged();return t}insert(e,t){this.splice(e,0,t)}remove(e){let t=this.indexOf(e);t>-1&&this.removeAt(t);return t>-1}removeAt(e){this.splice(e,1)}setAt(e,t){e>=this.length&&(this.length=e+1);this.splice(e,1,t)}clear(){this.length&&this.splice(0,this.length)}beginUpdate(){this._updating++}endUpdate(e=!1){this._updating--;this._updating<=0&&!e&&this._raiseCollectionChanged()}get isUpdating(){return this._updating>0}deferUpdate(e){try{this.beginUpdate();e()}finally{this.endUpdate()}}implementsInterface(e){return"INotifyCollectionChanged"==e}onCollectionChanged(e=NotifyCollectionChangedEventArgs.reset){this.isUpdating||this.collectionChanged.raise(this,e)}_raiseCollectionChanged(e=NotifyCollectionChangedAction.Reset,t,i){if(!this.isUpdating){let s=new NotifyCollectionChangedEventArgs(e,t,i);this.onCollectionChanged(s)}}}exports.ObservableArray=ObservableArray;!function(e){e[e.Natural=0]="Natural";e[e.First=1]="First";e[e.Last=2]="Last"}(SortNulls=exports.SortNulls||(exports.SortNulls={}));const _OBJ_DEPTH=2;class CollectionView{constructor(e,t){this._srcRaw=null;this._src=null;this._ncc=null;this._view=null;this._pgView=null;this._groups=null;this._fullGroups=null;this._digest="";this._idx=-1;this._filter=null;this._filters=new ObservableArray;this._srtDsc=new ObservableArray;this._grpDesc=new ObservableArray;this._newItem=null;this._edtItem=null;this._edtClone=null;this._committing=!1;this._canceling=!1;this._pendingRefresh=!1;this._pendingRemove=!1;this._pgSz=0;this._pgIdx=0;this._updating=0;this._stableSort=!1;this._srtNulls=SortNulls.Last;this._canFilter=!0;this._canGroup=!0;this._canSort=!0;this._canAddNew=!0;this._canCancelEdit=!0;this._canRemove=!0;this._canChangePage=!0;this._refreshOnEdit=!0;this._trackChanges=!1;this._chgAdded=new ObservableArray;this._chgRemoved=new ObservableArray;this._chgEdited=new ObservableArray;this._orgVals=window.Map?new Map:null;this._srtCvt=null;this._srtCmp=null;this._getError=null;this._keepCurrentItem=null;this._initializing=!1;this.collectionChanged=new Event;this.sourceCollectionChanging=new Event;this.sourceCollectionChanged=new Event;this.currentChanged=new Event;this.currentChanging=new Event;this.pageChanged=new Event;this.pageChanging=new Event;this._srtDsc.collectionChanged.addHandler(()=>{this._srtDsc.forEach(e=>{assert(e instanceof SortDescription,"sortDescriptions array must contain SortDescription objects.")});this.canSort&&this._commitAndRefresh()});this._grpDesc.collectionChanged.addHandler(()=>{this._grpDesc.forEach(e=>{assert(e instanceof GroupDescription,"groupDescriptions array must contain GroupDescription objects.")});this.canGroup&&this._commitAndRefresh()});this._filters.collectionChanged.addHandler(()=>{this._filters.forEach(e=>{assert(isFunction(e),"filters array must contain IPredicate functions.")});this.canFilter&&this._commitAndRefresh()});this._chgEdited.collectionChanged.addHandler((e,t)=>{if(t&&t.action&&this._orgVals&&0!==this._orgVals.size)switch(t.action){case NotifyCollectionChangedAction.Remove:this._orgVals.delete(t.item);break;case NotifyCollectionChangedAction.Reset:this._orgVals.clear()}});this.sourceCollection=e||new ObservableArray;if(t){this._initializing=!0;this.deferUpdate(()=>{copy(this,t)});this._initializing=!1}null==this._keepCurrentItem&&(this._keepCurrentItem=!0)}_copy(e,t){switch(e){case"sortDescriptions":let e=this.sortDescriptions;e.deferUpdate(()=>{e.clear();asArray(t).forEach(t=>{isString(t)?t=new SortDescription(t,!0):t instanceof SortDescription||!t.property||(t=new SortDescription(t.property,t.ascending));e.push(t)})});return!0;case"groupDescriptions":let i=this.groupDescriptions;i.deferUpdate(()=>{i.clear();t.forEach(e=>{isString(e)&&(e=new PropertyGroupDescription(e));i.push(e)})});return!0;case"currentItem":this.currentItem=t;return!0}return!1}get calculatedFields(){return this._calcFields}set calculatedFields(e){if(e&&!window.Proxy){console.warn("** Calculated fields require Proxy (see https://www.npmjs.com/package/proxy-polyfill).");e=null}if(e!=this._calcFields){this._calcFields=e;let t=this._srcRaw;this._srcRaw=null;this.sourceCollection=t}}get newItemCreator(){return this._itemCreator}set newItemCreator(e){this._itemCreator=asFunction(e)}get sortConverter(){return this._srtCvt}set sortConverter(e){e!=this._srtCvt&&(this._srtCvt=asFunction(e,!0))}get sortComparer(){return this._srtCmp}set sortComparer(e){e!=this._srtCmp&&(this._srtCmp=asFunction(e,!0))}get useStableSort(){return this._stableSort}set useStableSort(e){if(e!=this._stableSort){this._stableSort=asBoolean(e);this.refresh()}}get sortNulls(){return this._srtNulls}set sortNulls(e){if((e=asEnum(e,SortNulls))!=this._srtNulls){this._srtNulls=e;this.refresh()}}get sortNullsFirst(){return this.sortNulls!=SortNulls.Last}set sortNullsFirst(e){_deprecated("sortNullsFirst","sortNulls");this.sortNulls=asBoolean(e)?SortNulls.First:SortNulls.Last}getAggregate(e,t,i){return getAggregate(e,i?this._pgView:this._view,t)}get trackChanges(){return this._trackChanges}set trackChanges(e){this._trackChanges=asBoolean(e)}get refreshOnEdit(){return this._refreshOnEdit}set refreshOnEdit(e){this._refreshOnEdit=asBoolean(e)}get itemsAdded(){return this._chgAdded}get itemsRemoved(){return this._chgRemoved}get itemsEdited(){return this._chgEdited}clearChanges(){this._chgAdded.clear();this._chgRemoved.clear();this._chgEdited.clear();this._orgVals&&this._orgVals.clear()}implementsInterface(e){switch(e){case"ICollectionView":case"IEditableCollectionView":case"IPagedCollectionView":case"INotifyCollectionChanged":return!0}return!1}get getError(){return this._getError}set getError(e){if(this._getError!=e){this._getError=asFunction(e);this._raiseCollectionChanged()}}onCollectionChanged(e=NotifyCollectionChangedEventArgs.reset,t){e.action!=NotifyCollectionChangedAction.Change||this._committing||this._canceling||e.item==this.currentEditItem||e.item==this.currentAddItem||this._trackItemChanged(e.item,t);this._updating||this.collectionChanged.raise(this,e)}_raiseCollectionChanged(e=NotifyCollectionChangedAction.Reset,t,i){let s=new NotifyCollectionChangedEventArgs(e,t,i);this.onCollectionChanged(s)}onSourceCollectionChanging(e){this.sourceCollectionChanging.raise(this,e);return!e.cancel}onSourceCollectionChanged(e){this.sourceCollectionChanged.raise(this,e)}get canFilter(){return this._canFilter}set canFilter(e){this._canFilter=asBoolean(e)}get canGroup(){return this._canGroup}set canGroup(e){this._canGroup=asBoolean(e)}get canSort(){return this._canSort}set canSort(e){this._canSort=asBoolean(e)}get currentItem(){return this._pgView&&this._idx>-1&&this._idx<this._pgView.length?this._pgView[this._idx]:null}set currentItem(e){this.moveCurrentTo(e)}get currentPosition(){return this._idx}set currentPosition(e){this.moveCurrentToPosition(asNumber(e))}get filter(){return this._filter}set filter(e){if(this._filter!=e){this._filter=asFunction(e);this.canFilter&&this.refresh()}}get filters(){return this._filters}get groupDescriptions(){return this._grpDesc}get groups(){return this._groups}get isEmpty(){return!this._pgView||!this._pgView.length}get sortDescriptions(){return this._srtDsc}get sourceCollection(){return this._src}set sourceCollection(e){if(e!=this._srcRaw){if(!this.onSourceCollectionChanging(new CancelEventArgs))return;let t=this.currentPosition;this.commitEdit();null!=this._ncc&&this._ncc.collectionChanged.removeHandler(this._sourceChanged);this._srcRaw=e;this._src=asArray(e,!1);this._calcFields&&(this._src=_getCalculatedArray(this._src,this._calcFields));this._ncc=tryCast(this._src,"INotifyCollectionChanged");this._ncc&&this._ncc.collectionChanged.addHandler(this._sourceChanged,this);this.clearChanges();this.refresh();this.moveCurrentToFirst();this.onSourceCollectionChanged();this.currentPosition<0&&t>-1&&this.onCurrentChanged()}}_sourceChanged(e,t){this._updating<=0&&this.refresh()}contains(e){return this._pgView.indexOf(e)>-1}moveCurrentTo(e){return this.moveCurrentToPosition(_ENV_TOOLS.indexOf(this._pgView,e))}moveCurrentToFirst(){return this.moveCurrentToPosition(0)}moveCurrentToLast(){return this.moveCurrentToPosition(this._pgView.length-1)}moveCurrentToPrevious(){return this._idx>0&&this.moveCurrentToPosition(this._idx-1)}moveCurrentToNext(){return this.moveCurrentToPosition(this._idx+1)}moveCurrentToPosition(e){if(e>=-1&&e<this._pgView.length&&e!=this._idx){let t=new CancelEventArgs;if(this.onCurrentChanging(t)){let t=this._pgView[e],i=_getTargetObject(t),s=this._edtItem,r=this._newItem;s&&s!=t&&s!=i?this.commitEdit():r&&r!=t&&r!=i&&this.commitNew();this._idx=e;this.onCurrentChanged()}}return this._idx==e}refresh(){if(this._newItem||this._edtItem||this._updating>0)this._pendingRefresh=!0;else{let e=this.currentItem;this._performRefresh();this.onCollectionChanged();e==this.currentItem||this._initializing||this.onCurrentChanged()}}_commitAndRefresh(){if(this.currentEditItem||this.currentAddItem){this._pendingRefresh=!0;this.commitEdit()}else this.refresh()}_performRefresh(){if(this._updating>0){this._pendingRefresh=!0;return}this._pendingRefresh=!1;this._pendingRemove=!1;let e=this.currentItem;this._view=this._src?this._performFilter(this._src):[];if(this.canSort&&this._srtDsc.length>0){this._view==this._src&&(this._view=this._src.slice());this._performSort(this._view)}this._groups=this.canGroup?this._createGroups(this._view):null;this._fullGroups=this._groups;this._groups&&(this._view=this._mergeGroupItems(this._groups));this._pgIdx=clamp(this._pgIdx,0,this.pageCount-1);this._pgView=this._getPageView();if(this._groups&&this.pageCount>1){this._groups=this._createGroups(this._pgView);this._mergeGroupItems(this._groups)}let t=this._keepCurrentItem&&null!=e?this._pgView.indexOf(e):-1;t<0&&(t=Math.min(this._idx,this._pgView.length-1));this._idx=t;this._digest=this._getGroupsDigest(this.groups)}_performSort(e){if(this._stableSort){let t=e.map((e,t)=>({item:e,index:t})),i=this._compareItems();t.sort((e,t)=>{let s=i(e.item,t.item);return 0==s?e.index-t.index:s});for(let i=0;i<e.length;i++)e[i]=t[i].item}else e.sort(this._compareItems())}_compareItems(){let e=this._srtDsc,t=this._srtCvt,i=this._srtCmp,s=CollectionView._collator,r=!0,n=0;return(o,a)=>{for(let l=0;l<e.length;l++){let u=e[l],c=u._bnd.getValue(o),h=u._bnd.getValue(a);if(t){c=t(u,o,c,r);h=t(u,a,h,!1);r=!1}if(i){n=i(c,h);if(null!=n){if(0!=n)return u.ascending?+n:-n;continue}}c!=c&&(c=null);h!=h&&(h=null);if(c!==h&&(null==c||null==h))switch(this._srtNulls){case SortNulls.First:return null==c?-1:1;case SortNulls.Last:return null==c?1:-1;default:n=null==c?-1:1;return u.ascending?+n:-n}if("string"==typeof c&&"string"==typeof h){if(s){n=s.compare(c,h);if(0!=n)return u.ascending?+n:-n;continue}let e=c.toLowerCase(),t=h.toLowerCase();if(e!=t){c=e;h=t}}n=c<h?-1:c>h?1:0;if(0!=n)return u.ascending?+n:-n}return 0}}_performFilter(e){return this.canFilter&&this._filter||this._filters.length?e.filter(this._filterItem,this):e}_filterItem(e){var t=!this.canFilter||!this._filter||this._filter(e);for(let i=0;i<this._filters.length&&t;i++)t=this._filters[i](e);return t}onCurrentChanged(e){this.currentChanged.raise(this,e)}onCurrentChanging(e){this.currentChanging.raise(this,e);return!e.cancel}get items(){return this._pgView}beginUpdate(){this._updating++}endUpdate(e=!0){this._updating--;e&&(this._pendingRefresh=!0);if(this._updating<=0){this._pendingRefresh&&this.refresh();if(this._pendingRemove){this._pendingRemove=!1;this._raiseCollectionChanged()}}}get isUpdating(){return this._updating>0}deferUpdate(e,t=!0){try{this.beginUpdate();e()}finally{this.endUpdate(t)}}get canAddNew(){return this._canAddNew}set canAddNew(e){if(e!=this._canAddNew){this._canAddNew=asBoolean(e);this._raiseCollectionChanged()}}get canCancelEdit(){return this._canCancelEdit}set canCancelEdit(e){this._canCancelEdit=asBoolean(e)}get canRemove(){return this._canRemove}set canRemove(e){this._canRemove=asBoolean(e)}get currentAddItem(){return this._newItem}get currentEditItem(){return this._edtItem}get isAddingNew(){return null!=this._newItem}get isEditingItem(){return null!=this._edtItem}editItem(e){if(e!=this._edtItem&&this.moveCurrentTo(e)){this.commitEdit();this._edtItem=e;this._edtClone=this._extend({},this._edtItem)}}commitEdit(){let e=this._edtItem,t=this._edtClone;if(null!=e){this._committing=!0;let i=this._getChangedFields(e,t),s=this._pendingRefresh;this._edtItem=null;this._edtClone=null;let r=this._pgView.indexOf(e),n=this._digest;this._needRefresh(i)&&this._refreshOnEdit&&this._performRefresh();this._trackItemChanged(e,t);this._pgView.indexOf(e)!=r||n!=this._digest||s?this._raiseCollectionChanged():this._raiseCollectionChanged(NotifyCollectionChangedAction.Change,e,r);this.commitNew();this._committing=!1;if(this.sourceCollection instanceof ObservableArray){this._updating++;let t=new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Change,e);this.sourceCollection.onCollectionChanged(t);this._updating--}}}cancelEdit(){let e=this._edtItem;if(null!=e){this._edtItem=null;if(!this.canCancelEdit)return;let t=this._src.indexOf(e);if(t>=0&&this._edtClone){this._extend(this._src[t],this._edtClone);this._edtClone=null;this._canceling=!0;this._raiseCollectionChanged(NotifyCollectionChangedAction.Change,e,t);this._canceling=!1;if(this._pendingRefresh&&this._refreshOnEdit){this._performRefresh();this._raiseCollectionChanged()}}}}addNew(e,t=!1){this.commitEdit();if(!this.canAddNew)return null;let i=this.sourceCollection;null==e&&(e=this.newItemCreator?this.newItemCreator():i&&i.length?new i[0].constructor:{});if(null!=e){this._updating++;i.push(e);this._updating--;e=i[i.length-1];this._newItem=e;this._pgView!=this._src&&this._pgView.push(e);if(this.groups&&this.groups.length){let t=this.groups[this.groups.length-1];t.items.push(e);for(;t.groups&&t.groups.length;){t=t.groups[t.groups.length-1];t.items.push(e)}}this._raiseCollectionChanged(NotifyCollectionChangedAction.Add,e,this._pgView.length-1);this.moveCurrentTo(e);t&&this.commitNew()}return this._newItem}commitNew(){let e=this._newItem;if(null!=e){this._newItem=null;let t=this._pgView.indexOf(e),i=this._digest;this._refreshOnEdit&&this._performRefresh();if(this._trackChanges){let t=this._chgEdited.indexOf(e);t>-1&&this._chgEdited.removeAt(t);this._chgAdded.indexOf(e)<0&&this._chgAdded.push(e)}this._pgView.indexOf(e)!=t||i!=this._digest||this.calculatedFields?this._raiseCollectionChanged():this._raiseCollectionChanged(NotifyCollectionChangedAction.Change,e,t)}}cancelNew(){let e=this._newItem;null!=e&&this.remove(e)}remove(e){let t=e==this._newItem;t&&(this._newItem=null);e==this._edtItem&&this.cancelEdit();if(!this.canRemove)return;let i=this._src.indexOf(e);if(i>-1){let s=this._view.indexOf(e)<0,r=this.currentItem;this._updating++;this._src.splice(i,1);this._updating--;let n=this._digest;if(this._refreshOnEdit)this._performRefresh();else{this._updating>0&&(this._pendingRemove=!0);let t=this._pgView.indexOf(e);t>=0&&this._pgView.splice(t,1)}if(this._trackChanges){let i=this._chgAdded.indexOf(e);i>-1&&this._chgAdded.removeAt(i);let s=this._chgEdited.indexOf(e);s>-1&&this._chgEdited.removeAt(s);this._chgRemoved.indexOf(e)<0&&!t&&i<0&&this._chgRemoved.push(e)}let o=this.sortDescriptions.length>0,a=this.pageSize>0&&this._pgIdx>-1;o||a||n!=this._getGroupsDigest(this.groups)?this._raiseCollectionChanged():s||this._raiseCollectionChanged(NotifyCollectionChangedAction.Remove,e,i);this.currentItem!==r&&this.onCurrentChanged()}}removeAt(e){e=asInt(e);this.remove(this._pgView[e])}_trackItemChanged(e,t){if(this._trackChanges){let i=this.sourceCollection;if(i&&i.indexOf(e)>-1){let i=this._orgVals,s=i?i.get(e):null;if(t&&!s){i.set(e,t);s=t}let r=this._chgEdited.indexOf(e),n=NotifyCollectionChangedAction.Change;if(s&&this._sameContent(e,s)){r>-1&&this._chgEdited.removeAt(r);return}if(r<0&&this._chgAdded.indexOf(e)<0)this._chgEdited.push(e);else if(r>-1){let t=new NotifyCollectionChangedEventArgs(n,e,r);this._chgEdited.onCollectionChanged(t)}else{r=this._chgAdded.indexOf(e);if(r>-1){let t=new NotifyCollectionChangedEventArgs(n,e,r);this._chgAdded.onCollectionChanged(t)}}}}}_extend(e,t,i=2){for(let s in t)try{let r=t[s];if(i>0&&isObject(r))if("Map"===r.constructor.name)e[s]=r;else{e[s]={};this._extend(e[s],r,i-1)}else e[s]=r}catch(e){}return e}_getChangedFields(e,t,i=2){assert(null!=t&&null!=e,"Two objects expected.");let s={};for(let r in t)try{this._sameValue(e[r],t[r],i)||(s[r]=!0)}catch(e){}for(let r in e)try{s[r]||this._sameValue(e[r],t[r],i)||(s[r]=!0)}catch(e){}let r=Object.keys(s);return r.length?r:null}_sameValue(e,t,i=2){return!!(e===t||DateTime.equals(e,t)||Number.isNaN(e)&&Number.isNaN(t))||!(!isObject(e)||!isObject(t))&&(!(i>0)||null==this._getChangedFields(e,t,i-1))}_sameContent(e,t){return null==this._getChangedFields(e,t)}_needRefresh(e){if(this._pendingRefresh)return!0;if(!e)return!1;if(this._filter)return!0;for(let t=0;t<this._srtDsc.length;t++){let i=this._getBindingRoot(this._srtDsc[t].property);if(e.indexOf(i)>-1)return!0}for(let t=0;t<this._grpDesc.length;t++){let i=this._grpDesc[t];if(!(i instanceof PropertyGroupDescription))return!0;let s=this._getBindingRoot(i.propertyName);if(e.indexOf(s)>-1)return!0}return!1}_getBindingRoot(e){let t=e.indexOf(".");return t>-1?e.substr(0,t):e}get canChangePage(){return this._canChangePage}set canChangePage(e){this._canChangePage=asBoolean(e)}get isPageChanging(){return!1}get itemCount(){return this._pgView.length}get pageIndex(){return this._pgIdx}get pageSize(){return this._pgSz}set pageSize(e){if(e!=this._pgSz){this._pgSz=asInt(e);this.refresh()}}get totalItemCount(){return this._view.length}get pageCount(){return this.pageSize?Math.ceil(this.totalItemCount/this.pageSize):1}moveToFirstPage(){return this.moveToPage(0)}moveToLastPage(){return this.moveToPage(this.pageCount-1)}moveToPreviousPage(){return this.moveToPage(this.pageIndex-1)}moveToNextPage(){return this.moveToPage(this.pageIndex+1)}moveToPage(e){let t=clamp(e,0,this.pageCount-1);if(t!=this._pgIdx){if(!this.canChangePage)return!1;let e=new PageChangingEventArgs(t);if(this.onPageChanging(e)&&this.onCurrentChanging(e)){this.commitEdit();this.commitNew();let e=this.currentItem;this._pgIdx=t;this._pgView=this._getPageView();this._idx=0;if(this.groupDescriptions&&0!=this.groupDescriptions.length)this.refresh();else{this.onCollectionChanged();e!=this.currentItem&&this.onCurrentChanged()}this.onPageChanged()}}return this._pgIdx==e}onPageChanged(e){this.pageChanged.raise(this,e)}onPageChanging(e){this.pageChanging.raise(this,e);return!e.cancel}_getFullGroup(e){let t=this._getGroupByPath(this._fullGroups,e.level,e._path);null!=t&&(e=t);return e}_getGroupByPath(e,t,i){if(e)for(let s=0;s<e.length;s++){let r=e[s];if(r.level==t&&r._path==i)return r;if(r.level<t&&0==i.indexOf(r._path)){r=this._getGroupByPath(r.groups,t,i);if(null!=r)return r}}return null}_getPageView(){if(this.pageSize<=0||this._pgIdx<0)return this._view;let e=this._pgSz*this._pgIdx,t=Math.min(e+this._pgSz,this._view.length);return this._view.slice(e,t)}_createGroups(e){if(!this._grpDesc||!this._grpDesc.length)return null;let t=[],i={},s=null;e.forEach(e=>{let r=t,n=this._grpDesc.length,o="";for(let t=0;t<n;t++){let a=this._grpDesc[t],l=a.groupNameFromItem(e,t),u=t==n-1;s=i[o];if(!s&&isPrimitive(l)){s={};i[o]=s}let c=this._getGroup(a,r,s,l,t,u);o+="/"+l;c._path=o;u&&c.items.push(e);r=c.groups}});return t}_getGroupsDigest(e){let t="";for(let i=0;null!=e&&i<e.length;i++){let s=e[i];t+="{"+s.name+":"+(s.items?s.items.length:"*");if(s.groups.length>0){t+=",";t+=this._getGroupsDigest(s.groups)}t+="}"}return t}_mergeGroupItems(e){let t=[];for(let i=0;i<e.length;i++){let s=e[i];if(!s._isBottomLevel){let e=this._mergeGroupItems(s.groups);for(let t=0,i=e.length;t<i;t++)s._items.push(e[t])}for(let e=0,i=s._items.length;e<i;e++)t.push(s._items[e])}return t}_getGroup(e,t,i,s,r,n){let o;if(i&&isPrimitive(s)){o=i[s];if(o)return o}else for(let i=0;i<t.length;i++)if(e.namesMatch(t[i].name,s))return t[i];let a=new CollectionViewGroup(e,s,r,n);t.push(a);i&&(i[s]=a);return a}}CollectionView._collator="undefined"!=typeof window&&window.Intl&&Intl.Collator?new Intl.Collator:null;exports.CollectionView=CollectionView;class CollectionViewGroup{constructor(e,t,i,s){this._gd=e;this._name=t;this._level=i;this._isBottomLevel=s;this._groups=[];this._items=[]}get name(){return this._name}get level(){return this._level}get isBottomLevel(){return this._isBottomLevel}get items(){return this._items}get groups(){return this._groups}get groupDescription(){return this._gd}getAggregate(e,t,i,s){let r=tryCast(i,CollectionView);return getAggregate(e,(r?r._getFullGroup(this):this).items,t,s)}_clone(){const e=new CollectionViewGroup(this.groupDescription,this.name,this.level,this.isBottomLevel);e._path=this._path;if(this.groups.length)for(let t=0;t<this.groups.length;t++)e.groups.push(this.groups[t]);if(this.items.length)for(let t=0;t<this.items.length;t++)e.items.push(this.items[t]);return e}}exports.CollectionViewGroup=CollectionViewGroup;class _NullValue{constructor(e){this._id=e}}exports._NullValue=_NullValue;exports.controlBaseClass="undefined"!=typeof window&&window["wj-control-is-element"]?HTMLElement:Object;var __isES6Mode=!1;try{let e=class __c{};e.prototype=Array.prototype;__isES6Mode=e.prototype!==Array.prototype}catch(e){__isES6Mode=!0}var PopupPosition,TooltipTrigger,__callSuper=__isES6Mode||exports.controlBaseClass!==Object;class ControlBase extends exports.controlBaseClass{constructor(){__callSuper&&super()}}exports.ControlBase=ControlBase;class Control extends ControlBase{constructor(e,t=null,i=!1){super();this.workingAs="PureJs";this.disposed=!1;this._orgAttributes=[];this._listeners=[];this._pristine=!0;this._focus=!1;this._updating=0;this._fullUpdate=!1;this._listenResizeEvents=!0;this.gotFocus=new Event;this.lostFocus=new Event;this.invalidInput=new Event;this.refreshing=new Event;this.refreshed=new Event;this._updateWme();assert(null==Control.getControl(e),"Element is already hosting a control.");let s=getElement(e);assert(null!=s,"Cannot find the host element.");this._orgTabIndex=s.hasAttribute("tabindex")?s.tabIndex:0;for(let e=0;e<s.attributes.length;e++){const t=s.attributes[e];this._orgAttributes.push({name:t.name,value:t.textContent})}this._orgInner=s.innerHTML;this._orgTag=s.tagName;this._orgAtts=s.attributes;"INPUT"!=s.tagName&&"SELECT"!=s.tagName||(s=this._replaceWithDiv(s));this._e=s;s[Control._CTRL_KEY]=this;let r=this.addEventListener.bind(this);if(1==i){this._szCtl=new Size(s.offsetWidth,s.offsetHeight);let e=window.ResizeObserver,t=null;e&&(t=this._szObserver=new e(e=>this._resizeObserverCallback(e)));t?t.observe(s):r(window,"resize",this._handleResize.bind(this))}let n=this._handleFocusBlur.bind(this);r(s,"focus",n,!0);r(s,"blur",n,!0);let o=this._handleDisabled.bind(this);r(s,"mousedown",o,!0);r(s,"mouseup",o,!0);r(s,"click",o,!0);r(s,"dblclick",o,!0);r(s,"wheel",o,getEventOptions(!0,!0));r(s,"keydown",e=>{this.isDisabled&&e.keyCode!=Key.Tab&&e.preventDefault()});0==Control._ctlCnt&&_detectTouch(!0);Control._ctlCnt++}getTemplate(){for(let e=Object.getPrototypeOf(this);e;e=Object.getPrototypeOf(e)){let t=e.constructor.controlTemplate;if(t)return t}return null}applyTemplate(e,t,i,s){let r=this._e;e&&addClass(r,e);let n=null;t&&(n=createElement(t,r));let o=r.querySelectorAll("a."+exports.InputFormElementsClsNames.btn);for(var a=0;a<o.length;a++){let e=o[a];setAttribute(e,"role","button",!0);setAttribute(e,"href","",!0);setAttribute(e,"draggable",!1,!0)}let l=r.querySelectorAll("button");for(a=0;a<l.length;a++)setAttribute(l[a],"type","button",!0);let u=r.querySelectorAll("input"),c=1==u.length?u[0]:null;if(c){let e=Control._rxInputAtts;this._copyAttributes(c,r.attributes,e);this._copyAttributes(c,this._orgAtts,e)}if(c&&r.id){let e=r;for(;e.parentElement;)e=e.parentElement;let t=e.querySelector('label[for="'+r.id+'"]');if(t instanceof HTMLLabelElement){let e=getUniqueId(r.id+"_input");c.id=e;t.htmlFor=e}}if(c){let e=c.value,t=!0,i=!1,s=document.createEvent("HTMLEvents");s.initEvent("change",!0,!1);this.gotFocus.addHandler(()=>{t=!1;i=!0;e=c.value});this.addEventListener(r,"focusin",s=>{if(t){i=!0;t=!1;e=c.value}});this.addEventListener(c,"input",()=>{this._pristine=!1;this._getInputValueTimer=setTimeout(()=>{e=c.value})});this.addEventListener(c,"change",t=>{t.isTrusted&&(e=c.value)});const leave=()=>{if(!this._containsFocus()){t=!0;if(this._pristine){this._pristine=!1;this._updateState()}if(i&&e!=c.value){e=c.value;c.dispatchEvent(s)}i=!1}};this.addEventListener(r,"blur",()=>{leave()});this.lostFocus.addHandler(()=>{leave()})}c?r.tabIndex=-1:r.getAttribute("tabindex")||(r.tabIndex=0);this._updateState();if(i)for(let e in i){let t=i[e];this[e]=n.querySelector('[wj-part="'+t+'"]');null==this[e]&&n.getAttribute("wj-part")==t&&(this[e]=n);if(null==this[e])throw'Missing template part: "'+t+'"';if(t==s){let t="name",i=r.attributes[t];i&&i.value&&this[e].setAttribute(t,i.value);t="accesskey";i=r.attributes[t];if(i&&i.value){this[e].setAttribute(t,i.value);r.removeAttribute(t)}}}return n}dispose(){if(!this._e)return;this.disposed=!0;let e=this._e.querySelectorAll("."+exports.ControlClsNames.hostElement);for(let t=0;t<e.length;t++){let i=Control.getControl(e[t]);i&&i.dispose()}if(this._toInv){clearTimeout(this._toInv);this._toInv=null}if(this._toFocus){clearTimeout(this._toFocus);this._toFocus=null}if(this._getInputValueTimer){clearTimeout(this._getInputValueTimer);this._getInputValueTimer=null}if(this._updateFocusStateTimer){clearTimeout(this._updateFocusStateTimer);this._updateFocusStateTimer=null}if(this.focusService){this.focusService.dispose();this.focusService=null}let t=this._szObserver;t&&t.disconnect();this.removeEventListener();for(let e in this)if(e.length>2&&0==e.indexOf("on")){let t=this[e[2].toLowerCase()+e.substr(3)];t instanceof Event&&t.removeAllHandlers()}let i=this.collectionView;if(i instanceof CollectionView)for(let e in i){let t=i[e];t instanceof Event&&t.removeHandler(null,this)}if(this._e.parentNode){for(;this._e.attributes.length>0;)this._e.removeAttribute(this._e.attributes[0].name);for(let e of this._orgAttributes)setAttribute(this._e,e.name,e.value);this._e.innerHTML=this._orgInner}this._e[Control._CTRL_KEY]=null;this._e=this._orgTag=this._szObserver=null;Control._ctlCnt--;0==Control._ctlCnt&&_detectTouch(!1);if(Control._ctlInvalidInput===this){if(Control._toInvalidInput){clearTimeout(Control._toInvalidInput);Control._toInvalidInput=null}if(Control._toClearCtlInvalid){clearTimeout(Control._toClearCtlInvalid);Control._toClearCtlInvalid=null}Control._ctlInvalidInput=null}if(Control._toTouch){clearTimeout(Control._toTouch);Control._toTouch=null}}static getControl(e){let t=getElement(e);return t?asType(t[Control._CTRL_KEY],Control,!0):null}get hostElement(){return this._e}get rightToLeft(){null==this._rtlDir&&(this._rtlDir=!!this._e&&"rtl"==getComputedStyle(this._e).direction);return this._rtlDir}focus(){let e=this._e;e&&e.offsetHeight&&(this.isDisabled||!(e.tabIndex>=0)&&moveFocus(e,0)||e.focus())}containsFocus(){return this._containsFocusImpl(getActiveElement())}_containsFocus(){this.focusService||(this.focusService=new _FocusService);return this._containsFocusImpl(_getActiveElement(this.focusService.activeElement))}_containsFocusImpl(e){return contains(this._e,e,!0)}invalidate(e=!0){this._rtlDir=null;this._fullUpdate=this._fullUpdate||e;if(this._toInv){clearTimeout(this._toInv);this._toInv=null}this.isUpdating||this.disposed||(this._toInv=setTimeout(()=>{this.refresh(this._fullUpdate);this._toInv=null},Control._REFRESH_INTERVAL))}refresh(e=!0){if(!this.isUpdating&&!this.disposed){this.onRefreshing();this.refreshed.hasHandlers&&setTimeout(()=>{this.onRefreshed()})}if(!this.isUpdating&&this._toInv){clearTimeout(this._toInv);this._toInv=null;this._fullUpdate=!1}this._updateState();this._updateWme()}static invalidateAll(e){e||(e=document.body);let t=e.children;if(t)for(let e=0;e<t.length;e++)Control.invalidateAll(t[e]);let i=Control.getControl(e);i&&i.invalidate()}static refreshAll(e){e||(e=document.body);if(e.children)for(let t=0;t<e.children.length;t++)Control.refreshAll(e.children[t]);let t=Control.getControl(e);t&&t.refresh()}static disposeAll(e){let t=Control.getControl(e);if(t)t.dispose();else if(e.children)for(let t=0;t<e.children.length;t++)Control.disposeAll(e.children[t])}beginUpdate(){this._updating++}endUpdate(e=!0){this._updating--;this._updating<=0&&e&&this.invalidate()}get isUpdating(){return this._updating>0}deferUpdate(e){try{this.beginUpdate();e()}finally{this.endUpdate()}}get isTouching(){return Control._touching}get tabOrder(){return this._orgTabIndex}set tabOrder(e){this._setTabOrder(e)}_setTabOrder(e){let t=this._e;this._orgTabIndex=e;let i=t.querySelectorAll("input"),s=1===i.length?i[0]:null;t.tabIndex=this.isDisabled||s?-1:this._orgTabIndex;s&&(s.tabIndex=this._orgTabIndex)}get isDisabled(){return this._e&&null!=this._e.getAttribute("disabled")}set isDisabled(e){this._setIsDisabled(e)}_setIsDisabled(e){if((e=!!asBoolean(e,!0))!=this.isDisabled){let t=this._e;if(t){let i="disabled";toggleClass(t,exports.ControlStateClsNames.disabled,e);setAttribute(t,i,e?i:null);setAttribute(t,"aria-disabled",e);if(t.id){const i=document.querySelector(`[dropdown-id=${t.id}]`);i&&toggleClass(i,exports.ControlStateClsNames.disabled,e)}t.tabIndex=this.isDisabled||1===t.querySelectorAll("input").length?-1:this._orgTabIndex;let s=t.querySelectorAll("input,textarea,button,command,fieldset,keygen,optgroup,option,select"),r=Control._DSBL_KEY;for(let t=0;t<s.length;t++){let i=s[t];if(e){i[r]=i.disabled;i.disabled=!0}else{if(!!closest(i,`.${exports.ControlClsNames.hostElement}.${exports.ControlStateClsNames.disabled}`)){i[r]=i.disabled;i.disabled=!0}else{let e=i[r];isBoolean(e)||(e=!1);i.disabled=e;delete i[r]}}}}}}initialize(e){copy(this,e)}addEventListener(e,t,i,s,r){if(e){null==s&&(s=!1);isBoolean(s)&&null==r&&(t.indexOf("touch")>-1||t.indexOf("wheel")>-1)&&(r=!1);let n=isBoolean(s)&&isBoolean(r)?getEventOptions(s,r):s;e.addEventListener(t,i,n);this._listeners.push({target:e,type:t,fn:i,capture:s})}}removeEventListener(e,t,i,s){let r=0;for(let n=0;n<this._listeners.length;n++){let o=this._listeners[n];if(!(null!=e&&e!=o.target||null!=t&&t!=o.type||null!=i&&i!=o.fn||null!=s&&s!=o.capture)){o.target.removeEventListener(o.type,o.fn,o.capture);this._listeners.splice(n,1);n--;r++}}return r}onGotFocus(e){this.gotFocus.raise(this,e)}onLostFocus(e){this.lostFocus.raise(this,e)}onInvalidInput(e){this.invalidInput.raise(this,e);let t=this;if(e.cancel){let e=Control._FOCUS_INTERVAL+50;if(null==Control._ctlInvalidInput||Control._ctlInvalidInput===this){Control._ctlInvalidInput=this;Control._toInvalidInput&&clearTimeout(Control._toInvalidInput);Control._toClearCtlInvalid&&clearTimeout(Control._toClearCtlInvalid);Control._toInvalidInput=setTimeout(()=>{Control._toInvalidInput=null;t.containsFocus()||"isDroppedDown"in t&&"_isDropdownOpened"in t&&t._isDropdownOpened&&(t.isDroppedDown=t._isDropdownOpened);t.focus();Control._toClearCtlInvalid=setTimeout(()=>{Control._ctlInvalidInput=null;Control._toClearCtlInvalid=null},e)},e)}}else Control._ctlInvalidInput=null;this._updateState();return!e.cancel}onRefreshing(e){this.refreshing.raise(this,e)}onRefreshed(e){this.refreshed.raise(this,e)}_getProductInfo(){return"B0C3,Control"}_getFocusedElements(e){let t=e;for(;t;){if(!t.parentNode)return t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&void 0!==t.host?t.querySelectorAll("."+exports.ControlStateClsNames.focused):document.body.querySelectorAll("."+exports.ControlStateClsNames.focused);t=t.parentNode}return[]}_updateWme(){let e=this._getProductInfo(),t=Control._toWme,i=_updateWme;if(isFunction(i)&&!t[e]){t[e]=!0;i(this,Control._licKey)}}_hasPendingUpdates(){return null!=this._toInv}_handleResize(){if(this._e.parentElement||this._e.parentNode){let e=new Size(this._e.offsetWidth,this._e.offsetHeight);if(!e.equals(this._szCtl)){this._szCtl=e;this._listenResizeEvents&&(e.width||e.height)&&this.invalidate()}}}_resizeObserverCallback(e){e.forEach(e=>{let t=Control.getControl(e.target);t&&t._handleResize()})}_handleFocusBlur(){this._toFocus||(this._toFocus=setTimeout(()=>{this._toFocus=null;this._updateFocusState()},Control._FOCUS_INTERVAL))}_updateFocusState(){this._updateFocusStateTimer=setTimeout(()=>{let e=EventArgs.empty,t=this._getFocusedElements(this.hostElement);for(let i=0;i<t.length;i++){let s=Control.getControl(t[i]);if(s&&s._focus&&!s.containsFocus()){removeClass(s._e,exports.ControlStateClsNames.focus);s._focus=!1;s._updateState();s.onLostFocus(e)}}let i=getActiveElement();if(i){let t=!0;for(let s=i;s;){let i=Control.getControl(s);if(i&&!i._focus&&i.containsFocus()){if(t){addClass(s,exports.ControlStateClsNames.focus);t=!1}i._focus=!0;i._updateState();i.onGotFocus(e)}s=s[Control._OWNR_KEY]||s.parentNode}}})}_updateState(){let e=this.hostElement;if(e){toggleClass(e,exports.ControlStateClsNames.focused,this._focus);this._rtlDir=this._getRtlStates();toggleClass(e,exports.UtilitesClsNames.rtl,this._rtlDir);let t=e.querySelector("input");if(t instanceof HTMLInputElement){toggleClass(e,exports.ControlStateClsNames.empty,0==t.value.length);toggleClass(e,exports.ControlStateClsNames.readOnly,t.readOnly);let i=t.validationMessage;toggleClass(e,exports.ControlStateClsNames.invalid,!this._pristine&&null!=i&&i.length>0);const s=closest(this.hostElement,exports.ControlStateClsNames.labeledInput),r=s&&s.querySelector(exports.ControlStateClsNames.wjError);if(r){const e=this.hostElement.classList.contains(exports.ControlStateClsNames.invalid);toggleClass(r,exports.ControlStateClsNames.errorVisible,e)}}}}_getRtlStates(){let e=this.hostElement;return"rtl"===getComputedStyle(e).direction}_handleDisabled(e){if(this.isDisabled||closest(e.target,"."+exports.ControlStateClsNames.disabled)){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation()}}_replaceWithDiv(e){let t=document.createElement("div");e.parentElement.replaceChild(t,e);t.innerHTML=e.innerHTML;this._copyAttributes(t,e.attributes,/id|style|class/i);return t}_copyAttributes(e,t,i){if(e)for(let s=0;s<t.length;s++){let r=t[s].name;r.match(i)&&e.setAttribute(r,t[s].value)}}_getKeyCode(e){let t=e.keyCode;if(this.rightToLeft)switch(t){case Key.Right:t=Key.Left;break;case Key.Left:t=Key.Right}return t}_getCodeAsPerRTL(e){let t=e.code;if(this.rightToLeft)switch(t){case"ArrowRight":return"ArrowLeft";case"ArrowLeft":return"ArrowRight"}return t}}Control.sharedState={};Control._toWme={};Control._ctlCnt=0;Control._touching=!1;Control._REFRESH_INTERVAL=10;Control._FOCUS_INTERVAL=5;Control._ANIM_DEF_DURATION=400;Control._ANIM_DEF_STEP=35;Control._CLICK_DELAY=800;Control._CLICK_REPEAT=75;Control._CLIPBOARD_DELAY=100;Control._POPUP_ZINDEX=1500;Control._SEARCH_DELAY=500;Control._HOVER_DELAY=400;Control._LEAVE_DELAY=600;Control._DRAG_SCROLL_EDGE=15;Control._DRAG_SCROLL_STEP=20;Control._CTRL_KEY="$WJ-CTRL";Control._OWNR_KEY="$WJ-OWNR";Control._SCRL_KEY="$WJ-SCRL";Control._TTIP_KEY="$WJ-TTIP";Control._DSBL_KEY="$WJ-DSBL";Control._rxInputAtts=/name|tabindex|placeholder|autofocus|autocomplete|autocorrect|autocapitalize|spellcheck|readonly|minlength|maxlength|pattern|type|aria-.+/i;exports.Control=Control;function _detectTouch(e){if("ontouchstart"in window||"onpointerdown"in window){let t=document,i=getEventOptions(!0,!0),s=_handleTouchStart,r=_handleTouchEnd,n=e?t.addEventListener.bind(t):t.removeEventListener.bind(t);if("ontouchstart"in window){n("touchstart",s,i);n("touchend",r,i);n("touchcancel",r,i)}else if("onpointerdown"in window){n("pointerdown",s,i);n("pointerup",r,i);n("pointercancel",r,i)}}}function _handleTouchStart(e){if(null==e.pointerType||"touch"==e.pointerType){if(Control._toTouch){clearTimeout(Control._toTouch);Control._toTouch=null}Control._touching=!0}}function _handleTouchEnd(e){if(null==e.pointerType||"touch"==e.pointerType){Control._toTouch=setTimeout((function(){Control._toTouch=null;Control._touching=!1}),900);if(document.querySelector("ion-app")){let t=e.target;if(closest(t,".wj-dropdown-panel,.wj-dropdown")){t.focus();e.stopPropagation();e.stopImmediatePropagation()}}}}class PrintDocument{constructor(e){this._title=null;this._copyCss=!0;null!=e&©(this,e)}get title(){return this._title}set title(e){this._title=asString(e)}get copyCss(){return this._copyCss}set copyCss(e){this._copyCss=asBoolean(e)}addCSS(e){this._css||(this._css=[]);this._css.push(e)}append(e){let t=this._getDocument();if(isString(e))t.write(e);else if(e instanceof Element){e instanceof HTMLElement&&Control.refreshAll(e);let i=e.cloneNode(!0),s=i.querySelectorAll("input");for(let e=0;e<s.length;e++){let t=s[e];switch(t.type){case"checkbox":setAttribute(t,"checked",!!t.checked||null);setAttribute(t,"indeterminate",!!t.indeterminate||null);break;case"radio":setAttribute(t,"checked",!!t.checked||null);break;default:setAttribute(t,"value",t.value||null)}}t.write(i.outerHTML)}else assert(!1,"content should be an HTML string or an Element.")}print(e){if(this._iframe){this._close();setTimeout(()=>{let t=this._iframe.contentWindow,i="onafterprint"in t&&!isFirefox();i&&(t.onafterprint=()=>{this._afterPrint(e)});if(!(isIE()&&null==t.document.body)&&document.queryCommandSupported("print"))t.document.execCommand("print",!0,null);else{t.focus();t.print()}i||this._afterPrint(e)},100)}}_afterPrint(e){document.body.removeChild(this._iframe);this._iframe=null;isFunction(e)&&e()}_getDocument(){if(!this._iframe){let e=this._iframe=document.createElement("iframe");addClass(e,exports.PrintDocumentClsNames.printDocument);setCss(e,{position:"fixed",left:32e3,top:32e3});document.body.appendChild(e)}return this._iframe.contentDocument}_close(){let e=this._getDocument();e.close();e.title=null!=this.title?this.title:document.title;e.title&&e.title.trim()||(e.title=" ");this._copyCss&&[document.head,document.body].forEach(e=>{let t=e.querySelectorAll("LINK");for(let e=0;e<t.length;e++){let i=t[e];if(i.rel.match(/stylesheet/i)&&(!i.type||i.type.match(/text\/css/i))){let e=httpRequest(i.href,{async:!1});this._addStyle(e.responseText)}}let i=e.querySelectorAll("STYLE");for(let e=0;e<i.length;e++)this._addStyle(i[e].textContent)});if(this._css)for(let t=0;t<this._css.length;t++){let i=e.createElement("style"),s=httpRequest(this._css[t],{async:!1});i.textContent=s.responseText;e.head.appendChild(i)}}_addStyle(e){let t=this._getDocument(),i=t.createElement("style");i.textContent=e;t.head.appendChild(i)}}exports.PrintDocument=PrintDocument;class Clipboard{static copy(e){Clipboard._copyPaste(asString(e),null)}static paste(e){e=asFunction(e);Clipboard._copyPaste(null,e)}static _copyPaste(e,t){let i=getActiveElement(),s=closest(i,"."+exports.ControlClsNames.hostElement);for(;s&&Control.getControl(s);)s=s.parentElement;s=s||document.body;if(s){let r=!1,n=createElement(`<textarea class="${exports.ClipboardClsNames.clipboard}">`,s,{position:"fixed",opacity:"0"});n.onkeydown=e=>e.preventDefault();n.onchange=e=>e.stopImmediatePropagation();if(isString(e)){n.value=e;n.select();document.execCommand("copy")&&(r=!0)}else{n.select();if(isFunction(t)&&document.execCommand("paste")){t(n.value);r=!0}}setTimeout(()=>{i.focus({preventScroll:!0});(isIE()?setTimeout:(e,t)=>e())(()=>removeChild(n),500);!r&&isFunction(t)&&t(n.value)},Control._CLIPBOARD_DELAY)}}}exports.Clipboard=Clipboard;class _ClickRepeater{constructor(e){this._isDown=!1;this._mousedownBnd=this._mousedown.bind(this);this._mouseupBnd=this._mouseup.bind(this);this._clickBnd=this._click.bind(this);this.element=e;this._connect(!0)}get element(){return this._e}set element(e){this._connect(!1);this._e=asType(e,HTMLElement,!0);this._connect(!0)}get disabled(){return this._disabled}set disabled(e){this._disabled=asBoolean(e)}_connect(e){this._e&&_ClickRepeater._startEvents.forEach(t=>{e?this._e.addEventListener(t,this._mousedownBnd,{passive:!0}):this._e.removeEventListener(t,this._mousedownBnd)})}_clearTimeouts(){if(this._toRepeat){clearTimeout(this._toRepeat);this._toRepeat=null}if(this._toDelay){clearTimeout(this._toDelay);this._toDelay=null}}_mousedown(e){this._isDown&&this._mouseup(null);if(!this._disabled){this._isDown=!0;_ClickRepeater._stopEvents.forEach(e=>{document.addEventListener(e,this._mouseupBnd)});this._clearTimeouts();this._toDelay=setTimeout(()=>{if(this._isDown){this._click();this._toRepeat=setTimeout(this._clickBnd,Control._CLICK_REPEAT)}},Control._CLICK_DELAY)}}_mouseup(e){if(!e||"mouseout"!==e.type||this._e&&this._e.contains(e.target)){this._isDown&&e&&"keydown"!=e.type&&this._clicked&&e.preventDefault();_ClickRepeater._stopEvents.forEach(e=>{document.removeEventListener(e,this._mouseupBnd)});this._clearTimeouts();this._isDown=!1;this._clicked=!1}}_click(){this._clicked=!0;this._clearTimeouts();if(this._e){this._e.click();this._isDown&&(this._toRepeat=setTimeout(this._clickBnd,Control._CLICK_REPEAT))}}}_ClickRepeater._startEvents=["mousedown","touchstart"];_ClickRepeater._stopEvents=["mouseup","mouseout","keydown","touchend","touchcancel"];exports._ClickRepeater=_ClickRepeater;!function(e){e[e.Above=0]="Above";e[e.AboveRight=1]="AboveRight";e[e.RightTop=2]="RightTop";e[e.Right=3]="Right";e[e.RightBottom=4]="RightBottom";e[e.BelowRight=5]="BelowRight";e[e.Below=6]="Below";e[e.BelowLeft=7]="BelowLeft";e[e.LeftBottom=8]="LeftBottom";e[e.Left=9]="Left";e[e.LeftTop=10]="LeftTop";e[e.AboveLeft=11]="AboveLeft"}(PopupPosition=exports.PopupPosition||(exports.PopupPosition={}));function showPopup(e,t,i,s,r=!0,n){let o=e.offsetHeight||e.offsetWidth,a=i;(isBoolean(i)||null==i)&&(a=i?PopupPosition.AboveLeft:PopupPosition.BelowLeft);let l=_getPopupParent(t);_addPopupToDOM(e,l);_copyPopupStyles(e,t,r);Control.refreshAll(e);_updatePopupPosition(e,t,a);isFirefox()&&requestAnimationFrame(()=>{_updatePopupPosition(e,t,a)});t instanceof HTMLElement&&(e[Control._OWNR_KEY]=t);if(!o){_hidePopupOnscroll(e,t,n);if(s)return animate(t=>e.style.opacity=t<1?t.toString():"");e.style.opacity=""}return null}exports.showPopup=showPopup;function hidePopup(e,t=!0,i=!1){let s=null;i?s=animate(i=>{e.style.opacity=(1-i).toString();if(1==i){_hidePopup(e,t);e.style.opacity=""}}):_hidePopup(e,t);return s}exports.hidePopup=hidePopup;function _updatePopupPosition(e,t,i){let s=_getReferenceRect(e,t),r=_getPopupOffset(e),n=_getPopupPosition(e,s,i,r),o={position:"absolute",zIndex:Control._POPUP_ZINDEX},a=0==r.x;if(a){o.left=n.x;o.top=n.y}else o.transform="translate("+n.x+"px, "+n.y+"px)";let l=e.getBoundingClientRect().width;setCss(e,o);if(a){let t=l-e.getBoundingClientRect().width;t>0&&(e.style.left=n.x-Math.ceil(t)+"px")}}exports._updatePopupPosition=_updatePopupPosition;function _hidePopup(e,t){e.style.display="none";t&&e.parentElement&&setTimeout(()=>{if("none"==e.style.display){removeChild(e);isFunction(t)&&t()}},Control._FOCUS_INTERVAL+50);let i=e[Control._SCRL_KEY];i instanceof Control&&i.dispose();delete e[Control._SCRL_KEY];delete e[Control._OWNR_KEY]}function _isjQueryDialog(e){let t=window.jQuery,i=isFunction(t)?t(e):null;return i&&isFunction(i.dialog)&&hasClass(e,"ui-dialog")}function _getPopupParent(e){let t=document.body;if(e instanceof HTMLElement){if(!contains(document.body,e))return t;for(let i=e;i;i=i.parentElement){if("DIALOG"==i.tagName||"ION-CONTENT"==i.tagName||"fixed"==getComputedStyle(i).position){t=i;break}if(_isjQueryDialog(i)){t=i.querySelector(".ui-dialog-content")||i;break}}}return t}function _addPopupToDOM(e,t){if(!e.offsetHeight||!e.offsetWidth||e.parentElement!=t){setCss(e,{opacity:"0",position:"fixed",left:0,top:0,transform:"",display:""});t.appendChild(e)}}function _getPopupOffset(e){let t=document.body,i=document.documentElement,s=e.parentElement,r=new Point(t.scrollLeft||pageXOffset,t.scrollTop||pageYOffset);if(s!=t){let n=s==t?i:e.offsetParent||s;n==t&&(n=s);if(n){let e=n.getBoundingClientRect();r=new Point(n.scrollLeft-e.left,n.scrollTop-e.top)}}if(s instanceof HTMLElement){let e=getComputedStyle(s);r.x-=parseFloat(e.borderLeftWidth);r.y-=parseFloat(e.borderTopWidth)}return r}function _copyPopupStyles(e,t,i){if(t instanceof HTMLElement&&i){let s=i instanceof HTMLElement?i:t,r=getComputedStyle(s);1==new Color(r.backgroundColor).a&&setCss(e,{color:r.color,backgroundColor:r.backgroundColor,fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontStyle:r.fontStyle})}}function _hidePopupOnscroll(e,t,i){let s=t instanceof MouseEvent?t.target:t;if(s instanceof HTMLElement&&s.parentElement!=document.body){let r=Date.now(),n=s.getBoundingClientRect(),o=new Control(document.createElement("div"));e[Control._SCRL_KEY]=o;o.addEventListener(document,"scroll",a=>{if(a.target!=e.parentElement&&Date.now()-r>100&&contains(document,s)&&!contains(e,a.target)&&(a.target!=document||null!=t&&"fixed"==e.style.position)){let t=s.getBoundingClientRect(),r=Math.abs(t.left-n.left),a=Math.abs(t.top-n.top);if(r>1||a>1){isFunction(i)&&i();_hidePopup(e,!0);o.dispose()}}},!0)}}function _getPopupPosition(e,t,i,s){let r=document.documentElement,n=r.clientWidth,o=r.clientHeight,a=PopupPosition;switch(i){case a.AboveLeft:case a.AboveRight:case a.BelowLeft:case a.BelowRight:if(t){let i=t.width;if(i){isIE()&&(i-=e.offsetWidth-e.clientWidth);e.style.minWidth=i+"px"}}}let l=getComputedStyle(e),u=parseFloat(l.marginTop)+parseFloat(l.marginBottom),c=parseFloat(l.marginLeft)+parseFloat(l.marginRight),h=new Size(e.offsetWidth+c,e.offsetHeight+u),d=new Point((n-h.width)/2,Math.round((o-h.height)/2*.7));if(t){"rtl"==l.direction&&(i=_getRtlPosition(i));let e=t.left,s=n-t.right;d.x=t.left;switch(i){case a.Above:case a.Below:d.x=t.left+(t.width-h.width)/2;break;case a.AboveLeft:case a.BelowLeft:d.x=t.left;break;case a.AboveRight:case a.BelowRight:d.x=t.right-h.width;break;case a.Left:case a.LeftTop:case a.LeftBottom:d.x=e>=h.width||e>=s?t.left-h.width:t.right;break;case a.RightTop:case a.RightBottom:case a.Right:d.x=s>=h.width||s>=e?t.right:t.left-h.width}let r=t.top,u=o-t.bottom;switch(i){case a.Above:case a.AboveLeft:case a.AboveRight:d.y=r>h.height||r>u?t.top-h.height:t.bottom;break;case a.Below:case a.BelowLeft:case a.BelowRight:d.y=u>h.height||u>r?t.bottom:t.top-h.height;break;case a.LeftTop:case a.RightTop:d.y=t.top;break;case a.LeftBottom:case a.RightBottom:d.y=t.bottom-h.height;break;case a.Left:case a.Right:d.y=t.bottom-h.height+(h.height-t.height)/2}}d.x=Math.min(d.x,n-h.width);d.y=Math.min(d.y,o-h.height);d.x=Math.max(0,d.x)+s.x;d.y=Math.max(0,d.y)+s.y;return d}function _getRtlPosition(e){let t=PopupPosition;switch(e){case t.AboveLeft:return t.AboveRight;case t.AboveRight:return t.AboveLeft;case t.BelowLeft:return t.BelowRight;case t.BelowRight:return t.BelowLeft;case t.Left:return t.Right;case t.LeftTop:return t.RightTop;case t.LeftBottom:return t.RightBottom;case t.Right:return t.Left;case t.RightTop:return t.LeftTop;case t.RightBottom:return t.LeftBottom}return e}function _getReferenceRect(e,t){return t instanceof MouseEvent?t.clientX<=0&&t.clientY<=0&&t.target instanceof HTMLElement?Rect.fromBoundingRect(t.target.getBoundingClientRect()):new Rect(t.pageX-pageXOffset,t.pageY-pageYOffset,0,0):t instanceof Point?new Rect(t.x,t.y,0,0):t instanceof HTMLElement?Rect.fromBoundingRect(t.getBoundingClientRect()):t&&null!=t.top&&null!=t.left?t:null}!function(e){e[e.Focus=0]="Focus";e[e.Hover=1]="Hover";e[e.Both=2]="Both"}(TooltipTrigger=exports.TooltipTrigger||(exports.TooltipTrigger={}));class Tooltip{constructor(e){this._showAutoTipBnd=this._showAutoTip.bind(this);this._hideAutoTipBnd=this._hideAutoTip.bind(this);this._mousemoveBnd=this._mousemove.bind(this);this._focusBnd=this._focus.bind(this);this._mousemovedocBnd=this._mousemovedoc.bind(this);this._keydownBnd=this._keydown.bind(this);this._keydownHandleBnd=this.keydownHandle.bind(this);this._html=!0;this._cssClass="";this._gap=6;this._isAnimated=!1;this._position=PopupPosition.Above;this._trigger=TooltipTrigger.Hover;this._showAtMouse=!1;this._showDelay=500;this._hideDelay=0;this._tooltipVisibleOnHover=!0;this._tips=[];this._forceRecreate=!1;this.popup=new Event;copy(this,e)}get position(){return this._position}set position(e){this._position=asEnum(e,PopupPosition)}get trigger(){return this._trigger}set trigger(e){this._trigger=asEnum(e,TooltipTrigger);this._tips.forEach(e=>{this._detach(e.element);this._attach(e.element)})}get isAnimated(){return this._isAnimated}set isAnimated(e){this._isAnimated=asBoolean(e)}setTooltip(e,t,i){e=getElement(e);t=this._getContent(t);let s=this._indexOf(e);if(s>-1){this._detach(e);this._tips.splice(s,1)}if(t){this._attach(e);this._tips.push({element:e,content:t,position:i})}let r=Tooltip._eTip;if(r&&r[Control._TTIP_KEY]==e)if(t){this._setContent(t);r.isConnected&&!this._showAtMouse&&this.show(e,t,null,i)}else this._hideAutoTip()}getTooltip(e){e=getElement(e);let t=this._tips;for(let i=0;i<t.length;i++)if(t[i].element==e)return t[i].content;return null}show(e,t,i,s){e=getElement(e);t=this._getContent(t);if(!e)return;null==s&&(s=this.position);document.addEventListener("keydown",this._keydownHandleBnd);let r=Tooltip._eTip;this.forceRecreate&&r&&r.remove();if(!r||this.forceRecreate){r=Tooltip._eTip=document.createElement("div");addClass(r,exports.TooltipClsNames.hostElement);setAttribute(r,"aria-live","polite");r.style.visibility="none"}if(!r.isConnected){r.id=getUniqueId(e.id+"_toolTip");addAttributeValueToElement(e,"aria-describedby",r.id)}r.setAttribute("class",exports.TooltipClsNames.hostElement);this._tooltipVisibleOnHover&&[TooltipTrigger.Hover,TooltipTrigger.Both].includes(this.trigger)&&r.addEventListener("mouseleave",this._hideAutoTipBnd);addClass(r,this.cssClass);hasClass(e,exports.ControlStateClsNames.invalid)?r.setAttribute("role","alert"):r.setAttribute("role","tooltip");this._setContent(t);r[Control._TTIP_KEY]=e;let n=new TooltipEventArgs(t,e);this.onPopup(n);if(n.content&&!n.cancel){this._setContent(n.content);i||(i=Rect.fromBoundingRect(e.getBoundingClientRect()));let t=this.gap,o=PopupPosition;if(t)switch(s){case o.Above:case o.AboveLeft:case o.AboveRight:case o.Below:case o.BelowLeft:case o.BelowRight:i=i.inflate(0,t);break;default:i=i.inflate(t,0)}showPopup(r,i,s,this.isAnimated);document.addEventListener("mousedown",this._hideAutoTipBnd)}}hide(){let e=Tooltip._eTip;if(e){removeChild(e);removeClass(e,this.cssClass);e.innerHTML="";this._tooltipVisibleOnHover&&e.removeEventListener("mouseleave",this._hideAutoTipBnd);removeAttributeValueFromElement(e[Control._TTIP_KEY],"aria-describedby",e.id)}document.removeEventListener("mousedown",this._hideAutoTipBnd);document.removeEventListener("keydown",this._keydownHandleBnd);this._tooltipVisibleOnHover&&document.removeEventListener("mousemove",this._mousemovedocBnd)}dispose(){this.hide();let e=this._tips;if(e.length){e.forEach(e=>{this._detach(e.element)});e.splice(0,e.length)}if(Tooltip._eTip){Tooltip._eTip[Control._TTIP_KEY]=null;Tooltip._eTip=null}this._clearTimeouts()}get isVisible(){let e=Tooltip._eTip;return null!=e&&null!=e.parentElement&&e.offsetWidth>0}get isContentHtml(){return this._html}set isContentHtml(e){this._html=asBoolean(e)}get cssClass(){return this._cssClass}set cssClass(e){this._cssClass=asString(e)}get gap(){return this._gap}set gap(e){this._gap=asNumber(e)}get showAtMouse(){return this._showAtMouse}set showAtMouse(e){this._showAtMouse=asBoolean(e)}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=asInt(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=asInt(e)}onPopup(e){this.popup&&this.popup.raise(this,e);return!e.cancel}keydownHandle(e){"Escape"===e.key&&this.hide()}_indexOf(e){for(let t=0;t<this._tips.length;t++)if(this._tips[t].element==e)return t;return-1}_attach(e){if(this._tooltipVisibleOnHover)switch(this._trigger){case TooltipTrigger.Focus:e.addEventListener("focus",this._focusBnd);e.addEventListener("keydown",this._keydownBnd);e.addEventListener("blur",this._hideAutoTipBnd);break;case TooltipTrigger.Both:e.addEventListener("mousemove",this._showAutoTipBnd);e.addEventListener("mouseleave",this._hideAutoTipBnd);e.addEventListener("focus",this._focusBnd);e.addEventListener("keydown",this._keydownBnd);e.addEventListener("blur",this._hideAutoTipBnd);break;default:e.addEventListener("mousemove",this._showAutoTipBnd);e.addEventListener("mouseleave",this._hideAutoTipBnd)}else{e.addEventListener("mousemove",this._showAutoTipBnd);e.addEventListener("mouseleave",this._hideAutoTipBnd)}e.addEventListener("click",this._showAutoTipBnd);this.showAtMouse&&e.addEventListener("mousemove",this._mousemoveBnd)}_detach(e){e.removeEventListener("focus",this._focusBnd);e.removeEventListener("mousemove",this._showAutoTipBnd);e.removeEventListener("mouseleave",this._hideAutoTipBnd);e.removeEventListener("click",this._showAutoTipBnd);e.removeEventListener("mousemove",this._mousemoveBnd);e.removeEventListener("keydown",this._keydownBnd);e.removeEventListener("blur",this._hideAutoTipBnd);e.removeEventListener("mousedown",this._hideAutoTipBnd)}_keydown(e,t){if("Tab"==e.key){this._clearTimeouts();this.hide()}}_focus(e){e&&e.target&&this._showAutoTip(void 0,e.target)}_showAutoTip(e,t){let i=this._hideDelay;if(e&&[TooltipTrigger.Hover,TooltipTrigger.Both].includes(this.trigger)){if(e.defaultPrevented)return;if(this._tooltipVisibleOnHover&&"mousemove"==e.type&&this.isVisible&&!1===this._isMouseOutOfTipAndOwner(e))return;if("click"==e.type&&!Control._touching){this._hideAutoTip(e);return}let t=e&&"mouseenter"==e.type?this._showDelay:0;this._clearTimeouts();this._eMouse=e;let s=e.currentTarget;this._toShow=setTimeout(()=>{let e=this._indexOf(s);if(e>-1){let t=this._tips[e],s=this._eMouse,r=this._showAtMouse?new Rect(s.clientX,s.clientY,0,0):null;const n=t&&t.element;if(n&&this._hasOffset(n)){let e=Control.getControl(t.element);if(null==e||0!=e.isVisible){this.show(t.element,t.content,r,t.position);i>0&&(this._toHide=setTimeout(()=>{this.hide()},i))}}}},t)}if(t&&[TooltipTrigger.Focus,TooltipTrigger.Both].includes(this.trigger)){let e=this._showDelay;this._toShow=setTimeout(()=>{let e=this._indexOf(t);if(e>-1){let t=this._tips[e],s=null;const r=t&&t.element;if(r&&this._hasOffset(r)){let e=Control.getControl(t.element);if(null==e||0!=e.isVisible){this.show(t.element,t.content,s,t.position);i>0&&(this._toHide=setTimeout(()=>{this.hide()},i))}}}},e)}}_mousemove(e){let t=Tooltip._eTip;t&&!t.isConnected&&(this._eMouse=e)}_mousemovedoc(e){[TooltipTrigger.Hover,TooltipTrigger.Both].includes(this.trigger)&&this._checkBoundsAndHide(e,!1)}_hideAutoTip(e){if(!e)return;if(Tooltip._eTip)if(this._tooltipVisibleOnHover){"mouseleave"==e.type&&document.addEventListener("mousemove",this._mousemovedocBnd);this._checkBoundsAndHide(e,!0)}else if((this.trigger==TooltipTrigger.Hover||this.trigger==TooltipTrigger.Both)&&e&&"click"!=e.type&&"mousedown"!=e.type){this._clearTimeouts();this.hide()}}_checkBoundsAndHide(e,t){if(Tooltip._eTip&&e&&(!0===this._isMouseOutOfTipAndOwner(e)||"blur"==e.type)){t&&this._clearTimeouts();this.hide()}}_clearTimeouts(){if(this._toShow){clearTimeout(this._toShow);this._toShow=null}if(this._toHide){clearTimeout(this._toHide);this._toHide=null}if(this._forScreenReader){clearTimeout(this._forScreenReader);this._forScreenReader=null}}_getContent(e){if((e=asString(e))&&"#"==e[0]){let t=getElement(e);t&&(e=t.innerHTML)}return e}_setContent(e){let t=Tooltip._eTip;t&&(this._html?t.innerHTML=e:t.textContent=e)}_hasOffset(e){let t=new Size(e.offsetWidth,e.offsetHeight);if(e instanceof SVGGraphicsElement){let i=e.getBBox();t.width=i.width;t.height=i.height}return t.width>0||t.height>0}get forceRecreate(){return this._forceRecreate}set forceRecreate(e){this._forceRecreate=e}_isMouseOutOfTipAndOwner(e){let t=Tooltip._eTip;if(!t||!e)return;let i=t[Control._TTIP_KEY],s=Rect.fromBoundingRect(t.getBoundingClientRect()),r=Rect.fromBoundingRect(i.getBoundingClientRect()),n=this.gap+2,o=PopupPosition,a=0,l=this._indexOf(i);l>-1&&(a=this._tips[l]&&this._tips[l].position?this._tips[l].position:this.position);switch(a){case o.Above:case o.AboveLeft:case o.AboveRight:r=r.inflate(0,n,0,0);break;case o.Below:case o.BelowLeft:case o.BelowRight:r=r.inflate(0,0,0,n);break;case o.Left:case o.LeftTop:case o.LeftBottom:r=r.inflate(n,0,0,0);break;case o.Right:case o.RightTop:case o.RightBottom:r=r.inflate(0,0,n,0)}let u=e,c=!0;t.getClientRects().length>0&&null!=u&&(c=!(u.clientX>s.left&&u.clientX<s.right&&u.clientY>s.top&&u.clientY<s.bottom));let h=!0;null!=u&&(h=!(u.clientX>r.left&&u.clientX<r.right&&u.clientY>r.top&&u.clientY<r.bottom));return c&&h}}exports.Tooltip=Tooltip;class TooltipEventArgs extends CancelEventArgs{constructor(e,t){super();this._content=asString(e);this._e=t}get tip(){return Tooltip._eTip}get element(){return this._e}get content(){return this._content}set content(e){this._content=asString(e)}}exports.TooltipEventArgs=TooltipEventArgs;var theLic="The Wijmo license in this application ",_licStr={evl:"Wijmo Evaluation Version ({version})",prd:theLic+"is not valid for the <b>{control}</b> control.",ver:theLic+"is not valid for the version in use. The license version is <b>{licVer}</b>; the product version is <b>{version}</b>.",dmn:theLic+"is not valid for the current domain. The license domain is <b>{licDomain}</b>; the current domain is <b>{domain}</b>.",exp:theLic+"has expired. The license expiration date is <b>{expDate:d}</b>.",lic:theLic+"is invalid.",mss:theLic+"is not set.",ctc:'If you are a customer, you can <a target="_blank" rel="noopener" href="https://developer.mescius.com/licensing/wijmo?utm_source=Wijmo-In-App&utm_medium=Click-to-Site&utm_campaign=Wijmo-User-Analysis">create a license</a> online. Otherwise, you can <a target="_blank" rel="noopener" href="https://developer.mescius.com/wijmo/request-trial-key?utm_source=Wijmo-In-App&utm_medium=Click-to-Site&utm_campaign=Wijmo-User-Analysis">generate a 30-day license</a> for free. For further assistance, contact MESCIUS: <a href="mailto:us.sales@mescius.com">us.sales@mescius.com</a>.',hdr:"Wijmo License",cls:"CLOSE"},_codes={};function _updateWme(e,t){let i=Control._wme;if(!(i&&contains(document.body,i)&&i.offsetWidth&&i.offsetHeight))if(t){let i=_getControlCode(e);if(!_codes[i]){_codes[i]=!0;_attorn(t,{algorithmCode:"B0",publicKey:"l6/zrbWoSbcLFwEetFh38rH3ErBZE9H+Cqix3R+wTlfA1wD5B+lUcCQn+EJ60I4RGrm0x1sFjkiLWwB0jAn6BWZv0W4WbqAKriOdeoivxDp1Wmjs3qkEDhvbsjPtfvwx2BHil6o+/tDrdMJQSGs18WZm2PoQLQuL+9VhZ4FNRHUQU3Jtioke/OZEGHJOdYVwvCGalzBad6QFOiVbDBQPePpS3++GJzOxN8SN/7lyS5/IdKiy3WJRaVGkB370+HbN6hKraDfUgReLX26yxRaKC/5aWnGAJ2NnWLoGyAGRcwT9dVjo4bcAZNrrA0U9JVKQxaSskhdv2p49XzJkltXx5w=="},s=>{_checkLicense(e,t,s);delete _codes[i]},()=>{_checkLicense(e,t,null);delete _codes[i]})}}else _checkLicense(e,null,null)}exports._updateWme=_updateWme;function _getControlCode(e){return e._getProductInfo().split(",")[0]}function _getControlName(e){return e._getProductInfo().split(",")[1]}function _checkLicense(e,t,i){let s=exports.culture.Licensing||_licStr,r=null;i?_checkExpiration(e,i)?_checkVersion(e,i)?_checkDomain(e,i)?_checkProductCode(e,i)?_checkEval(e,i)&&(r=s.evl):r=s.prd:r=s.dmn:r=s.ver:r=s.exp:r=t?s.lic:s.mss;if(r){r+="<br/><br/>"+s.ctc;_addWme(e,r,i)}}function _checkProductCode(e,t){let i=_getControlCode(e);if(i&&i.length>=4)for(let e=0;e<t.Prd.length;e++)if(t.Prd[e].C.indexOf(i)>-1)return!0;return!1}function _checkExpiration(e,t){if(t.Exp){let e=t.Exp,i=new Date(parseInt(e.substr(0,4))||0,parseInt(e.substr(4,2))-1||0,parseInt(e.substr(6,2))||0);if(Math.ceil((i.valueOf()-Date.now())/864e5)<=0)return!1}return!0}function _checkVersion(e,t){let i=t.Anl?t.Anl.ver:null,s=getVersion();if(i&&s){return parseInt(i.replace("v",""))+10>=parseInt(s.split(".")[1])}return!0}function _checkDomain(e,t){if(_isLocalHost()||!t.Dms)return!0;let i=location.hostname,s=t.Dms.split(",");for(let e=0;e<s.length;e++)if(_ckHT(i,s[e]))return!0;return!1}function _ckHT(e,t){var i="^"+t.replace(/\./g,"\\.").replace(/\*/g,"(.*)")+"$";if(new RegExp(i,"i").test(e))return!0;if("*."==t.substr(0,2))return _ckHT(e,t.substr(2));if(isIp(e)&&!isIpv6(e)){let i=exports.ipaddr.parse(e),s=parseCIDR(t);if(s&&matchCIDR(i,s))return!0}return!1}exports._ckHT=_ckHT;function isIp(e){return isIpv4(e)||isIpv6(e)}function isIpv4(e){return exports.ipaddr.IPv4.isValidFourPartDecimal(e)}function isIpv6(e){return exports.ipaddr.IPv6.isValid(e)}function isIPExactMatch(e,t){return exports.ipaddr.parse(e).toString()===exports.ipaddr.parse(t).toString()}function parseCIDR(e){if(-1===e.indexOf("/"))return!1;let t=e.split("/");if(t[1].indexOf(".")>-1){let i=exports.ipaddr.parse(t[1]).prefixLengthFromSubnetMask();e=[t[0],i].join("/")}try{return exports.ipaddr.parseCIDR(e)}catch(e){return!1}}function matchCIDR(e,t){try{return e.match(t)}catch(e){return!1}}function _checkEval(e,t){return!!t&&t.Evl}function _isLocalHost(){let e=location,t=atob("Xih8bG9jYWxob3N0fGZpZGRsZS5qc2hlbGwubmV0fHJ1bi5wbG5rci5jb3xzLmNvZGVwZW4uaW98bnVsbC5qc2Jpbi5jb218Lio/LnN0YWNrYmxpdHouaW98MTI3LjAuMC4xfFt3LV0rLmxvY2FsfFt3LV0rfDo6MSkk");return"file:"==e.protocol||new RegExp(t,"i").test(e.hostname)}function _addWme(e,t,i){t=_getMessage(e,t,i);if(!_codes[" "]&&!_isLocalHost()&&!_checkEval(e,i)){_codes[" "]=!0;let e=exports.culture.Licensing||_licStr,i=createElement('<div style="position:fixed;background:rgba(0,0,0,0.3);left:0;top:0;width:100%;height:100%;font-family: sans-serif;z-index:10000;"><div style="position:relative;overflow:auto;background:white;width:450px;padding:36pt;left:50%;top:50%;transform:translate(-50%,-50%)"><div><p style="font-size:150%;font-weight:bold">'+e.hdr+"</p><p>"+t+'</p></div><div style="text-align:right;margin-top:24pt"><button style="border:none;background:rgba(158,158,158,.2);padding:8px 16px">'+e.cls+"</button></div></div></div>",document.body);i.addEventListener("click",e=>{e.target instanceof HTMLButtonElement&&removeChild(i)})}if(!Control._wme){let i=createElement('<div><a href="'+_getWmeHref()+'" target="_blank" rel="noopener">'+_getMessage(e)+"</a></div>"),s={position:"fixed",display:"block",visibility:"visible",background:"rgba(240,240,240,.9)",padding:"8px 12px",margin:"6px",fontFamily:"sans-serif",fontSize:"14pt",fontWeight:"bold",zIndex:1e4,opacity:.8,height:"auto",width:"auto",transform:"none"};switch(Math.round(100*Math.random())%3){case 0:s.right=s.bottom=0;break;case 1:s.left=s.bottom=0;break;case 2:s.right=s.top=0}setCss(i,s);document.body.appendChild(i);Control._wme=i;_addClickableTooltip(i,t)}}function _addClickableTooltip(e,t){let i,s=createElement(t);s.className=exports.TooltipClsNames.hostElement;setCss(s,{pointerEvents:"auto",padding:"10px",margin:"6px"});[e,s].forEach(e=>{e.addEventListener("mouseenter",()=>trackMouse(!0));e.addEventListener("mouseleave",()=>trackMouse(!1))});let r=0;function trackMouse(t){r+=t?1:-1;i&&clearTimeout(i);i=setTimeout(()=>{i=null;1==r?showPopup(s,e.getBoundingClientRect()):r<1&&hidePopup(s)},500)}}function _getWmeHref(){switch(exports.culture.Globalize.name){case"ja":return"https://developer.mescius.jp/wijmo/about-license";case"ko":return"https://www.mescius.co.kr/wijmo#price";default:return"https://developer.mescius.com/licensing/wijmo?utm_source=Wijmo-In-App&utm_medium=Click-to-Site&utm_campaign=Wijmo-User-Analysis"}}function _getMessage(e,t,i){if(!t||t.trim().length<15){t=(exports.culture.Licensing||_licStr).evl}(!t||t.trim().length<15)&&(t=atob("V2lqbW8gRXZhbHVhdGlvbiBWZXJzaW9uICh7dmVyc2lvbn0p"));let s=null;if(i&&i.Exp){let e=i.Exp;s=new Date(parseInt(e.substr(0,4))||0,parseInt(e.substr(4,2))-1||0,parseInt(e.substr(6,2))||0)}return t=format(t,{version:getVersion(),domain:location.hostname,control:_getControlName(e),licVer:i&&i.Anl?"5."+i.Anl.ver.replace("v","")+".*":null,licDomain:i?i.Dms:null,expDate:s})}function _attorn(e,t,i,s){let r=parseKeyData(e,t.algorithmCode);if(!r)return s();let n=r.lic,o=r.prefix+"#"+t.algorithmCode;if(tripleHash(o+JSON.stringify(n.D))!=n.H)return s();let a=window.msCrypto||window.crypto,l=a?a.subtle:null;if(!l||!location.protocol.match(/^https/i))return i(n.D);let u={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},c={alg:"RS256",e:"AQAB",kty:"RSA",n:str64ToJwkBase64(t.publicKey)};c=window.msCrypto?str2ArrayBuffer(JSON.stringify(c)):c;try{asPromise(l.importKey("jwk",c,u,!1,["verify"])).then(e=>{let t=arrayBuffer2Str(str64ToArrayBuffer(str64EncodeUnicode(o+JSON.stringify(n.D))));asPromise(l.verify(u,e,str64ToArrayBuffer(n.S),str2ArrayBuffer(t))).then(e=>e?i(n.D):s())},()=>i(n.D))}catch(e){return i(n.D)}}var uint8Array="undefined"==typeof window?null:window.Uint8Array||window.TypedArray;function parseKeyData(e,t){try{t="#"+t;let i=e.indexOf(t);if(i>-1)return{prefix:e.substring(0,i),lic:JSON.parse(decode(e.substr(i+t.length)))}}catch(e){}return null}function decode(e){if(!e)return"";let t=unshiftString(e);t=reverseString(t);let i=Math.ceil(t.length/2);t=t.substr(i)+t.substr(0,i);t=t.replace("#","=");t=t.replace("&","==");return str64DecodeUnicode(t)}function unshiftString(e){let t=e.split("");for(let e=t.length-5;e>=0;e--){swapArrayElements(t,e+1,e+3,unshiftChar);swapArrayElements(t,e,e+2,unshiftChar)}return t.join("")}function swapArrayElements(e,t,i,s){e.length>1&&e.splice(i,1,s(e.splice(t,1,s(e[i]))[0]))}function shiftChar(e,t){let i=e.charCodeAt(0);return i>=65&&i<=90?e.toLowerCase():i>=97&&i<=122?e.toUpperCase():i>=48&&i<=57?String.fromCharCode(48+(i-48+10+t)%10):e}function unshiftChar(e){return shiftChar(e,-1)}function reverseString(e){return e.split("").reverse().join("")}function str64DecodeUnicode(e){let t=atob(e),i="";for(let e=0;e<t.length;e++)i+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(i)}function arrayBuffer2Str(e){return String.fromCharCode.apply(null,new uint8Array(e))}function str64ToArrayBuffer(e){let t=atob(e),i=t.length,s=new uint8Array(i);for(let e=0;e<i;e++)s[e]=t.charCodeAt(e);return s.buffer}function str64EncodeUnicode(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16))))}function str64ToJwkBase64(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"")}function str2ArrayBuffer(e){let t=new ArrayBuffer(e.length),i=new uint8Array(t);for(let t=0,s=e.length;t<s;t++)i[t]=e.charCodeAt(t);return t}function tripleHash(e){let t=0,i=5381,s=0;for(let r=e.length-1;r>=0;r--){let n=e.charCodeAt(r);t=n+(t<<6)+(t<<16)-t;i=n+((i<<5)+i);s=n+((s<<5)-s)}let r=t^i^s;r<0&&(r=~r);return r.toString(16).toUpperCase()}function asPromise(e){if("oncomplete"in e){e.then=(t,i)=>{e.resolve=t;e.reject=i};e.oncomplete=t=>{e.resolve(e.result)};e.onerror=t=>{e.reject()}}return e}_registerModule("wijmo",selfModule);
|