@finsemble/finsemble-core 6.6.3 → 6.6.4
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/configs/core/config.json +2 -2
- package/dist/configs/core/config.json +2 -2
- package/dist/services/Interop/InteropService.js +1 -1
- package/dist/services/router/routerService.js +1 -1
- package/dist/services/window/windowService.js +1 -1
- package/dist/services/workspace/workspaceService.js +1 -1
- package/dist/services/workspace/workspaceService.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see workspaceService.js.LICENSE.txt */
|
|
2
|
-
(()=>{var e={9996:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function i(e,t,n){return e.concat(t).map((function(e){return r(e,n)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function s(e,t){try{return t in e}catch(e){return!1}}function a(e,n,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=r;var c=Array.isArray(n);return c===Array.isArray(e)?c?l.arrayMerge(e,n,l):function(e,t,n){var i={};return n.isMergeableObject(e)&&o(e).forEach((function(t){i[t]=r(e[t],n)})),o(t).forEach((function(o){(function(e,t){return s(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(s(e,o)&&n.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return a;var n=t.customMerge(e);return"function"==typeof n?n:a}(o,n)(e[o],t[o],n):i[o]=r(t[o],n))})),i}(e,n,l):r(n,l)}a.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return a(e,n,t)}),{})};var l=a;e.exports=l},26729:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n="~";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,r,o,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new i(r,o||e,s),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var e,r,i=[];if(0===this._eventsCount)return i;for(r in e=this._events)t.call(e,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},a.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},a.prototype.emit=function(e,t,r,i,o,s){var a=n?n+e:e;if(!this._events[a])return!1;var l,c,u=this._events[a],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,i),!0;case 5:return u.fn.call(u.context,t,r,i,o),!0;case 6:return u.fn.call(u.context,t,r,i,o,s),!0}for(c=1,l=new Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var f,h=u.length;for(c=0;c<h;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,r);break;case 4:u[c].fn.call(u[c].context,t,r,i);break;default:if(!l)for(f=1,l=new Array(d-1);f<d;f++)l[f-1]=arguments[f];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},a.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},a.prototype.removeListener=function(e,t,r,i){var o=n?n+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||i&&!a.once||r&&a.context!==r||s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==t||i&&!a[l].once||r&&a[l].context!==r)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,e.exports=a},17187:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,r=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,n,r){var i,o,s,c;if(a(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=l(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=u.bind(r);return i.listener=n,r.wrapFn=i,i}function f(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):p(i,i.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function p(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function g(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(o){r.once&&e.removeEventListener(t,i),n(o)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return l(this)},o.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=o[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var c=l.length,u=p(l,c);for(n=0;n<c;++n)r(u[n],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(this,e,t,!0)},o.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,r,i,o,s;if(a(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},74221:(e,t,n)=>{"use strict";function r(e){return Array.isArray?Array.isArray(e):"[object Array]"===c(e)}function i(e){return"string"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e}function a(e){return null!=e}function l(e){return!e.trim().length}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}n.r(t),n.d(t,{default:()=>x});const u=Object.prototype.hasOwnProperty;class d{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let n=f(e);t+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function f(e){let t=null,n=null,o=null,s=1;if(i(e)||r(e))o=e,t=h(e),n=p(e);else{if(!u.call(e,"name"))throw new Error("Missing name property in key");const r=e.name;if(o=r,u.call(e,"weight")&&(s=e.weight,s<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(r));t=h(r),n=p(r)}return{path:t,id:n,weight:s,src:o}}function h(e){return r(e)?e:e.split(".")}function p(e){return r(e)?e.join("."):e}var g={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(e,t){let n=[],l=!1;const u=(e,t,d)=>{if(a(e))if(t[d]){const f=e[t[d]];if(!a(f))return;if(d===t.length-1&&(i(f)||o(f)||function(e){return!0===e||!1===e||function(e){return s(e)&&null!==e}(e)&&"[object Boolean]"==c(e)}(f)))n.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(f));else if(r(f)){l=!0;for(let e=0,n=f.length;e<n;e+=1)u(f[e],t,d+1)}else t.length&&u(f,t,d+1)}else n.push(e)};return u(e,i(t)?t.split("."):t,0),l?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};const m=/[^ ]+/g;class w{constructor({getFn:e=g.getFn,fieldNormWeight:t=g.fieldNormWeight}={}){this.norm=function(e=1,t=3){const n=new Map,r=Math.pow(10,t);return{get(t){const i=t.match(m).length;if(n.has(i))return n.get(i);const o=1/Math.pow(i,.5*e),s=parseFloat(Math.round(o*r)/r);return n.set(i,s),s},clear(){n.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach(((e,t)=>{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,i(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();i(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t<n;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!a(e)||l(e))return;let n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}_addObject(e,t){let n={i:t,$:{}};this.keys.forEach(((t,o)=>{let s=this.getFn(e,t.path);if(a(s))if(r(s)){let e=[];const t=[{nestedArrIndex:-1,value:s}];for(;t.length;){const{nestedArrIndex:n,value:o}=t.pop();if(a(o))if(i(o)&&!l(o)){let t={v:o,i:n,n:this.norm.get(o)};e.push(t)}else r(o)&&o.forEach(((e,n)=>{t.push({nestedArrIndex:n,value:e})}))}n.$[o]=e}else if(!l(s)){let e={v:s,n:this.norm.get(s)};n.$[o]=e}})),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function v(e,t,{getFn:n=g.getFn,fieldNormWeight:r=g.fieldNormWeight}={}){const i=new w({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(f)),i.setSources(t),i.create(),i}function y(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:i=g.distance,ignoreLocation:o=g.ignoreLocation}={}){const s=t/e.length;if(o)return s;const a=Math.abs(r-n);return i?s+a/i:a?1:s}const b=32;function S(e){let t={};for(let n=0,r=e.length;n<r;n+=1){const i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}class C{constructor(e,{location:t=g.location,threshold:n=g.threshold,distance:r=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l},this.pattern=a?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:S(e),startIndex:t})},u=this.pattern.length;if(u>b){let e=0;const t=u%b,n=u-t;for(;e<n;)c(this.pattern.substr(e,b),e),e+=b;if(t){const e=u-b;c(this.pattern.substr(e),e)}}else c(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,includeMatches:n}=this.options;if(t||(e=e.toLowerCase()),this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}const{location:r,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,ignoreLocation:l}=this.options;let c=[],u=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:f,startIndex:h})=>{const{isMatch:p,score:m,indices:w}=function(e,t,n,{location:r=g.location,distance:i=g.distance,threshold:o=g.threshold,findAllMatches:s=g.findAllMatches,minMatchCharLength:a=g.minMatchCharLength,includeMatches:l=g.includeMatches,ignoreLocation:c=g.ignoreLocation}={}){if(t.length>b)throw new Error("Pattern length exceeds max of 32.");const u=t.length,d=e.length,f=Math.max(0,Math.min(r,d));let h=o,p=f;const m=a>1||l,w=m?Array(d):[];let v;for(;(v=e.indexOf(t,p))>-1;){let e=y(t,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:c});if(h=Math.min(e,h),p=v+u,m){let e=0;for(;e<u;)w[v+e]=1,e+=1}}p=-1;let S=[],C=1,_=u+d;const k=1<<u-1;for(let r=0;r<u;r+=1){let o=0,a=_;for(;o<a;)y(t,{errors:r,currentLocation:f+a,expectedLocation:f,distance:i,ignoreLocation:c})<=h?o=a:_=a,a=Math.floor((_-o)/2+o);_=a;let l=Math.max(1,f-a+1),g=s?d:Math.min(f+a,d)+u,v=Array(g+2);v[g+1]=(1<<r)-1;for(let o=g;o>=l;o-=1){let s=o-1,a=n[e.charAt(s)];if(m&&(w[s]=+!!a),v[o]=(v[o+1]<<1|1)&a,r&&(v[o]|=(S[o+1]|S[o])<<1|1|S[o+1]),v[o]&k&&(C=y(t,{errors:r,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:c}),C<=h)){if(h=C,p=s,p<=f)break;l=Math.max(1,2*f-p)}}if(y(t,{errors:r+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>h)break;S=v}const W={isMatch:p>=0,score:Math.max(.001,C)};if(m){const e=function(e=[],t=g.minMatchCharLength){let n=[],r=-1,i=-1,o=0;for(let s=e.length;o<s;o+=1){let s=e[o];s&&-1===r?r=o:s||-1===r||(i=o-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}(w,a);e.length?l&&(W.indices=e):W.isMatch=!1}return W}(e,t,f,{location:r+h,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,includeMatches:n,ignoreLocation:l});p&&(d=!0),u+=m,p&&w&&(c=[...c,...w])}));let f={isMatch:d,score:d?u/this.chunks.length:1};return d&&n&&(f.indices=c),f}}class _{constructor(e){this.pattern=e}static isMultiMatch(e){return k(e,this.multiRegex)}static isSingleMatch(e){return k(e,this.singleRegex)}search(){}}function k(e,t){const n=e.match(t);return n?n[1]:null}class W extends _{constructor(e,{location:t=g.location,threshold:n=g.threshold,distance:r=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){super(e),this._bitapSearch=new C(e,{location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class E extends _{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,n=0;const r=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);const o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}const L=[class extends _{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},E,class extends _{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},W],A=L.length,T=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,O=new Set([W.type,E.type]);const I=[];function R(e,t){for(let n=0,r=I.length;n<r;n+=1){let r=I[n];if(r.condition(e,t))return new r(e,t)}return new C(e,t)}const M="$and",N=e=>!(!e.$and&&!e.$or),D=e=>({[M]:Object.keys(e).map((t=>({[t]:e[t]})))});function P(e,t,{auto:n=!0}={}){const o=e=>{let a=Object.keys(e);const l=(e=>!!e.$path)(e);if(!l&&a.length>1&&!N(e))return o(D(e));if((e=>!r(e)&&s(e)&&!N(e))(e)){const r=l?e.$path:a[0],o=l?e.$val:e[r];if(!i(o))throw new Error((e=>`Invalid value for key ${e}`)(r));const s={keyId:p(r),pattern:o};return n&&(s.searcher=R(o,t)),s}let c={children:[],operator:a[0]};return a.forEach((t=>{const n=e[t];r(n)&&n.forEach((e=>{c.children.push(o(e))}))})),c};return N(e)||(e=D(e)),o(e)}function F(e,t){const n=e.matches;t.matches=[],a(n)&&n.forEach((e=>{if(!a(e.indices)||!e.indices.length)return;const{indices:n,value:r}=e;let i={indices:n,value:r};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)}))}function j(e,t){t.score=e.score}class x{constructor(e,t={},n){this.options={...g,...t},this.options.useExtendedSearch,this._keyStore=new d(this.options.keys),this.setCollection(e,n)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof w))throw new Error("Incorrect 'index' type");this._myIndex=t||v(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){a(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let n=0,r=this._docs.length;n<r;n+=1){const i=this._docs[n];e(i,n)&&(this.removeAt(n),n-=1,r-=1,t.push(i))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){const{includeMatches:n,includeScore:r,shouldSort:s,sortFn:a,ignoreFieldNorm:l}=this.options;let c=i(e)?i(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=g.ignoreFieldNorm}){e.forEach((e=>{let n=1;e.matches.forEach((({key:e,norm:r,score:i})=>{const o=e?e.weight:null;n*=Math.pow(0===i&&o?Number.EPSILON:i,(o||1)*(t?1:r))})),e.score=n}))}(c,{ignoreFieldNorm:l}),s&&c.sort(a),o(t)&&t>-1&&(c=c.slice(0,t)),function(e,t,{includeMatches:n=g.includeMatches,includeScore:r=g.includeScore}={}){const i=[];return n&&i.push(F),r&&i.push(j),e.map((e=>{const{idx:n}=e,r={item:t[n],refIndex:n};return i.length&&i.forEach((t=>{t(e,r)})),r}))}(c,this._docs,{includeMatches:n,includeScore:r})}_searchStringList(e){const t=R(e,this.options),{records:n}=this._myIndex,r=[];return n.forEach((({v:e,i:n,n:i})=>{if(!a(e))return;const{isMatch:o,score:s,indices:l}=t.searchIn(e);o&&r.push({item:e,idx:n,matches:[{score:s,value:e,norm:i,indices:l}]})})),r}_searchLogical(e){const t=P(e,this.options),n=(e,t,r)=>{if(!e.children){const{keyId:n,searcher:i}=e,o=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i});return o&&o.length?[{idx:r,item:t,matches:o}]:[]}const i=[];for(let o=0,s=e.children.length;o<s;o+=1){const s=e.children[o],a=n(s,t,r);if(a.length)i.push(...a);else if(e.operator===M)return[]}return i},r=this._myIndex.records,i={},o=[];return r.forEach((({$:e,i:r})=>{if(a(e)){let s=n(t,e,r);s.length&&(i[r]||(i[r]={idx:r,item:e,matches:[]},o.push(i[r])),s.forEach((({matches:e})=>{i[r].matches.push(...e)})))}})),o}_searchObjectList(e){const t=R(e,this.options),{keys:n,records:r}=this._myIndex,i=[];return r.forEach((({$:e,i:r})=>{if(!a(e))return;let o=[];n.forEach(((n,r)=>{o.push(...this._findMatches({key:n,value:e[r],searcher:t}))})),o.length&&i.push({idx:r,item:e,matches:o})})),i}_findMatches({key:e,value:t,searcher:n}){if(!a(t))return[];let i=[];if(r(t))t.forEach((({v:t,i:r,n:o})=>{if(!a(t))return;const{isMatch:s,score:l,indices:c}=n.searchIn(t);s&&i.push({score:l,key:e,value:t,idx:r,norm:o,indices:c})}));else{const{v:r,n:o}=t,{isMatch:s,score:a,indices:l}=n.searchIn(r);s&&i.push({score:a,key:e,value:r,norm:o,indices:l})}return i}}x.version="6.5.3",x.createIndex=v,x.parseIndex=function(e,{getFn:t=g.getFn,fieldNormWeight:n=g.fieldNormWeight}={}){const{keys:r,records:i}=e,o=new w({getFn:t,fieldNormWeight:n});return o.setKeys(r),o.setIndexRecords(i),o},x.config=g,x.parseQuery=P,function(...e){I.push(...e)}(class{constructor(e,{isCaseSensitive:t=g.isCaseSensitive,includeMatches:n=g.includeMatches,minMatchCharLength:r=g.minMatchCharLength,ignoreLocation:i=g.ignoreLocation,findAllMatches:o=g.findAllMatches,location:s=g.location,threshold:a=g.threshold,distance:l=g.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:n,minMatchCharLength:r,findAllMatches:o,ignoreLocation:i,location:s,threshold:a,distance:l},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let n=e.trim().split(T).filter((e=>e&&!!e.trim())),r=[];for(let e=0,i=n.length;e<i;e+=1){const i=n[e];let o=!1,s=-1;for(;!o&&++s<A;){const e=L[s];let n=e.isMultiMatch(i);n&&(r.push(new e(n,t)),o=!0)}if(!o)for(s=-1;++s<A;){const e=L[s];let n=e.isSingleMatch(i);if(n){r.push(new e(n,t));break}}}return r}))}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:r}=this.options;e=r?e:e.toLowerCase();let i=0,o=[],s=0;for(let r=0,a=t.length;r<a;r+=1){const a=t[r];o.length=0,i=0;for(let t=0,r=a.length;t<r;t+=1){const r=a[t],{isMatch:l,indices:c,score:u}=r.search(e);if(!l){s=0,i=0,o.length=0;break}if(i+=1,s+=u,n){const e=r.constructor.type;O.has(e)?o=[...o,...c]:o.push(c)}}if(i){let e={isMatch:!0,score:s/i};return n&&(e.indices=o),e}}return{isMatch:!1,score:1}}})},18552:(e,t,n)=>{var r=n(10852)(n(55639),"DataView");e.exports=r},1989:(e,t,n)=>{var r=n(51789),i=n(80401),o=n(57667),s=n(21327),a=n(81866);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},38407:(e,t,n)=>{var r=n(27040),i=n(14125),o=n(82117),s=n(67518),a=n(54705);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},57071:(e,t,n)=>{var r=n(10852)(n(55639),"Map");e.exports=r},83369:(e,t,n)=>{var r=n(24785),i=n(11285),o=n(96e3),s=n(49916),a=n(95265);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},53818:(e,t,n)=>{var r=n(10852)(n(55639),"Promise");e.exports=r},58525:(e,t,n)=>{var r=n(10852)(n(55639),"Set");e.exports=r},88668:(e,t,n)=>{var r=n(83369),i=n(90619),o=n(72385);function s(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}s.prototype.add=s.prototype.push=i,s.prototype.has=o,e.exports=s},46384:(e,t,n)=>{var r=n(38407),i=n(37465),o=n(63779),s=n(67599),a=n(44758),l=n(34309);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=a,c.prototype.set=l,e.exports=c},62705:(e,t,n)=>{var r=n(55639).Symbol;e.exports=r},11149:(e,t,n)=>{var r=n(55639).Uint8Array;e.exports=r},70577:(e,t,n)=>{var r=n(10852)(n(55639),"WeakMap");e.exports=r},96874:e=>{e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},77412:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},34963:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}},47443:(e,t,n)=>{var r=n(42118);e.exports=function(e,t){return!(null==e||!e.length)&&r(e,t,0)>-1}},1196:e=>{e.exports=function(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}},14636:(e,t,n)=>{var r=n(22545),i=n(35694),o=n(1469),s=n(44144),a=n(65776),l=n(36719),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=o(e),u=!n&&i(e),d=!n&&!u&&s(e),f=!n&&!u&&!d&&l(e),h=n||u||d||f,p=h?r(e.length,String):[],g=p.length;for(var m in e)!t&&!c.call(e,m)||h&&("length"==m||d&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||a(m,g))||p.push(m);return p}},29932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}},62488:e=>{e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},82908:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},34865:(e,t,n)=>{var r=n(89465),i=n(77813),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var s=e[t];o.call(e,t)&&i(s,n)&&(void 0!==n||t in e)||r(e,t,n)}},18470:(e,t,n)=>{var r=n(77813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},44037:(e,t,n)=>{var r=n(98363),i=n(3674);e.exports=function(e,t){return e&&r(t,i(t),e)}},63886:(e,t,n)=>{var r=n(98363),i=n(81704);e.exports=function(e,t){return e&&r(t,i(t),e)}},89465:(e,t,n)=>{var r=n(38777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},85990:(e,t,n)=>{var r=n(46384),i=n(77412),o=n(34865),s=n(44037),a=n(63886),l=n(64626),c=n(278),u=n(18805),d=n(1911),f=n(58234),h=n(46904),p=n(64160),g=n(43824),m=n(29148),w=n(38517),v=n(1469),y=n(44144),b=n(56688),S=n(13218),C=n(72928),_=n(3674),k=n(81704),W="[object Arguments]",E="[object Function]",L="[object Object]",A={};A[W]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[L]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[E]=A["[object WeakMap]"]=!1,e.exports=function e(t,n,T,O,I,R){var M,N=1&n,D=2&n,P=4&n;if(T&&(M=I?T(t,O,I,R):T(t)),void 0!==M)return M;if(!S(t))return t;var F=v(t);if(F){if(M=g(t),!N)return c(t,M)}else{var j=p(t),x=j==E||"[object GeneratorFunction]"==j;if(y(t))return l(t,N);if(j==L||j==W||x&&!I){if(M=D||x?{}:w(t),!N)return D?d(t,a(M,t)):u(t,s(M,t))}else{if(!A[j])return I?t:{};M=m(t,j,N)}}R||(R=new r);var $=R.get(t);if($)return $;R.set(t,M),C(t)?t.forEach((function(r){M.add(e(r,n,T,r,t,R))})):b(t)&&t.forEach((function(r,i){M.set(i,e(r,n,T,i,t,R))}));var B=F?void 0:(P?D?h:f:D?k:_)(t);return i(B||t,(function(r,i){B&&(r=t[i=r]),o(M,i,e(r,n,T,i,t,R))})),M}},3118:(e,t,n)=>{var r=n(13218),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},20731:(e,t,n)=>{var r=n(88668),i=n(47443),o=n(1196),s=n(29932),a=n(7518),l=n(74757);e.exports=function(e,t,n,c){var u=-1,d=i,f=!0,h=e.length,p=[],g=t.length;if(!h)return p;n&&(t=s(t,a(n))),c?(d=o,f=!1):t.length>=200&&(d=l,f=!1,t=new r(t));e:for(;++u<h;){var m=e[u],w=null==n?m:n(m);if(m=c||0!==m?m:0,f&&w==w){for(var v=g;v--;)if(t[v]===w)continue e;p.push(m)}else d(t,w,c)||p.push(m)}return p}},41848:e=>{e.exports=function(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}},21078:(e,t,n)=>{var r=n(62488),i=n(37285);e.exports=function e(t,n,o,s,a){var l=-1,c=t.length;for(o||(o=i),a||(a=[]);++l<c;){var u=t[l];n>0&&o(u)?n>1?e(u,n-1,o,s,a):r(a,u):s||(a[a.length]=u)}return a}},97786:(e,t,n)=>{var r=n(71811),i=n(40327);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n<o;)e=e[i(t[n++])];return n&&n==o?e:void 0}},68866:(e,t,n)=>{var r=n(62488),i=n(1469);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},44239:(e,t,n)=>{var r=n(62705),i=n(89607),o=n(2333),s=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?i(e):o(e)}},13:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},42118:(e,t,n)=>{var r=n(41848),i=n(62722),o=n(42351);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},9454:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return i(e)&&"[object Arguments]"==r(e)}},90939:(e,t,n)=>{var r=n(2492),i=n(37005);e.exports=function e(t,n,o,s,a){return t===n||(null==t||null==n||!i(t)&&!i(n)?t!=t&&n!=n:r(t,n,o,s,e,a))}},2492:(e,t,n)=>{var r=n(46384),i=n(67114),o=n(18351),s=n(16096),a=n(64160),l=n(1469),c=n(44144),u=n(36719),d="[object Arguments]",f="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,g,m,w){var v=l(e),y=l(t),b=v?f:a(e),S=y?f:a(t),C=(b=b==d?h:b)==h,_=(S=S==d?h:S)==h,k=b==S;if(k&&c(e)){if(!c(t))return!1;v=!0,C=!1}if(k&&!C)return w||(w=new r),v||u(e)?i(e,t,n,g,m,w):o(e,t,b,n,g,m,w);if(!(1&n)){var W=C&&p.call(e,"__wrapped__"),E=_&&p.call(t,"__wrapped__");if(W||E){var L=W?e.value():e,A=E?t.value():t;return w||(w=new r),m(L,A,n,g,w)}}return!!k&&(w||(w=new r),s(e,t,n,g,m,w))}},25588:(e,t,n)=>{var r=n(64160),i=n(37005);e.exports=function(e){return i(e)&&"[object Map]"==r(e)}},62722:e=>{e.exports=function(e){return e!=e}},28458:(e,t,n)=>{var r=n(23560),i=n(15346),o=n(13218),s=n(80346),a=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,f=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?f:a).test(s(e))}},29221:(e,t,n)=>{var r=n(64160),i=n(37005);e.exports=function(e){return i(e)&&"[object Set]"==r(e)}},38749:(e,t,n)=>{var r=n(44239),i=n(41780),o=n(37005),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!s[r(e)]}},280:(e,t,n)=>{var r=n(25726),i=n(86916),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&"constructor"!=n&&t.push(n);return t}},10313:(e,t,n)=>{var r=n(13218),i=n(25726),o=n(33498),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var a in e)("constructor"!=a||!t&&s.call(e,a))&&n.push(a);return n}},25970:(e,t,n)=>{var r=n(63012),i=n(79095);e.exports=function(e,t){return r(e,t,(function(t,n){return i(e,n)}))}},63012:(e,t,n)=>{var r=n(97786),i=n(10611),o=n(71811);e.exports=function(e,t,n){for(var s=-1,a=t.length,l={};++s<a;){var c=t[s],u=r(e,c);n(u,c)&&i(l,o(c,e),u)}return l}},5976:(e,t,n)=>{var r=n(6557),i=n(45357),o=n(30061);e.exports=function(e,t){return o(i(e,t,r),e+"")}},10611:(e,t,n)=>{var r=n(34865),i=n(71811),o=n(65776),s=n(13218),a=n(40327);e.exports=function(e,t,n,l){if(!s(e))return e;for(var c=-1,u=(t=i(t,e)).length,d=u-1,f=e;null!=f&&++c<u;){var h=a(t[c]),p=n;if("__proto__"===h||"constructor"===h||"prototype"===h)return e;if(c!=d){var g=f[h];void 0===(p=l?l(g,h,f):void 0)&&(p=s(g)?g:o(t[c+1])?[]:{})}r(f,h,p),f=f[h]}return e}},56560:(e,t,n)=>{var r=n(75703),i=n(38777),o=n(6557),s=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=s},22545:e=>{e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},80531:(e,t,n)=>{var r=n(62705),i=n(29932),o=n(1469),s=n(33448),a=r?r.prototype:void 0,l=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(s(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},27561:(e,t,n)=>{var r=n(67990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},7518:e=>{e.exports=function(e){return function(t){return e(t)}}},74757:e=>{e.exports=function(e,t){return e.has(t)}},71811:(e,t,n)=>{var r=n(1469),i=n(15403),o=n(55514),s=n(79833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:o(s(e))}},74318:(e,t,n)=>{var r=n(11149);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},64626:(e,t,n)=>{e=n.nmd(e);var r=n(55639),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i?r.Buffer:void 0,a=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=a?a(n):new e.constructor(n);return e.copy(r),r}},57157:(e,t,n)=>{var r=n(74318);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},93147:e=>{var t=/\w*$/;e.exports=function(e){var n=new e.constructor(e.source,t.exec(e));return n.lastIndex=e.lastIndex,n}},40419:(e,t,n)=>{var r=n(62705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},77133:(e,t,n)=>{var r=n(74318);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},98363:(e,t,n)=>{var r=n(34865),i=n(89465);e.exports=function(e,t,n,o){var s=!n;n||(n={});for(var a=-1,l=t.length;++a<l;){var c=t[a],u=o?o(n[c],e[c],c,n,e):void 0;void 0===u&&(u=e[c]),s?i(n,c,u):r(n,c,u)}return n}},18805:(e,t,n)=>{var r=n(98363),i=n(99551);e.exports=function(e,t){return r(e,i(e),t)}},1911:(e,t,n)=>{var r=n(98363),i=n(51442);e.exports=function(e,t){return r(e,i(e),t)}},14429:(e,t,n)=>{var r=n(55639)["__core-js_shared__"];e.exports=r},38777:(e,t,n)=>{var r=n(10852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},67114:(e,t,n)=>{var r=n(88668),i=n(82908),o=n(74757);e.exports=function(e,t,n,s,a,l){var c=1&n,u=e.length,d=t.length;if(u!=d&&!(c&&d>u))return!1;var f=l.get(e),h=l.get(t);if(f&&h)return f==t&&h==e;var p=-1,g=!0,m=2&n?new r:void 0;for(l.set(e,t),l.set(t,e);++p<u;){var w=e[p],v=t[p];if(s)var y=c?s(v,w,p,t,e,l):s(w,v,p,e,t,l);if(void 0!==y){if(y)continue;g=!1;break}if(m){if(!i(t,(function(e,t){if(!o(m,t)&&(w===e||a(w,e,n,s,l)))return m.push(t)}))){g=!1;break}}else if(w!==v&&!a(w,v,n,s,l)){g=!1;break}}return l.delete(e),l.delete(t),g}},18351:(e,t,n)=>{var r=n(62705),i=n(11149),o=n(77813),s=n(67114),a=n(68776),l=n(21814),c=r?r.prototype:void 0,u=c?c.valueOf:void 0;e.exports=function(e,t,n,r,c,d,f){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!d(new i(e),new i(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=a;case"[object Set]":var p=1&r;if(h||(h=l),e.size!=t.size&&!p)return!1;var g=f.get(e);if(g)return g==t;r|=2,f.set(e,t);var m=s(h(e),h(t),r,c,d,f);return f.delete(e),m;case"[object Symbol]":if(u)return u.call(e)==u.call(t)}return!1}},16096:(e,t,n)=>{var r=n(58234),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,o,s,a){var l=1&n,c=r(e),u=c.length;if(u!=r(t).length&&!l)return!1;for(var d=u;d--;){var f=c[d];if(!(l?f in t:i.call(t,f)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var g=!0;a.set(e,t),a.set(t,e);for(var m=l;++d<u;){var w=e[f=c[d]],v=t[f];if(o)var y=l?o(v,w,f,t,e,a):o(w,v,f,e,t,a);if(!(void 0===y?w===v||s(w,v,n,o,a):y)){g=!1;break}m||(m="constructor"==f)}if(g&&!m){var b=e.constructor,S=t.constructor;b==S||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof S&&S instanceof S||(g=!1)}return a.delete(e),a.delete(t),g}},99021:(e,t,n)=>{var r=n(85564),i=n(45357),o=n(30061);e.exports=function(e){return o(i(e,void 0,r),e+"")}},31957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},58234:(e,t,n)=>{var r=n(68866),i=n(99551),o=n(3674);e.exports=function(e){return r(e,o,i)}},46904:(e,t,n)=>{var r=n(68866),i=n(51442),o=n(81704);e.exports=function(e){return r(e,o,i)}},45050:(e,t,n)=>{var r=n(37019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},10852:(e,t,n)=>{var r=n(28458),i=n(47801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},85924:(e,t,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);e.exports=r},89607:(e,t,n)=>{var r=n(62705),i=Object.prototype,o=i.hasOwnProperty,s=i.toString,a=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),n=e[a];try{e[a]=void 0;var r=!0}catch(e){}var i=s.call(e);return r&&(t?e[a]=n:delete e[a]),i}},99551:(e,t,n)=>{var r=n(34963),i=n(70479),o=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(e){return null==e?[]:(e=Object(e),r(s(e),(function(t){return o.call(e,t)})))}:i;e.exports=a},51442:(e,t,n)=>{var r=n(62488),i=n(85924),o=n(99551),s=n(70479),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,o(e)),e=i(e);return t}:s;e.exports=a},64160:(e,t,n)=>{var r=n(18552),i=n(57071),o=n(53818),s=n(58525),a=n(70577),l=n(44239),c=n(80346),u="[object Map]",d="[object Promise]",f="[object Set]",h="[object WeakMap]",p="[object DataView]",g=c(r),m=c(i),w=c(o),v=c(s),y=c(a),b=l;(r&&b(new r(new ArrayBuffer(1)))!=p||i&&b(new i)!=u||o&&b(o.resolve())!=d||s&&b(new s)!=f||a&&b(new a)!=h)&&(b=function(e){var t=l(e),n="[object Object]"==t?e.constructor:void 0,r=n?c(n):"";if(r)switch(r){case g:return p;case m:return u;case w:return d;case v:return f;case y:return h}return t}),e.exports=b},47801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},222:(e,t,n)=>{var r=n(71811),i=n(35694),o=n(1469),s=n(65776),a=n(41780),l=n(40327);e.exports=function(e,t,n){for(var c=-1,u=(t=r(t,e)).length,d=!1;++c<u;){var f=l(t[c]);if(!(d=null!=e&&n(e,f)))break;e=e[f]}return d||++c!=u?d:!!(u=null==e?0:e.length)&&a(u)&&s(f,u)&&(o(e)||i(e))}},51789:(e,t,n)=>{var r=n(94536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},80401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},57667:(e,t,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},21327:(e,t,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},81866:(e,t,n)=>{var r=n(94536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},43824:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var n=e.length,r=new e.constructor(n);return n&&"string"==typeof e[0]&&t.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},29148:(e,t,n)=>{var r=n(74318),i=n(57157),o=n(93147),s=n(40419),a=n(77133);e.exports=function(e,t,n){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return r(e);case"[object Boolean]":case"[object Date]":return new l(+e);case"[object DataView]":return i(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a(e,n);case"[object Map]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return o(e);case"[object Symbol]":return s(e)}}},38517:(e,t,n)=>{var r=n(3118),i=n(85924),o=n(25726);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:r(i(e))}},37285:(e,t,n)=>{var r=n(62705),i=n(35694),o=n(1469),s=r?r.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(s&&e&&e[s])}},65776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e<n}},15403:(e,t,n)=>{var r=n(1469),i=n(33448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}},37019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},15346:(e,t,n)=>{var r,i=n(14429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},25726:e=>{var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===("function"==typeof n&&n.prototype||t)}},27040:e=>{e.exports=function(){this.__data__=[],this.size=0}},14125:(e,t,n)=>{var r=n(18470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},82117:(e,t,n)=>{var r=n(18470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},67518:(e,t,n)=>{var r=n(18470);e.exports=function(e){return r(this.__data__,e)>-1}},54705:(e,t,n)=>{var r=n(18470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},24785:(e,t,n)=>{var r=n(1989),i=n(38407),o=n(57071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},11285:(e,t,n)=>{var r=n(45050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},96e3:(e,t,n)=>{var r=n(45050);e.exports=function(e){return r(this,e).get(e)}},49916:(e,t,n)=>{var r=n(45050);e.exports=function(e){return r(this,e).has(e)}},95265:(e,t,n)=>{var r=n(45050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},68776:e=>{e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},24523:(e,t,n)=>{var r=n(88306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},94536:(e,t,n)=>{var r=n(10852)(Object,"create");e.exports=r},86916:(e,t,n)=>{var r=n(5569)(Object.keys,Object);e.exports=r},33498:e=>{e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},31167:(e,t,n)=>{e=n.nmd(e);var r=n(31957),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i&&r.process,a=function(){try{return o&&o.require&&o.require("util").types||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5569:e=>{e.exports=function(e,t){return function(n){return e(t(n))}}},45357:(e,t,n)=>{var r=n(96874),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,s=-1,a=i(o.length-t,0),l=Array(a);++s<a;)l[s]=o[t+s];s=-1;for(var c=Array(t+1);++s<t;)c[s]=o[s];return c[t]=n(l),r(e,this,c)}}},55639:(e,t,n)=>{var r=n(31957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},90619:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},72385:e=>{e.exports=function(e){return this.__data__.has(e)}},21814:e=>{e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},30061:(e,t,n)=>{var r=n(56560),i=n(21275)(r);e.exports=i},21275:e=>{var t=Date.now;e.exports=function(e){var n=0,r=0;return function(){var i=t(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},37465:(e,t,n)=>{var r=n(38407);e.exports=function(){this.__data__=new r,this.size=0}},63779:e=>{e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},67599:e=>{e.exports=function(e){return this.__data__.get(e)}},44758:e=>{e.exports=function(e){return this.__data__.has(e)}},34309:(e,t,n)=>{var r=n(38407),i=n(57071),o=n(83369);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<199)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(e,t),this.size=n.size,this}},42351:e=>{e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}},55514:(e,t,n)=>{var r=n(24523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,s=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(o,"$1"):n||e)})),t}));e.exports=s},40327:(e,t,n)=>{var r=n(33448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},80346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},67990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},50361:(e,t,n)=>{var r=n(85990);e.exports=function(e){return r(e,5)}},75703:e=>{e.exports=function(e){return function(){return e}}},23279:(e,t,n)=>{var r=n(13218),i=n(7771),o=n(14841),s=Math.max,a=Math.min;e.exports=function(e,t,n){var l,c,u,d,f,h,p=0,g=!1,m=!1,w=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function v(t){var n=l,r=c;return l=c=void 0,p=t,d=e.apply(r,n)}function y(e){return p=e,f=setTimeout(S,t),g?v(e):d}function b(e){var n=e-h;return void 0===h||n>=t||n<0||m&&e-p>=u}function S(){var e=i();if(b(e))return C(e);f=setTimeout(S,function(e){var n=t-(e-h);return m?a(n,u-(e-p)):n}(e))}function C(e){return f=void 0,w&&l?v(e):(l=c=void 0,d)}function _(){var e=i(),n=b(e);if(l=arguments,c=this,h=e,n){if(void 0===f)return y(h);if(m)return clearTimeout(f),f=setTimeout(S,t),v(h)}return void 0===f&&(f=setTimeout(S,t)),d}return t=o(t)||0,r(n)&&(g=!!n.leading,u=(m="maxWait"in n)?s(o(n.maxWait)||0,t):u,w="trailing"in n?!!n.trailing:w),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,l=h=c=f=void 0},_.flush=function(){return void 0===f?d:C(i())},_}},91966:(e,t,n)=>{var r=n(20731),i=n(21078),o=n(5976),s=n(29246),a=o((function(e,t){return s(e)?r(e,i(t,1,s,!0)):[]}));e.exports=a},77813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},85564:(e,t,n)=>{var r=n(21078);e.exports=function(e){return null!=e&&e.length?r(e,1):[]}},27361:(e,t,n)=>{var r=n(97786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},79095:(e,t,n)=>{var r=n(13),i=n(222);e.exports=function(e,t){return null!=e&&i(e,t,r)}},6557:e=>{e.exports=function(e){return e}},35694:(e,t,n)=>{var r=n(9454),i=n(37005),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=l},1469:e=>{var t=Array.isArray;e.exports=t},98612:(e,t,n)=>{var r=n(23560),i=n(41780);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},29246:(e,t,n)=>{var r=n(98612),i=n(37005);e.exports=function(e){return i(e)&&r(e)}},44144:(e,t,n)=>{e=n.nmd(e);var r=n(55639),i=n(95062),o=t&&!t.nodeType&&t,s=o&&e&&!e.nodeType&&e,a=s&&s.exports===o?r.Buffer:void 0,l=(a?a.isBuffer:void 0)||i;e.exports=l},18446:(e,t,n)=>{var r=n(90939);e.exports=function(e,t){return r(e,t)}},28368:(e,t,n)=>{var r=n(90939);e.exports=function(e,t,n){var i=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===i?r(e,t,void 0,n):!!i}},23560:(e,t,n)=>{var r=n(44239),i=n(13218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},41780:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},56688:(e,t,n)=>{var r=n(25588),i=n(7518),o=n(31167),s=o&&o.isMap,a=s?i(s):r;e.exports=a},13218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},37005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},72928:(e,t,n)=>{var r=n(29221),i=n(7518),o=n(31167),s=o&&o.isSet,a=s?i(s):r;e.exports=a},33448:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},36719:(e,t,n)=>{var r=n(38749),i=n(7518),o=n(31167),s=o&&o.isTypedArray,a=s?i(s):r;e.exports=a},3674:(e,t,n)=>{var r=n(14636),i=n(280),o=n(98612);e.exports=function(e){return o(e)?r(e):i(e)}},81704:(e,t,n)=>{var r=n(14636),i=n(10313),o=n(98612);e.exports=function(e){return o(e)?r(e,!0):i(e)}},96486:function(e,t,n){var r;e=n.nmd(e),function(){var i,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",l=32,c=128,u=1/0,d=9007199254740991,f=NaN,h=4294967295,p=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],g="[object Arguments]",m="[object Array]",w="[object Boolean]",v="[object Date]",y="[object Error]",b="[object Function]",S="[object GeneratorFunction]",C="[object Map]",_="[object Number]",k="[object Object]",W="[object Promise]",E="[object RegExp]",L="[object Set]",A="[object String]",T="[object Symbol]",O="[object WeakMap]",I="[object ArrayBuffer]",R="[object DataView]",M="[object Float32Array]",N="[object Float64Array]",D="[object Int8Array]",P="[object Int16Array]",F="[object Int32Array]",j="[object Uint8Array]",x="[object Uint8ClampedArray]",$="[object Uint16Array]",B="[object Uint32Array]",U=/\b__p \+= '';/g,G=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,q=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,z=RegExp(q.source),K=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,J=/<%=([\s\S]+?)%>/g,Z=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ce=/[()=,{}\[\]\/\s]/,ue=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,he=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ge=/^\[object .+?Constructor\]$/,me=/^0o[0-7]+$/i,we=/^(?:0|[1-9]\d*)$/,ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ye=/($^)/,be=/['\n\r\u2028\u2029\\]/g,Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",_e="A-Z\\xc0-\\xd6\\xd8-\\xde",ke="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",We="["+ke+"]",Ee="["+Se+"]",Le="\\d+",Ae="["+Ce+"]",Te="[^\\ud800-\\udfff"+ke+Le+"\\u2700-\\u27bf"+Ce+_e+"]",Oe="\\ud83c[\\udffb-\\udfff]",Ie="[^\\ud800-\\udfff]",Re="(?:\\ud83c[\\udde6-\\uddff]){2}",Me="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+_e+"]",De="(?:"+Ae+"|"+Te+")",Pe="(?:"+Ne+"|"+Te+")",Fe="(?:['’](?:d|ll|m|re|s|t|ve))?",je="(?:['’](?:D|LL|M|RE|S|T|VE))?",xe="(?:"+Ee+"|"+Oe+")?",$e="[\\ufe0e\\ufe0f]?",Be=$e+xe+"(?:\\u200d(?:"+[Ie,Re,Me].join("|")+")"+$e+xe+")*",Ue="(?:"+["[\\u2700-\\u27bf]",Re,Me].join("|")+")"+Be,Ge="(?:"+[Ie+Ee+"?",Ee,Re,Me,"[\\ud800-\\udfff]"].join("|")+")",Ve=RegExp("['’]","g"),qe=RegExp(Ee,"g"),He=RegExp(Oe+"(?="+Oe+")|"+Ge+Be,"g"),ze=RegExp([Ne+"?"+Ae+"+"+Fe+"(?="+[We,Ne,"$"].join("|")+")",Pe+"+"+je+"(?="+[We,Ne+De,"$"].join("|")+")",Ne+"?"+De+"+"+Fe,Ne+"+"+je,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Le,Ue].join("|"),"g"),Ke=RegExp("[\\u200d\\ud800-\\udfff"+Se+"\\ufe0e\\ufe0f]"),Qe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ye=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Je=-1,Ze={};Ze[M]=Ze[N]=Ze[D]=Ze[P]=Ze[F]=Ze[j]=Ze[x]=Ze[$]=Ze[B]=!0,Ze[g]=Ze[m]=Ze[I]=Ze[w]=Ze[R]=Ze[v]=Ze[y]=Ze[b]=Ze[C]=Ze[_]=Ze[k]=Ze[E]=Ze[L]=Ze[A]=Ze[O]=!1;var Xe={};Xe[g]=Xe[m]=Xe[I]=Xe[R]=Xe[w]=Xe[v]=Xe[M]=Xe[N]=Xe[D]=Xe[P]=Xe[F]=Xe[C]=Xe[_]=Xe[k]=Xe[E]=Xe[L]=Xe[A]=Xe[T]=Xe[j]=Xe[x]=Xe[$]=Xe[B]=!0,Xe[y]=Xe[b]=Xe[O]=!1;var et={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},tt=parseFloat,nt=parseInt,rt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,it="object"==typeof self&&self&&self.Object===Object&&self,ot=rt||it||Function("return this")(),st=t&&!t.nodeType&&t,at=st&&e&&!e.nodeType&&e,lt=at&&at.exports===st,ct=lt&&rt.process,ut=function(){try{return at&&at.require&&at.require("util").types||ct&&ct.binding&&ct.binding("util")}catch(e){}}(),dt=ut&&ut.isArrayBuffer,ft=ut&&ut.isDate,ht=ut&&ut.isMap,pt=ut&&ut.isRegExp,gt=ut&&ut.isSet,mt=ut&&ut.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function vt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var s=e[i];t(r,s,n(s),e)}return r}function yt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function bt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function St(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Ct(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}function _t(e,t){return!(null==e||!e.length)&&Mt(e,t,0)>-1}function kt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function Wt(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function Et(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Lt(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function At(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function Tt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Ot=Ft("length");function It(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function Rt(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Mt(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):Rt(e,Dt,n)}function Nt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function Dt(e){return e!=e}function Pt(e,t){var n=null==e?0:e.length;return n?$t(e,t)/n:f}function Ft(e){return function(t){return null==t?i:t[e]}}function jt(e){return function(t){return null==e?i:e[t]}}function xt(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function $t(e,t){for(var n,r=-1,o=e.length;++r<o;){var s=t(e[r]);s!==i&&(n=n===i?s:n+s)}return n}function Bt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Ut(e){return e?e.slice(0,an(e)+1).replace(re,""):e}function Gt(e){return function(t){return e(t)}}function Vt(e,t){return Wt(t,(function(t){return e[t]}))}function qt(e,t){return e.has(t)}function Ht(e,t){for(var n=-1,r=e.length;++n<r&&Mt(t,e[n],0)>-1;);return n}function zt(e,t){for(var n=e.length;n--&&Mt(t,e[n],0)>-1;);return n}function Kt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Qt=jt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Yt=jt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Jt(e){return"\\"+et[e]}function Zt(e){return Ke.test(e)}function Xt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function en(e,t){return function(n){return e(t(n))}}function tn(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n];s!==t&&s!==a||(e[n]=a,o[i++]=n)}return o}function nn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function rn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function on(e){return Zt(e)?function(e){for(var t=He.lastIndex=0;He.test(e);)++t;return t}(e):Ot(e)}function sn(e){return Zt(e)?function(e){return e.match(He)||[]}(e):function(e){return e.split("")}(e)}function an(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var ln=jt({"&":"&","<":"<",">":">",""":'"',"'":"'"}),cn=function e(t){var n,r=(t=null==t?ot:cn.defaults(ot.Object(),t,cn.pick(ot,Ye))).Array,ie=t.Date,Se=t.Error,Ce=t.Function,_e=t.Math,ke=t.Object,We=t.RegExp,Ee=t.String,Le=t.TypeError,Ae=r.prototype,Te=Ce.prototype,Oe=ke.prototype,Ie=t["__core-js_shared__"],Re=Te.toString,Me=Oe.hasOwnProperty,Ne=0,De=(n=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Pe=Oe.toString,Fe=Re.call(ke),je=ot._,xe=We("^"+Re.call(Me).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$e=lt?t.Buffer:i,Be=t.Symbol,Ue=t.Uint8Array,Ge=$e?$e.allocUnsafe:i,He=en(ke.getPrototypeOf,ke),Ke=ke.create,et=Oe.propertyIsEnumerable,rt=Ae.splice,it=Be?Be.isConcatSpreadable:i,st=Be?Be.iterator:i,at=Be?Be.toStringTag:i,ct=function(){try{var e=co(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ut=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,Ot=ie&&ie.now!==ot.Date.now&&ie.now,jt=t.setTimeout!==ot.setTimeout&&t.setTimeout,un=_e.ceil,dn=_e.floor,fn=ke.getOwnPropertySymbols,hn=$e?$e.isBuffer:i,pn=t.isFinite,gn=Ae.join,mn=en(ke.keys,ke),wn=_e.max,vn=_e.min,yn=ie.now,bn=t.parseInt,Sn=_e.random,Cn=Ae.reverse,_n=co(t,"DataView"),kn=co(t,"Map"),Wn=co(t,"Promise"),En=co(t,"Set"),Ln=co(t,"WeakMap"),An=co(ke,"create"),Tn=Ln&&new Ln,On={},In=xo(_n),Rn=xo(kn),Mn=xo(Wn),Nn=xo(En),Dn=xo(Ln),Pn=Be?Be.prototype:i,Fn=Pn?Pn.valueOf:i,jn=Pn?Pn.toString:i;function xn(e){if(na(e)&&!qs(e)&&!(e instanceof Gn)){if(e instanceof Un)return e;if(Me.call(e,"__wrapped__"))return $o(e)}return new Un(e)}var $n=function(){function e(){}return function(t){if(!ta(t))return{};if(Ke)return Ke(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Bn(){}function Un(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Gn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function Vn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function qn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Hn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function zn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Hn;++t<n;)this.add(e[t])}function Kn(e){var t=this.__data__=new qn(e);this.size=t.size}function Qn(e,t){var n=qs(e),r=!n&&Vs(e),i=!n&&!r&&Qs(e),o=!n&&!r&&!i&&ua(e),s=n||r||i||o,a=s?Bt(e.length,Ee):[],l=a.length;for(var c in e)!t&&!Me.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||wo(c,l))||a.push(c);return a}function Yn(e){var t=e.length;return t?e[Hr(0,t-1)]:i}function Jn(e,t){return No(Li(e),sr(t,0,e.length))}function Zn(e){return No(Li(e))}function Xn(e,t,n){(n!==i&&!Bs(e[t],n)||n===i&&!(t in e))&&ir(e,t,n)}function er(e,t,n){var r=e[t];Me.call(e,t)&&Bs(r,n)&&(n!==i||t in e)||ir(e,t,n)}function tr(e,t){for(var n=e.length;n--;)if(Bs(e[n][0],t))return n;return-1}function nr(e,t,n,r){return dr(e,(function(e,i,o){t(r,e,n(e),o)})),r}function rr(e,t){return e&&Ai(t,Ra(t),e)}function ir(e,t,n){"__proto__"==t&&ct?ct(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function or(e,t){for(var n=-1,o=t.length,s=r(o),a=null==e;++n<o;)s[n]=a?i:La(e,t[n]);return s}function sr(e,t,n){return e==e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function ar(e,t,n,r,o,s){var a,l=1&t,c=2&t,u=4&t;if(n&&(a=o?n(e,r,o,s):n(e)),a!==i)return a;if(!ta(e))return e;var d=qs(e);if(d){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Me.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return Li(e,a)}else{var f=ho(e),h=f==b||f==S;if(Qs(e))return Si(e,l);if(f==k||f==g||h&&!o){if(a=c||h?{}:go(e),!l)return c?function(e,t){return Ai(e,fo(e),t)}(e,function(e,t){return e&&Ai(t,Ma(t),e)}(a,e)):function(e,t){return Ai(e,uo(e),t)}(e,rr(a,e))}else{if(!Xe[f])return o?e:{};a=function(e,t,n){var r,i=e.constructor;switch(t){case I:return Ci(e);case w:case v:return new i(+e);case R:return function(e,t){var n=t?Ci(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case M:case N:case D:case P:case F:case j:case x:case $:case B:return _i(e,n);case C:case L:return new i;case _:case A:return new i(e);case E:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case T:return r=e,Fn?ke(Fn.call(r)):{}}}(e,f,l)}}s||(s=new Kn);var p=s.get(e);if(p)return p;s.set(e,a),aa(e)?e.forEach((function(r){a.add(ar(r,t,n,r,e,s))})):ra(e)&&e.forEach((function(r,i){a.set(i,ar(r,t,n,i,e,s))}));var m=d?i:(u?c?no:to:c?Ma:Ra)(e);return yt(m||e,(function(r,i){m&&(r=e[i=r]),er(a,i,ar(r,t,n,i,e,s))})),a}function lr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var o=n[r],s=t[o],a=e[o];if(a===i&&!(o in e)||!s(a))return!1}return!0}function cr(e,t,n){if("function"!=typeof e)throw new Le(o);return Oo((function(){e.apply(i,n)}),t)}function ur(e,t,n,r){var i=-1,o=_t,s=!0,a=e.length,l=[],c=t.length;if(!a)return l;n&&(t=Wt(t,Gt(n))),r?(o=kt,s=!1):t.length>=200&&(o=qt,s=!1,t=new zn(t));e:for(;++i<a;){var u=e[i],d=null==n?u:n(u);if(u=r||0!==u?u:0,s&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;l.push(u)}else o(t,d,r)||l.push(u)}return l}xn.templateSettings={escape:Q,evaluate:Y,interpolate:J,variable:"",imports:{_:xn}},xn.prototype=Bn.prototype,xn.prototype.constructor=xn,Un.prototype=$n(Bn.prototype),Un.prototype.constructor=Un,Gn.prototype=$n(Bn.prototype),Gn.prototype.constructor=Gn,Vn.prototype.clear=function(){this.__data__=An?An(null):{},this.size=0},Vn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Vn.prototype.get=function(e){var t=this.__data__;if(An){var n=t[e];return n===s?i:n}return Me.call(t,e)?t[e]:i},Vn.prototype.has=function(e){var t=this.__data__;return An?t[e]!==i:Me.call(t,e)},Vn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=An&&t===i?s:t,this},qn.prototype.clear=function(){this.__data__=[],this.size=0},qn.prototype.delete=function(e){var t=this.__data__,n=tr(t,e);return!(n<0||(n==t.length-1?t.pop():rt.call(t,n,1),--this.size,0))},qn.prototype.get=function(e){var t=this.__data__,n=tr(t,e);return n<0?i:t[n][1]},qn.prototype.has=function(e){return tr(this.__data__,e)>-1},qn.prototype.set=function(e,t){var n=this.__data__,r=tr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new Vn,map:new(kn||qn),string:new Vn}},Hn.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return ao(this,e).get(e)},Hn.prototype.has=function(e){return ao(this,e).has(e)},Hn.prototype.set=function(e,t){var n=ao(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},zn.prototype.add=zn.prototype.push=function(e){return this.__data__.set(e,s),this},zn.prototype.has=function(e){return this.__data__.has(e)},Kn.prototype.clear=function(){this.__data__=new qn,this.size=0},Kn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Kn.prototype.get=function(e){return this.__data__.get(e)},Kn.prototype.has=function(e){return this.__data__.has(e)},Kn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof qn){var r=n.__data__;if(!kn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(r)}return n.set(e,t),this.size=n.size,this};var dr=Ii(yr),fr=Ii(br,!0);function hr(e,t){var n=!0;return dr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function pr(e,t,n){for(var r=-1,o=e.length;++r<o;){var s=e[r],a=t(s);if(null!=a&&(l===i?a==a&&!ca(a):n(a,l)))var l=a,c=s}return c}function gr(e,t){var n=[];return dr(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function mr(e,t,n,r,i){var o=-1,s=e.length;for(n||(n=mo),i||(i=[]);++o<s;){var a=e[o];t>0&&n(a)?t>1?mr(a,t-1,n,r,i):Et(i,a):r||(i[i.length]=a)}return i}var wr=Ri(),vr=Ri(!0);function yr(e,t){return e&&wr(e,t,Ra)}function br(e,t){return e&&vr(e,t,Ra)}function Sr(e,t){return Ct(t,(function(t){return Zs(e[t])}))}function Cr(e,t){for(var n=0,r=(t=wi(t,e)).length;null!=e&&n<r;)e=e[jo(t[n++])];return n&&n==r?e:i}function _r(e,t,n){var r=t(e);return qs(e)?r:Et(r,n(e))}function kr(e){return null==e?e===i?"[object Undefined]":"[object Null]":at&&at in ke(e)?function(e){var t=Me.call(e,at),n=e[at];try{e[at]=i;var r=!0}catch(e){}var o=Pe.call(e);return r&&(t?e[at]=n:delete e[at]),o}(e):function(e){return Pe.call(e)}(e)}function Wr(e,t){return e>t}function Er(e,t){return null!=e&&Me.call(e,t)}function Lr(e,t){return null!=e&&t in ke(e)}function Ar(e,t,n){for(var o=n?kt:_t,s=e[0].length,a=e.length,l=a,c=r(a),u=1/0,d=[];l--;){var f=e[l];l&&t&&(f=Wt(f,Gt(t))),u=vn(f.length,u),c[l]=!n&&(t||s>=120&&f.length>=120)?new zn(l&&f):i}f=e[0];var h=-1,p=c[0];e:for(;++h<s&&d.length<u;){var g=f[h],m=t?t(g):g;if(g=n||0!==g?g:0,!(p?qt(p,m):o(d,m,n))){for(l=a;--l;){var w=c[l];if(!(w?qt(w,m):o(e[l],m,n)))continue e}p&&p.push(m),d.push(g)}}return d}function Tr(e,t,n){var r=null==(e=Eo(e,t=wi(t,e)))?e:e[jo(Jo(t))];return null==r?i:wt(r,e,n)}function Or(e){return na(e)&&kr(e)==g}function Ir(e,t,n,r,o){return e===t||(null==e||null==t||!na(e)&&!na(t)?e!=e&&t!=t:function(e,t,n,r,o,s){var a=qs(e),l=qs(t),c=a?m:ho(e),u=l?m:ho(t),d=(c=c==g?k:c)==k,f=(u=u==g?k:u)==k,h=c==u;if(h&&Qs(e)){if(!Qs(t))return!1;a=!0,d=!1}if(h&&!d)return s||(s=new Kn),a||ua(e)?Xi(e,t,n,r,o,s):function(e,t,n,r,i,o,s){switch(n){case R:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case I:return!(e.byteLength!=t.byteLength||!o(new Ue(e),new Ue(t)));case w:case v:case _:return Bs(+e,+t);case y:return e.name==t.name&&e.message==t.message;case E:case A:return e==t+"";case C:var a=Xt;case L:var l=1&r;if(a||(a=nn),e.size!=t.size&&!l)return!1;var c=s.get(e);if(c)return c==t;r|=2,s.set(e,t);var u=Xi(a(e),a(t),r,i,o,s);return s.delete(e),u;case T:if(Fn)return Fn.call(e)==Fn.call(t)}return!1}(e,t,c,n,r,o,s);if(!(1&n)){var p=d&&Me.call(e,"__wrapped__"),b=f&&Me.call(t,"__wrapped__");if(p||b){var S=p?e.value():e,W=b?t.value():t;return s||(s=new Kn),o(S,W,n,r,s)}}return!!h&&(s||(s=new Kn),function(e,t,n,r,o,s){var a=1&n,l=to(e),c=l.length;if(c!=to(t).length&&!a)return!1;for(var u=c;u--;){var d=l[u];if(!(a?d in t:Me.call(t,d)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var p=!0;s.set(e,t),s.set(t,e);for(var g=a;++u<c;){var m=e[d=l[u]],w=t[d];if(r)var v=a?r(w,m,d,t,e,s):r(m,w,d,e,t,s);if(!(v===i?m===w||o(m,w,n,r,s):v)){p=!1;break}g||(g="constructor"==d)}if(p&&!g){var y=e.constructor,b=t.constructor;y==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b||(p=!1)}return s.delete(e),s.delete(t),p}(e,t,n,r,o,s))}(e,t,n,r,Ir,o))}function Rr(e,t,n,r){var o=n.length,s=o,a=!r;if(null==e)return!s;for(e=ke(e);o--;){var l=n[o];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<s;){var c=(l=n[o])[0],u=e[c],d=l[1];if(a&&l[2]){if(u===i&&!(c in e))return!1}else{var f=new Kn;if(r)var h=r(u,d,c,e,t,f);if(!(h===i?Ir(d,u,3,r,f):h))return!1}}return!0}function Mr(e){return!(!ta(e)||(t=e,De&&De in t))&&(Zs(e)?xe:ge).test(xo(e));var t}function Nr(e){return"function"==typeof e?e:null==e?il:"object"==typeof e?qs(e)?xr(e[0],e[1]):jr(e):hl(e)}function Dr(e){if(!Co(e))return mn(e);var t=[];for(var n in ke(e))Me.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Pr(e,t){return e<t}function Fr(e,t){var n=-1,i=zs(e)?r(e.length):[];return dr(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function jr(e){var t=lo(e);return 1==t.length&&t[0][2]?ko(t[0][0],t[0][1]):function(n){return n===e||Rr(n,e,t)}}function xr(e,t){return yo(e)&&_o(t)?ko(jo(e),t):function(n){var r=La(n,e);return r===i&&r===t?Aa(n,e):Ir(t,r,3)}}function $r(e,t,n,r,o){e!==t&&wr(t,(function(s,a){if(o||(o=new Kn),ta(s))!function(e,t,n,r,o,s,a){var l=Ao(e,n),c=Ao(t,n),u=a.get(c);if(u)Xn(e,n,u);else{var d=s?s(l,c,n+"",e,t,a):i,f=d===i;if(f){var h=qs(c),p=!h&&Qs(c),g=!h&&!p&&ua(c);d=c,h||p||g?qs(l)?d=l:Ks(l)?d=Li(l):p?(f=!1,d=Si(c,!0)):g?(f=!1,d=_i(c,!0)):d=[]:oa(c)||Vs(c)?(d=l,Vs(l)?d=va(l):ta(l)&&!Zs(l)||(d=go(c))):f=!1}f&&(a.set(c,d),o(d,c,r,s,a),a.delete(c)),Xn(e,n,d)}}(e,t,a,n,$r,r,o);else{var l=r?r(Ao(e,a),s,a+"",e,t,o):i;l===i&&(l=s),Xn(e,a,l)}}),Ma)}function Br(e,t){var n=e.length;if(n)return wo(t+=t<0?n:0,n)?e[t]:i}function Ur(e,t,n){t=t.length?Wt(t,(function(e){return qs(e)?function(t){return Cr(t,1===e.length?e[0]:e)}:e})):[il];var r=-1;t=Wt(t,Gt(so()));var i=Fr(e,(function(e,n,i){var o=Wt(t,(function(t){return t(e)}));return{criteria:o,index:++r,value:e}}));return function(e,t){var r=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var r=-1,i=e.criteria,o=t.criteria,s=i.length,a=n.length;++r<s;){var l=ki(i[r],o[r]);if(l)return r>=a?l:l*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function Gr(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var s=t[r],a=Cr(e,s);n(a,s)&&Jr(o,wi(s,e),a)}return o}function Vr(e,t,n,r){var i=r?Nt:Mt,o=-1,s=t.length,a=e;for(e===t&&(t=Li(t)),n&&(a=Wt(e,Gt(n)));++o<s;)for(var l=0,c=t[o],u=n?n(c):c;(l=i(a,u,l,r))>-1;)a!==e&&rt.call(a,l,1),rt.call(e,l,1);return e}function qr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;wo(i)?rt.call(e,i,1):ci(e,i)}}return e}function Hr(e,t){return e+dn(Sn()*(t-e+1))}function zr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=dn(t/2))&&(e+=e)}while(t);return n}function Kr(e,t){return Io(Wo(e,t,il),e+"")}function Qr(e){return Yn(Ba(e))}function Yr(e,t){var n=Ba(e);return No(n,sr(t,0,n.length))}function Jr(e,t,n,r){if(!ta(e))return e;for(var o=-1,s=(t=wi(t,e)).length,a=s-1,l=e;null!=l&&++o<s;){var c=jo(t[o]),u=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(o!=a){var d=l[c];(u=r?r(d,c,l):i)===i&&(u=ta(d)?d:wo(t[o+1])?[]:{})}er(l,c,u),l=l[c]}return e}var Zr=Tn?function(e,t){return Tn.set(e,t),e}:il,Xr=ct?function(e,t){return ct(e,"toString",{configurable:!0,enumerable:!1,value:tl(t),writable:!0})}:il;function ei(e){return No(Ba(e))}function ti(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=r(o);++i<o;)s[i]=e[i+t];return s}function ni(e,t){var n;return dr(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function ri(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,s=e[o];null!==s&&!ca(s)&&(n?s<=t:s<t)?r=o+1:i=o}return i}return ii(e,t,il,n)}function ii(e,t,n,r){var o=0,s=null==e?0:e.length;if(0===s)return 0;for(var a=(t=n(t))!=t,l=null===t,c=ca(t),u=t===i;o<s;){var d=dn((o+s)/2),f=n(e[d]),h=f!==i,p=null===f,g=f==f,m=ca(f);if(a)var w=r||g;else w=u?g&&(r||h):l?g&&h&&(r||!p):c?g&&h&&!p&&(r||!m):!p&&!m&&(r?f<=t:f<t);w?o=d+1:s=d}return vn(s,4294967294)}function oi(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n],a=t?t(s):s;if(!n||!Bs(a,l)){var l=a;o[i++]=0===s?0:s}}return o}function si(e){return"number"==typeof e?e:ca(e)?f:+e}function ai(e){if("string"==typeof e)return e;if(qs(e))return Wt(e,ai)+"";if(ca(e))return jn?jn.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function li(e,t,n){var r=-1,i=_t,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=kt;else if(o>=200){var c=t?null:zi(e);if(c)return nn(c);s=!1,i=qt,l=new zn}else l=t?[]:a;e:for(;++r<o;){var u=e[r],d=t?t(u):u;if(u=n||0!==u?u:0,s&&d==d){for(var f=l.length;f--;)if(l[f]===d)continue e;t&&l.push(d),a.push(u)}else i(l,d,n)||(l!==a&&l.push(d),a.push(u))}return a}function ci(e,t){return null==(e=Eo(e,t=wi(t,e)))||delete e[jo(Jo(t))]}function ui(e,t,n,r){return Jr(e,t,n(Cr(e,t)),r)}function di(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?ti(e,r?0:o,r?o+1:i):ti(e,r?o+1:0,r?i:o)}function fi(e,t){var n=e;return n instanceof Gn&&(n=n.value()),Lt(t,(function(e,t){return t.func.apply(t.thisArg,Et([e],t.args))}),n)}function hi(e,t,n){var i=e.length;if(i<2)return i?li(e[0]):[];for(var o=-1,s=r(i);++o<i;)for(var a=e[o],l=-1;++l<i;)l!=o&&(s[o]=ur(s[o]||a,e[l],t,n));return li(mr(s,1),t,n)}function pi(e,t,n){for(var r=-1,o=e.length,s=t.length,a={};++r<o;){var l=r<s?t[r]:i;n(a,e[r],l)}return a}function gi(e){return Ks(e)?e:[]}function mi(e){return"function"==typeof e?e:il}function wi(e,t){return qs(e)?e:yo(e,t)?[e]:Fo(ya(e))}var vi=Kr;function yi(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:ti(e,t,n)}var bi=ut||function(e){return ot.clearTimeout(e)};function Si(e,t){if(t)return e.slice();var n=e.length,r=Ge?Ge(n):new e.constructor(n);return e.copy(r),r}function Ci(e){var t=new e.constructor(e.byteLength);return new Ue(t).set(new Ue(e)),t}function _i(e,t){var n=t?Ci(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function ki(e,t){if(e!==t){var n=e!==i,r=null===e,o=e==e,s=ca(e),a=t!==i,l=null===t,c=t==t,u=ca(t);if(!l&&!u&&!s&&e>t||s&&a&&c&&!l&&!u||r&&a&&c||!n&&c||!o)return 1;if(!r&&!s&&!u&&e<t||u&&n&&o&&!r&&!s||l&&n&&o||!a&&o||!c)return-1}return 0}function Wi(e,t,n,i){for(var o=-1,s=e.length,a=n.length,l=-1,c=t.length,u=wn(s-a,0),d=r(c+u),f=!i;++l<c;)d[l]=t[l];for(;++o<a;)(f||o<s)&&(d[n[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function Ei(e,t,n,i){for(var o=-1,s=e.length,a=-1,l=n.length,c=-1,u=t.length,d=wn(s-l,0),f=r(d+u),h=!i;++o<d;)f[o]=e[o];for(var p=o;++c<u;)f[p+c]=t[c];for(;++a<l;)(h||o<s)&&(f[p+n[a]]=e[o++]);return f}function Li(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function Ai(e,t,n,r){var o=!n;n||(n={});for(var s=-1,a=t.length;++s<a;){var l=t[s],c=r?r(n[l],e[l],l,n,e):i;c===i&&(c=e[l]),o?ir(n,l,c):er(n,l,c)}return n}function Ti(e,t){return function(n,r){var i=qs(n)?vt:nr,o=t?t():{};return i(n,e,so(r,2),o)}}function Oi(e){return Kr((function(t,n){var r=-1,o=n.length,s=o>1?n[o-1]:i,a=o>2?n[2]:i;for(s=e.length>3&&"function"==typeof s?(o--,s):i,a&&vo(n[0],n[1],a)&&(s=o<3?i:s,o=1),t=ke(t);++r<o;){var l=n[r];l&&e(t,l,r,s)}return t}))}function Ii(e,t){return function(n,r){if(null==n)return n;if(!zs(n))return e(n,r);for(var i=n.length,o=t?i:-1,s=ke(n);(t?o--:++o<i)&&!1!==r(s[o],o,s););return n}}function Ri(e){return function(t,n,r){for(var i=-1,o=ke(t),s=r(t),a=s.length;a--;){var l=s[e?a:++i];if(!1===n(o[l],l,o))break}return t}}function Mi(e){return function(t){var n=Zt(t=ya(t))?sn(t):i,r=n?n[0]:t.charAt(0),o=n?yi(n,1).join(""):t.slice(1);return r[e]()+o}}function Ni(e){return function(t){return Lt(Za(Va(t).replace(Ve,"")),e,"")}}function Di(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=$n(e.prototype),r=e.apply(n,t);return ta(r)?r:n}}function Pi(e){return function(t,n,r){var o=ke(t);if(!zs(t)){var s=so(n,3);t=Ra(t),n=function(e){return s(o[e],e,o)}}var a=e(t,n,r);return a>-1?o[s?t[a]:a]:i}}function Fi(e){return eo((function(t){var n=t.length,r=n,s=Un.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new Le(o);if(s&&!l&&"wrapper"==io(a))var l=new Un([],!0)}for(r=l?r:n;++r<n;){var c=io(a=t[r]),u="wrapper"==c?ro(a):i;l=u&&bo(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[io(u[0])].apply(l,u[3]):1==a.length&&bo(a)?l[c]():l.thru(a)}return function(){var e=arguments,r=e[0];if(l&&1==e.length&&qs(r))return l.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function ji(e,t,n,o,s,a,l,u,d,f){var h=t&c,p=1&t,g=2&t,m=24&t,w=512&t,v=g?i:Di(e);return function i(){for(var c=arguments.length,y=r(c),b=c;b--;)y[b]=arguments[b];if(m)var S=oo(i),C=Kt(y,S);if(o&&(y=Wi(y,o,s,m)),a&&(y=Ei(y,a,l,m)),c-=C,m&&c<f){var _=tn(y,S);return qi(e,t,ji,i.placeholder,n,y,_,u,d,f-c)}var k=p?n:this,W=g?k[e]:e;return c=y.length,u?y=Lo(y,u):w&&c>1&&y.reverse(),h&&d<c&&(y.length=d),this&&this!==ot&&this instanceof i&&(W=v||Di(W)),W.apply(k,y)}}function xi(e,t){return function(n,r){return function(e,t,n,r){return yr(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function $i(e,t){return function(n,r){var o;if(n===i&&r===i)return t;if(n!==i&&(o=n),r!==i){if(o===i)return r;"string"==typeof n||"string"==typeof r?(n=ai(n),r=ai(r)):(n=si(n),r=si(r)),o=e(n,r)}return o}}function Bi(e){return eo((function(t){return t=Wt(t,Gt(so())),Kr((function(n){var r=this;return e(t,(function(e){return wt(e,r,n)}))}))}))}function Ui(e,t){var n=(t=t===i?" ":ai(t)).length;if(n<2)return n?zr(t,e):t;var r=zr(t,un(e/on(t)));return Zt(t)?yi(sn(r),0,e).join(""):r.slice(0,e)}function Gi(e){return function(t,n,o){return o&&"number"!=typeof o&&vo(t,n,o)&&(n=o=i),t=pa(t),n===i?(n=t,t=0):n=pa(n),function(e,t,n,i){for(var o=-1,s=wn(un((t-e)/(n||1)),0),a=r(s);s--;)a[i?s:++o]=e,e+=n;return a}(t,n,o=o===i?t<n?1:-1:pa(o),e)}}function Vi(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=wa(t),n=wa(n)),e(t,n)}}function qi(e,t,n,r,o,s,a,c,u,d){var f=8&t;t|=f?l:64,4&(t&=~(f?64:l))||(t&=-4);var h=[e,t,o,f?s:i,f?a:i,f?i:s,f?i:a,c,u,d],p=n.apply(i,h);return bo(e)&&To(p,h),p.placeholder=r,Ro(p,e,t)}function Hi(e){var t=_e[e];return function(e,n){if(e=wa(e),(n=null==n?0:vn(ga(n),292))&&pn(e)){var r=(ya(e)+"e").split("e");return+((r=(ya(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var zi=En&&1/nn(new En([,-0]))[1]==u?function(e){return new En(e)}:cl;function Ki(e){return function(t){var n=ho(t);return n==C?Xt(t):n==L?rn(t):function(e,t){return Wt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Qi(e,t,n,s,u,d,f,h){var p=2&t;if(!p&&"function"!=typeof e)throw new Le(o);var g=s?s.length:0;if(g||(t&=-97,s=u=i),f=f===i?f:wn(ga(f),0),h=h===i?h:ga(h),g-=u?u.length:0,64&t){var m=s,w=u;s=u=i}var v=p?i:ro(e),y=[e,t,n,s,u,m,w,d,f,h];if(v&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,s=r==c&&8==n||r==c&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!s)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var l=t[3];if(l){var u=e[3];e[3]=u?Wi(u,l,t[4]):l,e[4]=u?tn(e[3],a):t[4]}(l=t[5])&&(u=e[5],e[5]=u?Ei(u,l,t[6]):l,e[6]=u?tn(e[5],a):t[6]),(l=t[7])&&(e[7]=l),r&c&&(e[8]=null==e[8]?t[8]:vn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(y,v),e=y[0],t=y[1],n=y[2],s=y[3],u=y[4],!(h=y[9]=y[9]===i?p?0:e.length:wn(y[9]-g,0))&&24&t&&(t&=-25),t&&1!=t)b=8==t||16==t?function(e,t,n){var o=Di(e);return function s(){for(var a=arguments.length,l=r(a),c=a,u=oo(s);c--;)l[c]=arguments[c];var d=a<3&&l[0]!==u&&l[a-1]!==u?[]:tn(l,u);return(a-=d.length)<n?qi(e,t,ji,s.placeholder,i,l,d,i,i,n-a):wt(this&&this!==ot&&this instanceof s?o:e,this,l)}}(e,t,h):t!=l&&33!=t||u.length?ji.apply(i,y):function(e,t,n,i){var o=1&t,s=Di(e);return function t(){for(var a=-1,l=arguments.length,c=-1,u=i.length,d=r(u+l),f=this&&this!==ot&&this instanceof t?s:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=arguments[++a];return wt(f,o?n:this,d)}}(e,t,n,s);else var b=function(e,t,n){var r=1&t,i=Di(e);return function t(){return(this&&this!==ot&&this instanceof t?i:e).apply(r?n:this,arguments)}}(e,t,n);return Ro((v?Zr:To)(b,y),e,t)}function Yi(e,t,n,r){return e===i||Bs(e,Oe[n])&&!Me.call(r,n)?t:e}function Ji(e,t,n,r,o,s){return ta(e)&&ta(t)&&(s.set(t,e),$r(e,t,i,Ji,s),s.delete(t)),e}function Zi(e){return oa(e)?i:e}function Xi(e,t,n,r,o,s){var a=1&n,l=e.length,c=t.length;if(l!=c&&!(a&&c>l))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,h=!0,p=2&n?new zn:i;for(s.set(e,t),s.set(t,e);++f<l;){var g=e[f],m=t[f];if(r)var w=a?r(m,g,f,t,e,s):r(g,m,f,e,t,s);if(w!==i){if(w)continue;h=!1;break}if(p){if(!Tt(t,(function(e,t){if(!qt(p,t)&&(g===e||o(g,e,n,r,s)))return p.push(t)}))){h=!1;break}}else if(g!==m&&!o(g,m,n,r,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function eo(e){return Io(Wo(e,i,Ho),e+"")}function to(e){return _r(e,Ra,uo)}function no(e){return _r(e,Ma,fo)}var ro=Tn?function(e){return Tn.get(e)}:cl;function io(e){for(var t=e.name+"",n=On[t],r=Me.call(On,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function oo(e){return(Me.call(xn,"placeholder")?xn:e).placeholder}function so(){var e=xn.iteratee||ol;return e=e===ol?Nr:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function lo(e){for(var t=Ra(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,_o(i)]}return t}function co(e,t){var n=function(e,t){return null==e?i:e[t]}(e,t);return Mr(n)?n:i}var uo=fn?function(e){return null==e?[]:(e=ke(e),Ct(fn(e),(function(t){return et.call(e,t)})))}:ml,fo=fn?function(e){for(var t=[];e;)Et(t,uo(e)),e=He(e);return t}:ml,ho=kr;function po(e,t,n){for(var r=-1,i=(t=wi(t,e)).length,o=!1;++r<i;){var s=jo(t[r]);if(!(o=null!=e&&n(e,s)))break;e=e[s]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&ea(i)&&wo(s,i)&&(qs(e)||Vs(e))}function go(e){return"function"!=typeof e.constructor||Co(e)?{}:$n(He(e))}function mo(e){return qs(e)||Vs(e)||!!(it&&e&&e[it])}function wo(e,t){var n=typeof e;return!!(t=null==t?d:t)&&("number"==n||"symbol"!=n&&we.test(e))&&e>-1&&e%1==0&&e<t}function vo(e,t,n){if(!ta(n))return!1;var r=typeof t;return!!("number"==r?zs(n)&&wo(t,n.length):"string"==r&&t in n)&&Bs(n[t],e)}function yo(e,t){if(qs(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ca(e))||X.test(e)||!Z.test(e)||null!=t&&e in ke(t)}function bo(e){var t=io(e),n=xn[t];if("function"!=typeof n||!(t in Gn.prototype))return!1;if(e===n)return!0;var r=ro(n);return!!r&&e===r[0]}(_n&&ho(new _n(new ArrayBuffer(1)))!=R||kn&&ho(new kn)!=C||Wn&&ho(Wn.resolve())!=W||En&&ho(new En)!=L||Ln&&ho(new Ln)!=O)&&(ho=function(e){var t=kr(e),n=t==k?e.constructor:i,r=n?xo(n):"";if(r)switch(r){case In:return R;case Rn:return C;case Mn:return W;case Nn:return L;case Dn:return O}return t});var So=Ie?Zs:wl;function Co(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Oe)}function _o(e){return e==e&&!ta(e)}function ko(e,t){return function(n){return null!=n&&n[e]===t&&(t!==i||e in ke(n))}}function Wo(e,t,n){return t=wn(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,s=wn(i.length-t,0),a=r(s);++o<s;)a[o]=i[t+o];o=-1;for(var l=r(t+1);++o<t;)l[o]=i[o];return l[t]=n(a),wt(e,this,l)}}function Eo(e,t){return t.length<2?e:Cr(e,ti(t,0,-1))}function Lo(e,t){for(var n=e.length,r=vn(t.length,n),o=Li(e);r--;){var s=t[r];e[r]=wo(s,n)?o[s]:i}return e}function Ao(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var To=Mo(Zr),Oo=jt||function(e,t){return ot.setTimeout(e,t)},Io=Mo(Xr);function Ro(e,t,n){var r=t+"";return Io(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return yt(p,(function(n){var r="_."+n[0];t&n[1]&&!_t(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(r),n)))}function Mo(e){var t=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function No(e,t){var n=-1,r=e.length,o=r-1;for(t=t===i?r:t;++n<t;){var s=Hr(n,o),a=e[s];e[s]=e[n],e[n]=a}return e.length=t,e}var Do,Po,Fo=(Do=Ds((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,n,r,i){t.push(r?i.replace(ue,"$1"):n||e)})),t}),(function(e){return 500===Po.size&&Po.clear(),e})),Po=Do.cache,Do);function jo(e){if("string"==typeof e||ca(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function xo(e){if(null!=e){try{return Re.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function $o(e){if(e instanceof Gn)return e.clone();var t=new Un(e.__wrapped__,e.__chain__);return t.__actions__=Li(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Bo=Kr((function(e,t){return Ks(e)?ur(e,mr(t,1,Ks,!0)):[]})),Uo=Kr((function(e,t){var n=Jo(t);return Ks(n)&&(n=i),Ks(e)?ur(e,mr(t,1,Ks,!0),so(n,2)):[]})),Go=Kr((function(e,t){var n=Jo(t);return Ks(n)&&(n=i),Ks(e)?ur(e,mr(t,1,Ks,!0),i,n):[]}));function Vo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ga(n);return i<0&&(i=wn(r+i,0)),Rt(e,so(t,3),i)}function qo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==i&&(o=ga(n),o=n<0?wn(r+o,0):vn(o,r-1)),Rt(e,so(t,3),o,!0)}function Ho(e){return null!=e&&e.length?mr(e,1):[]}function zo(e){return e&&e.length?e[0]:i}var Ko=Kr((function(e){var t=Wt(e,gi);return t.length&&t[0]===e[0]?Ar(t):[]})),Qo=Kr((function(e){var t=Jo(e),n=Wt(e,gi);return t===Jo(n)?t=i:n.pop(),n.length&&n[0]===e[0]?Ar(n,so(t,2)):[]})),Yo=Kr((function(e){var t=Jo(e),n=Wt(e,gi);return(t="function"==typeof t?t:i)&&n.pop(),n.length&&n[0]===e[0]?Ar(n,i,t):[]}));function Jo(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Zo=Kr(Xo);function Xo(e,t){return e&&e.length&&t&&t.length?Vr(e,t):e}var es=eo((function(e,t){var n=null==e?0:e.length,r=or(e,t);return qr(e,Wt(t,(function(e){return wo(e,n)?+e:e})).sort(ki)),r}));function ts(e){return null==e?e:Cn.call(e)}var ns=Kr((function(e){return li(mr(e,1,Ks,!0))})),rs=Kr((function(e){var t=Jo(e);return Ks(t)&&(t=i),li(mr(e,1,Ks,!0),so(t,2))})),is=Kr((function(e){var t=Jo(e);return t="function"==typeof t?t:i,li(mr(e,1,Ks,!0),i,t)}));function os(e){if(!e||!e.length)return[];var t=0;return e=Ct(e,(function(e){if(Ks(e))return t=wn(e.length,t),!0})),Bt(t,(function(t){return Wt(e,Ft(t))}))}function ss(e,t){if(!e||!e.length)return[];var n=os(e);return null==t?n:Wt(n,(function(e){return wt(t,i,e)}))}var as=Kr((function(e,t){return Ks(e)?ur(e,t):[]})),ls=Kr((function(e){return hi(Ct(e,Ks))})),cs=Kr((function(e){var t=Jo(e);return Ks(t)&&(t=i),hi(Ct(e,Ks),so(t,2))})),us=Kr((function(e){var t=Jo(e);return t="function"==typeof t?t:i,hi(Ct(e,Ks),i,t)})),ds=Kr(os),fs=Kr((function(e){var t=e.length,n=t>1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ss(e,n)}));function hs(e){var t=xn(e);return t.__chain__=!0,t}function ps(e,t){return t(e)}var gs=eo((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return or(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Gn&&wo(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ps,args:[o],thisArg:i}),new Un(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ms=Ti((function(e,t,n){Me.call(e,n)?++e[n]:ir(e,n,1)})),ws=Pi(Vo),vs=Pi(qo);function ys(e,t){return(qs(e)?yt:dr)(e,so(t,3))}function bs(e,t){return(qs(e)?bt:fr)(e,so(t,3))}var Ss=Ti((function(e,t,n){Me.call(e,n)?e[n].push(t):ir(e,n,[t])})),Cs=Kr((function(e,t,n){var i=-1,o="function"==typeof t,s=zs(e)?r(e.length):[];return dr(e,(function(e){s[++i]=o?wt(t,e,n):Tr(e,t,n)})),s})),_s=Ti((function(e,t,n){ir(e,n,t)}));function ks(e,t){return(qs(e)?Wt:Fr)(e,so(t,3))}var Ws=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),Es=Kr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&vo(e,t[0],t[1])?t=[]:n>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Ur(e,mr(t,1),[])})),Ls=Ot||function(){return ot.Date.now()};function As(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Qi(e,c,i,i,i,i,t)}function Ts(e,t){var n;if("function"!=typeof t)throw new Le(o);return e=ga(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Os=Kr((function(e,t,n){var r=1;if(n.length){var i=tn(n,oo(Os));r|=l}return Qi(e,r,t,n,i)})),Is=Kr((function(e,t,n){var r=3;if(n.length){var i=tn(n,oo(Is));r|=l}return Qi(t,r,e,n,i)}));function Rs(e,t,n){var r,s,a,l,c,u,d=0,f=!1,h=!1,p=!0;if("function"!=typeof e)throw new Le(o);function g(t){var n=r,o=s;return r=s=i,d=t,l=e.apply(o,n)}function m(e){return d=e,c=Oo(v,t),f?g(e):l}function w(e){var n=e-u;return u===i||n>=t||n<0||h&&e-d>=a}function v(){var e=Ls();if(w(e))return y(e);c=Oo(v,function(e){var n=t-(e-u);return h?vn(n,a-(e-d)):n}(e))}function y(e){return c=i,p&&r?g(e):(r=s=i,l)}function b(){var e=Ls(),n=w(e);if(r=arguments,s=this,u=e,n){if(c===i)return m(u);if(h)return bi(c),c=Oo(v,t),g(u)}return c===i&&(c=Oo(v,t)),l}return t=wa(t)||0,ta(n)&&(f=!!n.leading,a=(h="maxWait"in n)?wn(wa(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),b.cancel=function(){c!==i&&bi(c),d=0,r=u=s=c=i},b.flush=function(){return c===i?l:y(Ls())},b}var Ms=Kr((function(e,t){return cr(e,1,t)})),Ns=Kr((function(e,t,n){return cr(e,wa(t)||0,n)}));function Ds(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Le(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(Ds.Cache||Hn),n}function Ps(e){if("function"!=typeof e)throw new Le(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ds.Cache=Hn;var Fs=vi((function(e,t){var n=(t=1==t.length&&qs(t[0])?Wt(t[0],Gt(so())):Wt(mr(t,1),Gt(so()))).length;return Kr((function(r){for(var i=-1,o=vn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return wt(e,this,r)}))})),js=Kr((function(e,t){var n=tn(t,oo(js));return Qi(e,l,i,t,n)})),xs=Kr((function(e,t){var n=tn(t,oo(xs));return Qi(e,64,i,t,n)})),$s=eo((function(e,t){return Qi(e,256,i,i,i,t)}));function Bs(e,t){return e===t||e!=e&&t!=t}var Us=Vi(Wr),Gs=Vi((function(e,t){return e>=t})),Vs=Or(function(){return arguments}())?Or:function(e){return na(e)&&Me.call(e,"callee")&&!et.call(e,"callee")},qs=r.isArray,Hs=dt?Gt(dt):function(e){return na(e)&&kr(e)==I};function zs(e){return null!=e&&ea(e.length)&&!Zs(e)}function Ks(e){return na(e)&&zs(e)}var Qs=hn||wl,Ys=ft?Gt(ft):function(e){return na(e)&&kr(e)==v};function Js(e){if(!na(e))return!1;var t=kr(e);return t==y||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!oa(e)}function Zs(e){if(!ta(e))return!1;var t=kr(e);return t==b||t==S||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Xs(e){return"number"==typeof e&&e==ga(e)}function ea(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function ta(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function na(e){return null!=e&&"object"==typeof e}var ra=ht?Gt(ht):function(e){return na(e)&&ho(e)==C};function ia(e){return"number"==typeof e||na(e)&&kr(e)==_}function oa(e){if(!na(e)||kr(e)!=k)return!1;var t=He(e);if(null===t)return!0;var n=Me.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Re.call(n)==Fe}var sa=pt?Gt(pt):function(e){return na(e)&&kr(e)==E},aa=gt?Gt(gt):function(e){return na(e)&&ho(e)==L};function la(e){return"string"==typeof e||!qs(e)&&na(e)&&kr(e)==A}function ca(e){return"symbol"==typeof e||na(e)&&kr(e)==T}var ua=mt?Gt(mt):function(e){return na(e)&&ea(e.length)&&!!Ze[kr(e)]},da=Vi(Pr),fa=Vi((function(e,t){return e<=t}));function ha(e){if(!e)return[];if(zs(e))return la(e)?sn(e):Li(e);if(st&&e[st])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[st]());var t=ho(e);return(t==C?Xt:t==L?nn:Ba)(e)}function pa(e){return e?(e=wa(e))===u||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ga(e){var t=pa(e),n=t%1;return t==t?n?t-n:t:0}function ma(e){return e?sr(ga(e),0,h):0}function wa(e){if("number"==typeof e)return e;if(ca(e))return f;if(ta(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ta(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Ut(e);var n=pe.test(e);return n||me.test(e)?nt(e.slice(2),n?2:8):he.test(e)?f:+e}function va(e){return Ai(e,Ma(e))}function ya(e){return null==e?"":ai(e)}var ba=Oi((function(e,t){if(Co(t)||zs(t))Ai(t,Ra(t),e);else for(var n in t)Me.call(t,n)&&er(e,n,t[n])})),Sa=Oi((function(e,t){Ai(t,Ma(t),e)})),Ca=Oi((function(e,t,n,r){Ai(t,Ma(t),e,r)})),_a=Oi((function(e,t,n,r){Ai(t,Ra(t),e,r)})),ka=eo(or),Wa=Kr((function(e,t){e=ke(e);var n=-1,r=t.length,o=r>2?t[2]:i;for(o&&vo(t[0],t[1],o)&&(r=1);++n<r;)for(var s=t[n],a=Ma(s),l=-1,c=a.length;++l<c;){var u=a[l],d=e[u];(d===i||Bs(d,Oe[u])&&!Me.call(e,u))&&(e[u]=s[u])}return e})),Ea=Kr((function(e){return e.push(i,Ji),wt(Da,i,e)}));function La(e,t,n){var r=null==e?i:Cr(e,t);return r===i?n:r}function Aa(e,t){return null!=e&&po(e,t,Lr)}var Ta=xi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Pe.call(t)),e[t]=n}),tl(il)),Oa=xi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Pe.call(t)),Me.call(e,t)?e[t].push(n):e[t]=[n]}),so),Ia=Kr(Tr);function Ra(e){return zs(e)?Qn(e):Dr(e)}function Ma(e){return zs(e)?Qn(e,!0):function(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var n in ke(e))t.push(n);return t}(e);var t=Co(e),n=[];for(var r in e)("constructor"!=r||!t&&Me.call(e,r))&&n.push(r);return n}(e)}var Na=Oi((function(e,t,n){$r(e,t,n)})),Da=Oi((function(e,t,n,r){$r(e,t,n,r)})),Pa=eo((function(e,t){var n={};if(null==e)return n;var r=!1;t=Wt(t,(function(t){return t=wi(t,e),r||(r=t.length>1),t})),Ai(e,no(e),n),r&&(n=ar(n,7,Zi));for(var i=t.length;i--;)ci(n,t[i]);return n})),Fa=eo((function(e,t){return null==e?{}:function(e,t){return Gr(e,t,(function(t,n){return Aa(e,n)}))}(e,t)}));function ja(e,t){if(null==e)return{};var n=Wt(no(e),(function(e){return[e]}));return t=so(t),Gr(e,n,(function(e,n){return t(e,n[0])}))}var xa=Ki(Ra),$a=Ki(Ma);function Ba(e){return null==e?[]:Vt(e,Ra(e))}var Ua=Ni((function(e,t,n){return t=t.toLowerCase(),e+(n?Ga(t):t)}));function Ga(e){return Ja(ya(e).toLowerCase())}function Va(e){return(e=ya(e))&&e.replace(ve,Qt).replace(qe,"")}var qa=Ni((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ha=Ni((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),za=Mi("toLowerCase"),Ka=Ni((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Qa=Ni((function(e,t,n){return e+(n?" ":"")+Ja(t)})),Ya=Ni((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ja=Mi("toUpperCase");function Za(e,t,n){return e=ya(e),(t=n?i:t)===i?function(e){return Qe.test(e)}(e)?function(e){return e.match(ze)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Xa=Kr((function(e,t){try{return wt(e,i,t)}catch(e){return Js(e)?e:new Se(e)}})),el=eo((function(e,t){return yt(t,(function(t){t=jo(t),ir(e,t,Os(e[t],e))})),e}));function tl(e){return function(){return e}}var nl=Fi(),rl=Fi(!0);function il(e){return e}function ol(e){return Nr("function"==typeof e?e:ar(e,1))}var sl=Kr((function(e,t){return function(n){return Tr(n,e,t)}})),al=Kr((function(e,t){return function(n){return Tr(e,n,t)}}));function ll(e,t,n){var r=Ra(t),i=Sr(t,r);null!=n||ta(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=Sr(t,Ra(t)));var o=!(ta(n)&&"chain"in n&&!n.chain),s=Zs(e);return yt(i,(function(n){var r=t[n];e[n]=r,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=Li(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Et([this.value()],arguments))})})),e}function cl(){}var ul=Bi(Wt),dl=Bi(St),fl=Bi(Tt);function hl(e){return yo(e)?Ft(jo(e)):function(e){return function(t){return Cr(t,e)}}(e)}var pl=Gi(),gl=Gi(!0);function ml(){return[]}function wl(){return!1}var vl,yl=$i((function(e,t){return e+t}),0),bl=Hi("ceil"),Sl=$i((function(e,t){return e/t}),1),Cl=Hi("floor"),_l=$i((function(e,t){return e*t}),1),kl=Hi("round"),Wl=$i((function(e,t){return e-t}),0);return xn.after=function(e,t){if("function"!=typeof t)throw new Le(o);return e=ga(e),function(){if(--e<1)return t.apply(this,arguments)}},xn.ary=As,xn.assign=ba,xn.assignIn=Sa,xn.assignInWith=Ca,xn.assignWith=_a,xn.at=ka,xn.before=Ts,xn.bind=Os,xn.bindAll=el,xn.bindKey=Is,xn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return qs(e)?e:[e]},xn.chain=hs,xn.chunk=function(e,t,n){t=(n?vo(e,t,n):t===i)?1:wn(ga(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,l=r(un(o/t));s<o;)l[a++]=ti(e,s,s+=t);return l},xn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},xn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return Et(qs(n)?Li(n):[n],mr(t,1))},xn.cond=function(e){var t=null==e?0:e.length,n=so();return e=t?Wt(e,(function(e){if("function"!=typeof e[1])throw new Le(o);return[n(e[0]),e[1]]})):[],Kr((function(n){for(var r=-1;++r<t;){var i=e[r];if(wt(i[0],this,n))return wt(i[1],this,n)}}))},xn.conforms=function(e){return function(e){var t=Ra(e);return function(n){return lr(n,e,t)}}(ar(e,1))},xn.constant=tl,xn.countBy=ms,xn.create=function(e,t){var n=$n(e);return null==t?n:rr(n,t)},xn.curry=function e(t,n,r){var o=Qi(t,8,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},xn.curryRight=function e(t,n,r){var o=Qi(t,16,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},xn.debounce=Rs,xn.defaults=Wa,xn.defaultsDeep=Ea,xn.defer=Ms,xn.delay=Ns,xn.difference=Bo,xn.differenceBy=Uo,xn.differenceWith=Go,xn.drop=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,(t=n||t===i?1:ga(t))<0?0:t,r):[]},xn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,0,(t=r-(t=n||t===i?1:ga(t)))<0?0:t):[]},xn.dropRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0,!0):[]},xn.dropWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0):[]},xn.fill=function(e,t,n,r){var o=null==e?0:e.length;return o?(n&&"number"!=typeof n&&vo(e,t,n)&&(n=0,r=o),function(e,t,n,r){var o=e.length;for((n=ga(n))<0&&(n=-n>o?0:o+n),(r=r===i||r>o?o:ga(r))<0&&(r+=o),r=n>r?0:ma(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},xn.filter=function(e,t){return(qs(e)?Ct:gr)(e,so(t,3))},xn.flatMap=function(e,t){return mr(ks(e,t),1)},xn.flatMapDeep=function(e,t){return mr(ks(e,t),u)},xn.flatMapDepth=function(e,t,n){return n=n===i?1:ga(n),mr(ks(e,t),n)},xn.flatten=Ho,xn.flattenDeep=function(e){return null!=e&&e.length?mr(e,u):[]},xn.flattenDepth=function(e,t){return null!=e&&e.length?mr(e,t=t===i?1:ga(t)):[]},xn.flip=function(e){return Qi(e,512)},xn.flow=nl,xn.flowRight=rl,xn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},xn.functions=function(e){return null==e?[]:Sr(e,Ra(e))},xn.functionsIn=function(e){return null==e?[]:Sr(e,Ma(e))},xn.groupBy=Ss,xn.initial=function(e){return null!=e&&e.length?ti(e,0,-1):[]},xn.intersection=Ko,xn.intersectionBy=Qo,xn.intersectionWith=Yo,xn.invert=Ta,xn.invertBy=Oa,xn.invokeMap=Cs,xn.iteratee=ol,xn.keyBy=_s,xn.keys=Ra,xn.keysIn=Ma,xn.map=ks,xn.mapKeys=function(e,t){var n={};return t=so(t,3),yr(e,(function(e,r,i){ir(n,t(e,r,i),e)})),n},xn.mapValues=function(e,t){var n={};return t=so(t,3),yr(e,(function(e,r,i){ir(n,r,t(e,r,i))})),n},xn.matches=function(e){return jr(ar(e,1))},xn.matchesProperty=function(e,t){return xr(e,ar(t,1))},xn.memoize=Ds,xn.merge=Na,xn.mergeWith=Da,xn.method=sl,xn.methodOf=al,xn.mixin=ll,xn.negate=Ps,xn.nthArg=function(e){return e=ga(e),Kr((function(t){return Br(t,e)}))},xn.omit=Pa,xn.omitBy=function(e,t){return ja(e,Ps(so(t)))},xn.once=function(e){return Ts(2,e)},xn.orderBy=function(e,t,n,r){return null==e?[]:(qs(t)||(t=null==t?[]:[t]),qs(n=r?i:n)||(n=null==n?[]:[n]),Ur(e,t,n))},xn.over=ul,xn.overArgs=Fs,xn.overEvery=dl,xn.overSome=fl,xn.partial=js,xn.partialRight=xs,xn.partition=Ws,xn.pick=Fa,xn.pickBy=ja,xn.property=hl,xn.propertyOf=function(e){return function(t){return null==e?i:Cr(e,t)}},xn.pull=Zo,xn.pullAll=Xo,xn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Vr(e,t,so(n,2)):e},xn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Vr(e,t,i,n):e},xn.pullAt=es,xn.range=pl,xn.rangeRight=gl,xn.rearg=$s,xn.reject=function(e,t){return(qs(e)?Ct:gr)(e,Ps(so(t,3)))},xn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=so(t,3);++r<o;){var s=e[r];t(s,r,e)&&(n.push(s),i.push(r))}return qr(e,i),n},xn.rest=function(e,t){if("function"!=typeof e)throw new Le(o);return Kr(e,t=t===i?t:ga(t))},xn.reverse=ts,xn.sampleSize=function(e,t,n){return t=(n?vo(e,t,n):t===i)?1:ga(t),(qs(e)?Jn:Yr)(e,t)},xn.set=function(e,t,n){return null==e?e:Jr(e,t,n)},xn.setWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:Jr(e,t,n,r)},xn.shuffle=function(e){return(qs(e)?Zn:ei)(e)},xn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&vo(e,t,n)?(t=0,n=r):(t=null==t?0:ga(t),n=n===i?r:ga(n)),ti(e,t,n)):[]},xn.sortBy=Es,xn.sortedUniq=function(e){return e&&e.length?oi(e):[]},xn.sortedUniqBy=function(e,t){return e&&e.length?oi(e,so(t,2)):[]},xn.split=function(e,t,n){return n&&"number"!=typeof n&&vo(e,t,n)&&(t=n=i),(n=n===i?h:n>>>0)?(e=ya(e))&&("string"==typeof t||null!=t&&!sa(t))&&!(t=ai(t))&&Zt(e)?yi(sn(e),0,n):e.split(t,n):[]},xn.spread=function(e,t){if("function"!=typeof e)throw new Le(o);return t=null==t?0:wn(ga(t),0),Kr((function(n){var r=n[t],i=yi(n,0,t);return r&&Et(i,r),wt(e,this,i)}))},xn.tail=function(e){var t=null==e?0:e.length;return t?ti(e,1,t):[]},xn.take=function(e,t,n){return e&&e.length?ti(e,0,(t=n||t===i?1:ga(t))<0?0:t):[]},xn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,(t=r-(t=n||t===i?1:ga(t)))<0?0:t,r):[]},xn.takeRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!1,!0):[]},xn.takeWhile=function(e,t){return e&&e.length?di(e,so(t,3)):[]},xn.tap=function(e,t){return t(e),e},xn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Le(o);return ta(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Rs(e,t,{leading:r,maxWait:t,trailing:i})},xn.thru=ps,xn.toArray=ha,xn.toPairs=xa,xn.toPairsIn=$a,xn.toPath=function(e){return qs(e)?Wt(e,jo):ca(e)?[e]:Li(Fo(ya(e)))},xn.toPlainObject=va,xn.transform=function(e,t,n){var r=qs(e),i=r||Qs(e)||ua(e);if(t=so(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:ta(e)&&Zs(o)?$n(He(e)):{}}return(i?yt:yr)(e,(function(e,r,i){return t(n,e,r,i)})),n},xn.unary=function(e){return As(e,1)},xn.union=ns,xn.unionBy=rs,xn.unionWith=is,xn.uniq=function(e){return e&&e.length?li(e):[]},xn.uniqBy=function(e,t){return e&&e.length?li(e,so(t,2)):[]},xn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?li(e,i,t):[]},xn.unset=function(e,t){return null==e||ci(e,t)},xn.unzip=os,xn.unzipWith=ss,xn.update=function(e,t,n){return null==e?e:ui(e,t,mi(n))},xn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:ui(e,t,mi(n),r)},xn.values=Ba,xn.valuesIn=function(e){return null==e?[]:Vt(e,Ma(e))},xn.without=as,xn.words=Za,xn.wrap=function(e,t){return js(mi(t),e)},xn.xor=ls,xn.xorBy=cs,xn.xorWith=us,xn.zip=ds,xn.zipObject=function(e,t){return pi(e||[],t||[],er)},xn.zipObjectDeep=function(e,t){return pi(e||[],t||[],Jr)},xn.zipWith=fs,xn.entries=xa,xn.entriesIn=$a,xn.extend=Sa,xn.extendWith=Ca,ll(xn,xn),xn.add=yl,xn.attempt=Xa,xn.camelCase=Ua,xn.capitalize=Ga,xn.ceil=bl,xn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=wa(n))==n?n:0),t!==i&&(t=(t=wa(t))==t?t:0),sr(wa(e),t,n)},xn.clone=function(e){return ar(e,4)},xn.cloneDeep=function(e){return ar(e,5)},xn.cloneDeepWith=function(e,t){return ar(e,5,t="function"==typeof t?t:i)},xn.cloneWith=function(e,t){return ar(e,4,t="function"==typeof t?t:i)},xn.conformsTo=function(e,t){return null==t||lr(e,t,Ra(t))},xn.deburr=Va,xn.defaultTo=function(e,t){return null==e||e!=e?t:e},xn.divide=Sl,xn.endsWith=function(e,t,n){e=ya(e),t=ai(t);var r=e.length,o=n=n===i?r:sr(ga(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},xn.eq=Bs,xn.escape=function(e){return(e=ya(e))&&K.test(e)?e.replace(H,Yt):e},xn.escapeRegExp=function(e){return(e=ya(e))&&ne.test(e)?e.replace(te,"\\$&"):e},xn.every=function(e,t,n){var r=qs(e)?St:hr;return n&&vo(e,t,n)&&(t=i),r(e,so(t,3))},xn.find=ws,xn.findIndex=Vo,xn.findKey=function(e,t){return It(e,so(t,3),yr)},xn.findLast=vs,xn.findLastIndex=qo,xn.findLastKey=function(e,t){return It(e,so(t,3),br)},xn.floor=Cl,xn.forEach=ys,xn.forEachRight=bs,xn.forIn=function(e,t){return null==e?e:wr(e,so(t,3),Ma)},xn.forInRight=function(e,t){return null==e?e:vr(e,so(t,3),Ma)},xn.forOwn=function(e,t){return e&&yr(e,so(t,3))},xn.forOwnRight=function(e,t){return e&&br(e,so(t,3))},xn.get=La,xn.gt=Us,xn.gte=Gs,xn.has=function(e,t){return null!=e&&po(e,t,Er)},xn.hasIn=Aa,xn.head=zo,xn.identity=il,xn.includes=function(e,t,n,r){e=zs(e)?e:Ba(e),n=n&&!r?ga(n):0;var i=e.length;return n<0&&(n=wn(i+n,0)),la(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Mt(e,t,n)>-1},xn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ga(n);return i<0&&(i=wn(r+i,0)),Mt(e,t,i)},xn.inRange=function(e,t,n){return t=pa(t),n===i?(n=t,t=0):n=pa(n),function(e,t,n){return e>=vn(t,n)&&e<wn(t,n)}(e=wa(e),t,n)},xn.invoke=Ia,xn.isArguments=Vs,xn.isArray=qs,xn.isArrayBuffer=Hs,xn.isArrayLike=zs,xn.isArrayLikeObject=Ks,xn.isBoolean=function(e){return!0===e||!1===e||na(e)&&kr(e)==w},xn.isBuffer=Qs,xn.isDate=Ys,xn.isElement=function(e){return na(e)&&1===e.nodeType&&!oa(e)},xn.isEmpty=function(e){if(null==e)return!0;if(zs(e)&&(qs(e)||"string"==typeof e||"function"==typeof e.splice||Qs(e)||ua(e)||Vs(e)))return!e.length;var t=ho(e);if(t==C||t==L)return!e.size;if(Co(e))return!Dr(e).length;for(var n in e)if(Me.call(e,n))return!1;return!0},xn.isEqual=function(e,t){return Ir(e,t)},xn.isEqualWith=function(e,t,n){var r=(n="function"==typeof n?n:i)?n(e,t):i;return r===i?Ir(e,t,i,n):!!r},xn.isError=Js,xn.isFinite=function(e){return"number"==typeof e&&pn(e)},xn.isFunction=Zs,xn.isInteger=Xs,xn.isLength=ea,xn.isMap=ra,xn.isMatch=function(e,t){return e===t||Rr(e,t,lo(t))},xn.isMatchWith=function(e,t,n){return n="function"==typeof n?n:i,Rr(e,t,lo(t),n)},xn.isNaN=function(e){return ia(e)&&e!=+e},xn.isNative=function(e){if(So(e))throw new Se("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Mr(e)},xn.isNil=function(e){return null==e},xn.isNull=function(e){return null===e},xn.isNumber=ia,xn.isObject=ta,xn.isObjectLike=na,xn.isPlainObject=oa,xn.isRegExp=sa,xn.isSafeInteger=function(e){return Xs(e)&&e>=-9007199254740991&&e<=d},xn.isSet=aa,xn.isString=la,xn.isSymbol=ca,xn.isTypedArray=ua,xn.isUndefined=function(e){return e===i},xn.isWeakMap=function(e){return na(e)&&ho(e)==O},xn.isWeakSet=function(e){return na(e)&&"[object WeakSet]"==kr(e)},xn.join=function(e,t){return null==e?"":gn.call(e,t)},xn.kebabCase=qa,xn.last=Jo,xn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ga(n))<0?wn(r+o,0):vn(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):Rt(e,Dt,o,!0)},xn.lowerCase=Ha,xn.lowerFirst=za,xn.lt=da,xn.lte=fa,xn.max=function(e){return e&&e.length?pr(e,il,Wr):i},xn.maxBy=function(e,t){return e&&e.length?pr(e,so(t,2),Wr):i},xn.mean=function(e){return Pt(e,il)},xn.meanBy=function(e,t){return Pt(e,so(t,2))},xn.min=function(e){return e&&e.length?pr(e,il,Pr):i},xn.minBy=function(e,t){return e&&e.length?pr(e,so(t,2),Pr):i},xn.stubArray=ml,xn.stubFalse=wl,xn.stubObject=function(){return{}},xn.stubString=function(){return""},xn.stubTrue=function(){return!0},xn.multiply=_l,xn.nth=function(e,t){return e&&e.length?Br(e,ga(t)):i},xn.noConflict=function(){return ot._===this&&(ot._=je),this},xn.noop=cl,xn.now=Ls,xn.pad=function(e,t,n){e=ya(e);var r=(t=ga(t))?on(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Ui(dn(i),n)+e+Ui(un(i),n)},xn.padEnd=function(e,t,n){e=ya(e);var r=(t=ga(t))?on(e):0;return t&&r<t?e+Ui(t-r,n):e},xn.padStart=function(e,t,n){e=ya(e);var r=(t=ga(t))?on(e):0;return t&&r<t?Ui(t-r,n)+e:e},xn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),bn(ya(e).replace(re,""),t||0)},xn.random=function(e,t,n){if(n&&"boolean"!=typeof n&&vo(e,t,n)&&(t=n=i),n===i&&("boolean"==typeof t?(n=t,t=i):"boolean"==typeof e&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=pa(e),t===i?(t=e,e=0):t=pa(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=Sn();return vn(e+o*(t-e+tt("1e-"+((o+"").length-1))),t)}return Hr(e,t)},xn.reduce=function(e,t,n){var r=qs(e)?Lt:xt,i=arguments.length<3;return r(e,so(t,4),n,i,dr)},xn.reduceRight=function(e,t,n){var r=qs(e)?At:xt,i=arguments.length<3;return r(e,so(t,4),n,i,fr)},xn.repeat=function(e,t,n){return t=(n?vo(e,t,n):t===i)?1:ga(t),zr(ya(e),t)},xn.replace=function(){var e=arguments,t=ya(e[0]);return e.length<3?t:t.replace(e[1],e[2])},xn.result=function(e,t,n){var r=-1,o=(t=wi(t,e)).length;for(o||(o=1,e=i);++r<o;){var s=null==e?i:e[jo(t[r])];s===i&&(r=o,s=n),e=Zs(s)?s.call(e):s}return e},xn.round=kl,xn.runInContext=e,xn.sample=function(e){return(qs(e)?Yn:Qr)(e)},xn.size=function(e){if(null==e)return 0;if(zs(e))return la(e)?on(e):e.length;var t=ho(e);return t==C||t==L?e.size:Dr(e).length},xn.snakeCase=Ka,xn.some=function(e,t,n){var r=qs(e)?Tt:ni;return n&&vo(e,t,n)&&(t=i),r(e,so(t,3))},xn.sortedIndex=function(e,t){return ri(e,t)},xn.sortedIndexBy=function(e,t,n){return ii(e,t,so(n,2))},xn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=ri(e,t);if(r<n&&Bs(e[r],t))return r}return-1},xn.sortedLastIndex=function(e,t){return ri(e,t,!0)},xn.sortedLastIndexBy=function(e,t,n){return ii(e,t,so(n,2),!0)},xn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=ri(e,t,!0)-1;if(Bs(e[n],t))return n}return-1},xn.startCase=Qa,xn.startsWith=function(e,t,n){return e=ya(e),n=null==n?0:sr(ga(n),0,e.length),t=ai(t),e.slice(n,n+t.length)==t},xn.subtract=Wl,xn.sum=function(e){return e&&e.length?$t(e,il):0},xn.sumBy=function(e,t){return e&&e.length?$t(e,so(t,2)):0},xn.template=function(e,t,n){var r=xn.templateSettings;n&&vo(e,t,n)&&(t=i),e=ya(e),t=Ca({},t,r,Yi);var o,s,a=Ca({},t.imports,r.imports,Yi),l=Ra(a),c=Vt(a,l),u=0,d=t.interpolate||ye,f="__p += '",h=We((t.escape||ye).source+"|"+d.source+"|"+(d===J?de:ye).source+"|"+(t.evaluate||ye).source+"|$","g"),p="//# sourceURL="+(Me.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Je+"]")+"\n";e.replace(h,(function(t,n,r,i,a,l){return r||(r=i),f+=e.slice(u,l).replace(be,Jt),n&&(o=!0,f+="' +\n__e("+n+") +\n'"),a&&(s=!0,f+="';\n"+a+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),f+="';\n";var g=Me.call(t,"variable")&&t.variable;if(g){if(ce.test(g))throw new Se("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(U,""):f).replace(G,"$1").replace(V,"$1;"),f="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var m=Xa((function(){return Ce(l,p+"return "+f).apply(i,c)}));if(m.source=f,Js(m))throw m;return m},xn.times=function(e,t){if((e=ga(e))<1||e>d)return[];var n=h,r=vn(e,h);t=so(t),e-=h;for(var i=Bt(r,t);++n<e;)t(n);return i},xn.toFinite=pa,xn.toInteger=ga,xn.toLength=ma,xn.toLower=function(e){return ya(e).toLowerCase()},xn.toNumber=wa,xn.toSafeInteger=function(e){return e?sr(ga(e),-9007199254740991,d):0===e?e:0},xn.toString=ya,xn.toUpper=function(e){return ya(e).toUpperCase()},xn.trim=function(e,t,n){if((e=ya(e))&&(n||t===i))return Ut(e);if(!e||!(t=ai(t)))return e;var r=sn(e),o=sn(t);return yi(r,Ht(r,o),zt(r,o)+1).join("")},xn.trimEnd=function(e,t,n){if((e=ya(e))&&(n||t===i))return e.slice(0,an(e)+1);if(!e||!(t=ai(t)))return e;var r=sn(e);return yi(r,0,zt(r,sn(t))+1).join("")},xn.trimStart=function(e,t,n){if((e=ya(e))&&(n||t===i))return e.replace(re,"");if(!e||!(t=ai(t)))return e;var r=sn(e);return yi(r,Ht(r,sn(t))).join("")},xn.truncate=function(e,t){var n=30,r="...";if(ta(t)){var o="separator"in t?t.separator:o;n="length"in t?ga(t.length):n,r="omission"in t?ai(t.omission):r}var s=(e=ya(e)).length;if(Zt(e)){var a=sn(e);s=a.length}if(n>=s)return e;var l=n-on(r);if(l<1)return r;var c=a?yi(a,0,l).join(""):e.slice(0,l);if(o===i)return c+r;if(a&&(l+=c.length-l),sa(o)){if(e.slice(l).search(o)){var u,d=c;for(o.global||(o=We(o.source,ya(fe.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var f=u.index;c=c.slice(0,f===i?l:f)}}else if(e.indexOf(ai(o),l)!=l){var h=c.lastIndexOf(o);h>-1&&(c=c.slice(0,h))}return c+r},xn.unescape=function(e){return(e=ya(e))&&z.test(e)?e.replace(q,ln):e},xn.uniqueId=function(e){var t=++Ne;return ya(e)+t},xn.upperCase=Ya,xn.upperFirst=Ja,xn.each=ys,xn.eachRight=bs,xn.first=zo,ll(xn,(vl={},yr(xn,(function(e,t){Me.call(xn.prototype,t)||(vl[t]=e)})),vl),{chain:!1}),xn.VERSION="4.17.21",yt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){xn[e].placeholder=xn})),yt(["drop","take"],(function(e,t){Gn.prototype[e]=function(n){n=n===i?1:wn(ga(n),0);var r=this.__filtered__&&!t?new Gn(this):this.clone();return r.__filtered__?r.__takeCount__=vn(n,r.__takeCount__):r.__views__.push({size:vn(n,h),type:e+(r.__dir__<0?"Right":"")}),r},Gn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),yt(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Gn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:so(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),yt(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Gn.prototype[e]=function(){return this[n](1).value()[0]}})),yt(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Gn.prototype[e]=function(){return this.__filtered__?new Gn(this):this[n](1)}})),Gn.prototype.compact=function(){return this.filter(il)},Gn.prototype.find=function(e){return this.filter(e).head()},Gn.prototype.findLast=function(e){return this.reverse().find(e)},Gn.prototype.invokeMap=Kr((function(e,t){return"function"==typeof e?new Gn(this):this.map((function(n){return Tr(n,e,t)}))})),Gn.prototype.reject=function(e){return this.filter(Ps(so(e)))},Gn.prototype.slice=function(e,t){e=ga(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Gn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=ga(t))<0?n.dropRight(-t):n.take(t-e)),n)},Gn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Gn.prototype.toArray=function(){return this.take(h)},yr(Gn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=xn[r?"take"+("last"==t?"Right":""):t],s=r||/^find/.test(t);o&&(xn.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,l=t instanceof Gn,c=a[0],u=l||qs(t),d=function(e){var t=o.apply(xn,Et([e],a));return r&&f?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var f=this.__chain__,h=!!this.__actions__.length,p=s&&!f,g=l&&!h;if(!s&&u){t=g?t:new Gn(this);var m=e.apply(t,a);return m.__actions__.push({func:ps,args:[d],thisArg:i}),new Un(m,f)}return p&&g?e.apply(this,a):(m=this.thru(d),p?r?m.value()[0]:m.value():m)})})),yt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ae[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);xn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(qs(i)?i:[],e)}return this[n]((function(n){return t.apply(qs(n)?n:[],e)}))}})),yr(Gn.prototype,(function(e,t){var n=xn[t];if(n){var r=n.name+"";Me.call(On,r)||(On[r]=[]),On[r].push({name:t,func:n})}})),On[ji(i,2).name]=[{name:"wrapper",func:i}],Gn.prototype.clone=function(){var e=new Gn(this.__wrapped__);return e.__actions__=Li(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Li(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Li(this.__views__),e},Gn.prototype.reverse=function(){if(this.__filtered__){var e=new Gn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Gn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=qs(e),r=t<0,i=n?e.length:0,o=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],s=o.size;switch(o.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=vn(t,e+s);break;case"takeRight":e=wn(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=o.start,a=o.end,l=a-s,c=r?a:s-1,u=this.__iteratees__,d=u.length,f=0,h=vn(l,this.__takeCount__);if(!n||!r&&i==l&&h==l)return fi(e,this.__actions__);var p=[];e:for(;l--&&f<h;){for(var g=-1,m=e[c+=t];++g<d;){var w=u[g],v=w.iteratee,y=w.type,b=v(m);if(2==y)m=b;else if(!b){if(1==y)continue e;break e}}p[f++]=m}return p},xn.prototype.at=gs,xn.prototype.chain=function(){return hs(this)},xn.prototype.commit=function(){return new Un(this.value(),this.__chain__)},xn.prototype.next=function(){this.__values__===i&&(this.__values__=ha(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},xn.prototype.plant=function(e){for(var t,n=this;n instanceof Bn;){var r=$o(n);r.__index__=0,r.__values__=i,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},xn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Gn){var t=e;return this.__actions__.length&&(t=new Gn(this)),(t=t.reverse()).__actions__.push({func:ps,args:[ts],thisArg:i}),new Un(t,this.__chain__)}return this.thru(ts)},xn.prototype.toJSON=xn.prototype.valueOf=xn.prototype.value=function(){return fi(this.__wrapped__,this.__actions__)},xn.prototype.first=xn.prototype.head,st&&(xn.prototype[st]=function(){return this}),xn}();ot._=cn,(r=function(){return cn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},88306:(e,t,n)=>{var r=n(83369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},94885:e=>{e.exports=function(e){if("function"!=typeof e)throw new TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}},7771:(e,t,n)=>{var r=n(55639);e.exports=function(){return r.Date.now()}},78718:(e,t,n)=>{var r=n(25970),i=n(99021)((function(e,t){return null==e?{}:r(e,t)}));e.exports=i},36968:(e,t,n)=>{var r=n(10611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},70479:e=>{e.exports=function(){return[]}},95062:e=>{e.exports=function(){return!1}},23493:(e,t,n)=>{var r=n(23279),i=n(13218);e.exports=function(e,t,n){var o=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return i(n)&&(o="leading"in n?!!n.leading:o,s="trailing"in n?!!n.trailing:s),r(e,t,{leading:o,maxWait:t,trailing:s})}},14841:(e,t,n)=>{var r=n(27561),i=n(13218),o=n(33448),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=a.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):s.test(e)?NaN:+e}},79833:(e,t,n)=>{var r=n(80531);e.exports=function(e){return null==e?"":r(e)}},79684:function(e,t,n){"use strict";var r,i,o,s,a,l,c,u,d,f,h,p,g,m,w=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},v=this&&this.__classPrivateFieldSet||function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},y=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleDesktopAgent=void 0;const b=n(21614),S=n(63250),C=y(n(2518)),_=n(87406),k=n(87406);class W{constructor(){r.set(this,12e4),i.set(this,null),o.set(this,[])}start(){this.registerHeartbeat()}registerHeartbeat(){clearTimeout(w(this,i,"f")),C.default.system.debug("FinsembleDesktopAgent: heartbeat received"),v(this,i,setTimeout((()=>{C.default.system.warn(`FinsembleDesktopAgent: No heartbeat received within ${w(this,r,"f")} milliseconds`),this.notifyDisconnect()}),w(this,r,"f")),"f")}notifyDisconnect(){console.warn("fdc3 has lost connectivity to the interop service. You may need to restart this app."),w(this,o,"f").forEach((e=>{e(`No heartbeat received from interop service within ${w(this,r,"f")} milliseconds`)}))}onDisconnect(e){v(this,o,w(this,o,"f").concat(e),"f")}stop(){clearTimeout(w(this,i,"f"))}}r=new WeakMap,i=new WeakMap,o=new WeakMap;class E{constructor(e,t,n="app"){s.set(this,void 0),v(this,s,e,"f"),this.id=t,this.type=n}broadcast(e){w(this,s,"f").channelBroadcast(this.id,e)}getCurrentContext(e){return w(this,s,"f").channelGetCurrentContext(this.id,e)}addContextListener(e,t){return w(this,s,"f").channelAddContextListener(this.id,e,t)}}s=new WeakMap,t.FinsembleDesktopAgent=class{constructor({routerClient:e,startup:t}){if(a.set(this,!1),l.set(this,new W),c.set(this,!1),u.set(this,""),d.set(this,`FSBL.FDC3.Client.${(0,b.v4)()}`),f.set(this,{}),h.set(this,{}),p.set(this,[]),g.set(this,void 0),m.set(this,void 0),v(this,g,e,"f"),v(this,m,t,"f"),window&&window.Event&&window.dispatchEvent){const e=new Event("fdc3Ready");window.dispatchEvent(e)}}meta(){return{uuid:w(this,u,"f"),href:window.document?document.location.href:""}}handleHeartbeat(){w(this,l,"f").registerHeartbeat()}triggerContextListeners(e){var t,n;const{context:r}=e.payload;let i;if(e.meta.targetSubscriberId){let t;Object.values(w(this,h,"f")).every((n=>(t=n.find((t=>t.targetSubscriberId===e.meta.targetSubscriberId)),void 0===t))),i=t?[t]:[]}else i=(null!==(t=w(this,h,"f")[null==r?void 0:r.type])&&void 0!==t?t:[]).concat(null!==(n=w(this,h,"f")["*"])&&void 0!==n?n:[]);i.forEach((({handler:t,channel:n})=>{e.meta.channel===n||!e.meta.channel&&!n?(C.default.system.debug(`FDC3 Client: triggerContextListeners for all on ${null!=n?n:"default"} channel`,e.type,e),t(r)):C.default.system.debug(`FDC3 Client: triggerContextListeners skipped for all on ${null!=n?n:"default"} channel`,e.type,e)}))}triggerIntentListeners(e){const{intent:t,context:n}=e.payload,r=w(this,f,"f")[t];n&&(r||[]).forEach((e=>e(n)))}handleIncoming(e){switch(C.default.system.debug("FDC3 Client: handleIncoming",e.type,e),e.type){case"broadcast":this.triggerContextListeners(e);break;case"intent":this.triggerIntentListeners(e);break;case"heartbeat":this.handleHeartbeat()}}releaseQueue(){const e=e=>{var t;return void 0!==(null===(t=null==e?void 0:e.meta)||void 0===t?void 0:t.uuid)&&(e.meta.uuid=w(this,u,"f")),e};w(this,p,"f").forEach((async t=>{const{message:n,handler:r,resolve:i}=t,{err:o,receiveMessage:s}=await this.exchange(e(n),r);i({err:o,receiveMessage:s})})),v(this,p,[],"f")}exchange(e,t=(()=>{})){return new Promise((async n=>{if(w(this,a,"f")){const{err:r,response:i}=await w(this,g,"f").query(_.SERVER_CHANNEL,e,t);n({err:r,receiveMessage:null==i?void 0:i.data})}else w(this,p,"f").push({message:e,handler:t,resolve:n}),this.start()}))}async connect(){const e=w(this,m,"f").getStartupData(),{windowName:t="Unknown window",authenticationToken:n}=e;C.default.system.log(`fdc3.connect StartupData for ${t}`,e),v(this,u,t,"f");const r={type:"register",meta:this.meta(),payload:{clientChannel:w(this,d,"f"),windowName:t,authenticationToken:n}};w(this,g,"f").query(_.SERVER_CHANNEL,r,(e=>{e?C.default.system.error("connect error",e):(w(this,g,"f").addResponder(w(this,d,"f"),((e,t)=>{if(e||!t){const t=(0,k.errorAsString)(null!=e?e:"No request received on responder");C.default.system.error(`FinsembleDesktopAgent can't listen on channel ${w(this,d,"f")} : ${t}`)}else t.data&&this.handleIncoming(t.data),t.sendQueryResponse(null)})),v(this,a,!0,"f"),this.releaseQueue(),w(this,l,"f").start())}))}async start(){w(this,c,"f")||(v(this,c,!0,"f"),await w(this,m,"f").onReady(),this.connect())}async stop(){w(this,l,"f").stop();const e={type:"unregister",meta:this.meta()};await this.exchange(e),v(this,c,!1,"f"),w(this,g,"f").removeResponder(w(this,d,"f")),v(this,a,!1,"f")}onDisconnect(e){w(this,l,"f").onDisconnect(e)}async channelGetCurrentContext(e,t){const n={type:"currentContextRequest",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{contextType:t}},{err:r,receiveMessage:i}=await this.exchange(n);return r?null:"currentContext"===(null==i?void 0:i.type)?i.payload.context:null}broadcast(e){const t={type:"broadcast",meta:this.meta(),payload:{context:e}};this.exchange(t)}channelBroadcast(e,t){const n={type:"broadcast",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{context:t}};this.exchange(n)}async getSystemChannels(){var e;const t={type:"systemChannelRequest",meta:this.meta()},{err:n,receiveMessage:r}=await this.exchange(t);return n?[]:("systemChannels"===(null==r?void 0:r.type)?null===(e=null==r?void 0:r.payload)||void 0===e?void 0:e.channels:[]).map((e=>new E(this,e,"system")))}async open(e,t){const n={type:"open",meta:this.meta(),payload:{target:e,context:t}},{err:r,receiveMessage:i}=await this.exchange(n),o=i;if(r)throw S.OpenError.ResolverUnavailable;if(o.payload.error)throw o.payload.error}async findIntent(e,t){const n={type:"findIntent",meta:this.meta(),payload:{intent:e,context:t}},{err:r,receiveMessage:i}=await this.exchange(n),o=i;if(r)throw S.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.appIntent)throw"Invalid response returned from InteropService for findIntent. No appIntent and no error.";return o.payload.appIntent}async findIntentsByContext(e){const t={type:"findIntentsByContext",meta:this.meta(),payload:{context:e}},{receiveMessage:n}=await this.exchange(t),r=n;if(r.payload.error)throw r.payload.error;return r.payload.intents||[]}async raiseIntent(e,t,n){const r={type:"raiseIntent",meta:this.meta(),payload:{intent:e,context:t,target:n}},{err:i,receiveMessage:o}=await this.exchange(r),s=o;if(i)throw S.ResolveError.ResolverUnavailable;if(s.payload.error)throw s.payload.error;if(!s.payload.data)throw"Invalid response returned from InteropService for raiseIntent. No data.";return s.payload.data}async raiseIntentForContext(e,t){const n={type:"raiseIntent",meta:this.meta(),payload:{context:e,target:t}},{err:r,receiveMessage:i}=await this.exchange(n),o=i;if(r)throw S.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.data)throw"Invalid response returned from InteropService for raiseIntentForContext. No data.";return o.payload.data}addIntentListener(e,t){w(this,f,"f")[e]=(0,k.mmAdd)(w(this,f,"f"),e,t);const n={type:"subscribeIntent",meta:this.meta(),payload:{intent:e}};return this.exchange(n),{unsubscribe:()=>{const n={type:"unsubscribeIntent",meta:this.meta(),payload:{intent:e}};this.exchange(n),w(this,f,"f")[e]=(0,k.mmRemove)(w(this,f,"f"),e,t)}}}channelAddContextListener(e,t,n){const r=n&&t||"*";n||(n=t);const i=`subscriberId.${Date.now()}_${Math.random()}`,o={handler:n,channel:e,targetSubscriberId:i};w(this,h,"f")[r]=(0,k.mmAdd)(w(this,h,"f"),r,o);let s={type:"subscribeContext",meta:Object.assign(Object.assign({},this.meta()),{targetSubscriberId:i}),payload:{contextType:r}};return e&&(s.meta.channel=e),this.exchange(s),{unsubscribe:()=>{let t={type:"unsubscribeContext",meta:this.meta(),payload:{contextType:r}};e&&(t.meta.channel=e),w(this,h,"f")[r]=(0,k.mmRemove)(w(this,h,"f"),r,o),this.exchange(t)}}}addContextListener(e,t){return this.channelAddContextListener(null,e,t)}async joinChannel(e){const t={type:"joinChannels",meta:this.meta(),payload:{channels:[e]}};await this.exchange(t)}async getOrCreateChannel(e){return new E(this,e)}async getCurrentChannels(){const e={type:"getCurrentChannels",meta:this.meta()},{err:t,receiveMessage:n}=await this.exchange(e),r=n;if(t)throw t;if(r.payload.error)throw r.payload.error;if(!r.payload.data)throw"Invalid response returned from InteropService for getCurrentChannels. No data.";return r.payload.data.map((e=>new E(this,e.channel,"system")))}async getCurrentChannel(){const e=await this.getCurrentChannels();return e&&e.length?e[0]:null}async leaveCurrentChannel(){const e={type:"leaveChannels",meta:this.meta(),payload:{}};await this.exchange(e)}getInfo(){return{fdc3Version:"1.2",provider:"Finsemble",providerVersion:process.env.npm_package_version}}},a=new WeakMap,l=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap},87406:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousAuthenticationToken=t.INTENT_RESOLVER_CHANNEL=t.SERVER_CHANNEL=t.GLOBAL_CHANNEL=t.errorAsString=t.mmRemove=t.concatNoDups=t.mmAdd=void 0,t.mmAdd=(e,t,n)=>(e[t]||[]).concat([n]),t.concatNoDups=(e,t)=>{const n=Array.isArray(t)?t:[t],r=e?n.concat(e):n;return Array.from(new Set(r))},t.mmRemove=(e,t,n)=>(e[t]||[]).filter((e=>e!==n)),t.errorAsString=e=>{var t,n;return null!==(n=null!==(t=null==e?void 0:e.message)&&void 0!==t?t:e)&&void 0!==n?n:null},t.GLOBAL_CHANNEL="global",t.SERVER_CHANNEL="FSBL.FDC3.Interop.Server",t.INTENT_RESOLVER_CHANNEL="FSBL.FDC3.intent.resolver",t.AnonymousAuthenticationToken={signatureString:"",signatureStringType:"unauthenticated",meta:{name:"Anonymous app"}}},51806:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLService=void 0;const r=n(11314),i=n(47107),o=n(91374),s=n(10166),a=n(21614),l=n(44137),c=n(79684);t.FSBLService=class{async startApp(){var e,t,n,u,d,f,h,p;const g=await(0,i.getSystemStartupData)(),m=o.System.Window.getCurrent(),w=null!==(n=null!==(e=m.name)&&void 0!==e?e:null===(t=null===document||void 0===document?void 0:document.location)||void 0===t?void 0:t.href)&&void 0!==n?n:"Unknown App",v=null!==(f=null!==(u=m.name)&&void 0!==u?u:null===(d=null===document||void 0===document?void 0:document.location)||void 0===d?void 0:d.href)&&void 0!==f?f:`Unknown window-${(0,a.v4)()}`,y=null!==(h=m.webContentsName)&&void 0!==h?h:v,b=null!==(p=(0,i.getManifestFromStartupData)(g))&&void 0!==p?p:{},S=(0,i.getRouterConfig)({windowName:v,systemManifest:b});await r.RouterController.start(S);const C=s.Startup.getInstance();C.setStartupData({windowName:v,webContentsName:y,authenticationToken:{signatureString:"",signatureStringType:"unauthenticated",meta:{name:w}}}),l.Globals.fdc3=new c.FinsembleDesktopAgent({routerClient:r.RouterClient,startup:C}),C.setReady()}async stopApp(){r.RouterController.stop()}}},47107:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getManifestFromStartupData=t.getSystemStartupData=t.getRouterConfig=t.getRecommendedTransport=void 0;const i=r(n(2518)),o=n(91374),s=n(64324),a={sameDomainTransport:"FinsembleTransport",crossDomainTransport:"FinsembleTransport",transportSettings:{FinsembleTransport:{serverAddress:"ws://127.0.0.1:3376"}},transportName:"FinsembleTransport"},l=e=>{if(!e)return i.default.system.error("No documentRoot provided to RouterConfig.isCrossDomain(). Check the moduleRoot entry of the manifest."),!0;const t=document.createElement("a");t.href=e;const n=window.location.hostname===t.hostname,r=window.location.protocol===t.protocol,o=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),s=n&&o&&r;return i.default.system.debug(`Transport crossDomain=${l} (${n}:${r}:${o})`),!s};t.getRecommendedTransport=e=>{const{moduleRoot:t,router:n}=null==e?void 0:e.finsemble,{sameDomainTransport:r="SharedWorker",crossDomainTransport:i="IPCBus"}=null!=n?n:{};return l(t)?i:r},t.getRouterConfig=({windowName:e,systemManifest:n,transportSettings:r})=>n?((e,n)=>{var r,o,s,l;if(i.default.system.info("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest"),e&&"string"!=typeof e){const i=e.finsemble,a=null!==(s=null!==(o=null===(r=null==i?void 0:i.router)||void 0===r?void 0:r.transportSettings)&&void 0!==o?o:null==i?void 0:i.IAC)&&void 0!==s?s:{},c=null!==(l=null==i?void 0:i.notificationURL)&&void 0!==l?l:`${i.moduleRoot}/components/system/notification/notification.html`;return{windowName:n,routerDomainRoot:i.moduleRoot,transportName:(0,t.getRecommendedTransport)(e),transportSettings:a,notificationURL:c}}return i.default.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest failed -- fatal error. No manifest found.",e),Object.assign(Object.assign({},a),{windowName:n})})(n,e):Object.assign(Object.assign({},a),{windowName:e,transportSettings:null!=r?r:{}}),t.getSystemStartupData=async()=>new Promise((e=>{o.System.Window.getCurrent().getOptions((t=>{e(t)}))})),t.getManifestFromStartupData=e=>{let t=null==e?void 0:e.manifest;return(null==t?void 0:t.finsemble)&&s.ConfigUtilInstance.resolveManifestMacros(t,t.finsemble),t}},10166:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Startup=void 0;const r=n(87406),i=n(44137),o=n(21614),s=n(7860),a=`Unknown window-${(0,o.v4)()}`;class l{constructor(){this.isReady=!1,this.onReadyListeners=[],this.currentStartupData={authenticationToken:r.AnonymousAuthenticationToken,windowName:a,webContentsName:a}}static getInstance(){return l.instance?l.instance:l.instance=(0,s.singleton)("Startup",l)}getStartupData(){return this.currentStartupData}setStartupData(e){this.currentStartupData=e}onReady(e){return new Promise((t=>{this.isReady?(e&&setTimeout(e,0),t()):this.onReadyListeners.push((()=>{e&&e(),t()}))}))}setReady(){this.isReady=!0,this.onReadyListeners.forEach((e=>{e()})),i.Globals.dispatchEvent&&i.Globals.dispatchEvent(new Event("FSBLReady"))}}t.Startup=l,l.instance=null},27917:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StoreModel=void 0;const a=n(1641),l=o(n(31482)),c=s(n(2518));class u{constructor(e,t,n){var r,i;this.isGlobal=!1,this.values={},this.listeners={},this.registeredDispatchListeners=[],this.mapping={},this.subs={},this.Dispatcher={register:e=>{this.registeredDispatchListeners.push(e)},dispatch:e=>{this.isGlobal?this.routerClient.transmit(`storeService.dispatch.${this.name}`,e):this.handleDispatchedMessages(null,{data:e})}},this.handleChanges=(e,t)=>{if(e)c.default.system.error("DistributedStoreClient",e);else{const{store:e,field:n,storeData:r,value:i}=t.data;if(e){const e=n?`.${n}`:"",t=`${this.name}${e}`,o=r||i;this.triggerListeners(t,o)}}},this.routerClient=t,this.removeStoreCallback=n,this.isGlobal=!!e.global,this.name=null!==(i=null!==(r=e.name)&&void 0!==r?r:e.store)&&void 0!==i?i:"StoreModel() invariant. store.name not provided.",e.values&&(this.values=e.values),l.initObject(this.values,null,this.mapping),this.isGlobal&&this.routerClient.addListener(`storeService.dispatch.${this.name}`,((e,t)=>{this.handleDispatchedMessages(e,t)}))}handleDispatchedMessages(e,t){(null==t?void 0:t.data)&&this.registeredDispatchListeners.forEach((e=>{e(t.data)}))}setValue(e,t){if(e.field||c.default.system.error("DistributedStore.setValue:no field provided",e),e.hasOwnProperty("value")||c.default.system.error("DistributedStore.setValue:no value provided",e),this.isGlobal){const n={store:this.name,field:e.field,value:e.value};this.routerClient.query("storeService.setValue",n,(e=>{t&&t(e)}))}else{const n=l.checkForObjectChange(this.values,e.field,this.mapping);l.setPath(this.values,e.field,e.value),l.mapField(this.values,e.field,this.mapping),n&&this.sendRemovals(n),this.triggerListeners(this.name,this),this.publishObjectUpdates(e.field,this.mapping),t&&t(null)}}publishObjectUpdates(e,t){const n=t;for(;e;)this.triggerListeners(`${this.name}.${e}`,l.byString(this.values,e)),e=n[e]}sendRemovals(e){for(let t in e)this.triggerListeners(`${this.name}.${t}`,l.byString(this.values,t))}setValues(e,t){return e?Array.isArray(e)?void(0,a.each)(e,((e,t)=>{this.setValue(e,t)}),(e=>t?t(e):null)):c.default.system.error("DistributedStore.setValues:params must be an array"):c.default.system.error("DistributedStore.setValues:no params given")}getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field)return null==t||t("no field provided"),"no field provided";if(!this.isGlobal){const n=l.byString(this.values,e.field);return void 0!==n?(null==t||t(null,n),n):(null==t||t("couldn't find a value"),null)}return this.getGlobalValue(e.field,t),null}getAll(e){if(!this.isGlobal)return e&&e(null,this.values),this.values;this.getGlobalValues(null,e)}getValues(e,t){if(null===e&&(e=t),"function"==typeof e)return t=e,this.isGlobal?this.getGlobalValues(null,t):t?t(null,this.values):this.values;if(!Array.isArray(e))return{[e]:this.getValue(e,t)};if(this.isGlobal)return this.getGlobalValues(e,t);const n={};for(let t=0;t<e.length;t++){const r=e[t],i="string"==typeof r?r:r.field,o=l.byString(this.values,i);n[i]=o}return t?t(null,n):n}async getGlobalValue(e,t){const{err:n,response:r}=await this.routerClient.query("storeService.getValue",{store:this.name,field:e});return null==t||t(n,r.data),{err:n,data:r.data}}getGlobalValues(e,t){this.routerClient.query("storeService.getValues",{store:this.name,fields:e},((e,n)=>{t&&t(e,n.data)}))}removeValue(e,t){const n={field:"string"==typeof e?e:e.field,value:null};return this.setValue(n,t)}removeValues(e,t){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");(0,a.map)(e,this.removeValue,((e,n)=>t(e,n)))}destroy(e){const t={store:this.name,global:this.isGlobal};this.removeStoreCallback(t,(t=>{t?e&&e(t):e&&e(null,!0)}))}changeSub(e){this.subs[e]||(this.isGlobal&&this.routerClient.subscribe(`storeService${e}`,this.handleChanges),this.subs[e]=!0)}addListener(e,t,n){var r;"function"==typeof e&&(t=e,e={});const{field:i}=e,o=i?`.${i}`:"",s=`${this.name}${o}`;this.listeners[s]=[t].concat(null!==(r=this.listeners[s])&&void 0!==r?r:[]),this.changeSub(s),null==n||n()}addListeners(e,t,n){var r;if(!Array.isArray(e))return c.default.deprecated("distributedStoreClient StoreModel - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),void this.addListener(e,t,n);const i="function"==typeof t?t:null;for(let t=0;t<e.length;t++){const n=e[t];let o="string"==typeof n?n:n.field;const s="string"!=typeof n?n.listener:i;if(s){const e=o?`.${o}`:"",t=`${this.name}${e}`;this.listeners[t]=[s].concat(null!==(r=this.listeners[t])&&void 0!==r?r:[]),this.changeSub(t)}}null==n||n()}removeListener(e,t,n){const{field:r}=e,i=r?`.${r}`:"",o=`${this.name}${i}`;if(this.listeners[o])for(let e=0;e<this.listeners[o].length;e++)if(this.listeners[o][e]===t)return this.listeners[o].splice(e,1),void(null==n||n(null,!0));null==n||n(null,!1)}removeListeners(e,t,n){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,n):e.field&&t&&this.removeListener(e,t,n),null==n?void 0:n(null,!0);const r="function"==typeof t?t:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,n="string"!=typeof e?e.listener:r,i=t?`.${t}`:"",o=`${this.name}${i}`;this.listeners[o]=this.listeners[o].filter((e=>e!==n))})),null==n||n(null,!0)}triggerListeners(e,t){var n;(null!==(n=this.listeners[e])&&void 0!==n?n:[]).forEach((n=>{c.default.system.debug("DistributedStore.triggerListeners",e,t),n(null,{field:e,value:t})}))}}t.StoreModel=u,t.default=u},25232:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._BaseClient=void 0;const i=r(n(11314)),o=n(2518),s=n(91374),a=n(25495);t._BaseClient=class{constructor(e){this.onReadyCallback=e=>{e()},this.isReady=!1,this.startupDependencies={services:[],clients:[]},this.clientReadyQueue=[],this.windowName="",this.processClientReadyQueue=()=>{for(const e of this.clientReadyQueue)e();this.clientReadyQueue=[]},this.onReady=e=>{this.isReady?e():this.clientReadyQueue.push(e)},this.setClientOnline=()=>{var e;this.isReady=!0;const t=`STARTUP:CLIENT:ONLINE:${null===(e=this.finWindow)||void 0===e?void 0:e.name}:${this.name}`;this.logger.system.log(t),this.onReadyCallback((()=>{this.logger.system.debug(t),a.FSBLDependencyManagerSingleton.setClientOnline(this.name),this.processClientReadyQueue()}))},this.initialize=e=>{var t;this.logger.system.log("baseClient initialize",this.name),this.finWindow=s.System.Window.getCurrent(),this.windowName=null===(t=this.finWindow)||void 0===t?void 0:t.name,this.logger.system.debug("baseClient Init Router Ready",this.name,"DEPENDENCIES",this.startupDependencies),a.FSBLDependencyManagerSingleton.startup.waitFor(this.startupDependencies,(()=>{this.logger.system.log("baseClient initialize waitfor done",this.name),null==e||e(),this.setClientOnline()}),`${this.windowName}(${this.name})`)},this.name=e.name,e.onReady&&(this.onReadyCallback=e.onReady),this.startupDependencies=e.startupDependencies||{services:[],clients:[]},this.logger=o.Logger,this.routerClient=i.default}onClose(e){null==e||e()}}},9381:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigClient=void 0;const i=r(n(20670)),o=n(25232),s=r(n(84795)),a=r(n(2518));class l extends o._BaseClient{constructor(){super({startupDependencies:{},onReady(e){null==e||e()},name:"configClient"}),this.listeners={},this.subs={},this.handleChanges=(e,t)=>{if(e)a.default.system.error("ConfigClient handleChanges() error",e);else{t.data.field||(t.data.field=null);const{field:e,storeData:n,value:r}=t.data,i=n||r;this.triggerListeners(e||"configService",i)}},this.triggerListeners=(e,t)=>{var n;(null!==(n=this.listeners[e])&&void 0!==n?n:[]).forEach((n=>{a.default.system.debug("ConfigClient.triggerListeners",e,t),n(null,{field:e,value:t})}))}}async getManifest(e){await s.default.waitForStartup("configService");const{err:t,response:n}=await this.routerClient.query("configService.getValues",{fields:null});return null==e||e(t,n.data),{err:t,data:n.data}}async getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field){const e="no field provided";return null==t||t(e),{err:e}}await s.default.waitForStartup("configService");const{err:n,response:r}=await this.routerClient.query("configService.getValue",{field:e.field});return null==t||t(n,r.data),{err:n,data:r.data}}async getValues(e,t){if("function"==typeof e&&(t=e,e=null),e&&!Array.isArray(e))return this.getValue(e,t);await s.default.waitForStartup("configService");const{err:n,response:r}=await this.routerClient.query("configService.getValues",{fields:e});return null==t||t(n,r.data),{err:n,data:r.data}}async setValue(e,t){const n={field:e.field,value:e.value};await s.default.waitForStartup("configService");const{err:r}=await this.routerClient.query("configService.setValue",n);return null==t||t(r),{err:r}}async setValues(e,t){if(!e){const e="ConfigClient.SetValues. No params given";return a.default.system.error(e),null==t||t(e),{err:e}}if(!Array.isArray(e)){const e="ConfigClient.SetValues. Params must be an array";return a.default.system.error(e),null==t||t(e),{err:e}}await s.default.waitForStartup("configService");const{err:n}=await this.routerClient.query("configService.setValues",e);return null==t||t(n),{err:n}}async removeValue(e,t){let n={};if("string"!=typeof e){const e="No field provided";return null==t||t(e),{err:e}}return n.field=e,n.value=null,await this.setValue(n,t)}removeValues(e,t){return new Promise((n=>{if(!Array.isArray(e)){const e="The passed in parameter must be an array";return null==t||t(e),n({err:e})}const r=e.map((e=>this.removeValue(e)));Promise.all(r).then((e=>{const r=e.some((e=>e.err))?"Some values couldn't be removed. Check central logger.":null;null==t||t(r),n({err:r})}))}))}async changeSub(e){if(this.subs||(this.subs={}),!this.subs[e]){this.subs[e]=!0,await s.default.waitForStartup("configService");const{err:t}=await this.routerClient.query("configService.addListener",e);t&&a.default.system.error("Error adding listener to config service",t),await this.routerClient.subscribe(e,this.handleChanges)}}addListener(e,t,n){var r;let i=null;"function"==typeof e&&(t=e,e={field:null}),({field:i}=e);const o="configService"+(i?`.${i}`:"");this.listeners[o]=[t].concat(null!==(r=this.listeners[o])&&void 0!==r?r:[]),this.changeSub(o),null==n||n()}addListeners(e,t,n){var r;if(!Array.isArray(e))return a.default.deprecated("configClient - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),this.addListener(e,t,n);const i="function"==typeof t?t:null;for(let t=0;t<e.length;t++){const n=e[t],o="string"==typeof n?n:n.field,s="string"!=typeof n?n.listener:i;if(s){const e="configService"+(o?`.${o}`:"");this.listeners[e]=[s].concat(null!==(r=this.listeners[e])&&void 0!==r?r:[]),this.changeSub(e)}}null==n||n()}removeListener(e,t,n){let r=null;"function"==typeof e&&(n=t,t=e,e={field:r}),({field:r}=e);const i="configService"+(r?`.${r}`:"");if(this.listeners[i])for(let e=0;e<this.listeners[i].length;e++)if(this.listeners[i][e]===t)return this.listeners[i].splice(e,1),void(null==n||n(null,!0));null==n||n(null,!1)}removeListeners(e,t,n){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,n):e.field&&t&&this.removeListener(e,t,n),null==n?void 0:n(null,!0);const r="function"==typeof t?t:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,n="string"!=typeof e?e.listener:r,i="configService"+(t?`.${t}`:"");this.listeners[i]=this.listeners[i].filter((e=>e!==n))})),null==n||n(null,!0)}async processAndSet(e,t){if(a.default.system.debug("ConfigClient.processAndSet",e),i.default.args(e,"object",t,"function=")&&i.default.args2("params.newConfig",e.newConfig,"object","params.overwrite",e.overwrite,"boolean=","params.replace",e.replace,"boolean="),!e.overwrite&&e.replace){const e="cannot use replace option unless overwrite is also true";return a.default.system.warn("ConfigClient.processAndSet:",e),null==t||t(e),{err:e}}{await s.default.waitForStartup("configService");const{err:n,response:r}=await this.routerClient.query("configService.processAndSet",e);return null==t||t(n,r),{err:n,data:r.data}}}async setPreference(e,t){const{err:n,response:r}=await this.routerClient.query("PreferencesService.setPreference",e);return null==t||t(n,r.data),{err:n,data:r.data}}async getPreferences(e){await s.default.waitForStartup("preferencesService");const{err:t,response:n}=await this.routerClient.query("PreferencesService.getPreferences",{});return a.default.system.debug("PreferencesService.getPreferences response",n),null==e||e(t,n.data),{err:t,data:n.data}}async unsetPreference(e,t){a.default.system.debug("ConfigClient.unsetPreference",e);const{err:n,response:r}=await this.routerClient.query("PreferencesService.unsetPreference",e);return null==t||t(n,r.data),{err:n,data:r.data}}}t.ConfigClient=l;const c=new l;t.default=c},60434:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DialogManagerClient=void 0;const i=n(1641),o=r(n(49136)),s=r(n(47913)),a=r(n(20670)),l=n(25232),c=n(24074),u=r(n(2518)),d=n(91374),f=r(n(95085)),h=n(23099),p=n(21614),g=n(44137);f.default.initialize(),s.default.initialize();class m extends l._BaseClient{constructor(){super({startupDependencies:{},onReady:async e=>{await this.checkIfWindowIsDialog(),(0,i.series)([this.createStore.bind(this),this.registerWithStore.bind(this),this.getFinsembleWindow.bind(this),e=>{e()}],e)},name:"dialogManager"}),this.userInputTimeout=null,this.DialogStore=null,this.isDialog=!1,this.RESPONDER_CHANNEL=null,this.openerMessage=null,this.finsembleWindow=null,this.spawnData={}}async spawnDialog(e,t,n,r){a.default.args(e,"object",t,"object",n,"function");const i=`DialogChannel-${(0,p.v4)()}`;e.data={inputParams:t,responseChannel:i},e.left||0===e.left||e.right||0===e.right||(e.left="center"),e.top||0===e.top||e.bottom||0===e.bottom||(e.top="center");const s=this.routerClient.addListener(i,((e,t)=>{n(e,t.data),s()})),{error:l,response:c}=await o.default.spawn("dialogTemplate",e);return l&&(u.default.system.error("DialogMangerClient.spawnDialog error spawning",l),n(l,c)),null==r||r(l,c),{err:l,data:c}}getParametersFromInDialog(){const{inputParams:e}=this.spawnData;return u.default.system.debug(`DialogManagerClient:getParametersFromInDialog: ${JSON.stringify(e)}`),e}respondAndExitFromInDialog(e){a.default.args(e,"any"),u.default.system.debug(`DialogManagerClient:respondAndExitFromInDialog: ${JSON.stringify(e)}`);const{responseChannel:t}=this.spawnData;this.routerClient.transmit(t,e)}async getAvailableDialog(e,t){if(!this.DialogStore){const e="DialogMangerClient.getAvailableDialogs() store not yet initialized}";return u.default.system.error(e),null==t||t(null),null}const{err:n,data:r}=await this.DialogStore.getGlobalValue("dialogs.available");if(n){const e=`DialogMangerClient.getAvailableDialogs() store error ${n}`;return u.default.system.error(e),null==t||t(null),null}for(const n in r){const i=r[n];if(i.componentType===e)return null==t||t(i),i}return null==t||t(null),null}generateDialogReadyChannel(e){return`Dialog.${e.windowName}.ready`}async showDialog(){var e;const t=await(0,h.getMyWindowIdentifier)(),n=this.generateDialogReadyChannel(t);this.routerClient.transmit(n,{userInputTimeout:null!==(e=this.userInputTimeout)&&void 0!==e?e:1e4})}async sendQueryToDialog(e,t,n){const r=t=>{console.warn(`No response from dialog ${e.windowName} after ${t/1e3} seconds. Check to make sure your dialog is sending back data.`)};this.moveDialogFromAvailableToOpened(e);const i=`Dialog.${e.windowName}.Show`,s=this.generateDialogReadyChannel(e);let a;const l=this.routerClient.addListener(s,(async(n,i)=>{a=setTimeout(r.bind(null,i.data.userInputTimeout),i.data.userInputTimeout),u.default.perf.info("DialogManagerClient:sendQueryToDialog:Dialog: ShowWindow Start");const{err:s,data:d}=await o.default.showWindow(e,{monitor:t.monitor||"mine",left:"center",top:"center"});if(s||!d){const t=`DialogManagerClient.sendQueryToDialog error showing window ${e.windowName} ${s}`;return u.default.system.error(t),void r(t)}const{name:f}=d.finWindow;c.FinsembleWindow.getInstance({name:f},((e,t)=>{t.bringToFront(),t.focus()})),u.default.perf.info("DialogManagerClient:sendQueryToDialog:ShowWindow finish"),l()}));u.default.perf.info("DialogManagerClient:sendQueryToDialog ShowWindow Query begin.");const{err:d,response:f}=await this.routerClient.query(i,t);clearTimeout(a),this.moveDialogFromOpenedToAvailable(e),n(d,f.data)}async moveDialogFromOpenedToAvailable(e){var t,n;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromOpenedToAvailable() store not yet initialized}";return u.default.system.error(e),e}const{err:r,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(r||!i){const e='DialogManagerClient.moveDialogFromOpenedToAvailable() no "dialogs" object returned from store';return u.default.system.error(e),e}const o=i.opened,s=i.available;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.opened",value:o}),null===(n=this.DialogStore)||void 0===n||n.setValue({field:"dialogs.available",value:s}),null}async moveDialogFromAvailableToOpened(e){var t,n;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromAvailableToOpened() store not yet initialized}";return u.default.system.error(e),e}const{err:r,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(r||!i){const e='DialogManagerClient.moveDialogFromAvailableToOpened no "dialogs" object returned from store';return u.default.system.error(e),e}const o=i.available,s=i.opened;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.available",value:o}),null===(n=this.DialogStore)||void 0===n||n.setValue({field:"dialogs.opened",value:s}),null}async registerModal(){var e,t;const n=await d.System.getMonitorInfo(),{virtualScreen:r}=n;null===(e=this.finsembleWindow)||void 0===e||e.setBounds({bounds:Object.assign(Object.assign({},r),{width:r.right-r.left,height:r.bottom-r.top})});const i=await(0,h.getMyWindowIdentifier)();return null===(t=this.DialogStore)||void 0===t||t.setValue({field:"modalIdentifier",value:i}),null}async showModal(e){if(!this.DialogStore){const t="DialogMangerClient.showModal() store not yet initialized}";return u.default.system.error(t),null==e||e(t),t}const{err:t,data:n}=await this.DialogStore.getGlobalValue("modalIdentifier");if(t||!n){const n=`DialogManagerClient.showModal() error from store: ${t}`;return u.default.system.debug(n),null==e||e(n),n}const{wrap:r}=await c.FinsembleWindow.getInstance({uuid:n.uuid,name:n.windowName});return r.updateOptions({options:{opacity:.4}},(()=>{r.show((()=>{r.bringToFront((()=>{var t;null===(t=this.finsembleWindow)||void 0===t||t.focus((()=>{var t;null===(t=this.finsembleWindow)||void 0===t||t.bringToFront(),e&&"function"==typeof e&&e()}))}))}))})),null}async open(e,t,n){const r=async()=>new Promise((r=>{this.getAvailableDialog(e,(e=>{e?(this.sendQueryToDialog(e,t,n),r(!0)):r(!1)}))}));if(await r())return null;const i=e=>new Promise((t=>setTimeout(t,e))),{error:s}=await o.default.spawn(e,{options:{customData:{foreign:{clients:{dialogManager:{isDialog:!0}}}}}});if(s){const t=`DialogManagerClient.open launching dialog "${e}" error ${s}`;return u.default.system.error(t),t}{const t=3e4;for(let e=0;e<15;e++){if(await r())return null;await i(t/15)}const n=`DialogManagerClient.open error opening dialog "${e}. The dialog launched but didn't register within ${t} ms`;return u.default.system.error(n),n}}registerDialogCallback(e){this.RESPONDER_CHANNEL&&this.routerClient.addResponder(this.RESPONDER_CHANNEL,((t,n)=>{n&&(this.openerMessage=n),e(t,n)}))}async hideModal(){if(!this.DialogStore){const e="DialogMangerClient.hideModal() store not yet initialized}";return u.default.system.error(e),e}const{err:e,data:t}=await this.DialogStore.getGlobalValue("modalIdentifier");if(e||!t){const t=`DialogManagerClient.hideModal() error from store: ${e}`;return u.default.system.debug(t),t}const{wrap:n}=await c.FinsembleWindow.getInstance({uuid:t.uuid,name:t.windowName});return n.hide(),null}respondToOpener(e){var t,n;u.default.system.info("DialogManagerClient:RespondToOpener:",e),null===(t=this.openerMessage)||void 0===t||t.sendQueryResponse(null,e),!1!==e.hideModalOnClose&&this.hideModal(),null===(n=this.finsembleWindow)||void 0===n||n.hide(),this.openerMessage=null}async registerWithStore(e){var t;if(this.isDialog){const e=await(0,h.getMyWindowIdentifier)();this.RESPONDER_CHANNEL=`Dialog.${e.windowName}.Show`,await(null===(t=this.DialogStore)||void 0===t?void 0:t.setValue({field:`dialogs.available.${e.windowName}`,value:e}))}null==e||e()}async checkIfWindowIsDialog(e){var t,n,r,i,o;if(g.Globals.finsembleWindow){const{err:s,data:a}=await g.Globals.finsembleWindow.getOptions();this.spawnData=null!==(t=null==a?void 0:a.customData)&&void 0!==t?t:{},this.isDialog=null===(o=null===(i=null===(r=null===(n=null==a?void 0:a.customData)||void 0===n?void 0:n.foreign)||void 0===r?void 0:r.clients)||void 0===i?void 0:i.dialogManager)||void 0===o?void 0:o.isDialog,null==e||e(s)}else this.isDialog=!1,null==e||e("Freestanding apps cannot be dialogs")}async createStore(e){const{err:t,data:n}=await s.default.createStore({store:"DialogStore",values:{dialogs:{opened:{},available:{}}},global:!0});t||!n?u.default.error('DialogManagerClient could not create store "DialogStore"',t):this.DialogStore=n,null==e||e()}async getFinsembleWindow(e){var t;if(this.isDialog){const{wrap:e}=await c.FinsembleWindow.getInstance({name:null===(t=this.finWindow)||void 0===t?void 0:t.name});this.finsembleWindow=e}null==e||e()}}t.DialogManagerClient=m;const w=new m;t.default=w},47913:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DistributedStoreClient=void 0;const i=n(25232),o=r(n(2518)),s=r(n(27917)),a=r(n(84795)),l=n(11314),c=()=>new Promise((e=>{l.RouterClient.subscribe("distributedStoresLoading",((t,n)=>{if(t||!n.data){const n=`Error waiting for persistent stores ${t}`;o.default.system.error(n),e(n)}"done"===n.data.State&&e(null)}))}));class u extends i._BaseClient{constructor(){super({startupDependencies:{},onReady:e=>{e&&e()},name:"distributedStoreClient"}),this.localStore={}}async getGlobalStore(e,t){if(o.default.system.info("DistributedStoreClient:getGlobalStore()",e),e.waitForPersistentStoreToLoad){const e=await c();if(e)return null==t||t(e),{err:e}}else await a.default.waitForStartup("dataStoreService");const{err:n,response:r}=await this.routerClient.query("storeService.getStore",e);if(r.data){const e=new s.default(r.data,this.routerClient,this.removeStore.bind(this));return t&&t(n,e),{err:n,data:e}}return o.default.system.error("DistributedStoreClient:getGlobalStore() Failed to get a global store",e.store,n),t&&t(n),{err:n}}async removeGlobalStore(e,t){const{err:n}=await this.routerClient.query("storeService.removeStore",e);return t&&t(n,!!n),{err:n,data:!!n}}async getStore(e,t){if(e.global)return this.getGlobalStore(e,t);{const n=e.store?this.localStore[e.store]:null;return n?(t&&t(null,n),{data:n}):this.getGlobalStore(e,t)}}async createGlobalStore(e,t){if(e.persist){const e=await c();if(e)return null==t||t(e),{err:e}}else await a.default.waitForStartup("dataStoreService");const{err:n,response:r}=await this.routerClient.query("storeService.createStore",e);if(n)return o.default.system.error("DistributedStoreClient:createStore() Failed to create a global store",e.store,n),null==t||t(n),{err:n};const i=new s.default(r.data,this.routerClient,this.removeStore.bind(this));return null==t||t(n,i),{err:n,data:i}}async createLocalStore(e,t){const n=this.localStore[e.store];if(n)return t&&t(null,n),{data:n};const r=new s.default(Object.assign(Object.assign({},e),{name:e.store}),this.routerClient,this.removeStore.bind(this));return this.localStore[r.name]=r,t&&t(null,r),{data:r}}async createStore(e,t){return o.default.system.info("DistributedStoreClient:createStore()",e),e.global?this.createGlobalStore(e,t):this.createLocalStore(e,t)}async removeStore(e,t){return e.global?this.removeGlobalStore(e,t):this.localStore[e.store]?(delete this.localStore[e.store],t&&t(null,!0),{data:!0}):{err:`Local store named ${e.store} not found`}}}t.DistributedStoreClient=u;const d=new u;t.default=d},90693:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HotkeyClient=void 0;const i=n(17187),o=n(25232),s=r(n(2518)),a=n(62711).F,l=new i.EventEmitter,c=e=>{const t=[];return e.keys.forEach((e=>{if("string"!=typeof e)return s.default.system.error("FSBL.Clients.HotkeyClient - one of the keys passed into a function was not a string: ",e);e=e.toLowerCase();const n=a[e];if(!n)return s.default.system.error(`FSBL.Clients.HotkeyClient - At least one of the key codes does not map to a supported key - registering hotkey unsuccessful. Unsupported keys: ${e}`);t.push(n)})),t};class u{constructor(){this.keyStrokeHandlers=[],this.key=null,this.shift=!1,this.ctrl=!1,this.alt=!1,this.cmd=!1,this.capsLock=!1,this.noKeyCapture=!1,this.downValue=null}registerKeyHandler(e){this.keyStrokeHandlers.push(e)}unregisterKeyHandler(e){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((t=>t.keyString!==e.keyString||t.handler!==e.handler))}unregisterAllUsersKeyHandlers(){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((e=>!0!==e.addedByUser))}keyup(e){switch(e.key){case"Shift":return this.shift=!1,void this.gotKeyStroke(e.key);case"Control":case"Alt":return this.ctrl=!1,void this.gotKeyStroke(e.key);case"Meta":case"Win":return this.cmd=!1,void this.gotKeyStroke(e.key)}this.key&&this.gotKeyStroke(this.key)}keydown(e){if(!this.noKeyCapture)switch(this.key=e.key,e.key){case"Meta":case"Win":this.cmd=!0;break;case"Shift":this.shift=!0;break;case"Control":case"Alt":this.ctrl=!0;break;case"CapsLock":this.capsLock=!this.capsLock;break;case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"Up":case"Down":case"Left":case"Right":this.key=null,this.gotKeyStroke(e.key)}}keypress(e){if(this.noKeyCapture)return;const t=e.which;t<32||t>222||(this.key=e.key)}gotKeyStroke(e){const t=[e];this.ctrl&&t.push("control"),this.shift&&t.push("shift"),this.alt&&t.push("alt"),this.cmd&&t.push("command");const n=t.sort().toString();this.keyStrokeHandlers.forEach((e=>{const t=e.keyString.toUpperCase(),r=n.toUpperCase();r!==t&&r.replace(/(CONTROL|COMMAND)/,"COMMANDORCONTROL")!==t||e.handler()}))}initialize(){document.addEventListener("keyup",(e=>{this.keyup(e)})),document.addEventListener("keydown",(e=>{this.downValue=e.key,this.keydown(e)})),document.addEventListener("keypress",(e=>{this.keypress(e)})),window.addEventListener("blur",(()=>{this.ctrl=!1,this.gotKeyStroke("Control")}))}}class d extends o._BaseClient{constructor(){super({onReady:e=>{this.start(),null==e||e()},name:"hotkeyClient"}),this.localListeners={},this.keyStrokes=null}async addLocalHotkey(e,t,n){return s.default.system.info("HotkeyClient.addLocalHotkey"),s.default.system.debug("HotkeyClient.addLocalHotkey, keyArr: ",e),this.addBrowserHotkey(e,t,!0),null==n||n(null),{err:null}}addBrowserHotkey(e,t,n){this.keyStrokes||(this.keyStrokes=new u,this.keyStrokes.initialize());const r=c({keys:e}).sort().toString();this.keyStrokes.registerKeyHandler({keyString:r,handler:t,addedByUser:n})}removeBrowserHotkey(e,t){var n;s.default.system.info("HotkeyClient.removeBrowserHotkey"),s.default.system.debug("HotkeyClient.removeBrowserHotkey, keyArr: ",e);const r=c({keys:e}).sort().toString();null===(n=this.keyStrokes)||void 0===n||n.unregisterKeyHandler({keyString:r,handler:t})}async removeLocalHotkey(e,t,n){return s.default.system.info("HotkeyClient.removeLocalHotkey"),s.default.system.debug("HotkeyClient.removeLocalHotkey, keyArr: ",e),this.removeBrowserHotkey(e,t),null==n||n(null),{err:null}}async addGlobalHotkey(e,t,n){s.default.system.info("HotkeyClient.addGlobalHotkey"),s.default.system.debug("HotkeyClient.addGlobalHotkey, keyArr: ",e);const r=c({keys:e}).sort().join("+");l.addListener(r,t);const{err:i}=await this.routerClient.query("hotkeysService.registerGlobalHotkey",{keys:r,windowName:this.windowName});return null==n||n(i),{err:i}}async removeGlobalHotkey(e,t,n){s.default.system.info("HotkeyClient.removeGlobalHotkey"),s.default.system.debug("HotkeyClient.removeGlobalHotkey, keyArr: ",e);const r=c({keys:e}).sort().join("+");l.removeListener(r,t);const{err:i}=await this.routerClient.query("hotkeysService.unregisterGlobalHotkey",{keys:r,windowName:this.windowName});return null==n||n(i),{err:i}}async removeAllHotkeys(e){var t;l.removeAllListeners();const{err:n}=await this.routerClient.query("hotkeysService.removeAllHotkeysForWindow",{windowName:this.windowName});return null===(t=this.keyStrokes)||void 0===t||t.unregisterAllUsersKeyHandlers(),null==e||e(n),{err:n}}start(){this.routerClient.addListener("HotkeyTriggered",((e,t)=>{e?console.error(`Hotkey Channel Error: ${JSON.stringify(e)}`):(null==t?void 0:t.data.windows.includes(this.windowName))&&l.emit(t.data.keys)}))}onClose(e){this.removeAllHotkeys(e)}}t.HotkeyClient=d;const f=new d;t.default=f},49136:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LauncherClient=t.isMouseOverDOMElement=t.isPointInBox=t.getDesktopBoundingBox=void 0;const i=n(25232),o=n(23099),s=r(n(20670)),a=n(91374),l=r(n(2518)),c=n(24074),u=n(44137),d=r(n(84795)),f=n(24137),h=n(94017),p={},{finsembleWindow:g}=u.FEAGlobals;t.getDesktopBoundingBox=async e=>{var t,n;const r="string"==typeof e?document.querySelector(e):e;r||l.default.system.error("getDesktopBoundingBox can't find element",e);const i=r?r.getBoundingClientRect():{top:0,left:0,width:0,height:0},o=await g.getBounds(),s=o.data;o.err&&l.default.system.error("getDesktopBoundingBox: finsembleWindow.getBounds() error",o.err);const a=null!==(t=null==s?void 0:s.top)&&void 0!==t?t:0,c=null!==(n=null==s?void 0:s.left)&&void 0!==n?n:0,u={top:a+i.top,left:c+i.left,width:i.width,height:i.height,right:0,bottom:0};return u.right=u.left+u.width,u.bottom=u.top+u.height,u},t.isPointInBox=(e,t)=>(t.bottom||(t.bottom=t.top+t.height),t.right||(t.right=t.left+t.width),e.x>t.left&&e.x<t.right&&e.y<t.bottom&&e.y>t.top),t.isMouseOverDOMElement=async(e,n=Function.prototype)=>{const r=await(0,t.getDesktopBoundingBox)(e),i=await a.System.getMousePosition(),o=(0,t.isPointInBox)(i,r);return n(o),o};class m extends i._BaseClient{constructor(){super({onReady:e=>{l.default.system.debug("launcherClient ready",window.name),this.start(e)},name:"launcherClient"})}async getComponentList(e){s.default.args(e,"function="),await d.default.waitForStartup("windowService");const{err:t,response:n}=await this.routerClient.query("Launcher.componentList",{});return null==e||e(t,n.data),{err:t,data:n.data}}async getComponentDefaultConfig(e,t){s.default.args(t,"function=");const{err:n,data:r}=await this.getComponentList(),i=null==r?void 0:r[e];return null==t||t(n,i),{err:n,data:i}}async getMonitorInfoAll(e){return l.default.system.debug("LauncherClient.getMonitorInfoAll()"),(0,h.getAllMonitorsClientSide)(this.routerClient,e)}async getMonitorInfo(e={},t){return l.default.system.debug("LauncherClient.getMonitorInfo()"),"all"===e.monitor?(l.default.deprecated('Use of type "all" in LauncherClient.getMonitorInfo() is deprecated. Pleae use LauncherClient.getMonitorInfoAll()'),this.getMonitorInfoAll(t)):(0,h.getWhichMonitorClientSide)(this.routerClient,e,t)}async registerComponent(e,t){await d.default.waitForStartup("windowService");const{err:n,response:r}=await this.routerClient.query("LauncherService.registerComponent",e);return null==t||t(n,r.data),{err:n,data:r.data}}async unRegisterComponent(e,t){if(!e.componentType){const e="No componentType provided";return null==t||t(e),{err:e}}await d.default.waitForStartup("windowService");const{err:n,response:r}=await this.routerClient.query("LauncherService.unRegisterComponent",e);return null==t||t(n,r.data),{err:n,data:r.data}}locatorToIdentifier(e){let t={};return t.windowName="windowName"in e?e.windowName:"","componentType"in e&&(t.componentType=e.componentType),"uuid"in e&&(t.uuid=e.uuid),t}toggleWindowOnClick(e,n,r){var i,o;const s=this.locatorToIdentifier(n),a=null!==(o=null!==(i=s.windowName)&&void 0!==i?i:s.componentType)&&void 0!==o?o:"";!1!==p[a]?(r.position||(r.position="absolute"),this.showWindow(n,r,((n,r)=>{if(!r)return;const{finWindow:i}=r,o=()=>{p[a]=!0,(0,t.isMouseOverDOMElement)(e,(e=>{p[a]=!e})),i.removeEventListener("blurred",o)};i.addEventListener("blurred",o)}))):p[a]=!0}async showWindow(e,t,n){s.default.args(e,"object",t,"object=",n,"function="),t||(t={}),(t=(0,o.clone)(t)).staggerPixels||0===t.staggerPixels||(t.staggerPixels=100),t.windowIdentifier=this.locatorToIdentifier(e);const r=await(0,o.getMyWindowIdentifier)();t.relativeWindow||(t.relativeWindow=r),await d.default.waitForStartup("windowService");const{err:i,response:a}=await this.routerClient.query("Launcher.showWindow",t);if(i)return null==n||n(i),{err:i};{const e=a.data.windowIdentifier.windowName,{wrap:t}=await c.FinsembleWindow.getInstance({name:e}),r=Object.assign(Object.assign({},a.data),{windowIdentifier:Object.assign(Object.assign({},a.data.windowIdentifier),{name:e}),finWindow:t});return null==n||n(i,r),{err:i,data:r}}}async callSpawn(e){const t=e=>new Promise((t=>{const n=this.routerClient.subscribe(`Finsemble.${e}.componentReady`,((e,r)=>{e||!r.data?(l.default.system.error(`RouterClient.callSpawn() Error subscribing for component ready state ${e}`),t(e)):Object.keys(r.data).length&&(this.routerClient.unsubscribe(n),t(null))}))}));await d.default.waitForStartup("windowService");const{err:n,response:r}=await this.routerClient.query("Launcher.spawn",e);if(l.default.system.debug("CallSpawn","Initial launcher callback params",n,r),n||!r)return{err:null!=n?n:'Internal error: callSpawn(): No data returned from service for "Launcher.spawn"'};{const{data:e}=r;let i,o=[];Array.isArray(e)?(o=e.reduce(((e,t)=>(e.push(t.windowIdentifier.windowName),e)),[]),i=e[0]):i=e;const s=i.windowIdentifier.windowName,{wrap:a}=await c.FinsembleWindow.getInstance({name:s}),u=Object.assign(Object.assign({},i),{windowIdentifier:Object.assign(Object.assign({},i.windowIdentifier),{name:s}),finWindow:a});if(o.length>0&&(u.launchGroupWindows=o),u.windowDescriptor.native)return{err:n,result:u};{l.default.system.debug("CallSpawn","Waiting for ready signal",s);const e=await t(s);return l.default.system.debug("CallSpawn","Got ready signal",s),{err:e,result:u}}}}async spawn(e,t,n){s.default.args(e,"string",t,"object=",n,"function="),t||(t={}),(t=(0,o.clone)(t)).component=e,t.options||(t.options={}),t.options.customData||(t.options.customData={}),t.staggerPixels||0===t.staggerPixels||(t.staggerPixels=50),l.default.system.debug(`LauncherClient.spawn starting for componentType:${e}`);const r=await(0,o.getMyWindowIdentifier)();t.launchingWindow=r;const{err:i,result:a}=await this.callSpawn(t);return l.default.system.debug(`LauncherClient.spawn completing for componentType:${e}`,i),null==n||n(i,a),{error:i,response:a}}async getMonitor(e,t){return l.default.system.deprecated("This method is deprecated and will be removed in a future release. Use the method getMonitorInfo instead."),s.default.args(t,"function="),this.getMonitorInfo({windowIdentifier:e},t)}async getMyWindowIdentifier(e){s.default.args(e,"function=");const t=await(0,o.getMyWindowIdentifier)();return null==e||e(t),t}async getActiveDescriptors(e){s.default.args(e,"function="),await d.default.waitForStartup("windowService");const{err:t,response:n}=await this.routerClient.query("Launcher.getActiveDescriptors",{});return t&&l.default.system.error(t),null==e||e(t,n.data),{err:t,data:n.data}}getActiveAndPendingWindowNames(e=Function.prototype){return l.default.deprecated("LauncherClient.getActiveAndPendingWindowNames is deprecated and will be removed"),(0,f.deprecatedGetActiveAndPendingWindowNames)(this.routerClient,e)}async getPendingWindows(){l.default.deprecated("LauncherClient.getPendingWindows is deprecated and will be removed"),await d.default.waitForStartup("windowService");const{err:e,response:t}=await this.routerClient.query("Launcher.getPendingWindows",{});return{err:e,data:t.data}}async addUserDefinedComponent(e,t){s.default.args(t,"function="),await d.default.waitForStartup("windowService");const{err:n}=await this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"add",name:e.name,url:e.url});return n&&l.default.system.error(n),null==t||t(n),{err:n}}async removeUserDefinedComponent(e,t){s.default.args(t,"function="),await d.default.waitForStartup("windowService");const{err:n}=await this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"remove",name:e.name,url:e.url});return n&&l.default.system.error(n),null==t||t(n),{err:n}}getComponentsThatCanReceiveDataTypes(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.getComponentsThatCanReceiveDataTypes is deprecated and will be removed"),new Promise((n=>{if(!e||!e.dataTypes){const e="Invalid params. Expected: {dataTypes: string[]}";return t(e),n({err:e})}Array.isArray(e.dataTypes)||(e.dataTypes=[e.dataTypes]),this.routerClient.query("LauncherService.getComponentsThatCanReceiveDataTypes",e,((e,r)=>{t(e,r.data),n({err:e,data:r.data})}))}))}async bringWindowsToFront(e={},t=Function.prototype){return s.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&s.default.args(e.groupName,"string"),e.componentType&&s.default.args(e.componentType,"string"),await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.bringWindowsToFront",e,((e,n)=>{t(e,n)})),Promise.resolve()}async hyperFocus(e,t){l.default.system.deprecated("hyperFocus is deprecated as of version 4.0.0. This functionality may be removed in a future release"),s.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]);const n=await(0,o.getMyWindowIdentifier)();e.windowList||e.groupName||e.componentType||(e.windowList=n?[n]:[]),e.groupName&&s.default.args(e.groupName,"string"),e.componentType&&s.default.args(e.componentType,"string"),await d.default.waitForStartup("windowService"),await this.routerClient.transmit("LauncherService.hyperFocus",e),null==t||t()}async minimizeWindows(e,t){s.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&s.default.args(e.groupName,"string"),e.componentType&&s.default.args(e.componentType,"string"),await d.default.waitForStartup("windowService"),this.routerClient.transmit("LauncherService.minimizeWindows",e),null==t||t()}createWindowGroup(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.createWindowGroup is deprecated and will be removed"),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList],delete e.groupName),s.default.args(e.groupName,"string"),new Promise((async n=>{if(!e.groupName){const e="Invalid Parameters";return n({err:e}),void t(e)}await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.createWindowGroup",e,((e,r)=>{t(e,r),n({err:e,data:r})}))}))}addWindowsToGroup(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.addWindowsToGroup is deprecated and will be removed"),new Promise((async n=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return n({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),s.default.args(e.groupName,"string"),await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.addWindowsToGroup",e,((e,r)=>{t(e,r),n({err:e,data:r})}))}))}removeWindowsFromGroup(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.removeWindowsFromGroup is deprecated and will be removed"),new Promise((async n=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return n({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.removeWindowsFromGroup",e,((e,r)=>{t(e,r),n({err:e,data:r})}))}))}getGroupsForWindow(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.getGroupsForWindow is deprecated and will be removed"),"function"==typeof e&&(t=e,e=null),new Promise((async n=>{e&&e.windowIdentifier?(await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.getGroupsForWindow",e,((e,r)=>{n({err:e,data:r.data}),t(e,r.data)}))):g.getComponentState({field:"finsemble:windowGroups"},((e,r)=>{n({err:e,data:r}),t(e,r)}))}))}async addToGroups(e,t){var n;s.default.args(t,"function="),s.default.args(e.groupNames,"array"),l.default.deprecated("LauncherClient.addToGroups is deprecated and will be removed");const r=await(0,o.getMyWindowIdentifier)();e.windowIdentifier=null!==(n=e.windowIdentifier)&&void 0!==n?n:r,await d.default.waitForStartup("windowService");const{err:i}=await this.routerClient.query("LauncherService.addWindowToGroups",e);return null==t||t(i),{err:i}}_createWrap(e,t){this.routerClient.query("LauncherService.createWrap",e,t)}start(e){if(g){const e=async()=>{await d.default.waitForStartup("windowService"),this.routerClient.subscribe(`Finsemble.LauncherService.updateGroups.${this.windowName}`,((e,t)=>{Array.isArray(t.data)&&g.setComponentState({field:"finsemble:windowGroups",value:t.data})}))};g.getComponentState({field:"finsemble:windowGroups"},((t,n)=>{if(!t&&n)return this.addToGroups({groupNames:n},e);e()}))}setInterval((()=>{this.routerClient.transmit("Finsemble.heartbeat",{type:"component",windowName:this.windowName,componentType:"finsemble",isBrowserView:a.System.isBrowserView()})}),1e3),e()}}t.LauncherClient=m;const w=new m;t.default=w},2518:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LoggerClient=t.LocalLogger=t.LoggerConnection=void 0;const i=n(91374),o=n(10166),s=n(31219),a=r(n(11314)),l=n(7860),c=n(23493),u=n(96486),d={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!1,LocalOnly:!1},f=1e4,h={console:{Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!0,LocalOnly:!1},dev:d,system:d,perf:d},p=()=>{const{stack:e}=function(){try{throw Error("")}catch(e){return e}}();let t=6;e.includes("console.error")&&t++;const n=("\n",r=t,e.split("\n",r).join("\n").length);var r;return`Log Stack: \n${e.substring(n).substr(1)}`},g=e=>{const t=[],n=[e];let r=0,i=0;for(;n.length&&i<1e3;){i++;const e=n.pop();if("boolean"==typeof e)r+=4;else if("string"==typeof e)r+=2*e.length;else if("number"==typeof e)r+=8;else if("object"==typeof e&&-1===t.indexOf(e)){t.push(e);for(const t in e)n.push(e[t])}}return r},m=(e,t,n=0,r=1)=>{const i=t/2,o=i/2,s="*STRIPPED*",a=e=>{let t=g(e);e.length>0&&t>o&&(e[0]=m(e[0],i,n,r+1),e[1]=`*STRIPPED* from size ${e.length}`,e.length=2)};let l=(0,u.cloneDeep)(e);if("object"!=typeof l)l=s,n+=g(l);else if(Array.isArray(l))a(l),n+=g(l);else{let e=Object.getOwnPropertyNames(l);for(let c=0;c<e.length;c++){let u=g(l[e[c]]);n>i&&u>100&&r>=3&&c>=1||n>f&&u>=10?l[e[c]]=s:u>o&&(Array.isArray(l[e[c]])?a(l[e[c]]):l[e[c]]=m(l[e[c]],t/1.2,n,r+1)),n+=g(l[e[c]])}}return l},w=e=>"logger.service.logMessages"===e||"Finsemble.heartbeat"===e,v=console.error.bind(window.console);console.standardError=console.error;class y{constructor(){this.routerClient=null,this.viewId=null,this.isRegistering=!1,this.isRegistered=!1,this.calibratedTimeStampOffset=0,this.newCalibratedTimeStampOffset=0,this.filteredMessagesCounter=0,this.startupTime=0,this.loggerQueue=[],this.loggerClientName=i.System.Window.getCurrent().name,this.onLogStateChangeCallback=[],this.currentLogState=h,this.setRouterClient=e=>{this.routerClient=e},this.system={error:(...e)=>{this.logIt("system","Error",e)},warn:(...e)=>{this.logIt("system","Warn",e)},info:(...e)=>{this.logIt("system","Info",e)},log:(...e)=>{this.logIt("system","Log",e)},debug:(...e)=>{this.logIt("system","Debug",e)},verbose:(...e)=>{this.logIt("system","Verbose",e)},deprecated:(...e)=>{this.logIt("system","Error",e)}},this.perf={error:(...e)=>{this.logIt("perf","Error",e)},warn:(...e)=>{this.logIt("perf","Warn",e)},info:(...e)=>{this.logIt("perf","Info",e)},log:(...e)=>{this.logIt("perf","Log",e)},debug:(...e)=>{this.logIt("perf","Debug",e)},verbose:(...e)=>{this.logIt("perf","Verbose",e)},deprecated:(...e)=>{this.logIt("perf","Error",e)}},this.console={error:(...e)=>{this.logIt("console","Error",e)},warn:(...e)=>{this.logIt("console","Warn",e)},info:(...e)=>{this.logIt("console","Info",e)},log:(...e)=>{this.logIt("console","Log",e)},debug:(...e)=>{this.logIt("console","Debug",e)},verbose:(...e)=>{this.logIt("console","Verbose",e)},deprecated:(...e)=>{this.logIt("console","Error",e)}};const e="routerService"===this.loggerClientName?100:250;this.transmitAndClearQueue=c((()=>{var e;this.loggerQueue.length>0&&(null===(e=this.routerClient)||void 0===e||e.transmit("logger.service.logMessages",this.loggerQueue),this.loggerQueue=[])}),e,{leading:!1})}updateQueueBasedOnState(e){const{loggerQueue:t,currentLogState:n,calibratedTimeStampOffset:r}=this;this.system.debug("Logger updateQueueBasedOnState",e,r,"QUEUE LENGTH",t.length,n),this.loggerQueue=t.flatMap((t=>{if(n[t.category][t.logType]){if(!n[t.category].LocalOnly)return e&&(t.logTimestamp=t.logTimestamp+r),[t];console.log(t.category,t.logType,t.logTimestamp-s.Performance.timing.navigationStart,t.logData,"(Previously queued!)")}return[]}))}onStateChanged(e){-1===this.onLogStateChangeCallback.indexOf(e)&&this.onLogStateChangeCallback.push(e)}setLogState(e,t){e&&e.dev&&(this.currentLogState=e,this.onLogStateChangeCallback.forEach((t=>{t(e)}))),this.updateQueueBasedOnState(t)}addToQueue(e){const{loggerQueue:t}=this;if(t.length<2e4)t.push(e);else{console.error("Logging Queue Overflowed! Dumping queue here then continuing",t.length);let e,n=0;for(;e=t.shift();)console.log("Message "+n++,e);this.system.error("Logging Queue Overflowed! Dumping queue in client then continuing.")}}callStack(){return p()}setting(){return this.currentLogState}outputToConsole(e,t){const n={Debug:console.debug,Info:console.info,Warn:console.warn,Error:v,Log:console.log,Verbose:console.log};try{n[e](...t)}catch(e){v("Error outputting log to console",e,p())}}formatAndQueueMessage(e,t,n){var r;const o="forceObjectsToLogger"===n[0],a=n.flatMap((e=>{if(!o&&g(e)>f){this.outputToConsole("Warn",["Message too large to send to the logger.",...n]);let t=m(e,f);return["NOTE: LOG ARG STRIPPED since greater than 10KB. Check origin's local Console to see output of the complete object.",`OldSize=${g(e)} NewSize=${g(t)}`,t]}return e instanceof Error?[e.toString()]:"forceObjectsToLogger"===e?[]:[e]}));let l=null;try{l=JSON.stringify(a)}catch(e){l=`*** Logger error can't JSON.stringify: ${p()}`}"Error"!==t&&"Warn"!==t&&"console"!==e||this.outputToConsole(t,n);const c=null!==(r=this.viewId)&&void 0!==r?r:i.System.isBrowserView()&&i.System.getWebContentsId(),u={category:"console"===e?"system":e,logType:t,logClientName:c?`${this.loggerClientName}: view-${c}`:this.loggerClientName,logData:l,logTimestamp:s.Performance.timing.navigationStart+s.Performance.now()+this.calibratedTimeStampOffset};c&&(u.viewId=c),this.addToQueue(u),this.isRegistered&&this.transmitAndClearQueue()}logIt(e,t,n){if(this.currentLogState[e][t])if("Warn"!==t&&"Error"!==t||n.push(p()),this.currentLogState[e].LocalOnly){const r=t.toLowerCase();n.unshift(`${e} ${r} (${s.Performance.now()}):`),this.outputToConsole(t,n)}else this.formatAndQueueMessage(e,t,n)}error(...e){this.logIt("dev","Error",e)}warn(...e){this.logIt("dev","Warn",e)}info(...e){this.logIt("dev","Info",e)}log(...e){this.logIt("dev","Log",e)}debug(...e){this.logIt("dev","Debug",e)}verbose(...e){this.logIt("dev","Verbose",e)}deprecated(...e){this.logIt("dev","Error",e)}completeRegistration(e){this.loggerQueue.forEach((e=>{this.viewId&&(e.viewId=this.viewId)})),this.isRegistered=!0,e?"routerService"!==this.loggerClientName?(this.calibratedTimeStampOffset=this.newCalibratedTimeStampOffset,this.setLogState(e,!0)):this.setLogState(e,!1):console.error("Logger.startLogger() Initial state not received from logger service"),this.formatAndQueueMessage("system","Debug",["Logger Registered"]),this.transmitAndClearQueue()}registerWithLoggerService(){var e;const{windowName:t,webContentsName:n}=o.Startup.getInstance().getStartupData();this.loggerClientName=window&&window.top!==window?`${t}.Frame`:t;const r=`finsemble.logger.client.${this.loggerClientName}`;!this.viewId&&i.System.isBrowserView()&&(this.viewId=i.System.getWebContentsId()),this.system.debug("logger.service.registering",this.loggerClientName),i.System.Window.getCurrent().getOptions((async e=>{var i,o;const s=null===(o=null===(i=null==e?void 0:e.customData)||void 0===i?void 0:i.component)||void 0===o?void 0:o.centralLoggerNamePrefix;if(!this.routerClient)return;const{err:a,response:l}=await this.routerClient.query("logger.service.register",{clientName:this.loggerClientName,clientChannel:r,displayName:null!=n?n:t,windowName:t,viewId:this.viewId,centralLoggerNamePrefix:s});a?(console.warn("Logger service not available. Trying to connect again in 750ms.",a),setTimeout((()=>{this.registerWithLoggerService()}),750)):this.completeRegistration(l.data)})),null===(e=this.routerClient)||void 0===e||e.addListener(r,((e,t)=>{this.system.debug("logger.client.setLogState",t.data),this.setLogState(t.data,!1)}))}unregisterClient(e,t){var n;this.system.debug("logger.service.unregister",this.loggerClientName,e,this.viewId),this.transmitAndClearQueue();const r=e||{clientName:this.loggerClientName,viewId:this.viewId};null===(n=this.routerClient)||void 0===n||n.query("logger.service.unregister",r,t)}waitForServiceAndCalibrate(){var e;const t=null===(e=this.routerClient)||void 0===e?void 0:e.subscribe("Finsemble.Service.State.loggerService",((e,n)=>{var r,i;"ready"===n.data.state&&(this.system.debug("Logger onReady",this.loggerClientName),null===(r=this.routerClient)||void 0===r||r.calibrateTimeWithRouterService((e=>{this.newCalibratedTimeStampOffset=e,this.isRegistering||(this.isRegistering=!0,this.startupTime=performance.now()-this.startupTime,this.registerWithLoggerService())})),t&&(null===(i=this.routerClient)||void 0===i||i.unsubscribe(t)))}))}async start(e){if(this.routerClient=null!=e?e:a.default,this.startupTime=performance.now(),"routerService"===window.name){const{err:e}=await this.routerClient.query("logger.service.register",{});e?setTimeout((()=>{this.waitForServiceAndCalibrate()}),750):this.waitForServiceAndCalibrate()}else this.waitForServiceAndCalibrate();i.System.isBrowserView()&&window.addEventListener("beforeunload",(()=>{this.unregisterClient()}))}}t.LoggerConnection=y;const b={start:e=>{(0,l.singleton)("LoggerClient",y).start(e)},channelFilter:e=>w(e),setting:()=>(0,l.singleton)("LoggerClient",y).setting(),callStack:()=>(0,l.singleton)("LoggerClient",y).callStack(),unregisterClient:(e,t)=>{(0,l.singleton)("LoggerClient",y).unregisterClient(e,t)},setRouterClient:e=>{(0,l.singleton)("LoggerClient",y).setRouterClient(e)},onStateChanged(e){(0,l.singleton)("LoggerClient",y).onStateChanged(e)},error:(...e)=>(0,l.singleton)("LoggerClient",y).error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).deprecated(...e),system:{error:(...e)=>(0,l.singleton)("LoggerClient",y).system.error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).system.warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).system.info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).system.log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).system.debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).system.verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).system.deprecated(...e)},perf:{error:(...e)=>(0,l.singleton)("LoggerClient",y).perf.error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).perf.warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).perf.info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).perf.log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).perf.debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).perf.verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).perf.deprecated(...e)},console:{error:(...e)=>(0,l.singleton)("LoggerClient",y).console.error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).console.warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).console.info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).console.log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).console.debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).console.verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).console.deprecated(...e)}};i.System.isBrowserView()?b.console.log("Logger client console.error is not wrapped to capture logs."):(b.console.log("Logger client console.error is wrapped to capture logs."),console.error=function(...e){let t;e.push("(console error)");try{t=JSON.parse(JSON.stringify(e))}catch(n){t="console.error: arguments could not be serialized for logging",e.push("arguments could not be serialized to send to Central Logger"),v(...e)}b.console.error(...t)}),window.addEventListener("error",(e=>{(null==e?void 0:e.message)&&(null==e?void 0:e.filename)?b.console.error(`Logger client caught ErrorEvent. Error: ${e.message}`,`File: ${e.filename}`,`Line number: ${e.lineno}`):(b.console.warn(`Logger client caught what is likely a DOM error event where type=${null==e?void 0:e.type} and target=${null==e?void 0:e.target}. Probably due to <img> or <script> failing to load. See component's browserView window for more details.`),console.warn("Event Details (for above message)",e))}),!0),window.addEventListener("unhandledrejection",(e=>{b.console.error("Logger client caught Unhandled rejection","reason",e.reason,JSON.stringify(e))}),!0),t.LocalLogger={start:()=>{},channelFilter:w,setting:()=>h,callStack:()=>p(),unregisterClient:()=>{},setRouterClient:()=>{},onStateChanged:()=>{},warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error,system:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},perf:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},console:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error}};const S="undefined"==typeof window;t.LoggerClient=S?t.LocalLogger:b,t.Logger=t.LoggerClient,t.default=t.LoggerClient},11314:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RouterClient=t.RouterController=t.RouterConnection=void 0;const i=r(n(78268)),o=r(n(20670)),s=r(n(16994)),a=n(2518),l=n(44137),c=n(31219),u=n(21614),d=n(7860);function f(e,t={}){if(null===e||"object"!=typeof e)return e;if(e.constructor==Date||e.constructor==RegExp||e.constructor==Function||e.constructor==String||e.constructor==Number||e.constructor==Boolean)return new e.constructor(e);t=t||new e.constructor;for(const n in e)t[n]=void 0===t[n]?f(e[n],null):t[n];return t}class h{constructor(){this.queue=[],this.started=!1,this.clientName="RouterClient.clientName not yet set",this.transport=null,this.isRouterReady=!1,this.parentReadyCallbackQueue=[],this.notificationURL="",this.mapListeners={},this.mapQueryResponders={},this.mapPubSubResponders={},this.mapPubSubResponderState={},this.mapPubSubResponderRegEx={},this.pubsubListOfSubscribers={},this.mapSubscribersID={},this.mapSubscribersTopic={},this.mapQueryResponses={},this.mapQueryResponseTimeOut={}}onReadyCallBack(){for(a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient Ready"),this.isRouterReady=!0;this.parentReadyCallbackQueue.length>0;){a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient parentReady invoked");const e=this.parentReadyCallbackQueue.shift();null==e||e()}}sendToRouterService(e){this.transport?this.transport.send(e):(a.LoggerClient.system.info("RouterClient: Queuing message since router initialization not complete",e),this.queue.push(e))}originatedHere(e){return e.header.origin===this.clientName}invokeListeners(e){const{channel:t,origin:n}=e.header,r=this.mapListeners[t]||[];Array.isArray(r)&&0!==r.length?(e.originatedHere=()=>this.originatedHere(e),r.forEach((r=>{a.LoggerClient.channelFilter(t)||a.LoggerClient.system.info("RouterClient: incoming transmit","CHANNEL",t,"FROM",n,"MESSAGE",e),r(null,e)}))):a.LoggerClient.system.log(`RouterClient: no listener for incoming transmit on channel ${t} from ${n}. Possibly the listener was removed while this message was in transit.`,e)}invokeResponder(e){const{channel:t,origin:n,queryID:r,error:i}=e.header;a.LoggerClient.system.info("RouterClient: incoming query","CHANNEL",t,"FROM",n,"QUERY MESSAGE",e);const o=(e,n)=>{a.LoggerClient.system.info("RouterClient: outgoing query response","CHANNEL",t,"RESPONSE DATA",n,"QUERY ID",r);let i={header:{origin:this.clientName,queryID:r,type:"queryResponse"},data:n};i.header.error=e?e.toString():null,this.sendToRouterService(i)},s=this.mapQueryResponders[t];void 0===s?e.header.logWhenNoResponder&&a.LoggerClient.system.warn(`RouterClient: No query responder defined on channel ${t} for incoming from ${n}.`,e):i?(a.LoggerClient.system.warn("RouterClient: queryResponder error",e),s(i),delete this.mapQueryResponders[t]):s(null,Object.assign(Object.assign({},e),{originatedHere:()=>this.originatedHere(e),sendQueryResponse:(e,t)=>{o(e,t)}}))}invokeQueryResponse(e){var t;a.LoggerClient.system.info("RouterClient: incoming query response","CHANNEL",e.header.channel,"QUERY ID",e.header.queryID,"message",e);const{queryID:n}=e.header,r=this.mapQueryResponseTimeOut[n];delete this.mapQueryResponseTimeOut[n],r&&clearTimeout(r);const i=this.mapQueryResponses[n];i?(delete this.mapQueryResponses[n],i(null!==(t=e.header.error)&&void 0!==t?t:null,e)):a.LoggerClient.system.warn("Invariant: RouterClient: no handler found for incoming query response.",e)}invokeNotifyCallback(e){const{subscribeID:t,error:n}=e.header,r=this.mapSubscribersID[t];r?n?(a.LoggerClient.system.info("RouterClient: incoming PubSub notify error for subscriberID","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),r(n,e)):(e.originatedHere=()=>this.originatedHere(e),a.LoggerClient.system.info("RouterClient: incoming PubSub notify","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),r(null,e)):a.LoggerClient.system.info("RouterClient: no subscription handler defined for incoming notify for subscriberID. Possibly the subscription was removed while this publish was in transit.",t,e)}findResponder(e){const t=this.mapPubSubResponders[e];if(t)return t;for(const t in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[t].test(e))return this.mapPubSubResponders[t]}invokePublishEvent(e){const{topic:t}=e.header;let n=this.findResponder(t);if(n){const r=(e,n,r)=>{var i;n?a.LoggerClient.system.warn("RouterClient: incoming publish rejected by pubsub responder",n,r):(this.mapPubSubResponderState[t]=r,(null!==(i=this.pubsubListOfSubscribers[t])&&void 0!==i?i:[]).forEach((e=>{a.LoggerClient.system.info("RouterClient: sending pubsub notify","TOPIC",t,"NOTIFY DATA",r);const n={header:{origin:this.clientName,type:"notify",topic:t,subscribeID:e},data:r};this.sendToRouterService(n)})))};if(a.LoggerClient.system.info("RouterClient: incoming PubSub publish "+(n.publishCallback?"(publishCallback hook invoked)":""),"TOPIC",t,"PUBLISH MESSAGE",e),n.publishCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToAllSubscribers:(t,n)=>{r(e,t,n)}});n.publishCallback(null,t)}else r(e,null,e.data)}else a.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming publish","TOPIC",t,"PUBLISH MESSAGE",e)}invokeSubscribeEvent(e){var t;const{topic:n,error:r}=e.header;a.LoggerClient.system.info("RouterClient: PubSub subscribe","TOPIC",n);let i=this.mapPubSubResponders[n];if(!i)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(n)){i=this.mapPubSubResponders[e],this.mapPubSubResponderState[n]=null!==(t=this.mapPubSubResponderState[n])&&void 0!==t?t:this.mapPubSubResponderState[e];break}if(i)if(r)a.LoggerClient.system.warn(`RouterClient: pubsub error received from router service: ${r}`,e);else if(i.subscribeCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToSubscriber:(t,n)=>{this.sendNotifyToSubscriber(e,t,n)}});e.data=this.mapPubSubResponderState[n],i.subscribeCallback(null,t)}else this.sendNotifyToSubscriber(e,null,this.mapPubSubResponderState[n]);else a.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming subscribe event",e)}invokeUnsubscribeEvent(e){const{topic:t,subscribeID:n}=e.header;let r=this.findResponder(t);if(!r)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(t)){r=this.mapPubSubResponders[e];break}if(r)if(a.LoggerClient.system.info("RouterClient: incoming unsubscribe "+(r.unsubscribeCallback?"with unsubscribeCallback hook":""),"TOPIC",t,"UNSUBSCRIBE MESSAGE",e),r.unsubscribeCallback){const i=Object.assign(Object.assign({},e),{removeSubscriber:()=>{this.removeSubscribers(t,n)}});r.unsubscribeCallback(null,i)}else this.removeSubscribers(t,n);else a.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming unsubscribe event","TOPIC",t,"UNSUBSCRIBE MESSAGE",e)}sendNotifyToSubscriber(e,t,n){const{topic:r,subscribeID:i}=e.header;if(void 0!==n){let e={header:{origin:this.clientName,type:"notify",topic:r,subscribeID:i},data:n};t&&(e.header.error=t),this.sendToRouterService(e)}t?a.LoggerClient.system.warn("RouterClient: incoming subscription rejected by pubsub responder","TOPIC",r,"MESSAGE",this):(r in this.pubsubListOfSubscribers?this.pubsubListOfSubscribers[r].push(i):this.pubsubListOfSubscribers[r]=[i],a.LoggerClient.system.info("RouterClient: incoming subscription added","TOPIC",r,"MESSAGE"))}removeSubscribers(e,t){let n=!1;if(e in this.pubsubListOfSubscribers){const r=this.pubsubListOfSubscribers[e];for(let i=0;i<r.length;i++)if(t===r[i]){r.splice(i,1),0===r.length&&delete this.pubsubListOfSubscribers[e],n=!0,a.LoggerClient.system.info("RouterClient: PubSub removeListener","TOPIC",e,"FROM",t);break}}n||a.LoggerClient.system.warn(`RouterClient: tried to remove non-existent listener on ${e} from ${t}`)}routeIncomingMessage(e){const t=()=>{this.timeCalibrationHandler?this.timeCalibrationHandler(e):setTimeout((()=>{t()}),10)};switch(a.LoggerClient.system.verbose("Incoming Message Type",e.header.type,e),e.header.type){case"transmit":this.invokeListeners(e);break;case"query":this.invokeResponder(e);break;case"queryResponse":this.invokeQueryResponse(e);break;case"notify":this.invokeNotifyCallback(e);break;case"publish":this.invokePublishEvent(e);break;case"subscribe":this.invokeSubscribeEvent(e);break;case"unsubscribe":this.invokeUnsubscribeEvent(e);break;case"timeCalibration":t();break;case"initialHandshakeResponse":this.handshakeHandler()}}asyncConnectToEventRouter(e,t,n){a.LoggerClient.system.debug(`Name of transport to establish: ${t}`),e.notificationURL&&(this.notificationURL=e.notificationURL);let r=null,o=0,l=!1,c=0,u=null;const d=()=>{if(clearInterval(r),c++,c<=3)a.LoggerClient.console.error("WINDOW LIFECYCLE:STARTUP:RouterClient: failure to connect to router service. Retrying...",c,e),null==u||u();else{const t="A cross domain transport has failed to connect. Cross domain components may not work. Please contact your administrator.";a.LoggerClient.console.error(t,e),s.default.alert("dev","ONCE-SINCE-STARTUP","FSBL-Internal-Transport-Failure",t,{url:this.notificationURL})}},f=()=>{a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient: sendHandshake",o);const e={header:{origin:this.clientName,type:"initialHandshake"}};this.sendToRouterService(e),o++>50&&d()},h=()=>{if(!l){a.LoggerClient.system.debug(`WINDOW LIFECYCLE:STARTUP:RouterClient connected: Starting ${this.clientName} with transport ${this.transport.identifier()}`),l=!0,clearInterval(r);for(let e=0;e<this.queue.length;e++){a.LoggerClient.system.debug("RouterClient: releasing queued msg");const t=this.queue[e];this.transport.send(Object.assign(Object.assign({},t),{header:Object.assign(Object.assign({},t.header),{origin:this.clientName})}))}null==n||n()}},p=e=>{o=0,a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:transport ready","TRANSPORT OBJECT",e),this.transport=e,this.handshakeHandler=h,f(),r=setInterval(f,200)};u=()=>{a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:getClientTransport","ROUTER PARAMS:",e),i.default.getTransport(e,t,((e,t)=>{t.header.lastClient=this.clientName,t.header.incomingTransportInfo=e,this.routeIncomingMessage(t)}),this.clientName,"RouterService").then(p).catch((e=>{a.LoggerClient.console.error("RouterClient getTransport error",e)}))},u()}addPubSubResponderCallBack(e,t,n,r){const i=e.toString();return!this.mapPubSubResponders[i]&&(e instanceof RegExp&&(this.mapPubSubResponderRegEx[i]=e,a.LoggerClient.system.info(`RouterClient: PubSub RegEx added for topic ${i}`)),this.mapPubSubResponders[i]={subscribeCallback:t,publishCallback:n,unsubscribeCallback:r},!0)}calibrateTimeWithRouterService(e){let t=0,n=0,r=1/0;const i={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:[],serviceBaseTime:[]};this.timeCalibrationHandler=i=>{if(t++,t>5)(t=>{const{clientBaseTime:i,serviceBaseTime:o}=t;let s=0;for(let e=1;e<5;e++){const t=i[e-1],l=i[e]-t,c=o[e-1]-(t+l/2);l<r&&(r=l,n=c),s+=c,a.LoggerClient.system.debug("calibrationCalculation Intermediate Values","lastRRT",l,"lastOffset",c,"fastestOffset",n,"fastestRRT",r)}s/=4,a.LoggerClient.system.debug("RouterClient calibrationCalculation","Average Offset",s,"Chosen FastestOffset",n,t),e(n)})(i);else{i.clientBaseTime.push(c.Performance.timing.navigationStart+c.Performance.now());const e={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:i.clientBaseTime,serviceBaseTime:i.serviceBaseTime};this.sendToRouterService(e)}},this.timeCalibrationHandler(i)}start(e){return new Promise((async t=>{if(this.started){const e="RouterClient.start() called twice. Ignoring second call.";return a.LoggerClient.system.warn(e),t(e)}this.started=!0,this.clientName=`RouterClient.${e.windowName}.${(0,u.v4)()}`;const n=`"RouterClient Check: connecting new client for ${this.clientName}`;a.LoggerClient.system.debug(n),console.debug(n),i.default.setTransports(),this.asyncConnectToEventRouter(e,e.transportName,(()=>{this.onReadyCallBack(),t(null)}))}))}stop(){this.disconnectAll(),i.default.close(),this.started=!1}onReady(e){return new Promise((t=>{o.default.args(e,"function");const n=()=>{e&&e(),t()};this.isRouterReady?n():this.parentReadyCallbackQueue.push(n)}))}addListener(e,t){a.LoggerClient.system.info("RouterClient.addListener","CHANNEL",e),o.default.args(e,"string",t,"function");const n=this.mapListeners[e];if(n&&0!==n.length)n.some((e=>t===e))?a.LoggerClient.debug("RouterClient.addListener() Ignoring duplicate listener with identical callback",e,t):n.push(t);else{this.mapListeners[e]=[t];const n={header:{origin:this.clientName,type:"addListener",channel:e}};this.sendToRouterService(n)}return()=>{this.removeListener(e,t)}}transmit(e,t,n){a.LoggerClient.channelFilter(e)||a.LoggerClient.system.info("RouterClient.transmit","TO CHANNEL",e,"DATA",t),o.default.args(e,"string",t,"any");const r={header:{origin:this.clientName,type:"transmit",channel:e},data:t,options:n};this.sendToRouterService(r)}removeListener(e,t){if(a.LoggerClient.system.info("RouterClient.removeListener","CHANNEL",e,"EVENT HANDLER",t),o.default.args(e,"string",t,"function"),!this.mapListeners[e])return a.LoggerClient.system.debug("Attempt to remove non existent listener",e,t),void console.log("Attempt to remove non existent listener",e,t);if(this.mapListeners[e]=this.mapListeners[e].flatMap((e=>e===t?[]:[e])),!this.mapListeners[e].length){delete this.mapListeners[e];const t={header:{origin:this.clientName,type:"removeListener",channel:e}};this.sendToRouterService(t)}}addResponder(e,t){if(a.LoggerClient.system.info("RouterClient.addResponder","CHANNEL",e),o.default.args(e,"string",t,"function"),this.mapQueryResponders[e]){const n=`RouterClient.addResponder: Responder already locally defined for channel ${e}`;a.LoggerClient.system.warn(n),t(n)}else{this.mapQueryResponders[e]=t;const n={header:{origin:this.clientName,type:"addResponder",channel:e}};this.sendToRouterService(n)}}query(e,t,n,r){var i,s,d,f;const h=`${this.clientName}.${(0,u.v4)()}.${e}`,p=c.Performance.timing.navigationStart+c.Performance.now(),g=c.Performance.timing.navigationStart,m=c.Performance.now();a.LoggerClient.system.info("RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",n,"QUERY ID",h,{timestamp:p,navstart:g,timenow:m});const w=null!=r?r:"function"==typeof n?n:null,v=null!==(s=null===(i=n)||void 0===i?void 0:i.timeout)&&void 0!==s?s:2e4,y=null===(f=null===(d=n)||void 0===d?void 0:d.logWhenNoResponder)||void 0===f||f;return o.default.args(e,"string",t,"any=",n,"object=",w,"function"),new Promise((n=>{this.mapQueryResponses[h]=(e,t)=>{null==w||w(e,t),n({err:e,response:t})},!l.Globals.runningInFSBLUnitTest&&v>0&&(this.mapQueryResponseTimeOut[h]=setTimeout((()=>{a.LoggerClient.system.warn(`RouterClient: timeout after ${v} ms waiting on query response on channel ${e} for queryID ${h}`),delete this.mapQueryResponseTimeOut[h]}),v));const r={header:{origin:this.clientName,type:"query",queryID:h,channel:e,logWhenNoResponder:y},data:t};this.sendToRouterService(r)}))}removeResponder(e){if(a.LoggerClient.system.info("RouterClient.removeResponder","RESPONDER CHANNEL",e),o.default.args(e,"string"),this.mapQueryResponders[e]){delete this.mapQueryResponders[e];const t={header:{origin:this.clientName,type:"removeResponder",channel:e}};this.sendToRouterService(t)}}addPubSubResponder(e,t,n,r){let i,s;if(a.LoggerClient.system.info("RouterClient.addPubSubResponder","TOPIC",e,"INITIAL STATE",t,"PARAMS",n),o.default.args(e,"any",t,"object=",n,"object="),n=n||{},o.default.args2("params.subscribeCallback",n.subscribeCallback,"function=","params.publishCallback",n.publishCallback,"function=")&&o.default.args2("params.unsubscribeCallback",n.unsubscribeCallback,"function="),void 0===n.subscribeCallback&&void 0===n.publishCallback&&void 0===n.unsubscribeCallback){t=t||{};const n={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!0},data:t};this.sendToRouterService(n),s="success"}else if(this.addPubSubResponderCallBack(e,n.subscribeCallback,n.publishCallback,n.unsubscribeCallback)){t=t||{},this.mapPubSubResponderState[e.toString()]=f(t);const n={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!1},data:t};this.sendToRouterService(n),s="success"}else i=`RouterClient.addPubSubResponder: Responder already locally defined for topic ${e}`,a.LoggerClient.system.error(i);r&&r(i,s)}removePubSubResponder(e){a.LoggerClient.system.info("RouterClient.removePubSubResponder","TOPIC",e),o.default.args(e,"any");const t=e.toString();if(this.mapPubSubResponders[t]){delete this.mapPubSubResponders[t],delete this.mapPubSubResponderState[t],delete this.mapPubSubResponderRegEx[t];const n={header:{origin:this.clientName,type:"removePubSubResponder",topic:e}};this.sendToRouterService(n)}else a.LoggerClient.system.warn(`RouterClient.removePubSubResponder failed: Could not find responder for topic ${e}`)}subscribe(e,t){a.LoggerClient.system.info("RouterClient.subscribe","TOPIC",e),o.default.args(e,"string",t,"function");const n=`${this.clientName}.${(0,u.v4)()}`;this.mapSubscribersID[n]=t,this.mapSubscribersTopic[n]=e;const r={header:{origin:this.clientName,type:"subscribe",subscribeID:n,topic:e}};return this.sendToRouterService(r),{subscribeID:n,topic:e}}publish(e,t){a.LoggerClient.system.info("RouterClient.publish","TOPIC",e,"EVENT",t),o.default.args(e,"string",t,"any");const n={header:{origin:this.clientName,type:"publish",topic:e},data:t};this.sendToRouterService(n)}unsubscribe(e){a.LoggerClient.system.info("RouterClient.unsubscribe","SUBSCRIBE ID",e),o.default.args(e,"object")&&o.default.args2("subscribeIDStruct.subscribeID",e.subscribeID,"string");const{subscribeID:t}=e;if(this.mapSubscribersID[t]){delete this.mapSubscribersID[t],delete this.mapSubscribersTopic[t];const n={header:{origin:this.clientName,type:"unsubscribe",subscribeID:e.subscribeID,topic:e.topic}};this.sendToRouterService(n)}else a.LoggerClient.system.warn(`RouterClient.unsubscribe: Could not find subscribeID for topic ${e.topic}`)}trustedMessage(e){let t=!1;return a.LoggerClient.system.debug("RouterClient.trustedMessage header",e.header),"SharedWorker"===e.header.originIncomingTransportInfo.transportID&&(t=!0),t}disconnectAll(){a.LoggerClient.system.info("RouterClient.disconnectAll"),Object.keys(this.mapListeners).forEach((e=>{Array.from(new Set(this.mapListeners[e])).forEach((t=>{this.removeListener(e,t)}))})),Object.keys(this.mapQueryResponders).forEach((e=>{this.removeResponder(e)})),Object.keys(this.mapPubSubResponders).forEach((e=>{this.removeResponder(e)})),Object.keys(this.mapSubscribersID).forEach((e=>{const t=this.mapSubscribersTopic[e];this.unsubscribe({topic:t,subscribeID:e})}))}}t.RouterConnection=h,t.RouterController={start:e=>{const t=(0,d.singleton)("RouterClient",h);return a.LoggerClient.setRouterClient(t),t.start(e)},stop:()=>{(0,d.singleton)("RouterClient",h).stop()},calibrateTimeWithRouterService(e){(0,d.singleton)("RouterClient",h).calibrateTimeWithRouterService(e)}},t.RouterClient={onReady:e=>(0,d.singleton)("RouterClient",h).onReady(e),addListener:(e,t)=>(0,d.singleton)("RouterClient",h).addListener(e,t),transmit:(e,t,n)=>{(0,d.singleton)("RouterClient",h).transmit(e,t,n)},removeListener:(e,t)=>{(0,d.singleton)("RouterClient",h).removeListener(e,t)},addResponder:(e,t)=>{(0,d.singleton)("RouterClient",h).addResponder(e,t)},query:(e,t,n,r)=>(0,d.singleton)("RouterClient",h).query(e,t,n,r),removeResponder:e=>{(0,d.singleton)("RouterClient",h).removeResponder(e)},addPubSubResponder:(e,t,n,r)=>{(0,d.singleton)("RouterClient",h).addPubSubResponder(e,t,n,r)},removePubSubResponder:e=>{(0,d.singleton)("RouterClient",h).removePubSubResponder(e)},subscribe:(e,t)=>(0,d.singleton)("RouterClient",h).subscribe(e,t),publish:(e,t)=>{(0,d.singleton)("RouterClient",h).publish(e,t)},unsubscribe:e=>{(0,d.singleton)("RouterClient",h).unsubscribe(e)},trustedMessage:e=>(0,d.singleton)("RouterClient",h).trustedMessage(e),disconnectAll:()=>{(0,d.singleton)("RouterClient",h).disconnectAll()},calibrateTimeWithRouterService(e){(0,d.singleton)("RouterClient",h).calibrateTimeWithRouterService(e)}},t.default=t.RouterClient},10449:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchClient=void 0;const i=r(n(2518)),o=n(25232),s=n(10166),a=n(11314);i.default.system.debug("Starting searchClient");class l extends o._BaseClient{constructor(){super(...arguments),this.providers={},this.resultProviders={},this.searchResultsList=[],this.isSearching=!1,this.unRegister=this.unregister,this.handleResults=(e,t)=>{t.data.searchId&&t.data.searchId==this.searchId&&(this.resultProviders[t.data.provider.channel]=t.data,this.searchResultsList.push(t.data),this.resultsCallback(null,this.searchResultsList))}}async register(e,t){var n;if(!e.name){const e='"name" is required in params';return null==t||t(e),{err:e}}if(!e.searchCallback){const e='"searchCallback" is required in params';return null==t||t(e),{err:e}}const{name:r,providerActionCallback:o,itemActionCallback:s,searchCallback:l}=e,c=`${null===(n=this.finWindow)||void 0===n?void 0:n.name}.${r}`,{err:u,response:d}=await this.routerClient.query("Search.register",{name:r,channel:c,providerActionTitle:e.providerActionTitle,providerActionCallback:!!e.providerActionCallback});return u?(null==t||t(u),{err:u}):(this.providers[r]=r,this.routerClient.addResponder(`Search.Provider.${c}`,((e,t)=>{!e&&t&&l(t.data,((e,n)=>{t.sendQueryResponse(e,n)}))})),s&&((e,t)=>{a.RouterClient.addResponder(`Search.Provider.ItemAction.${e}`,((n,r)=>{!n&&r?t(r.data,r.data.windowName,((e,t)=>{r.sendQueryResponse(e,t)})):i.default.system.error(`SearchClient error registering responder for "Search.Provider.ItemAction.${e}"`,n)}))})(c,s),o&&((e,t)=>{a.RouterClient.addResponder(`Search.Provider.Action.${e}`,((n,r)=>{!n&&r?t(r.data.windowName,((e,t)=>{r.sendQueryResponse(e,t)})):i.default.system.error(`SearchClient error registering responder for "Search.Provider.Action.${e}"`,n)}))})(c,o),null==t||t(null,d.data),{})}unregister(e,t){var n;if(!e.name)return null==t?void 0:t("Provider name was not provided");const r=`${null===(n=this.finWindow)||void 0===n?void 0:n.name}.${e.name}`;this.routerClient.query("Search.unregister",{channel:r},(()=>(this.routerClient.removeResponder(`Search.Provider.${r}`),this.routerClient.removeResponder(`Search.Provider.ItemAction.${r}`),this.routerClient.removeResponder(`Search.Provider.Action.${r}`),delete this.providers[e.name],t?t():null)))}search(e,t){var n,r,i;this.isSearching||(this.routerClient.addPubSubResponder(`Search.${null===(n=this.finWindow)||void 0===n?void 0:n.name}`),this.routerClient.subscribe(`Search.${null===(r=this.finWindow)||void 0===r?void 0:r.name}`,this.handleResults),this.isSearching=!0),this.searchResultsList=[],e.windowName=null===(i=this.finWindow)||void 0===i?void 0:i.name,this.routerClient.query("Search.search",e,((e,n)=>{if(e)return t(e);this.resultsCallback=t,this.searchId=n.data.searchId}))}invokeItemAction(e,t){this.routerClient.query(`Search.Provider.ItemAction.${e.provider}`,{item:e,action:t,windowName:s.Startup.getInstance().currentStartupData.windowName})}invokeProviderAction(e){this.routerClient.query(`Search.Provider.Action.${e.channel}`,{windowName:s.Startup.getInstance().currentStartupData.windowName})}}t.SearchClient=l;const c=new l({onReady(e){e&&e()},name:"searchClient"});t.default=c},95085:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StorageClient=void 0;const i=r(n(83027)),o=r(n(20670)),s=r(n(2518)),a=n(25232),l=n(252),c=(0,i.default)(1);class u extends a._BaseClient{constructor(){super({onReady:e=>{null==e||e(),this.clientReady=!0},name:"storageClient"}),this.clientReady=!1}log(e,...t){(e?s.default.system.error:s.default.system.info)(...t,e)}async setUser(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.user,"string",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.setUser",{user:e.user});return this.log(n,"APPLICATION LIFECYCLE:StorageClient.setUser",e,n,r.data),null==t||t(n),{err:n}}async setStore(e,t){s.default.deprecated("StorageClient.setStore() has been deprecated and will be removed in a future release"),this.clientReady||s.default.system.error("storageClient.setStore() invoked before ready"),o.default.args(e.topic,"string",e.dataStore,"string=",t,"function="),s.default.system.log("APPLICATION LIFECYCLE:StorageClient.setStore",e,t);const{err:n,response:r}=await this.routerClient.query("Storage.setStore",e);return this.log(n,"Storage.setStore",r),null==t||t(n,r.data),{err:n,data:r.data}}async save(e,t){if(this.clientReady||s.default.system.error("storageClient.save() invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");o.default.args(e.topic,"string",e.key,"string",e.value,"any",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.save",e);if(this.log(n,"Storage.save",r.data),null==t||t(n,r.data),n)throw n;return{err:n,data:r.data}}save1(e){return c((()=>this.save(e)))}async get(e,t){const{err:n,data:r}=await this.getStandardized(e);if(null==t||t(n,r),n)throw n;return r}async getStandardized(e,t){if(this.clientReady||s.default.system.error("storageClient invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");o.default.args(e.topic,"string",e.key,"string",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.get",e);return this.log(n,"Storage.get",r.data),null==t||t(n,r.data),{err:n,data:r.data}}get1(e,t){return c((()=>this.get(e,t)))}async keys(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",t,"function="),s.default.system.debug("StorageClient.keys",e,t);const{err:n,response:r}=await this.routerClient.query("Storage.keys",e);return this.log(n,"Storage.keys",r.data),null==t||t(n,r.data),{err:n,data:r.data}}keys1(e){return s.default.deprecated("StorageClient.keys1 is deprecated and will be removed in a future release"),c((()=>(0,l.promisify)(this.keys.bind(this))(e)))}async getMultiple(e,t){s.default.deprecated("StorageClient.getMultiple() is deprecated and will be removed in a future release"),this.clientReady||s.default.system.error("storageClient invoked before ready"),s.default.system.info("StorageClient.getMultiple",e,t);const{err:n,response:r}=await this.routerClient.query("Storage.getMultiple",e);return this.log(n,"StorageClient.getMultiple:",e,r),null==t||t(n,r),{err:n,data:r.data}}async remove(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",e.key,"string",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.delete",e);if(this.log(n,"StorageClient.delete",r.data),null==t||t(n,r.data),n)throw n;return{err:n,data:r.data}}remove1(e){return c((()=>this.remove(e)))}delete(...e){s.default.deprecated("StorageClient.delete() is deprecated and will be removed in a future release"),this.remove.apply(e)}async clearCache(e){s.default.system.log("StorageClient.clearCache",e);const{err:t,response:n}=await this.routerClient.query("Storage.clearCache",null);return this.log(t,"StorageClient.clearCache",n.data),null==e||e(t,n.data),{err:t,data:n.data}}}t.StorageClient=u;var d=new u;t.default=d},97525:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WindowClient=void 0;const i=n(1641),o=r(n(90693)),s=r(n(49136)),a=n(91374),l=n(25232),c=r(n(2518)),u=r(n(20670)),d=r(n(11314)),f=r(n(9381)),h=n(252),p=n(44137),g=n(49136),m=n(94017),w=n(24137);let v=!1,y=!1;const b=async e=>{v&&(y=!0);const{name:t}=p.FEAGlobals.finsembleWindow;d.default.transmit("DockingService.deregisterWindow",{name:t,userInitiated:e})};class S extends l._BaseClient{constructor(){super({startupDependencies:{},onReady:e=>{this.start(e)},name:"windowClient"}),this.options={},this.title=null,this.windowGroups=[],this.enableWindowsAeroSnap=!1,this.bindFunctions()}bindFunctions(){this.onWindowRestored=this.onWindowRestored.bind(this),this.onWindowMaximized=this.onWindowMaximized.bind(this),this.onWindowBlurred=this.onWindowBlurred.bind(this),this.onWindowFocused=this.onWindowFocused.bind(this),this.onMinimizedRestored=this.onMinimizedRestored.bind(this),this.onWindowMinimized=this.onWindowMinimized.bind(this),this.close=this.close.bind(this),this.getInitialOptions=this.getInitialOptions.bind(this)}onWindowRestored(){this.updateHeaderState("Maximize",{hide:!1})}onWindowMaximized(){this.updateHeaderState("Maximize",{hide:!0})}onWindowBlurred(){(0,w.deprecatedSetActive)(!1)}onWindowFocused(){(0,w.deprecatedSetActive)(!0)}onMinimizedRestored(){this.routerClient.transmit("DockingService.windowRestored",p.FEAGlobals.finsembleWindow.name),p.FEAGlobals.finsembleWindow.removeEventListener("restored",this.onMinimizedRestored)}onWindowMinimized(){this.routerClient.query("DockingService.windowMinimized",{windowName:p.FEAGlobals.finsembleWindow.name}),p.FEAGlobals.finsembleWindow.addEventListener("restored",this.onMinimizedRestored)}getWindowGroups(){return this.windowGroups}groupUpdateHandler(e,t){e?c.default.error(e):t.data&&t.data.groupData&&(this.windowGroups=Object.values(t.data.groupData).filter((e=>e.windowNames.includes((0,w.deprecatedGetWindowNameForDocking)(p.FEAGlobals.finsembleWindow)))))}close(e,t){e||(e={removeFromWorkspace:!0,closeWindow:!0});const{parentWindow:n}=p.FEAGlobals.finsembleWindow;return e.userInitiated&&n?n.close(e,t):p.FEAGlobals.finsembleWindow.close(e,t)}getWindowTitle(){return this.title}async retrieveMonitorDimensions(e){c.default.deprecated("WindowClient.retrieveMonitorDimensions() is deprecated and will be removed in a future release.");const t=await(0,m.getMonitor)();p.FEAGlobals.finsembleWindow.updateOptions({options:{monitorDimensions:t.monitorRect}}),null==e||e(t.monitorRect)}listenForHashChanges(){var e;if(a.System.isTitlebarWindow())return;const t=null!==(e=window.top)&&void 0!==e?e:window,n=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:n}),function(e){const{pushState:n}=e;e.pushState=function(r){"function"==typeof e.onpushstate&&e.onpushstate({state:r}),n.apply(e,arguments);const i=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:i})};const{replaceState:r}=e;e.replaceState=function(n){"function"==typeof e.onreplacestate&&e.onreplacestate({state:n}),r.apply(e,arguments);const i=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:i})}}(window.history),window.addEventListener("hashchange",(()=>{const e=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:e})}))}async getInitialOptions(e){if(this.isInAService)this.options={},c.default.system.debug("WindowClient:getting options empty",this.options),null==e||e();else{const{data:t}=await p.FEAGlobals.finsembleWindow.getOptions(),n=null!=t?t:{};p.FEAGlobals.finsembleWindow.windowOptions=this.options=n,c.default.system.debug("WindowClient:getting options",this.options),null==e||e()}}async cacheInitialBounds(){var e;if(a.System.isTitlebarWindow())return;const t=null!==(e=window.top)&&void 0!==e?e:window;await this.cacheBounds();try{p.FEAGlobals.finsembleWindow.windowOptions.customData.foreign.components["Window Manager"].persistWindowState&&p.FEAGlobals.finsembleWindow.updateOptions({options:{url:t.location.toString()}})}catch(e){c.default.system.warn('customData.foreign.components["Window Manager" is undefined')}}getWindowBounds(){return c.default.deprecated("WindowClient.getWindowBounds() is deprecated and will be removed in a future version."),{top:p.FEAGlobals.finsembleWindow.windowOptions.defaultTop,left:p.FEAGlobals.finsembleWindow.windowOptions.defaultLeft,width:p.FEAGlobals.finsembleWindow.windowOptions.defaultWidth,height:p.FEAGlobals.finsembleWindow.windowOptions.defaultHeight}}saveWindowBounds(e,t){if(c.default.system.debug("WINDOW LIFECYCLE:SavingBounds:",e,"setActiveWorkspaceDirty",t),void 0===t&&(t=!1),u.default.args(e,"object")&&u.default.args2("bounds.top",e.top,"number"),e){p.FEAGlobals.finsembleWindow.updateOptions({options:{top:Math.round(e.top),defaultTop:Math.round(e.top),left:Math.round(e.left),defaultLeft:Math.round(e.left),width:Math.round(e.width),defaultWidth:Math.round(e.width),height:Math.round(e.height),defaultHeight:Math.round(e.height)}});try{p.FEAGlobals.finsembleWindow.windowOptions.customData.foreign.components["Window Manager"].persistWindowState}catch(e){}}}maximize(e){return p.FEAGlobals.finsembleWindow.maximize(null,e)}minimize(e){return p.FEAGlobals.finsembleWindow.minimize(null,e)}bringToFront(e){return p.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e)}bringWindowToFront(e){p.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e)}setAlwaysOnTop(e,t){return p.FEAGlobals.finsembleWindow.setAlwaysOnTop({alwaysOnTop:e},t)}restore(e){return p.FEAGlobals.finsembleWindow.restore(null,e)}setTaskbarIconOverlay(e){p.FEAGlobals.fin.desktop.Window.setTaskbarIconOverlay({iconURL:e})}async cacheBounds(){const{err:e,data:t}=await p.FEAGlobals.finsembleWindow.getBounds();!e&&t?await p.FEAGlobals.finsembleWindow.updateOptions({options:{defaultLeft:t.left,defaultTop:t.top,defaultWidth:t.width,defaultHeight:t.height}}):console.warn("Get bounds error.",e,"Window may not be registered with the window service")}injectDOM(e){if(c.default.system.debug("injectDOM",e),c.default.system.deprecated("WindowClient.injectDOM() has been deprecated and will be removed in a future release"),document.getElementById("FSBLHeader"))return;window.scrollTo(0,0);const t=document.createElement("div"),n=e?` style=height:${e}`:"";t.innerHTML=`<div id="FSBLHeader"${n}></div>`,t.firstChild&&document.body.insertBefore(t.firstChild,document.body.firstChild)}getComponentState(e,t){return new Promise((n=>{e||(e={}),e.fields&&!Array.isArray(e.fields)&&(e.fields=[e.fields]),u.default.args(e,"object",t,"function"),p.FEAGlobals.finsembleWindow.getComponentState(e,((e,r)=>{null==t||t(e,r),n({err:e,data:r})}))}))}async setComponentState(e,t){return u.default.args(e,"object",t,"function=")&&u.default.args2("params.field",e.field,"string"),new Promise((n=>{p.FEAGlobals.finsembleWindow.setComponentState(e,(e=>{null==t||t(e),n({err:e})}))}))}async removeComponentState(e,t){return u.default.args(e,"object",t,"function=")&&u.default.args2("params.field",e.field,"string"),new Promise((n=>{p.FEAGlobals.finsembleWindow.removeComponentState(e,(e=>{null==t||t(e),n({err:e})}))}))}getWindowNameForDocking(){return c.default.deprecated("WindowClient.getWindowNameForDocking is deprecated and will be removed"),(0,w.deprecatedGetWindowNameForDocking)(p.FEAGlobals.finsembleWindow)}formGroup(){p.FEAGlobals.finsembleWindow.formGroup()}preventUnintendedDropEvents(){const e=e=>{e.preventDefault()};window.addEventListener("dragover",e,!1),window.addEventListener("drop",e,!1)}rejectWindowsKeyResizes(){let e=!1;const t=async t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&d.default.transmit("Finsemble.WindowService.WindowsKey","up"):"Meta"===t.key&&e&&(e=!1,a.System.Window.getCurrent().updateOptions({resizable:!0}))},n=t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&d.default.transmit("Finsemble.WindowService.WindowsKey","down"):"Meta"===t.key&&(e=!0,a.System.Window.getCurrent().updateOptions({resizable:!1}))};o.default.onReady((()=>{window.addEventListener("keyup",t),window.addEventListener("keydown",n)}))}modifyReload(){document.addEventListener("keydown",(e=>{e.ctrlKey&&"r"===e.key.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),p.FEAGlobals.finsembleWindow.reload())}))}addListeners(){p.FEAGlobals.finsembleWindow.addListener("setParent",(()=>{c.default.system.info("WindowClient.setParent deregisterWithDockingManager"),b()})),p.FEAGlobals.finsembleWindow.addEventListener("maximized",this.onWindowMaximized),p.FEAGlobals.finsembleWindow.addEventListener("minimized",this.onWindowMinimized),p.FEAGlobals.finsembleWindow.addEventListener("restored",this.onWindowRestored),p.FEAGlobals.finsembleWindow.addEventListener("blurred",this.onWindowBlurred),p.FEAGlobals.finsembleWindow.addEventListener("focused",this.onWindowFocused)}updateHeaderState(e,t){var n;null===(n=this.commandChannel)||void 0===n||n.call(this,e,t)}headerCommandChannel(e){this.commandChannel=e}ejectFromGroup(){c.default.deprecated("WindowClient.ejectFromGroup is deprecated and will be removed"),p.FEAGlobals.finsembleWindow.ejectFromGroup()}setWindowTitle(e){c.default.system.deprecated("This method is deprecated and will be removed in a future release. Please simply set the application's `document.title` element to change the title. Or, set `components['Window Manager'].title` in the app's manifest."),this.setWindowTitlePrivate(e)}setWindowTitlePrivate(e){u.default.args(e,"string"),this.title=e,this.updateHeaderState("Main",{windowTitle:e}),p.FEAGlobals.finsembleWindow.setTitle(e)}getSpawnData(){var e,t,n;return null!==(n=null===(t=null===(e=this.options)||void 0===e?void 0:e.customData)||void 0===t?void 0:t.spawnData)&&void 0!==n?n:{}}getCurrentWindow(){return a.System.Window.getCurrent()}async getDesktopBoundingBox(e){return c.default.deprecated("WindowClient.getDesktopBoundingBox() is deprecated and will be removed in a future release."),(0,g.getDesktopBoundingBox)(e)}isPointInBox(e,t){return c.default.deprecated("WindowClient.isPointInBox() is deprecated and will be removed in a future release."),(0,g.isPointInBox)(e,t)}isMouseOverDOMElement(e,t){return(0,g.isMouseOverDOMElement)(e,t)}getWindowIdentifier(){var e,t,n,r;return{windowName:p.FEAGlobals.finsembleWindow?p.FEAGlobals.finsembleWindow.name:window.name,uuid:p.FEAGlobals.finsembleWindow?p.FEAGlobals.finsembleWindow.uuid:void 0,componentType:null!==(r=null===(n=null===(t=null===(e=this.options)||void 0===e?void 0:e.customData)||void 0===t?void 0:t.component)||void 0===n?void 0:n.type)&&void 0!==r?r:null}}setActive(e){c.default.deprecated("WindowClient.setActive is deprecated and will be removed"),(0,w.deprecatedSetActive)(e)}getBounds(e){return p.FEAGlobals.finsembleWindow.getBounds(e)}setShape(e,t=Function.prototype){p.FEAGlobals.finsembleWindow.setShape(e,t)}startTilingOrTabbing(e,t){c.default.deprecated("WindowClient.startTilingOrTabbing is deprecated and will be removed"),d.default.transmit("DockingService.startTilingOrTabbing",e),null==t||t()}startMovingWindow(e){a.System.Window.getCurrent().startMovingWindow(e)}stopMovingWindow(){a.System.Window.getCurrent().stopMovingWindow()}cancelTilingOrTabbing(e,t){c.default.deprecated("WindowClient.cancelTilingOrTabbing is deprecated and will be removed"),console.debug("CancelTilingOrTabbing"),d.default.transmit("DockingService.cancelTilingOrTabbing",e),null==t||t()}sendIdentifierForTilingOrTabbing(e,t){c.default.deprecated("WindowClient.sendIdentifierForTilingOrTabbing is deprecated and will be removed"),d.default.transmit("DockingService.identifierForTilingOrTabbing",e),null==t||t()}stopTilingOrTabbing(e,t){c.default.deprecated("WindowClient.stopTilingOrTabbing is deprecated and will be removed");const n=()=>{d.default.query("DockingService.stopTilingOrTabbing",e,(()=>{null==t||t()})),d.default.transmit("DockingService.stopTilingOrTabbing",e)};e.mousePosition?(n(),e.allowDropOnSelf||null==t||t()):a.System.getMousePosition(((r,i)=>{e.mousePosition=i,n(),e.allowDropOnSelf||null==t||t()}))}getStackedWindow(e,t){if(c.default.deprecated("WindowClient.getStackedWindow is deprecated and will be removed"),c.default.system.debug("WindowClient.getStackedWindow",e),t=t||e,(e=e||{}).windowIdentifiers=e.windowIdentifiers||[],!p.FEAGlobals.finsembleWindow.parentWindow&&e.create){const n=e=>{const{parentName:r}=e.data;p.FEAGlobals.finsembleWindow.setParent({windowName:r},((e,n)=>{null==t||t(e,n)})),p.FEAGlobals.finsembleWindow.removeListener("parent-set",n)};p.FEAGlobals.finsembleWindow.addListener("parent-set",n),s.default.spawn("StackedWindow",{windowType:"StackedWindow",data:{windowIdentifiers:e.windowIdentifiers},options:{newStack:!0}},((e,n)=>{c.default.system.debug("WindowClient.getStackedWindow-success",e,n),e&&(null==t||t(e,null))}))}else p.FEAGlobals.finsembleWindow.getParent(t)}async getMonitorInfo(e={},t){return c.default.deprecated("WindowClient.getMonitorInfo() is deprecated and will be removed. Please use LauncherClient.getMonitorInfo()"),(0,m.getWhichMonitorClientSide)(this.routerClient,e,t)}showAtMousePosition(){this.routerClient.transmit("DockingService.showAtMousePosition",this.getWindowIdentifier())}async fitToDOM(e,t){var n,r,i,o,s,a;"function"==typeof e&&(t=e,e=null);let l=document.documentElement.offsetHeight+(null!==(r=null===(n=null==e?void 0:e.padding)||void 0===n?void 0:n.height)&&void 0!==r?r:0),u=document.documentElement.offsetWidth+(null!==(o=null===(i=null==e?void 0:e.padding)||void 0===i?void 0:i.width)&&void 0!==o?o:0);l=Math.min(l,null!==(s=null==e?void 0:e.maxHeight)&&void 0!==s?s:l),u=Math.min(u,null!==(a=null==e?void 0:e.maxWidth)&&void 0!==a?a:u),c.default.system.debug("WindowClient.FitToDOM:newHeight:newWidth",l,u,e);const{data:d}=await(0,m.getWhichMonitorClientSide)(this.routerClient,{});d&&(l=Math.min(l,d.availableRect.height),u=Math.min(u,d.availableRect.width)),c.default.system.debug("WindowClient.FitToDOM:fixBounds",l,u);const{data:f}=await p.FEAGlobals.finsembleWindow.getBounds();!f||f.width==u&&f.height==l||await p.FEAGlobals.finsembleWindow.setBounds({bounds:Object.assign(Object.assign({},f),{width:u,height:l})}),null==t||t()}async start(e){if((0,h.iAmAServiceWindow)())return this.isInAService=!0,void(null==e||e());setInterval((()=>{(a.System.isBrowserView()||!a.System.isTitlebarWindow())&&(null===document||void 0===document?void 0:document.title)&&this.title!==document.title&&this.setWindowTitlePrivate(document.title)}),200),this.listenForHashChanges(),this.preventUnintendedDropEvents(),this.rejectWindowsKeyResizes(),this.modifyReload(),this.addListeners(),this.routerClient.subscribe("Finsemble.WorkspaceService.groupUpdate",((e,t)=>this.groupUpdateHandler(e,t))),await this.getInitialOptions(),(0,i.parallel)([e=>{f.default.getValue("finsemble",((t,n)=>{t&&c.default.system.error("Error reading windowService config from finsemble"),this.enableWindowsAeroSnap=n.services.windowService.config.enableWindowsAeroSnap,e()}))},async()=>{await(async e=>{var t,n,r,i,o,s,l,u,f,g,m,w,S,C,_,k,W,E,L,A,T,O,I,R,M,N,D,P,F,j,x,$,B,U,G,V,q,H,z,K,Q,Y,J,Z,X,ee,te,ne;if(!e)return void c.default.system.error(`No window options found for window ${window.name}`);const re=e.customData;if(a.System.isBrowserView()||!(null==re?void 0:re.component)||(0,h.iAmAServiceWindow)())return;const ie=null===(r=null===(n=null===(t=null==re?void 0:re.foreign)||void 0===t?void 0:t.components)||void 0===n?void 0:n["Window Manager"])||void 0===r?void 0:r.FSBLHeader,oe=null===(i=null==re?void 0:re.window)||void 0===i?void 0:i.dockable,se=null!==(g=null!==(f=null!==(u=null===(l=null===(s=null===(o=null==re?void 0:re.foreign)||void 0===o?void 0:o.services)||void 0===s?void 0:s.windowService)||void 0===l?void 0:l.manageWindowMovement)&&void 0!==u?u:ie)&&void 0!==f?f:oe)&&void 0!==g&&g,ae=null!==(C=null===(S=null===(w=null===(m=null==re?void 0:re.foreign)||void 0===m?void 0:m.services)||void 0===w?void 0:w.windowService)||void 0===S?void 0:S.allowAutoArrange)&&void 0!==C?C:se,le=null!==(E=null===(W=null===(k=null===(_=null==re?void 0:re.foreign)||void 0===_?void 0:_.services)||void 0===k?void 0:k.windowService)||void 0===W?void 0:W.allowSnapping)&&void 0!==E?E:se,ce={allowAutoArrange:ae,snapping:!(null===(L=null==re?void 0:re.window)||void 0===L?void 0:L.ephemeral)&&le,tiling:null!==(I=null===(O=null===(T=null===(A=null==re?void 0:re.foreign)||void 0===A?void 0:A.services)||void 0===T?void 0:T.windowService)||void 0===O?void 0:O.allowTiling)&&void 0!==I?I:se,tabbing:null!==(D=null===(N=null===(M=null===(R=null==re?void 0:re.foreign)||void 0===R?void 0:R.services)||void 0===M?void 0:M.windowService)||void 0===N?void 0:N.allowTabbing)&&void 0!==D?D:se,canGroup:null!==(x=null===(j=null===(F=null===(P=null==re?void 0:re.foreign)||void 0===P?void 0:P.services)||void 0===F?void 0:F.windowService)||void 0===j?void 0:j.allowGrouping)&&void 0!==x?x:se,canMinimize:null!==(q=null!==(G=null===(U=null===(B=null===($=null==re?void 0:re.foreign)||void 0===$?void 0:$.services)||void 0===B?void 0:B.windowService)||void 0===U?void 0:U.allowMinimize)&&void 0!==G?G:null===(V=null==re?void 0:re.component)||void 0===V?void 0:V.canMinimize)&&void 0!==q?q:se,canMaximize:null!==(J=null!==(Q=null===(K=null===(z=null===(H=null==re?void 0:re.foreign)||void 0===H?void 0:H.services)||void 0===z?void 0:z.windowService)||void 0===K?void 0:K.allowMaximize)&&void 0!==Q?Q:null===(Y=null==re?void 0:re.component)||void 0===Y?void 0:Y.canMaximize)&&void 0!==J?J:se,overwriteStartDocked:null!==(te=null===(ee=null===(X=null===(Z=null==re?void 0:re.foreign)||void 0===Z?void 0:Z.services)||void 0===X?void 0:X.workspaceService)||void 0===ee?void 0:ee.global)&&void 0!==te&&te};(se||ae||"Toolbar"===(null===(ne=re.component)||void 0===ne?void 0:ne.type))&&await(async e=>{if(p.FEAGlobals.finsembleWindow.parentWindow)return void c.default.system.debug("registerWithDockingManager ignore registration request if has a parent");const{uuid:t,name:n}=p.FEAGlobals.finsembleWindow;v=!0,await d.default.query("DockingService.registerWindow",{name:n,uuid:t,options:e,windowType:"WebWindow"}),v=!1,y&&(b(),y=!1),c.default.system.debug("WINDOW LIFECYCLE: Docking Registration complete.")})(Object.assign(Object.assign({},re.window),ce))})(this.options),await this.cacheInitialBounds()}],e)}}t.WindowClient=S;const C=new S;t.default=C},44137:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreestandingGlobals=t.FEAGlobals=t.Globals=void 0,t.Globals="undefined"==typeof window?n.g:window,t.FEAGlobals="undefined"==typeof window?n.g:window,t.FreestandingGlobals="undefined"==typeof window?n.g:window},94017:function(e,t,n){"use strict";var r,i,o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},s=this&&this.__classPrivateFieldSet||function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskbar=t.adjustBoundsToBeOnMonitorAsync=t.adjustBoundsToBeOnMonitor=t.getMonitorsInstance=t.getMonitor=t.getAllMonitors=t.getAllMonitorsClientSide=t.getWhichMonitor=t.getWhichMonitorClientSide=t.getMonitorFromWindow=t.getMonitorFromScaledXY=t.onMonitorsChanged=void 0;const l=n(17187),c=a(n(2518)),u=n(91374),d=n(7860),f=n(23099),h=n(23099),p=a(n(84795));class g extends l.EventEmitter{constructor(){super(),this.allMonitors=[],this.ready=!1}static async getInstance(){return o(g,r,"f",i)||(s(g,r,(0,d.singleton)("Monitors",g),"f",i),await o(g,r,"f",i).initialize()),o(g,r,"f",i)}async initialize(){await this.refreshMonitors(),u.System.addEventListener("monitor-info-changed",(()=>{this.refreshMonitors()}))}async refreshMonitors(){c.default.system.info("refreshing cached monitors");const e=await u.System.getMonitorInfo();this.allMonitors=[];let{primaryMonitor:t}=e;t.whichMonitor="primary",t.position=0,this.allMonitors.push(Object.assign({},t));for(let t=0;t<e.nonPrimaryMonitors.length;t++){let n=e.nonPrimaryMonitors[t];n.whichMonitor=t,n.position=t+1,this.allMonitors.push(n)}return this.emit("monitors-changed",{monitors:this.allMonitors}),this.ready=!0,this.allMonitors}}r=g,i={value:null},t.onMonitorsChanged=async e=>{(await g.getInstance()).on("monitors-changed",e)},t.getMonitorFromScaledXY=async(e,n)=>{const r=await g.getInstance();if(!r.ready)return await r.refreshMonitors(),await(0,t.getMonitorFromScaledXY)(e,n);let i=null;const o=r.allMonitors;for(let t of o){const{monitorRect:r}=t;if(e>=r.left&&e<r.right&&n>=r.top&&n<r.bottom){i=t;break}}return null!=i?i:o[0]},t.getMonitorFromWindow=async e=>{var n,r,i,o;const s=null!==(n=Number.isFinite(e.x)?e.x:e.defaultLeft)&&void 0!==n?n:0,a=null!==(r=Number.isFinite(e.y)?e.y:e.defaultTop)&&void 0!==r?r:0,l=s+(null!==(i=e.defaultWidth)&&void 0!==i?i:0),u=a+(null!==(o=e.defaultHeight)&&void 0!==o?o:0);let d=await(0,t.getMonitorFromScaledXY)(s,a);if(d)return(0,f.clone)(d);{c.default.system.debug("getMonitorFromWindow - top-left is off screen, trying bottom right");let e=await(0,t.getMonitorFromScaledXY)(l,u);if(e)return(0,f.clone)(e);{c.default.system.debug("getMonitorFromWindow - bottom-right is off screen, getting primary");const e=await(0,t.getAllMonitors)();return(0,f.clone)(e[0])}}},t.getWhichMonitorClientSide=async(e,t={},n)=>{var r;await p.default.waitForStartup("windowService");const i=await(0,h.getMyWindowIdentifier)();t.windowIdentifier=null!==(r=t.windowIdentifier)&&void 0!==r?r:i;const{err:o,response:s}=await e.query("Launcher.getMonitorInfo",t);return null==n||n(o,s.data),{err:o,data:s.data}},t.getWhichMonitor=e=>new Promise((n=>{let r,{commandMonitor:i,monitors:o,launchingMonitorPosition:s}=e;const a="number"==typeof i;if("mine"!==i){if("primary"===i)r=o.find((e=>"primary"===e.whichMonitor));else if("next"===i){let e=s+1;e>=o.length&&(e=0),r=o[e]}else if("previous"===i){let e=s-1;e<0&&(e=o.length-1),r=o[e]}else a?(i>=o.length&&(i=o.length-1),r=o.filter((e=>e.position===i))[0]):s&&(r=o[s]);r||(r=o[0]),n(r)}else{const i=e.activeWindows.getWindow(e.windowIdentifier.windowName);i?i._getBounds({},(async(e,i)=>{if(e)r=o[0],n(r);else{const e=await(0,t.getMonitorFromScaledXY)(i.left,i.top);n(e)}})):(r=o[0],n(r))}})),t.getAllMonitorsClientSide=async(e,t)=>{await p.default.waitForStartup("windowService");const{err:n,response:r}=await e.query("Launcher.getMonitorInfoAll",{});return null==t||t(n,r.data),{err:n,data:r.data}},t.getAllMonitors=async()=>{const e=await g.getInstance(),t=e.ready?e.allMonitors:await e.refreshMonitors();return JSON.parse(JSON.stringify(t))},t.getMonitor=async e=>{const n=await(0,f.getWindowDescriptor)(e);if(n)return await(0,t.getMonitorFromWindow)(n);throw"getMonitor: Can't locate windowDescriptor."},t.getMonitorsInstance=async()=>await g.getInstance(),t.adjustBoundsToBeOnMonitor=(e,t,n="availableRect")=>{if(!e)return t;if(((e,t)=>e.allMonitors.some((e=>{const{monitorRect:n}=e;return t.left>=n.left&&t.left<=n.right&&t.right>=n.left&&t.right<=n.right&&t.top>=n.top&&t.top<=n.bottom&&t.bottom>=n.top&&t.bottom<=n.bottom&&t.height<=n.height&&t.width<=n.width})))(e,t))return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: on monitor."),t;const r=e.allMonitors.map((e=>((e,t,n="availableRect")=>{const r=e[n]||e.availableRect||e.monitorRect,i=(0,f.clone)(t);return t.top<r.top?i.top=r.top:t.top>r.bottom-t.height&&(i.top=r.bottom-t.height),t.left<r.left?i.left=r.left:t.left>r.right-t.width&&(i.left=r.right-t.width),i.bottom=i.top+i.height,i.right=i.left+i.width,i.right>r.right&&(i.right=r.right),i.top<r.top&&(i.top=r.top),i.left<r.left&&(i.left=r.left),i.bottom>r.bottom&&(i.bottom=r.bottom),i.height=i.bottom-i.top,i.width=i.right-i.left,{newBounds:i,distanceMoved:Math.sqrt((t.left-i.left)**2)+(t.top-i.top)**2,monitor:e}})(e.rawMonitor?e.rawMonitor:e,t,n))),i=r.sort(((e,t)=>e.distanceMoved-t.distanceMoved))[0];return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: not on monitor. bounds",t,"monitor name",i.monitor.name,"newBounds",i.newBounds),i.newBounds},t.adjustBoundsToBeOnMonitorAsync=async(e,n="availableRect")=>{const r=await g.getInstance();return(0,t.adjustBoundsToBeOnMonitor)(r,e,n)},t.getTaskbar=e=>e.monitorRect.bottom!=e.availableRect.bottom?{top:e.availableRect.bottom,left:e.availableRect.left,right:e.availableRect.right,bottom:e.monitorRect.bottom,width:e.availableRect.width,height:e.monitorRect.bottom-e.availableRect.bottom,edge:"bottom"}:e.monitorRect.top!=e.availableRect.top?{top:e.monitorRect.top,left:e.availableRect.left,right:e.availableRect.right,bottom:e.availableRect.top,width:e.availableRect.width,height:e.monitorRect.top-e.availableRect.top,edge:"top"}:e.monitorRect.right!=e.availableRect.right?{top:e.monitorRect.top,left:e.availableRect.right,right:e.monitorRect.right,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"right"}:e.monitorRect.left!=e.availableRect.left?{top:e.monitorRect.top,left:e.monitorRect.left,right:e.availableRect.left,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"left"}:null},31219:(e,t,n)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Performance=void 0;const i=n(44137),o={navigationStart:Date.now()};t.Performance={now:()=>{var e;return i.Globals.performance?null===(e=i.Globals.performance)||void 0===e?void 0:e.now():Date.now()},timing:(null===(r=i.Globals.performance)||void 0===r?void 0:r.timing)?i.Globals.performance.timing:o}},7860:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.singleton=void 0,t.singleton=(e,t)=>{const r=Symbol.for(`com.finsemble.singleton.${e}`);return Object.getOwnPropertySymbols(n.g).indexOf(r)>-1||(n.g[r]=new t),n.g[r]}},64324:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigUtilInstance=t.ConfigUtil=void 0;const i=r(n(2518)),o=n(91374),s=r(n(96486)),a=async()=>new Promise((e=>{o.System.getManifest((t=>{e({err:null,data:t})}))})),l=(e,t)=>{var n,r;return null!==(n=e.finsemble[t])&&void 0!==n?n:null===(r=e.finsemble)||void 0===r?void 0:r.custom[t]},c=(e,t)=>{let n=!1;const r=t.split(/[/\\:?=&\s]/);for(let o=0;o<r.length;o++)if("$"===r[o][0]){const s=r[o].substring(1),a=l(e,s);if(void 0===a)i.default.system.warn("ConfigUtil.resolveString",`Missing [${s}] variable from finsemble.custom configuration object`);else{const e=t.replace(r[o],a);i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveString configString",r[o],s,a,"old value=",t,"value=",e),n=!0,t=e}}return{configString:t,replacedMacro:n}},u=(e,t,n)=>{let r=!1;if(n>1e3)return i.default.system.error("ConfigUtil resolveArray maxiumum recursion level reached"),{replacedMacro:r};i.default.system.verbose("forceObjectsToLogger","resolveArray","recursionLevel",n,"configArray:",t);for(let i=0;i<t.length;i++){const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const n=c(e,o);t[i]=n.configString,r=r||n.replacedMacro}else o instanceof Array?u(e,o,n+1):"object"==typeof o&&d(e,o,n+1)}return{replacedMacro:r}},d=(e,t,n)=>{let r=!1;return n>1e3?(i.default.system.error("ConfigUtil resolveObject maxiumum recursion level reached"),{replacedMacro:r}):(t=t||{},i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveObject","recursionLevel",n,"configObject:",t),Object.keys(t).forEach((i=>{const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const n=c(e,o);t[i]=n.configString,r=r||n.replacedMacro}else o instanceof Array?u(e,o,n+1):"object"==typeof o&&d(e,o,n+1)})),{replacedMacro:r})};class f{resolveManifestMacros(e,t){let n;for(n=0;n<100;n++){const{replacedMacro:n}=d(e,t,1);if(!n)break}n>=100&&i.default.system.error("forceObjectsToLogger","resolveManifestMacros exceeded maximum passes so continuing -- probably a recursive macro definitions. Look in this config for unresolved macro variables",e)}async getExpandedRawManifest(){i.default.system.debug("ConfigUtil.getExpandedRawManifest starting");const{err:e,data:t}=await a();return e||!t?i.default.system.error("ConfigUtil.getExpandedRawManifest:application.getManifest:err",e):(i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest: manifest retrieved. Pre-variable resolution",t),this.resolveManifestMacros(t,t.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest:Complete. post-variable resolution",t)),{err:e,data:t}}async fetchConfigFile(e){let t,n=null;i.default.system.debug(`fetching import ${e}`);try{const r=await fetch(e,{credentials:"include",cache:"no-cache"});200!=r.status?n=`HTTP get error for ${e}: ${r.status} ${r.statusText}`:t=await r.json()}catch(t){n=`Failure importing config from ${e} ${t.toString()}`}return{err:n,data:t}}graftImportOnToManifest(e,t){Object.keys(t).forEach((n=>{if("importConfig"===n){e.finsemble.importConfig=e.finsemble.importConfig||[];for(let n=0;n<t.importConfig.length;n++)e.finsemble.importConfig.unshift(t.importConfig[n])}else if("importThirdPartyConfig"===n){e.finsemble.importThirdPartyConfig=e.finsemble.importThirdPartyConfig||[];for(let n=0;n<t.importThirdPartyConfig.length;n++)e.finsemble.importThirdPartyConfig.unshift(t.importThirdPartyConfig[n])}else e.finsemble[n]=t[n]})),this.resolveManifestMacros(e,e.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getInitialManifest:getCoreConfig:Initial Manifest after variables Resolved",e)}async getInitialManifest(){const{err:e,data:t}=await a();if(!e&&t){t.finsemble=t.finsemble||{},this.resolveManifestMacros(t,t.finsemble),t.finsemble.applicationRoot||i.default.system.error("FATAL ERROR: applicationRoot was not defined in manifest file.");const e=`${t.finsemble.moduleRoot}/configs/core/config.json`,{err:n,data:r}=await this.fetchConfigFile(e);!n&&r?this.graftImportOnToManifest(t,r):i.default.system.error(`ConfigUtil.getInitialManifest:getCoreConfig:failed importing into finsemble config. $moduleRoot=${t.finsemble.moduleRoot}; Full Path=${e}`,n)}return{err:e,data:t}}promptAndSaveJSONToLocalFile(e,t){i.default.system.debug("saveJSONToLocalFile",e,t);const n=JSON.stringify(t,null,"\t"),r=`data:application/json;charset=utf-8,${encodeURIComponent(n)}`,o=`${e}.json`,s=document.createElement("a");s.setAttribute("href",r),s.setAttribute("download",o),s.click()}configFormatForExport(e,t){i.default.system.debug("configFormatForExport starting",e,t);let n=s.default.cloneDeep(t);if("raw"===e);else if("all"===e)delete n.importConfig,delete n.comment;else if("application"===e)delete n.importConfig,delete n.comment,delete n.system,delete n.services;else if("workspace"===e)n={workspace:n};else if("workspaceTemplate"===e){const e={};e[n.name]=n,n={workspaceTemplates:e}}else"services"===e?n=n.services:"components"===e&&(n=n.components);return n}getDefault(e,t,n){let r=n;if(e){try{const n=t.split(".");let i=e;for(let e=1;e<n.length;e++)i=i[n[e]];r=i}catch(e){r=n}void 0===r&&(r=n)}return r}}t.ConfigUtil=f,t.ConfigUtilInstance=new f},26604:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MOVE_REASON=t.LAUNCHER_SERVICE=t.HEARTBEAT_TIMEOUT_CHANNEL=t.COMPONENT_STATE_STORAGE_TOPIC=t.WINDOW_SERVICE_REQUESTS=t.WORKSPACE=t.WINDOW=t.INTERRUPTIBLE_EVENTS=t.EVENT_INTERRUPT_CHANNEL=t.DOCKING=t.SERVICE_STOP_CHANNEL=t.SERVICE_START_CHANNEL=t.WINDOWSTATE=t.SERVICES_STATE_CHANNEL=t.CLIENT_SERVER_MAPPING=t.SERVICE_QUERY_READY_CHANNEL=t.SERVICE_CLOSED_CHANNEL=t.SERVICE_CLOSING_CHANNEL=t.SERVICE_READY_CHANNEL=t.SERVICE_INITIALIZING_CHANNEL=t.APPLICATION_STATE_CHANNEL=t.WRAPPERS=void 0,t.WRAPPERS={EVENTS:["title-changed","bringToFront","setBounds","alwaysOnTop","setOpacity"]},t.APPLICATION_STATE_CHANNEL="Finsemble.Application.State",t.SERVICE_INITIALIZING_CHANNEL="Finsemble.ServiceManager.serviceInitializing",t.SERVICE_READY_CHANNEL="Finsemble.ServiceManager.serviceReady",t.SERVICE_CLOSING_CHANNEL="Finsemble.ServiceManager.serviceClosing",t.SERVICE_CLOSED_CHANNEL="Finsemble.ServiceManager.serviceClosed",t.SERVICE_QUERY_READY_CHANNEL=e=>`Finsemble.ServiceManager.queryReady.${e}`,t.CLIENT_SERVER_MAPPING=e=>({authenticationClient:"authenticationService",configClient:"configService",distributedStoreClient:"dataStoreService",hotkeysClient:"hotkeysService",linkerClient:"linkerService",logger:"loggerService",searchClient:"searchService",storageClient:"storageService",windowClient:"windowService",workspaceClient:"workspaceService"}[e]),t.SERVICES_STATE_CHANNEL="Finsemble.State.Services",(n=t.WINDOWSTATE||(t.WINDOWSTATE={}))[n.NORMAL=0]="NORMAL",n[n.MINIMIZED_WAS_NORMAL=1]="MINIMIZED_WAS_NORMAL",n[n.MAXIMIZED=2]="MAXIMIZED",n[n.MINIMIZED_WAS_MAXIMIZED=3]="MINIMIZED_WAS_MAXIMIZED",n[n.TRANSITIONING=4]="TRANSITIONING",t.SERVICE_START_CHANNEL="Finsemble.Service.Start",t.SERVICE_STOP_CHANNEL="Finsemble.Service.Stop",t.DOCKING={GROUP_UPDATE:"DockingService.groupUpdate",WORKSPACE_GROUP_UPDATE:"Finsemble.WorkspaceService.groupUpdate",REQUEST_PUBLISH:"DockingService.requestGroupDataPublish"},t.EVENT_INTERRUPT_CHANNEL="Finsemble.Event.Interrupt",t.INTERRUPTIBLE_EVENTS=["close-requested","closed","close-complete","_container-close-handlers"],t.WINDOW={DELAYABLE_EVENTS:["close-requested","closed","close-complete","_container-close-handlers"],CANCELABLE_EVENTS:["close-requested"]},t.WORKSPACE={DELAYABLE_EVENTS:["load-requested","close-requested","save-requested"],CANCELABLE_EVENTS:["close-requested"],CLEAN_SHUTDOWN:"Finsemble.Workspace.cleanShutdown",UPDATE_PUBSUB:"Finsemble.WorkspaceService.update",STORAGE_TOPIC:"finsemble.workspace",CACHE_STORAGE_TOPIC:"finsemble.workspace.cache",ALL_WORKSPACES:"finsemble.allWorkspaces",ACTIVE_WORKSPACE:"activeWorkspace",LAST_USED_WORKSPACE_TOPIC:"finsemble",LAST_USED_WORKSPACE_NAME:"finsemble.lastUsedWorkspace.name",LAST_USED_WORKSPACE:"finsemble.lastUsedWorkspace",INITIAL_WORKSPACE_PREFERENCE:"finsemble.initialWorkspace",PUBLISH_REASONS:{INIT:"workspace:initialization",LOAD_DATA_RETRIEVED:"workspace:load:dataRetrieved",LOAD_FINISHED:"workspace:load:finished",WINDOW_REMOVED:"window:remove",WINDOW_ADDED:"window:add",LOAD_STARTED:"workspace:load:start",WORKSPACE_REMOVED:"Workspace:remove",WORKSPACE_RENAMED:"rename",SWITCHTO_TERMINATED:"workspace:switchTo:terminated",NEW_WORKSPACE:"new workspace",SAVE_AS:"APPLICATION LIFECYCLE:WORKSPACE LIFECYCLE:SaveAs:Workspace:Save As"},API_CHANNELS:{NEW_WORKSPACE:"Finsemble.Workspace.NewWorkspace",SAVE:"Finsemble.Workspace.Save",RENAME:"Finsemble.Workspace.Rename",SAVE_AS:"Finsemble.Workspace.SaveAs",SWITCH_TO:"Finsemble.Workspace.SwitchTo",IMPORT:"Finsemble.Workspace.Import",EXPORT:"Finsemble.Workspace.Export",REMOVE:"Finsemble.Workspace.Remove",SAVE_GLOBAL_DATA:"Finsemble.Workspace.SaveGlobalData",SAVE_VIEW_DATA:"Finsemble.Workspace.SaveViewData",GET_GLOBAL_DATA:"Finsemble.Workspace.GetGlobalData",GET_VIEW_DATA:"Finsemble.Workspace.GetViewData",GET_WORKSPACES:"Finsemble.Workspace.GetWorkspaces",GET_WORKSPACE_NAMES:"Finsemble.Workspace.GetWorkspaceNames",SET_WORKSPACE_ORDER:"Finsemble.Workspace.SetWorkspaceOrder",GET_ACTIVE_WORKSPACE:"Finsemble.Workspace.GetActiveWorkspace",GET_ACTIVE_WORKSPACE_DIRTY:"Finsemble.Workspace.GetActiveWorkspaceDirty",GET_TEMPLATES:"Finsemble.Workspace.GetTemplates",IMPORT_TEMPLATE:"Finsemble.Workspace.ImportTemplate",EXPORT_TEMPLATE:"Finsemble.Workspace.ExportTemplate",REMOVE_TEMPLATE:"Finsemble.Workspace.RemoveTemplate",SET_WINDOW_STATE:"Finsemble.Workspace.SetWindowData",GET_WINDOW_STATE:"Finsemble.Workspace.GetWindowData",ADD_WINDOW:"WorkspaceService.addWindow",REMOVE_WINDOW:"WorkspaceService.removeWindow"},DEFAULT_WINDOW_PROPS:["name","componentType","windowType","alwaysOnTop","autoShow","minWidth","minHeight","maxWidth","maxHeight","resizable","maximizable","minimizable","opacity","windowState","left","top","width","height","right","bottom","defaultLeft","defaultTop","defaultWidth","defaultHeight","defaultRight","defaultBottom","monitorInfo","icon","cachedBounds","showTaskbarIcon","isEvergreen","launchGroupComponentData"],ADDITIONAL_WINDOW_PROPS:{WebWindow:["url","fullscreen","frame","backgroundColor","transparent","waitForPageLoad","affinity","appUUID"],NativeWindow:["path","alias","arguments","argumentsAsQueryString","isWPF"],StackedWindow:["childWindowIdentifiers","visibleWindowIdentifier","bounds"]}},t.WINDOW_SERVICE_REQUESTS={REMOTE_FOCUS:"WindowService.remoteFocus",SET_ALWAYS_ON_TOP:"WindowService-Request-setAlwaysOnTop",IS_ALWAYS_ON_TOP:"WindowService-Request-isAlwaysOnTop"},t.COMPONENT_STATE_STORAGE_TOPIC="finsemble.componentStateStorage",t.HEARTBEAT_TIMEOUT_CHANNEL="Finsemble.WindowService.HeartbeatTimeout",t.LAUNCHER_SERVICE={WINDOW_CLOSED:"LauncherService.WindowClosed"},t.MOVE_REASON={AERO_KEY:"aero_key",SYSTEM_RESTORED:"system_restored"}},25495:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLDependencyManagerSingleton=t.FSBLDependencyManager=void 0;const i=n(17187),o=r(n(11314)),s=n(26604),a=r(n(84795)),l=r(n(2518));class c extends i.EventEmitter{constructor(e){var t;super(),this.callback=e.callback,this.dependencies=e.dependencies,this.startupTimer=null,this.whoAmI=null!==(t=e.whoAmI)&&void 0!==t?t:"Source unknown. Look for `waitFor()` and add third parameter",this.setStartupTimer=this.setStartupTimer.bind(this),this.clearStartupTimer=this.clearStartupTimer.bind(this)}clearStartupTimer(){this.startupTimer&&clearTimeout(this.startupTimer),this.startupTimer=null}setStartupTimer(){const e=this;this.startupTimer=+setTimeout((()=>{e.emit("timeout"),this.callback("StartupDependency timeout error")}),1e4)}}function u(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}class d{constructor(){this.servicesAreAllOnline={},this.clientsAreAllOnline={},this.onlineClients=[],this.dependencies={},this.startupTimers={},this.startupTimerFired=!1,this.bindCorrectContext()}waitFor(e,t,n){const r=u();e.clients||(e.clients=[]),e.clients.length&&(e.clients=e.clients.map((e=>e.charAt(0).toLowerCase()+e.slice(1))));const i=new c({dependencies:e,callback:t,whoAmI:n});return i.setStartupTimer(),i.on("timeout",(()=>{this.onDependencyTimeout(i)})),this.dependencies[r]=i,this.checkDependencies(),i}onDependencyTimeout(e){const t=this.getOfflineClients();let n=`APPLICATION LIFECYCLE:STARTUP:Dependency (${e.whoAmI}) not online after 10 seconds.`;t.length&&(n=`${n} Waiting for these clients: ${t.join(", ")}.`),l.default.system.warn(n),e.emit("err",n)}checkDependencies(){for(const e in this.dependencies){const t=this.dependencies[e],{dependencies:n,callback:r}=t;(!n.clients.length||this.clientsAreAllOnline[e]||(this.clientsAreAllOnline[e]=this.checkClients(n.clients),this.clientsAreAllOnline[e]))&&(delete this.dependencies[e],t.clearStartupTimer(),r&&r())}}getOfflineClients(){let e=[];for(const t in this.dependencies){const{dependencies:n}=this.dependencies[t];e=e.concat(n.clients.filter((e=>!this.onlineClients.includes(e))))}return e.filter(((t,n)=>e.indexOf(t)===n))}checkClients(e){return e.every((e=>this.onlineClients.includes(e)))}setClientOnline(e){this.onlineClients.includes(e)||(this.onlineClients.push(e),this.checkDependencies())}getOnlineClients(){return this.onlineClients}bindCorrectContext(){this.checkDependencies=this.checkDependencies.bind(this),this.checkClients=this.checkClients.bind(this),this.getOfflineClients=this.getOfflineClients.bind(this),this.onDependencyTimeout=this.onDependencyTimeout.bind(this),this.waitFor=this.waitFor.bind(this)}}class f{constructor(){this.offlineServices=[],this.dependencies={},this.checkDependencies=this.checkDependencies.bind(this)}waitFor(e,t){l.default.system.debug("DependencyManager:waitFor",e),e.services||(e.services=[]);const n=u();this.dependencies[n]={dependencies:e,callback:t}}checkDependencies(){if(console.debug("checkDependencies",this.dependencies),Object.keys(this.dependencies))for(const e in this.dependencies){const{dependencies:t,callback:n}=this.dependencies[e];(l.default.system.debug("DependencyManager:checkDependency",t.services,this.offlineServices),!t.services.length||this.checkServices(t.services))&&(console.debug("checkDependencies callback"),delete this.dependencies[e],n&&n())}}checkServices(e){return e.every((e=>this.offlineServices.includes(e)))}setServiceOffline(e){l.default.system.debug("setServiceOffline",e),console.debug("setServiceOffline",e),this.offlineServices.push(e),this.checkDependencies()}}class h extends i.EventEmitter{constructor(){super(),this.startup=new d,this.shutdown=new f,this.RouterClient=o.default,this.AuthorizationCompleted=!1,this.bindCorrectContext(),this.onAuthorizationCompleted(this.startup.checkDependencies),o.default.onReady(this.listenForServices)}bindCorrectContext(){this.listenForServices=this.listenForServices.bind(this),this.onAuthorizationCompleted=this.onAuthorizationCompleted.bind(this)}setClientOnline(e){this.startup.setClientOnline(e)}onServiceStateChange(e){Object.keys(e).forEach((t=>{const{state:n}=e[t];"closed"===n&&this.shutdown.setServiceOffline(t)}))}listenForServices(){l.default.system.debug("DependencyManager:listenForServices before wait"),a.default.waitForBootStage("kernel","stageEntered",(()=>{l.default.system.debug("DependencyManager:listenForServices after wait"),this.RouterClient.subscribe(s.SERVICES_STATE_CHANNEL,((e,t)=>{l.default.system.debug("DependencyManager:listenForServices SERVICES_STATE_CHANNEL",t.data),this.onServiceStateChange(t.data)})),this.RouterClient.addListener(s.SERVICE_CLOSED_CHANNEL,((e,t)=>{l.default.system.debug("DependencyManager:listenForServices SERVICE_CLOSED_CHANNEL",t.data);const n={};n[t.data.name]={state:"closed"},this.onServiceStateChange(n)})),this.RouterClient.subscribe(s.APPLICATION_STATE_CHANNEL,((e,t)=>{"closing"===t.data.state&&this.shutdown.checkDependencies()}))}))}onAuthorizationCompleted(e){this.AuthorizationCompleted?e():this.addListener("AuthorizationCompleted",e)}}t.FSBLDependencyManager=h,t.FSBLDependencyManagerSingleton=new h,t.default=t.FSBLDependencyManagerSingleton},252:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.checkDeprecatedConfigs=t.isEqualIgnoringArrayOrder=t.sleep=t.checkIfBoundsAreEqual=t.isStackedWindow=t.wrapWithTimeout=t.timeoutPromise=t.getRandomWindowName=t.composeRL=t.promisify=t.identity=t.Timeout=t.fastClone=t.isServiceInWindow=t.iAmAServiceWindow=t.guuid=void 0;const i=n(21614),o=r(n(27361)),s=r(n(78718)),a=r(n(18446)),l=r(n(28368)),c=n(64324),u=r(n(2518)),d=n(44137);function f(e,t){return new Promise(((n,r)=>{const i=setTimeout((()=>{clearTimeout(i),r(t)}),e)}))}function h(e,t,n){return`${e}.${t}.${n}`}function p(e,t,n){const r=`${h(e.baseString,e.newPath,e.newValue)}`;u.default.system.deprecated(`${h(e.baseString,t,n)} has been deprecated in favor of ${r}`)}t.guuid=function(){return(0,i.v4)()},t.iAmAServiceWindow=function(){return!(!d.Globals.finsembleServices||!d.Globals.finsembleServices.length)},t.isServiceInWindow=function(e){return d.Globals.finsembleServices&&d.Globals.finsembleServices.find((t=>t.name===e))},t.fastClone=e=>{if(!e)return e;if(Array.isArray(e))return e.slice();try{return JSON.parse(JSON.stringify(e))}catch(e){return u.default.error("disentangledUtils: clone error",e),e}},t.Timeout=class{constructor(e,t){this.fired=!1,this.id=setTimeout((()=>{e(),this.fired=!0}),t),this.clear=this.clear.bind(this),this.didFire=this.didFire.bind(this)}clear(){this.fired||clearTimeout(this.id)}didFire(){return this.fired}},t.identity=function(e){return e},t.promisify=function(e,t){return function(){const n=Array.prototype.slice.call(arguments);return new Promise(((r,i)=>{n.push(((e,t)=>e?i(e):r(t))),e.apply(t,n)}))}},t.composeRL=(...e)=>e.reduce(((e,t)=>(...n)=>e(t(...n)))),t.getRandomWindowName=function(e="RouterClient"){return`${e}-${(0,i.v4)()}`},t.timeoutPromise=f,t.wrapWithTimeout=function(e,t,n){return Promise.race([e,f(t,n)])},t.isStackedWindow=function(e){return e&&"StackedWindow"===((0,o.default)(e,"windowIdentifier.windowType")||e.windowType)},t.checkIfBoundsAreEqual=function(e,t){if(!e||!t)return!1;const n=["left","right","top","bottom","width","height"],r=(0,s.default)(e,n),i=(0,s.default)(t,n);return!!(0,a.default)(r,i)},t.sleep=function(e,t=!1){return new Promise(((n,r)=>{t?setTimeout((()=>{try{r("timeout expired")}catch(e){}}),e):setTimeout(n,e)}))},t.isEqualIgnoringArrayOrder=(e,n)=>{const r=(0,t.fastClone)(e),i=(0,t.fastClone)(n);return(0,l.default)(r,i,((e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return(0,l.default)(e.sort(),t.sort())}))},t.checkDeprecatedConfigs=function(e,t,n){const{baseString:r,oldPath:i,newPath:o,oldValue:s,newValue:a}=t;let l=c.ConfigUtilInstance.getDefault(e,h(r,o,a),null);return null===l&&(l=c.ConfigUtilInstance.getDefault(e,h(r,o,s),null),l?p(t,o,s):(l=c.ConfigUtilInstance.getDefault(e,h(r,i,a),null),l?p(t,i,a):(l=c.ConfigUtilInstance.getDefault(e,h(r,i,s),null),l?p(t,i,s):l=n))),l}},28936:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=n(11314),a=o(n(26604));t.default=class{constructor(e,t){var n;this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.listenerGuid=e.listenerGuid,a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.queryMessage=t,this.guid=null===(n=null==t?void 0:t.data)||void 0===n?void 0:n.guid,this.internalHandler()}async internalHandler(){var e,t;this.data=null===(t=null===(e=this.queryMessage)||void 0===e?void 0:e.data)||void 0===t?void 0:t.data,this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){var e;this.allowDelay?(this.delayed=!0,null===(e=this.queryMessage)||void 0===e||e.sendQueryResponse(null,{delayed:!0})):this.done()}done(e){var t;this.completed=!0,this.delayed?s.RouterClient.transmit(`Finsemble.Listener.Done.${this.guid}.${this.listenerGuid}`,{canceled:this.canceled,data:e}):null===(t=this.queryMessage)||void 0===t||t.sendQueryResponse(null,{canceled:this.canceled,data:e})}}},23893:function(e,t,n){"use strict";var r,i=this&&this.__classPrivateFieldSet||function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(n(11314)),l=s(n(2518)),c=s(n(9060)),u=s(n(27102)),d=n(252),f=n(26604);class h extends c.default{constructor(e){super(e),r.set(this,void 0),this.eventList=[],this.eventInternalHandlerMap={},this.remoteListenerEventMap={},this.windowToGuidsMap={},this.waitList={},this.unsubscribes=[],this.unsubscribes.push(a.default.addListener(`Finsemble.RegisterInterruptibleEvent.${this.name}`,((e,t)=>{this.registerRemoteEventHandler(t.data.event,t.data.listenerGuid,t.data.windowName)}))),this.unsubscribes.push(a.default.addListener(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,((e,t)=>{this.unregisterRemoteEventHandler(t.data.event,t.data.listenerGuid,t.data.windowName)}))),i(this,r,a.default.addListener(f.LAUNCHER_SERVICE.WINDOW_CLOSED,((e,t)=>{if(e)l.default.system.error(`PrivateEventManager: Error listening for ${f.LAUNCHER_SERVICE.WINDOW_CLOSED}: ${e}`);else{const{name:e}=t.data;this.removeWindow(e)}})),"f")}removeWindow(e){var t;(null!==(t=this.windowToGuidsMap[e])&&void 0!==t?t:[]).forEach((e=>{this.removeGuid(e)})),delete this.windowToGuidsMap[e]}removeGuid(e){Object.keys(this.remoteListenerEventMap).forEach((t=>{this.remoteListenerEventMap[t]=this.remoteListenerEventMap[t].filter((t=>t!==e))}))}registerRemoteEventHandler(e,t,n){var r;this.remoteListenerEventMap[e]||(this.remoteListenerEventMap[e]=[]),this.remoteListenerEventMap[e].push(t),this.windowToGuidsMap[n]=[t].concat(null!==(r=this.windowToGuidsMap[n])&&void 0!==r?r:[])}unregisterRemoteEventHandler(e,t,n){var r;this.remoteListenerEventMap[e]?(this.remoteListenerEventMap[e]=this.remoteListenerEventMap[e].filter((e=>e!==t)),this.windowToGuidsMap[n]=(null!==(r=this.windowToGuidsMap[n])&&void 0!==r?r:[]).filter((e=>e!==t)),0===this.windowToGuidsMap[n].length&&delete this.windowToGuidsMap[n]):this.windowToGuidsMap[n]&&l.default.system.warn(`PrivateEventManager.unregisterListener() attempt to remove unregistered event "${e}" for window ${n}`)}awaitRemoteDelayer(e,t){return new Promise(((n,r)=>{const i=(o,s)=>{a.default.removeListener(`Finsemble.Listener.Done.${e}.${t}`,i),!0===s.data.canceled?r("canceled"):n(s.data.data)};this.waitList[e]=i,a.default.addListener(`Finsemble.Listener.Done.${e}.${t}`,i)}))}async queryRemoteListener(e,t,n,r){const i=`${this.name}_private_${Date.now()}_${Math.random()}`,o={event:e,guid:i,data:n},s=this.awaitRemoteDelayer(i,t),{err:l,response:c}=await Promise.race([a.default.query(`Finsemble.Interrupt.${t}`,o,{timeout:0,logWhenNoResponder:!1},(()=>{})),(0,d.sleep)(r.initialQueryTimeout,!0)]).catch((()=>{throw a.default.removeListener(`Finsemble.Listener.Done.${i}.${t}`,this.waitList[i]),"eventHandler failed initial response"}));if(l||!c.data)return;let u=!0;if(!0===c.data.delayed)try{return u=!1,await Promise.race([s,(0,d.sleep)(r.timeout,!0)])}catch(e){if("timeout expired"!==e)throw"event was canceled";u=!0}if(u&&a.default.removeListener(`Finsemble.Listener.Done.${i}.${t}`,this.waitList[i]),!0===c.data.canceled)throw"event was canceled";return c.data.data}async trigger(e,t=null,n={initialQueryTimeout:1e3,timeout:1e4}){l.default.verbose(`Triggering ${e} for ${this.name}`,t);const r=[];if(this.remoteListenerEventMap[e])for(let i of this.remoteListenerEventMap[e])r.push(this.queryRemoteListener(e,i,t,n));this.handlers.filter((t=>t.event===e)).forEach((n=>{const i=new u.default({source:this.name,sourceType:this.sourceType,handler:n.handler,event:e,data:t,guid:n.listenerGuid});r.push(i.complete)}));try{return await Promise.all(r)}catch(t){if("eventHandler failed initial response"!==t)throw"event was canceled";console.debug(`No response for interupt on event ${e}. Window is probably already closed.`)}}addEventListener(e,t){l.default.system.debug("PrivateEventManager.addEventListener:",e);const n=`${this.name}_public_${Date.now()}_${Math.random()}`;return this.handlers.push({event:e,handler:t,listenerGuid:n}),()=>{this.removeEventListener(e,t)}}removeEventListener(e,t){l.default.system.debug("PrivateEventManager.removeEventListener:",e);const n=this.handlers.findIndex((n=>n.event===e&&n.handler===t));-1!=n?this.handlers.splice(n,1):l.default.system.warn(`PrivateEventManager.removeEventListener() attempt to remove unregistered event "${e}"`)}cleanup(){o(this,r,"f")&&o(this,r,"f").call(this),this.unsubscribes.forEach((e=>{e()})),this.unsubscribes=[]}}r=new WeakMap,t.default=h},27102:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=o(n(26604));t.default=class{constructor(e){this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.data=e.data,this.guid=e.guid,s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.complete=new Promise(((e,t)=>{this.eventCanceled=t,this.eventComplete=e})),this.internalHandler()}async internalHandler(){this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){this.allowDelay?this.delayed=!0:this.done()}done(e){this.completed=!0,this.canceled?this.eventCanceled&&this.eventCanceled():this.eventComplete&&this.eventComplete(e)}}},9060:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(11314)),o=r(n(2518)),s=r(n(28936));t.default=class{constructor(e){var t;this.eventList=[],this.cleanedUp=!1,this.openResponders=[],this.handlers=[],this.name=e.name,this.thisWindowName=window.name,this.sourceType=null!==(t=e.sourceType)&&void 0!==t?t:"undefined",window.addEventListener("beforeunload",(()=>{this.cleanup()}))}addListener(e,t){return this.addEventListener(e,t)}removeListener(e,t){return this.removeEventListener(e,t)}addEventListener(e,t){o.default.system.debug("PublicEventmanager.addEventListener:",e);const n=`${this.name}_public_${Date.now()}_${Math.random()}`;this.handlers.push({event:e,handler:t,listenerGuid:n}),i.default.transmit(`Finsemble.RegisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:n,windowName:this.thisWindowName});const r=`Finsemble.Interrupt.${n}`;return i.default.addResponder(r,((r,i)=>{new s.default({source:this.name,sourceType:this.sourceType,listenerGuid:n,handler:t,event:e},i)})),this.openResponders.push(r),()=>{this.removeEventListener(e,t)}}removeEventListener(e,t,n=!0){if(o.default.system.debug("PublicEventManager.removeEventListener:",e),this.cleanedUp)return;const r=this.handlers.findIndex((n=>n.event===e&&n.handler===t));if(-1===r)return void(n&&o.default.system.warn(`PublicEventManager.removeEventListener() attempt to remove unregistered event "${e}"`));const{listenerGuid:s}=this.handlers[r];i.default.transmit(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:s,windowName:this.thisWindowName}),i.default.removeResponder(`Finsemble.Interrupt.${s}`),this.handlers.splice(r,1)}cleanup(){this.cleanedUp=!0,this.handlers=[],this.openResponders.forEach((e=>{i.default.removeResponder(e)}))}}},78268:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(2518)),o=n(91374),s={},a={activeTransports:{},liveTransport:null,setTransports(){a.addTransport("SharedWorker",s.SharedWorkerTransport),a.addTransport("IPCBus",s.IPCTransport),a.addTransport("FinsembleTransport",s.FinsembleTransport)},addTransport(e,t){this.activeTransports[e]=t},getActiveTransports(e){const t=[],n=e=>{-1===t.indexOf(e)&&t.push(e)};return o.System.InterApplicationBus&&n("IPCBus"),n("FinsembleTransport"),SharedWorker&&n("SharedWorker"),n(e.sameDomainTransport),n(e.crossDomainTransport),i.default.system.log("getActiveTransports",t),t},getTransport:(e,t,n,r,o)=>new Promise(((s,l)=>{const c=a.activeTransports[t];if(c)a.liveTransport=new c(e,n,r,o,(e=>{s(e)}));else{const e=`routerTransport.getTransport() Unknown router transport name: ${t}`;i.default.warn(e),l(e)}})),close(){a.liveTransport&&(a.liveTransport.close(),a.liveTransport=null)}};s.SharedWorkerTransport=function(e,t,n,r,o){let s;this.send=function(e,t){1===arguments.length?(t=arguments[0],e=null):(e=arguments[0],t=arguments[1]),i.default.system.verbose("SharedWorkerTransport Outgoing Transport",t);try{s.port.postMessage([e,t])}catch(e){i.default.system.error(`SharedWorkerTransport: post message failed: ${JSON.stringify(e)}`,"Probable cause is sending illegal data type (e.g. function).")}},this.identifier=()=>"SharedWorker";const a=e.transportSettings.SharedWorker&&e.transportSettings.SharedWorker.workerPath?e.transportSettings.SharedWorker.workerPath:`${e.routerDomainRoot}/common/routerSharedWorker.js`;i.default.console.log(`SharedWorker Transport Initializing for ${n} using ${a}`),s=new SharedWorker(a,{name:"Finsemble",credentials:"include"}),s.port.onmessage=e=>{const n=e.data[0],r=e.data[1],o={transportID:this.identifier(),port:n};i.default.system.verbose("SharedWorkerTransport Incoming Transport",o,"Message",r),t(o,r)},s.onerror=e=>{i.default.console.error(`SharedWorkerTransport Transport Error ${JSON.stringify(e)}`)},s.port.start(),"RouterService"===n&&s.port.postMessage({data:"connect",source:"RouterService"}),this.close=()=>s.port.close(),null==o||o(this)},s.IPCTransport=function(e,t,n,r,s){this.send=function(e,t){let n;1===arguments.length?(n=r,t=arguments[0]):(n=e.name,t=arguments[1]),i.default.system.verbose("IPCTransport Outgoing Transport",n,"Message",t),o.System.InterApplicationBus.publish(n,t,(()=>{}),(()=>{}))},this.identifier=()=>"IPCBus",i.default.console.log(`IPCBus Transport Initializing for ${n}`);const a=o.System.InterApplicationBus.subscribe("*",n,(e=>{const n={transportID:this.identifier(),name:e.header.origin};i.default.system.verbose("IPCTransport Incoming Transport",n,"Message",e),t(n,e)}),(()=>{}),(e=>i.default.console.error(`IPCBus Subscribe Failure: ${e}`)));this.close=()=>o.System.InterApplicationBus.unsubscribe(a),null==s||s(this)},s.FinsembleTransport=function(e,t,n,r,o){var s,a,l,c,u;const d=`${null!==(u=null!==(l=null===(a=null===(s=null==e?void 0:e.transportSettings)||void 0===s?void 0:s.FinsembleTransport)||void 0===a?void 0:a.serverAddress)&&void 0!==l?l:null===(c=null==e?void 0:e.transportSettings)||void 0===c?void 0:c.serverAddress)&&void 0!==u?u:"ws://127.0.0.1:3376"}/router`;let f;const h=e=>{const n={transportID:this.identifier(),client:e.clientMessage.header.origin};i.default.system.verbose("FinsembleTransport Incoming Transport",n,"Message",e),t(n,e.clientMessage)},p=()=>{i.default.console.error(`FinsembleTransport Connection Timeout for ${n}`),null==o||o(this)},g=()=>{i.default.console.log(`FinsembleTransport Transport Initializing for ${n} using ${d}`),d.startsWith("ws:")||d.startsWith("wss:")||i.default.system.error(`Illegal WebSocket address "${d}" (Missing ws:// or wss:// ?)`),f=new WebSocket(d);const e=setTimeout(p,3e3);f.addEventListener("open",(()=>{clearTimeout(e),i.default.console.log("FinsembleTransport connected to server"),f.addEventListener("message",(e=>{const t=JSON.parse(e.data);(n===t.message.client||"RouterService"===n&&"ROUTER_SERVICE"==t.dest)&&h(t.message)})),null==o||o(this)}))};this.send=function(e,t){let n,r;1===arguments.length?(n="ROUTER_SERVICE",r={clientMessage:t=arguments[0]}):(n="ROUTER_CLIENT",t=arguments[1],r={client:e.client,clientMessage:t}),i.default.system.verbose("FinsembleTransport Outgoing Transport",n,"NewMessage",r),f.readyState===WebSocket.OPEN&&f.send(JSON.stringify({dest:n,message:r})),f.readyState===WebSocket.CONNECTING&&f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:n,message:r}))})),f.readyState===WebSocket.CLOSED&&(g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:n,message:r}))}))),f.readyState===WebSocket.CLOSING&&(f.onclose=()=>{g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:n,message:r}))}))})},this.identifier=()=>"FinsembleTransport",this.close=()=>f.close(),g()},t.default=a},31482:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkForObjectChange=t.mapField=t.initObject=t.setPath=t.byString=void 0,t.byString=(e,t)=>{const n=(t=t.replace(/^\./,"")).split(/\.(?![^[]*])/g);for(let t=0;t<n.length;++t){const r=n[t].replace(/[["\]]/g,"");if(!e)return null;if("string"==typeof e)return null;if(!(r in e))return null;e=e[r]}return e},t.setPath=(e,t,n)=>t.split(".").reduce(((e,r)=>e[r]=t.split(".").pop()===r?n:e[r]||{}),e),t.initObject=function e(t,n,r){let i;if(n||(n=null),"object"!=typeof t)return i=n?`${n}.${t}`:t,void(r[i]=n);for(const o in t)"object"==typeof t[o]&&"undefined"!==t[o]?(i=n?`${n}.${o}`:o,r[i]=n,e(t[o],i,r)):(i=n?`${n}.${o}`:o,r[i]=n)},t.mapField=(e,n,r)=>{if(r[n])return;const i=(n=(n=n.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o=n;if(!r.hasOwnProperty(o)){let e=null;i.length>1&&(i.pop(),e=i.join(".")),r[o]=e}const s=(0,t.byString)(e,o);if("undefined"!==s&&"object"==typeof s)for(const n in s)(0,t.mapField)(e,`${o}.${n}`,r)};t.checkForObjectChange=(e,n,r)=>{const i=(0,t.byString)(e,n);return null!==i&&("object"==typeof i||"object"!=typeof i&&"object"==typeof n?((e,t)=>{const n=[];for(const r in e){const i=`${t}.`;r.includes(i)&&(n.push(r),delete e[r])}return n})(r,n):null)}},91374:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.System=void 0;const r=n(10166),i=n(2518),o=n(11314);class s{static createNew(e,t){fin.desktop.Window.createNew(e,t)}static getCurrent(){return fin.desktop.Window.getCurrent()}static wrap(e){return fin.desktop.Window.wrap(e)}}class a{static createNew(e,t){t("Cannot create freestanding windows")}static getCurrent(){const{windowName:e}=r.Startup.getInstance().getStartupData();return{name:e,uuid:`${e}-uuid`,getOptions:e=>{null==e||e({})},addEventListener:()=>{},removeEventListener:()=>{},updateOptions:()=>{},close:()=>{},startMovingWindow:()=>{},stopMovingWindow:()=>{},isShowing:()=>{},bringToFront:()=>{},show:()=>{},hide:()=>{},setTaskbarIcon:()=>{}}}static wrap(){return this.getCurrent()}}class l{constructor(){return new fin.desktop.System.Clipboard}static writeText(e,t,n,r){return i.Logger.deprecated("FSBL.System.Clipboard.writeText is deprecated"),fin.desktop.System.Clipboard.writeText(e,t,n,r)}static writeHTML(e,t,n,r){return i.Logger.deprecated("FSBL.System.Clipboard.writeHTML is deprecated"),fin.desktop.System.Clipboard.writeHTML(e,t,n,r)}static writeRTF(e,t,n,r){return i.Logger.deprecated("FSBL.System.Clipboard.writeRTF is deprecated"),fin.desktop.System.Clipboard.writeRTF(e,t,n,r)}static readText(e,t,n){return i.Logger.deprecated("FSBL.System.Clipboard.readText is deprecated"),fin.desktop.System.Clipboard.readText(e,t,n)}static readHTML(e,t,n){return i.Logger.deprecated("FSBL.System.Clipboard.readHTML is deprecated"),fin.desktop.System.Clipboard.readHTML(e,t,n)}static readRTF(e,t,n){return i.Logger.deprecated("FSBL.System.Clipboard.readRTF is deprecated"),fin.desktop.System.Clipboard.readRTF(e,t,n)}}class c{static get Application(){return{getCurrent:()=>(i.Logger.deprecated("FSBL.System.Application is deprecated"),{restart:()=>{o.RouterClient.transmit("Application.restart",{})},getWindow:()=>fin.desktop.Window,addEventListener:(e,t,n,r)=>{fin.desktop.Window.addEventListener(e,t,n,r)},close:(e,t,n)=>{fin.desktop.Window.close(e,t,n)},getChildWindows:(e,t)=>{null==e||e([fin.desktop.Window])},getGroups:(e,t)=>{null==e||e([])},getManifest:(e,t)=>{c.getManifest(e)},getParentUuid:(e,t)=>{null==e||e("Finsemble")},getInfo:(e,t)=>{c.getVersion(e)},getTrayIconInfo:(e,t)=>{null==e||e({})},isRunning:(e,t)=>{null==e||e(!0)},registerUser:(e,t,n,r)=>{null==n||n()},removeEventListener:(e,t,n,r)=>{fin.desktop.Window.removeEventListener(e,t,n,r)},removeTrayIcon:(e,t)=>{fin.desktop.Window.removeTrayIcon(e,t)},run:(e,t)=>{},scheduleRestart:(e,t)=>{null==e||e()},setTrayIcon:(e,t,n,r)=>{fin.desktop.Window.setTrayIcon(e,t,n,r)},terminate:(e,t)=>{c.terminate()},wait:(e,t)=>{null==e||e()},window:{name:fin.desktop.Window.name},uuid:"Finsemble"})}}static isFreestanding(){return"undefined"==typeof fin}static get Window(){return c.isFreestanding()?a:s}static get Notification(){return{send:e=>{fin.desktop.Notification.send(e)}}}static get Clipboard(){return l}static getManifest(e){return new Promise((t=>{fin.desktop.System.getManifest((n=>{null==e||e(n),t(n)}))}))}static async getMousePosition(e){return new Promise(((t,n)=>{fin.desktop.System.getMousePosition((n=>{(n.left||0===n.left)&&(n.x=n.left),(n.top||0===n.top)&&(n.y=n.top),null==e||e(null,n),t(n)}),(t=>{null==e||e(t),n(t)}))}))}static async deleteAssets(e){return await fin.desktop.System.deleteAssets(e)}static getSDServerInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getSDServerInfo((n=>{t(n),e(n)}))}))}static getMonitorInfo(e){return new Promise((t=>{fin.desktop.System.getMonitorInfo((n=>{t(n),e&&e(n)}))}))}static isBrowserView(){return!c.isFreestanding()&&fin.isBrowserView()}static getViewId(){return i.Logger.deprecated("FSBL.system.getViewId() is deprecated. Use FSBL.system.getWebContentsId()"),fin.getWebContentsId()}static getWebContentsId(){return fin.getWebContentsId()}static hasBrowserView(){return i.Logger.deprecated("FSBL.system.hasBrowserView() is deprecated. Use FSBL.system.isTitlebarWindow()"),c.isTitlebarWindow()}static isTitlebarWindow(){return!c.isFreestanding()&&fin.isTitlebarWindow()}static get fin(){return fin||{}}static ready(e){return new Promise((t=>{fin.desktop.main((()=>{e&&e(),t()}))}))}static setTrayIcon(e,t){fin.desktop.System.setTrayIcon(e,t)}static getHostSpecs(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getHostSpecs((n=>{t(n),e(n)}))}))}static get InterApplicationBus(){return fin.desktop.InterApplicationBus}static get launchExternalProcess(){return fin.desktop.System.launchExternalProcess}static get terminateExternalProcess(){return fin.desktop.System.terminateExternalProcess}static get exit(){return fin.desktop.System.exit}static get clearCache(){return fin.desktop.System.clearCache}static get showDeveloperTools(){return fin.desktop.System.showDeveloperTools}static get addEventListener(){return c.isFreestanding()?window.addEventListener:fin.desktop.System.addEventListener}static get addSelectClientCertificateListener(){return fin.desktop.System.addSelectClientCertificateListener}static get addCertificateErrorListener(){return fin.desktop.System.addCertificateErrorListener}static getFEAInfo(e){return new Promise((t=>{fin.desktop.System.getFEAInfo((n=>{null==e||e(n),t(n)}))}))}static get getVersion(){return fin.desktop.System.getVersion}static get getUpdateAvailable(){return fin.desktop.System.getUpdateAvailable}static get openUrlWithBrowser(){return fin.desktop.System.openUrlWithBrowser}static get getProcessList(){return fin.desktop.System.getProcessList}static get getProtocolString(){return fin.desktop.System.getProtocolString}static get hideSplashScreen(){return fin.desktop.System.hideSplashScreen}static startupApplicationHandshake(){fin.desktop.System.startupApplicationHandshake&&fin.desktop.System.startupApplicationHandshake()}static terminate(){fin.desktop.System.terminate()}static restart(){fin.desktop.System.restart()}}t.System=c},84795:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(11314)),o=r(n(2518)),s=n(53912),a=n(38144),l=n(37331),c=new class{publishBootStatus(e,t,n,r){o.default.system.debug("publishBootStatus",e,t,n),i.default.publish((0,l.statusChannel)(e),{name:e,type:t,state:n,error:r})}waitForBootStage(e,t,n=Function.prototype){return new Promise(((r,l)=>{o.default.system.debug("SystemManagerClient.waitForBootStage entry",e,t);const c=s.ALL_BOOT_STAGES.indexOf(e);"microkernel"===e&&"stageEntered"===t&&o.default.system.error("Cannot wait on `stageEntered` for microkernel because router isn't up yet. So will instead wait for microkernal stage complete.");const u=i.default.subscribe(a.STAGE_CHANNEL,((a,d)=>{if(o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data.stage,u),a)o.default.system.error("SystemManagerClient.waitForBootStage subscribe error",a),n(a),l(a);else if(-1===c)a="illegal stage argument",o.default.system.debug("SystemManagerClient.waitForBootStage subscribe error",a,e),n(a),l(a);else{const a=s.ALL_BOOT_STAGES.indexOf(d.data.stage);o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data,u),"stageEntered"===t&&a+1>=c?(o.default.system.debug("SystemManagerClient.waitForBootStage stageEntered",e,u,n.name),n(),r(),i.default.unsubscribe(u)):"stageCompleted"===t&&a>=c?(o.default.system.debug("SystemManagerClient.waitForBootStage completed",e,u),n(),r(),i.default.unsubscribe(u)):o.default.system.debug(`SystemManagerClient.waitForBootStage else currentStageIndex=${a} stageIndex=${c} `,a,c,e,u)}}))}))}waitForStartup(e,t=Function.prototype){return new Promise(((n,r)=>{o.default.system.debug(`SystemManagerClient.waitForStartup.${e}`,e);const s=i.default.subscribe((0,l.statusChannel)(e),((a,l)=>{o.default.system.debug("SystemManagerClient.waitForStartup subscribe",e,a,l),a?(o.default.system.error("SystemManagerClient.waitForStartup subscribe error",a),t(a),r()):l.data.name===e&&"completed"===l.data.state&&(o.default.system.debug("SystemManagerClient.waitForStartup completed",e),t(),n(),i.default.unsubscribe(s))}))}))}publishCheckpointState(e,t,n){o.default.system.debug("publishCheckpoint",e,t,n,(0,l.checkpointChannel)(e,t)),i.default.publish((0,l.checkpointChannel)(e,t),{windowName:e,checkpointName:t,state:n})}showSystemLog(){o.default.system.debug("SystemManagerClient.showSystemLog"),i.default.transmit(a.SHOW_SYSLOG_CHANNEL,!0)}systemLog(e,t){o.default.system.debug("SystemManagerClient.systemLog",e,t),i.default.transmit(a.SYSLOG_CHANNEL,{params:e,logMessage:t})}};t.default=c},65582:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SystemSettings=void 0;class n{constructor(){this.currentDiagLevel=3}diagLevel(){return this.currentDiagLevel}setDiagLevel(e){this.currentDiagLevel=e}validationEnabled(){return this.currentDiagLevel>=4}}t.SystemSettings=n,t.default=new n},16994:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UserNotification=void 0;const i=r(n(2518)),o=n(64324),s=n(91374),a=r(n(84795));let l=null;t.UserNotification=function(){const e={},t={};let r=null;this.getDefaultTemplateURL=function(e){r?setTimeout((()=>{e(r)}),0):(l||(l=n(9381).default),l.getValue({field:"finsemble"},((t,n)=>{r=o.ConfigUtilInstance.getDefault(n,"finsemble.notificationURL",`${n.moduleRoot}/components/system/notification/notification.html`),e(r)})))},this.alert=function(e,t,n,r,i){const o=this;i&&i.url?this.alertInternal(e,t,n,r,i,i.url):this.getDefaultTemplateURL((s=>{o.alertInternal(e,t,n,r,i,s)}))},this.alertInternal=function(n,r,o,l,c,u){let d=!1;const f=`UserNotification.alert.${o}`,h=(c=c||{}).duration||864e5;switch(r){case"ONCE-SINCE-STARTUP":f in e?d=!1:(d=!0,e[f]=!0);break;case"MAX-COUNT":{let e=0;const n=c.maxCount||1;f in t&&(e=t[f]),t[f]=++e,e<=n&&(d=!0);break}default:d=!0}if(i.default.log("UserNotification.alert",n,d,r,o,l,c),d){const e=Object.assign(Object.assign({url:u,message:l,timeout:h},c),{devModeOnly:"devModeOnly"===n});a.default.systemLog({notification:!0},`Notification: ${l}`),s.System.Notification.send(e)}}},t.default=new t.UserNotification},23099:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.windowNameFromRouterHeader=t.getWindowType=t.isWindows=t.injectJS=t.camelCase=t.getMyWindowIdentifier=t.getWindowDescriptor=t.getFinWindow=t.crossDomain=t.isPercentage=t.clone=void 0;const i=n(91374),o=r(n(2518));function s(e,t){return new Promise(((n,r)=>{const o=i.System.Window.getCurrent();if(null==e?void 0:e.windowName)try{const r=i.System.Window.wrap(e.windowName);null==t||t(r),n(r)}catch(n){null==t||t(null),r(`Window ${e.windowName} not found. UUID: ${e.uuid}`),console.debug(`util.getFinWindow: Window ${e.windowName} not found`)}else if(null==e?void 0:e.componentType){const i="LauncherService";if(void 0!==window[i]){const o=window[i].componentFinder(e);o?(n(o),null==t||t(o)):(r(`util.getFinWindow: Component ${e.componentType} not found.`),null==t||t(null))}else r("getFinWindow by componentType is currently only operable within LaunchService"),null==t||t(null)}else null==t||t(o),n(o)}))}t.clone=function e(t,n={}){if(null===t||"object"!=typeof t)return t;if(t.constructor==Date||t.constructor==RegExp||t.constructor==Function||t.constructor==String||t.constructor==Number||t.constructor==Boolean)return new t.constructor(t);n=n||new t.constructor;for(const r in t)n[r]=void 0===n[r]?e(t[r],null):n[r];return n},t.isPercentage=function(e){return"string"==typeof e&&-1!==e.indexOf("%")},t.crossDomain=function(e){const t=document.createElement("a");t.href=e;const n=window.location.hostname===t.hostname,r=window.location.protocol===t.protocol,i=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),s=!(n&&i&&r);return o.default.system.debug(`Launcher crossDomain=${s} (${n}:${r}:${i})`),s},t.getFinWindow=s,t.getWindowDescriptor=function(e,t){return new Promise(((n,r)=>{s(e).then((e=>{e.getOptions((e=>{null==t||t(e),n(e)}))})).catch((e=>{console.warn(e),null==t||t(null),r(e)}))}))},t.getMyWindowIdentifier=e=>{const t=i.System.Window.getCurrent();return new Promise((n=>{t.getOptions((r=>{let i=null;const{customData:o}=r;o&&o.component&&(i=o.component.type);const s={windowName:t.name,componentType:i};null==e||e(s),n(s)}))}))},t.camelCase=function(...e){let t="";for(let n=0;n<e.length;n++)t=`${t} ${e[n]}`;return t.replace(/\s(.)/g,(e=>e.toUpperCase())).replace(/\s/g,"").replace(/^(.)/,(e=>e.toLowerCase()))},t.injectJS=function(e,t){const n=document.createElement("script");t&&(n.onload=t),n.type="text/javascript",n.async=!0,n.src=e;const r=document.getElementsByTagName("head")[0],i=r.getElementsByTagName("script")[0];r.insertBefore(n,i)},t.isWindows=async function(e){const t=(await i.System.getHostSpecs()).name.toUpperCase().includes("WINDOWS");return null==e||e(t),t},t.getWindowType=function(e){const t="WebWindow";if(e.windowType&&!["assimilation","assimilated","native","application","NativeWindow","FinsembleNativeWindow","CompoundWindow","WebWindow","WebApplication","StackedWindow"].includes(e.windowType))return o.default.system.error(`Invalid windowType: ${e.windowType}, defaulting to windowType: WebWindow`),t;let n=e.windowType||t;switch(e.windowType){case"assimilation":case"assimilated":n="NativeWindow";break;case"native":n="FinsembleNativeWindow";break;case"application":n="WebApplication";break;case"Web":n="WebWindow";break;case"StackedWindow":n="StackedWindow"}return e.native&&(n="NativeWindow"),e.compound&&(n="CompoundWindow"),n},t.windowNameFromRouterHeader=e=>{let t,n=/\.(.*)\./s;try{t=e.origin.match(n)[1]}catch(n){t=e.origin.split(".")[1]}return t}},20670:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Validate=void 0;const i=r(n(65582));class o{warningMsg(e,t,n){const r=function(){try{throw Error("")}catch(e){return e}}();if(r.stack){const i=r.stack.split("\n")[5],o=i.indexOf("at "),s=i.slice(o+2,i.length),a=r.stack.split("\n")[6],l=a.indexOf("at "),c=a.slice(l+2,a.length);console.warn(`parameter validation failed: parameter ${e} is of type '${typeof t}' but should be of type '${n}' in${s} called by${c}`)}else console.warn(`parameter validation failed: parameter ${e} is of type '${typeof t}' but should be of type '${n}' inunknown called byunknown`)}args(...e){if(!i.default.validationEnabled())return!0;const t=e.length;if((t+1)%2!=0)for(let n=0;n<t;n+=2){let t=!1;const r=e[n];let i=e[n+1];"="===i.slice(-1)&&(i=i.slice(0,-1),t=!0);const o=void 0===r&&t,s=void 0!==r&&"any"===i;if(typeof r!==i&&!o&&!s){const e=""+(n/2+1);return this.warningMsg(e,r,i),!1}}else console.warn(`validate.args requires an even number of parameters: ${JSON.stringify(e)}`);return!0}args2(...e){if(!i.default.validationEnabled())return!0;const t=e.length;if((t+1)%3!=0)for(let n=0;n<t;n+=3){let t=!1;const r=e[n],i=e[n+1];let o=e[n+2];"="===o.slice(-1)&&(o=o.slice(0,-1),t=!0);const s=void 0===i&&t,a=void 0!==i&&"any"===o;if(typeof i!==o&&!s&&!a)return this.warningMsg(r,i,o),!1}else console.warn(`validate.args requires an even number of parameters: ${JSON.stringify(e)}`);return!0}}t.Validate=o,t.default=new o},75811:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WindowStorageManager=t.GET_WINDOW_STATE_ERROR=void 0;const i=r(n(95085)),o=n(252),s=n(23099),a=n(26604),l=n(2518),c=(0,r(n(83027)).default)(1),{ACTIVE_WORKSPACE:u,CACHE_STORAGE_TOPIC:d,STORAGE_TOPIC:f}=a.WORKSPACE;t.GET_WINDOW_STATE_ERROR=(e,t=u)=>`No Window State found for window "${e}" in workspace "${t}"`;class h{static async updateStorage(e){const{topic:t,key:n,updateFn:r}=e,i=await h._SC.get({topic:t,key:n});return await h._SC.save({topic:t,key:n,value:r(i)})}static updateStorage1(e){return c((()=>h.updateStorage(e)))}static getTopicAndKey(e,t,n=u){const r="windowData"===e?[n,t]:[n,t,t];return{topic:n===u?d:f,key:s.camelCase.apply(null,r)}}static async getState(e,t,n){const r=h.getTopicAndKey(e,t,n);return await h._SC.get1(r)||null}static async getCompleteState(e,t){let n=await h.getState("componentState",e,t).catch((()=>({}))),r=await h.getState("windowData",e,t);return l.LoggerClient.system.debug("getCompleteState",e,t,n,r),{componentState:n,windowData:r}}static async getManyStates(e,t,n){const r=t.flatMap((t=>{try{return[h.getState(e,t,n)]}catch(e){return[]}}));return Promise.all(r).then((e=>e.filter(o.identity)))}static async getManyCompleteStates(e,t){return Promise.all(e.map((e=>h.getCompleteState(e,t).catch((e=>(l.LoggerClient.system.warn(e),null)))))).then((e=>e.filter(o.identity)))}static async setState(e,t,n,r){await h._SC.save1(Object.assign(Object.assign({},h.getTopicAndKey(e,t,r)),{value:n}))}static async setCompleteState(e,t){e.windowData&&e.componentState&&(await h.setState("windowData",e.windowData.name,e.windowData,t),await h.setState("componentState",e.windowData.name,e.componentState,t))}static async setManyStates(e,t,n){return Promise.all(t.map((t=>h.setState(e,t.name,t,n))))}static async setManyCompleteStates(e,t){return Promise.all(e.map((e=>h.setCompleteState(e,t))))}static async updateState(e,t,n,r){await h.updateStorage1(Object.assign(Object.assign({},h.getTopicAndKey(e,n,r)),{updateFn:t}))}static async removeCompleteState(e,t){try{await h._SC.remove1(h.getTopicAndKey("windowData",e,t)),await h._SC.remove1(h.getTopicAndKey("componentState",e,t))}catch(e){l.LoggerClient.system.warn(e)}}static async removeManyCompleteStates(e,t){return Promise.all(e.map((e=>h.removeCompleteState(e,t))))}}t.WindowStorageManager=h,h._SC=i.default,h.getWindowID=e=>(0,s.camelCase)(e.name)},766:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleView=void 0,t.FinsembleView=class{constructor(e){this.win=e.win,this.id=e.id}async remove(e=Function.prototype){await this.win.removeBrowserView(this,e)}async setBounds(e,t=Function.prototype){await this.win.setViewBounds({view:this,bounds:e},t)}async bringToFront(e=Function.prototype){await this.win.bringViewToFront(this,e)}}},24074:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleWindow=void 0;const a=n(11314),l=n(2518),c=o(n(23099)),u=s(n(9060)),d=n(26604),f=n(91374),h=n(766),p=n(44137),g=s(n(50361));class m extends u.default{constructor(e){super({name:e.name,sourceType:"Window"}),this.types={},this.wrapState=e.wrapState||"initializing",this.componentState={},this.windowState=d.WINDOWSTATE.NORMAL,this.type=null,this.windowType=null,this.bounds={},this.guid=`${Date.now()}_${Math.random()}`,this.WINDOWSTATE=d.WINDOWSTATE,this.windowOptions={},this.doConstruction(e),this.TITLE_CHANGED_CHANNEL=`Finsemble.${this.name}.titleChanged`,this.componentKey=c.camelCase("activeWorkspace",this.name,this.name),this.windowKey=c.camelCase("activeWorkspace",this.name),m.bindFunctions(this)}standardizeEventName(e){switch(e){case"bounds-set":case"stoppedMoving":return"bounds-change-end";case"startedMoving":return"bounds-change-start";case"bringToFront":return"broughtToFront";case"setParent":return"parent-set";case"clearParent":return"parent-unset";default:return e}}addEventListener(e,t){return e=this.standardizeEventName(e),super.addEventListener(e,t)}removeEventListener(e,t,n=!1){if("closed"!==e||!p.FEAGlobals.finsembleWindow||this.name!==p.FEAGlobals.finsembleWindow.name)return e=this.standardizeEventName(e),super.removeEventListener(e,t,n)}windowServiceChannelName(e){return`WindowService-Request-${e}`}eventChannelName(e){return`WindowService-Event-${this.name||this.windowName}-${e}`}doConstruction(e){if(e.setWindowType||e.windowType||(e.windowType="WebWindow"),e.windowType)return e.setWindowType=e.windowType,delete e.windowType,new m(e);if(e)for(const t in e)this[t]=e[t];this.name||(this.name=e.windowName),this.windowType=this.setWindowType}static registerType(e,t){const n=m;n.types||(n.types={}),n.types[e]=t}static bindFunctions(e){e.setParent=e.setParent.bind(e),e.getParent=e.getParent.bind(e),e.eventChannelName=e.eventChannelName.bind(e),e.windowServiceChannelName=e.windowServiceChannelName.bind(e),e.handleWrapRemoveRequest=e.handleWrapRemoveRequest.bind(e),e.reload=e.reload.bind(e)}static async createWrapFromUUIDAndName(e,t){var n;const{uuid:r,windowType:i}=t;if(!1!==t.waitForReady)try{await m._windowReady(e),t.wrapState="ready"}catch(e){return{err:e}}l.Logger.system.debug("WRAP LIFECYCLE:",e,"All information for wrap passed in, creating wrap locally");const o=m.cache[e];return o?(l.Logger.system.debug("WRAP LIFECYCLE:",e,"Window found in the cache, returning without going to the Launcher"),{data:o}):{data:(await m._createWrap(Object.assign(Object.assign({},t),{windowIdentifier:null!==(n=t.windowIdentifier)&&void 0!==n?n:{uuid:r,name:e,windowName:e,windowType:i}}))).wrap}}static getInstance(e,t){var n;const r=f.System.Window.getCurrent().name,i=null!==(n=null==(e=(0,g.default)(e))?void 0:e.windowName)&&void 0!==n?n:null==e?void 0:e.name;return new Promise((async(n,o)=>{if(!i){const e='"name" is a required param';return null==t||t(e),void o(e)}e.windowName=i;let s=m.cache[i];if(s)return l.Logger.system.debug("WRAP LIFECYCLE:",i,"Window found in the cache, returning without going to the Launcher"),null==t||t(null,s),void n({wrap:s});if(e.name){const{err:r,data:s}=await m.createWrapFromUUIDAndName(i,e);return r||!s?(null==t||t(r),void o(r)):(null==t||t(null,s),void n({wrap:s}))}if(!1!==e.waitForReady)try{await m._windowReady(i),e.wrapState="ready"}catch(c){return null==t||t(c,null),void o(c)}const{err:c,response:u}=await a.RouterClient.query("WindowService-Request-getWindowIdentifier",{windowName:i,requester:r});if(c)return l.Logger.system.error(c),null==t||t(c,null),void o(c);if(s=m.cache[i],s)return l.Logger.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher, but wrap exists in cache. Returning cached wrap."),null==t||t(null,s),void n({wrap:s});l.Logger.system.debug("WRAP LIFECYCLE:",i,"Information received from launcher. Creating wrap.");const{identifier:d}=u.data;d.windowName&&(d.name=d.windowName),e.retrievedIdentifier=d,({wrap:s}=await m._createWrap(e)),u.data.descriptor&&(s.descriptor=u.data.descriptor),null==t||t(null,s),n({wrap:s})}))}static _createWrap(e){return new Promise((async t=>{const n=e.retrievedIdentifier||e.windowIdentifier;(e.setWindowType||n.windowType)&&"WebApplication"!==n.windowType||(n.windowType="WebWindow");let r=Object.assign({},n);r=Object.assign(r,e),r.setWindowType=r.windowType,delete r.windowType,l.Logger.system.debug("WRAP LIFECYCLE: Placing wrap into the local cache.",n.windowName);let i=new m(r);m.cache[n.windowName]=i,i.windowType=n.windowType,i.identifier=n,i.addEventListener("closed",i.handleWrapRemoveRequest),i.addEventListener("maximized",(()=>{i.windowState=d.WINDOWSTATE.MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MAXIMIZED})),i.addEventListener("minimized",(()=>{i.windowState===d.WINDOWSTATE.MAXIMIZED?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED):i.windowState===d.WINDOWSTATE.NORMAL?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL):l.Logger.system.warn("Invalid window state received listening to window minimize",i.windowState)})),i.addEventListener("restored",(()=>{i.windowState=d.WINDOWSTATE.NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.NORMAL}));const o=a.RouterClient.subscribe(`Finsemble.Component.State.${n.windowName}`,((e,t)=>{if(e)l.Logger.system.error("Finsemble component state change error",e);else{const{state:e}=t.data;i.wrapState=e,a.RouterClient.unsubscribe(o)}}));await(async(e,t)=>new Promise((n=>{e.parentSubscribeID=a.RouterClient.subscribe(`Finsemble.parentChange.${t.windowName}`,(async(t,r)=>{if(t)l.Logger.system.error("FinsembleWindow parent change notification error",t);else{const t=r.data||{};"Added"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.addedToStack listener",t),await e.setParent(t.stackedWindowIdentifier)):"Exists"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: Parent already exists, checking if added to wrap",t),await e.setParentOnWrap(t.stackedWindowIdentifier)):"Removed"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.removedFromStack listener",t),e.clearParent()):t.type&&l.Logger.system.error("FinsembleWindow Parent Notification: unknown type",t)}n()}))})))(i,n),t({wrap:i})}))}static _getRemoveWrapChannel(e){return`${f.System.Window.getCurrent().name}.removeWrap.${e}`}async handleWrapRemoveRequest(e){e&&e.wait(),l.Logger.system.debug("WRAP Destructor. Removing cached window",this.name,"in ",window.name),this.removeListeners&&this.removeListeners(),this.cleanupRouter(),this.cleanup(),this.name!==p.FEAGlobals.name&&this.name&&delete m.cache[this.name],e&&e.done()}static closeAllWraps(){Object.values(m.cache).forEach((e=>{e.handleWrapRemoveRequest()}))}cleanupRouter(){const e=m._getRemoveWrapChannel(this.name);a.RouterClient.removeResponder(e),this.TITLE_CHANGED_SUBSCRIPTION&&a.RouterClient.unsubscribe(this.TITLE_CHANGED_SUBSCRIPTION),a.RouterClient.unsubscribe(this.parentSubscribeID)}onReady(e){return new Promise((t=>{if("ready"===this.wrapState)return null==e||e(),void t();this.addEventListener("ready",(()=>{null==e||e(),t()}))}))}queryWindowService(e,t,n=Function.prototype){return"function"==typeof t&&(n=t,t={}),t=Object.assign(Object.assign({},t),{windowIdentifier:this.identifier}),l.Logger.setting().system.Debug&&(t.callstack=l.Logger.callStack()),new Promise((async(r,i)=>{var o;if("close"!==e&&"setParent"!==e&&"ready"!==this.wrapState)return await this.onReady(),this.wrapState="ready",void r(await this.queryWindowService(e,t));l.Logger.system.debug("FinsembleWindow.queryWindowService",this.windowServiceChannelName(e),t);const{err:s,response:c}=await a.RouterClient.query(this.windowServiceChannelName(e),t);let u=null!==(o=c.data)&&void 0!==o?o:null;if(s){if(l.Logger.system.debug(`WindowService.${e}: failed`,s),console.debug(`WindowService.${e}: failed`,s),"getComponentState"!==e&&"Not found"!==s)return void i(s)}else l.Logger.system.debug(`${this.windowServiceChannelName(e)} successful`,u),console.debug(`${this.windowServiceChannelName(e)} successful`,u);r(u),n(s,u)}))}minimize(e=null,t){return new Promise((n=>{this.queryWindowService("minimize",e,(e=>{null==t||t(e),n({err:e})}))}))}maximize(e=null,t){return new Promise((n=>{this.getBounds(((r,i)=>{r||!i?l.Logger.system.warn(`Error getting bounds, cached bounds will not be set: ${r}`):this.updateOptions({options:{defaultLeft:i.left,defaultTop:i.top,defaultWidth:i.width,defaultHeight:i.height}}),this.queryWindowService("maximize",e,(e=>{null==t||t(e),n({err:e})}))}))}))}restore(e=null,t){return new Promise((n=>{this.queryWindowService("restore",e,(e=>{null==t||t(e),n({err:e})}))}))}blur(e=null,t){return new Promise((n=>{this.queryWindowService("blur",e,(e=>{null==t||t(e),n({err:e})}))}))}focus(e=null,t){return new Promise((n=>{this.queryWindowService("focus",e,(e=>{null==t||t(e),n({err:e})}))}))}bringToFront(e=null,t){return new Promise((n=>{this.queryWindowService("bringToFront",e,(e=>{null==t||t(e),n({err:e})}))}))}setAlwaysOnTop(e={alwaysOnTop:!0},t){return new Promise((n=>{this.queryWindowService("setAlwaysOnTop",e,(e=>{null==t||t(e),n({err:e})}))}))}isAlwaysOnTop(e={},t){this.queryWindowService("isAlwaysOnTop",e,t)}isShowing(e={},t){this.queryWindowService("isShowing",e,t)}setIgnoreMouseEvents(e,t,n=Function.prototype){const r={ignore:new Boolean(e).valueOf(),options:new Boolean(t).valueOf()?t:{forward:!1}};this.queryWindowService("setIgnoreMouseEvents",r,n)}setShape(e,t=Function.prototype){this.queryWindowService("setShape",e,t)}async addBrowserView(e,t=Function.prototype){const n=await this.queryWindowService("addBrowserView",e,t);return new h.FinsembleView({id:n,win:this})}async removeBrowserView(e,t=Function.prototype){await this.queryWindowService("removeBrowserView",{viewId:e.id},t)}async bringViewToFront(e,t=Function.prototype){await this.queryWindowService("bringViewToFront",{viewId:e.id},t)}async setViewBounds(e,t=Function.prototype){await this.queryWindowService("setViewBounds",{viewId:e.view.id,bounds:e.bounds},t)}setBounds(e={bounds:{}},t){return new Promise((n=>{"function"==typeof e||e.bounds||(e={bounds:e}),this.queryWindowService("setBounds",e,(e=>{null==t||t(e),n({err:e})}))}))}getBounds(e,t){return new Promise((n=>{const r="function"==typeof e?e:t;this.queryWindowService("getBounds",{},((e,t)=>{null==r||r(e,t),n({err:e,data:t})}))}))}updateOptions(e,t=Function.prototype){this.queryWindowService("updateOptions",e,t)}hide(e={},t){return new Promise((n=>{this.queryWindowService("hide",e,((e,r)=>{null==t||t(e,r),n({err:e})}))}))}reload(e={},t=Function.prototype){this.queryWindowService("reload",e,t)}show(e={},t){return new Promise((n=>{this.queryWindowService("show",e,((e,r)=>{null==t||t(e,r),n({err:e})}))}))}showAt(e={},t=Function.prototype){this.queryWindowService("showAt",e,t)}close(e={},t){return new Promise((n=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name,e),this.queryWindowService("close",e,(e=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name),null==t||t(e),n({err:e})}))}))}animate(e={},t=Function.prototype){this.queryWindowService("animate",e,t)}registerWithDocking(e={},t){this.onReady((()=>{a.RouterClient.query("DockingService.registerWindow",{type:this.type,windowType:this.windowType,windowMsg:e,name:this.windowName},t)}))}showNativeOpenDialog(e={},t){this.queryWindowService("showNativeOpenDialog",e,t)}unRegisterWithDocking(){a.RouterClient.transmit("DockingService.deregisterWindow",{name:this.windowName})}initializeWindow({manageWindowMovement:e,identifier:t},n=Function.prototype){const r=()=>{a.RouterClient.publish(`Finsemble.${this.windowName}.componentReady`,{name:this.windowName}),n()};e?this.registerWithDocking(t,r):r()}wrapReady(){a.RouterClient.publish(`Finsemble.${this.windowName}.wrapReady`,{name:this.windowName,state:"open"})}setOpacity(e,t=Function.prototype){this.queryWindowService("setOpacity",e,t)}startTabTileMonitoring(e={}){l.Logger.system.debug("FinsembleWindow.startTabTileMonitoring",e),a.RouterClient.transmit("TabTile.startTabTile",{params:e})}stopTabTileMonitoring(e={},t=Function.prototype){l.Logger.system.debug("FinsembleWindow.stopTabTileMonitoring",e),a.RouterClient.query("TabTile.stopTabTile",{params:e},(function(e,n){e?l.Logger.system.warn("TabTile.stopTabTile: query failed",e):l.Logger.system.debug("TabTile.stopTabTile results",n.data);const r=n.data;t?t(e,r,this.defaultStopTrackingAction):this.defaultTabTileAction(r)}))}defaultTabTileAction(e){const t=this;switch(l.Logger.system.debug("FinsembleWindow.defaultTabTileAction",e),e.stoppedLocation){case"OutsideWindow":case"TabSection":break;case"InsideWindow":e.tileGroupId?t.Group.addWindow(this.identifier,e.tileGroupId,e.dropCoordinates):t.Group.createGroup((function(n){t.Group.addWindow(this.identifier,n,e.dropCoordinates,{startingWindowIdentifier:e.droppedOnWindowIdentifier})}));break;default:l.Logger.system.error("stopTracking returned an unknown stoppedLocation result",e)}}mergeBounds(e){e.right=e.left+e.width;const t={left:e.left,right:e.right,width:e.width,top:e.top,bottom:e.top+e.height,height:e.height},n={defaultLeft:e.left,defaultWidth:e.width,defaultTop:e.top,defaultHeight:e.height};Object.assign(this.windowOptions,t),Object.assign(this.windowOptions,n),this.windowOptions.bounds=t}startMove(e={}){l.Logger.system.debug("FinsembleWindow.startMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("startedMoving"),{})}stopMove(e={}){l.Logger.system.debug("FinsembleWindow.stopMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("stoppedMoving"),{})}getMonitor(e){a.RouterClient.query("DockingService.getMonitorForWindow",{windowIdentifier:this.identifier},((t,n)=>n?e(n.data):e()))}getComponentState(e,t){this.queryWindowService("getComponentState",e,t)}getWindowState(e,t){this.queryWindowService("getWindowState",e,t)}setComponentState(e,t=(()=>{})){this.queryWindowService("setComponentState",e,t)}removeComponentState(e,t=(()=>{})){this.queryWindowService("removeComponentState",e,t)}setWindowState(e,t=(()=>{})){this.queryWindowService("setWindowState",e,t)}saveCompleteWindowState(e={},t=Function.prototype){this.queryWindowService("saveCompleteWindowState",e,t)}cancelTabTileMonitoring(e={}){l.Logger.system.debug("FinsembleWindow.cancelTabTileMonitoring",e),a.RouterClient.transmit("TabTile.cancelTabTile",{params:e})}getParent(e){this.settingParent?m.getInstance(this.settingParent,((t,n)=>{e(null,n)})):this.parentWindow?e(null,this.parentWindow):e(null,null)}async setParent(e,t){return new Promise((n=>{this.settingParent?this.getParent(((e,r)=>{null==t||t(e,r),n({err:e,data:r})})):(this.settingParent=e,this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParent already set",e),this.settingParent=!1,null==t||t(null,this.parentWindow),n({data:this.parentWindow})):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParent",e),m.getInstance(e,((r,i)=>{r?l.Logger.system.error("FinsembleWindow.setParent error",r):(l.Logger.system.debug("FinsembleWindow.setParent wrap success",e),this.parentWindow=i,this.parentWindow.windowType.includes("StackedWindow")||l.Logger.system.error("FinsembleWindow.setParent error",this.parentWindow.name,e.windowName)),a.RouterClient.transmit(d.DOCKING.REQUEST_PUBLISH,null),this.settingParent=!1;const o=()=>{this.removeEventListener("parent-set",o),null==t||t(r,i),n({err:r,data:i})};this.addEventListener("parent-set",o)}))})))}))}setParentOnWrap(e,t=Function.prototype){this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParentOnWrap already set",e),t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParentOnWrap",e),m.getInstance(e,((n,r)=>{n?l.Logger.system.error("FinsembleWindow.setParentOnWrap error",n):(l.Logger.system.debug("FinsembleWindow.setParentOnWrap success getting wrap",e),this.parentWindow=r,!1===this.parentWindow.windowType.includes("StackedWindow")&&l.Logger.system.error("FinsembleWindow.setParentOnWrap error",this.parentWindow.name,e.windowName)),t(n,r)}))}))}clearParent(){l.Logger.system.debug("FinsembleWindow.clearParent",this.parentWindow),this.parentWindow=null}setTitle(e){l.Logger.system.debug("Title change",e),a.RouterClient.publish(this.TITLE_CHANGED_CHANNEL,{title:e,windowName:this.windowName})}getOptions(e){return new Promise((t=>{this.queryWindowService("getOptions",{},((n,r)=>{null==e||e(n,r),t({err:n,data:r})}))}))}_privateManagementPreface(e,t){var n,r;return"function"==typeof t&&l.Logger.system.error("StackedWindowWrapper.wrapPreface bad params",t),(t=t||{}).stackedWindowIdentifier={windowName:null===(n=this.identifier)||void 0===n?void 0:n.windowName,windowType:null===(r=this.identifier)||void 0===r?void 0:r.windowType},l.Logger.system.debug(`StackedWindow.${e} _privateManagementPreface`,t),t}addWindow(e,t=Function.prototype){return e=this._privateManagementPreface("addWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.addWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.addWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}removeWindow(e,t=Function.prototype){return e=this._privateManagementPreface("removeWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.removeWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.removeWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}deleteWindow(e,t=Function.prototype){return e=this._privateManagementPreface("deleteWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.deleteWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.deleteWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}setVisibleWindow(e,t=Function.prototype){return e=this._privateManagementPreface("setVisibleWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.setVisibleWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.setVisibleWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}reorder(e,t=Function.prototype){return e=this._privateManagementPreface("reorder",e),new Promise((n=>{a.RouterClient.query("StackedWindow.reorder",e,((e,r)=>{l.Logger.system.debug("StackedWindow.reorder callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}formGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.RouterClient.transmit("DockingService.formGroup",{windowName:e})}ejectFromGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.RouterClient.query("DockingService.leaveGroup",{name:e},(()=>{}))}}t.FinsembleWindow=m,m.WINDOWSTATE=d.WINDOWSTATE,m.wrap=m.getInstance,m.cache={},m._windowReady=function(e){let t;return l.Logger.system.debug(`windowServiceReady: ${e} starting`),new Promise((async(n,r)=>{l.Logger.system.debug(`windowServiceReady: ${e} waiting`),t=a.RouterClient.subscribe(`Finsemble.Component.State.${e}`,((r,i)=>{const{state:o}=i.data;switch(l.Logger.system.debug(`windowServiceReady: ${e} state change: ${o}`),o){case"ready":case"reloading":case"closing":l.Logger.system.debug(`windowServiceReady: ${e} ${o}`),a.RouterClient.unsubscribe(t),n()}}))}))}},24137:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.openSharedData=t.deprecatedGetWindowNameForDocking=t.deprecatedSetActive=t.deprecatedGetActiveAndPendingWindowNames=void 0;const i=r(n(2518)),o=r(n(49136)),s=r(n(95393));function a(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}t.deprecatedGetActiveAndPendingWindowNames=(e,t=Function.prototype)=>new Promise((n=>{e.query("Launcher.getActiveAndPendingWindowNames",{},((e,r)=>{e&&i.default.system.error(e),t(e,r.data),n({err:e,data:r.data})}))})),t.deprecatedSetActive=e=>{var t,n;e?(n="desktop-active",(t=document.documentElement).classList?t.classList.add(n):a(t,n)||(t.className=`${t.className} ${n}`)):function(e,t){if(e.classList)e.classList.remove(t);else if(a(e,t)){const n=new RegExp(`(\\s|^)${t}(\\s|$)`);e.className=e.className.replace(n," ")}}(document.documentElement,"desktop-active")},t.deprecatedGetWindowNameForDocking=e=>{const t=e.parentWindow;return t?t.name:e.name},t.openSharedData=function(e,t){const n=o.default,r=s.default;e.multipleOpenerHandler||(e.multipleOpenerHandler=function(e){let t,n=0;for(const r of Object.keys(e))e[r].length>n&&(t=r,n=e[r].length);return[t]});const a=[],l={};n.getComponentsThatCanReceiveDataTypes({dataTypes:Object.keys(e.data)},((o,s)=>{for(const e of Object.keys(s))if(s[e].componentTypes.length)for(const t of s[e].componentTypes)l[t]?l[t].push(e):l[t]=[e];else{const t=`No Components Available to Handle the type: ${e}`;a.push(t),i.default.system.error(t)}let c=Object.keys(l);if(c.length){c.length>1&&(c=e.multipleOpenerHandler(l));const i=Object.keys(r.channels);if(i.length)if(r.getLinkedComponents({componentTypes:c,windowIdentifier:r.windowIdentifier()}).length||e.publishOnly)r.publish({dataType:"Finsemble.DragAndDropClient",data:e.data},(()=>{})),t&&t(a.length?a:null,"Data published");else{for(const t of c)n.spawn(t,{data:{sharedData:e.data,linker:{channels:i}},addToWorkspace:!0});t&&t(a.length?a:null,"Linked Window(s) spawned with data")}else if(!e.publishOnly){for(const t of c)n.spawn(t,{data:{sharedData:e.data},addToWorkspace:!0});t&&t(a.length?a:null,"New Window(s) spawned with data")}}else t&&t(a.length?a:null,null)}))}},95393:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LinkerClient=void 0;const i=n(1641),o=r(n(20670)),s=n(25232),a=r(n(97525)),l=r(n(49136)),c=r(n(47913)),u=r(n(2518)),d=r(n(18446));u.default.system.debug("Starting LinkerClient");const f=u.default.system.info,h=u.default.system.debug;function p(e){return e.windowName.replace(/\./g,"_")}function g(e,t){return t&&t(null,e),e}class m extends s._BaseClient{constructor(e){super(e),this.stateChangeListeners=[],this.allChannels=[],this.channels={},this.clients={},this.channelListenerList=[],this.dataListenerList={},this.handleListeners=(e,t)=>{const n=this.dataListenerList[t.data.type];if(n&&n.length>0)for(let e=0;e<n.length;e++)n[e](t.data.data,{data:t.data.data,header:t.header,originatedHere:t.originatedHere})},this.onClose=e=>{const t=p(a.default.getWindowIdentifier());this.clients[t]&&(this.clients[t]=null,this.updateClientInStore(t)),this.linkerStore.removeListener({field:`clients.${t}`},this.clientsKeyValueChangeStoreListener,((e,n)=>{n||u.default.system.warn("Linker Client Onclose: clientsKeyValueChangeStoreListener removeListener failed",t)})),this.linkerStore.removeListener({field:{}},this.anyFieldChangeStoreListener,((e,t)=>{t||u.default.system.warn("Linker Client Onclose: anyFieldChangeStoreListener removeListener failed")})),u.default.system.debug("LINKER-4 cleanup",t),e&&e()},this.groups=this.channels,this.allGroups=this.allChannels,this.onLinksUpdate={push:e=>{this.stateChangeListeners.push(((t,n)=>{n&&(n.groups=n.channels),e(t,{groups:n})}))}},this.linkerWindow=null,this.loading=!1,o.default.args(e,"object=")&&e&&o.default.args2("params.onReady",e.onReady,"function="),this.clientsKeyValueChangeStoreListener=this.clientsKeyValueChangeStoreListener.bind(this),this.anyFieldChangeStoreListener=this.anyFieldChangeStoreListener.bind(this)}getChannel(e){return this.allChannels.filter((t=>t.name===e)).length>0}createChannel(e,t){return u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.createChannel","PARAMS",e),o.default.args(e,"object"),e.name?this.getChannel(e.name)?(h(`LinkerClient.createChannel: Channel ${e.name} Already Exists`),g(this.allChannels,t)):(this.allChannels.push(e),this.allGroups=this.allChannels,this.linkerStore.setValue({field:"channels",value:this.allChannels}),g(this.allChannels,t)):(h("LinkerClient.createChannel: Name is required"),g(this.allChannels,t))}removeChannel(e,t){if(f("LinkerClient.removeChannel","NAME",e),u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),o.default.args(e,"string"),!this.getChannel(e))return h(`Channel ${e}does not exist`,null),g(this.allChannels,t);const n=this.allChannels;for(let t=0;t<n.length;t++)if(e===n[t].name){n.splice(t,1);break}this.linkerStore.setValue({field:"channels",value:this.allChannels});const{clients:r}=this;for(const t in r){const n=r[t];for(const t in n.channels)if(e===t){delete n[t];break}}return this.linkerStore.setValue({field:"clients",value:this.clients}),g(this.allChannels,t)}updateClientInStore(e){this.linkerStore.setValue({field:`clients.${e}`,value:this.clients[e]})}linkToChannel(e,t,n){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.linkToChannel","CHANNEL",e,"COMPONENT",t),o.default.args(e,"string",t),t||(t=a.default.getWindowIdentifier());const r=p(t);if(this.clients[r]||(this.clients[r]={client:t,channels:{}}),Array.isArray(e))for(let t=0;t<e.length;t++)this.clients[r].channels[e[t]]=!0;else this.clients[r].channels[e]=!0;return this.updateClientInStore(r),g(this.getState(t),n)}unlinkFromChannel(e,t,n){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unlinkFromChannel","CHANNEL",e,"WINDOW IDENTIFIER",t),o.default.args(e,"string",t),t||(t=a.default.getWindowIdentifier());const r=p(t),i=this.clients[r];if(Array.isArray(e))for(let t=0;t<e.length;t++)delete i.channels[e[t]];else if(e){if(!i||!i.channels[e]){const i=this.clients[r];return h(`Component was not in specified channel ${e}`,i,i.channels[e]),g(this.getState(t),n)}delete i.channels[e]}else for(const e in i.channels)delete i.channels[e];return this.updateClientInStore(r),g(this.getState(t),n)}getAllChannels(e){return f("LinkerClient.getAllChannels"),g(this.allChannels,e)}getState(e,t){f("LinkerClient.getState","WINDOW IDENTIFIER",e);const n={channels:[],allChannels:this.allChannels};if(e||(e=a.default.getWindowIdentifier()),!Object.keys(this.clients).length)return g(n,t);const r=p(e),i=this.clients[r];return i?(n.channels=this.allChannels.filter((e=>i.channels&&!0===i.channels[e.name])),u.default.system.debug("LINKER-3",this.allChannels,"state.channels",n.channels,"key",r,"windowIdentifier",e,"componentEntry",i),i.active||(i.active=!0,this.linkerStore.setValue({field:`clients.${r}`,value:i})),g(n,t)):g(n,t)}unsubscribe(e,t){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unsubscribe","DATA TYPE",e),o.default.args(e,"string"),this.dataListenerList[e]&&(t?this.dataListenerList[e]=this.dataListenerList[e].filter((e=>e!==t)):delete this.dataListenerList[e])}publish(e,t){f("LinkerClient.publish","PARAMS",e),o.default.args(e.dataType,"string",e.data,"any");let{channels:n}=e;n||(n=Object.keys(this.channels));for(let t=0;t<n.length;t++){const r=n[t];this.routerClient.transmit(`${r}.${e.dataType}`,{type:e.dataType,data:e.data}),this.routerClient.transmit(r,{type:e.dataType,data:e.data})}return g({},t)}subscribe(e,t){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.subscribe","DATA TYPE",e),o.default.args(e,"string",t,"function"),this.dataListenerList[e]?this.dataListenerList[e].includes(t)||this.dataListenerList[e].push(t):this.dataListenerList[e]=[t]}getLinkedComponents(e,t){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.getLinkedComponents","PARAMS",e);const n=[];if(e||(e={}),e.channels&&!Array.isArray(e.channels)&&(o.default.args(e.channels,"string"),e.channels=[e.channels]),e.componentTypes&&!Array.isArray(e.componentTypes)&&(o.default.args(e.componentTypes,"string"),e.componentTypes=[e.componentTypes]),e.componentTypes&&o.default.args(e.componentTypes,"array"),e.windowIdentifier){const t=p(e.windowIdentifier),n=Object.keys(this.clients[t].channels);e.channels?e.channels=e.channels.filter((e=>n.includes(e))):e.channels=n}e.channels||(e.channels=this.getAllChannels().map((e=>e.name)));for(const t in this.clients){let r=this.clients[t];if(!r)continue;r.channels||(r=r[Object.keys(r)[0]]);const i=Object.keys(r.channels).filter((t=>{var n;return null===(n=null==e?void 0:e.channels)||void 0===n?void 0:n.includes(t)})).length;let o=!0;e.componentTypes&&(o=e.componentTypes.includes(r.client.componentType)),r.active&&i&&o&&n.push({windowName:r.client.windowName,componentType:r.client.componentType,uuid:r.client.uuid,channels:Object.keys(r.channels)})}return g(n,t)}updateListeners(){for(let e=this.channelListenerList.length-1;e>=0;e--){const t=this.channelListenerList[e];Object.keys(this.channels).filter((e=>e==t)).length||(this.routerClient.removeListener(t,this.handleListeners),this.channelListenerList.splice(e,1))}const e=Object.keys(this.channels);for(let t=0;t<e.length;t++){const n=e[t];this.channelListenerList.includes(n)||(this.routerClient.addListener(n,this.handleListeners),this.channelListenerList.push(n))}const t=this.getState();for(let e=0;e<this.stateChangeListeners.length;e++)this.stateChangeListeners[e](null,t)}onStateChange(e){this.stateChangeListeners.push(e)}persistState(e){a.default.setComponentState({field:"Finsemble_Linker",value:e})}clientsKeyValueChangeStoreListener(e,t){if(h("My Channels Updated"),!t.value)return;const n=t.value.channels||t.value.groups,r=(0,d.default)(n,this.channels);(n&&0!==Object.keys(n).length&&!r||0===Object.keys(n).length&&0!==Object.keys(this.channels).length)&&(this.persistState(n),this.channels=n,this.updateListeners())}anyFieldChangeStoreListener(e,t){const{values:n}=t.value;this.allChannels=n.channels,n.groups&&(this.allChannels=n.groups),u.default.system.debug("LINKER-2",this.allChannels),this.allGroups=this.allChannels,this.clients=n.clients}start(e){this.dontPersistYet=!0,h("LinkerClient Loading Channels");const t=a.default.getWindowIdentifier(),n=p(t);c.default.getStore({store:"Finsemble_Linker",global:!0},((r,i)=>{this.linkerStore=i,null==i||i.addListener({field:`clients.${n}`},this.clientsKeyValueChangeStoreListener),null==i||i.addListener({},this.anyFieldChangeStoreListener),null==i||i.getValues(["channels",`clients.${n}`],((r,i)=>{i&&i.channels&&(this.allChannels=i.channels,u.default.system.debug("LINKER-1",this.allChannels),this.allGroups=this.allChannels),a.default.getComponentState({field:"Finsemble_Linker"},((r,o)=>{var s;this.channels=[],this.clients[n]={client:t,active:!0,channels:{}},o?(this.channels=o,this.clients[n].channels=o):(null===(s=i[`clients.${n}`])||void 0===s?void 0:s.channels)&&(this.clients[n].channels=i[`clients.${n}`].channels),this.updateClientInStore(n);const l=a.default.getSpawnData();if(l&&l.linker){let e=l.linker.channels;l.linker.groups&&(e=l.linker.groups),this.linkToChannel(e,t)}else this.updateListeners();e()}))}))}))}hyperFocus(e){l.default.hyperFocus({windowList:this.getLinkedComponents({channels:e})})}bringAllToFront(e){const{channel:t}=e;l.default.bringWindowsToFront({windowList:this.getLinkedComponents({channels:t})})}createGroup(e,t){return this.createChannel(e,t)}deleteGroup(e,t){return this.removeChannel(e,t)}addToGroup(e,t,n){const r=this.linkToChannel(e,t);return n&&n(null,r),r}removeFromGroup(e,t,n){const r=this.unlinkFromChannel(e,t);return n&&n(null,r),r}getAllGroups(e){const t=this.getAllChannels();return e&&e(t),t}getGroups(e,t){const n=this.getState(e);return n.groups=n.channels,g(n,t)}unSubscribe(e,t){this.unsubscribe(e,t)}getLinkedWindows(e,t){return e||(e={}),e.groups=e.channels,e.windowIdentifier=e.client,this.getLinkedComponents(e,t)}windowIdentifier(e,t){return g(a.default.getWindowIdentifier(),t)}openLinkerWindow(e){if(o.default.args(e,"function"),this.loading)return;const t=()=>{this.routerClient.query("Finsemble.LinkerWindow.Show",{groups:this.getGroups().groups,windowIdentifier:a.default.getWindowIdentifier(),windowBounds:a.default.getWindowBounds()},(()=>{}))};this.linkerWindow?this.linkerWindow.isShowing((e=>{e?this.linkerWindow.hide():t()})):t()}}function w(e){return new m({clients:e=e||{},startupDependencies:{clients:["windowClient","launcherClient"]},onReady(e){h("Linker onReady"),setTimeout((()=>{(0,i.parallel)([e=>{v.start(e)},e=>{l.default.onReady(e)}],e)}),0)},name:"linkerClient"})}t.LinkerClient=m;const v=w();v.constructInstance=w,t.default=v},25478:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseService=void 0;const a=n(1641),l=n(25495),c=s(n(11314)),u=s(n(2518)),d=s(n(84795)),f=n(91374),h=o(n(26604)),p=n(44137),g=n(51806),{SERVICE_INITIALIZING_CHANNEL:m,SERVICE_READY_CHANNEL:w,SERVICE_QUERY_READY_CHANNEL:v,SERVICE_CLOSING_CHANNEL:y,SERVICE_CLOSED_CHANNEL:b,SERVICE_STOP_CHANNEL:S}=h,C={startupDependencies:{services:[],clients:[]},shutdownDependencies:{services:[]},name:window.name};t.BaseService=class{constructor(e=C){!function(e){e.startupDependencies?(e.startupDependencies.services||(e.startupDependencies.services=C.startupDependencies.services),e.startupDependencies.clients||(e.startupDependencies.clients=C.startupDependencies.clients)):e.startupDependencies=C.startupDependencies,e.shutdownDependencies?e.shutdownDependencies.services||(e.shutdownDependencies.services=C.shutdownDependencies.services):e.shutdownDependencies=C.shutdownDependencies}(e),this.name=e.name?e.name:window.name,this.startupDependencies=e.startupDependencies,this.shutdownDependencies=e.shutdownDependencies,this.Logger=u.default,this.RouterClient=c.default,this.onBaseServiceReadyCB=null,this.setOnConnectionCompleteCB=null,this.listeners={},this.start=()=>{},this.started=!1,this.status="initializing",this.setOnline=this.setOnline.bind(this),this.onBaseServiceReady=this.onBaseServiceReady.bind(this),this.handleShutdown=this.handleShutdown.bind(this),this.waitForDependencies(),p.Globals.finsembleServices?p.Globals.finsembleServices.push(this):p.Globals.finsembleServices=[this]}async initialize(e){e()}waitForDependencies(){const e=this;if(this.started)return;this.started=!0;const t=this;function n(e){u.default.system.debug("BaseService.start.setParentUUID"),f.System.Window.getCurrent().getOptions((n=>{t.customData=n.customData,e()}))}async function r(){await(new g.FSBLService).startApp(),c.default.addResponder(v(e.name),((t,n)=>{(e.status="ready")?null==n||n.sendQueryResponse(null):null==n||n.sendQueryResponse("service not ready")})),"routerService"!==t.name&&c.default.transmit(m,{name:t.name}),window.addEventListener("beforeunload",t.RouterClient.disconnectAll),u.default.system.debug("APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.onRouterReady")}function i(e){const n=t.customData.debugServiceDelay||0;if(u.default.system.debug(`Custom Data: ${t.name} custom data`,t.customData),Number.isInteger(n))n>0&&u.default.system.debug(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.debugDelay: ${t.name} startup will delayed by ${n} milliseconds for debugging`);else{const e=`debugDelay has an illegal value ("${n}") for ${t.name}. Value must be an integer.`;u.default.system.error(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start: ${e}`),d.default.systemLog({error:!0},e)}setTimeout(e,n)}function o(e){u.default.system.debug(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.readyToGo ${t.name}`),u.default.console.log("Startup Dependencies for",t.name,t.startupDependencies),u.default.console.log("Shutdown Dependencies for",t.name,t.shutdownDependencies),l.FSBLDependencyManagerSingleton.shutdown.waitFor(t.shutdownDependencies,t.handleShutdown),u.default.system.debug(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.readyToGo after wait ${t.name}`),c.default.transmit(`${f.System.Window.getCurrent().name}.onSpawned`,{name:f.System.Window.getCurrent().name},{suppressWarnings:!0}),l.FSBLDependencyManagerSingleton.startup.waitFor(t.startupDependencies,e,t.name).on("err",(e=>{u.default.system.error(e)}))}function s(e){const n=f.System.Window.getCurrent();n.isShowing((r=>{r&&!1!==t.customData.showDevConsoleOnVisible?f.System.showDeveloperTools(n.name,null,e):(u.default.system.debug("APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.delayStartup done"),e())}))}return u.default.system.debug(`${this.name} starting`),new Promise((e=>{(0,a.series)([r,n,s,i,o],(t=>{t&&console.log("waitForDependencies async.series results",t),e(),this.onDependenciesReady()}))}))}setOnline(){"ready"!==this.status&&(this.RouterClient.addListener(`${S}.${this.name}`,(()=>{l.FSBLDependencyManagerSingleton.shutdown.checkDependencies()})),this.status="ready",c.default.transmit(w,{serviceName:this.name},{suppressWarnings:!0}),u.default.system.log("APPLICATION LIFECYCLE:STARTUP:SERVICE ONLINE",this.name),d.default.publishBootStatus(this.name,"services","completed"))}onDependenciesReady(){u.default.system.debug("APPLICATION LIFECYCLE:STARTUP:BaseService onDependenciesReady",this.name),this.status="initializing",this.onBaseServiceReadyCB?this.onBaseServiceReadyCB(this.setOnline):this.initialize?this.initialize(this.setOnline):setTimeout((()=>{"ready"!==this.status&&"routerService"!==this.name&&(console.error("No onBaseServiceReadyCB on initialize function defined on your service. Ensure that service.setOnline is called"),u.default.system.error("No onBaseServiceReadyCB on initialize function defined on your service. Ensure that service.setOnline is called"))}),3e3)}onBaseServiceReady(e){"initializing"===this.status?this.onBaseServiceReadyCB=()=>{e(this.setOnline)}:e(this.setOnline)}addEventListener(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}onShutdown(e){this.addEventListener("onShutdown",e)}handleShutdown(){u.default.system.debug("BaseService.handleShutdown");const e=this;this.listeners.onShutdown?(c.default.transmit(y,{waitForMe:!0,name:this.name}),(0,a.each)(this.listeners.onShutdown,(function(e,t){(0,a.asyncify)(e)(null,t)}),(function(t){t&&u.default.system.error(t),e.shutdownComplete()}))):(c.default.transmit(y,{waitForMe:!1,name:this.name}),e.shutdownComplete())}shutdownComplete(){u.default.system.info(`"APPLICATION LIFECYCLE:SHUTDOWN:SERVICE SHUTDOWN: ${this.name}`),c.default.transmit(b,{name:this.name})}}},38144:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHECKPOINT_CHANNEL_BASE=t.STAGE_CHANNEL=t.STATUS_CHANNEL_BASE=t.SHOW_SYSLOG_CHANNEL=t.SYSLOG_CHANNEL=t.CRITICAL_BOOT_STAGES=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.CRITICAL_BOOT_STAGES=["microkernel","kernel"],t.SYSLOG_CHANNEL="systemManager.systemlog",t.SHOW_SYSLOG_CHANNEL="systemManager.showSystemlog",t.STATUS_CHANNEL_BASE="systemManager.boot.status",t.STAGE_CHANNEL="systemManager.boot.stage",t.CHECKPOINT_CHANNEL_BASE="systemManager.checkpoint"},37331:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkpointChannel=t.statusChannel=void 0;const r=n(38144);t.statusChannel=function(e){return`${r.STATUS_CHANNEL_BASE}.${e}`},t.checkpointChannel=function(e,t){return`${r.CHECKPOINT_CHANNEL_BASE}.${e}.${t}`}},53912:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BootReadyItem=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.BootReadyItem=class{constructor(e,t,n){this.name=e,this.type=t,this.config=n}}},73853:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceManager=t.NO_ACTIVE_WORKSPACE=t.notValidWindowNameError=t.workspaceNotFoundError=t.setOrderError=t.REMOVE_ACTIVE_WORKSPACE=t.NOT_INITIALIZED=t.getNextWorkspaceName=t.getWorkspaceStorageKey=void 0;const o=i(n(74221)),s=i(n(91966)),a=i(n(27361)),l=i(n(9996)),c=i(n(95085)),u=n(252),d=n(23099),f=n(26604),h=n(75811),p=i(n(9381)),g=n(2518),m=n(96486),{STORAGE_TOPIC:w,CACHE_STORAGE_TOPIC:v,CLEAN_SHUTDOWN:y,ACTIVE_WORKSPACE:b,ALL_WORKSPACES:S,LAST_USED_WORKSPACE_NAME:C}=f.WORKSPACE;function _({counter:e,reason:t},...n){g.LoggerClient.system.debug(`TRACE-${e}-${t}`,...n)}function k(e,t){const n=/\(\d+\)$/,r=e.replace(n,"").trim(),i=[...t,e].filter((e=>(0,d.camelCase)(e).includes((0,d.camelCase)(r)))).map((e=>{const t=e.match(n);return null===t?0:Number(t[0].slice(1,-1))})),o=Math.max(...i)+1;return`${r} (${o})`}t.getWorkspaceStorageKey=e=>"string"==typeof e?(0,d.camelCase)(e):(0,d.camelCase)(e.name),t.getNextWorkspaceName=k,t.NOT_INITIALIZED="You must wait for the Workspace Manager to initialize before taking this action.",t.REMOVE_ACTIVE_WORKSPACE="You cannot remove the active workspace",t.setOrderError=e=>`A new workspace order must include an entry for every workspace. Old order: ${e}`,t.workspaceNotFoundError=e=>`Workspace "${e}" not found in storage.`,t.notValidWindowNameError=e=>`"${e}" is not a valid window name`,t.NO_ACTIVE_WORKSPACE="Attempt to interact with the active workspace before an active workspace was set.";class W{static async getNewWindowName(e){return(0,u.getRandomWindowName)(e.componentType)}static async updateStorage(e){const{topic:t,key:n,updateFn:r}=e,i=r(await W._SC.get({topic:t,key:n})),{err:o,data:s}=await W._SC.save({topic:t,key:n,value:i});return{err:o,data:i}}static async addWorkspace(e,n,r={}){const{force:i=!1,isRename:o=!1,oldName:s=null}=r;_(e,"Adding workspace",n,"force:",i),""===n.name&&(n.name="Untitled");const a=await W.getWorkspaceNames(e),l=a.some((e=>(0,d.camelCase)(e)===(0,d.camelCase)(n.name)));l&&i&&await W.removeWorkspace(e,n.name);const c=l&&!i?k(n.name,a):n.name,{err:u,data:f}=await this.updateStorage({topic:w,key:S,updateFn:e=>{if(e){if(o){const t=e.findIndex((e=>e===s));return t>=0?e.splice(t,1,c):e.push(c),e}return[...e,c]}return[c]}});u&&g.LoggerClient.system.error("Failed to update storage when adding a new workspace!",u);const{err:h,data:p}=await this.updateStorage({topic:v,key:S,updateFn:e=>f});h&&g.LoggerClient.system.error("Failed to update (cache) storage when adding a new workspace!",h),W.cachedWorkspaceNames=f;const m=Object.assign(Object.assign({},n),{name:c});return W.cachedWorkspaces[c]=m,await W._SC.save({topic:w,key:(0,t.getWorkspaceStorageKey)(m),value:m}),_(e,"Workspace added"),c}static async updateActiveWorkspace(e,t){_(e,"Updating active workspace."),g.LoggerClient.system.debug("update-trace updateActiveWorkspace",g.LoggerClient.callStack());const{err:n,data:r}=await this.updateStorage({topic:v,key:b,updateFn:t});W.cachedActiveWorkspace=r,_(e,"Active workspace updated")}static async formatWindow(e){const t=Object.assign({},e);var n;return t.componentType=e.componentType||(0,a.default)(e,"customData.component.type",void 0)||e.type,delete t.type,t.name=t.name||await W.getNewWindowName(t),void 0!==e.options&&(n=e.options,new Map([["defaultTop","top"],["defaultBottom","bottom"],["defaultLeft","left"],["defaultRight","right"],["defaultWidth","width"],["defaultHeight","height"]]).forEach((function(e,r){t[r]=n[r]||n[e],void 0===t[r]&&delete t[r],delete t[e]})),delete t.options),t}static splitCompleteStates(e){const t=[],n=[];for(const r of e)t.push(r.windowData),n.push(r.componentState);return{windowData:t,componentState:n}}static async importWorkspace(e,t,n=!1){const i="string"==typeof t?JSON.parse(t):t,{components:o,windowData:s,componentStates:l}=i,c=r(i,["components","windowData","componentStates"]);let u;u=void 0!==s?s:[...c.windows||[],...o||[]];const f=u.map(W.formatWindow),h=await Promise.all(f),p=await W.getWorkspaceNames(e);p.some((e=>(0,d.camelCase)(e)===(0,d.camelCase)(c.name)))&&(n?await W.removeWorkspace(e,c.name):c.name=k(c.name,p));for(const e of h)await W._WS.setCompleteState({windowData:e,componentState:(0,a.default)(l,[e.name],{})},c.name);const g=Object.assign(Object.assign({},c),{windows:h.map((e=>e.name))});return W.addWorkspace(e,g)}static async getWorkspace(e,n,r=w){var i;_(e,"Getting workspace",n,r);let o=W.cachedWorkspaces[n];if(!o){const e=(0,t.getWorkspaceStorageKey)(n);o=await W._SC.get({key:e,topic:r}),o&&(W.cachedWorkspaces[n]=o)}if(!o)throw new Error((0,t.workspaceNotFoundError)(n));return Object.assign(Object.assign({},null===(i=null==W?void 0:W.workspaceConfigs)||void 0===i?void 0:i[n]),o)}static setWorkspaceConfig(e){e.forEach((e=>{W.workspaceConfigs[e.name]=e}))}static async exportWorkspace(e,t){const n=await W.getWorkspace(e,t),[r,i,o]=(await W._WS.getManyCompleteStates(n.windows,n.name)).reduce(((e,{componentState:t,windowData:n})=>{const[r,i,o]=e;return[[...r,n.name],[...i,n],Object.assign(Object.assign({},o),{[n.name]:t})]}),[[],[],{}]);return Object.assign(Object.assign({},n),{windows:r,windowData:i,componentStates:o})}static async getWorkspaces(e){const t=await W.getWorkspaceNames(e)||[];return(await Promise.all(t.map((t=>W.getWorkspace(e,t).catch((()=>null)))))).filter(u.identity)}static async wasLastShutdownDirty(e){_(e,"wasLastShutdownDirty");const t={topic:v,key:y};let n=await W._SC.get(t);return _(e,"wasLastShutdownDirty value",!1===n?"false":"true"),!1===n}static async setCleanShutdownFlag(e,t){_(e,"setCleanShutdownFlag",t?"true":"false");const n={topic:v,key:y,value:t};await W._SC.save(n)}static async saveLastUsedWorkspaceName(e,t){_(e,"Saving last used workspace name");const n={topic:w,key:C,value:t};await W._SC.save(n)}static async getLastUsedWorkspaceName(e){_(e,"Getting last used workspace name");const t={topic:w,key:C};return await W._SC.get(t)}static async getWorkspaceNames(e,t=!0){if(_(e,`Getting ${t?"cached":""} workspace names`),!t||!W.cachedWorkspaceNames||0==W.cachedWorkspaceNames.length){const e={topic:w,key:S};let t=await W._SC.get(e);W.cachedWorkspaceNames=t||[]}return W.cachedWorkspaceNames}static async getActiveWorkspace(e,n=!0){if(_(e,"Getting active workspace"+(n?" from cache":"")),!n||!W.cachedActiveWorkspace){let e=await W._SC.get({topic:v,key:b});W.cachedActiveWorkspace=e}if(!W.cachedActiveWorkspace)throw g.LoggerClient.system.debug("Active workspace retrieved is null",W.cachedActiveWorkspace),new Error(t.NO_ACTIVE_WORKSPACE);return _(e,"Active workspace retrieved",W.cachedActiveWorkspace),W.cachedActiveWorkspace}static async doesActiveWorkspaceExist(e){return await W.getActiveWorkspace(e).then((()=>!0)).catch((()=>!1))}static async isActiveWorkspaceDirty(e){if(!W.ignoreProps)try{const e=await p.default.getValue("finsemble.servicesConfig.window.ignoreFieldsForDirtyingWorkspace");W.ignoreProps=e.data||[]}catch(e){W.ignoreProps=[]}const t=r(await W.getActiveWorkspace(e),[]),n=await W._WS.getManyCompleteStates(t.windows),{normalizedWorkspace:i,normalizedWindowStates:o}=await this.normalizeWorkspace(e,t,n),{windowData:s,componentState:a}=W.splitCompleteStates(o),l=i;l.windowData=s,l.componentState=a,delete l.guid;for(const e of l.windowData)for(const t of W.ignoreProps)delete e[t];const c=await W.getWorkspace(e,t.name),d=(0,m.clone)(c),f=await W._WS.getManyCompleteStates(d.windows,t.name),{normalizedWorkspace:h,normalizedWindowStates:w}=await this.normalizeWorkspace(e,d,f),{windowData:v,componentState:y}=W.splitCompleteStates(w),b=h;b.windowData=v,b.componentState=y,delete b.guid;for(const e of b.windowData)for(const t of W.ignoreProps)delete e[t];return g.LoggerClient.system.debug("isActiveWorkspaceDirty","stored workspace",b,"activeWorkspace",l),!(0,u.isEqualIgnoringArrayOrder)(b,l)}static async setActiveWorkspace(e,t,n=!1){let r,i,o;if(_(e,"Setting active workspace",t,n?"cacheOnly=true":"cacheOnly=false"),W.cachedActiveWorkspaceName=t,n)r=await W.getWorkspace(e,t,v),i=r.name;else{await W.doesActiveWorkspaceExist(e)&&(r=await W.getActiveWorkspace(e),await W._WS.removeManyCompleteStates(r.windows));try{g.LoggerClient.system.debug("setActiveWorkspace reading workspace",t);const n=await W.getWorkspace(e,t),r=await W._WS.getManyCompleteStates(n.windows,t),{windowData:s,componentState:a}=W.splitCompleteStates(r);g.LoggerClient.system.debug("setActiveWorkspace reading workspace states",r,s,a);for(const e of r)await W._WS.setCompleteState(e);W.cachedActiveWorkspace=n,o=W.cachedActiveWorkspace,i=o.name}catch(e){throw g.LoggerClient.system.error("setActiveWorkspace error",e),new Error("setting active workspace failed")}g.LoggerClient.system.debug("update-trace setActiveWorkspace",g.LoggerClient.callStack()),await W._SC.save({value:Object.assign({},o),topic:v,key:b}),_(e,"Active workspace set.")}return W.cachedActiveWorkspaceName=i,o}static async saveActiveWorkspace(e){_(e,"Saving active workspace");const t=r(await W.getActiveWorkspace(e),[]);try{const n=(await W.getWorkspace(e,t.name)).windows;await W._WS.removeManyCompleteStates((0,s.default)(n,t.windows),t.name)}catch(e){g.LoggerClient.system.error("Encountered an error while comparing workspaces for differences.",e)}const n=await W._WS.getManyCompleteStates(t.windows),{normalizedWorkspace:i,normalizedWindowStates:o}=await this.normalizeWorkspace(e,t,n);try{await W.updateWorkspace(e,(()=>i),i.name)}catch(e){g.LoggerClient.system.error("Error updating workspace.",e)}try{await W._WS.setManyCompleteStates(o,t.name),W.cachedActiveWorkspace=t}catch(e){g.LoggerClient.system.error("Error updating window states when switching workspaces.",e)}_(e,"Active workspace saved")}static async saveActiveWorkspaceAs(e,t,n){let i,o;try{_(e,`Saving active workspace workspace as "${t}". Force param is ${n}.`),i=r(await W.getActiveWorkspace(e),[])}catch(e){g.LoggerClient.system.error("Error getting active workspace before switching.",e)}if(i.name===t){_(e,"New name is same as the current name. Saving the active workspace.");try{await W.saveActiveWorkspace(e)}catch(e){g.LoggerClient.system.error("Error saving active workspace.",e)}finally{return}}try{const r=await W._WS.getManyCompleteStates(i.windows),{normalizedWorkspace:s,normalizedWindowStates:a}=await this.normalizeWorkspace(e,i,r);o=await W.addWorkspace(e,Object.assign(Object.assign({},s),{name:t}),{force:n}),await W._WS.setManyCompleteStates(a,o)}catch(e){g.LoggerClient.system.error("Error setting window states when saving workspace.",e)}try{await W.setActiveWorkspace(e,o)}catch(e){g.LoggerClient.system.error("Error setting active workspace.",e)}return o}static async normalizeWorkspace(e,t,n){_(e,"Normalizing workspace",t);const r={};n&&n.forEach((e=>{e.windowData&&e.windowData.isEvergreen&&(r[e.windowData.componentType]||(r[e.windowData.componentType]=[]),r[e.windowData.componentType].push(e.windowData.name))}));const i={};Object.keys(r).forEach((e=>{r[e].sort();let t=1;r[e].forEach((n=>{const r=`${e}-${t}`;i[n]=r,t+=1}))}));let o=JSON.stringify(t),s=JSON.stringify(n);const a={};return Object.keys(i).forEach((e=>{const t=i[e],n=(0,u.guuid)();a[n]=t,o=o.replace(e,n),s=s.replace(e,n)})),Object.keys(a).forEach((e=>{const t=a[e];o=o.replace(e,t),s=s.replace(e,t)})),{normalizedWorkspace:JSON.parse(o),normalizedWindowStates:JSON.parse(s)}}static async newWorkspace(e,t){_(e,"Creating new workspace",t);const n=await W.addWorkspace(e,{version:"1.0.0",name:t,windows:[],type:"workspace",groups:{}});return _(e,"New workspace created"),n}static async renameWorkspace(e,t,n){if(_(e,`Renaming workspace "${n}" to "${t}"`),t===n)return Promise.resolve(t);const r=await W.getActiveWorkspace(e),i=n===r.name,o=await W.getWorkspace(e,n),s=await W.addWorkspace(e,Object.assign(Object.assign({},o),{name:t}),{isRename:!0,oldName:n});_(e,`Final name of rename: ${s}`);const a=await W._WS.getManyCompleteStates(o.windows,n);if(_(e,"Window states",a),await W._WS.setManyCompleteStates(a,s),i){const t=await W._WS.getManyCompleteStates(r.windows);await W.setActiveWorkspace(e,s),await W._WS.setManyCompleteStates(t),await W.updateActiveWorkspace(e,(e=>Object.assign(Object.assign({},e),{name:s})))}return await W.removeWorkspace(e,n),s}static async removeWorkspace(e,n){_(e,"Removing workspace",n);const r=await W.getActiveWorkspace(e),i=e=>e.filter((e=>(0,t.getWorkspaceStorageKey)(e)!==(0,t.getWorkspaceStorageKey)(n)));if(r&&n===r.name)throw new Error("You cannot remove the active workspace");const o=await W.getWorkspace(e,n);W.cachedWorkspaceNames=W.cachedWorkspaceNames.filter(((e,t,r)=>e!=n)),delete W.cachedWorkspaces[n],await W._WS.removeManyCompleteStates(o.windows,o.name),await W._SC.remove({topic:w,key:(0,t.getWorkspaceStorageKey)(n)}),await this.updateStorage({topic:w,key:S,updateFn:i}),_(e,"Workspace removed"),await this.updateStorage({topic:v,key:S,updateFn:i})}static async searchWorkspaces(e,t){const n=await W.getWorkspaceSearchConfig(e);if(!n.enabled)return[];const r=await W.getWorkspaceNames(e);return new o.default(r,n).search(t).map((({matches:e,score:t,item:n})=>({score:t,matches:e,name:n,type:"Workspace",description:"",actions:[{name:"Switch"}],tags:[]})))}static async getWorkspaceSearchConfig(e){_(e,"Getting 'finsemble.workspaceSearch' config");let t={enabled:!0,shouldSort:!0,includeScore:!0,includeMatches:!0,threshold:.4,location:0,distance:100,maxPatternLength:32,minMatchCharLength:1};const{data:n}=await p.default.getValue({field:"finsemble.servicesConfig.workspace.search"});return null!=n&&(n.hasOwnProperty("enabled")&&(t.enabled=n.enabled),n.hasOwnProperty("options")&&(t=(0,l.default)(t,n.options))),t}static async updateWorkspace(e,n,r=b){_(e,"Updating workspace",r);const i=r===b,o=await W.doesActiveWorkspaceExist(e);if(i&&!o)throw new Error(t.NO_ACTIVE_WORKSPACE);const s=(0,u.composeRL)((e=>{let t=Object.assign({},e);return delete t.windowData,delete t.componentState,delete t.guid,t}),n),a=o?await W.getActiveWorkspace(e):null;if(i&&a){const t=s(a);if(_(e,"Updated workspace",t),(0,u.isEqualIgnoringArrayOrder)(t,a))return void _(e,"Update and current state are equal. Dropping request");_(e,"Update workspace is targeting active workspace"),g.LoggerClient.system.debug("update-trace updateWorkspace",g.LoggerClient.callStack()),W.cachedActiveWorkspace=t,await W._SC.save({topic:v,key:b,value:Object.assign({},t)}),_(e,"Active workspace updated")}if(!i||W.autosave){_(e,"Persisting workspace data to storage",a);const n=i&&a?a.name:r,{err:o,data:l}=await this.updateStorage({topic:w,key:(0,t.getWorkspaceStorageKey)(n),updateFn:s});_(e,"Workspace data persisted to storage",a),W.cachedWorkspaces[n]=l}_(e,"Workspace updated")}static async updateWindowState(e,n,r,i){if(_(e,"updating window state"),!await W.doesActiveWorkspaceExist(e))throw new Error(t.NO_ACTIVE_WORKSPACE);const o=await W._WS.getState(n,i),s=r(o);if((0,u.isEqualIgnoringArrayOrder)(o,s))return void _(e,"updating window state -- deep equal",o,s);_(e,"updating window state -- NOT deep equal",o,s),await W._WS.setState(n,i,s);const a=await W.getActiveWorkspace(e);a.windows.includes(i)&&!(0,u.isEqualIgnoringArrayOrder)(s,o)?W.autosave&&(_(e,"updating window state -- autosave"),await W._WS.setState(n,i,s,a.name)):_(e,"updating window state -- ignoring")}static async setWindowState(e,t,n){_(e,"setWindowState",t,n);for(const r of Object.keys(n))await W.updateWindowState(e,r,(()=>n[r]),t)}static async getWindowState(e,t,n){_(e,"getWindowState",t,n);let r={};for(const e of n)r[e]=await W._WS.getState(e,t);return r}static async getManyStates(e,t,n){return W._WS.getManyStates(e,t,n)}static async addWindowToWorkspace(e,n,r){if(!n)throw new Error((0,t.notValidWindowNameError)(n));if("object"==typeof n&&!n.name)throw new Error((0,t.notValidWindowNameError)(n.name));_(e,"Adding window",n,"to workspace",r||b);const i="string"==typeof n,o=i?n:n.name,s={windowData:n,componentState:{}};i||await W._WS.setCompleteState(s,r),g.LoggerClient.system.debug("update-trace addWindowToWorkspace",g.LoggerClient.callStack()),await W.updateWorkspace(e,(e=>{const t=e.windows.filter((e=>e!==o));return Object.assign(Object.assign({},e),{windows:[...t,o]})}),r),_(e,`Window ${o} added to ${r||b}`)}static async removeWindowFromWorkspace(e,n,r){if(!n)throw new Error((0,t.notValidWindowNameError)(n));_(e,`Removing window ${n} from workspace ${r||b}`);try{await W._WS.removeCompleteState(n,r)}catch(e){g.LoggerClient.system.warn(`Failed to remove window state ${n} from workspace ${r}.`)}g.LoggerClient.system.debug("update-trace removeWindowFromWorkspace",g.LoggerClient.callStack()),await W.updateWorkspace(e,(t=>{const r=t.windows.filter((e=>e!==n));return _(e,"Filtered windows,",r),Object.assign(Object.assign({},t),{windows:r})}),r),_(e,`Window ${n} removed from workspace ${r||b}`)}static async setGroupData(e,t,n){try{const r=n?await W.getWorkspace(e,n):await W.getActiveWorkspace(e);W.cachedActiveWorkspaceName&&r.name!==W.cachedActiveWorkspaceName?g.LoggerClient.system.debug("update-trace setGroupData workspace name mismatch",r.name,W.cachedActiveWorkspaceName,t,g.LoggerClient.callStack()):(g.LoggerClient.system.debug("update-trace setGroupData",r.name,t,g.LoggerClient.callStack()),await W.updateWorkspace(e,(e=>Object.assign(Object.assign({},e),{groups:t})),n))}catch(e){g.LoggerClient.system.debug("update-trace setGroupData err",e)}}static async setWorkspaceOrder(e,n){const r=await W.getWorkspaceNames(e);if(!(0,u.isEqualIgnoringArrayOrder)([...n],[...r]))throw new Error((0,t.setOrderError)(r));W.cachedWorkspaceNames=n,await W._SC.save({topic:v,key:S,value:n}),await W._SC.save({topic:w,key:S,value:n})}static async importLegacyWorkspaces(e){const t={topic:f.WORKSPACE.STORAGE_TOPIC,key:"fsblWorkspaces"},n=await W._SC.get(t)||[];for(const{name:t,groups:r,windows:i}of n){const n={name:t,groups:r,windows:i,type:"workspace",version:"1.0.0"};await W.addWorkspace(e,n)}await W._SC.remove(t),await W.doesActiveWorkspaceExist(e)&&await W.updateActiveWorkspace(e,(e=>Object.assign({},e)))}}t.WorkspaceManager=W,W.autosave=!1,W.promptUserOnDirtyWorkspace=!0,W.discardUnsavedChanges=!1,W._SC=c.default,W._WS=h.WindowStorageManager,W.cachedWorkspaces={},W.cachedWorkspaceNames=[],W.workspaceConfigs={}},20736:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(n(27361)),s=i(n(36968)),a=i(n(94885)),l=i(n(50361)),c=i(n(83027)),u=i(n(75613)),d=n(73853),f=n(24074),h=n(252),p=i(n(11314)),g=i(n(16994)),m=n(25478),w=n(26604),v=i(n(49136)),y=i(n(95085)),b=i(n(9381)),S=i(n(10449)),C=i(n(2518)),_=i(n(84795)),k=i(n(23893)),W=n(64324),E=i(n(9996)),L=n(24137),A=(0,c.default)(1);v.default.initialize(),y.default.initialize(),b.default.initialize(),S.default.initialize(),C.default.start();const T="APPLICATION LIFECYCLE: ",O=(0,a.default)(h.isStackedWindow),{GET_ACTIVE_WORKSPACE_DIRTY:I,GET_WORKSPACES:R,EXPORT:M,SAVE_AS:N,SAVE:D,SWITCH_TO:P,IMPORT:F,REMOVE:j,RENAME:x,SET_WORKSPACE_ORDER:$,GET_ACTIVE_WORKSPACE:B,GET_WORKSPACE_NAMES:U,NEW_WORKSPACE:G,SET_WINDOW_STATE:V,GET_WINDOW_STATE:q,ADD_WINDOW:H,REMOVE_WINDOW:z}=w.WORKSPACE.API_CHANNELS,{ACTIVE_WORKSPACE:K,STORAGE_TOPIC:Q,CACHE_STORAGE_TOPIC:Y,UPDATE_PUBSUB:J,INITIAL_WORKSPACE_PREFERENCE:Z,PUBLISH_REASONS:X}=w.WORKSPACE,ee=!0,te={NEW_WORKSPACE:X.NEW_WORKSPACE,ADD_WINDOW:X.WINDOW_ADDED,REMOVE_WINDOW:X.WINDOW_REMOVED,REMOVE:X.WORKSPACE_REMOVED,RENAME:X.WORKSPACE_RENAMED,SAVE_AS:X.SAVE_AS};let ne,re=-1;function ie(e){return re++,ne={reason:e,counter:re},ne}const oe={name:"Empty Workspace",componentStates:{},groups:{},type:"workspace",version:"1.0.0",windowData:[],windows:[]},se="finsemble.servicesConfig.workspace.promptUserOnDirtyWorkspace",ae="finsemble.servicesConfig.workspace.discardUnsavedChanges";class le extends m.BaseService{constructor(e){super(e),this.initialize=async()=>{var e,t,n,r;this.doShutdown=this.doShutdown.bind(this),this.onShutdown(this.doShutdown);const i=ie(X.INIT);await d.WorkspaceManager.importLegacyWorkspaces(i).catch((e=>C.default.system.error("importLegacyWorkspaces failed.",e)));const{data:s}=await b.default.getValues([{field:"startup_app"},{field:"finsemble"}]);if(!s)return void C.default.system.error("WorkspaceService::initialize() Couldn't fetch `start_app` and `finsemble` fields from config");const{startup_app:a,finsemble:l}=s;le.startupApp=a,le.notificationURL=W.ConfigUtilInstance.getDefault(l,"finsemble.notificationURL",`${l.moduleRoot}/components/system/notification/notification.html`),le.closeWorkspaceTimeout=(0,o.default)(l,"servicesConfig.workspace.closeWorkspaceTimeout")||(0,o.default)(l,"services.workspaceService.closeWorkspaceTimeout")||3e4,le.closeWorkspaceTimeoutMessage=(0,o.default)(l,"servicesConfig.workspace.closeFailureNotificationMessage","Problem closing current workspace. Please close any windows remaining on your screen and then select another workspace to open."),oe.name=(0,o.default)(l,"servicesConfig.workspace.emptyWorkspaceName",oe.name);const c=!(!(u=(0,o.default)(l,"servicesConfig.launcher.concurrentSpawnLimit")||(0,o.default)(l,"services.launcherService.concurrentSpawnLimit"))||Number.isNaN(Number(u)))&&Number(u);var u;le.concurrentSpawnLimit=c?Math.ceil(c):Math.ceil(navigator.hardwareConcurrency/2),C.default.system.debug(`Workspace Init: concurrentSpawnLimit is ${le.concurrentSpawnLimit}`);const{data:f}=await b.default.getValue({field:"finsemble.preferences.workspaceService.promptUserOnDirtyWorkspace"});f&&C.default.system.deprecated(`Workspace Init: promptOnDirty (DEPRECATED) is ${f} - use finsemble.servicesConfig.workspace.promptUserOnDirtyWorkspace`);const{data:h={}}=await b.default.getValues([se,ae]);d.WorkspaceManager.promptUserOnDirtyWorkspace=null===(t=null!==(e=h[se])&&void 0!==e?e:f)||void 0===t||t,d.WorkspaceManager.autosave=!(d.WorkspaceManager.promptUserOnDirtyWorkspace||null!==(n=h[ae])&&void 0!==n&&n),d.WorkspaceManager.discardUnsavedChanges=null!==(r=h[ae])&&void 0!==r&&r;const p=await d.WorkspaceManager.getWorkspaceNames(i,!1);await y.default.save({topic:Y,key:w.WORKSPACE.ALL_WORKSPACES,value:p}),C.default.system.debug(`Workspace Init: workspaceNames are ${p}`);const g=Boolean(l.workspaces&&l.workspaces.length),m=p.length?[]:[oe],v=g?l.workspaces:m;d.WorkspaceManager.setWorkspaceConfig(v);for(const e of v.filter((e=>!p.includes(e.name))))await d.WorkspaceManager.importWorkspace(i,e).catch((t=>C.default.system.error("importWorkspace failed.",t,e)));await le.registerSearch(),await le.createRouterEndpoints(),await d.WorkspaceManager.doesActiveWorkspaceExist(i)&&await le.publishUpdate(i,X.LOAD_DATA_RETRIEVED).catch((e=>{C.default.system.warn("Inital publish failed",e)}));const S=await new Promise((e=>b.default.getPreferences(((t,n)=>e(n)))));C.default.system.debug("Workspace Init: initPref",S);const _=!await W.ConfigUtilInstance.getDefault(l,"finsemble.servicesConfig.workspace.disableDirtyShutdownCheck",!1)&&(await d.WorkspaceManager.wasLastShutdownDirty(i).catch((e=>C.default.system.error("wasLastShutdownDirty failed.",e)))||!1);C.default.system.debug("`Workspace Init: dirtyShutdown",_),await le.setupInitialWorkspace(i,S,_,v),C.default.system.log(T,"Finished initializing"),le.lifecycle="loading",await le.waitUntilRightStageToOpenInitialWorkspace(i),le.lifecycle="stable",await d.WorkspaceManager.setCleanShutdownFlag(i,!1).catch((e=>C.default.system.error("setCleanShutdownFlag failed.",e))),b.default.addListener({field:se},((e,t)=>{C.default.system.log("WorkspaceService new promptUserOnDirtyWorkspace config",t),d.WorkspaceManager.promptUserOnDirtyWorkspace=!!t.value})),b.default.addListener({field:ae},((e,t)=>{C.default.system.log("WorkspaceService new discardUnsavedChanges config",t),d.WorkspaceManager.autosave=!(d.WorkspaceManager.promptUserOnDirtyWorkspace||null!=t&&t)}))}}setReady(){le.workspaceServiceReady=!0}async cleanShutdown(){const e=ie("shuttingDown");le.lifecycle="shuttingDown",C.default.system.log(T,"Shutdown detected."),await d.WorkspaceManager.setCleanShutdownFlag(e,!0),C.default.system.log("Clean shutdown recorded in storage.")}doShutdown(){return new Promise((async e=>{const t=ie("doShutdown"),n=await d.WorkspaceManager.getActiveWorkspace(t).catch().catch((()=>{le.isResetRequested=!0,C.default.system.debug("No active workspace so must be shutting down after a reset operation")}));if(d.WorkspaceManager.promptUserOnDirtyWorkspace)if(le.scheduledCloseDiscardUnsavedChanges)await this.cleanShutdown(),e();else if(le.isResetRequested||d.WorkspaceManager.autosave||!await d.WorkspaceManager.isActiveWorkspaceDirty(t))await this.cleanShutdown(),e();else{const{data:r}=await b.default.getValue({field:"finsemble.shutdownTimeout"});let i=r-5e3;le.dialogManager.open("yesNo",{monitor:"primary",title:"Save your workspace?",question:`Would you like to save "${n.name}" before shutting down?`,showTimer:!0,timerDuration:i,negativeResponseLabel:"Don't Save",affirmativeResponseLabel:"Save",showCancelButton:!1},(async(n,r)=>{n||"expired"===r.choice?C.default.system.info("doShutdown timer expired so not invoking cleanShutdown"):"affirmative"===r.choice?(await le.saveWorkspace(t),await this.cleanShutdown()):await this.cleanShutdown(),e()}))}else d.WorkspaceManager.discardUnsavedChanges||await le.saveWorkspace(t),await this.cleanShutdown(),e()}))}static async waitUntilRightStageToOpenInitialWorkspace(e){_.default.waitForBootStage("earlyuser","stageCompleted",(async()=>{try{le.dialogManager=n(60434).default,le.dialogManager.initialize();let t=await d.WorkspaceManager.getActiveWorkspace(e);C.default.system.log(T,`Loading initial workspace ${t.name}`),await le.load(e,t.name,t).catch((e=>C.default.system.error("Initial workspace load caught underlying error: ",e)))}catch(e){C.default.system.error("initial workspace load failed",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Initial workspace load failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}}))}static async isMasterStorageReachable(e){let t=!0;return await d.WorkspaceManager.getLastUsedWorkspaceName(e).catch((e=>{C.default.system.error("isMasterStorageReachable failed.",e),t=!1})),t}static async setupInitialWorkspaceFromCacheStorage(e,t){let n=!0;return C.default.system.log(T,`Loading last active workspace "${t}"`),await d.WorkspaceManager.setActiveWorkspace(e,t,!0).catch((()=>n=!1)),n||g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed loading initial workspace due to systemic failure in storage.",{url:le.notificationURL}),n}static async setupInitialWorkspace(e,t,n,r){if(C.default.system.log(T,"Loading initial workspace",t,n?"dirty shutdown":"not dirty shutdown",r),n){const t=`${le.startupApp.name||"Finsemble"} was not shutdown properly. Attempting to load cached version of last active workspace.`;return C.default.system.warn(T,t),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL}),await le.setupInitialWorkspaceFromCacheStorage(e,K),K}let i=!1,o=!1,s=t[Z];if(s&&(C.default.system.log(T,`Loading user-specified default workspace "${s}"`),await d.WorkspaceManager.setActiveWorkspace(e,s).then((()=>i=!0)).catch((()=>{o=!0,g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed to load default workspace so will load alternate. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}))),o||i||(s=await d.WorkspaceManager.getLastUsedWorkspaceName(e).catch((e=>C.default.system.error("wasLastShutdownDirty failed.",e)))||"",s&&(C.default.system.log(T,`Loading last used workspace "${s}"`),await d.WorkspaceManager.setActiveWorkspace(e,s).then((()=>i=!0)).catch((()=>g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed to load last used workspace so will load alternate. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL}))))),!i)if(await d.WorkspaceManager.doesActiveWorkspaceExist(e)){const t=`${le.startupApp.name||"Finsemble"} could not load initial workspace from master storage so attempting to load from local cache`;C.default.system.warn(T,t),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL}),i=await le.setupInitialWorkspaceFromCacheStorage(e,K),s=K}else{C.default.system.log(T,`Loading first workspace in config "${r[0].name}"`);const t=r.find((e=>e.default));s=t?t.name:r[0].name,await d.WorkspaceManager.setActiveWorkspace(e,s).then((()=>i=!0)).catch((()=>g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed to load initial workspace so will load empty workspace.",{url:le.notificationURL})))}return i||(C.default.system.log(T,"Loading empty workspace"),await d.WorkspaceManager.addWorkspace(e,oe).catch((e=>C.default.system.error("Failed adding empty workspace",e))),await d.WorkspaceManager.setActiveWorkspace(e,oe.name).then((()=>i=!0)).catch((e=>C.default.system.error("Failed loading empty workspace",e)))),i||C.default.system.error(T,"Failed loading initial workspace due to systemic failure in storage."),await le.publishUpdate(e,X.LOAD_FINISHED),s}static async registerSearch(){const e={reason:"Out of Band-Search Provider"};function t(t,n,r){t.action&&t.item&&"Switch"===t.action.name&&le.handleSwitchTo(e,t.item.name).then((()=>r(null,"success"))).catch((e=>r(e)))}return new Promise((n=>{S.default.register({name:"Installed Workspaces",searchCallback:({text:t},n)=>d.WorkspaceManager.searchWorkspaces(e,t).then((e=>n(null,e))),itemActionCallback:t,providerActionCallback:()=>{}},n)}))}static addResponder(e,t,n){p.default.addResponder(e,(async(r,i)=>{const o=ie(e);if(r||!i)return void C.default.system.error(`Workspace Router.addResponder failure for ${e}`,r);const s=e=>{const t=e instanceof Error?e.toString():e;i.sendQueryResponse(t,null)};try{if(le.workspaceServiceReady||C.default.system.error("workspaceService invoked before ready",i),C.default.system.info(`TRACE-${re}-Handling response for ${e}. Lifecycle status: ${le.lifecycle}`),C.default.system.debug(`TRACE-${re}-Message data`,i),t&&"closing"===le.lifecycle){const e="Workspace is currently closing. Dropping request.";return C.default.system.log(e),void s(e)}if(e===P){const e=await n(o,i.data);i.sendQueryResponse(null,e)}else{const e=()=>n(o,i.data),t=await A(e);i.sendQueryResponse(null,t)}await le.publishUpdate(o,e)}catch(e){C.default.system.error(e),s(e)}}))}static async createRouterEndpoints(){const e=[["WorkspaceService.bringWindowsToFront",e=>le.handleBringWindowsToFront(e)],["WorkspaceService.minimizeAll",e=>le.handleMinimizeAll(e)],[B,d.WorkspaceManager.getActiveWorkspace],[G,(e,{workspaceName:t})=>d.WorkspaceManager.newWorkspace(e,t)],[M,(e,{workspaceName:t})=>t&&d.WorkspaceManager.exportWorkspace(e,t)],[F,(e,{workspaceJSONDefinition:t,force:n})=>Promise.all(Object.values(t).map((t=>d.WorkspaceManager.importWorkspace(e,t,n)))).then((e=>Object.keys(t).reduce(((t,n,r)=>(0,s.default)(t,n,e[r])),{})))],[D,le.saveWorkspace,ee],[N,(e,{name:t,force:n})=>le.saveWorkspaceAs(e,t,n),ee],[j,(e,{name:t})=>d.WorkspaceManager.removeWorkspace(e,t),ee],[P,le.handleSwitchTo],[$,(e,t)=>d.WorkspaceManager.setWorkspaceOrder(e,t.map((e=>e.name)))],[R,d.WorkspaceManager.getWorkspaces],[V,(e,{windowName:t,state:n})=>d.WorkspaceManager.setWindowState(e,t,n),ee],[q,(e,{windowName:t,stateVars:n})=>d.WorkspaceManager.getWindowState(e,t,n),ee],[U,d.WorkspaceManager.getWorkspaceNames],[H,d.WorkspaceManager.addWindowToWorkspace,ee],[z,(e,{name:t})=>d.WorkspaceManager.removeWindowFromWorkspace(e,t),ee],[x,(e,{oldName:t,newName:n})=>d.WorkspaceManager.renameWorkspace(e,n,t)],[I,e=>d.WorkspaceManager.isActiveWorkspaceDirty(e)]];for(const[t,n,r]of e)this.addResponder(t,r,n);let t=!0;p.default.subscribe(w.DOCKING.GROUP_UPDATE,((e,n)=>A((()=>(async(e,{data:{groupData:n}})=>{if(t)return void(t=!1);const r=ie(w.DOCKING.GROUP_UPDATE);"closing"!==le.lifecycle?n&&(C.default.system.info(`TRACE-${re}-Received publish from docking, updating groups`),await d.WorkspaceManager.setGroupData(r,n),await le.publishUpdate(r,w.DOCKING.GROUP_UPDATE)):C.default.system.debug(`TRACE-${re}-Received publish from docking while closing the workspace. Dropping request.`)})(0,n))))),p.default.addListener("Application.restart",((e,t)=>{t.data&&!0===t.data.forceRestart&&(this.isResetRequested=!0),t.data&&!0===t.data.scheduledCloseDiscardUnsavedChanges&&(this.scheduledCloseDiscardUnsavedChanges=!0)})),p.default.addListener("Application.shutdown",((e,t)=>{t.data&&!0===t.data.scheduledCloseDiscardUnsavedChanges&&(this.scheduledCloseDiscardUnsavedChanges=!0)}))}static async publishUpdate(e,t){try{const n=te[t]||t,i=await d.WorkspaceManager.getActiveWorkspace(e),o=(await d.WorkspaceManager.getWorkspaces(e)).map((e=>r(e,[]))),s={activeWorkspace:i,workspaces:await d.WorkspaceManager.getWorkspaceNames(e),groups:i.groups,reason:n,workspacesConfig:o};if((0,h.isEqualIgnoringArrayOrder)(s,le.cachedWorkspaceState))return void C.default.system.debug(T,"No changes detected, skipping publish.",s,t);le.cachedWorkspaceState=s,p.default.publish(J,s)}catch(e){C.default.system.debug("publishUpdate caught error",e)}}static shouldStopSwitch(){return le.cleaningOutstandingSpawns||null!==le.queuedSwitchRequest}static waitForIdleSpawnQueue(){return new Promise((async e=>{let t=!1;const n=setTimeout((()=>{C.default.system.error(`${le.limitedSpawningQueue.pending} windows did not finish loading. Forcing Workspace close completion.`),t=!0,e()}),15e3);await le.limitedSpawningQueue.onIdle(),t||(clearTimeout(n),e())}))}static async saveWorkspace(e){try{await le.eventManager.trigger("save-requested");const t=await le.alertWindowLoadingDuringSave();await d.WorkspaceManager.saveActiveWorkspace(e),t&&await le.eventManager.trigger("save-complete")}catch(e){const t="Workspace save failed. Could not write workspace data to storage. Internet connectivity may be down.";await le.eventManager.trigger("save-failed",{error:t}),C.default.system.error("saveWorkspace failed error",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL})}}static async saveWorkspaceAs(e,t,n){try{await le.eventManager.trigger("save-requested");const r=await le.alertWindowLoadingDuringSave();await d.WorkspaceManager.saveActiveWorkspaceAs(e,t,n),r&&await le.eventManager.trigger("save-complete")}catch(e){const t="Workspace save failed. Could not write workspace data to storage. Internet connectivity may be down.";await le.eventManager.trigger("save-failed",{error:t}),C.default.system.error("saveWorkspaceAs failed error",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL})}}static async handleSwitchTo(e,t){C.default.system.log("switch-trace handleSwitchTo",le.lifecycle,t,"queued flag",le.queuedSwitchRequest,le.cleaningOutstandingSpawns);const n="string"!=typeof t?t.name:t;if(le.limitedSpawningQueue&&(le.limitedSpawningQueue.size||le.limitedSpawningQueue.pending)&&(le.cleaningOutstandingSpawns=!0,C.default.system.log(`switch-trace CLEARING limitedSpawningQueue Queue with ${le.limitedSpawningQueue.pending} pending`),le.limitedSpawningQueue.clear(),await le.waitForIdleSpawnQueue(),C.default.system.log("switch-trace CLEARING limitedSpawningQueue -- now onIdle"),le.cleaningOutstandingSpawns=!1),"stable"===le.lifecycle){le.lifecycle="switching";try{await le.publishUpdate(e,X.LOAD_STARTED),await le.coreSwitchTo(e,t)}catch(e){"Close was canceled"==e?(C.default.system.log("handleSwitchTo: Workspace close was canceled."),await le.eventManager.trigger("close-canceled")):(C.default.system.error("handleSwitchTo: switch caught underlying error probably due to storage or internet failure",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Workspace switch failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL}))}if(le.lifecycle="stable",C.default.system.log("switch-trace coreSwitchTo set to stable"),le.queuedSwitchRequest){C.default.system.log("switch-trace processing pending",le.lifecycle,t);const n=le.queuedSwitchRequest;le.queuedSwitchRequest=null,await le.handleSwitchTo(e,n)}await le.publishUpdate(e,X.LOAD_FINISHED)}else C.default.system.log("switch-trace queued",le.lifecycle,t),le.queuedSwitchRequest=n}static sleep(e){return new Promise((t=>setTimeout(t,e)))}static async coreSwitchTo(e,t){let n,r;const i="string"!=typeof t?t.name:t;if(C.default.system.log(T,`Switching to workspace "${i}"`),!await le.isMasterStorageReachable(e))throw C.default.system.error("switch-trace coreSwitchTo failed for getLastUsedWorkspaceName"),new Error("Switch failed because master storage was not available");try{C.default.system.log("switch-trace coreSwitchTo before close"),le.lifecycle="closing",r=await le.close(e),C.default.system.log("switch-trace coreSwitchTo after close")}catch(e){if("event was canceled"===e)throw"Close was canceled";C.default.system.error("switch-trace coreSwitchTo close failed",e),g.default.alert("user","ALWAYS","FSBL-WorkspaceSwitch-Failure",le.closeWorkspaceTimeoutMessage.concat(" Could not read workspace data from storage. Internet connectivity may be down."),{url:le.notificationURL}),r=!1}const o=r?i:await d.WorkspaceManager.addWorkspace(e,oe);if(le.shouldStopSwitch())C.default.system.log("switch-trace coreSwitchTo skipped since pending request",le.lifecycle,t);else try{n=await d.WorkspaceManager.setActiveWorkspace(e,o),await le.publishUpdate(e,X.LOAD_DATA_RETRIEVED),le.lifecycle="loading",le.load(e,o,n).catch((e=>{C.default.system.error("switch-trace coreSwitchTo load failed",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Workspace load failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}))}catch(e){C.default.system.error("switch-trace coreSwitchTo switch failed",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Workspace load failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}return await this.sleep(2e3),{data:n}}static async removeSystemClosedHandlers(e){for(let t=0;t<e.length;t++){const n=e[t];if(!(0,o.default)(n,"isEvergreen",!1))try{const{wrap:e}=await f.FinsembleWindow.getInstance({windowName:n.name,waitForReady:!1});e.removeEventListener("system-closed",e._systemClosed)}catch(e){C.default.system.error("switch-trace. Wrap failed. Trying to remove system-closed listener for window",n.name,e)}}}static async close(e){C.default.system.log(T,"Closing active workspace.");const{data:t}=await(0,L.deprecatedGetActiveAndPendingWindowNames)(p.default);let n=[];const r=await d.WorkspaceManager.getActiveWorkspace(e);await le.eventManager.trigger("close-requested",r);const i=r.windows;try{n=await d.WorkspaceManager.getManyStates("windowData",i)}catch(e){C.default.system.error("Error retrieving list of windows to close.",e)}const o=n.filter((e=>null==t?void 0:t.includes(e.name)));if(C.default.system.log("switch-trace workspaceService.close windows",o,"activeAndPendingWindows",t,"workspaceWindows",n),!o.length)return await le.eventManager.trigger("close-complete"),C.default.system.log(T,"Finished closing active workspace."),!0;await le.removeSystemClosedHandlers(o);let s=!1;const a=le.closeWorkspaceTimeout;let l=[...o];try{const t=async t=>new Promise((async n=>{C.default.system.log(T,`Closing window ${t.name}`);try{const{wrap:r}=await f.FinsembleWindow.getInstance({windowName:t.name,waitForReady:!1});C.default.system.log(`switch-trace closing ${t.name}`);const i=e=>{e&&C.default.system.error(e),l=l.filter((e=>e!==t)),C.default.system.log(`switch-trace finished closing window ${t.name}`,e,l),C.default.system.log(T,`finished closing window ${t.name}`),n()};t.isEvergreen?(C.default.system.verbose("Window is evergreen. Hiding",t.name,t),r.parentWindow&&await r.parentWindow.removeWindow({windowIdentifier:r.identifier,noCloseStack:!0}),r.hide({},i)):(C.default.system.verbose("Window is not evergreen. Closing",t.name,t),r.close({removeFromWorkspace:!1,ignoreParent:!0,trace:e},i))}catch(e){C.default.system.error("switch-trace close window",e),n()}})),n=new Promise((async e=>{const n=o.filter(h.isStackedWindow),r=o.filter(O);await Promise.all(r.map(t)),await Promise.all(n.map(t)),e()}));await(0,h.wrapWithTimeout)(n,a,`Attempt to close workspace windows timed out after ${a} ms. Please Reload Your Workspace. Remaining windows:`),s=!0,await le.eventManager.trigger("close-complete")}catch(e){C.default.system.error(e,l),await le.eventManager.trigger("close-failed",{error:e,data:l}),g.default.alert("user","ALWAYS","FSBL-WorkspaceSwitch-Failure",le.closeWorkspaceTimeoutMessage,{})}return C.default.system.log(T,"Finished closing active workspace."),s}static async spawn({name:e,win:t,groupData:n,windowsWhichAreChildrenOfAStack:r,windowsInError:i}){const s=(0,o.default)(t,"customData.component.type",t.componentType);C.default.system.debug(T,"Launching component",t.name),r.includes(t.name)&&(t.autoShow=!1);const a={spawnedByWorkspaceService:!0,addToWorkspace:!1,options:t,height:t.height,width:t.width,top:t.top,left:t.left};if(n)for(const e in n)if(n[e].windowNames.includes(t.name)&&n[e].isMovable){a.forceOntoMonitor=!1,a.isInExistingGroup=!0;break}try{if(le.shouldStopSwitch())return void C.default.system.log(`switch-trace spawnPromise cleared for ${t.name} since pending request`);if(C.default.system.log(`switch-trace spawnPromise for ${t.name}`),await v.default.spawn(s,a),t.isEvergreen){const n=await d.WorkspaceManager.getManyStates("componentState",[t.name],e);p.default.transmit("LinkerService-Event-component-state-changed",{windowName:t.name,Finsemble_Linker:n.length>0&&n[0].Finsemble_Linker?n[0].Finsemble_Linker:null});const{wrap:r}=await f.FinsembleWindow.getInstance({windowName:t.name,waitForReady:!0});await p.default.query("DockingService.registerWindow",{name:t.name},(()=>{})),await p.default.query("WindowService-Request-componentStateChanged",{windowIdentifier:r.identifier,componentState:n},(()=>{}))}}catch(e){C.default.system.error(`switch-trace spawnPromise error for ${t.name}`,e),i.push(t.name)}}static async spawnWorkspace(e,t){const n=await d.WorkspaceManager.getManyStates("windowData",t.windows),r=n.filter(h.isStackedWindow),i=n.filter(O),o=[],s=r.map((e=>{var t;return null===(t=e.childWindowIdentifiers)||void 0===t?void 0:t.map((e=>e.windowName))}));i.forEach((e=>{const{name:t}=e;s.forEach((e=>{!0===(null==e?void 0:e.includes(t))&&o.push(t)}))}));const a=[];C.default.system.log("switch-trace load limitedSpawningQueue allocated",e),le.limitedSpawningQueue=new u.default({concurrency:le.concurrentSpawnLimit});try{const n=setTimeout((()=>{clearTimeout(n),C.default.system.warn("WARNING: Workspace is taking a long time to load. Some components may have returned an error when spawning",a),le.eventManager.trigger("load-failed",{error:"Workspace Load Failed. Some Workspace Components are taking too long to load",data:a})}),6e4);C.default.system.debug(T,"Launching component spawnNotStacks",i);const s=i.map((n=>le.limitedSpawningQueue.add((()=>le.spawn({name:e,win:n,groupData:t.groups,windowsWhichAreChildrenOfAStack:o,windowsInError:a})))));if(await Promise.all(s),le.shouldStopSwitch())clearTimeout(n),await le.eventManager.trigger("load-interrupted"),C.default.system.debug(T,"bypassing the launching of spawnStacks since prematurely terminated",r);else{C.default.system.debug(T,"Launching component spawnStacks",r);const i=r.map((n=>le.limitedSpawningQueue.add((()=>le.spawn({name:e,win:n,groupData:t.groups,windowsWhichAreChildrenOfAStack:o,windowsInError:a})))));await Promise.all(i),clearTimeout(n),await le.eventManager.trigger("load-complete")}}catch(t){C.default.system.error(`Workspace ${e} load: ${t}`)}}static async load(e,t,n){C.default.system.log(T,`Loading workspace "${t}"`),C.default.system.log("switch-trace load",t);let r=(0,l.default)(n);delete r.componentState;const i=await le.eventManager.trigger("load-requested",r);if(i){for(const e of i)e&&(n=(0,E.default)(n,e));d.WorkspaceManager.updateActiveWorkspace(e,(()=>n))}if(p.default.transmit("Launcher.resetSpawnStagger",{}),r.windows.length)return await le.spawnWorkspace(t,r),d.WorkspaceManager.saveLastUsedWorkspaceName(e,d.WorkspaceManager.cachedActiveWorkspaceName),await le.publishUpdate(e,X.LOAD_FINISHED),C.default.system.log(T,"Finished loading workspace"),!0;try{await le.publishUpdate(e,X.LOAD_FINISHED),await le.eventManager.trigger("load-complete")}catch(e){C.default.system.error("Windows have been closed and the new workspace has been loaded but a problem was encountered updating the service with new status",e)}}static async handleBringWindowsToFront(e){const t=(await d.WorkspaceManager.getActiveWorkspace(e)).windows;return new Promise((e=>{v.default.bringWindowsToFront({windowList:t},e)}))}static async handleMinimizeAll(e){const t=(await d.WorkspaceManager.getActiveWorkspace(e)).windows;return new Promise((e=>{v.default.minimizeWindows({windowList:t},e)}))}static async alertWindowLoadingDuringSave(){const{err:e,response:t}=await p.default.query("Launcher.getPendingWindows",{});if(e&&C.default.system.error("Unable to establish that all windows had finished loading udring save operation. Some windows may not ahve been saved.",e),t&&t.data){let e=t.data;const n=Object.keys(e).filter((t=>e[t].addToWorkspace)).join("\n ");if(n){C.default.system.log(`The workspace was saved before all windows finished loading. The following windows were not saved in the workspace: \n ${n}`);const e="Some windows were not saved. To avoid losing data, please wait for all components to load completely before saving a workspace.";return g.default.alert("user","ALWAYS","FSBL-WorkspaceSave-LoadWarning",e,{}),await le.eventManager.trigger("save-failed",{error:`Workspace Save Failed. ${e}`,data:n}),!1}return!0}}}le.workspaceServiceReady=!1,le.eventManager=new k.default({name:"workspaceClient",sourceType:"Workspace"}),le.queuedSwitchRequest=null,le.cleaningOutstandingSpawns=!1;const ce=new le({name:"workspaceService",startupDependencies:{clients:["launcherClient"]}});ce.onBaseServiceReady((async e=>{await _.default.waitForStartup("assimilationService"),await _.default.waitForStartup("windowService"),ce.initialize().then(e),ce.setReady()})),ce.start()},10600:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},57746:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},24508:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},74443:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46888:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95281:(e,t)=>{"use strict";var n,r,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ChannelError=t.ResolveError=t.OpenError=void 0,(i=t.OpenError||(t.OpenError={})).AppNotFound="AppNotFound",i.ErrorOnLaunch="ErrorOnLaunch",i.AppTimeout="AppTimeout",i.ResolverUnavailable="ResolverUnavailable",(r=t.ResolveError||(t.ResolveError={})).NoAppsFound="NoAppsFound",r.ResolverUnavailable="ResolverUnavailable",r.ResolverTimeout="ResolverTimeout",(n=t.ChannelError||(t.ChannelError={})).NoChannelFound="NoChannelFound",n.AccessDenied="AccessDenied",n.CreationFailed="CreationFailed"},14414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},56911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},27154:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22225:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},896:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ContextTypes=void 0,(n=t.ContextTypes||(t.ContextTypes={})).Contact="fdc3.contact",n.ContactList="fdc3.contactList",n.Country="fdc3.country",n.Instrument="fdc3.instrument",n.Organization="fdc3.organization",n.Portfolio="fdc3.portfolio",n.Position="fdc3.position"},80976:(e,t)=>{"use strict";function n(e,t,n=""){if(n)throw Error(`Invalid value for key "${n}". Expected type ${JSON.stringify(e)} but got ${JSON.stringify(t)}`);throw Error(`Invalid value ${JSON.stringify(t)} for type ${JSON.stringify(e)}`)}function r(e){if(void 0===e.jsonToJS){const t={};e.props.forEach((e=>t[e.json]={key:e.js,typ:e.typ})),e.jsonToJS=t}return e.jsonToJS}function i(e){if(void 0===e.jsToJSON){const t={};e.props.forEach((e=>t[e.js]={key:e.json,typ:e.typ})),e.jsToJSON=t}return e.jsToJSON}function o(e,t,r,i=""){if("any"===t)return e;if(null===t)return null===e?e:n(t,e);if(!1===t)return n(t,e);for(;"object"==typeof t&&void 0!==t.ref;)t=h[t.ref];return Array.isArray(t)?function(e,t){return-1!==e.indexOf(t)?t:n(e,t)}(t,e):"object"==typeof t?t.hasOwnProperty("unionMembers")?function(e,t){const i=e.length;for(let n=0;n<i;n++){const i=e[n];try{return o(t,i,r)}catch(e){}}return n(e,t)}(t.unionMembers,e):t.hasOwnProperty("arrayItems")?function(e,t){return Array.isArray(t)?t.map((t=>o(t,e,r))):n("array",t)}(t.arrayItems,e):t.hasOwnProperty("props")?function(e,t,i){if(null===i||"object"!=typeof i||Array.isArray(i))return n("object",i);const s={};return Object.getOwnPropertyNames(e).forEach((t=>{const n=e[t],a=Object.prototype.hasOwnProperty.call(i,t)?i[t]:void 0;s[n.key]=o(a,n.typ,r,n.key)})),Object.getOwnPropertyNames(i).forEach((n=>{Object.prototype.hasOwnProperty.call(e,n)||(s[n]=o(i[n],t,r,n))})),s}(r(t),t.additional,e):n(t,e):t===Date&&"number"!=typeof e?function(e){if(null===e)return null;const t=new Date(e);return isNaN(t.valueOf())?n("Date",e):t}(e):function(e,t){return typeof e==typeof t?t:n(e,t,i)}(t,e)}function s(e,t){return o(e,t,r)}function a(e,t){return o(e,t,i)}function l(e){return{arrayItems:e}}function c(...e){return{unionMembers:e}}function u(e,t){return{props:e,additional:t}}function d(e){return{props:[],additional:e}}function f(e){return{ref:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Convert=void 0,t.Convert=class{static toContext(e){return s(JSON.parse(e),f("Context"))}static contextToJson(e){return JSON.stringify(a(e,f("Context")),null,2)}static toContact(e){return s(JSON.parse(e),f("Contact"))}static contactToJson(e){return JSON.stringify(a(e,f("Contact")),null,2)}static toContactList(e){return s(JSON.parse(e),f("ContactList"))}static contactListToJson(e){return JSON.stringify(a(e,f("ContactList")),null,2)}static toInstrument(e){return s(JSON.parse(e),f("Instrument"))}static instrumentToJson(e){return JSON.stringify(a(e,f("Instrument")),null,2)}static toInstrumentList(e){return s(JSON.parse(e),f("InstrumentList"))}static instrumentListToJson(e){return JSON.stringify(a(e,f("InstrumentList")),null,2)}static toCountry(e){return s(JSON.parse(e),f("Country"))}static countryToJson(e){return JSON.stringify(a(e,f("Country")),null,2)}static toOrganization(e){return s(JSON.parse(e),f("Organization"))}static organizationToJson(e){return JSON.stringify(a(e,f("Organization")),null,2)}static toPortfolio(e){return s(JSON.parse(e),f("Portfolio"))}static portfolioToJson(e){return JSON.stringify(a(e,f("Portfolio")),null,2)}static toPosition(e){return s(JSON.parse(e),f("Position"))}static positionToJson(e){return JSON.stringify(a(e,f("Position")),null,2)}};const h={Context:u([{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")},{json:"type",js:"type",typ:""}],"any"),ContactList:u([{json:"contacts",js:"contacts",typ:l(f("Contact"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Contact:u([{json:"id",js:"id",typ:f("ContactID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),ContactID:u([{json:"email",js:"email",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")}],""),InstrumentList:u([{json:"instruments",js:"instruments",typ:l(f("Instrument"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Instrument:u([{json:"id",js:"id",typ:f("InstrumentID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),InstrumentID:u([{json:"BBG",js:"BBG",typ:c(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"FIGI",js:"FIGI",typ:c(void 0,"")},{json:"ISIN",js:"ISIN",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")},{json:"RIC",js:"RIC",typ:c(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:c(void 0,"")},{json:"ticker",js:"ticker",typ:c(void 0,"")}],""),Country:u([{json:"id",js:"id",typ:f("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),CountryID:u([{json:"ISOALPHA2",js:"ISOALPHA2",typ:c(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:c(void 0,"")}],""),Organization:u([{json:"id",js:"id",typ:f("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),OrganizationID:u([{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"LEI",js:"LEI",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")}],""),Portfolio:u([{json:"positions",js:"positions",typ:l(f("Position"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Position:u([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:f("Instrument")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any")}},63250:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),i(n(10600),t),i(n(57746),t),i(n(24508),t),i(n(22225),t),i(n(74443),t),i(n(46888),t),i(n(95281),t),i(n(56911),t),i(n(27154),t),i(n(86414),t),i(n(14414),t),i(n(896),t),i(n(80976),t),i(n(59579),t)},59579:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Intents=void 0,(n=t.Intents||(t.Intents={})).StartCall="StartCall",n.StartChat="StartChat",n.ViewChart="ViewChart",n.ViewContact="ViewContact",n.ViewQuote="ViewQuote",n.ViewNews="ViewNews",n.ViewInstrument="ViewInstrument",n.ViewAnalysis="ViewAnalysis"},21614:(e,t,n)=>{"use strict";var r;n.r(t),n.d(t,{NIL:()=>O,parse:()=>m,stringify:()=>u,v1:()=>g,v3:()=>W,v4:()=>E,v5:()=>T,validate:()=>a,version:()=>I});var i=new Uint8Array(16);function o(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(i)}const s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,a=function(e){return"string"==typeof e&&s.test(e)};for(var l=[],c=0;c<256;++c)l.push((c+256).toString(16).substr(1));const u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n};var d,f,h=0,p=0;const g=function(e,t,n){var r=t&&n||0,i=t||new Array(16),s=(e=e||{}).node||d,a=void 0!==e.clockseq?e.clockseq:f;if(null==s||null==a){var l=e.random||(e.rng||o)();null==s&&(s=d=[1|l[0],l[1],l[2],l[3],l[4],l[5]]),null==a&&(a=f=16383&(l[6]<<8|l[7]))}var c=void 0!==e.msecs?e.msecs:Date.now(),g=void 0!==e.nsecs?e.nsecs:p+1,m=c-h+(g-p)/1e4;if(m<0&&void 0===e.clockseq&&(a=a+1&16383),(m<0||c>h)&&void 0===e.nsecs&&(g=0),g>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=c,p=g,f=a;var w=(1e4*(268435455&(c+=122192928e5))+g)%4294967296;i[r++]=w>>>24&255,i[r++]=w>>>16&255,i[r++]=w>>>8&255,i[r++]=255&w;var v=c/4294967296*1e4&268435455;i[r++]=v>>>8&255,i[r++]=255&v,i[r++]=v>>>24&15|16,i[r++]=v>>>16&255,i[r++]=a>>>8|128,i[r++]=255&a;for(var y=0;y<6;++y)i[r+y]=s[y];return t||u(i)},m=function(e){if(!a(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};function w(e,t,n){function r(e,r,i,o){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=m(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var s=new Uint8Array(16+e.length);if(s.set(r),s.set(e,r.length),(s=n(s))[6]=15&s[6]|t,s[8]=63&s[8]|128,i){o=o||0;for(var a=0;a<16;++a)i[o+a]=s[a];return i}return u(s)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function v(e){return 14+(e+64>>>9<<4)+1}function y(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function b(e,t,n,r,i,o){return y((s=y(y(t,e),y(r,o)))<<(a=i)|s>>>32-a,n);var s,a}function S(e,t,n,r,i,o,s){return b(t&n|~t&r,e,t,i,o,s)}function C(e,t,n,r,i,o,s){return b(t&r|n&~r,e,t,i,o,s)}function _(e,t,n,r,i,o,s){return b(t^n^r,e,t,i,o,s)}function k(e,t,n,r,i,o,s){return b(n^(t|~r),e,t,i,o,s)}const W=w("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",i=0;i<n;i+=8){var o=e[i>>5]>>>i%32&255,s=parseInt(r.charAt(o>>>4&15)+r.charAt(15&o),16);t.push(s)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[v(t)-1]=t;for(var n=1732584193,r=-271733879,i=-1732584194,o=271733878,s=0;s<e.length;s+=16){var a=n,l=r,c=i,u=o;n=S(n,r,i,o,e[s],7,-680876936),o=S(o,n,r,i,e[s+1],12,-389564586),i=S(i,o,n,r,e[s+2],17,606105819),r=S(r,i,o,n,e[s+3],22,-1044525330),n=S(n,r,i,o,e[s+4],7,-176418897),o=S(o,n,r,i,e[s+5],12,1200080426),i=S(i,o,n,r,e[s+6],17,-1473231341),r=S(r,i,o,n,e[s+7],22,-45705983),n=S(n,r,i,o,e[s+8],7,1770035416),o=S(o,n,r,i,e[s+9],12,-1958414417),i=S(i,o,n,r,e[s+10],17,-42063),r=S(r,i,o,n,e[s+11],22,-1990404162),n=S(n,r,i,o,e[s+12],7,1804603682),o=S(o,n,r,i,e[s+13],12,-40341101),i=S(i,o,n,r,e[s+14],17,-1502002290),n=C(n,r=S(r,i,o,n,e[s+15],22,1236535329),i,o,e[s+1],5,-165796510),o=C(o,n,r,i,e[s+6],9,-1069501632),i=C(i,o,n,r,e[s+11],14,643717713),r=C(r,i,o,n,e[s],20,-373897302),n=C(n,r,i,o,e[s+5],5,-701558691),o=C(o,n,r,i,e[s+10],9,38016083),i=C(i,o,n,r,e[s+15],14,-660478335),r=C(r,i,o,n,e[s+4],20,-405537848),n=C(n,r,i,o,e[s+9],5,568446438),o=C(o,n,r,i,e[s+14],9,-1019803690),i=C(i,o,n,r,e[s+3],14,-187363961),r=C(r,i,o,n,e[s+8],20,1163531501),n=C(n,r,i,o,e[s+13],5,-1444681467),o=C(o,n,r,i,e[s+2],9,-51403784),i=C(i,o,n,r,e[s+7],14,1735328473),n=_(n,r=C(r,i,o,n,e[s+12],20,-1926607734),i,o,e[s+5],4,-378558),o=_(o,n,r,i,e[s+8],11,-2022574463),i=_(i,o,n,r,e[s+11],16,1839030562),r=_(r,i,o,n,e[s+14],23,-35309556),n=_(n,r,i,o,e[s+1],4,-1530992060),o=_(o,n,r,i,e[s+4],11,1272893353),i=_(i,o,n,r,e[s+7],16,-155497632),r=_(r,i,o,n,e[s+10],23,-1094730640),n=_(n,r,i,o,e[s+13],4,681279174),o=_(o,n,r,i,e[s],11,-358537222),i=_(i,o,n,r,e[s+3],16,-722521979),r=_(r,i,o,n,e[s+6],23,76029189),n=_(n,r,i,o,e[s+9],4,-640364487),o=_(o,n,r,i,e[s+12],11,-421815835),i=_(i,o,n,r,e[s+15],16,530742520),n=k(n,r=_(r,i,o,n,e[s+2],23,-995338651),i,o,e[s],6,-198630844),o=k(o,n,r,i,e[s+7],10,1126891415),i=k(i,o,n,r,e[s+14],15,-1416354905),r=k(r,i,o,n,e[s+5],21,-57434055),n=k(n,r,i,o,e[s+12],6,1700485571),o=k(o,n,r,i,e[s+3],10,-1894986606),i=k(i,o,n,r,e[s+10],15,-1051523),r=k(r,i,o,n,e[s+1],21,-2054922799),n=k(n,r,i,o,e[s+8],6,1873313359),o=k(o,n,r,i,e[s+15],10,-30611744),i=k(i,o,n,r,e[s+6],15,-1560198380),r=k(r,i,o,n,e[s+13],21,1309151649),n=k(n,r,i,o,e[s+4],6,-145523070),o=k(o,n,r,i,e[s+11],10,-1120210379),i=k(i,o,n,r,e[s+2],15,718787259),r=k(r,i,o,n,e[s+9],21,-343485551),n=y(n,a),r=y(r,l),i=y(i,c),o=y(o,u)}return[n,r,i,o]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(v(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))})),E=function(e,t,n){var r=(e=e||{}).random||(e.rng||o)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return u(r)};function L(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function A(e,t){return e<<t|e>>>32-t}const T=w("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var i=0;i<r.length;++i)e.push(r.charCodeAt(i))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var o=e.length/4+2,s=Math.ceil(o/16),a=new Array(s),l=0;l<s;++l){for(var c=new Uint32Array(16),u=0;u<16;++u)c[u]=e[64*l+4*u]<<24|e[64*l+4*u+1]<<16|e[64*l+4*u+2]<<8|e[64*l+4*u+3];a[l]=c}a[s-1][14]=8*(e.length-1)/Math.pow(2,32),a[s-1][14]=Math.floor(a[s-1][14]),a[s-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<s;++d){for(var f=new Uint32Array(80),h=0;h<16;++h)f[h]=a[d][h];for(var p=16;p<80;++p)f[p]=A(f[p-3]^f[p-8]^f[p-14]^f[p-16],1);for(var g=n[0],m=n[1],w=n[2],v=n[3],y=n[4],b=0;b<80;++b){var S=Math.floor(b/20),C=A(g,5)+L(S,m,w,v)+y+t[S]+f[b]>>>0;y=v,v=w,w=A(m,30)>>>0,m=g,g=C}n[0]=n[0]+g>>>0,n[1]=n[1]+m>>>0,n[2]=n[2]+w>>>0,n[3]=n[3]+v>>>0,n[4]=n[4]+y>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]})),O="00000000-0000-0000-0000-000000000000",I=function(e){if(!a(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},1641:(e,t,n)=>{"use strict";function r(e,...t){return(...n)=>e(...t,...n)}function i(e){return function(...t){var n=t.pop();return e.call(this,t,n)}}n.r(t),n.d(t,{default:()=>pt,apply:()=>r,applyEach:()=>O,applyEachSeries:()=>M,asyncify:()=>d,auto:()=>P,autoInject:()=>B,cargo:()=>q,cargoQueue:()=>H,compose:()=>Q,concat:()=>Z,concatLimit:()=>J,concatSeries:()=>X,constant:()=>ee,detect:()=>ne,detectLimit:()=>re,detectSeries:()=>ie,dir:()=>se,doUntil:()=>le,doWhilst:()=>ae,each:()=>ue,eachLimit:()=>de,eachOf:()=>A,eachOfLimit:()=>W,eachOfSeries:()=>I,eachSeries:()=>fe,ensureAsync:()=>he,every:()=>pe,everyLimit:()=>ge,everySeries:()=>me,filter:()=>be,filterLimit:()=>Se,filterSeries:()=>Ce,forever:()=>_e,groupBy:()=>We,groupByLimit:()=>ke,groupBySeries:()=>Ee,log:()=>Le,map:()=>T,mapLimit:()=>Y,mapSeries:()=>R,mapValues:()=>Te,mapValuesLimit:()=>Ae,mapValuesSeries:()=>Oe,memoize:()=>Ie,nextTick:()=>Re,parallel:()=>Ne,parallelLimit:()=>De,priorityQueue:()=>$e,queue:()=>Pe,race:()=>Be,reduce:()=>z,reduceRight:()=>Ue,reflect:()=>Ge,reflectAll:()=>Ve,reject:()=>He,rejectLimit:()=>ze,rejectSeries:()=>Ke,retry:()=>Ye,retryable:()=>Ze,seq:()=>K,series:()=>Xe,setImmediate:()=>u,some:()=>et,someLimit:()=>tt,someSeries:()=>nt,sortBy:()=>rt,timeout:()=>it,times:()=>st,timesLimit:()=>ot,timesSeries:()=>at,transform:()=>lt,tryEach:()=>ct,unmemoize:()=>ut,until:()=>ft,waterfall:()=>ht,whilst:()=>dt,all:()=>pe,allLimit:()=>ge,allSeries:()=>me,any:()=>et,anyLimit:()=>tt,anySeries:()=>nt,find:()=>ne,findLimit:()=>re,findSeries:()=>ie,flatMap:()=>Z,flatMapLimit:()=>J,flatMapSeries:()=>X,forEach:()=>ue,forEachSeries:()=>fe,forEachLimit:()=>de,forEachOf:()=>A,forEachOfSeries:()=>I,forEachOfLimit:()=>W,inject:()=>z,foldl:()=>z,foldr:()=>Ue,select:()=>be,selectLimit:()=>Se,selectSeries:()=>Ce,wrapSync:()=>d,during:()=>dt,doDuring:()=>ae});var o="function"==typeof queueMicrotask&&queueMicrotask,s="function"==typeof setImmediate&&setImmediate,a="object"==typeof process&&"function"==typeof process.nextTick;function l(e){setTimeout(e,0)}function c(e){return(t,...n)=>e((()=>t(...n)))}var u=c(o?queueMicrotask:s?setImmediate:a?process.nextTick:l);function d(e){return p(e)?function(...t){const n=t.pop();return f(e.apply(this,t),n)}:i((function(t,n){var r;try{r=e.apply(this,t)}catch(e){return n(e)}if(r&&"function"==typeof r.then)return f(r,n);n(null,r)}))}function f(e,t){return e.then((e=>{h(t,null,e)}),(e=>{h(t,e&&e.message?e:new Error(e))}))}function h(e,t,n){try{e(t,n)}catch(e){u((e=>{throw e}),e)}}function p(e){return"AsyncFunction"===e[Symbol.toStringTag]}function g(e){if("function"!=typeof e)throw new Error("expected a function");return p(e)?d(e):e}function m(e,t=e.length){if(!t)throw new Error("arity is undefined");return function(...n){return"function"==typeof n[t-1]?e.apply(this,n):new Promise(((r,i)=>{n[t-1]=(e,...t)=>{if(e)return i(e);r(t.length>1?t:t[0])},e.apply(this,n)}))}}function w(e){return function(t,...n){return m((function(r){var i=this;return e(t,((e,t)=>{g(e).apply(i,n.concat(t))}),r)}))}}function v(e,t,n,r){t=t||[];var i=[],o=0,s=g(n);return e(t,((e,t,n)=>{var r=o++;s(e,((e,t)=>{i[r]=t,n(e)}))}),(e=>{r(e,i)}))}function y(e){return e&&"number"==typeof e.length&&e.length>=0&&e.length%1==0}const b={};function S(e){function t(...t){if(null!==e){var n=e;e=null,n.apply(this,t)}}return Object.assign(t,e),t}function C(e){return function(...t){if(null===e)throw new Error("Callback was already called.");var n=e;e=null,n.apply(this,t)}}function _(e,t,n,r){let i=!1,o=!1,s=!1,a=0,l=0;function c(){a>=t||s||i||(s=!0,e.next().then((({value:e,done:t})=>{if(!o&&!i){if(s=!1,t)return i=!0,void(a<=0&&r(null));a++,n(e,l,u),l++,c()}})).catch(d))}function u(e,t){if(a-=1,!o)return e?d(e):!1===e?(i=!0,void(o=!0)):t===b||i&&a<=0?(i=!0,r(null)):void c()}function d(e){o||(s=!1,i=!0,r(e))}c()}var k=e=>(t,n,r)=>{if(r=S(r),e<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!t)return r(null);if("AsyncGenerator"===t[Symbol.toStringTag])return _(t,e,n,r);if(function(e){return"function"==typeof e[Symbol.asyncIterator]}(t))return _(t[Symbol.asyncIterator](),e,n,r);var i=function(e){if(y(e))return function(e){var t=-1,n=e.length;return function(){return++t<n?{value:e[t],key:t}:null}}(e);var t,n,r,i,o=function(e){return e[Symbol.iterator]&&e[Symbol.iterator]()}(e);return o?function(e){var t=-1;return function(){var n=e.next();return n.done?null:(t++,{value:n.value,key:t})}}(o):(n=(t=e)?Object.keys(t):[],r=-1,i=n.length,function e(){var o=n[++r];return"__proto__"===o?e():r<i?{value:t[o],key:o}:null})}(t),o=!1,s=!1,a=0,l=!1;function c(e,t){if(!s)if(a-=1,e)o=!0,r(e);else if(!1===e)o=!0,s=!0;else{if(t===b||o&&a<=0)return o=!0,r(null);l||u()}}function u(){for(l=!0;a<e&&!o;){var t=i();if(null===t)return o=!0,void(a<=0&&r(null));a+=1,n(t.value,t.key,C(c))}l=!1}u()},W=m((function(e,t,n,r){return k(t)(e,g(n),r)}),4);function E(e,t,n){n=S(n);var r=0,i=0,{length:o}=e,s=!1;function a(e,t){!1===e&&(s=!0),!0!==s&&(e?n(e):++i!==o&&t!==b||n(null))}for(0===o&&n(null);r<o;r++)t(e[r],r,C(a))}function L(e,t,n){return W(e,1/0,t,n)}var A=m((function(e,t,n){return(y(e)?E:L)(e,g(t),n)}),3),T=m((function(e,t,n){return v(A,e,t,n)}),3),O=w(T),I=m((function(e,t,n){return W(e,1,t,n)}),3),R=m((function(e,t,n){return v(I,e,t,n)}),3),M=w(R);const N=Symbol("promiseCallback");function D(){let e,t;function n(n,...r){if(n)return t(n);e(r.length>1?r:r[0])}return n[N]=new Promise(((n,r)=>{e=n,t=r})),n}function P(e,t,n){"number"!=typeof t&&(n=t,t=null),n=S(n||D());var r=Object.keys(e).length;if(!r)return n(null);t||(t=r);var i={},o=0,s=!1,a=!1,l=Object.create(null),c=[],u=[],d={};function f(e,t){c.push((()=>function(e,t){if(!a){var r=C(((t,...r)=>{if(o--,!1!==t)if(r.length<2&&([r]=r),t){var c={};if(Object.keys(i).forEach((e=>{c[e]=i[e]})),c[e]=r,a=!0,l=Object.create(null),s)return;n(t,c)}else i[e]=r,(l[e]||[]).forEach((e=>e())),h();else s=!0}));o++;var c=g(t[t.length-1]);t.length>1?c(i,r):c(r)}}(e,t)))}function h(){if(!s){if(0===c.length&&0===o)return n(null,i);for(;c.length&&o<t;)c.shift()()}}function p(t){var n=[];return Object.keys(e).forEach((r=>{const i=e[r];Array.isArray(i)&&i.indexOf(t)>=0&&n.push(r)})),n}return Object.keys(e).forEach((t=>{var n=e[t];if(!Array.isArray(n))return f(t,[n]),void u.push(t);var r=n.slice(0,n.length-1),i=r.length;if(0===i)return f(t,n),void u.push(t);d[t]=i,r.forEach((o=>{if(!e[o])throw new Error("async.auto task `"+t+"` has a non-existent dependency `"+o+"` in "+r.join(", "));var s,a;(a=l[s=o])||(a=l[s]=[]),a.push((()=>{0==--i&&f(t,n)}))}))})),function(){for(var e=0;u.length;)e++,p(u.pop()).forEach((e=>{0==--d[e]&&u.push(e)}));if(e!==r)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),h(),n[N]}var F=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,j=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,x=/,/,$=/(=.+)?(\s*)$/;function B(e,t){var n={};return Object.keys(e).forEach((t=>{var r,i=e[t],o=p(i),s=!o&&1===i.length||o&&0===i.length;if(Array.isArray(i))r=[...i],i=r.pop(),n[t]=r.concat(r.length>0?a:i);else if(s)n[t]=i;else{if(r=function(e){const t=function(e){let t="",n=0,r=e.indexOf("*/");for(;n<e.length;)if("/"===e[n]&&"/"===e[n+1]){let t=e.indexOf("\n",n);n=-1===t?e.length:t}else if(-1!==r&&"/"===e[n]&&"*"===e[n+1]){let i=e.indexOf("*/",n);-1!==i?(n=i+2,r=e.indexOf("*/",n)):(t+=e[n],n++)}else t+=e[n],n++;return t}(e.toString());let n=t.match(F);if(n||(n=t.match(j)),!n)throw new Error("could not parse args in autoInject\nSource:\n"+t);let[,r]=n;return r.replace(/\s/g,"").split(x).map((e=>e.replace($,"").trim()))}(i),0===i.length&&!o&&0===r.length)throw new Error("autoInject task functions require explicit parameters.");o||r.pop(),n[t]=r.concat(a)}function a(e,t){var n=r.map((t=>e[t]));n.push(t),g(i)(...n)}})),P(n,t)}class U{constructor(){this.head=this.tail=null,this.length=0}removeLink(e){return e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=e.next=null,this.length-=1,e}empty(){for(;this.head;)this.shift();return this}insertAfter(e,t){t.prev=e,t.next=e.next,e.next?e.next.prev=t:this.tail=t,e.next=t,this.length+=1}insertBefore(e,t){t.prev=e.prev,t.next=e,e.prev?e.prev.next=t:this.head=t,e.prev=t,this.length+=1}unshift(e){this.head?this.insertBefore(this.head,e):G(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):G(this,e)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var e=this.head;e;)yield e.data,e=e.next}remove(e){for(var t=this.head;t;){var{next:n}=t;e(t)&&this.removeLink(t),t=n}return this}}function G(e,t){e.length=1,e.head=e.tail=t}function V(e,t,n){if(null==t)t=1;else if(0===t)throw new RangeError("Concurrency must not be zero");var r=g(e),i=0,o=[];const s={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function a(e,t){return e?t?void(s[e]=s[e].filter((e=>e!==t))):s[e]=[]:Object.keys(s).forEach((e=>s[e]=[]))}function l(e,...t){s[e].forEach((e=>e(...t)))}var c=!1;function d(e,t,n,r){if(null!=r&&"function"!=typeof r)throw new Error("task callback must be a function");var i,o;function s(e,...t){return e?n?o(e):i():t.length<=1?i(t[0]):void i(t)}w.started=!0;var a={data:e,callback:n?s:r||s};if(t?w._tasks.unshift(a):w._tasks.push(a),c||(c=!0,u((()=>{c=!1,w.process()}))),n||!r)return new Promise(((e,t)=>{i=e,o=t}))}function f(e){return function(t,...n){i-=1;for(var r=0,s=e.length;r<s;r++){var a=e[r],c=o.indexOf(a);0===c?o.shift():c>0&&o.splice(c,1),a.callback(t,...n),null!=t&&l("error",t,a.data)}i<=w.concurrency-w.buffer&&l("unsaturated"),w.idle()&&l("drain"),w.process()}}function h(e){return!(0!==e.length||!w.idle()||(u((()=>l("drain"))),0))}const p=e=>t=>{if(!t)return new Promise(((t,n)=>{!function(e,r){const i=(...r)=>{a(e,i),((e,r)=>{if(e)return n(e);t(r)})(...r)};s[e].push(i)}(e)}));a(e),function(e,t){s[e].push(t)}(e,t)};var m=!1,w={_tasks:new U,*[Symbol.iterator](){yield*w._tasks[Symbol.iterator]()},concurrency:t,payload:n,buffer:t/4,started:!1,paused:!1,push(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!1,t)))}return d(e,!1,!1,t)},pushAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!0,t)))}return d(e,!1,!0,t)},kill(){a(),w._tasks.empty()},unshift(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!1,t)))}return d(e,!0,!1,t)},unshiftAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!0,t)))}return d(e,!0,!0,t)},remove(e){w._tasks.remove(e)},process(){if(!m){for(m=!0;!w.paused&&i<w.concurrency&&w._tasks.length;){var e=[],t=[],n=w._tasks.length;w.payload&&(n=Math.min(n,w.payload));for(var s=0;s<n;s++){var a=w._tasks.shift();e.push(a),o.push(a),t.push(a.data)}i+=1,0===w._tasks.length&&l("empty"),i===w.concurrency&&l("saturated");var c=C(f(e));r(t,c)}m=!1}},length:()=>w._tasks.length,running:()=>i,workersList:()=>o,idle:()=>w._tasks.length+i===0,pause(){w.paused=!0},resume(){!1!==w.paused&&(w.paused=!1,u(w.process))}};return Object.defineProperties(w,{saturated:{writable:!1,value:p("saturated")},unsaturated:{writable:!1,value:p("unsaturated")},empty:{writable:!1,value:p("empty")},drain:{writable:!1,value:p("drain")},error:{writable:!1,value:p("error")}}),w}function q(e,t){return V(e,1,t)}function H(e,t,n){return V(e,t,n)}var z=m((function(e,t,n,r){r=S(r);var i=g(n);return I(e,((e,n,r)=>{i(t,e,((e,n)=>{t=n,r(e)}))}),(e=>r(e,t)))}),4);function K(...e){var t=e.map(g);return function(...e){var n=this,r=e[e.length-1];return"function"==typeof r?e.pop():r=D(),z(t,e,((e,t,r)=>{t.apply(n,e.concat(((e,...t)=>{r(e,t)})))}),((e,t)=>r(e,...t))),r[N]}}function Q(...e){return K(...e.reverse())}var Y=m((function(e,t,n,r){return v(k(t),e,n,r)}),4),J=m((function(e,t,n,r){var i=g(n);return Y(e,t,((e,t)=>{i(e,((e,...n)=>e?t(e):t(e,n)))}),((e,t)=>{for(var n=[],i=0;i<t.length;i++)t[i]&&(n=n.concat(...t[i]));return r(e,n)}))}),4),Z=m((function(e,t,n){return J(e,1/0,t,n)}),3),X=m((function(e,t,n){return J(e,1,t,n)}),3);function ee(...e){return function(...t){return t.pop()(null,...e)}}function te(e,t){return(n,r,i,o)=>{var s,a=!1;const l=g(i);n(r,((n,r,i)=>{l(n,((r,o)=>r||!1===r?i(r):e(o)&&!s?(a=!0,s=t(!0,n),i(null,b)):void i()))}),(e=>{if(e)return o(e);o(null,a?s:t(!1))}))}}var ne=m((function(e,t,n){return te((e=>e),((e,t)=>t))(A,e,t,n)}),3),re=m((function(e,t,n,r){return te((e=>e),((e,t)=>t))(k(t),e,n,r)}),4),ie=m((function(e,t,n){return te((e=>e),((e,t)=>t))(k(1),e,t,n)}),3);function oe(e){return(t,...n)=>g(t)(...n,((t,...n)=>{"object"==typeof console&&(t?console.error&&console.error(t):console[e]&&n.forEach((t=>console[e](t))))}))}var se=oe("dir"),ae=m((function(e,t,n){n=C(n);var r,i=g(e),o=g(t);function s(e,...t){if(e)return n(e);!1!==e&&(r=t,o(...t,a))}function a(e,t){return e?n(e):!1!==e?t?void i(s):n(null,...r):void 0}return a(null,!0)}),3);function le(e,t,n){const r=g(t);return ae(e,((...e)=>{const t=e.pop();r(...e,((e,n)=>t(e,!n)))}),n)}function ce(e){return(t,n,r)=>e(t,r)}var ue=m((function(e,t,n){return A(e,ce(g(t)),n)}),3),de=m((function(e,t,n,r){return k(t)(e,ce(g(n)),r)}),4),fe=m((function(e,t,n){return de(e,1,t,n)}),3);function he(e){return p(e)?e:function(...t){var n=t.pop(),r=!0;t.push(((...e)=>{r?u((()=>n(...e))):n(...e)})),e.apply(this,t),r=!1}}var pe=m((function(e,t,n){return te((e=>!e),(e=>!e))(A,e,t,n)}),3),ge=m((function(e,t,n,r){return te((e=>!e),(e=>!e))(k(t),e,n,r)}),4),me=m((function(e,t,n){return te((e=>!e),(e=>!e))(I,e,t,n)}),3);function we(e,t,n,r){var i=new Array(t.length);e(t,((e,t,r)=>{n(e,((e,n)=>{i[t]=!!n,r(e)}))}),(e=>{if(e)return r(e);for(var n=[],o=0;o<t.length;o++)i[o]&&n.push(t[o]);r(null,n)}))}function ve(e,t,n,r){var i=[];e(t,((e,t,r)=>{n(e,((n,o)=>{if(n)return r(n);o&&i.push({index:t,value:e}),r(n)}))}),(e=>{if(e)return r(e);r(null,i.sort(((e,t)=>e.index-t.index)).map((e=>e.value)))}))}function ye(e,t,n,r){return(y(t)?we:ve)(e,t,g(n),r)}var be=m((function(e,t,n){return ye(A,e,t,n)}),3),Se=m((function(e,t,n,r){return ye(k(t),e,n,r)}),4),Ce=m((function(e,t,n){return ye(I,e,t,n)}),3),_e=m((function(e,t){var n=C(t),r=g(he(e));return function e(t){if(t)return n(t);!1!==t&&r(e)}()}),2),ke=m((function(e,t,n,r){var i=g(n);return Y(e,t,((e,t)=>{i(e,((n,r)=>n?t(n):t(n,{key:r,val:e})))}),((e,t)=>{for(var n={},{hasOwnProperty:i}=Object.prototype,o=0;o<t.length;o++)if(t[o]){var{key:s}=t[o],{val:a}=t[o];i.call(n,s)?n[s].push(a):n[s]=[a]}return r(e,n)}))}),4);function We(e,t,n){return ke(e,1/0,t,n)}function Ee(e,t,n){return ke(e,1,t,n)}var Le=oe("log"),Ae=m((function(e,t,n,r){r=S(r);var i={},o=g(n);return k(t)(e,((e,t,n)=>{o(e,t,((e,r)=>{if(e)return n(e);i[t]=r,n(e)}))}),(e=>r(e,i)))}),4);function Te(e,t,n){return Ae(e,1/0,t,n)}function Oe(e,t,n){return Ae(e,1,t,n)}function Ie(e,t=(e=>e)){var n=Object.create(null),r=Object.create(null),o=g(e),s=i(((e,i)=>{var s=t(...e);s in n?u((()=>i(null,...n[s]))):s in r?r[s].push(i):(r[s]=[i],o(...e,((e,...t)=>{e||(n[s]=t);var i=r[s];delete r[s];for(var o=0,a=i.length;o<a;o++)i[o](e,...t)})))}));return s.memo=n,s.unmemoized=e,s}var Re=c(a?process.nextTick:s?setImmediate:l),Me=m(((e,t,n)=>{var r=y(t)?[]:{};e(t,((e,t,n)=>{g(e)(((e,...i)=>{i.length<2&&([i]=i),r[t]=i,n(e)}))}),(e=>n(e,r)))}),3);function Ne(e,t){return Me(A,e,t)}function De(e,t,n){return Me(k(t),e,n)}function Pe(e,t){var n=g(e);return V(((e,t)=>{n(e[0],t)}),t,1)}class Fe{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(e){let t;for(;e>0&&xe(this.heap[e],this.heap[t=je(e)]);){let n=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=n,e=t}}percDown(e){let t;for(;(t=1+(e<<1))<this.heap.length&&(t+1<this.heap.length&&xe(this.heap[t+1],this.heap[t])&&(t+=1),!xe(this.heap[e],this.heap[t]));){let n=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=n,e=t}}push(e){e.pushCount=++this.pushCount,this.heap.push(e),this.percUp(this.heap.length-1)}unshift(e){return this.heap.push(e)}shift(){let[e]=this.heap;return this.heap[0]=this.heap[this.heap.length-1],this.heap.pop(),this.percDown(0),e}toArray(){return[...this]}*[Symbol.iterator](){for(let e=0;e<this.heap.length;e++)yield this.heap[e].data}remove(e){let t=0;for(let n=0;n<this.heap.length;n++)e(this.heap[n])||(this.heap[t]=this.heap[n],t++);this.heap.splice(t);for(let e=je(this.heap.length-1);e>=0;e--)this.percDown(e);return this}}function je(e){return(e+1>>1)-1}function xe(e,t){return e.priority!==t.priority?e.priority<t.priority:e.pushCount<t.pushCount}function $e(e,t){var n=Pe(e,t),r=!1;return n._tasks=new Fe,n.push=function(e,t=0,i=(()=>{})){if("function"!=typeof i)throw new Error("task callback must be a function");if(n.started=!0,Array.isArray(e)||(e=[e]),0===e.length&&n.idle())return u((()=>n.drain()));for(var o=0,s=e.length;o<s;o++){var a={data:e[o],priority:t,callback:i};n._tasks.push(a)}r||(r=!0,u((()=>{r=!1,n.process()})))},delete n.unshift,n}var Be=m((function(e,t){if(t=S(t),!Array.isArray(e))return t(new TypeError("First argument to race must be an array of functions"));if(!e.length)return t();for(var n=0,r=e.length;n<r;n++)g(e[n])(t)}),2);function Ue(e,t,n,r){var i=[...e].reverse();return z(i,t,n,r)}function Ge(e){var t=g(e);return i((function(e,n){return e.push(((e,...t)=>{let r={};if(e&&(r.error=e),t.length>0){var i=t;t.length<=1&&([i]=t),r.value=i}n(null,r)})),t.apply(this,e)}))}function Ve(e){var t;return Array.isArray(e)?t=e.map(Ge):(t={},Object.keys(e).forEach((n=>{t[n]=Ge.call(this,e[n])}))),t}function qe(e,t,n,r){const i=g(n);return ye(e,t,((e,t)=>{i(e,((e,n)=>{t(e,!n)}))}),r)}var He=m((function(e,t,n){return qe(A,e,t,n)}),3),ze=m((function(e,t,n,r){return qe(k(t),e,n,r)}),4),Ke=m((function(e,t,n){return qe(I,e,t,n)}),3);function Qe(e){return function(){return e}}function Ye(e,t,n){var r={times:5,intervalFunc:Qe(0)};if(arguments.length<3&&"function"==typeof e?(n=t||D(),t=e):(Je(r,e),n=n||D()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var i=g(t),o=1;function s(){i(((e,...t)=>{!1!==e&&(e&&o++<r.times&&("function"!=typeof r.errorFilter||r.errorFilter(e))?setTimeout(s,r.intervalFunc(o-1)):n(e,...t))}))}return s(),n[N]}function Je(e,t){if("object"==typeof t)e.times=+t.times||5,e.intervalFunc="function"==typeof t.interval?t.interval:Qe(+t.interval||0),e.errorFilter=t.errorFilter;else{if("number"!=typeof t&&"string"!=typeof t)throw new Error("Invalid arguments for async.retry");e.times=+t||5}}function Ze(e,t){t||(t=e,e=null);let n=e&&e.arity||t.length;p(t)&&(n+=1);var r=g(t);return i(((t,i)=>{function o(e){r(...t,e)}return(t.length<n-1||null==i)&&(t.push(i),i=D()),e?Ye(e,o,i):Ye(o,i),i[N]}))}function Xe(e,t){return Me(I,e,t)}var et=m((function(e,t,n){return te(Boolean,(e=>e))(A,e,t,n)}),3),tt=m((function(e,t,n,r){return te(Boolean,(e=>e))(k(t),e,n,r)}),4),nt=m((function(e,t,n){return te(Boolean,(e=>e))(I,e,t,n)}),3),rt=m((function(e,t,n){var r=g(t);return T(e,((e,t)=>{r(e,((n,r)=>{if(n)return t(n);t(n,{value:e,criteria:r})}))}),((e,t)=>{if(e)return n(e);n(null,t.sort(i).map((e=>e.value)))}));function i(e,t){var n=e.criteria,r=t.criteria;return n<r?-1:n>r?1:0}}),3);function it(e,t,n){var r=g(e);return i(((i,o)=>{var s,a=!1;i.push(((...e)=>{a||(o(...e),clearTimeout(s))})),s=setTimeout((function(){var t=e.name||"anonymous",r=new Error('Callback function "'+t+'" timed out.');r.code="ETIMEDOUT",n&&(r.info=n),a=!0,o(r)}),t),r(...i)}))}function ot(e,t,n,r){var i=g(n);return Y(function(e){for(var t=Array(e);e--;)t[e]=e;return t}(e),t,i,r)}function st(e,t,n){return ot(e,1/0,t,n)}function at(e,t,n){return ot(e,1,t,n)}function lt(e,t,n,r){arguments.length<=3&&"function"==typeof t&&(r=n,n=t,t=Array.isArray(e)?[]:{}),r=S(r||D());var i=g(n);return A(e,((e,n,r)=>{i(t,e,n,r)}),(e=>r(e,t))),r[N]}var ct=m((function(e,t){var n,r=null;return fe(e,((e,t)=>{g(e)(((e,...i)=>{if(!1===e)return t(e);i.length<2?[n]=i:n=i,r=e,t(e?null:{})}))}),(()=>t(r,n)))}));function ut(e){return(...t)=>(e.unmemoized||e)(...t)}var dt=m((function(e,t,n){n=C(n);var r=g(t),i=g(e),o=[];function s(e,...t){if(e)return n(e);o=t,!1!==e&&i(a)}function a(e,t){return e?n(e):!1!==e?t?void r(s):n(null,...o):void 0}return i(a)}),3);function ft(e,t,n){const r=g(e);return dt((e=>r(((t,n)=>e(t,!n)))),t,n)}var ht=m((function(e,t){if(t=S(t),!Array.isArray(e))return t(new Error("First argument to waterfall must be an array of functions"));if(!e.length)return t();var n=0;function r(t){g(e[n++])(...t,C(i))}function i(i,...o){if(!1!==i)return i||n===e.length?t(i,...o):void r(o)}r([])}));const pt={apply:r,applyEach:O,applyEachSeries:M,asyncify:d,auto:P,autoInject:B,cargo:q,cargoQueue:H,compose:Q,concat:Z,concatLimit:J,concatSeries:X,constant:ee,detect:ne,detectLimit:re,detectSeries:ie,dir:se,doUntil:le,doWhilst:ae,each:ue,eachLimit:de,eachOf:A,eachOfLimit:W,eachOfSeries:I,eachSeries:fe,ensureAsync:he,every:pe,everyLimit:ge,everySeries:me,filter:be,filterLimit:Se,filterSeries:Ce,forever:_e,groupBy:We,groupByLimit:ke,groupBySeries:Ee,log:Le,map:T,mapLimit:Y,mapSeries:R,mapValues:Te,mapValuesLimit:Ae,mapValuesSeries:Oe,memoize:Ie,nextTick:Re,parallel:Ne,parallelLimit:De,priorityQueue:$e,queue:Pe,race:Be,reduce:z,reduceRight:Ue,reflect:Ge,reflectAll:Ve,reject:He,rejectLimit:ze,rejectSeries:Ke,retry:Ye,retryable:Ze,seq:K,series:Xe,setImmediate:u,some:et,someLimit:tt,someSeries:nt,sortBy:rt,timeout:it,times:st,timesLimit:ot,timesSeries:at,transform:lt,tryEach:ct,unmemoize:ut,until:ft,waterfall:ht,whilst:dt,all:pe,allLimit:ge,allSeries:me,any:et,anyLimit:tt,anySeries:nt,find:ne,findLimit:re,findSeries:ie,flatMap:Z,flatMapLimit:J,flatMapSeries:X,forEach:ue,forEachSeries:fe,forEachLimit:de,forEachOf:A,forEachOfSeries:I,forEachOfLimit:W,inject:z,foldl:z,foldr:Ue,select:be,selectLimit:Se,selectSeries:Ce,wrapSync:d,during:dt,doDuring:ae}},83027:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});class r{value;next;constructor(e){this.value=e}}class i{#e;#t;#n;constructor(){this.clear()}enqueue(e){const t=new r(e);this.#e?(this.#t.next=t,this.#t=t):(this.#e=t,this.#t=t),this.#n++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#n--,e.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}}function o(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new i;let n=0;const r=async(e,r,i)=>{n++;const o=(async()=>e(...i))();r(o);try{await o}catch{}n--,t.size>0&&t.dequeue()()},o=(i,...o)=>new Promise((s=>{((i,o,s)=>{t.enqueue(r.bind(void 0,i,o,s)),(async()=>{await Promise.resolve(),n<e&&t.size>0&&t.dequeue()()})()})(i,s,o)}));return Object.defineProperties(o,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),o}},75613:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AbortError:()=>$,default:()=>B});var r=n(26729);class i extends Error{constructor(e){super(e),this.name="TimeoutError"}}var o,s=function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};class a{constructor(){o.set(this,[])}enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&s(this,o,"f")[this.size-1].priority>=t.priority)return void s(this,o,"f").push(n);const r=function(e,t,n){let r=0,i=e.length;for(;i>0;){const n=Math.trunc(i/2);let s=r+n;o=e[s],t.priority-o.priority<=0?(r=++s,i-=n+1):i=n}var o;return r}(s(this,o,"f"),n);s(this,o,"f").splice(r,0,n)}dequeue(){const e=s(this,o,"f").shift();return null==e?void 0:e.run}filter(e){return s(this,o,"f").filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return s(this,o,"f").length}}o=new WeakMap;var l,c,u,d,f,h,p,g,m,w,v,y,b,S,C,_,k,W,E,L,A,T,O,I,R,M,N,D,P=function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},F=function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};const j=()=>{},x=new i;class $ extends Error{}class B extends r{constructor(e){var t,n,r,i;if(super(),l.add(this),c.set(this,void 0),u.set(this,void 0),d.set(this,0),f.set(this,void 0),h.set(this,void 0),p.set(this,0),g.set(this,void 0),m.set(this,void 0),w.set(this,void 0),v.set(this,void 0),y.set(this,0),b.set(this,void 0),S.set(this,void 0),C.set(this,j),_.set(this,j),k.set(this,void 0),W.set(this,void 0),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:a,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!==(n=null===(t=e.intervalCap)||void 0===t?void 0:t.toString())&&void 0!==n?n:""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!==(i=null===(r=e.interval)||void 0===r?void 0:r.toString())&&void 0!==i?i:""}\` (${typeof e.interval})`);P(this,c,e.carryoverConcurrencyCount,"f"),P(this,u,e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,"f"),P(this,f,e.intervalCap,"f"),P(this,h,e.interval,"f"),P(this,w,new e.queueClass,"f"),P(this,v,e.queueClass,"f"),this.concurrency=e.concurrency,P(this,k,e.timeout,"f"),P(this,W,!0===e.throwOnTimeout,"f"),P(this,S,!1===e.autoStart,"f")}get concurrency(){return F(this,b,"f")}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);P(this,b,e,"f"),F(this,l,"m",D).call(this)}async add(e,t={}){return new Promise(((n,r)=>{F(this,w,"f").enqueue((async()=>{var i,o,s;P(this,y,(o=F(this,y,"f"),++o),"f"),P(this,d,(s=F(this,d,"f"),++s),"f");try{if(null===(i=t.signal)||void 0===i?void 0:i.aborted)return void r(new $("The task was aborted."));const o=void 0===F(this,k,"f")&&void 0===t.timeout?e({signal:t.signal}):function(e,t,n,r){let i;const o=new Promise(((o,s)=>{if("number"!=typeof t||1!==Math.sign(t))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);t!==Number.POSITIVE_INFINITY?(r={customTimers:{setTimeout,clearTimeout},...r},i=r.customTimers.setTimeout.call(void 0,(()=>{try{o(n())}catch(e){s(e)}}),t),(async()=>{try{o(await e)}catch(e){s(e)}finally{r.customTimers.clearTimeout.call(void 0,i)}})()):o(e)}));return o.clear=()=>{clearTimeout(i),i=void 0},o}(Promise.resolve(e({signal:t.signal})),void 0===t.timeout?F(this,k,"f"):t.timeout,(()=>{(void 0===t.throwOnTimeout?F(this,W,"f"):t.throwOnTimeout)&&r(x)})),s=await o;n(s),this.emit("completed",s)}catch(e){r(e),this.emit("error",e)}F(this,l,"m",A).call(this)}),t),F(this,l,"m",R).call(this),this.emit("add")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return F(this,S,"f")?(P(this,S,!1,"f"),F(this,l,"m",D).call(this),this):this}pause(){P(this,S,!0,"f")}clear(){P(this,w,new(F(this,v,"f")),"f")}async onEmpty(){if(0!==F(this,w,"f").size)return new Promise((e=>{const t=F(this,C,"f");P(this,C,(()=>{t(),e()}),"f")}))}async onSizeLessThan(e){if(!(F(this,w,"f").size<e))return new Promise((t=>{const n=()=>{F(this,w,"f").size<e&&(this.removeListener("next",n),t())};this.on("next",n)}))}async onIdle(){if(0!==F(this,y,"f")||0!==F(this,w,"f").size)return new Promise((e=>{const t=F(this,_,"f");P(this,_,(()=>{t(),e()}),"f")}))}get size(){return F(this,w,"f").size}sizeBy(e){return F(this,w,"f").filter(e).length}get pending(){return F(this,y,"f")}get isPaused(){return F(this,S,"f")}get timeout(){return F(this,k,"f")}set timeout(e){P(this,k,e,"f")}}c=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap,w=new WeakMap,v=new WeakMap,y=new WeakMap,b=new WeakMap,S=new WeakMap,C=new WeakMap,_=new WeakMap,k=new WeakMap,W=new WeakMap,l=new WeakSet,E=function(){return F(this,u,"f")||F(this,d,"f")<F(this,f,"f")},L=function(){return F(this,y,"f")<F(this,b,"f")},A=function(){var e;P(this,y,(e=F(this,y,"f"),--e),"f"),F(this,l,"m",R).call(this),this.emit("next")},T=function(){F(this,C,"f").call(this),P(this,C,j,"f"),0===F(this,y,"f")&&(F(this,_,"f").call(this),P(this,_,j,"f"),this.emit("idle"))},O=function(){F(this,l,"m",N).call(this),F(this,l,"m",M).call(this),P(this,m,void 0,"f")},I=function(){const e=Date.now();if(void 0===F(this,g,"f")){const t=F(this,p,"f")-e;if(!(t<0))return void 0===F(this,m,"f")&&P(this,m,setTimeout((()=>{F(this,l,"m",O).call(this)}),t),"f"),!0;P(this,d,F(this,c,"f")?F(this,y,"f"):0,"f")}return!1},R=function(){if(0===F(this,w,"f").size)return F(this,g,"f")&&clearInterval(F(this,g,"f")),P(this,g,void 0,"f"),F(this,l,"m",T).call(this),!1;if(!F(this,S,"f")){const e=!F(this,l,"m",I).call(this);if(F(this,l,"a",E)&&F(this,l,"a",L)){const t=F(this,w,"f").dequeue();return!!t&&(this.emit("active"),t(),e&&F(this,l,"m",M).call(this),!0)}}return!1},M=function(){F(this,u,"f")||void 0!==F(this,g,"f")||(P(this,g,setInterval((()=>{F(this,l,"m",N).call(this)}),F(this,h,"f")),"f"),P(this,p,Date.now()+F(this,h,"f"),"f"))},N=function(){0===F(this,d,"f")&&0===F(this,y,"f")&&F(this,g,"f")&&(clearInterval(F(this,g,"f")),P(this,g,void 0,"f")),P(this,d,F(this,c,"f")?F(this,y,"f"):0,"f"),F(this,l,"m",D).call(this)},D=function(){for(;F(this,l,"m",R).call(this););}},62711:e=>{"use strict";e.exports=JSON.parse('{"F":{"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","backspace":"Backspace","bs":"Backspace","bksp":"Backspace","tab":"Tab","escape":"Escape","esc":"Escape","clear":"Clear","enter":"Enter","return":"Enter","shift":"Shift","shft":"Shift","lshift":"Shift","lshft":"Shift","left shift":"Shift","leftshift":"Shift","rshift":"Shift","rshft":"Shift","right shift":"Shift","rightshift":"Shift","control":"Control","ctrl":"Control","commandorcontrol":"CommandOrControl","alt":"Alt","alternate":"Alt","pause":"Pause","caps lock":"Capslock","capslock":"Capslock","spacebar":"Space","space":"Space","space bar":"Space","page up":"PageUp","pgup":"PageUp","pg up":"PageUp","page down":"PageDown","pgdn":"PageDown","pg dn":"PageDown","pgdown":"PageDown","end":"End","home":"Home","left arrow":"Left","left":"Left","up arrow":"Up","up":"Up","right arrow":"Right","right":"Right","down arrow":"Down","down":"Down","select":"Select","slct":"Select","print":"PrintScreen","prnt":"PrintScreen","execute":"Execute","print screen":"PrintScreen","printscreen":"PrintScreen","print scrn":"PrintScreen","printscrn":"PrintScreen","prnt scrn":"PrintScreen","prntscrn":"PrintScreen","prt scrn":"PrintScreen","prtscrn":"PrintScreen","prt scn":"PrintScreen","prtscn":"PrintScreen","prt scr":"PrintScreen","prtscr":"PrintScreen","prt sc":"PrintScreen","prtsc":"PrintScreen","pr sc":"PrintScreen","prsc":"PrintScreen","insert":"Insert","ins":"Insert","delete":"Delete","del":"Delete","a":"A","b":"B","c":"C","d":"D","e":"E","f":"F","g":"G","h":"H","i":"I","j":"J","k":"K","l":"L","m":"M","n":"N","o":"O","p":"P","q":"Q","r":"R","s":"S","t":"T","u":"U","v":"V","w":"W","x":"X","y":"Y","z":"Z","windows":"Super","left windows":"Super","right windows":"Super","numpad 0":"num0","numpad 1":"num1","numpad 2":"num2","numpad 3":"num3","numpad 4":"num4","numpad 5":"num5","numpad 6":"num6","numpad 7":"num7","numpad 8":"num8","numpad 9":"num9","f1":"F1","fn1":"F1","function 1":"F1","f2":"F2","fn2":"F2","function 2":"F2","f3":"F3","fn3":"F3","function 3":"F3","f4":"F4","fn4":"F4","function 4":"F4","f5":"F5","fn5":"F5","function 5":"F5","f6":"F6","fn6":"F6","function 6":"F6","f7":"F7","fn7":"F7","function 7":"F7","f8":"F8","fn8":"F8","function 8":"F8","f9":"F9","fn9":"F9","function 9":"F9","f10":"F10","fn10":"F10","function 10":"F10","f11":"F11","fn11":"F11","function 11":"F11","f12":"F12","fn12":"F12","function 12":"F12","f13":"F13","fn":"F13","function 13":"F13","f14":"F14","fn14":"F14","function 14":"F14","f15":"F15","fn15":"F15","function 15":"F15","f16":"F16","fn16":"F16","function 16":"F16","num lock":"Numlock","numlock":"Numlock","number lock":"Numlock","numeric lock":"Numlock","scroll lock":"Scrolllock","sclk":"Scrolllock","scrlk":"Scrolllock","slk":"Scrolllock","*":"*","+":"+","-":"-","/":"/",";":";","=":"=",",":",","_":"-",".":".","`":"`","[":"[","]":"]","\'":"\'"}}')}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n(20736)})();
|
|
2
|
+
(()=>{var e={9996:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function i(e,t,n){return e.concat(t).map((function(e){return r(e,n)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function s(e,t){try{return t in e}catch(e){return!1}}function a(e,n,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=r;var c=Array.isArray(n);return c===Array.isArray(e)?c?l.arrayMerge(e,n,l):function(e,t,n){var i={};return n.isMergeableObject(e)&&o(e).forEach((function(t){i[t]=r(e[t],n)})),o(t).forEach((function(o){(function(e,t){return s(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(s(e,o)&&n.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return a;var n=t.customMerge(e);return"function"==typeof n?n:a}(o,n)(e[o],t[o],n):i[o]=r(t[o],n))})),i}(e,n,l):r(n,l)}a.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return a(e,n,t)}),{})};var l=a;e.exports=l},26729:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n="~";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,r,o,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new i(r,o||e,s),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var e,r,i=[];if(0===this._eventsCount)return i;for(r in e=this._events)t.call(e,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},a.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},a.prototype.emit=function(e,t,r,i,o,s){var a=n?n+e:e;if(!this._events[a])return!1;var l,c,u=this._events[a],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,i),!0;case 5:return u.fn.call(u.context,t,r,i,o),!0;case 6:return u.fn.call(u.context,t,r,i,o,s),!0}for(c=1,l=new Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var f,h=u.length;for(c=0;c<h;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,r);break;case 4:u[c].fn.call(u[c].context,t,r,i);break;default:if(!l)for(f=1,l=new Array(d-1);f<d;f++)l[f-1]=arguments[f];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},a.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},a.prototype.removeListener=function(e,t,r,i){var o=n?n+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||i&&!a.once||r&&a.context!==r||s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==t||i&&!a[l].once||r&&a[l].context!==r)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,e.exports=a},17187:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,r=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,n,r){var i,o,s,c;if(a(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=l(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=u.bind(r);return i.listener=n,r.wrapFn=i,i}function f(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):p(i,i.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function p(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function g(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(o){r.once&&e.removeEventListener(t,i),n(o)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return l(this)},o.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=o[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var c=l.length,u=p(l,c);for(n=0;n<c;++n)r(u[n],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(this,e,t,!0)},o.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,r,i,o,s;if(a(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},74221:(e,t,n)=>{"use strict";function r(e){return Array.isArray?Array.isArray(e):"[object Array]"===c(e)}function i(e){return"string"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e}function a(e){return null!=e}function l(e){return!e.trim().length}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}n.r(t),n.d(t,{default:()=>x});const u=Object.prototype.hasOwnProperty;class d{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let n=f(e);t+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function f(e){let t=null,n=null,o=null,s=1;if(i(e)||r(e))o=e,t=h(e),n=p(e);else{if(!u.call(e,"name"))throw new Error("Missing name property in key");const r=e.name;if(o=r,u.call(e,"weight")&&(s=e.weight,s<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(r));t=h(r),n=p(r)}return{path:t,id:n,weight:s,src:o}}function h(e){return r(e)?e:e.split(".")}function p(e){return r(e)?e.join("."):e}var g={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(e,t){let n=[],l=!1;const u=(e,t,d)=>{if(a(e))if(t[d]){const f=e[t[d]];if(!a(f))return;if(d===t.length-1&&(i(f)||o(f)||function(e){return!0===e||!1===e||function(e){return s(e)&&null!==e}(e)&&"[object Boolean]"==c(e)}(f)))n.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(f));else if(r(f)){l=!0;for(let e=0,n=f.length;e<n;e+=1)u(f[e],t,d+1)}else t.length&&u(f,t,d+1)}else n.push(e)};return u(e,i(t)?t.split("."):t,0),l?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};const m=/[^ ]+/g;class w{constructor({getFn:e=g.getFn,fieldNormWeight:t=g.fieldNormWeight}={}){this.norm=function(e=1,t=3){const n=new Map,r=Math.pow(10,t);return{get(t){const i=t.match(m).length;if(n.has(i))return n.get(i);const o=1/Math.pow(i,.5*e),s=parseFloat(Math.round(o*r)/r);return n.set(i,s),s},clear(){n.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach(((e,t)=>{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,i(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();i(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t<n;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!a(e)||l(e))return;let n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}_addObject(e,t){let n={i:t,$:{}};this.keys.forEach(((t,o)=>{let s=this.getFn(e,t.path);if(a(s))if(r(s)){let e=[];const t=[{nestedArrIndex:-1,value:s}];for(;t.length;){const{nestedArrIndex:n,value:o}=t.pop();if(a(o))if(i(o)&&!l(o)){let t={v:o,i:n,n:this.norm.get(o)};e.push(t)}else r(o)&&o.forEach(((e,n)=>{t.push({nestedArrIndex:n,value:e})}))}n.$[o]=e}else if(!l(s)){let e={v:s,n:this.norm.get(s)};n.$[o]=e}})),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function v(e,t,{getFn:n=g.getFn,fieldNormWeight:r=g.fieldNormWeight}={}){const i=new w({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(f)),i.setSources(t),i.create(),i}function y(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:i=g.distance,ignoreLocation:o=g.ignoreLocation}={}){const s=t/e.length;if(o)return s;const a=Math.abs(r-n);return i?s+a/i:a?1:s}const b=32;function S(e){let t={};for(let n=0,r=e.length;n<r;n+=1){const i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}class C{constructor(e,{location:t=g.location,threshold:n=g.threshold,distance:r=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l},this.pattern=a?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:S(e),startIndex:t})},u=this.pattern.length;if(u>b){let e=0;const t=u%b,n=u-t;for(;e<n;)c(this.pattern.substr(e,b),e),e+=b;if(t){const e=u-b;c(this.pattern.substr(e),e)}}else c(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,includeMatches:n}=this.options;if(t||(e=e.toLowerCase()),this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}const{location:r,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,ignoreLocation:l}=this.options;let c=[],u=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:f,startIndex:h})=>{const{isMatch:p,score:m,indices:w}=function(e,t,n,{location:r=g.location,distance:i=g.distance,threshold:o=g.threshold,findAllMatches:s=g.findAllMatches,minMatchCharLength:a=g.minMatchCharLength,includeMatches:l=g.includeMatches,ignoreLocation:c=g.ignoreLocation}={}){if(t.length>b)throw new Error("Pattern length exceeds max of 32.");const u=t.length,d=e.length,f=Math.max(0,Math.min(r,d));let h=o,p=f;const m=a>1||l,w=m?Array(d):[];let v;for(;(v=e.indexOf(t,p))>-1;){let e=y(t,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:c});if(h=Math.min(e,h),p=v+u,m){let e=0;for(;e<u;)w[v+e]=1,e+=1}}p=-1;let S=[],C=1,_=u+d;const k=1<<u-1;for(let r=0;r<u;r+=1){let o=0,a=_;for(;o<a;)y(t,{errors:r,currentLocation:f+a,expectedLocation:f,distance:i,ignoreLocation:c})<=h?o=a:_=a,a=Math.floor((_-o)/2+o);_=a;let l=Math.max(1,f-a+1),g=s?d:Math.min(f+a,d)+u,v=Array(g+2);v[g+1]=(1<<r)-1;for(let o=g;o>=l;o-=1){let s=o-1,a=n[e.charAt(s)];if(m&&(w[s]=+!!a),v[o]=(v[o+1]<<1|1)&a,r&&(v[o]|=(S[o+1]|S[o])<<1|1|S[o+1]),v[o]&k&&(C=y(t,{errors:r,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:c}),C<=h)){if(h=C,p=s,p<=f)break;l=Math.max(1,2*f-p)}}if(y(t,{errors:r+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>h)break;S=v}const W={isMatch:p>=0,score:Math.max(.001,C)};if(m){const e=function(e=[],t=g.minMatchCharLength){let n=[],r=-1,i=-1,o=0;for(let s=e.length;o<s;o+=1){let s=e[o];s&&-1===r?r=o:s||-1===r||(i=o-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}(w,a);e.length?l&&(W.indices=e):W.isMatch=!1}return W}(e,t,f,{location:r+h,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,includeMatches:n,ignoreLocation:l});p&&(d=!0),u+=m,p&&w&&(c=[...c,...w])}));let f={isMatch:d,score:d?u/this.chunks.length:1};return d&&n&&(f.indices=c),f}}class _{constructor(e){this.pattern=e}static isMultiMatch(e){return k(e,this.multiRegex)}static isSingleMatch(e){return k(e,this.singleRegex)}search(){}}function k(e,t){const n=e.match(t);return n?n[1]:null}class W extends _{constructor(e,{location:t=g.location,threshold:n=g.threshold,distance:r=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){super(e),this._bitapSearch=new C(e,{location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class E extends _{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,n=0;const r=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);const o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}const L=[class extends _{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},E,class extends _{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends _{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},W],A=L.length,T=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,O=new Set([W.type,E.type]);const I=[];function R(e,t){for(let n=0,r=I.length;n<r;n+=1){let r=I[n];if(r.condition(e,t))return new r(e,t)}return new C(e,t)}const M="$and",N=e=>!(!e.$and&&!e.$or),D=e=>({[M]:Object.keys(e).map((t=>({[t]:e[t]})))});function P(e,t,{auto:n=!0}={}){const o=e=>{let a=Object.keys(e);const l=(e=>!!e.$path)(e);if(!l&&a.length>1&&!N(e))return o(D(e));if((e=>!r(e)&&s(e)&&!N(e))(e)){const r=l?e.$path:a[0],o=l?e.$val:e[r];if(!i(o))throw new Error((e=>`Invalid value for key ${e}`)(r));const s={keyId:p(r),pattern:o};return n&&(s.searcher=R(o,t)),s}let c={children:[],operator:a[0]};return a.forEach((t=>{const n=e[t];r(n)&&n.forEach((e=>{c.children.push(o(e))}))})),c};return N(e)||(e=D(e)),o(e)}function F(e,t){const n=e.matches;t.matches=[],a(n)&&n.forEach((e=>{if(!a(e.indices)||!e.indices.length)return;const{indices:n,value:r}=e;let i={indices:n,value:r};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)}))}function j(e,t){t.score=e.score}class x{constructor(e,t={},n){this.options={...g,...t},this.options.useExtendedSearch,this._keyStore=new d(this.options.keys),this.setCollection(e,n)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof w))throw new Error("Incorrect 'index' type");this._myIndex=t||v(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){a(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let n=0,r=this._docs.length;n<r;n+=1){const i=this._docs[n];e(i,n)&&(this.removeAt(n),n-=1,r-=1,t.push(i))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){const{includeMatches:n,includeScore:r,shouldSort:s,sortFn:a,ignoreFieldNorm:l}=this.options;let c=i(e)?i(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=g.ignoreFieldNorm}){e.forEach((e=>{let n=1;e.matches.forEach((({key:e,norm:r,score:i})=>{const o=e?e.weight:null;n*=Math.pow(0===i&&o?Number.EPSILON:i,(o||1)*(t?1:r))})),e.score=n}))}(c,{ignoreFieldNorm:l}),s&&c.sort(a),o(t)&&t>-1&&(c=c.slice(0,t)),function(e,t,{includeMatches:n=g.includeMatches,includeScore:r=g.includeScore}={}){const i=[];return n&&i.push(F),r&&i.push(j),e.map((e=>{const{idx:n}=e,r={item:t[n],refIndex:n};return i.length&&i.forEach((t=>{t(e,r)})),r}))}(c,this._docs,{includeMatches:n,includeScore:r})}_searchStringList(e){const t=R(e,this.options),{records:n}=this._myIndex,r=[];return n.forEach((({v:e,i:n,n:i})=>{if(!a(e))return;const{isMatch:o,score:s,indices:l}=t.searchIn(e);o&&r.push({item:e,idx:n,matches:[{score:s,value:e,norm:i,indices:l}]})})),r}_searchLogical(e){const t=P(e,this.options),n=(e,t,r)=>{if(!e.children){const{keyId:n,searcher:i}=e,o=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i});return o&&o.length?[{idx:r,item:t,matches:o}]:[]}const i=[];for(let o=0,s=e.children.length;o<s;o+=1){const s=e.children[o],a=n(s,t,r);if(a.length)i.push(...a);else if(e.operator===M)return[]}return i},r=this._myIndex.records,i={},o=[];return r.forEach((({$:e,i:r})=>{if(a(e)){let s=n(t,e,r);s.length&&(i[r]||(i[r]={idx:r,item:e,matches:[]},o.push(i[r])),s.forEach((({matches:e})=>{i[r].matches.push(...e)})))}})),o}_searchObjectList(e){const t=R(e,this.options),{keys:n,records:r}=this._myIndex,i=[];return r.forEach((({$:e,i:r})=>{if(!a(e))return;let o=[];n.forEach(((n,r)=>{o.push(...this._findMatches({key:n,value:e[r],searcher:t}))})),o.length&&i.push({idx:r,item:e,matches:o})})),i}_findMatches({key:e,value:t,searcher:n}){if(!a(t))return[];let i=[];if(r(t))t.forEach((({v:t,i:r,n:o})=>{if(!a(t))return;const{isMatch:s,score:l,indices:c}=n.searchIn(t);s&&i.push({score:l,key:e,value:t,idx:r,norm:o,indices:c})}));else{const{v:r,n:o}=t,{isMatch:s,score:a,indices:l}=n.searchIn(r);s&&i.push({score:a,key:e,value:r,norm:o,indices:l})}return i}}x.version="6.5.3",x.createIndex=v,x.parseIndex=function(e,{getFn:t=g.getFn,fieldNormWeight:n=g.fieldNormWeight}={}){const{keys:r,records:i}=e,o=new w({getFn:t,fieldNormWeight:n});return o.setKeys(r),o.setIndexRecords(i),o},x.config=g,x.parseQuery=P,function(...e){I.push(...e)}(class{constructor(e,{isCaseSensitive:t=g.isCaseSensitive,includeMatches:n=g.includeMatches,minMatchCharLength:r=g.minMatchCharLength,ignoreLocation:i=g.ignoreLocation,findAllMatches:o=g.findAllMatches,location:s=g.location,threshold:a=g.threshold,distance:l=g.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:n,minMatchCharLength:r,findAllMatches:o,ignoreLocation:i,location:s,threshold:a,distance:l},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let n=e.trim().split(T).filter((e=>e&&!!e.trim())),r=[];for(let e=0,i=n.length;e<i;e+=1){const i=n[e];let o=!1,s=-1;for(;!o&&++s<A;){const e=L[s];let n=e.isMultiMatch(i);n&&(r.push(new e(n,t)),o=!0)}if(!o)for(s=-1;++s<A;){const e=L[s];let n=e.isSingleMatch(i);if(n){r.push(new e(n,t));break}}}return r}))}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:r}=this.options;e=r?e:e.toLowerCase();let i=0,o=[],s=0;for(let r=0,a=t.length;r<a;r+=1){const a=t[r];o.length=0,i=0;for(let t=0,r=a.length;t<r;t+=1){const r=a[t],{isMatch:l,indices:c,score:u}=r.search(e);if(!l){s=0,i=0,o.length=0;break}if(i+=1,s+=u,n){const e=r.constructor.type;O.has(e)?o=[...o,...c]:o.push(c)}}if(i){let e={isMatch:!0,score:s/i};return n&&(e.indices=o),e}}return{isMatch:!1,score:1}}})},18552:(e,t,n)=>{var r=n(10852)(n(55639),"DataView");e.exports=r},1989:(e,t,n)=>{var r=n(51789),i=n(80401),o=n(57667),s=n(21327),a=n(81866);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},38407:(e,t,n)=>{var r=n(27040),i=n(14125),o=n(82117),s=n(67518),a=n(54705);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},57071:(e,t,n)=>{var r=n(10852)(n(55639),"Map");e.exports=r},83369:(e,t,n)=>{var r=n(24785),i=n(11285),o=n(96e3),s=n(49916),a=n(95265);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},53818:(e,t,n)=>{var r=n(10852)(n(55639),"Promise");e.exports=r},58525:(e,t,n)=>{var r=n(10852)(n(55639),"Set");e.exports=r},88668:(e,t,n)=>{var r=n(83369),i=n(90619),o=n(72385);function s(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}s.prototype.add=s.prototype.push=i,s.prototype.has=o,e.exports=s},46384:(e,t,n)=>{var r=n(38407),i=n(37465),o=n(63779),s=n(67599),a=n(44758),l=n(34309);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=a,c.prototype.set=l,e.exports=c},62705:(e,t,n)=>{var r=n(55639).Symbol;e.exports=r},11149:(e,t,n)=>{var r=n(55639).Uint8Array;e.exports=r},70577:(e,t,n)=>{var r=n(10852)(n(55639),"WeakMap");e.exports=r},96874:e=>{e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},77412:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},34963:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}},47443:(e,t,n)=>{var r=n(42118);e.exports=function(e,t){return!(null==e||!e.length)&&r(e,t,0)>-1}},1196:e=>{e.exports=function(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}},14636:(e,t,n)=>{var r=n(22545),i=n(35694),o=n(1469),s=n(44144),a=n(65776),l=n(36719),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=o(e),u=!n&&i(e),d=!n&&!u&&s(e),f=!n&&!u&&!d&&l(e),h=n||u||d||f,p=h?r(e.length,String):[],g=p.length;for(var m in e)!t&&!c.call(e,m)||h&&("length"==m||d&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||a(m,g))||p.push(m);return p}},29932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}},62488:e=>{e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},82908:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},34865:(e,t,n)=>{var r=n(89465),i=n(77813),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var s=e[t];o.call(e,t)&&i(s,n)&&(void 0!==n||t in e)||r(e,t,n)}},18470:(e,t,n)=>{var r=n(77813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},44037:(e,t,n)=>{var r=n(98363),i=n(3674);e.exports=function(e,t){return e&&r(t,i(t),e)}},63886:(e,t,n)=>{var r=n(98363),i=n(81704);e.exports=function(e,t){return e&&r(t,i(t),e)}},89465:(e,t,n)=>{var r=n(38777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},85990:(e,t,n)=>{var r=n(46384),i=n(77412),o=n(34865),s=n(44037),a=n(63886),l=n(64626),c=n(278),u=n(18805),d=n(1911),f=n(58234),h=n(46904),p=n(64160),g=n(43824),m=n(29148),w=n(38517),v=n(1469),y=n(44144),b=n(56688),S=n(13218),C=n(72928),_=n(3674),k=n(81704),W="[object Arguments]",E="[object Function]",L="[object Object]",A={};A[W]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[L]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[E]=A["[object WeakMap]"]=!1,e.exports=function e(t,n,T,O,I,R){var M,N=1&n,D=2&n,P=4&n;if(T&&(M=I?T(t,O,I,R):T(t)),void 0!==M)return M;if(!S(t))return t;var F=v(t);if(F){if(M=g(t),!N)return c(t,M)}else{var j=p(t),x=j==E||"[object GeneratorFunction]"==j;if(y(t))return l(t,N);if(j==L||j==W||x&&!I){if(M=D||x?{}:w(t),!N)return D?d(t,a(M,t)):u(t,s(M,t))}else{if(!A[j])return I?t:{};M=m(t,j,N)}}R||(R=new r);var $=R.get(t);if($)return $;R.set(t,M),C(t)?t.forEach((function(r){M.add(e(r,n,T,r,t,R))})):b(t)&&t.forEach((function(r,i){M.set(i,e(r,n,T,i,t,R))}));var B=F?void 0:(P?D?h:f:D?k:_)(t);return i(B||t,(function(r,i){B&&(r=t[i=r]),o(M,i,e(r,n,T,i,t,R))})),M}},3118:(e,t,n)=>{var r=n(13218),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},20731:(e,t,n)=>{var r=n(88668),i=n(47443),o=n(1196),s=n(29932),a=n(7518),l=n(74757);e.exports=function(e,t,n,c){var u=-1,d=i,f=!0,h=e.length,p=[],g=t.length;if(!h)return p;n&&(t=s(t,a(n))),c?(d=o,f=!1):t.length>=200&&(d=l,f=!1,t=new r(t));e:for(;++u<h;){var m=e[u],w=null==n?m:n(m);if(m=c||0!==m?m:0,f&&w==w){for(var v=g;v--;)if(t[v]===w)continue e;p.push(m)}else d(t,w,c)||p.push(m)}return p}},41848:e=>{e.exports=function(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}},21078:(e,t,n)=>{var r=n(62488),i=n(37285);e.exports=function e(t,n,o,s,a){var l=-1,c=t.length;for(o||(o=i),a||(a=[]);++l<c;){var u=t[l];n>0&&o(u)?n>1?e(u,n-1,o,s,a):r(a,u):s||(a[a.length]=u)}return a}},97786:(e,t,n)=>{var r=n(71811),i=n(40327);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n<o;)e=e[i(t[n++])];return n&&n==o?e:void 0}},68866:(e,t,n)=>{var r=n(62488),i=n(1469);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},44239:(e,t,n)=>{var r=n(62705),i=n(89607),o=n(2333),s=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?i(e):o(e)}},13:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},42118:(e,t,n)=>{var r=n(41848),i=n(62722),o=n(42351);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},9454:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return i(e)&&"[object Arguments]"==r(e)}},90939:(e,t,n)=>{var r=n(2492),i=n(37005);e.exports=function e(t,n,o,s,a){return t===n||(null==t||null==n||!i(t)&&!i(n)?t!=t&&n!=n:r(t,n,o,s,e,a))}},2492:(e,t,n)=>{var r=n(46384),i=n(67114),o=n(18351),s=n(16096),a=n(64160),l=n(1469),c=n(44144),u=n(36719),d="[object Arguments]",f="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,g,m,w){var v=l(e),y=l(t),b=v?f:a(e),S=y?f:a(t),C=(b=b==d?h:b)==h,_=(S=S==d?h:S)==h,k=b==S;if(k&&c(e)){if(!c(t))return!1;v=!0,C=!1}if(k&&!C)return w||(w=new r),v||u(e)?i(e,t,n,g,m,w):o(e,t,b,n,g,m,w);if(!(1&n)){var W=C&&p.call(e,"__wrapped__"),E=_&&p.call(t,"__wrapped__");if(W||E){var L=W?e.value():e,A=E?t.value():t;return w||(w=new r),m(L,A,n,g,w)}}return!!k&&(w||(w=new r),s(e,t,n,g,m,w))}},25588:(e,t,n)=>{var r=n(64160),i=n(37005);e.exports=function(e){return i(e)&&"[object Map]"==r(e)}},62722:e=>{e.exports=function(e){return e!=e}},28458:(e,t,n)=>{var r=n(23560),i=n(15346),o=n(13218),s=n(80346),a=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,f=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?f:a).test(s(e))}},29221:(e,t,n)=>{var r=n(64160),i=n(37005);e.exports=function(e){return i(e)&&"[object Set]"==r(e)}},38749:(e,t,n)=>{var r=n(44239),i=n(41780),o=n(37005),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!s[r(e)]}},280:(e,t,n)=>{var r=n(25726),i=n(86916),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&"constructor"!=n&&t.push(n);return t}},10313:(e,t,n)=>{var r=n(13218),i=n(25726),o=n(33498),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var a in e)("constructor"!=a||!t&&s.call(e,a))&&n.push(a);return n}},25970:(e,t,n)=>{var r=n(63012),i=n(79095);e.exports=function(e,t){return r(e,t,(function(t,n){return i(e,n)}))}},63012:(e,t,n)=>{var r=n(97786),i=n(10611),o=n(71811);e.exports=function(e,t,n){for(var s=-1,a=t.length,l={};++s<a;){var c=t[s],u=r(e,c);n(u,c)&&i(l,o(c,e),u)}return l}},5976:(e,t,n)=>{var r=n(6557),i=n(45357),o=n(30061);e.exports=function(e,t){return o(i(e,t,r),e+"")}},10611:(e,t,n)=>{var r=n(34865),i=n(71811),o=n(65776),s=n(13218),a=n(40327);e.exports=function(e,t,n,l){if(!s(e))return e;for(var c=-1,u=(t=i(t,e)).length,d=u-1,f=e;null!=f&&++c<u;){var h=a(t[c]),p=n;if("__proto__"===h||"constructor"===h||"prototype"===h)return e;if(c!=d){var g=f[h];void 0===(p=l?l(g,h,f):void 0)&&(p=s(g)?g:o(t[c+1])?[]:{})}r(f,h,p),f=f[h]}return e}},56560:(e,t,n)=>{var r=n(75703),i=n(38777),o=n(6557),s=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=s},22545:e=>{e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},80531:(e,t,n)=>{var r=n(62705),i=n(29932),o=n(1469),s=n(33448),a=r?r.prototype:void 0,l=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(s(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},27561:(e,t,n)=>{var r=n(67990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},7518:e=>{e.exports=function(e){return function(t){return e(t)}}},74757:e=>{e.exports=function(e,t){return e.has(t)}},71811:(e,t,n)=>{var r=n(1469),i=n(15403),o=n(55514),s=n(79833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:o(s(e))}},74318:(e,t,n)=>{var r=n(11149);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},64626:(e,t,n)=>{e=n.nmd(e);var r=n(55639),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i?r.Buffer:void 0,a=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=a?a(n):new e.constructor(n);return e.copy(r),r}},57157:(e,t,n)=>{var r=n(74318);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},93147:e=>{var t=/\w*$/;e.exports=function(e){var n=new e.constructor(e.source,t.exec(e));return n.lastIndex=e.lastIndex,n}},40419:(e,t,n)=>{var r=n(62705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},77133:(e,t,n)=>{var r=n(74318);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},98363:(e,t,n)=>{var r=n(34865),i=n(89465);e.exports=function(e,t,n,o){var s=!n;n||(n={});for(var a=-1,l=t.length;++a<l;){var c=t[a],u=o?o(n[c],e[c],c,n,e):void 0;void 0===u&&(u=e[c]),s?i(n,c,u):r(n,c,u)}return n}},18805:(e,t,n)=>{var r=n(98363),i=n(99551);e.exports=function(e,t){return r(e,i(e),t)}},1911:(e,t,n)=>{var r=n(98363),i=n(51442);e.exports=function(e,t){return r(e,i(e),t)}},14429:(e,t,n)=>{var r=n(55639)["__core-js_shared__"];e.exports=r},38777:(e,t,n)=>{var r=n(10852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},67114:(e,t,n)=>{var r=n(88668),i=n(82908),o=n(74757);e.exports=function(e,t,n,s,a,l){var c=1&n,u=e.length,d=t.length;if(u!=d&&!(c&&d>u))return!1;var f=l.get(e),h=l.get(t);if(f&&h)return f==t&&h==e;var p=-1,g=!0,m=2&n?new r:void 0;for(l.set(e,t),l.set(t,e);++p<u;){var w=e[p],v=t[p];if(s)var y=c?s(v,w,p,t,e,l):s(w,v,p,e,t,l);if(void 0!==y){if(y)continue;g=!1;break}if(m){if(!i(t,(function(e,t){if(!o(m,t)&&(w===e||a(w,e,n,s,l)))return m.push(t)}))){g=!1;break}}else if(w!==v&&!a(w,v,n,s,l)){g=!1;break}}return l.delete(e),l.delete(t),g}},18351:(e,t,n)=>{var r=n(62705),i=n(11149),o=n(77813),s=n(67114),a=n(68776),l=n(21814),c=r?r.prototype:void 0,u=c?c.valueOf:void 0;e.exports=function(e,t,n,r,c,d,f){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!d(new i(e),new i(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=a;case"[object Set]":var p=1&r;if(h||(h=l),e.size!=t.size&&!p)return!1;var g=f.get(e);if(g)return g==t;r|=2,f.set(e,t);var m=s(h(e),h(t),r,c,d,f);return f.delete(e),m;case"[object Symbol]":if(u)return u.call(e)==u.call(t)}return!1}},16096:(e,t,n)=>{var r=n(58234),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,o,s,a){var l=1&n,c=r(e),u=c.length;if(u!=r(t).length&&!l)return!1;for(var d=u;d--;){var f=c[d];if(!(l?f in t:i.call(t,f)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var g=!0;a.set(e,t),a.set(t,e);for(var m=l;++d<u;){var w=e[f=c[d]],v=t[f];if(o)var y=l?o(v,w,f,t,e,a):o(w,v,f,e,t,a);if(!(void 0===y?w===v||s(w,v,n,o,a):y)){g=!1;break}m||(m="constructor"==f)}if(g&&!m){var b=e.constructor,S=t.constructor;b==S||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof S&&S instanceof S||(g=!1)}return a.delete(e),a.delete(t),g}},99021:(e,t,n)=>{var r=n(85564),i=n(45357),o=n(30061);e.exports=function(e){return o(i(e,void 0,r),e+"")}},31957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},58234:(e,t,n)=>{var r=n(68866),i=n(99551),o=n(3674);e.exports=function(e){return r(e,o,i)}},46904:(e,t,n)=>{var r=n(68866),i=n(51442),o=n(81704);e.exports=function(e){return r(e,o,i)}},45050:(e,t,n)=>{var r=n(37019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},10852:(e,t,n)=>{var r=n(28458),i=n(47801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},85924:(e,t,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);e.exports=r},89607:(e,t,n)=>{var r=n(62705),i=Object.prototype,o=i.hasOwnProperty,s=i.toString,a=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),n=e[a];try{e[a]=void 0;var r=!0}catch(e){}var i=s.call(e);return r&&(t?e[a]=n:delete e[a]),i}},99551:(e,t,n)=>{var r=n(34963),i=n(70479),o=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(e){return null==e?[]:(e=Object(e),r(s(e),(function(t){return o.call(e,t)})))}:i;e.exports=a},51442:(e,t,n)=>{var r=n(62488),i=n(85924),o=n(99551),s=n(70479),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,o(e)),e=i(e);return t}:s;e.exports=a},64160:(e,t,n)=>{var r=n(18552),i=n(57071),o=n(53818),s=n(58525),a=n(70577),l=n(44239),c=n(80346),u="[object Map]",d="[object Promise]",f="[object Set]",h="[object WeakMap]",p="[object DataView]",g=c(r),m=c(i),w=c(o),v=c(s),y=c(a),b=l;(r&&b(new r(new ArrayBuffer(1)))!=p||i&&b(new i)!=u||o&&b(o.resolve())!=d||s&&b(new s)!=f||a&&b(new a)!=h)&&(b=function(e){var t=l(e),n="[object Object]"==t?e.constructor:void 0,r=n?c(n):"";if(r)switch(r){case g:return p;case m:return u;case w:return d;case v:return f;case y:return h}return t}),e.exports=b},47801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},222:(e,t,n)=>{var r=n(71811),i=n(35694),o=n(1469),s=n(65776),a=n(41780),l=n(40327);e.exports=function(e,t,n){for(var c=-1,u=(t=r(t,e)).length,d=!1;++c<u;){var f=l(t[c]);if(!(d=null!=e&&n(e,f)))break;e=e[f]}return d||++c!=u?d:!!(u=null==e?0:e.length)&&a(u)&&s(f,u)&&(o(e)||i(e))}},51789:(e,t,n)=>{var r=n(94536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},80401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},57667:(e,t,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},21327:(e,t,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},81866:(e,t,n)=>{var r=n(94536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},43824:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var n=e.length,r=new e.constructor(n);return n&&"string"==typeof e[0]&&t.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},29148:(e,t,n)=>{var r=n(74318),i=n(57157),o=n(93147),s=n(40419),a=n(77133);e.exports=function(e,t,n){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return r(e);case"[object Boolean]":case"[object Date]":return new l(+e);case"[object DataView]":return i(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a(e,n);case"[object Map]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return o(e);case"[object Symbol]":return s(e)}}},38517:(e,t,n)=>{var r=n(3118),i=n(85924),o=n(25726);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:r(i(e))}},37285:(e,t,n)=>{var r=n(62705),i=n(35694),o=n(1469),s=r?r.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(s&&e&&e[s])}},65776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e<n}},15403:(e,t,n)=>{var r=n(1469),i=n(33448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}},37019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},15346:(e,t,n)=>{var r,i=n(14429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},25726:e=>{var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===("function"==typeof n&&n.prototype||t)}},27040:e=>{e.exports=function(){this.__data__=[],this.size=0}},14125:(e,t,n)=>{var r=n(18470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},82117:(e,t,n)=>{var r=n(18470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},67518:(e,t,n)=>{var r=n(18470);e.exports=function(e){return r(this.__data__,e)>-1}},54705:(e,t,n)=>{var r=n(18470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},24785:(e,t,n)=>{var r=n(1989),i=n(38407),o=n(57071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},11285:(e,t,n)=>{var r=n(45050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},96e3:(e,t,n)=>{var r=n(45050);e.exports=function(e){return r(this,e).get(e)}},49916:(e,t,n)=>{var r=n(45050);e.exports=function(e){return r(this,e).has(e)}},95265:(e,t,n)=>{var r=n(45050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},68776:e=>{e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},24523:(e,t,n)=>{var r=n(88306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},94536:(e,t,n)=>{var r=n(10852)(Object,"create");e.exports=r},86916:(e,t,n)=>{var r=n(5569)(Object.keys,Object);e.exports=r},33498:e=>{e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},31167:(e,t,n)=>{e=n.nmd(e);var r=n(31957),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i&&r.process,a=function(){try{return o&&o.require&&o.require("util").types||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5569:e=>{e.exports=function(e,t){return function(n){return e(t(n))}}},45357:(e,t,n)=>{var r=n(96874),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,s=-1,a=i(o.length-t,0),l=Array(a);++s<a;)l[s]=o[t+s];s=-1;for(var c=Array(t+1);++s<t;)c[s]=o[s];return c[t]=n(l),r(e,this,c)}}},55639:(e,t,n)=>{var r=n(31957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},90619:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},72385:e=>{e.exports=function(e){return this.__data__.has(e)}},21814:e=>{e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},30061:(e,t,n)=>{var r=n(56560),i=n(21275)(r);e.exports=i},21275:e=>{var t=Date.now;e.exports=function(e){var n=0,r=0;return function(){var i=t(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},37465:(e,t,n)=>{var r=n(38407);e.exports=function(){this.__data__=new r,this.size=0}},63779:e=>{e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},67599:e=>{e.exports=function(e){return this.__data__.get(e)}},44758:e=>{e.exports=function(e){return this.__data__.has(e)}},34309:(e,t,n)=>{var r=n(38407),i=n(57071),o=n(83369);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<199)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(e,t),this.size=n.size,this}},42351:e=>{e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}},55514:(e,t,n)=>{var r=n(24523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,s=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(o,"$1"):n||e)})),t}));e.exports=s},40327:(e,t,n)=>{var r=n(33448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},80346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},67990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},50361:(e,t,n)=>{var r=n(85990);e.exports=function(e){return r(e,5)}},75703:e=>{e.exports=function(e){return function(){return e}}},23279:(e,t,n)=>{var r=n(13218),i=n(7771),o=n(14841),s=Math.max,a=Math.min;e.exports=function(e,t,n){var l,c,u,d,f,h,p=0,g=!1,m=!1,w=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function v(t){var n=l,r=c;return l=c=void 0,p=t,d=e.apply(r,n)}function y(e){return p=e,f=setTimeout(S,t),g?v(e):d}function b(e){var n=e-h;return void 0===h||n>=t||n<0||m&&e-p>=u}function S(){var e=i();if(b(e))return C(e);f=setTimeout(S,function(e){var n=t-(e-h);return m?a(n,u-(e-p)):n}(e))}function C(e){return f=void 0,w&&l?v(e):(l=c=void 0,d)}function _(){var e=i(),n=b(e);if(l=arguments,c=this,h=e,n){if(void 0===f)return y(h);if(m)return clearTimeout(f),f=setTimeout(S,t),v(h)}return void 0===f&&(f=setTimeout(S,t)),d}return t=o(t)||0,r(n)&&(g=!!n.leading,u=(m="maxWait"in n)?s(o(n.maxWait)||0,t):u,w="trailing"in n?!!n.trailing:w),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,l=h=c=f=void 0},_.flush=function(){return void 0===f?d:C(i())},_}},91966:(e,t,n)=>{var r=n(20731),i=n(21078),o=n(5976),s=n(29246),a=o((function(e,t){return s(e)?r(e,i(t,1,s,!0)):[]}));e.exports=a},77813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},85564:(e,t,n)=>{var r=n(21078);e.exports=function(e){return null!=e&&e.length?r(e,1):[]}},27361:(e,t,n)=>{var r=n(97786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},79095:(e,t,n)=>{var r=n(13),i=n(222);e.exports=function(e,t){return null!=e&&i(e,t,r)}},6557:e=>{e.exports=function(e){return e}},35694:(e,t,n)=>{var r=n(9454),i=n(37005),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=l},1469:e=>{var t=Array.isArray;e.exports=t},98612:(e,t,n)=>{var r=n(23560),i=n(41780);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},29246:(e,t,n)=>{var r=n(98612),i=n(37005);e.exports=function(e){return i(e)&&r(e)}},44144:(e,t,n)=>{e=n.nmd(e);var r=n(55639),i=n(95062),o=t&&!t.nodeType&&t,s=o&&e&&!e.nodeType&&e,a=s&&s.exports===o?r.Buffer:void 0,l=(a?a.isBuffer:void 0)||i;e.exports=l},18446:(e,t,n)=>{var r=n(90939);e.exports=function(e,t){return r(e,t)}},28368:(e,t,n)=>{var r=n(90939);e.exports=function(e,t,n){var i=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===i?r(e,t,void 0,n):!!i}},23560:(e,t,n)=>{var r=n(44239),i=n(13218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},41780:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},56688:(e,t,n)=>{var r=n(25588),i=n(7518),o=n(31167),s=o&&o.isMap,a=s?i(s):r;e.exports=a},13218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},37005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},72928:(e,t,n)=>{var r=n(29221),i=n(7518),o=n(31167),s=o&&o.isSet,a=s?i(s):r;e.exports=a},33448:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},36719:(e,t,n)=>{var r=n(38749),i=n(7518),o=n(31167),s=o&&o.isTypedArray,a=s?i(s):r;e.exports=a},3674:(e,t,n)=>{var r=n(14636),i=n(280),o=n(98612);e.exports=function(e){return o(e)?r(e):i(e)}},81704:(e,t,n)=>{var r=n(14636),i=n(10313),o=n(98612);e.exports=function(e){return o(e)?r(e,!0):i(e)}},96486:function(e,t,n){var r;e=n.nmd(e),function(){var i,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",l=32,c=128,u=1/0,d=9007199254740991,f=NaN,h=4294967295,p=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],g="[object Arguments]",m="[object Array]",w="[object Boolean]",v="[object Date]",y="[object Error]",b="[object Function]",S="[object GeneratorFunction]",C="[object Map]",_="[object Number]",k="[object Object]",W="[object Promise]",E="[object RegExp]",L="[object Set]",A="[object String]",T="[object Symbol]",O="[object WeakMap]",I="[object ArrayBuffer]",R="[object DataView]",M="[object Float32Array]",N="[object Float64Array]",D="[object Int8Array]",P="[object Int16Array]",F="[object Int32Array]",j="[object Uint8Array]",x="[object Uint8ClampedArray]",$="[object Uint16Array]",B="[object Uint32Array]",U=/\b__p \+= '';/g,G=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,q=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,z=RegExp(q.source),K=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,J=/<%=([\s\S]+?)%>/g,Z=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ce=/[()=,{}\[\]\/\s]/,ue=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,he=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ge=/^\[object .+?Constructor\]$/,me=/^0o[0-7]+$/i,we=/^(?:0|[1-9]\d*)$/,ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ye=/($^)/,be=/['\n\r\u2028\u2029\\]/g,Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",_e="A-Z\\xc0-\\xd6\\xd8-\\xde",ke="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",We="["+ke+"]",Ee="["+Se+"]",Le="\\d+",Ae="["+Ce+"]",Te="[^\\ud800-\\udfff"+ke+Le+"\\u2700-\\u27bf"+Ce+_e+"]",Oe="\\ud83c[\\udffb-\\udfff]",Ie="[^\\ud800-\\udfff]",Re="(?:\\ud83c[\\udde6-\\uddff]){2}",Me="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+_e+"]",De="(?:"+Ae+"|"+Te+")",Pe="(?:"+Ne+"|"+Te+")",Fe="(?:['’](?:d|ll|m|re|s|t|ve))?",je="(?:['’](?:D|LL|M|RE|S|T|VE))?",xe="(?:"+Ee+"|"+Oe+")?",$e="[\\ufe0e\\ufe0f]?",Be=$e+xe+"(?:\\u200d(?:"+[Ie,Re,Me].join("|")+")"+$e+xe+")*",Ue="(?:"+["[\\u2700-\\u27bf]",Re,Me].join("|")+")"+Be,Ge="(?:"+[Ie+Ee+"?",Ee,Re,Me,"[\\ud800-\\udfff]"].join("|")+")",Ve=RegExp("['’]","g"),qe=RegExp(Ee,"g"),He=RegExp(Oe+"(?="+Oe+")|"+Ge+Be,"g"),ze=RegExp([Ne+"?"+Ae+"+"+Fe+"(?="+[We,Ne,"$"].join("|")+")",Pe+"+"+je+"(?="+[We,Ne+De,"$"].join("|")+")",Ne+"?"+De+"+"+Fe,Ne+"+"+je,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Le,Ue].join("|"),"g"),Ke=RegExp("[\\u200d\\ud800-\\udfff"+Se+"\\ufe0e\\ufe0f]"),Qe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ye=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Je=-1,Ze={};Ze[M]=Ze[N]=Ze[D]=Ze[P]=Ze[F]=Ze[j]=Ze[x]=Ze[$]=Ze[B]=!0,Ze[g]=Ze[m]=Ze[I]=Ze[w]=Ze[R]=Ze[v]=Ze[y]=Ze[b]=Ze[C]=Ze[_]=Ze[k]=Ze[E]=Ze[L]=Ze[A]=Ze[O]=!1;var Xe={};Xe[g]=Xe[m]=Xe[I]=Xe[R]=Xe[w]=Xe[v]=Xe[M]=Xe[N]=Xe[D]=Xe[P]=Xe[F]=Xe[C]=Xe[_]=Xe[k]=Xe[E]=Xe[L]=Xe[A]=Xe[T]=Xe[j]=Xe[x]=Xe[$]=Xe[B]=!0,Xe[y]=Xe[b]=Xe[O]=!1;var et={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},tt=parseFloat,nt=parseInt,rt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,it="object"==typeof self&&self&&self.Object===Object&&self,ot=rt||it||Function("return this")(),st=t&&!t.nodeType&&t,at=st&&e&&!e.nodeType&&e,lt=at&&at.exports===st,ct=lt&&rt.process,ut=function(){try{return at&&at.require&&at.require("util").types||ct&&ct.binding&&ct.binding("util")}catch(e){}}(),dt=ut&&ut.isArrayBuffer,ft=ut&&ut.isDate,ht=ut&&ut.isMap,pt=ut&&ut.isRegExp,gt=ut&&ut.isSet,mt=ut&&ut.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function vt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var s=e[i];t(r,s,n(s),e)}return r}function yt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function bt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function St(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Ct(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}function _t(e,t){return!(null==e||!e.length)&&Mt(e,t,0)>-1}function kt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function Wt(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function Et(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Lt(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function At(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function Tt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Ot=Ft("length");function It(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function Rt(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Mt(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):Rt(e,Dt,n)}function Nt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function Dt(e){return e!=e}function Pt(e,t){var n=null==e?0:e.length;return n?$t(e,t)/n:f}function Ft(e){return function(t){return null==t?i:t[e]}}function jt(e){return function(t){return null==e?i:e[t]}}function xt(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function $t(e,t){for(var n,r=-1,o=e.length;++r<o;){var s=t(e[r]);s!==i&&(n=n===i?s:n+s)}return n}function Bt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Ut(e){return e?e.slice(0,an(e)+1).replace(re,""):e}function Gt(e){return function(t){return e(t)}}function Vt(e,t){return Wt(t,(function(t){return e[t]}))}function qt(e,t){return e.has(t)}function Ht(e,t){for(var n=-1,r=e.length;++n<r&&Mt(t,e[n],0)>-1;);return n}function zt(e,t){for(var n=e.length;n--&&Mt(t,e[n],0)>-1;);return n}function Kt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Qt=jt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Yt=jt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Jt(e){return"\\"+et[e]}function Zt(e){return Ke.test(e)}function Xt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function en(e,t){return function(n){return e(t(n))}}function tn(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n];s!==t&&s!==a||(e[n]=a,o[i++]=n)}return o}function nn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function rn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function on(e){return Zt(e)?function(e){for(var t=He.lastIndex=0;He.test(e);)++t;return t}(e):Ot(e)}function sn(e){return Zt(e)?function(e){return e.match(He)||[]}(e):function(e){return e.split("")}(e)}function an(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var ln=jt({"&":"&","<":"<",">":">",""":'"',"'":"'"}),cn=function e(t){var n,r=(t=null==t?ot:cn.defaults(ot.Object(),t,cn.pick(ot,Ye))).Array,ie=t.Date,Se=t.Error,Ce=t.Function,_e=t.Math,ke=t.Object,We=t.RegExp,Ee=t.String,Le=t.TypeError,Ae=r.prototype,Te=Ce.prototype,Oe=ke.prototype,Ie=t["__core-js_shared__"],Re=Te.toString,Me=Oe.hasOwnProperty,Ne=0,De=(n=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Pe=Oe.toString,Fe=Re.call(ke),je=ot._,xe=We("^"+Re.call(Me).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$e=lt?t.Buffer:i,Be=t.Symbol,Ue=t.Uint8Array,Ge=$e?$e.allocUnsafe:i,He=en(ke.getPrototypeOf,ke),Ke=ke.create,et=Oe.propertyIsEnumerable,rt=Ae.splice,it=Be?Be.isConcatSpreadable:i,st=Be?Be.iterator:i,at=Be?Be.toStringTag:i,ct=function(){try{var e=co(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ut=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,Ot=ie&&ie.now!==ot.Date.now&&ie.now,jt=t.setTimeout!==ot.setTimeout&&t.setTimeout,un=_e.ceil,dn=_e.floor,fn=ke.getOwnPropertySymbols,hn=$e?$e.isBuffer:i,pn=t.isFinite,gn=Ae.join,mn=en(ke.keys,ke),wn=_e.max,vn=_e.min,yn=ie.now,bn=t.parseInt,Sn=_e.random,Cn=Ae.reverse,_n=co(t,"DataView"),kn=co(t,"Map"),Wn=co(t,"Promise"),En=co(t,"Set"),Ln=co(t,"WeakMap"),An=co(ke,"create"),Tn=Ln&&new Ln,On={},In=xo(_n),Rn=xo(kn),Mn=xo(Wn),Nn=xo(En),Dn=xo(Ln),Pn=Be?Be.prototype:i,Fn=Pn?Pn.valueOf:i,jn=Pn?Pn.toString:i;function xn(e){if(na(e)&&!qs(e)&&!(e instanceof Gn)){if(e instanceof Un)return e;if(Me.call(e,"__wrapped__"))return $o(e)}return new Un(e)}var $n=function(){function e(){}return function(t){if(!ta(t))return{};if(Ke)return Ke(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Bn(){}function Un(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Gn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function Vn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function qn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Hn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function zn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Hn;++t<n;)this.add(e[t])}function Kn(e){var t=this.__data__=new qn(e);this.size=t.size}function Qn(e,t){var n=qs(e),r=!n&&Vs(e),i=!n&&!r&&Qs(e),o=!n&&!r&&!i&&ua(e),s=n||r||i||o,a=s?Bt(e.length,Ee):[],l=a.length;for(var c in e)!t&&!Me.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||wo(c,l))||a.push(c);return a}function Yn(e){var t=e.length;return t?e[Hr(0,t-1)]:i}function Jn(e,t){return No(Li(e),sr(t,0,e.length))}function Zn(e){return No(Li(e))}function Xn(e,t,n){(n!==i&&!Bs(e[t],n)||n===i&&!(t in e))&&ir(e,t,n)}function er(e,t,n){var r=e[t];Me.call(e,t)&&Bs(r,n)&&(n!==i||t in e)||ir(e,t,n)}function tr(e,t){for(var n=e.length;n--;)if(Bs(e[n][0],t))return n;return-1}function nr(e,t,n,r){return dr(e,(function(e,i,o){t(r,e,n(e),o)})),r}function rr(e,t){return e&&Ai(t,Ra(t),e)}function ir(e,t,n){"__proto__"==t&&ct?ct(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function or(e,t){for(var n=-1,o=t.length,s=r(o),a=null==e;++n<o;)s[n]=a?i:La(e,t[n]);return s}function sr(e,t,n){return e==e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function ar(e,t,n,r,o,s){var a,l=1&t,c=2&t,u=4&t;if(n&&(a=o?n(e,r,o,s):n(e)),a!==i)return a;if(!ta(e))return e;var d=qs(e);if(d){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Me.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return Li(e,a)}else{var f=ho(e),h=f==b||f==S;if(Qs(e))return Si(e,l);if(f==k||f==g||h&&!o){if(a=c||h?{}:go(e),!l)return c?function(e,t){return Ai(e,fo(e),t)}(e,function(e,t){return e&&Ai(t,Ma(t),e)}(a,e)):function(e,t){return Ai(e,uo(e),t)}(e,rr(a,e))}else{if(!Xe[f])return o?e:{};a=function(e,t,n){var r,i=e.constructor;switch(t){case I:return Ci(e);case w:case v:return new i(+e);case R:return function(e,t){var n=t?Ci(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case M:case N:case D:case P:case F:case j:case x:case $:case B:return _i(e,n);case C:case L:return new i;case _:case A:return new i(e);case E:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case T:return r=e,Fn?ke(Fn.call(r)):{}}}(e,f,l)}}s||(s=new Kn);var p=s.get(e);if(p)return p;s.set(e,a),aa(e)?e.forEach((function(r){a.add(ar(r,t,n,r,e,s))})):ra(e)&&e.forEach((function(r,i){a.set(i,ar(r,t,n,i,e,s))}));var m=d?i:(u?c?no:to:c?Ma:Ra)(e);return yt(m||e,(function(r,i){m&&(r=e[i=r]),er(a,i,ar(r,t,n,i,e,s))})),a}function lr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var o=n[r],s=t[o],a=e[o];if(a===i&&!(o in e)||!s(a))return!1}return!0}function cr(e,t,n){if("function"!=typeof e)throw new Le(o);return Oo((function(){e.apply(i,n)}),t)}function ur(e,t,n,r){var i=-1,o=_t,s=!0,a=e.length,l=[],c=t.length;if(!a)return l;n&&(t=Wt(t,Gt(n))),r?(o=kt,s=!1):t.length>=200&&(o=qt,s=!1,t=new zn(t));e:for(;++i<a;){var u=e[i],d=null==n?u:n(u);if(u=r||0!==u?u:0,s&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;l.push(u)}else o(t,d,r)||l.push(u)}return l}xn.templateSettings={escape:Q,evaluate:Y,interpolate:J,variable:"",imports:{_:xn}},xn.prototype=Bn.prototype,xn.prototype.constructor=xn,Un.prototype=$n(Bn.prototype),Un.prototype.constructor=Un,Gn.prototype=$n(Bn.prototype),Gn.prototype.constructor=Gn,Vn.prototype.clear=function(){this.__data__=An?An(null):{},this.size=0},Vn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Vn.prototype.get=function(e){var t=this.__data__;if(An){var n=t[e];return n===s?i:n}return Me.call(t,e)?t[e]:i},Vn.prototype.has=function(e){var t=this.__data__;return An?t[e]!==i:Me.call(t,e)},Vn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=An&&t===i?s:t,this},qn.prototype.clear=function(){this.__data__=[],this.size=0},qn.prototype.delete=function(e){var t=this.__data__,n=tr(t,e);return!(n<0||(n==t.length-1?t.pop():rt.call(t,n,1),--this.size,0))},qn.prototype.get=function(e){var t=this.__data__,n=tr(t,e);return n<0?i:t[n][1]},qn.prototype.has=function(e){return tr(this.__data__,e)>-1},qn.prototype.set=function(e,t){var n=this.__data__,r=tr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new Vn,map:new(kn||qn),string:new Vn}},Hn.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return ao(this,e).get(e)},Hn.prototype.has=function(e){return ao(this,e).has(e)},Hn.prototype.set=function(e,t){var n=ao(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},zn.prototype.add=zn.prototype.push=function(e){return this.__data__.set(e,s),this},zn.prototype.has=function(e){return this.__data__.has(e)},Kn.prototype.clear=function(){this.__data__=new qn,this.size=0},Kn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Kn.prototype.get=function(e){return this.__data__.get(e)},Kn.prototype.has=function(e){return this.__data__.has(e)},Kn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof qn){var r=n.__data__;if(!kn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(r)}return n.set(e,t),this.size=n.size,this};var dr=Ii(yr),fr=Ii(br,!0);function hr(e,t){var n=!0;return dr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function pr(e,t,n){for(var r=-1,o=e.length;++r<o;){var s=e[r],a=t(s);if(null!=a&&(l===i?a==a&&!ca(a):n(a,l)))var l=a,c=s}return c}function gr(e,t){var n=[];return dr(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function mr(e,t,n,r,i){var o=-1,s=e.length;for(n||(n=mo),i||(i=[]);++o<s;){var a=e[o];t>0&&n(a)?t>1?mr(a,t-1,n,r,i):Et(i,a):r||(i[i.length]=a)}return i}var wr=Ri(),vr=Ri(!0);function yr(e,t){return e&&wr(e,t,Ra)}function br(e,t){return e&&vr(e,t,Ra)}function Sr(e,t){return Ct(t,(function(t){return Zs(e[t])}))}function Cr(e,t){for(var n=0,r=(t=wi(t,e)).length;null!=e&&n<r;)e=e[jo(t[n++])];return n&&n==r?e:i}function _r(e,t,n){var r=t(e);return qs(e)?r:Et(r,n(e))}function kr(e){return null==e?e===i?"[object Undefined]":"[object Null]":at&&at in ke(e)?function(e){var t=Me.call(e,at),n=e[at];try{e[at]=i;var r=!0}catch(e){}var o=Pe.call(e);return r&&(t?e[at]=n:delete e[at]),o}(e):function(e){return Pe.call(e)}(e)}function Wr(e,t){return e>t}function Er(e,t){return null!=e&&Me.call(e,t)}function Lr(e,t){return null!=e&&t in ke(e)}function Ar(e,t,n){for(var o=n?kt:_t,s=e[0].length,a=e.length,l=a,c=r(a),u=1/0,d=[];l--;){var f=e[l];l&&t&&(f=Wt(f,Gt(t))),u=vn(f.length,u),c[l]=!n&&(t||s>=120&&f.length>=120)?new zn(l&&f):i}f=e[0];var h=-1,p=c[0];e:for(;++h<s&&d.length<u;){var g=f[h],m=t?t(g):g;if(g=n||0!==g?g:0,!(p?qt(p,m):o(d,m,n))){for(l=a;--l;){var w=c[l];if(!(w?qt(w,m):o(e[l],m,n)))continue e}p&&p.push(m),d.push(g)}}return d}function Tr(e,t,n){var r=null==(e=Eo(e,t=wi(t,e)))?e:e[jo(Jo(t))];return null==r?i:wt(r,e,n)}function Or(e){return na(e)&&kr(e)==g}function Ir(e,t,n,r,o){return e===t||(null==e||null==t||!na(e)&&!na(t)?e!=e&&t!=t:function(e,t,n,r,o,s){var a=qs(e),l=qs(t),c=a?m:ho(e),u=l?m:ho(t),d=(c=c==g?k:c)==k,f=(u=u==g?k:u)==k,h=c==u;if(h&&Qs(e)){if(!Qs(t))return!1;a=!0,d=!1}if(h&&!d)return s||(s=new Kn),a||ua(e)?Xi(e,t,n,r,o,s):function(e,t,n,r,i,o,s){switch(n){case R:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case I:return!(e.byteLength!=t.byteLength||!o(new Ue(e),new Ue(t)));case w:case v:case _:return Bs(+e,+t);case y:return e.name==t.name&&e.message==t.message;case E:case A:return e==t+"";case C:var a=Xt;case L:var l=1&r;if(a||(a=nn),e.size!=t.size&&!l)return!1;var c=s.get(e);if(c)return c==t;r|=2,s.set(e,t);var u=Xi(a(e),a(t),r,i,o,s);return s.delete(e),u;case T:if(Fn)return Fn.call(e)==Fn.call(t)}return!1}(e,t,c,n,r,o,s);if(!(1&n)){var p=d&&Me.call(e,"__wrapped__"),b=f&&Me.call(t,"__wrapped__");if(p||b){var S=p?e.value():e,W=b?t.value():t;return s||(s=new Kn),o(S,W,n,r,s)}}return!!h&&(s||(s=new Kn),function(e,t,n,r,o,s){var a=1&n,l=to(e),c=l.length;if(c!=to(t).length&&!a)return!1;for(var u=c;u--;){var d=l[u];if(!(a?d in t:Me.call(t,d)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var p=!0;s.set(e,t),s.set(t,e);for(var g=a;++u<c;){var m=e[d=l[u]],w=t[d];if(r)var v=a?r(w,m,d,t,e,s):r(m,w,d,e,t,s);if(!(v===i?m===w||o(m,w,n,r,s):v)){p=!1;break}g||(g="constructor"==d)}if(p&&!g){var y=e.constructor,b=t.constructor;y==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b||(p=!1)}return s.delete(e),s.delete(t),p}(e,t,n,r,o,s))}(e,t,n,r,Ir,o))}function Rr(e,t,n,r){var o=n.length,s=o,a=!r;if(null==e)return!s;for(e=ke(e);o--;){var l=n[o];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<s;){var c=(l=n[o])[0],u=e[c],d=l[1];if(a&&l[2]){if(u===i&&!(c in e))return!1}else{var f=new Kn;if(r)var h=r(u,d,c,e,t,f);if(!(h===i?Ir(d,u,3,r,f):h))return!1}}return!0}function Mr(e){return!(!ta(e)||(t=e,De&&De in t))&&(Zs(e)?xe:ge).test(xo(e));var t}function Nr(e){return"function"==typeof e?e:null==e?il:"object"==typeof e?qs(e)?xr(e[0],e[1]):jr(e):hl(e)}function Dr(e){if(!Co(e))return mn(e);var t=[];for(var n in ke(e))Me.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Pr(e,t){return e<t}function Fr(e,t){var n=-1,i=zs(e)?r(e.length):[];return dr(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function jr(e){var t=lo(e);return 1==t.length&&t[0][2]?ko(t[0][0],t[0][1]):function(n){return n===e||Rr(n,e,t)}}function xr(e,t){return yo(e)&&_o(t)?ko(jo(e),t):function(n){var r=La(n,e);return r===i&&r===t?Aa(n,e):Ir(t,r,3)}}function $r(e,t,n,r,o){e!==t&&wr(t,(function(s,a){if(o||(o=new Kn),ta(s))!function(e,t,n,r,o,s,a){var l=Ao(e,n),c=Ao(t,n),u=a.get(c);if(u)Xn(e,n,u);else{var d=s?s(l,c,n+"",e,t,a):i,f=d===i;if(f){var h=qs(c),p=!h&&Qs(c),g=!h&&!p&&ua(c);d=c,h||p||g?qs(l)?d=l:Ks(l)?d=Li(l):p?(f=!1,d=Si(c,!0)):g?(f=!1,d=_i(c,!0)):d=[]:oa(c)||Vs(c)?(d=l,Vs(l)?d=va(l):ta(l)&&!Zs(l)||(d=go(c))):f=!1}f&&(a.set(c,d),o(d,c,r,s,a),a.delete(c)),Xn(e,n,d)}}(e,t,a,n,$r,r,o);else{var l=r?r(Ao(e,a),s,a+"",e,t,o):i;l===i&&(l=s),Xn(e,a,l)}}),Ma)}function Br(e,t){var n=e.length;if(n)return wo(t+=t<0?n:0,n)?e[t]:i}function Ur(e,t,n){t=t.length?Wt(t,(function(e){return qs(e)?function(t){return Cr(t,1===e.length?e[0]:e)}:e})):[il];var r=-1;t=Wt(t,Gt(so()));var i=Fr(e,(function(e,n,i){var o=Wt(t,(function(t){return t(e)}));return{criteria:o,index:++r,value:e}}));return function(e,t){var r=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var r=-1,i=e.criteria,o=t.criteria,s=i.length,a=n.length;++r<s;){var l=ki(i[r],o[r]);if(l)return r>=a?l:l*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function Gr(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var s=t[r],a=Cr(e,s);n(a,s)&&Jr(o,wi(s,e),a)}return o}function Vr(e,t,n,r){var i=r?Nt:Mt,o=-1,s=t.length,a=e;for(e===t&&(t=Li(t)),n&&(a=Wt(e,Gt(n)));++o<s;)for(var l=0,c=t[o],u=n?n(c):c;(l=i(a,u,l,r))>-1;)a!==e&&rt.call(a,l,1),rt.call(e,l,1);return e}function qr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;wo(i)?rt.call(e,i,1):ci(e,i)}}return e}function Hr(e,t){return e+dn(Sn()*(t-e+1))}function zr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=dn(t/2))&&(e+=e)}while(t);return n}function Kr(e,t){return Io(Wo(e,t,il),e+"")}function Qr(e){return Yn(Ba(e))}function Yr(e,t){var n=Ba(e);return No(n,sr(t,0,n.length))}function Jr(e,t,n,r){if(!ta(e))return e;for(var o=-1,s=(t=wi(t,e)).length,a=s-1,l=e;null!=l&&++o<s;){var c=jo(t[o]),u=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(o!=a){var d=l[c];(u=r?r(d,c,l):i)===i&&(u=ta(d)?d:wo(t[o+1])?[]:{})}er(l,c,u),l=l[c]}return e}var Zr=Tn?function(e,t){return Tn.set(e,t),e}:il,Xr=ct?function(e,t){return ct(e,"toString",{configurable:!0,enumerable:!1,value:tl(t),writable:!0})}:il;function ei(e){return No(Ba(e))}function ti(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=r(o);++i<o;)s[i]=e[i+t];return s}function ni(e,t){var n;return dr(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function ri(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,s=e[o];null!==s&&!ca(s)&&(n?s<=t:s<t)?r=o+1:i=o}return i}return ii(e,t,il,n)}function ii(e,t,n,r){var o=0,s=null==e?0:e.length;if(0===s)return 0;for(var a=(t=n(t))!=t,l=null===t,c=ca(t),u=t===i;o<s;){var d=dn((o+s)/2),f=n(e[d]),h=f!==i,p=null===f,g=f==f,m=ca(f);if(a)var w=r||g;else w=u?g&&(r||h):l?g&&h&&(r||!p):c?g&&h&&!p&&(r||!m):!p&&!m&&(r?f<=t:f<t);w?o=d+1:s=d}return vn(s,4294967294)}function oi(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n],a=t?t(s):s;if(!n||!Bs(a,l)){var l=a;o[i++]=0===s?0:s}}return o}function si(e){return"number"==typeof e?e:ca(e)?f:+e}function ai(e){if("string"==typeof e)return e;if(qs(e))return Wt(e,ai)+"";if(ca(e))return jn?jn.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function li(e,t,n){var r=-1,i=_t,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=kt;else if(o>=200){var c=t?null:zi(e);if(c)return nn(c);s=!1,i=qt,l=new zn}else l=t?[]:a;e:for(;++r<o;){var u=e[r],d=t?t(u):u;if(u=n||0!==u?u:0,s&&d==d){for(var f=l.length;f--;)if(l[f]===d)continue e;t&&l.push(d),a.push(u)}else i(l,d,n)||(l!==a&&l.push(d),a.push(u))}return a}function ci(e,t){return null==(e=Eo(e,t=wi(t,e)))||delete e[jo(Jo(t))]}function ui(e,t,n,r){return Jr(e,t,n(Cr(e,t)),r)}function di(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?ti(e,r?0:o,r?o+1:i):ti(e,r?o+1:0,r?i:o)}function fi(e,t){var n=e;return n instanceof Gn&&(n=n.value()),Lt(t,(function(e,t){return t.func.apply(t.thisArg,Et([e],t.args))}),n)}function hi(e,t,n){var i=e.length;if(i<2)return i?li(e[0]):[];for(var o=-1,s=r(i);++o<i;)for(var a=e[o],l=-1;++l<i;)l!=o&&(s[o]=ur(s[o]||a,e[l],t,n));return li(mr(s,1),t,n)}function pi(e,t,n){for(var r=-1,o=e.length,s=t.length,a={};++r<o;){var l=r<s?t[r]:i;n(a,e[r],l)}return a}function gi(e){return Ks(e)?e:[]}function mi(e){return"function"==typeof e?e:il}function wi(e,t){return qs(e)?e:yo(e,t)?[e]:Fo(ya(e))}var vi=Kr;function yi(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:ti(e,t,n)}var bi=ut||function(e){return ot.clearTimeout(e)};function Si(e,t){if(t)return e.slice();var n=e.length,r=Ge?Ge(n):new e.constructor(n);return e.copy(r),r}function Ci(e){var t=new e.constructor(e.byteLength);return new Ue(t).set(new Ue(e)),t}function _i(e,t){var n=t?Ci(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function ki(e,t){if(e!==t){var n=e!==i,r=null===e,o=e==e,s=ca(e),a=t!==i,l=null===t,c=t==t,u=ca(t);if(!l&&!u&&!s&&e>t||s&&a&&c&&!l&&!u||r&&a&&c||!n&&c||!o)return 1;if(!r&&!s&&!u&&e<t||u&&n&&o&&!r&&!s||l&&n&&o||!a&&o||!c)return-1}return 0}function Wi(e,t,n,i){for(var o=-1,s=e.length,a=n.length,l=-1,c=t.length,u=wn(s-a,0),d=r(c+u),f=!i;++l<c;)d[l]=t[l];for(;++o<a;)(f||o<s)&&(d[n[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function Ei(e,t,n,i){for(var o=-1,s=e.length,a=-1,l=n.length,c=-1,u=t.length,d=wn(s-l,0),f=r(d+u),h=!i;++o<d;)f[o]=e[o];for(var p=o;++c<u;)f[p+c]=t[c];for(;++a<l;)(h||o<s)&&(f[p+n[a]]=e[o++]);return f}function Li(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function Ai(e,t,n,r){var o=!n;n||(n={});for(var s=-1,a=t.length;++s<a;){var l=t[s],c=r?r(n[l],e[l],l,n,e):i;c===i&&(c=e[l]),o?ir(n,l,c):er(n,l,c)}return n}function Ti(e,t){return function(n,r){var i=qs(n)?vt:nr,o=t?t():{};return i(n,e,so(r,2),o)}}function Oi(e){return Kr((function(t,n){var r=-1,o=n.length,s=o>1?n[o-1]:i,a=o>2?n[2]:i;for(s=e.length>3&&"function"==typeof s?(o--,s):i,a&&vo(n[0],n[1],a)&&(s=o<3?i:s,o=1),t=ke(t);++r<o;){var l=n[r];l&&e(t,l,r,s)}return t}))}function Ii(e,t){return function(n,r){if(null==n)return n;if(!zs(n))return e(n,r);for(var i=n.length,o=t?i:-1,s=ke(n);(t?o--:++o<i)&&!1!==r(s[o],o,s););return n}}function Ri(e){return function(t,n,r){for(var i=-1,o=ke(t),s=r(t),a=s.length;a--;){var l=s[e?a:++i];if(!1===n(o[l],l,o))break}return t}}function Mi(e){return function(t){var n=Zt(t=ya(t))?sn(t):i,r=n?n[0]:t.charAt(0),o=n?yi(n,1).join(""):t.slice(1);return r[e]()+o}}function Ni(e){return function(t){return Lt(Za(Va(t).replace(Ve,"")),e,"")}}function Di(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=$n(e.prototype),r=e.apply(n,t);return ta(r)?r:n}}function Pi(e){return function(t,n,r){var o=ke(t);if(!zs(t)){var s=so(n,3);t=Ra(t),n=function(e){return s(o[e],e,o)}}var a=e(t,n,r);return a>-1?o[s?t[a]:a]:i}}function Fi(e){return eo((function(t){var n=t.length,r=n,s=Un.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new Le(o);if(s&&!l&&"wrapper"==io(a))var l=new Un([],!0)}for(r=l?r:n;++r<n;){var c=io(a=t[r]),u="wrapper"==c?ro(a):i;l=u&&bo(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[io(u[0])].apply(l,u[3]):1==a.length&&bo(a)?l[c]():l.thru(a)}return function(){var e=arguments,r=e[0];if(l&&1==e.length&&qs(r))return l.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function ji(e,t,n,o,s,a,l,u,d,f){var h=t&c,p=1&t,g=2&t,m=24&t,w=512&t,v=g?i:Di(e);return function i(){for(var c=arguments.length,y=r(c),b=c;b--;)y[b]=arguments[b];if(m)var S=oo(i),C=Kt(y,S);if(o&&(y=Wi(y,o,s,m)),a&&(y=Ei(y,a,l,m)),c-=C,m&&c<f){var _=tn(y,S);return qi(e,t,ji,i.placeholder,n,y,_,u,d,f-c)}var k=p?n:this,W=g?k[e]:e;return c=y.length,u?y=Lo(y,u):w&&c>1&&y.reverse(),h&&d<c&&(y.length=d),this&&this!==ot&&this instanceof i&&(W=v||Di(W)),W.apply(k,y)}}function xi(e,t){return function(n,r){return function(e,t,n,r){return yr(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function $i(e,t){return function(n,r){var o;if(n===i&&r===i)return t;if(n!==i&&(o=n),r!==i){if(o===i)return r;"string"==typeof n||"string"==typeof r?(n=ai(n),r=ai(r)):(n=si(n),r=si(r)),o=e(n,r)}return o}}function Bi(e){return eo((function(t){return t=Wt(t,Gt(so())),Kr((function(n){var r=this;return e(t,(function(e){return wt(e,r,n)}))}))}))}function Ui(e,t){var n=(t=t===i?" ":ai(t)).length;if(n<2)return n?zr(t,e):t;var r=zr(t,un(e/on(t)));return Zt(t)?yi(sn(r),0,e).join(""):r.slice(0,e)}function Gi(e){return function(t,n,o){return o&&"number"!=typeof o&&vo(t,n,o)&&(n=o=i),t=pa(t),n===i?(n=t,t=0):n=pa(n),function(e,t,n,i){for(var o=-1,s=wn(un((t-e)/(n||1)),0),a=r(s);s--;)a[i?s:++o]=e,e+=n;return a}(t,n,o=o===i?t<n?1:-1:pa(o),e)}}function Vi(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=wa(t),n=wa(n)),e(t,n)}}function qi(e,t,n,r,o,s,a,c,u,d){var f=8&t;t|=f?l:64,4&(t&=~(f?64:l))||(t&=-4);var h=[e,t,o,f?s:i,f?a:i,f?i:s,f?i:a,c,u,d],p=n.apply(i,h);return bo(e)&&To(p,h),p.placeholder=r,Ro(p,e,t)}function Hi(e){var t=_e[e];return function(e,n){if(e=wa(e),(n=null==n?0:vn(ga(n),292))&&pn(e)){var r=(ya(e)+"e").split("e");return+((r=(ya(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var zi=En&&1/nn(new En([,-0]))[1]==u?function(e){return new En(e)}:cl;function Ki(e){return function(t){var n=ho(t);return n==C?Xt(t):n==L?rn(t):function(e,t){return Wt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Qi(e,t,n,s,u,d,f,h){var p=2&t;if(!p&&"function"!=typeof e)throw new Le(o);var g=s?s.length:0;if(g||(t&=-97,s=u=i),f=f===i?f:wn(ga(f),0),h=h===i?h:ga(h),g-=u?u.length:0,64&t){var m=s,w=u;s=u=i}var v=p?i:ro(e),y=[e,t,n,s,u,m,w,d,f,h];if(v&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,s=r==c&&8==n||r==c&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!s)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var l=t[3];if(l){var u=e[3];e[3]=u?Wi(u,l,t[4]):l,e[4]=u?tn(e[3],a):t[4]}(l=t[5])&&(u=e[5],e[5]=u?Ei(u,l,t[6]):l,e[6]=u?tn(e[5],a):t[6]),(l=t[7])&&(e[7]=l),r&c&&(e[8]=null==e[8]?t[8]:vn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(y,v),e=y[0],t=y[1],n=y[2],s=y[3],u=y[4],!(h=y[9]=y[9]===i?p?0:e.length:wn(y[9]-g,0))&&24&t&&(t&=-25),t&&1!=t)b=8==t||16==t?function(e,t,n){var o=Di(e);return function s(){for(var a=arguments.length,l=r(a),c=a,u=oo(s);c--;)l[c]=arguments[c];var d=a<3&&l[0]!==u&&l[a-1]!==u?[]:tn(l,u);return(a-=d.length)<n?qi(e,t,ji,s.placeholder,i,l,d,i,i,n-a):wt(this&&this!==ot&&this instanceof s?o:e,this,l)}}(e,t,h):t!=l&&33!=t||u.length?ji.apply(i,y):function(e,t,n,i){var o=1&t,s=Di(e);return function t(){for(var a=-1,l=arguments.length,c=-1,u=i.length,d=r(u+l),f=this&&this!==ot&&this instanceof t?s:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=arguments[++a];return wt(f,o?n:this,d)}}(e,t,n,s);else var b=function(e,t,n){var r=1&t,i=Di(e);return function t(){return(this&&this!==ot&&this instanceof t?i:e).apply(r?n:this,arguments)}}(e,t,n);return Ro((v?Zr:To)(b,y),e,t)}function Yi(e,t,n,r){return e===i||Bs(e,Oe[n])&&!Me.call(r,n)?t:e}function Ji(e,t,n,r,o,s){return ta(e)&&ta(t)&&(s.set(t,e),$r(e,t,i,Ji,s),s.delete(t)),e}function Zi(e){return oa(e)?i:e}function Xi(e,t,n,r,o,s){var a=1&n,l=e.length,c=t.length;if(l!=c&&!(a&&c>l))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,h=!0,p=2&n?new zn:i;for(s.set(e,t),s.set(t,e);++f<l;){var g=e[f],m=t[f];if(r)var w=a?r(m,g,f,t,e,s):r(g,m,f,e,t,s);if(w!==i){if(w)continue;h=!1;break}if(p){if(!Tt(t,(function(e,t){if(!qt(p,t)&&(g===e||o(g,e,n,r,s)))return p.push(t)}))){h=!1;break}}else if(g!==m&&!o(g,m,n,r,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function eo(e){return Io(Wo(e,i,Ho),e+"")}function to(e){return _r(e,Ra,uo)}function no(e){return _r(e,Ma,fo)}var ro=Tn?function(e){return Tn.get(e)}:cl;function io(e){for(var t=e.name+"",n=On[t],r=Me.call(On,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function oo(e){return(Me.call(xn,"placeholder")?xn:e).placeholder}function so(){var e=xn.iteratee||ol;return e=e===ol?Nr:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function lo(e){for(var t=Ra(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,_o(i)]}return t}function co(e,t){var n=function(e,t){return null==e?i:e[t]}(e,t);return Mr(n)?n:i}var uo=fn?function(e){return null==e?[]:(e=ke(e),Ct(fn(e),(function(t){return et.call(e,t)})))}:ml,fo=fn?function(e){for(var t=[];e;)Et(t,uo(e)),e=He(e);return t}:ml,ho=kr;function po(e,t,n){for(var r=-1,i=(t=wi(t,e)).length,o=!1;++r<i;){var s=jo(t[r]);if(!(o=null!=e&&n(e,s)))break;e=e[s]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&ea(i)&&wo(s,i)&&(qs(e)||Vs(e))}function go(e){return"function"!=typeof e.constructor||Co(e)?{}:$n(He(e))}function mo(e){return qs(e)||Vs(e)||!!(it&&e&&e[it])}function wo(e,t){var n=typeof e;return!!(t=null==t?d:t)&&("number"==n||"symbol"!=n&&we.test(e))&&e>-1&&e%1==0&&e<t}function vo(e,t,n){if(!ta(n))return!1;var r=typeof t;return!!("number"==r?zs(n)&&wo(t,n.length):"string"==r&&t in n)&&Bs(n[t],e)}function yo(e,t){if(qs(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ca(e))||X.test(e)||!Z.test(e)||null!=t&&e in ke(t)}function bo(e){var t=io(e),n=xn[t];if("function"!=typeof n||!(t in Gn.prototype))return!1;if(e===n)return!0;var r=ro(n);return!!r&&e===r[0]}(_n&&ho(new _n(new ArrayBuffer(1)))!=R||kn&&ho(new kn)!=C||Wn&&ho(Wn.resolve())!=W||En&&ho(new En)!=L||Ln&&ho(new Ln)!=O)&&(ho=function(e){var t=kr(e),n=t==k?e.constructor:i,r=n?xo(n):"";if(r)switch(r){case In:return R;case Rn:return C;case Mn:return W;case Nn:return L;case Dn:return O}return t});var So=Ie?Zs:wl;function Co(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Oe)}function _o(e){return e==e&&!ta(e)}function ko(e,t){return function(n){return null!=n&&n[e]===t&&(t!==i||e in ke(n))}}function Wo(e,t,n){return t=wn(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,s=wn(i.length-t,0),a=r(s);++o<s;)a[o]=i[t+o];o=-1;for(var l=r(t+1);++o<t;)l[o]=i[o];return l[t]=n(a),wt(e,this,l)}}function Eo(e,t){return t.length<2?e:Cr(e,ti(t,0,-1))}function Lo(e,t){for(var n=e.length,r=vn(t.length,n),o=Li(e);r--;){var s=t[r];e[r]=wo(s,n)?o[s]:i}return e}function Ao(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var To=Mo(Zr),Oo=jt||function(e,t){return ot.setTimeout(e,t)},Io=Mo(Xr);function Ro(e,t,n){var r=t+"";return Io(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return yt(p,(function(n){var r="_."+n[0];t&n[1]&&!_t(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(r),n)))}function Mo(e){var t=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function No(e,t){var n=-1,r=e.length,o=r-1;for(t=t===i?r:t;++n<t;){var s=Hr(n,o),a=e[s];e[s]=e[n],e[n]=a}return e.length=t,e}var Do,Po,Fo=(Do=Ds((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,n,r,i){t.push(r?i.replace(ue,"$1"):n||e)})),t}),(function(e){return 500===Po.size&&Po.clear(),e})),Po=Do.cache,Do);function jo(e){if("string"==typeof e||ca(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function xo(e){if(null!=e){try{return Re.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function $o(e){if(e instanceof Gn)return e.clone();var t=new Un(e.__wrapped__,e.__chain__);return t.__actions__=Li(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Bo=Kr((function(e,t){return Ks(e)?ur(e,mr(t,1,Ks,!0)):[]})),Uo=Kr((function(e,t){var n=Jo(t);return Ks(n)&&(n=i),Ks(e)?ur(e,mr(t,1,Ks,!0),so(n,2)):[]})),Go=Kr((function(e,t){var n=Jo(t);return Ks(n)&&(n=i),Ks(e)?ur(e,mr(t,1,Ks,!0),i,n):[]}));function Vo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ga(n);return i<0&&(i=wn(r+i,0)),Rt(e,so(t,3),i)}function qo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==i&&(o=ga(n),o=n<0?wn(r+o,0):vn(o,r-1)),Rt(e,so(t,3),o,!0)}function Ho(e){return null!=e&&e.length?mr(e,1):[]}function zo(e){return e&&e.length?e[0]:i}var Ko=Kr((function(e){var t=Wt(e,gi);return t.length&&t[0]===e[0]?Ar(t):[]})),Qo=Kr((function(e){var t=Jo(e),n=Wt(e,gi);return t===Jo(n)?t=i:n.pop(),n.length&&n[0]===e[0]?Ar(n,so(t,2)):[]})),Yo=Kr((function(e){var t=Jo(e),n=Wt(e,gi);return(t="function"==typeof t?t:i)&&n.pop(),n.length&&n[0]===e[0]?Ar(n,i,t):[]}));function Jo(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Zo=Kr(Xo);function Xo(e,t){return e&&e.length&&t&&t.length?Vr(e,t):e}var es=eo((function(e,t){var n=null==e?0:e.length,r=or(e,t);return qr(e,Wt(t,(function(e){return wo(e,n)?+e:e})).sort(ki)),r}));function ts(e){return null==e?e:Cn.call(e)}var ns=Kr((function(e){return li(mr(e,1,Ks,!0))})),rs=Kr((function(e){var t=Jo(e);return Ks(t)&&(t=i),li(mr(e,1,Ks,!0),so(t,2))})),is=Kr((function(e){var t=Jo(e);return t="function"==typeof t?t:i,li(mr(e,1,Ks,!0),i,t)}));function os(e){if(!e||!e.length)return[];var t=0;return e=Ct(e,(function(e){if(Ks(e))return t=wn(e.length,t),!0})),Bt(t,(function(t){return Wt(e,Ft(t))}))}function ss(e,t){if(!e||!e.length)return[];var n=os(e);return null==t?n:Wt(n,(function(e){return wt(t,i,e)}))}var as=Kr((function(e,t){return Ks(e)?ur(e,t):[]})),ls=Kr((function(e){return hi(Ct(e,Ks))})),cs=Kr((function(e){var t=Jo(e);return Ks(t)&&(t=i),hi(Ct(e,Ks),so(t,2))})),us=Kr((function(e){var t=Jo(e);return t="function"==typeof t?t:i,hi(Ct(e,Ks),i,t)})),ds=Kr(os),fs=Kr((function(e){var t=e.length,n=t>1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ss(e,n)}));function hs(e){var t=xn(e);return t.__chain__=!0,t}function ps(e,t){return t(e)}var gs=eo((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return or(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Gn&&wo(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ps,args:[o],thisArg:i}),new Un(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ms=Ti((function(e,t,n){Me.call(e,n)?++e[n]:ir(e,n,1)})),ws=Pi(Vo),vs=Pi(qo);function ys(e,t){return(qs(e)?yt:dr)(e,so(t,3))}function bs(e,t){return(qs(e)?bt:fr)(e,so(t,3))}var Ss=Ti((function(e,t,n){Me.call(e,n)?e[n].push(t):ir(e,n,[t])})),Cs=Kr((function(e,t,n){var i=-1,o="function"==typeof t,s=zs(e)?r(e.length):[];return dr(e,(function(e){s[++i]=o?wt(t,e,n):Tr(e,t,n)})),s})),_s=Ti((function(e,t,n){ir(e,n,t)}));function ks(e,t){return(qs(e)?Wt:Fr)(e,so(t,3))}var Ws=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),Es=Kr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&vo(e,t[0],t[1])?t=[]:n>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Ur(e,mr(t,1),[])})),Ls=Ot||function(){return ot.Date.now()};function As(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Qi(e,c,i,i,i,i,t)}function Ts(e,t){var n;if("function"!=typeof t)throw new Le(o);return e=ga(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Os=Kr((function(e,t,n){var r=1;if(n.length){var i=tn(n,oo(Os));r|=l}return Qi(e,r,t,n,i)})),Is=Kr((function(e,t,n){var r=3;if(n.length){var i=tn(n,oo(Is));r|=l}return Qi(t,r,e,n,i)}));function Rs(e,t,n){var r,s,a,l,c,u,d=0,f=!1,h=!1,p=!0;if("function"!=typeof e)throw new Le(o);function g(t){var n=r,o=s;return r=s=i,d=t,l=e.apply(o,n)}function m(e){return d=e,c=Oo(v,t),f?g(e):l}function w(e){var n=e-u;return u===i||n>=t||n<0||h&&e-d>=a}function v(){var e=Ls();if(w(e))return y(e);c=Oo(v,function(e){var n=t-(e-u);return h?vn(n,a-(e-d)):n}(e))}function y(e){return c=i,p&&r?g(e):(r=s=i,l)}function b(){var e=Ls(),n=w(e);if(r=arguments,s=this,u=e,n){if(c===i)return m(u);if(h)return bi(c),c=Oo(v,t),g(u)}return c===i&&(c=Oo(v,t)),l}return t=wa(t)||0,ta(n)&&(f=!!n.leading,a=(h="maxWait"in n)?wn(wa(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),b.cancel=function(){c!==i&&bi(c),d=0,r=u=s=c=i},b.flush=function(){return c===i?l:y(Ls())},b}var Ms=Kr((function(e,t){return cr(e,1,t)})),Ns=Kr((function(e,t,n){return cr(e,wa(t)||0,n)}));function Ds(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Le(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(Ds.Cache||Hn),n}function Ps(e){if("function"!=typeof e)throw new Le(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ds.Cache=Hn;var Fs=vi((function(e,t){var n=(t=1==t.length&&qs(t[0])?Wt(t[0],Gt(so())):Wt(mr(t,1),Gt(so()))).length;return Kr((function(r){for(var i=-1,o=vn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return wt(e,this,r)}))})),js=Kr((function(e,t){var n=tn(t,oo(js));return Qi(e,l,i,t,n)})),xs=Kr((function(e,t){var n=tn(t,oo(xs));return Qi(e,64,i,t,n)})),$s=eo((function(e,t){return Qi(e,256,i,i,i,t)}));function Bs(e,t){return e===t||e!=e&&t!=t}var Us=Vi(Wr),Gs=Vi((function(e,t){return e>=t})),Vs=Or(function(){return arguments}())?Or:function(e){return na(e)&&Me.call(e,"callee")&&!et.call(e,"callee")},qs=r.isArray,Hs=dt?Gt(dt):function(e){return na(e)&&kr(e)==I};function zs(e){return null!=e&&ea(e.length)&&!Zs(e)}function Ks(e){return na(e)&&zs(e)}var Qs=hn||wl,Ys=ft?Gt(ft):function(e){return na(e)&&kr(e)==v};function Js(e){if(!na(e))return!1;var t=kr(e);return t==y||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!oa(e)}function Zs(e){if(!ta(e))return!1;var t=kr(e);return t==b||t==S||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Xs(e){return"number"==typeof e&&e==ga(e)}function ea(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function ta(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function na(e){return null!=e&&"object"==typeof e}var ra=ht?Gt(ht):function(e){return na(e)&&ho(e)==C};function ia(e){return"number"==typeof e||na(e)&&kr(e)==_}function oa(e){if(!na(e)||kr(e)!=k)return!1;var t=He(e);if(null===t)return!0;var n=Me.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Re.call(n)==Fe}var sa=pt?Gt(pt):function(e){return na(e)&&kr(e)==E},aa=gt?Gt(gt):function(e){return na(e)&&ho(e)==L};function la(e){return"string"==typeof e||!qs(e)&&na(e)&&kr(e)==A}function ca(e){return"symbol"==typeof e||na(e)&&kr(e)==T}var ua=mt?Gt(mt):function(e){return na(e)&&ea(e.length)&&!!Ze[kr(e)]},da=Vi(Pr),fa=Vi((function(e,t){return e<=t}));function ha(e){if(!e)return[];if(zs(e))return la(e)?sn(e):Li(e);if(st&&e[st])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[st]());var t=ho(e);return(t==C?Xt:t==L?nn:Ba)(e)}function pa(e){return e?(e=wa(e))===u||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ga(e){var t=pa(e),n=t%1;return t==t?n?t-n:t:0}function ma(e){return e?sr(ga(e),0,h):0}function wa(e){if("number"==typeof e)return e;if(ca(e))return f;if(ta(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ta(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Ut(e);var n=pe.test(e);return n||me.test(e)?nt(e.slice(2),n?2:8):he.test(e)?f:+e}function va(e){return Ai(e,Ma(e))}function ya(e){return null==e?"":ai(e)}var ba=Oi((function(e,t){if(Co(t)||zs(t))Ai(t,Ra(t),e);else for(var n in t)Me.call(t,n)&&er(e,n,t[n])})),Sa=Oi((function(e,t){Ai(t,Ma(t),e)})),Ca=Oi((function(e,t,n,r){Ai(t,Ma(t),e,r)})),_a=Oi((function(e,t,n,r){Ai(t,Ra(t),e,r)})),ka=eo(or),Wa=Kr((function(e,t){e=ke(e);var n=-1,r=t.length,o=r>2?t[2]:i;for(o&&vo(t[0],t[1],o)&&(r=1);++n<r;)for(var s=t[n],a=Ma(s),l=-1,c=a.length;++l<c;){var u=a[l],d=e[u];(d===i||Bs(d,Oe[u])&&!Me.call(e,u))&&(e[u]=s[u])}return e})),Ea=Kr((function(e){return e.push(i,Ji),wt(Da,i,e)}));function La(e,t,n){var r=null==e?i:Cr(e,t);return r===i?n:r}function Aa(e,t){return null!=e&&po(e,t,Lr)}var Ta=xi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Pe.call(t)),e[t]=n}),tl(il)),Oa=xi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Pe.call(t)),Me.call(e,t)?e[t].push(n):e[t]=[n]}),so),Ia=Kr(Tr);function Ra(e){return zs(e)?Qn(e):Dr(e)}function Ma(e){return zs(e)?Qn(e,!0):function(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var n in ke(e))t.push(n);return t}(e);var t=Co(e),n=[];for(var r in e)("constructor"!=r||!t&&Me.call(e,r))&&n.push(r);return n}(e)}var Na=Oi((function(e,t,n){$r(e,t,n)})),Da=Oi((function(e,t,n,r){$r(e,t,n,r)})),Pa=eo((function(e,t){var n={};if(null==e)return n;var r=!1;t=Wt(t,(function(t){return t=wi(t,e),r||(r=t.length>1),t})),Ai(e,no(e),n),r&&(n=ar(n,7,Zi));for(var i=t.length;i--;)ci(n,t[i]);return n})),Fa=eo((function(e,t){return null==e?{}:function(e,t){return Gr(e,t,(function(t,n){return Aa(e,n)}))}(e,t)}));function ja(e,t){if(null==e)return{};var n=Wt(no(e),(function(e){return[e]}));return t=so(t),Gr(e,n,(function(e,n){return t(e,n[0])}))}var xa=Ki(Ra),$a=Ki(Ma);function Ba(e){return null==e?[]:Vt(e,Ra(e))}var Ua=Ni((function(e,t,n){return t=t.toLowerCase(),e+(n?Ga(t):t)}));function Ga(e){return Ja(ya(e).toLowerCase())}function Va(e){return(e=ya(e))&&e.replace(ve,Qt).replace(qe,"")}var qa=Ni((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ha=Ni((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),za=Mi("toLowerCase"),Ka=Ni((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Qa=Ni((function(e,t,n){return e+(n?" ":"")+Ja(t)})),Ya=Ni((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ja=Mi("toUpperCase");function Za(e,t,n){return e=ya(e),(t=n?i:t)===i?function(e){return Qe.test(e)}(e)?function(e){return e.match(ze)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Xa=Kr((function(e,t){try{return wt(e,i,t)}catch(e){return Js(e)?e:new Se(e)}})),el=eo((function(e,t){return yt(t,(function(t){t=jo(t),ir(e,t,Os(e[t],e))})),e}));function tl(e){return function(){return e}}var nl=Fi(),rl=Fi(!0);function il(e){return e}function ol(e){return Nr("function"==typeof e?e:ar(e,1))}var sl=Kr((function(e,t){return function(n){return Tr(n,e,t)}})),al=Kr((function(e,t){return function(n){return Tr(e,n,t)}}));function ll(e,t,n){var r=Ra(t),i=Sr(t,r);null!=n||ta(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=Sr(t,Ra(t)));var o=!(ta(n)&&"chain"in n&&!n.chain),s=Zs(e);return yt(i,(function(n){var r=t[n];e[n]=r,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=Li(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Et([this.value()],arguments))})})),e}function cl(){}var ul=Bi(Wt),dl=Bi(St),fl=Bi(Tt);function hl(e){return yo(e)?Ft(jo(e)):function(e){return function(t){return Cr(t,e)}}(e)}var pl=Gi(),gl=Gi(!0);function ml(){return[]}function wl(){return!1}var vl,yl=$i((function(e,t){return e+t}),0),bl=Hi("ceil"),Sl=$i((function(e,t){return e/t}),1),Cl=Hi("floor"),_l=$i((function(e,t){return e*t}),1),kl=Hi("round"),Wl=$i((function(e,t){return e-t}),0);return xn.after=function(e,t){if("function"!=typeof t)throw new Le(o);return e=ga(e),function(){if(--e<1)return t.apply(this,arguments)}},xn.ary=As,xn.assign=ba,xn.assignIn=Sa,xn.assignInWith=Ca,xn.assignWith=_a,xn.at=ka,xn.before=Ts,xn.bind=Os,xn.bindAll=el,xn.bindKey=Is,xn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return qs(e)?e:[e]},xn.chain=hs,xn.chunk=function(e,t,n){t=(n?vo(e,t,n):t===i)?1:wn(ga(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,l=r(un(o/t));s<o;)l[a++]=ti(e,s,s+=t);return l},xn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},xn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return Et(qs(n)?Li(n):[n],mr(t,1))},xn.cond=function(e){var t=null==e?0:e.length,n=so();return e=t?Wt(e,(function(e){if("function"!=typeof e[1])throw new Le(o);return[n(e[0]),e[1]]})):[],Kr((function(n){for(var r=-1;++r<t;){var i=e[r];if(wt(i[0],this,n))return wt(i[1],this,n)}}))},xn.conforms=function(e){return function(e){var t=Ra(e);return function(n){return lr(n,e,t)}}(ar(e,1))},xn.constant=tl,xn.countBy=ms,xn.create=function(e,t){var n=$n(e);return null==t?n:rr(n,t)},xn.curry=function e(t,n,r){var o=Qi(t,8,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},xn.curryRight=function e(t,n,r){var o=Qi(t,16,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},xn.debounce=Rs,xn.defaults=Wa,xn.defaultsDeep=Ea,xn.defer=Ms,xn.delay=Ns,xn.difference=Bo,xn.differenceBy=Uo,xn.differenceWith=Go,xn.drop=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,(t=n||t===i?1:ga(t))<0?0:t,r):[]},xn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,0,(t=r-(t=n||t===i?1:ga(t)))<0?0:t):[]},xn.dropRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0,!0):[]},xn.dropWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0):[]},xn.fill=function(e,t,n,r){var o=null==e?0:e.length;return o?(n&&"number"!=typeof n&&vo(e,t,n)&&(n=0,r=o),function(e,t,n,r){var o=e.length;for((n=ga(n))<0&&(n=-n>o?0:o+n),(r=r===i||r>o?o:ga(r))<0&&(r+=o),r=n>r?0:ma(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},xn.filter=function(e,t){return(qs(e)?Ct:gr)(e,so(t,3))},xn.flatMap=function(e,t){return mr(ks(e,t),1)},xn.flatMapDeep=function(e,t){return mr(ks(e,t),u)},xn.flatMapDepth=function(e,t,n){return n=n===i?1:ga(n),mr(ks(e,t),n)},xn.flatten=Ho,xn.flattenDeep=function(e){return null!=e&&e.length?mr(e,u):[]},xn.flattenDepth=function(e,t){return null!=e&&e.length?mr(e,t=t===i?1:ga(t)):[]},xn.flip=function(e){return Qi(e,512)},xn.flow=nl,xn.flowRight=rl,xn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},xn.functions=function(e){return null==e?[]:Sr(e,Ra(e))},xn.functionsIn=function(e){return null==e?[]:Sr(e,Ma(e))},xn.groupBy=Ss,xn.initial=function(e){return null!=e&&e.length?ti(e,0,-1):[]},xn.intersection=Ko,xn.intersectionBy=Qo,xn.intersectionWith=Yo,xn.invert=Ta,xn.invertBy=Oa,xn.invokeMap=Cs,xn.iteratee=ol,xn.keyBy=_s,xn.keys=Ra,xn.keysIn=Ma,xn.map=ks,xn.mapKeys=function(e,t){var n={};return t=so(t,3),yr(e,(function(e,r,i){ir(n,t(e,r,i),e)})),n},xn.mapValues=function(e,t){var n={};return t=so(t,3),yr(e,(function(e,r,i){ir(n,r,t(e,r,i))})),n},xn.matches=function(e){return jr(ar(e,1))},xn.matchesProperty=function(e,t){return xr(e,ar(t,1))},xn.memoize=Ds,xn.merge=Na,xn.mergeWith=Da,xn.method=sl,xn.methodOf=al,xn.mixin=ll,xn.negate=Ps,xn.nthArg=function(e){return e=ga(e),Kr((function(t){return Br(t,e)}))},xn.omit=Pa,xn.omitBy=function(e,t){return ja(e,Ps(so(t)))},xn.once=function(e){return Ts(2,e)},xn.orderBy=function(e,t,n,r){return null==e?[]:(qs(t)||(t=null==t?[]:[t]),qs(n=r?i:n)||(n=null==n?[]:[n]),Ur(e,t,n))},xn.over=ul,xn.overArgs=Fs,xn.overEvery=dl,xn.overSome=fl,xn.partial=js,xn.partialRight=xs,xn.partition=Ws,xn.pick=Fa,xn.pickBy=ja,xn.property=hl,xn.propertyOf=function(e){return function(t){return null==e?i:Cr(e,t)}},xn.pull=Zo,xn.pullAll=Xo,xn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Vr(e,t,so(n,2)):e},xn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Vr(e,t,i,n):e},xn.pullAt=es,xn.range=pl,xn.rangeRight=gl,xn.rearg=$s,xn.reject=function(e,t){return(qs(e)?Ct:gr)(e,Ps(so(t,3)))},xn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=so(t,3);++r<o;){var s=e[r];t(s,r,e)&&(n.push(s),i.push(r))}return qr(e,i),n},xn.rest=function(e,t){if("function"!=typeof e)throw new Le(o);return Kr(e,t=t===i?t:ga(t))},xn.reverse=ts,xn.sampleSize=function(e,t,n){return t=(n?vo(e,t,n):t===i)?1:ga(t),(qs(e)?Jn:Yr)(e,t)},xn.set=function(e,t,n){return null==e?e:Jr(e,t,n)},xn.setWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:Jr(e,t,n,r)},xn.shuffle=function(e){return(qs(e)?Zn:ei)(e)},xn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&vo(e,t,n)?(t=0,n=r):(t=null==t?0:ga(t),n=n===i?r:ga(n)),ti(e,t,n)):[]},xn.sortBy=Es,xn.sortedUniq=function(e){return e&&e.length?oi(e):[]},xn.sortedUniqBy=function(e,t){return e&&e.length?oi(e,so(t,2)):[]},xn.split=function(e,t,n){return n&&"number"!=typeof n&&vo(e,t,n)&&(t=n=i),(n=n===i?h:n>>>0)?(e=ya(e))&&("string"==typeof t||null!=t&&!sa(t))&&!(t=ai(t))&&Zt(e)?yi(sn(e),0,n):e.split(t,n):[]},xn.spread=function(e,t){if("function"!=typeof e)throw new Le(o);return t=null==t?0:wn(ga(t),0),Kr((function(n){var r=n[t],i=yi(n,0,t);return r&&Et(i,r),wt(e,this,i)}))},xn.tail=function(e){var t=null==e?0:e.length;return t?ti(e,1,t):[]},xn.take=function(e,t,n){return e&&e.length?ti(e,0,(t=n||t===i?1:ga(t))<0?0:t):[]},xn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,(t=r-(t=n||t===i?1:ga(t)))<0?0:t,r):[]},xn.takeRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!1,!0):[]},xn.takeWhile=function(e,t){return e&&e.length?di(e,so(t,3)):[]},xn.tap=function(e,t){return t(e),e},xn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Le(o);return ta(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Rs(e,t,{leading:r,maxWait:t,trailing:i})},xn.thru=ps,xn.toArray=ha,xn.toPairs=xa,xn.toPairsIn=$a,xn.toPath=function(e){return qs(e)?Wt(e,jo):ca(e)?[e]:Li(Fo(ya(e)))},xn.toPlainObject=va,xn.transform=function(e,t,n){var r=qs(e),i=r||Qs(e)||ua(e);if(t=so(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:ta(e)&&Zs(o)?$n(He(e)):{}}return(i?yt:yr)(e,(function(e,r,i){return t(n,e,r,i)})),n},xn.unary=function(e){return As(e,1)},xn.union=ns,xn.unionBy=rs,xn.unionWith=is,xn.uniq=function(e){return e&&e.length?li(e):[]},xn.uniqBy=function(e,t){return e&&e.length?li(e,so(t,2)):[]},xn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?li(e,i,t):[]},xn.unset=function(e,t){return null==e||ci(e,t)},xn.unzip=os,xn.unzipWith=ss,xn.update=function(e,t,n){return null==e?e:ui(e,t,mi(n))},xn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:ui(e,t,mi(n),r)},xn.values=Ba,xn.valuesIn=function(e){return null==e?[]:Vt(e,Ma(e))},xn.without=as,xn.words=Za,xn.wrap=function(e,t){return js(mi(t),e)},xn.xor=ls,xn.xorBy=cs,xn.xorWith=us,xn.zip=ds,xn.zipObject=function(e,t){return pi(e||[],t||[],er)},xn.zipObjectDeep=function(e,t){return pi(e||[],t||[],Jr)},xn.zipWith=fs,xn.entries=xa,xn.entriesIn=$a,xn.extend=Sa,xn.extendWith=Ca,ll(xn,xn),xn.add=yl,xn.attempt=Xa,xn.camelCase=Ua,xn.capitalize=Ga,xn.ceil=bl,xn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=wa(n))==n?n:0),t!==i&&(t=(t=wa(t))==t?t:0),sr(wa(e),t,n)},xn.clone=function(e){return ar(e,4)},xn.cloneDeep=function(e){return ar(e,5)},xn.cloneDeepWith=function(e,t){return ar(e,5,t="function"==typeof t?t:i)},xn.cloneWith=function(e,t){return ar(e,4,t="function"==typeof t?t:i)},xn.conformsTo=function(e,t){return null==t||lr(e,t,Ra(t))},xn.deburr=Va,xn.defaultTo=function(e,t){return null==e||e!=e?t:e},xn.divide=Sl,xn.endsWith=function(e,t,n){e=ya(e),t=ai(t);var r=e.length,o=n=n===i?r:sr(ga(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},xn.eq=Bs,xn.escape=function(e){return(e=ya(e))&&K.test(e)?e.replace(H,Yt):e},xn.escapeRegExp=function(e){return(e=ya(e))&&ne.test(e)?e.replace(te,"\\$&"):e},xn.every=function(e,t,n){var r=qs(e)?St:hr;return n&&vo(e,t,n)&&(t=i),r(e,so(t,3))},xn.find=ws,xn.findIndex=Vo,xn.findKey=function(e,t){return It(e,so(t,3),yr)},xn.findLast=vs,xn.findLastIndex=qo,xn.findLastKey=function(e,t){return It(e,so(t,3),br)},xn.floor=Cl,xn.forEach=ys,xn.forEachRight=bs,xn.forIn=function(e,t){return null==e?e:wr(e,so(t,3),Ma)},xn.forInRight=function(e,t){return null==e?e:vr(e,so(t,3),Ma)},xn.forOwn=function(e,t){return e&&yr(e,so(t,3))},xn.forOwnRight=function(e,t){return e&&br(e,so(t,3))},xn.get=La,xn.gt=Us,xn.gte=Gs,xn.has=function(e,t){return null!=e&&po(e,t,Er)},xn.hasIn=Aa,xn.head=zo,xn.identity=il,xn.includes=function(e,t,n,r){e=zs(e)?e:Ba(e),n=n&&!r?ga(n):0;var i=e.length;return n<0&&(n=wn(i+n,0)),la(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Mt(e,t,n)>-1},xn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ga(n);return i<0&&(i=wn(r+i,0)),Mt(e,t,i)},xn.inRange=function(e,t,n){return t=pa(t),n===i?(n=t,t=0):n=pa(n),function(e,t,n){return e>=vn(t,n)&&e<wn(t,n)}(e=wa(e),t,n)},xn.invoke=Ia,xn.isArguments=Vs,xn.isArray=qs,xn.isArrayBuffer=Hs,xn.isArrayLike=zs,xn.isArrayLikeObject=Ks,xn.isBoolean=function(e){return!0===e||!1===e||na(e)&&kr(e)==w},xn.isBuffer=Qs,xn.isDate=Ys,xn.isElement=function(e){return na(e)&&1===e.nodeType&&!oa(e)},xn.isEmpty=function(e){if(null==e)return!0;if(zs(e)&&(qs(e)||"string"==typeof e||"function"==typeof e.splice||Qs(e)||ua(e)||Vs(e)))return!e.length;var t=ho(e);if(t==C||t==L)return!e.size;if(Co(e))return!Dr(e).length;for(var n in e)if(Me.call(e,n))return!1;return!0},xn.isEqual=function(e,t){return Ir(e,t)},xn.isEqualWith=function(e,t,n){var r=(n="function"==typeof n?n:i)?n(e,t):i;return r===i?Ir(e,t,i,n):!!r},xn.isError=Js,xn.isFinite=function(e){return"number"==typeof e&&pn(e)},xn.isFunction=Zs,xn.isInteger=Xs,xn.isLength=ea,xn.isMap=ra,xn.isMatch=function(e,t){return e===t||Rr(e,t,lo(t))},xn.isMatchWith=function(e,t,n){return n="function"==typeof n?n:i,Rr(e,t,lo(t),n)},xn.isNaN=function(e){return ia(e)&&e!=+e},xn.isNative=function(e){if(So(e))throw new Se("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Mr(e)},xn.isNil=function(e){return null==e},xn.isNull=function(e){return null===e},xn.isNumber=ia,xn.isObject=ta,xn.isObjectLike=na,xn.isPlainObject=oa,xn.isRegExp=sa,xn.isSafeInteger=function(e){return Xs(e)&&e>=-9007199254740991&&e<=d},xn.isSet=aa,xn.isString=la,xn.isSymbol=ca,xn.isTypedArray=ua,xn.isUndefined=function(e){return e===i},xn.isWeakMap=function(e){return na(e)&&ho(e)==O},xn.isWeakSet=function(e){return na(e)&&"[object WeakSet]"==kr(e)},xn.join=function(e,t){return null==e?"":gn.call(e,t)},xn.kebabCase=qa,xn.last=Jo,xn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ga(n))<0?wn(r+o,0):vn(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):Rt(e,Dt,o,!0)},xn.lowerCase=Ha,xn.lowerFirst=za,xn.lt=da,xn.lte=fa,xn.max=function(e){return e&&e.length?pr(e,il,Wr):i},xn.maxBy=function(e,t){return e&&e.length?pr(e,so(t,2),Wr):i},xn.mean=function(e){return Pt(e,il)},xn.meanBy=function(e,t){return Pt(e,so(t,2))},xn.min=function(e){return e&&e.length?pr(e,il,Pr):i},xn.minBy=function(e,t){return e&&e.length?pr(e,so(t,2),Pr):i},xn.stubArray=ml,xn.stubFalse=wl,xn.stubObject=function(){return{}},xn.stubString=function(){return""},xn.stubTrue=function(){return!0},xn.multiply=_l,xn.nth=function(e,t){return e&&e.length?Br(e,ga(t)):i},xn.noConflict=function(){return ot._===this&&(ot._=je),this},xn.noop=cl,xn.now=Ls,xn.pad=function(e,t,n){e=ya(e);var r=(t=ga(t))?on(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Ui(dn(i),n)+e+Ui(un(i),n)},xn.padEnd=function(e,t,n){e=ya(e);var r=(t=ga(t))?on(e):0;return t&&r<t?e+Ui(t-r,n):e},xn.padStart=function(e,t,n){e=ya(e);var r=(t=ga(t))?on(e):0;return t&&r<t?Ui(t-r,n)+e:e},xn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),bn(ya(e).replace(re,""),t||0)},xn.random=function(e,t,n){if(n&&"boolean"!=typeof n&&vo(e,t,n)&&(t=n=i),n===i&&("boolean"==typeof t?(n=t,t=i):"boolean"==typeof e&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=pa(e),t===i?(t=e,e=0):t=pa(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=Sn();return vn(e+o*(t-e+tt("1e-"+((o+"").length-1))),t)}return Hr(e,t)},xn.reduce=function(e,t,n){var r=qs(e)?Lt:xt,i=arguments.length<3;return r(e,so(t,4),n,i,dr)},xn.reduceRight=function(e,t,n){var r=qs(e)?At:xt,i=arguments.length<3;return r(e,so(t,4),n,i,fr)},xn.repeat=function(e,t,n){return t=(n?vo(e,t,n):t===i)?1:ga(t),zr(ya(e),t)},xn.replace=function(){var e=arguments,t=ya(e[0]);return e.length<3?t:t.replace(e[1],e[2])},xn.result=function(e,t,n){var r=-1,o=(t=wi(t,e)).length;for(o||(o=1,e=i);++r<o;){var s=null==e?i:e[jo(t[r])];s===i&&(r=o,s=n),e=Zs(s)?s.call(e):s}return e},xn.round=kl,xn.runInContext=e,xn.sample=function(e){return(qs(e)?Yn:Qr)(e)},xn.size=function(e){if(null==e)return 0;if(zs(e))return la(e)?on(e):e.length;var t=ho(e);return t==C||t==L?e.size:Dr(e).length},xn.snakeCase=Ka,xn.some=function(e,t,n){var r=qs(e)?Tt:ni;return n&&vo(e,t,n)&&(t=i),r(e,so(t,3))},xn.sortedIndex=function(e,t){return ri(e,t)},xn.sortedIndexBy=function(e,t,n){return ii(e,t,so(n,2))},xn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=ri(e,t);if(r<n&&Bs(e[r],t))return r}return-1},xn.sortedLastIndex=function(e,t){return ri(e,t,!0)},xn.sortedLastIndexBy=function(e,t,n){return ii(e,t,so(n,2),!0)},xn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=ri(e,t,!0)-1;if(Bs(e[n],t))return n}return-1},xn.startCase=Qa,xn.startsWith=function(e,t,n){return e=ya(e),n=null==n?0:sr(ga(n),0,e.length),t=ai(t),e.slice(n,n+t.length)==t},xn.subtract=Wl,xn.sum=function(e){return e&&e.length?$t(e,il):0},xn.sumBy=function(e,t){return e&&e.length?$t(e,so(t,2)):0},xn.template=function(e,t,n){var r=xn.templateSettings;n&&vo(e,t,n)&&(t=i),e=ya(e),t=Ca({},t,r,Yi);var o,s,a=Ca({},t.imports,r.imports,Yi),l=Ra(a),c=Vt(a,l),u=0,d=t.interpolate||ye,f="__p += '",h=We((t.escape||ye).source+"|"+d.source+"|"+(d===J?de:ye).source+"|"+(t.evaluate||ye).source+"|$","g"),p="//# sourceURL="+(Me.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Je+"]")+"\n";e.replace(h,(function(t,n,r,i,a,l){return r||(r=i),f+=e.slice(u,l).replace(be,Jt),n&&(o=!0,f+="' +\n__e("+n+") +\n'"),a&&(s=!0,f+="';\n"+a+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),f+="';\n";var g=Me.call(t,"variable")&&t.variable;if(g){if(ce.test(g))throw new Se("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(U,""):f).replace(G,"$1").replace(V,"$1;"),f="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var m=Xa((function(){return Ce(l,p+"return "+f).apply(i,c)}));if(m.source=f,Js(m))throw m;return m},xn.times=function(e,t){if((e=ga(e))<1||e>d)return[];var n=h,r=vn(e,h);t=so(t),e-=h;for(var i=Bt(r,t);++n<e;)t(n);return i},xn.toFinite=pa,xn.toInteger=ga,xn.toLength=ma,xn.toLower=function(e){return ya(e).toLowerCase()},xn.toNumber=wa,xn.toSafeInteger=function(e){return e?sr(ga(e),-9007199254740991,d):0===e?e:0},xn.toString=ya,xn.toUpper=function(e){return ya(e).toUpperCase()},xn.trim=function(e,t,n){if((e=ya(e))&&(n||t===i))return Ut(e);if(!e||!(t=ai(t)))return e;var r=sn(e),o=sn(t);return yi(r,Ht(r,o),zt(r,o)+1).join("")},xn.trimEnd=function(e,t,n){if((e=ya(e))&&(n||t===i))return e.slice(0,an(e)+1);if(!e||!(t=ai(t)))return e;var r=sn(e);return yi(r,0,zt(r,sn(t))+1).join("")},xn.trimStart=function(e,t,n){if((e=ya(e))&&(n||t===i))return e.replace(re,"");if(!e||!(t=ai(t)))return e;var r=sn(e);return yi(r,Ht(r,sn(t))).join("")},xn.truncate=function(e,t){var n=30,r="...";if(ta(t)){var o="separator"in t?t.separator:o;n="length"in t?ga(t.length):n,r="omission"in t?ai(t.omission):r}var s=(e=ya(e)).length;if(Zt(e)){var a=sn(e);s=a.length}if(n>=s)return e;var l=n-on(r);if(l<1)return r;var c=a?yi(a,0,l).join(""):e.slice(0,l);if(o===i)return c+r;if(a&&(l+=c.length-l),sa(o)){if(e.slice(l).search(o)){var u,d=c;for(o.global||(o=We(o.source,ya(fe.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var f=u.index;c=c.slice(0,f===i?l:f)}}else if(e.indexOf(ai(o),l)!=l){var h=c.lastIndexOf(o);h>-1&&(c=c.slice(0,h))}return c+r},xn.unescape=function(e){return(e=ya(e))&&z.test(e)?e.replace(q,ln):e},xn.uniqueId=function(e){var t=++Ne;return ya(e)+t},xn.upperCase=Ya,xn.upperFirst=Ja,xn.each=ys,xn.eachRight=bs,xn.first=zo,ll(xn,(vl={},yr(xn,(function(e,t){Me.call(xn.prototype,t)||(vl[t]=e)})),vl),{chain:!1}),xn.VERSION="4.17.21",yt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){xn[e].placeholder=xn})),yt(["drop","take"],(function(e,t){Gn.prototype[e]=function(n){n=n===i?1:wn(ga(n),0);var r=this.__filtered__&&!t?new Gn(this):this.clone();return r.__filtered__?r.__takeCount__=vn(n,r.__takeCount__):r.__views__.push({size:vn(n,h),type:e+(r.__dir__<0?"Right":"")}),r},Gn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),yt(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Gn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:so(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),yt(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Gn.prototype[e]=function(){return this[n](1).value()[0]}})),yt(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Gn.prototype[e]=function(){return this.__filtered__?new Gn(this):this[n](1)}})),Gn.prototype.compact=function(){return this.filter(il)},Gn.prototype.find=function(e){return this.filter(e).head()},Gn.prototype.findLast=function(e){return this.reverse().find(e)},Gn.prototype.invokeMap=Kr((function(e,t){return"function"==typeof e?new Gn(this):this.map((function(n){return Tr(n,e,t)}))})),Gn.prototype.reject=function(e){return this.filter(Ps(so(e)))},Gn.prototype.slice=function(e,t){e=ga(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Gn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=ga(t))<0?n.dropRight(-t):n.take(t-e)),n)},Gn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Gn.prototype.toArray=function(){return this.take(h)},yr(Gn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=xn[r?"take"+("last"==t?"Right":""):t],s=r||/^find/.test(t);o&&(xn.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,l=t instanceof Gn,c=a[0],u=l||qs(t),d=function(e){var t=o.apply(xn,Et([e],a));return r&&f?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var f=this.__chain__,h=!!this.__actions__.length,p=s&&!f,g=l&&!h;if(!s&&u){t=g?t:new Gn(this);var m=e.apply(t,a);return m.__actions__.push({func:ps,args:[d],thisArg:i}),new Un(m,f)}return p&&g?e.apply(this,a):(m=this.thru(d),p?r?m.value()[0]:m.value():m)})})),yt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ae[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);xn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(qs(i)?i:[],e)}return this[n]((function(n){return t.apply(qs(n)?n:[],e)}))}})),yr(Gn.prototype,(function(e,t){var n=xn[t];if(n){var r=n.name+"";Me.call(On,r)||(On[r]=[]),On[r].push({name:t,func:n})}})),On[ji(i,2).name]=[{name:"wrapper",func:i}],Gn.prototype.clone=function(){var e=new Gn(this.__wrapped__);return e.__actions__=Li(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Li(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Li(this.__views__),e},Gn.prototype.reverse=function(){if(this.__filtered__){var e=new Gn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Gn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=qs(e),r=t<0,i=n?e.length:0,o=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],s=o.size;switch(o.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=vn(t,e+s);break;case"takeRight":e=wn(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=o.start,a=o.end,l=a-s,c=r?a:s-1,u=this.__iteratees__,d=u.length,f=0,h=vn(l,this.__takeCount__);if(!n||!r&&i==l&&h==l)return fi(e,this.__actions__);var p=[];e:for(;l--&&f<h;){for(var g=-1,m=e[c+=t];++g<d;){var w=u[g],v=w.iteratee,y=w.type,b=v(m);if(2==y)m=b;else if(!b){if(1==y)continue e;break e}}p[f++]=m}return p},xn.prototype.at=gs,xn.prototype.chain=function(){return hs(this)},xn.prototype.commit=function(){return new Un(this.value(),this.__chain__)},xn.prototype.next=function(){this.__values__===i&&(this.__values__=ha(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},xn.prototype.plant=function(e){for(var t,n=this;n instanceof Bn;){var r=$o(n);r.__index__=0,r.__values__=i,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},xn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Gn){var t=e;return this.__actions__.length&&(t=new Gn(this)),(t=t.reverse()).__actions__.push({func:ps,args:[ts],thisArg:i}),new Un(t,this.__chain__)}return this.thru(ts)},xn.prototype.toJSON=xn.prototype.valueOf=xn.prototype.value=function(){return fi(this.__wrapped__,this.__actions__)},xn.prototype.first=xn.prototype.head,st&&(xn.prototype[st]=function(){return this}),xn}();ot._=cn,(r=function(){return cn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},88306:(e,t,n)=>{var r=n(83369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},94885:e=>{e.exports=function(e){if("function"!=typeof e)throw new TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}},7771:(e,t,n)=>{var r=n(55639);e.exports=function(){return r.Date.now()}},78718:(e,t,n)=>{var r=n(25970),i=n(99021)((function(e,t){return null==e?{}:r(e,t)}));e.exports=i},36968:(e,t,n)=>{var r=n(10611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},70479:e=>{e.exports=function(){return[]}},95062:e=>{e.exports=function(){return!1}},23493:(e,t,n)=>{var r=n(23279),i=n(13218);e.exports=function(e,t,n){var o=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return i(n)&&(o="leading"in n?!!n.leading:o,s="trailing"in n?!!n.trailing:s),r(e,t,{leading:o,maxWait:t,trailing:s})}},14841:(e,t,n)=>{var r=n(27561),i=n(13218),o=n(33448),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=a.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):s.test(e)?NaN:+e}},79833:(e,t,n)=>{var r=n(80531);e.exports=function(e){return null==e?"":r(e)}},79684:function(e,t,n){"use strict";var r,i,o,s,a,l,c,u,d,f,h,p,g,m,w=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},v=this&&this.__classPrivateFieldSet||function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},y=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleDesktopAgent=void 0;const b=n(21614),S=n(63250),C=y(n(2518)),_=n(87406),k=n(87406);class W{constructor(){r.set(this,12e4),i.set(this,null),o.set(this,[])}start(){this.registerHeartbeat()}registerHeartbeat(){clearTimeout(w(this,i,"f")),C.default.system.debug("FinsembleDesktopAgent: heartbeat received"),v(this,i,setTimeout((()=>{C.default.system.warn(`FinsembleDesktopAgent: No heartbeat received within ${w(this,r,"f")} milliseconds`),this.notifyDisconnect()}),w(this,r,"f")),"f")}notifyDisconnect(){console.warn("fdc3 has lost connectivity to the interop service. You may need to restart this app."),w(this,o,"f").forEach((e=>{e(`No heartbeat received from interop service within ${w(this,r,"f")} milliseconds`)}))}onDisconnect(e){v(this,o,w(this,o,"f").concat(e),"f")}stop(){clearTimeout(w(this,i,"f"))}}r=new WeakMap,i=new WeakMap,o=new WeakMap;class E{constructor(e,t,n="app"){s.set(this,void 0),v(this,s,e,"f"),this.id=t,this.type=n}broadcast(e){w(this,s,"f").channelBroadcast(this.id,e)}getCurrentContext(e){return w(this,s,"f").channelGetCurrentContext(this.id,e)}addContextListener(e,t){return w(this,s,"f").channelAddContextListener(this.id,e,t)}}s=new WeakMap,t.FinsembleDesktopAgent=class{constructor({routerClient:e,startup:t}){if(a.set(this,!1),l.set(this,new W),c.set(this,!1),u.set(this,""),d.set(this,`FSBL.FDC3.Client.${(0,b.v4)()}`),f.set(this,{}),h.set(this,{}),p.set(this,[]),g.set(this,void 0),m.set(this,void 0),v(this,g,e,"f"),v(this,m,t,"f"),window&&window.Event&&window.dispatchEvent){const e=new Event("fdc3Ready");window.dispatchEvent(e)}}meta(){return{uuid:w(this,u,"f"),href:window.document?document.location.href:""}}handleHeartbeat(){w(this,l,"f").registerHeartbeat()}triggerContextListeners(e){var t,n;const{context:r}=e.payload;let i;if(e.meta.targetSubscriberId){let t;Object.values(w(this,h,"f")).every((n=>(t=n.find((t=>t.targetSubscriberId===e.meta.targetSubscriberId)),void 0===t))),i=t?[t]:[]}else i=(null!==(t=w(this,h,"f")[null==r?void 0:r.type])&&void 0!==t?t:[]).concat(null!==(n=w(this,h,"f")["*"])&&void 0!==n?n:[]);i.forEach((({handler:t,channel:n})=>{e.meta.channel===n||!e.meta.channel&&!n?(C.default.system.debug(`FDC3 Client: triggerContextListeners for all on ${null!=n?n:"default"} channel`,e.type,e),t(r)):C.default.system.debug(`FDC3 Client: triggerContextListeners skipped for all on ${null!=n?n:"default"} channel`,e.type,e)}))}triggerIntentListeners(e){const{intent:t,context:n}=e.payload,r=w(this,f,"f")[t];n&&(r||[]).forEach((e=>e(n)))}handleIncoming(e){switch(C.default.system.debug("FDC3 Client: handleIncoming",e.type,e),e.type){case"broadcast":this.triggerContextListeners(e);break;case"intent":this.triggerIntentListeners(e);break;case"heartbeat":this.handleHeartbeat()}}releaseQueue(){const e=e=>{var t;return void 0!==(null===(t=null==e?void 0:e.meta)||void 0===t?void 0:t.uuid)&&(e.meta.uuid=w(this,u,"f")),e};w(this,p,"f").forEach((async t=>{const{message:n,handler:r,resolve:i}=t,{err:o,receiveMessage:s}=await this.exchange(e(n),r);i({err:o,receiveMessage:s})})),v(this,p,[],"f")}exchange(e,t=(()=>{})){return new Promise((async n=>{if(w(this,a,"f")){const{err:r,response:i}=await w(this,g,"f").query(_.SERVER_CHANNEL,e,t);n({err:r,receiveMessage:null==i?void 0:i.data})}else w(this,p,"f").push({message:e,handler:t,resolve:n}),this.start()}))}async connect(){const e=w(this,m,"f").getStartupData(),{windowName:t="Unknown window",authenticationToken:n}=e;C.default.system.log(`fdc3.connect StartupData for ${t}`,e),v(this,u,t,"f");const r={type:"register",meta:this.meta(),payload:{clientChannel:w(this,d,"f"),windowName:t,authenticationToken:n}};w(this,g,"f").query(_.SERVER_CHANNEL,r,(e=>{e?C.default.system.error("connect error",e):(w(this,g,"f").addResponder(w(this,d,"f"),((e,t)=>{if(e||!t){const t=(0,k.errorAsString)(null!=e?e:"No request received on responder");C.default.system.error(`FinsembleDesktopAgent can't listen on channel ${w(this,d,"f")} : ${t}`)}else t.data&&this.handleIncoming(t.data),t.sendQueryResponse(null)})),v(this,a,!0,"f"),this.releaseQueue(),w(this,l,"f").start())}))}async start(){w(this,c,"f")||(v(this,c,!0,"f"),await w(this,m,"f").onReady(),this.connect())}async stop(){w(this,l,"f").stop();const e={type:"unregister",meta:this.meta()};await this.exchange(e),v(this,c,!1,"f"),w(this,g,"f").removeResponder(w(this,d,"f")),v(this,a,!1,"f")}onDisconnect(e){w(this,l,"f").onDisconnect(e)}async channelGetCurrentContext(e,t){const n={type:"currentContextRequest",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{contextType:t}},{err:r,receiveMessage:i}=await this.exchange(n);return r?null:"currentContext"===(null==i?void 0:i.type)?i.payload.context:null}broadcast(e){const t={type:"broadcast",meta:this.meta(),payload:{context:e}};this.exchange(t)}channelBroadcast(e,t){const n={type:"broadcast",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{context:t}};this.exchange(n)}async getSystemChannels(){var e;const t={type:"systemChannelRequest",meta:this.meta()},{err:n,receiveMessage:r}=await this.exchange(t);return n?[]:("systemChannels"===(null==r?void 0:r.type)?null===(e=null==r?void 0:r.payload)||void 0===e?void 0:e.channels:[]).map((e=>new E(this,e,"system")))}async open(e,t){const n={type:"open",meta:this.meta(),payload:{target:e,context:t}},{err:r,receiveMessage:i}=await this.exchange(n),o=i;if(r)throw S.OpenError.ResolverUnavailable;if(o.payload.error)throw o.payload.error}async findIntent(e,t){const n={type:"findIntent",meta:this.meta(),payload:{intent:e,context:t}},{err:r,receiveMessage:i}=await this.exchange(n),o=i;if(r)throw S.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.appIntent)throw"Invalid response returned from InteropService for findIntent. No appIntent and no error.";return o.payload.appIntent}async findIntentsByContext(e){const t={type:"findIntentsByContext",meta:this.meta(),payload:{context:e}},{receiveMessage:n}=await this.exchange(t),r=n;if(r.payload.error)throw r.payload.error;return r.payload.intents||[]}async raiseIntent(e,t,n){const r={type:"raiseIntent",meta:this.meta(),payload:{intent:e,context:t,target:n}},{err:i,receiveMessage:o}=await this.exchange(r),s=o;if(i)throw S.ResolveError.ResolverUnavailable;if(s.payload.error)throw s.payload.error;if(!s.payload.data)throw"Invalid response returned from InteropService for raiseIntent. No data.";return s.payload.data}async raiseIntentForContext(e,t){const n={type:"raiseIntent",meta:this.meta(),payload:{context:e,target:t}},{err:r,receiveMessage:i}=await this.exchange(n),o=i;if(r)throw S.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.data)throw"Invalid response returned from InteropService for raiseIntentForContext. No data.";return o.payload.data}addIntentListener(e,t){w(this,f,"f")[e]=(0,k.mmAdd)(w(this,f,"f"),e,t);const n={type:"subscribeIntent",meta:this.meta(),payload:{intent:e}};return this.exchange(n),{unsubscribe:()=>{const n={type:"unsubscribeIntent",meta:this.meta(),payload:{intent:e}};this.exchange(n),w(this,f,"f")[e]=(0,k.mmRemove)(w(this,f,"f"),e,t)}}}channelAddContextListener(e,t,n){const r=n&&t||"*";n||(n=t);const i=`subscriberId.${Date.now()}_${Math.random()}`,o={handler:n,channel:e,targetSubscriberId:i};w(this,h,"f")[r]=(0,k.mmAdd)(w(this,h,"f"),r,o);let s={type:"subscribeContext",meta:Object.assign(Object.assign({},this.meta()),{targetSubscriberId:i}),payload:{contextType:r}};return e&&(s.meta.channel=e),this.exchange(s),{unsubscribe:()=>{let t={type:"unsubscribeContext",meta:this.meta(),payload:{contextType:r}};e&&(t.meta.channel=e),w(this,h,"f")[r]=(0,k.mmRemove)(w(this,h,"f"),r,o),this.exchange(t)}}}addContextListener(e,t){return this.channelAddContextListener(null,e,t)}async joinChannel(e){const t={type:"joinChannels",meta:this.meta(),payload:{channels:[e]}};await this.exchange(t)}async getOrCreateChannel(e){return new E(this,e)}async getCurrentChannels(){const e={type:"getCurrentChannels",meta:this.meta()},{err:t,receiveMessage:n}=await this.exchange(e),r=n;if(t)throw t;if(r.payload.error)throw r.payload.error;if(!r.payload.data)throw"Invalid response returned from InteropService for getCurrentChannels. No data.";return r.payload.data.map((e=>new E(this,e.channel,"system")))}async getCurrentChannel(){const e=await this.getCurrentChannels();return e&&e.length?e[0]:null}async leaveCurrentChannel(){const e={type:"leaveChannels",meta:this.meta(),payload:{}};await this.exchange(e)}getInfo(){return{fdc3Version:"1.2",provider:"Finsemble",providerVersion:process.env.npm_package_version}}},a=new WeakMap,l=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap},87406:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousAuthenticationToken=t.INTENT_RESOLVER_CHANNEL=t.SERVER_CHANNEL=t.GLOBAL_CHANNEL=t.errorAsString=t.mmRemove=t.concatNoDups=t.mmAdd=void 0,t.mmAdd=(e,t,n)=>(e[t]||[]).concat([n]),t.concatNoDups=(e,t)=>{const n=Array.isArray(t)?t:[t],r=e?n.concat(e):n;return Array.from(new Set(r))},t.mmRemove=(e,t,n)=>(e[t]||[]).filter((e=>e!==n)),t.errorAsString=e=>{var t,n;return null!==(n=null!==(t=null==e?void 0:e.message)&&void 0!==t?t:e)&&void 0!==n?n:null},t.GLOBAL_CHANNEL="global",t.SERVER_CHANNEL="FSBL.FDC3.Interop.Server",t.INTENT_RESOLVER_CHANNEL="FSBL.FDC3.intent.resolver",t.AnonymousAuthenticationToken={signatureString:"",signatureStringType:"unauthenticated",meta:{name:"Anonymous app"}}},51806:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLService=void 0;const r=n(11314),i=n(47107),o=n(91374),s=n(10166),a=n(21614),l=n(44137),c=n(79684);t.FSBLService=class{async startApp(){var e,t,n,u,d,f,h,p;const g=await(0,i.getSystemStartupData)(),m=o.System.Window.getCurrent(),w=null!==(n=null!==(e=m.name)&&void 0!==e?e:null===(t=null===document||void 0===document?void 0:document.location)||void 0===t?void 0:t.href)&&void 0!==n?n:"Unknown App",v=null!==(f=null!==(u=m.name)&&void 0!==u?u:null===(d=null===document||void 0===document?void 0:document.location)||void 0===d?void 0:d.href)&&void 0!==f?f:`Unknown window-${(0,a.v4)()}`,y=null!==(h=m.webContentsName)&&void 0!==h?h:v,b=null!==(p=(0,i.getManifestFromStartupData)(g))&&void 0!==p?p:{},S=(0,i.getRouterConfig)({windowName:v,systemManifest:b});await r.RouterController.start(S);const C=s.Startup.getInstance();C.setStartupData({windowName:v,webContentsName:y,authenticationToken:{signatureString:"",signatureStringType:"unauthenticated",meta:{name:w}}}),l.Globals.fdc3=new c.FinsembleDesktopAgent({routerClient:r.RouterClient,startup:C}),C.setReady()}async stopApp(){r.RouterController.stop()}}},47107:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getManifestFromStartupData=t.getSystemStartupData=t.getRouterConfig=t.getRecommendedTransport=void 0;const i=r(n(2518)),o=n(91374),s=n(64324),a={sameDomainTransport:"FinsembleTransport",crossDomainTransport:"FinsembleTransport",transportSettings:{FinsembleTransport:{serverAddress:"ws://127.0.0.1:3376"}},transportName:"FinsembleTransport"},l=e=>{if(!e)return i.default.system.error("No documentRoot provided to RouterConfig.isCrossDomain(). Check the moduleRoot entry of the manifest."),!0;const t=document.createElement("a");t.href=e;const n=window.location.hostname===t.hostname,r=window.location.protocol===t.protocol,o=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),s=n&&o&&r;return i.default.system.debug(`Transport crossDomain=${l} (${n}:${r}:${o})`),!s};t.getRecommendedTransport=e=>{const{moduleRoot:t,router:n}=null==e?void 0:e.finsemble,{sameDomainTransport:r="SharedWorker",crossDomainTransport:i="IPCBus"}=null!=n?n:{};return l(t)?i:r},t.getRouterConfig=({windowName:e,systemManifest:n,transportSettings:r})=>n?((e,n)=>{var r,o,s,l;if(i.default.system.info("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest"),e&&"string"!=typeof e){const i=e.finsemble,a=null!==(s=null!==(o=null===(r=null==i?void 0:i.router)||void 0===r?void 0:r.transportSettings)&&void 0!==o?o:null==i?void 0:i.IAC)&&void 0!==s?s:{},c=null!==(l=null==i?void 0:i.notificationURL)&&void 0!==l?l:`${i.moduleRoot}/components/system/notification/notification.html`;return{windowName:n,routerDomainRoot:i.moduleRoot,transportName:(0,t.getRecommendedTransport)(e),transportSettings:a,notificationURL:c}}return i.default.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest failed -- fatal error. No manifest found.",e),Object.assign(Object.assign({},a),{windowName:n})})(n,e):Object.assign(Object.assign({},a),{windowName:e,transportSettings:null!=r?r:{}}),t.getSystemStartupData=async()=>new Promise((e=>{o.System.Window.getCurrent().getOptions((t=>{e(t)}))})),t.getManifestFromStartupData=e=>{let t=null==e?void 0:e.manifest;return(null==t?void 0:t.finsemble)&&s.ConfigUtilInstance.resolveManifestMacros(t,t.finsemble),t}},10166:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Startup=void 0;const r=n(87406),i=n(44137),o=n(21614),s=n(7860),a=`Unknown window-${(0,o.v4)()}`;class l{constructor(){this.isReady=!1,this.onReadyListeners=[],this.currentStartupData={authenticationToken:r.AnonymousAuthenticationToken,windowName:a,webContentsName:a}}static getInstance(){return l.instance?l.instance:l.instance=(0,s.singleton)("Startup",l)}getStartupData(){return this.currentStartupData}setStartupData(e){this.currentStartupData=e}onReady(e){return new Promise((t=>{this.isReady?(e&&setTimeout(e,0),t()):this.onReadyListeners.push((()=>{e&&e(),t()}))}))}setReady(){this.isReady=!0,this.onReadyListeners.forEach((e=>{e()})),i.Globals.dispatchEvent&&i.Globals.dispatchEvent(new Event("FSBLReady"))}}t.Startup=l,l.instance=null},27917:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StoreModel=void 0;const a=n(1641),l=o(n(31482)),c=s(n(2518));class u{constructor(e,t,n){var r,i;this.isGlobal=!1,this.values={},this.listeners={},this.registeredDispatchListeners=[],this.mapping={},this.subs={},this.Dispatcher={register:e=>{this.registeredDispatchListeners.push(e)},dispatch:e=>{this.isGlobal?this.routerClient.transmit(`storeService.dispatch.${this.name}`,e):this.handleDispatchedMessages(null,{data:e})}},this.handleChanges=(e,t)=>{if(e)c.default.system.error("DistributedStoreClient",e);else{const{store:e,field:n,storeData:r,value:i}=t.data;if(e){const e=n?`.${n}`:"",t=`${this.name}${e}`,o=r||i;this.triggerListeners(t,o)}}},this.routerClient=t,this.removeStoreCallback=n,this.isGlobal=!!e.global,this.name=null!==(i=null!==(r=e.name)&&void 0!==r?r:e.store)&&void 0!==i?i:"StoreModel() invariant. store.name not provided.",e.values&&(this.values=e.values),l.initObject(this.values,null,this.mapping),this.isGlobal&&this.routerClient.addListener(`storeService.dispatch.${this.name}`,((e,t)=>{this.handleDispatchedMessages(e,t)}))}handleDispatchedMessages(e,t){(null==t?void 0:t.data)&&this.registeredDispatchListeners.forEach((e=>{e(t.data)}))}setValue(e,t){if(e.field||c.default.system.error("DistributedStore.setValue:no field provided",e),e.hasOwnProperty("value")||c.default.system.error("DistributedStore.setValue:no value provided",e),this.isGlobal){const n={store:this.name,field:e.field,value:e.value};this.routerClient.query("storeService.setValue",n,(e=>{t&&t(e)}))}else{const n=l.checkForObjectChange(this.values,e.field,this.mapping);l.setPath(this.values,e.field,e.value),l.mapField(this.values,e.field,this.mapping),n&&this.sendRemovals(n),this.triggerListeners(this.name,this),this.publishObjectUpdates(e.field,this.mapping),t&&t(null)}}publishObjectUpdates(e,t){const n=t;for(;e;)this.triggerListeners(`${this.name}.${e}`,l.byString(this.values,e)),e=n[e]}sendRemovals(e){for(let t in e)this.triggerListeners(`${this.name}.${t}`,l.byString(this.values,t))}setValues(e,t){return e?Array.isArray(e)?void(0,a.each)(e,((e,t)=>{this.setValue(e,t)}),(e=>t?t(e):null)):c.default.system.error("DistributedStore.setValues:params must be an array"):c.default.system.error("DistributedStore.setValues:no params given")}getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field)return null==t||t("no field provided"),"no field provided";if(!this.isGlobal){const n=l.byString(this.values,e.field);return void 0!==n?(null==t||t(null,n),n):(null==t||t("couldn't find a value"),null)}return this.getGlobalValue(e.field,t),null}getAll(e){if(!this.isGlobal)return e&&e(null,this.values),this.values;this.getGlobalValues(null,e)}getValues(e,t){if(null===e&&(e=t),"function"==typeof e)return t=e,this.isGlobal?this.getGlobalValues(null,t):t?t(null,this.values):this.values;if(!Array.isArray(e))return{[e]:this.getValue(e,t)};if(this.isGlobal)return this.getGlobalValues(e,t);const n={};for(let t=0;t<e.length;t++){const r=e[t],i="string"==typeof r?r:r.field,o=l.byString(this.values,i);n[i]=o}return t?t(null,n):n}async getGlobalValue(e,t){const{err:n,response:r}=await this.routerClient.query("storeService.getValue",{store:this.name,field:e});return null==t||t(n,r.data),{err:n,data:r.data}}getGlobalValues(e,t){this.routerClient.query("storeService.getValues",{store:this.name,fields:e},((e,n)=>{t&&t(e,n.data)}))}removeValue(e,t){const n={field:"string"==typeof e?e:e.field,value:null};return this.setValue(n,t)}removeValues(e,t){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");(0,a.map)(e,this.removeValue,((e,n)=>t(e,n)))}destroy(e){const t={store:this.name,global:this.isGlobal};this.removeStoreCallback(t,(t=>{t?e&&e(t):e&&e(null,!0)}))}changeSub(e){this.subs[e]||(this.isGlobal&&this.routerClient.subscribe(`storeService${e}`,this.handleChanges),this.subs[e]=!0)}addListener(e,t,n){var r;"function"==typeof e&&(t=e,e={});const{field:i}=e,o=i?`.${i}`:"",s=`${this.name}${o}`;this.listeners[s]=[t].concat(null!==(r=this.listeners[s])&&void 0!==r?r:[]),this.changeSub(s),null==n||n()}addListeners(e,t,n){var r;if(!Array.isArray(e))return c.default.deprecated("distributedStoreClient StoreModel - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),void this.addListener(e,t,n);const i="function"==typeof t?t:null;for(let t=0;t<e.length;t++){const n=e[t];let o="string"==typeof n?n:n.field;const s="string"!=typeof n?n.listener:i;if(s){const e=o?`.${o}`:"",t=`${this.name}${e}`;this.listeners[t]=[s].concat(null!==(r=this.listeners[t])&&void 0!==r?r:[]),this.changeSub(t)}}null==n||n()}removeListener(e,t,n){const{field:r}=e,i=r?`.${r}`:"",o=`${this.name}${i}`;if(this.listeners[o])for(let e=0;e<this.listeners[o].length;e++)if(this.listeners[o][e]===t)return this.listeners[o].splice(e,1),void(null==n||n(null,!0));null==n||n(null,!1)}removeListeners(e,t,n){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,n):e.field&&t&&this.removeListener(e,t,n),null==n?void 0:n(null,!0);const r="function"==typeof t?t:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,n="string"!=typeof e?e.listener:r,i=t?`.${t}`:"",o=`${this.name}${i}`;this.listeners[o]=this.listeners[o].filter((e=>e!==n))})),null==n||n(null,!0)}triggerListeners(e,t){var n;(null!==(n=this.listeners[e])&&void 0!==n?n:[]).forEach((n=>{c.default.system.debug("DistributedStore.triggerListeners",e,t),n(null,{field:e,value:t})}))}}t.StoreModel=u,t.default=u},25232:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._BaseClient=void 0;const i=r(n(11314)),o=n(2518),s=n(91374),a=n(25495);t._BaseClient=class{constructor(e){this.onReadyCallback=e=>{e()},this.isReady=!1,this.startupDependencies={services:[],clients:[]},this.clientReadyQueue=[],this.windowName="",this.processClientReadyQueue=()=>{for(const e of this.clientReadyQueue)e();this.clientReadyQueue=[]},this.onReady=e=>{this.isReady?e():this.clientReadyQueue.push(e)},this.setClientOnline=()=>{var e;this.isReady=!0;const t=`STARTUP:CLIENT:ONLINE:${null===(e=this.finWindow)||void 0===e?void 0:e.name}:${this.name}`;this.logger.system.log(t),this.onReadyCallback((()=>{this.logger.system.debug(t),a.FSBLDependencyManagerSingleton.setClientOnline(this.name),this.processClientReadyQueue()}))},this.initialize=e=>{var t;this.logger.system.log("baseClient initialize",this.name),this.finWindow=s.System.Window.getCurrent(),this.windowName=null===(t=this.finWindow)||void 0===t?void 0:t.name,this.logger.system.debug("baseClient Init Router Ready",this.name,"DEPENDENCIES",this.startupDependencies),a.FSBLDependencyManagerSingleton.startup.waitFor(this.startupDependencies,(()=>{this.logger.system.log("baseClient initialize waitfor done",this.name),null==e||e(),this.setClientOnline()}),`${this.windowName}(${this.name})`)},this.name=e.name,e.onReady&&(this.onReadyCallback=e.onReady),this.startupDependencies=e.startupDependencies||{services:[],clients:[]},this.logger=o.Logger,this.routerClient=i.default}onClose(e){null==e||e()}}},9381:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigClient=void 0;const i=r(n(20670)),o=n(25232),s=r(n(84795)),a=r(n(2518));class l extends o._BaseClient{constructor(){super({startupDependencies:{},onReady(e){null==e||e()},name:"configClient"}),this.listeners={},this.subs={},this.handleChanges=(e,t)=>{if(e)a.default.system.error("ConfigClient handleChanges() error",e);else{t.data.field||(t.data.field=null);const{field:e,storeData:n,value:r}=t.data,i=n||r;this.triggerListeners(e||"configService",i)}},this.triggerListeners=(e,t)=>{var n;(null!==(n=this.listeners[e])&&void 0!==n?n:[]).forEach((n=>{a.default.system.debug("ConfigClient.triggerListeners",e,t),n(null,{field:e,value:t})}))}}async getManifest(e){await s.default.waitForStartup("configService");const{err:t,response:n}=await this.routerClient.query("configService.getValues",{fields:null});return null==e||e(t,n.data),{err:t,data:n.data}}async getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field){const e="no field provided";return null==t||t(e),{err:e}}await s.default.waitForStartup("configService");const{err:n,response:r}=await this.routerClient.query("configService.getValue",{field:e.field});return null==t||t(n,r.data),{err:n,data:r.data}}async getValues(e,t){if("function"==typeof e&&(t=e,e=null),e&&!Array.isArray(e))return this.getValue(e,t);await s.default.waitForStartup("configService");const{err:n,response:r}=await this.routerClient.query("configService.getValues",{fields:e});return null==t||t(n,r.data),{err:n,data:r.data}}async setValue(e,t){const n={field:e.field,value:e.value};await s.default.waitForStartup("configService");const{err:r}=await this.routerClient.query("configService.setValue",n);return null==t||t(r),{err:r}}async setValues(e,t){if(!e){const e="ConfigClient.SetValues. No params given";return a.default.system.error(e),null==t||t(e),{err:e}}if(!Array.isArray(e)){const e="ConfigClient.SetValues. Params must be an array";return a.default.system.error(e),null==t||t(e),{err:e}}await s.default.waitForStartup("configService");const{err:n}=await this.routerClient.query("configService.setValues",e);return null==t||t(n),{err:n}}async removeValue(e,t){let n={};if("string"!=typeof e){const e="No field provided";return null==t||t(e),{err:e}}return n.field=e,n.value=null,await this.setValue(n,t)}removeValues(e,t){return new Promise((n=>{if(!Array.isArray(e)){const e="The passed in parameter must be an array";return null==t||t(e),n({err:e})}const r=e.map((e=>this.removeValue(e)));Promise.all(r).then((e=>{const r=e.some((e=>e.err))?"Some values couldn't be removed. Check central logger.":null;null==t||t(r),n({err:r})}))}))}async changeSub(e){if(this.subs||(this.subs={}),!this.subs[e]){this.subs[e]=!0,await s.default.waitForStartup("configService");const{err:t}=await this.routerClient.query("configService.addListener",e);t&&a.default.system.error("Error adding listener to config service",t),await this.routerClient.subscribe(e,this.handleChanges)}}addListener(e,t,n){var r;let i=null;"function"==typeof e&&(t=e,e={field:null}),({field:i}=e);const o="configService"+(i?`.${i}`:"");this.listeners[o]=[t].concat(null!==(r=this.listeners[o])&&void 0!==r?r:[]),this.changeSub(o),null==n||n()}addListeners(e,t,n){var r;if(!Array.isArray(e))return a.default.deprecated("configClient - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),this.addListener(e,t,n);const i="function"==typeof t?t:null;for(let t=0;t<e.length;t++){const n=e[t],o="string"==typeof n?n:n.field,s="string"!=typeof n?n.listener:i;if(s){const e="configService"+(o?`.${o}`:"");this.listeners[e]=[s].concat(null!==(r=this.listeners[e])&&void 0!==r?r:[]),this.changeSub(e)}}null==n||n()}removeListener(e,t,n){let r=null;"function"==typeof e&&(n=t,t=e,e={field:r}),({field:r}=e);const i="configService"+(r?`.${r}`:"");if(this.listeners[i])for(let e=0;e<this.listeners[i].length;e++)if(this.listeners[i][e]===t)return this.listeners[i].splice(e,1),void(null==n||n(null,!0));null==n||n(null,!1)}removeListeners(e,t,n){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,n):e.field&&t&&this.removeListener(e,t,n),null==n?void 0:n(null,!0);const r="function"==typeof t?t:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,n="string"!=typeof e?e.listener:r,i="configService"+(t?`.${t}`:"");this.listeners[i]=this.listeners[i].filter((e=>e!==n))})),null==n||n(null,!0)}async processAndSet(e,t){if(a.default.system.debug("ConfigClient.processAndSet",e),i.default.args(e,"object",t,"function=")&&i.default.args2("params.newConfig",e.newConfig,"object","params.overwrite",e.overwrite,"boolean=","params.replace",e.replace,"boolean="),!e.overwrite&&e.replace){const e="cannot use replace option unless overwrite is also true";return a.default.system.warn("ConfigClient.processAndSet:",e),null==t||t(e),{err:e}}{await s.default.waitForStartup("configService");const{err:n,response:r}=await this.routerClient.query("configService.processAndSet",e);return null==t||t(n,r),{err:n,data:r.data}}}async setPreference(e,t){const{err:n,response:r}=await this.routerClient.query("PreferencesService.setPreference",e);return null==t||t(n,r.data),{err:n,data:r.data}}async getPreferences(e){await s.default.waitForStartup("preferencesService");const{err:t,response:n}=await this.routerClient.query("PreferencesService.getPreferences",{});return a.default.system.debug("PreferencesService.getPreferences response",n),null==e||e(t,n.data),{err:t,data:n.data}}async unsetPreference(e,t){a.default.system.debug("ConfigClient.unsetPreference",e);const{err:n,response:r}=await this.routerClient.query("PreferencesService.unsetPreference",e);return null==t||t(n,r.data),{err:n,data:r.data}}}t.ConfigClient=l;const c=new l;t.default=c},60434:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DialogManagerClient=void 0;const i=n(1641),o=r(n(49136)),s=r(n(47913)),a=r(n(20670)),l=n(25232),c=n(24074),u=r(n(2518)),d=n(91374),f=r(n(95085)),h=n(23099),p=n(21614),g=n(44137);f.default.initialize(),s.default.initialize();class m extends l._BaseClient{constructor(){super({startupDependencies:{},onReady:async e=>{await this.checkIfWindowIsDialog(),(0,i.series)([this.createStore.bind(this),this.registerWithStore.bind(this),this.getFinsembleWindow.bind(this),e=>{e()}],e)},name:"dialogManager"}),this.userInputTimeout=null,this.DialogStore=null,this.isDialog=!1,this.RESPONDER_CHANNEL=null,this.openerMessage=null,this.finsembleWindow=null,this.spawnData={}}async spawnDialog(e,t,n,r){a.default.args(e,"object",t,"object",n,"function");const i=`DialogChannel-${(0,p.v4)()}`;e.data={inputParams:t,responseChannel:i},e.left||0===e.left||e.right||0===e.right||(e.left="center"),e.top||0===e.top||e.bottom||0===e.bottom||(e.top="center");const s=this.routerClient.addListener(i,((e,t)=>{n(e,t.data),s()})),{error:l,response:c}=await o.default.spawn("dialogTemplate",e);return l&&(u.default.system.error("DialogMangerClient.spawnDialog error spawning",l),n(l,c)),null==r||r(l,c),{err:l,data:c}}getParametersFromInDialog(){const{inputParams:e}=this.spawnData;return u.default.system.debug(`DialogManagerClient:getParametersFromInDialog: ${JSON.stringify(e)}`),e}respondAndExitFromInDialog(e){a.default.args(e,"any"),u.default.system.debug(`DialogManagerClient:respondAndExitFromInDialog: ${JSON.stringify(e)}`);const{responseChannel:t}=this.spawnData;this.routerClient.transmit(t,e)}async getAvailableDialog(e,t){if(!this.DialogStore){const e="DialogMangerClient.getAvailableDialogs() store not yet initialized}";return u.default.system.error(e),null==t||t(null),null}const{err:n,data:r}=await this.DialogStore.getGlobalValue("dialogs.available");if(n){const e=`DialogMangerClient.getAvailableDialogs() store error ${n}`;return u.default.system.error(e),null==t||t(null),null}for(const n in r){const i=r[n];if(i.componentType===e)return null==t||t(i),i}return null==t||t(null),null}generateDialogReadyChannel(e){return`Dialog.${e.windowName}.ready`}async showDialog(){var e;const t=await(0,h.getMyWindowIdentifier)(),n=this.generateDialogReadyChannel(t);this.routerClient.transmit(n,{userInputTimeout:null!==(e=this.userInputTimeout)&&void 0!==e?e:1e4})}async sendQueryToDialog(e,t,n){const r=t=>{console.warn(`No response from dialog ${e.windowName} after ${t/1e3} seconds. Check to make sure your dialog is sending back data.`)};this.moveDialogFromAvailableToOpened(e);const i=`Dialog.${e.windowName}.Show`,s=this.generateDialogReadyChannel(e);let a;const l=this.routerClient.addListener(s,(async(n,i)=>{a=setTimeout(r.bind(null,i.data.userInputTimeout),i.data.userInputTimeout),u.default.perf.info("DialogManagerClient:sendQueryToDialog:Dialog: ShowWindow Start");const{err:s,data:d}=await o.default.showWindow(e,{monitor:t.monitor||"mine",left:"center",top:"center"});if(s||!d){const t=`DialogManagerClient.sendQueryToDialog error showing window ${e.windowName} ${s}`;return u.default.system.error(t),void r(t)}const{name:f}=d.finWindow;c.FinsembleWindow.getInstance({name:f},((e,t)=>{t.bringToFront(),t.focus()})),u.default.perf.info("DialogManagerClient:sendQueryToDialog:ShowWindow finish"),l()}));u.default.perf.info("DialogManagerClient:sendQueryToDialog ShowWindow Query begin.");const{err:d,response:f}=await this.routerClient.query(i,t);clearTimeout(a),this.moveDialogFromOpenedToAvailable(e),n(d,f.data)}async moveDialogFromOpenedToAvailable(e){var t,n;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromOpenedToAvailable() store not yet initialized}";return u.default.system.error(e),e}const{err:r,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(r||!i){const e='DialogManagerClient.moveDialogFromOpenedToAvailable() no "dialogs" object returned from store';return u.default.system.error(e),e}const o=i.opened,s=i.available;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.opened",value:o}),null===(n=this.DialogStore)||void 0===n||n.setValue({field:"dialogs.available",value:s}),null}async moveDialogFromAvailableToOpened(e){var t,n;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromAvailableToOpened() store not yet initialized}";return u.default.system.error(e),e}const{err:r,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(r||!i){const e='DialogManagerClient.moveDialogFromAvailableToOpened no "dialogs" object returned from store';return u.default.system.error(e),e}const o=i.available,s=i.opened;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.available",value:o}),null===(n=this.DialogStore)||void 0===n||n.setValue({field:"dialogs.opened",value:s}),null}async registerModal(){var e,t;const n=await d.System.getMonitorInfo(),{virtualScreen:r}=n;null===(e=this.finsembleWindow)||void 0===e||e.setBounds({bounds:Object.assign(Object.assign({},r),{width:r.right-r.left,height:r.bottom-r.top})});const i=await(0,h.getMyWindowIdentifier)();return null===(t=this.DialogStore)||void 0===t||t.setValue({field:"modalIdentifier",value:i}),null}async showModal(e){if(!this.DialogStore){const t="DialogMangerClient.showModal() store not yet initialized}";return u.default.system.error(t),null==e||e(t),t}const{err:t,data:n}=await this.DialogStore.getGlobalValue("modalIdentifier");if(t||!n){const n=`DialogManagerClient.showModal() error from store: ${t}`;return u.default.system.debug(n),null==e||e(n),n}const{wrap:r}=await c.FinsembleWindow.getInstance({uuid:n.uuid,name:n.windowName});return r.updateOptions({options:{opacity:.4}},(()=>{r.show((()=>{r.bringToFront((()=>{var t;null===(t=this.finsembleWindow)||void 0===t||t.focus((()=>{var t;null===(t=this.finsembleWindow)||void 0===t||t.bringToFront(),e&&"function"==typeof e&&e()}))}))}))})),null}async open(e,t,n){const r=async()=>new Promise((r=>{this.getAvailableDialog(e,(e=>{e?(this.sendQueryToDialog(e,t,n),r(!0)):r(!1)}))}));if(await r())return null;const i=e=>new Promise((t=>setTimeout(t,e))),{error:s}=await o.default.spawn(e,{options:{customData:{foreign:{clients:{dialogManager:{isDialog:!0}}}}}});if(s){const t=`DialogManagerClient.open launching dialog "${e}" error ${s}`;return u.default.system.error(t),t}{const t=3e4;for(let e=0;e<15;e++){if(await r())return null;await i(t/15)}const n=`DialogManagerClient.open error opening dialog "${e}. The dialog launched but didn't register within ${t} ms`;return u.default.system.error(n),n}}registerDialogCallback(e){this.RESPONDER_CHANNEL&&this.routerClient.addResponder(this.RESPONDER_CHANNEL,((t,n)=>{n&&(this.openerMessage=n),e(t,n)}))}async hideModal(){if(!this.DialogStore){const e="DialogMangerClient.hideModal() store not yet initialized}";return u.default.system.error(e),e}const{err:e,data:t}=await this.DialogStore.getGlobalValue("modalIdentifier");if(e||!t){const t=`DialogManagerClient.hideModal() error from store: ${e}`;return u.default.system.debug(t),t}const{wrap:n}=await c.FinsembleWindow.getInstance({uuid:t.uuid,name:t.windowName});return n.hide(),null}respondToOpener(e){var t,n;u.default.system.info("DialogManagerClient:RespondToOpener:",e),null===(t=this.openerMessage)||void 0===t||t.sendQueryResponse(null,e),!1!==e.hideModalOnClose&&this.hideModal(),null===(n=this.finsembleWindow)||void 0===n||n.hide(),this.openerMessage=null}async registerWithStore(e){var t;if(this.isDialog){const e=await(0,h.getMyWindowIdentifier)();this.RESPONDER_CHANNEL=`Dialog.${e.windowName}.Show`,await(null===(t=this.DialogStore)||void 0===t?void 0:t.setValue({field:`dialogs.available.${e.windowName}`,value:e}))}null==e||e()}async checkIfWindowIsDialog(e){var t,n,r,i,o;if(g.Globals.finsembleWindow){const{err:s,data:a}=await g.Globals.finsembleWindow.getOptions();this.spawnData=null!==(t=null==a?void 0:a.customData)&&void 0!==t?t:{},this.isDialog=null===(o=null===(i=null===(r=null===(n=null==a?void 0:a.customData)||void 0===n?void 0:n.foreign)||void 0===r?void 0:r.clients)||void 0===i?void 0:i.dialogManager)||void 0===o?void 0:o.isDialog,null==e||e(s)}else this.isDialog=!1,null==e||e("Freestanding apps cannot be dialogs")}async createStore(e){const{err:t,data:n}=await s.default.createStore({store:"DialogStore",values:{dialogs:{opened:{},available:{}}},global:!0});t||!n?u.default.error('DialogManagerClient could not create store "DialogStore"',t):this.DialogStore=n,null==e||e()}async getFinsembleWindow(e){var t;if(this.isDialog){const{wrap:e}=await c.FinsembleWindow.getInstance({name:null===(t=this.finWindow)||void 0===t?void 0:t.name});this.finsembleWindow=e}null==e||e()}}t.DialogManagerClient=m;const w=new m;t.default=w},47913:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DistributedStoreClient=void 0;const i=n(25232),o=r(n(2518)),s=r(n(27917)),a=r(n(84795)),l=n(11314),c=()=>new Promise((e=>{l.RouterClient.subscribe("distributedStoresLoading",((t,n)=>{if(t||!n.data){const n=`Error waiting for persistent stores ${t}`;o.default.system.error(n),e(n)}"done"===n.data.State&&e(null)}))}));class u extends i._BaseClient{constructor(){super({startupDependencies:{},onReady:e=>{e&&e()},name:"distributedStoreClient"}),this.localStore={}}async getGlobalStore(e,t){if(o.default.system.info("DistributedStoreClient:getGlobalStore()",e),e.waitForPersistentStoreToLoad){const e=await c();if(e)return null==t||t(e),{err:e}}else await a.default.waitForStartup("dataStoreService");const{err:n,response:r}=await this.routerClient.query("storeService.getStore",e);if(r.data){const e=new s.default(r.data,this.routerClient,this.removeStore.bind(this));return t&&t(n,e),{err:n,data:e}}return o.default.system.error("DistributedStoreClient:getGlobalStore() Failed to get a global store",e.store,n),t&&t(n),{err:n}}async removeGlobalStore(e,t){const{err:n}=await this.routerClient.query("storeService.removeStore",e);return t&&t(n,!!n),{err:n,data:!!n}}async getStore(e,t){if(e.global)return this.getGlobalStore(e,t);{const n=e.store?this.localStore[e.store]:null;return n?(t&&t(null,n),{data:n}):this.getGlobalStore(e,t)}}async createGlobalStore(e,t){if(e.persist){const e=await c();if(e)return null==t||t(e),{err:e}}else await a.default.waitForStartup("dataStoreService");const{err:n,response:r}=await this.routerClient.query("storeService.createStore",e);if(n)return o.default.system.error("DistributedStoreClient:createStore() Failed to create a global store",e.store,n),null==t||t(n),{err:n};const i=new s.default(r.data,this.routerClient,this.removeStore.bind(this));return null==t||t(n,i),{err:n,data:i}}async createLocalStore(e,t){const n=this.localStore[e.store];if(n)return t&&t(null,n),{data:n};const r=new s.default(Object.assign(Object.assign({},e),{name:e.store}),this.routerClient,this.removeStore.bind(this));return this.localStore[r.name]=r,t&&t(null,r),{data:r}}async createStore(e,t){return o.default.system.info("DistributedStoreClient:createStore()",e),e.global?this.createGlobalStore(e,t):this.createLocalStore(e,t)}async removeStore(e,t){return e.global?this.removeGlobalStore(e,t):this.localStore[e.store]?(delete this.localStore[e.store],t&&t(null,!0),{data:!0}):{err:`Local store named ${e.store} not found`}}}t.DistributedStoreClient=u;const d=new u;t.default=d},90693:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HotkeyClient=void 0;const i=n(17187),o=n(25232),s=r(n(2518)),a=n(62711).F,l=new i.EventEmitter,c=e=>{const t=[];return e.keys.forEach((e=>{if("string"!=typeof e)return s.default.system.error("FSBL.Clients.HotkeyClient - one of the keys passed into a function was not a string: ",e);e=e.toLowerCase();const n=a[e];if(!n)return s.default.system.error(`FSBL.Clients.HotkeyClient - At least one of the key codes does not map to a supported key - registering hotkey unsuccessful. Unsupported keys: ${e}`);t.push(n)})),t};class u{constructor(){this.keyStrokeHandlers=[],this.key=null,this.shift=!1,this.ctrl=!1,this.alt=!1,this.cmd=!1,this.capsLock=!1,this.noKeyCapture=!1,this.downValue=null}registerKeyHandler(e){this.keyStrokeHandlers.push(e)}unregisterKeyHandler(e){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((t=>t.keyString!==e.keyString||t.handler!==e.handler))}unregisterAllUsersKeyHandlers(){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((e=>!0!==e.addedByUser))}keyup(e){switch(e.key){case"Shift":return this.shift=!1,void this.gotKeyStroke(e.key);case"Control":case"Alt":return this.ctrl=!1,void this.gotKeyStroke(e.key);case"Meta":case"Win":return this.cmd=!1,void this.gotKeyStroke(e.key)}this.key&&this.gotKeyStroke(this.key)}keydown(e){if(!this.noKeyCapture)switch(this.key=e.key,e.key){case"Meta":case"Win":this.cmd=!0;break;case"Shift":this.shift=!0;break;case"Control":case"Alt":this.ctrl=!0;break;case"CapsLock":this.capsLock=!this.capsLock;break;case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"Up":case"Down":case"Left":case"Right":this.key=null,this.gotKeyStroke(e.key)}}keypress(e){if(this.noKeyCapture)return;const t=e.which;t<32||t>222||(this.key=e.key)}gotKeyStroke(e){const t=[e];this.ctrl&&t.push("control"),this.shift&&t.push("shift"),this.alt&&t.push("alt"),this.cmd&&t.push("command");const n=t.sort().toString();this.keyStrokeHandlers.forEach((e=>{const t=e.keyString.toUpperCase(),r=n.toUpperCase();r!==t&&r.replace(/(CONTROL|COMMAND)/,"COMMANDORCONTROL")!==t||e.handler()}))}initialize(){document.addEventListener("keyup",(e=>{this.keyup(e)})),document.addEventListener("keydown",(e=>{this.downValue=e.key,this.keydown(e)})),document.addEventListener("keypress",(e=>{this.keypress(e)})),window.addEventListener("blur",(()=>{this.ctrl=!1,this.gotKeyStroke("Control")}))}}class d extends o._BaseClient{constructor(){super({onReady:e=>{this.start(),null==e||e()},name:"hotkeyClient"}),this.localListeners={},this.keyStrokes=null}async addLocalHotkey(e,t,n){return s.default.system.info("HotkeyClient.addLocalHotkey"),s.default.system.debug("HotkeyClient.addLocalHotkey, keyArr: ",e),this.addBrowserHotkey(e,t,!0),null==n||n(null),{err:null}}addBrowserHotkey(e,t,n){this.keyStrokes||(this.keyStrokes=new u,this.keyStrokes.initialize());const r=c({keys:e}).sort().toString();this.keyStrokes.registerKeyHandler({keyString:r,handler:t,addedByUser:n})}removeBrowserHotkey(e,t){var n;s.default.system.info("HotkeyClient.removeBrowserHotkey"),s.default.system.debug("HotkeyClient.removeBrowserHotkey, keyArr: ",e);const r=c({keys:e}).sort().toString();null===(n=this.keyStrokes)||void 0===n||n.unregisterKeyHandler({keyString:r,handler:t})}async removeLocalHotkey(e,t,n){return s.default.system.info("HotkeyClient.removeLocalHotkey"),s.default.system.debug("HotkeyClient.removeLocalHotkey, keyArr: ",e),this.removeBrowserHotkey(e,t),null==n||n(null),{err:null}}async addGlobalHotkey(e,t,n){s.default.system.info("HotkeyClient.addGlobalHotkey"),s.default.system.debug("HotkeyClient.addGlobalHotkey, keyArr: ",e);const r=c({keys:e}).sort().join("+");l.addListener(r,t);const{err:i}=await this.routerClient.query("hotkeysService.registerGlobalHotkey",{keys:r,windowName:this.windowName});return null==n||n(i),{err:i}}async removeGlobalHotkey(e,t,n){s.default.system.info("HotkeyClient.removeGlobalHotkey"),s.default.system.debug("HotkeyClient.removeGlobalHotkey, keyArr: ",e);const r=c({keys:e}).sort().join("+");l.removeListener(r,t);const{err:i}=await this.routerClient.query("hotkeysService.unregisterGlobalHotkey",{keys:r,windowName:this.windowName});return null==n||n(i),{err:i}}async removeAllHotkeys(e){var t;l.removeAllListeners();const{err:n}=await this.routerClient.query("hotkeysService.removeAllHotkeysForWindow",{windowName:this.windowName});return null===(t=this.keyStrokes)||void 0===t||t.unregisterAllUsersKeyHandlers(),null==e||e(n),{err:n}}start(){this.routerClient.addListener("HotkeyTriggered",((e,t)=>{e?console.error(`Hotkey Channel Error: ${JSON.stringify(e)}`):(null==t?void 0:t.data.windows.includes(this.windowName))&&l.emit(t.data.keys)}))}onClose(e){this.removeAllHotkeys(e)}}t.HotkeyClient=d;const f=new d;t.default=f},49136:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LauncherClient=t.isMouseOverDOMElement=t.isPointInBox=t.getDesktopBoundingBox=void 0;const i=n(25232),o=n(23099),s=r(n(20670)),a=n(91374),l=r(n(2518)),c=n(24074),u=n(44137),d=r(n(84795)),f=n(24137),h=n(94017),p={},{finsembleWindow:g}=u.FEAGlobals;t.getDesktopBoundingBox=async e=>{var t,n;const r="string"==typeof e?document.querySelector(e):e;r||l.default.system.error("getDesktopBoundingBox can't find element",e);const i=r?r.getBoundingClientRect():{top:0,left:0,width:0,height:0},o=await g.getBounds(),s=o.data;o.err&&l.default.system.error("getDesktopBoundingBox: finsembleWindow.getBounds() error",o.err);const a=null!==(t=null==s?void 0:s.top)&&void 0!==t?t:0,c=null!==(n=null==s?void 0:s.left)&&void 0!==n?n:0,u={top:a+i.top,left:c+i.left,width:i.width,height:i.height,right:0,bottom:0};return u.right=u.left+u.width,u.bottom=u.top+u.height,u},t.isPointInBox=(e,t)=>(t.bottom||(t.bottom=t.top+t.height),t.right||(t.right=t.left+t.width),e.x>t.left&&e.x<t.right&&e.y<t.bottom&&e.y>t.top),t.isMouseOverDOMElement=async(e,n=Function.prototype)=>{const r=await(0,t.getDesktopBoundingBox)(e),i=await a.System.getMousePosition(),o=(0,t.isPointInBox)(i,r);return n(o),o};class m extends i._BaseClient{constructor(){super({onReady:e=>{l.default.system.debug("launcherClient ready",window.name),this.start(e)},name:"launcherClient"})}async getComponentList(e){s.default.args(e,"function="),await d.default.waitForStartup("windowService");const{err:t,response:n}=await this.routerClient.query("Launcher.componentList",{});return null==e||e(t,n.data),{err:t,data:n.data}}async getComponentDefaultConfig(e,t){s.default.args(t,"function=");const{err:n,data:r}=await this.getComponentList(),i=null==r?void 0:r[e];return null==t||t(n,i),{err:n,data:i}}async getMonitorInfoAll(e){return l.default.system.debug("LauncherClient.getMonitorInfoAll()"),(0,h.getAllMonitorsClientSide)(this.routerClient,e)}async getMonitorInfo(e={},t){return l.default.system.debug("LauncherClient.getMonitorInfo()"),"all"===e.monitor?(l.default.deprecated('Use of type "all" in LauncherClient.getMonitorInfo() is deprecated. Pleae use LauncherClient.getMonitorInfoAll()'),this.getMonitorInfoAll(t)):(0,h.getWhichMonitorClientSide)(this.routerClient,e,t)}async registerComponent(e,t){await d.default.waitForStartup("windowService");const{err:n,response:r}=await this.routerClient.query("LauncherService.registerComponent",e);return null==t||t(n,r.data),{err:n,data:r.data}}async unRegisterComponent(e,t){if(!e.componentType){const e="No componentType provided";return null==t||t(e),{err:e}}await d.default.waitForStartup("windowService");const{err:n,response:r}=await this.routerClient.query("LauncherService.unRegisterComponent",e);return null==t||t(n,r.data),{err:n,data:r.data}}locatorToIdentifier(e){let t={};return t.windowName="windowName"in e?e.windowName:"","componentType"in e&&(t.componentType=e.componentType),"uuid"in e&&(t.uuid=e.uuid),t}toggleWindowOnClick(e,n,r){var i,o;const s=this.locatorToIdentifier(n),a=null!==(o=null!==(i=s.windowName)&&void 0!==i?i:s.componentType)&&void 0!==o?o:"";!1!==p[a]?(r.position||(r.position="absolute"),this.showWindow(n,r,((n,r)=>{if(!r)return;const{finWindow:i}=r,o=()=>{p[a]=!0,(0,t.isMouseOverDOMElement)(e,(e=>{p[a]=!e})),i.removeEventListener("blurred",o)};i.addEventListener("blurred",o)}))):p[a]=!0}async showWindow(e,t,n){s.default.args(e,"object",t,"object=",n,"function="),t||(t={}),(t=(0,o.clone)(t)).staggerPixels||0===t.staggerPixels||(t.staggerPixels=100),t.windowIdentifier=this.locatorToIdentifier(e);const r=await(0,o.getMyWindowIdentifier)();t.relativeWindow||(t.relativeWindow=r),await d.default.waitForStartup("windowService");const{err:i,response:a}=await this.routerClient.query("Launcher.showWindow",t);if(i)return null==n||n(i),{err:i};{const e=a.data.windowIdentifier.windowName,{wrap:t}=await c.FinsembleWindow.getInstance({name:e}),r=Object.assign(Object.assign({},a.data),{windowIdentifier:Object.assign(Object.assign({},a.data.windowIdentifier),{name:e}),finWindow:t});return null==n||n(i,r),{err:i,data:r}}}async callSpawn(e){const t=e=>new Promise((t=>{const n=this.routerClient.subscribe(`Finsemble.${e}.componentReady`,((e,r)=>{e||!r.data?(l.default.system.error(`RouterClient.callSpawn() Error subscribing for component ready state ${e}`),t(e)):Object.keys(r.data).length&&(this.routerClient.unsubscribe(n),t(null))}))}));await d.default.waitForStartup("windowService");const{err:n,response:r}=await this.routerClient.query("Launcher.spawn",e);if(l.default.system.debug("CallSpawn","Initial launcher callback params",n,r),n||!r)return{err:null!=n?n:'Internal error: callSpawn(): No data returned from service for "Launcher.spawn"'};{const{data:e}=r;let i,o=[];Array.isArray(e)?(o=e.reduce(((e,t)=>(e.push(t.windowIdentifier.windowName),e)),[]),i=e[0]):i=e;const s=i.windowIdentifier.windowName,{wrap:a}=await c.FinsembleWindow.getInstance({name:s}),u=Object.assign(Object.assign({},i),{windowIdentifier:Object.assign(Object.assign({},i.windowIdentifier),{name:s}),finWindow:a});if(o.length>0&&(u.launchGroupWindows=o),u.windowDescriptor.native)return{err:n,result:u};{l.default.system.debug("CallSpawn","Waiting for ready signal",s);const e=await t(s);return l.default.system.debug("CallSpawn","Got ready signal",s),{err:e,result:u}}}}async spawn(e,t,n){s.default.args(e,"string",t,"object=",n,"function="),t||(t={}),(t=(0,o.clone)(t)).component=e,t.options||(t.options={}),t.options.customData||(t.options.customData={}),t.staggerPixels||0===t.staggerPixels||(t.staggerPixels=50),l.default.system.debug(`LauncherClient.spawn starting for componentType:${e}`);const r=await(0,o.getMyWindowIdentifier)();t.launchingWindow=r;const{err:i,result:a}=await this.callSpawn(t);return l.default.system.debug(`LauncherClient.spawn completing for componentType:${e}`,i),null==n||n(i,a),{error:i,response:a}}async getMonitor(e,t){return l.default.system.deprecated("This method is deprecated and will be removed in a future release. Use the method getMonitorInfo instead."),s.default.args(t,"function="),this.getMonitorInfo({windowIdentifier:e},t)}async getMyWindowIdentifier(e){s.default.args(e,"function=");const t=await(0,o.getMyWindowIdentifier)();return null==e||e(t),t}async getActiveDescriptors(e){s.default.args(e,"function="),await d.default.waitForStartup("windowService");const{err:t,response:n}=await this.routerClient.query("Launcher.getActiveDescriptors",{});return t&&l.default.system.error(t),null==e||e(t,n.data),{err:t,data:n.data}}getActiveAndPendingWindowNames(e=Function.prototype){return l.default.deprecated("LauncherClient.getActiveAndPendingWindowNames is deprecated and will be removed"),(0,f.deprecatedGetActiveAndPendingWindowNames)(this.routerClient,e)}async getPendingWindows(){l.default.deprecated("LauncherClient.getPendingWindows is deprecated and will be removed"),await d.default.waitForStartup("windowService");const{err:e,response:t}=await this.routerClient.query("Launcher.getPendingWindows",{});return{err:e,data:t.data}}async addUserDefinedComponent(e,t){s.default.args(t,"function="),await d.default.waitForStartup("windowService");const{err:n}=await this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"add",name:e.name,url:e.url});return n&&l.default.system.error(n),null==t||t(n),{err:n}}async removeUserDefinedComponent(e,t){s.default.args(t,"function="),await d.default.waitForStartup("windowService");const{err:n}=await this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"remove",name:e.name,url:e.url});return n&&l.default.system.error(n),null==t||t(n),{err:n}}getComponentsThatCanReceiveDataTypes(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.getComponentsThatCanReceiveDataTypes is deprecated and will be removed"),new Promise((n=>{if(!e||!e.dataTypes){const e="Invalid params. Expected: {dataTypes: string[]}";return t(e),n({err:e})}Array.isArray(e.dataTypes)||(e.dataTypes=[e.dataTypes]),this.routerClient.query("LauncherService.getComponentsThatCanReceiveDataTypes",e,((e,r)=>{t(e,r.data),n({err:e,data:r.data})}))}))}async bringWindowsToFront(e={},t=Function.prototype){return s.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&s.default.args(e.groupName,"string"),e.componentType&&s.default.args(e.componentType,"string"),await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.bringWindowsToFront",e,((e,n)=>{t(e,n)})),Promise.resolve()}async hyperFocus(e,t){l.default.system.deprecated("hyperFocus is deprecated as of version 4.0.0. This functionality may be removed in a future release"),s.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]);const n=await(0,o.getMyWindowIdentifier)();e.windowList||e.groupName||e.componentType||(e.windowList=n?[n]:[]),e.groupName&&s.default.args(e.groupName,"string"),e.componentType&&s.default.args(e.componentType,"string"),await d.default.waitForStartup("windowService"),await this.routerClient.transmit("LauncherService.hyperFocus",e),null==t||t()}async minimizeWindows(e,t){s.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&s.default.args(e.groupName,"string"),e.componentType&&s.default.args(e.componentType,"string"),await d.default.waitForStartup("windowService"),this.routerClient.transmit("LauncherService.minimizeWindows",e),null==t||t()}createWindowGroup(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.createWindowGroup is deprecated and will be removed"),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList],delete e.groupName),s.default.args(e.groupName,"string"),new Promise((async n=>{if(!e.groupName){const e="Invalid Parameters";return n({err:e}),void t(e)}await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.createWindowGroup",e,((e,r)=>{t(e,r),n({err:e,data:r})}))}))}addWindowsToGroup(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.addWindowsToGroup is deprecated and will be removed"),new Promise((async n=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return n({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),s.default.args(e.groupName,"string"),await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.addWindowsToGroup",e,((e,r)=>{t(e,r),n({err:e,data:r})}))}))}removeWindowsFromGroup(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.removeWindowsFromGroup is deprecated and will be removed"),new Promise((async n=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return n({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.removeWindowsFromGroup",e,((e,r)=>{t(e,r),n({err:e,data:r})}))}))}getGroupsForWindow(e,t=Function.prototype){return s.default.args(t,"function="),l.default.deprecated("LauncherClient.getGroupsForWindow is deprecated and will be removed"),"function"==typeof e&&(t=e,e=null),new Promise((async n=>{e&&e.windowIdentifier?(await d.default.waitForStartup("windowService"),this.routerClient.query("LauncherService.getGroupsForWindow",e,((e,r)=>{n({err:e,data:r.data}),t(e,r.data)}))):g.getComponentState({field:"finsemble:windowGroups"},((e,r)=>{n({err:e,data:r}),t(e,r)}))}))}async addToGroups(e,t){var n;s.default.args(t,"function="),s.default.args(e.groupNames,"array"),l.default.deprecated("LauncherClient.addToGroups is deprecated and will be removed");const r=await(0,o.getMyWindowIdentifier)();e.windowIdentifier=null!==(n=e.windowIdentifier)&&void 0!==n?n:r,await d.default.waitForStartup("windowService");const{err:i}=await this.routerClient.query("LauncherService.addWindowToGroups",e);return null==t||t(i),{err:i}}_createWrap(e,t){this.routerClient.query("LauncherService.createWrap",e,t)}start(e){if(g){const e=async()=>{await d.default.waitForStartup("windowService"),this.routerClient.subscribe(`Finsemble.LauncherService.updateGroups.${this.windowName}`,((e,t)=>{Array.isArray(t.data)&&g.setComponentState({field:"finsemble:windowGroups",value:t.data})}))};g.getComponentState({field:"finsemble:windowGroups"},((t,n)=>{if(!t&&n)return this.addToGroups({groupNames:n},e);e()}))}setInterval((()=>{this.routerClient.transmit("Finsemble.heartbeat",{type:"component",windowName:this.windowName,componentType:"finsemble",isBrowserView:a.System.isBrowserView()})}),1e3),e()}}t.LauncherClient=m;const w=new m;t.default=w},2518:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LoggerClient=t.LocalLogger=t.LoggerConnection=void 0;const i=n(91374),o=n(10166),s=n(31219),a=r(n(11314)),l=n(7860),c=n(23493),u=n(96486),d={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!1,LocalOnly:!1},f=1e4,h={console:{Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!0,LocalOnly:!1},dev:d,system:d,perf:d},p=()=>{const{stack:e}=function(){try{throw Error("")}catch(e){return e}}();let t=6;e.includes("console.error")&&t++;const n=("\n",r=t,e.split("\n",r).join("\n").length);var r;return`Log Stack: \n${e.substring(n).substr(1)}`},g=e=>{const t=[],n=[e];let r=0,i=0;for(;n.length&&i<1e3;){i++;const e=n.pop();if("boolean"==typeof e)r+=4;else if("string"==typeof e)r+=2*e.length;else if("number"==typeof e)r+=8;else if("object"==typeof e&&-1===t.indexOf(e)){t.push(e);for(const t in e)n.push(e[t])}}return r},m=(e,t,n=0,r=1)=>{const i=t/2,o=i/2,s="*STRIPPED*",a=e=>{let t=g(e);e.length>0&&t>o&&(e[0]=m(e[0],i,n,r+1),e[1]=`*STRIPPED* from size ${e.length}`,e.length=2)};let l=(0,u.cloneDeep)(e);if("object"!=typeof l)l=s,n+=g(l);else if(Array.isArray(l))a(l),n+=g(l);else{let e=Object.getOwnPropertyNames(l);for(let c=0;c<e.length;c++){let u=g(l[e[c]]);n>i&&u>100&&r>=3&&c>=1||n>f&&u>=10?l[e[c]]=s:u>o&&(Array.isArray(l[e[c]])?a(l[e[c]]):l[e[c]]=m(l[e[c]],t/1.2,n,r+1)),n+=g(l[e[c]])}}return l},w=e=>"logger.service.logMessages"===e||"Finsemble.heartbeat"===e,v=console.error.bind(window.console);console.standardError=console.error;class y{constructor(){this.routerClient=null,this.viewId=null,this.isRegistering=!1,this.isRegistered=!1,this.calibratedTimeStampOffset=0,this.newCalibratedTimeStampOffset=0,this.filteredMessagesCounter=0,this.startupTime=0,this.loggerQueue=[],this.loggerClientName=i.System.Window.getCurrent().name,this.onLogStateChangeCallback=[],this.currentLogState=h,this.setRouterClient=e=>{this.routerClient=e},this.system={error:(...e)=>{this.logIt("system","Error",e)},warn:(...e)=>{this.logIt("system","Warn",e)},info:(...e)=>{this.logIt("system","Info",e)},log:(...e)=>{this.logIt("system","Log",e)},debug:(...e)=>{this.logIt("system","Debug",e)},verbose:(...e)=>{this.logIt("system","Verbose",e)},deprecated:(...e)=>{this.logIt("system","Error",e)}},this.perf={error:(...e)=>{this.logIt("perf","Error",e)},warn:(...e)=>{this.logIt("perf","Warn",e)},info:(...e)=>{this.logIt("perf","Info",e)},log:(...e)=>{this.logIt("perf","Log",e)},debug:(...e)=>{this.logIt("perf","Debug",e)},verbose:(...e)=>{this.logIt("perf","Verbose",e)},deprecated:(...e)=>{this.logIt("perf","Error",e)}},this.console={error:(...e)=>{this.logIt("console","Error",e)},warn:(...e)=>{this.logIt("console","Warn",e)},info:(...e)=>{this.logIt("console","Info",e)},log:(...e)=>{this.logIt("console","Log",e)},debug:(...e)=>{this.logIt("console","Debug",e)},verbose:(...e)=>{this.logIt("console","Verbose",e)},deprecated:(...e)=>{this.logIt("console","Error",e)}};const e="routerService"===this.loggerClientName?100:250;this.transmitAndClearQueue=c((()=>{var e;this.loggerQueue.length>0&&(null===(e=this.routerClient)||void 0===e||e.transmit("logger.service.logMessages",this.loggerQueue),this.loggerQueue=[])}),e,{leading:!1})}updateQueueBasedOnState(e){const{loggerQueue:t,currentLogState:n,calibratedTimeStampOffset:r}=this;this.system.debug("Logger updateQueueBasedOnState",e,r,"QUEUE LENGTH",t.length,n),this.loggerQueue=t.flatMap((t=>{if(n[t.category][t.logType]){if(!n[t.category].LocalOnly)return e&&(t.logTimestamp=t.logTimestamp+r),[t];console.log(t.category,t.logType,t.logTimestamp-s.Performance.timing.navigationStart,t.logData,"(Previously queued!)")}return[]}))}onStateChanged(e){-1===this.onLogStateChangeCallback.indexOf(e)&&this.onLogStateChangeCallback.push(e)}setLogState(e,t){e&&e.dev&&(this.currentLogState=e,this.onLogStateChangeCallback.forEach((t=>{t(e)}))),this.updateQueueBasedOnState(t)}addToQueue(e){const{loggerQueue:t}=this;if(t.length<2e4)t.push(e);else{console.error("Logging Queue Overflowed! Dumping queue here then continuing",t.length);let e,n=0;for(;e=t.shift();)console.log("Message "+n++,e);this.system.error("Logging Queue Overflowed! Dumping queue in client then continuing.")}}callStack(){return p()}setting(){return this.currentLogState}outputToConsole(e,t){const n={Debug:console.debug,Info:console.info,Warn:console.warn,Error:v,Log:console.log,Verbose:console.log};try{n[e](...t)}catch(e){v("Error outputting log to console",e,p())}}formatAndQueueMessage(e,t,n){var r;const o="forceObjectsToLogger"===n[0],a=n.flatMap((e=>{if(!o&&g(e)>f){this.outputToConsole("Warn",["Message too large to send to the logger.",...n]);let t=m(e,f);return["NOTE: LOG ARG STRIPPED since greater than 10KB. Check origin's local Console to see output of the complete object.",`OldSize=${g(e)} NewSize=${g(t)}`,t]}return e instanceof Error?[e.toString()]:"forceObjectsToLogger"===e?[]:[e]}));let l=null;try{l=JSON.stringify(a)}catch(e){l=`*** Logger error can't JSON.stringify: ${p()}`}"Error"!==t&&"Warn"!==t&&"console"!==e||this.outputToConsole(t,n);const c=null!==(r=this.viewId)&&void 0!==r?r:i.System.isBrowserView()&&i.System.getWebContentsId(),u={category:"console"===e?"system":e,logType:t,logClientName:c?`${this.loggerClientName}: view-${c}`:this.loggerClientName,logData:l,logTimestamp:s.Performance.timing.navigationStart+s.Performance.now()+this.calibratedTimeStampOffset};c&&(u.viewId=c),this.addToQueue(u),this.isRegistered&&this.transmitAndClearQueue()}logIt(e,t,n){if(this.currentLogState[e][t])if("Warn"!==t&&"Error"!==t||n.push(p()),this.currentLogState[e].LocalOnly){const r=t.toLowerCase();n.unshift(`${e} ${r} (${s.Performance.now()}):`),this.outputToConsole(t,n)}else this.formatAndQueueMessage(e,t,n)}error(...e){this.logIt("dev","Error",e)}warn(...e){this.logIt("dev","Warn",e)}info(...e){this.logIt("dev","Info",e)}log(...e){this.logIt("dev","Log",e)}debug(...e){this.logIt("dev","Debug",e)}verbose(...e){this.logIt("dev","Verbose",e)}deprecated(...e){this.logIt("dev","Error",e)}completeRegistration(e){this.loggerQueue.forEach((e=>{this.viewId&&(e.viewId=this.viewId)})),this.isRegistered=!0,e?"routerService"!==this.loggerClientName?(this.calibratedTimeStampOffset=this.newCalibratedTimeStampOffset,this.setLogState(e,!0)):this.setLogState(e,!1):console.error("Logger.startLogger() Initial state not received from logger service"),this.formatAndQueueMessage("system","Debug",["Logger Registered"]),this.transmitAndClearQueue()}registerWithLoggerService(){var e;const{windowName:t,webContentsName:n}=o.Startup.getInstance().getStartupData();this.loggerClientName=window&&window.top!==window?`${t}.Frame`:t;const r=`finsemble.logger.client.${this.loggerClientName}`;!this.viewId&&i.System.isBrowserView()&&(this.viewId=i.System.getWebContentsId()),this.system.debug("logger.service.registering",this.loggerClientName),i.System.Window.getCurrent().getOptions((async e=>{var i,o;const s=null===(o=null===(i=null==e?void 0:e.customData)||void 0===i?void 0:i.component)||void 0===o?void 0:o.centralLoggerNamePrefix;if(!this.routerClient)return;const{err:a,response:l}=await this.routerClient.query("logger.service.register",{clientName:this.loggerClientName,clientChannel:r,displayName:null!=n?n:t,windowName:t,viewId:this.viewId,centralLoggerNamePrefix:s});a?(console.warn("Logger service not available. Trying to connect again in 750ms.",a),setTimeout((()=>{this.registerWithLoggerService()}),750)):this.completeRegistration(l.data)})),null===(e=this.routerClient)||void 0===e||e.addListener(r,((e,t)=>{this.system.debug("logger.client.setLogState",t.data),this.setLogState(t.data,!1)}))}unregisterClient(e,t){var n;this.system.debug("logger.service.unregister",this.loggerClientName,e,this.viewId),this.transmitAndClearQueue();const r=e||{clientName:this.loggerClientName,viewId:this.viewId};null===(n=this.routerClient)||void 0===n||n.query("logger.service.unregister",r,t)}waitForServiceAndCalibrate(){var e;const t=null===(e=this.routerClient)||void 0===e?void 0:e.subscribe("Finsemble.Service.State.loggerService",((e,n)=>{var r,i;"ready"===n.data.state&&(this.system.debug("Logger onReady",this.loggerClientName),null===(r=this.routerClient)||void 0===r||r.calibrateTimeWithRouterService((e=>{this.newCalibratedTimeStampOffset=e,this.isRegistering||(this.isRegistering=!0,this.startupTime=performance.now()-this.startupTime,this.registerWithLoggerService())})),t&&(null===(i=this.routerClient)||void 0===i||i.unsubscribe(t)))}))}async start(e){if(this.routerClient=null!=e?e:a.default,this.startupTime=performance.now(),"routerService"===window.name){const{err:e}=await this.routerClient.query("logger.service.register",{});e?setTimeout((()=>{this.waitForServiceAndCalibrate()}),750):this.waitForServiceAndCalibrate()}else this.waitForServiceAndCalibrate();i.System.isBrowserView()&&window.addEventListener("beforeunload",(()=>{this.unregisterClient()}))}}t.LoggerConnection=y;const b={start:e=>{(0,l.singleton)("LoggerClient",y).start(e)},channelFilter:e=>w(e),setting:()=>(0,l.singleton)("LoggerClient",y).setting(),callStack:()=>(0,l.singleton)("LoggerClient",y).callStack(),unregisterClient:(e,t)=>{(0,l.singleton)("LoggerClient",y).unregisterClient(e,t)},setRouterClient:e=>{(0,l.singleton)("LoggerClient",y).setRouterClient(e)},onStateChanged(e){(0,l.singleton)("LoggerClient",y).onStateChanged(e)},error:(...e)=>(0,l.singleton)("LoggerClient",y).error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).deprecated(...e),system:{error:(...e)=>(0,l.singleton)("LoggerClient",y).system.error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).system.warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).system.info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).system.log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).system.debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).system.verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).system.deprecated(...e)},perf:{error:(...e)=>(0,l.singleton)("LoggerClient",y).perf.error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).perf.warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).perf.info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).perf.log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).perf.debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).perf.verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).perf.deprecated(...e)},console:{error:(...e)=>(0,l.singleton)("LoggerClient",y).console.error(...e),warn:(...e)=>(0,l.singleton)("LoggerClient",y).console.warn(...e),info:(...e)=>(0,l.singleton)("LoggerClient",y).console.info(...e),log:(...e)=>(0,l.singleton)("LoggerClient",y).console.log(...e),debug:(...e)=>(0,l.singleton)("LoggerClient",y).console.debug(...e),verbose:(...e)=>(0,l.singleton)("LoggerClient",y).console.verbose(...e),deprecated:(...e)=>(0,l.singleton)("LoggerClient",y).console.deprecated(...e)}};i.System.isBrowserView()?b.console.log("Logger client console.error is not wrapped to capture logs."):(b.console.log("Logger client console.error is wrapped to capture logs."),console.error=function(...e){let t;e.push("(console error)");try{t=JSON.parse(JSON.stringify(e))}catch(n){t="console.error: arguments could not be serialized for logging",e.push("arguments could not be serialized to send to Central Logger"),v(...e)}b.console.error(...t)}),window.addEventListener("error",(e=>{(null==e?void 0:e.message)&&(null==e?void 0:e.filename)?b.console.error(`Logger client caught ErrorEvent. Error: ${e.message}`,`File: ${e.filename}`,`Line number: ${e.lineno}`):(b.console.warn(`Logger client caught what is likely a DOM error event where type=${null==e?void 0:e.type} and target=${null==e?void 0:e.target}. Probably due to <img> or <script> failing to load. See component's browserView window for more details.`),console.warn("Event Details (for above message)",e))}),!0),window.addEventListener("unhandledrejection",(e=>{b.console.error("Logger client caught Unhandled rejection","reason",e.reason,JSON.stringify(e))}),!0),t.LocalLogger={start:()=>{},channelFilter:w,setting:()=>h,callStack:()=>p(),unregisterClient:()=>{},setRouterClient:()=>{},onStateChanged:()=>{},warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error,system:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},perf:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},console:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error}};const S="undefined"==typeof window;t.LoggerClient=S?t.LocalLogger:b,t.Logger=t.LoggerClient,t.default=t.LoggerClient},11314:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RouterClient=t.RouterController=t.RouterConnection=void 0;const i=r(n(78268)),o=r(n(20670)),s=r(n(16994)),a=n(2518),l=n(44137),c=n(31219),u=n(21614),d=n(7860);function f(e,t={}){if(null===e||"object"!=typeof e)return e;if(e.constructor==Date||e.constructor==RegExp||e.constructor==Function||e.constructor==String||e.constructor==Number||e.constructor==Boolean)return new e.constructor(e);t=t||new e.constructor;for(const n in e)t[n]=void 0===t[n]?f(e[n],null):t[n];return t}class h{constructor(){this.queue=[],this.started=!1,this.clientName="RouterClient.clientName not yet set",this.transport=null,this.isRouterReady=!1,this.parentReadyCallbackQueue=[],this.notificationURL="",this.mapListeners={},this.mapQueryResponders={},this.mapPubSubResponders={},this.mapPubSubResponderState={},this.mapPubSubResponderRegEx={},this.pubsubListOfSubscribers={},this.mapSubscribersID={},this.mapSubscribersTopic={},this.mapQueryResponses={},this.mapQueryResponseTimeOut={}}onReadyCallBack(){for(a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient Ready"),this.isRouterReady=!0;this.parentReadyCallbackQueue.length>0;){a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient parentReady invoked");const e=this.parentReadyCallbackQueue.shift();null==e||e()}}sendToRouterService(e){this.transport?this.transport.send(e):(a.LoggerClient.system.info("RouterClient: Queuing message since router initialization not complete",e),this.queue.push(e))}originatedHere(e){return e.header.origin===this.clientName}invokeListeners(e){const{channel:t,origin:n}=e.header,r=this.mapListeners[t]||[];Array.isArray(r)&&0!==r.length?(e.originatedHere=()=>this.originatedHere(e),r.forEach((r=>{a.LoggerClient.channelFilter(t)||a.LoggerClient.system.info("RouterClient: incoming transmit","CHANNEL",t,"FROM",n,"MESSAGE",e),r(null,e)}))):a.LoggerClient.system.log(`RouterClient: no listener for incoming transmit on channel ${t} from ${n}. Possibly the listener was removed while this message was in transit.`,e)}invokeResponder(e){const{channel:t,origin:n,queryID:r,error:i}=e.header;a.LoggerClient.system.info("RouterClient: incoming query","CHANNEL",t,"FROM",n,"QUERY MESSAGE",e);const o=(e,n)=>{a.LoggerClient.system.info("RouterClient: outgoing query response","CHANNEL",t,"RESPONSE DATA",n,"QUERY ID",r);let i={header:{origin:this.clientName,queryID:r,type:"queryResponse"},data:n};i.header.error=e?e.toString():null,this.sendToRouterService(i)},s=this.mapQueryResponders[t];void 0===s?e.header.logWhenNoResponder&&a.LoggerClient.system.warn(`RouterClient: No query responder defined on channel ${t} for incoming from ${n}.`,e):i?(a.LoggerClient.system.warn("RouterClient: queryResponder error",e),s(i),delete this.mapQueryResponders[t]):s(null,Object.assign(Object.assign({},e),{originatedHere:()=>this.originatedHere(e),sendQueryResponse:(e,t)=>{o(e,t)}}))}invokeQueryResponse(e){var t;a.LoggerClient.system.info("RouterClient: incoming query response","CHANNEL",e.header.channel,"QUERY ID",e.header.queryID,"message",e);const{queryID:n}=e.header,r=this.mapQueryResponseTimeOut[n];delete this.mapQueryResponseTimeOut[n],r&&clearTimeout(r);const i=this.mapQueryResponses[n];i?(delete this.mapQueryResponses[n],i(null!==(t=e.header.error)&&void 0!==t?t:null,e)):a.LoggerClient.system.warn("Invariant: RouterClient: no handler found for incoming query response.",e)}invokeNotifyCallback(e){const{subscribeID:t,error:n}=e.header,r=this.mapSubscribersID[t];r?n?(a.LoggerClient.system.info("RouterClient: incoming PubSub notify error for subscriberID","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),r(n,e)):(e.originatedHere=()=>this.originatedHere(e),a.LoggerClient.system.info("RouterClient: incoming PubSub notify","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),r(null,e)):a.LoggerClient.system.info("RouterClient: no subscription handler defined for incoming notify for subscriberID. Possibly the subscription was removed while this publish was in transit.",t,e)}findResponder(e){const t=this.mapPubSubResponders[e];if(t)return t;for(const t in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[t].test(e))return this.mapPubSubResponders[t]}invokePublishEvent(e){const{topic:t}=e.header;let n=this.findResponder(t);if(n){const r=(e,n,r)=>{var i;n?a.LoggerClient.system.warn("RouterClient: incoming publish rejected by pubsub responder",n,r):(this.mapPubSubResponderState[t]=r,(null!==(i=this.pubsubListOfSubscribers[t])&&void 0!==i?i:[]).forEach((e=>{a.LoggerClient.system.info("RouterClient: sending pubsub notify","TOPIC",t,"NOTIFY DATA",r);const n={header:{origin:this.clientName,type:"notify",topic:t,subscribeID:e},data:r};this.sendToRouterService(n)})))};if(a.LoggerClient.system.info("RouterClient: incoming PubSub publish "+(n.publishCallback?"(publishCallback hook invoked)":""),"TOPIC",t,"PUBLISH MESSAGE",e),n.publishCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToAllSubscribers:(t,n)=>{r(e,t,n)}});n.publishCallback(null,t)}else r(e,null,e.data)}else a.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming publish","TOPIC",t,"PUBLISH MESSAGE",e)}invokeSubscribeEvent(e){var t;const{topic:n,error:r}=e.header;a.LoggerClient.system.info("RouterClient: PubSub subscribe","TOPIC",n);let i=this.mapPubSubResponders[n];if(!i)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(n)){i=this.mapPubSubResponders[e],this.mapPubSubResponderState[n]=null!==(t=this.mapPubSubResponderState[n])&&void 0!==t?t:this.mapPubSubResponderState[e];break}if(i)if(r)a.LoggerClient.system.warn(`RouterClient: pubsub error received from router service: ${r}`,e);else if(i.subscribeCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToSubscriber:(t,n)=>{this.sendNotifyToSubscriber(e,t,n)}});e.data=this.mapPubSubResponderState[n],i.subscribeCallback(null,t)}else this.sendNotifyToSubscriber(e,null,this.mapPubSubResponderState[n]);else a.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming subscribe event",e)}invokeUnsubscribeEvent(e){const{topic:t,subscribeID:n}=e.header;let r=this.findResponder(t);if(!r)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(t)){r=this.mapPubSubResponders[e];break}if(r)if(a.LoggerClient.system.info("RouterClient: incoming unsubscribe "+(r.unsubscribeCallback?"with unsubscribeCallback hook":""),"TOPIC",t,"UNSUBSCRIBE MESSAGE",e),r.unsubscribeCallback){const i=Object.assign(Object.assign({},e),{removeSubscriber:()=>{this.removeSubscribers(t,n)}});r.unsubscribeCallback(null,i)}else this.removeSubscribers(t,n);else a.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming unsubscribe event","TOPIC",t,"UNSUBSCRIBE MESSAGE",e)}sendNotifyToSubscriber(e,t,n){const{topic:r,subscribeID:i}=e.header;if(void 0!==n){let e={header:{origin:this.clientName,type:"notify",topic:r,subscribeID:i},data:n};t&&(e.header.error=t),this.sendToRouterService(e)}t?a.LoggerClient.system.warn("RouterClient: incoming subscription rejected by pubsub responder","TOPIC",r,"MESSAGE",this):(r in this.pubsubListOfSubscribers?this.pubsubListOfSubscribers[r].push(i):this.pubsubListOfSubscribers[r]=[i],a.LoggerClient.system.info("RouterClient: incoming subscription added","TOPIC",r,"MESSAGE"))}removeSubscribers(e,t){let n=!1;if(e in this.pubsubListOfSubscribers){const r=this.pubsubListOfSubscribers[e];for(let i=0;i<r.length;i++)if(t===r[i]){r.splice(i,1),0===r.length&&delete this.pubsubListOfSubscribers[e],n=!0,a.LoggerClient.system.info("RouterClient: PubSub removeListener","TOPIC",e,"FROM",t);break}}n||a.LoggerClient.system.warn(`RouterClient: tried to remove non-existent listener on ${e} from ${t}`)}routeIncomingMessage(e){const t=()=>{this.timeCalibrationHandler?this.timeCalibrationHandler(e):setTimeout((()=>{t()}),10)};switch(a.LoggerClient.system.verbose("Incoming Message Type",e.header.type,e),e.header.type){case"transmit":this.invokeListeners(e);break;case"query":this.invokeResponder(e);break;case"queryResponse":this.invokeQueryResponse(e);break;case"notify":this.invokeNotifyCallback(e);break;case"publish":this.invokePublishEvent(e);break;case"subscribe":this.invokeSubscribeEvent(e);break;case"unsubscribe":this.invokeUnsubscribeEvent(e);break;case"timeCalibration":t();break;case"initialHandshakeResponse":this.handshakeHandler()}}asyncConnectToEventRouter(e,t,n){a.LoggerClient.system.debug(`Name of transport to establish: ${t}`),e.notificationURL&&(this.notificationURL=e.notificationURL);let r=null,o=0,l=!1,c=0,u=null;const d=()=>{if(clearInterval(r),c++,c<=3)a.LoggerClient.console.error("WINDOW LIFECYCLE:STARTUP:RouterClient: failure to connect to router service. Retrying...",c,e),null==u||u();else{const t="A cross domain transport has failed to connect. Cross domain components may not work. Please contact your administrator.";a.LoggerClient.console.error(t,e),s.default.alert("dev","ONCE-SINCE-STARTUP","FSBL-Internal-Transport-Failure",t,{url:this.notificationURL})}},f=()=>{a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient: sendHandshake",o);const e={header:{origin:this.clientName,type:"initialHandshake"}};this.sendToRouterService(e),o++>50&&d()},h=()=>{if(!l){a.LoggerClient.system.debug(`WINDOW LIFECYCLE:STARTUP:RouterClient connected: Starting ${this.clientName} with transport ${this.transport.identifier()}`),l=!0,clearInterval(r);for(let e=0;e<this.queue.length;e++){a.LoggerClient.system.debug("RouterClient: releasing queued msg");const t=this.queue[e];this.transport.send(Object.assign(Object.assign({},t),{header:Object.assign(Object.assign({},t.header),{origin:this.clientName})}))}null==n||n()}},p=e=>{o=0,a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:transport ready","TRANSPORT OBJECT",e),this.transport=e,this.handshakeHandler=h,f(),r=setInterval(f,200)};u=()=>{a.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:getClientTransport","ROUTER PARAMS:",e),i.default.getTransport(e,t,((e,t)=>{t.header.lastClient=this.clientName,t.header.incomingTransportInfo=e,this.routeIncomingMessage(t)}),this.clientName,"RouterService").then(p).catch((e=>{a.LoggerClient.console.error("RouterClient getTransport error",e)}))},u()}addPubSubResponderCallBack(e,t,n,r){const i=e.toString();return!this.mapPubSubResponders[i]&&(e instanceof RegExp&&(this.mapPubSubResponderRegEx[i]=e,a.LoggerClient.system.info(`RouterClient: PubSub RegEx added for topic ${i}`)),this.mapPubSubResponders[i]={subscribeCallback:t,publishCallback:n,unsubscribeCallback:r},!0)}calibrateTimeWithRouterService(e){let t=0,n=0,r=1/0;const i={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:[],serviceBaseTime:[]};this.timeCalibrationHandler=i=>{if(t++,t>5)(t=>{const{clientBaseTime:i,serviceBaseTime:o}=t;let s=0;for(let e=1;e<5;e++){const t=i[e-1],l=i[e]-t,c=o[e-1]-(t+l/2);l<r&&(r=l,n=c),s+=c,a.LoggerClient.system.debug("calibrationCalculation Intermediate Values","lastRRT",l,"lastOffset",c,"fastestOffset",n,"fastestRRT",r)}s/=4,a.LoggerClient.system.debug("RouterClient calibrationCalculation","Average Offset",s,"Chosen FastestOffset",n,t),e(n)})(i);else{i.clientBaseTime.push(c.Performance.timing.navigationStart+c.Performance.now());const e={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:i.clientBaseTime,serviceBaseTime:i.serviceBaseTime};this.sendToRouterService(e)}},this.timeCalibrationHandler(i)}start(e){return new Promise((async t=>{if(this.started){const e="RouterClient.start() called twice. Ignoring second call.";return a.LoggerClient.system.warn(e),t(e)}this.started=!0,this.clientName=`RouterClient.${e.windowName}.${(0,u.v4)()}`;const n=`"RouterClient Check: connecting new client for ${this.clientName}`;a.LoggerClient.system.debug(n),console.debug(n),i.default.setTransports(),this.asyncConnectToEventRouter(e,e.transportName,(()=>{this.onReadyCallBack(),t(null)}))}))}stop(){this.disconnectAll(),i.default.close(),this.started=!1}onReady(e){return new Promise((t=>{o.default.args(e,"function");const n=()=>{e&&e(),t()};this.isRouterReady?n():this.parentReadyCallbackQueue.push(n)}))}addListener(e,t){a.LoggerClient.system.info("RouterClient.addListener","CHANNEL",e),o.default.args(e,"string",t,"function");const n=this.mapListeners[e];if(n&&0!==n.length)n.some((e=>t===e))?a.LoggerClient.debug("RouterClient.addListener() Ignoring duplicate listener with identical callback",e,t):n.push(t);else{this.mapListeners[e]=[t];const n={header:{origin:this.clientName,type:"addListener",channel:e}};this.sendToRouterService(n)}return()=>{this.removeListener(e,t)}}transmit(e,t,n){a.LoggerClient.channelFilter(e)||a.LoggerClient.system.info("RouterClient.transmit","TO CHANNEL",e,"DATA",t),o.default.args(e,"string",t,"any");const r={header:{origin:this.clientName,type:"transmit",channel:e},data:t,options:n};this.sendToRouterService(r)}removeListener(e,t){if(a.LoggerClient.system.info("RouterClient.removeListener","CHANNEL",e,"EVENT HANDLER",t),o.default.args(e,"string",t,"function"),!this.mapListeners[e])return a.LoggerClient.system.debug("Attempt to remove non existent listener",e,t),void console.log("Attempt to remove non existent listener",e,t);if(this.mapListeners[e]=this.mapListeners[e].flatMap((e=>e===t?[]:[e])),!this.mapListeners[e].length){delete this.mapListeners[e];const t={header:{origin:this.clientName,type:"removeListener",channel:e}};this.sendToRouterService(t)}}addResponder(e,t){if(a.LoggerClient.system.info("RouterClient.addResponder","CHANNEL",e),o.default.args(e,"string",t,"function"),this.mapQueryResponders[e]){const n=`RouterClient.addResponder: Responder already locally defined for channel ${e}`;a.LoggerClient.system.warn(n),t(n)}else{this.mapQueryResponders[e]=t;const n={header:{origin:this.clientName,type:"addResponder",channel:e}};this.sendToRouterService(n)}}query(e,t,n,r){var i,s,d,f;const h=`${this.clientName}.${(0,u.v4)()}.${e}`,p=c.Performance.timing.navigationStart+c.Performance.now(),g=c.Performance.timing.navigationStart,m=c.Performance.now();a.LoggerClient.system.info("RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",n,"QUERY ID",h,{timestamp:p,navstart:g,timenow:m});const w=null!=r?r:"function"==typeof n?n:null,v=null!==(s=null===(i=n)||void 0===i?void 0:i.timeout)&&void 0!==s?s:2e4,y=null===(f=null===(d=n)||void 0===d?void 0:d.logWhenNoResponder)||void 0===f||f;return o.default.args(e,"string",t,"any=",n,"object=",w,"function"),new Promise((n=>{this.mapQueryResponses[h]=(e,t)=>{null==w||w(e,t),n({err:e,response:t})},!l.Globals.runningInFSBLUnitTest&&v>0&&(this.mapQueryResponseTimeOut[h]=setTimeout((()=>{a.LoggerClient.system.warn(`RouterClient: timeout after ${v} ms waiting on query response on channel ${e} for queryID ${h}`),delete this.mapQueryResponseTimeOut[h]}),v));const r={header:{origin:this.clientName,type:"query",queryID:h,channel:e,logWhenNoResponder:y},data:t};this.sendToRouterService(r)}))}removeResponder(e){if(a.LoggerClient.system.info("RouterClient.removeResponder","RESPONDER CHANNEL",e),o.default.args(e,"string"),this.mapQueryResponders[e]){delete this.mapQueryResponders[e];const t={header:{origin:this.clientName,type:"removeResponder",channel:e}};this.sendToRouterService(t)}}addPubSubResponder(e,t,n,r){let i,s;if(a.LoggerClient.system.info("RouterClient.addPubSubResponder","TOPIC",e,"INITIAL STATE",t,"PARAMS",n),o.default.args(e,"any",t,"object=",n,"object="),n=n||{},o.default.args2("params.subscribeCallback",n.subscribeCallback,"function=","params.publishCallback",n.publishCallback,"function=")&&o.default.args2("params.unsubscribeCallback",n.unsubscribeCallback,"function="),void 0===n.subscribeCallback&&void 0===n.publishCallback&&void 0===n.unsubscribeCallback){t=t||{};const n={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!0},data:t};this.sendToRouterService(n),s="success"}else if(this.addPubSubResponderCallBack(e,n.subscribeCallback,n.publishCallback,n.unsubscribeCallback)){t=t||{},this.mapPubSubResponderState[e.toString()]=f(t);const n={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!1},data:t};this.sendToRouterService(n),s="success"}else i=`RouterClient.addPubSubResponder: Responder already locally defined for topic ${e}`,a.LoggerClient.system.error(i);r&&r(i,s)}removePubSubResponder(e){a.LoggerClient.system.info("RouterClient.removePubSubResponder","TOPIC",e),o.default.args(e,"any");const t=e.toString();if(this.mapPubSubResponders[t]){delete this.mapPubSubResponders[t],delete this.mapPubSubResponderState[t],delete this.mapPubSubResponderRegEx[t];const n={header:{origin:this.clientName,type:"removePubSubResponder",topic:e}};this.sendToRouterService(n)}else a.LoggerClient.system.warn(`RouterClient.removePubSubResponder failed: Could not find responder for topic ${e}`)}subscribe(e,t){a.LoggerClient.system.info("RouterClient.subscribe","TOPIC",e),o.default.args(e,"string",t,"function");const n=`${this.clientName}.${(0,u.v4)()}`;this.mapSubscribersID[n]=t,this.mapSubscribersTopic[n]=e;const r={header:{origin:this.clientName,type:"subscribe",subscribeID:n,topic:e}};return this.sendToRouterService(r),{subscribeID:n,topic:e}}publish(e,t){a.LoggerClient.system.info("RouterClient.publish","TOPIC",e,"EVENT",t),o.default.args(e,"string",t,"any");const n={header:{origin:this.clientName,type:"publish",topic:e},data:t};this.sendToRouterService(n)}unsubscribe(e){a.LoggerClient.system.info("RouterClient.unsubscribe","SUBSCRIBE ID",e),o.default.args(e,"object")&&o.default.args2("subscribeIDStruct.subscribeID",e.subscribeID,"string");const{subscribeID:t}=e;if(this.mapSubscribersID[t]){delete this.mapSubscribersID[t],delete this.mapSubscribersTopic[t];const n={header:{origin:this.clientName,type:"unsubscribe",subscribeID:e.subscribeID,topic:e.topic}};this.sendToRouterService(n)}else a.LoggerClient.system.warn(`RouterClient.unsubscribe: Could not find subscribeID for topic ${e.topic}`)}trustedMessage(e){let t=!1;return a.LoggerClient.system.debug("RouterClient.trustedMessage header",e.header),"SharedWorker"===e.header.originIncomingTransportInfo.transportID&&(t=!0),t}disconnectAll(){a.LoggerClient.system.info("RouterClient.disconnectAll"),Object.keys(this.mapListeners).forEach((e=>{Array.from(new Set(this.mapListeners[e])).forEach((t=>{this.removeListener(e,t)}))})),Object.keys(this.mapQueryResponders).forEach((e=>{this.removeResponder(e)})),Object.keys(this.mapPubSubResponders).forEach((e=>{this.removeResponder(e)})),Object.keys(this.mapSubscribersID).forEach((e=>{const t=this.mapSubscribersTopic[e];this.unsubscribe({topic:t,subscribeID:e})}))}}t.RouterConnection=h,t.RouterController={start:e=>{const t=(0,d.singleton)("RouterClient",h);return a.LoggerClient.setRouterClient(t),t.start(e)},stop:()=>{(0,d.singleton)("RouterClient",h).stop()},calibrateTimeWithRouterService(e){(0,d.singleton)("RouterClient",h).calibrateTimeWithRouterService(e)}},t.RouterClient={onReady:e=>(0,d.singleton)("RouterClient",h).onReady(e),addListener:(e,t)=>(0,d.singleton)("RouterClient",h).addListener(e,t),transmit:(e,t,n)=>{(0,d.singleton)("RouterClient",h).transmit(e,t,n)},removeListener:(e,t)=>{(0,d.singleton)("RouterClient",h).removeListener(e,t)},addResponder:(e,t)=>{(0,d.singleton)("RouterClient",h).addResponder(e,t)},query:(e,t,n,r)=>(0,d.singleton)("RouterClient",h).query(e,t,n,r),removeResponder:e=>{(0,d.singleton)("RouterClient",h).removeResponder(e)},addPubSubResponder:(e,t,n,r)=>{(0,d.singleton)("RouterClient",h).addPubSubResponder(e,t,n,r)},removePubSubResponder:e=>{(0,d.singleton)("RouterClient",h).removePubSubResponder(e)},subscribe:(e,t)=>(0,d.singleton)("RouterClient",h).subscribe(e,t),publish:(e,t)=>{(0,d.singleton)("RouterClient",h).publish(e,t)},unsubscribe:e=>{(0,d.singleton)("RouterClient",h).unsubscribe(e)},trustedMessage:e=>(0,d.singleton)("RouterClient",h).trustedMessage(e),disconnectAll:()=>{(0,d.singleton)("RouterClient",h).disconnectAll()},calibrateTimeWithRouterService(e){(0,d.singleton)("RouterClient",h).calibrateTimeWithRouterService(e)}},t.default=t.RouterClient},10449:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchClient=void 0;const i=r(n(2518)),o=n(25232),s=n(10166),a=n(11314);i.default.system.debug("Starting searchClient");class l extends o._BaseClient{constructor(){super(...arguments),this.providers={},this.resultProviders={},this.searchResultsList=[],this.isSearching=!1,this.unRegister=this.unregister,this.handleResults=(e,t)=>{t.data.searchId&&t.data.searchId==this.searchId&&(this.resultProviders[t.data.provider.channel]=t.data,this.searchResultsList.push(t.data),this.resultsCallback(null,this.searchResultsList))}}async register(e,t){var n;if(!e.name){const e='"name" is required in params';return null==t||t(e),{err:e}}if(!e.searchCallback){const e='"searchCallback" is required in params';return null==t||t(e),{err:e}}const{name:r,providerActionCallback:o,itemActionCallback:s,searchCallback:l}=e,c=`${null===(n=this.finWindow)||void 0===n?void 0:n.name}.${r}`,{err:u,response:d}=await this.routerClient.query("Search.register",{name:r,channel:c,providerActionTitle:e.providerActionTitle,providerActionCallback:!!e.providerActionCallback});return u?(null==t||t(u),{err:u}):(this.providers[r]=r,this.routerClient.addResponder(`Search.Provider.${c}`,((e,t)=>{!e&&t&&l(t.data,((e,n)=>{t.sendQueryResponse(e,n)}))})),s&&((e,t)=>{a.RouterClient.addResponder(`Search.Provider.ItemAction.${e}`,((n,r)=>{!n&&r?t(r.data,r.data.windowName,((e,t)=>{r.sendQueryResponse(e,t)})):i.default.system.error(`SearchClient error registering responder for "Search.Provider.ItemAction.${e}"`,n)}))})(c,s),o&&((e,t)=>{a.RouterClient.addResponder(`Search.Provider.Action.${e}`,((n,r)=>{!n&&r?t(r.data.windowName,((e,t)=>{r.sendQueryResponse(e,t)})):i.default.system.error(`SearchClient error registering responder for "Search.Provider.Action.${e}"`,n)}))})(c,o),null==t||t(null,d.data),{})}unregister(e,t){var n;if(!e.name)return null==t?void 0:t("Provider name was not provided");const r=`${null===(n=this.finWindow)||void 0===n?void 0:n.name}.${e.name}`;this.routerClient.query("Search.unregister",{channel:r},(()=>(this.routerClient.removeResponder(`Search.Provider.${r}`),this.routerClient.removeResponder(`Search.Provider.ItemAction.${r}`),this.routerClient.removeResponder(`Search.Provider.Action.${r}`),delete this.providers[e.name],t?t():null)))}search(e,t){var n,r,i;this.isSearching||(this.routerClient.addPubSubResponder(`Search.${null===(n=this.finWindow)||void 0===n?void 0:n.name}`),this.routerClient.subscribe(`Search.${null===(r=this.finWindow)||void 0===r?void 0:r.name}`,this.handleResults),this.isSearching=!0),this.searchResultsList=[],e.windowName=null===(i=this.finWindow)||void 0===i?void 0:i.name,this.routerClient.query("Search.search",e,((e,n)=>{if(e)return t(e);this.resultsCallback=t,this.searchId=n.data.searchId}))}invokeItemAction(e,t){this.routerClient.query(`Search.Provider.ItemAction.${e.provider}`,{item:e,action:t,windowName:s.Startup.getInstance().currentStartupData.windowName})}invokeProviderAction(e){this.routerClient.query(`Search.Provider.Action.${e.channel}`,{windowName:s.Startup.getInstance().currentStartupData.windowName})}}t.SearchClient=l;const c=new l({onReady(e){e&&e()},name:"searchClient"});t.default=c},95085:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StorageClient=void 0;const i=r(n(83027)),o=r(n(20670)),s=r(n(2518)),a=n(25232),l=n(252),c=(0,i.default)(1);class u extends a._BaseClient{constructor(){super({onReady:e=>{null==e||e(),this.clientReady=!0},name:"storageClient"}),this.clientReady=!1}log(e,...t){(e?s.default.system.error:s.default.system.info)(...t,e)}async setUser(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.user,"string",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.setUser",{user:e.user});return this.log(n,"APPLICATION LIFECYCLE:StorageClient.setUser",e,n,r.data),null==t||t(n),{err:n}}async setStore(e,t){s.default.deprecated("StorageClient.setStore() has been deprecated and will be removed in a future release"),this.clientReady||s.default.system.error("storageClient.setStore() invoked before ready"),o.default.args(e.topic,"string",e.dataStore,"string=",t,"function="),s.default.system.log("APPLICATION LIFECYCLE:StorageClient.setStore",e,t);const{err:n,response:r}=await this.routerClient.query("Storage.setStore",e);return this.log(n,"Storage.setStore",r),null==t||t(n,r.data),{err:n,data:r.data}}async save(e,t){if(this.clientReady||s.default.system.error("storageClient.save() invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");o.default.args(e.topic,"string",e.key,"string",e.value,"any",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.save",e);if(this.log(n,"Storage.save",r.data),null==t||t(n,r.data),n)throw n;return{err:n,data:r.data}}save1(e){return c((()=>this.save(e)))}async get(e,t){const{err:n,data:r}=await this.getStandardized(e);if(null==t||t(n,r),n)throw n;return r}async getStandardized(e,t){if(this.clientReady||s.default.system.error("storageClient invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");o.default.args(e.topic,"string",e.key,"string",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.get",e);return this.log(n,"Storage.get",r.data),null==t||t(n,r.data),{err:n,data:r.data}}get1(e,t){return c((()=>this.get(e,t)))}async keys(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",t,"function="),s.default.system.debug("StorageClient.keys",e,t);const{err:n,response:r}=await this.routerClient.query("Storage.keys",e);return this.log(n,"Storage.keys",r.data),null==t||t(n,r.data),{err:n,data:r.data}}keys1(e){return s.default.deprecated("StorageClient.keys1 is deprecated and will be removed in a future release"),c((()=>(0,l.promisify)(this.keys.bind(this))(e)))}async getMultiple(e,t){s.default.deprecated("StorageClient.getMultiple() is deprecated and will be removed in a future release"),this.clientReady||s.default.system.error("storageClient invoked before ready"),s.default.system.info("StorageClient.getMultiple",e,t);const{err:n,response:r}=await this.routerClient.query("Storage.getMultiple",e);return this.log(n,"StorageClient.getMultiple:",e,r),null==t||t(n,r),{err:n,data:r.data}}async remove(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",e.key,"string",t,"function=");const{err:n,response:r}=await this.routerClient.query("Storage.delete",e);if(this.log(n,"StorageClient.delete",r.data),null==t||t(n,r.data),n)throw n;return{err:n,data:r.data}}remove1(e){return c((()=>this.remove(e)))}delete(...e){s.default.deprecated("StorageClient.delete() is deprecated and will be removed in a future release"),this.remove.apply(e)}async clearCache(e){s.default.system.log("StorageClient.clearCache",e);const{err:t,response:n}=await this.routerClient.query("Storage.clearCache",null);return this.log(t,"StorageClient.clearCache",n.data),null==e||e(t,n.data),{err:t,data:n.data}}}t.StorageClient=u;var d=new u;t.default=d},97525:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WindowClient=void 0;const i=n(1641),o=r(n(90693)),s=r(n(49136)),a=n(91374),l=n(25232),c=r(n(2518)),u=r(n(20670)),d=r(n(11314)),f=r(n(9381)),h=n(252),p=n(44137),g=n(49136),m=n(94017),w=n(24137);let v=!1,y=!1;const b=async e=>{v&&(y=!0);const{name:t}=p.FEAGlobals.finsembleWindow;d.default.transmit("DockingService.deregisterWindow",{name:t,userInitiated:e})};class S extends l._BaseClient{constructor(){super({startupDependencies:{},onReady:e=>{this.start(e)},name:"windowClient"}),this.options={},this.title=null,this.windowGroups=[],this.enableWindowsAeroSnap=!1,this.bindFunctions()}bindFunctions(){this.onWindowRestored=this.onWindowRestored.bind(this),this.onWindowMaximized=this.onWindowMaximized.bind(this),this.onWindowBlurred=this.onWindowBlurred.bind(this),this.onWindowFocused=this.onWindowFocused.bind(this),this.onMinimizedRestored=this.onMinimizedRestored.bind(this),this.onWindowMinimized=this.onWindowMinimized.bind(this),this.close=this.close.bind(this),this.getInitialOptions=this.getInitialOptions.bind(this)}onWindowRestored(){this.updateHeaderState("Maximize",{hide:!1})}onWindowMaximized(){this.updateHeaderState("Maximize",{hide:!0})}onWindowBlurred(){(0,w.deprecatedSetActive)(!1)}onWindowFocused(){(0,w.deprecatedSetActive)(!0)}onMinimizedRestored(){this.routerClient.transmit("DockingService.windowRestored",p.FEAGlobals.finsembleWindow.name),p.FEAGlobals.finsembleWindow.removeEventListener("restored",this.onMinimizedRestored)}onWindowMinimized(){this.routerClient.query("DockingService.windowMinimized",{windowName:p.FEAGlobals.finsembleWindow.name}),p.FEAGlobals.finsembleWindow.addEventListener("restored",this.onMinimizedRestored)}getWindowGroups(){return this.windowGroups}groupUpdateHandler(e,t){e?c.default.error(e):t.data&&t.data.groupData&&(this.windowGroups=Object.values(t.data.groupData).filter((e=>e.windowNames.includes((0,w.deprecatedGetWindowNameForDocking)(p.FEAGlobals.finsembleWindow)))))}close(e,t){e||(e={removeFromWorkspace:!0,closeWindow:!0});const{parentWindow:n}=p.FEAGlobals.finsembleWindow;return e.userInitiated&&n?n.close(e,t):p.FEAGlobals.finsembleWindow.close(e,t)}getWindowTitle(){return this.title}async retrieveMonitorDimensions(e){c.default.deprecated("WindowClient.retrieveMonitorDimensions() is deprecated and will be removed in a future release.");const t=await(0,m.getMonitor)();p.FEAGlobals.finsembleWindow.updateOptions({options:{monitorDimensions:t.monitorRect}}),null==e||e(t.monitorRect)}listenForHashChanges(){var e;if(a.System.isTitlebarWindow())return;const t=null!==(e=window.top)&&void 0!==e?e:window,n=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:n}),function(e){const{pushState:n}=e;e.pushState=function(r){"function"==typeof e.onpushstate&&e.onpushstate({state:r}),n.apply(e,arguments);const i=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:i})};const{replaceState:r}=e;e.replaceState=function(n){"function"==typeof e.onreplacestate&&e.onreplacestate({state:n}),r.apply(e,arguments);const i=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:i})}}(window.history),window.addEventListener("hashchange",(()=>{const e=t.location.href;p.FEAGlobals.finsembleWindow.updateOptions({url:e})}))}async getInitialOptions(e){if(this.isInAService)this.options={},c.default.system.debug("WindowClient:getting options empty",this.options),null==e||e();else{const{data:t}=await p.FEAGlobals.finsembleWindow.getOptions(),n=null!=t?t:{};p.FEAGlobals.finsembleWindow.windowOptions=this.options=n,c.default.system.debug("WindowClient:getting options",this.options),null==e||e()}}async cacheInitialBounds(){var e;if(a.System.isTitlebarWindow())return;const t=null!==(e=window.top)&&void 0!==e?e:window;await this.cacheBounds();try{p.FEAGlobals.finsembleWindow.windowOptions.customData.foreign.components["Window Manager"].persistWindowState&&p.FEAGlobals.finsembleWindow.updateOptions({options:{url:t.location.toString()}})}catch(e){c.default.system.warn('customData.foreign.components["Window Manager" is undefined')}}getWindowBounds(){return c.default.deprecated("WindowClient.getWindowBounds() is deprecated and will be removed in a future version."),{top:p.FEAGlobals.finsembleWindow.windowOptions.defaultTop,left:p.FEAGlobals.finsembleWindow.windowOptions.defaultLeft,width:p.FEAGlobals.finsembleWindow.windowOptions.defaultWidth,height:p.FEAGlobals.finsembleWindow.windowOptions.defaultHeight}}saveWindowBounds(e,t){if(c.default.system.debug("WINDOW LIFECYCLE:SavingBounds:",e,"setActiveWorkspaceDirty",t),void 0===t&&(t=!1),u.default.args(e,"object")&&u.default.args2("bounds.top",e.top,"number"),e){p.FEAGlobals.finsembleWindow.updateOptions({options:{top:Math.round(e.top),defaultTop:Math.round(e.top),left:Math.round(e.left),defaultLeft:Math.round(e.left),width:Math.round(e.width),defaultWidth:Math.round(e.width),height:Math.round(e.height),defaultHeight:Math.round(e.height)}});try{p.FEAGlobals.finsembleWindow.windowOptions.customData.foreign.components["Window Manager"].persistWindowState}catch(e){}}}maximize(e){return p.FEAGlobals.finsembleWindow.maximize(null,e)}minimize(e){return p.FEAGlobals.finsembleWindow.minimize(null,e)}bringToFront(e){return p.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e)}bringWindowToFront(e){p.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e)}setAlwaysOnTop(e,t){return p.FEAGlobals.finsembleWindow.setAlwaysOnTop({alwaysOnTop:e},t)}restore(e){return p.FEAGlobals.finsembleWindow.restore(null,e)}setTaskbarIconOverlay(e){p.FEAGlobals.fin.desktop.Window.setTaskbarIconOverlay({iconURL:e})}async cacheBounds(){const{err:e,data:t}=await p.FEAGlobals.finsembleWindow.getBounds();!e&&t?await p.FEAGlobals.finsembleWindow.updateOptions({options:{defaultLeft:t.left,defaultTop:t.top,defaultWidth:t.width,defaultHeight:t.height}}):console.warn("Get bounds error.",e,"Window may not be registered with the window service")}injectDOM(e){if(c.default.system.debug("injectDOM",e),c.default.system.deprecated("WindowClient.injectDOM() has been deprecated and will be removed in a future release"),document.getElementById("FSBLHeader"))return;window.scrollTo(0,0);const t=document.createElement("div"),n=e?` style=height:${e}`:"";t.innerHTML=`<div id="FSBLHeader"${n}></div>`,t.firstChild&&document.body.insertBefore(t.firstChild,document.body.firstChild)}getComponentState(e,t){return new Promise((n=>{e||(e={}),e.fields&&!Array.isArray(e.fields)&&(e.fields=[e.fields]),u.default.args(e,"object",t,"function"),p.FEAGlobals.finsembleWindow.getComponentState(e,((e,r)=>{null==t||t(e,r),n({err:e,data:r})}))}))}async setComponentState(e,t){return u.default.args(e,"object",t,"function=")&&u.default.args2("params.field",e.field,"string"),new Promise((n=>{p.FEAGlobals.finsembleWindow.setComponentState(e,(e=>{null==t||t(e),n({err:e})}))}))}async removeComponentState(e,t){return u.default.args(e,"object",t,"function=")&&u.default.args2("params.field",e.field,"string"),new Promise((n=>{p.FEAGlobals.finsembleWindow.removeComponentState(e,(e=>{null==t||t(e),n({err:e})}))}))}getWindowNameForDocking(){return c.default.deprecated("WindowClient.getWindowNameForDocking is deprecated and will be removed"),(0,w.deprecatedGetWindowNameForDocking)(p.FEAGlobals.finsembleWindow)}formGroup(){p.FEAGlobals.finsembleWindow.formGroup()}preventUnintendedDropEvents(){const e=e=>{e.preventDefault()};window.addEventListener("dragover",e,!1),window.addEventListener("drop",e,!1)}rejectWindowsKeyResizes(){let e=!1;const t=async t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&d.default.transmit("Finsemble.WindowService.WindowsKey","up"):"Meta"===t.key&&e&&(e=!1,a.System.Window.getCurrent().updateOptions({resizable:!0}))},n=t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&d.default.transmit("Finsemble.WindowService.WindowsKey","down"):"Meta"===t.key&&(e=!0,a.System.Window.getCurrent().updateOptions({resizable:!1}))};o.default.onReady((()=>{window.addEventListener("keyup",t),window.addEventListener("keydown",n)}))}modifyReload(){document.addEventListener("keydown",(e=>{e.ctrlKey&&"r"===e.key.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),p.FEAGlobals.finsembleWindow.reload())}))}addListeners(){p.FEAGlobals.finsembleWindow.addListener("setParent",(()=>{c.default.system.info("WindowClient.setParent deregisterWithDockingManager"),b()})),p.FEAGlobals.finsembleWindow.addEventListener("maximized",this.onWindowMaximized),p.FEAGlobals.finsembleWindow.addEventListener("minimized",this.onWindowMinimized),p.FEAGlobals.finsembleWindow.addEventListener("restored",this.onWindowRestored),p.FEAGlobals.finsembleWindow.addEventListener("blurred",this.onWindowBlurred),p.FEAGlobals.finsembleWindow.addEventListener("focused",this.onWindowFocused)}updateHeaderState(e,t){var n;null===(n=this.commandChannel)||void 0===n||n.call(this,e,t)}headerCommandChannel(e){this.commandChannel=e}ejectFromGroup(){c.default.deprecated("WindowClient.ejectFromGroup is deprecated and will be removed"),p.FEAGlobals.finsembleWindow.ejectFromGroup()}setWindowTitle(e){c.default.system.deprecated("This method is deprecated and will be removed in a future release. Please simply set the application's `document.title` element to change the title. Or, set `components['Window Manager'].title` in the app's manifest."),this.setWindowTitlePrivate(e)}setWindowTitlePrivate(e){u.default.args(e,"string"),this.title=e,this.updateHeaderState("Main",{windowTitle:e}),p.FEAGlobals.finsembleWindow.setTitle(e)}getSpawnData(){var e,t,n;return null!==(n=null===(t=null===(e=this.options)||void 0===e?void 0:e.customData)||void 0===t?void 0:t.spawnData)&&void 0!==n?n:{}}getCurrentWindow(){return a.System.Window.getCurrent()}async getDesktopBoundingBox(e){return c.default.deprecated("WindowClient.getDesktopBoundingBox() is deprecated and will be removed in a future release."),(0,g.getDesktopBoundingBox)(e)}isPointInBox(e,t){return c.default.deprecated("WindowClient.isPointInBox() is deprecated and will be removed in a future release."),(0,g.isPointInBox)(e,t)}isMouseOverDOMElement(e,t){return(0,g.isMouseOverDOMElement)(e,t)}getWindowIdentifier(){var e,t,n,r;return{windowName:p.FEAGlobals.finsembleWindow?p.FEAGlobals.finsembleWindow.name:window.name,uuid:p.FEAGlobals.finsembleWindow?p.FEAGlobals.finsembleWindow.uuid:void 0,componentType:null!==(r=null===(n=null===(t=null===(e=this.options)||void 0===e?void 0:e.customData)||void 0===t?void 0:t.component)||void 0===n?void 0:n.type)&&void 0!==r?r:null}}setActive(e){c.default.deprecated("WindowClient.setActive is deprecated and will be removed"),(0,w.deprecatedSetActive)(e)}getBounds(e){return p.FEAGlobals.finsembleWindow.getBounds(e)}setShape(e,t=Function.prototype){p.FEAGlobals.finsembleWindow.setShape(e,t)}startTilingOrTabbing(e,t){c.default.deprecated("WindowClient.startTilingOrTabbing is deprecated and will be removed"),d.default.transmit("DockingService.startTilingOrTabbing",e),null==t||t()}startMovingWindow(e){a.System.Window.getCurrent().startMovingWindow(e)}stopMovingWindow(){a.System.Window.getCurrent().stopMovingWindow()}cancelTilingOrTabbing(e,t){c.default.deprecated("WindowClient.cancelTilingOrTabbing is deprecated and will be removed"),console.debug("CancelTilingOrTabbing"),d.default.transmit("DockingService.cancelTilingOrTabbing",e),null==t||t()}sendIdentifierForTilingOrTabbing(e,t){c.default.deprecated("WindowClient.sendIdentifierForTilingOrTabbing is deprecated and will be removed"),d.default.transmit("DockingService.identifierForTilingOrTabbing",e),null==t||t()}stopTilingOrTabbing(e,t){c.default.deprecated("WindowClient.stopTilingOrTabbing is deprecated and will be removed");const n=()=>{d.default.query("DockingService.stopTilingOrTabbing",e,(()=>{null==t||t()})),d.default.transmit("DockingService.stopTilingOrTabbing",e)};e.mousePosition?(n(),e.allowDropOnSelf||null==t||t()):a.System.getMousePosition(((r,i)=>{e.mousePosition=i,n(),e.allowDropOnSelf||null==t||t()}))}getStackedWindow(e,t){if(c.default.deprecated("WindowClient.getStackedWindow is deprecated and will be removed"),c.default.system.debug("WindowClient.getStackedWindow",e),t=t||e,(e=e||{}).windowIdentifiers=e.windowIdentifiers||[],!p.FEAGlobals.finsembleWindow.parentWindow&&e.create){const n=e=>{const{parentName:r}=e.data;p.FEAGlobals.finsembleWindow.setParent({windowName:r},((e,n)=>{null==t||t(e,n)})),p.FEAGlobals.finsembleWindow.removeListener("parent-set",n)};p.FEAGlobals.finsembleWindow.addListener("parent-set",n),s.default.spawn("StackedWindow",{windowType:"StackedWindow",data:{windowIdentifiers:e.windowIdentifiers},options:{newStack:!0}},((e,n)=>{c.default.system.debug("WindowClient.getStackedWindow-success",e,n),e&&(null==t||t(e,null))}))}else p.FEAGlobals.finsembleWindow.getParent(t)}async getMonitorInfo(e={},t){return c.default.deprecated("WindowClient.getMonitorInfo() is deprecated and will be removed. Please use LauncherClient.getMonitorInfo()"),(0,m.getWhichMonitorClientSide)(this.routerClient,e,t)}showAtMousePosition(){this.routerClient.transmit("DockingService.showAtMousePosition",this.getWindowIdentifier())}async fitToDOM(e,t){var n,r,i,o,s,a;"function"==typeof e&&(t=e,e=null);let l=document.documentElement.offsetHeight+(null!==(r=null===(n=null==e?void 0:e.padding)||void 0===n?void 0:n.height)&&void 0!==r?r:0),u=document.documentElement.offsetWidth+(null!==(o=null===(i=null==e?void 0:e.padding)||void 0===i?void 0:i.width)&&void 0!==o?o:0);l=Math.min(l,null!==(s=null==e?void 0:e.maxHeight)&&void 0!==s?s:l),u=Math.min(u,null!==(a=null==e?void 0:e.maxWidth)&&void 0!==a?a:u),c.default.system.debug("WindowClient.FitToDOM:newHeight:newWidth",l,u,e);const{data:d}=await(0,m.getWhichMonitorClientSide)(this.routerClient,{});d&&(l=Math.min(l,d.availableRect.height),u=Math.min(u,d.availableRect.width)),c.default.system.debug("WindowClient.FitToDOM:fixBounds",l,u);const{data:f}=await p.FEAGlobals.finsembleWindow.getBounds();!f||f.width==u&&f.height==l||await p.FEAGlobals.finsembleWindow.setBounds({bounds:Object.assign(Object.assign({},f),{width:u,height:l})}),null==t||t()}async start(e){if((0,h.iAmAServiceWindow)())return this.isInAService=!0,void(null==e||e());setInterval((()=>{(a.System.isBrowserView()||!a.System.isTitlebarWindow())&&(null===document||void 0===document?void 0:document.title)&&this.title!==document.title&&this.setWindowTitlePrivate(document.title)}),200),this.listenForHashChanges(),this.preventUnintendedDropEvents(),this.rejectWindowsKeyResizes(),this.modifyReload(),this.addListeners(),this.routerClient.subscribe("Finsemble.WorkspaceService.groupUpdate",((e,t)=>this.groupUpdateHandler(e,t))),await this.getInitialOptions(),(0,i.parallel)([e=>{f.default.getValue("finsemble",((t,n)=>{t&&c.default.system.error("Error reading windowService config from finsemble"),this.enableWindowsAeroSnap=n.services.windowService.config.enableWindowsAeroSnap,e()}))},async()=>{await(async e=>{var t,n,r,i,o,s,l,u,f,g,m,w,S,C,_,k,W,E,L,A,T,O,I,R,M,N,D,P,F,j,x,$,B,U,G,V,q,H,z,K,Q,Y,J,Z,X,ee,te,ne;if(!e)return void c.default.system.error(`No window options found for window ${window.name}`);const re=e.customData;if(a.System.isBrowserView()||!(null==re?void 0:re.component)||(0,h.iAmAServiceWindow)())return;const ie=null===(r=null===(n=null===(t=null==re?void 0:re.foreign)||void 0===t?void 0:t.components)||void 0===n?void 0:n["Window Manager"])||void 0===r?void 0:r.FSBLHeader,oe=null===(i=null==re?void 0:re.window)||void 0===i?void 0:i.dockable,se=null!==(g=null!==(f=null!==(u=null===(l=null===(s=null===(o=null==re?void 0:re.foreign)||void 0===o?void 0:o.services)||void 0===s?void 0:s.windowService)||void 0===l?void 0:l.manageWindowMovement)&&void 0!==u?u:ie)&&void 0!==f?f:oe)&&void 0!==g&&g,ae=null!==(C=null===(S=null===(w=null===(m=null==re?void 0:re.foreign)||void 0===m?void 0:m.services)||void 0===w?void 0:w.windowService)||void 0===S?void 0:S.allowAutoArrange)&&void 0!==C?C:se,le=null!==(E=null===(W=null===(k=null===(_=null==re?void 0:re.foreign)||void 0===_?void 0:_.services)||void 0===k?void 0:k.windowService)||void 0===W?void 0:W.allowSnapping)&&void 0!==E?E:se,ce={allowAutoArrange:ae,snapping:!(null===(L=null==re?void 0:re.window)||void 0===L?void 0:L.ephemeral)&&le,tiling:null!==(I=null===(O=null===(T=null===(A=null==re?void 0:re.foreign)||void 0===A?void 0:A.services)||void 0===T?void 0:T.windowService)||void 0===O?void 0:O.allowTiling)&&void 0!==I?I:se,tabbing:null!==(D=null===(N=null===(M=null===(R=null==re?void 0:re.foreign)||void 0===R?void 0:R.services)||void 0===M?void 0:M.windowService)||void 0===N?void 0:N.allowTabbing)&&void 0!==D?D:se,canGroup:null!==(x=null===(j=null===(F=null===(P=null==re?void 0:re.foreign)||void 0===P?void 0:P.services)||void 0===F?void 0:F.windowService)||void 0===j?void 0:j.allowGrouping)&&void 0!==x?x:se,canMinimize:null!==(q=null!==(G=null===(U=null===(B=null===($=null==re?void 0:re.foreign)||void 0===$?void 0:$.services)||void 0===B?void 0:B.windowService)||void 0===U?void 0:U.allowMinimize)&&void 0!==G?G:null===(V=null==re?void 0:re.component)||void 0===V?void 0:V.canMinimize)&&void 0!==q?q:se,canMaximize:null!==(J=null!==(Q=null===(K=null===(z=null===(H=null==re?void 0:re.foreign)||void 0===H?void 0:H.services)||void 0===z?void 0:z.windowService)||void 0===K?void 0:K.allowMaximize)&&void 0!==Q?Q:null===(Y=null==re?void 0:re.component)||void 0===Y?void 0:Y.canMaximize)&&void 0!==J?J:se,overwriteStartDocked:null!==(te=null===(ee=null===(X=null===(Z=null==re?void 0:re.foreign)||void 0===Z?void 0:Z.services)||void 0===X?void 0:X.workspaceService)||void 0===ee?void 0:ee.global)&&void 0!==te&&te};(se||ae||"Toolbar"===(null===(ne=re.component)||void 0===ne?void 0:ne.type))&&await(async e=>{if(p.FEAGlobals.finsembleWindow.parentWindow)return void c.default.system.debug("registerWithDockingManager ignore registration request if has a parent");const{uuid:t,name:n}=p.FEAGlobals.finsembleWindow;v=!0,await d.default.query("DockingService.registerWindow",{name:n,uuid:t,options:e,windowType:"WebWindow"}),v=!1,y&&(b(),y=!1),c.default.system.debug("WINDOW LIFECYCLE: Docking Registration complete.")})(Object.assign(Object.assign({},re.window),ce))})(this.options),await this.cacheInitialBounds()}],e)}}t.WindowClient=S;const C=new S;t.default=C},44137:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreestandingGlobals=t.FEAGlobals=t.Globals=void 0,t.Globals="undefined"==typeof window?n.g:window,t.FEAGlobals="undefined"==typeof window?n.g:window,t.FreestandingGlobals="undefined"==typeof window?n.g:window},94017:function(e,t,n){"use strict";var r,i,o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},s=this&&this.__classPrivateFieldSet||function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskbar=t.adjustBoundsToBeOnMonitorAsync=t.adjustBoundsToBeOnMonitor=t.getMonitorsInstance=t.getMonitor=t.getAllMonitors=t.getAllMonitorsClientSide=t.getWhichMonitor=t.getWhichMonitorClientSide=t.getMonitorFromWindow=t.getMonitorFromScaledXY=t.onMonitorsChanged=void 0;const l=n(17187),c=a(n(2518)),u=n(91374),d=n(7860),f=n(23099),h=n(23099),p=a(n(84795));class g extends l.EventEmitter{constructor(){super(),this.allMonitors=[],this.ready=!1}static async getInstance(){return o(g,r,"f",i)||(s(g,r,(0,d.singleton)("Monitors",g),"f",i),await o(g,r,"f",i).initialize()),o(g,r,"f",i)}async initialize(){await this.refreshMonitors(),u.System.addEventListener("monitor-info-changed",(()=>{this.refreshMonitors()}))}async refreshMonitors(){c.default.system.info("refreshing cached monitors");const e=await u.System.getMonitorInfo();this.allMonitors=[];let{primaryMonitor:t}=e;t.whichMonitor="primary",t.position=0,this.allMonitors.push(Object.assign({},t));for(let t=0;t<e.nonPrimaryMonitors.length;t++){let n=e.nonPrimaryMonitors[t];n.whichMonitor=t,n.position=t+1,this.allMonitors.push(n)}return this.emit("monitors-changed",{monitors:this.allMonitors}),this.ready=!0,this.allMonitors}}r=g,i={value:null},t.onMonitorsChanged=async e=>{(await g.getInstance()).on("monitors-changed",e)},t.getMonitorFromScaledXY=async(e,n)=>{const r=await g.getInstance();if(!r.ready)return await r.refreshMonitors(),await(0,t.getMonitorFromScaledXY)(e,n);let i=null;const o=r.allMonitors;for(let t of o){const{monitorRect:r}=t;if(e>=r.left&&e<r.right&&n>=r.top&&n<r.bottom){i=t;break}}return null!=i?i:o[0]},t.getMonitorFromWindow=async e=>{var n,r,i,o;const s=null!==(n=Number.isFinite(e.x)?e.x:e.defaultLeft)&&void 0!==n?n:0,a=null!==(r=Number.isFinite(e.y)?e.y:e.defaultTop)&&void 0!==r?r:0,l=s+(null!==(i=e.defaultWidth)&&void 0!==i?i:0),u=a+(null!==(o=e.defaultHeight)&&void 0!==o?o:0);let d=await(0,t.getMonitorFromScaledXY)(s,a);if(d)return(0,f.clone)(d);{c.default.system.debug("getMonitorFromWindow - top-left is off screen, trying bottom right");let e=await(0,t.getMonitorFromScaledXY)(l,u);if(e)return(0,f.clone)(e);{c.default.system.debug("getMonitorFromWindow - bottom-right is off screen, getting primary");const e=await(0,t.getAllMonitors)();return(0,f.clone)(e[0])}}},t.getWhichMonitorClientSide=async(e,t={},n)=>{var r;await p.default.waitForStartup("windowService");const i=await(0,h.getMyWindowIdentifier)();t.windowIdentifier=null!==(r=t.windowIdentifier)&&void 0!==r?r:i;const{err:o,response:s}=await e.query("Launcher.getMonitorInfo",t);return null==n||n(o,s.data),{err:o,data:s.data}},t.getWhichMonitor=e=>new Promise((n=>{let r,{commandMonitor:i,monitors:o,launchingMonitorPosition:s}=e;const a="number"==typeof i;if("mine"!==i){if("primary"===i)r=o.find((e=>"primary"===e.whichMonitor));else if("next"===i){let e=s+1;e>=o.length&&(e=0),r=o[e]}else if("previous"===i){let e=s-1;e<0&&(e=o.length-1),r=o[e]}else a?(i>=o.length&&(i=o.length-1),r=o.filter((e=>e.position===i))[0]):s&&(r=o[s]);r||(r=o[0]),n(r)}else{const i=e.activeWindows.getWindow(e.windowIdentifier.windowName);i?i._getBounds({},(async(e,i)=>{if(e)r=o[0],n(r);else{const e=await(0,t.getMonitorFromScaledXY)(i.left,i.top);n(e)}})):(r=o[0],n(r))}})),t.getAllMonitorsClientSide=async(e,t)=>{await p.default.waitForStartup("windowService");const{err:n,response:r}=await e.query("Launcher.getMonitorInfoAll",{});return null==t||t(n,r.data),{err:n,data:r.data}},t.getAllMonitors=async()=>{const e=await g.getInstance(),t=e.ready?e.allMonitors:await e.refreshMonitors();return JSON.parse(JSON.stringify(t))},t.getMonitor=async e=>{const n=await(0,f.getWindowDescriptor)(e);if(n)return await(0,t.getMonitorFromWindow)(n);throw"getMonitor: Can't locate windowDescriptor."},t.getMonitorsInstance=async()=>await g.getInstance(),t.adjustBoundsToBeOnMonitor=(e,t,n="availableRect")=>{if(!e)return t;if(((e,t)=>e.allMonitors.some((e=>{const{monitorRect:n}=e;return t.left>=n.left&&t.left<=n.right&&t.right>=n.left&&t.right<=n.right&&t.top>=n.top&&t.top<=n.bottom&&t.bottom>=n.top&&t.bottom<=n.bottom&&t.height<=n.height&&t.width<=n.width})))(e,t))return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: on monitor."),t;const r=e.allMonitors.map((e=>((e,t,n="availableRect")=>{const r=e[n]||e.availableRect||e.monitorRect,i=(0,f.clone)(t);return t.top<r.top?i.top=r.top:t.top>r.bottom-t.height&&(i.top=r.bottom-t.height),t.left<r.left?i.left=r.left:t.left>r.right-t.width&&(i.left=r.right-t.width),i.bottom=i.top+i.height,i.right=i.left+i.width,i.right>r.right&&(i.right=r.right),i.top<r.top&&(i.top=r.top),i.left<r.left&&(i.left=r.left),i.bottom>r.bottom&&(i.bottom=r.bottom),i.height=i.bottom-i.top,i.width=i.right-i.left,{newBounds:i,distanceMoved:Math.sqrt((t.left-i.left)**2)+(t.top-i.top)**2,monitor:e}})(e.rawMonitor?e.rawMonitor:e,t,n))),i=r.sort(((e,t)=>e.distanceMoved-t.distanceMoved))[0];return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: not on monitor. bounds",t,"monitor name",i.monitor.name,"newBounds",i.newBounds),i.newBounds},t.adjustBoundsToBeOnMonitorAsync=async(e,n="availableRect")=>{const r=await g.getInstance();return(0,t.adjustBoundsToBeOnMonitor)(r,e,n)},t.getTaskbar=e=>e.monitorRect.bottom!=e.availableRect.bottom?{top:e.availableRect.bottom,left:e.availableRect.left,right:e.availableRect.right,bottom:e.monitorRect.bottom,width:e.availableRect.width,height:e.monitorRect.bottom-e.availableRect.bottom,edge:"bottom"}:e.monitorRect.top!=e.availableRect.top?{top:e.monitorRect.top,left:e.availableRect.left,right:e.availableRect.right,bottom:e.availableRect.top,width:e.availableRect.width,height:e.monitorRect.top-e.availableRect.top,edge:"top"}:e.monitorRect.right!=e.availableRect.right?{top:e.monitorRect.top,left:e.availableRect.right,right:e.monitorRect.right,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"right"}:e.monitorRect.left!=e.availableRect.left?{top:e.monitorRect.top,left:e.monitorRect.left,right:e.availableRect.left,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"left"}:null},31219:(e,t,n)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Performance=void 0;const i=n(44137),o={navigationStart:Date.now()};t.Performance={now:()=>{var e;return i.Globals.performance?null===(e=i.Globals.performance)||void 0===e?void 0:e.now():Date.now()},timing:(null===(r=i.Globals.performance)||void 0===r?void 0:r.timing)?i.Globals.performance.timing:o}},7860:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.singleton=void 0,t.singleton=(e,t)=>{const r=Symbol.for(`com.finsemble.singleton.${e}`);return Object.getOwnPropertySymbols(n.g).indexOf(r)>-1||(n.g[r]=new t),n.g[r]}},64324:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigUtilInstance=t.ConfigUtil=void 0;const i=r(n(2518)),o=n(91374),s=r(n(96486)),a=async()=>new Promise((e=>{o.System.getManifest((t=>{e({err:null,data:t})}))})),l=(e,t)=>{var n,r;return null!==(n=e.finsemble[t])&&void 0!==n?n:null===(r=e.finsemble)||void 0===r?void 0:r.custom[t]},c=(e,t)=>{let n=!1;const r=t.split(/[/\\:?=&\s]/);for(let o=0;o<r.length;o++)if("$"===r[o][0]){const s=r[o].substring(1),a=l(e,s);if(void 0===a)i.default.system.warn("ConfigUtil.resolveString",`Missing [${s}] variable from finsemble.custom configuration object`);else{const e=t.replace(r[o],a);i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveString configString",r[o],s,a,"old value=",t,"value=",e),n=!0,t=e}}return{configString:t,replacedMacro:n}},u=(e,t,n)=>{let r=!1;if(n>1e3)return i.default.system.error("ConfigUtil resolveArray maxiumum recursion level reached"),{replacedMacro:r};i.default.system.verbose("forceObjectsToLogger","resolveArray","recursionLevel",n,"configArray:",t);for(let i=0;i<t.length;i++){const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const n=c(e,o);t[i]=n.configString,r=r||n.replacedMacro}else o instanceof Array?u(e,o,n+1):"object"==typeof o&&d(e,o,n+1)}return{replacedMacro:r}},d=(e,t,n)=>{let r=!1;return n>1e3?(i.default.system.error("ConfigUtil resolveObject maxiumum recursion level reached"),{replacedMacro:r}):(t=t||{},i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveObject","recursionLevel",n,"configObject:",t),Object.keys(t).forEach((i=>{const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const n=c(e,o);t[i]=n.configString,r=r||n.replacedMacro}else o instanceof Array?u(e,o,n+1):"object"==typeof o&&d(e,o,n+1)})),{replacedMacro:r})};class f{resolveManifestMacros(e,t){let n;for(n=0;n<100;n++){const{replacedMacro:n}=d(e,t,1);if(!n)break}n>=100&&i.default.system.error("forceObjectsToLogger","resolveManifestMacros exceeded maximum passes so continuing -- probably a recursive macro definitions. Look in this config for unresolved macro variables",e)}async getExpandedRawManifest(){i.default.system.debug("ConfigUtil.getExpandedRawManifest starting");const{err:e,data:t}=await a();return e||!t?i.default.system.error("ConfigUtil.getExpandedRawManifest:application.getManifest:err",e):(i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest: manifest retrieved. Pre-variable resolution",t),this.resolveManifestMacros(t,t.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest:Complete. post-variable resolution",t)),{err:e,data:t}}async fetchConfigFile(e){let t,n=null;i.default.system.debug(`fetching import ${e}`);try{const r=await fetch(e,{credentials:"include",cache:"no-cache"});200!=r.status?n=`HTTP get error for ${e}: ${r.status} ${r.statusText}`:t=await r.json()}catch(t){n=`Failure importing config from ${e} ${t.toString()}`}return{err:n,data:t}}graftImportOnToManifest(e,t){Object.keys(t).forEach((n=>{if("importConfig"===n){e.finsemble.importConfig=e.finsemble.importConfig||[];for(let n=0;n<t.importConfig.length;n++)e.finsemble.importConfig.unshift(t.importConfig[n])}else if("importThirdPartyConfig"===n){e.finsemble.importThirdPartyConfig=e.finsemble.importThirdPartyConfig||[];for(let n=0;n<t.importThirdPartyConfig.length;n++)e.finsemble.importThirdPartyConfig.unshift(t.importThirdPartyConfig[n])}else e.finsemble[n]=t[n]})),this.resolveManifestMacros(e,e.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getInitialManifest:getCoreConfig:Initial Manifest after variables Resolved",e)}async getInitialManifest(){const{err:e,data:t}=await a();if(!e&&t){t.finsemble=t.finsemble||{},this.resolveManifestMacros(t,t.finsemble),t.finsemble.applicationRoot||i.default.system.error("FATAL ERROR: applicationRoot was not defined in manifest file.");const e=`${t.finsemble.moduleRoot}/configs/core/config.json`,{err:n,data:r}=await this.fetchConfigFile(e);!n&&r?this.graftImportOnToManifest(t,r):i.default.system.error(`ConfigUtil.getInitialManifest:getCoreConfig:failed importing into finsemble config. $moduleRoot=${t.finsemble.moduleRoot}; Full Path=${e}`,n)}return{err:e,data:t}}promptAndSaveJSONToLocalFile(e,t){i.default.system.debug("saveJSONToLocalFile",e,t);const n=JSON.stringify(t,null,"\t"),r=`data:application/json;charset=utf-8,${encodeURIComponent(n)}`,o=`${e}.json`,s=document.createElement("a");s.setAttribute("href",r),s.setAttribute("download",o),s.click()}configFormatForExport(e,t){i.default.system.debug("configFormatForExport starting",e,t);let n=s.default.cloneDeep(t);if("raw"===e);else if("all"===e)delete n.importConfig,delete n.comment;else if("application"===e)delete n.importConfig,delete n.comment,delete n.system,delete n.services;else if("workspace"===e)n={workspace:n};else if("workspaceTemplate"===e){const e={};e[n.name]=n,n={workspaceTemplates:e}}else"services"===e?n=n.services:"components"===e&&(n=n.components);return n}getDefault(e,t,n){let r=n;if(e){try{const n=t.split(".");let i=e;for(let e=1;e<n.length;e++)i=i[n[e]];r=i}catch(e){r=n}void 0===r&&(r=n)}return r}}t.ConfigUtil=f,t.ConfigUtilInstance=new f},26604:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MOVE_REASON=t.LAUNCHER_SERVICE=t.HEARTBEAT_TIMEOUT_CHANNEL=t.COMPONENT_STATE_STORAGE_TOPIC=t.WINDOW_SERVICE_REQUESTS=t.WORKSPACE=t.WINDOW=t.INTERRUPTIBLE_EVENTS=t.EVENT_INTERRUPT_CHANNEL=t.DOCKING=t.SERVICE_STOP_CHANNEL=t.SERVICE_START_CHANNEL=t.WINDOWSTATE=t.SERVICES_STATE_CHANNEL=t.CLIENT_SERVER_MAPPING=t.SERVICE_QUERY_READY_CHANNEL=t.SERVICE_CLOSED_CHANNEL=t.SERVICE_CLOSING_CHANNEL=t.SERVICE_READY_CHANNEL=t.SERVICE_INITIALIZING_CHANNEL=t.APPLICATION_STATE_CHANNEL=t.WRAPPERS=void 0,t.WRAPPERS={EVENTS:["title-changed","bringToFront","setBounds","alwaysOnTop","setOpacity"]},t.APPLICATION_STATE_CHANNEL="Finsemble.Application.State",t.SERVICE_INITIALIZING_CHANNEL="Finsemble.ServiceManager.serviceInitializing",t.SERVICE_READY_CHANNEL="Finsemble.ServiceManager.serviceReady",t.SERVICE_CLOSING_CHANNEL="Finsemble.ServiceManager.serviceClosing",t.SERVICE_CLOSED_CHANNEL="Finsemble.ServiceManager.serviceClosed",t.SERVICE_QUERY_READY_CHANNEL=e=>`Finsemble.ServiceManager.queryReady.${e}`,t.CLIENT_SERVER_MAPPING=e=>({authenticationClient:"authenticationService",configClient:"configService",distributedStoreClient:"dataStoreService",hotkeysClient:"hotkeysService",linkerClient:"linkerService",logger:"loggerService",searchClient:"searchService",storageClient:"storageService",windowClient:"windowService",workspaceClient:"workspaceService"}[e]),t.SERVICES_STATE_CHANNEL="Finsemble.State.Services",(n=t.WINDOWSTATE||(t.WINDOWSTATE={}))[n.NORMAL=0]="NORMAL",n[n.MINIMIZED_WAS_NORMAL=1]="MINIMIZED_WAS_NORMAL",n[n.MAXIMIZED=2]="MAXIMIZED",n[n.MINIMIZED_WAS_MAXIMIZED=3]="MINIMIZED_WAS_MAXIMIZED",n[n.TRANSITIONING=4]="TRANSITIONING",t.SERVICE_START_CHANNEL="Finsemble.Service.Start",t.SERVICE_STOP_CHANNEL="Finsemble.Service.Stop",t.DOCKING={GROUP_UPDATE:"DockingService.groupUpdate",WORKSPACE_GROUP_UPDATE:"Finsemble.WorkspaceService.groupUpdate",REQUEST_PUBLISH:"DockingService.requestGroupDataPublish"},t.EVENT_INTERRUPT_CHANNEL="Finsemble.Event.Interrupt",t.INTERRUPTIBLE_EVENTS=["close-requested","closed","close-complete","_container-close-handlers"],t.WINDOW={DELAYABLE_EVENTS:["close-requested","closed","close-complete","_container-close-handlers"],CANCELABLE_EVENTS:["close-requested"]},t.WORKSPACE={DELAYABLE_EVENTS:["load-requested","close-requested","save-requested"],CANCELABLE_EVENTS:["close-requested"],CLEAN_SHUTDOWN:"Finsemble.Workspace.cleanShutdown",UPDATE_PUBSUB:"Finsemble.WorkspaceService.update",STORAGE_TOPIC:"finsemble.workspace",CACHE_STORAGE_TOPIC:"finsemble.workspace.cache",ALL_WORKSPACES:"finsemble.allWorkspaces",ACTIVE_WORKSPACE:"activeWorkspace",LAST_USED_WORKSPACE_TOPIC:"finsemble",LAST_USED_WORKSPACE_NAME:"finsemble.lastUsedWorkspace.name",LAST_USED_WORKSPACE:"finsemble.lastUsedWorkspace",INITIAL_WORKSPACE_PREFERENCE:"finsemble.initialWorkspace",PUBLISH_REASONS:{INIT:"workspace:initialization",LOAD_DATA_RETRIEVED:"workspace:load:dataRetrieved",LOAD_FINISHED:"workspace:load:finished",WINDOW_REMOVED:"window:remove",WINDOW_ADDED:"window:add",LOAD_STARTED:"workspace:load:start",WORKSPACE_REMOVED:"Workspace:remove",WORKSPACE_RENAMED:"rename",SWITCHTO_TERMINATED:"workspace:switchTo:terminated",NEW_WORKSPACE:"new workspace",SAVE_AS:"APPLICATION LIFECYCLE:WORKSPACE LIFECYCLE:SaveAs:Workspace:Save As"},API_CHANNELS:{NEW_WORKSPACE:"Finsemble.Workspace.NewWorkspace",SAVE:"Finsemble.Workspace.Save",RENAME:"Finsemble.Workspace.Rename",SAVE_AS:"Finsemble.Workspace.SaveAs",SWITCH_TO:"Finsemble.Workspace.SwitchTo",IMPORT:"Finsemble.Workspace.Import",EXPORT:"Finsemble.Workspace.Export",REMOVE:"Finsemble.Workspace.Remove",SAVE_GLOBAL_DATA:"Finsemble.Workspace.SaveGlobalData",SAVE_VIEW_DATA:"Finsemble.Workspace.SaveViewData",GET_GLOBAL_DATA:"Finsemble.Workspace.GetGlobalData",GET_VIEW_DATA:"Finsemble.Workspace.GetViewData",GET_WORKSPACES:"Finsemble.Workspace.GetWorkspaces",GET_WORKSPACE_NAMES:"Finsemble.Workspace.GetWorkspaceNames",SET_WORKSPACE_ORDER:"Finsemble.Workspace.SetWorkspaceOrder",GET_ACTIVE_WORKSPACE:"Finsemble.Workspace.GetActiveWorkspace",GET_ACTIVE_WORKSPACE_DIRTY:"Finsemble.Workspace.GetActiveWorkspaceDirty",GET_TEMPLATES:"Finsemble.Workspace.GetTemplates",IMPORT_TEMPLATE:"Finsemble.Workspace.ImportTemplate",EXPORT_TEMPLATE:"Finsemble.Workspace.ExportTemplate",REMOVE_TEMPLATE:"Finsemble.Workspace.RemoveTemplate",SET_WINDOW_STATE:"Finsemble.Workspace.SetWindowData",GET_WINDOW_STATE:"Finsemble.Workspace.GetWindowData",ADD_WINDOW:"WorkspaceService.addWindow",REMOVE_WINDOW:"WorkspaceService.removeWindow"},DEFAULT_WINDOW_PROPS:["name","componentType","windowType","alwaysOnTop","autoShow","minWidth","minHeight","maxWidth","maxHeight","resizable","maximizable","minimizable","opacity","windowState","left","top","width","height","right","bottom","defaultLeft","defaultTop","defaultWidth","defaultHeight","defaultRight","defaultBottom","monitorInfo","icon","cachedBounds","showTaskbarIcon","isEvergreen","launchGroupComponentData"],ADDITIONAL_WINDOW_PROPS:{WebWindow:["url","fullscreen","frame","backgroundColor","transparent","waitForPageLoad","affinity","appUUID"],NativeWindow:["path","alias","arguments","argumentsAsQueryString","isWPF"],StackedWindow:["childWindowIdentifiers","visibleWindowIdentifier","bounds"]}},t.WINDOW_SERVICE_REQUESTS={REMOTE_FOCUS:"WindowService.remoteFocus",SET_ALWAYS_ON_TOP:"WindowService-Request-setAlwaysOnTop",IS_ALWAYS_ON_TOP:"WindowService-Request-isAlwaysOnTop"},t.COMPONENT_STATE_STORAGE_TOPIC="finsemble.componentStateStorage",t.HEARTBEAT_TIMEOUT_CHANNEL="Finsemble.WindowService.HeartbeatTimeout",t.LAUNCHER_SERVICE={WINDOW_CLOSED:"LauncherService.WindowClosed"},t.MOVE_REASON={AERO_KEY:"aero_key",SYSTEM_RESTORED:"system_restored"}},25495:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLDependencyManagerSingleton=t.FSBLDependencyManager=void 0;const i=n(17187),o=r(n(11314)),s=n(26604),a=r(n(84795)),l=r(n(2518));class c extends i.EventEmitter{constructor(e){var t;super(),this.callback=e.callback,this.dependencies=e.dependencies,this.startupTimer=null,this.whoAmI=null!==(t=e.whoAmI)&&void 0!==t?t:"Source unknown. Look for `waitFor()` and add third parameter",this.setStartupTimer=this.setStartupTimer.bind(this),this.clearStartupTimer=this.clearStartupTimer.bind(this)}clearStartupTimer(){this.startupTimer&&clearTimeout(this.startupTimer),this.startupTimer=null}setStartupTimer(){const e=this;this.startupTimer=+setTimeout((()=>{e.emit("timeout"),this.callback("StartupDependency timeout error")}),1e4)}}function u(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}class d{constructor(){this.servicesAreAllOnline={},this.clientsAreAllOnline={},this.onlineClients=[],this.dependencies={},this.startupTimers={},this.startupTimerFired=!1,this.bindCorrectContext()}waitFor(e,t,n){const r=u();e.clients||(e.clients=[]),e.clients.length&&(e.clients=e.clients.map((e=>e.charAt(0).toLowerCase()+e.slice(1))));const i=new c({dependencies:e,callback:t,whoAmI:n});return i.setStartupTimer(),i.on("timeout",(()=>{this.onDependencyTimeout(i)})),this.dependencies[r]=i,this.checkDependencies(),i}onDependencyTimeout(e){const t=this.getOfflineClients();let n=`APPLICATION LIFECYCLE:STARTUP:Dependency (${e.whoAmI}) not online after 10 seconds.`;t.length&&(n=`${n} Waiting for these clients: ${t.join(", ")}.`),l.default.system.warn(n),e.emit("err",n)}checkDependencies(){for(const e in this.dependencies){const t=this.dependencies[e],{dependencies:n,callback:r}=t;(!n.clients.length||this.clientsAreAllOnline[e]||(this.clientsAreAllOnline[e]=this.checkClients(n.clients),this.clientsAreAllOnline[e]))&&(delete this.dependencies[e],t.clearStartupTimer(),r&&r())}}getOfflineClients(){let e=[];for(const t in this.dependencies){const{dependencies:n}=this.dependencies[t];e=e.concat(n.clients.filter((e=>!this.onlineClients.includes(e))))}return e.filter(((t,n)=>e.indexOf(t)===n))}checkClients(e){return e.every((e=>this.onlineClients.includes(e)))}setClientOnline(e){this.onlineClients.includes(e)||(this.onlineClients.push(e),this.checkDependencies())}getOnlineClients(){return this.onlineClients}bindCorrectContext(){this.checkDependencies=this.checkDependencies.bind(this),this.checkClients=this.checkClients.bind(this),this.getOfflineClients=this.getOfflineClients.bind(this),this.onDependencyTimeout=this.onDependencyTimeout.bind(this),this.waitFor=this.waitFor.bind(this)}}class f{constructor(){this.offlineServices=[],this.dependencies={},this.checkDependencies=this.checkDependencies.bind(this)}waitFor(e,t){l.default.system.debug("DependencyManager:waitFor",e),e.services||(e.services=[]);const n=u();this.dependencies[n]={dependencies:e,callback:t}}checkDependencies(){if(console.debug("checkDependencies",this.dependencies),Object.keys(this.dependencies))for(const e in this.dependencies){const{dependencies:t,callback:n}=this.dependencies[e];(l.default.system.debug("DependencyManager:checkDependency",t.services,this.offlineServices),!t.services.length||this.checkServices(t.services))&&(console.debug("checkDependencies callback"),delete this.dependencies[e],n&&n())}}checkServices(e){return e.every((e=>this.offlineServices.includes(e)))}setServiceOffline(e){l.default.system.debug("setServiceOffline",e),console.debug("setServiceOffline",e),this.offlineServices.push(e),this.checkDependencies()}}class h extends i.EventEmitter{constructor(){super(),this.startup=new d,this.shutdown=new f,this.RouterClient=o.default,this.AuthorizationCompleted=!1,this.bindCorrectContext(),this.onAuthorizationCompleted(this.startup.checkDependencies),o.default.onReady(this.listenForServices)}bindCorrectContext(){this.listenForServices=this.listenForServices.bind(this),this.onAuthorizationCompleted=this.onAuthorizationCompleted.bind(this)}setClientOnline(e){this.startup.setClientOnline(e)}onServiceStateChange(e){Object.keys(e).forEach((t=>{const{state:n}=e[t];"closed"===n&&this.shutdown.setServiceOffline(t)}))}listenForServices(){l.default.system.debug("DependencyManager:listenForServices before wait"),a.default.waitForBootStage("kernel","stageEntered",(()=>{l.default.system.debug("DependencyManager:listenForServices after wait"),this.RouterClient.subscribe(s.SERVICES_STATE_CHANNEL,((e,t)=>{l.default.system.debug("DependencyManager:listenForServices SERVICES_STATE_CHANNEL",t.data),this.onServiceStateChange(t.data)})),this.RouterClient.addListener(s.SERVICE_CLOSED_CHANNEL,((e,t)=>{l.default.system.debug("DependencyManager:listenForServices SERVICE_CLOSED_CHANNEL",t.data);const n={};n[t.data.name]={state:"closed"},this.onServiceStateChange(n)})),this.RouterClient.subscribe(s.APPLICATION_STATE_CHANNEL,((e,t)=>{"closing"===t.data.state&&this.shutdown.checkDependencies()}))}))}onAuthorizationCompleted(e){this.AuthorizationCompleted?e():this.addListener("AuthorizationCompleted",e)}}t.FSBLDependencyManager=h,t.FSBLDependencyManagerSingleton=new h,t.default=t.FSBLDependencyManagerSingleton},252:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.checkDeprecatedConfigs=t.isEqualIgnoringArrayOrder=t.sleep=t.checkIfBoundsAreEqual=t.isStackedWindow=t.wrapWithTimeout=t.timeoutPromise=t.getRandomWindowName=t.composeRL=t.promisify=t.identity=t.Timeout=t.fastClone=t.isServiceInWindow=t.iAmAServiceWindow=t.guuid=void 0;const i=n(21614),o=r(n(27361)),s=r(n(78718)),a=r(n(18446)),l=r(n(28368)),c=n(64324),u=r(n(2518)),d=n(44137);function f(e,t){return new Promise(((n,r)=>{const i=setTimeout((()=>{clearTimeout(i),r(t)}),e)}))}function h(e,t,n){return`${e}.${t}.${n}`}function p(e,t,n){const r=`${h(e.baseString,e.newPath,e.newValue)}`;u.default.system.deprecated(`${h(e.baseString,t,n)} has been deprecated in favor of ${r}`)}t.guuid=function(){return(0,i.v4)()},t.iAmAServiceWindow=function(){return!(!d.Globals.finsembleServices||!d.Globals.finsembleServices.length)},t.isServiceInWindow=function(e){return d.Globals.finsembleServices&&d.Globals.finsembleServices.find((t=>t.name===e))},t.fastClone=e=>{if(!e)return e;if(Array.isArray(e))return e.slice();try{return JSON.parse(JSON.stringify(e))}catch(e){return u.default.error("disentangledUtils: clone error",e),e}},t.Timeout=class{constructor(e,t){this.fired=!1,this.id=setTimeout((()=>{e(),this.fired=!0}),t),this.clear=this.clear.bind(this),this.didFire=this.didFire.bind(this)}clear(){this.fired||clearTimeout(this.id)}didFire(){return this.fired}},t.identity=function(e){return e},t.promisify=function(e,t){return function(){const n=Array.prototype.slice.call(arguments);return new Promise(((r,i)=>{n.push(((e,t)=>e?i(e):r(t))),e.apply(t,n)}))}},t.composeRL=(...e)=>e.reduce(((e,t)=>(...n)=>e(t(...n)))),t.getRandomWindowName=function(e="RouterClient"){return`${e}-${(0,i.v4)()}`},t.timeoutPromise=f,t.wrapWithTimeout=function(e,t,n){return Promise.race([e,f(t,n)])},t.isStackedWindow=function(e){return e&&"StackedWindow"===((0,o.default)(e,"windowIdentifier.windowType")||e.windowType)},t.checkIfBoundsAreEqual=function(e,t){if(!e||!t)return!1;const n=["left","right","top","bottom","width","height"],r=(0,s.default)(e,n),i=(0,s.default)(t,n);return!!(0,a.default)(r,i)},t.sleep=function(e,t=!1){return new Promise(((n,r)=>{t?setTimeout((()=>{try{r("timeout expired")}catch(e){}}),e):setTimeout(n,e)}))},t.isEqualIgnoringArrayOrder=(e,n)=>{const r=(0,t.fastClone)(e),i=(0,t.fastClone)(n);return(0,l.default)(r,i,((e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return(0,l.default)(e.sort(),t.sort())}))},t.checkDeprecatedConfigs=function(e,t,n){const{baseString:r,oldPath:i,newPath:o,oldValue:s,newValue:a}=t;let l=c.ConfigUtilInstance.getDefault(e,h(r,o,a),null);return null===l&&(l=c.ConfigUtilInstance.getDefault(e,h(r,o,s),null),l?p(t,o,s):(l=c.ConfigUtilInstance.getDefault(e,h(r,i,a),null),l?p(t,i,a):(l=c.ConfigUtilInstance.getDefault(e,h(r,i,s),null),l?p(t,i,s):l=n))),l}},28936:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=n(11314),a=o(n(26604));t.default=class{constructor(e,t){var n;this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.listenerGuid=e.listenerGuid,a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.queryMessage=t,this.guid=null===(n=null==t?void 0:t.data)||void 0===n?void 0:n.guid,this.internalHandler()}async internalHandler(){var e,t;this.data=null===(t=null===(e=this.queryMessage)||void 0===e?void 0:e.data)||void 0===t?void 0:t.data,this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){var e;this.allowDelay?(this.delayed=!0,null===(e=this.queryMessage)||void 0===e||e.sendQueryResponse(null,{delayed:!0})):this.done()}done(e){var t;this.completed=!0,this.delayed?s.RouterClient.transmit(`Finsemble.Listener.Done.${this.guid}.${this.listenerGuid}`,{canceled:this.canceled,data:e}):null===(t=this.queryMessage)||void 0===t||t.sendQueryResponse(null,{canceled:this.canceled,data:e})}}},23893:function(e,t,n){"use strict";var r,i=this&&this.__classPrivateFieldSet||function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},o=this&&this.__classPrivateFieldGet||function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(n(11314)),l=s(n(2518)),c=s(n(9060)),u=s(n(27102)),d=n(252),f=n(26604);class h extends c.default{constructor(e){super(e),r.set(this,void 0),this.eventList=[],this.eventInternalHandlerMap={},this.remoteListenerEventMap={},this.windowToGuidsMap={},this.waitList={},this.unsubscribes=[],this.unsubscribes.push(a.default.addListener(`Finsemble.RegisterInterruptibleEvent.${this.name}`,((e,t)=>{this.registerRemoteEventHandler(t.data.event,t.data.listenerGuid,t.data.windowName)}))),this.unsubscribes.push(a.default.addListener(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,((e,t)=>{this.unregisterRemoteEventHandler(t.data.event,t.data.listenerGuid,t.data.windowName)}))),i(this,r,a.default.addListener(f.LAUNCHER_SERVICE.WINDOW_CLOSED,((e,t)=>{if(e)l.default.system.error(`PrivateEventManager: Error listening for ${f.LAUNCHER_SERVICE.WINDOW_CLOSED}: ${e}`);else{const{name:e}=t.data;this.removeWindow(e)}})),"f")}removeWindow(e){var t;(null!==(t=this.windowToGuidsMap[e])&&void 0!==t?t:[]).forEach((e=>{this.removeGuid(e)})),delete this.windowToGuidsMap[e]}removeGuid(e){Object.keys(this.remoteListenerEventMap).forEach((t=>{this.remoteListenerEventMap[t]=this.remoteListenerEventMap[t].filter((t=>t!==e))}))}registerRemoteEventHandler(e,t,n){var r;this.remoteListenerEventMap[e]||(this.remoteListenerEventMap[e]=[]),this.remoteListenerEventMap[e].push(t),this.windowToGuidsMap[n]=[t].concat(null!==(r=this.windowToGuidsMap[n])&&void 0!==r?r:[])}unregisterRemoteEventHandler(e,t,n){var r;this.remoteListenerEventMap[e]?(this.remoteListenerEventMap[e]=this.remoteListenerEventMap[e].filter((e=>e!==t)),this.windowToGuidsMap[n]=(null!==(r=this.windowToGuidsMap[n])&&void 0!==r?r:[]).filter((e=>e!==t)),0===this.windowToGuidsMap[n].length&&delete this.windowToGuidsMap[n]):this.windowToGuidsMap[n]&&l.default.system.warn(`PrivateEventManager.unregisterListener() attempt to remove unregistered event "${e}" for window ${n}`)}awaitRemoteDelayer(e,t){return new Promise(((n,r)=>{const i=(o,s)=>{a.default.removeListener(`Finsemble.Listener.Done.${e}.${t}`,i),!0===s.data.canceled?r("canceled"):n(s.data.data)};this.waitList[e]=i,a.default.addListener(`Finsemble.Listener.Done.${e}.${t}`,i)}))}async queryRemoteListener(e,t,n,r){const i=`${this.name}_private_${Date.now()}_${Math.random()}`,o={event:e,guid:i,data:n},s=this.awaitRemoteDelayer(i,t),{err:l,response:c}=await Promise.race([a.default.query(`Finsemble.Interrupt.${t}`,o,{timeout:0,logWhenNoResponder:!1},(()=>{})),(0,d.sleep)(r.initialQueryTimeout,!0)]).catch((()=>{throw a.default.removeListener(`Finsemble.Listener.Done.${i}.${t}`,this.waitList[i]),"eventHandler failed initial response"}));if(l||!c.data)return;let u=!0;if(!0===c.data.delayed)try{return u=!1,await Promise.race([s,(0,d.sleep)(r.timeout,!0)])}catch(e){if("timeout expired"!==e)throw"event was canceled";u=!0}if(u&&a.default.removeListener(`Finsemble.Listener.Done.${i}.${t}`,this.waitList[i]),!0===c.data.canceled)throw"event was canceled";return c.data.data}async trigger(e,t=null,n={initialQueryTimeout:1e3,timeout:1e4}){l.default.verbose(`Triggering ${e} for ${this.name}`,t);const r=[];if(this.remoteListenerEventMap[e])for(let i of this.remoteListenerEventMap[e])r.push(this.queryRemoteListener(e,i,t,n));this.handlers.filter((t=>t.event===e)).forEach((n=>{const i=new u.default({source:this.name,sourceType:this.sourceType,handler:n.handler,event:e,data:t,guid:n.listenerGuid});r.push(i.complete)}));try{return await Promise.all(r)}catch(t){if("eventHandler failed initial response"!==t)throw"event was canceled";console.debug(`No response for interupt on event ${e}. Window is probably already closed.`)}}addEventListener(e,t){l.default.system.debug("PrivateEventManager.addEventListener:",e);const n=`${this.name}_public_${Date.now()}_${Math.random()}`;return this.handlers.push({event:e,handler:t,listenerGuid:n}),()=>{this.removeEventListener(e,t)}}removeEventListener(e,t){l.default.system.debug("PrivateEventManager.removeEventListener:",e);const n=this.handlers.findIndex((n=>n.event===e&&n.handler===t));-1!=n?this.handlers.splice(n,1):l.default.system.warn(`PrivateEventManager.removeEventListener() attempt to remove unregistered event "${e}"`)}cleanup(){o(this,r,"f")&&o(this,r,"f").call(this),this.unsubscribes.forEach((e=>{e()})),this.unsubscribes=[]}}r=new WeakMap,t.default=h},27102:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=o(n(26604));t.default=class{constructor(e){this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.data=e.data,this.guid=e.guid,s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.complete=new Promise(((e,t)=>{this.eventCanceled=t,this.eventComplete=e})),this.internalHandler()}async internalHandler(){this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){this.allowDelay?this.delayed=!0:this.done()}done(e){this.completed=!0,this.canceled?this.eventCanceled&&this.eventCanceled():this.eventComplete&&this.eventComplete(e)}}},9060:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(11314)),o=r(n(2518)),s=r(n(28936));t.default=class{constructor(e){var t;this.eventList=[],this.cleanedUp=!1,this.openResponders=[],this.handlers=[],this.name=e.name,this.thisWindowName=window.name,this.sourceType=null!==(t=e.sourceType)&&void 0!==t?t:"undefined",window.addEventListener("beforeunload",(()=>{this.cleanup()}))}addListener(e,t){return this.addEventListener(e,t)}removeListener(e,t){return this.removeEventListener(e,t)}addEventListener(e,t){o.default.system.debug("PublicEventmanager.addEventListener:",e);const n=`${this.name}_public_${Date.now()}_${Math.random()}`;this.handlers.push({event:e,handler:t,listenerGuid:n}),i.default.transmit(`Finsemble.RegisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:n,windowName:this.thisWindowName});const r=`Finsemble.Interrupt.${n}`;return i.default.addResponder(r,((r,i)=>{new s.default({source:this.name,sourceType:this.sourceType,listenerGuid:n,handler:t,event:e},i)})),this.openResponders.push(r),()=>{this.removeEventListener(e,t)}}removeEventListener(e,t,n=!0){if(o.default.system.debug("PublicEventManager.removeEventListener:",e),this.cleanedUp)return;const r=this.handlers.findIndex((n=>n.event===e&&n.handler===t));if(-1===r)return void(n&&o.default.system.warn(`PublicEventManager.removeEventListener() attempt to remove unregistered event "${e}"`));const{listenerGuid:s}=this.handlers[r];i.default.transmit(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:s,windowName:this.thisWindowName}),i.default.removeResponder(`Finsemble.Interrupt.${s}`),this.handlers.splice(r,1)}cleanup(){this.cleanedUp=!0,this.handlers=[],this.openResponders.forEach((e=>{i.default.removeResponder(e)}))}}},78268:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(2518)),o=n(91374),s={},a={activeTransports:{},liveTransport:null,setTransports(){a.addTransport("SharedWorker",s.SharedWorkerTransport),a.addTransport("IPCBus",s.IPCTransport),a.addTransport("FinsembleTransport",s.FinsembleTransport)},addTransport(e,t){this.activeTransports[e]=t},getActiveTransports(e){const t=[],n=e=>{-1===t.indexOf(e)&&t.push(e)};return o.System.InterApplicationBus&&n("IPCBus"),n("FinsembleTransport"),SharedWorker&&n("SharedWorker"),n(e.sameDomainTransport),n(e.crossDomainTransport),i.default.system.log("getActiveTransports",t),t},getTransport:(e,t,n,r,o)=>new Promise(((s,l)=>{const c=a.activeTransports[t];if(c)a.liveTransport=new c(e,n,r,o,(e=>{s(e)}));else{const e=`routerTransport.getTransport() Unknown router transport name: ${t}`;i.default.warn(e),l(e)}})),close(){a.liveTransport&&(a.liveTransport.close(),a.liveTransport=null)}};s.SharedWorkerTransport=function(e,t,n,r,o){let s;this.send=function(e,t){1===arguments.length?(t=arguments[0],e=null):(e=arguments[0],t=arguments[1]),i.default.system.verbose("SharedWorkerTransport Outgoing Transport",t);try{s.port.postMessage([e,t])}catch(e){i.default.system.error(`SharedWorkerTransport: post message failed: ${JSON.stringify(e)}`,"Probable cause is sending illegal data type (e.g. function).")}},this.identifier=()=>"SharedWorker";const a=e.transportSettings.SharedWorker&&e.transportSettings.SharedWorker.workerPath?e.transportSettings.SharedWorker.workerPath:`${e.routerDomainRoot}/common/routerSharedWorker.js`;i.default.console.log(`SharedWorker Transport Initializing for ${n} using ${a}`),s=new SharedWorker(a,{name:"Finsemble",credentials:"include"}),s.port.onmessage=e=>{const n=e.data[0],r=e.data[1],o={transportID:this.identifier(),port:n};i.default.system.verbose("SharedWorkerTransport Incoming Transport",o,"Message",r),t(o,r)},s.onerror=e=>{i.default.console.error(`SharedWorkerTransport Transport Error ${JSON.stringify(e)}`)},s.port.start(),"RouterService"===n&&s.port.postMessage({data:"connect",source:"RouterService"}),this.close=()=>s.port.close(),null==o||o(this)},s.IPCTransport=function(e,t,n,r,s){this.send=function(e,t){let n;1===arguments.length?(n=r,t=arguments[0]):(n=e.name,t=arguments[1]),i.default.system.verbose("IPCTransport Outgoing Transport",n,"Message",t),o.System.InterApplicationBus.publish(n,t,(()=>{}),(()=>{}))},this.identifier=()=>"IPCBus",i.default.console.log(`IPCBus Transport Initializing for ${n}`);const a=o.System.InterApplicationBus.subscribe("*",n,(e=>{const n={transportID:this.identifier(),name:e.header.origin};i.default.system.verbose("IPCTransport Incoming Transport",n,"Message",e),t(n,e)}),(()=>{}),(e=>i.default.console.error(`IPCBus Subscribe Failure: ${e}`)));this.close=()=>o.System.InterApplicationBus.unsubscribe(a),null==s||s(this)},s.FinsembleTransport=function(e,t,n,r,o){var s,a,l,c,u;const d=`${null!==(u=null!==(l=null===(a=null===(s=null==e?void 0:e.transportSettings)||void 0===s?void 0:s.FinsembleTransport)||void 0===a?void 0:a.serverAddress)&&void 0!==l?l:null===(c=null==e?void 0:e.transportSettings)||void 0===c?void 0:c.serverAddress)&&void 0!==u?u:"ws://127.0.0.1:3376"}/router`;let f;const h=e=>{const n={transportID:this.identifier(),client:e.clientMessage.header.origin};i.default.system.verbose("FinsembleTransport Incoming Transport",n,"Message",e),t(n,e.clientMessage)},p=()=>{i.default.console.error(`FinsembleTransport Connection Timeout for ${n}`),null==o||o(this)},g=()=>{i.default.console.log(`FinsembleTransport Transport Initializing for ${n} using ${d}`),d.startsWith("ws:")||d.startsWith("wss:")||i.default.system.error(`Illegal WebSocket address "${d}" (Missing ws:// or wss:// ?)`),f=new WebSocket(d);const e=setTimeout(p,3e3);f.addEventListener("open",(()=>{clearTimeout(e),i.default.console.log("FinsembleTransport connected to server"),f.addEventListener("message",(e=>{const t=JSON.parse(e.data);(n===t.message.client||"RouterService"===n&&"ROUTER_SERVICE"==t.dest)&&h(t.message)})),null==o||o(this)}))};this.send=function(e,t){let n,r;1===arguments.length?(n="ROUTER_SERVICE",r={clientMessage:t=arguments[0]}):(n="ROUTER_CLIENT",t=arguments[1],r={client:e.client,clientMessage:t}),i.default.system.verbose("FinsembleTransport Outgoing Transport",n,"NewMessage",r),f.readyState===WebSocket.OPEN&&f.send(JSON.stringify({dest:n,message:r})),f.readyState===WebSocket.CONNECTING&&f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:n,message:r}))})),f.readyState===WebSocket.CLOSED&&(g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:n,message:r}))}))),f.readyState===WebSocket.CLOSING&&(f.onclose=()=>{g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:n,message:r}))}))})},this.identifier=()=>"FinsembleTransport",this.close=()=>f.close(),g()},t.default=a},31482:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkForObjectChange=t.mapField=t.initObject=t.setPath=t.byString=void 0,t.byString=(e,t)=>{const n=(t=t.replace(/^\./,"")).split(/\.(?![^[]*])/g);for(let t=0;t<n.length;++t){const r=n[t].replace(/[["\]]/g,"");if(!e)return null;if("string"==typeof e)return null;if(!(r in e))return null;e=e[r]}return e},t.setPath=(e,t,n)=>t.split(".").reduce(((e,r)=>e[r]=t.split(".").pop()===r?n:e[r]||{}),e),t.initObject=function e(t,n,r){let i;if(n||(n=null),"object"!=typeof t)return i=n?`${n}.${t}`:t,void(r[i]=n);for(const o in t)"object"==typeof t[o]&&"undefined"!==t[o]?(i=n?`${n}.${o}`:o,r[i]=n,e(t[o],i,r)):(i=n?`${n}.${o}`:o,r[i]=n)},t.mapField=(e,n,r)=>{if(r[n])return;const i=(n=(n=n.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o=n;if(!r.hasOwnProperty(o)){let e=null;i.length>1&&(i.pop(),e=i.join(".")),r[o]=e}const s=(0,t.byString)(e,o);if("undefined"!==s&&"object"==typeof s)for(const n in s)(0,t.mapField)(e,`${o}.${n}`,r)};t.checkForObjectChange=(e,n,r)=>{const i=(0,t.byString)(e,n);return null!==i&&("object"==typeof i||"object"!=typeof i&&"object"==typeof n?((e,t)=>{const n=[];for(const r in e){const i=`${t}.`;r.includes(i)&&(n.push(r),delete e[r])}return n})(r,n):null)}},91374:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.System=void 0;const r=n(10166),i=n(2518),o=n(11314);class s{static createNew(e,t){fin.desktop.Window.createNew(e,t)}static getCurrent(){return fin.desktop.Window.getCurrent()}static wrap(e){return fin.desktop.Window.wrap(e)}}class a{static createNew(e,t){t("Cannot create freestanding windows")}static getCurrent(){const{windowName:e}=r.Startup.getInstance().getStartupData();return{name:e,uuid:`${e}-uuid`,getOptions:e=>{null==e||e({})},addEventListener:()=>{},removeEventListener:()=>{},updateOptions:()=>{},close:()=>{},startMovingWindow:()=>{},stopMovingWindow:()=>{},isShowing:()=>{},bringToFront:()=>{},show:()=>{},hide:()=>{},setTaskbarIcon:()=>{}}}static wrap(){return this.getCurrent()}}class l{constructor(){return new fin.desktop.System.Clipboard}static writeText(e,t,n,r){return i.Logger.deprecated("FSBL.System.Clipboard.writeText is deprecated"),fin.desktop.System.Clipboard.writeText(e,t,n,r)}static writeHTML(e,t,n,r){return i.Logger.deprecated("FSBL.System.Clipboard.writeHTML is deprecated"),fin.desktop.System.Clipboard.writeHTML(e,t,n,r)}static writeRTF(e,t,n,r){return i.Logger.deprecated("FSBL.System.Clipboard.writeRTF is deprecated"),fin.desktop.System.Clipboard.writeRTF(e,t,n,r)}static readText(e,t,n){return i.Logger.deprecated("FSBL.System.Clipboard.readText is deprecated"),fin.desktop.System.Clipboard.readText(e,t,n)}static readHTML(e,t,n){return i.Logger.deprecated("FSBL.System.Clipboard.readHTML is deprecated"),fin.desktop.System.Clipboard.readHTML(e,t,n)}static readRTF(e,t,n){return i.Logger.deprecated("FSBL.System.Clipboard.readRTF is deprecated"),fin.desktop.System.Clipboard.readRTF(e,t,n)}}class c{static get Application(){return{getCurrent:()=>(i.Logger.deprecated("FSBL.System.Application is deprecated"),{restart:()=>{o.RouterClient.transmit("Application.restart",{})},getWindow:()=>fin.desktop.Window,addEventListener:(e,t,n,r)=>{fin.desktop.Window.addEventListener(e,t,n,r)},close:(e,t,n)=>{fin.desktop.Window.close(e,t,n)},getChildWindows:(e,t)=>{null==e||e([fin.desktop.Window])},getGroups:(e,t)=>{null==e||e([])},getManifest:(e,t)=>{c.getManifest(e)},getParentUuid:(e,t)=>{null==e||e("Finsemble")},getInfo:(e,t)=>{c.getVersion(e)},getTrayIconInfo:(e,t)=>{null==e||e({})},isRunning:(e,t)=>{null==e||e(!0)},registerUser:(e,t,n,r)=>{null==n||n()},removeEventListener:(e,t,n,r)=>{fin.desktop.Window.removeEventListener(e,t,n,r)},removeTrayIcon:(e,t)=>{fin.desktop.Window.removeTrayIcon(e,t)},run:(e,t)=>{},scheduleRestart:(e,t)=>{null==e||e()},setTrayIcon:(e,t,n,r)=>{fin.desktop.Window.setTrayIcon(e,t,n,r)},terminate:(e,t)=>{c.terminate()},wait:(e,t)=>{null==e||e()},window:{name:fin.desktop.Window.name},uuid:"Finsemble"})}}static isFreestanding(){return"undefined"==typeof fin}static get Window(){return c.isFreestanding()?a:s}static get Notification(){return{send:e=>{fin.desktop.Notification.send(e)}}}static get Clipboard(){return l}static getManifest(e){return new Promise((t=>{fin.desktop.System.getManifest((n=>{null==e||e(n),t(n)}))}))}static async getMousePosition(e){return new Promise(((t,n)=>{fin.desktop.System.getMousePosition((n=>{(n.left||0===n.left)&&(n.x=n.left),(n.top||0===n.top)&&(n.y=n.top),null==e||e(null,n),t(n)}),(t=>{null==e||e(t),n(t)}))}))}static async deleteAssets(e){return await fin.desktop.System.deleteAssets(e)}static getSDServerInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getSDServerInfo((n=>{t(n),e(n)}))}))}static getMonitorInfo(e){return new Promise((t=>{fin.desktop.System.getMonitorInfo((n=>{t(n),e&&e(n)}))}))}static isBrowserView(){return!c.isFreestanding()&&fin.isBrowserView()}static getViewId(){return i.Logger.deprecated("FSBL.system.getViewId() is deprecated. Use FSBL.system.getWebContentsId()"),fin.getWebContentsId()}static getWebContentsId(){return fin.getWebContentsId()}static hasBrowserView(){return i.Logger.deprecated("FSBL.system.hasBrowserView() is deprecated. Use FSBL.system.isTitlebarWindow()"),c.isTitlebarWindow()}static isTitlebarWindow(){return!c.isFreestanding()&&fin.isTitlebarWindow()}static get fin(){return fin||{}}static ready(e){return new Promise((t=>{fin.desktop.main((()=>{e&&e(),t()}))}))}static setTrayIcon(e,t){fin.desktop.System.setTrayIcon(e,t)}static getHostSpecs(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getHostSpecs((n=>{t(n),e(n)}))}))}static get InterApplicationBus(){return fin.desktop.InterApplicationBus}static get launchExternalProcess(){return fin.desktop.System.launchExternalProcess}static get terminateExternalProcess(){return fin.desktop.System.terminateExternalProcess}static get exit(){return fin.desktop.System.exit}static get clearCache(){return fin.desktop.System.clearCache}static get showDeveloperTools(){return fin.desktop.System.showDeveloperTools}static get addEventListener(){return c.isFreestanding()?window.addEventListener:fin.desktop.System.addEventListener}static get addSelectClientCertificateListener(){return fin.desktop.System.addSelectClientCertificateListener}static get addCertificateErrorListener(){return fin.desktop.System.addCertificateErrorListener}static getFEAInfo(e){return new Promise((t=>{fin.desktop.System.getFEAInfo((n=>{null==e||e(n),t(n)}))}))}static get getVersion(){return fin.desktop.System.getVersion}static get getUpdateAvailable(){return fin.desktop.System.getUpdateAvailable}static get openUrlWithBrowser(){return fin.desktop.System.openUrlWithBrowser}static get getProcessList(){return fin.desktop.System.getProcessList}static get getProtocolString(){return fin.desktop.System.getProtocolString}static get hideSplashScreen(){return fin.desktop.System.hideSplashScreen}static startupApplicationHandshake(){fin.desktop.System.startupApplicationHandshake&&fin.desktop.System.startupApplicationHandshake()}static terminate(){fin.desktop.System.terminate()}static restart(){fin.desktop.System.restart()}}t.System=c},84795:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(11314)),o=r(n(2518)),s=n(53912),a=n(38144),l=n(37331),c=new class{publishBootStatus(e,t,n,r){o.default.system.debug("publishBootStatus",e,t,n),i.default.publish((0,l.statusChannel)(e),{name:e,type:t,state:n,error:r})}waitForBootStage(e,t,n=Function.prototype){return new Promise(((r,l)=>{o.default.system.debug("SystemManagerClient.waitForBootStage entry",e,t);const c=s.ALL_BOOT_STAGES.indexOf(e);"microkernel"===e&&"stageEntered"===t&&o.default.system.error("Cannot wait on `stageEntered` for microkernel because router isn't up yet. So will instead wait for microkernal stage complete.");const u=i.default.subscribe(a.STAGE_CHANNEL,((a,d)=>{if(o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data.stage,u),a)o.default.system.error("SystemManagerClient.waitForBootStage subscribe error",a),n(a),l(a);else if(-1===c)a="illegal stage argument",o.default.system.debug("SystemManagerClient.waitForBootStage subscribe error",a,e),n(a),l(a);else{const a=s.ALL_BOOT_STAGES.indexOf(d.data.stage);o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data,u),"stageEntered"===t&&a+1>=c?(o.default.system.debug("SystemManagerClient.waitForBootStage stageEntered",e,u,n.name),n(),r(),i.default.unsubscribe(u)):"stageCompleted"===t&&a>=c?(o.default.system.debug("SystemManagerClient.waitForBootStage completed",e,u),n(),r(),i.default.unsubscribe(u)):o.default.system.debug(`SystemManagerClient.waitForBootStage else currentStageIndex=${a} stageIndex=${c} `,a,c,e,u)}}))}))}waitForStartup(e,t=Function.prototype){return new Promise(((n,r)=>{o.default.system.debug(`SystemManagerClient.waitForStartup.${e}`,e);const s=i.default.subscribe((0,l.statusChannel)(e),((a,l)=>{o.default.system.debug("SystemManagerClient.waitForStartup subscribe",e,a,l),a?(o.default.system.error("SystemManagerClient.waitForStartup subscribe error",a),t(a),r()):l.data.name===e&&"completed"===l.data.state&&(o.default.system.debug("SystemManagerClient.waitForStartup completed",e),t(),n(),i.default.unsubscribe(s))}))}))}publishCheckpointState(e,t,n){o.default.system.debug("publishCheckpoint",e,t,n,(0,l.checkpointChannel)(e,t)),i.default.publish((0,l.checkpointChannel)(e,t),{windowName:e,checkpointName:t,state:n})}showSystemLog(){o.default.system.debug("SystemManagerClient.showSystemLog"),i.default.transmit(a.SHOW_SYSLOG_CHANNEL,!0)}systemLog(e,t){o.default.system.debug("SystemManagerClient.systemLog",e,t),i.default.transmit(a.SYSLOG_CHANNEL,{params:e,logMessage:t})}};t.default=c},65582:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SystemSettings=void 0;class n{constructor(){this.currentDiagLevel=3}diagLevel(){return this.currentDiagLevel}setDiagLevel(e){this.currentDiagLevel=e}validationEnabled(){return this.currentDiagLevel>=4}}t.SystemSettings=n,t.default=new n},16994:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UserNotification=void 0;const i=r(n(2518)),o=n(64324),s=n(91374),a=r(n(84795));let l=null;t.UserNotification=function(){const e={},t={};let r=null;this.getDefaultTemplateURL=function(e){r?setTimeout((()=>{e(r)}),0):(l||(l=n(9381).default),l.getValue({field:"finsemble"},((t,n)=>{r=o.ConfigUtilInstance.getDefault(n,"finsemble.notificationURL",`${n.moduleRoot}/components/system/notification/notification.html`),e(r)})))},this.alert=function(e,t,n,r,i){const o=this;i&&i.url?this.alertInternal(e,t,n,r,i,i.url):this.getDefaultTemplateURL((s=>{o.alertInternal(e,t,n,r,i,s)}))},this.alertInternal=function(n,r,o,l,c,u){let d=!1;const f=`UserNotification.alert.${o}`,h=(c=c||{}).duration||864e5;switch(r){case"ONCE-SINCE-STARTUP":f in e?d=!1:(d=!0,e[f]=!0);break;case"MAX-COUNT":{let e=0;const n=c.maxCount||1;f in t&&(e=t[f]),t[f]=++e,e<=n&&(d=!0);break}default:d=!0}if(i.default.log("UserNotification.alert",n,d,r,o,l,c),d){const e=Object.assign(Object.assign({url:u,message:l,timeout:h},c),{devModeOnly:"devModeOnly"===n});a.default.systemLog({notification:!0},`Notification: ${l}`),s.System.Notification.send(e)}}},t.default=new t.UserNotification},23099:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.windowNameFromRouterHeader=t.getWindowType=t.isWindows=t.injectJS=t.camelCase=t.getMyWindowIdentifier=t.getWindowDescriptor=t.getFinWindow=t.crossDomain=t.isPercentage=t.clone=void 0;const i=n(91374),o=r(n(2518));function s(e,t){return new Promise(((n,r)=>{const o=i.System.Window.getCurrent();if(null==e?void 0:e.windowName)try{const r=i.System.Window.wrap(e.windowName);null==t||t(r),n(r)}catch(n){null==t||t(null),r(`Window ${e.windowName} not found. UUID: ${e.uuid}`),console.debug(`util.getFinWindow: Window ${e.windowName} not found`)}else if(null==e?void 0:e.componentType){const i="LauncherService";if(void 0!==window[i]){const o=window[i].componentFinder(e);o?(n(o),null==t||t(o)):(r(`util.getFinWindow: Component ${e.componentType} not found.`),null==t||t(null))}else r("getFinWindow by componentType is currently only operable within LaunchService"),null==t||t(null)}else null==t||t(o),n(o)}))}t.clone=function e(t,n={}){if(null===t||"object"!=typeof t)return t;if(t.constructor==Date||t.constructor==RegExp||t.constructor==Function||t.constructor==String||t.constructor==Number||t.constructor==Boolean)return new t.constructor(t);n=n||new t.constructor;for(const r in t)n[r]=void 0===n[r]?e(t[r],null):n[r];return n},t.isPercentage=function(e){return"string"==typeof e&&-1!==e.indexOf("%")},t.crossDomain=function(e){const t=document.createElement("a");t.href=e;const n=window.location.hostname===t.hostname,r=window.location.protocol===t.protocol,i=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),s=!(n&&i&&r);return o.default.system.debug(`Launcher crossDomain=${s} (${n}:${r}:${i})`),s},t.getFinWindow=s,t.getWindowDescriptor=function(e,t){return new Promise(((n,r)=>{s(e).then((e=>{e.getOptions((e=>{null==t||t(e),n(e)}))})).catch((e=>{console.warn(e),null==t||t(null),r(e)}))}))},t.getMyWindowIdentifier=e=>{const t=i.System.Window.getCurrent();return new Promise((n=>{t.getOptions((r=>{let i=null;const{customData:o}=r;o&&o.component&&(i=o.component.type);const s={windowName:t.name,componentType:i};null==e||e(s),n(s)}))}))},t.camelCase=function(...e){let t="";for(let n=0;n<e.length;n++)t=`${t} ${e[n]}`;return t.replace(/\s(.)/g,(e=>e.toUpperCase())).replace(/\s/g,"").replace(/^(.)/,(e=>e.toLowerCase()))},t.injectJS=function(e,t){const n=document.createElement("script");t&&(n.onload=t),n.type="text/javascript",n.async=!0,n.src=e;const r=document.getElementsByTagName("head")[0],i=r.getElementsByTagName("script")[0];r.insertBefore(n,i)},t.isWindows=async function(e){const t=(await i.System.getHostSpecs()).name.toUpperCase().includes("WINDOWS");return null==e||e(t),t},t.getWindowType=function(e){const t="WebWindow";if(e.windowType&&!["assimilation","assimilated","native","application","NativeWindow","FinsembleNativeWindow","CompoundWindow","WebWindow","WebApplication","StackedWindow"].includes(e.windowType))return o.default.system.error(`Invalid windowType: ${e.windowType}, defaulting to windowType: WebWindow`),t;let n=e.windowType||t;switch(e.windowType){case"assimilation":case"assimilated":n="NativeWindow";break;case"native":n="FinsembleNativeWindow";break;case"application":n="WebApplication";break;case"Web":n="WebWindow";break;case"StackedWindow":n="StackedWindow"}return e.native&&(n="NativeWindow"),e.compound&&(n="CompoundWindow"),n},t.windowNameFromRouterHeader=e=>{let t,n=/\.(.*)\./s;try{t=e.origin.match(n)[1]}catch(n){t=e.origin.split(".")[1]}return t}},20670:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Validate=void 0;const i=r(n(65582));class o{warningMsg(e,t,n){const r=function(){try{throw Error("")}catch(e){return e}}();if(r.stack){const i=r.stack.split("\n")[5],o=i.indexOf("at "),s=i.slice(o+2,i.length),a=r.stack.split("\n")[6],l=a.indexOf("at "),c=a.slice(l+2,a.length);console.warn(`parameter validation failed: parameter ${e} is of type '${typeof t}' but should be of type '${n}' in${s} called by${c}`)}else console.warn(`parameter validation failed: parameter ${e} is of type '${typeof t}' but should be of type '${n}' inunknown called byunknown`)}args(...e){if(!i.default.validationEnabled())return!0;const t=e.length;if((t+1)%2!=0)for(let n=0;n<t;n+=2){let t=!1;const r=e[n];let i=e[n+1];"="===i.slice(-1)&&(i=i.slice(0,-1),t=!0);const o=void 0===r&&t,s=void 0!==r&&"any"===i;if(typeof r!==i&&!o&&!s){const e=""+(n/2+1);return this.warningMsg(e,r,i),!1}}else console.warn(`validate.args requires an even number of parameters: ${JSON.stringify(e)}`);return!0}args2(...e){if(!i.default.validationEnabled())return!0;const t=e.length;if((t+1)%3!=0)for(let n=0;n<t;n+=3){let t=!1;const r=e[n],i=e[n+1];let o=e[n+2];"="===o.slice(-1)&&(o=o.slice(0,-1),t=!0);const s=void 0===i&&t,a=void 0!==i&&"any"===o;if(typeof i!==o&&!s&&!a)return this.warningMsg(r,i,o),!1}else console.warn(`validate.args requires an even number of parameters: ${JSON.stringify(e)}`);return!0}}t.Validate=o,t.default=new o},75811:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WindowStorageManager=t.GET_WINDOW_STATE_ERROR=void 0;const i=r(n(95085)),o=n(252),s=n(23099),a=n(26604),l=n(2518),c=(0,r(n(83027)).default)(1),{ACTIVE_WORKSPACE:u,CACHE_STORAGE_TOPIC:d,STORAGE_TOPIC:f}=a.WORKSPACE;t.GET_WINDOW_STATE_ERROR=(e,t=u)=>`No Window State found for window "${e}" in workspace "${t}"`;class h{static async updateStorage(e){const{topic:t,key:n,updateFn:r}=e,i=await h._SC.get({topic:t,key:n});return await h._SC.save({topic:t,key:n,value:r(i)})}static updateStorage1(e){return c((()=>h.updateStorage(e)))}static getTopicAndKey(e,t,n=u){const r="windowData"===e?[n,t]:[n,t,t];return{topic:n===u?d:f,key:s.camelCase.apply(null,r)}}static async getState(e,t,n){const r=h.getTopicAndKey(e,t,n);return await h._SC.get1(r)||null}static async getCompleteState(e,t){let n=await h.getState("componentState",e,t).catch((()=>({}))),r=await h.getState("windowData",e,t);return l.LoggerClient.system.debug("getCompleteState",e,t,n,r),{componentState:n,windowData:r}}static async getManyStates(e,t,n){const r=t.flatMap((t=>{try{return[h.getState(e,t,n)]}catch(e){return[]}}));return Promise.all(r).then((e=>e.filter(o.identity)))}static async getManyCompleteStates(e,t){return Promise.all(e.map((e=>h.getCompleteState(e,t).catch((e=>(l.LoggerClient.system.warn(e),null)))))).then((e=>e.filter(o.identity)))}static async setState(e,t,n,r){await h._SC.save1(Object.assign(Object.assign({},h.getTopicAndKey(e,t,r)),{value:n}))}static async setCompleteState(e,t){e.windowData&&e.componentState&&(await h.setState("windowData",e.windowData.name,e.windowData,t),await h.setState("componentState",e.windowData.name,e.componentState,t))}static async setManyStates(e,t,n){return Promise.all(t.map((t=>h.setState(e,t.name,t,n))))}static async setManyCompleteStates(e,t){return Promise.all(e.map((e=>h.setCompleteState(e,t))))}static async updateState(e,t,n,r){await h.updateStorage1(Object.assign(Object.assign({},h.getTopicAndKey(e,n,r)),{updateFn:t}))}static async removeCompleteState(e,t){try{await h._SC.remove1(h.getTopicAndKey("windowData",e,t)),await h._SC.remove1(h.getTopicAndKey("componentState",e,t))}catch(e){l.LoggerClient.system.warn(e)}}static async removeManyCompleteStates(e,t){return Promise.all(e.map((e=>h.removeCompleteState(e,t))))}}t.WindowStorageManager=h,h._SC=i.default,h.getWindowID=e=>(0,s.camelCase)(e.name)},766:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleView=void 0,t.FinsembleView=class{constructor(e){this.win=e.win,this.id=e.id}async remove(e=Function.prototype){await this.win.removeBrowserView(this,e)}async setBounds(e,t=Function.prototype){await this.win.setViewBounds({view:this,bounds:e},t)}async bringToFront(e=Function.prototype){await this.win.bringViewToFront(this,e)}}},24074:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleWindow=void 0;const a=n(11314),l=n(2518),c=o(n(23099)),u=s(n(9060)),d=n(26604),f=n(91374),h=n(766),p=n(44137),g=s(n(50361));class m extends u.default{constructor(e){super({name:e.name,sourceType:"Window"}),this.types={},this.wrapState=e.wrapState||"initializing",this.componentState={},this.windowState=d.WINDOWSTATE.NORMAL,this.type=null,this.windowType=null,this.bounds={},this.guid=`${Date.now()}_${Math.random()}`,this.WINDOWSTATE=d.WINDOWSTATE,this.windowOptions={},this.doConstruction(e),this.TITLE_CHANGED_CHANNEL=`Finsemble.${this.name}.titleChanged`,this.componentKey=c.camelCase("activeWorkspace",this.name,this.name),this.windowKey=c.camelCase("activeWorkspace",this.name),m.bindFunctions(this)}standardizeEventName(e){switch(e){case"bounds-set":case"stoppedMoving":return"bounds-change-end";case"startedMoving":return"bounds-change-start";case"bringToFront":return"broughtToFront";case"setParent":return"parent-set";case"clearParent":return"parent-unset";default:return e}}addEventListener(e,t){return e=this.standardizeEventName(e),super.addEventListener(e,t)}removeEventListener(e,t,n=!1){if("closed"!==e||!p.FEAGlobals.finsembleWindow||this.name!==p.FEAGlobals.finsembleWindow.name)return e=this.standardizeEventName(e),super.removeEventListener(e,t,n)}windowServiceChannelName(e){return`WindowService-Request-${e}`}eventChannelName(e){return`WindowService-Event-${this.name||this.windowName}-${e}`}doConstruction(e){if(e.setWindowType||e.windowType||(e.windowType="WebWindow"),e.windowType)return e.setWindowType=e.windowType,delete e.windowType,new m(e);if(e)for(const t in e)this[t]=e[t];this.name||(this.name=e.windowName),this.windowType=this.setWindowType}static registerType(e,t){const n=m;n.types||(n.types={}),n.types[e]=t}static bindFunctions(e){e.setParent=e.setParent.bind(e),e.getParent=e.getParent.bind(e),e.eventChannelName=e.eventChannelName.bind(e),e.windowServiceChannelName=e.windowServiceChannelName.bind(e),e.handleWrapRemoveRequest=e.handleWrapRemoveRequest.bind(e),e.reload=e.reload.bind(e)}static async createWrapFromUUIDAndName(e,t){var n;const{uuid:r,windowType:i}=t;if(!1!==t.waitForReady)try{await m._windowReady(e),t.wrapState="ready"}catch(e){return{err:e}}l.Logger.system.debug("WRAP LIFECYCLE:",e,"All information for wrap passed in, creating wrap locally");const o=m.cache[e];return o?(l.Logger.system.debug("WRAP LIFECYCLE:",e,"Window found in the cache, returning without going to the Launcher"),{data:o}):{data:(await m._createWrap(Object.assign(Object.assign({},t),{windowIdentifier:null!==(n=t.windowIdentifier)&&void 0!==n?n:{uuid:r,name:e,windowName:e,windowType:i}}))).wrap}}static getInstance(e,t){var n;const r=f.System.Window.getCurrent().name,i=null!==(n=null==(e=(0,g.default)(e))?void 0:e.windowName)&&void 0!==n?n:null==e?void 0:e.name;return new Promise((async(n,o)=>{if(!i){const e='"name" is a required param';return null==t||t(e),void o(e)}e.windowName=i;let s=m.cache[i];if(s)return l.Logger.system.debug("WRAP LIFECYCLE:",i,"Window found in the cache, returning without going to the Launcher"),null==t||t(null,s),void n({wrap:s});if(e.name){const{err:r,data:s}=await m.createWrapFromUUIDAndName(i,e);return r||!s?(null==t||t(r),void o(r)):(null==t||t(null,s),void n({wrap:s}))}if(!1!==e.waitForReady)try{await m._windowReady(i),e.wrapState="ready"}catch(c){return null==t||t(c,null),void o(c)}const{err:c,response:u}=await a.RouterClient.query("WindowService-Request-getWindowIdentifier",{windowName:i,requester:r});if(c)return l.Logger.system.error(c),null==t||t(c,null),void o(c);if(s=m.cache[i],s)return l.Logger.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher, but wrap exists in cache. Returning cached wrap."),null==t||t(null,s),void n({wrap:s});l.Logger.system.debug("WRAP LIFECYCLE:",i,"Information received from launcher. Creating wrap.");const{identifier:d}=u.data;d.windowName&&(d.name=d.windowName),e.retrievedIdentifier=d,({wrap:s}=await m._createWrap(e)),u.data.descriptor&&(s.descriptor=u.data.descriptor),null==t||t(null,s),n({wrap:s})}))}static _createWrap(e){return new Promise((async t=>{const n=e.retrievedIdentifier||e.windowIdentifier;(e.setWindowType||n.windowType)&&"WebApplication"!==n.windowType||(n.windowType="WebWindow");let r=Object.assign({},n);r=Object.assign(r,e),r.setWindowType=r.windowType,delete r.windowType,l.Logger.system.debug("WRAP LIFECYCLE: Placing wrap into the local cache.",n.windowName);let i=new m(r);m.cache[n.windowName]=i,i.windowType=n.windowType,i.identifier=n,i.addEventListener("closed",i.handleWrapRemoveRequest),i.addEventListener("maximized",(()=>{i.windowState=d.WINDOWSTATE.MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MAXIMIZED})),i.addEventListener("minimized",(()=>{i.windowState===d.WINDOWSTATE.MAXIMIZED?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED):i.windowState===d.WINDOWSTATE.NORMAL?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL):l.Logger.system.warn("Invalid window state received listening to window minimize",i.windowState)})),i.addEventListener("restored",(()=>{i.windowState=d.WINDOWSTATE.NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.NORMAL}));const o=a.RouterClient.subscribe(`Finsemble.Component.State.${n.windowName}`,((e,t)=>{if(e)l.Logger.system.error("Finsemble component state change error",e);else{const{state:e}=t.data;i.wrapState=e,a.RouterClient.unsubscribe(o)}}));await(async(e,t)=>new Promise((n=>{e.parentSubscribeID=a.RouterClient.subscribe(`Finsemble.parentChange.${t.windowName}`,(async(t,r)=>{if(t)l.Logger.system.error("FinsembleWindow parent change notification error",t);else{const t=r.data||{};"Added"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.addedToStack listener",t),await e.setParent(t.stackedWindowIdentifier)):"Exists"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: Parent already exists, checking if added to wrap",t),await e.setParentOnWrap(t.stackedWindowIdentifier)):"Removed"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.removedFromStack listener",t),e.clearParent()):t.type&&l.Logger.system.error("FinsembleWindow Parent Notification: unknown type",t)}n()}))})))(i,n),t({wrap:i})}))}static _getRemoveWrapChannel(e){return`${f.System.Window.getCurrent().name}.removeWrap.${e}`}async handleWrapRemoveRequest(e){e&&e.wait(),l.Logger.system.debug("WRAP Destructor. Removing cached window",this.name,"in ",window.name),this.removeListeners&&this.removeListeners(),this.cleanupRouter(),this.cleanup(),this.name!==p.FEAGlobals.name&&this.name&&delete m.cache[this.name],e&&e.done()}static closeAllWraps(){Object.values(m.cache).forEach((e=>{e.handleWrapRemoveRequest()}))}cleanupRouter(){const e=m._getRemoveWrapChannel(this.name);a.RouterClient.removeResponder(e),this.TITLE_CHANGED_SUBSCRIPTION&&a.RouterClient.unsubscribe(this.TITLE_CHANGED_SUBSCRIPTION),a.RouterClient.unsubscribe(this.parentSubscribeID)}onReady(e){return new Promise((t=>{if("ready"===this.wrapState)return null==e||e(),void t();this.addEventListener("ready",(()=>{null==e||e(),t()}))}))}queryWindowService(e,t,n=Function.prototype){return"function"==typeof t&&(n=t,t={}),t=Object.assign(Object.assign({},t),{windowIdentifier:this.identifier}),l.Logger.setting().system.Debug&&(t.callstack=l.Logger.callStack()),new Promise((async(r,i)=>{var o;if("close"!==e&&"setParent"!==e&&"ready"!==this.wrapState)return await this.onReady(),this.wrapState="ready",void r(await this.queryWindowService(e,t));l.Logger.system.debug("FinsembleWindow.queryWindowService",this.windowServiceChannelName(e),t);const{err:s,response:c}=await a.RouterClient.query(this.windowServiceChannelName(e),t);let u=null!==(o=c.data)&&void 0!==o?o:null;if(s){if(l.Logger.system.debug(`WindowService.${e}: failed`,s),console.debug(`WindowService.${e}: failed`,s),"getComponentState"!==e&&"Not found"!==s)return void i(s)}else l.Logger.system.debug(`${this.windowServiceChannelName(e)} successful`,u),console.debug(`${this.windowServiceChannelName(e)} successful`,u);r(u),n(s,u)}))}minimize(e=null,t){return new Promise((n=>{this.queryWindowService("minimize",e,(e=>{null==t||t(e),n({err:e})}))}))}maximize(e=null,t){return new Promise((n=>{this.getBounds(((r,i)=>{r||!i?l.Logger.system.warn(`Error getting bounds, cached bounds will not be set: ${r}`):this.updateOptions({options:{defaultLeft:i.left,defaultTop:i.top,defaultWidth:i.width,defaultHeight:i.height}}),this.queryWindowService("maximize",e,(e=>{null==t||t(e),n({err:e})}))}))}))}restore(e=null,t){return new Promise((n=>{this.queryWindowService("restore",e,(e=>{null==t||t(e),n({err:e})}))}))}blur(e=null,t){return new Promise((n=>{this.queryWindowService("blur",e,(e=>{null==t||t(e),n({err:e})}))}))}focus(e=null,t){return new Promise((n=>{this.queryWindowService("focus",e,(e=>{null==t||t(e),n({err:e})}))}))}bringToFront(e=null,t){return new Promise((n=>{this.queryWindowService("bringToFront",e,(e=>{null==t||t(e),n({err:e})}))}))}setAlwaysOnTop(e={alwaysOnTop:!0},t){return new Promise((n=>{this.queryWindowService("setAlwaysOnTop",e,(e=>{null==t||t(e),n({err:e})}))}))}isAlwaysOnTop(e={},t){this.queryWindowService("isAlwaysOnTop",e,t)}isShowing(e={},t){this.queryWindowService("isShowing",e,t)}setIgnoreMouseEvents(e,t,n=Function.prototype){const r={ignore:new Boolean(e).valueOf(),options:new Boolean(t).valueOf()?t:{forward:!1}};this.queryWindowService("setIgnoreMouseEvents",r,n)}setShape(e,t=Function.prototype){this.queryWindowService("setShape",e,t)}async addBrowserView(e,t=Function.prototype){const n=await this.queryWindowService("addBrowserView",e,t);return new h.FinsembleView({id:n,win:this})}async removeBrowserView(e,t=Function.prototype){await this.queryWindowService("removeBrowserView",{viewId:e.id},t)}async bringViewToFront(e,t=Function.prototype){await this.queryWindowService("bringViewToFront",{viewId:e.id},t)}async setViewBounds(e,t=Function.prototype){await this.queryWindowService("setViewBounds",{viewId:e.view.id,bounds:e.bounds},t)}setBounds(e={bounds:{}},t){return new Promise((n=>{"function"==typeof e||e.bounds||(e={bounds:e}),this.queryWindowService("setBounds",e,(e=>{null==t||t(e),n({err:e})}))}))}getBounds(e,t){return new Promise((n=>{const r="function"==typeof e?e:t;this.queryWindowService("getBounds",{},((e,t)=>{null==r||r(e,t),n({err:e,data:t})}))}))}updateOptions(e,t=Function.prototype){this.queryWindowService("updateOptions",e,t)}hide(e={},t){return new Promise((n=>{this.queryWindowService("hide",e,((e,r)=>{null==t||t(e,r),n({err:e})}))}))}reload(e={},t=Function.prototype){this.queryWindowService("reload",e,t)}show(e={},t){return new Promise((n=>{this.queryWindowService("show",e,((e,r)=>{null==t||t(e,r),n({err:e})}))}))}showAt(e={},t=Function.prototype){this.queryWindowService("showAt",e,t)}close(e={},t){return new Promise((n=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name,e),this.queryWindowService("close",e,(e=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name),null==t||t(e),n({err:e})}))}))}animate(e={},t=Function.prototype){this.queryWindowService("animate",e,t)}registerWithDocking(e={},t){this.onReady((()=>{a.RouterClient.query("DockingService.registerWindow",{type:this.type,windowType:this.windowType,windowMsg:e,name:this.windowName},t)}))}showNativeOpenDialog(e={},t){this.queryWindowService("showNativeOpenDialog",e,t)}unRegisterWithDocking(){a.RouterClient.transmit("DockingService.deregisterWindow",{name:this.windowName})}initializeWindow({manageWindowMovement:e,identifier:t},n=Function.prototype){const r=()=>{a.RouterClient.publish(`Finsemble.${this.windowName}.componentReady`,{name:this.windowName}),n()};e?this.registerWithDocking(t,r):r()}wrapReady(){a.RouterClient.publish(`Finsemble.${this.windowName}.wrapReady`,{name:this.windowName,state:"open"})}setOpacity(e,t=Function.prototype){this.queryWindowService("setOpacity",e,t)}startTabTileMonitoring(e={}){l.Logger.system.debug("FinsembleWindow.startTabTileMonitoring",e),a.RouterClient.transmit("TabTile.startTabTile",{params:e})}stopTabTileMonitoring(e={},t=Function.prototype){l.Logger.system.debug("FinsembleWindow.stopTabTileMonitoring",e),a.RouterClient.query("TabTile.stopTabTile",{params:e},(function(e,n){e?l.Logger.system.warn("TabTile.stopTabTile: query failed",e):l.Logger.system.debug("TabTile.stopTabTile results",n.data);const r=n.data;t?t(e,r,this.defaultStopTrackingAction):this.defaultTabTileAction(r)}))}defaultTabTileAction(e){const t=this;switch(l.Logger.system.debug("FinsembleWindow.defaultTabTileAction",e),e.stoppedLocation){case"OutsideWindow":case"TabSection":break;case"InsideWindow":e.tileGroupId?t.Group.addWindow(this.identifier,e.tileGroupId,e.dropCoordinates):t.Group.createGroup((function(n){t.Group.addWindow(this.identifier,n,e.dropCoordinates,{startingWindowIdentifier:e.droppedOnWindowIdentifier})}));break;default:l.Logger.system.error("stopTracking returned an unknown stoppedLocation result",e)}}mergeBounds(e){e.right=e.left+e.width;const t={left:e.left,right:e.right,width:e.width,top:e.top,bottom:e.top+e.height,height:e.height},n={defaultLeft:e.left,defaultWidth:e.width,defaultTop:e.top,defaultHeight:e.height};Object.assign(this.windowOptions,t),Object.assign(this.windowOptions,n),this.windowOptions.bounds=t}startMove(e={}){l.Logger.system.debug("FinsembleWindow.startMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("startedMoving"),{})}stopMove(e={}){l.Logger.system.debug("FinsembleWindow.stopMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("stoppedMoving"),{})}getMonitor(e){a.RouterClient.query("DockingService.getMonitorForWindow",{windowIdentifier:this.identifier},((t,n)=>n?e(n.data):e()))}getComponentState(e,t){this.queryWindowService("getComponentState",e,t)}getWindowState(e,t){this.queryWindowService("getWindowState",e,t)}setComponentState(e,t=(()=>{})){this.queryWindowService("setComponentState",e,t)}removeComponentState(e,t=(()=>{})){this.queryWindowService("removeComponentState",e,t)}setWindowState(e,t=(()=>{})){this.queryWindowService("setWindowState",e,t)}saveCompleteWindowState(e={},t=Function.prototype){this.queryWindowService("saveCompleteWindowState",e,t)}cancelTabTileMonitoring(e={}){l.Logger.system.debug("FinsembleWindow.cancelTabTileMonitoring",e),a.RouterClient.transmit("TabTile.cancelTabTile",{params:e})}getParent(e){this.settingParent?m.getInstance(this.settingParent,((t,n)=>{e(null,n)})):this.parentWindow?e(null,this.parentWindow):e(null,null)}async setParent(e,t){return new Promise((n=>{this.settingParent?this.getParent(((e,r)=>{null==t||t(e,r),n({err:e,data:r})})):(this.settingParent=e,this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParent already set",e),this.settingParent=!1,null==t||t(null,this.parentWindow),n({data:this.parentWindow})):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParent",e),m.getInstance(e,((r,i)=>{r?l.Logger.system.error("FinsembleWindow.setParent error",r):(l.Logger.system.debug("FinsembleWindow.setParent wrap success",e),this.parentWindow=i,this.parentWindow.windowType.includes("StackedWindow")||l.Logger.system.error("FinsembleWindow.setParent error",this.parentWindow.name,e.windowName)),a.RouterClient.transmit(d.DOCKING.REQUEST_PUBLISH,null),this.settingParent=!1;const o=()=>{this.removeEventListener("parent-set",o),null==t||t(r,i),n({err:r,data:i})};this.addEventListener("parent-set",o)}))})))}))}setParentOnWrap(e,t=Function.prototype){this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParentOnWrap already set",e),t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParentOnWrap",e),m.getInstance(e,((n,r)=>{n?l.Logger.system.error("FinsembleWindow.setParentOnWrap error",n):(l.Logger.system.debug("FinsembleWindow.setParentOnWrap success getting wrap",e),this.parentWindow=r,!1===this.parentWindow.windowType.includes("StackedWindow")&&l.Logger.system.error("FinsembleWindow.setParentOnWrap error",this.parentWindow.name,e.windowName)),t(n,r)}))}))}clearParent(){l.Logger.system.debug("FinsembleWindow.clearParent",this.parentWindow),this.parentWindow=null}setTitle(e){l.Logger.system.debug("Title change",e),a.RouterClient.publish(this.TITLE_CHANGED_CHANNEL,{title:e,windowName:this.windowName})}getOptions(e){return new Promise((t=>{this.queryWindowService("getOptions",{},((n,r)=>{null==e||e(n,r),t({err:n,data:r})}))}))}_privateManagementPreface(e,t){var n,r;return"function"==typeof t&&l.Logger.system.error("StackedWindowWrapper.wrapPreface bad params",t),(t=t||{}).stackedWindowIdentifier={windowName:null===(n=this.identifier)||void 0===n?void 0:n.windowName,windowType:null===(r=this.identifier)||void 0===r?void 0:r.windowType},l.Logger.system.debug(`StackedWindow.${e} _privateManagementPreface`,t),t}addWindow(e,t=Function.prototype){return e=this._privateManagementPreface("addWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.addWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.addWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}removeWindow(e,t=Function.prototype){return e=this._privateManagementPreface("removeWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.removeWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.removeWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}deleteWindow(e,t=Function.prototype){return e=this._privateManagementPreface("deleteWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.deleteWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.deleteWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}setVisibleWindow(e,t=Function.prototype){return e=this._privateManagementPreface("setVisibleWindow",e),new Promise((n=>{a.RouterClient.query("StackedWindow.setVisibleWindow",e,((e,r)=>{l.Logger.system.debug("StackedWindow.setVisibleWindow callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}reorder(e,t=Function.prototype){return e=this._privateManagementPreface("reorder",e),new Promise((n=>{a.RouterClient.query("StackedWindow.reorder",e,((e,r)=>{l.Logger.system.debug("StackedWindow.reorder callback",e,r),t(e,r.data),n({err:e,data:r.data})}))}))}formGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.RouterClient.transmit("DockingService.formGroup",{windowName:e})}ejectFromGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.RouterClient.query("DockingService.leaveGroup",{name:e},(()=>{}))}}t.FinsembleWindow=m,m.WINDOWSTATE=d.WINDOWSTATE,m.wrap=m.getInstance,m.cache={},m._windowReady=function(e){let t;return l.Logger.system.debug(`windowServiceReady: ${e} starting`),new Promise((async(n,r)=>{l.Logger.system.debug(`windowServiceReady: ${e} waiting`),t=a.RouterClient.subscribe(`Finsemble.Component.State.${e}`,((r,i)=>{const{state:o}=i.data;switch(l.Logger.system.debug(`windowServiceReady: ${e} state change: ${o}`),o){case"ready":case"reloading":case"closing":l.Logger.system.debug(`windowServiceReady: ${e} ${o}`),a.RouterClient.unsubscribe(t),n()}}))}))}},24137:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.openSharedData=t.deprecatedGetWindowNameForDocking=t.deprecatedSetActive=t.deprecatedGetActiveAndPendingWindowNames=void 0;const i=r(n(2518)),o=r(n(49136)),s=r(n(95393));function a(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}t.deprecatedGetActiveAndPendingWindowNames=(e,t=Function.prototype)=>new Promise((n=>{e.query("Launcher.getActiveAndPendingWindowNames",{},((e,r)=>{e&&i.default.system.error(e),t(e,r.data),n({err:e,data:r.data})}))})),t.deprecatedSetActive=e=>{var t,n;e?(n="desktop-active",(t=document.documentElement).classList?t.classList.add(n):a(t,n)||(t.className=`${t.className} ${n}`)):function(e,t){if(e.classList)e.classList.remove(t);else if(a(e,t)){const n=new RegExp(`(\\s|^)${t}(\\s|$)`);e.className=e.className.replace(n," ")}}(document.documentElement,"desktop-active")},t.deprecatedGetWindowNameForDocking=e=>{const t=e.parentWindow;return t?t.name:e.name},t.openSharedData=function(e,t){const n=o.default,r=s.default;e.multipleOpenerHandler||(e.multipleOpenerHandler=function(e){let t,n=0;for(const r of Object.keys(e))e[r].length>n&&(t=r,n=e[r].length);return[t]});const a=[],l={};n.getComponentsThatCanReceiveDataTypes({dataTypes:Object.keys(e.data)},((o,s)=>{for(const e of Object.keys(s))if(s[e].componentTypes.length)for(const t of s[e].componentTypes)l[t]?l[t].push(e):l[t]=[e];else{const t=`No Components Available to Handle the type: ${e}`;a.push(t),i.default.system.error(t)}let c=Object.keys(l);if(c.length){c.length>1&&(c=e.multipleOpenerHandler(l));const i=Object.keys(r.channels);if(i.length)if(r.getLinkedComponents({componentTypes:c,windowIdentifier:r.windowIdentifier()}).length||e.publishOnly)r.publish({dataType:"Finsemble.DragAndDropClient",data:e.data},(()=>{})),t&&t(a.length?a:null,"Data published");else{for(const t of c)n.spawn(t,{data:{sharedData:e.data,linker:{channels:i}},addToWorkspace:!0});t&&t(a.length?a:null,"Linked Window(s) spawned with data")}else if(!e.publishOnly){for(const t of c)n.spawn(t,{data:{sharedData:e.data},addToWorkspace:!0});t&&t(a.length?a:null,"New Window(s) spawned with data")}}else t&&t(a.length?a:null,null)}))}},95393:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LinkerClient=void 0;const i=n(1641),o=r(n(20670)),s=n(25232),a=r(n(97525)),l=r(n(49136)),c=r(n(47913)),u=r(n(2518)),d=r(n(18446));u.default.system.debug("Starting LinkerClient");const f=u.default.system.info,h=u.default.system.debug;function p(e){return e.windowName.replace(/\./g,"_")}function g(e,t){return t&&t(null,e),e}class m extends s._BaseClient{constructor(e){super(e),this.stateChangeListeners=[],this.allChannels=[],this.channels={},this.clients={},this.channelListenerList=[],this.dataListenerList={},this.handleListeners=(e,t)=>{const n=this.dataListenerList[t.data.type];if(n&&n.length>0)for(let e=0;e<n.length;e++)n[e](t.data.data,{data:t.data.data,header:t.header,originatedHere:t.originatedHere})},this.onClose=e=>{const t=p(a.default.getWindowIdentifier());this.clients[t]&&(this.clients[t]=null,this.updateClientInStore(t)),this.linkerStore.removeListener({field:`clients.${t}`},this.clientsKeyValueChangeStoreListener,((e,n)=>{n||u.default.system.warn("Linker Client Onclose: clientsKeyValueChangeStoreListener removeListener failed",t)})),this.linkerStore.removeListener({field:{}},this.anyFieldChangeStoreListener,((e,t)=>{t||u.default.system.warn("Linker Client Onclose: anyFieldChangeStoreListener removeListener failed")})),u.default.system.debug("LINKER-4 cleanup",t),e&&e()},this.groups=this.channels,this.allGroups=this.allChannels,this.onLinksUpdate={push:e=>{this.stateChangeListeners.push(((t,n)=>{n&&(n.groups=n.channels),e(t,{groups:n})}))}},this.linkerWindow=null,this.loading=!1,o.default.args(e,"object=")&&e&&o.default.args2("params.onReady",e.onReady,"function="),this.clientsKeyValueChangeStoreListener=this.clientsKeyValueChangeStoreListener.bind(this),this.anyFieldChangeStoreListener=this.anyFieldChangeStoreListener.bind(this)}getChannel(e){return this.allChannels.filter((t=>t.name===e)).length>0}createChannel(e,t){return u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.createChannel","PARAMS",e),o.default.args(e,"object"),e.name?this.getChannel(e.name)?(h(`LinkerClient.createChannel: Channel ${e.name} Already Exists`),g(this.allChannels,t)):(this.allChannels.push(e),this.allGroups=this.allChannels,this.linkerStore.setValue({field:"channels",value:this.allChannels}),g(this.allChannels,t)):(h("LinkerClient.createChannel: Name is required"),g(this.allChannels,t))}removeChannel(e,t){if(f("LinkerClient.removeChannel","NAME",e),u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),o.default.args(e,"string"),!this.getChannel(e))return h(`Channel ${e}does not exist`,null),g(this.allChannels,t);const n=this.allChannels;for(let t=0;t<n.length;t++)if(e===n[t].name){n.splice(t,1);break}this.linkerStore.setValue({field:"channels",value:this.allChannels});const{clients:r}=this;for(const t in r){const n=r[t];for(const t in n.channels)if(e===t){delete n[t];break}}return this.linkerStore.setValue({field:"clients",value:this.clients}),g(this.allChannels,t)}updateClientInStore(e){this.linkerStore.setValue({field:`clients.${e}`,value:this.clients[e]})}linkToChannel(e,t,n){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.linkToChannel","CHANNEL",e,"COMPONENT",t),o.default.args(e,"string",t),t||(t=a.default.getWindowIdentifier());const r=p(t);if(this.clients[r]||(this.clients[r]={client:t,channels:{}}),Array.isArray(e))for(let t=0;t<e.length;t++)this.clients[r].channels[e[t]]=!0;else this.clients[r].channels[e]=!0;return this.updateClientInStore(r),g(this.getState(t),n)}unlinkFromChannel(e,t,n){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unlinkFromChannel","CHANNEL",e,"WINDOW IDENTIFIER",t),o.default.args(e,"string",t),t||(t=a.default.getWindowIdentifier());const r=p(t),i=this.clients[r];if(Array.isArray(e))for(let t=0;t<e.length;t++)delete i.channels[e[t]];else if(e){if(!i||!i.channels[e]){const i=this.clients[r];return h(`Component was not in specified channel ${e}`,i,i.channels[e]),g(this.getState(t),n)}delete i.channels[e]}else for(const e in i.channels)delete i.channels[e];return this.updateClientInStore(r),g(this.getState(t),n)}getAllChannels(e){return f("LinkerClient.getAllChannels"),g(this.allChannels,e)}getState(e,t){f("LinkerClient.getState","WINDOW IDENTIFIER",e);const n={channels:[],allChannels:this.allChannels};if(e||(e=a.default.getWindowIdentifier()),!Object.keys(this.clients).length)return g(n,t);const r=p(e),i=this.clients[r];return i?(n.channels=this.allChannels.filter((e=>i.channels&&!0===i.channels[e.name])),u.default.system.debug("LINKER-3",this.allChannels,"state.channels",n.channels,"key",r,"windowIdentifier",e,"componentEntry",i),i.active||(i.active=!0,this.linkerStore.setValue({field:`clients.${r}`,value:i})),g(n,t)):g(n,t)}unsubscribe(e,t){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unsubscribe","DATA TYPE",e),o.default.args(e,"string"),this.dataListenerList[e]&&(t?this.dataListenerList[e]=this.dataListenerList[e].filter((e=>e!==t)):delete this.dataListenerList[e])}publish(e,t){f("LinkerClient.publish","PARAMS",e),o.default.args(e.dataType,"string",e.data,"any");let{channels:n}=e;n||(n=Object.keys(this.channels));for(let t=0;t<n.length;t++){const r=n[t];this.routerClient.transmit(`${r}.${e.dataType}`,{type:e.dataType,data:e.data}),this.routerClient.transmit(r,{type:e.dataType,data:e.data})}return g({},t)}subscribe(e,t){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.subscribe","DATA TYPE",e),o.default.args(e,"string",t,"function"),this.dataListenerList[e]?this.dataListenerList[e].includes(t)||this.dataListenerList[e].push(t):this.dataListenerList[e]=[t]}getLinkedComponents(e,t){u.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.getLinkedComponents","PARAMS",e);const n=[];if(e||(e={}),e.channels&&!Array.isArray(e.channels)&&(o.default.args(e.channels,"string"),e.channels=[e.channels]),e.componentTypes&&!Array.isArray(e.componentTypes)&&(o.default.args(e.componentTypes,"string"),e.componentTypes=[e.componentTypes]),e.componentTypes&&o.default.args(e.componentTypes,"array"),e.windowIdentifier){const t=p(e.windowIdentifier),n=Object.keys(this.clients[t].channels);e.channels?e.channels=e.channels.filter((e=>n.includes(e))):e.channels=n}e.channels||(e.channels=this.getAllChannels().map((e=>e.name)));for(const t in this.clients){let r=this.clients[t];if(!r)continue;r.channels||(r=r[Object.keys(r)[0]]);const i=Object.keys(r.channels).filter((t=>{var n;return null===(n=null==e?void 0:e.channels)||void 0===n?void 0:n.includes(t)})).length;let o=!0;e.componentTypes&&(o=e.componentTypes.includes(r.client.componentType)),r.active&&i&&o&&n.push({windowName:r.client.windowName,componentType:r.client.componentType,uuid:r.client.uuid,channels:Object.keys(r.channels)})}return g(n,t)}updateListeners(){for(let e=this.channelListenerList.length-1;e>=0;e--){const t=this.channelListenerList[e];Object.keys(this.channels).filter((e=>e==t)).length||(this.routerClient.removeListener(t,this.handleListeners),this.channelListenerList.splice(e,1))}const e=Object.keys(this.channels);for(let t=0;t<e.length;t++){const n=e[t];this.channelListenerList.includes(n)||(this.routerClient.addListener(n,this.handleListeners),this.channelListenerList.push(n))}const t=this.getState();for(let e=0;e<this.stateChangeListeners.length;e++)this.stateChangeListeners[e](null,t)}onStateChange(e){this.stateChangeListeners.push(e)}persistState(e){a.default.setComponentState({field:"Finsemble_Linker",value:e})}clientsKeyValueChangeStoreListener(e,t){if(h("My Channels Updated"),!t.value)return;const n=t.value.channels||t.value.groups,r=(0,d.default)(n,this.channels);(n&&0!==Object.keys(n).length&&!r||0===Object.keys(n).length&&0!==Object.keys(this.channels).length)&&(this.persistState(n),this.channels=n,this.updateListeners())}anyFieldChangeStoreListener(e,t){const{values:n}=t.value;this.allChannels=n.channels,n.groups&&(this.allChannels=n.groups),u.default.system.debug("LINKER-2",this.allChannels),this.allGroups=this.allChannels,this.clients=n.clients}start(e){this.dontPersistYet=!0,h("LinkerClient Loading Channels");const t=a.default.getWindowIdentifier(),n=p(t);c.default.getStore({store:"Finsemble_Linker",global:!0},((r,i)=>{this.linkerStore=i,null==i||i.addListener({field:`clients.${n}`},this.clientsKeyValueChangeStoreListener),null==i||i.addListener({},this.anyFieldChangeStoreListener),null==i||i.getValues(["channels",`clients.${n}`],((r,i)=>{i&&i.channels&&(this.allChannels=i.channels,u.default.system.debug("LINKER-1",this.allChannels),this.allGroups=this.allChannels),a.default.getComponentState({field:"Finsemble_Linker"},((r,o)=>{var s;this.channels=[],this.clients[n]={client:t,active:!0,channels:{}},o?(this.channels=o,this.clients[n].channels=o):(null===(s=i[`clients.${n}`])||void 0===s?void 0:s.channels)&&(this.clients[n].channels=i[`clients.${n}`].channels),this.updateClientInStore(n);const l=a.default.getSpawnData();if(l&&l.linker){let e=l.linker.channels;l.linker.groups&&(e=l.linker.groups),this.linkToChannel(e,t)}else this.updateListeners();e()}))}))}))}hyperFocus(e){l.default.hyperFocus({windowList:this.getLinkedComponents({channels:e})})}bringAllToFront(e){const{channel:t}=e;l.default.bringWindowsToFront({windowList:this.getLinkedComponents({channels:t})})}createGroup(e,t){return this.createChannel(e,t)}deleteGroup(e,t){return this.removeChannel(e,t)}addToGroup(e,t,n){const r=this.linkToChannel(e,t);return n&&n(null,r),r}removeFromGroup(e,t,n){const r=this.unlinkFromChannel(e,t);return n&&n(null,r),r}getAllGroups(e){const t=this.getAllChannels();return e&&e(t),t}getGroups(e,t){const n=this.getState(e);return n.groups=n.channels,g(n,t)}unSubscribe(e,t){this.unsubscribe(e,t)}getLinkedWindows(e,t){return e||(e={}),e.groups=e.channels,e.windowIdentifier=e.client,this.getLinkedComponents(e,t)}windowIdentifier(e,t){return g(a.default.getWindowIdentifier(),t)}openLinkerWindow(e){if(o.default.args(e,"function"),this.loading)return;const t=()=>{this.routerClient.query("Finsemble.LinkerWindow.Show",{groups:this.getGroups().groups,windowIdentifier:a.default.getWindowIdentifier(),windowBounds:a.default.getWindowBounds()},(()=>{}))};this.linkerWindow?this.linkerWindow.isShowing((e=>{e?this.linkerWindow.hide():t()})):t()}}function w(e){return new m({clients:e=e||{},startupDependencies:{clients:["windowClient","launcherClient"]},onReady(e){h("Linker onReady"),setTimeout((()=>{(0,i.parallel)([e=>{v.start(e)},e=>{l.default.onReady(e)}],e)}),0)},name:"linkerClient"})}t.LinkerClient=m;const v=w();v.constructInstance=w,t.default=v},25478:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseService=void 0;const a=n(1641),l=n(25495),c=s(n(11314)),u=s(n(2518)),d=s(n(84795)),f=n(91374),h=o(n(26604)),p=n(44137),g=n(51806),{SERVICE_INITIALIZING_CHANNEL:m,SERVICE_READY_CHANNEL:w,SERVICE_QUERY_READY_CHANNEL:v,SERVICE_CLOSING_CHANNEL:y,SERVICE_CLOSED_CHANNEL:b,SERVICE_STOP_CHANNEL:S}=h,C={startupDependencies:{services:[],clients:[]},shutdownDependencies:{services:[]},name:window.name};t.BaseService=class{constructor(e=C){!function(e){e.startupDependencies?(e.startupDependencies.services||(e.startupDependencies.services=C.startupDependencies.services),e.startupDependencies.clients||(e.startupDependencies.clients=C.startupDependencies.clients)):e.startupDependencies=C.startupDependencies,e.shutdownDependencies?e.shutdownDependencies.services||(e.shutdownDependencies.services=C.shutdownDependencies.services):e.shutdownDependencies=C.shutdownDependencies}(e),this.name=e.name?e.name:window.name,this.startupDependencies=e.startupDependencies,this.shutdownDependencies=e.shutdownDependencies,this.Logger=u.default,this.RouterClient=c.default,this.onBaseServiceReadyCB=null,this.setOnConnectionCompleteCB=null,this.listeners={},this.start=()=>{},this.started=!1,this.status="initializing",this.setOnline=this.setOnline.bind(this),this.onBaseServiceReady=this.onBaseServiceReady.bind(this),this.handleShutdown=this.handleShutdown.bind(this),this.waitForDependencies(),p.Globals.finsembleServices?p.Globals.finsembleServices.push(this):p.Globals.finsembleServices=[this]}async initialize(e){e()}waitForDependencies(){const e=this;if(this.started)return;this.started=!0;const t=this;function n(e){u.default.system.debug("BaseService.start.setParentUUID"),f.System.Window.getCurrent().getOptions((n=>{t.customData=n.customData,e()}))}async function r(){await(new g.FSBLService).startApp(),c.default.addResponder(v(e.name),((t,n)=>{(e.status="ready")?null==n||n.sendQueryResponse(null):null==n||n.sendQueryResponse("service not ready")})),"routerService"!==t.name&&c.default.transmit(m,{name:t.name}),window.addEventListener("beforeunload",t.RouterClient.disconnectAll),u.default.system.debug("APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.onRouterReady")}function i(e){const n=t.customData.debugServiceDelay||0;if(u.default.system.debug(`Custom Data: ${t.name} custom data`,t.customData),Number.isInteger(n))n>0&&u.default.system.debug(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.debugDelay: ${t.name} startup will delayed by ${n} milliseconds for debugging`);else{const e=`debugDelay has an illegal value ("${n}") for ${t.name}. Value must be an integer.`;u.default.system.error(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start: ${e}`),d.default.systemLog({error:!0},e)}setTimeout(e,n)}function o(e){u.default.system.debug(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.readyToGo ${t.name}`),u.default.console.log("Startup Dependencies for",t.name,t.startupDependencies),u.default.console.log("Shutdown Dependencies for",t.name,t.shutdownDependencies),l.FSBLDependencyManagerSingleton.shutdown.waitFor(t.shutdownDependencies,t.handleShutdown),u.default.system.debug(`APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.readyToGo after wait ${t.name}`),c.default.transmit(`${f.System.Window.getCurrent().name}.onSpawned`,{name:f.System.Window.getCurrent().name},{suppressWarnings:!0}),l.FSBLDependencyManagerSingleton.startup.waitFor(t.startupDependencies,e,t.name).on("err",(e=>{u.default.system.error(e)}))}function s(e){const n=f.System.Window.getCurrent();n.isShowing((r=>{r&&!1!==t.customData.showDevConsoleOnVisible?f.System.showDeveloperTools(n.name,null,e):(u.default.system.debug("APPLICATION LIFECYCLE:STARTUP:SERVICE:BaseService.start.delayStartup done"),e())}))}return u.default.system.debug(`${this.name} starting`),new Promise((e=>{(0,a.series)([r,n,s,i,o],(t=>{t&&console.log("waitForDependencies async.series results",t),e(),this.onDependenciesReady()}))}))}setOnline(){"ready"!==this.status&&(this.RouterClient.addListener(`${S}.${this.name}`,(()=>{l.FSBLDependencyManagerSingleton.shutdown.checkDependencies()})),this.status="ready",c.default.transmit(w,{serviceName:this.name},{suppressWarnings:!0}),u.default.system.log("APPLICATION LIFECYCLE:STARTUP:SERVICE ONLINE",this.name),d.default.publishBootStatus(this.name,"services","completed"))}onDependenciesReady(){u.default.system.debug("APPLICATION LIFECYCLE:STARTUP:BaseService onDependenciesReady",this.name),this.status="initializing",this.onBaseServiceReadyCB?this.onBaseServiceReadyCB(this.setOnline):this.initialize?this.initialize(this.setOnline):setTimeout((()=>{"ready"!==this.status&&"routerService"!==this.name&&(console.error("No onBaseServiceReadyCB on initialize function defined on your service. Ensure that service.setOnline is called"),u.default.system.error("No onBaseServiceReadyCB on initialize function defined on your service. Ensure that service.setOnline is called"))}),3e3)}onBaseServiceReady(e){"initializing"===this.status?this.onBaseServiceReadyCB=()=>{e(this.setOnline)}:e(this.setOnline)}addEventListener(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}onShutdown(e){this.addEventListener("onShutdown",e)}handleShutdown(){u.default.system.debug("BaseService.handleShutdown");const e=this;this.listeners.onShutdown?(c.default.transmit(y,{waitForMe:!0,name:this.name}),(0,a.each)(this.listeners.onShutdown,(function(e,t){(0,a.asyncify)(e)(null,t)}),(function(t){t&&u.default.system.error(t),e.shutdownComplete()}))):(c.default.transmit(y,{waitForMe:!1,name:this.name}),e.shutdownComplete())}shutdownComplete(){u.default.system.info(`"APPLICATION LIFECYCLE:SHUTDOWN:SERVICE SHUTDOWN: ${this.name}`),c.default.transmit(b,{name:this.name})}}},38144:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHECKPOINT_CHANNEL_BASE=t.STAGE_CHANNEL=t.STATUS_CHANNEL_BASE=t.SHOW_SYSLOG_CHANNEL=t.SYSLOG_CHANNEL=t.CRITICAL_BOOT_STAGES=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.CRITICAL_BOOT_STAGES=["microkernel","kernel"],t.SYSLOG_CHANNEL="systemManager.systemlog",t.SHOW_SYSLOG_CHANNEL="systemManager.showSystemlog",t.STATUS_CHANNEL_BASE="systemManager.boot.status",t.STAGE_CHANNEL="systemManager.boot.stage",t.CHECKPOINT_CHANNEL_BASE="systemManager.checkpoint"},37331:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkpointChannel=t.statusChannel=void 0;const r=n(38144);t.statusChannel=function(e){return`${r.STATUS_CHANNEL_BASE}.${e}`},t.checkpointChannel=function(e,t){return`${r.CHECKPOINT_CHANNEL_BASE}.${e}.${t}`}},53912:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BootReadyItem=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.BootReadyItem=class{constructor(e,t,n){this.name=e,this.type=t,this.config=n}}},73853:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceManager=t.NO_ACTIVE_WORKSPACE=t.notValidWindowNameError=t.workspaceNotFoundError=t.setOrderError=t.REMOVE_ACTIVE_WORKSPACE=t.NOT_INITIALIZED=t.getNextWorkspaceName=t.getWorkspaceStorageKey=void 0;const o=i(n(74221)),s=i(n(91966)),a=i(n(27361)),l=i(n(9996)),c=i(n(95085)),u=n(252),d=n(23099),f=n(26604),h=n(75811),p=i(n(9381)),g=n(2518),m=n(96486),{STORAGE_TOPIC:w,CACHE_STORAGE_TOPIC:v,CLEAN_SHUTDOWN:y,ACTIVE_WORKSPACE:b,ALL_WORKSPACES:S,LAST_USED_WORKSPACE_NAME:C}=f.WORKSPACE;function _({counter:e,reason:t},...n){g.LoggerClient.system.debug(`TRACE-${e}-${t}`,...n)}function k(e,t){const n=/\(\d+\)$/,r=e.replace(n,"").trim(),i=[...t,e].filter((e=>(0,d.camelCase)(e).includes((0,d.camelCase)(r)))).map((e=>{const t=e.match(n);return null===t?0:Number(t[0].slice(1,-1))})),o=Math.max(...i)+1;return`${r} (${o})`}t.getWorkspaceStorageKey=e=>"string"==typeof e?(0,d.camelCase)(e):(0,d.camelCase)(e.name),t.getNextWorkspaceName=k,t.NOT_INITIALIZED="You must wait for the Workspace Manager to initialize before taking this action.",t.REMOVE_ACTIVE_WORKSPACE="You cannot remove the active workspace",t.setOrderError=e=>`A new workspace order must include an entry for every workspace. Old order: ${e}`,t.workspaceNotFoundError=e=>`Workspace "${e}" not found in storage.`,t.notValidWindowNameError=e=>`"${e}" is not a valid window name`,t.NO_ACTIVE_WORKSPACE="Attempt to interact with the active workspace before an active workspace was set.";class W{static async getNewWindowName(e){return(0,u.getRandomWindowName)(e.componentType)}static async updateStorage(e){const{topic:t,key:n,updateFn:r}=e,i=r(await W._SC.get({topic:t,key:n})),{err:o,data:s}=await W._SC.save({topic:t,key:n,value:i});return{err:o,data:i}}static async addWorkspace(e,n,r={}){const{force:i=!1,isRename:o=!1,oldName:s=null}=r;_(e,"Adding workspace",n,"force:",i),""===n.name&&(n.name="Untitled");const a=await W.getWorkspaceNames(e),l=a.some((e=>(0,d.camelCase)(e)===(0,d.camelCase)(n.name)));l&&i&&await W.removeWorkspace(e,n.name);const c=l&&!i?k(n.name,a):n.name,{err:u,data:f}=await this.updateStorage({topic:w,key:S,updateFn:e=>{if(e){if(o){const t=e.findIndex((e=>e===s));return t>=0?e.splice(t,1,c):e.push(c),e}return[...e,c]}return[c]}});u&&g.LoggerClient.system.error("Failed to update storage when adding a new workspace!",u);const{err:h,data:p}=await this.updateStorage({topic:v,key:S,updateFn:e=>f});h&&g.LoggerClient.system.error("Failed to update (cache) storage when adding a new workspace!",h),W.cachedWorkspaceNames=f;const m=Object.assign(Object.assign({},n),{name:c});return W.cachedWorkspaces[c]=m,await W._SC.save({topic:w,key:(0,t.getWorkspaceStorageKey)(m),value:m}),_(e,"Workspace added"),c}static async updateActiveWorkspace(e,t){_(e,"Updating active workspace."),g.LoggerClient.system.debug("update-trace updateActiveWorkspace",g.LoggerClient.callStack());const{err:n,data:r}=await this.updateStorage({topic:v,key:b,updateFn:t});W.cachedActiveWorkspace=r,_(e,"Active workspace updated")}static async formatWindow(e){const t=Object.assign({},e);var n;return t.componentType=e.componentType||(0,a.default)(e,"customData.component.type",void 0)||e.type,delete t.type,t.name=t.name||await W.getNewWindowName(t),void 0!==e.options&&(n=e.options,new Map([["defaultTop","top"],["defaultBottom","bottom"],["defaultLeft","left"],["defaultRight","right"],["defaultWidth","width"],["defaultHeight","height"]]).forEach((function(e,r){t[r]=n[r]||n[e],void 0===t[r]&&delete t[r],delete t[e]})),delete t.options),t}static splitCompleteStates(e){const t=[],n=[];for(const r of e)t.push(r.windowData),n.push(r.componentState);return{windowData:t,componentState:n}}static async importWorkspace(e,t,n=!1){const i="string"==typeof t?JSON.parse(t):t,{components:o,windowData:s,componentStates:a}=i,l=r(i,["components","windowData","componentStates"]);let c;c=void 0!==s?s:[...l.windows||[],...o||[]];const u=c.map(W.formatWindow),f=await Promise.all(u),h=await W.getWorkspaceNames(e);h.some((e=>(0,d.camelCase)(e)===(0,d.camelCase)(l.name)))&&(n?await W.removeWorkspace(e,l.name):l.name=k(l.name,h));for(const e of f)await W._WS.setCompleteState({windowData:e,componentState:(null==a?void 0:a[e.name])||{}},l.name);const p=Object.assign(Object.assign({},l),{windows:f.map((e=>e.name))});return W.addWorkspace(e,p)}static async getWorkspace(e,n,r=w){var i;_(e,"Getting workspace",n,r);let o=W.cachedWorkspaces[n];if(!o){const e=(0,t.getWorkspaceStorageKey)(n);o=await W._SC.get({key:e,topic:r}),o&&(W.cachedWorkspaces[n]=o)}if(!o)throw new Error((0,t.workspaceNotFoundError)(n));return Object.assign(Object.assign({},null===(i=null==W?void 0:W.workspaceConfigs)||void 0===i?void 0:i[n]),o)}static setWorkspaceConfig(e){e.forEach((e=>{W.workspaceConfigs[e.name]=e}))}static async exportWorkspace(e,t){const n=await W.getWorkspace(e,t),[r,i,o]=(await W._WS.getManyCompleteStates(n.windows,n.name)).filter((e=>!!e.componentState||!!e.windowData)).reduce(((e,{componentState:t,windowData:n})=>{const[r,i,o]=e;return[[...r,n.name],[...i,n],Object.assign(Object.assign({},o),{[n.name]:t})]}),[[],[],{}]);return Object.assign(Object.assign({},n),{windows:r,windowData:i,componentStates:o})}static async getWorkspaces(e){const t=await W.getWorkspaceNames(e)||[];return(await Promise.all(t.map((t=>W.getWorkspace(e,t).catch((()=>null)))))).filter(u.identity)}static async wasLastShutdownDirty(e){_(e,"wasLastShutdownDirty");const t={topic:v,key:y};let n=await W._SC.get(t);return _(e,"wasLastShutdownDirty value",!1===n?"false":"true"),!1===n}static async setCleanShutdownFlag(e,t){_(e,"setCleanShutdownFlag",t?"true":"false");const n={topic:v,key:y,value:t};await W._SC.save(n)}static async saveLastUsedWorkspaceName(e,t){_(e,"Saving last used workspace name");const n={topic:w,key:C,value:t};await W._SC.save(n)}static async getLastUsedWorkspaceName(e){_(e,"Getting last used workspace name");const t={topic:w,key:C};return await W._SC.get(t)}static async getWorkspaceNames(e,t=!0){if(_(e,`Getting ${t?"cached":""} workspace names`),!t||!W.cachedWorkspaceNames||0==W.cachedWorkspaceNames.length){const e={topic:w,key:S};let t=await W._SC.get(e);W.cachedWorkspaceNames=t||[]}return W.cachedWorkspaceNames}static async getActiveWorkspace(e,n=!0){if(_(e,"Getting active workspace"+(n?" from cache":"")),!n||!W.cachedActiveWorkspace){let e=await W._SC.get({topic:v,key:b});W.cachedActiveWorkspace=e}if(!W.cachedActiveWorkspace)throw g.LoggerClient.system.debug("Active workspace retrieved is null",W.cachedActiveWorkspace),new Error(t.NO_ACTIVE_WORKSPACE);return _(e,"Active workspace retrieved",W.cachedActiveWorkspace),W.cachedActiveWorkspace}static async doesActiveWorkspaceExist(e){return await W.getActiveWorkspace(e).then((()=>!0)).catch((()=>!1))}static async isActiveWorkspaceDirty(e){if(!W.ignoreProps)try{const e=await p.default.getValue("finsemble.servicesConfig.window.ignoreFieldsForDirtyingWorkspace");W.ignoreProps=e.data||[]}catch(e){W.ignoreProps=[]}const t=r(await W.getActiveWorkspace(e),[]),n=await W._WS.getManyCompleteStates(t.windows),{normalizedWorkspace:i,normalizedWindowStates:o}=await this.normalizeWorkspace(e,t,n),{windowData:s,componentState:a}=W.splitCompleteStates(o),l=i;l.windowData=s,l.componentState=a,delete l.guid;for(const e of l.windowData)for(const t of W.ignoreProps)delete e[t];const c=await W.getWorkspace(e,t.name),d=(0,m.clone)(c),f=await W._WS.getManyCompleteStates(d.windows,t.name),{normalizedWorkspace:h,normalizedWindowStates:w}=await this.normalizeWorkspace(e,d,f),{windowData:v,componentState:y}=W.splitCompleteStates(w),b=h;b.windowData=v,b.componentState=y,delete b.guid;for(const e of b.windowData)for(const t of W.ignoreProps)delete e[t];return g.LoggerClient.system.debug("isActiveWorkspaceDirty","stored workspace",b,"activeWorkspace",l),!(0,u.isEqualIgnoringArrayOrder)(b,l)}static async setActiveWorkspace(e,t,n=!1){let r,i,o;if(_(e,"Setting active workspace",t,n?"cacheOnly=true":"cacheOnly=false"),W.cachedActiveWorkspaceName=t,n)r=await W.getWorkspace(e,t,v),i=r.name;else{await W.doesActiveWorkspaceExist(e)&&(r=await W.getActiveWorkspace(e),await W._WS.removeManyCompleteStates(r.windows));try{g.LoggerClient.system.debug("setActiveWorkspace reading workspace",t);const n=await W.getWorkspace(e,t),{windows:r,states:s}=await this.reconcileStatesWithWorkspace(n);n.windows=r,g.LoggerClient.system.debug("setActiveWorkspace reading workspace states",s);for(const e of s)await W._WS.setCompleteState(e);W.cachedActiveWorkspace=n,o=W.cachedActiveWorkspace,i=o.name}catch(e){throw g.LoggerClient.system.error("setActiveWorkspace error",e),new Error("setting active workspace failed")}g.LoggerClient.system.debug("update-trace setActiveWorkspace",g.LoggerClient.callStack()),await W._SC.save({value:Object.assign({},o),topic:v,key:b}),_(e,"Active workspace set.")}return W.cachedActiveWorkspaceName=i,o}static async saveActiveWorkspace(e){_(e,"Saving active workspace");const t=r(await W.getActiveWorkspace(e),[]);try{const n=(await W.getWorkspace(e,t.name)).windows;await W._WS.removeManyCompleteStates((0,s.default)(n,t.windows),t.name)}catch(e){g.LoggerClient.system.error("Encountered an error while comparing workspaces for differences.",e)}const n=await W._WS.getManyCompleteStates(t.windows),{normalizedWorkspace:i,normalizedWindowStates:o}=await this.normalizeWorkspace(e,t,n);try{await W.updateWorkspace(e,(()=>i),i.name)}catch(e){g.LoggerClient.system.error("Error updating workspace.",e)}try{await W._WS.setManyCompleteStates(o,t.name),W.cachedActiveWorkspace=t}catch(e){g.LoggerClient.system.error("Error updating window states when switching workspaces.",e)}_(e,"Active workspace saved")}static async saveActiveWorkspaceAs(e,t,n){let i,o;try{_(e,`Saving active workspace workspace as "${t}". Force param is ${n}.`),i=r(await W.getActiveWorkspace(e),[])}catch(e){g.LoggerClient.system.error("Error getting active workspace before switching.",e)}if(i.name===t){_(e,"New name is same as the current name. Saving the active workspace.");try{await W.saveActiveWorkspace(e)}catch(e){g.LoggerClient.system.error("Error saving active workspace.",e)}finally{return}}try{const r=await W._WS.getManyCompleteStates(i.windows),{normalizedWorkspace:s,normalizedWindowStates:a}=await this.normalizeWorkspace(e,i,r);o=await W.addWorkspace(e,Object.assign(Object.assign({},s),{name:t}),{force:n}),await W._WS.setManyCompleteStates(a,o)}catch(e){g.LoggerClient.system.error("Error setting window states when saving workspace.",e)}try{await W.setActiveWorkspace(e,o)}catch(e){g.LoggerClient.system.error("Error setting active workspace.",e)}return o}static async normalizeWorkspace(e,t,n){_(e,"Normalizing workspace",t);const r={};n&&n.forEach((e=>{e.windowData&&e.windowData.isEvergreen&&(r[e.windowData.componentType]||(r[e.windowData.componentType]=[]),r[e.windowData.componentType].push(e.windowData.name))}));const i={};Object.keys(r).forEach((e=>{r[e].sort();let t=1;r[e].forEach((n=>{const r=`${e}-${t}`;i[n]=r,t+=1}))}));let o=JSON.stringify(t),s=JSON.stringify(n);const a={};return Object.keys(i).forEach((e=>{const t=i[e],n=(0,u.guuid)();a[n]=t,o=o.replace(e,n),s=s.replace(e,n)})),Object.keys(a).forEach((e=>{const t=a[e];o=o.replace(e,t),s=s.replace(e,t)})),{normalizedWorkspace:JSON.parse(o),normalizedWindowStates:JSON.parse(s)}}static async newWorkspace(e,t){_(e,"Creating new workspace",t);const n=await W.addWorkspace(e,{version:"1.0.0",name:t,windows:[],type:"workspace",groups:{}});return _(e,"New workspace created"),n}static async renameWorkspace(e,t,n){if(_(e,`Renaming workspace "${n}" to "${t}"`),t===n)return Promise.resolve(t);const r=await W.getActiveWorkspace(e),i=n===r.name,o=await W.getWorkspace(e,n),s=await W.addWorkspace(e,Object.assign(Object.assign({},o),{name:t}),{isRename:!0,oldName:n});_(e,`Final name of rename: ${s}`);const{windows:a,states:l}=await this.reconcileStatesWithWorkspace(o);if(o.windows=a,_(e,"Window states",l),await W._WS.setManyCompleteStates(l,s),i){const t=await W._WS.getManyCompleteStates(r.windows);await W.setActiveWorkspace(e,s),await W._WS.setManyCompleteStates(t),await W.updateActiveWorkspace(e,(e=>Object.assign(Object.assign({},e),{name:s})))}return await W.removeWorkspace(e,n),s}static async reconcileStatesWithWorkspace(e,t){var n;const r=await W._WS.getManyCompleteStates(e.windows,t||e.name),i=null==r?void 0:r.filter((e=>!!e.componentState||!!e.windowData)),o=null==i?void 0:i.map((e=>e.windowData.name));return{windows:null===(n=e.windows)||void 0===n?void 0:n.filter((e=>!(e.startsWith("StackedWindow-")&&!o.includes(e)))),states:i}}static async removeWorkspace(e,n){_(e,"Removing workspace",n);const r=await W.getActiveWorkspace(e),i=e=>e.filter((e=>(0,t.getWorkspaceStorageKey)(e)!==(0,t.getWorkspaceStorageKey)(n)));if(r&&n===r.name)throw new Error("You cannot remove the active workspace");const o=await W.getWorkspace(e,n);W.cachedWorkspaceNames=W.cachedWorkspaceNames.filter(((e,t,r)=>e!=n)),delete W.cachedWorkspaces[n],await W._WS.removeManyCompleteStates(o.windows,o.name),await W._SC.remove({topic:w,key:(0,t.getWorkspaceStorageKey)(n)}),await this.updateStorage({topic:w,key:S,updateFn:i}),_(e,"Workspace removed"),await this.updateStorage({topic:v,key:S,updateFn:i})}static async searchWorkspaces(e,t){const n=await W.getWorkspaceSearchConfig(e);if(!n.enabled)return[];const r=await W.getWorkspaceNames(e);return new o.default(r,n).search(t).map((({matches:e,score:t,item:n})=>({score:t,matches:e,name:n,type:"Workspace",description:"",actions:[{name:"Switch"}],tags:[]})))}static async getWorkspaceSearchConfig(e){_(e,"Getting 'finsemble.workspaceSearch' config");let t={enabled:!0,shouldSort:!0,includeScore:!0,includeMatches:!0,threshold:.4,location:0,distance:100,maxPatternLength:32,minMatchCharLength:1};const{data:n}=await p.default.getValue({field:"finsemble.servicesConfig.workspace.search"});return null!=n&&(n.hasOwnProperty("enabled")&&(t.enabled=n.enabled),n.hasOwnProperty("options")&&(t=(0,l.default)(t,n.options))),t}static async updateWorkspace(e,n,r=b){_(e,"Updating workspace",r);const i=r===b,o=await W.doesActiveWorkspaceExist(e);if(i&&!o)throw new Error(t.NO_ACTIVE_WORKSPACE);const s=(0,u.composeRL)((e=>{let t=Object.assign({},e);return delete t.windowData,delete t.componentState,delete t.guid,t}),n),a=o?await W.getActiveWorkspace(e):null;if(i&&a){const t=s(a);if(_(e,"Updated workspace",t),(0,u.isEqualIgnoringArrayOrder)(t,a))return void _(e,"Update and current state are equal. Dropping request");_(e,"Update workspace is targeting active workspace"),g.LoggerClient.system.debug("update-trace updateWorkspace",g.LoggerClient.callStack()),W.cachedActiveWorkspace=t,await W._SC.save({topic:v,key:b,value:Object.assign({},t)}),_(e,"Active workspace updated")}if(!i||W.autosave){_(e,"Persisting workspace data to storage",a);const n=i&&a?a.name:r,{err:o,data:l}=await this.updateStorage({topic:w,key:(0,t.getWorkspaceStorageKey)(n),updateFn:s});_(e,"Workspace data persisted to storage",a),W.cachedWorkspaces[n]=l}_(e,"Workspace updated")}static async updateWindowState(e,n,r,i){if(_(e,"updating window state"),!await W.doesActiveWorkspaceExist(e))throw new Error(t.NO_ACTIVE_WORKSPACE);const o=await W._WS.getState(n,i),s=r(o);if((0,u.isEqualIgnoringArrayOrder)(o,s))return void _(e,"updating window state -- deep equal",o,s);_(e,"updating window state -- NOT deep equal",o,s),await W._WS.setState(n,i,s);const a=await W.getActiveWorkspace(e);a.windows.includes(i)&&!(0,u.isEqualIgnoringArrayOrder)(s,o)?W.autosave&&(_(e,"updating window state -- autosave"),await W._WS.setState(n,i,s,a.name)):_(e,"updating window state -- ignoring")}static async setWindowState(e,t,n){_(e,"setWindowState",t,n);for(const r of Object.keys(n))await W.updateWindowState(e,r,(()=>n[r]),t)}static async getWindowState(e,t,n){_(e,"getWindowState",t,n);let r={};for(const e of n)r[e]=await W._WS.getState(e,t);return r}static async getManyStates(e,t,n){return W._WS.getManyStates(e,t,n)}static async addWindowToWorkspace(e,n,r){if(!n)throw new Error((0,t.notValidWindowNameError)(n));if("object"==typeof n&&!n.name)throw new Error((0,t.notValidWindowNameError)(n.name));_(e,"Adding window",n,"to workspace",r||b);const i="string"==typeof n,o=i?n:n.name,s={windowData:n,componentState:{}};i||await W._WS.setCompleteState(s,r),g.LoggerClient.system.debug("update-trace addWindowToWorkspace",g.LoggerClient.callStack()),await W.updateWorkspace(e,(e=>{const t=e.windows.filter((e=>e!==o));return Object.assign(Object.assign({},e),{windows:[...t,o]})}),r),_(e,`Window ${o} added to ${r||b}`)}static async removeWindowFromWorkspace(e,n,r){if(!n)throw new Error((0,t.notValidWindowNameError)(n));_(e,`Removing window ${n} from workspace ${r||b}`);try{await W._WS.removeCompleteState(n,r)}catch(e){g.LoggerClient.system.warn(`Failed to remove window state ${n} from workspace ${r}.`)}g.LoggerClient.system.debug("update-trace removeWindowFromWorkspace",g.LoggerClient.callStack()),await W.updateWorkspace(e,(t=>{const r=t.windows.filter((e=>e!==n));return _(e,"Filtered windows,",r),Object.assign(Object.assign({},t),{windows:r})}),r),_(e,`Window ${n} removed from workspace ${r||b}`)}static async setGroupData(e,t,n){try{const r=n?await W.getWorkspace(e,n):await W.getActiveWorkspace(e);W.cachedActiveWorkspaceName&&r.name!==W.cachedActiveWorkspaceName?g.LoggerClient.system.debug("update-trace setGroupData workspace name mismatch",r.name,W.cachedActiveWorkspaceName,t,g.LoggerClient.callStack()):(g.LoggerClient.system.debug("update-trace setGroupData",r.name,t,g.LoggerClient.callStack()),await W.updateWorkspace(e,(e=>Object.assign(Object.assign({},e),{groups:t})),n))}catch(e){g.LoggerClient.system.debug("update-trace setGroupData err",e)}}static async setWorkspaceOrder(e,n){const r=await W.getWorkspaceNames(e);if(!(0,u.isEqualIgnoringArrayOrder)([...n],[...r]))throw new Error((0,t.setOrderError)(r));W.cachedWorkspaceNames=n,await W._SC.save({topic:v,key:S,value:n}),await W._SC.save({topic:w,key:S,value:n})}static async importLegacyWorkspaces(e){const t={topic:f.WORKSPACE.STORAGE_TOPIC,key:"fsblWorkspaces"},n=await W._SC.get(t)||[];for(const{name:t,groups:r,windows:i}of n){const n={name:t,groups:r,windows:i,type:"workspace",version:"1.0.0"};await W.addWorkspace(e,n)}await W._SC.remove(t),await W.doesActiveWorkspaceExist(e)&&await W.updateActiveWorkspace(e,(e=>Object.assign({},e)))}}t.WorkspaceManager=W,W.autosave=!1,W.promptUserOnDirtyWorkspace=!0,W.discardUnsavedChanges=!1,W._SC=c.default,W._WS=h.WindowStorageManager,W.cachedWorkspaces={},W.cachedWorkspaceNames=[],W.workspaceConfigs={}},20736:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(n(27361)),s=i(n(36968)),a=i(n(94885)),l=i(n(50361)),c=i(n(83027)),u=i(n(75613)),d=n(73853),f=n(24074),h=n(252),p=i(n(11314)),g=i(n(16994)),m=n(25478),w=n(26604),v=i(n(49136)),y=i(n(95085)),b=i(n(9381)),S=i(n(10449)),C=i(n(2518)),_=i(n(84795)),k=i(n(23893)),W=n(64324),E=i(n(9996)),L=n(24137),A=(0,c.default)(1);v.default.initialize(),y.default.initialize(),b.default.initialize(),S.default.initialize(),C.default.start();const T="APPLICATION LIFECYCLE: ",O=(0,a.default)(h.isStackedWindow),{GET_ACTIVE_WORKSPACE_DIRTY:I,GET_WORKSPACES:R,EXPORT:M,SAVE_AS:N,SAVE:D,SWITCH_TO:P,IMPORT:F,REMOVE:j,RENAME:x,SET_WORKSPACE_ORDER:$,GET_ACTIVE_WORKSPACE:B,GET_WORKSPACE_NAMES:U,NEW_WORKSPACE:G,SET_WINDOW_STATE:V,GET_WINDOW_STATE:q,ADD_WINDOW:H,REMOVE_WINDOW:z}=w.WORKSPACE.API_CHANNELS,{ACTIVE_WORKSPACE:K,STORAGE_TOPIC:Q,CACHE_STORAGE_TOPIC:Y,UPDATE_PUBSUB:J,INITIAL_WORKSPACE_PREFERENCE:Z,PUBLISH_REASONS:X}=w.WORKSPACE,ee=!0,te={NEW_WORKSPACE:X.NEW_WORKSPACE,ADD_WINDOW:X.WINDOW_ADDED,REMOVE_WINDOW:X.WINDOW_REMOVED,REMOVE:X.WORKSPACE_REMOVED,RENAME:X.WORKSPACE_RENAMED,SAVE_AS:X.SAVE_AS};let ne,re=-1;function ie(e){return re++,ne={reason:e,counter:re},ne}const oe={name:"Empty Workspace",componentStates:{},groups:{},type:"workspace",version:"1.0.0",windowData:[],windows:[]},se="finsemble.servicesConfig.workspace.promptUserOnDirtyWorkspace",ae="finsemble.servicesConfig.workspace.discardUnsavedChanges";class le extends m.BaseService{constructor(e){super(e),this.initialize=async()=>{var e,t,n,r;this.doShutdown=this.doShutdown.bind(this),this.onShutdown(this.doShutdown);const i=ie(X.INIT);await d.WorkspaceManager.importLegacyWorkspaces(i).catch((e=>C.default.system.error("importLegacyWorkspaces failed.",e)));const{data:s}=await b.default.getValues([{field:"startup_app"},{field:"finsemble"}]);if(!s)return void C.default.system.error("WorkspaceService::initialize() Couldn't fetch `start_app` and `finsemble` fields from config");const{startup_app:a,finsemble:l}=s;le.startupApp=a,le.notificationURL=W.ConfigUtilInstance.getDefault(l,"finsemble.notificationURL",`${l.moduleRoot}/components/system/notification/notification.html`),le.closeWorkspaceTimeout=(0,o.default)(l,"servicesConfig.workspace.closeWorkspaceTimeout")||(0,o.default)(l,"services.workspaceService.closeWorkspaceTimeout")||3e4,le.closeWorkspaceTimeoutMessage=(0,o.default)(l,"servicesConfig.workspace.closeFailureNotificationMessage","Problem closing current workspace. Please close any windows remaining on your screen and then select another workspace to open."),oe.name=(0,o.default)(l,"servicesConfig.workspace.emptyWorkspaceName",oe.name);const c=!(!(u=(0,o.default)(l,"servicesConfig.launcher.concurrentSpawnLimit")||(0,o.default)(l,"services.launcherService.concurrentSpawnLimit"))||Number.isNaN(Number(u)))&&Number(u);var u;le.concurrentSpawnLimit=c?Math.ceil(c):Math.ceil(navigator.hardwareConcurrency/2),C.default.system.debug(`Workspace Init: concurrentSpawnLimit is ${le.concurrentSpawnLimit}`);const{data:f}=await b.default.getValue({field:"finsemble.preferences.workspaceService.promptUserOnDirtyWorkspace"});f&&C.default.system.deprecated(`Workspace Init: promptOnDirty (DEPRECATED) is ${f} - use finsemble.servicesConfig.workspace.promptUserOnDirtyWorkspace`);const{data:h={}}=await b.default.getValues([se,ae]);d.WorkspaceManager.promptUserOnDirtyWorkspace=null===(t=null!==(e=h[se])&&void 0!==e?e:f)||void 0===t||t,d.WorkspaceManager.autosave=!(d.WorkspaceManager.promptUserOnDirtyWorkspace||null!==(n=h[ae])&&void 0!==n&&n),d.WorkspaceManager.discardUnsavedChanges=null!==(r=h[ae])&&void 0!==r&&r;const p=await d.WorkspaceManager.getWorkspaceNames(i,!1);await y.default.save({topic:Y,key:w.WORKSPACE.ALL_WORKSPACES,value:p}),C.default.system.debug(`Workspace Init: workspaceNames are ${p}`);const g=Boolean(l.workspaces&&l.workspaces.length),m=p.length?[]:[oe],v=g?l.workspaces:m;d.WorkspaceManager.setWorkspaceConfig(v);for(const e of v.filter((e=>!p.includes(e.name))))await d.WorkspaceManager.importWorkspace(i,e).catch((t=>C.default.system.error("importWorkspace failed.",t,e)));await le.registerSearch(),await le.createRouterEndpoints(),await d.WorkspaceManager.doesActiveWorkspaceExist(i)&&await le.publishUpdate(i,X.LOAD_DATA_RETRIEVED).catch((e=>{C.default.system.warn("Inital publish failed",e)}));const S=await new Promise((e=>b.default.getPreferences(((t,n)=>e(n)))));C.default.system.debug("Workspace Init: initPref",S);const _=!await W.ConfigUtilInstance.getDefault(l,"finsemble.servicesConfig.workspace.disableDirtyShutdownCheck",!1)&&(await d.WorkspaceManager.wasLastShutdownDirty(i).catch((e=>C.default.system.error("wasLastShutdownDirty failed.",e)))||!1);C.default.system.debug("`Workspace Init: dirtyShutdown",_),await le.setupInitialWorkspace(i,S,_,v),C.default.system.log(T,"Finished initializing"),le.lifecycle="loading",await le.waitUntilRightStageToOpenInitialWorkspace(i),le.lifecycle="stable",await d.WorkspaceManager.setCleanShutdownFlag(i,!1).catch((e=>C.default.system.error("setCleanShutdownFlag failed.",e))),b.default.addListener({field:se},((e,t)=>{C.default.system.log("WorkspaceService new promptUserOnDirtyWorkspace config",t),d.WorkspaceManager.promptUserOnDirtyWorkspace=!!t.value})),b.default.addListener({field:ae},((e,t)=>{C.default.system.log("WorkspaceService new discardUnsavedChanges config",t),d.WorkspaceManager.autosave=!(d.WorkspaceManager.promptUserOnDirtyWorkspace||null!=t&&t)}))}}setReady(){le.workspaceServiceReady=!0}async cleanShutdown(){const e=ie("shuttingDown");le.lifecycle="shuttingDown",C.default.system.log(T,"Shutdown detected."),await d.WorkspaceManager.setCleanShutdownFlag(e,!0),C.default.system.log("Clean shutdown recorded in storage.")}doShutdown(){return new Promise((async e=>{const t=ie("doShutdown"),n=await d.WorkspaceManager.getActiveWorkspace(t).catch().catch((()=>{le.isResetRequested=!0,C.default.system.debug("No active workspace so must be shutting down after a reset operation")}));if(d.WorkspaceManager.promptUserOnDirtyWorkspace)if(le.scheduledCloseDiscardUnsavedChanges)await this.cleanShutdown(),e();else if(le.isResetRequested||d.WorkspaceManager.autosave||!await d.WorkspaceManager.isActiveWorkspaceDirty(t))await this.cleanShutdown(),e();else{const{data:r}=await b.default.getValue({field:"finsemble.shutdownTimeout"});let i=r-5e3;le.dialogManager.open("yesNo",{monitor:"primary",title:"Save your workspace?",question:`Would you like to save "${n.name}" before shutting down?`,showTimer:!0,timerDuration:i,negativeResponseLabel:"Don't Save",affirmativeResponseLabel:"Save",showCancelButton:!1},(async(n,r)=>{n||"expired"===r.choice?C.default.system.info("doShutdown timer expired so not invoking cleanShutdown"):"affirmative"===r.choice?(await le.saveWorkspace(t),await this.cleanShutdown()):await this.cleanShutdown(),e()}))}else d.WorkspaceManager.discardUnsavedChanges||await le.saveWorkspace(t),await this.cleanShutdown(),e()}))}static async waitUntilRightStageToOpenInitialWorkspace(e){_.default.waitForBootStage("earlyuser","stageCompleted",(async()=>{try{le.dialogManager=n(60434).default,le.dialogManager.initialize();let t=await d.WorkspaceManager.getActiveWorkspace(e);C.default.system.log(T,`Loading initial workspace ${t.name}`),await le.load(e,t.name,t).catch((e=>C.default.system.error("Initial workspace load caught underlying error: ",e)))}catch(e){C.default.system.error("initial workspace load failed",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Initial workspace load failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}}))}static async isMasterStorageReachable(e){let t=!0;return await d.WorkspaceManager.getLastUsedWorkspaceName(e).catch((e=>{C.default.system.error("isMasterStorageReachable failed.",e),t=!1})),t}static async setupInitialWorkspaceFromCacheStorage(e,t){let n=!0;return C.default.system.log(T,`Loading last active workspace "${t}"`),await d.WorkspaceManager.setActiveWorkspace(e,t,!0).catch((()=>n=!1)),n||g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed loading initial workspace due to systemic failure in storage.",{url:le.notificationURL}),n}static async setupInitialWorkspace(e,t,n,r){if(C.default.system.log(T,"Loading initial workspace",t,n?"dirty shutdown":"not dirty shutdown",r),n){const t=`${le.startupApp.name||"Finsemble"} was not shutdown properly. Attempting to load cached version of last active workspace.`;return C.default.system.warn(T,t),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL}),await le.setupInitialWorkspaceFromCacheStorage(e,K),K}let i=!1,o=!1,s=t[Z];if(s&&(C.default.system.log(T,`Loading user-specified default workspace "${s}"`),await d.WorkspaceManager.setActiveWorkspace(e,s).then((()=>i=!0)).catch((()=>{o=!0,g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed to load default workspace so will load alternate. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}))),o||i||(s=await d.WorkspaceManager.getLastUsedWorkspaceName(e).catch((e=>C.default.system.error("wasLastShutdownDirty failed.",e)))||"",s&&(C.default.system.log(T,`Loading last used workspace "${s}"`),await d.WorkspaceManager.setActiveWorkspace(e,s).then((()=>i=!0)).catch((()=>g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed to load last used workspace so will load alternate. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL}))))),!i)if(await d.WorkspaceManager.doesActiveWorkspaceExist(e)){const t=`${le.startupApp.name||"Finsemble"} could not load initial workspace from master storage so attempting to load from local cache`;C.default.system.warn(T,t),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL}),i=await le.setupInitialWorkspaceFromCacheStorage(e,K),s=K}else{C.default.system.log(T,`Loading first workspace in config "${r[0].name}"`);const t=r.find((e=>e.default));s=t?t.name:r[0].name,await d.WorkspaceManager.setActiveWorkspace(e,s).then((()=>i=!0)).catch((()=>g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Failed to load initial workspace so will load empty workspace.",{url:le.notificationURL})))}return i||(C.default.system.log(T,"Loading empty workspace"),await d.WorkspaceManager.addWorkspace(e,oe).catch((e=>C.default.system.error("Failed adding empty workspace",e))),await d.WorkspaceManager.setActiveWorkspace(e,oe.name).then((()=>i=!0)).catch((e=>C.default.system.error("Failed loading empty workspace",e)))),i||C.default.system.error(T,"Failed loading initial workspace due to systemic failure in storage."),await le.publishUpdate(e,X.LOAD_FINISHED),s}static async registerSearch(){const e={reason:"Out of Band-Search Provider"};function t(t,n,r){t.action&&t.item&&"Switch"===t.action.name&&le.handleSwitchTo(e,t.item.name).then((()=>r(null,"success"))).catch((e=>r(e)))}return new Promise((n=>{S.default.register({name:"Installed Workspaces",searchCallback:({text:t},n)=>d.WorkspaceManager.searchWorkspaces(e,t).then((e=>n(null,e))),itemActionCallback:t,providerActionCallback:()=>{}},n)}))}static addResponder(e,t,n){p.default.addResponder(e,(async(r,i)=>{const o=ie(e);if(r||!i)return void C.default.system.error(`Workspace Router.addResponder failure for ${e}`,r);const s=e=>{const t=e instanceof Error?e.toString():e;i.sendQueryResponse(t,null)};try{if(le.workspaceServiceReady||C.default.system.error("workspaceService invoked before ready",i),C.default.system.info(`TRACE-${re}-Handling response for ${e}. Lifecycle status: ${le.lifecycle}`),C.default.system.debug(`TRACE-${re}-Message data`,i),t&&"closing"===le.lifecycle){const e="Workspace is currently closing. Dropping request.";return C.default.system.log(e),void s(e)}if(e===P){const e=await n(o,i.data);i.sendQueryResponse(null,e)}else{const e=()=>n(o,i.data),t=await A(e);i.sendQueryResponse(null,t)}await le.publishUpdate(o,e)}catch(e){C.default.system.error(e),s(e)}}))}static async createRouterEndpoints(){const e=[["WorkspaceService.bringWindowsToFront",e=>le.handleBringWindowsToFront(e)],["WorkspaceService.minimizeAll",e=>le.handleMinimizeAll(e)],[B,d.WorkspaceManager.getActiveWorkspace],[G,(e,{workspaceName:t})=>d.WorkspaceManager.newWorkspace(e,t)],[M,(e,{workspaceName:t})=>t&&d.WorkspaceManager.exportWorkspace(e,t)],[F,(e,{workspaceJSONDefinition:t,force:n})=>Promise.all(Object.values(t).map((t=>d.WorkspaceManager.importWorkspace(e,t,n)))).then((e=>Object.keys(t).reduce(((t,n,r)=>(0,s.default)(t,n,e[r])),{})))],[D,le.saveWorkspace,ee],[N,(e,{name:t,force:n})=>le.saveWorkspaceAs(e,t,n),ee],[j,(e,{name:t})=>d.WorkspaceManager.removeWorkspace(e,t),ee],[P,le.handleSwitchTo],[$,(e,t)=>d.WorkspaceManager.setWorkspaceOrder(e,t.map((e=>e.name)))],[R,d.WorkspaceManager.getWorkspaces],[V,(e,{windowName:t,state:n})=>d.WorkspaceManager.setWindowState(e,t,n),ee],[q,(e,{windowName:t,stateVars:n})=>d.WorkspaceManager.getWindowState(e,t,n),ee],[U,d.WorkspaceManager.getWorkspaceNames],[H,d.WorkspaceManager.addWindowToWorkspace,ee],[z,(e,{name:t})=>d.WorkspaceManager.removeWindowFromWorkspace(e,t),ee],[x,(e,{oldName:t,newName:n})=>d.WorkspaceManager.renameWorkspace(e,n,t)],[I,e=>d.WorkspaceManager.isActiveWorkspaceDirty(e)]];for(const[t,n,r]of e)this.addResponder(t,r,n);let t=!0;p.default.subscribe(w.DOCKING.GROUP_UPDATE,((e,n)=>A((()=>(async(e,{data:{groupData:n}})=>{if(t)return void(t=!1);const r=ie(w.DOCKING.GROUP_UPDATE);"closing"!==le.lifecycle?n&&(C.default.system.info(`TRACE-${re}-Received publish from docking, updating groups`),await d.WorkspaceManager.setGroupData(r,n),await le.publishUpdate(r,w.DOCKING.GROUP_UPDATE)):C.default.system.debug(`TRACE-${re}-Received publish from docking while closing the workspace. Dropping request.`)})(0,n))))),p.default.addListener("Application.restart",((e,t)=>{t.data&&!0===t.data.forceRestart&&(this.isResetRequested=!0),t.data&&!0===t.data.scheduledCloseDiscardUnsavedChanges&&(this.scheduledCloseDiscardUnsavedChanges=!0)})),p.default.addListener("Application.shutdown",((e,t)=>{t.data&&!0===t.data.scheduledCloseDiscardUnsavedChanges&&(this.scheduledCloseDiscardUnsavedChanges=!0)}))}static async publishUpdate(e,t){try{const n=te[t]||t,i=await d.WorkspaceManager.getActiveWorkspace(e),o=(await d.WorkspaceManager.getWorkspaces(e)).map((e=>r(e,[]))),s={activeWorkspace:i,workspaces:await d.WorkspaceManager.getWorkspaceNames(e),groups:i.groups,reason:n,workspacesConfig:o};if((0,h.isEqualIgnoringArrayOrder)(s,le.cachedWorkspaceState))return void C.default.system.debug(T,"No changes detected, skipping publish.",s,t);le.cachedWorkspaceState=s,p.default.publish(J,s)}catch(e){C.default.system.debug("publishUpdate caught error",e)}}static shouldStopSwitch(){return le.cleaningOutstandingSpawns||null!==le.queuedSwitchRequest}static waitForIdleSpawnQueue(){return new Promise((async e=>{let t=!1;const n=setTimeout((()=>{C.default.system.error(`${le.limitedSpawningQueue.pending} windows did not finish loading. Forcing Workspace close completion.`),t=!0,e()}),15e3);await le.limitedSpawningQueue.onIdle(),t||(clearTimeout(n),e())}))}static async saveWorkspace(e){try{await le.eventManager.trigger("save-requested");const t=await le.alertWindowLoadingDuringSave();await d.WorkspaceManager.saveActiveWorkspace(e),t&&await le.eventManager.trigger("save-complete")}catch(e){const t="Workspace save failed. Could not write workspace data to storage. Internet connectivity may be down.";await le.eventManager.trigger("save-failed",{error:t}),C.default.system.error("saveWorkspace failed error",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL})}}static async saveWorkspaceAs(e,t,n){try{await le.eventManager.trigger("save-requested");const r=await le.alertWindowLoadingDuringSave();await d.WorkspaceManager.saveActiveWorkspaceAs(e,t,n),r&&await le.eventManager.trigger("save-complete")}catch(e){const t="Workspace save failed. Could not write workspace data to storage. Internet connectivity may be down.";await le.eventManager.trigger("save-failed",{error:t}),C.default.system.error("saveWorkspaceAs failed error",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error",t,{url:le.notificationURL})}}static async handleSwitchTo(e,t){C.default.system.log("switch-trace handleSwitchTo",le.lifecycle,t,"queued flag",le.queuedSwitchRequest,le.cleaningOutstandingSpawns);const n="string"!=typeof t?t.name:t;if(le.limitedSpawningQueue&&(le.limitedSpawningQueue.size||le.limitedSpawningQueue.pending)&&(le.cleaningOutstandingSpawns=!0,C.default.system.log(`switch-trace CLEARING limitedSpawningQueue Queue with ${le.limitedSpawningQueue.pending} pending`),le.limitedSpawningQueue.clear(),await le.waitForIdleSpawnQueue(),C.default.system.log("switch-trace CLEARING limitedSpawningQueue -- now onIdle"),le.cleaningOutstandingSpawns=!1),"stable"===le.lifecycle){le.lifecycle="switching";try{await le.publishUpdate(e,X.LOAD_STARTED),await le.coreSwitchTo(e,t)}catch(e){"Close was canceled"==e?(C.default.system.log("handleSwitchTo: Workspace close was canceled."),await le.eventManager.trigger("close-canceled")):(C.default.system.error("handleSwitchTo: switch caught underlying error probably due to storage or internet failure",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Workspace switch failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL}))}if(le.lifecycle="stable",C.default.system.log("switch-trace coreSwitchTo set to stable"),le.queuedSwitchRequest){C.default.system.log("switch-trace processing pending",le.lifecycle,t);const n=le.queuedSwitchRequest;le.queuedSwitchRequest=null,await le.handleSwitchTo(e,n)}await le.publishUpdate(e,X.LOAD_FINISHED)}else C.default.system.log("switch-trace queued",le.lifecycle,t),le.queuedSwitchRequest=n}static sleep(e){return new Promise((t=>setTimeout(t,e)))}static async coreSwitchTo(e,t){let n,r;const i="string"!=typeof t?t.name:t;if(C.default.system.log(T,`Switching to workspace "${i}"`),!await le.isMasterStorageReachable(e))throw C.default.system.error("switch-trace coreSwitchTo failed for getLastUsedWorkspaceName"),new Error("Switch failed because master storage was not available");try{C.default.system.log("switch-trace coreSwitchTo before close"),le.lifecycle="closing",r=await le.close(e),C.default.system.log("switch-trace coreSwitchTo after close")}catch(e){if("event was canceled"===e)throw"Close was canceled";C.default.system.error("switch-trace coreSwitchTo close failed",e),g.default.alert("user","ALWAYS","FSBL-WorkspaceSwitch-Failure",le.closeWorkspaceTimeoutMessage.concat(" Could not read workspace data from storage. Internet connectivity may be down."),{url:le.notificationURL}),r=!1}const o=r?i:await d.WorkspaceManager.addWorkspace(e,oe);if(le.shouldStopSwitch())C.default.system.log("switch-trace coreSwitchTo skipped since pending request",le.lifecycle,t);else try{n=await d.WorkspaceManager.setActiveWorkspace(e,o),await le.publishUpdate(e,X.LOAD_DATA_RETRIEVED),le.lifecycle="loading",le.load(e,o,n).catch((e=>{C.default.system.error("switch-trace coreSwitchTo load failed",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Workspace load failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}))}catch(e){C.default.system.error("switch-trace coreSwitchTo switch failed",e),g.default.alert("dev","ALWAYS","FSBL-Internal-Workspace-Error","Workspace load failed. Could not read workspace data from storage. Internet connectivity may be down.",{url:le.notificationURL})}return await this.sleep(2e3),{data:n}}static async removeSystemClosedHandlers(e){for(let t=0;t<e.length;t++){const n=e[t];if(!(0,o.default)(n,"isEvergreen",!1))try{const{wrap:e}=await f.FinsembleWindow.getInstance({windowName:n.name,waitForReady:!1});e.removeEventListener("system-closed",e._systemClosed)}catch(e){C.default.system.error("switch-trace. Wrap failed. Trying to remove system-closed listener for window",n.name,e)}}}static async close(e){C.default.system.log(T,"Closing active workspace.");const{data:t}=await(0,L.deprecatedGetActiveAndPendingWindowNames)(p.default);let n=[];const r=await d.WorkspaceManager.getActiveWorkspace(e);await le.eventManager.trigger("close-requested",r);const i=r.windows;try{n=await d.WorkspaceManager.getManyStates("windowData",i)}catch(e){C.default.system.error("Error retrieving list of windows to close.",e)}const o=n.filter((e=>null==t?void 0:t.includes(e.name)));if(C.default.system.log("switch-trace workspaceService.close windows",o,"activeAndPendingWindows",t,"workspaceWindows",n),!o.length)return await le.eventManager.trigger("close-complete"),C.default.system.log(T,"Finished closing active workspace."),!0;await le.removeSystemClosedHandlers(o);let s=!1;const a=le.closeWorkspaceTimeout;let l=[...o];try{const t=async t=>new Promise((async n=>{C.default.system.log(T,`Closing window ${t.name}`);try{const{wrap:r}=await f.FinsembleWindow.getInstance({windowName:t.name,waitForReady:!1});C.default.system.log(`switch-trace closing ${t.name}`);const i=e=>{e&&C.default.system.error(e),l=l.filter((e=>e!==t)),C.default.system.log(`switch-trace finished closing window ${t.name}`,e,l),C.default.system.log(T,`finished closing window ${t.name}`),n()};t.isEvergreen?(C.default.system.verbose("Window is evergreen. Hiding",t.name,t),r.parentWindow&&await r.parentWindow.removeWindow({windowIdentifier:r.identifier,noCloseStack:!0}),r.hide({},i)):(C.default.system.verbose("Window is not evergreen. Closing",t.name,t),r.close({removeFromWorkspace:!1,ignoreParent:!0,trace:e},i))}catch(e){C.default.system.error("switch-trace close window",e),n()}})),n=new Promise((async e=>{const n=o.filter(h.isStackedWindow),r=o.filter(O);await Promise.all(r.map(t)),await Promise.all(n.map(t)),e()}));await(0,h.wrapWithTimeout)(n,a,`Attempt to close workspace windows timed out after ${a} ms. Please Reload Your Workspace. Remaining windows:`),s=!0,await le.eventManager.trigger("close-complete")}catch(e){C.default.system.error(e,l),await le.eventManager.trigger("close-failed",{error:e,data:l}),g.default.alert("user","ALWAYS","FSBL-WorkspaceSwitch-Failure",le.closeWorkspaceTimeoutMessage,{})}return C.default.system.log(T,"Finished closing active workspace."),s}static async spawn({name:e,win:t,groupData:n,windowsWhichAreChildrenOfAStack:r,windowsInError:i}){const s=(0,o.default)(t,"customData.component.type",t.componentType);C.default.system.debug(T,"Launching component",t.name),r.includes(t.name)&&(t.autoShow=!1);const a={spawnedByWorkspaceService:!0,addToWorkspace:!1,options:t,height:t.height,width:t.width,top:t.top,left:t.left};if(n)for(const e in n)if(n[e].windowNames.includes(t.name)&&n[e].isMovable){a.forceOntoMonitor=!1,a.isInExistingGroup=!0;break}try{if(le.shouldStopSwitch())return void C.default.system.log(`switch-trace spawnPromise cleared for ${t.name} since pending request`);if(C.default.system.log(`switch-trace spawnPromise for ${t.name}`),await v.default.spawn(s,a),t.isEvergreen){const n=await d.WorkspaceManager.getManyStates("componentState",[t.name],e);p.default.transmit("LinkerService-Event-component-state-changed",{windowName:t.name,Finsemble_Linker:n.length>0&&n[0].Finsemble_Linker?n[0].Finsemble_Linker:null});const{wrap:r}=await f.FinsembleWindow.getInstance({windowName:t.name,waitForReady:!0});await p.default.query("DockingService.registerWindow",{name:t.name},(()=>{})),await p.default.query("WindowService-Request-componentStateChanged",{windowIdentifier:r.identifier,componentState:n},(()=>{}))}}catch(e){C.default.system.error(`switch-trace spawnPromise error for ${t.name}`,e),i.push(t.name)}}static async spawnWorkspace(e,t){const n=await d.WorkspaceManager.getManyStates("windowData",t.windows),r=n.filter(h.isStackedWindow),i=n.filter(O),o=[],s=r.map((e=>{var t;return null===(t=e.childWindowIdentifiers)||void 0===t?void 0:t.map((e=>e.windowName))}));i.forEach((e=>{const{name:t}=e;s.forEach((e=>{!0===(null==e?void 0:e.includes(t))&&o.push(t)}))}));const a=[];C.default.system.log("switch-trace load limitedSpawningQueue allocated",e),le.limitedSpawningQueue=new u.default({concurrency:le.concurrentSpawnLimit});try{const n=setTimeout((()=>{clearTimeout(n),C.default.system.warn("WARNING: Workspace is taking a long time to load. Some components may have returned an error when spawning",a),le.eventManager.trigger("load-failed",{error:"Workspace Load Failed. Some Workspace Components are taking too long to load",data:a})}),6e4);C.default.system.debug(T,"Launching component spawnNotStacks",i);const s=i.map((n=>le.limitedSpawningQueue.add((()=>le.spawn({name:e,win:n,groupData:t.groups,windowsWhichAreChildrenOfAStack:o,windowsInError:a})))));if(await Promise.all(s),le.shouldStopSwitch())clearTimeout(n),await le.eventManager.trigger("load-interrupted"),C.default.system.debug(T,"bypassing the launching of spawnStacks since prematurely terminated",r);else{C.default.system.debug(T,"Launching component spawnStacks",r);const i=r.map((n=>le.limitedSpawningQueue.add((()=>le.spawn({name:e,win:n,groupData:t.groups,windowsWhichAreChildrenOfAStack:o,windowsInError:a})))));await Promise.all(i),clearTimeout(n),await le.eventManager.trigger("load-complete")}}catch(t){C.default.system.error(`Workspace ${e} load: ${t}`)}}static async load(e,t,n){C.default.system.log(T,`Loading workspace "${t}"`),C.default.system.log("switch-trace load",t);let r=(0,l.default)(n);delete r.componentState;const i=await le.eventManager.trigger("load-requested",r);if(i){for(const e of i)e&&(n=(0,E.default)(n,e));d.WorkspaceManager.updateActiveWorkspace(e,(()=>n))}if(p.default.transmit("Launcher.resetSpawnStagger",{}),r.windows.length)return await le.spawnWorkspace(t,r),d.WorkspaceManager.saveLastUsedWorkspaceName(e,d.WorkspaceManager.cachedActiveWorkspaceName),await le.publishUpdate(e,X.LOAD_FINISHED),C.default.system.log(T,"Finished loading workspace"),!0;try{await le.publishUpdate(e,X.LOAD_FINISHED),await le.eventManager.trigger("load-complete")}catch(e){C.default.system.error("Windows have been closed and the new workspace has been loaded but a problem was encountered updating the service with new status",e)}}static async handleBringWindowsToFront(e){const t=(await d.WorkspaceManager.getActiveWorkspace(e)).windows;return new Promise((e=>{v.default.bringWindowsToFront({windowList:t},e)}))}static async handleMinimizeAll(e){const t=(await d.WorkspaceManager.getActiveWorkspace(e)).windows;return new Promise((e=>{v.default.minimizeWindows({windowList:t},e)}))}static async alertWindowLoadingDuringSave(){const{err:e,response:t}=await p.default.query("Launcher.getPendingWindows",{});if(e&&C.default.system.error("Unable to establish that all windows had finished loading udring save operation. Some windows may not ahve been saved.",e),t&&t.data){let e=t.data;const n=Object.keys(e).filter((t=>e[t].addToWorkspace)).join("\n ");if(n){C.default.system.log(`The workspace was saved before all windows finished loading. The following windows were not saved in the workspace: \n ${n}`);const e="Some windows were not saved. To avoid losing data, please wait for all components to load completely before saving a workspace.";return g.default.alert("user","ALWAYS","FSBL-WorkspaceSave-LoadWarning",e,{}),await le.eventManager.trigger("save-failed",{error:`Workspace Save Failed. ${e}`,data:n}),!1}return!0}}}le.workspaceServiceReady=!1,le.eventManager=new k.default({name:"workspaceClient",sourceType:"Workspace"}),le.queuedSwitchRequest=null,le.cleaningOutstandingSpawns=!1;const ce=new le({name:"workspaceService",startupDependencies:{clients:["launcherClient"]}});ce.onBaseServiceReady((async e=>{await _.default.waitForStartup("assimilationService"),await _.default.waitForStartup("windowService"),ce.initialize().then(e),ce.setReady()})),ce.start()},10600:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},57746:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},24508:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},74443:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46888:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95281:(e,t)=>{"use strict";var n,r,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ChannelError=t.ResolveError=t.OpenError=void 0,(i=t.OpenError||(t.OpenError={})).AppNotFound="AppNotFound",i.ErrorOnLaunch="ErrorOnLaunch",i.AppTimeout="AppTimeout",i.ResolverUnavailable="ResolverUnavailable",(r=t.ResolveError||(t.ResolveError={})).NoAppsFound="NoAppsFound",r.ResolverUnavailable="ResolverUnavailable",r.ResolverTimeout="ResolverTimeout",(n=t.ChannelError||(t.ChannelError={})).NoChannelFound="NoChannelFound",n.AccessDenied="AccessDenied",n.CreationFailed="CreationFailed"},14414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},56911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},27154:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22225:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},896:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ContextTypes=void 0,(n=t.ContextTypes||(t.ContextTypes={})).Contact="fdc3.contact",n.ContactList="fdc3.contactList",n.Country="fdc3.country",n.Instrument="fdc3.instrument",n.Organization="fdc3.organization",n.Portfolio="fdc3.portfolio",n.Position="fdc3.position"},80976:(e,t)=>{"use strict";function n(e,t,n=""){if(n)throw Error(`Invalid value for key "${n}". Expected type ${JSON.stringify(e)} but got ${JSON.stringify(t)}`);throw Error(`Invalid value ${JSON.stringify(t)} for type ${JSON.stringify(e)}`)}function r(e){if(void 0===e.jsonToJS){const t={};e.props.forEach((e=>t[e.json]={key:e.js,typ:e.typ})),e.jsonToJS=t}return e.jsonToJS}function i(e){if(void 0===e.jsToJSON){const t={};e.props.forEach((e=>t[e.js]={key:e.json,typ:e.typ})),e.jsToJSON=t}return e.jsToJSON}function o(e,t,r,i=""){if("any"===t)return e;if(null===t)return null===e?e:n(t,e);if(!1===t)return n(t,e);for(;"object"==typeof t&&void 0!==t.ref;)t=h[t.ref];return Array.isArray(t)?function(e,t){return-1!==e.indexOf(t)?t:n(e,t)}(t,e):"object"==typeof t?t.hasOwnProperty("unionMembers")?function(e,t){const i=e.length;for(let n=0;n<i;n++){const i=e[n];try{return o(t,i,r)}catch(e){}}return n(e,t)}(t.unionMembers,e):t.hasOwnProperty("arrayItems")?function(e,t){return Array.isArray(t)?t.map((t=>o(t,e,r))):n("array",t)}(t.arrayItems,e):t.hasOwnProperty("props")?function(e,t,i){if(null===i||"object"!=typeof i||Array.isArray(i))return n("object",i);const s={};return Object.getOwnPropertyNames(e).forEach((t=>{const n=e[t],a=Object.prototype.hasOwnProperty.call(i,t)?i[t]:void 0;s[n.key]=o(a,n.typ,r,n.key)})),Object.getOwnPropertyNames(i).forEach((n=>{Object.prototype.hasOwnProperty.call(e,n)||(s[n]=o(i[n],t,r,n))})),s}(r(t),t.additional,e):n(t,e):t===Date&&"number"!=typeof e?function(e){if(null===e)return null;const t=new Date(e);return isNaN(t.valueOf())?n("Date",e):t}(e):function(e,t){return typeof e==typeof t?t:n(e,t,i)}(t,e)}function s(e,t){return o(e,t,r)}function a(e,t){return o(e,t,i)}function l(e){return{arrayItems:e}}function c(...e){return{unionMembers:e}}function u(e,t){return{props:e,additional:t}}function d(e){return{props:[],additional:e}}function f(e){return{ref:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Convert=void 0,t.Convert=class{static toContext(e){return s(JSON.parse(e),f("Context"))}static contextToJson(e){return JSON.stringify(a(e,f("Context")),null,2)}static toContact(e){return s(JSON.parse(e),f("Contact"))}static contactToJson(e){return JSON.stringify(a(e,f("Contact")),null,2)}static toContactList(e){return s(JSON.parse(e),f("ContactList"))}static contactListToJson(e){return JSON.stringify(a(e,f("ContactList")),null,2)}static toInstrument(e){return s(JSON.parse(e),f("Instrument"))}static instrumentToJson(e){return JSON.stringify(a(e,f("Instrument")),null,2)}static toInstrumentList(e){return s(JSON.parse(e),f("InstrumentList"))}static instrumentListToJson(e){return JSON.stringify(a(e,f("InstrumentList")),null,2)}static toCountry(e){return s(JSON.parse(e),f("Country"))}static countryToJson(e){return JSON.stringify(a(e,f("Country")),null,2)}static toOrganization(e){return s(JSON.parse(e),f("Organization"))}static organizationToJson(e){return JSON.stringify(a(e,f("Organization")),null,2)}static toPortfolio(e){return s(JSON.parse(e),f("Portfolio"))}static portfolioToJson(e){return JSON.stringify(a(e,f("Portfolio")),null,2)}static toPosition(e){return s(JSON.parse(e),f("Position"))}static positionToJson(e){return JSON.stringify(a(e,f("Position")),null,2)}};const h={Context:u([{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")},{json:"type",js:"type",typ:""}],"any"),ContactList:u([{json:"contacts",js:"contacts",typ:l(f("Contact"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Contact:u([{json:"id",js:"id",typ:f("ContactID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),ContactID:u([{json:"email",js:"email",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")}],""),InstrumentList:u([{json:"instruments",js:"instruments",typ:l(f("Instrument"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Instrument:u([{json:"id",js:"id",typ:f("InstrumentID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),InstrumentID:u([{json:"BBG",js:"BBG",typ:c(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"FIGI",js:"FIGI",typ:c(void 0,"")},{json:"ISIN",js:"ISIN",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")},{json:"RIC",js:"RIC",typ:c(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:c(void 0,"")},{json:"ticker",js:"ticker",typ:c(void 0,"")}],""),Country:u([{json:"id",js:"id",typ:f("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),CountryID:u([{json:"ISOALPHA2",js:"ISOALPHA2",typ:c(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:c(void 0,"")}],""),Organization:u([{json:"id",js:"id",typ:f("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),OrganizationID:u([{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"LEI",js:"LEI",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")}],""),Portfolio:u([{json:"positions",js:"positions",typ:l(f("Position"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Position:u([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:f("Instrument")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any")}},63250:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),i(n(10600),t),i(n(57746),t),i(n(24508),t),i(n(22225),t),i(n(74443),t),i(n(46888),t),i(n(95281),t),i(n(56911),t),i(n(27154),t),i(n(86414),t),i(n(14414),t),i(n(896),t),i(n(80976),t),i(n(59579),t)},59579:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Intents=void 0,(n=t.Intents||(t.Intents={})).StartCall="StartCall",n.StartChat="StartChat",n.ViewChart="ViewChart",n.ViewContact="ViewContact",n.ViewQuote="ViewQuote",n.ViewNews="ViewNews",n.ViewInstrument="ViewInstrument",n.ViewAnalysis="ViewAnalysis"},21614:(e,t,n)=>{"use strict";var r;n.r(t),n.d(t,{NIL:()=>O,parse:()=>m,stringify:()=>u,v1:()=>g,v3:()=>W,v4:()=>E,v5:()=>T,validate:()=>a,version:()=>I});var i=new Uint8Array(16);function o(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(i)}const s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,a=function(e){return"string"==typeof e&&s.test(e)};for(var l=[],c=0;c<256;++c)l.push((c+256).toString(16).substr(1));const u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n};var d,f,h=0,p=0;const g=function(e,t,n){var r=t&&n||0,i=t||new Array(16),s=(e=e||{}).node||d,a=void 0!==e.clockseq?e.clockseq:f;if(null==s||null==a){var l=e.random||(e.rng||o)();null==s&&(s=d=[1|l[0],l[1],l[2],l[3],l[4],l[5]]),null==a&&(a=f=16383&(l[6]<<8|l[7]))}var c=void 0!==e.msecs?e.msecs:Date.now(),g=void 0!==e.nsecs?e.nsecs:p+1,m=c-h+(g-p)/1e4;if(m<0&&void 0===e.clockseq&&(a=a+1&16383),(m<0||c>h)&&void 0===e.nsecs&&(g=0),g>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=c,p=g,f=a;var w=(1e4*(268435455&(c+=122192928e5))+g)%4294967296;i[r++]=w>>>24&255,i[r++]=w>>>16&255,i[r++]=w>>>8&255,i[r++]=255&w;var v=c/4294967296*1e4&268435455;i[r++]=v>>>8&255,i[r++]=255&v,i[r++]=v>>>24&15|16,i[r++]=v>>>16&255,i[r++]=a>>>8|128,i[r++]=255&a;for(var y=0;y<6;++y)i[r+y]=s[y];return t||u(i)},m=function(e){if(!a(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};function w(e,t,n){function r(e,r,i,o){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=m(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var s=new Uint8Array(16+e.length);if(s.set(r),s.set(e,r.length),(s=n(s))[6]=15&s[6]|t,s[8]=63&s[8]|128,i){o=o||0;for(var a=0;a<16;++a)i[o+a]=s[a];return i}return u(s)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r}function v(e){return 14+(e+64>>>9<<4)+1}function y(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function b(e,t,n,r,i,o){return y((s=y(y(t,e),y(r,o)))<<(a=i)|s>>>32-a,n);var s,a}function S(e,t,n,r,i,o,s){return b(t&n|~t&r,e,t,i,o,s)}function C(e,t,n,r,i,o,s){return b(t&r|n&~r,e,t,i,o,s)}function _(e,t,n,r,i,o,s){return b(t^n^r,e,t,i,o,s)}function k(e,t,n,r,i,o,s){return b(n^(t|~r),e,t,i,o,s)}const W=w("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",i=0;i<n;i+=8){var o=e[i>>5]>>>i%32&255,s=parseInt(r.charAt(o>>>4&15)+r.charAt(15&o),16);t.push(s)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[v(t)-1]=t;for(var n=1732584193,r=-271733879,i=-1732584194,o=271733878,s=0;s<e.length;s+=16){var a=n,l=r,c=i,u=o;n=S(n,r,i,o,e[s],7,-680876936),o=S(o,n,r,i,e[s+1],12,-389564586),i=S(i,o,n,r,e[s+2],17,606105819),r=S(r,i,o,n,e[s+3],22,-1044525330),n=S(n,r,i,o,e[s+4],7,-176418897),o=S(o,n,r,i,e[s+5],12,1200080426),i=S(i,o,n,r,e[s+6],17,-1473231341),r=S(r,i,o,n,e[s+7],22,-45705983),n=S(n,r,i,o,e[s+8],7,1770035416),o=S(o,n,r,i,e[s+9],12,-1958414417),i=S(i,o,n,r,e[s+10],17,-42063),r=S(r,i,o,n,e[s+11],22,-1990404162),n=S(n,r,i,o,e[s+12],7,1804603682),o=S(o,n,r,i,e[s+13],12,-40341101),i=S(i,o,n,r,e[s+14],17,-1502002290),n=C(n,r=S(r,i,o,n,e[s+15],22,1236535329),i,o,e[s+1],5,-165796510),o=C(o,n,r,i,e[s+6],9,-1069501632),i=C(i,o,n,r,e[s+11],14,643717713),r=C(r,i,o,n,e[s],20,-373897302),n=C(n,r,i,o,e[s+5],5,-701558691),o=C(o,n,r,i,e[s+10],9,38016083),i=C(i,o,n,r,e[s+15],14,-660478335),r=C(r,i,o,n,e[s+4],20,-405537848),n=C(n,r,i,o,e[s+9],5,568446438),o=C(o,n,r,i,e[s+14],9,-1019803690),i=C(i,o,n,r,e[s+3],14,-187363961),r=C(r,i,o,n,e[s+8],20,1163531501),n=C(n,r,i,o,e[s+13],5,-1444681467),o=C(o,n,r,i,e[s+2],9,-51403784),i=C(i,o,n,r,e[s+7],14,1735328473),n=_(n,r=C(r,i,o,n,e[s+12],20,-1926607734),i,o,e[s+5],4,-378558),o=_(o,n,r,i,e[s+8],11,-2022574463),i=_(i,o,n,r,e[s+11],16,1839030562),r=_(r,i,o,n,e[s+14],23,-35309556),n=_(n,r,i,o,e[s+1],4,-1530992060),o=_(o,n,r,i,e[s+4],11,1272893353),i=_(i,o,n,r,e[s+7],16,-155497632),r=_(r,i,o,n,e[s+10],23,-1094730640),n=_(n,r,i,o,e[s+13],4,681279174),o=_(o,n,r,i,e[s],11,-358537222),i=_(i,o,n,r,e[s+3],16,-722521979),r=_(r,i,o,n,e[s+6],23,76029189),n=_(n,r,i,o,e[s+9],4,-640364487),o=_(o,n,r,i,e[s+12],11,-421815835),i=_(i,o,n,r,e[s+15],16,530742520),n=k(n,r=_(r,i,o,n,e[s+2],23,-995338651),i,o,e[s],6,-198630844),o=k(o,n,r,i,e[s+7],10,1126891415),i=k(i,o,n,r,e[s+14],15,-1416354905),r=k(r,i,o,n,e[s+5],21,-57434055),n=k(n,r,i,o,e[s+12],6,1700485571),o=k(o,n,r,i,e[s+3],10,-1894986606),i=k(i,o,n,r,e[s+10],15,-1051523),r=k(r,i,o,n,e[s+1],21,-2054922799),n=k(n,r,i,o,e[s+8],6,1873313359),o=k(o,n,r,i,e[s+15],10,-30611744),i=k(i,o,n,r,e[s+6],15,-1560198380),r=k(r,i,o,n,e[s+13],21,1309151649),n=k(n,r,i,o,e[s+4],6,-145523070),o=k(o,n,r,i,e[s+11],10,-1120210379),i=k(i,o,n,r,e[s+2],15,718787259),r=k(r,i,o,n,e[s+9],21,-343485551),n=y(n,a),r=y(r,l),i=y(i,c),o=y(o,u)}return[n,r,i,o]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(v(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))})),E=function(e,t,n){var r=(e=e||{}).random||(e.rng||o)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return u(r)};function L(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function A(e,t){return e<<t|e>>>32-t}const T=w("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var i=0;i<r.length;++i)e.push(r.charCodeAt(i))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var o=e.length/4+2,s=Math.ceil(o/16),a=new Array(s),l=0;l<s;++l){for(var c=new Uint32Array(16),u=0;u<16;++u)c[u]=e[64*l+4*u]<<24|e[64*l+4*u+1]<<16|e[64*l+4*u+2]<<8|e[64*l+4*u+3];a[l]=c}a[s-1][14]=8*(e.length-1)/Math.pow(2,32),a[s-1][14]=Math.floor(a[s-1][14]),a[s-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<s;++d){for(var f=new Uint32Array(80),h=0;h<16;++h)f[h]=a[d][h];for(var p=16;p<80;++p)f[p]=A(f[p-3]^f[p-8]^f[p-14]^f[p-16],1);for(var g=n[0],m=n[1],w=n[2],v=n[3],y=n[4],b=0;b<80;++b){var S=Math.floor(b/20),C=A(g,5)+L(S,m,w,v)+y+t[S]+f[b]>>>0;y=v,v=w,w=A(m,30)>>>0,m=g,g=C}n[0]=n[0]+g>>>0,n[1]=n[1]+m>>>0,n[2]=n[2]+w>>>0,n[3]=n[3]+v>>>0,n[4]=n[4]+y>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]})),O="00000000-0000-0000-0000-000000000000",I=function(e){if(!a(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},1641:(e,t,n)=>{"use strict";function r(e,...t){return(...n)=>e(...t,...n)}function i(e){return function(...t){var n=t.pop();return e.call(this,t,n)}}n.r(t),n.d(t,{default:()=>pt,apply:()=>r,applyEach:()=>O,applyEachSeries:()=>M,asyncify:()=>d,auto:()=>P,autoInject:()=>B,cargo:()=>q,cargoQueue:()=>H,compose:()=>Q,concat:()=>Z,concatLimit:()=>J,concatSeries:()=>X,constant:()=>ee,detect:()=>ne,detectLimit:()=>re,detectSeries:()=>ie,dir:()=>se,doUntil:()=>le,doWhilst:()=>ae,each:()=>ue,eachLimit:()=>de,eachOf:()=>A,eachOfLimit:()=>W,eachOfSeries:()=>I,eachSeries:()=>fe,ensureAsync:()=>he,every:()=>pe,everyLimit:()=>ge,everySeries:()=>me,filter:()=>be,filterLimit:()=>Se,filterSeries:()=>Ce,forever:()=>_e,groupBy:()=>We,groupByLimit:()=>ke,groupBySeries:()=>Ee,log:()=>Le,map:()=>T,mapLimit:()=>Y,mapSeries:()=>R,mapValues:()=>Te,mapValuesLimit:()=>Ae,mapValuesSeries:()=>Oe,memoize:()=>Ie,nextTick:()=>Re,parallel:()=>Ne,parallelLimit:()=>De,priorityQueue:()=>$e,queue:()=>Pe,race:()=>Be,reduce:()=>z,reduceRight:()=>Ue,reflect:()=>Ge,reflectAll:()=>Ve,reject:()=>He,rejectLimit:()=>ze,rejectSeries:()=>Ke,retry:()=>Ye,retryable:()=>Ze,seq:()=>K,series:()=>Xe,setImmediate:()=>u,some:()=>et,someLimit:()=>tt,someSeries:()=>nt,sortBy:()=>rt,timeout:()=>it,times:()=>st,timesLimit:()=>ot,timesSeries:()=>at,transform:()=>lt,tryEach:()=>ct,unmemoize:()=>ut,until:()=>ft,waterfall:()=>ht,whilst:()=>dt,all:()=>pe,allLimit:()=>ge,allSeries:()=>me,any:()=>et,anyLimit:()=>tt,anySeries:()=>nt,find:()=>ne,findLimit:()=>re,findSeries:()=>ie,flatMap:()=>Z,flatMapLimit:()=>J,flatMapSeries:()=>X,forEach:()=>ue,forEachSeries:()=>fe,forEachLimit:()=>de,forEachOf:()=>A,forEachOfSeries:()=>I,forEachOfLimit:()=>W,inject:()=>z,foldl:()=>z,foldr:()=>Ue,select:()=>be,selectLimit:()=>Se,selectSeries:()=>Ce,wrapSync:()=>d,during:()=>dt,doDuring:()=>ae});var o="function"==typeof queueMicrotask&&queueMicrotask,s="function"==typeof setImmediate&&setImmediate,a="object"==typeof process&&"function"==typeof process.nextTick;function l(e){setTimeout(e,0)}function c(e){return(t,...n)=>e((()=>t(...n)))}var u=c(o?queueMicrotask:s?setImmediate:a?process.nextTick:l);function d(e){return p(e)?function(...t){const n=t.pop();return f(e.apply(this,t),n)}:i((function(t,n){var r;try{r=e.apply(this,t)}catch(e){return n(e)}if(r&&"function"==typeof r.then)return f(r,n);n(null,r)}))}function f(e,t){return e.then((e=>{h(t,null,e)}),(e=>{h(t,e&&e.message?e:new Error(e))}))}function h(e,t,n){try{e(t,n)}catch(e){u((e=>{throw e}),e)}}function p(e){return"AsyncFunction"===e[Symbol.toStringTag]}function g(e){if("function"!=typeof e)throw new Error("expected a function");return p(e)?d(e):e}function m(e,t=e.length){if(!t)throw new Error("arity is undefined");return function(...n){return"function"==typeof n[t-1]?e.apply(this,n):new Promise(((r,i)=>{n[t-1]=(e,...t)=>{if(e)return i(e);r(t.length>1?t:t[0])},e.apply(this,n)}))}}function w(e){return function(t,...n){return m((function(r){var i=this;return e(t,((e,t)=>{g(e).apply(i,n.concat(t))}),r)}))}}function v(e,t,n,r){t=t||[];var i=[],o=0,s=g(n);return e(t,((e,t,n)=>{var r=o++;s(e,((e,t)=>{i[r]=t,n(e)}))}),(e=>{r(e,i)}))}function y(e){return e&&"number"==typeof e.length&&e.length>=0&&e.length%1==0}const b={};function S(e){function t(...t){if(null!==e){var n=e;e=null,n.apply(this,t)}}return Object.assign(t,e),t}function C(e){return function(...t){if(null===e)throw new Error("Callback was already called.");var n=e;e=null,n.apply(this,t)}}function _(e,t,n,r){let i=!1,o=!1,s=!1,a=0,l=0;function c(){a>=t||s||i||(s=!0,e.next().then((({value:e,done:t})=>{if(!o&&!i){if(s=!1,t)return i=!0,void(a<=0&&r(null));a++,n(e,l,u),l++,c()}})).catch(d))}function u(e,t){if(a-=1,!o)return e?d(e):!1===e?(i=!0,void(o=!0)):t===b||i&&a<=0?(i=!0,r(null)):void c()}function d(e){o||(s=!1,i=!0,r(e))}c()}var k=e=>(t,n,r)=>{if(r=S(r),e<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!t)return r(null);if("AsyncGenerator"===t[Symbol.toStringTag])return _(t,e,n,r);if(function(e){return"function"==typeof e[Symbol.asyncIterator]}(t))return _(t[Symbol.asyncIterator](),e,n,r);var i=function(e){if(y(e))return function(e){var t=-1,n=e.length;return function(){return++t<n?{value:e[t],key:t}:null}}(e);var t,n,r,i,o=function(e){return e[Symbol.iterator]&&e[Symbol.iterator]()}(e);return o?function(e){var t=-1;return function(){var n=e.next();return n.done?null:(t++,{value:n.value,key:t})}}(o):(n=(t=e)?Object.keys(t):[],r=-1,i=n.length,function e(){var o=n[++r];return"__proto__"===o?e():r<i?{value:t[o],key:o}:null})}(t),o=!1,s=!1,a=0,l=!1;function c(e,t){if(!s)if(a-=1,e)o=!0,r(e);else if(!1===e)o=!0,s=!0;else{if(t===b||o&&a<=0)return o=!0,r(null);l||u()}}function u(){for(l=!0;a<e&&!o;){var t=i();if(null===t)return o=!0,void(a<=0&&r(null));a+=1,n(t.value,t.key,C(c))}l=!1}u()},W=m((function(e,t,n,r){return k(t)(e,g(n),r)}),4);function E(e,t,n){n=S(n);var r=0,i=0,{length:o}=e,s=!1;function a(e,t){!1===e&&(s=!0),!0!==s&&(e?n(e):++i!==o&&t!==b||n(null))}for(0===o&&n(null);r<o;r++)t(e[r],r,C(a))}function L(e,t,n){return W(e,1/0,t,n)}var A=m((function(e,t,n){return(y(e)?E:L)(e,g(t),n)}),3),T=m((function(e,t,n){return v(A,e,t,n)}),3),O=w(T),I=m((function(e,t,n){return W(e,1,t,n)}),3),R=m((function(e,t,n){return v(I,e,t,n)}),3),M=w(R);const N=Symbol("promiseCallback");function D(){let e,t;function n(n,...r){if(n)return t(n);e(r.length>1?r:r[0])}return n[N]=new Promise(((n,r)=>{e=n,t=r})),n}function P(e,t,n){"number"!=typeof t&&(n=t,t=null),n=S(n||D());var r=Object.keys(e).length;if(!r)return n(null);t||(t=r);var i={},o=0,s=!1,a=!1,l=Object.create(null),c=[],u=[],d={};function f(e,t){c.push((()=>function(e,t){if(!a){var r=C(((t,...r)=>{if(o--,!1!==t)if(r.length<2&&([r]=r),t){var c={};if(Object.keys(i).forEach((e=>{c[e]=i[e]})),c[e]=r,a=!0,l=Object.create(null),s)return;n(t,c)}else i[e]=r,(l[e]||[]).forEach((e=>e())),h();else s=!0}));o++;var c=g(t[t.length-1]);t.length>1?c(i,r):c(r)}}(e,t)))}function h(){if(!s){if(0===c.length&&0===o)return n(null,i);for(;c.length&&o<t;)c.shift()()}}function p(t){var n=[];return Object.keys(e).forEach((r=>{const i=e[r];Array.isArray(i)&&i.indexOf(t)>=0&&n.push(r)})),n}return Object.keys(e).forEach((t=>{var n=e[t];if(!Array.isArray(n))return f(t,[n]),void u.push(t);var r=n.slice(0,n.length-1),i=r.length;if(0===i)return f(t,n),void u.push(t);d[t]=i,r.forEach((o=>{if(!e[o])throw new Error("async.auto task `"+t+"` has a non-existent dependency `"+o+"` in "+r.join(", "));var s,a;(a=l[s=o])||(a=l[s]=[]),a.push((()=>{0==--i&&f(t,n)}))}))})),function(){for(var e=0;u.length;)e++,p(u.pop()).forEach((e=>{0==--d[e]&&u.push(e)}));if(e!==r)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),h(),n[N]}var F=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,j=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,x=/,/,$=/(=.+)?(\s*)$/;function B(e,t){var n={};return Object.keys(e).forEach((t=>{var r,i=e[t],o=p(i),s=!o&&1===i.length||o&&0===i.length;if(Array.isArray(i))r=[...i],i=r.pop(),n[t]=r.concat(r.length>0?a:i);else if(s)n[t]=i;else{if(r=function(e){const t=function(e){let t="",n=0,r=e.indexOf("*/");for(;n<e.length;)if("/"===e[n]&&"/"===e[n+1]){let t=e.indexOf("\n",n);n=-1===t?e.length:t}else if(-1!==r&&"/"===e[n]&&"*"===e[n+1]){let i=e.indexOf("*/",n);-1!==i?(n=i+2,r=e.indexOf("*/",n)):(t+=e[n],n++)}else t+=e[n],n++;return t}(e.toString());let n=t.match(F);if(n||(n=t.match(j)),!n)throw new Error("could not parse args in autoInject\nSource:\n"+t);let[,r]=n;return r.replace(/\s/g,"").split(x).map((e=>e.replace($,"").trim()))}(i),0===i.length&&!o&&0===r.length)throw new Error("autoInject task functions require explicit parameters.");o||r.pop(),n[t]=r.concat(a)}function a(e,t){var n=r.map((t=>e[t]));n.push(t),g(i)(...n)}})),P(n,t)}class U{constructor(){this.head=this.tail=null,this.length=0}removeLink(e){return e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=e.next=null,this.length-=1,e}empty(){for(;this.head;)this.shift();return this}insertAfter(e,t){t.prev=e,t.next=e.next,e.next?e.next.prev=t:this.tail=t,e.next=t,this.length+=1}insertBefore(e,t){t.prev=e.prev,t.next=e,e.prev?e.prev.next=t:this.head=t,e.prev=t,this.length+=1}unshift(e){this.head?this.insertBefore(this.head,e):G(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):G(this,e)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var e=this.head;e;)yield e.data,e=e.next}remove(e){for(var t=this.head;t;){var{next:n}=t;e(t)&&this.removeLink(t),t=n}return this}}function G(e,t){e.length=1,e.head=e.tail=t}function V(e,t,n){if(null==t)t=1;else if(0===t)throw new RangeError("Concurrency must not be zero");var r=g(e),i=0,o=[];const s={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function a(e,t){return e?t?void(s[e]=s[e].filter((e=>e!==t))):s[e]=[]:Object.keys(s).forEach((e=>s[e]=[]))}function l(e,...t){s[e].forEach((e=>e(...t)))}var c=!1;function d(e,t,n,r){if(null!=r&&"function"!=typeof r)throw new Error("task callback must be a function");var i,o;function s(e,...t){return e?n?o(e):i():t.length<=1?i(t[0]):void i(t)}w.started=!0;var a={data:e,callback:n?s:r||s};if(t?w._tasks.unshift(a):w._tasks.push(a),c||(c=!0,u((()=>{c=!1,w.process()}))),n||!r)return new Promise(((e,t)=>{i=e,o=t}))}function f(e){return function(t,...n){i-=1;for(var r=0,s=e.length;r<s;r++){var a=e[r],c=o.indexOf(a);0===c?o.shift():c>0&&o.splice(c,1),a.callback(t,...n),null!=t&&l("error",t,a.data)}i<=w.concurrency-w.buffer&&l("unsaturated"),w.idle()&&l("drain"),w.process()}}function h(e){return!(0!==e.length||!w.idle()||(u((()=>l("drain"))),0))}const p=e=>t=>{if(!t)return new Promise(((t,n)=>{!function(e,r){const i=(...r)=>{a(e,i),((e,r)=>{if(e)return n(e);t(r)})(...r)};s[e].push(i)}(e)}));a(e),function(e,t){s[e].push(t)}(e,t)};var m=!1,w={_tasks:new U,*[Symbol.iterator](){yield*w._tasks[Symbol.iterator]()},concurrency:t,payload:n,buffer:t/4,started:!1,paused:!1,push(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!1,t)))}return d(e,!1,!1,t)},pushAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!0,t)))}return d(e,!1,!0,t)},kill(){a(),w._tasks.empty()},unshift(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!1,t)))}return d(e,!0,!1,t)},unshiftAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!0,t)))}return d(e,!0,!0,t)},remove(e){w._tasks.remove(e)},process(){if(!m){for(m=!0;!w.paused&&i<w.concurrency&&w._tasks.length;){var e=[],t=[],n=w._tasks.length;w.payload&&(n=Math.min(n,w.payload));for(var s=0;s<n;s++){var a=w._tasks.shift();e.push(a),o.push(a),t.push(a.data)}i+=1,0===w._tasks.length&&l("empty"),i===w.concurrency&&l("saturated");var c=C(f(e));r(t,c)}m=!1}},length:()=>w._tasks.length,running:()=>i,workersList:()=>o,idle:()=>w._tasks.length+i===0,pause(){w.paused=!0},resume(){!1!==w.paused&&(w.paused=!1,u(w.process))}};return Object.defineProperties(w,{saturated:{writable:!1,value:p("saturated")},unsaturated:{writable:!1,value:p("unsaturated")},empty:{writable:!1,value:p("empty")},drain:{writable:!1,value:p("drain")},error:{writable:!1,value:p("error")}}),w}function q(e,t){return V(e,1,t)}function H(e,t,n){return V(e,t,n)}var z=m((function(e,t,n,r){r=S(r);var i=g(n);return I(e,((e,n,r)=>{i(t,e,((e,n)=>{t=n,r(e)}))}),(e=>r(e,t)))}),4);function K(...e){var t=e.map(g);return function(...e){var n=this,r=e[e.length-1];return"function"==typeof r?e.pop():r=D(),z(t,e,((e,t,r)=>{t.apply(n,e.concat(((e,...t)=>{r(e,t)})))}),((e,t)=>r(e,...t))),r[N]}}function Q(...e){return K(...e.reverse())}var Y=m((function(e,t,n,r){return v(k(t),e,n,r)}),4),J=m((function(e,t,n,r){var i=g(n);return Y(e,t,((e,t)=>{i(e,((e,...n)=>e?t(e):t(e,n)))}),((e,t)=>{for(var n=[],i=0;i<t.length;i++)t[i]&&(n=n.concat(...t[i]));return r(e,n)}))}),4),Z=m((function(e,t,n){return J(e,1/0,t,n)}),3),X=m((function(e,t,n){return J(e,1,t,n)}),3);function ee(...e){return function(...t){return t.pop()(null,...e)}}function te(e,t){return(n,r,i,o)=>{var s,a=!1;const l=g(i);n(r,((n,r,i)=>{l(n,((r,o)=>r||!1===r?i(r):e(o)&&!s?(a=!0,s=t(!0,n),i(null,b)):void i()))}),(e=>{if(e)return o(e);o(null,a?s:t(!1))}))}}var ne=m((function(e,t,n){return te((e=>e),((e,t)=>t))(A,e,t,n)}),3),re=m((function(e,t,n,r){return te((e=>e),((e,t)=>t))(k(t),e,n,r)}),4),ie=m((function(e,t,n){return te((e=>e),((e,t)=>t))(k(1),e,t,n)}),3);function oe(e){return(t,...n)=>g(t)(...n,((t,...n)=>{"object"==typeof console&&(t?console.error&&console.error(t):console[e]&&n.forEach((t=>console[e](t))))}))}var se=oe("dir"),ae=m((function(e,t,n){n=C(n);var r,i=g(e),o=g(t);function s(e,...t){if(e)return n(e);!1!==e&&(r=t,o(...t,a))}function a(e,t){return e?n(e):!1!==e?t?void i(s):n(null,...r):void 0}return a(null,!0)}),3);function le(e,t,n){const r=g(t);return ae(e,((...e)=>{const t=e.pop();r(...e,((e,n)=>t(e,!n)))}),n)}function ce(e){return(t,n,r)=>e(t,r)}var ue=m((function(e,t,n){return A(e,ce(g(t)),n)}),3),de=m((function(e,t,n,r){return k(t)(e,ce(g(n)),r)}),4),fe=m((function(e,t,n){return de(e,1,t,n)}),3);function he(e){return p(e)?e:function(...t){var n=t.pop(),r=!0;t.push(((...e)=>{r?u((()=>n(...e))):n(...e)})),e.apply(this,t),r=!1}}var pe=m((function(e,t,n){return te((e=>!e),(e=>!e))(A,e,t,n)}),3),ge=m((function(e,t,n,r){return te((e=>!e),(e=>!e))(k(t),e,n,r)}),4),me=m((function(e,t,n){return te((e=>!e),(e=>!e))(I,e,t,n)}),3);function we(e,t,n,r){var i=new Array(t.length);e(t,((e,t,r)=>{n(e,((e,n)=>{i[t]=!!n,r(e)}))}),(e=>{if(e)return r(e);for(var n=[],o=0;o<t.length;o++)i[o]&&n.push(t[o]);r(null,n)}))}function ve(e,t,n,r){var i=[];e(t,((e,t,r)=>{n(e,((n,o)=>{if(n)return r(n);o&&i.push({index:t,value:e}),r(n)}))}),(e=>{if(e)return r(e);r(null,i.sort(((e,t)=>e.index-t.index)).map((e=>e.value)))}))}function ye(e,t,n,r){return(y(t)?we:ve)(e,t,g(n),r)}var be=m((function(e,t,n){return ye(A,e,t,n)}),3),Se=m((function(e,t,n,r){return ye(k(t),e,n,r)}),4),Ce=m((function(e,t,n){return ye(I,e,t,n)}),3),_e=m((function(e,t){var n=C(t),r=g(he(e));return function e(t){if(t)return n(t);!1!==t&&r(e)}()}),2),ke=m((function(e,t,n,r){var i=g(n);return Y(e,t,((e,t)=>{i(e,((n,r)=>n?t(n):t(n,{key:r,val:e})))}),((e,t)=>{for(var n={},{hasOwnProperty:i}=Object.prototype,o=0;o<t.length;o++)if(t[o]){var{key:s}=t[o],{val:a}=t[o];i.call(n,s)?n[s].push(a):n[s]=[a]}return r(e,n)}))}),4);function We(e,t,n){return ke(e,1/0,t,n)}function Ee(e,t,n){return ke(e,1,t,n)}var Le=oe("log"),Ae=m((function(e,t,n,r){r=S(r);var i={},o=g(n);return k(t)(e,((e,t,n)=>{o(e,t,((e,r)=>{if(e)return n(e);i[t]=r,n(e)}))}),(e=>r(e,i)))}),4);function Te(e,t,n){return Ae(e,1/0,t,n)}function Oe(e,t,n){return Ae(e,1,t,n)}function Ie(e,t=(e=>e)){var n=Object.create(null),r=Object.create(null),o=g(e),s=i(((e,i)=>{var s=t(...e);s in n?u((()=>i(null,...n[s]))):s in r?r[s].push(i):(r[s]=[i],o(...e,((e,...t)=>{e||(n[s]=t);var i=r[s];delete r[s];for(var o=0,a=i.length;o<a;o++)i[o](e,...t)})))}));return s.memo=n,s.unmemoized=e,s}var Re=c(a?process.nextTick:s?setImmediate:l),Me=m(((e,t,n)=>{var r=y(t)?[]:{};e(t,((e,t,n)=>{g(e)(((e,...i)=>{i.length<2&&([i]=i),r[t]=i,n(e)}))}),(e=>n(e,r)))}),3);function Ne(e,t){return Me(A,e,t)}function De(e,t,n){return Me(k(t),e,n)}function Pe(e,t){var n=g(e);return V(((e,t)=>{n(e[0],t)}),t,1)}class Fe{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(e){let t;for(;e>0&&xe(this.heap[e],this.heap[t=je(e)]);){let n=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=n,e=t}}percDown(e){let t;for(;(t=1+(e<<1))<this.heap.length&&(t+1<this.heap.length&&xe(this.heap[t+1],this.heap[t])&&(t+=1),!xe(this.heap[e],this.heap[t]));){let n=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=n,e=t}}push(e){e.pushCount=++this.pushCount,this.heap.push(e),this.percUp(this.heap.length-1)}unshift(e){return this.heap.push(e)}shift(){let[e]=this.heap;return this.heap[0]=this.heap[this.heap.length-1],this.heap.pop(),this.percDown(0),e}toArray(){return[...this]}*[Symbol.iterator](){for(let e=0;e<this.heap.length;e++)yield this.heap[e].data}remove(e){let t=0;for(let n=0;n<this.heap.length;n++)e(this.heap[n])||(this.heap[t]=this.heap[n],t++);this.heap.splice(t);for(let e=je(this.heap.length-1);e>=0;e--)this.percDown(e);return this}}function je(e){return(e+1>>1)-1}function xe(e,t){return e.priority!==t.priority?e.priority<t.priority:e.pushCount<t.pushCount}function $e(e,t){var n=Pe(e,t),r=!1;return n._tasks=new Fe,n.push=function(e,t=0,i=(()=>{})){if("function"!=typeof i)throw new Error("task callback must be a function");if(n.started=!0,Array.isArray(e)||(e=[e]),0===e.length&&n.idle())return u((()=>n.drain()));for(var o=0,s=e.length;o<s;o++){var a={data:e[o],priority:t,callback:i};n._tasks.push(a)}r||(r=!0,u((()=>{r=!1,n.process()})))},delete n.unshift,n}var Be=m((function(e,t){if(t=S(t),!Array.isArray(e))return t(new TypeError("First argument to race must be an array of functions"));if(!e.length)return t();for(var n=0,r=e.length;n<r;n++)g(e[n])(t)}),2);function Ue(e,t,n,r){var i=[...e].reverse();return z(i,t,n,r)}function Ge(e){var t=g(e);return i((function(e,n){return e.push(((e,...t)=>{let r={};if(e&&(r.error=e),t.length>0){var i=t;t.length<=1&&([i]=t),r.value=i}n(null,r)})),t.apply(this,e)}))}function Ve(e){var t;return Array.isArray(e)?t=e.map(Ge):(t={},Object.keys(e).forEach((n=>{t[n]=Ge.call(this,e[n])}))),t}function qe(e,t,n,r){const i=g(n);return ye(e,t,((e,t)=>{i(e,((e,n)=>{t(e,!n)}))}),r)}var He=m((function(e,t,n){return qe(A,e,t,n)}),3),ze=m((function(e,t,n,r){return qe(k(t),e,n,r)}),4),Ke=m((function(e,t,n){return qe(I,e,t,n)}),3);function Qe(e){return function(){return e}}function Ye(e,t,n){var r={times:5,intervalFunc:Qe(0)};if(arguments.length<3&&"function"==typeof e?(n=t||D(),t=e):(Je(r,e),n=n||D()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var i=g(t),o=1;function s(){i(((e,...t)=>{!1!==e&&(e&&o++<r.times&&("function"!=typeof r.errorFilter||r.errorFilter(e))?setTimeout(s,r.intervalFunc(o-1)):n(e,...t))}))}return s(),n[N]}function Je(e,t){if("object"==typeof t)e.times=+t.times||5,e.intervalFunc="function"==typeof t.interval?t.interval:Qe(+t.interval||0),e.errorFilter=t.errorFilter;else{if("number"!=typeof t&&"string"!=typeof t)throw new Error("Invalid arguments for async.retry");e.times=+t||5}}function Ze(e,t){t||(t=e,e=null);let n=e&&e.arity||t.length;p(t)&&(n+=1);var r=g(t);return i(((t,i)=>{function o(e){r(...t,e)}return(t.length<n-1||null==i)&&(t.push(i),i=D()),e?Ye(e,o,i):Ye(o,i),i[N]}))}function Xe(e,t){return Me(I,e,t)}var et=m((function(e,t,n){return te(Boolean,(e=>e))(A,e,t,n)}),3),tt=m((function(e,t,n,r){return te(Boolean,(e=>e))(k(t),e,n,r)}),4),nt=m((function(e,t,n){return te(Boolean,(e=>e))(I,e,t,n)}),3),rt=m((function(e,t,n){var r=g(t);return T(e,((e,t)=>{r(e,((n,r)=>{if(n)return t(n);t(n,{value:e,criteria:r})}))}),((e,t)=>{if(e)return n(e);n(null,t.sort(i).map((e=>e.value)))}));function i(e,t){var n=e.criteria,r=t.criteria;return n<r?-1:n>r?1:0}}),3);function it(e,t,n){var r=g(e);return i(((i,o)=>{var s,a=!1;i.push(((...e)=>{a||(o(...e),clearTimeout(s))})),s=setTimeout((function(){var t=e.name||"anonymous",r=new Error('Callback function "'+t+'" timed out.');r.code="ETIMEDOUT",n&&(r.info=n),a=!0,o(r)}),t),r(...i)}))}function ot(e,t,n,r){var i=g(n);return Y(function(e){for(var t=Array(e);e--;)t[e]=e;return t}(e),t,i,r)}function st(e,t,n){return ot(e,1/0,t,n)}function at(e,t,n){return ot(e,1,t,n)}function lt(e,t,n,r){arguments.length<=3&&"function"==typeof t&&(r=n,n=t,t=Array.isArray(e)?[]:{}),r=S(r||D());var i=g(n);return A(e,((e,n,r)=>{i(t,e,n,r)}),(e=>r(e,t))),r[N]}var ct=m((function(e,t){var n,r=null;return fe(e,((e,t)=>{g(e)(((e,...i)=>{if(!1===e)return t(e);i.length<2?[n]=i:n=i,r=e,t(e?null:{})}))}),(()=>t(r,n)))}));function ut(e){return(...t)=>(e.unmemoized||e)(...t)}var dt=m((function(e,t,n){n=C(n);var r=g(t),i=g(e),o=[];function s(e,...t){if(e)return n(e);o=t,!1!==e&&i(a)}function a(e,t){return e?n(e):!1!==e?t?void r(s):n(null,...o):void 0}return i(a)}),3);function ft(e,t,n){const r=g(e);return dt((e=>r(((t,n)=>e(t,!n)))),t,n)}var ht=m((function(e,t){if(t=S(t),!Array.isArray(e))return t(new Error("First argument to waterfall must be an array of functions"));if(!e.length)return t();var n=0;function r(t){g(e[n++])(...t,C(i))}function i(i,...o){if(!1!==i)return i||n===e.length?t(i,...o):void r(o)}r([])}));const pt={apply:r,applyEach:O,applyEachSeries:M,asyncify:d,auto:P,autoInject:B,cargo:q,cargoQueue:H,compose:Q,concat:Z,concatLimit:J,concatSeries:X,constant:ee,detect:ne,detectLimit:re,detectSeries:ie,dir:se,doUntil:le,doWhilst:ae,each:ue,eachLimit:de,eachOf:A,eachOfLimit:W,eachOfSeries:I,eachSeries:fe,ensureAsync:he,every:pe,everyLimit:ge,everySeries:me,filter:be,filterLimit:Se,filterSeries:Ce,forever:_e,groupBy:We,groupByLimit:ke,groupBySeries:Ee,log:Le,map:T,mapLimit:Y,mapSeries:R,mapValues:Te,mapValuesLimit:Ae,mapValuesSeries:Oe,memoize:Ie,nextTick:Re,parallel:Ne,parallelLimit:De,priorityQueue:$e,queue:Pe,race:Be,reduce:z,reduceRight:Ue,reflect:Ge,reflectAll:Ve,reject:He,rejectLimit:ze,rejectSeries:Ke,retry:Ye,retryable:Ze,seq:K,series:Xe,setImmediate:u,some:et,someLimit:tt,someSeries:nt,sortBy:rt,timeout:it,times:st,timesLimit:ot,timesSeries:at,transform:lt,tryEach:ct,unmemoize:ut,until:ft,waterfall:ht,whilst:dt,all:pe,allLimit:ge,allSeries:me,any:et,anyLimit:tt,anySeries:nt,find:ne,findLimit:re,findSeries:ie,flatMap:Z,flatMapLimit:J,flatMapSeries:X,forEach:ue,forEachSeries:fe,forEachLimit:de,forEachOf:A,forEachOfSeries:I,forEachOfLimit:W,inject:z,foldl:z,foldr:Ue,select:be,selectLimit:Se,selectSeries:Ce,wrapSync:d,during:dt,doDuring:ae}},83027:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});class r{value;next;constructor(e){this.value=e}}class i{#e;#t;#n;constructor(){this.clear()}enqueue(e){const t=new r(e);this.#e?(this.#t.next=t,this.#t=t):(this.#e=t,this.#t=t),this.#n++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#n--,e.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}}function o(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new i;let n=0;const r=async(e,r,i)=>{n++;const o=(async()=>e(...i))();r(o);try{await o}catch{}n--,t.size>0&&t.dequeue()()},o=(i,...o)=>new Promise((s=>{((i,o,s)=>{t.enqueue(r.bind(void 0,i,o,s)),(async()=>{await Promise.resolve(),n<e&&t.size>0&&t.dequeue()()})()})(i,s,o)}));return Object.defineProperties(o,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),o}},75613:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AbortError:()=>$,default:()=>B});var r=n(26729);class i extends Error{constructor(e){super(e),this.name="TimeoutError"}}var o,s=function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};class a{constructor(){o.set(this,[])}enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&s(this,o,"f")[this.size-1].priority>=t.priority)return void s(this,o,"f").push(n);const r=function(e,t,n){let r=0,i=e.length;for(;i>0;){const n=Math.trunc(i/2);let s=r+n;o=e[s],t.priority-o.priority<=0?(r=++s,i-=n+1):i=n}var o;return r}(s(this,o,"f"),n);s(this,o,"f").splice(r,0,n)}dequeue(){const e=s(this,o,"f").shift();return null==e?void 0:e.run}filter(e){return s(this,o,"f").filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return s(this,o,"f").length}}o=new WeakMap;var l,c,u,d,f,h,p,g,m,w,v,y,b,S,C,_,k,W,E,L,A,T,O,I,R,M,N,D,P=function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},F=function(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)};const j=()=>{},x=new i;class $ extends Error{}class B extends r{constructor(e){var t,n,r,i;if(super(),l.add(this),c.set(this,void 0),u.set(this,void 0),d.set(this,0),f.set(this,void 0),h.set(this,void 0),p.set(this,0),g.set(this,void 0),m.set(this,void 0),w.set(this,void 0),v.set(this,void 0),y.set(this,0),b.set(this,void 0),S.set(this,void 0),C.set(this,j),_.set(this,j),k.set(this,void 0),W.set(this,void 0),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:a,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!==(n=null===(t=e.intervalCap)||void 0===t?void 0:t.toString())&&void 0!==n?n:""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!==(i=null===(r=e.interval)||void 0===r?void 0:r.toString())&&void 0!==i?i:""}\` (${typeof e.interval})`);P(this,c,e.carryoverConcurrencyCount,"f"),P(this,u,e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,"f"),P(this,f,e.intervalCap,"f"),P(this,h,e.interval,"f"),P(this,w,new e.queueClass,"f"),P(this,v,e.queueClass,"f"),this.concurrency=e.concurrency,P(this,k,e.timeout,"f"),P(this,W,!0===e.throwOnTimeout,"f"),P(this,S,!1===e.autoStart,"f")}get concurrency(){return F(this,b,"f")}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);P(this,b,e,"f"),F(this,l,"m",D).call(this)}async add(e,t={}){return new Promise(((n,r)=>{F(this,w,"f").enqueue((async()=>{var i,o,s;P(this,y,(o=F(this,y,"f"),++o),"f"),P(this,d,(s=F(this,d,"f"),++s),"f");try{if(null===(i=t.signal)||void 0===i?void 0:i.aborted)return void r(new $("The task was aborted."));const o=void 0===F(this,k,"f")&&void 0===t.timeout?e({signal:t.signal}):function(e,t,n,r){let i;const o=new Promise(((o,s)=>{if("number"!=typeof t||1!==Math.sign(t))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);t!==Number.POSITIVE_INFINITY?(r={customTimers:{setTimeout,clearTimeout},...r},i=r.customTimers.setTimeout.call(void 0,(()=>{try{o(n())}catch(e){s(e)}}),t),(async()=>{try{o(await e)}catch(e){s(e)}finally{r.customTimers.clearTimeout.call(void 0,i)}})()):o(e)}));return o.clear=()=>{clearTimeout(i),i=void 0},o}(Promise.resolve(e({signal:t.signal})),void 0===t.timeout?F(this,k,"f"):t.timeout,(()=>{(void 0===t.throwOnTimeout?F(this,W,"f"):t.throwOnTimeout)&&r(x)})),s=await o;n(s),this.emit("completed",s)}catch(e){r(e),this.emit("error",e)}F(this,l,"m",A).call(this)}),t),F(this,l,"m",R).call(this),this.emit("add")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return F(this,S,"f")?(P(this,S,!1,"f"),F(this,l,"m",D).call(this),this):this}pause(){P(this,S,!0,"f")}clear(){P(this,w,new(F(this,v,"f")),"f")}async onEmpty(){if(0!==F(this,w,"f").size)return new Promise((e=>{const t=F(this,C,"f");P(this,C,(()=>{t(),e()}),"f")}))}async onSizeLessThan(e){if(!(F(this,w,"f").size<e))return new Promise((t=>{const n=()=>{F(this,w,"f").size<e&&(this.removeListener("next",n),t())};this.on("next",n)}))}async onIdle(){if(0!==F(this,y,"f")||0!==F(this,w,"f").size)return new Promise((e=>{const t=F(this,_,"f");P(this,_,(()=>{t(),e()}),"f")}))}get size(){return F(this,w,"f").size}sizeBy(e){return F(this,w,"f").filter(e).length}get pending(){return F(this,y,"f")}get isPaused(){return F(this,S,"f")}get timeout(){return F(this,k,"f")}set timeout(e){P(this,k,e,"f")}}c=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap,w=new WeakMap,v=new WeakMap,y=new WeakMap,b=new WeakMap,S=new WeakMap,C=new WeakMap,_=new WeakMap,k=new WeakMap,W=new WeakMap,l=new WeakSet,E=function(){return F(this,u,"f")||F(this,d,"f")<F(this,f,"f")},L=function(){return F(this,y,"f")<F(this,b,"f")},A=function(){var e;P(this,y,(e=F(this,y,"f"),--e),"f"),F(this,l,"m",R).call(this),this.emit("next")},T=function(){F(this,C,"f").call(this),P(this,C,j,"f"),0===F(this,y,"f")&&(F(this,_,"f").call(this),P(this,_,j,"f"),this.emit("idle"))},O=function(){F(this,l,"m",N).call(this),F(this,l,"m",M).call(this),P(this,m,void 0,"f")},I=function(){const e=Date.now();if(void 0===F(this,g,"f")){const t=F(this,p,"f")-e;if(!(t<0))return void 0===F(this,m,"f")&&P(this,m,setTimeout((()=>{F(this,l,"m",O).call(this)}),t),"f"),!0;P(this,d,F(this,c,"f")?F(this,y,"f"):0,"f")}return!1},R=function(){if(0===F(this,w,"f").size)return F(this,g,"f")&&clearInterval(F(this,g,"f")),P(this,g,void 0,"f"),F(this,l,"m",T).call(this),!1;if(!F(this,S,"f")){const e=!F(this,l,"m",I).call(this);if(F(this,l,"a",E)&&F(this,l,"a",L)){const t=F(this,w,"f").dequeue();return!!t&&(this.emit("active"),t(),e&&F(this,l,"m",M).call(this),!0)}}return!1},M=function(){F(this,u,"f")||void 0!==F(this,g,"f")||(P(this,g,setInterval((()=>{F(this,l,"m",N).call(this)}),F(this,h,"f")),"f"),P(this,p,Date.now()+F(this,h,"f"),"f"))},N=function(){0===F(this,d,"f")&&0===F(this,y,"f")&&F(this,g,"f")&&(clearInterval(F(this,g,"f")),P(this,g,void 0,"f")),P(this,d,F(this,c,"f")?F(this,y,"f"):0,"f"),F(this,l,"m",D).call(this)},D=function(){for(;F(this,l,"m",R).call(this););}},62711:e=>{"use strict";e.exports=JSON.parse('{"F":{"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","backspace":"Backspace","bs":"Backspace","bksp":"Backspace","tab":"Tab","escape":"Escape","esc":"Escape","clear":"Clear","enter":"Enter","return":"Enter","shift":"Shift","shft":"Shift","lshift":"Shift","lshft":"Shift","left shift":"Shift","leftshift":"Shift","rshift":"Shift","rshft":"Shift","right shift":"Shift","rightshift":"Shift","control":"Control","ctrl":"Control","commandorcontrol":"CommandOrControl","alt":"Alt","alternate":"Alt","pause":"Pause","caps lock":"Capslock","capslock":"Capslock","spacebar":"Space","space":"Space","space bar":"Space","page up":"PageUp","pgup":"PageUp","pg up":"PageUp","page down":"PageDown","pgdn":"PageDown","pg dn":"PageDown","pgdown":"PageDown","end":"End","home":"Home","left arrow":"Left","left":"Left","up arrow":"Up","up":"Up","right arrow":"Right","right":"Right","down arrow":"Down","down":"Down","select":"Select","slct":"Select","print":"PrintScreen","prnt":"PrintScreen","execute":"Execute","print screen":"PrintScreen","printscreen":"PrintScreen","print scrn":"PrintScreen","printscrn":"PrintScreen","prnt scrn":"PrintScreen","prntscrn":"PrintScreen","prt scrn":"PrintScreen","prtscrn":"PrintScreen","prt scn":"PrintScreen","prtscn":"PrintScreen","prt scr":"PrintScreen","prtscr":"PrintScreen","prt sc":"PrintScreen","prtsc":"PrintScreen","pr sc":"PrintScreen","prsc":"PrintScreen","insert":"Insert","ins":"Insert","delete":"Delete","del":"Delete","a":"A","b":"B","c":"C","d":"D","e":"E","f":"F","g":"G","h":"H","i":"I","j":"J","k":"K","l":"L","m":"M","n":"N","o":"O","p":"P","q":"Q","r":"R","s":"S","t":"T","u":"U","v":"V","w":"W","x":"X","y":"Y","z":"Z","windows":"Super","left windows":"Super","right windows":"Super","numpad 0":"num0","numpad 1":"num1","numpad 2":"num2","numpad 3":"num3","numpad 4":"num4","numpad 5":"num5","numpad 6":"num6","numpad 7":"num7","numpad 8":"num8","numpad 9":"num9","f1":"F1","fn1":"F1","function 1":"F1","f2":"F2","fn2":"F2","function 2":"F2","f3":"F3","fn3":"F3","function 3":"F3","f4":"F4","fn4":"F4","function 4":"F4","f5":"F5","fn5":"F5","function 5":"F5","f6":"F6","fn6":"F6","function 6":"F6","f7":"F7","fn7":"F7","function 7":"F7","f8":"F8","fn8":"F8","function 8":"F8","f9":"F9","fn9":"F9","function 9":"F9","f10":"F10","fn10":"F10","function 10":"F10","f11":"F11","fn11":"F11","function 11":"F11","f12":"F12","fn12":"F12","function 12":"F12","f13":"F13","fn":"F13","function 13":"F13","f14":"F14","fn14":"F14","function 14":"F14","f15":"F15","fn15":"F15","function 15":"F15","f16":"F16","fn16":"F16","function 16":"F16","num lock":"Numlock","numlock":"Numlock","number lock":"Numlock","numeric lock":"Numlock","scroll lock":"Scrolllock","sclk":"Scrolllock","scrlk":"Scrolllock","slk":"Scrolllock","*":"*","+":"+","-":"-","/":"/",";":";","=":"=",",":",","_":"-",".":".","`":"`","[":"[","]":"]","\'":"\'"}}')}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n(20736)})();
|
|
3
3
|
//# sourceMappingURL=workspaceService.js.map
|