@hatiolab/things-scene 3.3.16 → 3.3.17
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/db.sqlite +0 -0
- package/package.json +1 -1
- package/things-scene-ie.js +1 -1
- package/things-scene-min.js +1 -1
- package/things-scene.mjs +1 -1
package/things-scene.mjs
CHANGED
|
@@ -3,4 +3,4 @@ var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo
|
|
|
3
3
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
|
4
4
|
n=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var i=e&&e.prototype instanceof d?e:d,a=Object.create(i.prototype),s=new M(n||[]);return o(a,"_invoke",{value:_(t,r,s)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=h;var p={};function d(){}function g(){}function v(){}var y={};l(y,s,(function(){return this}));var m=Object.getPrototypeOf,b=m&&m(m(T([])));b&&b!==e&&r.call(b,s)&&(y=b);var x=v.prototype=d.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function n(o,a,s,c){var u=f(t[o],t,a);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==i(h)&&r.call(h,"__await")?e.resolve(h.__await).then((function(t){n("next",t,s,c)}),(function(t){n("throw",t,s,c)})):e.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,c)}))}c(u.arg)}var a;o(this,"_invoke",{value:function(t,r){function i(){return new e((function(e,i){n(t,r,e,i)}))}return a=a?a.then(i,i):i()}})}function _(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=k(a,r);if(s){if(s===p)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,k(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=f(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,p;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function T(t){if(t){var e=t[s];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:P}}function P(){return{value:void 0,done:!0}}return g.prototype=v,o(x,"constructor",{value:v,configurable:!0}),o(v,"constructor",{value:g,configurable:!0}),g.displayName=l(v,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,l(t,u,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},w(A.prototype),l(A.prototype,c,(function(){return this})),t.AsyncIterator=A,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new A(h(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(x),l(x,u,"Generator"),l(x,s,(function(){return this})),l(x,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=T,M.prototype={constructor:M,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:T(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function o(t,e,r,n,i,o,a){try{var s=t[o](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,i)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,i){var a=t.apply(e,r);function s(t){o(a,n,i,s,c,"next",t)}function c(t){o(a,n,i,s,c,"throw",t)}s(void 0)}))}}var s=e("./utils"),c=function(){var e=s.isNumeric,r=s.isArrayOfStrings,o=s.isArrayOfNumbers,c=s.createSequence,u=s.isSequence,l=s.isFunction,h=s.isLambda,f=s.isPromise,p=s.getFunctionArity,d=s.isDeepEqual,g=s.stringToArray;function v(t){if(void 0!==t){var e=0;return t.forEach((function(t){e+=t})),e}}function y(t){return void 0===t?0:t.length}function m(t){if(void 0!==t&&0!==t.length)return Math.max.apply(Math,t)}function b(t){if(void 0!==t&&0!==t.length)return Math.min.apply(Math,t)}function x(t){if(void 0!==t&&0!==t.length){var e=0;return t.forEach((function(t){e+=t})),e/t.length}}function w(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0!==t){var n;if("string"==typeof t)n=t;else if(l(t))n="";else{if("number"==typeof t&&!isFinite(t))throw{code:"D3001",value:t,stack:(new Error).stack};var i=r?2:0;Array.isArray(t)&&t.outerWrapper&&(t=t[0]),n=JSON.stringify(t,(function(t,r){return null!=r&&r.toPrecision&&e(r)?Number(r.toPrecision(15)):r&&l(r)?"":r}),i)}return n}}function A(t,e,r){if(void 0!==t){var n=g(t),i=n.length;if(i+e<0&&(e=0),void 0!==r){if(r<=0)return"";var o=e>=0?e+r:i+e+r;return n.slice(e,o).join("")}return n.slice(e).join("")}}function _(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(0,r):t}}function k(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(r+e.length):t}}function E(t){if(void 0!==t)return t.toLowerCase()}function S(t){if(void 0!==t)return t.toUpperCase()}function M(t){if(void 0!==t)return g(t).length}function T(t){if(void 0!==t){var e=t.replace(/[ \t\n\r]+/gm," ");return" "===e.charAt(0)&&(e=e.substring(1))," "===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e}}function P(t,e,r){if(void 0!==t){var n;void 0!==r&&0!==r.length||(r=" ");var i=Math.abs(e)-M(t);if(i>0){var o=new Array(i+1).join(r);r.length>1&&(o=A(o,0,i)),n=e>0?t+o:o+t}else n=t;return n}}function O(t,e){return I.apply(this,arguments)}function I(){return(I=a(n().mark((function t(e,r){var i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=e.apply(this,[r]),!f(i)){t.next=5;break}return t.next=4,i;case 4:i=t.sent;case 5:if(!i||"number"==typeof i.start||"number"===i.end||Array.isArray(i.groups)||l(i.next)){t.next=7;break}throw{code:"T1010",stack:(new Error).stack};case 7:return t.abrupt("return",i);case 8:case"end":return t.stop()}}),t,this)})))).apply(this,arguments)}function R(t,e){return C.apply(this,arguments)}function C(){return(C=a(n().mark((function t(e,r){var i,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:if("string"!=typeof r){t.next=6;break}i=-1!==e.indexOf(r),t.next=10;break;case 6:return t.next=8,O(r,e);case 8:o=t.sent,i=void 0!==o;case 10:return t.abrupt("return",i);case 11:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function j(t,e,r){return L.apply(this,arguments)}function L(){return L=a(n().mark((function t(e,r,i){var o,a,s;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:if(!(i<0)){t.next=4;break}throw{stack:(new Error).stack,value:i,code:"D3040",index:3};case 4:if(o=c(),!(void 0===i||i>0)){t.next=19;break}return a=0,t.next=9,O(r,e);case 9:if(void 0===(s=t.sent)){t.next=19;break}case 11:if(void 0===s||!(void 0===i||a<i)){t.next=19;break}return o.push({match:s.match,index:s.start,groups:s.groups}),t.next=15,O(s.next);case 15:s=t.sent,a++,t.next=11;break;case 19:return t.abrupt("return",o);case 20:case"end":return t.stop()}}),t)}))),L.apply(this,arguments)}function D(t,e,r,n){return z.apply(this,arguments)}function z(){return z=a(n().mark((function t(e,r,i,o){var a,s,c,u,l,h,p,d;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:if(a=this,""!==r){t.next=5;break}throw{code:"D3010",stack:(new Error).stack,value:r,index:2};case 5:if(!(o<0)){t.next=7;break}throw{code:"D3011",stack:(new Error).stack,value:o,index:4};case 7:if(s="string"==typeof i?function(t){for(var e="",r=0,n=i.indexOf("$",r);-1!==n&&r<i.length;){e+=i.substring(r,n),r=n+1;var o=i.charAt(r);if("$"===o)e+="$",r++;else if("0"===o)e+=t.match,r++;else{var a;if(a=0===t.groups.length?1:Math.floor(Math.log(t.groups.length)*Math.LOG10E)+1,n=parseInt(i.substring(r,r+a),10),a>1&&n>t.groups.length&&(n=parseInt(i.substring(r,r+a-1),10)),isNaN(n))e+="$";else{if(t.groups.length>0){var s=t.groups[n-1];void 0!==s&&(e+=s)}r+=n.toString().length}}n=i.indexOf("$",r)}return e+=i.substring(r)}:i,c="",u=0,!(void 0===o||o>0)){t.next=47;break}if(l=0,"string"!=typeof r){t.next=18;break}for(h=e.indexOf(r,u);-1!==h&&(void 0===o||l<o);)c+=e.substring(u,h),c+=i,u=h+r.length,l++,h=e.indexOf(r,u);c+=e.substring(u),t.next=45;break;case 18:return t.next=20,O(r,e);case 20:if(void 0===(p=t.sent)){t.next=44;break}case 22:if(void 0===p||!(void 0===o||l<o)){t.next=41;break}if(c+=e.substring(u,p.start),d=s.apply(a,[p]),!f(d)){t.next=29;break}return t.next=28,d;case 28:d=t.sent;case 29:if("string"!=typeof d){t.next=33;break}c+=d,t.next=34;break;case 33:throw{code:"D3012",stack:(new Error).stack,value:d};case 34:return u=p.start+p.match.length,l++,t.next=38,O(p.next);case 38:p=t.sent,t.next=22;break;case 41:c+=e.substring(u),t.next=45;break;case 44:c=e;case 45:t.next=48;break;case 47:c=e;case 48:return t.abrupt("return",c);case 49:case"end":return t.stop()}}),t,this)}))),z.apply(this,arguments)}function F(e){if(void 0!==e){var r="undefined"!=typeof window?window.btoa:function(e){return new t.Buffer.from(e,"binary").toString("base64")};return r(e)}}function B(e){if(void 0!==e){var r="undefined"!=typeof window?window.atob:function(e){return new t.Buffer.from(e,"base64").toString("binary")};return r(e)}}function N(t){if(void 0!==t){var e;try{e=encodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrlComponent"}}return e}}function U(t){if(void 0!==t){var e;try{e=encodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrl"}}return e}}function G(t){if(void 0!==t){var e;try{e=decodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrlComponent"}}return e}}function Y(t){if(void 0!==t){var e;try{e=decodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrl"}}return e}}function H(t,e,r){return W.apply(this,arguments)}function W(){return W=a(n().mark((function t(e,r,i){var o,a,s,c;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:if(!(i<0)){t.next=4;break}throw{code:"D3020",stack:(new Error).stack,value:i,index:3};case 4:if(o=[],!(void 0===i||i>0)){t.next=29;break}if("string"!=typeof r){t.next=10;break}o=e.split(r,i),t.next=29;break;case 10:return a=0,t.next=13,O(r,e);case 13:if(void 0===(s=t.sent)){t.next=28;break}c=0;case 16:if(void 0===s||!(void 0===i||a<i)){t.next=25;break}return o.push(e.substring(c,s.start)),c=s.end,t.next=21,O(s.next);case 21:s=t.sent,a++,t.next=16;break;case 25:(void 0===i||a<i)&&o.push(e.substring(c)),t.next=29;break;case 28:o.push(e);case 29:return t.abrupt("return",o);case 30:case"end":return t.stop()}}),t)}))),W.apply(this,arguments)}function q(t,e){if(void 0!==t)return void 0===e&&(e=""),t.join(e)}function X(t,e,r){if(void 0!==t){var n={"decimal-separator":".","grouping-separator":",","exponent-separator":"e",infinity:"Infinity","minus-sign":"-",NaN:"NaN",percent:"%","per-mille":"‰","zero-digit":"0",digit:"#","pattern-separator":";"};void 0!==r&&Object.keys(r).forEach((function(t){n[t]=r[t]}));for(var i=[],o=n["zero-digit"].charCodeAt(0),a=o;a<o+10;a++)i.push(String.fromCharCode(a));var s=i.concat([n["decimal-separator"],n["exponent-separator"],n["grouping-separator"],n.digit,n["pattern-separator"]]),c=e.split(n["pattern-separator"]);if(c.length>2)throw{code:"D3080",stack:(new Error).stack};var u=function(t){var e,r,i,o,a=function(){for(var e,r=0;r<t.length;r++)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(0,r)}(),c=function(){for(var e,r=t.length-1;r>=0;r--)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(r+1)}(),u=t.substring(a.length,t.length-c.length),l=t.indexOf(n["exponent-separator"],a.length);-1===l||l>t.length-c.length?(e=u,r=void 0):(e=u.substring(0,l),r=u.substring(l+1));var h=e.indexOf(n["decimal-separator"]);return-1===h?(i=e,o=c):(i=e.substring(0,h),o=e.substring(h+1)),{prefix:a,suffix:c,activePart:u,mantissaPart:e,exponentPart:r,integerPart:i,fractionalPart:o,subpicture:t}},l=function(t){var e,r,o=t.subpicture,a=o.indexOf(n["decimal-separator"]);a!==o.lastIndexOf(n["decimal-separator"])&&(e="D3081"),o.indexOf(n.percent)!==o.lastIndexOf(n.percent)&&(e="D3082"),o.indexOf(n["per-mille"])!==o.lastIndexOf(n["per-mille"])&&(e="D3083"),-1!==o.indexOf(n.percent)&&-1!==o.indexOf(n["per-mille"])&&(e="D3084");var c=!1;for(r=0;r<t.mantissaPart.length;r++){var u=t.mantissaPart.charAt(r);if(-1!==i.indexOf(u)||u===n.digit){c=!0;break}}c||(e="D3085"),-1!==t.activePart.split("").map((function(t){return-1===s.indexOf(t)?"p":"a"})).join("").indexOf("p")&&(e="D3086"),-1!==a?o.charAt(a-1)!==n["grouping-separator"]&&o.charAt(a+1)!==n["grouping-separator"]||(e="D3087"):t.integerPart.charAt(t.integerPart.length-1)===n["grouping-separator"]&&(e="D3088"),-1!==o.indexOf(n["grouping-separator"]+n["grouping-separator"])&&(e="D3089");var l=t.integerPart.indexOf(n.digit);-1!==l&&t.integerPart.substring(0,l).split("").filter((function(t){return i.indexOf(t)>-1})).length>0&&(e="D3090"),-1!==(l=t.fractionalPart.lastIndexOf(n.digit))&&t.fractionalPart.substring(l).split("").filter((function(t){return i.indexOf(t)>-1})).length>0&&(e="D3091");var h="string"==typeof t.exponentPart;if(h&&t.exponentPart.length>0&&(-1!==o.indexOf(n.percent)||-1!==o.indexOf(n["per-mille"]))&&(e="D3092"),h&&(0===t.exponentPart.length||t.exponentPart.split("").filter((function(t){return-1===i.indexOf(t)})).length>0)&&(e="D3093"),e)throw{code:e,stack:(new Error).stack}},h=function(t){var e=function(e,r){for(var o=[],a=e.indexOf(n["grouping-separator"]);-1!==a;){var s=(r?e.substring(0,a):e.substring(a)).split("").filter((function(t){return-1!==i.indexOf(t)||t===n.digit})).length;o.push(s),a=t.integerPart.indexOf(n["grouping-separator"],a+1)}return o},r=e(t.integerPart),o=function(t){if(0===t.length)return 0;for(var e=function t(e,r){return 0===r?e:t(r,e%r)},r=t.reduce(e),n=1;n<=t.length;n++)if(-1===t.indexOf(n*r))return 0;return r},a=o(r),s=e(t.fractionalPart,!0),c=t.integerPart.split("").filter((function(t){return-1!==i.indexOf(t)})).length,u=c,l=t.fractionalPart.split(""),h=l.filter((function(t){return-1!==i.indexOf(t)})).length,f=l.filter((function(t){return-1!==i.indexOf(t)||t===n.digit})).length,p="string"==typeof t.exponentPart;0===c&&0===f&&(p?(h=1,f=1):c=1),p&&0===c&&-1!==t.integerPart.indexOf(n.digit)&&(c=1),0===c&&0===h&&(h=1);var d=0;return p&&(d=t.exponentPart.split("").filter((function(t){return-1!==i.indexOf(t)})).length),{integerPartGroupingPositions:r,regularGrouping:a,minimumIntegerPartSize:c,scalingFactor:u,prefix:t.prefix,fractionalPartGroupingPositions:s,minimumFactionalPartSize:h,maximumFactionalPartSize:f,minimumExponentSize:d,suffix:t.suffix,picture:t.subpicture}},f=c.map(u);f.forEach(l);var p,d,g,v,y=f.map(h),m=n["minus-sign"],b=n["zero-digit"],x=n["decimal-separator"],w=n["grouping-separator"];if(1===y.length&&(y.push(JSON.parse(JSON.stringify(y[0]))),y[1].prefix=m+y[1].prefix),d=-1!==(p=t>=0?y[0]:y[1]).picture.indexOf(n.percent)?100*t:-1!==p.picture.indexOf(n["per-mille"])?1e3*t:t,0===p.minimumExponentSize)g=d;else{var A=Math.pow(10,p.scalingFactor),_=Math.pow(10,p.scalingFactor-1);for(g=d,v=0;g<_;)g*=10,v-=1;for(;g>A;)g/=10,v+=1}var k=function(t,e){var r=Math.abs(t).toFixed(e);return"0"!==b&&(r=r.split("").map((function(t){return t>="0"&&t<="9"?i[t.charCodeAt(0)-48]:t})).join("")),r},E=k($(g,p.maximumFactionalPartSize),p.maximumFactionalPartSize),S=E.indexOf(".");for(-1===S?E+=x:E=E.replace(".",x);E.charAt(0)===b;)E=E.substring(1);for(;E.charAt(E.length-1)===b;)E=E.substring(0,E.length-1);S=E.indexOf(x);var M=p.minimumIntegerPartSize-S,T=p.minimumFactionalPartSize-(E.length-S-1);if(E=(M>0?new Array(M+1).join(b):"")+E,E+=T>0?new Array(T+1).join(b):"",S=E.indexOf(x),p.regularGrouping>0)for(var P=Math.floor((S-1)/p.regularGrouping),O=1;O<=P;O++)E=[E.slice(0,S-O*p.regularGrouping),w,E.slice(S-O*p.regularGrouping)].join("");else p.integerPartGroupingPositions.forEach((function(t){E=[E.slice(0,S-t),w,E.slice(S-t)].join(""),S++}));if(S=E.indexOf(x),p.fractionalPartGroupingPositions.forEach((function(t){E=[E.slice(0,t+S+1),w,E.slice(t+S+1)].join("")})),S=E.indexOf(x),-1!==p.picture.indexOf(x)&&S!==E.length-1||(E=E.substring(0,E.length-1)),void 0!==v){var I=k(v,0);(M=p.minimumExponentSize-I.length)>0&&(I=new Array(M+1).join(b)+I),E=E+n["exponent-separator"]+(v<0?m:"")+I}return E=p.prefix+E+p.suffix}}function V(t,e){if(void 0!==t){if(t=$(t),(e=void 0===e?10:$(e))<2||e>36)throw{code:"D3100",stack:(new Error).stack,value:e};return t.toString(e)}}function Q(t){var e;if(void 0!==t){if("number"==typeof t)e=t;else if("string"==typeof t&&/^-?[0-9]+(\.[0-9]+)?([Ee][-+]?[0-9]+)?$/.test(t)&&!isNaN(parseFloat(t))&&isFinite(t))e=parseFloat(t);else if("string"==typeof t&&/^(0[xX][0-9A-Fa-f]+)|(0[oO][0-7]+)|(0[bB][0-1]+)$/.test(t))e=Number(t);else if(!0===t)e=1;else{if(!1!==t)throw{code:"D3030",value:t,stack:(new Error).stack,index:1};e=0}return e}}function K(t){if(void 0!==t)return Math.abs(t)}function J(t){if(void 0!==t)return Math.floor(t)}function Z(t){if(void 0!==t)return Math.ceil(t)}function $(t,e){var r;if(void 0!==t){if(e){var n=t.toString().split("e");t=+(n[0]+"e"+(n[1]?+n[1]+e:e))}var i=(r=Math.round(t))-t;return.5===Math.abs(i)&&1===Math.abs(r%2)&&(r-=1),e&&(n=r.toString().split("e"),r=+(n[0]+"e"+(n[1]?+n[1]-e:-e))),Object.is(r,-0)&&(r=0),r}}function tt(t){if(void 0!==t){if(t<0)throw{stack:(new Error).stack,code:"D3060",index:1,value:t};return Math.sqrt(t)}}function et(t,e){var r;if(void 0!==t){if(r=Math.pow(t,e),!isFinite(r))throw{stack:(new Error).stack,code:"D3061",index:1,value:t,exp:e};return r}}function rt(){return Math.random()}function nt(t){if(void 0!==t){var r=!1;return Array.isArray(t)?1===t.length?r=nt(t[0]):t.length>1&&(r=t.filter((function(t){return nt(t)})).length>0):"string"==typeof t?t.length>0&&(r=!0):e(t)?0!==t&&(r=!0):null!==t&&"object"===i(t)?Object.keys(t).length>0&&(r=!0):"boolean"==typeof t&&!0===t&&(r=!0),r}}function it(t){if(void 0!==t)return!nt(t)}function ot(t,e,r,n){var i=[e],o=p(t);return o>=2&&i.push(r),o>=3&&i.push(n),i}function at(t,e){return st.apply(this,arguments)}function st(){return(st=a(n().mark((function t(e,r){var i,o,a,s;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:i=c(),o=0;case 4:if(!(o<e.length)){t.next=13;break}return a=ot(r,e[o],o,e),t.next=8,r.apply(this,a);case 8:void 0!==(s=t.sent)&&i.push(s);case 10:o++,t.next=4;break;case 13:return t.abrupt("return",i);case 14:case"end":return t.stop()}}),t,this)})))).apply(this,arguments)}function ct(t,e){return ut.apply(this,arguments)}function ut(){return(ut=a(n().mark((function t(e,r){var i,o,a,s;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:i=c(),o=0;case 4:if(!(o<e.length)){t.next=14;break}return a=e[o],s=ot(r,a,o,e),t.next=9,r.apply(this,s);case 9:nt(t.sent)&&i.push(a);case 11:o++,t.next=4;break;case 14:return t.abrupt("return",i);case 15:case"end":return t.stop()}}),t,this)})))).apply(this,arguments)}function lt(t,e){return ht.apply(this,arguments)}function ht(){return(ht=a(n().mark((function t(e,r){var i,o,a,s,c,u,l;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:i=!1,a=0;case 4:if(!(a<e.length)){t.next=23;break}if(s=e[a],c=!0,void 0===r){t.next=13;break}return u=ot(r,s,a,e),t.next=11,r.apply(this,u);case 11:l=t.sent,c=nt(l);case 13:if(!c){t.next=20;break}if(i){t.next=19;break}o=s,i=!0,t.next=20;break;case 19:throw{stack:(new Error).stack,code:"D3138",index:a};case 20:a++,t.next=4;break;case 23:if(i){t.next=25;break}throw{stack:(new Error).stack,code:"D3139"};case 25:return t.abrupt("return",o);case 26:case"end":return t.stop()}}),t,this)})))).apply(this,arguments)}function ft(){for(var t=[],e=Array.prototype.slice.call(arguments),r=Math.min.apply(Math,e.map((function(t){return Array.isArray(t)?t.length:0}))),n=0;n<r;n++){var i=e.map((function(t){return t[n]}));t.push(i)}return t}function pt(t,e,r){return dt.apply(this,arguments)}function dt(){return dt=a(n().mark((function t(e,r,i){var o,a,s,c;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:if(!((a=p(r))<2)){t.next=5;break}throw{stack:(new Error).stack,code:"D3050",index:1};case 5:void 0===i&&e.length>0?(o=e[0],s=1):(o=i,s=0);case 6:if(!(s<e.length)){t.next=16;break}return c=[o,e[s]],a>=3&&c.push(s),a>=4&&c.push(e),t.next=12,r.apply(this,c);case 12:o=t.sent,s++,t.next=6;break;case 16:return t.abrupt("return",o);case 17:case"end":return t.stop()}}),t,this)}))),dt.apply(this,arguments)}function gt(t){var e=c();if(Array.isArray(t)){var r={};t.forEach((function(t){gt(t).forEach((function(t){r[t]=!0}))})),e=gt(r)}else null===t||"object"!==i(t)||h(t)||Object.keys(t).forEach((function(t){return e.push(t)}));return e}function vt(t,e){var r;if(Array.isArray(t)){r=c();for(var n=0;n<t.length;n++){var o=vt(t[n],e);void 0!==o&&(Array.isArray(o)?o.forEach((function(t){return r.push(t)})):r.push(o))}}else null!==t&&"object"===i(t)&&(r=t[e]);return r}function yt(t,e){return void 0===t?e:void 0===e?t:(Array.isArray(t)||(t=c(t)),Array.isArray(e)||(e=[e]),t.concat(e))}function mt(t){return void 0!==t}function bt(t){var e=c();if(Array.isArray(t))t.forEach((function(t){e=yt(e,bt(t))}));else if(null===t||"object"!==i(t)||h(t))e=t;else for(var r in t){var n={};n[r]=t[r],e.push(n)}return e}function xt(t){if(void 0!==t){var e={};return t.forEach((function(t){for(var r in t)e[r]=t[r]})),e}}function wt(t){if(void 0!==t){if(t.length<=1)return t;for(var e=t.length,r=new Array(e),n=0;n<e;n++)r[e-n-1]=t[n];return r}}function At(t,e){return _t.apply(this,arguments)}function _t(){return _t=a(n().mark((function t(e,r){var i,o,a,s;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=c(),t.t0=n().keys(e);case 2:if((t.t1=t.t0()).done){t.next=11;break}return o=t.t1.value,a=ot(r,e[o],o,e),t.next=7,r.apply(this,a);case 7:void 0!==(s=t.sent)&&i.push(s),t.next=2;break;case 11:return t.abrupt("return",i);case 12:case"end":return t.stop()}}),t,this)}))),_t.apply(this,arguments)}function kt(t){throw{code:"D3137",stack:(new Error).stack,message:t||"$error() function evaluated"}}function Et(t,e){if(!t)throw{code:"D3141",stack:(new Error).stack,message:e||"$assert() statement failed"}}function St(t){if(void 0!==t)return null===t?"null":e(t)?"number":"string"==typeof t?"string":"boolean"==typeof t?"boolean":Array.isArray(t)?"array":l(t)?"function":"object"}function Mt(t,e){return Tt.apply(this,arguments)}function Tt(){return Tt=a(n().mark((function t(e,i){var s,c,u,l;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:if(!(e.length<=1)){t.next=4;break}return t.abrupt("return",e);case 4:if(void 0!==i){t.next=10;break}if(o(e)||r(e)){t.next=7;break}throw{stack:(new Error).stack,code:"D3070",index:1};case 7:s=function(){var t=a(n().mark((function t(e,r){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e>r);case 1:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),t.next=11;break;case 10:s=i;case 11:return c=function(){var t=a(n().mark((function t(e,r){var i,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=function(){var t=a(n().mark((function t(e,r,o){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(0!==r.length){t.next=4;break}Array.prototype.push.apply(e,o),t.next=19;break;case 4:if(0!==o.length){t.next=8;break}Array.prototype.push.apply(e,r),t.next=19;break;case 8:return t.next=10,s(r[0],o[0]);case 10:if(!t.sent){t.next=16;break}return e.push(o[0]),t.next=14,i(e,r,o.slice(1));case 14:t.next=19;break;case 16:return e.push(r[0]),t.next=19,i(e,r.slice(1),o);case 19:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),o=[],t.next=4,i(o,e,r);case 4:return t.abrupt("return",o);case 5:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),u=function(){var t=a(n().mark((function t(e){var r,i,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(Array.isArray(e)&&!(e.length<=1)){t.next=4;break}return t.abrupt("return",e);case 4:return r=Math.floor(e.length/2),i=e.slice(0,r),o=e.slice(r),t.next=9,u(i);case 9:return i=t.sent,t.next=12,u(o);case 12:return o=t.sent,t.next=15,c(i,o);case 15:return t.abrupt("return",t.sent);case 16:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),t.next=15,u(e);case 15:return l=t.sent,t.abrupt("return",l);case 17:case"end":return t.stop()}}),t)}))),Tt.apply(this,arguments)}function Pt(t){if(void 0!==t){if(t.length<=1)return t;for(var e=new Array(t.length),r=0;r<t.length;r++){var n=Math.floor(Math.random()*(r+1));r!==n&&(e[r]=e[n]),e[n]=t[r]}return e}}function Ot(t){if(void 0!==t){if(!Array.isArray(t)||t.length<=1)return t;for(var e=u(t)?c():[],r=0;r<t.length;r++){for(var n=t[r],i=!1,o=0;o<e.length;o++)if(d(n,e[o])){i=!0;break}i||e.push(n)}return e}}function It(t,e){return Rt.apply(this,arguments)}function Rt(){return(Rt=a(n().mark((function t(e,r){var i,o,a,s;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i={},t.t0=n().keys(e);case 2:if((t.t1=t.t0()).done){t.next=12;break}return o=t.t1.value,a=e[o],s=ot(r,a,o,e),t.next=8,r.apply(this,s);case 8:nt(t.sent)&&(i[o]=a),t.next=2;break;case 12:return 0===Object.keys(i).length&&(i=void 0),t.abrupt("return",i);case 14:case"end":return t.stop()}}),t,this)})))).apply(this,arguments)}return{sum:v,count:y,max:m,min:b,average:x,string:w,substring:A,substringBefore:_,substringAfter:k,lowercase:E,uppercase:S,length:M,trim:T,pad:P,match:j,contains:R,replace:D,split:H,join:q,formatNumber:X,formatBase:V,number:Q,floor:J,ceil:Z,round:$,abs:K,sqrt:tt,power:et,random:rt,boolean:nt,not:it,map:at,zip:ft,filter:ct,single:lt,foldLeft:pt,sift:It,keys:gt,lookup:vt,append:yt,exists:mt,spread:bt,merge:xt,reverse:wt,each:At,error:kt,assert:Et,type:St,sort:Mt,shuffle:Pt,distinct:Ot,base64encode:F,base64decode:B,encodeUrlComponent:N,encodeUrl:U,decodeUrlComponent:G,decodeUrl:Y}}();r.exports=c}).call(this)}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils":6}],3:[function(t,e,r){function n(t,e){return a(t)||o(t,e)||c(t,e)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,s=[],c=!0,u=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(s.push(n.value),s.length!==e);c=!0);}catch(t){u=!0,i=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}function a(t){if(Array.isArray(t))return t}function s(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=c(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function c(t,e){if(t){if("string"==typeof t)return u(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(t,e):void 0}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function l(){
|
|
5
5
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
|
6
|
-
l=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(t,e,r,i){var o=e&&e.prototype instanceof d?e:d,a=Object.create(o.prototype),s=new M(i||[]);return n(a,"_invoke",{value:_(t,r,s)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function d(){}function g(){}function v(){}var y={};c(y,o,(function(){return this}));var m=Object.getPrototypeOf,b=m&&m(m(T([])));b&&b!==e&&r.call(b,o)&&(y=b);var x=v.prototype=d.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function i(n,o,a,s){var c=f(t[n],t,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==h(l)&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(l).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(c.arg)}var o;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){i(t,r,e,n)}))}return o=o?o.then(n,n):n()}})}function _(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=k(a,r);if(s){if(s===p)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,k(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=f(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,p;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function T(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:P}}function P(){return{value:void 0,done:!0}}return g.prototype=v,n(x,"constructor",{value:v,configurable:!0}),n(v,"constructor",{value:g,configurable:!0}),g.displayName=c(v,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,c(t,s,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},w(A.prototype),c(A.prototype,a,(function(){return this})),t.AsyncIterator=A,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new A(u(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(x),c(x,s,"Generator"),c(x,o,(function(){return this})),c(x,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=T,M.prototype={constructor:M,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:T(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function h(t){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h(t)}function f(t,e,r,n,i,o,a){try{var s=t[o](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,i)}function p(t){return function(){var e=this,r=arguments;return new Promise((function(n,i){var o=t.apply(e,r);function a(t){f(o,n,i,a,s,"next",t)}function s(t){f(o,n,i,a,s,"throw",t)}a(void 0)}))}}var d=t("./datetime"),g=t("./functions"),v=t("./utils"),y=t("./parser"),m=t("./signature"),b=function(){var t=v.isNumeric,e=v.isArrayOfStrings,r=v.isArrayOfNumbers,i=v.createSequence,o=v.isSequence,a=v.isFunction,c=v.isLambda,u=v.isIterable,f=v.isPromise,b=v.getFunctionArity,x=v.isDeepEqual,w=Ft(null);function A(t,e,r){return _.apply(this,arguments)}function _(){return(_=p(l().mark((function t(e,r,n){var i,a,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(a=n.lookup("__evaluate_entry"))){t.next=4;break}return t.next=4,a(e,r,n);case 4:t.t0=e.type,t.next="path"===t.t0?7:"binary"===t.t0?11:"unary"===t.t0?15:"name"===t.t0?19:"string"===t.t0||"number"===t.t0||"value"===t.t0?21:"wildcard"===t.t0?23:"descendant"===t.t0?25:"parent"===t.t0?27:"condition"===t.t0?29:"block"===t.t0?33:"bind"===t.t0?37:"regex"===t.t0?41:"function"===t.t0?43:"variable"===t.t0?47:"lambda"===t.t0?49:"partial"===t.t0?51:"apply"===t.t0?55:"transform"===t.t0?59:61;break;case 7:return t.next=9,k(e,r,n);case 9:return i=t.sent,t.abrupt("break",61);case 11:return t.next=13,L(e,r,n);case 13:return i=t.sent,t.abrupt("break",61);case 15:return t.next=17,z(e,r,n);case 17:return i=t.sent,t.abrupt("break",61);case 19:return i=B(e,r),t.abrupt("break",61);case 21:return i=N(e),t.abrupt("break",61);case 23:return i=U(e,r),t.abrupt("break",61);case 25:return i=Y(e,r),t.abrupt("break",61);case 27:return i=n.lookup(e.slot.label),t.abrupt("break",61);case 29:return t.next=31,ot(e,r,n);case 31:return i=t.sent,t.abrupt("break",61);case 33:return t.next=35,st(e,r,n);case 35:return i=t.sent,t.abrupt("break",61);case 37:return t.next=39,nt(e,r,n);case 39:return i=t.sent,t.abrupt("break",61);case 41:return i=ut(e),t.abrupt("break",61);case 43:return t.next=45,yt(e,r,n);case 45:return i=t.sent,t.abrupt("break",61);case 47:return i=lt(e,r,n),t.abrupt("break",61);case 49:return i=_t(e,r,n),t.abrupt("break",61);case 51:return t.next=53,kt(e,r,n);case 53:return i=t.sent,t.abrupt("break",61);case 55:return t.next=57,gt(e,r,n);case 57:return i=t.sent,t.abrupt("break",61);case 59:return i=pt(e,r,n),t.abrupt("break",61);case 61:if(!Object.prototype.hasOwnProperty.call(e,"predicate")){t.next=70;break}s=0;case 63:if(!(s<e.predicate.length)){t.next=70;break}return t.next=66,C(e.predicate[s].expr,i,n);case 66:i=t.sent;case 67:s++,t.next=63;break;case 70:if("path"===e.type||!Object.prototype.hasOwnProperty.call(e,"group")){t.next=74;break}return t.next=73,$(e.group,i,n);case 73:i=t.sent;case 74:if(!(c=n.lookup("__evaluate_exit"))){t.next=78;break}return t.next=78,c(e,r,n,i);case 78:return i&&o(i)&&!i.tupleStream&&(e.keepArray&&(i.keepSingleton=!0),0===i.length?i=void 0:1===i.length&&(i=i.keepSingleton?i:i[0])),t.abrupt("return",i);case 80:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function k(t,e,r){return E.apply(this,arguments)}function E(){return(E=p(l().mark((function t(e,r,n){var o,a,s,c,u,h;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=Array.isArray(r)&&"variable"!==e.steps[0].type?r:i(r),s=!1,c=void 0,u=0;case 4:if(!(u<e.steps.length)){t.next=28;break}if((h=e.steps[u]).tuple&&(s=!0),0!==u||!h.consarray){t.next=13;break}return t.next=10,A(h,o,n);case 10:a=t.sent,t.next=22;break;case 13:if(!s){t.next=19;break}return t.next=16,I(h,o,c,n);case 16:c=t.sent,t.next=22;break;case 19:return t.next=21,M(h,o,n,u===e.steps.length-1);case 21:a=t.sent;case 22:if(s||void 0!==a&&0!==a.length){t.next=24;break}return t.abrupt("break",28);case 24:void 0===h.focus&&(o=a);case 25:u++,t.next=4;break;case 28:if(s)if(e.tuple)a=c;else for(a=i(),u=0;u<c.length;u++)a.push(c[u]["@"]);if(e.keepSingletonArray&&(Array.isArray(a)&&a.cons&&!a.sequence&&(a=i(a)),a.keepSingleton=!0),!e.hasOwnProperty("group")){t.next=34;break}return t.next=33,$(e.group,s?c:a,n);case 33:a=t.sent;case 34:return t.abrupt("return",a);case 35:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function S(t,e){var r=Ft(t);for(var n in e)r.bind(n,e[n]);return r}function M(t,e,r,n){return T.apply(this,arguments)}function T(){return(T=p(l().mark((function t(e,r,n,a){var s,c,u,h,f;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("sort"!==e.type){t.next=9;break}return t.next=3,ht(e,r,n);case 3:if(s=t.sent,!e.stages){t.next=8;break}return t.next=7,P(e.stages,s,n);case 7:s=t.sent;case 8:return t.abrupt("return",s);case 9:s=i(),c=0;case 11:if(!(c<r.length)){t.next=28;break}return t.next=14,A(e,r[c],n);case 14:if(u=t.sent,!e.stages){t.next=24;break}h=0;case 17:if(!(h<e.stages.length)){t.next=24;break}return t.next=20,C(e.stages[h].expr,u,n);case 20:u=t.sent;case 21:h++,t.next=17;break;case 24:void 0!==u&&s.push(u);case 25:c++,t.next=11;break;case 28:return f=i(),a&&1===s.length&&Array.isArray(s[0])&&!o(s[0])?f=s[0]:s.forEach((function(t){!Array.isArray(t)||t.cons?f.push(t):t.forEach((function(t){return f.push(t)}))})),t.abrupt("return",f);case 31:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function P(t,e,r){return O.apply(this,arguments)}function O(){return(O=p(l().mark((function t(e,r,n){var i,o,a,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=r,o=0;case 2:if(!(o<e.length)){t.next=16;break}a=e[o],t.t0=a.type,t.next="filter"===t.t0?7:"index"===t.t0?11:13;break;case 7:return t.next=9,C(a.expr,i,n);case 9:return i=t.sent,t.abrupt("break",13);case 11:for(s=0;s<i.length;s++)i[s][a.value]=s;return t.abrupt("break",13);case 13:o++,t.next=2;break;case 16:return t.abrupt("return",i);case 17:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function I(t,e,r,n){return R.apply(this,arguments)}function R(){return(R=p(l().mark((function t(e,r,n,o){var a,s,c,u,h,f,p,d;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("sort"!==e.type){t.next=18;break}if(!n){t.next=7;break}return t.next=4,ht(e,n,o);case 4:a=t.sent,t.next=13;break;case 7:return t.next=9,ht(e,r,o);case 9:for(s=t.sent,(a=i()).tupleStream=!0,c=0;c<s.length;c++)(u={"@":s[c]})[e.index]=c,a.push(u);case 13:if(!e.stages){t.next=17;break}return t.next=16,P(e.stages,a,o);case 16:a=t.sent;case 17:return t.abrupt("return",a);case 18:(a=i()).tupleStream=!0,h=o,void 0===n&&(n=r.map((function(t){return{"@":t}}))),f=0;case 23:if(!(f<n.length)){t.next=32;break}return h=S(o,n[f]),t.next=27,A(e,n[f]["@"],h);case 27:if(void 0!==(p=t.sent))for(Array.isArray(p)||(p=[p]),d=0;d<p.length;d++)u={},Object.assign(u,n[f]),p.tupleStream?Object.assign(u,p[d]):(e.focus?(u[e.focus]=p[d],u["@"]=n[f]["@"]):u["@"]=p[d],e.index&&(u[e.index]=d),e.ancestor&&(u[e.ancestor.label]=n[f]["@"])),a.push(u);case 29:f++,t.next=23;break;case 32:if(!e.stages){t.next=36;break}return t.next=35,P(e.stages,a,o);case 35:a=t.sent;case 36:return t.abrupt("return",a);case 37:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function C(t,e,r){return j.apply(this,arguments)}function j(){return j=p(l().mark((function e(n,o,a){var s,c,u,h,f,p;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=i(),o&&o.tupleStream&&(s.tupleStream=!0),Array.isArray(o)||(o=i(o)),"number"!==n.type){e.next=10;break}(c=Math.floor(n.value))<0&&(c=o.length+c),void 0!==(u=o[c])&&(Array.isArray(u)?s=u:s.push(u)),e.next=24;break;case 10:c=0;case 11:if(!(c<o.length)){e.next=24;break}return u=o[c],h=u,f=a,o.tupleStream&&(h=u["@"],f=S(a,u)),e.next=18,A(n,h,f);case 18:p=e.sent,t(p)&&(p=[p]),r(p)?p.forEach((function(t){var e=Math.floor(t);e<0&&(e=o.length+e),e===c&&s.push(u)})):g.boolean(p)&&s.push(u);case 21:c++,e.next=11;break;case 24:return e.abrupt("return",s);case 25:case"end":return e.stop()}}),e)}))),j.apply(this,arguments)}function L(t,e,r){return D.apply(this,arguments)}function D(){return D=p(l().mark((function t(e,r,n){var i,o,a,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.lhs,r,n);case 2:if(o=t.sent,a=e.value,s=function(){var t=p(l().mark((function t(){return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.rhs,r,n);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),"and"!==a&&"or"!==a){t.next=17;break}return t.prev=6,t.next=9,Q(o,s,a);case 9:return t.abrupt("return",t.sent);case 12:throw t.prev=12,t.t0=t.catch(6),t.t0.position=e.position,t.t0.token=a,t.t0;case 17:return t.next=19,s();case 19:c=t.sent,t.prev=20,t.t1=a,t.next="+"===t.t1||"-"===t.t1||"*"===t.t1||"/"===t.t1||"%"===t.t1?24:"="===t.t1||"!="===t.t1?26:"<"===t.t1||"<="===t.t1||">"===t.t1||">="===t.t1?28:"&"===t.t1?30:".."===t.t1?32:"in"===t.t1?34:36;break;case 24:return i=W(o,c,a),t.abrupt("break",36);case 26:return i=q(o,c,a),t.abrupt("break",36);case 28:return i=X(o,c,a),t.abrupt("break",36);case 30:return i=Z(o,c),t.abrupt("break",36);case 32:return i=rt(o,c),t.abrupt("break",36);case 34:return i=V(o,c),t.abrupt("break",36);case 36:t.next=43;break;case 38:throw t.prev=38,t.t2=t.catch(20),t.t2.position=e.position,t.t2.token=a,t.t2;case 43:return t.abrupt("return",i);case 44:case"end":return t.stop()}}),t,null,[[6,12],[20,38]])}))),D.apply(this,arguments)}function z(t,e,r){return F.apply(this,arguments)}function F(){return F=p(l().mark((function e(r,i,o){var a,c,u,h,f,d,v,y;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r.value,e.next="-"===e.t0?3:"["===e.t0?16:"{"===e.t0?24:28;break;case 3:return e.next=5,A(r.expression,i,o);case 5:if(void 0!==(a=e.sent)){e.next=10;break}a=void 0,e.next=15;break;case 10:if(!t(a)){e.next=14;break}a=-a,e.next=15;break;case 14:throw{code:"D1002",stack:(new Error).stack,position:r.position,token:r.value,value:a};case 15:return e.abrupt("break",28);case 16:return a=[],e.next=19,Promise.all(r.expressions.map(function(){var t=p(l().mark((function t(e,r){return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o.isParallelCall=r>0,t.t0=e,t.next=4,A(e,i,o);case 4:return t.t1=t.sent,t.abrupt("return",[t.t0,t.t1]);case 6:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()));case 19:c=e.sent,u=s(c);try{for(u.s();!(h=u.n()).done;)f=h.value,d=n(f,2),v=d[0],void 0!==(y=d[1])&&("["===v.value?a.push(y):a=g.append(a,y))}catch(t){u.e(t)}finally{u.f()}return r.consarray&&Object.defineProperty(a,"cons",{enumerable:!1,configurable:!1,value:!0}),e.abrupt("break",28);case 24:return e.next=26,$(r,i,o);case 26:return a=e.sent,e.abrupt("break",28);case 28:return e.abrupt("return",a);case 29:case"end":return e.stop()}}),e)}))),F.apply(this,arguments)}function B(t,e,r){return g.lookup(e,t.value)}function N(t){return t.value}function U(t,e){var r=i();return Array.isArray(e)&&e.outerWrapper&&e.length>0&&(e=e[0]),null!==e&&"object"===h(e)&&Object.keys(e).forEach((function(t){var n=e[t];Array.isArray(n)?(n=G(n),r=g.append(r,n)):r.push(n)})),r}function G(t,e){return void 0===e&&(e=[]),Array.isArray(t)?t.forEach((function(t){G(t,e)})):e.push(t),e}function Y(t,e){var r,n=i();return void 0!==e&&(H(e,n),r=1===n.length?n[0]:n),r}function H(t,e){Array.isArray(t)||e.push(t),Array.isArray(t)?t.forEach((function(t){H(t,e)})):null!==t&&"object"===h(t)&&Object.keys(t).forEach((function(r){H(t[r],e)}))}function W(e,r,n){var i;if(void 0!==e&&!t(e))throw{code:"T2001",stack:(new Error).stack,value:e};if(void 0!==r&&!t(r))throw{code:"T2002",stack:(new Error).stack,value:r};if(void 0===e||void 0===r)return i;switch(n){case"+":i=e+r;break;case"-":i=e-r;break;case"*":i=e*r;break;case"/":i=e/r;break;case"%":i=e%r}return i}function q(t,e,r){var n,i=h(t),o=h(e);if("undefined"===i||"undefined"===o)return!1;switch(r){case"=":n=x(t,e);break;case"!=":n=!x(t,e)}return n}function X(t,e,r){var n,i=h(t),o=h(e);if("undefined"!==i&&"string"!==i&&"number"!==i||"undefined"!==o&&"string"!==o&&"number"!==o)throw{code:"T2010",stack:(new Error).stack,value:"string"!==i&&"number"!==i?t:e};if("undefined"!==i&&"undefined"!==o){if(i!==o)throw{code:"T2009",stack:(new Error).stack,value:t,value2:e};switch(r){case"<":n=t<e;break;case"<=":n=t<=e;break;case">":n=t>e;break;case">=":n=t>=e}return n}}function V(t,e){var r=!1;if(void 0===t||void 0===e)return!1;Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++)if(e[n]===t){r=!0;break}return r}function Q(t,e,r){return K.apply(this,arguments)}function K(){return(K=p(l().mark((function t(e,r,n){var i,o;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=J(e),t.t0=n,t.next="and"===t.t0?4:"or"===t.t0?13:22;break;case 4:if(t.t1=o,!t.t1){t.next=11;break}return t.t2=J,t.next=9,r();case 9:t.t3=t.sent,t.t1=(0,t.t2)(t.t3);case 11:return i=t.t1,t.abrupt("break",22);case 13:if(t.t4=o,t.t4){t.next=20;break}return t.t5=J,t.next=18,r();case 18:t.t6=t.sent,t.t4=(0,t.t5)(t.t6);case 20:return i=t.t4,t.abrupt("break",22);case 22:return t.abrupt("return",i);case 23:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function J(t){var e=g.boolean(t);return void 0!==e&&e}function Z(t,e){var r="",n="";return void 0!==t&&(r=g.string(t)),void 0!==e&&(n=g.string(e)),r.concat(n)}function $(t,e,r){return tt.apply(this,arguments)}function tt(){return tt=p(l().mark((function t(e,r,o){var a,c,u,h,f,d,v,y,m,b,x,w,_,k,E,M,T;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:a={},c={},u=!(!r||!r.tupleStream),Array.isArray(r)||(r=i(r)),0===r.length&&r.push(void 0),h=0;case 6:if(!(h<r.length)){t.next=32;break}f=r[h],d=u?S(o,f):o,v=0;case 10:if(!(v<e.lhs.length)){t.next=29;break}return y=e.lhs[v],t.next=14,A(y[0],u?f["@"]:f,d);case 14:if("string"==typeof(m=t.sent)||void 0===m){t.next=17;break}throw{code:"T1003",stack:(new Error).stack,position:e.position,value:m};case 17:if(void 0===m){t.next=26;break}if(b={data:f,exprIndex:v},!c.hasOwnProperty(m)){t.next=25;break}if(c[m].exprIndex===v){t.next=22;break}throw{code:"D1009",stack:(new Error).stack,position:e.position,value:m};case 22:c[m].data=g.append(c[m].data,f),t.next=26;break;case 25:c[m]=b;case 26:v++,t.next=10;break;case 29:h++,t.next=6;break;case 32:return t.next=34,Promise.all(Object.keys(c).map(function(){var t=p(l().mark((function t(r,n){var i,a,s,h;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=c[r],a=i.data,s=o,u&&(h=et(i.data),a=h["@"],delete h["@"],s=S(o,h)),o.isParallelCall=n>0,t.t0=r,t.next=8,A(e.lhs[i.exprIndex][1],a,s);case 8:return t.t1=t.sent,t.abrupt("return",[t.t0,t.t1]);case 10:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()));case 34:x=t.sent,w=s(x),t.prev=36,w.s();case 38:if((_=w.n()).done){t.next=49;break}return k=_.value,t.next=42,k;case 42:E=t.sent,M=n(E,2),m=M[0],void 0!==(T=M[1])&&(a[m]=T);case 47:t.next=38;break;case 49:t.next=54;break;case 51:t.prev=51,t.t0=t.catch(36),w.e(t.t0);case 54:return t.prev=54,w.f(),t.finish(54);case 57:return t.abrupt("return",a);case 58:case"end":return t.stop()}}),t,null,[[36,51,54,57]])}))),tt.apply(this,arguments)}function et(t){if(!Array.isArray(t))return t;var e={};Object.assign(e,t[0]);for(var r=1;r<t.length;r++)for(var n in t[r])e[n]=g.append(e[n],t[r][n]);return e}function rt(t,e){var r;if(void 0!==t&&!Number.isInteger(t))throw{code:"T2003",stack:(new Error).stack,value:t};if(void 0!==e&&!Number.isInteger(e))throw{code:"T2004",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return r;if(t>e)return r;var n=e-t+1;if(n>1e7)throw{code:"D2014",stack:(new Error).stack,value:n};r=new Array(n);for(var i=t,o=0;i<=e;i++,o++)r[o]=i;return r.sequence=!0,r}function nt(t,e,r){return it.apply(this,arguments)}function it(){return it=p(l().mark((function t(e,r,n){var i;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.rhs,r,n);case 2:return i=t.sent,n.bind(e.lhs.value,i),t.abrupt("return",i);case 5:case"end":return t.stop()}}),t)}))),it.apply(this,arguments)}function ot(t,e,r){return at.apply(this,arguments)}function at(){return(at=p(l().mark((function t(e,r,n){var i,o;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.condition,r,n);case 2:if(o=t.sent,!g.boolean(o)){t.next=9;break}return t.next=6,A(e.then,r,n);case 6:i=t.sent,t.next=13;break;case 9:if(void 0===e.else){t.next=13;break}return t.next=12,A(e.else,r,n);case 12:i=t.sent;case 13:return t.abrupt("return",i);case 14:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function st(t,e,r){return ct.apply(this,arguments)}function ct(){return(ct=p(l().mark((function t(e,r,n){var i,o,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=Ft(n),a=0;case 2:if(!(a<e.expressions.length)){t.next=9;break}return t.next=5,A(e.expressions[a],r,o);case 5:i=t.sent;case 6:a++,t.next=2;break;case 9:return t.abrupt("return",i);case 10:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ut(t){var e=new Ut.RegexEngine(t.value),r=function r(n,i){var o;e.lastIndex=i||0;var a=e.exec(n);if(null!==a){if(o={match:a[0],start:a.index,end:a.index+a[0].length,groups:[]},a.length>1)for(var s=1;s<a.length;s++)o.groups.push(a[s]);o.next=function(){if(!(e.lastIndex>=n.length)){var i=r(n,e.lastIndex);if(i&&""===i.match)throw{code:"D1004",stack:(new Error).stack,position:t.position,value:t.value.source};return i}}}return o};return r}function lt(t,e,r){return""===t.value?e&&e.outerWrapper?e[0]:e:r.lookup(t.value)}function ht(t,e,r){return ft.apply(this,arguments)}function ft(){return ft=p(l().mark((function t(e,r,n){var i,o,a,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=r,a=!!r.tupleStream,s=function(){var t=p(l().mark((function t(r,i){var o,s,c,u,f,p,d,g,v;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=0,s=0;case 2:if(!(0===o&&s<e.terms.length)){t.next=37;break}return c=e.terms[s],u=r,f=n,a&&(u=r["@"],f=S(n,r)),t.next=9,A(c.expression,u,f);case 9:return p=t.sent,u=i,f=n,a&&(u=i["@"],f=S(n,i)),t.next=15,A(c.expression,u,f);case 15:if(d=t.sent,g=h(p),v=h(d),"undefined"!==g){t.next=21;break}return o="undefined"===v?0:1,t.abrupt("continue",34);case 21:if("undefined"!==v){t.next=24;break}return o=-1,t.abrupt("continue",34);case 24:if(!("string"!==g&&"number"!==g||"string"!==v&&"number"!==v)){t.next=26;break}throw{code:"T2008",stack:(new Error).stack,position:e.position,value:"string"!==g&&"number"!==g?p:d};case 26:if(g===v){t.next=28;break}throw{code:"T2007",stack:(new Error).stack,position:e.position,value:p,value2:d};case 28:if(p!==d){t.next=32;break}return t.abrupt("continue",34);case 32:o=p<d?-1:1;case 33:!0===c.descending&&(o=-o);case 34:s++,t.next=2;break;case 37:return t.abrupt("return",1===o);case 38:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),c={environment:n,input:r},t.next=6,g.sort.apply(c,[o,s]);case 6:return i=t.sent,t.abrupt("return",i);case 8:case"end":return t.stop()}}),t)}))),ft.apply(this,arguments)}function pt(t,r,n){var i=function(){var r=p(l().mark((function r(i){var o,s,c,u,f,p,d,g,v,y,m;return l().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(void 0!==i){r.next=2;break}return r.abrupt("return",void 0);case 2:if(o=n.lookup("clone"),a(o)){r.next=5;break}throw{code:"T2013",stack:(new Error).stack,position:t.position};case 5:return r.next=7,bt(o,[i],null,n);case 7:return s=r.sent,r.next=10,A(t.pattern,s,n);case 10:if(void 0===(c=r.sent)){r.next=37;break}Array.isArray(c)||(c=[c]),u=0;case 14:if(!(u<c.length)){r.next=37;break}return f=c[u],r.next=18,A(t.update,f,n);case 18:if(p=r.sent,"undefined"===(d=h(p))){r.next=24;break}if("object"===d&&null!==p&&!Array.isArray(p)){r.next=23;break}throw{code:"T2011",stack:(new Error).stack,position:t.update.position,value:p};case 23:for(g in p)f[g]=p[g];case 24:if(void 0===t.delete){r.next=34;break}return r.next=27,A(t.delete,f,n);case 27:if(void 0===(v=r.sent)){r.next=34;break}if(y=v,Array.isArray(v)||(v=[v]),e(v)){r.next=33;break}throw{code:"T2012",stack:(new Error).stack,position:t.delete.position,value:y};case 33:for(m=0;m<v.length;m++)"object"===h(f)&&null!==f&&delete f[v[m]];case 34:u++,r.next=14;break;case 37:return r.abrupt("return",s);case 38:case"end":return r.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}();return jt(i,"<(oa):o>")}var dt=y("function($f, $g) { function($x){ $g($f($x)) } }");function gt(t,e,r){return vt.apply(this,arguments)}function vt(){return(vt=p(l().mark((function t(e,r,n){var i,o,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.lhs,r,n);case 2:if(o=t.sent,"function"!==e.rhs.type){t.next=9;break}return t.next=6,yt(e.rhs,r,n,{context:o});case 6:i=t.sent,t.next=26;break;case 9:return t.next=11,A(e.rhs,r,n);case 11:if(s=t.sent,a(s)){t.next=14;break}throw{code:"T2006",stack:(new Error).stack,position:e.position,value:s};case 14:if(!a(o)){t.next=23;break}return t.next=17,A(dt,null,n);case 17:return c=t.sent,t.next=20,bt(c,[o,s],null,n);case 20:i=t.sent,t.next=26;break;case 23:return t.next=25,bt(s,[o],null,n);case 25:i=t.sent;case 26:return t.abrupt("return",i);case 27:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function yt(t,e,r,n){return mt.apply(this,arguments)}function mt(){return mt=p(l().mark((function t(e,r,n,i){var o,s,c,u,f,d;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.procedure,r,n);case 2:if(void 0!==(s=t.sent)||"path"!==e.procedure.type||!n.lookup(e.procedure.steps[0].value)){t.next=5;break}throw{code:"T1005",stack:(new Error).stack,position:e.position,token:e.procedure.steps[0].value};case 5:c=[],void 0!==i&&c.push(i.context),u=l().mark((function t(){var i,o;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.arguments[f],r,n);case 2:i=t.sent,a(i)?(o=function(){var t=p(l().mark((function t(){var e,r,o,a=arguments;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(e=a.length,r=new Array(e),o=0;o<e;o++)r[o]=a[o];return t.next=3,bt(i,r,null,n);case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),o.arity=b(i),c.push(o)):c.push(i);case 4:case"end":return t.stop()}}),t)})),f=0;case 9:if(!(f<e.arguments.length)){t.next=14;break}return t.delegateYield(u(),"t0",11);case 11:f++,t.next=9;break;case 14:return d="path"===e.procedure.type?e.procedure.steps[0].value:e.procedure.value,t.prev=15,"object"===h(s)&&(s.token=d,s.position=e.position),t.next=19,bt(s,c,r,n);case 19:o=t.sent,t.next=27;break;case 22:throw t.prev=22,t.t1=t.catch(15),t.t1.position||(t.t1.position=e.position),t.t1.token||(t.t1.token=d),t.t1;case 27:return t.abrupt("return",o);case 28:case"end":return t.stop()}}),t,null,[[15,22]])}))),mt.apply(this,arguments)}function bt(t,e,r,n){return xt.apply(this,arguments)}function xt(){return(xt=p(l().mark((function t(e,r,n,i){var o,a,s,u;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,wt(e,r,n,i);case 2:o=t.sent;case 3:if(!c(o)||!0!==o.thunk){t.next=25;break}return t.next=6,A(o.body.procedure,o.input,o.environment);case 6:a=t.sent,"variable"===o.body.procedure.type&&(a.token=o.body.procedure.value),a.position=o.body.procedure.position,s=[],u=0;case 11:if(!(u<o.body.arguments.length)){t.next=20;break}return t.t0=s,t.next=15,A(o.body.arguments[u],o.input,o.environment);case 15:t.t1=t.sent,t.t0.push.call(t.t0,t.t1);case 17:u++,t.next=11;break;case 20:return t.next=22,wt(a,s,n,i);case 22:o=t.sent,t.next=3;break;case 25:return t.abrupt("return",o);case 26:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function wt(t,e,r,n){return At.apply(this,arguments)}function At(){return(At=p(l().mark((function t(e,r,n,i){var o,a,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,a=r,e&&(a=St(e.signature,r,n)),!c(e)){t.next=9;break}return t.next=6,Mt(e,a);case 6:o=t.sent,t.next=28;break;case 9:if(!e||!0!==e._jsonata_function){t.next=19;break}if(s={environment:i,input:n},o=e.implementation.apply(s,a),u(o)&&(o=o.next().value),!f(o)){t.next=17;break}return t.next=16,o;case 16:o=t.sent;case 17:t.next=28;break;case 19:if("function"!=typeof e){t.next=27;break}if(o=e.apply(n,a),!f(o)){t.next=25;break}return t.next=24,o;case 24:o=t.sent;case 25:t.next=28;break;case 27:throw{code:"T1006",stack:(new Error).stack};case 28:t.next=34;break;case 30:throw t.prev=30,t.t0=t.catch(0),e&&(void 0===t.t0.token&&void 0!==e.token&&(t.t0.token=e.token),t.t0.position=e.position),t.t0;case 34:return t.abrupt("return",o);case 35:case"end":return t.stop()}}),t,null,[[0,30]])})))).apply(this,arguments)}function _t(t,e,r){var n={_jsonata_lambda:!0,input:e,environment:r,arguments:t.arguments,signature:t.signature,body:t.body};return!0===t.thunk&&(n.thunk=!0),n.apply=function(){var t=p(l().mark((function t(i,o){return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,bt(n,o,e,i?i.environment:r);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),n}function kt(t,e,r){return Et.apply(this,arguments)}function Et(){return(Et=p(l().mark((function t(e,r,n){var i,o,a,s,u;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=[],a=0;case 2:if(!(a<e.arguments.length)){t.next=16;break}if("operator"!==(s=e.arguments[a]).type||"?"!==s.value){t.next=8;break}o.push(s),t.next=13;break;case 8:return t.t0=o,t.next=11,A(s,r,n);case 11:t.t1=t.sent,t.t0.push.call(t.t0,t.t1);case 13:a++,t.next=2;break;case 16:return t.next=18,A(e.procedure,r,n);case 18:if(void 0!==(u=t.sent)||"path"!==e.procedure.type||!n.lookup(e.procedure.steps[0].value)){t.next=21;break}throw{code:"T1007",stack:(new Error).stack,position:e.position,token:e.procedure.steps[0].value};case 21:if(!c(u)){t.next=25;break}i=Pt(u,o),t.next=34;break;case 25:if(!u||!0!==u._jsonata_function){t.next=29;break}i=Ot(u.implementation,o),t.next=34;break;case 29:if("function"!=typeof u){t.next=33;break}i=Ot(u,o),t.next=34;break;case 33:throw{code:"T1008",stack:(new Error).stack,position:e.position,token:"path"===e.procedure.type?e.procedure.steps[0].value:e.procedure.value};case 34:return t.abrupt("return",i);case 35:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function St(t,e,r){return void 0===t?e:t.validate(e,r)}function Mt(t,e){return Tt.apply(this,arguments)}function Tt(){return Tt=p(l().mark((function t(e,r){var n,i;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=Ft(e.environment),e.arguments.forEach((function(t,e){i.bind(t.value,r[e])})),"function"!=typeof e.body){t.next=8;break}return t.next=5,It(e.body,i);case 5:n=t.sent,t.next=11;break;case 8:return t.next=10,A(e.body,e.input,i);case 10:n=t.sent;case 11:return t.abrupt("return",n);case 12:case"end":return t.stop()}}),t)}))),Tt.apply(this,arguments)}function Pt(t,e){var r=Ft(t.environment),n=[];return t.arguments.forEach((function(t,i){var o=e[i];o&&"operator"===o.type&&"?"===o.value?n.push(t):r.bind(t.value,o)})),{_jsonata_lambda:!0,input:t.input,environment:r,arguments:n,body:t.body}}function Ot(t,e){var r=Ct(t),n="function("+(r=r.map((function(t){return"$"+t.trim()}))).join(", ")+"){ _ }",i=y(n);return i.body=t,Pt(i,e)}function It(t,e){return Rt.apply(this,arguments)}function Rt(){return(Rt=p(l().mark((function t(e,r){var n,i,o,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=Ct(e),i=n.map((function(t){return r.lookup(t.trim())})),o={environment:r},a=e.apply(o,i),!f(a)){t.next=8;break}return t.next=7,a;case 7:a=t.sent;case 8:return t.abrupt("return",a);case 9:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Ct(t){var e=t.toString();return/\(([^)]*)\)/.exec(e)[1].split(",")}function jt(t,e){var r={_jsonata_function:!0,implementation:t};return void 0!==e&&(r.signature=m(e)),r}function Lt(t,e){return Dt.apply(this,arguments)}function Dt(){return(Dt=p(l().mark((function t(e,r){var n,a,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:n=this.input,void 0!==r&&(n=r,Array.isArray(n)&&!o(n)&&((n=i(n)).outerWrapper=!0)),t.prev=4,a=y(e,!1),t.next=12;break;case 8:throw t.prev=8,t.t0=t.catch(4),Nt(t.t0),{stack:(new Error).stack,code:"D3120",value:t.t0.message,error:t.t0};case 12:return t.prev=12,t.next=15,A(a,n,this.environment);case 15:s=t.sent,t.next=22;break;case 18:throw t.prev=18,t.t1=t.catch(12),Nt(t.t1),{stack:(new Error).stack,code:"D3121",value:t.t1.message,error:t.t1};case 22:return t.abrupt("return",s);case 23:case"end":return t.stop()}}),t,this,[[4,8],[12,18]])})))).apply(this,arguments)}function zt(t){if(void 0!==t)return JSON.parse(g.string(t))}function Ft(t){var e={};return{bind:function(t,r){e[t]=r},lookup:function(r){var n;return e.hasOwnProperty(r)?n=e[r]:t&&(n=t.lookup(r)),n},timestamp:t?t.timestamp:null,async:!!t&&t.async,isParallelCall:!!t&&t.isParallelCall,global:t?t.global:{ancestry:[null]}}}w.bind("sum",jt(g.sum,"<a<n>:n>")),w.bind("count",jt(g.count,"<a:n>")),w.bind("max",jt(g.max,"<a<n>:n>")),w.bind("min",jt(g.min,"<a<n>:n>")),w.bind("average",jt(g.average,"<a<n>:n>")),w.bind("string",jt(g.string,"<x-b?:s>")),w.bind("substring",jt(g.substring,"<s-nn?:s>")),w.bind("substringBefore",jt(g.substringBefore,"<s-s:s>")),w.bind("substringAfter",jt(g.substringAfter,"<s-s:s>")),w.bind("lowercase",jt(g.lowercase,"<s-:s>")),w.bind("uppercase",jt(g.uppercase,"<s-:s>")),w.bind("length",jt(g.length,"<s-:n>")),w.bind("trim",jt(g.trim,"<s-:s>")),w.bind("pad",jt(g.pad,"<s-ns?:s>")),w.bind("match",jt(g.match,"<s-f<s:o>n?:a<o>>")),w.bind("contains",jt(g.contains,"<s-(sf):b>")),w.bind("replace",jt(g.replace,"<s-(sf)(sf)n?:s>")),w.bind("split",jt(g.split,"<s-(sf)n?:a<s>>")),w.bind("join",jt(g.join,"<a<s>s?:s>")),w.bind("formatNumber",jt(g.formatNumber,"<n-so?:s>")),w.bind("formatBase",jt(g.formatBase,"<n-n?:s>")),w.bind("formatInteger",jt(d.formatInteger,"<n-s:s>")),w.bind("parseInteger",jt(d.parseInteger,"<s-s:n>")),w.bind("number",jt(g.number,"<(nsb)-:n>")),w.bind("floor",jt(g.floor,"<n-:n>")),w.bind("ceil",jt(g.ceil,"<n-:n>")),w.bind("round",jt(g.round,"<n-n?:n>")),w.bind("abs",jt(g.abs,"<n-:n>")),w.bind("sqrt",jt(g.sqrt,"<n-:n>")),w.bind("power",jt(g.power,"<n-n:n>")),w.bind("random",jt(g.random,"<:n>")),w.bind("boolean",jt(g.boolean,"<x-:b>")),w.bind("not",jt(g.not,"<x-:b>")),w.bind("map",jt(g.map,"<af>")),w.bind("zip",jt(g.zip,"<a+>")),w.bind("filter",jt(g.filter,"<af>")),w.bind("single",jt(g.single,"<af?>")),w.bind("reduce",jt(g.foldLeft,"<afj?:j>")),w.bind("sift",jt(g.sift,"<o-f?:o>")),w.bind("keys",jt(g.keys,"<x-:a<s>>")),w.bind("lookup",jt(g.lookup,"<x-s:x>")),w.bind("append",jt(g.append,"<xx:a>")),w.bind("exists",jt(g.exists,"<x:b>")),w.bind("spread",jt(g.spread,"<x-:a<o>>")),w.bind("merge",jt(g.merge,"<a<o>:o>")),w.bind("reverse",jt(g.reverse,"<a:a>")),w.bind("each",jt(g.each,"<o-f:a>")),w.bind("error",jt(g.error,"<s?:x>")),w.bind("assert",jt(g.assert,"<bs?:x>")),w.bind("type",jt(g.type,"<x:s>")),w.bind("sort",jt(g.sort,"<af?:a>")),w.bind("shuffle",jt(g.shuffle,"<a:a>")),w.bind("distinct",jt(g.distinct,"<x:x>")),w.bind("base64encode",jt(g.base64encode,"<s-:s>")),w.bind("base64decode",jt(g.base64decode,"<s-:s>")),w.bind("encodeUrlComponent",jt(g.encodeUrlComponent,"<s-:s>")),w.bind("encodeUrl",jt(g.encodeUrl,"<s-:s>")),w.bind("decodeUrlComponent",jt(g.decodeUrlComponent,"<s-:s>")),w.bind("decodeUrl",jt(g.decodeUrl,"<s-:s>")),w.bind("eval",jt(Lt,"<sx?:x>")),w.bind("toMillis",jt(d.toMillis,"<s-s?:n>")),w.bind("fromMillis",jt(d.fromMillis,"<n-s?s?:s>")),w.bind("clone",jt(zt,"<(oa)-:o>"));var Bt={S0101:"String literal must be terminated by a matching quote",S0102:"Number out of range: {{token}}",S0103:"Unsupported escape sequence: \\{{token}}",S0104:"The escape sequence \\u must be followed by 4 hex digits",S0105:"Quoted property name must be terminated with a backquote (`)",S0106:"Comment has no closing tag",S0201:"Syntax error: {{token}}",S0202:"Expected {{value}}, got {{token}}",S0203:"Expected {{value}} before end of expression",S0204:"Unknown operator: {{token}}",S0205:"Unexpected token: {{token}}",S0206:"Unknown expression type: {{token}}",S0207:"Unexpected end of expression",S0208:"Parameter {{value}} of function definition must be a variable name (start with $)",S0209:"A predicate cannot follow a grouping expression in a step",S0210:"Each step can only have one grouping expression",S0211:"The symbol {{token}} cannot be used as a unary operator",S0212:"The left side of := must be a variable name (start with $)",S0213:"The literal value {{value}} cannot be used as a step within a path expression",S0214:"The right side of {{token}} must be a variable name (start with $)",S0215:"A context variable binding must precede any predicates on a step",S0216:"A context variable binding must precede the 'order-by' clause on a step",S0217:"The object representing the 'parent' cannot be derived from this expression",S0301:"Empty regular expressions are not allowed",S0302:"No terminating / in regular expression",S0402:"Choice groups containing parameterized types are not supported",S0401:"Type parameters can only be applied to functions and arrays",S0500:"Attempted to evaluate an expression containing syntax error(s)",T0410:"Argument {{index}} of function {{token}} does not match function signature",T0411:"Context value is not a compatible type with argument {{index}} of function {{token}}",T0412:"Argument {{index}} of function {{token}} must be an array of {{type}}",D1001:"Number out of range: {{value}}",D1002:"Cannot negate a non-numeric value: {{value}}",T1003:"Key in object structure must evaluate to a string; got: {{value}}",D1004:"Regular expression matches zero length string",T1005:"Attempted to invoke a non-function. Did you mean ${{{token}}}?",T1006:"Attempted to invoke a non-function",T1007:"Attempted to partially apply a non-function. Did you mean ${{{token}}}?",T1008:"Attempted to partially apply a non-function",D1009:"Multiple key definitions evaluate to same key: {{value}}",T1010:"The matcher function argument passed to function {{token}} does not return the correct object structure",T2001:"The left side of the {{token}} operator must evaluate to a number",T2002:"The right side of the {{token}} operator must evaluate to a number",T2003:"The left side of the range operator (..) must evaluate to an integer",T2004:"The right side of the range operator (..) must evaluate to an integer",D2005:"The left side of := must be a variable name (start with $)",T2006:"The right side of the function application operator ~> must be a function",T2007:"Type mismatch when comparing values {{value}} and {{value2}} in order-by clause",T2008:"The expressions within an order-by clause must evaluate to numeric or string values",T2009:"The values {{value}} and {{value2}} either side of operator {{token}} must be of the same data type",T2010:"The expressions either side of operator {{token}} must evaluate to numeric or string values",T2011:"The insert/update clause of the transform expression must evaluate to an object: {{value}}",T2012:"The delete clause of the transform expression must evaluate to a string or array of strings: {{value}}",T2013:"The transform expression clones the input object using the $clone() function. This has been overridden in the current scope by a non-function.",D2014:"The size of the sequence allocated by the range operator (..) must not exceed 1e6. Attempted to allocate {{value}}.",D3001:"Attempting to invoke string function on Infinity or NaN",D3010:"Second argument of replace function cannot be an empty string",D3011:"Fourth argument of replace function must evaluate to a positive number",D3012:"Attempted to replace a matched string with a non-string value",D3020:"Third argument of split function must evaluate to a positive number",D3030:"Unable to cast value to a number: {{value}}",D3040:"Third argument of match function must evaluate to a positive number",D3050:"The second argument of reduce function must be a function with at least two arguments",D3060:"The sqrt function cannot be applied to a negative number: {{value}}",D3061:"The power function has resulted in a value that cannot be represented as a JSON number: base={{value}}, exponent={{exp}}",D3070:"The single argument form of the sort function can only be applied to an array of strings or an array of numbers. Use the second argument to specify a comparison function",D3080:"The picture string must only contain a maximum of two sub-pictures",D3081:"The sub-picture must not contain more than one instance of the 'decimal-separator' character",D3082:"The sub-picture must not contain more than one instance of the 'percent' character",D3083:"The sub-picture must not contain more than one instance of the 'per-mille' character",D3084:"The sub-picture must not contain both a 'percent' and a 'per-mille' character",D3085:"The mantissa part of a sub-picture must contain at least one character that is either an 'optional digit character' or a member of the 'decimal digit family'",D3086:"The sub-picture must not contain a passive character that is preceded by an active character and that is followed by another active character",D3087:"The sub-picture must not contain a 'grouping-separator' character that appears adjacent to a 'decimal-separator' character",D3088:"The sub-picture must not contain a 'grouping-separator' at the end of the integer part",D3089:"The sub-picture must not contain two adjacent instances of the 'grouping-separator' character",D3090:"The integer part of the sub-picture must not contain a member of the 'decimal digit family' that is followed by an instance of the 'optional digit character'",D3091:"The fractional part of the sub-picture must not contain an instance of the 'optional digit character' that is followed by a member of the 'decimal digit family'",D3092:"A sub-picture that contains a 'percent' or 'per-mille' character must not contain a character treated as an 'exponent-separator'",D3093:"The exponent part of the sub-picture must comprise only of one or more characters that are members of the 'decimal digit family'",D3100:"The radix of the formatBase function must be between 2 and 36. It was given {{value}}",D3110:"The argument of the toMillis function must be an ISO 8601 formatted timestamp. Given {{value}}",D3120:"Syntax error in expression passed to function eval: {{value}}",D3121:"Dynamic error evaluating the expression passed to function eval: {{value}}",D3130:"Formatting or parsing an integer as a sequence starting with {{value}} is not supported by this implementation",D3131:"In a decimal digit pattern, all digits must be from the same decimal group",D3132:"Unknown component specifier {{value}} in date/time picture string",D3133:"The 'name' modifier can only be applied to months and days in the date/time picture string, not {{value}}",D3134:"The timezone integer format specifier cannot have more than four digits",D3135:"No matching closing bracket ']' in date/time picture string",D3136:"The date/time picture string is missing specifiers required to parse the timestamp",D3137:"{{{message}}}",D3138:"The $single() function expected exactly 1 matching result. Instead it matched more.",D3139:"The $single() function expected exactly 1 matching result. Instead it matched 0.",D3140:"Malformed URL passed to ${{{functionName}}}(): {{value}}",D3141:"{{{message}}}"};function Nt(t){var e=Bt[t.code];if(void 0!==e){var r=e.replace(/\{\{\{([^}]+)}}}/g,(function(){return t[arguments[1]]}));r=r.replace(/\{\{([^}]+)}}/g,(function(){return JSON.stringify(t[arguments[1]])})),t.message=r}}function Ut(t,e){var r,n;try{r=y(t,e&&e.recover),n=r.errors,delete r.errors}catch(t){throw Nt(t),t}var a=Ft(w),s=new Date;return a.bind("now",jt((function(t,e){return d.fromMillis(s.getTime(),t,e)}),"<s?s?:s>")),a.bind("millis",jt((function(){return s.getTime()}),"<:n>")),e&&e.RegexEngine?Ut.RegexEngine=e.RegexEngine:Ut.RegexEngine=RegExp,{evaluate:function(){var t=p(l().mark((function t(e,c,u){var h,f,p,d;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===n){t.next=4;break}throw Nt(h={code:"S0500",position:0}),h;case 4:if(void 0!==c)for(p in f=Ft(a),c)f.bind(p,c[p]);else f=a;return f.bind("$",e),s=new Date,f.timestamp=s,Array.isArray(e)&&!o(e)&&((e=i(e)).outerWrapper=!0),t.prev=9,t.next=12,A(r,e,f);case 12:return d=t.sent,"function"==typeof u&&u(null,d),t.abrupt("return",d);case 17:throw t.prev=17,t.t0=t.catch(9),Nt(t.t0),t.t0;case 21:case"end":return t.stop()}}),t,null,[[9,17]])})));function e(e,r,n){return t.apply(this,arguments)}return e}(),assign:function(t,e){a.bind(t,e)},registerFunction:function(t,e,r){var n=jt(e,r);a.bind(t,n)},ast:function(){return r},errors:function(){return n}}}return Ut.parser=y,Ut}();e.exports=b},{"./datetime":1,"./functions":2,"./parser":4,"./signature":5,"./utils":6}],4:[function(t,e,r){var n=t("./signature"),i=function(){var t={".":75,"[":80,"]":0,"{":70,"}":0,"(":80,")":0,",":0,"@":80,"#":80,";":80,":":80,"?":20,"+":50,"-":50,"*":60,"/":60,"%":60,"|":20,"=":40,"<":40,">":40,"^":40,"**":60,"..":20,":=":10,"!=":40,"<=":40,">=":40,"~>":40,and:30,or:25,in:40,"&":50,"!":0,"~":0},e={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},r=function(r){var n=0,i=r.length,o=function(t,e){return{type:t,value:e,position:n}},a=function(){for(var t,e,o=n,a=0,s=function(t){if("/"===r.charAt(t)&&0===a){for(var e=0;"\\"===r.charAt(t-(e+1));)e++;if(e%2==0)return!0}return!1};n<i;){var c=r.charAt(n);if(s(n)){if(""===(t=r.substring(o,n)))throw{code:"S0301",stack:(new Error).stack,position:n};for(n++,c=r.charAt(n),o=n;"i"===c||"m"===c;)n++,c=r.charAt(n);return e=r.substring(o,n)+"g",new RegExp(t,e)}"("!==c&&"["!==c&&"{"!==c||"\\"===r.charAt(n-1)||a++,")"!==c&&"]"!==c&&"}"!==c||"\\"===r.charAt(n-1)||a--,n++}throw{code:"S0302",stack:(new Error).stack,position:n}},s=function s(c){if(n>=i)return null;for(var u=r.charAt(n);n<i&&" \t\n\r\v".indexOf(u)>-1;)n++,u=r.charAt(n);if("/"===u&&"*"===r.charAt(n+1)){var l=n;for(n+=2,u=r.charAt(n);"*"!==u||"/"!==r.charAt(n+1);)if(u=r.charAt(++n),n>=i)throw{code:"S0106",stack:(new Error).stack,position:l};return n+=2,u=r.charAt(n),s(c)}if(!0!==c&&"/"===u)return n++,o("regex",a());if("."===u&&"."===r.charAt(n+1))return n+=2,o("operator","..");if(":"===u&&"="===r.charAt(n+1))return n+=2,o("operator",":=");if("!"===u&&"="===r.charAt(n+1))return n+=2,o("operator","!=");if(">"===u&&"="===r.charAt(n+1))return n+=2,o("operator",">=");if("<"===u&&"="===r.charAt(n+1))return n+=2,o("operator","<=");if("*"===u&&"*"===r.charAt(n+1))return n+=2,o("operator","**");if("~"===u&&">"===r.charAt(n+1))return n+=2,o("operator","~>");if(Object.prototype.hasOwnProperty.call(t,u))return n++,o("operator",u);if('"'===u||"'"===u){var h=u;n++;for(var f="";n<i;){if("\\"===(u=r.charAt(n)))if(n++,u=r.charAt(n),Object.prototype.hasOwnProperty.call(e,u))f+=e[u];else{if("u"!==u)throw{code:"S0103",stack:(new Error).stack,position:n,token:u};var p=r.substr(n+1,4);if(!/^[0-9a-fA-F]+$/.test(p))throw{code:"S0104",stack:(new Error).stack,position:n};var d=parseInt(p,16);f+=String.fromCharCode(d),n+=4}else{if(u===h)return n++,o("string",f);f+=u}n++}throw{code:"S0101",stack:(new Error).stack,position:n}}var g,v=/^-?(0|([1-9][0-9]*))(\.[0-9]+)?([Ee][-+]?[0-9]+)?/.exec(r.substring(n));if(null!==v){var y=parseFloat(v[0]);if(!isNaN(y)&&isFinite(y))return n+=v[0].length,o("number",y);throw{code:"S0102",stack:(new Error).stack,position:n,token:v[0]}}if("`"===u){n++;var m=r.indexOf("`",n);if(-1!==m)return g=r.substring(n,m),n=m+1,o("name",g);throw n=i,{code:"S0105",stack:(new Error).stack,position:n}}for(var b,x=n;;)if(b=r.charAt(x),x===i||" \t\n\r\v".indexOf(b)>-1||Object.prototype.hasOwnProperty.call(t,b)){if("$"===r.charAt(n))return g=r.substring(n+1,x),n=x,o("variable",g);switch(g=r.substring(n,x),n=x,g){case"or":case"in":case"and":return o("operator",g);case"true":return o("value",!0);case"false":return o("value",!1);case"null":return o("value",null);default:return n===i&&""===g?null:o("name",g)}}else x++};return s},i=function(e,i){var o,a,s={},c=[],u=function(){var t=[];"(end)"!==o.id&&t.push({type:o.type,value:o.value,position:o.position});for(var e=a();null!==e;)t.push(e),e=a();return t},l={nud:function(){var t={code:"S0211",token:this.value,position:this.position};if(i)return t.remaining=u(),t.type="error",c.push(t),t;throw t.stack=(new Error).stack,t}},h=function(t,e){var r=s[t];return e=e||0,r?e>=r.lbp&&(r.lbp=e):((r=Object.create(l)).id=r.value=t,r.lbp=e,s[t]=r),r},f=function(t){if(i){t.remaining=u(),c.push(t);var e=s["(error)"];return(o=Object.create(e)).error=t,o.type="(error)",o}throw t.stack=(new Error).stack,t},p=function(t,r){if(t&&o.id!==t){var n={code:"(end)"===o.id?"S0203":"S0202",position:o.position,token:o.value,value:t};return f(n)}var i=a(r);if(null===i)return(o=s["(end)"]).position=e.length,o;var c,u=i.value,l=i.type;switch(l){case"name":case"variable":c=s["(name)"];break;case"operator":if(!(c=s[u]))return f({code:"S0204",stack:(new Error).stack,position:i.position,token:u});break;case"string":case"number":case"value":c=s["(literal)"];break;case"regex":l="regex",c=s["(regex)"];break;default:return f({code:"S0205",stack:(new Error).stack,position:i.position,token:u})}return(o=Object.create(c)).value=u,o.type=l,o.position=i.position,o},d=function(t){var e,r=o;for(p(null,!0),e=r.nud();t<o.lbp;)r=o,p(),e=r.led(e);return e},g=function(t){h(t,0).nud=function(){return this}},v=function(e,r,n){var i=r||t[e],o=h(e,i);return o.led=n||function(t){return this.lhs=t,this.rhs=d(i),this.type="binary",this},o},y=function(t,e,r){var n=h(t,e);return n.led=r,n},m=function(t,e){var r=h(t);return r.nud=e||function(){return this.expression=d(70),this.type="unary",this},r};g("(end)"),g("(name)"),g("(literal)"),g("(regex)"),h(":"),h(";"),h(","),h(")"),h("]"),h("}"),h(".."),v("."),v("+"),v("-"),v("*"),v("/"),v("%"),v("="),v("<"),v(">"),v("!="),v("<="),v(">="),v("&"),v("and"),v("or"),v("in"),g("and"),g("or"),g("in"),m("-"),v("~>"),y("(error)",10,(function(t){return this.lhs=t,this.error=o.error,this.remaining=u(),this.type="error",this})),m("*",(function(){return this.type="wildcard",this})),m("**",(function(){return this.type="descendant",this})),m("%",(function(){return this.type="parent",this})),v("(",t["("],(function(t){if(this.procedure=t,this.type="function",this.arguments=[],")"!==o.id)for(;"operator"===o.type&&"?"===o.id?(this.type="partial",this.arguments.push(o),p("?")):this.arguments.push(d(0)),","===o.id;)p(",");if(p(")",!0),"name"===t.type&&("function"===t.value||"λ"===t.value)){if(this.arguments.forEach((function(t,e){if("variable"!==t.type)return f({code:"S0208",stack:(new Error).stack,position:t.position,token:t.value,value:e+1})})),this.type="lambda","<"===o.id){for(var e=o.position,r=1,i="<";r>0&&"{"!==o.id&&"(end)"!==o.id;){var a=p();">"===a.id?r--:"<"===a.id&&r++,i+=a.value}p(">");try{this.signature=n(i)}catch(t){return t.position=e+t.offset,f(t)}}p("{"),this.body=d(0),p("}")}return this})),m("(",(function(){for(var t=[];")"!==o.id&&(t.push(d(0)),";"===o.id);)p(";");return p(")",!0),this.type="block",this.expressions=t,this})),m("[",(function(){var t=[];if("]"!==o.id)for(;;){var e=d(0);if(".."===o.id){var r={type:"binary",value:"..",position:o.position,lhs:e};p(".."),r.rhs=d(0),e=r}if(t.push(e),","!==o.id)break;p(",")}return p("]",!0),this.expressions=t,this.type="unary",this})),v("[",t["["],(function(e){if("]"===o.id){for(var r=e;r&&"binary"===r.type&&"["===r.value;)r=r.lhs;return r.keepArray=!0,p("]"),e}return this.lhs=e,this.rhs=d(t["]"]),this.type="binary",p("]",!0),this})),v("^",t["^"],(function(t){p("(");for(var e=[];;){var r={descending:!1};if("<"===o.id?p("<"):">"===o.id&&(r.descending=!0,p(">")),r.expression=d(0),e.push(r),","!==o.id)break;p(",")}return p(")"),this.lhs=t,this.rhs=e,this.type="binary",this}));var b=function(t){var e=[];if("}"!==o.id)for(;;){var r=d(0);p(":");var n=d(0);if(e.push([r,n]),","!==o.id)break;p(",")}return p("}",!0),void 0===t?(this.lhs=e,this.type="unary"):(this.lhs=t,this.rhs=e,this.type="binary"),this};m("{",b),v("{",t["{"],b),y(":=",t[":="],(function(e){return"variable"!==e.type?f({code:"S0212",stack:(new Error).stack,position:e.position,token:e.value}):(this.lhs=e,this.rhs=d(t[":="]-1),this.type="binary",this)})),v("@",t["@"],(function(e){return this.lhs=e,this.rhs=d(t["@"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"@"}):(this.type="binary",this)})),v("#",t["#"],(function(e){return this.lhs=e,this.rhs=d(t["#"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"#"}):(this.type="binary",this)})),v("?",t["?"],(function(t){return this.type="condition",this.condition=t,this.then=d(0),":"===o.id&&(p(":"),this.else=d(0)),this})),m("|",(function(){return this.type="transform",this.pattern=d(0),p("|"),this.update=d(0),","===o.id&&(p(","),this.delete=d(0)),p("|"),this}));var x=function t(e){var r;if("function"!==e.type||e.predicate)if("condition"===e.type)e.then=t(e.then),void 0!==e.else&&(e.else=t(e.else)),r=e;else if("block"===e.type){var n=e.expressions.length;n>0&&(e.expressions[n-1]=t(e.expressions[n-1])),r=e}else r=e;else{var i={type:"lambda",thunk:!0,arguments:[],position:e.position};i.body=e,r=i}return r},w=0,A=0,_=[],k=function t(e,r){switch(e.type){case"name":case"wildcard":r.level--,0===r.level&&(void 0===e.ancestor||(_[r.index].slot.label=e.ancestor.label),e.ancestor=r,e.tuple=!0);break;case"parent":r.level++;break;case"block":e.expressions.length>0&&(e.tuple=!0,r=t(e.expressions[e.expressions.length-1],r));break;case"path":e.tuple=!0;var n=e.steps.length-1;for(r=t(e.steps[n--],r);r.level>0&&n>=0;)r=t(e.steps[n--],r);break;default:throw{code:"S0217",token:e.type,position:e.position}}return r},E=function(t,e){if(void 0!==e.seekingParent||"parent"===e.type){var r=void 0!==e.seekingParent?e.seekingParent:[];"parent"===e.type&&r.push(e.slot),void 0===t.seekingParent?t.seekingParent=r:Array.prototype.push.apply(t.seekingParent,r)}},S=function(t){var e=t.steps.length-1,r=t.steps[e],n=void 0!==r.seekingParent?r.seekingParent:[];"parent"===r.type&&n.push(r.slot);for(var i=0;i<n.length;i++){var o=n[i];for(e=t.steps.length-2;o.level>0;){if(e<0){void 0===t.seekingParent?t.seekingParent=[o]:t.seekingParent.push(o);break}for(var a=t.steps[e--];e>=0&&a.focus&&t.steps[e].focus;)a=t.steps[e--];o=k(a,o)}}},M=function t(e){var r;switch(e.type){case"binary":switch(e.value){case".":var n=t(e.lhs);r="path"===n.type?n:{type:"path",steps:[n]},"parent"===n.type&&(r.seekingParent=[n.slot]);var o=t(e.rhs);"function"===o.type&&"path"===o.procedure.type&&1===o.procedure.steps.length&&"name"===o.procedure.steps[0].type&&"function"===r.steps[r.steps.length-1].type&&(r.steps[r.steps.length-1].nextFunction=o.procedure.steps[0].value),"path"===o.type?Array.prototype.push.apply(r.steps,o.steps):(void 0!==o.predicate&&(o.stages=o.predicate,delete o.predicate),r.steps.push(o)),r.steps.filter((function(t){if("number"===t.type||"value"===t.type)throw{code:"S0213",stack:(new Error).stack,position:t.position,value:t.value};return"string"===t.type})).forEach((function(t){t.type="name"})),r.steps.filter((function(t){return!0===t.keepArray})).length>0&&(r.keepSingletonArray=!0);var a=r.steps[0];"unary"===a.type&&"["===a.value&&(a.consarray=!0);var s=r.steps[r.steps.length-1];"unary"===s.type&&"["===s.value&&(s.consarray=!0),S(r);break;case"[":var u=r=t(e.lhs),l="predicate";if("path"===r.type&&(u=r.steps[r.steps.length-1],l="stages"),void 0!==u.group)throw{code:"S0209",stack:(new Error).stack,position:e.position};void 0===u[l]&&(u[l]=[]);var h=t(e.rhs);void 0!==h.seekingParent&&(h.seekingParent.forEach((function(t){1===t.level?k(u,t):t.level--})),E(u,h)),u[l].push({type:"filter",expr:h,position:e.position});break;case"{":if(void 0!==(r=t(e.lhs)).group)throw{code:"S0210",stack:(new Error).stack,position:e.position};r.group={lhs:e.rhs.map((function(e){return[t(e[0]),t(e[1])]})),position:e.position};break;case"^":"path"!==(r=t(e.lhs)).type&&(r={type:"path",steps:[r]});var f={type:"sort",position:e.position};f.terms=e.rhs.map((function(e){var r=t(e.expression);return E(f,r),{descending:e.descending,expression:r}})),r.steps.push(f),S(r);break;case":=":(r={type:"bind",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),E(r,r.rhs);break;case"@":if(r=t(e.lhs),u=r,"path"===r.type&&(u=r.steps[r.steps.length-1]),void 0!==u.stages||void 0!==u.predicate)throw{code:"S0215",stack:(new Error).stack,position:e.position};if("sort"===u.type)throw{code:"S0216",stack:(new Error).stack,position:e.position};e.keepArray&&(u.keepArray=!0),u.focus=e.rhs.value,u.tuple=!0;break;case"#":r=t(e.lhs),u=r,"path"===r.type?u=r.steps[r.steps.length-1]:(r={type:"path",steps:[r]},void 0!==u.predicate&&(u.stages=u.predicate,delete u.predicate)),void 0===u.stages?u.index=e.rhs.value:u.stages.push({type:"index",value:e.rhs.value,position:e.position}),u.tuple=!0;break;case"~>":(r={type:"apply",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs);break;default:(r={type:e.type,value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),E(r,r.lhs),E(r,r.rhs)}break;case"unary":r={type:e.type,value:e.value,position:e.position},"["===e.value?r.expressions=e.expressions.map((function(e){var n=t(e);return E(r,n),n})):"{"===e.value?r.lhs=e.lhs.map((function(e){var n=t(e[0]);E(r,n);var i=t(e[1]);return E(r,i),[n,i]})):(r.expression=t(e.expression),"-"===e.value&&"number"===r.expression.type?(r=r.expression).value=-r.value:E(r,r.expression));break;case"function":case"partial":(r={type:e.type,name:e.name,value:e.value,position:e.position}).arguments=e.arguments.map((function(e){var n=t(e);return E(r,n),n})),r.procedure=t(e.procedure);break;case"lambda":r={type:e.type,arguments:e.arguments,signature:e.signature,position:e.position};var p=t(e.body);r.body=x(p);break;case"condition":(r={type:e.type,position:e.position}).condition=t(e.condition),E(r,r.condition),r.then=t(e.then),E(r,r.then),void 0!==e.else&&(r.else=t(e.else),E(r,r.else));break;case"transform":(r={type:e.type,position:e.position}).pattern=t(e.pattern),r.update=t(e.update),void 0!==e.delete&&(r.delete=t(e.delete));break;case"block":(r={type:e.type,position:e.position}).expressions=e.expressions.map((function(e){var n=t(e);return E(r,n),(n.consarray||"path"===n.type&&n.steps[0].consarray)&&(r.consarray=!0),n}));break;case"name":r={type:"path",steps:[e]},e.keepArray&&(r.keepSingletonArray=!0);break;case"parent":r={type:"parent",slot:{label:"!"+w++,level:1,index:A++}},_.push(r);break;case"string":case"number":case"value":case"wildcard":case"descendant":case"variable":case"regex":r=e;break;case"operator":if("and"===e.value||"or"===e.value||"in"===e.value)e.type="name",r=t(e);else{if("?"!==e.value)throw{code:"S0201",stack:(new Error).stack,position:e.position,token:e.value};r=e}break;case"error":r=e,e.lhs&&(r=t(e.lhs));break;default:var d="S0206";"(end)"===e.id&&(d="S0207");var g={code:d,position:e.position,token:e.value};if(i)return c.push(g),{type:"error",error:g};throw g.stack=(new Error).stack,g}return e.keepArray&&(r.keepArray=!0),r};a=r(e),p();var T=d(0);if("(end)"!==o.id){var P={code:"S0201",position:o.position,token:o.value};f(P)}if("parent"===(T=M(T)).type||void 0!==T.seekingParent)throw{code:"S0217",token:T.type,position:T.position};return c.length>0&&(T.errors=c),T};return i}();e.exports=i},{"./signature":5}],5:[function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var i=t("./utils"),o=function(){var t={a:"arrays",b:"booleans",f:"functions",n:"numbers",o:"objects",s:"strings"};function e(e){for(var r=1,o=[],a={},s=a;r<e.length;){var c=e.charAt(r);if(":"===c)break;var u=function(){o.push(a),s=a,a={}},l=function(t,e,r,n){for(var i=1,o=e;o<t.length;)if(o++,(c=t.charAt(o))===n){if(0==--i)break}else c===r&&i++;return o};switch(c){case"s":case"n":case"b":case"l":case"o":a.regex="["+c+"m]",a.type=c,u();break;case"a":a.regex="[asnblfom]",a.type=c,a.array=!0,u();break;case"f":a.regex="f",a.type=c,u();break;case"j":a.regex="[asnblom]",a.type=c,u();break;case"x":a.regex="[asnblfom]",a.type=c,u();break;case"-":s.context=!0,s.contextRegex=new RegExp(s.regex),s.regex+="?";break;case"?":case"+":s.regex+=c;break;case"(":var h=l(e,r,"(",")"),f=e.substring(r+1,h);if(-1!==f.indexOf("<"))throw{code:"S0402",stack:(new Error).stack,value:f,offset:r};a.regex="["+f+"m]",a.type="("+f+")",r=h,u();break;case"<":if("a"!==s.type&&"f"!==s.type)throw{code:"S0401",stack:(new Error).stack,value:s.type,offset:r};var p=l(e,r,"<",">");s.subtype=e.substring(r+1,p),r=p}r++}var d="^"+o.map((function(t){return"("+t.regex+")"})).join("")+"$",g=new RegExp(d),v=function(t){var e;if(i.isFunction(t))e="f";else switch(n(t)){case"string":e="s";break;case"number":e="n";break;case"boolean":e="b";break;case"object":e=null===t?"l":Array.isArray(t)?"a":"o";break;default:e="m"}return e},y=function(t,e){for(var r="^",n=0,i=0;i<o.length;i++){r+=o[i].regex;var a=e.match(r);if(null===a)throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1};n=a[0].length}throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1}};return{definition:e,validate:function(e,r){var n="";e.forEach((function(t){n+=v(t)}));var i=g.exec(n);if(i){var a=[],s=0;return o.forEach((function(n,o){var c=e[s],u=i[o+1];if(""===u)if(n.context&&n.contextRegex){var l=v(r);if(!n.contextRegex.test(l))throw{code:"T0411",stack:(new Error).stack,value:r,index:s+1};a.push(r)}else a.push(c),s++;else u.split("").forEach((function(r){if("a"===n.type){if("m"===r)c=void 0;else{c=e[s];var i=!0;if(void 0!==n.subtype)if("a"!==r&&u!==n.subtype)i=!1;else if("a"===r&&c.length>0){var o=v(c[0]);i=o===n.subtype.charAt(0)&&0===c.filter((function(t){return v(t)!==o})).length}if(!i)throw{code:"T0412",stack:(new Error).stack,value:c,index:s+1,type:t[n.subtype]};"a"!==r&&(c=[c])}a.push(c),s++}else a.push(c),s++}))})),a}y(e,n)}}}return e}();e.exports=o},{"./utils":6}],6:[function(t,e,r){function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=i(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}var s=function(){function t(t){var e=!1;if("number"==typeof t&&(e=!isNaN(t))&&!isFinite(t))throw{code:"D1001",value:t,stack:(new Error).stack};return e}function e(t){var e=!1;return Array.isArray(t)&&(e=0===t.filter((function(t){return"string"!=typeof t})).length),e}function r(e){var r=!1;return Array.isArray(e)&&(r=0===e.filter((function(e){return!t(e)})).length),r}function i(){var t=[];return t.sequence=!0,1===arguments.length&&t.push(arguments[0]),t}function o(t){return!0===t.sequence&&Array.isArray(t)}function s(t){return t&&(!0===t._jsonata_function||!0===t._jsonata_lambda)||"function"==typeof t}function c(t){return"number"==typeof t.arity?t.arity:"function"==typeof t.implementation?t.implementation.length:"number"==typeof t.length?t.length:t.arguments.length}function u(t){return t&&!0===t._jsonata_lambda}var l=("function"==typeof Symbol?Symbol:{}).iterator||"@@iterator";function h(t){return"object"===a(t)&&null!==t&&l in t&&"next"in t&&"function"==typeof t.next}function f(t,e){if(t===e)return!0;if("object"===a(t)&&"object"===a(e)&&null!==t&&null!==e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!f(t[r],e[r]))return!1;return!0}var n=Object.getOwnPropertyNames(t),i=Object.getOwnPropertyNames(e);if(n.length!==i.length)return!1;for(n=n.sort(),i=i.sort(),r=0;r<n.length;r++)if(n[r]!==i[r])return!1;for(r=0;r<n.length;r++){var o=n[r];if(!f(t[o],e[o]))return!1}return!0}return!1}function p(t){return"object"===a(t)&&null!==t&&"then"in t&&"function"==typeof t.then}function d(t){var e,r=[],i=n(t);try{for(i.s();!(e=i.n()).done;){var o=e.value;r.push(o)}}catch(t){i.e(t)}finally{i.f()}return r}return{isNumeric:t,isArrayOfStrings:e,isArrayOfNumbers:r,createSequence:i,isSequence:o,isFunction:s,isLambda:u,isIterable:h,getFunctionArity:c,isDeepEqual:f,stringToArray:d,isPromise:p}}();e.exports=s},{}]},{},[3])(3)}(m5);var b5=m5.exports;const x5=function(t){return t};function w5(t){if(!t)return x5;try{var e=b5(t);return function(t){return e.evaluate(t)}}catch(t){return console.error(t),x5}}function A5(t){var e=L4(t);return null==e?"":String(e)}function _5(t){return Number(L4(t))}function k5(t){return t}function E5(t){return A5(t)}function S5(t){return _5(t)}function M5(t){if(this.param)return t=A5(t),this.param.hasOwnProperty(t)?this.param[t]:this.param.default}function T5(t){var{param:e}=this;if(e){for(let r in e){let[n,i]=r.split("~"),o=!!n,a=!!i;if(n=parseFloat(n),i=parseFloat(i),t=_5(t),o&&!a&&t>=n)return e[r];if(!o&&a&&t<n)return e[r];if(t>=n&&t<i)return e[r]}return e.default}}function P5(t){return _5(t)*Math.PI/180}function O5(){}function I5(t,e,r,n,i){switch(r){case"value":return"text"===i||"string"===i?E5.bind(t):"number"===i?S5.bind(t):k5.bind(e);case"map":return M5.bind(t);case"range":return T5.bind(t);case"radian":return P5.bind(t);case"eval":return function(t){try{return new Function("value","targets",t)}catch(t){return X4(t),O5}}(n).bind(e);default:return k5.bind(e)}}class R5{constructor(t,e){this.owner=e,this.model=t}dispose(){delete this._model,delete this.owner,delete this.evaluator,delete this.accessor}get model(){return this._model}set model(t){var{target:e,property:r,rule:n,param:i,accessor:o}=t;this._model=t,this.evaluator=I5(this,this.owner,n,i,function(t){switch(t){case"ref":case"fillStyle":case"strokeStyle":return"string";default:return}}(r)),this.accessor=w5(o);const a=e.match(/\[(.*?)\]/);if(a){var[s,c]=a[1].split(":");this.propAccessor=w5(s),this.partAccessor=w5(c)}}get target(){return this.model.target}get property(){return this.model.property}get param(){return this.model.param}get ndnsp(){return!!this.model.ndnsp}}function C5(t=!1){(t||void 0!==this.data)&&this.mappings&&this.mappings.forEach((t=>{try{var{target:e,property:r,accessor:n,propAccessor:i,partAccessor:o}=t,a=n(this.data);if("(root)"==(e=e.trim())||"(key)"==e){if(null==a)return;let e=Object.keys(a||{}).map((t=>this.root.findOrCreate(t))).filter(Boolean).flat();e.length>0&&e.forEach((e=>{let n=t.evaluator(a[e.get("id")],[e]);!r||"(action)"===r||t.ndnsp&&!n&&0!==n&&!1!==n||(e[r]=n)}))}else if(e.startsWith("[")){if(null==a)return;if(a instanceof Array)a.forEach((e=>{let n=i(e);if(n){let i=this.root.findOrCreate(n);if(i){let n=t.evaluator(o(e),i);!r||"(action)"===r||t.ndnsp&&!n&&0!==n&&!1!==n||i.forEach((t=>t[r]=n))}}}));else{if(!(a instanceof Object))throw String("mapping data should be an object to target property-id.("+a+")");{let e=i(a);if(e){let n=this.root.findOrCreate(e);if(n){let e=t.evaluator(o(a),n);!r||"(action)"===r||t.ndnsp&&!e&&0!==e&&!1!==e||n.forEach((t=>t[r]=e))}}}}}else{let n=this.root.findAll(e,this);if(n.length>0){let e=t.evaluator(a,n);!r||"(action)"===r||t.ndnsp&&!e&&0!==e&&!1!==e||n.forEach((t=>t[r]=e))}}}catch(e){X4(e,this,t)}}))}var j5;function L5(t,e,r,n,i){var{alpha:o=1}=n,a=i.fillStyle;if(t.globalAlpha*=o,a)if("string"==typeof a)t.fillStyle=a,t.fill();else if("object"==typeof a)if("gradient"==a.type){t.translate(r.x,r.y);let n,{width:i,height:o}=e;if("linear"==a.gradientType){let e=3.141592653589793,r=a.rotation;if(r>=.436332&&r<=1.13446||r>=2.00713&&r<=2.70526||r>=3.57792&&r<=4.27606||r>=5.14872&&r<=5.84685){let a=Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));a-=a-(i+o)/3,n=t.createLinearGradient(a*Math.cos(r+e),a*Math.sin(r+e),a*Math.cos(r),a*Math.sin(r))}else n=t.createLinearGradient((i-4)/2*Math.cos(r+e),(o-4)/2*Math.sin(r+e),(i-4)/2*Math.cos(r),(o-4)/2*Math.sin(r))}else if("radial"==a.gradientType){let e=.95*Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));switch(a.center){case"center":default:n=t.createRadialGradient(0,0,0,0,0,e);break;case"left-top":n=t.createRadialGradient(-i/2,-o/2,0,-i/2,-o/2,2*e);break;case"right-top":n=t.createRadialGradient(i/2,-o/2,0,i/2,-o/2,2*e);break;case"left-bottom":n=t.createRadialGradient(-i/2,o/2,0,-i/2,o/2,2*e);break;case"right-bottom":n=t.createRadialGradient(i/2,o/2,0,i/2,o/2,2*e)}}a.colorStops.forEach((t=>{if(t.position>=0&&t.position<=1)try{n.addColorStop(t.position,t.color)}catch(e){V4("Invalid Color for colorstop : ",t.color),n.addColorStop(t.position,"#fff")}})),t.fillStyle=n,t.fill(),t.translate(-r.x,-r.y)}else if("pattern"==a.type&&a.image){i.prepareFillIf(!i._pattern_image_origin);var s=i._pattern_image;if(!s)return;let r=0,n=0,o=0,c=0,u=e.left,l=e.top;if(!a.fitPattern){r=a.offsetX,n=a.offsetY;const t=a.width?a.width:s.width,i=a.height?a.height:s.height;switch(a.align){case"center":o=e.width/2-t/2,c=e.height/2-i/2;break;case"left-top":o=0,c=0;break;case"left-bottom":o=0,c=e.height-i;break;case"right-top":o=e.width-t,c=0;break;case"right-bottom":o=e.width-t,c=e.height-i;break;case"left":o=0,c=e.height/2-i/2;break;case"right":o=e.width-t,c=e.height/2-i/2;break;case"top":o=e.width/2-t/2,c=0;break;case"bottom":o=e.width/2-t/2,c=e.height-i}u+=r+o,l+=n+c}t.translate(u,l),a.color&&(t.fillStyle=a.color,t.fill()),a.fitPattern?Math.abs((s.width-e.width)*(s.height-e.height))>1?(delete i._pattern_image,delete i._pattern_image_origin):t.fillStyle=t.createPattern(s,"no-repeat"):t.fillStyle=t.createPattern(s,a.noRepeat?"no-repeat":"repeat"),t.fill(),t.translate(-u,-l)}}function D5(t,e,r){var{strokeStyle:n,lineDash:i,lineWidth:o,lineCap:a,lineJoin:s,alpha:c}=e;if(n&&0!=o){if(a&&(t.lineCap=a),i){var u="round"==a;switch(i){case"solid":i=[0,0];break;case"round-dot":i=u?[0,2*o]:[o,o];break;case"square-dot":i=u?[o,2*o]:[2*o,o];break;case"dash":i=u?[3*o,2.5*o]:[4*o,1.5*o];break;case"dash-dot":i=u?[3*o,3*o,0,3*o]:[4*o,2*o,o,2*o];break;case"long-dash":i=u?[5*o,4*o]:[6*o,3*o];break;case"long-dash-dot":i=u?[5*o,3*o,0,3*o]:[6*o,2*o,o,2*o];break;case"long-dash-dot-dot":i=u?[5*o,2*o,0,2*o,0,2*o]:[6*o,o,o,o,o,o]}t.setLineDash(i)}t.globalAlpha*=c,t.strokeStyle=n,t.lineWidth=o,t.lineJoin=s,t.stroke()}}function z5(t,e,r){if(e.length<2)return e;for(var n=2;n<e.length;n++){var i=e.substring(0,n);if(!(t.measureText(i).width<r))break}return e.substring(0,n-1)}function F5(t,e,r,n){var i=String(e).split("\n");return n?[].concat.apply([],i.map((e=>function(t,e,r){var n,i,o=e.split(" "),a=[],s=[];for(n=0,i=1;i<=o.length;i++)if(s=o.slice(n,i),t.measureText(s.join(" ")).width>r){if(i-n==1){let e=z5(t,s[0],r);a.push([e]),o.splice(n,1,e,s[0].substring(e.length))}else{for(;""==o[i-1];)i++;a.push(o.slice(n,--i))}n=i}return i-n>1&&a.push(s),0==a.length&&a.push([""]),a}(t,e,r)))):i.map((t=>t.split(" ")))}function B5(t,e,r,n,i,o=0,a=!1,s=!0){o="number"==typeof o?{tl:o,tr:o,br:o,bl:o}:{tl:0,tr:0,br:0,bl:0,...o},t.beginPath(),t.moveTo(e+o.tl,r),t.lineTo(e+n-o.tr,r),t.quadraticCurveTo(e+n,r,e+n,r+o.tr),t.lineTo(e+n,r+i-o.br),t.quadraticCurveTo(e+n,r+i,e+n-o.br,r+i),t.lineTo(e+o.bl,r+i),t.quadraticCurveTo(e,r+i,e,r+i-o.bl),t.lineTo(e,r+o.tl),t.quadraticCurveTo(e,r,e+o.tl,r),t.closePath(),a&&t.fill(),s&&t.stroke()}function N5(t,e,r,n,i){if(!n)return[];t.save(),t.font=r;var o=F5(t,n,e,!!i);return t.restore(),o}function U5(t){var{fontFamily:e=s5.FONT_FAMILY,bold:r=s5.BOLD,italic:n=s5.ITALIC,fontSize:i=s5.FONT_SIZE}=t,o=[];return r&&o.push("bold"),n&&o.push("italic"),o.push(i+"px"),o.push(e),o.join(" ")}function G5(t,e,r,n){var{alpha:i,fontColor:o=s5.FONT_COLOR,textAlign:a=s5.TEXT_ALIGN,textBaseline:s=s5.TEXT_BASELINE,textBackgroundStyle:c,fontSize:u,lineHeight:l}=n;i||=s5.FONT_COLOR,u||=s5.FONT_SIZE,l||=1.2*u,t.save(),t.beginPath();var{left:h,top:f,width:p,height:d}=e;t.font=U5(n);var g,v,y=r.length*l;switch(s){case"top":g=f,t.textBaseline="top";break;case"bottom":g=f+d-y+l,t.textBaseline="bottom";break;default:g=f+d/2-y/2+l/2,t.textBaseline="middle"}switch(a){case"left":case"justify":v=h,t.textAlign="left";break;case"right":v=h+p,t.textAlign="right";break;default:v=h+p/2,t.textAlign="center"}t.globalAlpha*=i,t.fillStyle=o,"justify"!=a?r.forEach(((e,r)=>{if(c){t.fillStyle=c;let r=t.measureText(e.join(" "));B5(t,v-r.actualBoundingBoxLeft-4,g-r.actualBoundingBoxAscent-4,r.actualBoundingBoxLeft+r.actualBoundingBoxRight+8,r.actualBoundingBoxAscent+r.actualBoundingBoxDescent+8,4,!0,!1),t.fillStyle=o}t.fillText(e.join(" "),v,g+r*l)})):r.forEach(((e,r)=>{let n=g+r*l;if(1==e.length){if(c){t.fillStyle=c;let r=t.measureText(e[0]);B5(t,v-r.actualBoundingBoxLeft-4,n-r.actualBoundingBoxAscent-4,r.actualBoundingBoxLeft+r.actualBoundingBoxRight+8,r.actualBoundingBoxAscent+r.actualBoundingBoxDescent+8,4,!0,!1),t.fillStyle=o}t.fillText(e[0],v,n)}else{let r=e.map((e=>t.measureText(e).width)),i=r.map((t=>t.width)),a=i.reduce(((t,e)=>t+e),0),s=(p-a)/(e.length-1),u=v;e.forEach(((e,a)=>{c&&(t.fillStyle=c,B5(t,u-r[a].actualBoundingBoxLeft-4,n-r[a].actualBoundingBoxAscent-4,r[a].actualBoundingBoxLeft+r[a].actualBoundingBoxRight+8,r[a].actualBoundingBoxAscent+r[a].actualBoundingBoxDescent+8,4,!0,!1),t.fillStyle=o),t.fillText(e,u,n),u+=i[a]+s}))}})),t.restore()}function Y5(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){return t-=r.x,e-=r.y,{x:(t*Math.cos(-n)-e*Math.sin(-n)+r.x)/i.x,y:(t*Math.sin(-n)+e*Math.cos(-n)+r.y)/i.y}}function H5(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){return t-=r.x,e-=r.y,{x:(t*Math.cos(n)-e*Math.sin(n)+r.x)*i.x,y:(t*Math.sin(n)+e*Math.cos(n)+r.y)*i.y}}function W5(t){var e=t.element,r=t.fillStyle,n=e.style;if(r)if("string"==typeof r)n.backgroundColor=r;else switch(r.type){case"pattern":if(n.backgroundImage="url("+r.image+")",n.backgroundColor="transparent",r.fitPattern?n.backgroundSize="100% 100%":r.width||r.height?n.backgroundSize=`${r.width?r.width+"px":"auto"} ${r.height?r.height+"px":"auto"}`:n.backgroundSize="contain",r.fitPattern)n.backgroundRepeat="no-repeat";else{const{offsetX:t,offsetY:e,noRepeat:i,align:o,color:a}=r;if(i&&(n.backgroundRepeat="no-repeat"),a&&(n.backgroundColor=a),o)switch(o){case"center":n.backgroundPosition="center center";break;case"left-top":n.backgroundPosition="left top";break;case"left-bottom":n.backgroundPosition="left bottom";break;case"right-top":n.backgroundPosition="right top";break;case"right-bottom":n.backgroundPosition="right bottom";break;case"left":n.backgroundPosition="left center";break;case"right":n.backgroundPosition="right center";break;case"top":n.backgroundPosition="center top";break;case"bottom":n.backgroundPosition="center bottom"}else t||e?n.backgroundPosition=`${Number(t)||0}px ${Number(e)||0}px`:delete n.backgroundPosition}break;case"gradient":n.background=function(t,e){var r=e.colorStops,n=e.gradientType;if(r instanceof Array&&r.length>0)switch(n){case"radial":return"radial-gradient(farthest-corner at "+function(t,e){var{width:r,height:n}=t.bounds;switch(e){case"center":return[r/2,n/2];case"left-top":return[0,0];case"right-top":return[r,0];case"left-bottom":return[0,n];default:return[r,n]}}(t,e.center||"center").map((t=>t+"px")).join(" ")+","+r.map((t=>`${t.color} ${100*t.position}%`)).join(",")+")";case"linear":return"linear-gradient("+(180*(e.rotation||0)/3.141592653589793+90+"deg")+", "+r.map((t=>`${t.color} ${100*t.position}%`)).join(",")+")"}return""}(t,r)}else n.background="transparent"}j5="undefined"==typeof document?function(t,e){return new Canvas(t,e)}:function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r};const q5={x:1,y:1},X5={x:0,y:0},V5={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"};function Q5(t){var{id:e,scale:r=q5,translate:n=X5,bold:i,italic:o,fontFamily:a="",textAlign:s,textBaseline:c,paddingTop:u,paddingBottom:l,paddingLeft:h,paddingRight:f,fontSize:p=s5.FONT_SIZE,lineWidth:d=0,lineDash:g}=t.state;l||=0,u||=0,h||=0,f||=0;var v=t.state.class;t.text;var{strokeStyle:y,fillStyle:m,rotation:b=0,fontColor:x,hidden:w}=t,{left:A,top:_,width:k,height:E}=t.bounds,S=t.element;S.hidden=w,e&&(S.id=e),v&&(S.className=v),Object.assign(S.style,V5,{fontFamily:a,fontSize:p+"px",left:A+"px",top:_+"px",width:k+"px",height:E+"px",paddingTop:u+"px",paddingRight:f+"px",paddingBottom:l+"px",paddingLeft:h+"px",border:d+"px",borderColor:y,borderStyle:d>0?g||s5.LINE_DASH:"",color:x,fontWeight:i?"bold":"",fontStyle:o?"italic":"",textAlign:"end"==s?"right":"start"==s?"left":s,verticalAlign:c}),W5(t),function(t){if(t.isShadowable()&&t.state.shadow){var e=t.element,{left:r=0,top:n=0,blurSize:i=0,color:o="transparent"}=t.state.shadow;e.style.boxShadow=`${r}px ${n}px ${i}px ${o}`}}(t);var M=t.delta(),T=(r&&r.x||1)*M.sx,P=(r&&r.y||1)*M.sy,O=(b||0)+M.theta,I=M.tx||0,R=M.ty||0;["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{S.style[t+"transform"]=`rotate(${O}rad) translate(${I}px, ${R}px) scale(${T}, ${P}) perspective(1px)`}))}var K5,J5=[];function Z5(){K5=null;var t=performance.now(),e=(J5=J5.filter((t=>$5(t)))).reduce(((e,r)=>{let n=t-r.updatedAt;return n>=r.retention?e.kills.push(r):e.next=0==e.next?r.retention-n:Math.min(e.next,r.retention-n),e}),{next:0,kills:[]});e.kills.forEach((t=>{let e=J5.indexOf(t);-1!=e?(J5.splice(e,1),t.removeSelf(!0)):X4("Should not be here. Maybe reentrance problem.")})),e.next>0&&(K5=setTimeout(t6,Math.max(e.next,500)))}function $5(t){return!t.disposed&&t.retention>0&&!t.isTemplate()&&t.app&&t.app.isViewMode}var t6=E4((function(){requestAnimationFrame(Z5)}),500);var e6=new class{add(t){$5(t)&&-1==J5.indexOf(t)&&(J5.push(t),t.touch()),this.touch()}remove(t){var e=J5.indexOf(t);e>0&&J5.splice(e,1),this.touch()}touch(){null!==K5&&(clearTimeout(K5),K5=null),t6()}get length(){return J5.length}};const r6=function(t){return t};function n6(t){var e=t.indexOf("||"),r="",n="";-1!=e&&(r=t,n=t.substring(e+2,t.length-1).trim(),t=t.replace(t.substring(e,t.length-1),"").trim());var i=t.substr(2,t.length-3).trim().replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".").filter((t=>!!t.trim())),o=i.slice(1);return{defaultValue:n,match:t,originText:r||t,target:i[0],accessor:o.length>0?function(t){return o.reduce(((t,e)=>t?t[e]:void 0),t)}:r6}}function i6(t,e,r){if(t){var n=r||L4,i=String(t),o=(i.match(/#{[^}]*}/gi)||[]).map((t=>n6(t))),a=(i.match(/\${[^}]*}/gi)||[]).map((t=>n6(t)));if(0!=o.length||0!=a.length)return function(){var t=i;return o.forEach((r=>{let i=n(r.accessor(e.getState(r.target)));t=t.replace(r.originText,void 0===i?r.defaultValue||"":i)})),a.forEach((r=>{let i=e.root.findById(r.target),o=n(r.accessor(i&&i.data));t=t.replace(r.originText,void 0===o?r.defaultValue||"":o)})),t}}}const o6=210*Math.PI/180,a6=150*Math.PI/180;var s6={"data-spread":function(t,e,r){if(!t.app.isEditMode)return;var n=!1;e.lineWidth=2,e.strokeStyle="orange";const i=t.root;return t.mappings&&t.mappings.forEach((r=>{let o=i.findAll(r.target,t);o&&o.forEach((r=>{let i=t.center,o=r.center;i=t.transcoordS2C(i.x,i.y,t.rootModel),o=r.transcoordS2C(o.x,o.y,r.rootModel),function(t,e,r,n=10){var i=r.x-e.x,o=r.y-e.y,a=Math.atan2(o,i),s=r.x+n*Math.cos(a+o6),c=r.y+n*Math.sin(a+o6),u=r.x+n*Math.cos(a+a6),l=r.y+n*Math.sin(a+a6);t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(r.x,r.y),t.moveTo(r.x,r.y),t.lineTo(s,c),t.moveTo(r.x,r.y),t.lineTo(u,l),t.stroke()}(e,i,o),n=!0}))})),n},"bouncing-arrow":function(t,e,r){let{left:n,top:i,width:o}=t.bounds,a=t.state.id,{x:s,y:c}=t.transcoordS2C(n+o/2,i,t.rootModel);const u=2*function(t){const e=100*(1-t)%10;return e<5?e:10-e}(r||0);if(s=Math.max(s,20),c=Math.max(c,20),e.beginPath(),e.moveTo(s-10,c-16+u),e.lineTo(s+10,c-16+u),e.lineTo(s+10,c-8+u),e.lineTo(s+16,c-8+u),e.lineTo(s,c+u),e.lineTo(s-16,c-8+u),e.lineTo(s-10,c-8+u),e.lineTo(s-10,c-16+u),e.lineTo(s-10,c-16+u),e.fillStyle="#FF0000",e.fill(),a){e.beginPath(),e.font="12px Arial";let t=e.measureText(a);e.fillStyle="#FF0000",e.roundRect(s-t.actualBoundingBoxLeft-3+20,c-t.actualBoundingBoxAscent-3-6+u,t.actualBoundingBoxLeft+t.actualBoundingBoxRight+6,t.actualBoundingBoxAscent+t.actualBoundingBoxDescent+6,3),e.fill(),e.fillStyle="white",e.fillText(a,s+20,c-6+u)}return!0},decotag:function(t,e,r){const n=t.decotag;if(n){let{left:r,top:i}=t.bounds,{x:o,y:a}=t.transcoordS2C(r,i,t.rootModel);o=Math.max(o+3,5),a=Math.max(a-8,15),e.font="12px Arial";let s=e.measureText(n);return e.beginPath(),e.fillStyle="#FF0000",e.roundRect(o-s.actualBoundingBoxLeft-3,a-s.actualBoundingBoxAscent-3,s.actualBoundingBoxLeft+s.actualBoundingBoxRight+6,s.actualBoundingBoxAscent+s.actualBoundingBoxDescent+6,3),e.fill(),e.beginPath(),e.fillStyle="white",e.fillText(n,o,a),!0}return!1},anchors:function(t,e,r){if(e.app.isEditMode){var n=!1;return t.anchors&&t.anchors.forEach((r=>{const{name:i,position:o}=r;var{x:a,y:s}=o||{};if(!i)return;var{x:a,y:s}=t.transcoordS2C(a,s,t.rootModel);a+=4,s+=4,e.font="12px Arial";let c=e.measureText(i);e.fillStyle="#FF0000",B5(e,a,s,c.width+6,16,3,!0,!1),e.fillStyle="white",e.fillText(i,a+3,s+13),n=!0})),n}},link:function(t,e,r){var n=!1;if(!t.isLine())return;const{fromEnd:i,toEnd:o}=t;return[i,o].filter(Boolean).forEach((t=>{const{component:r,anchor:i}=t;if(!i)return;const{name:o,position:a}=i||{};if(!o||!a)return;var{x:s,y:c}=a||{},{x:s,y:c}=r.transcoordS2C(s,c,r.rootModel);s+=8,c+=20,e.font="12px Arial";let u=e.measureText(o);e.fillStyle="#FF0000",B5(e,s-u.actualBoundingBoxLeft-4,c-u.actualBoundingBoxAscent-4,u.actualBoundingBoxLeft+u.actualBoundingBoxRight+8,u.actualBoundingBoxAscent+u.actualBoundingBoxDescent+8,4,!0,!1),e.fillStyle="white",e.fillText(o,s,c),n=!0})),n}};function c6(t){return s6[t]}var u6={};const l6={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"},h6=[],f6={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0},p6=new WeakMap;var d6=0;class g6{static get nature(){return l6}static register(t,e){if(!e)return u6[t];u6[t]=e}static get residents(){return p6}static registerDecorator(t,e){!function(t,e){s6[t]=e}(t,e)}constructor(t,e){this._app=e,this._model=t||{},this._state={},this._delta=l4(f6),e&&this.animation&&(this.animation.started=!0),this.clearCache(),e6.add(this),p6.set(this,d6++)}created(){}added(t){}removed(t){}async ready(){if(this.state.persistent){const{isViewMode:t,dataStorage:e}=this.app;t&&(this.data=await e.load(this))}}touch(){this.updatedAt=performance.now()}clearCache(...t){!function(t,...e){0==e.length?t.__cache__={}:e.forEach((e=>delete t.__cache__[e]))}(this,...t)}removeSelf(t){t?this.dispose():this.parent&&this.parent.removeComponent(this)}dispose(){this._animation&&(this._animation.dispose(),delete this._animation),this.disposeMappings(),this.parent&&this.parent.removeComponent(this),delete this._text_substitutor,delete this._value_substitutor,this._disposed=!0,this.retention&&e6.touch(),this.clearCache(),delete this._app}get nature(){return this.constructor.nature}get disposed(){return!!this._disposed}isLayer(){return!1}isGroup(){return!1}isContainer(){return!1}isLine(){return!1}isRoot(){return!1}isRootModel(){return!1}is3dish(){return!1}isTemplate(){return!!this.get("templatePrefix")}isHTMLElement(){return!1}isConnectable(){return!1}replaceRefids(t){}get retention(){return Number(this.get("retention"))||0}get hasTextProperty(){return!0}get app(){return!this._app&&this.parent&&(this._app=this.parent.app),this._app}get model(){return this._model}get state(){return Object.assign({},this._model,this._state)}get hierarchy(){var t=l4(this._model);return this.volatile.forEach((e=>{delete t[e]})),t}get volatile(){return h6}get textHidden(){return!!this._textHidden}set textHidden(t){this._textHidden=!!t,this.invalidate()}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r={},n={},i=!1,o=(t=l4(t),this);return Object.getOwnPropertyNames(t).forEach((function(e){let a=o._model[e],s=t[e];r2(a,s)||(n[e]=a,r[e]=s,o._model[e]=s,delete o._state[e],i=!0)})),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("retention")&&e6.add(this),r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("mappings")&&this.onchangeMappings(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}getState(t){return this._state.hasOwnProperty(t)?this._state[t]:this.get(t)}setState(t,e){if("string"==typeof t)return this.setState({[t]:e});var r={},n={},i=!1,o=(t=l4(t),this),a=this.getState("sensitive");return Object.getOwnPropertyNames(t).forEach((function(e){let s=o.getState(e),c=t[e];!a&&r2(s,c)||(n[e]=s,r[e]=c,o._state[e]=c,i=!0)})),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}get root(){return this.isRoot()?this:this.parent&&this.parent.root}get rootModel(){return this.isRootModel()?this:this.parent&&this.parent.rootModel}get parent(){return this._parent}set parent(t){this._parent=t}get anchors(){return this.nature.anchors||[]}findAnchor(t){return this.anchors.find((e=>e.name===t))}isDescendible(t){return!0}getContext(){return this._parent.getContext()}get center(){var t=this.bounds;return{x:t.left+t.width/2,y:t.top+t.height/2}}set center(t){if(t&&!isNaN(t.x)&&!isNaN(t.y)){var e=this.center;if(Math.round(100*t.x)/100!=Math.round(100*e.x)/100||Math.round(100*t.y)/100!=Math.round(100*e.y)/100){var r=t.x-e.x,n=t.y-e.y;this.path=this.path.map((t=>({x:t.x+r,y:t.y+n})))}}}get location(){return this.center}set location(t){this.center=t}get rotate(){const{rotationX:t,rotationY:e,rotation:r}=this.state;return{x:t,y:e,z:-r}}set rotate(t){const{x:e,y:r,z:n}=t;this.setState({rotationX:e,rotationY:r,rotation:-n})}get dimension(){const{width:t,height:e}=this.bounds,{depth:r}=this.state;return{width:t,height:e,depth:r}}set dimension(t){const{width:e,height:r,depth:n}=t,{top:i,left:o}=this.bounds;this.bounds={top:i,left:o,width:e,height:r},this.setState("depth",n)}get bounds(){var t,e,r,n,i=this.path;t=e=i[0].x,r=n=i[0].y;for(let o=1;o<i.length;o++){let a=i[o];a.x<t?t=a.x:a.x>e&&(e=a.x),a.y<r?r=a.y:a.y>n&&(n=a.y)}return{left:t,top:r,width:e-t,height:n-r}}set bounds(t){var e=this.bounds;if(Math.round(100*t.width)/100!=Math.round(100*e.width)/100||Math.round(100*t.height)/100!=Math.round(100*e.height)/100||Math.round(100*t.left)/100!=Math.round(100*e.left)/100||Math.round(100*t.top)/100!=Math.round(100*e.top)/100){var r=0==e.width?1:t.width/e.width,n=0==e.height?1:t.height/e.height;this.path=this.path.map((i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n})))}}get path(){return X4("이 컴포넌트에 get path 가 구현되어있지 않음.",this),[]}set path(t){X4("이 컴포넌트에 get path 가 구현되어있지 않음.",this)}get drawPath(){return this.path}outline(t){return function(t,e){var r=t.path.slice();if(r&&r.length){var n=1,i=[];if(t.isLine()||r.push(r[0]),e<=0)return t.transcoordS2T(r[0].x,r[0].y);if(e>=1)return t.transcoordS2T(r[r.length-1].x,r[r.length-1].y);for(;r[n];){let t=r[n-1],e=r[n],o=e.x-t.x,a=e.y-t.y;i.push(Math.sqrt(o*o+a*a)),n++}var o=i.reduce((function(t,e){return t+e}),0);n=0;var a=0;do{a+=i[n++]}while(a/o<e);e=(e-(a-=i[--n])/o)*(o/i[n]);var s=r[n%r.length],c=r[(n+1)%r.length],u=s.x+Math.round((c.x-s.x)*e),l=s.y+Math.round((c.y-s.y)*e);return t.transcoordS2T(u,l)}X4("path should not be empty")}(this,t||0)}get strokeStyle(){return this.get("strokeStyle")}set strokeStyle(t){this.set("strokeStyle",t)}get fillStyle(){return this.getState("fillStyle")}set fillStyle(t){this.setState("fillStyle",t)}get fontColor(){return this.get("fontColor")}set fontColor(t){this.set("fontColor",String(L4(t)))}get rotation(){return this.getState("rotation")}set rotation(t){this.setState("rotation",Number(L4(t)))}contains(t,e){return!1}get mutable(){return this.nature.mutable}get resizable(){return this.nature.resizable&&!this.stuck}adjustResize(t,e,r){if(r){let e=this.bounds,r=e.height/e.width,n=t.width-e.width,i=t.height-e.height;n*r>i?i=n*r:n=i/r;let o=t.left-e.left,a=t.top-e.top;return 0!=o&&0!=a?(a=-i,o=-n):0!=o?o=-n:0!=a&&(a=-i),{left:e.left+o,top:e.top+a,width:e.width+n,height:e.height+i}}return t}get rotatable(){return this.nature.rotatable&&!this.stuck}adjustRotation(t,e){if(e||this.app.rotateStepForced){let e=this.app.rotateStep;return Math.floor((t+e/2)/e)*e}return t}get capturable(){return!1!==this.get("capturable")&&(this.app.isEditMode||!this.hidden)}get stuck(){return!!(this.parent&&this.parent.layout.isStuck(this)||this.get("locked"))}findFirst(t,...e){if(t(this,...e))return this}findAll(t,...e){return"string"==typeof t?v5(t,this,e[0]||this):"function"==typeof t&&t(this,...e)?[this]:void 0}capture(t,e,r){if(!this.capturable||r?.(this))return!1;var n=this.transcoordP2S(t,e);return this.contains(n.x,n.y)?this:void 0}prepare(t,e){t(this)}prepareIf(t){t&&this.prepare&&this.prepare((t=>{this.invalidate()}),(t=>{X4(t)}))}get decotag(){const{id:t,tag:e}=this.state;return(t?`#${t}`:"")+(e?`@${e}`:"")}get decorators(){return["decotag","data-spread"]}get reactionDecorators(){return["bouncing-arrow"]}get hidden(){return this.getState("hidden")||!this.data&&0!==this.data&&this.getState("ndns")||this.isTemplate()}set hidden(t){this.setState("hidden",t)}draw(t){t.save(),this.__proto__.hasOwnProperty("_pre_draw")?this._pre_draw(t):this.prerender(t),this.__proto__.hasOwnProperty("_draw")?this._draw(t):this.render(t),this.__proto__.hasOwnProperty("_post_draw")?this._post_draw(t):this.postrender(t),t.restore()}delta(t,e){if(void 0===e)return t?this._delta[t]:this._delta;this._delta[t]=e}prerender(t){var e=this.rotatePoint,{scale:r,rotation:n,shadow:i,alpha:o}=this.state,a=(r&&r.x||1)*this._delta.sx,s=(r&&r.y||1)*this._delta.sy,c=(n||0)+this._delta.theta,{tx:u=0,ty:l=0}=this._delta,h=(o||1)-this._delta.fade;(u||l)&&t.translate(u,l),(1!=a||1!=s||c)&&(t.translate(e.x,e.y),1==a&&1==s||t.scale(a,s),c&&t.rotate(c),t.translate(-e.x,-e.y)),h&&(t.globalAlpha=h),i&&u5(t,i,this),this.app.isEditMode&&this.hidden&&(t.globalAlpha*=.5)}render(t){}postrender(t){this.drawText(t)}drawText(t){!this.textHidden&&this.text&&this.hasTextProperty&&G5(t,this.textBounds,this.textLines(t),this.state)}drawStroke(t,e){D5(t,e?{...this.state,...e}:this.state)}drawFill(t,e){this.fillStyle&&"transparent"!=this.fillStyle&&(L5(t,this.bounds,this.center,e?{...this.state,...e}:this.state,this),function(t){t.shadowColor="transparent"}(t))}animate(t){return this._animate&&this._animate.stop(),this._animate=f3(t),this._animate}move({x:t,y:e}){var r=this.path,n=t,i=e;this.path=r.map((t=>({x:t.x+n,y:t.y+i})))}symmetryX(t){"number"!=typeof t&&(t=this.center.x);var{rotation:e}=this.state,r=this.fillStyle;if(this.set("rotation",2*Math.PI-e),r&&"gradient"===r.type&&"linear"===r.gradientType){var n=l4(r);n.rotation=(Math.PI-parseFloat(r.rotation||0))%(2*Math.PI),this.set("fillStyle",n)}this.path=this.path.map((e=>({x:2*t-e.x,y:e.y})))}symmetryY(t){this.symmetryX(),this.set("rotation",(Math.PI+this.model.rotation)%(2*Math.PI)),t&&this.move({x:0,y:2*(t-this.center.y)},!1)}get animation(){if(this.app.isViewMode&&!this.isTemplate()){if(!this._animation){var t=this.state.animation;t&&t.oncreate&&(this._animation=(e=this,r=t.oncreate,(n=h3[r.type])?new n(e,r):null))}var e,r,n;return this._animation}}effect(t,e){return function(t,e,r){var n=l5[r.type];n&&n(t,e,r)}(this,t,e)}set started(t){this.animation&&(this.animation.started=t)}invalidate(){this.parent&&this.parent.invalidate()}get font(){return U5(this.model)}get lineHeight(){var t=this.get("lineHeight");return t||1.2*this.fontSize}defaultTextSubstitutor(){var t=this.getState("text");return null==t?"":String(t)}get textSubstitutor(){return this._text_substitutor||(this._text_substitutor=i6(this.getState("text"),this)||this.defaultTextSubstitutor),this._text_substitutor}get text(){var t=this.get("textFormat");return t?function(t,e){if(!t||isNaN(+e))return e;var r,n,i,o,a,s,c,u,l,h=t.length,f=t.search(/[0-9\-\+#]/),p=f>0?t.substring(0,f):"",d=t.split("").reverse().join(""),g=d.search(/[0-9\-\+#]/),v=h-g,y=t.substring(v,v+1),m=v+("."===y||","===y?1:0),b=g>0?t.substring(m,h):"";if(r=(e="-"===(t=t.substring(f,m)).charAt(0)?-e:+e)<0?e=-e:0,i=(n=t.match(/[^\d\-\+#]/g))&&n[1]&&n[0]||",",t=t.split("."),e=+(e=e.toFixed(t[1]&&t[1].length))+"",a=t[1]&&t[1].lastIndexOf("0"),(!(c=e.split("."))[1]||c[1]&&c[1].length<=a)&&(e=(+e).toFixed(a+1)),u=t[0].split(i),t[0]=u.join(""),(o=t[0]&&t[0].indexOf("0"))>-1)for(;c[0].length<t[0].length-o;)c[0]="0"+c[0];else 0==+c[0]&&(c[0]="");if((e=e.split("."))[0]=c[0],s=u[1]&&u[u.length-1].length){for(d="",v=(l=e[0]).length%s,h=l.length,m=0;m<h;m++)d+=l.charAt(m),!((m-v+1)%s)&&m<h-s&&(d+=i);e[0]=d}return e[1]=t[1]&&e[1]?"."+e[1]:"","0"!==(n=e.join(""))&&""!==n||(r=!1),p+("+"==t[0].substring(0,1)?r?"-":"+":r?"-":"")+n+b}(t,this.textSubstitutor()):this.textSubstitutor()}set text(t){delete this._text_substitutor;var e=L4(t);this.setState("text",null==e?"":String(e))}textLines(t){return N5(t||this.getContext(),this.textBounds.width,this.font,this.text,this.get("textWrap"))}get textBounds(){var{paddingTop:t,paddingLeft:e,paddingRight:r,paddingBottom:n}=this.state;n||=0,t||=0,e||=0,r||=0;var{left:i,top:o,width:a,height:s}=this.bounds;return{left:i+e,top:o+t,width:Math.max(a-e-r,0),height:Math.max(s-t-n,0)}}get textRotation(){return 0}get rotatePoint(){return this.center}trim(){delete this._model[""],"chartjs"!==this._model.type&&delete this._model.chart}get value(){var t=this.nature["value-property"]||"text";return"value"==t?this.getState("value"):this[t]}set value(t){var e=this.nature["value-property"]||"text";"value"==e?this.setState("value",t):this[e]=t}get data(){return this.getState("data")}set data(t){this.setState("data",t),this.touch()}get mappings(){return!this._mappings&&this.parent&&this.buildMappings(),this._mappings}serialize(...t){return JSON.stringify(this.hierarchy,...t)}get controls(){}closeScene(t){this.rootModel.closeScene(t)}}g6.union=function(t){var e,r,n,i;return t.forEach((t=>{void 0===e?(e=t.left,r=t.top,n=t.left+t.width,i=t.top+t.height):(e=Math.min(t.left,e),r=Math.min(t.top,r),n=Math.max(t.left+t.width,n),i=Math.max(t.top+t.height,i))})),{left:e,top:r,width:n-e,height:i-r}},g6.transcoordR=Y5,g6.transcoordRR=H5,g6.createCanvas=j5,g6.memoize=K4,g6.mixin=q4,g6.drawText=G5,g6.font=U5,g6.textLines=N5,g6.drawStroke=D5,g6.drawFill=L5,g6.reposition=Q5,g6.RetentionManager=e6,g6.template=function(t,e,r){var n=t3.imports._.templateSettings||t3;r&&y2(t,e,r)&&(e=void 0),t=J2(t),e=_2({},e,n,F2);var i,o,a=_2({},e.imports,n.imports,F2),s=P1(a),c=function(t,e){return L2(e,(function(e){return t[e]}))}(a,s),u=0,l=e.interpolate||a3,h="__p += '",f=RegExp((e.escape||a3).source+"|"+l.source+"|"+(l===U2?o3:a3).source+"|"+(e.evaluate||a3).source+"|$","g"),p=c3.call(e,"sourceURL")?"//# sourceURL="+(e.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(f,(function(e,r,n,a,s,c){return n||(n=a),h+=t.slice(u,c).replace(s3,N2),r&&(i=!0,h+="' +\n__e("+r+") +\n'"),s&&(o=!0,h+="';\n"+s+";\n__p += '"),n&&(h+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=c+e.length,e})),h+="';\n";var d=c3.call(e,"variable")&&e.variable;if(d){if(i3.test(d))throw new Error("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(o?h.replace(e3,""):h).replace(r3,"$1").replace(n3,"$1;"),h="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=j2((function(){return Function(s,p+"return "+h).apply(void 0,c)}));if(g.source=h,C2(g))throw g;return g},g6.buildSubstitutor=i6,Object.assign(g6.prototype,{drawEffect:function(t){const{effects:e}=this.state;(e||[]).forEach((e=>{this.effect(t,e)}))},prepareFill:function(t,e){var r=this.fillStyle;if(r&&"pattern"==r.type&&r.image){if("string"!=typeof r.image)return this._pattern_image_origin=this._pattern_image=r.image,void t(this);this._pattern_image=null,this._pattern_image_origin=new Image;var n=this;this._pattern_image_origin.onload=function(){if(!r.fitPattern&&!r.width&&!r.height)return n._pattern_image=n._pattern_image_origin,void t(this);let e=r.width||this.width,i=r.height||this.height;r.fitPattern&&(e=n.bounds.width,i=n.bounds.height);let o=j5(e,i);o.getContext("2d").drawImage(this,0,0,this.width,this.height,0,0,e,i),n._pattern_image=o,t(this)},this._pattern_image_origin.onerror=function(t){e(t)};try{"data"!==String(r.image).substring(0,4)?this._pattern_image_origin.crossOrigin="use-credentials":this._pattern_image_origin.crossOrigin=null,this._pattern_image_origin.src=this.app.url(r.image)}catch(t){e(t)}}else t(this)},prepareFillIf:function(t){t&&this.prepareFill((t=>{this.invalidate()}),(t=>{X4(t)}))},onchangeFill:function(t,e){var r=this.fillStyle;r&&"pattern"!==r.type?this._pattern_image&&(this._pattern_image=null,this._pattern_image_origin=null):r?.image&&this.prepareFillIf(r.image)},drawImage:function(t,e,r,n,i,o){e.complete?t.drawImage(e,r,n,i,o):e.addEventListener("load",(()=>{this.invalidate()}))},mutateBounds:function(t,e){var r=this.bounds,n=this.rotatePoint,i=this.get("rotation"),o=this.get("scale");if(t){var a=t.call(e,r);a&&(r=a)}var{left:s,top:c,width:u,height:l}=r,h=[{x:s,y:c},{x:s+u,y:c+l}],f=(h=h.map((t=>H5(t.x,t.y,n,i,o))))[0],p=h[1];n={x:(f.x+p.x)/2,y:(f.y+p.y)/2},f=(h=h.map((t=>Y5(t.x,t.y,n,i,o))))[0],p=h[1],this.bounds={left:f.x,top:f.y,width:p.x-f.x,height:p.y-f.y}},mutatePath:function(t,e,r){var n=this.path,i=this.rotatePoint;this.get("rotation"),this.get("scale"),t&&(n=t.call(r,n));var o=n.map((t=>this.transcoordS2P(t.x,t.y)));e&&(n=e.call(r,o))&&(o=n);var a,s,c,u,l={x:0,y:0};a=s=(n=o.map((t=>this.transcoordP2S(t.x,t.y,l))))[0].x,c=u=n[0].y;for(let t=1;t<n.length;t++){let e=n[t];e.x<a?a=e.x:e.x>s&&(s=e.x),e.y<c?c=e.y:e.y>u&&(u=e.y)}i={x:(a+s)/2,y:(c+u)/2},i=this.transcoordS2P(i.x,i.y,l),this.path=o.map((t=>this.transcoordP2S(t.x,t.y,i)))},access:function(t){if(t){var e=String(t),r=(e.match(/#{(\S*)}/)||[]).map((t=>n6(t)))[0];if(r)return r.accessor(this.getState(r.target));var n=(e.match(/\${[^}]*}/)||[]).map((t=>n6(t)))[0];if(n){let t=this.root.findById(n.target);return n.accessor(this.getState(t))}return t}},substitute:function(t,e){if(t){var r=String(t),n=e||L4,i=(r.match(/#{(\S*)}/gi)||[]).map((t=>n6(t))),o=(r.match(/\${[^}]*}/gi)||[]).map((t=>n6(t)));if(0==i.length&&0==o.length)return r;var a=r;return i.forEach((t=>{let e=n(t.accessor(this.getState(t.target)));a=a.replace(t.match,void 0===e?"":e)})),o.forEach((t=>{let e=this.root.findById(t.target),r=n(t.accessor(e&&e.data));a=a.replace(t.match,void 0===r?"":r)})),a}},onchangeMappings:function(t,e){this.disposeMappings(),C5.call(this)},onchangeData:function(t,e){this.state.persistent&&this.app.isViewMode&&this.app.dataStorage.save(this,t.data),C5.call(this,[!0])},buildMappings:function(){if(this._model.mappings)return!this._model.mappings instanceof Array?(X4("Mappings model is invalid (should be a Array) ..",this._model.mappings),void(this._mappings=[])):void(this._mappings=(this._model.mappings||[]).map((t=>new R5(t,this))));this._mappings=[]},executeMappings:C5,disposeMappings:function(){this._mappings&&this._mappings.forEach((t=>t.dispose())),delete this._mappings},ondropfile:function(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void this.set("fillStyle",{type:"pattern",image:e[r],fitPattern:!0})},transcoordS2P:function(t,e,r){if(!this.parent)return{x:t,y:e};var{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){let r=this.state.translate,o=H5(t,e,void 0,n+this._delta.theta,i);return r&&(o.x+=r.x,o.y+=r.y),o}r=r||this.rotatePoint;const{theta:o=0,tx:a=0,ty:s=0,sx:c=1,sy:u=1}=this._delta||{},l=H5(t+a,e+s,r={x:r.x+a,y:r.y+s},n+o,i={x:i.x*c,y:i.y*u});return{x:l.x-(r.x*i.x-r.x),y:l.y-(r.y*i.y-r.y)}},transcoordP2S:function(t,e,r){if(!this.parent)return{x:t,y:e};var{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){let r=this.state.translate,o=Y5(t,e,r,n,i);return r&&(o.x-=r.x/(i?i.x:1),o.y-=r.y/(i?i.y:1)),o}var o=Y5(t,e,r=r||this.rotatePoint,n,i);return{x:o.x+(r.x-r.x/i.x),y:o.y+(r.y-r.y/i.y)}},transcoordS2T:function(t,e,r){r=r||this.rootModel;var n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.push(t);var i=this.transcoordS2P(t,e);return n.forEach((t=>{let{scale:e}=t.model,r=t.bounds;if(e){let n=t.rotatePoint;i.x+=(n.x-r.left)*e.x,i.y+=(n.y-r.top)*e.y}else i.x+=r.left,i.y+=r.top;i=t.transcoordS2P(i.x,i.y)})),i},transcoordT2P:function(t,e,r){r=r||this.rootModel;var n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.splice(0,0,t);var i={x:t,y:e};return n.forEach((t=>{let{scale:e}=t.model;i=t.transcoordP2S(i.x,i.y);let r=t.bounds;if(e){let n=t.rotatePoint;i.x-=(n.x-r.left)/e.x,i.y-=(n.y-r.top)/e.y}else i.x-=r.left,i.y-=r.top})),i},transcoordT2S:function(t,e,r){var n=this.transcoordT2P(t,e,r);return this.transcoordP2S(n.x,n.y)},transcoordS2TR:function(t,e,r){r=r||this.rootModel;var n=this.transcoordS2T(t,e,r);return H5(n.x,n.y,void 0,(r.get("rotation")||0)+r._delta.theta)},transcoordS2O:function(t,e,r){var n=this.rootModel,i=this.transcoordS2T(t,e,n);return r.transcoordT2S(i.x,i.y,n)},transcoordC2S:function(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;var{translate:n={x:0,y:0},scale:i={x:1,y:1},rotation:o=0}=r.model,a=Y5(t,e,n,o,i);return n&&(a.x-=n.x/(i?i.x:1),a.y-=n.y/(i?i.y:1)),r===this?a:this.transcoordT2S(a.x,a.y,r)},transcoordS2C:function(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;if(r!==this)var n=this.transcoordS2T(t,e,r);else n={x:t,y:e};var{translate:i={x:0,y:0},rotation:o=0,scale:a={x:1,y:1}}=r.model;return n=H5(n.x,n.y,void 0,o+r._delta.theta,a),i&&(n.x+=i.x,n.y+=i.y),n},_pre_draw:g6.prototype.prerender,_draw:g6.prototype.render,_post_draw:g6.prototype.postrender}),["rotatePoint","font","lineHeight","retention"].forEach((t=>g6.memoize(g6.prototype,t,!1))),["bounds","center","textBounds"].forEach((t=>g6.memoize(g6.prototype,t,!0))),g6.mixin(g6.prototype,U4.withEvent);class v6 extends g6{set rotationX(t){this.setState("rotationX",t)}get rotationX(){return this.getState("rotationX")}set rotationY(t){this.setState("rotationY",t)}get rotationY(){return this.getState("rotationY")}set rotationZ(t){this.setState("rotation",t)}get rotationZ(){return this.getState("rotation")}set zPos(t){this.setState("zPos",t)}get zPos(){return this.getState("zPos")}set depth(t){this.setState("depth",t)}get depth(){return this.getState("depth")}postrender(t){this.drawFill(t),this.drawStroke(t),super.postrender(t)}render(t){var e=this.drawPath,{round:r=0}=this.state;if(!(e.length<=1)){t.beginPath();for(var n=0;n<e.length;n++){const c=e[(n-1+e.length)%e.length],u=e[(n+e.length)%e.length],l=e[(n+1)%e.length];if(c.x===u.x&&c.y===u.y)continue;var i=0!==(s=Math.sqrt((c.x-u.x)*(c.x-u.x)+(c.y-u.y)*(c.y-u.y)))?Math.atan2(c.x-u.x,c.y-u.y):0,o=Math.sin(i)*Math.min(r,s/2)+u.x,a=Math.cos(i)*Math.min(r,s/2)+u.y;const h=r>0||0!==s?{x:o,y:a}:u;var s;i=0!==(s=Math.sqrt((l.x-u.x)*(l.x-u.x)+(l.y-u.y)*(l.y-u.y)))?Math.atan2(l.x-u.x,l.y-u.y):0,o=Math.sin(i)*Math.min(r,s/2)+u.x,a=Math.cos(i)*Math.min(r,s/2)+u.y;const f=r>0||0!==s?{x:o,y:a}:u;0==n?t.moveTo(h.x,h.y):t.lineTo(h.x,h.y),r>0&&t.quadraticCurveTo(u.x,u.y,f.x,f.y)}t.closePath()}}}var y6=t=>{var e=class extends t{contains(t,e){var{left:r,top:n,width:i,height:o,lineWidth:a=0}=this.state,s=a/2;return t<Math.max(r+i,r)+s&&t>Math.min(r+i,r)-s&&e<Math.max(n+o,n)+s&&e>Math.min(n+o,n)-s}set path(t){var e=t[0],r=t[2];this.set({left:e.x,top:e.y,width:r.x-e.x,height:r.y-e.y})}get path(){var{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+n},{x:t,y:e+n}]}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}};return K4(e.prototype,"path",!1),e};const m6={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"textarea",label:"front-side-template",name:"frontSideTemplate",property:{language:"html"}},{type:"textarea",label:"back-side-template",name:"backSideTemplate",property:{language:"html"}},{type:"textarea",label:"style",name:"style",property:{language:"css"}}],help:"scene/component/info-window"};const b6=20;function x6(t,e){var r=t.split(/\s+/),n=r.indexOf(e);return-1!=n?r.splice(n,1):r.splice(-1,0,e),r.join(" ")}class w6 extends(y6(v6)){static get image(){return w6._image||(w6._image=new Image,w6._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAY1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAbxiAAAAIHRSTlMA+gPshCwwWFzYCeLRm7QRG6rLeDZI9JOJJDtjb1HAf1sAT80AAAQQSURBVHhe7MCBAAAAAMKw/KkzOMG2BAAAAKeu3lUohIEggO7jQi5qHqpgwML5/6+0F0y02z31FlvMMLKt86QMQ1ined2Evih1hFFjLfRWjgzDOGZ6JSiM00B9EuHALtQxJLiQBmqSBCeSUEuEGzs1BDjSaHxWOKK5Eyz/4SoMV/hp4+vtcPkdwZD/udwevNg7t1xXYRiKmkB7C+ENlPLq8fxHeX+RGjWQ1D45ldcIulBIvCvYJGBEadyTzxAcfY57NBjpLScOO/bzugcTHe7IMwiSLMcdHZhocMcMgTLjjgZM7F1bCJZ2v27ARGzYDwIk2Z+JYGJ/iiwQLMv+JAEThjkmRG64Q0Q+gIiIiIiIiIiIyFy0KRFt0bOJZAWSUigmkQaJaXhENiRnYBEpkZySRSRGcmIWEaQnYhHRSI5mESmQnIJFZIqQmGhiEYEbEnPjGlEGjYTogW/WUkOXENENSqZfEXmDiIiIiIiIiIiIiIiIiIiImq5ETIpRpBpjJCMeKy6Ri0ZS9MQjkmkkJs1YRDokp2MRyZGclkUkQnIiEQltaX3Lzb6yiGTpl2y/avqSAxGgelCOKI+Kc2isL0TUSsZ4EREREREREREREREREREREfnIQzXrNWSRTeNxnlOwIgueIr6AAyE+CpiqMEUK71IDO4E+LluEKYKnKcMUifEsTZgiJZ5lDVNkwJPcqzBFoPF/HplfxL/w6b4EPGv1h18Weya1TL8iIiIeiIiIiIiIiEjkPefxV+5YA9PPHylB+u5aqgZ39H+jKOxrqtu+pkzvr9YbzoZ6w2OFkzcrA3yE4WZlSSyFk54VoA/wR43+FaD+r9w32QdWvgvjp2ty2xq8qHPHmtyPFxfrK3hw1ejERlAlfR/Ame2OTow05d4rOLLSlHtDVhI0uRO01JeZ405op6zgNNXT+bIRfpIgn+AkU4pOxBscohojdCHu4RRzjC5EYwVHqRONDkSnEvK/CB3QSU32IRW3ZPnj9iEVoGCNTLVrh8ia1x+6wq8xvB5mz8pxu7oPwIn9lcR0AiuX1+1KX+BXqdvXzWsAC0NsGjzZsS/2Bd6yRA5RgIHkXNhSD3whASZ8rrB9mItuEAizac0fDlHxDMEwpQfD1tW4y3Hjfy5s9nOHH3uwWA+EqEJBWCjoTL/S5toBB/7hu6zer74NgqSP39zJU+qQX3ix763mHTqvIVRUVprCljlElRkEjBqNYevH8veBJ2xhiyhE8YctmhDFH7ZoQhR/2KIJUfxhiyRE8YctmhDFH7ZoQhR/2OIJUfxhC9Ppf/t1jgJACERRsHGyYRZB0Ujvf0xD8w6kP7y6RZmgf/oTFTtbbzJVxZWo2Nlqw6TVy5GowNl6ssm7v50obamfSxQAAAAAAAsKLM15fb3vpQAAAABJRU5ErkJggg=="),w6._image}static toggle(t,e,r,n){if(e){var i=t.root.findById(e);i?i._findInfoWindowByComponent(t)?w6.hide(t,e):w6.show(t,e,r,n):console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}static hide(t,e){if(e){var r=t.root.findById(e);r?r._removeInfoWindow(t):console.warn("InfoWindow Not Found.",e)}}static show(t,e,r,n){if(e){var i=t.root.findById(e);if(i){if(!i._findInfoWindowByComponent(t)){var{frontSideTemplate:o="",backSideTemplate:a=""}=i.model,s=[o,a].filter((t=>String(t).trim()));if(s=s.map((t=>g6.template(function(t,e,r){return(e||r?['<div class="info-window-btns">',e?'<button class="closable">X</button>':"",r?'<button class="flipable">⇌</button>':"","</div>"]:[]).concat(['<div class="info-window-content">',t,"</div>"]).join("")}(t,!r,2==s.length)))),0!=s.length){var c='\n.flip {\n backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n -ms-backface-visibility: hidden;\n -o-backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n border-radius: 7px;\n height: auto;\n font: normal 14px helvetica, arial, san serif;\n position: absolute;\n opacity:.9;\n transform-origin: 50% 50% 0px;\n -moz-transform-origin: 50% 50% 0px;\n -ms-transform-origin: 50% 50% 0px;\n -o-transform-origin: 50% 50% 0px;\n -webkit-transform-origin: 50% 50% 0px;\n transition: all 2s;\n -moz-transition: all 2s;\n -ms-transition: all 2s;\n -o-transition: all 2s;\n -webkit-transition: all 2s;\n min-width: 100px;min-height:50px;\n background-color:#3e424e;\n box-shadow: 2px 3px 2px 0px rgba(0,0,0,0.15);\n}\n\n#side-1 {\n transform: rotateY( 0deg );\n -moz-transform: rotateY( 0deg );\n -ms-transform: rotateY( 0deg );\n -o-transform: rotateY( 0deg );\n -webkit-transform: rotateY( 0deg );\n}\n.flip:after{\n content:"";\n display:block;\n position: absolute;\n opacity:.9;\n width: 0;\n height: 0;\n}\n.flip.arrow-top:after{\n left:45%;\n top:-17px;\n border-left:10px solid transparent;\n border-bottom:18px solid #323b44;\n border-right:10px solid transparent;\n}\n.flip.arrow-right:after{\n left:100%;\n top:48%;\n border-top:10px solid transparent;\n border-left:18px solid #323b44;\n border-bottom:10px solid transparent;\n}\n.flip.arrow-bottom:after{\n left:45%;\n top:100%;\n border-left:10px solid transparent;\n border-top:18px solid #323b44;\n border-right:10px solid transparent;\n}\n.flip.arrow-left:after{\n right:100%;\n top:48%;\n border-top:10px solid transparent;\n border-right:18px solid #323b44;\n border-bottom:10px solid transparent;\n}\n\n#side-2 {\n transform: rotateY( 180deg );\n -moz-transform: rotateY( 180deg );\n -ms-transform: rotateY( 180deg );\n -o-transform: rotateY( 180deg );\n -webkit-transform: rotateY( 180deg );\n}\n\n.flip-side-1 {\n transform: rotateY( 0deg ) !important;\n -moz-transform: rotateY( 0deg ) !important;\n -ms-transform: rotateY( 0deg ) !important;\n -o-transform: rotateY( 0deg ) !important;\n -webkit-transform: rotateY( 0deg ) !important;\n}\n\n.flip-side-2 {\n transform: rotateY( 180deg ) !important;\n -moz-transform: rotateY( 180deg ) !important;\n -ms-transform: rotateY( 180deg ) !important;\n -o-transform: rotateY( 180deg ) !important;\n -webkit-transform: rotateY( 180deg ) !important;\n}\n\n.info-window-btns{\n position:absolute;\n top:-18px;\n right:5px;\n overflow:hidden;\n}\n.info-window-content{\n padding:10px;\n color:#efefef;\n font-size:13px;\n line-height:1.4;\n}\n.info-window-btns button{\n width:40px;height:40px;\n float:right;\n border:0;\n border-radius:50%;\n background-color:#2a7da1;\n margin-right:3px;\n text-align:center;\n cursor:pointer;\n font-size:35px;\n color:#fff;\n line-height:0;\n}\n.info-window-btns button:hover{\n background-color:#60bb23;\n}\n'+i.get("style"),{left:u,top:l}=t.bounds,{x:h,y:f}=n?t.rootModel.transcoordC2S(n.x,n.y):t.transcoordS2T(u,l);u=h,l=f;var p=document.createElement("span");p.style.position="absolute";var d=document.createElement("style");if(d.type="text/css",d.appendChild(document.createTextNode(c)),p.appendChild(d),s[0]){var g=document.createElement("div");g.id="side-1",g.className="flip",g.style.display="inline-block",g.innerHTML=s[0](t)}if(s[1]){var v=document.createElement("div");v.id="side-2",v.className="flip",v.style.display="inline-block",v.innerHTML=s[1](t)}o5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))})),a5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))}));var y=t.root.model_layer.overlay;if(g&&p.appendChild(g),v&&p.appendChild(v),y.appendChild(p),i._addInfoWindow(t,p,d),g){let r=g.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",(function(t){t.preventDefault(),v.className=x6(v.className,"flip-side-1"),g.className=x6(g.className,"flip-side-2")}),!1);let n=g.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",(function(r){r.preventDefault(),w6.hide(t,e)}),!1)}if(v){let r=v.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",(function(t){t.preventDefault(),v.className=x6(v.className,"flip-side-1"),g.className=x6(g.className,"flip-side-2")}),!1);let n=v.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",(function(r){r.preventDefault(),w6.hide(t,e)}),!1)}var m=g.offsetWidth,b=g.offsetHeight;window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var x=t.rootModel.target.getBoundingClientRect(),w=[];g&&w.push(g),v&&w.push(v);var A={x:u,y:l},_=t.transcoordS2C(A.x,A.y);if(_.x+m/2+x.left<x.right&&_.x-m/2>x.left){if(b+b6<_.y)return p.style.marginLeft=A.x-m/2+"px",p.style.marginTop=A.y-b-b6+"px",void w.forEach((t=>t.className+=" arrow-bottom"));if(_=t.transcoordS2C(A.x,A.y+b+b6),x.bottom>_.y+x.top)return p.style.marginLeft=A.x-m/2+"px",p.style.marginTop=A.y+b6+"px",void w.forEach((t=>t.className+=" arrow-top"))}if((_=t.transcoordS2C(A.x,A.y)).x-(m+b6)>x.left)return p.style.marginLeft=A.x-m-b6+"px",p.style.marginTop=A.y-b/2+"px",void w.forEach((t=>t.className+=" arrow-right"));p.style.marginLeft=A.x+b6+"px",p.style.marginTop=A.y-b/2+"px",w.forEach((t=>t.className+=" arrow-left"))}}}else console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}dispose(){this.infoWindows.map((t=>t.component)).forEach((t=>this._removeInfoWindow(t))),super.dispose()}get infoWindows(){return this._windows||(this._windows=[]),this._windows}_findInfoWindowByComponent(t){return this.infoWindows.find((e=>e.component===t))}_addInfoWindow(t,e,r){this._findInfoWindowByComponent(t)||this._windows.push({component:t,window:e,styleElement:r})}_removeInfoWindow(t){var e=this._findInfoWindowByComponent(t);if(!e)return;let r=e.window;r&&r.parentNode.removeChild(r);var n=this.infoWindows.lastIndexOf(e);this.infoWindows.splice(n,1)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,w6.image,e,r,n,i)}get hasTextProperty(){return!1}get nature(){return m6}}g6.register("info-window",w6);var A6={};var _6={list:function(){return{...A6}},register:function(t,e){A6[t]=e},unregister:function(t){delete A6[t]},get:function(t){if(t){var e=A6[t];return e||X4("Layout Not Found - ",t),e}}},k6={reflow:function(t,e){this.drawables(t).filter((t=>t.isHTMLElement())).forEach((t=>t.reposition()))},capturables:function(t){return t.components},drawables:function(t){return t.app&&!t.app.isViewMode?t.components:t.components.filter((t=>!t.hidden))},isStuck:function(t){return!1},ABSOLUTE:!0};_6.register("html-absolute",k6);const E6="center",S6=new WeakMap;function M6(t){const e=t.root;var r=S6.get(e);if(!r)return;if(e===t){for(var n in r)M6(n[0]);return void S6.delete(e)}const i=r.findIndex((e=>e[0]===t));if(-1===i)return;const o=r[i][1];var a=o.div.parentNode;a&&a.removeChild(o.div);var s=o.scene;s.target=null,s.release&&s.release(),r.splice(i,1)}class T6{static hideAll(t){(S6.get(t)||[]).forEach((([t,e])=>M6(t)))}static hide(t){M6(t)}static show(t,e,r={}){var{data:n,location:i=E6,modal:o=!1,closable:a=!0,output:s=!0}=r,c=t.app.refProvider;c&&c.get(e,!0).then((e=>{var r=document.createElement("div"),c=r.style;if(o){var{width:u,height:l}=t.rootModel.bounds;c.position="fixed",c.zIndex=1,c.left=0,c.top=0,c.width=u+"px",c.height=l+"px",c.overflow="auto",c.backgroundColor="rgba(0,0,0,0.3)"}else c.position="absolute",c.display="inline-block";r.innerHTML=!o&&a?'\n<div class="popup-content">\n</div>\n<button class="closable-1945">X</button>\n':'\n<div class="popup-content">\n</div>\n';var h=r.querySelector(".popup-content"),{width:u,height:l}=e.root.model;h.style.width=u+"px",h.style.height=l+"px";var f=document.createElement("style");f.type="text/css",f.appendChild(document.createTextNode("\nbutton.closable-1945 {\n width: 20px;\n height: 20px;\n right: 0px;\n top: 0px;\n padding: 0;\n margin: 0;\n border: 0px;\n text-align: center;\n cursor: pointer;\n font-size: 12px;\n color: black;\n position: absolute;\n background-color: transparent;\n}\n\nbutton.closable-1945:hover {\n background-color:#60bb23;\n}\n")),r.appendChild(f);var p=r.querySelector(".popup-content");o5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))})),a5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))})),r.addEventListener("click",(e=>{e.target===r&&a&&T6.hide(t)})),o5.forEach((function(t){r.addEventListener(t,(function(t){t.stopPropagation()}))})),a5.forEach((function(t){r.addEventListener(t,(function(t){t.stopPropagation()}))})),t.root.model_layer.overlay.appendChild(r),function(t,e,r){const n=t.root;if(n!==t){M6(t);var i=S6.get(n)||[];i=[...i,[t,{div:e,scene:r}]],S6.set(n,i)}}(t,r,e),r.querySelector(".closable-1945")?.addEventListener("click",(function(e){e.preventDefault(),T6.hide(t)}),!1),r.addEventListener("close-scene",(e=>{e.preventDefault(),e.stopPropagation(),T6.hide(t),s&&(t.data=e.detail)}),!1),e.target=h,e.data=n||t.data,e.fit("both");var d=function(t,e,r,n=E6){var i=t.bounds,o=e.bounds,a=Math.max(i.width/4-o.width/2,20),s=Math.min(3*i.width/4+o.width/2,i.width-20)-o.width,c=Math.max(i.height/4-o.height/2,20),u=Math.min(3*i.height/4+o.height/2,i.height-20)-o.height;switch(n){case"auto":return{x:r.x<i.width/2?s:a,y:r.y<i.height/2?u:c};case"left-top":return{x:a,y:c};case"right-top":return{x:s,y:c};case"left-bottom":return{x:a,y:u};case"right-bottom":return{x:s,y:u};default:return{x:(i.width-o.width)/2,y:(i.height-o.height)/2}}}(t.rootModel,e.root,t.center,i);o?(h.style.left=d.x+"px",h.style.top=d.y+"px",h.style.width=u+"px",h.style.height=l+"px"):(r.style.left=d.x+"px",r.style.top=d.y+"px",r.style.width=u+"px",r.style.height=l+"px")}),(function(t){console.error("cannot fetch board: "+e,t)}))}}var P6={reflow:function(t,e){},capturables:function(t){return t.components},drawables:function(t){return t.app.isViewMode?t.components.filter((t=>!t.hidden)):t.components},isStuck:function(t){return!1},ABSOLUTE:!0};function O6(t){var e=t.components.filter((t=>!t.hidden)),r=t.getState("layoutConfig")||{},n=e[r&&r.activeIndex||0];return n&&[n]||[]}_6.register("absolute",P6);var I6={reflow:function(t){var e=t.bounds,r=t.getState("layoutConfig")||{},n={left:0,top:0,width:e.width,height:e.height};t.forEach(((t,e)=>{let i=e!=r.activeIndex;t.bounds=n,t.setState("rotation",0),t.element&&(t.element.style.visibility=i?"hidden":"visible")}))},capturables:function(t){return O6(t)},drawables:function(t){return O6(t)},isStuck:function(t){return!0}};function R6(t){var e=t.getState("layoutConfig");return e&&e.weight||1}_6.register("card",I6);var C6={reflow:function(t){var e=this.drawables(t),r=t.get("padding")||{},n=e.reduce(((t,e)=>t+R6(e)),0),i=t.bounds,o=n>0?(i.width-((r.left||0)+(r.right||0)))/n:i.width,a=i.height-((r.top||0)+(r.bottom||0)),s=0;e.forEach((t=>{let e=R6(t),n=t.get("margin")||{};t.bounds={left:o*s+(r.left||0)+(n.left||0),top:0+(r.top||0)+(n.top||0),width:e*o-((n.left||0)+(n.right||0)),height:a-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e}))},capturables:function(t){return t.components},drawables:function(t){return t.app.isViewMode?t.components.filter((t=>!t.hidden)):t.components},isStuck:function(t){return!0}};function j6(t){var e=t.getState("layoutConfig");return e&&e.weight||1}_6.register("linear-horizontal",C6);var L6={reflow:function(t){var e=this.drawables(t),r=t.getState("padding")||{},n=e.reduce(((t,e)=>t+j6(e)),0),i=t.bounds,o=n>0?(i.height-((r.top||0)+(r.bottom||0)))/n:i.height,a=i.width-((r.left||0)+(r.right||0)),s=0;e.forEach((t=>{let e=j6(t),n=t.getState("margin")||{};t.bounds={left:0+(r.left||0)+(n.left||0),top:o*s+(r.top||0)+(n.top||0),width:a-((n.left||0)+(n.right||0)),height:e*o-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e}))},capturables:function(t){return t.components},drawables:function(t){return t.app.isViewMode?t.components.filter((t=>!t.hidden)):t.components},isStuck:function(t){return!0}};_6.register("linear-vertical",L6);var D6={reflow:function(t){var e=t.getState("layoutConfig"),r=e&&e.columns||t.getState("columns"),n=e&&e.rows||t.getState("rows"),i=e&&e.widths||t.getState("widths"),o=e&&e.heights||t.getState("heights"),a=i?i.filter(((t,e)=>e<r)).reduce(((t,e)=>t+e),0):r,s=o?o.filter(((t,e)=>e<n)).reduce(((t,e)=>t+e),0):n,c=t.textBounds,u=t.getState("paddingLeft")||0,l=t.getState("paddingTop")||0,h=c.width/a,f=c.height/s,p=0,d=0;t.components.forEach(((t,e)=>{let n=i?i[e%r]:1,a=o?o[Math.floor(e/r)]:1,s=t.colspan||1,c=0;for(;--s>0;)c+=i?i[(e+s)%r]:1;let g=t.rowspan||1,v=0;for(;--g>0;)v+=o?o[Math.floor(e/r)+g]:1;t.bounds={left:u+p,top:l+d,width:h*(n+c),height:f*(a+v)},t.setState("rotation",0),e%r==r-1?(p=0,d+=a*f):p+=n*h}))},capturables:function(t){return t.components.filter((t=>!t.merged))},drawables:function(t){return t.components.filter((t=>!t.merged&&!t.hidden))},isStuck:function(t){return!0},keyNavigate:function(t,e,r){var n=t.getState("layoutConfig"),i=n&&n.columns||t.getState("columns"),o=n&&n.rows||t.getState("rows"),{row:a,column:s}=t.getRowColumn(e);switch(r.code){case"ArrowUp":if(a>0)return t.getAt((a-1)*i+s);break;case"ArrowDown":if(a<o-1)return t.getAt((a+1)*i+s);break;case"ArrowRight":if(s<i-1)return t.getAt(a*i+s+1);break;case"ArrowLeft":if(s>0)return t.getAt(a*i+s-1);break;default:return e}},joinType:!0};_6.register("table",D6);const z6=new Image;z6.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=";var F6=t=>class extends t{postrender(t){super.postrender(t),this.app.isEditMode&&this._focused&&this.showMoveHandle&&this._draw_move_handle(t)}_draw_move_handle(t){var{left:e,top:r,width:n}=this.bounds;t.save(),t.beginPath(),t.rect(e+n,r,25,25);t.fillStyle="rgba(235, 235, 235, 1)",t.fill(),t.drawImage(z6,e+n+3.75,r+3.75,17.5,17.5),t.closePath(),t.restore()}contains(t,e){var r=super.contains(t,e);if(this.app.isViewMode)return r;if(!r){var{left:n,top:i,width:o,height:a}=this.bounds,s=n+o;this.showMoveHandle&&(r=t<Math.max(s+25,s)&&t>Math.min(s+25,s)&&e<Math.max(i+25,i)&&e>Math.min(i+25,i))}return this._focustd!==r&&(this._focused=r,this.invalidate()),r}};const B6=[];class N6 extends(F6(y6(g6))){constructor(t,e){super(t,e),this._components=[]}replaceRefids(t){this.components.forEach((e=>e.replaceRefids(t)))}get showMoveHandle(){return!0}get showOverflow(){return!1}dispose(){this.components.slice().forEach((t=>t.dispose())),super.dispose()}isContainer(){return!0}containable(t){return t.isDescendible(this)}get hasTextProperty(){return!1}get components(){return this._components}get focusible(){return!0}get layout(){return _6.get(this.get("layout"))||P6}reflow(){this.layout.reflow(this),this.components&&this.components.forEach((t=>{t.isContainer()&&t.reflow()}))}get hierarchy(){var t=super.hierarchy;return this.components&&(t.components=this.components.map((t=>t.hierarchy))),t}addComponent(t,e=!1){var r=t.parent;if(r){if(this===r)return;r.removeComponent(t,e)}var n=this._components.push(t)-1;t.parent=this,t.added(this),e||this.trigger("add",this,t,n),t.delegate_on(this),e||t.trigger("added",this,t,n),this.root&&this.root.isReady&&t.ready()}removeComponent(t,e=!1){var r=this._components.indexOf(t);-1!=r&&(this._components.splice(r,1),t.parent=null,t.removed(this),e||(this.trigger("remove",this,t),t.trigger("removed",this,t)),t.delegate_off(this))}insertComponentAt(t,e,r=!1){var n=t.parent;n&&n.removeComponent(t,r);var i=this._components.splice(0,e);this._components=i.concat(t,this._components),e=this._components.indexOf(t),t.parent=this,t.added(this),r||this.trigger("add",this,t,e),t.delegate_on(this),r||t.trigger("added",this,t,e)}add(t,e=!1){return t instanceof Array?(t.forEach((t=>{-1==this._components.indexOf(t)&&this.addComponent(t,e)})),this):this.add.call(this,[t],e)}remove(t,e=!1){return t instanceof Array?this._components?(t.forEach((t=>{this.removeComponent(t,e)})),this):this:this.remove.call(this,[t],e)}getAt(t){if(this._components)return this._components[t]}forEach(t,e){this._components&&this._components.forEach(t,e)}traverse(t,e){t.call(e,this),this._components&&this._components.forEach((r=>{r.isContainer()?r.traverse(t,e):t.call(e,r)}))}indexOf(t){return(this._components||B6).indexOf(t)}size(){return(this._components||B6).length}moveChildAt(t,e){var r=this.indexOf(e);if(-1!=r){var n=this._components.splice(0,r),i=this._components.splice(1);this._components=n.concat(i),t=Math.max(0,t),t=Math.min(t,this._components.length),n=this._components.splice(0,t),this._components=n.concat(e,this._components)}}moveChildForward(t){var e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this._components[e]=this._components[e+1],this._components[e+1]=t)}moveChildBackward(t){var e=this.indexOf(t);-1!=e&&0!=e&&(this._components[e]=this._components[e-1],this._components[e-1]=t)}moveChildToFront(t){var e=this.indexOf(t);if(-1!=e&&e!=this.size()-1){var r=this._components.splice(0,e),n=this._components.splice(1);this._components=r.concat(n,this._components)}}moveChildToBack(t){var e=this.indexOf(t);if(-1!=e&&0!=e){var r=this._components.splice(0,e),n=this._components.splice(0);this._components=this._components.concat(r,n)}}symmetryX(t){super.symmetryX(t),this.components.map((t=>{t.symmetryX(0)}))}findAll(t,...e){if("string"==typeof t)return v5(t,this,e[0]||this);if("function"==typeof t){var r=[];for(let n=this.components.length-1;n>=0;n--){let i=this.components[n].findAll(t,...e);i&&(r=r.concat(i))}return t(this,...e)&&r.push(this),r}}findFirst(t,...e){if("string"==typeof t)return v5(t,this,e[0])[0];if("function"==typeof t){for(let n=this.components.length-1;n>=0;n--){var r=this.components[n].findFirst(t,...e);if(null!=r)return r}return t(this,...e)?this:null}}findById(t){return this.root.findById(t)}findByRefid(t){return this.root.findByRefid(t)}contains(t,e){var r=super.contains(t,e);if(!r){var{left:n,top:i,width:o,height:a,lineWidth:s=0}=this.state,c=this.stuck?0:10+s/2;r=t<Math.max(n+o,n)+c&&t>Math.min(n+o,n)-c&&e<Math.max(i+a,i)+c&&e>Math.min(i+a,i)-c}return r}capture(t,e,r){var n=this.transcoordP2S(t,e);if(!this.contains(n.x,n.y))return!1;var i=this.bounds;n.x-=i.left,n.y-=i.top;var o=this.layout.capturables(this);for(let t=o.length-1;t>=0;t--){var a=o[t].capture(n.x,n.y,r);if(a)return a}return this.capturable&&!r?.(this)&&this}capturePath(t,e){if(e){if(e.indexOf(this)>-1)return!1;for(let t=0;t<e.length;t++)if(!this.containable(e[t]))return!1}var r=[],{left:n,top:i,width:o,height:a}=this.bounds;for(let e=0;e<t.length;e++){let s=this.transcoordP2S(t[e].x,t[e].y);if(s.x<n||s.x>n+o||s.y<i||s.y>i+a)return!1;s.x-=n,s.y-=i,r.push(s)}let s=this.layout.capturables(this);for(let t=s.length-1;t>=0;t--){let n=s[t];if(!n.isContainer())continue;let i=n.capturePath(r,e);if(i)return i}return this.focusible&&this}render(t){var{left:e=0,top:r=0,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i),t.closePath(),this.drawFill(t),this.drawStroke(t)}postrender(t){super.postrender(t);var{left:e=0,top:r=0,width:n,height:i}=this.bounds;this.showOverflow||(t.beginPath(),t.rect(e,r,n,i),t.clip(),t.closePath());var{top:r,left:e,scale:o}=this.state;t.translate(e,r),this.layout.drawables(this).forEach((e=>{e.draw(t)})),t.translate(-e,-r),this.drawText(t)}trim(){this.components.forEach((t=>{t.trim()})),super.trim()}}["layout"].forEach((t=>g6.memoize(N6.prototype,t,!1)));class U6 extends N6{constructor(t,e){super(t,e),t.translate=t.translate||{x:0,y:0},this._draw_reserved=!1,this.__draw__=()=>{this._draw_reserved=!1,this.trigger("redraw"),this.reflow(),this.draw()},this.throttle_render=()=>{this._draw_reserved||requestAnimationFrame(this.__draw__),this._draw_reserved=!0}}fitSize(t,e,r,n){if(this.target){if(e){let t=getComputedStyle(this.target);r=r||(t?parseFloat(t.getPropertyValue("width")):this.target.clientWidth),n=n||(t?parseFloat(t.getPropertyValue("height")):this.target.clientHeight)}else r=this.model.width,n=this.model.height;"CANVAS"==t.tagName&&(t.setAttribute("width",r*i5),t.setAttribute("height",n*i5)),t.style.width=r+"px",t.style.height=n+"px"}}resize(){this.fitSize(this.element,!0)}isLayer(){return!0}get showOverflow(){return this.app.isEditMode}get anchors(){}createElement(){var t=g6.createCanvas(1,1);return t.style.position="absolute",t}get target(){return this._target}set target(t){this._target&&this.element&&this._target.removeChild(this.element),this._target=t,t&&(this.element||(this.element=this.createElement()),this.resize(),t.appendChild(this.element))}get canvas(){return this.element}dispose(){super.dispose(),this.target=null,this.element=null}get selected(){return this.root.selected}set selected(t){this.root.selected=t}get focused(){return this.root.focused}set focused(t){this.root.focused=t}getContext(){return this._context2D||(this._context2D=this.canvas&&this.canvas.getContext("2d")),this._context2D}draw(t){this.canvas&&(t=t||this.getContext())&&super.draw(t)}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.clearRect(0,0,t.canvas.width,t.canvas.height),e&&t.translate(e.x*i5,e.y*i5),t.scale(r.x*i5,r.y*i5),n&&t.rotate(n)}get rotatePoint(){return{x:0,y:0}}contains(t,e){return!1}invalidate(){this.throttle_render()}move(t){var e=this.get("translate")||{x:0,y:0};this.set({translate:{x:e.x+t.x,y:e.y+t.y}})}centerTo(t,e){const r=t.rootModel.transcoordC2S(this.canvas.clientWidth/2,this.canvas.clientHeight/2),{x:n,y:i}=t.center,{x:o,y:a}=t.transcoordP2S(n,i),{x:s,y:c}=t.transcoordS2T(o,a),{x:u,y:l}=t.rootModel.get("translate"),{x:h,y:f}=t.rootModel.get("scale");e?f3({step:function(e){t.rootModel.set({translate:{x:u+(r.x-s)*h*e,y:l+(r.y-c)*f*e}})},duration:1e3,delta:"circ",ease:"in"}).start():t.rootModel.set({translate:{x:u+(r.x-s)*h,y:l+(r.y-c)*f}})}}const G6={x:1,y:1},Y6={x:0,y:0};class H6 extends U6{constructor(t,e){super(t,e)}dispose(){super.dispose(),delete this._canvas,delete this._overlay}contains(t,e){return!0}isRootModel(){return!0}get stuck(){return!0}get layout(){return k6}get overlay(){if(!this._overlay){var t=document.createElement("div");t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",this.element&&this.element.appendChild(t),this._overlay=t,this._repositionOverlay()}return this._overlay}createElement(){var t=document.createElement("div");return t.style.position="absolute",t.style["user-select"]="none",t.style.overflow="hidden",this._canvas=g6.createCanvas(1,1),this._canvas.style.position="absolute",t.appendChild(this._canvas),this._overlay&&t.appendChild(this._overlay),t}resize(){if(this.target){var{width:t,height:e,fitMode:r}=this.model;this.root.fitMode?r=this.root.fitMode:r||(r="ratio");try{var n=getComputedStyle(this.target)}catch(t){return void console.error(t,this.target)}var i=n?parseFloat(n.getPropertyValue("width")):this.target.clientWidth,o=n?parseFloat(n.getPropertyValue("height")):this.target.clientHeight;switch(r){case"both":case"ratio":break;case"width":o=e*i/t;break;case"height":i=t*o/e;break;default:i=Math.max(t,i),o=Math.max(e,o)}switch(this.fitSize(this.canvas,!0,i,o),r){case"ratio":case"both":break;case"width":this.element.style.overflowX="hidden",this.element.style.overflowY="auto";break;case"height":this.element.style.overflowX="auto",this.element.style.overflowY="hidden";break;default:this.element.style.overflowX=i>t?"hidden":"auto",this.element.style.overflowY=o>e?"hidden":"auto"}this.fitSize(this.element,!0)}}get canvas(){return this._canvas}get MPP(){var{scale:t={x:1,y:1},unit:e}=this.model;switch(e){case"mm":case"cm":return 1/this.app.PPM/t.x;case"in":return 1/this.app.PPI/t.x;default:return 1/t.x}}capturePath(t,e){var r=this.layout.capturables(this);for(let n=r.length-1;n>=0;n--){let i=r[n];if(!i.isContainer())continue;let o=i.capturePath(t,e);if(o)return o}return!1}get eventMap(){return{"(self)":{"(all)":{change:this._onchanged_all,mouseenter:this._onmouseenter_all,mouseleave:this._onmouseleave_all,click:this._onclick,mousedown:this._onmousedownup,mouseup:this._onmousedownup,touchstart:this._onmousedownup,touchend:this._onmousedownup}}}}closeScene(t){requestAnimationFrame((()=>this.overlay.dispatchEvent(new CustomEvent("close-scene",{bubbles:!0,composed:!0,detail:t}))))}_repositionOverlay(){var t=this._overlay;if(t){var{translate:e=Y6,scale:r=G6,rotation:n=0}=this.model,{left:i,top:o,width:a,height:s}=this.bounds;t.style.left=i+"px",t.style.top=o+"px";var c=`rotate(${n}rad) scale(${r.x}, ${r.y}) perspective(1px)`;t.style["margin-left"]=e.x+"px",t.style["margin-top"]=e.y+"px",["-webkit-","-moz-","-ms-","-o-",""].forEach((e=>{t.style[e+"transform"]=c}))}}onchange(t){var e=this._model;delete e.id,delete e.text,delete e.class,this._repositionOverlay()}_onchanged_all(t,e,r){this.invalidate()}_onmouseenter_all(t,e){if(t.stopPropagation(),this.app&&!this.app.isEditMode&&e){var r=e.origin;if(!(r instanceof H6)&&r.model.event&&r.model.event.hover&&!r.hidden){var n=r.model.event.hover;n&&this._doEventAction(n,r,!0,t)}}}_onmouseleave_all(t,e){if(t.stopPropagation(),e){var r=e.origin;if(this.app&&!this.app.isEditMode){var n=r.model.event&&r.model.event.hover;n&&this._doEventAction(n,r,!1,t)}}}_onclick(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&this._doEventAction(n,r,!0,t)}}_onmousedownup(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&n.pressed&&this._doMouseDownUpEventAction(n,r,"mousedown"==t.type||"touchstart"==t.type,t)}}_doMouseDownUpEventAction(t,e,r,n){var{pressed:i=!1}=t;i&&(r?function(t){if(!t.hasOwnProperty("_backupShadow")){var e=t.get("shadow");t._backupShadow=e;var{left:r=0,top:n=0}=e||{};t.delta("tx",r),t.delta("ty",n),t.set("shadow",{})}}(e):function(t){t.hasOwnProperty("_backupShadow")&&(t.delta("tx",0),t.delta("ty",0),t.set("shadow",t._backupShadow),delete t._backupShadow)}(e))}_doEventAction(t,e,r,n){var{action:i,target:o,value:a,emphasize:s=!1,restore:c=!1,pressed:u=!1,options:l}=t;if(o&&(o=e.access(o)),a&&(a=e.access(a)),s&&(r?function(t){t.hasOwnProperty("_backupStrokeStyle")||(t._backupStrokeStyle=t.model.strokeStyle,t.set("strokeStyle","#f26522"),t.hasOwnProperty("_backupLineWidth")||(t._backupLineWidth=t.model.lineWidth,t.set("lineWidth",t.model.lineWidth+5)))}(e):c&&function(t){t.hasOwnProperty("_backupStrokeStyle")&&(t.set("strokeStyle",t._backupStrokeStyle),delete t._backupStrokeStyle,t.hasOwnProperty("_backupLineWidth")&&(t.set("lineWidth",t._backupLineWidth),delete t._backupLineWidth))}(e)),i)switch(i){case"data-toggle":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach((t=>{t.data=!t.data}));break;case"data-tristate":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach((t=>{let e=Math.round(Math.max(Number(t.data)||0,0));t.data=(e+(r?1:2))%3}));break;case"data-set":if(!o)return;if(r){var h=a;this.root.findAll(o,e).forEach((t=>{t.data=h}))}break;case"value-set":if(!o)return;if(r){h=a;this.root.findAll(o,e).forEach((t=>{t.value=h}))}break;case"infoWindow":case"info-window":if(!o)return;"click"==n.type||r?w6.show(e,o,c,{x:n.offsetX,y:n.offsetY}):c&&w6.hide(e,o);break;case"toggle-info-window":if(!o)return;w6.toggle(e,o,!1,{x:n.offsetX,y:n.offsetY});break;case"popup":case"modal-popup":if(!o)return;let t=l&&"input"in l?l.input:"(self)",s=!l||(!("output"in l)||l.output);T6.show(e,o,{data:t&&this.root.findFirst(t,e)?.data,output:s,modal:"modal-popup"===i});break;case"close-scene":this.closeScene(e.data);break;case"goto":this.trigger(i,o,l,e);break;default:this.trigger(i,o,a,e)}}}function W6(t,e){const r=t.state.refid;return t.root.findAll((t=>t.isLine()&&t.from.component===r&&(!e||t.from.anchor===e)))}function q6(t,e){const r=t.state.refid;return t.root.findAll((t=>t.isLine()&&t.to.component===r&&(!e||t.to.anchor===e)))}H6.Popup=T6,g6.register("model-layer",H6);var X6=t=>class extends t{isConnectable(){return!0}postrender(t){super.postrender(t),this._draw_anchors(t)}_draw_anchors(t){var e=this.anchors||[];t.save(),e.forEach((e=>{var{position:{x:r,y:n},draw:i}=e;if(i){t.beginPath();try{i.call(e,t,this)}catch(t){console.error(t)}t.closePath()}})),t.restore()}contains(t,e){if(n=super.contains(t,e))return n;var r=this.anchors||[];for(let i of r){const r=i.bounds;if(!r)continue;const{left:o,top:a,width:s,height:c}=r;var n;if(n=t<Math.max(o+s,o)&&t>Math.min(o+s,o)&&e<Math.max(a+c,a)&&e>Math.min(a+c,a))return n}return!1}findInOutLines(t){return function(t,e){const r=t.state.refid;return t.root.findAll((t=>!(!t.isLine()||(t.from.component!==r||e&&t.from.anchor!==e)&&(t.to.component!==r||e&&t.to.anchor!==e))))}(this,t)}findOutletLines(t){return W6(this,t)}findOutletEnds(t){return function(t,e){return W6(t,e).map((t=>t.toEnd?.component)).filter(Boolean)}(this,t)}findInletLines(t){return q6(this,t)}findInletEnds(t){return function(t,e){return q6(t,e).map((t=>t.fromEnd?.component)).filter(Boolean)}(this,t)}};const V6={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0}}],help:"scene/component/rect"};var Q6={ondragmove:function(t,e,r){var{left:n,top:i,width:o,height:a}=r.model,s=(r.transcoordP2S(t.x,t.y).x-n)/(o/2)*100;s=K6(s,o,a),r.set({round:s})}};function K6(t,e,r){var n=e>r?r/e*100:100;return t>=n?t=n:t<=0&&(t=0),t}class J6 extends(X6(y6(v6))){is3dish(){return!0}get controls(){var{left:t,top:e,width:r,round:n,height:i}=this.state;return[{x:t+r/2*((n=null==n?0:K6(n,r,i))/100),y:e,handler:Q6}]}get nature(){return V6}}g6.register("rect",J6);const Z6=[1,2,10,20,50,50,50,50,50,50];class $6 extends(y6(v6)){render(t){const{lineWidth:e=1,fillStyle:r="lightgray",font:n="15px Arial",left:i,top:o,rotation:a,origin:s,margin:c,width:u,height:l,side:h="bottom",strokeStyle:f="#000000",scale:p=1}=this.state;t.translate(i,o),t.beginPath();const d=Math.round(e/2);t.rect(-d,-d,u+2*d,l+2*d),t.clip(),t.beginPath(),t.rect(0,0,u,l),r&&(t.fillStyle=r,t.fill()),t.lineWidth=e,t.strokeStyle=f,t.stroke(),t.beginPath(),t.font=n;var g="bottom"!==h,v=g?0:l,y=4*l/5,m=2*l/3,b=1*l/2,x=3*l/5;g&&(y=l-y,m=l-m,b=l-b,x=l-1.5*l/5);var w=p*this.app.PPM/this.root.unitScale,A=Math.ceil(s/w),_=this.app.PPM/w,k=_<=1.1?1:Z6[Math.round(_)]||100;1!=k&&(A+=(k-A%k)%k);var E=Math.ceil(A*w),S=s+u;for(t.fillStyle=f;E<S;){if(A%10==0){t.moveTo(E-s,b),t.lineTo(E-s,v);let e=(A/10).toString(),r=t.measureText(e);t.fillText(e,E-s-r.width-6,x)}else A%5==0?(t.moveTo(E-s,m),t.lineTo(E-s,v)):(t.moveTo(E-s,y),t.lineTo(E-s,v));A+=k,E=Math.ceil(A*w)}}}g6.register("ruler",$6);const t8=20,e8=20,r8=90*Math.PI/180,n8="9px Verdana",i8=20,o8="#f4f4f4",a8="#999";function s8(t,e,r){return{left:-t.x,top:-t.y,width:t8,height:i8}}function c8(t,e,r,n){return{left:t8-t.x,top:0-t.y,origin:20-t.x,width:e-t8,height:i8}}function u8(t,e,r,n){var i={x:0-t.x+10,y:-t.y+e8+(r-e8)/2},o=g6.transcoordRR(0-t.x,-t.y+e8,i,r8);return{left:o.x-(r-e8),top:o.y,origin:20-t.y,width:r-e8,height:i8}}function l8(t){var e=t.get("translate");return{left:-e.x,top:-e.y,width:t.canvas.width/i5,height:t.canvas.height/i5}}g6.register("guide-layer",class extends U6{constructor(t,e){super(t,e),this.appScale={x:1,y:1},"disabled"!==t.ruler&&(this.hruler=new $6({left:t8,top:0,origin:20,margin:0,height:i8,unit:"m",rotation:0,font:n8,fillStyle:o8,strokeStyle:a8,capturable:!1}),this.vruler=new $6({left:0,top:0,origin:20,margin:0,height:i8,unit:"m",rotation:r8,font:n8,side:"top",fillStyle:o8,strokeStyle:a8,capturable:!1}),this.origin_rect=new J6({left:-20,top:-20,width:20,height:20,fillStyle:o8,strokeStyle:a8,lineWidth:1}),this.addComponent(this.hruler),this.addComponent(this.vruler),this.addComponent(this.origin_rect)),this.invalidate()}get capturable(){return!1}ready(){if(super.ready(),this.hruler){var t=this.rootModel,e=Object.assign({},t.get("translate"));e.x<t8&&(e.x+=t8),e.y<e8&&(e.y+=e8);var r=t.get("scale")||{x:1,y:1};this.appScale=r,this.hruler.set("scale",r.x),this.vruler.set("scale",r.y),t.set("translate",e),this.set("translate",e),this.screen_coord=l8(this);var{width:n,height:i}=this.screen_coord;this.hruler.set(c8(e,n,0,this.hruler)),this.vruler.set(u8(e,0,i,this.vruler)),this.origin_rect.set(s8(e))}else this.screen_coord=l8(this)}resize(){super.resize(),this.screen_coord=l8(this);var{width:t,height:e}=this.screen_coord;this.hruler&&(this.hruler.set(c8(this.model.translate,t,0,this.hruler)),this.vruler.set(u8(this.model.translate,0,e,this.vruler)),this.origin_rect.set(s8(this.model.translate)))}render(t){if(this.guide){t.save();var{x:e,y:r}=this.guide,{top:n,left:i,width:o,height:a}=this.screen_coord;t.beginPath(),t.moveTo(e,n),t.lineTo(e,n+a),t.moveTo(i,r),t.lineTo(i+o,r),t.lineWidth=1,t.strokeStyle="tomato",t.setLineDash([2,3]),t.font="10px tahoma",t.fillStyle="#333";var s=this.transcoordS2C(e,r,this.rootModel);t.textBaseline=s.y>200?"bottom":"top",t.textAlign=s.x>200?"right":"left";var c=s.y>200?-5:5,u=s.x>200?-5:5,l=Math.round(e/this.appScale.x),h=Math.round(r/this.appScale.y);t.fillText(` ${l}, ${h} `,e+u,r+c),t.stroke(),t.restore()}}get guide(){return this._guide}set guide(t){this._guide=t,this.invalidate()}contains(t,e){return!0}get eventMap(){return{"(root)":{"(descendant)":{mousemove:this.onmousemove_child,mouseout:this.onmouseout_child,dragmove:this.onmousemove_child},"model-layer":{change:this.onchange_root_model}},"(self)":{"(descendant)":{mousedown:this.onmousedown_origin}}}}onmousedown_origin(t,e){this.rootModel.set("translate",{x:20,y:20})}onchange_root_model(t,e,r){if(t.scale&&(this.appScale=t.scale,this.hruler&&(this.hruler.set("scale",t.scale.x),this.vruler.set("scale",t.scale.y))),t.translate&&this.set({translate:{x:t.translate.x,y:t.translate.y}}),t.scale||t.translate){if(this.screen_coord=l8(this),this.hruler){var{translate:n}=this.model,{width:i,height:o}=this.screen_coord;this.hruler.set(c8(n,i,0,this.hruler)),this.vruler.set(u8(n,0,o,this.vruler)),this.origin_rect.set(s8(n))}this._guide=null}this.invalidate()}onmouseout_child(t){this._guide=null,this.invalidate()}onmousemove_child(t,e){t.target&&"CANVAS"!==t.target.tagName?this.guide=null:this.guide=this.transcoordC2S(t.offsetX,t.offsetY)}});g6.register("shift-layer",class extends U6{ready(){super.ready();var t=this.rootModel.get("translate");this.set("translate",t)}render(t){}contains(t,e){return!(2!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown,keyup:this.onkeyup}}}}onkeydown(t){"Space"===t.code&&void 0===this.before_mode&&(this.before_mode=this.app.mode,this.app.mode=2)}onkeyup(t){"Space"===t.code&&(void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode)}ondragstart(t){this.last_position=this.transcoordC2S(t.offsetX,t.offsetY)}ondragmove(t){var{x:e,y:r}=this.transcoordC2S(t.offsetX,t.offsetY);this.rootModel.move({x:e-this.last_position.x,y:r-this.last_position.y},!1),this.last_position=this.transcoordC2S(t.offsetX,t.offsetY)}});class h8{constructor(t){this.params=Object.assign({},t)}excute(){}}class f8 extends h8{execute(){this.params.changes.forEach((t=>t.component.set(t.after)))}static before(t){return t.map((t=>({component:t})))}static after(t,e){e.execute(null,!1)}static around(t,e,r){e.call(r),t.execute(null,!1)}}const p8="left",d8="right",g8="center",v8="top",y8="bottom",m8="middle",b8=[p8,d8,g8,v8,m8,y8];function x8(t){if(-1!=b8.indexOf(t)){var e=this.selected.filter((t=>!t.stuck));if(!(e.length<=1)){var r=this.app.commander;f8.around(r,(function(){!function(t,e){var r=JSON.parse(JSON.stringify(e[0].bounds)),n=r.left+r.width,i=r.top+r.height;for(let t=0;t<e.length;t++){let o=e[t].bounds;r.left=o.left>r.left?r.left:o.left,r.top=o.top>r.top?r.top:o.top,n=o.left+o.width>n?o.left+o.width:n,i=o.top+o.height>i?o.top+o.height:i}switch(r.width=n-r.left,r.height=i-r.top,t){case p8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left,top:n.top,width:n.width,height:n.height}}break;case g8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left+r.width/2-n.width/2,top:n.top,width:n.width,height:n.height}}break;case d8:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:n-r.width,top:r.top,width:r.width,height:r.height}}break;case v8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top,width:n.width,height:n.height}}break;case m8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top+r.height/2-n.height/2,width:n.width,height:n.height}}break;case y8:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:r.left,top:i-r.height,width:r.width,height:r.height}}break;default:;}}(t,e)}))}}}const w8="VERTICAL",A8=[w8,"HORIZONTAL"];function _8(t){if(-1!=A8.indexOf(t)){var e=this.selected;if(!(e.length<=1)){var r=this.app.commander;f8.around(r,(function(){!function(t,e){var r=e.filter((t=>!t.stuck)).slice(0);r.sort((function(e,r){let n=e.center,i=r.center;return t===w8?n.y-i.y:n.x-i.x}));var n=r.reduce(((e,r)=>e+(t===w8?r.bounds.height:r.bounds.width)),0),i=r[0].bounds,o=r[r.length-1].bounds,a=((t===w8?o.top+o.height-i.top:o.left+o.width-i.left)-n)/(r.length-1),s=t===w8?i.top+i.height:i.left+i.width;for(let e=1;e<r.length-1;e++){let n=r[e],i=n.bounds;s+=a,t===w8?(i.top=s,s+=i.height):(i.left=s,s+=i.width),n.bounds=i}}(t,e)}))}}}function k8(t){for(var e=0;t&&!t.isRootModel();)e+=t.get("rotation")||0,t=t.parent;return e%(2*Math.PI)}class E8 extends h8{execute(){this.params.changes.forEach((t=>{let{component:e,to_container:r,to_index:n,to_left:i,to_top:o,hint:a}=t,s=function(t){if(t.isRootModel())return t.bounds;var{bounds:e,rotatePoint:r}=t,n=r;return{left:(n=t.transcoordS2T(n.x,n.y)).x-(r.x-e.left),top:n.y-(r.y-e.top),width:e.width,height:e.height}}(e),c=k8(e);if(e.removeSelf(!r),e.bounds=s,e.set("rotation",c),r){e.set("rotation",function(t,e){return((t.get("rotation")||0)-k8(e))%(2*Math.PI)}(e,r));let a=function(t,e){if(e.isRootModel())return t.bounds;var{bounds:r,rotatePoint:n}=t,i=e.transcoordT2S(n.x,n.y),o=e.bounds;return{left:i.x-(n.x-r.left)-o.left,top:i.y-(n.y-r.top)-o.top,width:r.width,height:r.height}}(e,r);t.to_left=void 0!==i?i:a.left,t.to_top=void 0!==o?o:a.top,e.bounds={left:t.to_left,top:t.to_top,width:a.width,height:a.height},void 0===n?r.addComponent(e):r.insertComponentAt(e,n)}}))}}function S8(t,e,r){this.app.commander.execute(new E8({changes:[{component:t,to_container:e,to_index:r}]}))}function M8(t){var e=this.selected.filter((t=>!t.stuck));if(!(0==e.length||e[0].isRootModel()||e.length>1&&("forward"==t||"backward"==t))){var r,n=e[0].parent;if("forward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t+1}]}else if("backward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t-1}]}else r=e.filter((t=>t.parent===n)).sort(((e,r)=>{let i=n.indexOf(e)<n.indexOf(r);return"front"==t?i:!i})).map(((e,r)=>(n.indexOf(e),{component:e,to_container:n,to_index:"front"==t?n.components.length-r-1:r})));var i=new E8({changes:r});this.app.commander.execute(i)}}function T8(t,e,r,n){var i=g6.register(t.type);if(!i)return V4("Class not found",t.type),null;r&&(t.refid=r(t.refid)),t.id&&n&&n(t.id)&&delete t.id;var o=new i(t,e);return t.components&&o.isContainer()&&(t.components.forEach((t=>{var i=T8(t,e,r,n);i&&o.addComponent(i)})),delete t.components),o.created(),o}function P8(t,e){var r=l4(t.hierarchy);return delete r.id,T8(r,t.app,e)}var O8=Object.freeze({__proto__:null,compile:T8,duplicate:P8,select:v5,match:p5});function I8(t,e,r){t instanceof Array||(t=[t]),r||(r=this.model_layer);var n=[],i=new Map;this.selected=t.map((t=>{try{return T8(t,r.app,(t=>{const e=this.getNewRefid();return void 0!==t&&i.set(t,e),e}),(t=>(this.indexMap[t]||[])[0]))}catch(t){return console.warn(t),!1}})).filter(Boolean).map((t=>{let{left:o,top:a,width:s,height:c,x:u,y:l,cx:h,cy:f}=e;return t.replaceRefids(i),isNaN(o)||isNaN(a)||isNaN(s)||isNaN(c)||(t.bounds={left:o,top:a,width:s,height:c}),isNaN(u)||isNaN(l)||t.move({x:u,y:l},!1),isNaN(h)||isNaN(f)||(t.center={x:h,y:f}),n.push({component:t,to_container:r}),t})),this.app.commander.execute(new E8({changes:n}))}function R8(t){t instanceof Array||(t=[t]),this.trigger("addstart",t)}function C8(){var t=[],e=new Map;if(this.selected=this.selected.filter((t=>!t.isRootModel())).map((r=>{let n=P8(r,(t=>{const r=this.getNewRefid();return void 0!==t&&e.set(t,r),r}));return n.move({x:20,y:20},!1),t.push({component:n,to_container:r.parent}),n})).map((t=>(t.replaceRefids(e),t))),0!=t.length){var r=new E8({changes:t});this.app.commander.execute(r)}}function j8(){var t=this.selected;this.selected=[];for(var e=null,r=t.filter((t=>!t.isRootModel()&&(t.parent.focusible||t.parent.isGroup()))).map((t=>(e||(e=t.parent),{component:t,to_container:null})));e&&e.isGroup();){let t=[];if(e.components.filter((t=>!r.find((e=>e.component===t)))).forEach((e=>t.push(e))),t.length>1)break;let n=e.parent;t.forEach((t=>r.push({component:t,to_container:n}))),r.push({component:e,to_container:null}),e=n}r.length>0&&this.app.commander.execute(new E8({changes:r})),e&&e.calculateBounds&&e.calculateBounds()}function L8(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.on(t,e,r);break;case"mode":this.app?.on(t,e,r);break;default:this.on(t,e,r)}}function D8(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.once(t,e,r);break;case"mode":this.app.once(t,e,r);break;default:this.once(t,e,r)}}function z8(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.off(t,e,r);break;case"mode":this.app?.off(t,e,r);break;default:this.off(t,e,r)}}function F8(t){var e=this.target_element,r=t||this.fitMode,n=this;function i(t){n.fit(r),document.fullscreen||document.mozFullScreen||document.webkitIsFullScreen||document.msFullscreenElement||["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach((t=>document.removeEventListener(t,i)))}["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach((t=>document.addEventListener(t,i))),e.requestFullScreen?e.requestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen()}var B8=0;function N8(){var t=this.selected.filter((t=>!t.isRootModel())).map((t=>t.hierarchy));if(0!=t.length)return B8=0,JSON.stringify(t,null,2)}function U8(){B8=0;var t=N8.call(this);return j8.call(this),t}function G8(t){if(t)try{JSON.parse(t);B8++,I8.call(this,JSON.parse(t),{x:15*B8,y:15*B8})}catch(e){X4(e,t)}}var Y8=function(){return{escape:function(t){return t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:t,mimeType:function(e){var r=t(e).toLowerCase();return(n="application/font-woff",i="image/jpeg",{woff:n,woff2:n,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:i,jpeg:i,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"})[r]||"";var n,i},dataAsUrl:function(t,e){return"data:"+e+";base64,"+t},isDataUrl:function(t){return-1!==t.search(/^(data:)/)},canvasToBlob:function(t){return t.toBlob?new Promise((function(e){t.toBlob(e)})):function(t){return new Promise((function(e){for(var r=window.atob(t.toDataURL().split(",")[1]),n=r.length,i=new Uint8Array(n),o=0;o<n;o++)i[o]=r.charCodeAt(o);e(new Blob([i],{type:"image/png"}))}))}(t)},resolveUrl:function(t,e){var r=document.implementation.createHTMLDocument(),n=r.createElement("base");r.head.appendChild(n);var i=r.createElement("a");return r.body.appendChild(i),n.href=e,i.href=t,i.href},getAndEncode:function(t){var e=3e4;Z8.impl.options.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+(new Date).getTime());return new Promise((function(r){var n,i=new XMLHttpRequest;if(i.onreadystatechange=a,i.ontimeout=s,i.responseType="blob",i.timeout=e,i.open("GET",t,!0),i.send(),Z8.impl.options.imagePlaceholder){var o=Z8.impl.options.imagePlaceholder.split(/,/);o&&o[1]&&(n=o[1])}function a(){if(4===i.readyState)if(200===i.status){var e=new FileReader;e.onloadend=function(){var t=e.result.split(/,/)[1];r(t)},e.readAsDataURL(i.response)}else n?r(n):c("cannot fetch resource: "+t+", status: "+i.status)}function s(){n?r(n):c("timeout of "+e+"ms occured while fetching resource: "+t)}function c(t){console.error(t),r("")}}))},uid:function(){var t=0;return function(){return"u"+e()+t++;function e(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}}}(),delay:function(t){return function(e){return new Promise((function(r){setTimeout((function(){r(e)}),t)}))}},asArray:function(t){for(var e=[],r=t.length,n=0;n<r;n++)e.push(t[n]);return e},escapeXhtml:function(t){return t.replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(t){return new Promise((function(e,r){var n=new Image;n.onload=function(){e(n)},n.onerror=r,n.src=t}))},width:function(t){var r=e(t,"border-left-width"),n=e(t,"border-right-width");return t.scrollWidth+r+n},height:function(t){var r=e(t,"border-top-width"),n=e(t,"border-bottom-width");return t.scrollHeight+r+n}};function t(t){var e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function e(t,e){var r=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(r.replace("px",""))}}(),H8=function(){var t=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,i,o){return a()?Promise.resolve(t):Promise.resolve(t).then(r).then((function(e){var r=Promise.resolve(t);return e.forEach((function(t){r=r.then((function(e){return n(e,t,i,o)}))})),r}));function a(){return!e(t)}},shouldProcess:e,impl:{readUrls:r,inline:n}};function e(e){return-1!==e.search(t)}function r(e){for(var r,n=[];null!==(r=t.exec(e));)n.push(r[1]);return n.filter((function(t){return!Y8.isDataUrl(t)}))}function n(t,e,r,n){return Promise.resolve(e).then((function(t){return r?Y8.resolveUrl(t,r):t})).then(n||Y8.getAndEncode).then((function(t){return Y8.dataAsUrl(t,Y8.mimeType(e))})).then((function(r){return t.replace(function(t){return new RegExp("(url\\(['\"]?)("+Y8.escape(t)+")(['\"]?\\))","g")}(e),"$1"+r+"$3")}))}}(),W8=function(){return{resolveAll:function(){return t().then((function(t){return Promise.all(t.map((function(t){return t.resolve()})))})).then((function(t){return t.join("\n")}))},impl:{readAll:t}};function t(){return Promise.resolve(Y8.asArray(document.styleSheets)).then((function(t){var e=[];return t.forEach((function(t){try{Y8.asArray(t.cssRules||[]).forEach(e.push.bind(e))}catch(e){console.log("Error while reading CSS rules from "+t.href,e.toString())}})),e})).then((function(t){return t.filter((function(t){return t.type===CSSRule.FONT_FACE_RULE})).filter((function(t){return H8.shouldProcess(t.style.getPropertyValue("src"))}))})).then((function(e){return e.map(t)}));function t(t){return{resolve:function(){var e=(t.parentStyleSheet||{}).href;return H8.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}}(),q8=function(){return{inlineAll:function e(r){return r instanceof Element?n(r).then((function(){return r instanceof HTMLImageElement?t(r).inline():Promise.all(Y8.asArray(r.childNodes).map((function(t){return e(t)})))})):Promise.resolve(r);function n(t){var e=t.style.getPropertyValue("background");return e?H8.inlineAll(e).then((function(e){t.style.setProperty("background",e,t.style.getPropertyPriority("background"))})).then((function(){return t})):Promise.resolve(t)}},impl:{newImage:t}};function t(t){return{inline:function(e){return Y8.isDataUrl(t.src)?Promise.resolve():Promise.resolve(t.src).then(e||Y8.getAndEncode).then((function(e){return Y8.dataAsUrl(e,Y8.mimeType(t.src))})).then((function(e){return new Promise((function(r,n){t.onload=r,t.onerror=n,t.src=e}))}))}}}}(),X8={imagePlaceholder:void 0,cacheBust:!1};function V8(t,e){return function(t){void 0===t.imagePlaceholder?Z8.impl.options.imagePlaceholder=X8.imagePlaceholder:Z8.impl.options.imagePlaceholder=t.imagePlaceholder;void 0===t.cacheBust?Z8.impl.options.cacheBust=X8.cacheBust:Z8.impl.options.cacheBust=t.cacheBust}(e=e||{}),Promise.resolve(t).then((function(t){return K8(t,e.filter,!0)})).then(J8).then((function(t){var{bgcolor:r,width:n,height:i,style:o,sx:a=1,sy:s=1}=e,c=t.style;r&&(c.backgroundColor=r);n&&(c.width=n+"px");i&&(c.height=i+"px");c["margin-left"]="0px",c["margin-top"]="0px",["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{c[t+"transform"]=`rotate(0rad) translate(0px, 0px) scale(${a}, ${s}) perspective(1px)`})),o&&Object.keys(o).forEach((function(t){c[t]=o[t]}));return t})).then((function(r){return function(t,e,r){return Promise.resolve(t).then((function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)})).then(Y8.escapeXhtml).then((function(t){return'<foreignObject x="0" y="0" width="100%" height="100%">'+t+"</foreignObject>"})).then((function(t){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+e+'" height="'+r+'">'+t+"</svg>"})).then((function(t){return"data:image/svg+xml;charset=utf-8,"+t}))}(r,e.width||Y8.width(t),e.height||Y8.height(t))}))}function Q8(t,e){return V8(t,e).then(Y8.makeImage).then(Y8.delay(100)).then((function(r){var n=function(t){var r=document.createElement("canvas");if(r.width=e.width||Y8.width(t),r.height=e.height||Y8.height(t),e.bgcolor){var n=r.getContext("2d");n.fillStyle=e.bgcolor,n.fillRect(0,0,r.width,r.height)}return r}(t);return n.getContext("2d").drawImage(r,0,0),n}))}function K8(t,e,r){return r||!e||e(t)?Promise.resolve(t).then((function(t){if(t instanceof HTMLCanvasElement)try{return Y8.makeImage(t.toDataURL())}catch(t){V4(t)}return t.cloneNode(!1)})).then((function(r){return function(t,e,r){var n=t.childNodes;return 0===n.length?Promise.resolve(e):i(e,Y8.asArray(n),r).then((function(){return e}));function i(t,e,r){var n=Promise.resolve();return e.forEach((function(e){n=n.then((function(){return K8(e,r)})).then((function(e){e&&t.appendChild(e)}))})),n}}(t,r,e)})).then((function(e){return function(t,e){return e instanceof Element?Promise.resolve().then(r).then(n).then(i).then(o).then((function(){return e})):e;function r(){function r(t,e){function r(t,e){Y8.asArray(t).forEach((function(r){e.setProperty(r,t.getPropertyValue(r),t.getPropertyPriority(r))}))}t.cssText?e.cssText=t.cssText:r(t,e)}r(window.getComputedStyle(t),e.style)}function n(){function r(r){var n=window.getComputedStyle(t,r),i=n.getPropertyValue("content");if(""!==i&&"none"!==i){var o=Y8.uid();e.className=e.className+" "+o;var a=document.createElement("style");a.appendChild(s(o,r,n)),e.appendChild(a)}function s(t,e,r){var n="."+t+":"+e,i=r.cssText?o(r):a(r);return document.createTextNode(n+"{"+i+"}");function o(t){var e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}function a(t){return Y8.asArray(t).map(e).join("; ")+";";function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}}}}[":before",":after"].forEach((function(t){r(t)}))}function i(){t instanceof HTMLTextAreaElement&&(e.innerHTML=t.value),t instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function o(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach((function(t){var r=e.getAttribute(t);r&&e.style.setProperty(t,r)})))}}(t,e)})):Promise.resolve()}function J8(t){return q8.inlineAll(t).then((function(){return t}))}var Z8={toSvg:V8,toPng:function(t,e){return Q8(t,e||{}).then((function(t){return t.toDataURL()}))},toJpeg:function(t,e){return Q8(t,e=e||{}).then((function(t){return t.toDataURL("image/jpeg",e.quality||1)}))},toBlob:function(t,e){return Q8(t,e||{}).then(Y8.canvasToBlob)},toPixelData:function(t,e){return Q8(t,e||{}).then((function(e){return e.getContext("2d").getImageData(0,0,Y8.width(t),Y8.height(t)).data}))},impl:{fontFaces:W8,images:q8,util:Y8,inliner:H8,options:{}}};function $8(t,e,r,n){var i=this.model_layer,o=i._overlay;return new Promise((function(a,s){if(i){var c=i.get("width"),u=i.get("height");r=r||c,n=n||u;var l=i.get("translate"),h=i.get("scale"),f=Math.min(r/c,n/u);r=c*f,n=u*f,i.set("translate",{x:0,y:0}),i.set("scale",{x:f/i5,y:f/i5});var p=g6.createCanvas(r,n),d=p.getContext("2d");if(i.draw(d),i.set("translate",l),i.set("scale",h),!o)return a(p.toDataURL(t,e)),void(p=null);Z8.toPng(o,{sx:f,sy:f,width:r,height:n}).then((function(i){var o=new Image;o.onload=function(){d.drawImage(o,0,0,r,n),a(p.toDataURL(t,e)),p=null},o.src=i}),(function(r){X4(r),a(p.toDataURL(t,e)),p=null}))}else s("No target model")}))}function t7(){var t=this.selected.filter((t=>!!t.parent&&!t.stuck));if(!(t.length<2)){var e=t[0].parent,r=[],n=t.sort(((t,r)=>e.components.indexOf(t)-e.components.indexOf(r)));n.forEach((t=>{r.push(t.bounds)}));var i=g6.union(r),o=t[0].transcoordP2S(i.left,i.top);o=t[0].transcoordS2T(o.x,o.y);var a=new Map,s=T8({type:"group",left:o.x,top:o.y,width:i.width,height:i.height},e.app,(t=>{const e=this.getNewRefid();return void 0!==t&&a.set(t,e),e}));s.replaceRefids(a);var c=[{component:s,to_container:e}];n.forEach((t=>{c.push({component:t,to_container:s})})),this.app.commander.execute(new E8({changes:c})),this.selected=[s]}}function e7(){if(0!==this.selected.length){var t=[],e=[];this.selected.forEach((r=>{if(r.isGroup()){var n=r.parent;r.components.forEach((r=>{t.push(r),e.push({component:r,to_container:n})})),e.push({component:r,to_container:null})}})),this.app.commander.execute(new E8({changes:e})),this.selected=t}}function r7(){var t=this.selected;if(0!=t.length){var e=t.map((t=>t.bounds)),r=g6.union(e),n=r.left+r.width/2;t.map((t=>{t.symmetryX(n)}))}}function n7(){var t=this.selected;if(0!=t.length){var e=t.map((t=>t.bounds)),r=g6.union(e),n=r.top+r.height/2;t.map((t=>{t.symmetryY(n)}))}}function i7(){f8.around(this.app.commander,r7,this)}function o7(){f8.around(this.app.commander,n7,this)}function a7(t,e,r){var n=this.findAll(t,r);return n.forEach((t=>{t.set(e)})),n}function s7(t){f8.around(this.app.commander,t)}function c7(){return Object.values(this.indexMap).map((t=>t.map((t=>{let{id:e,data:r}=t.model;return{key:e,value:r}})))).flat().sort(((t,e)=>t.key>e.key?1:-1))}function u7(t,e,r,n){var i=t.selected,o=n?i.slice(0):[];n&&o.length>0?e=o[0].parent:e.isContainer()||(e=e.parent);var a=e.layout.capturables(e),s=!!e.layout.joinType;if(n&&r.selected.forEach((t=>{o.splice(o.indexOf(t),1)})),r.selected=[],a.forEach((t=>{t.capturable&&function(t,e,r){var n,i,o,a,{sx:s,sy:c,ex:u,ey:l}=e;if(s>u?(n=u,i=s):(n=s,i=u),c>l?(o=l,a=c):(o=c,a=l),r){var h=t.bounds,f=t.transcoordS2TR(h.left,h.top),p=t.transcoordS2TR(h.left+h.width,h.top+h.height),d=f.x,g=p.x,v=f.y,y=p.y,m=Math.min(n,d,i,g),b=Math.max(n,d,i,g),x=Math.min(o,v,a,y),w=Math.max(o,v,a,y);return!(b-m>Math.abs(i-n)+Math.abs(g-d)||w-x>Math.abs(a-o)+Math.abs(y-v))}var A=t.path;if(!A)return error("컴포넌트에 get path가 잘못 구현되어있음.",t),!1;for(let e=0;e<A.length;e++){let r=t.transcoordS2TR(A[e].x,A[e].y);if(n>r.x||i<r.x||o>r.y||a<r.y)return!1}return!0}(t,r,s)&&-1==o.indexOf(t)&&r.selected.push(t)})),o=o.concat(r.selected),i.length!==o.length)t.selected=o;else for(let e=0;e<o.length;e++)if(i[e]!=o[e]){t.selected=o;break}}function l7(t,e,r,n,i){i||u7(t,e,r,n)}g6.register("add-layer",class extends U6{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}render(t){var e=this.addbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}contains(t,e){return!(3!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{addstart:this.onaddstart,addstop:this.onaddstop,keydown:this.onkeydown,dragstart:this.ondragstart,dragmove:this.ondragmove,dragend:this.ondragend,mousedown:this.onmousedown,mouseup:this.onmouseup}},"model-layer":{"(self)":{change:this.onchange_root_model}}}}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}onaddstart(t,e){void 0===this.before_mode&&(this.before_mode=this.app.mode,this.models=t,this.app.mode=3)}onaddstop(){void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode,delete this.addbox,this.invalidate()}onkeydown(t){3===this.app.mode&&"Esc"===t.code&&this.root.trigger("addstop")}ondragstart(t){var{x:e,y:r}=this.transcoordC2S(t.offsetX,t.offsetY);this.addbox={sx:e,sy:r}}ondragmove(t){if(3===this.app.mode){var{x:e,y:r}=this.transcoordC2S(t.offsetX,t.offsetY);this.addbox&&(this.addbox.ex=e,this.addbox.ey=r,this.invalidate())}}ondragend(t,e){if(3!==this.app.mode)return;const{sx:r,sy:n,ex:i,ey:o}=this.addbox;I8.call(this.root,this.models,{left:Math.min(r,i),top:Math.min(n,o),width:Math.abs(i-r),height:Math.abs(o-n)}),this.root.trigger("addstop")}onmousedown(t,e){3===this.app.mode&&(this.downpoint={x:t.offsetX,y:t.offsetY})}onmouseup(t,e){if(this.downpoint.x===t.offsetX&&this.downpoint.y===t.offsetY){var{x:r,y:n}=this.transcoordC2S(t.offsetX,t.offsetY);I8.call(this.root,this.models,{cx:r,cy:n}),this.root.trigger("addstop")}}});g6.register("selection-layer",class extends U6{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}contains(t,e){return!1}render(t){var e=this.selbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown}},"model-layer":{"(self)":{change:this.onchange_root_model},"(all)":{dragstart:this.ondragstart_selbox,dragmove:this.ondragmove_selbox,dragend:this.ondragend_selbox,mousedown:this.onmousedown_comp,mouseup:this.onmouseup_comp}}}}onkeydown(t,e){var{origin:r,deliverer:n}=e,i=n.selected;if(1!==i.length)return!1;var o=i[0],a=o.parent;if(!a||a===n)return!1;if("Tab"===t.code){var s=a.layout.capturables(a),c=s.indexOf(o);if(-1==c){if(!a.indexOf(o))return V4("Container not contains [",o,"] as a component"),!1;c=0}var u=s.length;t.shiftKey?c--:c++,o=s[(c+u)%u]}else{if(!a.layout.keyNavigate)return!1;o=a.layout.keyNavigate(a,o,t)||o}n.selected=[o],t.preventDefault()}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}_pendingDecision(t){this.downpoint={x:t.offsetX,y:t.offsetY}}_selectGroupItem(t,e){var r=this.selected.indexOf(t);let n=t.parent;for(;n.parent.isGroup();)n=n.parent;let i=[],o=!1,a=!1;if(this.selected.forEach((t=>{let e=t.parent;if(t!==n){for(;e.parent&&e.parent.isGroup();)e=e.parent;e===n&&(i.push(t),o=!0)}else a=!0})),o)if(e.shiftKey){if(-1!=r)return void this._pendingDecision(e);i.push(t)}else{if(-1!=r)return void this._pendingDecision(e);i=[t]}else{if(a)return void this._pendingDecision(e);if(e.shiftKey)if(this.selected.length>0){if(-1!=this.selected.indexOf(n)||this.selected[0].parent!==n.parent)return;i=[...this.selected,n]}else i=[n];else i=[n]}this.selected=i}onmousedown_comp(t,e){var{origin:r}=e;if(this.downpoint=null,t.shiftKey){if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return void this._pendingDecision(t);{let e=this.selected.filter((t=>!t.isRootModel()&&!!t.parent)),n=e.length>0&&e[0].parent;if(n&&n!==r.parent)return void(r.parent.isGroup()&&this._pendingDecision(t));e.push(r),this.selected=e}}else{if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return;this.selected=[r]}}onmouseup_comp(t,e){if(!this.downpoint)return;if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;var{origin:r}=e;let n=this.selected.indexOf(r);if(-1==n&&r.parent.isGroup()&&(n=this.selected.indexOf(r.parent)),-1!==n&&t.shiftKey){let t=this.selected.slice();return n>-1&&t.splice(n,1),void(this.selected=t)}r.parent.isGroup()&&(this.selected=[r])}ondragstart_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.transcoordC2S(t.offsetX,t.offsetY);this.selbox={sx:n,sy:i,selected:[]}}}ondragmove_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.transcoordC2S(t.offsetX,t.offsetY);this.selbox&&(this.selbox.ex=n,this.selbox.ey=i,l7(this,r,this.selbox,t.shiftKey),this.invalidate())}}ondragend_selbox(t,e){var{origin:r}=e;r.stuck&&(this.last_pos=null,this.selbox=null,l7(this,null,null,!1,!0),this.invalidate())}});class h7{constructor(t){this.layer=t}draw(t,e,r){var{left:n,top:i,width:o,height:a}=e.bounds;0!=o&&0!=a&&(t.beginPath(),t.rect(n,i,o,a),t.clip(),t.beginPath(),t.strokeStyle="#f26522",t.lineWidth=4,t.shadowBlur=10,t.shadowColor="black",t.shadowOffsetX=0,t.shadowOffsetY=0,t.rect(n,i,o,a),t.stroke(),t.closePath())}}class f7{constructor(t){this.layer=t}draw(t,e,r){var n=e.bounds;t.beginPath(),t.rect(n.left-4/r.x,n.top-4/r.y,n.width+8/r.x,n.height+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),t.closePath()}}class p7{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){let i=r.controls;return!!i&&(i.every(((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o,handler:i.handler}),!this.active))),!!this.active)}draw(t,e,r){var n=e.controls;n&&n.forEach(((e,n)=>{t.beginPath(),t.lineWidth=1/r.x,t.ellipse(e.x,e.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.fillStyle="#ff5d72",t.fill(),t.strokeStyle="#fff",t.stroke()}))}onevent(t,e){var{handler:r,component:n,index:i}=this.active,o=n.transcoordC2S(e.offsetX,e.offsetY);o=n.transcoordS2P(o.x,o.y),r&&"function"==typeof r[t]&&r[t](o,i,n)}onmousedown(t){this.onevent("onmousedown",t)}ondragstart(t){var e=this.active;e.changes=f8.before([e.component]),this.onevent("ondragstart",t)}ondragmove(t){this.onevent("ondragmove",t)}ondragend(t){this.onevent("ondragend",t);var{component:e,changes:r}=this.active;f8.after(r,e.app.commander),e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function d7(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}const g7=15*Math.PI/180;class v7{constructor(t){this.layer=t}reset(){this.active=null,this.created=null}get selected(){return this.layer.selected}contains(t,e,r,n){return!!r.mutable&&(r.path.every(((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o}),!this.active))),!!this.active)}startLinkProcess(t,e,r){try{var n=T8(e,t.app);return t.rootModel.addComponent(n),this.layer.selected=[n],this.active={component:n,index:1},this.ondragstart(r),n}catch(t){console.warn(r)}}draw(t,e,r){if(e.mutable&&!e.stuck){var n=e.path,i=this.active;n.forEach(((n,o)=>{t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.fillStyle="#fff",i&&i.component===e&&i.index===o&&(t.strokeStyle="#fa7703",i.toFill&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke()}))}}ondblclick(t){var e=this.active.component;if(e.pathExtendable){var r=e.path.slice();r.length<3||(r.splice(this.active.index,1),e.path=r)}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var{index:e,component:r}=this.active;this.created||(this.active.changes=f8.before([r])),0!==e&&e!==r.path.length-1||(this.layer.counterEnd=0===e?r.toEnd||{fromto:"to"}:r.fromEnd||{fromto:"from"})}ondragmove(t){var{component:e,index:r}=this.active||{};const{offsetX:n,offsetY:i}=t;var o,a,s=e.transcoordC2S(n,i);if(s=e.transcoordS2P(s.x,s.y),t.shiftKey){var c=e.path.length,u=e.isLine()&&0==r?e.path[1]:e.path[(r-1+c)%c];u=e.transcoordS2P(u.x,u.y);var l,h=0;if(c>2)e.isLine()?0==r?l=e.path[2]:1!=r&&(l=e.path[r-2]):l=e.path[(r-2+c)%c],l&&(h=d7(l=e.transcoordS2P(l.x,l.y),u));var f=Math.round((d7(u,s)-h)/g7)*g7+h;s=function(t,e,r){return{x:Math.cos(e)*r+t.x,y:Math.sin(e)*r+t.y}}(u,f,(o=u,a=s,Math.sqrt((a.x-o.x)*(a.x-o.x)+(a.y-o.y)*(a.y-o.y))))}if(0===r||r===e.path.length-1){const t=this.layer.anchorTarget=e.rootModel.capture(n,i,(t=>!t.isConnectable()));if(t){const{x:o,y:a}=t.transcoordC2S(n,i),c=this.layer.get("scale")||{x:1,y:1},u=this.layer.counterEnd,l=(t.anchors||[]).find((r=>{const{name:n,inout:i,multiplicity:s=1/0,position:l,filter:h}=r;if(u){const{anchor:t,fromto:e}=u;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else console.error("should not be here.");if(Math.abs(o-l.x)>8/c.x||Math.abs(a-l.y)>8/c.y)return!1;const f=t.findInOutLines(n);return!!f.includes(e)||!(s!==1/0&&f.length>=s)&&(!u||!h||!!h.call(r,u))}));l?0==r?e.from={component:t.get("refid"),anchor:l.name,position:s}:e.to={component:t.get("refid"),anchor:l.name,position:s}:0==r?e.from={position:s}:e.to={position:s}}}e.mutatePath(null,(function(t){t[r]=s}))}ondragend(t){var{component:e,index:r,changes:n}=this.active;if(0===r||r===e.path.length-1){const{offsetX:n,offsetY:i}=t,o=e.rootModel.capture(n,i,(t=>t===e||t.isLine())),{x:a,y:s}=o.transcoordC2S(n,i),c=this.layer.get("scale")||{x:1,y:1},u=(o.anchors||[]).find((t=>t&&Math.abs(a-t.position.x)<=8/c.x&&Math.abs(s-t.position.y)<=8/c.y));u&&(0==r?e.from={component:o.get("refid"),anchor:u.name}:e.to={component:o.get("refid"),anchor:u.name}),this.layer.endLinkProcess()}if(this.created){let t=new E8({changes:[{component:this.created,to_container:this.created.parent}]});created.app.commander.execute(t)}else f8.after(n,e.app.commander);e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}class y7{constructor(t){this.layer=t}get active(){return this._active?.component.disposed&&(this._active=null),this._active}set active(t){this._active=t}reset(){this.active=null}contains(t,e,r,n){const i=this.active?.component===r&&this.active?.anchor;this.active=null;const o=this.layer.counterEnd;return(r.isConnectable()&&!r.disposed&&r.anchors||[]).filter((t=>{const{name:e,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&r.findInOutLines(e).length>=i)&&(!a||!o||!!a.call(t,o))})).every((o=>{const a=i===o.name?2:1;return o&&o.position&&Math.abs(t-o.position.x)<=4*a/n.x&&Math.abs(e-o.position.y)<=4*a/n.y&&(this.active={component:r,anchor:o.name,template:o.template}),!this.active})),!!this.active}draw(t,e,r){if(!e.get("refid")||e.isLine())return;var n=this.active;const i=this.active?.component===e&&this.active?.anchor,o=this.layer.counterEnd;(e.isConnectable()&&!e.disposed&&e.anchors||[]).filter((t=>{const{name:r,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&e.findInOutLines(r).length>=i)&&(!o||!a||!!a.call(t,o))})).forEach((o=>{const{name:a,position:s}=o,c=i===a?2:1;s&&(t.beginPath(),t.ellipse(s.x,s.y,4*c/r.x,4*c/r.y,0,0,2*Math.PI),t.setLineDash([0,0]),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",n&&n.component===e&&n.anchor===a&&(t.strokeStyle="#fa7703",n.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())}))}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e,anchor:r,template:n}=this.active,i=this.layer.transcoordC2S(t.offsetX,t.offsetY);this.layer.startLinkProcess(e,{type:"ortholine",lineWidth:1,strokeStyle:"black",begin:"oval",beginSize:"size9",end:"arrow",endSize:"size9",lineDash:"solid",lineCap:"butt",round:10,...n,from:{component:e.get("refid"),anchor:r,position:i},to:{position:i}},t)}ondragmove(t){}ondragend(t){}}function m7(t,e,r){var n,i,{left:o,top:a,width:s,height:c}=t.bounds;switch(e){case 0:n=o,i=a;break;case 1:n=o+s/2,i=a;break;case 2:n=o+s,i=a;break;case 3:n=o+s,i=a+c/2;break;case 4:n=o+s,i=a+c;break;case 5:n=o+s/2,i=a+c;break;case 6:n=o,i=a+c;break;case 7:n=o,i=a+c/2}var u=n,l=i,h=t.transcoordT2S(r.x,r.y);return{dx:h.x-u,dy:h.y-l}}function b7(t,e,r,n,i,o){var{left:a,top:s,width:c,height:u}=t.bounds,l={left:a,top:s,width:c,height:u};switch(e){case 0:a+=n,s+=i,c-=n,u-=i;break;case 1:s+=i,u-=i;break;case 2:s+=i,c+=n,u-=i;break;case 3:c+=n;break;case 4:c+=n,u+=i;break;case 5:u+=i;break;case 6:a+=n,c-=n,u+=i;break;case 7:a+=n,c-=n}if(t.mutateBounds((function(e){return Math.abs(c)<=.001&&(c=.001),Math.abs(u)<=.001&&(u=.001),t.adjustResize({left:a,top:s,width:c,height:u},l,r)}),this),t.isContainer()&&t.layout.ABSOLUTE&&!t.isGroup()){var h=l.left-a,f=l.top-s;o?t.components.forEach((t=>{t.delta("tx",0),t.delta("ty",0),t.move({x:h,y:f},!1)})):t.components.forEach((t=>{t.delta("tx",h),t.delta("ty",f)}))}else{var p=o&&t.parent;p&&p.isGroup()&&p.calculateBounds()}}function x7(t,e){var{left:r,top:n,width:i,height:o}=t,a=r+i/2,s=n+o/2,c=r+i,u=n+o;const l=i*e.x>50,h=o*e.y>50;return[{x:r,y:n},l?{x:a,y:n}:null,{x:c,y:n},h?{x:c,y:s}:null,{x:c,y:u},l?{x:a,y:u}:null,{x:r,y:u},h?{x:r,y:s}:null]}class w7{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){return!!r.resizable&&(x7(r.bounds,n).every(((i,o)=>(i&&Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o}),!this.active))),!!this.active)}draw(t,e,r){if(!e.isLine()){var{left:n,top:i,width:o,height:a}=e.bounds;if(t.beginPath(),t.rect(n-4/r.x,i-4/r.y,o+8/r.x,a+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),e.resizable){var s=this.active;x7(e.bounds,r).forEach(((n,i)=>{n&&(t.beginPath(),t.rect(n.x-4/r.x,n.y-4/r.y,8/r.x,8/r.y),t.setLineDash([0,0]),t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",s&&s.component===e&&s.index===i&&(t.strokeStyle="#fa7703",s.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())}))}}}onmousedown(t){this.active.focus=!0}ondragstart(t){var{component:e}=this.active;this.active.bounds=e.bounds,this.active.boundsList=this.layer.selected.filter((t=>t.resizable)).map((t=>t.bounds))}ondragmove(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active,o=this.layer.transcoordC2S(t.offsetX,t.offsetY);e.bounds=i;var a=m7(e,r,o);this.layer.selected.filter((t=>t.resizable)).forEach(((e,i)=>{e.bounds=n[i],b7(e,r,t.shiftKey,a.dx,a.dy,!1)}))}ondragend(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active,o=this.layer.transcoordC2S(t.offsetX,t.offsetY);e.bounds=i;var a=m7(e,r,o);this.layer.selected.filter((t=>t.resizable)).forEach(((e,i)=>{e.bounds=n[i],b7(e,r,t.shiftKey,a.dx,a.dy,!0)})),this.active.component.app.commander.execute(null,!1)}}const A7=2*Math.PI,_7=Math.PI/2;function k7(t,e){var r=t.bounds;return{x:r.left+r.width/2,y:r.top-20/e.y}}class E7{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){if(!r.rotatable)return!1;var i=k7(r,n);return Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r},!0)}draw(t,e,r){if(e.rotatable){t.beginPath();var n=k7(e,r);t.lineWidth=1.5/r.x,t.moveTo(n.x,n.y+20/r.y),t.lineTo(n.x,n.y),t.strokeStyle="#656565",t.stroke(),t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,A7,!0),t.stroke(),t.fillStyle="#fff",t.fill();var i=this.active;i&&i.component===e&&(t.strokeStyle="#fa7703",t.stroke(),i.toFill&&(t.fillStyle="#ffb80c",t.fill()))}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var e=this.active;e.component,e.start_rotation=e.component.get("rotation"),e.rotations=this.layer.selected.filter((t=>t.rotatable)).map((t=>t.get("rotation")))}ondragmove(t){var{component:e}=this.active,r=e.transcoordC2S(t.offsetX,t.offsetY);r=e.transcoordS2P(r.x,r.y);var n=e.rotatePoint,i=e.get("rotation")||0,o=Math.atan((n.y-r.y)/(n.x-r.x)),a=(o=n.x>=r.x?o-_7:_7+o)-i;this.layer.selected.filter((t=>t.rotatable)).forEach(((e,r)=>{let n=((e.get("rotation")||0)+a)%A7;e.set("rotation",e.adjustRotation(n,t.shiftKey))}))}ondragend(t){var{component:e,rotations:r}=this.active;e.app.commander.execute(null,!1)}}g6.register("modeling-layer",class extends U6{constructor(t,e){super(t,e),this.pathHandler=new v7(this);var r=this.pathHandler,n=new p7(this),i=new w7(this),o=new E7(this);this._modelers=[r,n,i,o],this._control_mode_modelers=[n,r,i,o],this.focusOutline=new h7(this),this.groupOutline=new f7(this),this.anchorHandler=new y7(this),this._reversed_modelers=this._modelers.slice().reverse(),this._control_mode_reverse_modelers=this._control_mode_modelers.slice().reverse(),this.hovered=null,this.hoveredDest=null}get modelers(){return this._control_mode?this._control_mode_modelers:this._modelers}get reversedModelers(){return this._control_mode?this._control_mode_reverse_modelers:this._reversed_modelers}ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}contains(t,e){var r=this.selected.filter((t=>!!t.parent)),n=this.get("scale")||{x:1,y:1};if(this._state_dragging){if(this._counter_end){let r=this.anchorTarget.transcoordT2S(t,e);if(this.anchorHandler.contains(r.x,r.y,this.anchorTarget,n))return!0}return!0}this.modelers.forEach((t=>t.reset()));r=this.selected.filter((t=>!!t.parent));for(let i=0;i<r.length;i++){let o=r[i],a=o.transcoordT2S(t,e);for(let t=0;t<this.modelers.length;t++){let e=this.modelers[t];if(e.contains(a.x,a.y,o,n))return this.currentModeler=e,!0}}if(this.anchorTarget){let r=this.anchorTarget.transcoordT2S(t,e);if(this.anchorHandler.contains(r.x,r.y,this.anchorTarget,n))return this.currentModeler=this.anchorHandler,!0}else this.anchorHandler.reset();return this.currentModeler=null,!1}_componentDrawer(t,e,r,n){let i=[],o=e.parent;if(e.isRootModel())return t.save(),n(t,e,r),void t.restore();for(;o&&!o.isRootModel();)i.push(o),o=o.parent;t.save(),i.reverse().forEach((function(e){let r=e.rotatePoint;t.translate(r.x,r.y);let n=e.get("scale");n&&t.scale(n.x,n.y),t.rotate(e.get("rotation")),t.translate(-r.x,-r.y);let i=e.bounds;t.translate(i.left,i.top)}));let a=e.rotatePoint;t.translate(a.x,a.y);let s=e.get("scale");s&&t.scale(s.x,s.y),t.rotate(e.get("rotation")),t.translate(-a.x,-a.y),n(t,e,r),t.restore()}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.save(),t.beginPath(),t.clearRect(0,0,t.canvas.width,t.canvas.height),t.rect(0,0,t.canvas.width,t.canvas.height),t.fillStyle="black",t.globalAlpha=.5,t.fill(),t.restore(),e&&t.translate(e.x*i5,e.y*i5),t.scale(r.x*i5,r.y*i5),n&&t.rotate(n),t.clearRect(0,0,this.rootModel.get("width"),this.rootModel.get("height"))}render(t){t.beginPath();var e=this.get("scale")||{x:1,y:1},r=this.selected.filter((t=>!!t.parent));if(this.focused&&this._componentDrawer(t,this.focused,e,((t,e,r)=>{this.focusOutline.draw(t,e,r)})),r.length>0&&r[0].parent.isGroup()){let n=r[0].parent;for(;n.parent.isGroup();)n=n.parent;this._componentDrawer(t,n,e,((t,e,r)=>{this.groupOutline.draw(t,e,r)}))}r.forEach((r=>{this._componentDrawer(t,r,e,((t,e,r)=>{this.reversedModelers.forEach((n=>n.draw(t,e,r)))}))})),this.anchorTarget&&this._componentDrawer(t,this.anchorTarget,e,((t,e,r)=>{this.anchorHandler.draw(t,e,r)}))}get anchorTarget(){return this.currentModeler===this.anchorHandler||this.currentModeler===this.pathHandler||this.hovered?.isLine()||(this._anchorTarget=this.hovered),this._anchorTarget}set anchorTarget(t){this._anchorTarget=t}get hovered(){return this._hovered}set hovered(t){this._hovered=t,this.invalidate()}startLinkProcess(t,e,r){this.currentModeler=this.pathHandler,this.processingLink=this.pathHandler.startLinkProcess(t,e,r),this.counterEnd=this.processingLink.fromEnd,this.processingLink.trigger("tag")}set counterEnd(t){this.currentModeler=this.pathHandler,this._counter_end=t}get counterEnd(){return this._counter_end}endLinkProcess(){this.processingLink?.trigger("tagreset"),this.processingLink=null,this._counter_end=null}get eventMap(){return{"model-layer":{"(all)":{change:this.onchange_model,wheel:this.onwheel_scale,drop:this.ondrop},"(descendant)":{mouseenter:this.onmouseenter,mouseleave:this.onmouseleave}},"(root)":{"(self)":{selected:this.onselected,keydown:this.onkeydown,keyup:this.onkeyup}}}}onmouseenter(t,e){this.hovered=e?.origin}onmouseleave(t,e){this.hovered=null}onkeydown(t){"Alt"==t.key&&(this._control_mode=!0,this.invalidate())}onkeyup(t){"Alt"==t.key&&(this._control_mode=!1,this.invalidate())}onselected(t,e){this.invalidate()}onchange_model(t,e,r){var{origin:n,deliverer:i}=r;n===i&&(t.translate&&this.set("translate",t.translate),void 0!==t.rotation&&this.set("rotation",t.rotation),t.scale&&this.set("scale",t.scale)),this.invalidate()}ondblclick(t){"function"==typeof this.currentModeler.ondblclick&&this.currentModeler.ondblclick(t),this.invalidate()}onmousedown(t){this.currentModeler.onmousedown(t),this.invalidate()}onmouseup(t){"function"==typeof this.currentModeler.onmouseup&&this.currentModeler.onmouseup(t),this.invalidate()}ondragstart(t){this.currentModeler.ondragstart(t),this._state_dragging=!0}ondragmove(t){this.currentModeler.ondragmove(t),this.invalidate()}ondragend(t){this._state_dragging=!1,this.currentModeler.ondragend(t),this.invalidate()}ondrop(t,e){var{origin:r}=e,n=t.dataTransfer.files;if(n.length<1)return;let i=this.rootModel.transcoordC2S(t.offsetX,t.offsetY),o=this.rootModel;Promise.all(Array.from(n).map((t=>new Promise(((e,r)=>{let n=new FileReader;n.addEventListener("loadend",(t=>{e(n.result)})),["error","abort"].forEach((t=>n.addEventListener(t,(t=>{r(t)})))),n.readAsDataURL(t)}))))).then((e=>{if(t.altKey)return f8.around(this.app.commander,(()=>{r.ondropfile(n,e)})),void(this.selected=[r]);let a=[],s=e.map(((t,e)=>{let r,s=n[e].type,c=n[e].name;return s.startsWith("image/")?(r=T8({type:s.startsWith("image/gif")?"gif-view":"image-view",top:0,left:0,width:200,height:200,src:t},o.app),a.push(new Promise(((e,n)=>{let i=new Image;i.src=t,i.onload=()=>{r.set({width:i.width,height:i.height}),e()},i.onerror=t=>{n(t)}})))):s.startsWith("audio/")?r=T8({type:"audio",top:0,left:0,width:100,height:100,src:t},o.app):s.startsWith("vnd.ms-excel/")||/\.xlsx?$/.test(c)?r=T8({type:"excel",top:0,left:0,width:100,height:100,src:t},o.app):console.log("droped file",n[e]),r&&(r.center=i,i.x+=50,i.y+=50),r})).filter(Boolean).map((t=>({component:t,to_container:o})));s.length>0&&Promise.all(a).then((()=>{this.app.commander.execute(new E8({changes:s})),this.selected=s.map((t=>t.component))}),(t=>{console.error(t)}))}),(t=>{console.error(t)}))}onwheel_scale(t,e){if(0!=t.deltaY||0!=t.deltaX){var r=e.deliverer;if(t.shiftKey){if(-1!=navigator.userAgent.indexOf("Win"))var n=t.deltaY<0?1:-1;else n=t.deltaX<0?1:-1;f8.around(this.app.commander,(()=>{r.selected.forEach((t=>{let e=t.get("fontSize")||s5.FONT_SIZE;e<1&&(e=1),e+=n,t.set("fontSize",e)}))}))}else{n=t.deltaY<0?1:-1;let e=r.get("scale")||{x:1,y:1},i=r.get("translate"),o=t.offsetX,a=t.offsetY,s=r.transcoordC2S(o,a),c=.1*n,u={x:e.x+c,y:e.y+c};if(n<0&&e.x<.2||n>0&&e.x>10)return;r.set("scale",u);let l=r.transcoordC2S(o,a);r.set("translate",{x:i.x+(l.x-s.x)*u.x,y:i.y+(l.y-s.y)*u.y})}}}});class S7 extends U6{constructor(t,e){super(t,e),this._anim_alpha=1}animOnTargetChange(t){t!==this._lastTargets&&(this._lastTargets=t,this._anim_alpha=1,this.animate({step:t=>{this._anim_alpha=1-t,this.invalidate()},duration:5e3,delta:"circ",ease:"in"}).start())}decorate(t,e,r){const n=t.decorators;var i=!1;return n.map((t=>"string"==typeof t?c6(t):t)).filter((t=>t&&"function"==typeof t)).map((n=>{const o=n(t,e,1-r);i||=o})),i}render(t){var e=this.decoTargets&&this.decoTargets.filter((t=>t.rootModel));if(!e||0==e.length)return this._animate&&this._animate.stop(),void delete this._animate;t.globalAlpha*=this._anim_alpha;var r=!1;e.forEach((e=>{this.decorate(e,t,1-this._anim_alpha)&&(r=!0)})),r&&this.animOnTargetChange(this.decoTargets)}get decoTargets(){return this._decoTargets}set decoTargets(t){this._decoTargets=t&&t.filter((t=>!t.isLayer())),this.invalidate()}get eventMap(){return{"model-layer":{"(descendant)":{tag:this.ondecotag,tagreset:this.ondecotagreset,mouseenter:this.onmouseenter,mouseleave:this.onmouseleave}}}}onmouseenter(t,e){this._decotagreset(),this._ondecotag(e.origin)}onmouseleave(t,e){this._decotagreset()}ondecotagreset(t){this._decotagreset()}ondecotag(t){this._ondecotag(t.origin)}offdecotag(t,e){this._offdecotag(e.origin)}_ondecotag(t){this.decoTargets&&-1!==this.decoTargets.lastIndexOf(t)||(this.decoTargets=(this.decoTargets||[]).concat(t))}_offdecotag(t){if(this.decoTargets){var e=this.decoTargets.slice();e.splice(this.decoTargets.lastIndexOf(t),1),this.decoTargets=e}}_decotagreset(){this.decoTargets=[]}}g6.register("decotag-layer",S7),g6.register("tag-layer",S7);g6.register("reaction-layer",class extends U6{constructor(t,e){super(t,e),this._anim_alpha=1}animOnTargetChange(t){t!==this._lastTargets&&(this._lastTargets=t,this._anim_alpha=1,this.animate({step:t=>{this._anim_alpha=1-t,this.invalidate()},duration:5e3,delta:"circ",ease:"in"}).start())}decorate(t,e,r){const n=t.reactionDecorators;var i=!1;return n.map((t=>"string"==typeof t?c6(t):t)).filter((t=>t&&"function"==typeof t)).map((n=>{const o=n(t,e,1-r);i||=o})),i}render(t){var e=this.targets&&this.targets.filter((t=>t.rootModel));if(!e||0==e.length)return this._animate&&this._animate.stop(),void delete this._animate;t.globalAlpha*=this._anim_alpha;var r=!1;e.forEach((e=>{this.decorate(e,t,1-this._anim_alpha)&&(r=!0)})),r&&this.animOnTargetChange(this.targets)}get targets(){return this._targets}set targets(t){this._targets=t&&t.filter((t=>!t.isLayer())),this.invalidate()}get eventMap(){return{"model-layer":{"(descendant)":{reaction:this.onreaction,reactionreset:this.onreactionreset}}}}onreactionreset(t){this._reactionreset()}onreaction(t){this._onreaction(t.origin)}offreaction(t,e){this._offreaction(e.origin)}_onreaction(t){this.targets&&-1!==this.targets.lastIndexOf(t)||(this.targets=(this.targets||[]).concat(t))}_offreaction(t){if(this.targets){var e=this.targets.slice();e.splice(this.targets.lastIndexOf(t),1),this.targets=e}}_reactionreset(){this.targets=[]}});function M7(){var t=arguments,e=t[t.length-1],r=this.event_pump;r.listeners.forEach((n=>{!function(t,e,r,n,i){for(let o in r){let a=r[o];if(p5(o,n.origin,0,t))for(let t in a){let r=a[t];t==n.name&&(n.listener=e,r.apply(e,i))}}}(r.deliverer,n.listener,n.cloned_handlers,e,t)}))}g6.register("scroll-layer",class extends U6{get capturable(){return!0}render(t){const{scrolling:e}=this.state;if(t.save(),t.beginPath(),t.fillStyle="#777",this.vscroller){const{left:r,top:n,width:i,height:o}=this.vscroller;t.globalAlpha="v"==e?1:.3,t.fillRect(r,n,i,o)}if(this.hscroller){const{left:r,top:n,width:i,height:o}=this.hscroller;t.globalAlpha="h"==e?1:.3,t.fillRect(r,n,i,o)}t.stroke(),t.restore()}contains(t,e){const r=this.vscroller,n=this.hscroller;return this.setState("scrolling",r&&t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?"v":n&&t>=n.left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height?"h":null),!!this.getState("scrolling")}get eventMap(){return{"(root)":{"model-layer":{change:this.onchangeModelLayer}}}}onchange(t){"scrolling"in t&&this.invalidate()}ondragstart(t,e){this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragmove(t,e){const r=this.root,{clientWidth:n,clientHeight:i}=this.canvas,{width:o,height:a}=this.rootModel.model,{x:s,y:c}={x:t.offsetX,y:t.offsetY},{x:u,y:l}=this._scale,{scrolling:h}=this.state,f=o/n,p=a/i;h&&r.rootModel.move({x:"h"==h?(-s+this.lastPosition.x)*u*f:0,y:"v"==h?(-c+this.lastPosition.y)*l*p:0},!1),this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragend(){delete this.lastPosition,this.setState({scrolling:null})}calcScrollerBounds(){var{clientWidth:t,clientHeight:e}=this.canvas;const{width:r,height:n}=this.rootModel.model,{x:i=1,y:o=1}=this._scale||{},{x:a=0,y:s=0}=this._translate||{},c=r/t,u=n/e;var l={left:-a/i/c,top:e-10,width:t/i/c,height:10};this.hscroller=l.left>1||l.width+l.left<t-1?l:null,l={left:t-10,top:-s/o/u,width:10,height:e/o/u},this.vscroller=l.top>1||l.height+l.top<e-1?l:null,this.invalidate()}onchangeModelLayer(t,e,r){if(t.scale){const{x:e=1,y:r=1}=t?.scale||{};this._scale={x:e,y:r},this.calcScrollerBounds()}if(t.translate){const{x:e=0,y:r=0}=t.translate||{};this._translate={x:e,y:r},this.calcScrollerBounds()}}});class T7{constructor(t){if(void 0===t.on)throw new Error("Deliverer should be a event handlable object.");this.deliverer=t,this.listeners=[]}start(){this.deliverer.on("(all)",M7,{event_pump:this})}stop(){this.deliverer.off("(all)",M7)}on(t,e){var r=Object.assign({},e);Object.keys(r).forEach((e=>{if(0==e.indexOf("?")){let n=r[e],i=e.substr(1),o=t.get(i);delete r[e],o?r[o]=n:V4("EventPump#on","variable #{selector} is not evaluated on listener")}})),this.listeners.push({listener:t,handlers:e,cloned_handlers:r})}off(t,e){for(let r=0;r<this.listeners.length;r++){let n=this.listeners[r];n.listener!==t||e&&n.handlers!==e||this.listeners.splice(r,1)}}clear(){this.listeners=[]}dispose(){this.stop(),this.clear()}}class P7{constructor(t){this.eventMaps=[],this.root=t,t.eventMap&&this.add(t,t.eventMap)}set root(t){this._root=t}get root(){return this._root}stop(){this.eventMaps.forEach((t=>t.eventPump.stop()))}add(t,e){if(this.root)for(let r in e){let n=e[r];if("(self)"===r&&void 0===t.on)throw new Error("(self) selector not available when deliverer is not a event handlable object.");v5(r,this.root,t).forEach((r=>{var i=new T7(r);i.on(t,n),i.start(),this.eventMaps.push({eventPump:i,listener:t,handlerMap:e,deliverer:r})}))}}remove(t,e){var r=this.eventMaps.slice(0);for(let n=0;n<r.length;n++){let i=r[n];i.listener!==t||e&&i.handlerMap!==e||(this.eventMaps.splice(n,1),i.eventPump.dispose())}}clear(){this.eventMaps.slice(0).forEach((t=>t.eventPump.dispose())),this.eventMaps=[]}dispose(){this.stop(),this.clear()}}const O7=0,I7=1,R7=2,C7=0,j7=1,L7=2;var D7={},z7=0;class F7{constructor(t,e){this._type=e||t.type,this._ctrlKey=t.ctrlKey,this._altKey=t.altKey,this._shiftKey=t.shiftKey,this._metaKey=t.metaKey;var r=function(t){if(t.touches){let e=t.touches[0];if(!e)return D7;let r=e.target.getBoundingClientRect();return D7={x:t.offsetX||e.clientX-(r.x||r.left),y:t.offsetY||e.clientY-(r.y||r.top)}}return{x:t.offsetX,y:t.offsetY}}(t);if(this._offsetX=r.x,this._offsetY=r.y,"wheel"==t.type)this.deltaX=t.deltaX,this.deltaY=t.deltaY,this.deltaZ=t.deltaZ;else if("drop"==t.type)this.dataTransfer=t.dataTransfer;else if(t.type.match(/^touch/)&&(this._scale=t.scale,this._touches=t.touches,this._changedTouches=t.changedTouches,null==this._scale)){var n=function(t){var e,r,n=0,i=0,o=0;if(1===t.touches.length)return o;Array.from(t.touches).forEach((t=>{e=null!=e?Math.min(t.screenX,e):t.screenX,n=Math.max(t.screenX,n),r=null!=r?Math.min(t.screenY,r):t.screenY,i=Math.max(t.screenY,i)}));var a=n-e||0,s=i-r||0;return Math.sqrt(Math.pow(a,2)+Math.pow(s,2))||0}(t);z7>0&&(this._scale=n/z7),z7=n}}get type(){return this._type}set type(t){this._type=t}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get shiftKey(){return this._shiftKey}get metaKey(){return this._metaKey}get touches(){return this._touches}get changedTouches(){return this._changedTouches}get scale(){return this._scale}stopPropagation(){this._stop_=!0}isPropagationStopped(){return this._stop_}}function B7(t,e){return t.capture(e.offsetX,e.offsetY)}function N7(t,e,r){if(t&&t.app&&(!t.app.isViewMode||!t.hidden)){r instanceof F7&&e===r.type||(r=new F7(r,e));var n="on"+e;t[n]&&t[n](r),r.isPropagationStopped()||t.trigger(e,r)}}class U7{constructor(t,e){this.container=t,this.html_element=e,this.status=O7,this.last_target=null,this.gesture_handlers=o5.map((t=>this.gestureHandlerBuilder(t))),this.keyevent_handlers=a5.map((t=>this.keyeventHandlerBuilder(t))),o5.forEach(((t,r)=>e.addEventListener(t,this.gesture_handlers[r]))),a5.forEach(((t,r)=>e.addEventListener(t,this.keyevent_handlers[r]))),e.ondragover=this.gestureHandlerBuilder("dragover"),e.ondrop=this.gestureHandlerBuilder("drop"),e.tabIndex=1}dispose(){this.last_enter_target&&N7(this.last_enter_target,"mouseleave",new CustomEvent("mouseleave")),o5.forEach(((t,e)=>this.html_element.removeEventListener(t,this.gesture_handlers[e]))),a5.forEach(((t,e)=>this.html_element.removeEventListener(t,this.keyevent_handlers[e]))),delete this.gesture_handlers,delete this.keyevent_handlers,delete this.last_target}gestureHandlerBuilder(t){var e=this[`on${t}`].bind(this);return t=>(e(new F7(t))&&t.preventDefault(),!1)}keyeventHandlerBuilder(t){return this[`on${t}`].bind(this)}ondragover(t){return N7(B7(this.container,t),t.type,t),!1}ondrop(t){return N7(B7(this.container,t),t.type,t),!1}ondblclick(t){return N7(B7(this.container,t),t.type,t),this.last_target=null,!1}onkeydown(t){return this.container.trigger(t.type,t),!1}onkeyup(t){return this.container.trigger(t.type,t),!1}onmousemove(t){switch(this.status){case I7:let r=t.offsetX-this.__dragstart_e.offsetX,n=t.offsetY-this.__dragstart_e.offsetY;if(r*r+n*n<16)break;this.status=R7,N7(this.last_target,"dragstart",this.__dragstart_e),this.__dragmove_e=t,N7(this.last_target,"dragmove",t);break;case R7:this.__dragmove_e=t,N7(this.last_target,"dragmove",t);break;default:var e=B7(this.container,t);this.last_enter_target!==e&&(this.last_enter_target&&N7(this.last_enter_target,"mouseleave",t),e&&N7(e,"mouseenter",t),this.last_enter_target=e),N7(e,t.type,t),this.last_target=e}return!1}onmousedown(t){if(this.status===R7)N7(this.last_target,"dragend",t),this.last_target=null,this.status=O7;else{var e=B7(this.container,t);this.last_target=e,this.status=I7,this.__dragstart_e=t,N7(e,t.type,t)}return!1}onmouseup(t){if(this.status===R7)N7(this.last_target,"dragend",t);else{var e=B7(this.container,t);N7(e,t.type,t),this.last_target===e&&N7(e,"click",t)}return this.last_target=null,this.status=O7,!1}onmouseout(t){var e=B7(this.container,t);if(this.status===R7)N7(this.last_target,"dragend",t);else{if(this.last_target&&this.last_target===e)return;this.last_enter_target&&(N7(this.last_enter_target,"mouseleave",t),delete this.last_enter_target)}return this.last_target=null,this.status=O7,!1}ontouchstart(t){var e=B7(this.container,t);return this.last_target=e,this.status=j7,this.touchPoints||(this.touchPoints=[]),this.touchPoints.push(t.changedTouches[0]),this.holdTimer=setTimeout((()=>{this.status=C7,N7(this.last_target,"hold",t),delete this.holdTimer}),500),N7(e,t.type,t),!1}ontouchmove(t){if(!t.touches||!t.changedTouches)return N7(this.last_target,"dragstart",t),N7(this.last_target,"dragmove",t),!1;var e=B7(this.container,t);switch(this.status){case j7:Array.from(t.changedTouches).forEach((t=>{var e=this.touchPoints.find((e=>e.identifier===t.identifier));if(e){var r=e.clientX-t.clientX,n=e.clientY-t.clientY;return Math.sqrt(Math.pow(r,2)+Math.pow(n,2))>=16?(this.status=L7,void(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer))):void 0}}));break;case L7:if(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer),2===t.changedTouches.length&&null!=t.scale&&1!==t.scale&&(t.scale<.9||t.scale>1.1))return N7(this.last_target,"pinch",t),!1;N7(this.last_target,"pan",t),e=this.last_target;break;default:this.last_enter_target!==e&&(this.last_enter_target&&N7(this.last_enter_target,"mouseleave",t),e&&N7(e,"mouseenter",t),this.last_enter_target=e),this.last_target=e}return N7(e,"touchmove",t),!1}ontouchend(t){var e=B7(this.container,t);switch(this.status){case L7:e=this.last_target;break;case j7:var r=performance.now(),n=r-this.touchedAt;this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer,N7(e,n<500?"doubletap":"tap",t),this.touchedAt=r)}N7(e,"touchend",t);var i=this.touchPoints.findIndex((e=>e.identifier===t.changedTouches[0].identifier));return this.touchPoints.splice(i,1),this.last_target=null,this.status=C7,!1}onwheel(t){return N7(B7(this.container,t),t.type,t),!1}}var G7={};var Y7={register:function(t,e){G7[t]=e},unregister:function(t){delete G7[t]},get:function(t){return G7[t]}};function H7(t){if(!t.hasTextProperty||t.textHidden)return;var{text:e="",bold:r=s5.BOLD,italic:n=s5.ITALIC,textWrap:i=s5.TEXT_WRAP,fontFamily:o=s5.FONT_FAMILY,fontColor:a=s5.FONT_COLOR,textAlign:s=s5.TEXT_ALIGN,textBaseline:c=s5.TEXT_BASELINE,fontSize:u=s5.FONT_SIZE,lineHeight:l=1.2*u}=t.model,{left:h,top:f,width:p,height:d}=t.textBounds;u||=s5.FONT_SIZE,l||=1.2*u,t.textHidden=!0;var g=document.createElement("textarea");o5.forEach((function(t){g.addEventListener(t,(function(t){t.stopPropagation()}),!0)}));const v=t.transcoordS2C(h,f),{rotation:y,scale:m}=function(t){for(var e=0,r=1,n=t;n;){e+=n.get("rotation")||0;let{x:t,y:i}=n.get("scale")||{x:1,y:1};r*=Math.max(t,i)||1,n=n.parent}return{rotation:e,scale:r}}(t);switch(g.style.position="absolute",g.style.width=p+"px",g.style.height=d+"px",g.value=e,g.style.fontFamily=o,g.style.fontSize=u+"px",g.style.lineHeight=l+"px",g.style.overflow="hidden",g.style.resize="none",g.style.outline="none",g.style.border=0,g.style.backgroundColor="transparent",g.style.display="inline-block",g.style.color=a,r&&(g.style.fontWeight="bold"),n&&(g.style.fontStyle="italic"),s){case"right":case"end":g.style.textAlign="right";break;case"justify":g.style.textAlign="justify";break;case"left":case"start":g.style.textAlign="left";break;default:g.style.textAlign="center"}var b=[r,n,u+"px",o].filter(Boolean).join(" ");function x(e){var r={left:0,top:0},n=l*function(t,e,r,n){var i,o=t.getContext();return o.save(),o.font=r,i=F5(o,e,n,t.get("textWrap")).length,o.restore(),i}(t,e,b,p);switch(g.style.height=n+"px",c){case"top":case"hanging":break;case"bottom":case"alphabetic":r.top=d-n;break;default:r.top=d/2-n/2}if(!i){var o=function(t,e,r,n){var i=e.split("\n"),o=n;let a=t.getContext();return a.save(),a.font=r,i.forEach((t=>{let e=a.measureText(t).width;e>o&&(o=e)})),a.restore(),o}(t,e,b,p);switch(g.style.width=o+"px",s){case"right":case"end":r.left=p-o;break;case"left":case"start":break;default:r.left=(p-o)/2}}g.style.marginLeft=r.left+"px",g.style.marginTop=r.top+"px";var a=`translate(${v.x}px, ${v.y}px) scale(${m}) rotate(${y}rad)`;["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{g.style[t+"transform"]=a,g.style[t+"transform-origin"]=`${-r.left}px ${-r.top}px`}))}x(e);var w=t.root.target_element;w.appendChild(g),g.select();var A,_=!1;g.addEventListener("keydown",(function(t){t.stopPropagation(),"Escape"!=t.code&&(t.shiftKey||"Enter"!=t.code&&"NumpadEnter"!=t.code)?setTimeout((()=>{x(g.value)})):(_=A.skipUpdate="Escape"==t.code,document.createEvent?g.dispatchEvent(A):g.fireEvent(A.eventType,A))})),document.createEvent?(A=document.createEvent("HTMLEvents")).initEvent("blur",!0,!1):(A=document.createEventObject()).eventType="blur";var k=t.root.selected,E=function(r){t.root.selected=k,t.textHidden=!1,g.removeEventListener("blur",E,!1),g.parentElement&&g.parentElement.removeChild(g),w.focus(),r.skipUpdate||_||t.app.commander.execute(new f8({changes:[{component:t,before:{text:e},after:{text:g.value}}]}))};g.addEventListener("blur",E,!1)}Y7.register("text-editor",{"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i=n.selected;return!(1!==i.length||!i[0].hasTextProperty)&&(("Enter"==t.code||"NumpadEnter"==t.code)&&(H7(i[0]),t.preventDefault(),!0))}}},"model-layer":{"(descendant)":{dblclick:function(t,e){H7(e.origin)}}}});var W7,q7,X7,V7=k4((function(t,e,r){if(r)t.focused=null;else{var n=[];e[0].parent.isGroup()?t.focused=e[0].parent:(e.forEach((t=>{t.path.forEach((e=>{n.push(t.transcoordS2T(e.x,e.y))}))})),t.focused=t.capturePath(n,e))}}),300);Y7.register("move-handler",{"model-layer":{"(descendant)":{dragstart:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected,o=n.selected.filter((t=>!t.stuck));if(i.length!==o.length&&(i=n.selected=o),0!=i.length){var a=i[0].transcoordC2S(t.offsetX,t.offsetY);if(a=i[0].transcoordS2P(a.x,a.y),this.last_pos=a,this.direction=0,n.focused=i[0].parent,t.altKey){var s=[],c=new Map;n.selected=n.selected.filter((t=>!t.isRootModel())).map((t=>{let e=P8(t,(t=>{const e=n.root.getNewRefid();return void 0!==t&&c.set(t,e),e}));return s.push({component:e,to_container:t.parent}),e})).map((t=>(t.replaceRefids(c),t))),s.forEach((({component:t,to_container:e})=>{e.addComponent(t)})),this.duplicates=n.selected.map((t=>({component:t})))}else this.changes=f8.before(i)}}},dragmove:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){var{x:o,y:a}=i[0].transcoordC2S(t.offsetX,t.offsetY),s=i[0].transcoordS2P(o,a);t.shiftKey?2==this.direction&&(this.direction=0):this.direction=2;var c=s.x-this.last_pos.x,u=s.y-this.last_pos.y;if(0==this.direction){if(c*c+u*u<25)return;Math.abs(c)>Math.abs(u)?this.direction=3:this.direction=4}3==this.direction?u=0:4==this.direction&&(c=0),i.forEach((t=>{t.move({x:c,y:u},1===i.length)})),this.last_pos=s,V7(n,i)}}},dragend:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){var o=i[0].parent,a=n.focused||e.deliverer;if(this.changes&&!a.isGroup())if(a&&a!==o){var s=this.changes.map((t=>{let{component:e,before:r}=t;return{component:e,to_container:a}}));n.app.commander.execute(new E8({changes:s}))}else f8.after(this.changes,n.app.commander);else if(this.duplicates){this.duplicates=this.duplicates.map((t=>(t.to_container=a,t)));let t=new E8({changes:this.duplicates});n.app.commander.execute(t)}i.forEach((t=>{t.parent&&t.parent.calculateBounds&&t.parent.calculateBounds()})),this.last_pos=null,this.changes=null,this.duplicates=null,V7(n,i,!0)}}}}},"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i={},o=t.shiftKey?r.rootModel.MPP:1;switch(t.which){case 37:i.x=-o,i.y=0;break;case 38:i.x=0,i.y=-o;break;case 39:i.x=o,i.y=0;break;case 40:i.x=0,i.y=o;break;default:return}var a=n.selected;f8.around(n.app.commander,(function(){a.forEach((t=>{!t.stuck&&t.move(i,!1)}))}))}}}});const Q7=E4((()=>{const{x:t,y:e}=X7,r=q7.deref();r&&(r.rootModel.move({x:t-W7.x,y:e-W7.y},!1),W7={x:t,y:e})}),60,{leading:!0,trailing:!0});Y7.register("shift-handler",{"model-layer":{"(all)":{dragstart:function(t,e){W7={x:t.offsetX,y:t.offsetY}},dragmove:function(t,e){q7=new WeakRef(e.deliverer),X7={x:t.offsetX,y:t.offsetY},Q7()}}}}),Y7.register("zoom-handler",{"model-layer":{"(all)":{wheel:function(t,e){if(0==t.deltaY&&0==t.deltaX)return;var r=e.deliverer,n=t.deltaY<0?1:-1;let i=r.get("scale")||{x:1,y:1},o=r.get("translate"),a=t.offsetX,s=t.offsetY,c=r.transcoordC2S(a,s),u=.1*n,l={x:i.x+u,y:i.y+u};if(n<0&&i.x<.2||n>0&&i.x>10)return;r.set("scale",l);let h=r.transcoordC2S(a,s);r.set("translate",{x:o.x+(h.x-c.x)*l.x,y:o.y+(h.y-c.y)*l.y})}}}});var K7=[],J7=k4((function(){K7.forEach((t=>{t.resize()}))}),100);"undefined"!=typeof window&&window.addEventListener("resize",J7);class Z7 extends N6{constructor(t,e){super(Object.assign({type:"root",scale:{x:1,y:1}},t||{}),e),this._maxRefid=0,t=t||{},this.fitMode=t.model&&t.model.fitMode,this._app=e,this.style=t.style,this.target_element=t.target_element,this.rebuildContentModel(this.model.model),K7.push(this)}dispose(){T6.hideAll(this),this._app&&this._app.dispose(),super.dispose(),this._disposeAllResources(),this.target_element=null,delete this._refresh_mapping_debouncer;var t=K7.indexOf(this);t>=0&&K7.splice(t,1),this.refidIndexMap.clear(),this._maxRefid=0}isRoot(){return!0}get app(){return this._app}get target_element(){return this._target_element}set target_element(t){this._ua_event_handler&&(this._ua_event_handler.dispose(),delete this._ua_event_handler),t&&(t.style.position="absolute",t.style.cursor="default",t.style.overflow="hidden",this._ua_event_handler=new U7(this,t)),this.forEach((e=>e.target=t)),this._target_element=t}get unitScale(){switch(this.model_layer&&this.model_layer.get("unit")){case"mm":case"cm":case"in":return this.app.PPM/10;default:return 1}}addTemplate(t,e){var r=this.templateMap[t];r&&X4("Template replaced (duplicated)",t,e,r),this.templateMap[t]=e,delete this.templatePrefixes}removeTemplate(t,e){var r=this.templateMap[t];r!==e?V4("Removing template failed (different)",t,e,r):delete this.templateMap[t],delete this.templatePrefixes}findTemplateFor(t){this.templatePrefixes||(this.templatePrefixes=Object.keys(this.templateMap).sort().reverse());var e=this.templatePrefixes.find((e=>t.startsWith(e)));if(e)return this.templateMap[e]}addIndex(t,e){var r=this.indexMap[t]||[];this.indexMap[t]=[...r,e]}removeIndex(t,e){const r=this.indexMap[t]||[],n=r.indexOf(e);-1==n?V4("Removing index failed (not found)",t,e):(r.splice(n,1),0==r.length&&delete this.indexMap[t])}addRefidIndex(t,e){void 0===t&&(t=this.getNewRefid(),e.set("refid",t)),this._maxRefid=Math.max(t,this._maxRefid);var r=this.refidIndexMap.get(t);r&&X4("Refid Index replaced (has not to be)",t,e,r),this.refidIndexMap.set(t,e)}removeRefidIndex(t,e){if(null!=t){var r=this.refidIndexMap.get(t);r!==e?X4("Refid Removing index failed (has not to be)",t,e,r):this.refidIndexMap.delete(t)}}getNewRefid(){return this._maxRefid=(this._maxRefid||0)+1,this._maxRefid}async subscribe(t,e){this._app.isViewMode&&t&&this._app&&(e._subscription=await this._app.subscribe(t,e))}async unsubscribe(t,e){e._subscription&&(await e._subscription.unsubscribe(),delete e._subscription)}findById(t){return(this.indexMap[t.replace(/^#/,"")]||[])[0]}findAllById(t){return this.indexMap[t.replace(/^#/,"")]||[]}findByRefid(t){return this.refidIndexMap.get(t)}findOrCreate(t){var e=this.findAllById(t);if(!e&&this.app&&!this.app.isEditMode){let e=this.findTemplateFor(t);if(e){let r=Object.assign(l4(e.hierarchy),{id:t,templatePrefix:""});return component=T8(r,this.app),this.model_layer.addComponent(component),[component]}}return e}resize(){this.components.forEach((t=>{t.resize&&t.resize()})),this.invalidate()}_disposeAllResources(){this.selected=[],this._focused=null,this._ready=!1,this.eventEngine&&(this.assist_handlers&&this.assist_handlers.forEach((t=>{this.eventEngine.remove(t)})),this.eventEngine.dispose(),delete this.eventEngine),this.assist_layers&&this.assist_layers.forEach((t=>{t.dispose(),this.removeComponent(t)})),delete this.assist_layers,this.model_layer&&this.model_layer.dispose(),this.model_layer&&this.removeComponent(this.model_layer),delete this.model_layer,this.indexMap={},this.refidIndexMap=new Map,this.templateMap={}}rebuildContentModel(t){this._disposeAllResources(),this.eventEngine=new P7(this),(t=t||{}).type="model-layer",this.model_layer=T8(t,this.app),this.addComponent(this.model_layer),this.model_layer.target=this.target_element,this.assist_layers=(this.model.layers||[]).map((t=>{var e=T8(t,this.app);return this.addComponent(e),e.target=this.target_element,e})),this.assist_handlers=(this.model.handlers||[]).map((t=>{var e={};return this.eventEngine.add(e,Y7.get(t)),e})),this._ready=!0,this.traverse((t=>t.ready()))}get root(){return this}get anchors(){}get isReady(){return this._ready}get rootModel(){return this.model_layer}get stuck(){return!0}get data(){return Object.values(this.indexMap).reduce(((t,[e])=>(t[e.model.id]=e.data,t)),{})}set data(t){for(var e in t){var r=this.findOrCreate(e);r&&r.forEach((r=>r.data=t[e]))}}get dataByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.data;return t}set dataByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.data=t[e])}}get values(){return Object.values(this.indexMap).reduce(((t,[e])=>(t[e.model.id]=e.value,t)),{})}set values(t){for(var e in t){var r=this.findOrCreate(e);r&&r.forEach((r=>r.value=t[e]))}}get valuesByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.value;return t}set valuesByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.value=t[e])}}get selected(){return(this._selected||[]).filter((t=>t.parent))}set selected(t){var e=this._selected;this._selected=t,this.trigger("selected",t,e)}get focused(){return this._focused}set focused(t){this._focused!==t&&(this._focused=t,this.invalidate())}get style(){return this._style}set style(t){this._style=t,this._compiled_style=t}get hasTextProperty(){return!1}render(){this.components.forEach((t=>t.draw()))}contains(t,e){return!0}capturePath(t,e){return this.model_layer.capturePath(t,e)}invalidate(){this.components.forEach((t=>t.invalidate()))}get eventMap(){return{"(root)":{"(descendant)":{added:this.onadded,removed:this.onremoved,change:this.onchanged}}}}refreshMappings(){if(!this._refresh_mapping_debouncer){if(this.disposed)return;this._refresh_mapping_debouncer=k4((function t(e){e.executeMappings(),e.components&&e.components.forEach((e=>t(e)))}),1e3)}this._refresh_mapping_debouncer(this.model_layer)}_addTraverse(t){t.components&&t.components.forEach((t=>this._addTraverse(t)));var{id:e,refid:r,tag:n,templatePrefix:i}=t.model;this.addRefidIndex(r,t),e&&this.addIndex(e,t),n&&this.subscribe(n,t),i&&this.addTemplate(i,t);var o=j4({},t.eventMap,t.model.eventMap);this.eventEngine.add(t,o)}_removeTraverse(t){t.components&&t.components.forEach((t=>this._removeTraverse(t)));var{id:e,refid:r,tag:n,templatePrefix:i}=t.model;this.removeRefidIndex(r,t),e&&this.removeIndex(e,t),n&&this.unsubscribe(n,t),i&&this.removeTemplate(i,t),this.eventEngine.remove(t)}onadded(t,e){this._addTraverse(e),this.refreshMappings(),this.invalidate()}onremoved(t,e){this._removeTraverse(e),this.invalidate()}onchanged(t,e,r){e.templatePrefix&&this.removeTemplate(e.templatePrefix,r.origin),t.templatePrefix&&this.addTemplate(t.templatePrefix,r.origin),e.id&&this.removeIndex(e.id,r.origin),t.id&&this.addIndex(t.id,r.origin),e.tag&&this.unsubscribe(e.tag,r.origin),t.tag&&this.subscribe(t.tag,r.origin),e.id==t.id&&e.class==t.class||this.refreshMappings()}}Object.assign(Z7.prototype,{fit:function(t){var{width:e,height:r,fitMode:n}=this.model_layer.model,i=this.target_element,o=this.model_layer;if(this.fitMode=t||this.fitMode||n||"ratio",e&&r&&i&&i.clientWidth&&i.clientHeight){switch(this.fitMode){case"center":!function(t,e,r){var n=t.unitScale,{width:i,height:o}=e.model;e.set("scale",{x:n,y:n}),e.set("translate",{x:Math.max((r.clientWidth-i*n)/2,0),y:Math.max((r.clientHeight-o*n)/2,0)})}(this,o,i);break;case"both":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight;e.set("scale",{x:o/n,y:a/i}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"width":!function(t,e,r){var n=r.clientWidth/e.get("width");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"height":!function(t,e,r){var n=r.clientHeight/e.get("height");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"ratio":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight,s=o/n,c=a/i,u=Math.min(s,c);e.set("scale",{x:u,y:u}),e.set("translate",{x:(o-n*u)/2,y:(a-i*u)/2})}(0,o,i);break;default:!function(t,e,r){var n=t.unitScale;e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(this,o)}this.resize()}}}),g6.memoize(Z7.prototype,"unitScale",!1);var $7=13.3,t9=function(t){return void 0!==t&&($7=t),$7};const e9="$base_url";const r9=Math.PI/12;class n9{constructor(t,e){this._mode=t,this.screen=t9(),this._baseUrl="undefined"!=typeof window?window.location.origin:null,this._refProvider=e,this.isEditMode&&(this._rotateStep=r9,this._rotateStepForced=!1)}dispose(){this._dataSubscriptionProvider&&this._dataSubscriptionProvider.dispose(),delete this._dataStorage}_calcScreen(){var t={width:screen.width,height:screen.height};this._PPI=function(t,e,r,n){t>0||(t=1),e>0||(e=1),n||(n="d");var i=("d"==n?Math.sqrt(t*t+e*e):"w"==n?t:e)/r;return i>0?Math.round(i):0}(t.width,t.height,this.screen),this._PPM=this._PPI/25.4}subscribe(t,e){return this._dataSubscriptionProvider?.subscribe(t,e)}get refProvider(){return this._refProvider}set dataSubscriptionProvider(t){this._dataSubscriptionProvider=t}get dataSubscriptionProvider(){return this._dataSubscriptionProvider}set commander(t){this._commander=t}get commander(){return this._commander}get screen(){return this._screen}set screen(t){this._screen=t,this._calcScreen()}get DPPX(){return i5}get PPI(){return this._PPI}get PPM(){return this._PPM}get mode(){return this._mode}set mode(t){var e=this._mode;e!==t&&(this._mode=t,this.trigger("mode",t,e))}get isViewMode(){return 0==this._mode}get isEditMode(){return 1==this._mode}get baseUrl(){return this._baseUrl}set baseUrl(t){t&&this._baseUrl!=t&&(this._baseUrl=t)}url(t){try{return(t.includes(e9)?new URL(t.replace(e9,this.baseUrl),this.baseUrl):new URL(t,location.origin)).href}catch(e){V4(e,t)}}get rotateStep(){return this._rotateStep}set rotateStep(t){this._rotateStep=Number(t)||r9}get rotateStepForced(){return this._rotateStepForced}set rotateStepForced(t){this._rotateStepForced=!!t}get dataStorage(){return this._dataStorage}set dataStorage(t){this._dataStorage=t}}q4(n9.prototype,U4.withEvent);class i9{constructor(t,e){!(t=Number(t))||t<=0?(X4("TimeCapsule maxsize should be greater than 0.",t),this.maxsize=10):this.maxsize=t,this.reset(),e&&this.snapshot(e)}dispose(){this.reset()}snapshot(t){this.q.splice(this.pos+1,this.q.length-(this.pos+1),t),this.q.length>this.maxsize&&this.q.splice(0,this.q.length-this.maxsize),this.pos=this.q.length-1}forward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.forwardable)return this.q[++this.pos];V4("Not forwardable.")}backward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.backwardable)return this.q[--this.pos];V4("Not backwardable.")}get current(){if(-1!==this.pos)return this.q[this.pos];V4("Non state has been recorded.")}get length(){return this.q.length}get forwardable(){return this.pos<this.q.length-1}get backwardable(){return this.pos>0}get snapshot_taker(){return this._snapshot_taker}set snapshot_taker(t){this._snapshot_taker=t}reset(){this.q=[],this.pos=-1}}var o9=k4((t=>{t.brake||t.take()}),1e3,{leading:!0,trailing:!1});function a9(t){!t.brake&&t.dirty&&o9(t)}class s9{constructor(t,e){this.brake=!1,this.dirty=!1,this.state_holder=t,this.timecapsule=e,this.timecapsule.snapshot_taker=this}dispose(){delete this.state_holder,delete this.timecapsule}touch(){this.dirty=!0,a9(this)}take(t){(this.dirty||t)&&(this.timecapsule.snapshot(this.state_holder.state),this.dirty=!1)}get brake(){return this._brake}set brake(t){this._brake=!!t,a9(this)}}function c9(t,e){var r=e.model_layer.get("scale"),n=e.model_layer.get("translate");if(t){let i=JSON.parse(t);i.scale=r,i.translate=n,e.rebuildContentModel(i)}}class u9{constructor(t){this.container=t,this.timecapsule=new i9(20);var e=this;this.snapshot_taker=new s9({get state(){let t=e.container.model_layer.hierarchy;return JSON.stringify(t)}},this.timecapsule),this.snapshot_taker.take(!0)}dispose(){this.reset(),this.timecapsule&&this.timecapsule.dispose(),this.snapshot_taker&&this.snapshot_taker.dispose(),delete this.container,delete this.timecapsule,delete this.snapshot_taker}execute(t,e){!1!==e&&t&&t.execute(),this.snapshot_taker.touch(),this.trigger("execute",t,!0,!1)}undo(){this.timecapsule.backwardable&&(c9(this.timecapsule.backward(),this.container),this.trigger("undo",this.undoable(),this.redoable()))}redo(){this.timecapsule.forwardable&&(c9(this.timecapsule.forward(),this.container),this.trigger("redo",this.undoable(),this.redoable()))}undoable(){return this.timecapsule.backwardable}redoable(){return this.timecapsule.forwardable}reset(){this.timecapsule&&this.timecapsule.reset(),this.trigger("command-reset")}}q4(u9.prototype,U4.withEvent);var l9=new WeakSet;class h9{static get residents(){return l9}constructor(t){this._container=t,this.app=t.app,this._commander=new u9(this._container),this.app.commander=this._commander,l9.add(this)}add(){return I8.apply(this._container,arguments)}duplicate(){return C8.apply(this._container,arguments)}remove(){return j8.apply(this._container,arguments)}animate(){return f3.apply(this,arguments)}fullscreen(){return F8.apply(this._container,arguments)}get target(){return this._container.target_element}set target(t){var e;if("string"==typeof t){if(!(e=document.getElementById(t)))throw`target element '${t}' is not exist`;if(e.firstChild)throw`target element '${t}' already has children`}else e=t;e&&e.style&&(e.style.cursor="default"),this._container.target_element=e,this._container.invalidate()}get scale(){return this.root.get("scale")}set scale(t){this.root.set("scale",t)}get translate(){return this.root.get("translate")}set translate(t){this.root.set("translate",t)}get unit(){return this.root.get("unit")||"px"}get PPM(){return this.app.PPM}get PPI(){return this.app.PPI}get DPPX(){return this.app.DPPX}static get DPPX(){return i5}get unitScale(){return this._container.unitScale}get screen(){return this.app.screen}set screen(t){this.app.screen=t,this._container.resize()}resize(){this._container.resize()}release(){this.dispose()}dispose(){this._commander&&this._commander.dispose(),this._container&&this._container.dispose()}get selected(){return this._container.selected.slice()}set selected(t){this._container.selected=t}select(t,...e){return this._container.selected=this.root?.findAll(t,...e),this.selected}get commander(){return this._commander}undo(){this.commander.undo()}redo(){this.commander.redo()}cut(){return U8.apply(this._container,arguments)}copy(){return N8.apply(this._container,arguments)}paste(){return G8.apply(this._container,arguments)}undoableChange(){return s7.apply(this._container,arguments)}change(){return a7.apply(this.root,arguments)}get model(){return this.root.hierarchy}set model(t){this._container.rebuildContentModel(t)}get rootContainer(){return this._container}get root(){return this._container?.model_layer}findAll(){return this.root.findAll.apply(this.root,arguments)}findFirst(){return this.root.findFirst.apply(this.root,arguments)}findById(){return this._container.findById.apply(this._container,arguments)}serialize(){return this.root.trim(),this.root.serialize.apply(this.root,arguments)}align(){return x8.apply(this._container,arguments)}distribute(){return _8.apply(this._container,arguments)}move(){return S8.apply(this._container,arguments)}zorder(){return M8.apply(this._container,arguments)}symmetryX(){return i7.apply(this._container,arguments)}symmetryY(){return o7.apply(this._container,arguments)}on(){return L8.apply(this._container,arguments)}once(){return D8.apply(this._container,arguments)}off(){return this._container&&z8.apply(this._container,arguments)}centerTo(t,e){return this.root.centerTo(t,e)}get mode(){return this.app.mode}set mode(t){void 0!==t&&(this.app.mode=t)}toDataURL(){return $8.apply(this._container,arguments)}group(){return t7.apply(this._container,arguments)}ungroup(){return e7.apply(this._container,arguments)}fit(t){this._container.once("redraw",(()=>this._container.fit(t))),this._container.invalidate()}get fitMode(){return this._container.fitMode}get ids(){return c7.apply(this._container)}get data(){return this._container.data}set data(t){this._container.data=t}get dataByRefid(){return this._container.dataByRefid}set dataByRefid(t){this._container.dataByRefid=t}get values(){return this._container.values}set values(t){this._container.values=t}get valuesByRefid(){return this._container.valuesByRefid}set valuesByRefid(t){this._container.valuesByRefid=t}get baseUrl(){return this.app.baseUrl}set baseUrl(t){this.app.baseUrl=t}startAddMode(){return R8.apply(this._container,arguments)}}const f9=new class{load(t){}save(t,e){}clear(t){}};function p9({target:t,model:e,style:r,layers:n=[],handlers:i=[],mode:o=0,refProvider:a,dataSubscriptionProvider:s,dataStorage:c=f9,baseUrl:u,fitMode:l}){var h=null;if("string"==typeof t){if(!(h=document.getElementById(t)))throw`target element '${t}' is not exist`;if(h.firstChild)throw`target element '${t}' is not empty`}else h=t;h&&h.style&&(h.style.position="absolute",h.style.cursor="default",h.style.overflow="hidden");var f=new n9(o,a);return f.baseUrl=u,f.dataSubscriptionProvider=s,f.dataStorage=c,new h9(new Z7({target_element:h,model:e,style:r,layers:n,handlers:i,fitMode:l},f))}const d9=["mousemove","mouseup","mousedown","mouseout","wheel","tap","click","touchstart","touchmove","touchend","mouseenter","mouseleave","dragstart","dragmove","dragend","dblclick"];var g9=t=>class extends t{isHTMLElement(){return!0}isShadowable(){return!0}get element(){return this._element}set element(t){this._element=t}get tagName(){return this.get("type")}setElementProperties(t){throw new Error("Not Implemented Yet")}createElement(){this.element=document.createElement(this.tagName),this.element&&(this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.root.model_layer.overlay.appendChild(this.element),d9.forEach((t=>{this.element.addEventListener(t,this.userInputEventHandler.bind(this))})),a5.forEach((t=>{this.element.addEventListener(t,this.userInputEventHandler.bind(this))})),this.oncreate_element&&this.oncreate_element(this.element))}userInputEventHandler(t){N7(this,t.type,t),t.stopPropagation()}reposition(){this.element&&Q5(this)}disposeElement(){var t=this.element;t&&t.parentElement&&t.parentElement.removeChild(t),delete this.element}ready(){super.ready(),!this.element&&this.createElement(),this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.root.model_layer.overlay.appendChild(this.element),this.setElementProperties(this.element),this.reposition()}dispose(){this.disposeElement(this),super.dispose()}get hasTextProperty(){return!0}get textHidden(){return!0}onchange(t,e){this.element&&this.setElementProperties(this.element),this.reposition()}isDescendible(t){return t.isHTMLElement()}};const v9={x:1,y:1},y9={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"},m9={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"layout",label:"layout",name:"layoutOption"}],help:"scene/component/container"};class b9 extends(g9(N6)){get tagName(){return"div"}get nature(){return m9}setElementProperties(t){}get layout(){return _6.get(this.get("layout"))||k6}reposition(){if(this.element){var t=this,{id:e,class:r,scale:n=v9}=t.state,{rotation:i=0,hidden:o}=t,{left:a,top:s,width:c,height:u}=t.bounds,l=c/2,h=u/2,f=t.element;f.hidden=o,e&&(f.id=e),r&&(f.className=r),Object.assign(f.style,y9,{left:a+"px",top:s+"px",width:"0px",height:"0px",backgroundColor:"transparent"});var p=t.delta(),d=(n&&n.x||1)*p.sx,g=(n&&n.y||1)*p.sy,v=(i||0)+p.theta,y=p.tx||0,m=p.ty||0;["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{f.style[t+"transform"]=`translate(${y+l}px, ${m+h}px) rotate(${v}rad) translate(${-l}px, ${-h}px) scale(${d}, ${g}) perspective(1px)`}))}}}g6.register("container",b9);const x9=5,w9=Math.sqrt(3),A9=2;function _9(t,e,r,n,i){var o,a,s,c,u=x9+i,l=r.x,h=r.y,f=n.x,p=n.y;if(Math.abs(l-f)>u&&Math.abs(h-p)>u){var d=(p-h)/(f-l),g=h-d*l;if(Math.abs(e-(d*t+g))>u)return!1}return l>f?(a=l,o=f):(a=f,o=l),h>p?(c=h,s=p):(c=p,s=h),!(a+x9<t)&&(!(o-x9>t)&&(!(c+x9<e)&&!(s-x9>e)))}function k9(t,e,r,n=2){for(let i=0;i<r.length-1;i++)if(_9(t,e,r[i],r[i+1],n))return!0;return!1}function E9(t,e,r,n){if("arrow"!=t.slice(-5))return r;var i=Math.atan2(n.y-r.y,n.x-r.x),o=1.5*e;return{x:r.x+Math.cos(i)*o,y:r.y+Math.sin(i)*o}}function S9(t,e,r){var{lineWidth:n=A9,strokeStyle:i="#000000",lineCap:o=!1,alpha:a=1,begin:s="none",end:c="none",beginSize:u="size5",endSize:l="size5"}=r;if(("none"!=s||"none"!=c)&&(n=Number(n)||A9,t.lineCap=o,t.lineWidth=n,t.strokeStyle=i,t.fillStyle=i,t.globalAlpha*=a,"none"!=s&&M9(t,e[0],e[1],n,s,T9(u,n)),"none"!=c)){let r=e.length;M9(t,e[r-1],e[r-2],n,c,T9(l,n))}}function M9(t,e,r,n,i,o){var{x:a,y:s}=e,c=Math.atan2(r.y-s,r.x-a);switch(t.beginPath(),t.translate(a,s),t.rotate(c),i){case"oval":t.ellipse(0,0,o.X,o.Y,0,0,2*Math.PI),t.fill();break;case"diamond":t.moveTo(-o.X,0),t.lineTo(0,-o.Y),t.lineTo(o.X,0),t.lineTo(0,o.Y),t.fill();break;case"arrow":t.moveTo(0,0),t.lineTo(w9*o.X,-o.Y),t.lineTo(w9*o.X,o.Y),t.fill();break;case"sharp-arrow":t.moveTo(0,0),t.lineTo(w9*o.X,-o.Y),t.lineTo(-o.X/1.5+w9*o.X,0),t.lineTo(w9*o.X,o.Y),t.fill();break;case"open-arrow":t.moveTo(w9*o.X+n,-o.Y),t.lineTo(n,0),t.lineTo(w9*o.X+n,o.Y),t.stroke()}t.rotate(-c),t.translate(-a,-s),t.closePath()}function T9(t,e){let r={};switch(e*=1.2,t){case"size1":r.X=e,r.Y=e;break;case"size2":r.X=1.5*e,r.Y=e;break;case"size3":r.X=2*e,r.Y=e;break;case"size4":r.X=e,r.Y=1.5*e;break;case"size5":default:r.X=1.5*e,r.Y=1.5*e;break;case"size6":r.X=2*e,r.Y=1.5*e;break;case"size7":r.X=e,r.Y=2*e;break;case"size8":r.X=1.5*e,r.Y=2*e;break;case"size9":r.X=2*e,r.Y=2*e}return r}const P9="N",O9="S",I9="E",R9="W";class C9{constructor({component:t,anchor:e,position:r,self:n}){this.component=t,this._anchorName=e,this._position=r,this.self=n}get position(){const t=this.anchor;if(t){var{position:e}=t;const r=this.component.transcoordS2T(e.x,e.y);return this.self.transcoordT2P(r.x,r.y)}return this._position}set position({x:t,y:e}){this._position={x:t,y:e}}get anchor(){return this.component?.findAnchor(this._anchorName)}get direction(){const t=this.component.bounds,e=this.anchor;if(!e)return I9;const r=e.position;return r.y<=t.top?P9:r.y>=t.top+t.height?O9:r.x<=t.left?R9:I9}get boundaryPosition(){const t=this.anchor;if(t){var{position:e}=t,r=0,n=0;switch(this.direction){case O9:n=20;break;case P9:n=-20;break;case R9:r=-20;break;default:r=20}e={x:e.x+r,y:e.y+n};const i=this.component.transcoordS2T(e.x,e.y);return this.self.transcoordT2P(i.x,i.y)}}}class j9 extends g6{isLine(){return!0}replaceRefids(t){["from","to"].forEach((e=>{const r=this.get(e);if(r?.component){const n=t.get(r.component)||r.component;this.set(e,{...r,component:n})}}))}get fromEnd(){if(this.parent&&!this._fromEnd){const{component:t,anchor:e,position:r}=this.getState("from")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._fromEnd=new C9({component:n,fromto:"from",anchor:e,position:r,self:this})}return this._fromEnd}get from(){return this.getState("from")}set from(t){delete this._fromEnd,this.set("from",t)}get toEnd(){if(this.parent&&!this._toEnd){const{component:t,anchor:e,position:r}=this.getState("to")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._toEnd=new C9({component:n,fromto:"to",anchor:e,position:r,self:this})}return this._toEnd}get to(){return this.getState("to")}set to(t){delete this._toEnd,this.set("to",t)}move({x:t,y:e},r){r&&(this.from={position:this._fromEnd?.position||this.getState("from")?.position||{x:0,y:0}},this.to={position:this._toEnd?.position||this.getState("to")?.position||{x:0,y:0}}),super.move({x:t,y:e},r)}render(t){var{begin:e="none",end:r="none",lineWidth:n,round:i=0}=this.state,o=this.drawPath;S9(t,o,this.state),t.beginPath();var a=E9(e,n,o[0],o[1]),s=E9(r,n,o[o.length-1],o[o.length-2]);o=[a,...o.slice(1,-1),s];var c={x:a.x,y:a.y};t.moveTo(a.x,a.y);for(var u=1;u<o.length;u++){const e=c;c=o[u];const r=o[u+1];if(e.x===c.x&&e.y===c.y)continue;if(!r){t.lineTo(c.x,c.y);break}var l=0!==(p=Math.sqrt((e.x-c.x)*(e.x-c.x)+(e.y-c.y)*(e.y-c.y)))?Math.atan2(e.x-c.x,e.y-c.y):0,h=Math.sin(l)*Math.min(i,p/2)+c.x,f=Math.cos(l)*Math.min(i,p/2)+c.y;const n=i>0||0!==p?{x:h,y:f}:c;var p;l=0!==(p=Math.sqrt((r.x-c.x)*(r.x-c.x)+(r.y-c.y)*(r.y-c.y)))?Math.atan2(r.x-c.x,r.y-c.y):0,h=Math.sin(l)*Math.min(i,p/2)+c.x,f=Math.cos(l)*Math.min(i,p/2)+c.y;const a=i>0||0!==p?{x:h,y:f}:c;t.lineTo(n.x,n.y),i>0&&t.quadraticCurveTo(c.x,c.y,a.x,a.y)}this.drawStroke(t)}contains(t,e){var{lineWidth:r}=this.state;return k9(t,e,this.drawPath,r)}get resizable(){return!1}get mutable(){return!0}get rotatable(){return!1}get path(){const{from:t,to:e}=this.state;var{x1:r,y1:n,x2:i,y2:o}=this.state;return[this.fromEnd?.position||t?.position||{x:r,y:n},this.toEnd?.position||e?.position||{x:i,y:o}]}set path(t){const[e,r]=t,{from:n,to:i}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...n,position:e},to:{...i,position:r}})}get textBounds(){var t,e,r=this.drawPath,n=0;for(let s=1;s<r.length;s++){var i=r[s-1],o=r[s],a=(i.x-o.x)*(i.x-o.x)+(i.y-o.y)*(i.y-o.y);a>n&&(n=Math.ceil(a),t=i,e=o)}var{paddingTop:s,paddingLeft:c,paddingRight:u,paddingBottom:l}=this.state;return l||=0,s||=0,c||=0,u||=0,{left:Math.min(t.x,e.x)+c,top:Math.min(t.y,e.y)+s,width:Math.max(Math.abs(t.x-e.x)-c-u,0),height:Math.max(Math.abs(t.y-e.y)-s-l,0)}}get decorators(){return["decotag"]}}j9.getTipNeckPos=E9,j9.containedInPath=k9,j9.drawEndTips=S9,g6.register("line",j9);const L9={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"};class D9 extends(X6(v6)){is3dish(){return!0}render(t){var{cx:e,cy:r,rx:n,ry:i,startAngle:o,endAngle:a,anticlockwise:s}=this.state;t.beginPath(),t.ellipse(e,r,Math.abs(n),Math.abs(i),0,o||0,a||2*Math.PI,s)}get path(){var{cx:t,cy:e,rx:r,ry:n}=this.state;return[{x:t-r,y:e-n},{x:t+r,y:e-n},{x:t+r,y:e+n},{x:t-r,y:e+n}]}set path(t){var e=t[0],r=t[2];this.set({cx:e.x+(r.x-e.x)/2,cy:e.y+(r.y-e.y)/2,rx:(r.x-e.x)/2,ry:(r.y-e.y)/2})}contains(t,e){var{cx:r,cy:n,rx:i,ry:o}=this.state,a=(t-r)/(2*i-.5),s=(e-n)/(2*o-.5);return a*a+s*s<.25}outline(t){return function(t,e){var{cx:r,cy:n,rx:i,ry:o}=t.model,a=2*Math.PI*e,s=r+i*Math.cos(a),c=n+o*Math.sin(a);return t.transcoordS2T(s,c)}(this,t)}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}get nature(){return L9}}g6.memoize(D9.prototype,"path",!1),g6.register("ellipse",D9);var z9={ondragstart:function(t,e,r){r.mutatePath(null,(function(r){r.splice(e+1,0,t)}))},ondragmove:function(t,e,r){r.mutatePath(null,(function(r){r[e+1]=t}))},ondragend:function(t,e,r){}};const F9={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polygon"};class B9 extends v6{is3dish(){return!0}get mutable(){return!0}get pathExtendable(){return!0}get path(){return this.state.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach(((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,u=r[a].x,l=r[a].y;c>e!=l>e&&t<(u-s)*(e-c)/(l-c)+s&&(n=!n)})),n}get controls(){var t=this.path;return t.map(((e,r)=>{let n=t[r+1>=t.length?0:r+1];return{x:(e.x+n.x)/2,y:(e.y+n.y)/2,handler:z9}}))}get nature(){return F9}}g6.memoize(B9.prototype,"controls",!1),g6.register("polygon",B9);var N9={ondragstart:function(t,e,r){r.mutatePath(null,(function(r){r.splice(e,0,t)}))},ondragmove:function(t,e,r){r.mutatePath(null,(function(r){r[e]=t}))},ondragend:function(t,e,r){}};const U9={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polyline"};class G9 extends j9{get pathExtendable(){return!0}get path(){const{from:t,to:e}=this.state,{path:r}=this.state;return[this.fromEnd?.position||t?.position||r[0],...r.slice(1,-1),this.toEnd?.position||e?.position||r[r.length-1]]}set path(t){const{from:e,to:r}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...e,position:t[0]},to:{...r,position:t[t.length-1]},path:t})}get controls(){var t=this.path,e=[];for(let r=0;r<t.length-1;r++){let n=t[r],i=t[r+1];0==r&&e.push({x:n.x,y:n.y,handler:N9}),e.push({x:(n.x+i.x)/2,y:(n.y+i.y)/2,handler:N9}),r==t.length-2&&e.push({x:i.x,y:i.y,handler:N9})}return e}get nature(){return U9}}g6.register("polyline",G9);const Y9={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/ortholine"};class H9 extends j9{get pathExtendable(){return!1}get drawPath(){const t=this.path[0],e=this.path[1],{component:r,direction:n,boundaryPosition:i=t}=this.fromEnd||{},{component:o,direction:a,boundaryPosition:s=e}=this.toEnd||{};var c=[i,s],u=[];i&&u.push(i);var l=r?.bounds;if(l){var h=r.transcoordS2T(l.left,l.top);h=this.transcoordT2P(h.x,h.y),l={...l,left:h.x,top:h.y}}var f=l?{left:l.left-20,top:l.top-20,width:l.width+40,height:l.height+40}:{left:i.x,top:i.y,width:0,height:0};l=l||f;var p=o?.bounds;if(p){h=o.transcoordS2T(p.left,p.top);h=this.transcoordT2P(h.x,h.y),p={...p,left:h.x,top:h.y}}var d=p?{left:p.left-20,top:p.top-20,width:p.width+40,height:p.height+40}:{left:s.x,top:s.y,width:0,height:0};p=p||d;var g=[f,d];const v=f.left>d.left?d.left:f.left,y=f.top>d.top?d.top:f.top;var m,b,x,w,A,_,k,E,S,M,T={left:v,top:y,width:f.left+f.width>d.left+d.width?f.left+f.width-v:d.left+d.width-v,height:f.top+f.height>d.top+d.height?f.top+f.height-y:d.top+d.height-y},P=0,O=0;l.left+l.width<p.left?(w=0,A=1,S=n,M=a,m=(l.left+l.width+p.left)/2,P=p.left-m):p.left+p.width<l.left&&(w=1,A=0,S=a,M=n,m=(l.left+p.width+p.left)/2,P=l.left-m),l.top+l.height<p.top?(x=0,_=1,k=n,E=a,b=(l.top+l.height+p.top)/2,O=p.top-b):p.top+p.height<l.top&&(x=1,_=0,k=a,E=n,b=(l.top+p.height+p.top)/2,O=l.top-b);var I=[];if(m&&P>O){switch(M){case R9:switch(S){case I9:I.push({x:m,y:c[w].y}),I.push({x:m,y:c[A].y});break;case R9:var R=g[w].top+g[w].height/2>c[A].y?Math.min(g[w].top,c[A].y):Math.max(g[w].top+g[w].height,c[A].y);I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:c[A].y});break;case P9:case O9:R=S===O9?Math.max(c[w].y,c[A].y):Math.min(c[w].y,c[A].y);I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:c[A].y});break;default:return this.path}break;case I9:switch(S){case I9:var C=R=c[w].y<c[A].y?Math.min(g[A].top,c[w].y):Math.max(g[A].top+g[A].height,c[w].y);break;case R9:C=R=void 0!==b?b:c[w].y<c[A].y?T.top-.5*P:T.top+T.height+.5*P;break;case O9:C=R=void 0!==b?Math.max(b,c[w].y):T.top+T.height;break;case P9:C=R=b?Math.min(b,g[w].top):T.top;break;default:return this.path}I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:C}),I.push({x:c[A].x,y:C});break;case O9:switch(S){case I9:R=c[w].y,C=c[w].y>c[A].y?c[w].y:g[A].top+g[A].height;break;case R9:C=R=b?Math.max(b,g[A].top+g[A].height):T.top+T.height;break;case O9:C=R=T.top+T.height;break;case P9:R=b?Math.min(b,g[w].top):g[w].top,C=b?Math.max(b,g[A].top+g[A].height):g[A].top+g[A].height;break;default:return this.path}I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:C}),I.push({x:c[A].x,y:C});break;case P9:switch(S){case I9:R=c[w].y,C=c[w].y<c[A].y?c[w].y:g[A].top;break;case R9:C=R=b?Math.min(b,g[A].top):T.top;break;case O9:R=void 0!==b?Math.max(b,c[w].y):c[w].y,C=void 0!==b?Math.min(b,c[A].y):c[A].y;break;case P9:C=R=T.top;break;default:return this.path}I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:C}),I.push({x:c[A].x,y:C});break;default:return this.path}u.push(...0===w?I:I.reverse())}else if(b){switch(E){case P9:switch(k){case O9:I.push({x:c[x].x,y:b}),I.push({x:c[_].x,y:b});break;case P9:var j=g[x].left+g[x].width/2>c[_].x?Math.min(g[x].left,c[_].x):Math.max(g[x].left+g[x].width,c[_].x);I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:c[_].x,y:b});break;case R9:j=Math.min(c[x].x,c[_].x);I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:c[_].x,y:b});break;case I9:j=Math.max(c[x].x,c[_].x);I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:c[_].x,y:b});break;default:return this.path}break;case O9:switch(k){case R9:var L=j=T.left;break;case I9:L=j=void 0!==m?Math.max(m,c[x].x):T.left+T.width;break;case P9:L=j=void 0!==m?m:c[x].x<c[_].x?T.left-.5*O:T.left+T.width+.5*O;break;case O9:j=c[x].x,L=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;case I9:switch(k){case R9:j=void 0!==m?Math.min(m,c[x].x):c[x].x,L=void 0!==m?Math.max(m,c[_].x):c[_].x;break;case I9:L=j=T.left+T.width;break;case P9:L=j=void 0!==m?Math.max(m,c[_].x):T.left+T.width;break;case O9:j=c[x].x,L=Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;case R9:switch(k){case R9:L=j=T.left;break;case I9:j=void 0!==m?Math.max(m,c[x].x):c[x].x,L=void 0!==m?Math.min(m,c[_].x):c[_].x;break;case P9:L=j=T.left;break;case O9:j=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):c[x].x,L=Math.min(j,c[_].x);break;default:return this.path}I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;default:return this.path}u.push(...0===x?I:I.reverse())}else switch(n){case P9:switch(a){case P9:var D=T.top;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case O9:var z=T.left+T.width;u.push({x:z,y:c[0].y}),u.push({x:z,y:T.top+T.height}),u.push({x:c[1].x,y:T.top+T.height});break;case I9:z=c[1].y<c[0].y&&c[1].x<c[0].x?c[0].x:T.left+T.width;u.push({x:z,y:c[0].y}),u.push({x:z,y:c[1].y});break;case R9:z=T.left;u.push({x:z,y:c[0].y}),u.push({x:z,y:c[1].y});break;default:return this.path}break;case O9:switch(a){case P9:z=T.left+T.width;u.push({x:z,y:c[0].y}),u.push({x:z,y:T.top}),u.push({x:c[1].x,y:T.top});break;case O9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case I9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case R9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;default:return this.path}break;case R9:switch(a){case P9:z=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].x:T.left,D=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].y:Math.min(T.top,c[0].y);u.push({x:z,y:c[0].y}),u.push({x:z,y:D}),u.push({x:c[1].x,y:D});break;case O9:z=T.left,D=Math.max(T.top+T.height,c[0].y);u.push({x:z,y:c[0].y}),u.push({x:z,y:D}),u.push({x:c[1].x,y:D});break;case I9:z=T.left+T.width;u.push({x:c[0].x,y:T.top}),u.push({x:z,y:T.top}),u.push({x:z,y:c[1].y});break;case R9:z=T.left;u.push({x:z,y:c[0].y}),u.push({x:z,y:c[1].y});break;default:return this.path}break;case I9:switch(a){case P9:D=c[0].y<c[1].y&&c[0].x<c[1].x?c[0].y:T.top;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case O9:D=c[0].y>c[1].y&&c[0].x<c[1].x?c[0].y:T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case I9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case R9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;default:return this.path}break;default:return this.path}return s&&u.push(s),[t,...u,e].filter(((t,e,r)=>{if(0===e)return!0;const n=r[e-1];return t.x!==n.x||t.y!==n.y})).filter(((t,e,r)=>{if(0===e||e>=r.length-1)return!0;const n=r[e-1],i=r[e+1];return!(t.x===n.x&&t.x===i.x||t.y===n.y&&t.y===i.y)}))}get nature(){return Y9}}g6.register("ortholine",H9);const W9={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"image-src",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"scene-image",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0}},{type:"select",label:"cross-origin",name:"crossOrigin",property:{options:["","anonymous","use-credentials"]}}],"value-property":"src",help:"scene/component/image-view"};class q9 extends(y6(v6)){static get noimage(){return q9.NOIMAGE||(q9.NOIMAGE=new Image,q9.NOIMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABIBAMAAAD7Se1QAAAAIVBMVEUAAABHcEwBAQEREREBAQEEBAQGBgYLCwsDAwMDAwMICAi6HF9tAAAAC3RSTlNNAEAERiMYCS41Eac10lYAAAEgSURBVHhe7dY9asQwEAXgh7DNertNiJy48pIitY3SB7bYdk0ukL1BDDmA9gZecoH4pmFQ3MQayUMguPBrNPD4wD9TCMvJmt3M/AtYwXOlXiWgqADVCUBD46MAnGhMBaCiUQmAm8VA/Eh/eWl9Fn5WcxD+OLuRrUYJDKLluwH2InACUgkoACSdADxQc50Bytadb9RkM0CT13TcvlCT1HFg8UTHvasuUVACCa3El6u2UdD8LFTlKhUFFgA+d3dj10aABkUN72N3jAADCrJq7PIIsPidcxBoTHIIAjMFmyCwmGYIAA1P9gFgfCANAOsDSccCDW+uLDB+kLGg94OkZoAGkwsDDAe2DOg5oPxAg03rBR88OHpBz4N8UVeHFSwma74BTW6Ge4rIRa4AAAAASUVORK5CYII="),q9.NOIMAGE}dispose(){super.dispose(),this._offcanvas=null,this._image=null}render(t){var{left:e,top:r,width:n,height:i,isGray:o=!1,alpha:a=1,src:s}=this.state;if(this.prepareIf(!this._image&&s),t.beginPath(),t.globalAlpha*=a,this._image&&this._image.complete)if(o&&this._offcanvas)t.drawImage(this._offcanvas,e,r,n,i);else try{t.drawImage(this._image,e,r,n,i)}catch(o){t.drawImage(q9.noimage,e,r,n,i)}else!this.app.isViewMode&&t.drawImage(q9.noimage,e,r,n,i)}get nature(){return W9}get hasTextProperty(){return!1}ready(){super.ready(),this.prepareIf(!this._image&&this.state.src)}prepare(t,e){var{src:r,crossOrigin:n}=this.state;if(r){this._image=new Image;try{n&&(this._image.crossOrigin=n),this._image.src=this.app.url(r)||""}catch(t){return void e(t)}this._image.onload=()=>{if(this.get("isGray")){let t=this._image.width,e=this._image.height;this._offcanvas=g6.createCanvas(t,e);let r=this._offcanvas.getContext("2d");r.drawImage(this._image,0,0);let n=function(t,e,r){try{var n=t.getImageData(0,0,e,r)}catch(t){return X4("Get Image Data Error: "+t.message),null}var i=n.data;for(let t=0;t<e*r*4;t+=4){let e=i[t],r=i[t+1],o=i[t+2],a=parseInt((e+r+o)/3);n.data[t]=a,n.data[t+1]=a,n.data[t+2]=a}return n}(r,t,e);r.putImageData(n,0,0)}t(this)},this._image.onerror=t=>{this._image&&!this._image.currentSrc&&(this._image=null),e(t)}}else t(this)}get src(){return this.get("src")}set src(t){this.set("src",t)}onchange(t,e){(t.hasOwnProperty("src")||t.hasOwnProperty("isGray"))&&(this._offcanvas=null,this._image=null,this.prepareIf(t.src))}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void(this.src=e[r])}}g6.register("image-view",q9);class X9 extends(g9(y6(g6))){}var V9={},Q9={},K9={};Object.defineProperty(K9,"__esModule",{value:!0});var J9=function(){function t(){}return t.bitsToNum=function(t){return t.reduce((function(t,e){return 2*t+e}),0)},t.byteToBitArr=function(t){for(var e=[],r=7;r>=0;r--)e.push(!!(t&1<<r));return e},t.lzwDecode=function(t,e){for(var r,n,i=0,o=function(t){for(var r=0,n=0;n<t;n++)e.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<t,c=s+1,u=t+1,l=[],h=function(){l=[],u=t+1;for(var e=0;e<s;e++)l[e]=[e];l[s]=[],l[c]=null};;)if(n=r,(r=o(u))!==s){if(r===c)break;if(r<l.length)n!==s&&l.push(l[n].concat(l[r][0]));else{if(r!==l.length)throw new Error("Invalid LZW code.");l.push(l[n].concat(l[n][0]))}a.push.apply(a,l[r]),l.length===1<<u&&u<12&&u++}else h();return a},t}();K9.SuperGifUtils=J9,Object.defineProperty(Q9,"__esModule",{value:!0});var Z9=K9,$9=function(){function t(t,e){this.stream=t,this.handler=e}return t.prototype.parseCT=function(t){for(var e=[],r=0;r<t;r++)e.push(this.stream.readBytes(3));return e},t.prototype.readSubBlocks=function(){var t,e;e="";do{t=this.stream.readByte(),e+=this.stream.read(t)}while(0!==t);return e},t.prototype.parseHeader=function(){var t={};if(t.sig=this.stream.read(3),t.ver=this.stream.read(3),"GIF"!==t.sig)throw new Error("Not a GIF file.");t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Z9.SuperGifUtils.byteToBitArr(this.stream.readByte());t.gctFlag=e.shift(),t.colorRes=Z9.SuperGifUtils.bitsToNum(e.splice(0,3)),t.sorted=e.shift(),t.gctSize=Z9.SuperGifUtils.bitsToNum(e.splice(0,3)),t.bgColor=this.stream.readByte(),t.pixelAspectRatio=this.stream.readByte(),t.gctFlag&&(t.gct=this.parseCT(1<<t.gctSize+1)),this.handler.hdr&&this.handler.hdr(t)},t.prototype.parseExt=function(t){var e=this;switch(t.label=this.stream.readByte(),t.label){case 249:t.extType="gce",function(t){e.stream.readByte();var r=Z9.SuperGifUtils.byteToBitArr(e.stream.readByte());t.reserved=r.splice(0,3),t.disposalMethod=Z9.SuperGifUtils.bitsToNum(r.splice(0,3)),t.userInput=r.shift(),t.transparencyGiven=r.shift(),t.delayTime=e.stream.readUnsigned(),t.transparencyIndex=e.stream.readByte(),t.terminator=e.stream.readByte(),e.handler.gce&&e.handler.gce(t)}(t);break;case 254:t.extType="com",function(t){t.comment=e.readSubBlocks(),e.handler.com&&e.handler.com(t)}(t);break;case 1:t.extType="pte",function(t){e.stream.readByte(),t.ptHeader=e.stream.readBytes(12),t.ptData=e.readSubBlocks(),e.handler.pte&&e.handler.pte(t)}(t);break;case 255:t.extType="app",function(t){e.stream.readByte(),t.identifier=e.stream.read(8),t.authCode=e.stream.read(3),"NETSCAPE"===t.identifier?function(t){e.stream.readByte(),t.unknown=e.stream.readByte(),t.iterations=e.stream.readUnsigned(),t.terminator=e.stream.readByte(),e.handler.app&&e.handler.app.NETSCAPE&&e.handler.app.NETSCAPE(t)}(t):function(t){t.appData=e.readSubBlocks(),e.handler.app&&e.handler.app[t.identifier]&&e.handler.app[t.identifier](t)}(t)}(t);break;default:t.extType="unknown",function(t){t.data=e.readSubBlocks(),e.handler.unknown&&e.handler.unknown(t)}(t)}},t.prototype.parseImg=function(t){t.leftPos=this.stream.readUnsigned(),t.topPos=this.stream.readUnsigned(),t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Z9.SuperGifUtils.byteToBitArr(this.stream.readByte());t.lctFlag=e.shift(),t.interlaced=e.shift(),t.sorted=e.shift(),t.reserved=e.splice(0,2),t.lctSize=Z9.SuperGifUtils.bitsToNum(e.splice(0,3)),t.lctFlag&&(t.lct=this.parseCT(1<<t.lctSize+1)),t.lzwMinCodeSize=this.stream.readByte();var r=this.readSubBlocks();t.pixels=Z9.SuperGifUtils.lzwDecode(t.lzwMinCodeSize,r),t.interlaced&&(t.pixels=function(t,e){for(var r=new Array(t.length),n=t.length/e,i=function(n,i){var o=t.slice(i*e,(i+1)*e);r.splice.apply(r,[n*e,e].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;c<4;c++)for(var u=o[c];u<n;u+=a[c])i(u,s),s++;return r}(t.pixels,t.width)),this.handler.img&&this.handler.img(t)},t.prototype.parseBlock=function(){var t={};switch(t.sentinel=this.stream.readByte(),String.fromCharCode(t.sentinel)){case"!":t.type="ext",this.parseExt(t);break;case",":t.type="img",this.parseImg(t);break;case";":t.type="eof",this.handler.eof&&this.handler.eof(t);break;default:throw new Error("Unknown block: 0x"+t.sentinel.toString(16))}"eof"!==t.type&&setTimeout(this.parseBlock.bind(this),0)},t.prototype.parse=function(){this.parseHeader(),setTimeout(this.parseBlock.bind(this),0)},t}();Q9.SuperGifParser=$9;var ttt={};Object.defineProperty(ttt,"__esModule",{value:!0});var ett=function(){function t(t){this.data=t,this.position=0}return t.prototype.readByte=function(){if(this.position>=this.data.length)throw new Error("Attempted to read past end of stream.");return this.data instanceof Uint8Array?this.data[this.position++]:255&this.data.charCodeAt(this.position++)},t.prototype.readBytes=function(t){for(var e=[],r=0;r<t;r++)e.push(this.readByte());return e},t.prototype.read=function(t){for(var e="",r=0;r<t;r++)e+=String.fromCharCode(this.readByte());return e},t.prototype.readUnsigned=function(){var t=this.readBytes(2);return(t[1]<<8)+t[0]},t}();ttt.SuperGifStream=ett,Object.defineProperty(V9,"__esModule",{value:!0});var rtt=Q9,ntt=ttt,itt=function(){function t(t,e){var r=this;for(var n in this.gifImgElement=t,this.options={autoPlay:!0},this.loading=!1,this.ready=!1,this.transparency=null,this.delay=null,this.disposalMethod=null,this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,this.playing=!0,this.forward=!0,this.ctxScaled=!1,this.frames=[],this.frameOffsets=[],this.initialized=!1,this.currentFrameIndex=-1,this.iterationCount=0,this.stepping=!1,this.handler={hdr:this.withProgress(this.doHdr.bind(this)),gce:this.withProgress(this.doGCE.bind(this)),com:this.withProgress(this.doNothing.bind(this)),app:{NETSCAPE:this.withProgress(this.doNothing.bind(this))},img:this.withProgress(this.doImg.bind(this)),eof:function(){r.pushFrame(),r.canvas.width=r.hdr.width*r.getCanvasScale(),r.canvas.height=r.hdr.height*r.getCanvasScale(),r.playerInit(),r.loading=!1,r.ready=!0,r.loadCallback&&r.loadCallback(r.gifImgElement)}},e)this.options[n]=e[n];this.onEndListener=e.onEnd,this.loopDelay=e.loopDelay||0,this.overrideLoopMode=null!=e.loopMode?e.loopMode:"auto",this.drawWhileLoading=null==e.drawWhileLoading||e.drawWhileLoading}return t.prototype.init=function(){var t=this.gifImgElement.parentNode,e=document.createElement("div");this.canvas=document.createElement("canvas"),this.canvasContext=this.canvas.getContext("2d"),this.tmpCanvas=document.createElement("canvas"),e.className=this.options.enclosingClass||"super-gif",e.appendChild(this.canvas),t&&(t.insertBefore(e,this.gifImgElement),t.removeChild(this.gifImgElement)),this.initialized=!0},t.prototype.loadSetup=function(t){return!this.loading&&(t&&(this.loadCallback=t),this.loading=!0,this.frames=[],this.clear(),this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,!0)},t.prototype.completeLoop=function(){this.onEndListener&&this.onEndListener(this.gifImgElement),this.iterationCount++,!1!==this.overrideLoopMode||this.iterationCount<0?this.doStep():(this.stepping=!1,this.playing=!1)},t.prototype.doStep=function(){if(this.stepping=this.playing,this.stepping){this.stepFrame(1);var t=10*this.frames[this.currentFrameIndex].delay;t||(t=100),0===this.getNextFrameNo()?(t+=this.loopDelay,setTimeout(this.completeLoop.bind(this),t)):setTimeout(this.doStep.bind(this),t)}},t.prototype.step=function(){this.stepping||setTimeout(this.doStep.bind(this),0)},t.prototype.putFrame=function(){var t;this.currentFrameIndex=parseInt(this.currentFrameIndex.toString(),10),this.currentFrameIndex>this.frames.length-1&&(this.currentFrameIndex=0),this.currentFrameIndex<0&&(this.currentFrameIndex=0),t=this.frameOffsets[this.currentFrameIndex],this.tmpCanvas.getContext("2d").putImageData(this.frames[this.currentFrameIndex].data,t.x,t.y),this.canvasContext.globalCompositeOperation="copy",this.canvasContext.drawImage(this.tmpCanvas,0,0)},t.prototype.playerInit=function(){this.loadErrorCause||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.options.autoPlay?this.step():(this.currentFrameIndex=0,this.putFrame()))},t.prototype.clear=function(){this.transparency=null,this.delay=null,this.lastDisposalMethod=this.disposalMethod,this.disposalMethod=null,this.frame=null},t.prototype.parseStream=function(t){try{new rtt.SuperGifParser(t,this.handler).parse()}catch(t){this.handleError("parse")}},t.prototype.setSizes=function(t,e){this.canvas.width=t*this.getCanvasScale(),this.canvas.height=e*this.getCanvasScale(),this.tmpCanvas.width=t,this.tmpCanvas.height=e,this.tmpCanvas.style.width=t+"px",this.tmpCanvas.style.height=e+"px",this.tmpCanvas.getContext("2d").setTransform(1,0,0,1,0,0)},t.prototype.drawError=function(){this.canvasContext.fillStyle="black",this.canvasContext.fillRect(0,0,this.hdr.width,this.hdr.height),this.canvasContext.strokeStyle="red",this.canvasContext.lineWidth=3,this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.hdr.width,this.hdr.height),this.canvasContext.moveTo(0,this.hdr.height),this.canvasContext.lineTo(this.hdr.width,0),this.canvasContext.stroke()},t.prototype.handleError=function(t){this.loadErrorCause=t,this.hdr={width:this.gifImgElement.width,height:this.gifImgElement.height},this.frames=[],this.drawError()},t.prototype.doHdr=function(t){this.hdr=t,this.setSizes(this.hdr.width,this.hdr.height)},t.prototype.doGCE=function(t){this.pushFrame(),this.clear(),this.transparency=t.transparencyGiven?t.transparencyIndex:null,this.delay=t.delayTime,this.disposalMethod=t.disposalMethod},t.prototype.pushFrame=function(){this.frame&&(this.frames.push({data:this.frame.getImageData(0,0,this.hdr.width,this.hdr.height),delay:this.delay}),this.frameOffsets.push({x:0,y:0}))},t.prototype.doImg=function(t){var e=this;this.frame||(this.frame=this.tmpCanvas.getContext("2d"));var r=this.frames.length,n=t.lctFlag?t.lct:this.hdr.gct;r>0&&(3===this.lastDisposalMethod?null!==this.disposalRestoreFromIdx?this.frame.putImageData(frames[this.disposalRestoreFromIdx].data,0,0):this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height):this.disposalRestoreFromIdx=r-1,2===this.lastDisposalMethod&&this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height));var i=this.frame.getImageData(t.leftPos,t.topPos,t.width,t.height);t.pixels.forEach((function(t,r){t!==e.transparency&&(i.data[4*r+0]=n[t][0],i.data[4*r+1]=n[t][1],i.data[4*r+2]=n[t][2],i.data[4*r+3]=255)})),this.frame.putImageData(i,t.leftPos,t.topPos),this.ctxScaled||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.ctxScaled=!0),this.drawWhileLoading&&(this.canvasContext.drawImage(this.tmpCanvas,0,0),this.drawWhileLoading=this.options.autoPlay),this.lastImg=t},t.prototype.doNothing=function(){},t.prototype.withProgress=function(t){return function(e){t(e)}},t.prototype.getNextFrameNo=function(){var t=this.forward?1:-1;return(this.currentFrameIndex+t+this.frames.length)%this.frames.length},t.prototype.stepFrame=function(t){this.currentFrameIndex=this.currentFrameIndex+t,this.putFrame()},t.prototype.getCanvasScale=function(){return this.options.maxWidth&&this.hdr&&this.hdr.width>this.options.maxWidth?this.options.maxWidth/this.hdr.width:window.devicePixelRatio||1},t.prototype.play=function(){this.playing=!0,this.step()},t.prototype.pause=function(){this.playing=!1},t.prototype.isPlaying=function(){return this.playing},t.prototype.getCanvas=function(){return this.canvas},t.prototype.isLoading=function(){return this.loading},t.prototype.isReady=function(){return this.ready},t.prototype.isAutoPlay=function(){return this.options.autoPlay},t.prototype.getLength=function(){return this.frames.length},t.prototype.getCurrentFrame=function(){return this.currentFrameIndex},t.prototype.moveTo=function(t){this.currentFrameIndex=t,this.putFrame()},t.prototype.loadURL=function(t,e){var r=this;if(this.loadSetup(e)){var n=new XMLHttpRequest;n.open("GET",t,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){r.initialized||r.init()},n.onload=function(){if(200===n.status){var t=n.response;t.toString().indexOf("ArrayBuffer")>0&&(t=new Uint8Array(t));var e=new ntt.SuperGifStream(t);setTimeout((function(){r.parseStream(e)}),0)}else r.handleError("xhr - response")},n.onerror=function(){r.handleError("xhr")},n.send()}},t.prototype.load=function(t){this.loadURL(this.gifImgElement.src,t)},t}(),ott=V9.SuperGif=itt;const att={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"},{type:"checkbox",label:"play",name:"play"}],"value-property":"src",help:"scene/component/gif-view"};class stt extends X9{async oncreate_element(t){var{src:e,play:r}=this.state;this.onchangesrc(e),this.onchangeplay(r)}buildImg(){var t=this.element;t.innerHTML="";var e=document.createElement("img");return e.style.width="100%",e.style.height="100%",t.appendChild(e),e}onchange(t,e){super.onchange(t,e),"src"in t&&this.onchangesrc(t.src),"play"in t&&this.onchangeplay(t.play)}setElementProperties(t){}onchangeplay(t){var e=this._superGif;e&&e.isReady()&&(t?e.play():e.pause())}onchangesrc(t){var e=this.buildImg();t||(t="data:image/gif;base64,R0lGODlhYABIAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKio+Pj5iYmKCgoKampqurq66urrCwsLGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrOzs7S0tLa2tre3t7m5ubu7u7+/v8DAwMHBwcPDw8XFxcfHx8vLy8/Pz9LS0tXV1dfX193d3eTk5Onp6fj4+Pz8/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////yH5BAkAAPUAIf47R2VuZXJhdGVkIGJ5IGpzZ2lmIChodHRwczovL2dpdGh1Yi5jb20vYW50aW1hdHRlcjE1L2pzZ2lmLykALAAAAABgAEgAAAj+AGcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmR9VKqXMmypcuXMGPKnJkSIs2bOHPqZGlzp8+fQOv1DEq0KMyhRpMmRaq0KVCmTqPmhCq1qkyqLrFRSyYwGTVsVo1iZXmNa8Fk18ISHasSm1mDycCq/ck2JTWF1ObSfTjz7cFken3WFbow8M7BDA3rHOwXruKpfGXeTZg3qDVrUge7RRg3KLZjx+Q2HVyvLNy0QaMJjBaVdD2tZr2K/mmNIObRkR+n9AsYt0Pddg1WXppb8bWDx1CLLW74GcJnSl3TtDY8Zu2Et4tKl7n52eyWnxXvhl7+26jqrspbnlfIWjtz2gWPZV95neH8veU9NxZYfbfD3kFt99J6Bnmn0mQO9XfYezrVxxlmx0GUXIAM4hSeffsxBN1TFd5E4Ef3QZbfTg6CNJ5gHXJ3TEntLThiTh+KFCJNAqZU4kgAitjQTheepOBMNcZI0oQ6JpbTjSZtiNN2PZ400IxHpdiSc07G911M0iFZZYtAStnWilUeBGVLrlEZpmM0elmPlmfO8iOZXl4DZpsGEYmll2bSWWCXLwJXVY1+urhjoGEBSuiSah6K36CKtpZoo4s9CimielZq6aWYZqrpppx26umnoIZ6UkAAOw=="),e.src=t,e.setAttribute("rel:animated_src",t),e.setAttribute("rel:auto_play",0),this._superGif=new ott(e,{autoPlay:!1}),this._superGif.init();for(const t of this.element.children)t.style.width="100%",t.style.height="100%";var r=this._superGif.getCanvas();r.style.width="100%",r.style.height="100%",this._superGif.load((()=>{setTimeout((()=>{this._superGif.moveTo(0),this.play&&this._superGif.play()}),100)}))}ondropfile(t,e){for(let r=0;r<t.length;r++)if(/\.gif$/.test(t[r].name))return void(this.src=e[r])}get src(){return this.getState("src")}set src(t){this.set("src",t)}get play(){return this.getState("play")}set play(t){this.setState("play",t)}get nature(){return att}get tagName(){return"div"}}g6.register("gif-view",stt);const ctt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"},{type:"checkbox",label:"started",name:"started"},{type:"checkbox",label:"loop",name:"loop"}],"value-property":"src",help:"scene/component/audio"};class utt extends(y6(v6)){static get image(){return utt.IMAGE||(utt.IMAGE=new Image,utt.IMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAMAAAC3Ycb+AAAAP1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzJYIvAAAAFHRSTlMA8BAwgNBgQKB/wCBwUJDg37CvXyUlBK8AABFYSURBVHja7NsBkqIwFIThTiAQgyBq3/+sm6p1tnamZkaTMhJJf1f4S/JeEIiIiIiIiIiIiIiIiEhD7Hg4BH84TpAKjJ4f3NFCtjVd+InXz2RTs+FXlxGylYHfcVfIJmb+YFWSLUyGVJKKBJJKUo+Rd6w63l/qzLuCkryO5fe0l2xk5mMWbe+v0fNBRqf7S3je6CipQ2ACr+dWcYEpzBFS1plpguatsnomMgdIQSOTuQ5SjmE6/UgK8szgdJIUM/FG41YlFmYJ2kkKsY5ZzAwBurHDk3WGeRY0bvYrGa1+rqNI22f7dS32ZnUK1GMr0eSK3mEc9dhKMxp+ZTo8kT2emOXS5LQ1kCxbJBocSd2k5PaIjMVzjWcdJPk9ooBnmzx1t5XbIxqBKpJ4NGTgzwKiGpK4do72gb+ZUMIYtCPm9WCPMsYTE5k2hq2ZvzujlCE1iRmwf3dvmRyKsT0T7b9I7HEPCpqCiqT2IIqaT1pI0noQZdlFC8l/PbYPAnRORT56VBEE6FXkb49agmByKhJ71BME6FsvEntUFQTdqekisUdlQWCXhovEHtUFAWbTapHYo8YgmFybO3vsUWcQYGmxSOxRbRAMprkisUfFQVKmrX18sxt7VB0ENjT1xir2qDxIwkFi3v89e+xRfxAMzfzzIfZ4hyAYDR9zwVuLPd4jCDrTwoLYGb5LEFi3/+E3rweR6urX20c/Fvls2Pvwm9mDSGIPhv8YPyGf3/eo9Ye7O8B2FIShAAooakEttex/rbODad5/yTHIAjqn505IQPv+Xz06dz+4VXORHEZcgAcB8updM8F6e25jBzwIkE07l+x8amMnPDp6nsNJ+BoZ7Q6F8egqAda9VEuRNlZjBzwYkMskdXR73okd8GBAJiKYjBcZKKqG9OiKDbgdfxJ5VhsBPDiQZhaouD3p4hfw4EAmwxisz3MSHwAPEmQ1TB1N+SmXWoAHC7JbZsWl/IxLLcCDBplNo3lrfMLsmwAPGmShAxX5/1vOEzjEz3iyfQ/hI36W4TctsUesOAifPdrQg8M++KYl95iCBkjI1r8634betBAPHZDTPFAmD3zLiHgogVTziMsahz0eIh5aIGHGRSJ2mFtHPR4iHhQIP2UvWGMf8wk74qEIEib7rLjPiBfxiAcCwp8V+Nae3uMdRhAPDIR/J5f/Q2DTcC+hIB7qIGEq3Ti9bx+sryMeAAgS70OK8G2kBD8L8QBAoLWU3g3vUVIc6D0txAMAsY+4jBWowXHO64gHBGKfYJ2T5qY1BxcL98BB+PQ+XiS9xxh9EQ8ChA6C5UXWIUoE9MBB8LVHQoS7ib8/dRn3sAcJ6bQRSdH96RDxIEH4QEX+AHF4LxHEAwUh12xyr1V8lwjiQYDYF8kuf1jluUQQDwrEvkhW8Wc6LhHUgwfhi4QPlHm7LRHawx4kpE191Dq8lgjhAYDQa1cftYrPEiE8OJDb40uqyzdQCA8WhAzL4G/PT4c3WrgHD2IfllGl53V37zsgHg5ApPNvVvq4Fn4spx4oiH1W3CwtEV+PDhEPJyBSkVX4aa7emkM83ICEKWpGM7wdvYCCeDgCEYpcwhLxczhEPFyBCEUWnRL5T6X59SBASBF+9l28TL5F7uEORCZyCUvEx+S7yT0cgoRVb9JaXLR1qUdfgksQ0fTbgmhFB20d8HAKEha14+F8f1sHPNyCiL6EqK+n20/rgIdjkFC0Ho1s6Gndvcc9ICkr/ey8/rHO6vp9KawL8DAFOV6l9Fyub7IbflsCag1qRfVsXWvxHjxIejU+BHZV6uvHD1XiEb++Bw8i+dNd+Wv0eCQmhcPhRPwUUt2DB5G1sfa1aeyzAuyJj9x2HjyIdKzIKw5SI14ieFtvo3kIQERj3lVhkUOnRD7AnjV5369QkAOJZeCH+Jh41xOLs73dQwAifY6dpxCCbjTDzLf1Bm1Y93tAIDOWXcLPvrHyr2hVoEAceEAgDQzB4jetk0/c2OXRHB48EJCpa4dgpYh2ETxtrshz7zx4ICCzfuTSDn8p/EOS9OTjwgMB+cABP3yWYuOPIofs33LigYCULlpZNXJppVU30Vf14kGAUCLijf1D71lN9FW9eFiA9KgZ8FPpPUsSnufGA+8hvAg2Kpz0nrX//qp+PIgpC3i6xJRITOye9fn1VT15ICCrVlQG5rywo0H8x965bVkNwmCYQ2kR6Gmb939WXV65dFnI/tPdjPBfO7XMN4EkTUJtqZp4sCJ1+8jwkhMu0KpMxFXFA8hlVfQSMxGH5mDK1VKV8QCyvTVtUiYyo7V358VStfGoAEFMhGYhEwloxZy9WKo2Hjwg5iSOvFDXeUYd33+PuVfHgwnEBWLocDJp+IIa2fyvperjwQRiXCKGosyXqoA+YfsIELuYu4HAt+msMknfDK4jfQJIzOZ2IPAQWJtFOhQKivR2IDZ6Awis7V0iLxqBI7uEZo19dakTogLSwKvf8yk8Jq6CGK0GKvWlatG7b7kkUU/Lo1gdXWn7/4E0j0qeJDpqN/ABqQcgJgdqURb4chjQktIugDS6wFFiz3JgaJj7AGJmholAe9YKhoZLJ0Ca6smjwJ4VwVN96gVIE5GM71kHaGKxGyAtRDaB2NBhLVmpHyANRKzDO28W7FS3HQFpaIWa8TrfCXQwegJSL5k+8M9UJ+pm9QTEnCIZrR0MDQeQ9ua0iCcYQaBTV0CqNXQW/yiyYG7W1heQanPaCkciBXuH1BkQJzHcDQxmpgGkPatl4WkbCXO/bW9AqlNg4H0PPMi6A1IxkQmOZ8D0ousNSMVEEuyreTAQ6Q7IRJeCX2YZQHhv6SrBOmpkM+YUzN0BqSRQCupmTeCP9wdkhiOREwtEzgGEsWcF9BhK9R8fQDiN7A8DiR0CKXQlj/q9IM8OgXjIzcKBlAHkD6FulgNzJwPIHwpo8mQAkX3LiPq9dKUMAQk9AqmcqmjuBAJCPQIpA4guIAsKJA0gnwNy3A4kDyBIHCEPxAwgf8gPILqA5AFEF5CxZX0lIHYc6rqADLf380BmFMgxgIzUyf8MJKLTRelKHgKy9wgkjfS7LiA0gKgC8vQn3HUA4RQ5LKPIAQciWbqIEg0YkLNDIHYUyqkCsmKN5vg3+W0AYTRATaPY+uu1IwS6UMGAlO6AFPjSCQMStaNh53cdcPG7Hx1Uupo+rx+Bltn1BuTAj5BptEV/bHAAwbnJMICwRmtUDOSEA8s4Rmtw3nITGD6TwUNoG0Ca7xi2YKSPj2eKXQFxQWKA2QbGMWEMMGseOb7C7T47uJS1JyAzVbTjqZdU3zbHzMXWS+qp4Fgn8Ahy/QCRGqQcwU1vGnN7fylboWn8Bzg//hyjxltvdcl45bwFfYKzFyBy11UU9BnjuoqfWizVlQXulpzBTNbaB5Aid+VRrkBFB630AMS9BC8FK2ggE7u/FGy1kvfcB9TKQufX5uUXNWl3EjvWCi4k/u9A3Ddq1CpTIQGe6VN1qd8ArcvDQNw3S41Kn6qQmOq5e7pRr+8fAYLiIJtFrrvYRMYL0q06vj8EZLXUriJzRY8H1xEagOCK7gkghRg6RQYO0I6aWPwIEAru80AiMWSdzAeuDXUKyr+WqpAID8hMHC1Ct8F4mUsQ6W8pJMICki0JHCBczAFdBl38G3VE6ErQhhWlih4LWrCSLpaqjggHiGe9mVjRY0YPoelyqcqIcIDEe97rqJFFH7FcLlUZEQ6Qg5plvZiBFNhtri1VFREGEC/Eg4nZoU5vqi1VFREGkIXDQ8xAIhzoT/WlKiLCAFIYPOQMxOPdjfWlKiLCADJRm3YGj+pDE2xktmmpaogwgMz8d8GrumZ4xzpbvinqISJ+hiTWm7wEqoJdI9JEV9JChAEkS3xCZzKecLcgN6YwlRBhAGmweTsblg6qKMM7Vmh321UQ4QAp1VfwhqVJIh+Wm03W0qV0EOEAybXtivkCmWrKeH2EZ/xBaSBCV2L9Re+LYSqJJIxDu1ew07U0EGEBcTtmHty4JuPtQhvLh1BAhK7Uvvq0GK484QZST0GvvFDqeSJ1IA0r2mfDljvqBoJ//rVsq7yZCA6kXgVkJ2f4ijIGMjOfMVsCBBORB2Jy+sM6ijNvaBUqmw/cStZ8EiKciHwp6Rp++88qmxXQeTUxDiJWJ9wSISvBicgXW+dypn1PqWTznlwgwdZdfiLHr5OELEAEASKvJFRE5JCPKbh8OxHdQKJU0crEzRXrJ/IEkFms6tGyrUw9kQeALFRXvK2iSzsRAAi6BLxM+60xdsqJAEBuXMAMxDLVp+gmAgC57/UT4qvVj3TVRCAgSAYL91aXtyNLzUQAIFhAiP8m0/NHOp+ILiBtPFKrs6bgSOcT0QTEB8nO3QR1yKslggKRf+m11UB0HOl8IlqAeCvauXuo8HnfIqIDyCw6G8XMcGiplMingMzCnbuHFp/3LSLPA4nUpqm5YkWNzwsQeQxIDsKjH5wVSU5qJPIJIIt4jjpqNBAekQeBfJOeHWS81FQoo4/I7UDcS3wUh0liTzLqiEgDqddx4ZHDrNZAACIAEMw88HPYWb0GAhABgEDmgf9Vb5oNBCByOxD3uqWYbCHVBgIQuRlIsbfwMEG5gQBE7gSyHMDsOayrxJvHBRC5B0hOxJH1nK4SlUE6QOR+IG6ju3iYQEqDdIDIzUDyZu/jMRHpS/OiRG4FkiPRfTw8kbrvIAJEACAIDpyHC1/GQHhEbgKSXwTyqIeEur6kixEBgABHOTr7YSX1MSFAhA0E307wUU76Y0KACAsI/tvCRzkF+iIuL0AEAYLbR2QOfvhKJ/obRESBxNt5rPSFXN4f7dyNdqMgEIbhAXWwJErT/e7/Wreb5HTT07QVgWSAeW5g7b4n8qOSUCRPEId4HP93SXp5dDNGRJFcQTxihSH+NW1Bb1cXKpIryJAwnG/zhl8ZcSP6jiKZghwRaaWLnP/AkcSKKJIniEcUs8QfjFLdEmRvkSxB4lfn0QN6DY+lshQpHiT96Dlr6r5hxRUpHST9ZEY71X7DOmOZQVZLsd5Q8wzrPxYYJDiKNqOBG1ZCkZKzrNXu6lHvkjChSFqQsdTPg45ApXtYaUXKr9TNuPcvqO2pVMkitFXAL2a79/qr3HQvVSTXUtofCl79RDXh5CDpw3pwu6+9kRlvtiI5VtPhmHLltT4EKVQkfb8pcOHrXqk6nBAksUjgpKtuYsskaxGKYT0+84uYgziE4YQgMdx0m8PRfis2MbL33PMXoVjD6PEunI4HSjDjStiJP08vQk9hZzQ7oH/geoLYCUBDW4rf4FqCDFt7THUO6B+4jiDn2XNTW7zf4hqCMND4BOsGyw+yAmh0x+QeFh7EeqD5Ce8nLDrI8NpbDyIWHIQNruo4GyAPlhrEzuixBxHLDDJMnfYgYolBricHNfjIdgMWF+Qyu+pkgX4HCwuymL57ELGkIHZG7z2IWE6Q5VV7vGMhQewbtMcZiwhyHj26ne9+xs8PcvDQHnFFqCD7Au0RW4TK+fOKqw4eoOcqYqgU53HR3/5uShFPCfKey9hFDyJO/vAi7RDZnp7X5igyUH72xSDW1E2Pn4tMRCQgR8vLwbgii4gcmLvqQcSPGtIPX3M08wn6I4qYQ94cM/Yw9Xxhmw+X/59wHrtMlX1AmIkzdyaaAnLg1Nnw8WGYSk40X/BOh4+El6LMSBnN2Cd0tPq4w/LJXGrMbCX06PZ2dcM65yzlNertShSHf3SzRAyPM332IcSAHUKPi8EHmXU0l8Uglmni0yipDoi16s+jJKejhywLooz68yiMEcHr2qM4h81CJ++VPJfTu5UwBpv4Pp9DJSi6MJx0bvUwiw4ewgT8zNR0LHUL+OccOpY/3ElzyGKD5pBlMJpDlsOkMythRoNbXh95PJsdA67MrMtAEYbjeDqNo+7oKqWUUkoppZRSSimllFJKFfMXp4vmSjB8n6sAAAAASUVORK5CYII="),utt.IMAGE}dispose(){super.dispose(),this.started=!1,delete this._audio}ready(){super.ready(),this._audio=new Audio,this._audio.addEventListener("canplay",(()=>{this.started&&this._audio.play()}));var{src:t="",loop:e=!1,started:r=!1}=this.state;this.onchangeSrc(t),this.onchangeLoop(e),this.onchangeStarted(r)}render(t){var{left:e,top:r,width:n,height:i,src:o}=this.state;t.beginPath(),this.drawImage(t,utt.image,e,r,n,i)}get nature(){return ctt}get hasTextProperty(){return!1}get src(){return this.get("src")}set src(t){this.set("src",t)}get started(){return!!this.get("started")}set started(t){this.set("started",t)}start(){this._audio&&(this._audio.classList.add("active"),this._audio.play())}pause(){this._audio&&(this._audio.classList.remove("active"),this._audio.pause())}onchangeSrc(t){try{"data"!==String(t).substring(0,4)?this._audio.crossOrigin="use-credentials":this._audio.crossOrigin=null,this._audio.src="string"==typeof t?this.app.url(t):t}catch(t){return void console.error(t)}}onchangeStarted(t){const e=this._audio;t?4==e.readyState&&e.play():e.pause()}onchangeLoop(t){this._audio.loop=t}onchange(t,e){"src"in t&&this.onchangeSrc(t.src),"started"in t&&this.onchangeStarted(t.started),"loop"in t&&this.onchangeLoop(t.loop)}ondblclick(t){this.started=!this.started}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("audio/"))return void(this.src=e[r])}}g6.register("audio",utt);class ltt extends(y6(g6)){is3dish(){return!0}}g6.register("text",ltt);const htt=["refid","left","top","width","height","rotation","animation"];class ftt extends b9{isGroup(){return!0}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r=htt.reduce(((e,r)=>(t.hasOwnProperty(r)&&(e[r]=t[r]),e)),{});return super.set(r)}capture(t,e,r){var n=super.capture(t,e,r);if(n!==this)return n}set bounds(t){if(this.__MUTATING__)super.bounds=t;else{var e=this.bounds,r=t.width/e.width,n=t.height/e.height;this.path=this.path.map((i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n}))),this.components&&this.components.forEach((t=>{if(t.mutable)t.mutatePath(null,(function(t){return t.map((function(t){return{x:t.x*r,y:t.y*n}}))}));else{let e=t.bounds,i=t.center,o={x:i.x*(1-r),y:i.y*(1-n)},a=e.width*(1-r),s=e.height*(1-n),c=-(o.x-a/2),u=-(o.y-s/2);t.bounds={left:e.left+c,top:e.top+u,width:e.width*r,height:e.height*n}}}))}}get focusible(){return!1}get bounds(){return super.bounds}get hasTextProperty(){return!1}calculateBounds(){this.clearCache(),this.__MUTATING__=!0,this.mutateBounds((function(t){var e=g6.union(this.components.map((t=>t.bounds)));return this.components.forEach((t=>{let r=t.bounds;t.bounds={left:r.left-e.left,top:r.top-e.top,width:r.width,height:r.height}})),{left:t.left+e.left,top:t.top+e.top,width:e.width,height:e.height}}),this),this.__MUTATING__=!1,this.parent.isGroup()&&this.parent.calculateBounds()}render(t){}postrender(t){var{top:e,left:r,scale:n}=this.state;t.translate(r,e),this.layout.drawables(this).forEach((e=>{e.draw(t)})),t.translate(-r,-e)}}g6.register("group",ftt);const ptt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"id-input",label:"ref",name:"ref"},{type:"select",label:"fit",name:"fit",property:{options:["both","ratio"]}}],"value-property":"ref",help:"scene/component/local-ref"};class dtt extends(y6(v6)){get ref(){var t=this.getState("ref");return t&&"string"==typeof t?this.root.findById(t):null}set ref(t){this.setState("ref",t)}get refScale(){let t=this.ref.bounds,e=this.bounds,r=e.width/t.width,n=e.height/t.height;return"both"===this.model.fit?{x:r,y:n}:{x:Math.min(r,n),y:Math.min(r,n)}}draw(t){this._drawing||(this._drawing=!0,super.draw(t),this._drawing=!1)}prerender(t){if(super.prerender(t),this.ref){let e=this.ref.center,r=this.center,n=this.refScale;t.translate(r.x,r.y),t.scale(n.x,n.y),t.translate(-e.x,-e.y)}}postrender(t){if(this.ref)return this.ref.postrender(t);super.postrender(t)}render(t){if(this.ref)return this.ref.render(t);this.state;var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i)}get nature(){return ptt}get hasTextProperty(){return!1}}g6.memoize(dtt.prototype,"ref",!1),g6.memoize(dtt.prototype,"refScale",!1),g6.register("local-ref",dtt);class gtt extends(g9(N6)){render(t){}get layout(){return _6.get(this.get("layout"))||k6}}const vtt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"scene-number",name:"ref",placeholder:"SCENE-1"},{type:"select",label:"fit",name:"fit",property:{options:["both","ratio"]}},{type:"select",label:"mode",name:"mode",property:{options:["view","interaction"]}}],"value-property":"ref",help:"scene/component/global-ref"};class ytt extends gtt{dispose(){this._releaseRef(),super.dispose()}get nature(){return vtt}get hasTextProperty(){return!1}get tagName(){return"div"}setElementProperties(t){var{mode:e="view"}=this.state;t.style.pointerEvents="view"==e?"none":"inherit"}ready(){super.ready(),this.fetchRef()}reposition(){if(!this.element)return;super.reposition();let t=this._element_bounds,{offsetWidth:e,offsetHeight:r}=this.element;if(this._element_bounds={offsetWidth:e,offsetHeight:r},(!t||t.offsetWidth!=e||t.offsetHeight!=r)&&this.ref&&this.root.target_element){let{fit:t="ratio"}=this.state;this.ref.fit(t)}}async fetchRef(){this._releaseRef();var{ref:t,fit:e="ratio"}=this.state;if(t){var r=this.app.refProvider;if(r&&t)try{this.__ref=await r.get(t,!0),this.__ref.target=this.element,this.__ref.fit(e),this.__ref.data=this.data}catch(t){X4(t)}}}get ref(){return this.__ref}set ref(t){this.setState("ref",t)}_releaseRef(){this.__ref&&this.__ref.release&&this.__ref.release(),delete this.__ref}onchange(t,e,r){super.onchange(t,e,r),"ref"in t&&this.fetchRef(),"fit"in t&&this.ref&&requestAnimationFrame((()=>{let{fit:t}=this.state;this.ref.fit(t)})),"data"in t&&this.ref&&requestAnimationFrame((()=>{this.ref.data=t.data}))}}g6.register("global-ref",ytt);const mtt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"board",name:"board"},{type:"checkbox",label:"modal",name:"modal"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"show",name:"show"},{type:"select",label:"location",name:"location",property:{options:["center","left-top","right-top","left-bottom","right-bottom","auto"]}},{type:"data",label:"value",name:"value"}],help:"scene/component/popup"};class btt extends(y6(v6)){static get image(){return btt._image||(btt._image=new Image,btt._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC"),btt._image}ready(){super.ready(),this.show&&this.onchangeShow(!0)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,btt.image,e,r,n,i)}onchange(t,e){"value"in t?this.show?this.onchangeShow(!0):this.show=!0:"show"in t&&this.onchangeShow(this.show)}onchangeShow(t){!this.app.isEditMode&&this.getState("board")&&(t?T6.show(this,this.board,{location:this.getState("location"),modal:this.getState("modal"),closable:this.getState("closable")||!1,data:this.value}):T6.hide(this))}get board(){return this.getState("board")}set board(t){this.set("board",t)}get show(){return this.getState("show")}set show(t){this.setState("show",t)}get started(){return this.getState("show")}set started(t){this.setState("show",t)}get value(){return this.getState("value")}set value(t){this.setState("value",t)}get hasTextProperty(){return!1}get nature(){return mtt}}g6.register("popup",btt);class xtt extends g6{render(t){var{path:e=[]}=this.state;if(!(e.length<=1)){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(let r=1;r<e.length;r++)t.lineTo(e[r].x,e[r].y);t.closePath(),this.drawStroke(t)}}get path(){return this.model.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach(((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,u=r[a].x,l=r[a].y;c>e!=l>e&&t<(u-s)*(e-c)/(l-c)+s&&(n=!n)})),n}}g6.register("path",xtt);const wtt={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/triangle"};class Att extends v6{contains(t,e){var{x1:r,y1:n,x2:i,y2:o,x3:a,y3:s}=this.state,c=[r,n,i,o,a,s],u=!1;for(let r=0;r<c.length;r+=2){let n=(r+2)%c.length,i=c[r],o=c[r+1],a=c[n+1];o>e!=a>e&&t<(c[n]-i)*(e-o)/(a-o)+i&&(u=!u)}return u}get mutable(){return!0}get path(){var{x1:t,y1:e,x2:r,y2:n,x3:i,y3:o}=this.state;return[{x:t,y:e},{x:r,y:n},{x:i,y:o}]}set path(t){this.set({x1:t[0].x,y1:t[0].y,x2:t[1].x,y2:t[1].y,x3:t[2].x,y3:t[2].y})}get nature(){return wtt}}g6.memoize(Att.prototype,"path",!1),g6.register("triangle",Att);const _tt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"}],help:"scene/component/donut"};var ktt={ondragmove:function(t,e,r){r.controls;var{cx:n,rx:i}=r.model;i=Math.abs(i);var o=(r.transcoordP2S(t.x,t.y).x-n)/i*100;o=o>=100||o<=-100?100:Math.abs(o),r.set({ratio:o})}};class Ett extends D9{is3dish(){return!1}render(t){var{ratio:e=50,cx:r,cy:n,rx:i,ry:o,startAngle:a,endAngle:s,anticlockwise:c}=this.state;i=Math.abs(i),o=Math.abs(o),t.beginPath(),t.ellipse(r,n,i,o,0,a||0,s||2*Math.PI,c),t.moveTo(r+i/100*e,n),t.ellipse(r,n,i/100*e,o/100*e,0,a||0,s||2*Math.PI,!0)}contains(t,e){var{cx:r,cy:n,rx:i,ry:o,ratio:a}=this.state,s=(t-r)/(2*(i=Math.abs(i))-.5),c=(e-n)/(2*(o=Math.abs(o))-.5),u=(t-r)/(i/100*a*2-.5),l=(e-n)/(o/100*a*2-.5),h=!1;return s*s+c*c<.25&&u*u+l*l>.25&&(h=!h),h}get controls(){var{cx:t,cy:e,rx:r,ratio:n}=this.state;return[{x:t+(r=Math.abs(r))/100*n,y:e,handler:ktt}]}get nature(){return _tt}}g6.memoize(Ett.prototype,"controls",!1),g6.register("donut",Ett);const Stt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"},{type:"number",label:"wing",name:"wing",property:"wing"}],help:"scene/component/star"};var Mtt={ondragmove:function(t,e,r){r.controls;var{cy:n,ry:i}=r.model,o=(r.transcoordP2S(t.x,t.y).y-n)/i*100+100;o>=100?o=100:o<=0&&(o=0),r.set({ratio:o})}};class Ttt extends D9{is3dish(){return!1}render(t){var{ratio:e=30,wing:r=5,cx:n,cy:i,rx:o,ry:a,startAngle:s,endAngle:c,anticlockwise:u}=this.state;if(r<3)return;const l=1.5707963267948966;var h=2*Math.PI/r,f=o-e/100*o,p=a-e/100*a;t.save(),t.beginPath(),t.translate(n,i),t.moveTo(o*Math.cos(-l),a*Math.sin(-l)),t.lineTo((o-f)*(Math.cos(h-l)+Math.cos(0-l))/2,(a-p)*(Math.sin(h-l)+Math.sin(0-l))/2);for(var d=1;d<r;d++)t.lineTo(o*Math.cos(h*d-l),a*Math.sin(h*d-l)),t.lineTo((o-f)*(Math.cos(h*(d+1)-l)+Math.cos(h*d-l))/2,(a-p)*(Math.sin(h*(d+1)-l)+Math.sin(h*d-l))/2);t.closePath(),t.restore()}get controls(){var{cx:t,cy:e,ry:r,ratio:n}=this.state;return[{x:t,y:e-r+r*(n/100),handler:Mtt}]}get nature(){return Stt}}g6.memoize(Ttt.prototype,"controls",!1),g6.register("star",Ttt);var Ptt=t=>class extends t{animOnValueChange(t,e=!1,r){if(t!=this._lastValue){if(e)var n=t-(Number(r)||0);else n=t-(this._lastValue||0);this._lastValue=t,this._anim_alpha=-n,this.animate({step:t=>{this._anim_alpha=n*(t-1),this.invalidate()},duration:1e3,delta:"circ",options:{x:1},ease:"out"}).start()}}dispose(){super.dispose(),delete this._value_substitutor}onchange(t,e){t.hasOwnProperty("value")&&delete this._value_substitutor}get animAlpha(){return this._anim_alpha||0}get animValue(){return(this._lastValue||0)+(this._anim_alpha||0)}defaultValueSubstitutor(){return this.getState("value")}get valueSubstitutor(){return this._value_substitutor||(this._value_substitutor=i6(this.getState("value"),this)||this.defaultValueSubstitutor),this._value_substitutor}get value(){return Number(this.valueSubstitutor())||0}set value(t){delete this._value_substitutor,this.setState("value",Number(L4(t)))}},Ott=t=>class extends t{_convertDataFormat(t,e){var r;if("json"===e)r=JSON.parse(t);else r=t;return r}isDataSource(){return!0}},Itt=new WeakSet;class Rtt{static get residents(){return Itt}constructor(t,e){this.counters={},this.references={},this.creator=t,this.disposer=e,Itt.add(this)}dispose(){if(this.disposer)for(let t in this.references)this.disposer.call(null,t,this.references[t]);delete this.references,delete this.counters}get ids(){return Object.keys(this.references)}create(t){var e=this;return new Promise((function(r,n){e.creator?e.creator.call(null,t,(function(e){!function(e){e.release=function(){this.disposer&&this.disposer.call(null,t,e),delete e.release,Q4("RELEASED",t)},r(e)}(e)}),(function(t){n(t)})):n(Error("Reference id("+t+") could not be created. Reference creator should be defined."))}))}add(t,e){var r=this,n=new Promise((function(n,i){var o=r.references[t];if(o)o===e?i(Error("Reference ID and target duplicate")):e?i(Error("Reference ID duplicate")):n(o);else{function a(e){e.release=function(){r.release(this)},r.references[t]=e,r.counters[t]=1,n(e)}if(e)a(e);else{if(!r.creator)return void i(Error("Reference id("+t+") is not allowed. Reference creator should be defined."));r.creator.call(null,t,(function(t){a(t)}),(function(t){i(t)}))}}}));return this.references[t]||(this.references[t]=n),n}async get(t,e){var r=this.references[t];if(r){if(!(r instanceof Promise)){if(!(t in this.counters))throw new Error("No Reference Count");return this.counters[t]++,r}if(e)return r=await r,this.counters[t]++,r}if(e)return await this.add(t);throw new Error("No References for "+t)}_id(t){for(let e in this.references){if(this.references[e]===t)return e}return-1}release(t){var e=this._id(t),r=this.references[e];r?(this.counters[e]--,0==this.counters[e]&&(this.disposer&&this.disposer.call(null,e,r),delete this.references[e],delete this.counters[e],delete t.release,Q4("RELEASED",e))):X4("No Referenced ID")}}var Ctt={},jtt={},Ltt=[];function Dtt(t){var e="SCRIPT"==t.target.tagName?Ctt:jtt,r=t.target.src||t.target.href;e[r]=!0,Ltt.forEach(((t,n)=>{let{resolve:i,scripts:o,styles:a}=t;if(e==Ctt){let t=o.indexOf(r);t>-1&&t<o.length-1&&Ftt(o[t+1])}for(let t=0;t<o.length;t++)if(!Ctt[o[t]])return;if(a)for(let t=0;t<a.length;t++)if(!jtt[a[t]])return;i(),Ltt[n]=null})),Ltt=Ltt.filter(Boolean)}function ztt(t){var e=t.target.src,r="SCRIPT"==t.target.tagName?Ctt:jtt;Ltt.forEach(((n,i)=>{let{reject:o,scripts:a,styles:s}=n,c=!1;if(r===Ctt){for(let t=0;t<a.length;t++)if(a[t]==e){c=!0;break}}else if(s)for(let t=0;t<s.length;t++)if(s[t]==e){c=!0;break}c&&(o(t),Ltt[i]=null)})),Ltt=Ltt.filter(Boolean),delete r[e],document.head.removeChild(t.target)}function Ftt(t){Ctt[t]=!1;var e=document.createElement("script");e.onload=Dtt,e.onerror=ztt,e.type="text/javascript",e.src=t,document.head.appendChild(e)}class Btt{static load(t,e){return"string"==typeof t&&(t=[t]),"string"==typeof e&&(e=[e]),new Promise((function(r,n){if((!t||t instanceof Array)&&(!e||e instanceof Array)){var i,o=!0;if(e&&e.forEach((t=>{jtt.hasOwnProperty(t)||function(t){jtt[t]=!1;var e=document.createElement("link");e.onload=Dtt,e.onerror=ztt,e.type="text/css",e.rel="stylesheet",e.media="screen,print",e.href=t,document.head.appendChild(e)}(t),jtt[t]||(o=!1)})),t&&t.length>0&&t.forEach((t=>{Ctt.hasOwnProperty(t)?Ctt[t]||(o=!1):i=i||t})),i)Ftt(i);else if(o)return void r();Ltt.push({resolve:r,reject:n,scripts:t,styles:e})}else n("invalid sources for load")}))}}const Ntt="0.0.0";var Utt=0,Gtt=performance.now(),Ytt=0;function Htt(){return Utt}requestAnimationFrame((function t(){requestAnimationFrame(t),Ytt++;var e=performance.now(),r=e-Gtt;r<1e3||(Utt=Math.round(1e3*Ytt/r),Gtt=e,Ytt=0)}));var Wtt=O8;function qtt(){}export{P6 as AbsoluteLayout,utt as AudioPlayer,I6 as CardLayout,g6 as Component,X6 as Connectable,b9 as Container,N6 as ContainerAbstract,s5 as DEFAULT,i5 as DPPX,Ott as DataSource,Ett as Donut,D9 as Ellipse,Y7 as EventMap,Htt as FPS,o5 as GESTURES,stt as GifView,ytt as GlobalRef,ftt as Group,k6 as HTMLAbsoluteLayout,gtt as HTMLOverlayContainer,X9 as HTMLOverlayElement,q9 as ImageView,w6 as InfoWindow,a5 as KEYEVENTS,U6 as Layer,_6 as Layout,j9 as Line,C6 as LinearHorizontalLayout,L6 as LinearVerticalLayout,dtt as LocalRef,n5 as MAX_UNDO_SIZE,e5 as MODE_ADD,$4 as MODE_EDIT,t5 as MODE_SHIFT,Z4 as MODE_VIEW,Wtt as Model,F6 as MoveHandle,J4 as NOTHING,H9 as OrthoLine,xtt as Path,B9 as Polygon,G9 as Polyline,btt as Popup,J6 as Rect,y6 as RectPath,Rtt as ReferenceMap,Z7 as RootContainer,$6 as Ruler,r5 as SCENE_MODE,h9 as Scene,T6 as ScenePopup,Btt as ScriptLoader,v6 as Shape,Ttt as Star,D6 as TableLayout,ltt as Text,Att as Triangle,Ptt as ValueHolder,p9 as create,Q4 as debug,X4 as error,qtt as license,M$ as polyfill,Ntt as version,V4 as warn};console.log("@hatiolab/things-scene@3.3.16 is loaded");
|
|
6
|
+
l=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(t,e,r,i){var o=e&&e.prototype instanceof d?e:d,a=Object.create(o.prototype),s=new M(i||[]);return n(a,"_invoke",{value:_(t,r,s)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function d(){}function g(){}function v(){}var y={};c(y,o,(function(){return this}));var m=Object.getPrototypeOf,b=m&&m(m(T([])));b&&b!==e&&r.call(b,o)&&(y=b);var x=v.prototype=d.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function i(n,o,a,s){var c=f(t[n],t,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==h(l)&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(l).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(c.arg)}var o;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){i(t,r,e,n)}))}return o=o?o.then(n,n):n()}})}function _(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=k(a,r);if(s){if(s===p)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,k(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=f(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,p;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function T(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:P}}function P(){return{value:void 0,done:!0}}return g.prototype=v,n(x,"constructor",{value:v,configurable:!0}),n(v,"constructor",{value:g,configurable:!0}),g.displayName=c(v,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,c(t,s,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},w(A.prototype),c(A.prototype,a,(function(){return this})),t.AsyncIterator=A,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new A(u(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(x),c(x,s,"Generator"),c(x,o,(function(){return this})),c(x,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=T,M.prototype={constructor:M,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:T(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function h(t){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h(t)}function f(t,e,r,n,i,o,a){try{var s=t[o](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,i)}function p(t){return function(){var e=this,r=arguments;return new Promise((function(n,i){var o=t.apply(e,r);function a(t){f(o,n,i,a,s,"next",t)}function s(t){f(o,n,i,a,s,"throw",t)}a(void 0)}))}}var d=t("./datetime"),g=t("./functions"),v=t("./utils"),y=t("./parser"),m=t("./signature"),b=function(){var t=v.isNumeric,e=v.isArrayOfStrings,r=v.isArrayOfNumbers,i=v.createSequence,o=v.isSequence,a=v.isFunction,c=v.isLambda,u=v.isIterable,f=v.isPromise,b=v.getFunctionArity,x=v.isDeepEqual,w=Ft(null);function A(t,e,r){return _.apply(this,arguments)}function _(){return(_=p(l().mark((function t(e,r,n){var i,a,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(a=n.lookup("__evaluate_entry"))){t.next=4;break}return t.next=4,a(e,r,n);case 4:t.t0=e.type,t.next="path"===t.t0?7:"binary"===t.t0?11:"unary"===t.t0?15:"name"===t.t0?19:"string"===t.t0||"number"===t.t0||"value"===t.t0?21:"wildcard"===t.t0?23:"descendant"===t.t0?25:"parent"===t.t0?27:"condition"===t.t0?29:"block"===t.t0?33:"bind"===t.t0?37:"regex"===t.t0?41:"function"===t.t0?43:"variable"===t.t0?47:"lambda"===t.t0?49:"partial"===t.t0?51:"apply"===t.t0?55:"transform"===t.t0?59:61;break;case 7:return t.next=9,k(e,r,n);case 9:return i=t.sent,t.abrupt("break",61);case 11:return t.next=13,L(e,r,n);case 13:return i=t.sent,t.abrupt("break",61);case 15:return t.next=17,z(e,r,n);case 17:return i=t.sent,t.abrupt("break",61);case 19:return i=B(e,r),t.abrupt("break",61);case 21:return i=N(e),t.abrupt("break",61);case 23:return i=U(e,r),t.abrupt("break",61);case 25:return i=Y(e,r),t.abrupt("break",61);case 27:return i=n.lookup(e.slot.label),t.abrupt("break",61);case 29:return t.next=31,ot(e,r,n);case 31:return i=t.sent,t.abrupt("break",61);case 33:return t.next=35,st(e,r,n);case 35:return i=t.sent,t.abrupt("break",61);case 37:return t.next=39,nt(e,r,n);case 39:return i=t.sent,t.abrupt("break",61);case 41:return i=ut(e),t.abrupt("break",61);case 43:return t.next=45,yt(e,r,n);case 45:return i=t.sent,t.abrupt("break",61);case 47:return i=lt(e,r,n),t.abrupt("break",61);case 49:return i=_t(e,r,n),t.abrupt("break",61);case 51:return t.next=53,kt(e,r,n);case 53:return i=t.sent,t.abrupt("break",61);case 55:return t.next=57,gt(e,r,n);case 57:return i=t.sent,t.abrupt("break",61);case 59:return i=pt(e,r,n),t.abrupt("break",61);case 61:if(!Object.prototype.hasOwnProperty.call(e,"predicate")){t.next=70;break}s=0;case 63:if(!(s<e.predicate.length)){t.next=70;break}return t.next=66,C(e.predicate[s].expr,i,n);case 66:i=t.sent;case 67:s++,t.next=63;break;case 70:if("path"===e.type||!Object.prototype.hasOwnProperty.call(e,"group")){t.next=74;break}return t.next=73,$(e.group,i,n);case 73:i=t.sent;case 74:if(!(c=n.lookup("__evaluate_exit"))){t.next=78;break}return t.next=78,c(e,r,n,i);case 78:return i&&o(i)&&!i.tupleStream&&(e.keepArray&&(i.keepSingleton=!0),0===i.length?i=void 0:1===i.length&&(i=i.keepSingleton?i:i[0])),t.abrupt("return",i);case 80:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function k(t,e,r){return E.apply(this,arguments)}function E(){return(E=p(l().mark((function t(e,r,n){var o,a,s,c,u,h;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=Array.isArray(r)&&"variable"!==e.steps[0].type?r:i(r),s=!1,c=void 0,u=0;case 4:if(!(u<e.steps.length)){t.next=28;break}if((h=e.steps[u]).tuple&&(s=!0),0!==u||!h.consarray){t.next=13;break}return t.next=10,A(h,o,n);case 10:a=t.sent,t.next=22;break;case 13:if(!s){t.next=19;break}return t.next=16,I(h,o,c,n);case 16:c=t.sent,t.next=22;break;case 19:return t.next=21,M(h,o,n,u===e.steps.length-1);case 21:a=t.sent;case 22:if(s||void 0!==a&&0!==a.length){t.next=24;break}return t.abrupt("break",28);case 24:void 0===h.focus&&(o=a);case 25:u++,t.next=4;break;case 28:if(s)if(e.tuple)a=c;else for(a=i(),u=0;u<c.length;u++)a.push(c[u]["@"]);if(e.keepSingletonArray&&(Array.isArray(a)&&a.cons&&!a.sequence&&(a=i(a)),a.keepSingleton=!0),!e.hasOwnProperty("group")){t.next=34;break}return t.next=33,$(e.group,s?c:a,n);case 33:a=t.sent;case 34:return t.abrupt("return",a);case 35:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function S(t,e){var r=Ft(t);for(var n in e)r.bind(n,e[n]);return r}function M(t,e,r,n){return T.apply(this,arguments)}function T(){return(T=p(l().mark((function t(e,r,n,a){var s,c,u,h,f;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("sort"!==e.type){t.next=9;break}return t.next=3,ht(e,r,n);case 3:if(s=t.sent,!e.stages){t.next=8;break}return t.next=7,P(e.stages,s,n);case 7:s=t.sent;case 8:return t.abrupt("return",s);case 9:s=i(),c=0;case 11:if(!(c<r.length)){t.next=28;break}return t.next=14,A(e,r[c],n);case 14:if(u=t.sent,!e.stages){t.next=24;break}h=0;case 17:if(!(h<e.stages.length)){t.next=24;break}return t.next=20,C(e.stages[h].expr,u,n);case 20:u=t.sent;case 21:h++,t.next=17;break;case 24:void 0!==u&&s.push(u);case 25:c++,t.next=11;break;case 28:return f=i(),a&&1===s.length&&Array.isArray(s[0])&&!o(s[0])?f=s[0]:s.forEach((function(t){!Array.isArray(t)||t.cons?f.push(t):t.forEach((function(t){return f.push(t)}))})),t.abrupt("return",f);case 31:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function P(t,e,r){return O.apply(this,arguments)}function O(){return(O=p(l().mark((function t(e,r,n){var i,o,a,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=r,o=0;case 2:if(!(o<e.length)){t.next=16;break}a=e[o],t.t0=a.type,t.next="filter"===t.t0?7:"index"===t.t0?11:13;break;case 7:return t.next=9,C(a.expr,i,n);case 9:return i=t.sent,t.abrupt("break",13);case 11:for(s=0;s<i.length;s++)i[s][a.value]=s;return t.abrupt("break",13);case 13:o++,t.next=2;break;case 16:return t.abrupt("return",i);case 17:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function I(t,e,r,n){return R.apply(this,arguments)}function R(){return(R=p(l().mark((function t(e,r,n,o){var a,s,c,u,h,f,p,d;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("sort"!==e.type){t.next=18;break}if(!n){t.next=7;break}return t.next=4,ht(e,n,o);case 4:a=t.sent,t.next=13;break;case 7:return t.next=9,ht(e,r,o);case 9:for(s=t.sent,(a=i()).tupleStream=!0,c=0;c<s.length;c++)(u={"@":s[c]})[e.index]=c,a.push(u);case 13:if(!e.stages){t.next=17;break}return t.next=16,P(e.stages,a,o);case 16:a=t.sent;case 17:return t.abrupt("return",a);case 18:(a=i()).tupleStream=!0,h=o,void 0===n&&(n=r.map((function(t){return{"@":t}}))),f=0;case 23:if(!(f<n.length)){t.next=32;break}return h=S(o,n[f]),t.next=27,A(e,n[f]["@"],h);case 27:if(void 0!==(p=t.sent))for(Array.isArray(p)||(p=[p]),d=0;d<p.length;d++)u={},Object.assign(u,n[f]),p.tupleStream?Object.assign(u,p[d]):(e.focus?(u[e.focus]=p[d],u["@"]=n[f]["@"]):u["@"]=p[d],e.index&&(u[e.index]=d),e.ancestor&&(u[e.ancestor.label]=n[f]["@"])),a.push(u);case 29:f++,t.next=23;break;case 32:if(!e.stages){t.next=36;break}return t.next=35,P(e.stages,a,o);case 35:a=t.sent;case 36:return t.abrupt("return",a);case 37:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function C(t,e,r){return j.apply(this,arguments)}function j(){return j=p(l().mark((function e(n,o,a){var s,c,u,h,f,p;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=i(),o&&o.tupleStream&&(s.tupleStream=!0),Array.isArray(o)||(o=i(o)),"number"!==n.type){e.next=10;break}(c=Math.floor(n.value))<0&&(c=o.length+c),void 0!==(u=o[c])&&(Array.isArray(u)?s=u:s.push(u)),e.next=24;break;case 10:c=0;case 11:if(!(c<o.length)){e.next=24;break}return u=o[c],h=u,f=a,o.tupleStream&&(h=u["@"],f=S(a,u)),e.next=18,A(n,h,f);case 18:p=e.sent,t(p)&&(p=[p]),r(p)?p.forEach((function(t){var e=Math.floor(t);e<0&&(e=o.length+e),e===c&&s.push(u)})):g.boolean(p)&&s.push(u);case 21:c++,e.next=11;break;case 24:return e.abrupt("return",s);case 25:case"end":return e.stop()}}),e)}))),j.apply(this,arguments)}function L(t,e,r){return D.apply(this,arguments)}function D(){return D=p(l().mark((function t(e,r,n){var i,o,a,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.lhs,r,n);case 2:if(o=t.sent,a=e.value,s=function(){var t=p(l().mark((function t(){return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.rhs,r,n);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),"and"!==a&&"or"!==a){t.next=17;break}return t.prev=6,t.next=9,Q(o,s,a);case 9:return t.abrupt("return",t.sent);case 12:throw t.prev=12,t.t0=t.catch(6),t.t0.position=e.position,t.t0.token=a,t.t0;case 17:return t.next=19,s();case 19:c=t.sent,t.prev=20,t.t1=a,t.next="+"===t.t1||"-"===t.t1||"*"===t.t1||"/"===t.t1||"%"===t.t1?24:"="===t.t1||"!="===t.t1?26:"<"===t.t1||"<="===t.t1||">"===t.t1||">="===t.t1?28:"&"===t.t1?30:".."===t.t1?32:"in"===t.t1?34:36;break;case 24:return i=W(o,c,a),t.abrupt("break",36);case 26:return i=q(o,c,a),t.abrupt("break",36);case 28:return i=X(o,c,a),t.abrupt("break",36);case 30:return i=Z(o,c),t.abrupt("break",36);case 32:return i=rt(o,c),t.abrupt("break",36);case 34:return i=V(o,c),t.abrupt("break",36);case 36:t.next=43;break;case 38:throw t.prev=38,t.t2=t.catch(20),t.t2.position=e.position,t.t2.token=a,t.t2;case 43:return t.abrupt("return",i);case 44:case"end":return t.stop()}}),t,null,[[6,12],[20,38]])}))),D.apply(this,arguments)}function z(t,e,r){return F.apply(this,arguments)}function F(){return F=p(l().mark((function e(r,i,o){var a,c,u,h,f,d,v,y;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r.value,e.next="-"===e.t0?3:"["===e.t0?16:"{"===e.t0?24:28;break;case 3:return e.next=5,A(r.expression,i,o);case 5:if(void 0!==(a=e.sent)){e.next=10;break}a=void 0,e.next=15;break;case 10:if(!t(a)){e.next=14;break}a=-a,e.next=15;break;case 14:throw{code:"D1002",stack:(new Error).stack,position:r.position,token:r.value,value:a};case 15:return e.abrupt("break",28);case 16:return a=[],e.next=19,Promise.all(r.expressions.map(function(){var t=p(l().mark((function t(e,r){return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o.isParallelCall=r>0,t.t0=e,t.next=4,A(e,i,o);case 4:return t.t1=t.sent,t.abrupt("return",[t.t0,t.t1]);case 6:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()));case 19:c=e.sent,u=s(c);try{for(u.s();!(h=u.n()).done;)f=h.value,d=n(f,2),v=d[0],void 0!==(y=d[1])&&("["===v.value?a.push(y):a=g.append(a,y))}catch(t){u.e(t)}finally{u.f()}return r.consarray&&Object.defineProperty(a,"cons",{enumerable:!1,configurable:!1,value:!0}),e.abrupt("break",28);case 24:return e.next=26,$(r,i,o);case 26:return a=e.sent,e.abrupt("break",28);case 28:return e.abrupt("return",a);case 29:case"end":return e.stop()}}),e)}))),F.apply(this,arguments)}function B(t,e,r){return g.lookup(e,t.value)}function N(t){return t.value}function U(t,e){var r=i();return Array.isArray(e)&&e.outerWrapper&&e.length>0&&(e=e[0]),null!==e&&"object"===h(e)&&Object.keys(e).forEach((function(t){var n=e[t];Array.isArray(n)?(n=G(n),r=g.append(r,n)):r.push(n)})),r}function G(t,e){return void 0===e&&(e=[]),Array.isArray(t)?t.forEach((function(t){G(t,e)})):e.push(t),e}function Y(t,e){var r,n=i();return void 0!==e&&(H(e,n),r=1===n.length?n[0]:n),r}function H(t,e){Array.isArray(t)||e.push(t),Array.isArray(t)?t.forEach((function(t){H(t,e)})):null!==t&&"object"===h(t)&&Object.keys(t).forEach((function(r){H(t[r],e)}))}function W(e,r,n){var i;if(void 0!==e&&!t(e))throw{code:"T2001",stack:(new Error).stack,value:e};if(void 0!==r&&!t(r))throw{code:"T2002",stack:(new Error).stack,value:r};if(void 0===e||void 0===r)return i;switch(n){case"+":i=e+r;break;case"-":i=e-r;break;case"*":i=e*r;break;case"/":i=e/r;break;case"%":i=e%r}return i}function q(t,e,r){var n,i=h(t),o=h(e);if("undefined"===i||"undefined"===o)return!1;switch(r){case"=":n=x(t,e);break;case"!=":n=!x(t,e)}return n}function X(t,e,r){var n,i=h(t),o=h(e);if("undefined"!==i&&"string"!==i&&"number"!==i||"undefined"!==o&&"string"!==o&&"number"!==o)throw{code:"T2010",stack:(new Error).stack,value:"string"!==i&&"number"!==i?t:e};if("undefined"!==i&&"undefined"!==o){if(i!==o)throw{code:"T2009",stack:(new Error).stack,value:t,value2:e};switch(r){case"<":n=t<e;break;case"<=":n=t<=e;break;case">":n=t>e;break;case">=":n=t>=e}return n}}function V(t,e){var r=!1;if(void 0===t||void 0===e)return!1;Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++)if(e[n]===t){r=!0;break}return r}function Q(t,e,r){return K.apply(this,arguments)}function K(){return(K=p(l().mark((function t(e,r,n){var i,o;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=J(e),t.t0=n,t.next="and"===t.t0?4:"or"===t.t0?13:22;break;case 4:if(t.t1=o,!t.t1){t.next=11;break}return t.t2=J,t.next=9,r();case 9:t.t3=t.sent,t.t1=(0,t.t2)(t.t3);case 11:return i=t.t1,t.abrupt("break",22);case 13:if(t.t4=o,t.t4){t.next=20;break}return t.t5=J,t.next=18,r();case 18:t.t6=t.sent,t.t4=(0,t.t5)(t.t6);case 20:return i=t.t4,t.abrupt("break",22);case 22:return t.abrupt("return",i);case 23:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function J(t){var e=g.boolean(t);return void 0!==e&&e}function Z(t,e){var r="",n="";return void 0!==t&&(r=g.string(t)),void 0!==e&&(n=g.string(e)),r.concat(n)}function $(t,e,r){return tt.apply(this,arguments)}function tt(){return tt=p(l().mark((function t(e,r,o){var a,c,u,h,f,d,v,y,m,b,x,w,_,k,E,M,T;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:a={},c={},u=!(!r||!r.tupleStream),Array.isArray(r)||(r=i(r)),0===r.length&&r.push(void 0),h=0;case 6:if(!(h<r.length)){t.next=32;break}f=r[h],d=u?S(o,f):o,v=0;case 10:if(!(v<e.lhs.length)){t.next=29;break}return y=e.lhs[v],t.next=14,A(y[0],u?f["@"]:f,d);case 14:if("string"==typeof(m=t.sent)||void 0===m){t.next=17;break}throw{code:"T1003",stack:(new Error).stack,position:e.position,value:m};case 17:if(void 0===m){t.next=26;break}if(b={data:f,exprIndex:v},!c.hasOwnProperty(m)){t.next=25;break}if(c[m].exprIndex===v){t.next=22;break}throw{code:"D1009",stack:(new Error).stack,position:e.position,value:m};case 22:c[m].data=g.append(c[m].data,f),t.next=26;break;case 25:c[m]=b;case 26:v++,t.next=10;break;case 29:h++,t.next=6;break;case 32:return t.next=34,Promise.all(Object.keys(c).map(function(){var t=p(l().mark((function t(r,n){var i,a,s,h;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=c[r],a=i.data,s=o,u&&(h=et(i.data),a=h["@"],delete h["@"],s=S(o,h)),o.isParallelCall=n>0,t.t0=r,t.next=8,A(e.lhs[i.exprIndex][1],a,s);case 8:return t.t1=t.sent,t.abrupt("return",[t.t0,t.t1]);case 10:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()));case 34:x=t.sent,w=s(x),t.prev=36,w.s();case 38:if((_=w.n()).done){t.next=49;break}return k=_.value,t.next=42,k;case 42:E=t.sent,M=n(E,2),m=M[0],void 0!==(T=M[1])&&(a[m]=T);case 47:t.next=38;break;case 49:t.next=54;break;case 51:t.prev=51,t.t0=t.catch(36),w.e(t.t0);case 54:return t.prev=54,w.f(),t.finish(54);case 57:return t.abrupt("return",a);case 58:case"end":return t.stop()}}),t,null,[[36,51,54,57]])}))),tt.apply(this,arguments)}function et(t){if(!Array.isArray(t))return t;var e={};Object.assign(e,t[0]);for(var r=1;r<t.length;r++)for(var n in t[r])e[n]=g.append(e[n],t[r][n]);return e}function rt(t,e){var r;if(void 0!==t&&!Number.isInteger(t))throw{code:"T2003",stack:(new Error).stack,value:t};if(void 0!==e&&!Number.isInteger(e))throw{code:"T2004",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return r;if(t>e)return r;var n=e-t+1;if(n>1e7)throw{code:"D2014",stack:(new Error).stack,value:n};r=new Array(n);for(var i=t,o=0;i<=e;i++,o++)r[o]=i;return r.sequence=!0,r}function nt(t,e,r){return it.apply(this,arguments)}function it(){return it=p(l().mark((function t(e,r,n){var i;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.rhs,r,n);case 2:return i=t.sent,n.bind(e.lhs.value,i),t.abrupt("return",i);case 5:case"end":return t.stop()}}),t)}))),it.apply(this,arguments)}function ot(t,e,r){return at.apply(this,arguments)}function at(){return(at=p(l().mark((function t(e,r,n){var i,o;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.condition,r,n);case 2:if(o=t.sent,!g.boolean(o)){t.next=9;break}return t.next=6,A(e.then,r,n);case 6:i=t.sent,t.next=13;break;case 9:if(void 0===e.else){t.next=13;break}return t.next=12,A(e.else,r,n);case 12:i=t.sent;case 13:return t.abrupt("return",i);case 14:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function st(t,e,r){return ct.apply(this,arguments)}function ct(){return(ct=p(l().mark((function t(e,r,n){var i,o,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=Ft(n),a=0;case 2:if(!(a<e.expressions.length)){t.next=9;break}return t.next=5,A(e.expressions[a],r,o);case 5:i=t.sent;case 6:a++,t.next=2;break;case 9:return t.abrupt("return",i);case 10:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ut(t){var e=new Ut.RegexEngine(t.value),r=function r(n,i){var o;e.lastIndex=i||0;var a=e.exec(n);if(null!==a){if(o={match:a[0],start:a.index,end:a.index+a[0].length,groups:[]},a.length>1)for(var s=1;s<a.length;s++)o.groups.push(a[s]);o.next=function(){if(!(e.lastIndex>=n.length)){var i=r(n,e.lastIndex);if(i&&""===i.match)throw{code:"D1004",stack:(new Error).stack,position:t.position,value:t.value.source};return i}}}return o};return r}function lt(t,e,r){return""===t.value?e&&e.outerWrapper?e[0]:e:r.lookup(t.value)}function ht(t,e,r){return ft.apply(this,arguments)}function ft(){return ft=p(l().mark((function t(e,r,n){var i,o,a,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=r,a=!!r.tupleStream,s=function(){var t=p(l().mark((function t(r,i){var o,s,c,u,f,p,d,g,v;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=0,s=0;case 2:if(!(0===o&&s<e.terms.length)){t.next=37;break}return c=e.terms[s],u=r,f=n,a&&(u=r["@"],f=S(n,r)),t.next=9,A(c.expression,u,f);case 9:return p=t.sent,u=i,f=n,a&&(u=i["@"],f=S(n,i)),t.next=15,A(c.expression,u,f);case 15:if(d=t.sent,g=h(p),v=h(d),"undefined"!==g){t.next=21;break}return o="undefined"===v?0:1,t.abrupt("continue",34);case 21:if("undefined"!==v){t.next=24;break}return o=-1,t.abrupt("continue",34);case 24:if(!("string"!==g&&"number"!==g||"string"!==v&&"number"!==v)){t.next=26;break}throw{code:"T2008",stack:(new Error).stack,position:e.position,value:"string"!==g&&"number"!==g?p:d};case 26:if(g===v){t.next=28;break}throw{code:"T2007",stack:(new Error).stack,position:e.position,value:p,value2:d};case 28:if(p!==d){t.next=32;break}return t.abrupt("continue",34);case 32:o=p<d?-1:1;case 33:!0===c.descending&&(o=-o);case 34:s++,t.next=2;break;case 37:return t.abrupt("return",1===o);case 38:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),c={environment:n,input:r},t.next=6,g.sort.apply(c,[o,s]);case 6:return i=t.sent,t.abrupt("return",i);case 8:case"end":return t.stop()}}),t)}))),ft.apply(this,arguments)}function pt(t,r,n){var i=function(){var r=p(l().mark((function r(i){var o,s,c,u,f,p,d,g,v,y,m;return l().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(void 0!==i){r.next=2;break}return r.abrupt("return",void 0);case 2:if(o=n.lookup("clone"),a(o)){r.next=5;break}throw{code:"T2013",stack:(new Error).stack,position:t.position};case 5:return r.next=7,bt(o,[i],null,n);case 7:return s=r.sent,r.next=10,A(t.pattern,s,n);case 10:if(void 0===(c=r.sent)){r.next=37;break}Array.isArray(c)||(c=[c]),u=0;case 14:if(!(u<c.length)){r.next=37;break}return f=c[u],r.next=18,A(t.update,f,n);case 18:if(p=r.sent,"undefined"===(d=h(p))){r.next=24;break}if("object"===d&&null!==p&&!Array.isArray(p)){r.next=23;break}throw{code:"T2011",stack:(new Error).stack,position:t.update.position,value:p};case 23:for(g in p)f[g]=p[g];case 24:if(void 0===t.delete){r.next=34;break}return r.next=27,A(t.delete,f,n);case 27:if(void 0===(v=r.sent)){r.next=34;break}if(y=v,Array.isArray(v)||(v=[v]),e(v)){r.next=33;break}throw{code:"T2012",stack:(new Error).stack,position:t.delete.position,value:y};case 33:for(m=0;m<v.length;m++)"object"===h(f)&&null!==f&&delete f[v[m]];case 34:u++,r.next=14;break;case 37:return r.abrupt("return",s);case 38:case"end":return r.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}();return jt(i,"<(oa):o>")}var dt=y("function($f, $g) { function($x){ $g($f($x)) } }");function gt(t,e,r){return vt.apply(this,arguments)}function vt(){return(vt=p(l().mark((function t(e,r,n){var i,o,s,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.lhs,r,n);case 2:if(o=t.sent,"function"!==e.rhs.type){t.next=9;break}return t.next=6,yt(e.rhs,r,n,{context:o});case 6:i=t.sent,t.next=26;break;case 9:return t.next=11,A(e.rhs,r,n);case 11:if(s=t.sent,a(s)){t.next=14;break}throw{code:"T2006",stack:(new Error).stack,position:e.position,value:s};case 14:if(!a(o)){t.next=23;break}return t.next=17,A(dt,null,n);case 17:return c=t.sent,t.next=20,bt(c,[o,s],null,n);case 20:i=t.sent,t.next=26;break;case 23:return t.next=25,bt(s,[o],null,n);case 25:i=t.sent;case 26:return t.abrupt("return",i);case 27:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function yt(t,e,r,n){return mt.apply(this,arguments)}function mt(){return mt=p(l().mark((function t(e,r,n,i){var o,s,c,u,f,d;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.procedure,r,n);case 2:if(void 0!==(s=t.sent)||"path"!==e.procedure.type||!n.lookup(e.procedure.steps[0].value)){t.next=5;break}throw{code:"T1005",stack:(new Error).stack,position:e.position,token:e.procedure.steps[0].value};case 5:c=[],void 0!==i&&c.push(i.context),u=l().mark((function t(){var i,o;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,A(e.arguments[f],r,n);case 2:i=t.sent,a(i)?(o=function(){var t=p(l().mark((function t(){var e,r,o,a=arguments;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(e=a.length,r=new Array(e),o=0;o<e;o++)r[o]=a[o];return t.next=3,bt(i,r,null,n);case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),o.arity=b(i),c.push(o)):c.push(i);case 4:case"end":return t.stop()}}),t)})),f=0;case 9:if(!(f<e.arguments.length)){t.next=14;break}return t.delegateYield(u(),"t0",11);case 11:f++,t.next=9;break;case 14:return d="path"===e.procedure.type?e.procedure.steps[0].value:e.procedure.value,t.prev=15,"object"===h(s)&&(s.token=d,s.position=e.position),t.next=19,bt(s,c,r,n);case 19:o=t.sent,t.next=27;break;case 22:throw t.prev=22,t.t1=t.catch(15),t.t1.position||(t.t1.position=e.position),t.t1.token||(t.t1.token=d),t.t1;case 27:return t.abrupt("return",o);case 28:case"end":return t.stop()}}),t,null,[[15,22]])}))),mt.apply(this,arguments)}function bt(t,e,r,n){return xt.apply(this,arguments)}function xt(){return(xt=p(l().mark((function t(e,r,n,i){var o,a,s,u;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,wt(e,r,n,i);case 2:o=t.sent;case 3:if(!c(o)||!0!==o.thunk){t.next=25;break}return t.next=6,A(o.body.procedure,o.input,o.environment);case 6:a=t.sent,"variable"===o.body.procedure.type&&(a.token=o.body.procedure.value),a.position=o.body.procedure.position,s=[],u=0;case 11:if(!(u<o.body.arguments.length)){t.next=20;break}return t.t0=s,t.next=15,A(o.body.arguments[u],o.input,o.environment);case 15:t.t1=t.sent,t.t0.push.call(t.t0,t.t1);case 17:u++,t.next=11;break;case 20:return t.next=22,wt(a,s,n,i);case 22:o=t.sent,t.next=3;break;case 25:return t.abrupt("return",o);case 26:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function wt(t,e,r,n){return At.apply(this,arguments)}function At(){return(At=p(l().mark((function t(e,r,n,i){var o,a,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,a=r,e&&(a=St(e.signature,r,n)),!c(e)){t.next=9;break}return t.next=6,Mt(e,a);case 6:o=t.sent,t.next=28;break;case 9:if(!e||!0!==e._jsonata_function){t.next=19;break}if(s={environment:i,input:n},o=e.implementation.apply(s,a),u(o)&&(o=o.next().value),!f(o)){t.next=17;break}return t.next=16,o;case 16:o=t.sent;case 17:t.next=28;break;case 19:if("function"!=typeof e){t.next=27;break}if(o=e.apply(n,a),!f(o)){t.next=25;break}return t.next=24,o;case 24:o=t.sent;case 25:t.next=28;break;case 27:throw{code:"T1006",stack:(new Error).stack};case 28:t.next=34;break;case 30:throw t.prev=30,t.t0=t.catch(0),e&&(void 0===t.t0.token&&void 0!==e.token&&(t.t0.token=e.token),t.t0.position=e.position),t.t0;case 34:return t.abrupt("return",o);case 35:case"end":return t.stop()}}),t,null,[[0,30]])})))).apply(this,arguments)}function _t(t,e,r){var n={_jsonata_lambda:!0,input:e,environment:r,arguments:t.arguments,signature:t.signature,body:t.body};return!0===t.thunk&&(n.thunk=!0),n.apply=function(){var t=p(l().mark((function t(i,o){return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,bt(n,o,e,i?i.environment:r);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),n}function kt(t,e,r){return Et.apply(this,arguments)}function Et(){return(Et=p(l().mark((function t(e,r,n){var i,o,a,s,u;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=[],a=0;case 2:if(!(a<e.arguments.length)){t.next=16;break}if("operator"!==(s=e.arguments[a]).type||"?"!==s.value){t.next=8;break}o.push(s),t.next=13;break;case 8:return t.t0=o,t.next=11,A(s,r,n);case 11:t.t1=t.sent,t.t0.push.call(t.t0,t.t1);case 13:a++,t.next=2;break;case 16:return t.next=18,A(e.procedure,r,n);case 18:if(void 0!==(u=t.sent)||"path"!==e.procedure.type||!n.lookup(e.procedure.steps[0].value)){t.next=21;break}throw{code:"T1007",stack:(new Error).stack,position:e.position,token:e.procedure.steps[0].value};case 21:if(!c(u)){t.next=25;break}i=Pt(u,o),t.next=34;break;case 25:if(!u||!0!==u._jsonata_function){t.next=29;break}i=Ot(u.implementation,o),t.next=34;break;case 29:if("function"!=typeof u){t.next=33;break}i=Ot(u,o),t.next=34;break;case 33:throw{code:"T1008",stack:(new Error).stack,position:e.position,token:"path"===e.procedure.type?e.procedure.steps[0].value:e.procedure.value};case 34:return t.abrupt("return",i);case 35:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function St(t,e,r){return void 0===t?e:t.validate(e,r)}function Mt(t,e){return Tt.apply(this,arguments)}function Tt(){return Tt=p(l().mark((function t(e,r){var n,i;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=Ft(e.environment),e.arguments.forEach((function(t,e){i.bind(t.value,r[e])})),"function"!=typeof e.body){t.next=8;break}return t.next=5,It(e.body,i);case 5:n=t.sent,t.next=11;break;case 8:return t.next=10,A(e.body,e.input,i);case 10:n=t.sent;case 11:return t.abrupt("return",n);case 12:case"end":return t.stop()}}),t)}))),Tt.apply(this,arguments)}function Pt(t,e){var r=Ft(t.environment),n=[];return t.arguments.forEach((function(t,i){var o=e[i];o&&"operator"===o.type&&"?"===o.value?n.push(t):r.bind(t.value,o)})),{_jsonata_lambda:!0,input:t.input,environment:r,arguments:n,body:t.body}}function Ot(t,e){var r=Ct(t),n="function("+(r=r.map((function(t){return"$"+t.trim()}))).join(", ")+"){ _ }",i=y(n);return i.body=t,Pt(i,e)}function It(t,e){return Rt.apply(this,arguments)}function Rt(){return(Rt=p(l().mark((function t(e,r){var n,i,o,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=Ct(e),i=n.map((function(t){return r.lookup(t.trim())})),o={environment:r},a=e.apply(o,i),!f(a)){t.next=8;break}return t.next=7,a;case 7:a=t.sent;case 8:return t.abrupt("return",a);case 9:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Ct(t){var e=t.toString();return/\(([^)]*)\)/.exec(e)[1].split(",")}function jt(t,e){var r={_jsonata_function:!0,implementation:t};return void 0!==e&&(r.signature=m(e)),r}function Lt(t,e){return Dt.apply(this,arguments)}function Dt(){return(Dt=p(l().mark((function t(e,r){var n,a,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==e){t.next=2;break}return t.abrupt("return",void 0);case 2:n=this.input,void 0!==r&&(n=r,Array.isArray(n)&&!o(n)&&((n=i(n)).outerWrapper=!0)),t.prev=4,a=y(e,!1),t.next=12;break;case 8:throw t.prev=8,t.t0=t.catch(4),Nt(t.t0),{stack:(new Error).stack,code:"D3120",value:t.t0.message,error:t.t0};case 12:return t.prev=12,t.next=15,A(a,n,this.environment);case 15:s=t.sent,t.next=22;break;case 18:throw t.prev=18,t.t1=t.catch(12),Nt(t.t1),{stack:(new Error).stack,code:"D3121",value:t.t1.message,error:t.t1};case 22:return t.abrupt("return",s);case 23:case"end":return t.stop()}}),t,this,[[4,8],[12,18]])})))).apply(this,arguments)}function zt(t){if(void 0!==t)return JSON.parse(g.string(t))}function Ft(t){var e={};return{bind:function(t,r){e[t]=r},lookup:function(r){var n;return e.hasOwnProperty(r)?n=e[r]:t&&(n=t.lookup(r)),n},timestamp:t?t.timestamp:null,async:!!t&&t.async,isParallelCall:!!t&&t.isParallelCall,global:t?t.global:{ancestry:[null]}}}w.bind("sum",jt(g.sum,"<a<n>:n>")),w.bind("count",jt(g.count,"<a:n>")),w.bind("max",jt(g.max,"<a<n>:n>")),w.bind("min",jt(g.min,"<a<n>:n>")),w.bind("average",jt(g.average,"<a<n>:n>")),w.bind("string",jt(g.string,"<x-b?:s>")),w.bind("substring",jt(g.substring,"<s-nn?:s>")),w.bind("substringBefore",jt(g.substringBefore,"<s-s:s>")),w.bind("substringAfter",jt(g.substringAfter,"<s-s:s>")),w.bind("lowercase",jt(g.lowercase,"<s-:s>")),w.bind("uppercase",jt(g.uppercase,"<s-:s>")),w.bind("length",jt(g.length,"<s-:n>")),w.bind("trim",jt(g.trim,"<s-:s>")),w.bind("pad",jt(g.pad,"<s-ns?:s>")),w.bind("match",jt(g.match,"<s-f<s:o>n?:a<o>>")),w.bind("contains",jt(g.contains,"<s-(sf):b>")),w.bind("replace",jt(g.replace,"<s-(sf)(sf)n?:s>")),w.bind("split",jt(g.split,"<s-(sf)n?:a<s>>")),w.bind("join",jt(g.join,"<a<s>s?:s>")),w.bind("formatNumber",jt(g.formatNumber,"<n-so?:s>")),w.bind("formatBase",jt(g.formatBase,"<n-n?:s>")),w.bind("formatInteger",jt(d.formatInteger,"<n-s:s>")),w.bind("parseInteger",jt(d.parseInteger,"<s-s:n>")),w.bind("number",jt(g.number,"<(nsb)-:n>")),w.bind("floor",jt(g.floor,"<n-:n>")),w.bind("ceil",jt(g.ceil,"<n-:n>")),w.bind("round",jt(g.round,"<n-n?:n>")),w.bind("abs",jt(g.abs,"<n-:n>")),w.bind("sqrt",jt(g.sqrt,"<n-:n>")),w.bind("power",jt(g.power,"<n-n:n>")),w.bind("random",jt(g.random,"<:n>")),w.bind("boolean",jt(g.boolean,"<x-:b>")),w.bind("not",jt(g.not,"<x-:b>")),w.bind("map",jt(g.map,"<af>")),w.bind("zip",jt(g.zip,"<a+>")),w.bind("filter",jt(g.filter,"<af>")),w.bind("single",jt(g.single,"<af?>")),w.bind("reduce",jt(g.foldLeft,"<afj?:j>")),w.bind("sift",jt(g.sift,"<o-f?:o>")),w.bind("keys",jt(g.keys,"<x-:a<s>>")),w.bind("lookup",jt(g.lookup,"<x-s:x>")),w.bind("append",jt(g.append,"<xx:a>")),w.bind("exists",jt(g.exists,"<x:b>")),w.bind("spread",jt(g.spread,"<x-:a<o>>")),w.bind("merge",jt(g.merge,"<a<o>:o>")),w.bind("reverse",jt(g.reverse,"<a:a>")),w.bind("each",jt(g.each,"<o-f:a>")),w.bind("error",jt(g.error,"<s?:x>")),w.bind("assert",jt(g.assert,"<bs?:x>")),w.bind("type",jt(g.type,"<x:s>")),w.bind("sort",jt(g.sort,"<af?:a>")),w.bind("shuffle",jt(g.shuffle,"<a:a>")),w.bind("distinct",jt(g.distinct,"<x:x>")),w.bind("base64encode",jt(g.base64encode,"<s-:s>")),w.bind("base64decode",jt(g.base64decode,"<s-:s>")),w.bind("encodeUrlComponent",jt(g.encodeUrlComponent,"<s-:s>")),w.bind("encodeUrl",jt(g.encodeUrl,"<s-:s>")),w.bind("decodeUrlComponent",jt(g.decodeUrlComponent,"<s-:s>")),w.bind("decodeUrl",jt(g.decodeUrl,"<s-:s>")),w.bind("eval",jt(Lt,"<sx?:x>")),w.bind("toMillis",jt(d.toMillis,"<s-s?:n>")),w.bind("fromMillis",jt(d.fromMillis,"<n-s?s?:s>")),w.bind("clone",jt(zt,"<(oa)-:o>"));var Bt={S0101:"String literal must be terminated by a matching quote",S0102:"Number out of range: {{token}}",S0103:"Unsupported escape sequence: \\{{token}}",S0104:"The escape sequence \\u must be followed by 4 hex digits",S0105:"Quoted property name must be terminated with a backquote (`)",S0106:"Comment has no closing tag",S0201:"Syntax error: {{token}}",S0202:"Expected {{value}}, got {{token}}",S0203:"Expected {{value}} before end of expression",S0204:"Unknown operator: {{token}}",S0205:"Unexpected token: {{token}}",S0206:"Unknown expression type: {{token}}",S0207:"Unexpected end of expression",S0208:"Parameter {{value}} of function definition must be a variable name (start with $)",S0209:"A predicate cannot follow a grouping expression in a step",S0210:"Each step can only have one grouping expression",S0211:"The symbol {{token}} cannot be used as a unary operator",S0212:"The left side of := must be a variable name (start with $)",S0213:"The literal value {{value}} cannot be used as a step within a path expression",S0214:"The right side of {{token}} must be a variable name (start with $)",S0215:"A context variable binding must precede any predicates on a step",S0216:"A context variable binding must precede the 'order-by' clause on a step",S0217:"The object representing the 'parent' cannot be derived from this expression",S0301:"Empty regular expressions are not allowed",S0302:"No terminating / in regular expression",S0402:"Choice groups containing parameterized types are not supported",S0401:"Type parameters can only be applied to functions and arrays",S0500:"Attempted to evaluate an expression containing syntax error(s)",T0410:"Argument {{index}} of function {{token}} does not match function signature",T0411:"Context value is not a compatible type with argument {{index}} of function {{token}}",T0412:"Argument {{index}} of function {{token}} must be an array of {{type}}",D1001:"Number out of range: {{value}}",D1002:"Cannot negate a non-numeric value: {{value}}",T1003:"Key in object structure must evaluate to a string; got: {{value}}",D1004:"Regular expression matches zero length string",T1005:"Attempted to invoke a non-function. Did you mean ${{{token}}}?",T1006:"Attempted to invoke a non-function",T1007:"Attempted to partially apply a non-function. Did you mean ${{{token}}}?",T1008:"Attempted to partially apply a non-function",D1009:"Multiple key definitions evaluate to same key: {{value}}",T1010:"The matcher function argument passed to function {{token}} does not return the correct object structure",T2001:"The left side of the {{token}} operator must evaluate to a number",T2002:"The right side of the {{token}} operator must evaluate to a number",T2003:"The left side of the range operator (..) must evaluate to an integer",T2004:"The right side of the range operator (..) must evaluate to an integer",D2005:"The left side of := must be a variable name (start with $)",T2006:"The right side of the function application operator ~> must be a function",T2007:"Type mismatch when comparing values {{value}} and {{value2}} in order-by clause",T2008:"The expressions within an order-by clause must evaluate to numeric or string values",T2009:"The values {{value}} and {{value2}} either side of operator {{token}} must be of the same data type",T2010:"The expressions either side of operator {{token}} must evaluate to numeric or string values",T2011:"The insert/update clause of the transform expression must evaluate to an object: {{value}}",T2012:"The delete clause of the transform expression must evaluate to a string or array of strings: {{value}}",T2013:"The transform expression clones the input object using the $clone() function. This has been overridden in the current scope by a non-function.",D2014:"The size of the sequence allocated by the range operator (..) must not exceed 1e6. Attempted to allocate {{value}}.",D3001:"Attempting to invoke string function on Infinity or NaN",D3010:"Second argument of replace function cannot be an empty string",D3011:"Fourth argument of replace function must evaluate to a positive number",D3012:"Attempted to replace a matched string with a non-string value",D3020:"Third argument of split function must evaluate to a positive number",D3030:"Unable to cast value to a number: {{value}}",D3040:"Third argument of match function must evaluate to a positive number",D3050:"The second argument of reduce function must be a function with at least two arguments",D3060:"The sqrt function cannot be applied to a negative number: {{value}}",D3061:"The power function has resulted in a value that cannot be represented as a JSON number: base={{value}}, exponent={{exp}}",D3070:"The single argument form of the sort function can only be applied to an array of strings or an array of numbers. Use the second argument to specify a comparison function",D3080:"The picture string must only contain a maximum of two sub-pictures",D3081:"The sub-picture must not contain more than one instance of the 'decimal-separator' character",D3082:"The sub-picture must not contain more than one instance of the 'percent' character",D3083:"The sub-picture must not contain more than one instance of the 'per-mille' character",D3084:"The sub-picture must not contain both a 'percent' and a 'per-mille' character",D3085:"The mantissa part of a sub-picture must contain at least one character that is either an 'optional digit character' or a member of the 'decimal digit family'",D3086:"The sub-picture must not contain a passive character that is preceded by an active character and that is followed by another active character",D3087:"The sub-picture must not contain a 'grouping-separator' character that appears adjacent to a 'decimal-separator' character",D3088:"The sub-picture must not contain a 'grouping-separator' at the end of the integer part",D3089:"The sub-picture must not contain two adjacent instances of the 'grouping-separator' character",D3090:"The integer part of the sub-picture must not contain a member of the 'decimal digit family' that is followed by an instance of the 'optional digit character'",D3091:"The fractional part of the sub-picture must not contain an instance of the 'optional digit character' that is followed by a member of the 'decimal digit family'",D3092:"A sub-picture that contains a 'percent' or 'per-mille' character must not contain a character treated as an 'exponent-separator'",D3093:"The exponent part of the sub-picture must comprise only of one or more characters that are members of the 'decimal digit family'",D3100:"The radix of the formatBase function must be between 2 and 36. It was given {{value}}",D3110:"The argument of the toMillis function must be an ISO 8601 formatted timestamp. Given {{value}}",D3120:"Syntax error in expression passed to function eval: {{value}}",D3121:"Dynamic error evaluating the expression passed to function eval: {{value}}",D3130:"Formatting or parsing an integer as a sequence starting with {{value}} is not supported by this implementation",D3131:"In a decimal digit pattern, all digits must be from the same decimal group",D3132:"Unknown component specifier {{value}} in date/time picture string",D3133:"The 'name' modifier can only be applied to months and days in the date/time picture string, not {{value}}",D3134:"The timezone integer format specifier cannot have more than four digits",D3135:"No matching closing bracket ']' in date/time picture string",D3136:"The date/time picture string is missing specifiers required to parse the timestamp",D3137:"{{{message}}}",D3138:"The $single() function expected exactly 1 matching result. Instead it matched more.",D3139:"The $single() function expected exactly 1 matching result. Instead it matched 0.",D3140:"Malformed URL passed to ${{{functionName}}}(): {{value}}",D3141:"{{{message}}}"};function Nt(t){var e=Bt[t.code];if(void 0!==e){var r=e.replace(/\{\{\{([^}]+)}}}/g,(function(){return t[arguments[1]]}));r=r.replace(/\{\{([^}]+)}}/g,(function(){return JSON.stringify(t[arguments[1]])})),t.message=r}}function Ut(t,e){var r,n;try{r=y(t,e&&e.recover),n=r.errors,delete r.errors}catch(t){throw Nt(t),t}var a=Ft(w),s=new Date;return a.bind("now",jt((function(t,e){return d.fromMillis(s.getTime(),t,e)}),"<s?s?:s>")),a.bind("millis",jt((function(){return s.getTime()}),"<:n>")),e&&e.RegexEngine?Ut.RegexEngine=e.RegexEngine:Ut.RegexEngine=RegExp,{evaluate:function(){var t=p(l().mark((function t(e,c,u){var h,f,p,d;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===n){t.next=4;break}throw Nt(h={code:"S0500",position:0}),h;case 4:if(void 0!==c)for(p in f=Ft(a),c)f.bind(p,c[p]);else f=a;return f.bind("$",e),s=new Date,f.timestamp=s,Array.isArray(e)&&!o(e)&&((e=i(e)).outerWrapper=!0),t.prev=9,t.next=12,A(r,e,f);case 12:return d=t.sent,"function"==typeof u&&u(null,d),t.abrupt("return",d);case 17:throw t.prev=17,t.t0=t.catch(9),Nt(t.t0),t.t0;case 21:case"end":return t.stop()}}),t,null,[[9,17]])})));function e(e,r,n){return t.apply(this,arguments)}return e}(),assign:function(t,e){a.bind(t,e)},registerFunction:function(t,e,r){var n=jt(e,r);a.bind(t,n)},ast:function(){return r},errors:function(){return n}}}return Ut.parser=y,Ut}();e.exports=b},{"./datetime":1,"./functions":2,"./parser":4,"./signature":5,"./utils":6}],4:[function(t,e,r){var n=t("./signature"),i=function(){var t={".":75,"[":80,"]":0,"{":70,"}":0,"(":80,")":0,",":0,"@":80,"#":80,";":80,":":80,"?":20,"+":50,"-":50,"*":60,"/":60,"%":60,"|":20,"=":40,"<":40,">":40,"^":40,"**":60,"..":20,":=":10,"!=":40,"<=":40,">=":40,"~>":40,and:30,or:25,in:40,"&":50,"!":0,"~":0},e={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},r=function(r){var n=0,i=r.length,o=function(t,e){return{type:t,value:e,position:n}},a=function(){for(var t,e,o=n,a=0,s=function(t){if("/"===r.charAt(t)&&0===a){for(var e=0;"\\"===r.charAt(t-(e+1));)e++;if(e%2==0)return!0}return!1};n<i;){var c=r.charAt(n);if(s(n)){if(""===(t=r.substring(o,n)))throw{code:"S0301",stack:(new Error).stack,position:n};for(n++,c=r.charAt(n),o=n;"i"===c||"m"===c;)n++,c=r.charAt(n);return e=r.substring(o,n)+"g",new RegExp(t,e)}"("!==c&&"["!==c&&"{"!==c||"\\"===r.charAt(n-1)||a++,")"!==c&&"]"!==c&&"}"!==c||"\\"===r.charAt(n-1)||a--,n++}throw{code:"S0302",stack:(new Error).stack,position:n}},s=function s(c){if(n>=i)return null;for(var u=r.charAt(n);n<i&&" \t\n\r\v".indexOf(u)>-1;)n++,u=r.charAt(n);if("/"===u&&"*"===r.charAt(n+1)){var l=n;for(n+=2,u=r.charAt(n);"*"!==u||"/"!==r.charAt(n+1);)if(u=r.charAt(++n),n>=i)throw{code:"S0106",stack:(new Error).stack,position:l};return n+=2,u=r.charAt(n),s(c)}if(!0!==c&&"/"===u)return n++,o("regex",a());if("."===u&&"."===r.charAt(n+1))return n+=2,o("operator","..");if(":"===u&&"="===r.charAt(n+1))return n+=2,o("operator",":=");if("!"===u&&"="===r.charAt(n+1))return n+=2,o("operator","!=");if(">"===u&&"="===r.charAt(n+1))return n+=2,o("operator",">=");if("<"===u&&"="===r.charAt(n+1))return n+=2,o("operator","<=");if("*"===u&&"*"===r.charAt(n+1))return n+=2,o("operator","**");if("~"===u&&">"===r.charAt(n+1))return n+=2,o("operator","~>");if(Object.prototype.hasOwnProperty.call(t,u))return n++,o("operator",u);if('"'===u||"'"===u){var h=u;n++;for(var f="";n<i;){if("\\"===(u=r.charAt(n)))if(n++,u=r.charAt(n),Object.prototype.hasOwnProperty.call(e,u))f+=e[u];else{if("u"!==u)throw{code:"S0103",stack:(new Error).stack,position:n,token:u};var p=r.substr(n+1,4);if(!/^[0-9a-fA-F]+$/.test(p))throw{code:"S0104",stack:(new Error).stack,position:n};var d=parseInt(p,16);f+=String.fromCharCode(d),n+=4}else{if(u===h)return n++,o("string",f);f+=u}n++}throw{code:"S0101",stack:(new Error).stack,position:n}}var g,v=/^-?(0|([1-9][0-9]*))(\.[0-9]+)?([Ee][-+]?[0-9]+)?/.exec(r.substring(n));if(null!==v){var y=parseFloat(v[0]);if(!isNaN(y)&&isFinite(y))return n+=v[0].length,o("number",y);throw{code:"S0102",stack:(new Error).stack,position:n,token:v[0]}}if("`"===u){n++;var m=r.indexOf("`",n);if(-1!==m)return g=r.substring(n,m),n=m+1,o("name",g);throw n=i,{code:"S0105",stack:(new Error).stack,position:n}}for(var b,x=n;;)if(b=r.charAt(x),x===i||" \t\n\r\v".indexOf(b)>-1||Object.prototype.hasOwnProperty.call(t,b)){if("$"===r.charAt(n))return g=r.substring(n+1,x),n=x,o("variable",g);switch(g=r.substring(n,x),n=x,g){case"or":case"in":case"and":return o("operator",g);case"true":return o("value",!0);case"false":return o("value",!1);case"null":return o("value",null);default:return n===i&&""===g?null:o("name",g)}}else x++};return s},i=function(e,i){var o,a,s={},c=[],u=function(){var t=[];"(end)"!==o.id&&t.push({type:o.type,value:o.value,position:o.position});for(var e=a();null!==e;)t.push(e),e=a();return t},l={nud:function(){var t={code:"S0211",token:this.value,position:this.position};if(i)return t.remaining=u(),t.type="error",c.push(t),t;throw t.stack=(new Error).stack,t}},h=function(t,e){var r=s[t];return e=e||0,r?e>=r.lbp&&(r.lbp=e):((r=Object.create(l)).id=r.value=t,r.lbp=e,s[t]=r),r},f=function(t){if(i){t.remaining=u(),c.push(t);var e=s["(error)"];return(o=Object.create(e)).error=t,o.type="(error)",o}throw t.stack=(new Error).stack,t},p=function(t,r){if(t&&o.id!==t){var n={code:"(end)"===o.id?"S0203":"S0202",position:o.position,token:o.value,value:t};return f(n)}var i=a(r);if(null===i)return(o=s["(end)"]).position=e.length,o;var c,u=i.value,l=i.type;switch(l){case"name":case"variable":c=s["(name)"];break;case"operator":if(!(c=s[u]))return f({code:"S0204",stack:(new Error).stack,position:i.position,token:u});break;case"string":case"number":case"value":c=s["(literal)"];break;case"regex":l="regex",c=s["(regex)"];break;default:return f({code:"S0205",stack:(new Error).stack,position:i.position,token:u})}return(o=Object.create(c)).value=u,o.type=l,o.position=i.position,o},d=function(t){var e,r=o;for(p(null,!0),e=r.nud();t<o.lbp;)r=o,p(),e=r.led(e);return e},g=function(t){h(t,0).nud=function(){return this}},v=function(e,r,n){var i=r||t[e],o=h(e,i);return o.led=n||function(t){return this.lhs=t,this.rhs=d(i),this.type="binary",this},o},y=function(t,e,r){var n=h(t,e);return n.led=r,n},m=function(t,e){var r=h(t);return r.nud=e||function(){return this.expression=d(70),this.type="unary",this},r};g("(end)"),g("(name)"),g("(literal)"),g("(regex)"),h(":"),h(";"),h(","),h(")"),h("]"),h("}"),h(".."),v("."),v("+"),v("-"),v("*"),v("/"),v("%"),v("="),v("<"),v(">"),v("!="),v("<="),v(">="),v("&"),v("and"),v("or"),v("in"),g("and"),g("or"),g("in"),m("-"),v("~>"),y("(error)",10,(function(t){return this.lhs=t,this.error=o.error,this.remaining=u(),this.type="error",this})),m("*",(function(){return this.type="wildcard",this})),m("**",(function(){return this.type="descendant",this})),m("%",(function(){return this.type="parent",this})),v("(",t["("],(function(t){if(this.procedure=t,this.type="function",this.arguments=[],")"!==o.id)for(;"operator"===o.type&&"?"===o.id?(this.type="partial",this.arguments.push(o),p("?")):this.arguments.push(d(0)),","===o.id;)p(",");if(p(")",!0),"name"===t.type&&("function"===t.value||"λ"===t.value)){if(this.arguments.forEach((function(t,e){if("variable"!==t.type)return f({code:"S0208",stack:(new Error).stack,position:t.position,token:t.value,value:e+1})})),this.type="lambda","<"===o.id){for(var e=o.position,r=1,i="<";r>0&&"{"!==o.id&&"(end)"!==o.id;){var a=p();">"===a.id?r--:"<"===a.id&&r++,i+=a.value}p(">");try{this.signature=n(i)}catch(t){return t.position=e+t.offset,f(t)}}p("{"),this.body=d(0),p("}")}return this})),m("(",(function(){for(var t=[];")"!==o.id&&(t.push(d(0)),";"===o.id);)p(";");return p(")",!0),this.type="block",this.expressions=t,this})),m("[",(function(){var t=[];if("]"!==o.id)for(;;){var e=d(0);if(".."===o.id){var r={type:"binary",value:"..",position:o.position,lhs:e};p(".."),r.rhs=d(0),e=r}if(t.push(e),","!==o.id)break;p(",")}return p("]",!0),this.expressions=t,this.type="unary",this})),v("[",t["["],(function(e){if("]"===o.id){for(var r=e;r&&"binary"===r.type&&"["===r.value;)r=r.lhs;return r.keepArray=!0,p("]"),e}return this.lhs=e,this.rhs=d(t["]"]),this.type="binary",p("]",!0),this})),v("^",t["^"],(function(t){p("(");for(var e=[];;){var r={descending:!1};if("<"===o.id?p("<"):">"===o.id&&(r.descending=!0,p(">")),r.expression=d(0),e.push(r),","!==o.id)break;p(",")}return p(")"),this.lhs=t,this.rhs=e,this.type="binary",this}));var b=function(t){var e=[];if("}"!==o.id)for(;;){var r=d(0);p(":");var n=d(0);if(e.push([r,n]),","!==o.id)break;p(",")}return p("}",!0),void 0===t?(this.lhs=e,this.type="unary"):(this.lhs=t,this.rhs=e,this.type="binary"),this};m("{",b),v("{",t["{"],b),y(":=",t[":="],(function(e){return"variable"!==e.type?f({code:"S0212",stack:(new Error).stack,position:e.position,token:e.value}):(this.lhs=e,this.rhs=d(t[":="]-1),this.type="binary",this)})),v("@",t["@"],(function(e){return this.lhs=e,this.rhs=d(t["@"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"@"}):(this.type="binary",this)})),v("#",t["#"],(function(e){return this.lhs=e,this.rhs=d(t["#"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"#"}):(this.type="binary",this)})),v("?",t["?"],(function(t){return this.type="condition",this.condition=t,this.then=d(0),":"===o.id&&(p(":"),this.else=d(0)),this})),m("|",(function(){return this.type="transform",this.pattern=d(0),p("|"),this.update=d(0),","===o.id&&(p(","),this.delete=d(0)),p("|"),this}));var x=function t(e){var r;if("function"!==e.type||e.predicate)if("condition"===e.type)e.then=t(e.then),void 0!==e.else&&(e.else=t(e.else)),r=e;else if("block"===e.type){var n=e.expressions.length;n>0&&(e.expressions[n-1]=t(e.expressions[n-1])),r=e}else r=e;else{var i={type:"lambda",thunk:!0,arguments:[],position:e.position};i.body=e,r=i}return r},w=0,A=0,_=[],k=function t(e,r){switch(e.type){case"name":case"wildcard":r.level--,0===r.level&&(void 0===e.ancestor||(_[r.index].slot.label=e.ancestor.label),e.ancestor=r,e.tuple=!0);break;case"parent":r.level++;break;case"block":e.expressions.length>0&&(e.tuple=!0,r=t(e.expressions[e.expressions.length-1],r));break;case"path":e.tuple=!0;var n=e.steps.length-1;for(r=t(e.steps[n--],r);r.level>0&&n>=0;)r=t(e.steps[n--],r);break;default:throw{code:"S0217",token:e.type,position:e.position}}return r},E=function(t,e){if(void 0!==e.seekingParent||"parent"===e.type){var r=void 0!==e.seekingParent?e.seekingParent:[];"parent"===e.type&&r.push(e.slot),void 0===t.seekingParent?t.seekingParent=r:Array.prototype.push.apply(t.seekingParent,r)}},S=function(t){var e=t.steps.length-1,r=t.steps[e],n=void 0!==r.seekingParent?r.seekingParent:[];"parent"===r.type&&n.push(r.slot);for(var i=0;i<n.length;i++){var o=n[i];for(e=t.steps.length-2;o.level>0;){if(e<0){void 0===t.seekingParent?t.seekingParent=[o]:t.seekingParent.push(o);break}for(var a=t.steps[e--];e>=0&&a.focus&&t.steps[e].focus;)a=t.steps[e--];o=k(a,o)}}},M=function t(e){var r;switch(e.type){case"binary":switch(e.value){case".":var n=t(e.lhs);r="path"===n.type?n:{type:"path",steps:[n]},"parent"===n.type&&(r.seekingParent=[n.slot]);var o=t(e.rhs);"function"===o.type&&"path"===o.procedure.type&&1===o.procedure.steps.length&&"name"===o.procedure.steps[0].type&&"function"===r.steps[r.steps.length-1].type&&(r.steps[r.steps.length-1].nextFunction=o.procedure.steps[0].value),"path"===o.type?Array.prototype.push.apply(r.steps,o.steps):(void 0!==o.predicate&&(o.stages=o.predicate,delete o.predicate),r.steps.push(o)),r.steps.filter((function(t){if("number"===t.type||"value"===t.type)throw{code:"S0213",stack:(new Error).stack,position:t.position,value:t.value};return"string"===t.type})).forEach((function(t){t.type="name"})),r.steps.filter((function(t){return!0===t.keepArray})).length>0&&(r.keepSingletonArray=!0);var a=r.steps[0];"unary"===a.type&&"["===a.value&&(a.consarray=!0);var s=r.steps[r.steps.length-1];"unary"===s.type&&"["===s.value&&(s.consarray=!0),S(r);break;case"[":var u=r=t(e.lhs),l="predicate";if("path"===r.type&&(u=r.steps[r.steps.length-1],l="stages"),void 0!==u.group)throw{code:"S0209",stack:(new Error).stack,position:e.position};void 0===u[l]&&(u[l]=[]);var h=t(e.rhs);void 0!==h.seekingParent&&(h.seekingParent.forEach((function(t){1===t.level?k(u,t):t.level--})),E(u,h)),u[l].push({type:"filter",expr:h,position:e.position});break;case"{":if(void 0!==(r=t(e.lhs)).group)throw{code:"S0210",stack:(new Error).stack,position:e.position};r.group={lhs:e.rhs.map((function(e){return[t(e[0]),t(e[1])]})),position:e.position};break;case"^":"path"!==(r=t(e.lhs)).type&&(r={type:"path",steps:[r]});var f={type:"sort",position:e.position};f.terms=e.rhs.map((function(e){var r=t(e.expression);return E(f,r),{descending:e.descending,expression:r}})),r.steps.push(f),S(r);break;case":=":(r={type:"bind",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),E(r,r.rhs);break;case"@":if(r=t(e.lhs),u=r,"path"===r.type&&(u=r.steps[r.steps.length-1]),void 0!==u.stages||void 0!==u.predicate)throw{code:"S0215",stack:(new Error).stack,position:e.position};if("sort"===u.type)throw{code:"S0216",stack:(new Error).stack,position:e.position};e.keepArray&&(u.keepArray=!0),u.focus=e.rhs.value,u.tuple=!0;break;case"#":r=t(e.lhs),u=r,"path"===r.type?u=r.steps[r.steps.length-1]:(r={type:"path",steps:[r]},void 0!==u.predicate&&(u.stages=u.predicate,delete u.predicate)),void 0===u.stages?u.index=e.rhs.value:u.stages.push({type:"index",value:e.rhs.value,position:e.position}),u.tuple=!0;break;case"~>":(r={type:"apply",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs);break;default:(r={type:e.type,value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),E(r,r.lhs),E(r,r.rhs)}break;case"unary":r={type:e.type,value:e.value,position:e.position},"["===e.value?r.expressions=e.expressions.map((function(e){var n=t(e);return E(r,n),n})):"{"===e.value?r.lhs=e.lhs.map((function(e){var n=t(e[0]);E(r,n);var i=t(e[1]);return E(r,i),[n,i]})):(r.expression=t(e.expression),"-"===e.value&&"number"===r.expression.type?(r=r.expression).value=-r.value:E(r,r.expression));break;case"function":case"partial":(r={type:e.type,name:e.name,value:e.value,position:e.position}).arguments=e.arguments.map((function(e){var n=t(e);return E(r,n),n})),r.procedure=t(e.procedure);break;case"lambda":r={type:e.type,arguments:e.arguments,signature:e.signature,position:e.position};var p=t(e.body);r.body=x(p);break;case"condition":(r={type:e.type,position:e.position}).condition=t(e.condition),E(r,r.condition),r.then=t(e.then),E(r,r.then),void 0!==e.else&&(r.else=t(e.else),E(r,r.else));break;case"transform":(r={type:e.type,position:e.position}).pattern=t(e.pattern),r.update=t(e.update),void 0!==e.delete&&(r.delete=t(e.delete));break;case"block":(r={type:e.type,position:e.position}).expressions=e.expressions.map((function(e){var n=t(e);return E(r,n),(n.consarray||"path"===n.type&&n.steps[0].consarray)&&(r.consarray=!0),n}));break;case"name":r={type:"path",steps:[e]},e.keepArray&&(r.keepSingletonArray=!0);break;case"parent":r={type:"parent",slot:{label:"!"+w++,level:1,index:A++}},_.push(r);break;case"string":case"number":case"value":case"wildcard":case"descendant":case"variable":case"regex":r=e;break;case"operator":if("and"===e.value||"or"===e.value||"in"===e.value)e.type="name",r=t(e);else{if("?"!==e.value)throw{code:"S0201",stack:(new Error).stack,position:e.position,token:e.value};r=e}break;case"error":r=e,e.lhs&&(r=t(e.lhs));break;default:var d="S0206";"(end)"===e.id&&(d="S0207");var g={code:d,position:e.position,token:e.value};if(i)return c.push(g),{type:"error",error:g};throw g.stack=(new Error).stack,g}return e.keepArray&&(r.keepArray=!0),r};a=r(e),p();var T=d(0);if("(end)"!==o.id){var P={code:"S0201",position:o.position,token:o.value};f(P)}if("parent"===(T=M(T)).type||void 0!==T.seekingParent)throw{code:"S0217",token:T.type,position:T.position};return c.length>0&&(T.errors=c),T};return i}();e.exports=i},{"./signature":5}],5:[function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var i=t("./utils"),o=function(){var t={a:"arrays",b:"booleans",f:"functions",n:"numbers",o:"objects",s:"strings"};function e(e){for(var r=1,o=[],a={},s=a;r<e.length;){var c=e.charAt(r);if(":"===c)break;var u=function(){o.push(a),s=a,a={}},l=function(t,e,r,n){for(var i=1,o=e;o<t.length;)if(o++,(c=t.charAt(o))===n){if(0==--i)break}else c===r&&i++;return o};switch(c){case"s":case"n":case"b":case"l":case"o":a.regex="["+c+"m]",a.type=c,u();break;case"a":a.regex="[asnblfom]",a.type=c,a.array=!0,u();break;case"f":a.regex="f",a.type=c,u();break;case"j":a.regex="[asnblom]",a.type=c,u();break;case"x":a.regex="[asnblfom]",a.type=c,u();break;case"-":s.context=!0,s.contextRegex=new RegExp(s.regex),s.regex+="?";break;case"?":case"+":s.regex+=c;break;case"(":var h=l(e,r,"(",")"),f=e.substring(r+1,h);if(-1!==f.indexOf("<"))throw{code:"S0402",stack:(new Error).stack,value:f,offset:r};a.regex="["+f+"m]",a.type="("+f+")",r=h,u();break;case"<":if("a"!==s.type&&"f"!==s.type)throw{code:"S0401",stack:(new Error).stack,value:s.type,offset:r};var p=l(e,r,"<",">");s.subtype=e.substring(r+1,p),r=p}r++}var d="^"+o.map((function(t){return"("+t.regex+")"})).join("")+"$",g=new RegExp(d),v=function(t){var e;if(i.isFunction(t))e="f";else switch(n(t)){case"string":e="s";break;case"number":e="n";break;case"boolean":e="b";break;case"object":e=null===t?"l":Array.isArray(t)?"a":"o";break;default:e="m"}return e},y=function(t,e){for(var r="^",n=0,i=0;i<o.length;i++){r+=o[i].regex;var a=e.match(r);if(null===a)throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1};n=a[0].length}throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1}};return{definition:e,validate:function(e,r){var n="";e.forEach((function(t){n+=v(t)}));var i=g.exec(n);if(i){var a=[],s=0;return o.forEach((function(n,o){var c=e[s],u=i[o+1];if(""===u)if(n.context&&n.contextRegex){var l=v(r);if(!n.contextRegex.test(l))throw{code:"T0411",stack:(new Error).stack,value:r,index:s+1};a.push(r)}else a.push(c),s++;else u.split("").forEach((function(r){if("a"===n.type){if("m"===r)c=void 0;else{c=e[s];var i=!0;if(void 0!==n.subtype)if("a"!==r&&u!==n.subtype)i=!1;else if("a"===r&&c.length>0){var o=v(c[0]);i=o===n.subtype.charAt(0)&&0===c.filter((function(t){return v(t)!==o})).length}if(!i)throw{code:"T0412",stack:(new Error).stack,value:c,index:s+1,type:t[n.subtype]};"a"!==r&&(c=[c])}a.push(c),s++}else a.push(c),s++}))})),a}y(e,n)}}}return e}();e.exports=o},{"./utils":6}],6:[function(t,e,r){function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=i(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}var s=function(){function t(t){var e=!1;if("number"==typeof t&&(e=!isNaN(t))&&!isFinite(t))throw{code:"D1001",value:t,stack:(new Error).stack};return e}function e(t){var e=!1;return Array.isArray(t)&&(e=0===t.filter((function(t){return"string"!=typeof t})).length),e}function r(e){var r=!1;return Array.isArray(e)&&(r=0===e.filter((function(e){return!t(e)})).length),r}function i(){var t=[];return t.sequence=!0,1===arguments.length&&t.push(arguments[0]),t}function o(t){return!0===t.sequence&&Array.isArray(t)}function s(t){return t&&(!0===t._jsonata_function||!0===t._jsonata_lambda)||"function"==typeof t}function c(t){return"number"==typeof t.arity?t.arity:"function"==typeof t.implementation?t.implementation.length:"number"==typeof t.length?t.length:t.arguments.length}function u(t){return t&&!0===t._jsonata_lambda}var l=("function"==typeof Symbol?Symbol:{}).iterator||"@@iterator";function h(t){return"object"===a(t)&&null!==t&&l in t&&"next"in t&&"function"==typeof t.next}function f(t,e){if(t===e)return!0;if("object"===a(t)&&"object"===a(e)&&null!==t&&null!==e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!f(t[r],e[r]))return!1;return!0}var n=Object.getOwnPropertyNames(t),i=Object.getOwnPropertyNames(e);if(n.length!==i.length)return!1;for(n=n.sort(),i=i.sort(),r=0;r<n.length;r++)if(n[r]!==i[r])return!1;for(r=0;r<n.length;r++){var o=n[r];if(!f(t[o],e[o]))return!1}return!0}return!1}function p(t){return"object"===a(t)&&null!==t&&"then"in t&&"function"==typeof t.then}function d(t){var e,r=[],i=n(t);try{for(i.s();!(e=i.n()).done;){var o=e.value;r.push(o)}}catch(t){i.e(t)}finally{i.f()}return r}return{isNumeric:t,isArrayOfStrings:e,isArrayOfNumbers:r,createSequence:i,isSequence:o,isFunction:s,isLambda:u,isIterable:h,getFunctionArity:c,isDeepEqual:f,stringToArray:d,isPromise:p}}();e.exports=s},{}]},{},[3])(3)}(m5);var b5=m5.exports;const x5=function(t){return t};function w5(t){if(!t)return x5;try{var e=b5(t);return function(t){return e.evaluate(t)}}catch(t){return console.error(t),x5}}function A5(t){var e=L4(t);return null==e?"":String(e)}function _5(t){return Number(L4(t))}function k5(t){return t}function E5(t){return A5(t)}function S5(t){return _5(t)}function M5(t){if(this.param)return t=A5(t),this.param.hasOwnProperty(t)?this.param[t]:this.param.default}function T5(t){var{param:e}=this;if(e){for(let r in e){let[n,i]=r.split("~"),o=!!n,a=!!i;if(n=parseFloat(n),i=parseFloat(i),t=_5(t),o&&!a&&t>=n)return e[r];if(!o&&a&&t<n)return e[r];if(t>=n&&t<i)return e[r]}return e.default}}function P5(t){return _5(t)*Math.PI/180}function O5(){}function I5(t,e,r,n,i){switch(r){case"value":return"text"===i||"string"===i?E5.bind(t):"number"===i?S5.bind(t):k5.bind(e);case"map":return M5.bind(t);case"range":return T5.bind(t);case"radian":return P5.bind(t);case"eval":return function(t){try{return new Function("value","targets",t)}catch(t){return X4(t),O5}}(n).bind(e);default:return k5.bind(e)}}class R5{constructor(t,e){this.owner=e,this.model=t}dispose(){delete this._model,delete this.owner,delete this.evaluator,delete this.accessor}get model(){return this._model}set model(t){var{target:e,property:r,rule:n,param:i,accessor:o}=t;this._model=t,this.evaluator=I5(this,this.owner,n,i,function(t){switch(t){case"ref":case"fillStyle":case"strokeStyle":return"string";default:return}}(r)),this.accessor=w5(o);const a=e.match(/\[(.*?)\]/);if(a){var[s,c]=a[1].split(":");this.propAccessor=w5(s),this.partAccessor=w5(c)}}get target(){return this.model.target}get property(){return this.model.property}get param(){return this.model.param}get ndnsp(){return!!this.model.ndnsp}}function C5(t=!1){(t||void 0!==this.data)&&this.mappings&&this.mappings.forEach((t=>{try{var{target:e,property:r,accessor:n,propAccessor:i,partAccessor:o}=t,a=n(this.data);if("(root)"==(e=e.trim())||"(key)"==e){if(null==a)return;let e=Object.keys(a||{}).map((t=>this.root.findOrCreate(t))).filter(Boolean).flat();e.length>0&&e.forEach((e=>{let n=t.evaluator(a[e.get("id")],[e]);!r||"(action)"===r||t.ndnsp&&!n&&0!==n&&!1!==n||(e[r]=n)}))}else if(e.startsWith("[")){if(null==a)return;if(a instanceof Array)a.forEach((e=>{let n=i(e);if(n){let i=this.root.findOrCreate(n);if(i){let n=t.evaluator(o(e),i);!r||"(action)"===r||t.ndnsp&&!n&&0!==n&&!1!==n||i.forEach((t=>t[r]=n))}}}));else{if(!(a instanceof Object))throw String("mapping data should be an object to target property-id.("+a+")");{let e=i(a);if(e){let n=this.root.findOrCreate(e);if(n){let e=t.evaluator(o(a),n);!r||"(action)"===r||t.ndnsp&&!e&&0!==e&&!1!==e||n.forEach((t=>t[r]=e))}}}}}else{let n=this.root.findAll(e,this);if(n.length>0){let e=t.evaluator(a,n);!r||"(action)"===r||t.ndnsp&&!e&&0!==e&&!1!==e||n.forEach((t=>t[r]=e))}}}catch(e){X4(e,this,t)}}))}var j5;function L5(t,e,r,n,i){var{alpha:o=1}=n,a=i.fillStyle;if(t.globalAlpha*=o,a)if("string"==typeof a)t.fillStyle=a,t.fill();else if("object"==typeof a)if("gradient"==a.type){t.translate(r.x,r.y);let n,{width:i,height:o}=e;if("linear"==a.gradientType){let e=3.141592653589793,r=a.rotation;if(r>=.436332&&r<=1.13446||r>=2.00713&&r<=2.70526||r>=3.57792&&r<=4.27606||r>=5.14872&&r<=5.84685){let a=Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));a-=a-(i+o)/3,n=t.createLinearGradient(a*Math.cos(r+e),a*Math.sin(r+e),a*Math.cos(r),a*Math.sin(r))}else n=t.createLinearGradient((i-4)/2*Math.cos(r+e),(o-4)/2*Math.sin(r+e),(i-4)/2*Math.cos(r),(o-4)/2*Math.sin(r))}else if("radial"==a.gradientType){let e=.95*Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));switch(a.center){case"center":default:n=t.createRadialGradient(0,0,0,0,0,e);break;case"left-top":n=t.createRadialGradient(-i/2,-o/2,0,-i/2,-o/2,2*e);break;case"right-top":n=t.createRadialGradient(i/2,-o/2,0,i/2,-o/2,2*e);break;case"left-bottom":n=t.createRadialGradient(-i/2,o/2,0,-i/2,o/2,2*e);break;case"right-bottom":n=t.createRadialGradient(i/2,o/2,0,i/2,o/2,2*e)}}a.colorStops.forEach((t=>{if(t.position>=0&&t.position<=1)try{n.addColorStop(t.position,t.color)}catch(e){V4("Invalid Color for colorstop : ",t.color),n.addColorStop(t.position,"#fff")}})),t.fillStyle=n,t.fill(),t.translate(-r.x,-r.y)}else if("pattern"==a.type&&a.image){i.prepareFillIf(!i._pattern_image_origin);var s=i._pattern_image;if(!s)return;let r=0,n=0,o=0,c=0,u=e.left,l=e.top;if(!a.fitPattern){r=a.offsetX,n=a.offsetY;const t=a.width?a.width:s.width,i=a.height?a.height:s.height;switch(a.align){case"center":o=e.width/2-t/2,c=e.height/2-i/2;break;case"left-top":o=0,c=0;break;case"left-bottom":o=0,c=e.height-i;break;case"right-top":o=e.width-t,c=0;break;case"right-bottom":o=e.width-t,c=e.height-i;break;case"left":o=0,c=e.height/2-i/2;break;case"right":o=e.width-t,c=e.height/2-i/2;break;case"top":o=e.width/2-t/2,c=0;break;case"bottom":o=e.width/2-t/2,c=e.height-i}u+=r+o,l+=n+c}t.translate(u,l),a.color&&(t.fillStyle=a.color,t.fill()),a.fitPattern?Math.abs((s.width-e.width)*(s.height-e.height))>1?(delete i._pattern_image,delete i._pattern_image_origin):t.fillStyle=t.createPattern(s,"no-repeat"):t.fillStyle=t.createPattern(s,a.noRepeat?"no-repeat":"repeat"),t.fill(),t.translate(-u,-l)}}function D5(t,e,r){var{strokeStyle:n,lineDash:i,lineWidth:o,lineCap:a,lineJoin:s,alpha:c}=e;if(n&&0!=o){if(a&&(t.lineCap=a),i){var u="round"==a;switch(i){case"solid":i=[0,0];break;case"round-dot":i=u?[0,2*o]:[o,o];break;case"square-dot":i=u?[o,2*o]:[2*o,o];break;case"dash":i=u?[3*o,2.5*o]:[4*o,1.5*o];break;case"dash-dot":i=u?[3*o,3*o,0,3*o]:[4*o,2*o,o,2*o];break;case"long-dash":i=u?[5*o,4*o]:[6*o,3*o];break;case"long-dash-dot":i=u?[5*o,3*o,0,3*o]:[6*o,2*o,o,2*o];break;case"long-dash-dot-dot":i=u?[5*o,2*o,0,2*o,0,2*o]:[6*o,o,o,o,o,o]}t.setLineDash(i)}t.globalAlpha*=c,t.strokeStyle=n,t.lineWidth=o,t.lineJoin=s,t.stroke()}}function z5(t,e,r){if(e.length<2)return e;for(var n=2;n<e.length;n++){var i=e.substring(0,n);if(!(t.measureText(i).width<r))break}return e.substring(0,n-1)}function F5(t,e,r,n){var i=String(e).split("\n");return n?[].concat.apply([],i.map((e=>function(t,e,r){var n,i,o=e.split(" "),a=[],s=[];for(n=0,i=1;i<=o.length;i++)if(s=o.slice(n,i),t.measureText(s.join(" ")).width>r){if(i-n==1){let e=z5(t,s[0],r);a.push([e]),o.splice(n,1,e,s[0].substring(e.length))}else{for(;""==o[i-1];)i++;a.push(o.slice(n,--i))}n=i}return i-n>1&&a.push(s),0==a.length&&a.push([""]),a}(t,e,r)))):i.map((t=>t.split(" ")))}function B5(t,e,r,n,i,o=0,a=!1,s=!0){o="number"==typeof o?{tl:o,tr:o,br:o,bl:o}:{tl:0,tr:0,br:0,bl:0,...o},t.beginPath(),t.moveTo(e+o.tl,r),t.lineTo(e+n-o.tr,r),t.quadraticCurveTo(e+n,r,e+n,r+o.tr),t.lineTo(e+n,r+i-o.br),t.quadraticCurveTo(e+n,r+i,e+n-o.br,r+i),t.lineTo(e+o.bl,r+i),t.quadraticCurveTo(e,r+i,e,r+i-o.bl),t.lineTo(e,r+o.tl),t.quadraticCurveTo(e,r,e+o.tl,r),t.closePath(),a&&t.fill(),s&&t.stroke()}function N5(t,e,r,n,i){if(!n)return[];t.save(),t.font=r;var o=F5(t,n,e,!!i);return t.restore(),o}function U5(t){var{fontFamily:e=s5.FONT_FAMILY,bold:r=s5.BOLD,italic:n=s5.ITALIC,fontSize:i=s5.FONT_SIZE}=t,o=[];return r&&o.push("bold"),n&&o.push("italic"),o.push(i+"px"),o.push(e),o.join(" ")}function G5(t,e,r,n){var{alpha:i,fontColor:o=s5.FONT_COLOR,textAlign:a=s5.TEXT_ALIGN,textBaseline:s=s5.TEXT_BASELINE,textBackgroundStyle:c,fontSize:u,lineHeight:l}=n;i||=s5.FONT_COLOR,u||=s5.FONT_SIZE,l||=1.2*u,t.save(),t.beginPath();var{left:h,top:f,width:p,height:d}=e;t.font=U5(n);var g,v,y=r.length*l;switch(s){case"top":g=f,t.textBaseline="top";break;case"bottom":g=f+d-y+l,t.textBaseline="bottom";break;default:g=f+d/2-y/2+l/2,t.textBaseline="middle"}switch(a){case"left":case"justify":v=h,t.textAlign="left";break;case"right":v=h+p,t.textAlign="right";break;default:v=h+p/2,t.textAlign="center"}t.globalAlpha*=i,t.fillStyle=o,"justify"!=a?r.forEach(((e,r)=>{if(c){t.fillStyle=c;let r=t.measureText(e.join(" "));B5(t,v-r.actualBoundingBoxLeft-4,g-r.actualBoundingBoxAscent-4,r.actualBoundingBoxLeft+r.actualBoundingBoxRight+8,r.actualBoundingBoxAscent+r.actualBoundingBoxDescent+8,4,!0,!1),t.fillStyle=o}t.fillText(e.join(" "),v,g+r*l)})):r.forEach(((e,r)=>{let n=g+r*l;if(1==e.length){if(c){t.fillStyle=c;let r=t.measureText(e[0]);B5(t,v-r.actualBoundingBoxLeft-4,n-r.actualBoundingBoxAscent-4,r.actualBoundingBoxLeft+r.actualBoundingBoxRight+8,r.actualBoundingBoxAscent+r.actualBoundingBoxDescent+8,4,!0,!1),t.fillStyle=o}t.fillText(e[0],v,n)}else{let r=e.map((e=>t.measureText(e).width)),i=r.map((t=>t.width)),a=i.reduce(((t,e)=>t+e),0),s=(p-a)/(e.length-1),u=v;e.forEach(((e,a)=>{c&&(t.fillStyle=c,B5(t,u-r[a].actualBoundingBoxLeft-4,n-r[a].actualBoundingBoxAscent-4,r[a].actualBoundingBoxLeft+r[a].actualBoundingBoxRight+8,r[a].actualBoundingBoxAscent+r[a].actualBoundingBoxDescent+8,4,!0,!1),t.fillStyle=o),t.fillText(e,u,n),u+=i[a]+s}))}})),t.restore()}function Y5(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){return t-=r.x,e-=r.y,{x:(t*Math.cos(-n)-e*Math.sin(-n)+r.x)/i.x,y:(t*Math.sin(-n)+e*Math.cos(-n)+r.y)/i.y}}function H5(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){return t-=r.x,e-=r.y,{x:(t*Math.cos(n)-e*Math.sin(n)+r.x)*i.x,y:(t*Math.sin(n)+e*Math.cos(n)+r.y)*i.y}}function W5(t){var e=t.element,r=t.fillStyle,n=e.style;if(r)if("string"==typeof r)n.backgroundColor=r;else switch(r.type){case"pattern":if(n.backgroundImage="url("+r.image+")",n.backgroundColor="transparent",r.fitPattern?n.backgroundSize="100% 100%":r.width||r.height?n.backgroundSize=`${r.width?r.width+"px":"auto"} ${r.height?r.height+"px":"auto"}`:n.backgroundSize="contain",r.fitPattern)n.backgroundRepeat="no-repeat";else{const{offsetX:t,offsetY:e,noRepeat:i,align:o,color:a}=r;if(i&&(n.backgroundRepeat="no-repeat"),a&&(n.backgroundColor=a),o)switch(o){case"center":n.backgroundPosition="center center";break;case"left-top":n.backgroundPosition="left top";break;case"left-bottom":n.backgroundPosition="left bottom";break;case"right-top":n.backgroundPosition="right top";break;case"right-bottom":n.backgroundPosition="right bottom";break;case"left":n.backgroundPosition="left center";break;case"right":n.backgroundPosition="right center";break;case"top":n.backgroundPosition="center top";break;case"bottom":n.backgroundPosition="center bottom"}else t||e?n.backgroundPosition=`${Number(t)||0}px ${Number(e)||0}px`:delete n.backgroundPosition}break;case"gradient":n.background=function(t,e){var r=e.colorStops,n=e.gradientType;if(r instanceof Array&&r.length>0)switch(n){case"radial":return"radial-gradient(farthest-corner at "+function(t,e){var{width:r,height:n}=t.bounds;switch(e){case"center":return[r/2,n/2];case"left-top":return[0,0];case"right-top":return[r,0];case"left-bottom":return[0,n];default:return[r,n]}}(t,e.center||"center").map((t=>t+"px")).join(" ")+","+r.map((t=>`${t.color} ${100*t.position}%`)).join(",")+")";case"linear":return"linear-gradient("+(180*(e.rotation||0)/3.141592653589793+90+"deg")+", "+r.map((t=>`${t.color} ${100*t.position}%`)).join(",")+")"}return""}(t,r)}else n.background="transparent"}j5="undefined"==typeof document?function(t,e){return new Canvas(t,e)}:function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r};const q5={x:1,y:1},X5={x:0,y:0},V5={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"};function Q5(t){var{id:e,scale:r=q5,translate:n=X5,bold:i,italic:o,fontFamily:a="",textAlign:s,textBaseline:c,paddingTop:u,paddingBottom:l,paddingLeft:h,paddingRight:f,fontSize:p=s5.FONT_SIZE,lineWidth:d=0,lineDash:g}=t.state;l||=0,u||=0,h||=0,f||=0;var v=t.state.class;t.text;var{strokeStyle:y,fillStyle:m,rotation:b=0,fontColor:x,hidden:w}=t,{left:A,top:_,width:k,height:E}=t.bounds,S=t.element;S.hidden=w,e&&(S.id=e),v&&(S.className=v),Object.assign(S.style,V5,{fontFamily:a,fontSize:p+"px",left:A+"px",top:_+"px",width:k+"px",height:E+"px",paddingTop:u+"px",paddingRight:f+"px",paddingBottom:l+"px",paddingLeft:h+"px",border:d+"px",borderColor:y,borderStyle:d>0?g||s5.LINE_DASH:"",color:x,fontWeight:i?"bold":"",fontStyle:o?"italic":"",textAlign:"end"==s?"right":"start"==s?"left":s,verticalAlign:c}),W5(t),function(t){if(t.isShadowable()&&t.state.shadow){var e=t.element,{left:r=0,top:n=0,blurSize:i=0,color:o="transparent"}=t.state.shadow;e.style.boxShadow=`${r}px ${n}px ${i}px ${o}`}}(t);var M=t.delta(),T=(r&&r.x||1)*M.sx,P=(r&&r.y||1)*M.sy,O=(b||0)+M.theta,I=M.tx||0,R=M.ty||0;["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{S.style[t+"transform"]=`rotate(${O}rad) translate(${I}px, ${R}px) scale(${T}, ${P}) perspective(1px)`}))}var K5,J5=[];function Z5(){K5=null;var t=performance.now(),e=(J5=J5.filter((t=>$5(t)))).reduce(((e,r)=>{let n=t-r.updatedAt;return n>=r.retention?e.kills.push(r):e.next=0==e.next?r.retention-n:Math.min(e.next,r.retention-n),e}),{next:0,kills:[]});e.kills.forEach((t=>{let e=J5.indexOf(t);-1!=e?(J5.splice(e,1),t.removeSelf(!0)):X4("Should not be here. Maybe reentrance problem.")})),e.next>0&&(K5=setTimeout(t6,Math.max(e.next,500)))}function $5(t){return!t.disposed&&t.retention>0&&!t.isTemplate()&&t.app&&t.app.isViewMode}var t6=E4((function(){requestAnimationFrame(Z5)}),500);var e6=new class{add(t){$5(t)&&-1==J5.indexOf(t)&&(J5.push(t),t.touch()),this.touch()}remove(t){var e=J5.indexOf(t);e>0&&J5.splice(e,1),this.touch()}touch(){null!==K5&&(clearTimeout(K5),K5=null),t6()}get length(){return J5.length}};const r6=function(t){return t};function n6(t){var e=t.indexOf("||"),r="",n="";-1!=e&&(r=t,n=t.substring(e+2,t.length-1).trim(),t=t.replace(t.substring(e,t.length-1),"").trim());var i=t.substr(2,t.length-3).trim().replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".").filter((t=>!!t.trim())),o=i.slice(1);return{defaultValue:n,match:t,originText:r||t,target:i[0],accessor:o.length>0?function(t){return o.reduce(((t,e)=>t?t[e]:void 0),t)}:r6}}function i6(t,e,r){if(t){var n=r||L4,i=String(t),o=(i.match(/#{[^}]*}/gi)||[]).map((t=>n6(t))),a=(i.match(/\${[^}]*}/gi)||[]).map((t=>n6(t)));if(0!=o.length||0!=a.length)return function(){var t=i;return o.forEach((r=>{let i=n(r.accessor(e.getState(r.target)));t=t.replace(r.originText,void 0===i?r.defaultValue||"":i)})),a.forEach((r=>{let i=e.root.findById(r.target),o=n(r.accessor(i&&i.data));t=t.replace(r.originText,void 0===o?r.defaultValue||"":o)})),t}}}const o6=210*Math.PI/180,a6=150*Math.PI/180;var s6={"data-spread":function(t,e,r){if(!t.app.isEditMode)return;var n=!1;e.lineWidth=2,e.strokeStyle="orange";const i=t.root;return t.mappings&&t.mappings.forEach((r=>{let o=i.findAll(r.target,t);o&&o.forEach((r=>{let i=t.center,o=r.center;i=t.transcoordS2C(i.x,i.y,t.rootModel),o=r.transcoordS2C(o.x,o.y,r.rootModel),function(t,e,r,n=10){var i=r.x-e.x,o=r.y-e.y,a=Math.atan2(o,i),s=r.x+n*Math.cos(a+o6),c=r.y+n*Math.sin(a+o6),u=r.x+n*Math.cos(a+a6),l=r.y+n*Math.sin(a+a6);t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(r.x,r.y),t.moveTo(r.x,r.y),t.lineTo(s,c),t.moveTo(r.x,r.y),t.lineTo(u,l),t.stroke()}(e,i,o),n=!0}))})),n},"bouncing-arrow":function(t,e,r){let{left:n,top:i,width:o}=t.bounds,a=t.state.id,{x:s,y:c}=t.transcoordS2C(n+o/2,i,t.rootModel);const u=2*function(t){const e=100*(1-t)%10;return e<5?e:10-e}(r||0);if(s=Math.max(s,20),c=Math.max(c,20),e.beginPath(),e.moveTo(s-10,c-16+u),e.lineTo(s+10,c-16+u),e.lineTo(s+10,c-8+u),e.lineTo(s+16,c-8+u),e.lineTo(s,c+u),e.lineTo(s-16,c-8+u),e.lineTo(s-10,c-8+u),e.lineTo(s-10,c-16+u),e.lineTo(s-10,c-16+u),e.fillStyle="#FF0000",e.fill(),a){e.beginPath(),e.font="12px Arial";let t=e.measureText(a);e.fillStyle="#FF0000",e.roundRect(s-t.actualBoundingBoxLeft-3+20,c-t.actualBoundingBoxAscent-3-6+u,t.actualBoundingBoxLeft+t.actualBoundingBoxRight+6,t.actualBoundingBoxAscent+t.actualBoundingBoxDescent+6,3),e.fill(),e.fillStyle="white",e.fillText(a,s+20,c-6+u)}return!0},decotag:function(t,e,r){const n=t.decotag;if(n){let{left:r,top:i}=t.bounds,{x:o,y:a}=t.transcoordS2C(r,i,t.rootModel);o=Math.max(o+3,5),a=Math.max(a-8,15),e.font="12px Arial";let s=e.measureText(n);return e.beginPath(),e.fillStyle="#FF0000",e.roundRect(o-s.actualBoundingBoxLeft-3,a-s.actualBoundingBoxAscent-3,s.actualBoundingBoxLeft+s.actualBoundingBoxRight+6,s.actualBoundingBoxAscent+s.actualBoundingBoxDescent+6,3),e.fill(),e.beginPath(),e.fillStyle="white",e.fillText(n,o,a),!0}return!1},anchors:function(t,e,r){if(e.app.isEditMode){var n=!1;return t.anchors&&t.anchors.forEach((r=>{const{name:i,position:o}=r;var{x:a,y:s}=o||{};if(!i)return;var{x:a,y:s}=t.transcoordS2C(a,s,t.rootModel);a+=4,s+=4,e.font="12px Arial";let c=e.measureText(i);e.fillStyle="#FF0000",B5(e,a,s,c.width+6,16,3,!0,!1),e.fillStyle="white",e.fillText(i,a+3,s+13),n=!0})),n}},link:function(t,e,r){var n=!1;if(!t.isLine())return;const{fromEnd:i,toEnd:o}=t;return[i,o].filter(Boolean).forEach((t=>{const{component:r,anchor:i}=t;if(!i)return;const{name:o,position:a}=i||{};if(!o||!a)return;var{x:s,y:c}=a||{},{x:s,y:c}=r.transcoordS2C(s,c,r.rootModel);s+=8,c+=20,e.font="12px Arial";let u=e.measureText(o);e.fillStyle="#FF0000",B5(e,s-u.actualBoundingBoxLeft-4,c-u.actualBoundingBoxAscent-4,u.actualBoundingBoxLeft+u.actualBoundingBoxRight+8,u.actualBoundingBoxAscent+u.actualBoundingBoxDescent+8,4,!0,!1),e.fillStyle="white",e.fillText(o,s,c),n=!0})),n}};function c6(t){return s6[t]}var u6={};const l6={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"},h6=[],f6={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0},p6=new WeakMap;var d6=0;class g6{static get nature(){return l6}static register(t,e){if(!e)return u6[t];u6[t]=e}static get residents(){return p6}static registerDecorator(t,e){!function(t,e){s6[t]=e}(t,e)}constructor(t,e){this._app=e,this._model=t||{},this._state={},this._delta=l4(f6),e&&this.animation&&(this.animation.started=!0),this.clearCache(),e6.add(this),p6.set(this,d6++)}created(){}added(t){}removed(t){}async ready(){if(this.state.persistent){const{isViewMode:t,dataStorage:e}=this.app;t&&(this.data=await e.load(this))}}touch(){this.updatedAt=performance.now()}clearCache(...t){!function(t,...e){0==e.length?t.__cache__={}:e.forEach((e=>delete t.__cache__[e]))}(this,...t)}removeSelf(t){t?this.dispose():this.parent&&this.parent.removeComponent(this)}dispose(){this._animation&&(this._animation.dispose(),delete this._animation),this.disposeMappings(),this.parent&&this.parent.removeComponent(this),delete this._text_substitutor,delete this._value_substitutor,this._disposed=!0,this.retention&&e6.touch(),this.clearCache(),delete this._app}get nature(){return this.constructor.nature}get disposed(){return!!this._disposed}isLayer(){return!1}isGroup(){return!1}isContainer(){return!1}isLine(){return!1}isRoot(){return!1}isRootModel(){return!1}is3dish(){return!1}isTemplate(){return!!this.get("templatePrefix")}isHTMLElement(){return!1}isConnectable(){return!1}replaceRefids(t){}get retention(){return Number(this.get("retention"))||0}get hasTextProperty(){return!0}get app(){return!this._app&&this.parent&&(this._app=this.parent.app),this._app}get model(){return this._model}get state(){return Object.assign({},this._model,this._state)}get hierarchy(){var t=l4(this._model);return this.volatile.forEach((e=>{delete t[e]})),t}get volatile(){return h6}get textHidden(){return!!this._textHidden}set textHidden(t){this._textHidden=!!t,this.invalidate()}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r={},n={},i=!1,o=(t=l4(t),this);return Object.getOwnPropertyNames(t).forEach((function(e){let a=o._model[e],s=t[e];r2(a,s)||(n[e]=a,r[e]=s,o._model[e]=s,delete o._state[e],i=!0)})),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("retention")&&e6.add(this),r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("mappings")&&this.onchangeMappings(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}getState(t){return this._state.hasOwnProperty(t)?this._state[t]:this.get(t)}setState(t,e){if("string"==typeof t)return this.setState({[t]:e});var r={},n={},i=!1,o=(t=l4(t),this),a=this.getState("sensitive");return Object.getOwnPropertyNames(t).forEach((function(e){let s=o.getState(e),c=t[e];!a&&r2(s,c)||(n[e]=s,r[e]=c,o._state[e]=c,i=!0)})),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}get root(){return this.isRoot()?this:this.parent&&this.parent.root}get rootModel(){return this.isRootModel()?this:this.parent&&this.parent.rootModel}get parent(){return this._parent}set parent(t){this._parent=t}get anchors(){return this.nature.anchors||[]}findAnchor(t){return this.anchors.find((e=>e.name===t))}isDescendible(t){return!0}getContext(){return this._parent.getContext()}get center(){var t=this.bounds;return{x:t.left+t.width/2,y:t.top+t.height/2}}set center(t){if(t&&!isNaN(t.x)&&!isNaN(t.y)){var e=this.center;if(Math.round(100*t.x)/100!=Math.round(100*e.x)/100||Math.round(100*t.y)/100!=Math.round(100*e.y)/100){var r=t.x-e.x,n=t.y-e.y;this.path=this.path.map((t=>({x:t.x+r,y:t.y+n})))}}}get location(){return this.center}set location(t){this.center=t}get rotate(){const{rotationX:t,rotationY:e,rotation:r}=this.state;return{x:t,y:e,z:-r}}set rotate(t){const{x:e,y:r,z:n}=t;this.setState({rotationX:e,rotationY:r,rotation:-n})}get dimension(){const{width:t,height:e}=this.bounds,{depth:r}=this.state;return{width:t,height:e,depth:r}}set dimension(t){const{width:e,height:r,depth:n}=t,{top:i,left:o}=this.bounds;this.bounds={top:i,left:o,width:e,height:r},this.setState("depth",n)}get bounds(){var t,e,r,n,i=this.path;t=e=i[0].x,r=n=i[0].y;for(let o=1;o<i.length;o++){let a=i[o];a.x<t?t=a.x:a.x>e&&(e=a.x),a.y<r?r=a.y:a.y>n&&(n=a.y)}return{left:t,top:r,width:e-t,height:n-r}}set bounds(t){var e=this.bounds;if(Math.round(100*t.width)/100!=Math.round(100*e.width)/100||Math.round(100*t.height)/100!=Math.round(100*e.height)/100||Math.round(100*t.left)/100!=Math.round(100*e.left)/100||Math.round(100*t.top)/100!=Math.round(100*e.top)/100){var r=0==e.width?1:t.width/e.width,n=0==e.height?1:t.height/e.height;this.path=this.path.map((i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n})))}}get path(){return X4("이 컴포넌트에 get path 가 구현되어있지 않음.",this),[]}set path(t){X4("이 컴포넌트에 get path 가 구현되어있지 않음.",this)}get drawPath(){return this.path}outline(t){return function(t,e){var r=t.path.slice();if(r&&r.length){var n=1,i=[];if(t.isLine()||r.push(r[0]),e<=0)return t.transcoordS2T(r[0].x,r[0].y);if(e>=1)return t.transcoordS2T(r[r.length-1].x,r[r.length-1].y);for(;r[n];){let t=r[n-1],e=r[n],o=e.x-t.x,a=e.y-t.y;i.push(Math.sqrt(o*o+a*a)),n++}var o=i.reduce((function(t,e){return t+e}),0);n=0;var a=0;do{a+=i[n++]}while(a/o<e);e=(e-(a-=i[--n])/o)*(o/i[n]);var s=r[n%r.length],c=r[(n+1)%r.length],u=s.x+Math.round((c.x-s.x)*e),l=s.y+Math.round((c.y-s.y)*e);return t.transcoordS2T(u,l)}X4("path should not be empty")}(this,t||0)}get strokeStyle(){return this.get("strokeStyle")}set strokeStyle(t){this.set("strokeStyle",t)}get fillStyle(){return this.getState("fillStyle")}set fillStyle(t){this.setState("fillStyle",t)}get fontColor(){return this.get("fontColor")}set fontColor(t){this.set("fontColor",String(L4(t)))}get rotation(){return this.getState("rotation")}set rotation(t){this.setState("rotation",Number(L4(t)))}contains(t,e){return!1}get mutable(){return this.nature.mutable}get resizable(){return this.nature.resizable&&!this.stuck}adjustResize(t,e,r){if(r){let e=this.bounds,r=e.height/e.width,n=t.width-e.width,i=t.height-e.height;n*r>i?i=n*r:n=i/r;let o=t.left-e.left,a=t.top-e.top;return 0!=o&&0!=a?(a=-i,o=-n):0!=o?o=-n:0!=a&&(a=-i),{left:e.left+o,top:e.top+a,width:e.width+n,height:e.height+i}}return t}get rotatable(){return this.nature.rotatable&&!this.stuck}adjustRotation(t,e){if(e||this.app.rotateStepForced){let e=this.app.rotateStep;return Math.floor((t+e/2)/e)*e}return t}get capturable(){return!1!==this.get("capturable")&&(this.app.isEditMode||!this.hidden)}get stuck(){return!!(this.parent&&this.parent.layout.isStuck(this)||this.get("locked"))}findFirst(t,...e){if(t(this,...e))return this}findAll(t,...e){return"string"==typeof t?v5(t,this,e[0]||this):"function"==typeof t&&t(this,...e)?[this]:void 0}capture(t,e,r){if(!this.capturable||r?.(this))return!1;var n=this.transcoordP2S(t,e);return this.contains(n.x,n.y)?this:void 0}prepare(t,e){t(this)}prepareIf(t){t&&this.prepare&&this.prepare((t=>{this.invalidate()}),(t=>{X4(t)}))}get decotag(){const{id:t,tag:e}=this.state;return(t?`#${t}`:"")+(e?`@${e}`:"")}get decorators(){return["decotag","data-spread"]}get reactionDecorators(){return["bouncing-arrow"]}get hidden(){return this.getState("hidden")||!this.data&&0!==this.data&&this.getState("ndns")||this.isTemplate()}set hidden(t){this.setState("hidden",t)}draw(t){t.save(),this.__proto__.hasOwnProperty("_pre_draw")?this._pre_draw(t):this.prerender(t),this.__proto__.hasOwnProperty("_draw")?this._draw(t):this.render(t),this.__proto__.hasOwnProperty("_post_draw")?this._post_draw(t):this.postrender(t),t.restore()}delta(t,e){if(void 0===e)return t?this._delta[t]:this._delta;this._delta[t]=e}prerender(t){var e=this.rotatePoint,{scale:r,rotation:n,shadow:i,alpha:o}=this.state,a=(r&&r.x||1)*this._delta.sx,s=(r&&r.y||1)*this._delta.sy,c=(n||0)+this._delta.theta,{tx:u=0,ty:l=0}=this._delta,h=(o||1)-this._delta.fade;(u||l)&&t.translate(u,l),(1!=a||1!=s||c)&&(t.translate(e.x,e.y),1==a&&1==s||t.scale(a,s),c&&t.rotate(c),t.translate(-e.x,-e.y)),h&&(t.globalAlpha=h),i&&u5(t,i,this),this.app.isEditMode&&this.hidden&&(t.globalAlpha*=.5)}render(t){}postrender(t){this.drawText(t)}drawText(t){!this.textHidden&&this.text&&this.hasTextProperty&&G5(t,this.textBounds,this.textLines(t),this.state)}drawStroke(t,e){D5(t,e?{...this.state,...e}:this.state)}drawFill(t,e){this.fillStyle&&"transparent"!=this.fillStyle&&(L5(t,this.bounds,this.center,e?{...this.state,...e}:this.state,this),function(t){t.shadowColor="transparent"}(t))}animate(t){return this._animate&&this._animate.stop(),this._animate=f3(t),this._animate}move({x:t,y:e}){var r=this.path,n=t,i=e;this.path=r.map((t=>({x:t.x+n,y:t.y+i})))}symmetryX(t){"number"!=typeof t&&(t=this.center.x);var{rotation:e}=this.state,r=this.fillStyle;if(this.set("rotation",2*Math.PI-e),r&&"gradient"===r.type&&"linear"===r.gradientType){var n=l4(r);n.rotation=(Math.PI-parseFloat(r.rotation||0))%(2*Math.PI),this.set("fillStyle",n)}this.path=this.path.map((e=>({x:2*t-e.x,y:e.y})))}symmetryY(t){this.symmetryX(),this.set("rotation",(Math.PI+this.model.rotation)%(2*Math.PI)),t&&this.move({x:0,y:2*(t-this.center.y)},!1)}get animation(){if(this.app.isViewMode&&!this.isTemplate()){if(!this._animation){var t=this.state.animation;t&&t.oncreate&&(this._animation=(e=this,r=t.oncreate,(n=h3[r.type])?new n(e,r):null))}var e,r,n;return this._animation}}effect(t,e){return function(t,e,r){var n=l5[r.type];n&&n(t,e,r)}(this,t,e)}set started(t){this.animation&&(this.animation.started=t)}invalidate(){this.parent&&this.parent.invalidate()}get font(){return U5(this.model)}get lineHeight(){var t=this.get("lineHeight");return t||1.2*this.fontSize}defaultTextSubstitutor(){var t=this.getState("text");return null==t?"":String(t)}get textSubstitutor(){return this._text_substitutor||(this._text_substitutor=i6(this.getState("text"),this)||this.defaultTextSubstitutor),this._text_substitutor}get text(){var t=this.get("textFormat");return t?function(t,e){if(!t||isNaN(+e))return e;var r,n,i,o,a,s,c,u,l,h=t.length,f=t.search(/[0-9\-\+#]/),p=f>0?t.substring(0,f):"",d=t.split("").reverse().join(""),g=d.search(/[0-9\-\+#]/),v=h-g,y=t.substring(v,v+1),m=v+("."===y||","===y?1:0),b=g>0?t.substring(m,h):"";if(r=(e="-"===(t=t.substring(f,m)).charAt(0)?-e:+e)<0?e=-e:0,i=(n=t.match(/[^\d\-\+#]/g))&&n[1]&&n[0]||",",t=t.split("."),e=+(e=e.toFixed(t[1]&&t[1].length))+"",a=t[1]&&t[1].lastIndexOf("0"),(!(c=e.split("."))[1]||c[1]&&c[1].length<=a)&&(e=(+e).toFixed(a+1)),u=t[0].split(i),t[0]=u.join(""),(o=t[0]&&t[0].indexOf("0"))>-1)for(;c[0].length<t[0].length-o;)c[0]="0"+c[0];else 0==+c[0]&&(c[0]="");if((e=e.split("."))[0]=c[0],s=u[1]&&u[u.length-1].length){for(d="",v=(l=e[0]).length%s,h=l.length,m=0;m<h;m++)d+=l.charAt(m),!((m-v+1)%s)&&m<h-s&&(d+=i);e[0]=d}return e[1]=t[1]&&e[1]?"."+e[1]:"","0"!==(n=e.join(""))&&""!==n||(r=!1),p+("+"==t[0].substring(0,1)?r?"-":"+":r?"-":"")+n+b}(t,this.textSubstitutor()):this.textSubstitutor()}set text(t){delete this._text_substitutor;var e=L4(t);this.setState("text",null==e?"":String(e))}textLines(t){return N5(t||this.getContext(),this.textBounds.width,this.font,this.text,this.get("textWrap"))}get textBounds(){var{paddingTop:t,paddingLeft:e,paddingRight:r,paddingBottom:n}=this.state;n||=0,t||=0,e||=0,r||=0;var{left:i,top:o,width:a,height:s}=this.bounds;return{left:i+e,top:o+t,width:Math.max(a-e-r,0),height:Math.max(s-t-n,0)}}get textRotation(){return 0}get rotatePoint(){return this.center}trim(){delete this._model[""],"chartjs"!==this._model.type&&delete this._model.chart}get value(){var t=this.nature["value-property"]||"text";return"value"==t?this.getState("value"):this[t]}set value(t){var e=this.nature["value-property"]||"text";"value"==e?this.setState("value",t):this[e]=t}get data(){return this.getState("data")}set data(t){this.setState("data",t),this.touch()}get mappings(){return!this._mappings&&this.parent&&this.buildMappings(),this._mappings}serialize(...t){return JSON.stringify(this.hierarchy,...t)}get controls(){}closeScene(t){this.rootModel.closeScene(t)}}g6.union=function(t){var e,r,n,i;return t.forEach((t=>{void 0===e?(e=t.left,r=t.top,n=t.left+t.width,i=t.top+t.height):(e=Math.min(t.left,e),r=Math.min(t.top,r),n=Math.max(t.left+t.width,n),i=Math.max(t.top+t.height,i))})),{left:e,top:r,width:n-e,height:i-r}},g6.transcoordR=Y5,g6.transcoordRR=H5,g6.createCanvas=j5,g6.memoize=K4,g6.mixin=q4,g6.drawText=G5,g6.font=U5,g6.textLines=N5,g6.drawStroke=D5,g6.drawFill=L5,g6.reposition=Q5,g6.RetentionManager=e6,g6.template=function(t,e,r){var n=t3.imports._.templateSettings||t3;r&&y2(t,e,r)&&(e=void 0),t=J2(t),e=_2({},e,n,F2);var i,o,a=_2({},e.imports,n.imports,F2),s=P1(a),c=function(t,e){return L2(e,(function(e){return t[e]}))}(a,s),u=0,l=e.interpolate||a3,h="__p += '",f=RegExp((e.escape||a3).source+"|"+l.source+"|"+(l===U2?o3:a3).source+"|"+(e.evaluate||a3).source+"|$","g"),p=c3.call(e,"sourceURL")?"//# sourceURL="+(e.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(f,(function(e,r,n,a,s,c){return n||(n=a),h+=t.slice(u,c).replace(s3,N2),r&&(i=!0,h+="' +\n__e("+r+") +\n'"),s&&(o=!0,h+="';\n"+s+";\n__p += '"),n&&(h+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=c+e.length,e})),h+="';\n";var d=c3.call(e,"variable")&&e.variable;if(d){if(i3.test(d))throw new Error("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(o?h.replace(e3,""):h).replace(r3,"$1").replace(n3,"$1;"),h="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=j2((function(){return Function(s,p+"return "+h).apply(void 0,c)}));if(g.source=h,C2(g))throw g;return g},g6.buildSubstitutor=i6,Object.assign(g6.prototype,{drawEffect:function(t){const{effects:e}=this.state;(e||[]).forEach((e=>{this.effect(t,e)}))},prepareFill:function(t,e){var r=this.fillStyle;if(r&&"pattern"==r.type&&r.image){if("string"!=typeof r.image)return this._pattern_image_origin=this._pattern_image=r.image,void t(this);this._pattern_image=null,this._pattern_image_origin=new Image;var n=this;this._pattern_image_origin.onload=function(){if(!r.fitPattern&&!r.width&&!r.height)return n._pattern_image=n._pattern_image_origin,void t(this);let e=r.width||this.width,i=r.height||this.height;r.fitPattern&&(e=n.bounds.width,i=n.bounds.height);let o=j5(e,i);o.getContext("2d").drawImage(this,0,0,this.width,this.height,0,0,e,i),n._pattern_image=o,t(this)},this._pattern_image_origin.onerror=function(t){e(t)};try{"data"!==String(r.image).substring(0,4)?this._pattern_image_origin.crossOrigin="use-credentials":this._pattern_image_origin.crossOrigin=null,this._pattern_image_origin.src=this.app.url(r.image)}catch(t){e(t)}}else t(this)},prepareFillIf:function(t){t&&this.prepareFill((t=>{this.invalidate()}),(t=>{X4(t)}))},onchangeFill:function(t,e){var r=this.fillStyle;r&&"pattern"!==r.type?this._pattern_image&&(this._pattern_image=null,this._pattern_image_origin=null):r?.image&&this.prepareFillIf(r.image)},drawImage:function(t,e,r,n,i,o){e.complete?t.drawImage(e,r,n,i,o):e.addEventListener("load",(()=>{this.invalidate()}))},mutateBounds:function(t,e){var r=this.bounds,n=this.rotatePoint,i=this.get("rotation"),o=this.get("scale");if(t){var a=t.call(e,r);a&&(r=a)}var{left:s,top:c,width:u,height:l}=r,h=[{x:s,y:c},{x:s+u,y:c+l}],f=(h=h.map((t=>H5(t.x,t.y,n,i,o))))[0],p=h[1];n={x:(f.x+p.x)/2,y:(f.y+p.y)/2},f=(h=h.map((t=>Y5(t.x,t.y,n,i,o))))[0],p=h[1],this.bounds={left:f.x,top:f.y,width:p.x-f.x,height:p.y-f.y}},mutatePath:function(t,e,r){var n=this.path,i=this.rotatePoint;this.get("rotation"),this.get("scale"),t&&(n=t.call(r,n));var o=n.map((t=>this.transcoordS2P(t.x,t.y)));e&&(n=e.call(r,o))&&(o=n);var a,s,c,u,l={x:0,y:0};a=s=(n=o.map((t=>this.transcoordP2S(t.x,t.y,l))))[0].x,c=u=n[0].y;for(let t=1;t<n.length;t++){let e=n[t];e.x<a?a=e.x:e.x>s&&(s=e.x),e.y<c?c=e.y:e.y>u&&(u=e.y)}i={x:(a+s)/2,y:(c+u)/2},i=this.transcoordS2P(i.x,i.y,l),this.path=o.map((t=>this.transcoordP2S(t.x,t.y,i)))},access:function(t){if(t){var e=String(t),r=(e.match(/#{(\S*)}/)||[]).map((t=>n6(t)))[0];if(r)return r.accessor(this.getState(r.target));var n=(e.match(/\${[^}]*}/)||[]).map((t=>n6(t)))[0];if(n){let t=this.root.findById(n.target);return n.accessor(this.getState(t))}return t}},substitute:function(t,e){if(t){var r=String(t),n=e||L4,i=(r.match(/#{(\S*)}/gi)||[]).map((t=>n6(t))),o=(r.match(/\${[^}]*}/gi)||[]).map((t=>n6(t)));if(0==i.length&&0==o.length)return r;var a=r;return i.forEach((t=>{let e=n(t.accessor(this.getState(t.target)));a=a.replace(t.match,void 0===e?"":e)})),o.forEach((t=>{let e=this.root.findById(t.target),r=n(t.accessor(e&&e.data));a=a.replace(t.match,void 0===r?"":r)})),a}},onchangeMappings:function(t,e){this.disposeMappings(),C5.call(this)},onchangeData:function(t,e){this.state.persistent&&this.app.isViewMode&&this.app.dataStorage.save(this,t.data),C5.call(this,[!0])},buildMappings:function(){if(this._model.mappings)return!this._model.mappings instanceof Array?(X4("Mappings model is invalid (should be a Array) ..",this._model.mappings),void(this._mappings=[])):void(this._mappings=(this._model.mappings||[]).map((t=>new R5(t,this))));this._mappings=[]},executeMappings:C5,disposeMappings:function(){this._mappings&&this._mappings.forEach((t=>t.dispose())),delete this._mappings},ondropfile:function(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void this.set("fillStyle",{type:"pattern",image:e[r],fitPattern:!0})},transcoordS2P:function(t,e,r){if(!this.parent)return{x:t,y:e};var{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){let r=this.state.translate,o=H5(t,e,void 0,n+this._delta.theta,i);return r&&(o.x+=r.x,o.y+=r.y),o}r=r||this.rotatePoint;const{theta:o=0,tx:a=0,ty:s=0,sx:c=1,sy:u=1}=this._delta||{},l=H5(t+a,e+s,r={x:r.x+a,y:r.y+s},n+o,i={x:i.x*c,y:i.y*u});return{x:l.x-(r.x*i.x-r.x),y:l.y-(r.y*i.y-r.y)}},transcoordP2S:function(t,e,r){if(!this.parent)return{x:t,y:e};var{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){let r=this.state.translate,o=Y5(t,e,r,n,i);return r&&(o.x-=r.x/(i?i.x:1),o.y-=r.y/(i?i.y:1)),o}var o=Y5(t,e,r=r||this.rotatePoint,n,i);return{x:o.x+(r.x-r.x/i.x),y:o.y+(r.y-r.y/i.y)}},transcoordS2T:function(t,e,r){r=r||this.rootModel;var n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.push(t);var i=this.transcoordS2P(t,e);return n.forEach((t=>{let{scale:e}=t.model,r=t.bounds;if(e){let n=t.rotatePoint;i.x+=(n.x-r.left)*e.x,i.y+=(n.y-r.top)*e.y}else i.x+=r.left,i.y+=r.top;i=t.transcoordS2P(i.x,i.y)})),i},transcoordT2P:function(t,e,r){r=r||this.rootModel;var n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.splice(0,0,t);var i={x:t,y:e};return n.forEach((t=>{let{scale:e}=t.model;i=t.transcoordP2S(i.x,i.y);let r=t.bounds;if(e){let n=t.rotatePoint;i.x-=(n.x-r.left)/e.x,i.y-=(n.y-r.top)/e.y}else i.x-=r.left,i.y-=r.top})),i},transcoordT2S:function(t,e,r){var n=this.transcoordT2P(t,e,r);return this.transcoordP2S(n.x,n.y)},transcoordS2TR:function(t,e,r){r=r||this.rootModel;var n=this.transcoordS2T(t,e,r);return H5(n.x,n.y,void 0,(r.get("rotation")||0)+r._delta.theta)},transcoordS2O:function(t,e,r){var n=this.rootModel,i=this.transcoordS2T(t,e,n);return r.transcoordT2S(i.x,i.y,n)},transcoordC2S:function(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;var{translate:n={x:0,y:0},scale:i={x:1,y:1},rotation:o=0}=r.model,a=Y5(t,e,n,o,i);return n&&(a.x-=n.x/(i?i.x:1),a.y-=n.y/(i?i.y:1)),r===this?a:this.transcoordT2S(a.x,a.y,r)},transcoordS2C:function(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;if(r!==this)var n=this.transcoordS2T(t,e,r);else n={x:t,y:e};var{translate:i={x:0,y:0},rotation:o=0,scale:a={x:1,y:1}}=r.model;return n=H5(n.x,n.y,void 0,o+r._delta.theta,a),i&&(n.x+=i.x,n.y+=i.y),n},_pre_draw:g6.prototype.prerender,_draw:g6.prototype.render,_post_draw:g6.prototype.postrender}),["rotatePoint","font","lineHeight","retention"].forEach((t=>g6.memoize(g6.prototype,t,!1))),["bounds","center","textBounds"].forEach((t=>g6.memoize(g6.prototype,t,!0))),g6.mixin(g6.prototype,U4.withEvent);class v6 extends g6{set rotationX(t){this.setState("rotationX",t)}get rotationX(){return this.getState("rotationX")}set rotationY(t){this.setState("rotationY",t)}get rotationY(){return this.getState("rotationY")}set rotationZ(t){this.setState("rotation",t)}get rotationZ(){return this.getState("rotation")}set zPos(t){this.setState("zPos",t)}get zPos(){return this.getState("zPos")}set depth(t){this.setState("depth",t)}get depth(){return this.getState("depth")}postrender(t){this.drawFill(t),this.drawStroke(t),super.postrender(t)}render(t){var e=this.drawPath,{round:r=0}=this.state;if(!(e.length<=1)){t.beginPath();for(var n=0;n<e.length;n++){const c=e[(n-1+e.length)%e.length],u=e[(n+e.length)%e.length],l=e[(n+1)%e.length];if(c.x===u.x&&c.y===u.y)continue;var i=0!==(s=Math.sqrt((c.x-u.x)*(c.x-u.x)+(c.y-u.y)*(c.y-u.y)))?Math.atan2(c.x-u.x,c.y-u.y):0,o=Math.sin(i)*Math.min(r,s/2)+u.x,a=Math.cos(i)*Math.min(r,s/2)+u.y;const h=r>0||0!==s?{x:o,y:a}:u;var s;i=0!==(s=Math.sqrt((l.x-u.x)*(l.x-u.x)+(l.y-u.y)*(l.y-u.y)))?Math.atan2(l.x-u.x,l.y-u.y):0,o=Math.sin(i)*Math.min(r,s/2)+u.x,a=Math.cos(i)*Math.min(r,s/2)+u.y;const f=r>0||0!==s?{x:o,y:a}:u;0==n?t.moveTo(h.x,h.y):t.lineTo(h.x,h.y),r>0&&t.quadraticCurveTo(u.x,u.y,f.x,f.y)}t.closePath()}}}var y6=t=>{var e=class extends t{contains(t,e){var{left:r,top:n,width:i,height:o,lineWidth:a=0}=this.state,s=a/2;return t<Math.max(r+i,r)+s&&t>Math.min(r+i,r)-s&&e<Math.max(n+o,n)+s&&e>Math.min(n+o,n)-s}set path(t){var e=t[0],r=t[2];this.set({left:e.x,top:e.y,width:r.x-e.x,height:r.y-e.y})}get path(){var{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+n},{x:t,y:e+n}]}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}};return K4(e.prototype,"path",!1),e};const m6={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"textarea",label:"front-side-template",name:"frontSideTemplate",property:{language:"html"}},{type:"textarea",label:"back-side-template",name:"backSideTemplate",property:{language:"html"}},{type:"textarea",label:"style",name:"style",property:{language:"css"}}],help:"scene/component/info-window"};const b6=20;function x6(t,e){var r=t.split(/\s+/),n=r.indexOf(e);return-1!=n?r.splice(n,1):r.splice(-1,0,e),r.join(" ")}class w6 extends(y6(v6)){static get image(){return w6._image||(w6._image=new Image,w6._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAY1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAbxiAAAAIHRSTlMA+gPshCwwWFzYCeLRm7QRG6rLeDZI9JOJJDtjb1HAf1sAT80AAAQQSURBVHhe7MCBAAAAAMKw/KkzOMG2BAAAAKeu3lUohIEggO7jQi5qHqpgwML5/6+0F0y02z31FlvMMLKt86QMQ1ined2Evih1hFFjLfRWjgzDOGZ6JSiM00B9EuHALtQxJLiQBmqSBCeSUEuEGzs1BDjSaHxWOKK5Eyz/4SoMV/hp4+vtcPkdwZD/udwevNg7t1xXYRiKmkB7C+ENlPLq8fxHeX+RGjWQ1D45ldcIulBIvCvYJGBEadyTzxAcfY57NBjpLScOO/bzugcTHe7IMwiSLMcdHZhocMcMgTLjjgZM7F1bCJZ2v27ARGzYDwIk2Z+JYGJ/iiwQLMv+JAEThjkmRG64Q0Q+gIiIiIiIiIiIyFy0KRFt0bOJZAWSUigmkQaJaXhENiRnYBEpkZySRSRGcmIWEaQnYhHRSI5mESmQnIJFZIqQmGhiEYEbEnPjGlEGjYTogW/WUkOXENENSqZfEXmDiIiIiIiIiIiIiIiIiIiImq5ETIpRpBpjJCMeKy6Ri0ZS9MQjkmkkJs1YRDokp2MRyZGclkUkQnIiEQltaX3Lzb6yiGTpl2y/avqSAxGgelCOKI+Kc2isL0TUSsZ4EREREREREREREREREREREfnIQzXrNWSRTeNxnlOwIgueIr6AAyE+CpiqMEUK71IDO4E+LluEKYKnKcMUifEsTZgiJZ5lDVNkwJPcqzBFoPF/HplfxL/w6b4EPGv1h18Weya1TL8iIiIeiIiIiIiIiEjkPefxV+5YA9PPHylB+u5aqgZ39H+jKOxrqtu+pkzvr9YbzoZ6w2OFkzcrA3yE4WZlSSyFk54VoA/wR43+FaD+r9w32QdWvgvjp2ty2xq8qHPHmtyPFxfrK3hw1ejERlAlfR/Ame2OTow05d4rOLLSlHtDVhI0uRO01JeZ405op6zgNNXT+bIRfpIgn+AkU4pOxBscohojdCHu4RRzjC5EYwVHqRONDkSnEvK/CB3QSU32IRW3ZPnj9iEVoGCNTLVrh8ia1x+6wq8xvB5mz8pxu7oPwIn9lcR0AiuX1+1KX+BXqdvXzWsAC0NsGjzZsS/2Bd6yRA5RgIHkXNhSD3whASZ8rrB9mItuEAizac0fDlHxDMEwpQfD1tW4y3Hjfy5s9nOHH3uwWA+EqEJBWCjoTL/S5toBB/7hu6zer74NgqSP39zJU+qQX3ix763mHTqvIVRUVprCljlElRkEjBqNYevH8veBJ2xhiyhE8YctmhDFH7ZoQhR/2KIJUfxhiyRE8YctmhDFH7ZoQhR/2OIJUfxhC9Ppf/t1jgJACERRsHGyYRZB0Ujvf0xD8w6kP7y6RZmgf/oTFTtbbzJVxZWo2Nlqw6TVy5GowNl6ssm7v50obamfSxQAAAAAAAsKLM15fb3vpQAAAABJRU5ErkJggg=="),w6._image}static toggle(t,e,r,n){if(e){var i=t.root.findById(e);i?i._findInfoWindowByComponent(t)?w6.hide(t,e):w6.show(t,e,r,n):console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}static hide(t,e){if(e){var r=t.root.findById(e);r?r._removeInfoWindow(t):console.warn("InfoWindow Not Found.",e)}}static show(t,e,r,n){if(e){var i=t.root.findById(e);if(i){if(!i._findInfoWindowByComponent(t)){var{frontSideTemplate:o="",backSideTemplate:a=""}=i.model,s=[o,a].filter((t=>String(t).trim()));if(s=s.map((t=>g6.template(function(t,e,r){return(e||r?['<div class="info-window-btns">',e?'<button class="closable">X</button>':"",r?'<button class="flipable">⇌</button>':"","</div>"]:[]).concat(['<div class="info-window-content">',t,"</div>"]).join("")}(t,!r,2==s.length)))),0!=s.length){var c='\n.flip {\n backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n -ms-backface-visibility: hidden;\n -o-backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n border-radius: 7px;\n height: auto;\n font: normal 14px helvetica, arial, san serif;\n position: absolute;\n opacity:.9;\n transform-origin: 50% 50% 0px;\n -moz-transform-origin: 50% 50% 0px;\n -ms-transform-origin: 50% 50% 0px;\n -o-transform-origin: 50% 50% 0px;\n -webkit-transform-origin: 50% 50% 0px;\n transition: all 2s;\n -moz-transition: all 2s;\n -ms-transition: all 2s;\n -o-transition: all 2s;\n -webkit-transition: all 2s;\n min-width: 100px;min-height:50px;\n background-color:#3e424e;\n box-shadow: 2px 3px 2px 0px rgba(0,0,0,0.15);\n}\n\n#side-1 {\n transform: rotateY( 0deg );\n -moz-transform: rotateY( 0deg );\n -ms-transform: rotateY( 0deg );\n -o-transform: rotateY( 0deg );\n -webkit-transform: rotateY( 0deg );\n}\n.flip:after{\n content:"";\n display:block;\n position: absolute;\n opacity:.9;\n width: 0;\n height: 0;\n}\n.flip.arrow-top:after{\n left:45%;\n top:-17px;\n border-left:10px solid transparent;\n border-bottom:18px solid #323b44;\n border-right:10px solid transparent;\n}\n.flip.arrow-right:after{\n left:100%;\n top:48%;\n border-top:10px solid transparent;\n border-left:18px solid #323b44;\n border-bottom:10px solid transparent;\n}\n.flip.arrow-bottom:after{\n left:45%;\n top:100%;\n border-left:10px solid transparent;\n border-top:18px solid #323b44;\n border-right:10px solid transparent;\n}\n.flip.arrow-left:after{\n right:100%;\n top:48%;\n border-top:10px solid transparent;\n border-right:18px solid #323b44;\n border-bottom:10px solid transparent;\n}\n\n#side-2 {\n transform: rotateY( 180deg );\n -moz-transform: rotateY( 180deg );\n -ms-transform: rotateY( 180deg );\n -o-transform: rotateY( 180deg );\n -webkit-transform: rotateY( 180deg );\n}\n\n.flip-side-1 {\n transform: rotateY( 0deg ) !important;\n -moz-transform: rotateY( 0deg ) !important;\n -ms-transform: rotateY( 0deg ) !important;\n -o-transform: rotateY( 0deg ) !important;\n -webkit-transform: rotateY( 0deg ) !important;\n}\n\n.flip-side-2 {\n transform: rotateY( 180deg ) !important;\n -moz-transform: rotateY( 180deg ) !important;\n -ms-transform: rotateY( 180deg ) !important;\n -o-transform: rotateY( 180deg ) !important;\n -webkit-transform: rotateY( 180deg ) !important;\n}\n\n.info-window-btns{\n position:absolute;\n top:-18px;\n right:5px;\n overflow:hidden;\n}\n.info-window-content{\n padding:10px;\n color:#efefef;\n font-size:13px;\n line-height:1.4;\n}\n.info-window-btns button{\n width:40px;height:40px;\n float:right;\n border:0;\n border-radius:50%;\n background-color:#2a7da1;\n margin-right:3px;\n text-align:center;\n cursor:pointer;\n font-size:35px;\n color:#fff;\n line-height:0;\n}\n.info-window-btns button:hover{\n background-color:#60bb23;\n}\n'+i.get("style"),{left:u,top:l}=t.bounds,{x:h,y:f}=n?t.rootModel.transcoordC2S(n.x,n.y):t.transcoordS2T(u,l);u=h,l=f;var p=document.createElement("span");p.style.position="absolute";var d=document.createElement("style");if(d.type="text/css",d.appendChild(document.createTextNode(c)),p.appendChild(d),s[0]){var g=document.createElement("div");g.id="side-1",g.className="flip",g.style.display="inline-block",g.innerHTML=s[0](t)}if(s[1]){var v=document.createElement("div");v.id="side-2",v.className="flip",v.style.display="inline-block",v.innerHTML=s[1](t)}o5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))})),a5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))}));var y=t.root.model_layer.overlay;if(g&&p.appendChild(g),v&&p.appendChild(v),y.appendChild(p),i._addInfoWindow(t,p,d),g){let r=g.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",(function(t){t.preventDefault(),v.className=x6(v.className,"flip-side-1"),g.className=x6(g.className,"flip-side-2")}),!1);let n=g.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",(function(r){r.preventDefault(),w6.hide(t,e)}),!1)}if(v){let r=v.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",(function(t){t.preventDefault(),v.className=x6(v.className,"flip-side-1"),g.className=x6(g.className,"flip-side-2")}),!1);let n=v.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",(function(r){r.preventDefault(),w6.hide(t,e)}),!1)}var m=g.offsetWidth,b=g.offsetHeight;window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var x=t.rootModel.target.getBoundingClientRect(),w=[];g&&w.push(g),v&&w.push(v);var A={x:u,y:l},_=t.transcoordS2C(A.x,A.y);if(_.x+m/2+x.left<x.right&&_.x-m/2>x.left){if(b+b6<_.y)return p.style.marginLeft=A.x-m/2+"px",p.style.marginTop=A.y-b-b6+"px",void w.forEach((t=>t.className+=" arrow-bottom"));if(_=t.transcoordS2C(A.x,A.y+b+b6),x.bottom>_.y+x.top)return p.style.marginLeft=A.x-m/2+"px",p.style.marginTop=A.y+b6+"px",void w.forEach((t=>t.className+=" arrow-top"))}if((_=t.transcoordS2C(A.x,A.y)).x-(m+b6)>x.left)return p.style.marginLeft=A.x-m-b6+"px",p.style.marginTop=A.y-b/2+"px",void w.forEach((t=>t.className+=" arrow-right"));p.style.marginLeft=A.x+b6+"px",p.style.marginTop=A.y-b/2+"px",w.forEach((t=>t.className+=" arrow-left"))}}}else console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}dispose(){this.infoWindows.map((t=>t.component)).forEach((t=>this._removeInfoWindow(t))),super.dispose()}get infoWindows(){return this._windows||(this._windows=[]),this._windows}_findInfoWindowByComponent(t){return this.infoWindows.find((e=>e.component===t))}_addInfoWindow(t,e,r){this._findInfoWindowByComponent(t)||this._windows.push({component:t,window:e,styleElement:r})}_removeInfoWindow(t){var e=this._findInfoWindowByComponent(t);if(!e)return;let r=e.window;r&&r.parentNode.removeChild(r);var n=this.infoWindows.lastIndexOf(e);this.infoWindows.splice(n,1)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,w6.image,e,r,n,i)}get hasTextProperty(){return!1}get nature(){return m6}}g6.register("info-window",w6);var A6={};var _6={list:function(){return{...A6}},register:function(t,e){A6[t]=e},unregister:function(t){delete A6[t]},get:function(t){if(t){var e=A6[t];return e||X4("Layout Not Found - ",t),e}}},k6={reflow:function(t,e){this.drawables(t).filter((t=>t.isHTMLElement())).forEach((t=>t.reposition()))},capturables:function(t){return t.components},drawables:function(t){return t.app&&!t.app.isViewMode?t.components:t.components.filter((t=>!t.hidden))},isStuck:function(t){return!1},ABSOLUTE:!0};_6.register("html-absolute",k6);const E6="center",S6=new WeakMap;function M6(t){const e=t.root;var r=S6.get(e);if(!r)return;if(e===t){for(var n in r)M6(n[0]);return void S6.delete(e)}const i=r.findIndex((e=>e[0]===t));if(-1===i)return;const o=r[i][1];var a=o.div.parentNode;a&&a.removeChild(o.div);var s=o.scene;s.target=null,s.release&&s.release(),r.splice(i,1)}class T6{static hideAll(t){(S6.get(t)||[]).forEach((([t,e])=>M6(t)))}static hide(t){M6(t)}static show(t,e,r={}){var{data:n,location:i=E6,modal:o=!1,closable:a=!0,output:s=!0}=r,c=t.app.refProvider;c&&c.get(e,!0).then((e=>{var r=document.createElement("div"),c=r.style;if(o){var{width:u,height:l}=t.rootModel.bounds;c.position="fixed",c.zIndex=1,c.left=0,c.top=0,c.width=u+"px",c.height=l+"px",c.overflow="auto",c.backgroundColor="rgba(0,0,0,0.3)"}else c.position="absolute",c.display="inline-block";r.innerHTML=!o&&a?'\n<div class="popup-content">\n</div>\n<button class="closable-1945">X</button>\n':'\n<div class="popup-content">\n</div>\n';var h=r.querySelector(".popup-content"),{width:u,height:l}=e.root.model;h.style.width=u+"px",h.style.height=l+"px";var f=document.createElement("style");f.type="text/css",f.appendChild(document.createTextNode("\nbutton.closable-1945 {\n width: 20px;\n height: 20px;\n right: 0px;\n top: 0px;\n padding: 0;\n margin: 0;\n border: 0px;\n text-align: center;\n cursor: pointer;\n font-size: 12px;\n color: black;\n position: absolute;\n background-color: transparent;\n}\n\nbutton.closable-1945:hover {\n background-color:#60bb23;\n}\n")),r.appendChild(f);var p=r.querySelector(".popup-content");o5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))})),a5.forEach((function(t){p.addEventListener(t,(function(t){t.stopPropagation()}))})),r.addEventListener("click",(e=>{e.target===r&&a&&T6.hide(t)})),o5.forEach((function(t){r.addEventListener(t,(function(t){t.stopPropagation()}))})),a5.forEach((function(t){r.addEventListener(t,(function(t){t.stopPropagation()}))})),t.root.model_layer.overlay.appendChild(r),function(t,e,r){const n=t.root;if(n!==t){M6(t);var i=S6.get(n)||[];i=[...i,[t,{div:e,scene:r}]],S6.set(n,i)}}(t,r,e),r.querySelector(".closable-1945")?.addEventListener("click",(function(e){e.preventDefault(),T6.hide(t)}),!1),r.addEventListener("close-scene",(e=>{e.preventDefault(),e.stopPropagation(),T6.hide(t),s&&(t.data=e.detail)}),!1),e.target=h,e.data=n||t.data,e.fit("both");var d=function(t,e,r,n=E6){var i=t.bounds,o=e.bounds,a=Math.max(i.width/4-o.width/2,20),s=Math.min(3*i.width/4+o.width/2,i.width-20)-o.width,c=Math.max(i.height/4-o.height/2,20),u=Math.min(3*i.height/4+o.height/2,i.height-20)-o.height;switch(n){case"auto":return{x:r.x<i.width/2?s:a,y:r.y<i.height/2?u:c};case"left-top":return{x:a,y:c};case"right-top":return{x:s,y:c};case"left-bottom":return{x:a,y:u};case"right-bottom":return{x:s,y:u};default:return{x:(i.width-o.width)/2,y:(i.height-o.height)/2}}}(t.rootModel,e.root,t.center,i);o?(h.style.left=d.x+"px",h.style.top=d.y+"px",h.style.width=u+"px",h.style.height=l+"px"):(r.style.left=d.x+"px",r.style.top=d.y+"px",r.style.width=u+"px",r.style.height=l+"px")}),(function(t){console.error("cannot fetch board: "+e,t)}))}}var P6={reflow:function(t,e){},capturables:function(t){return t.components},drawables:function(t){return t.app.isViewMode?t.components.filter((t=>!t.hidden)):t.components},isStuck:function(t){return!1},ABSOLUTE:!0};function O6(t){var e=t.components.filter((t=>!t.hidden)),r=t.getState("layoutConfig")||{},n=e[r&&r.activeIndex||0];return n&&[n]||[]}_6.register("absolute",P6);var I6={reflow:function(t){var e=t.bounds,r=t.getState("layoutConfig")||{},n={left:0,top:0,width:e.width,height:e.height};t.forEach(((t,e)=>{let i=e!=r.activeIndex;t.bounds=n,t.setState("rotation",0),t.element&&(t.element.style.visibility=i?"hidden":"visible")}))},capturables:function(t){return O6(t)},drawables:function(t){return O6(t)},isStuck:function(t){return!0}};function R6(t){var e=t.getState("layoutConfig");return e&&e.weight||1}_6.register("card",I6);var C6={reflow:function(t){var e=this.drawables(t),r=t.get("padding")||{},n=e.reduce(((t,e)=>t+R6(e)),0),i=t.bounds,o=n>0?(i.width-((r.left||0)+(r.right||0)))/n:i.width,a=i.height-((r.top||0)+(r.bottom||0)),s=0;e.forEach((t=>{let e=R6(t),n=t.get("margin")||{};t.bounds={left:o*s+(r.left||0)+(n.left||0),top:0+(r.top||0)+(n.top||0),width:e*o-((n.left||0)+(n.right||0)),height:a-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e}))},capturables:function(t){return t.components},drawables:function(t){return t.app.isViewMode?t.components.filter((t=>!t.hidden)):t.components},isStuck:function(t){return!0}};function j6(t){var e=t.getState("layoutConfig");return e&&e.weight||1}_6.register("linear-horizontal",C6);var L6={reflow:function(t){var e=this.drawables(t),r=t.getState("padding")||{},n=e.reduce(((t,e)=>t+j6(e)),0),i=t.bounds,o=n>0?(i.height-((r.top||0)+(r.bottom||0)))/n:i.height,a=i.width-((r.left||0)+(r.right||0)),s=0;e.forEach((t=>{let e=j6(t),n=t.getState("margin")||{};t.bounds={left:0+(r.left||0)+(n.left||0),top:o*s+(r.top||0)+(n.top||0),width:a-((n.left||0)+(n.right||0)),height:e*o-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e}))},capturables:function(t){return t.components},drawables:function(t){return t.app.isViewMode?t.components.filter((t=>!t.hidden)):t.components},isStuck:function(t){return!0}};_6.register("linear-vertical",L6);var D6={reflow:function(t){var e=t.getState("layoutConfig"),r=e&&e.columns||t.getState("columns"),n=e&&e.rows||t.getState("rows"),i=e&&e.widths||t.getState("widths"),o=e&&e.heights||t.getState("heights"),a=i?i.filter(((t,e)=>e<r)).reduce(((t,e)=>t+e),0):r,s=o?o.filter(((t,e)=>e<n)).reduce(((t,e)=>t+e),0):n,c=t.textBounds,u=t.getState("paddingLeft")||0,l=t.getState("paddingTop")||0,h=c.width/a,f=c.height/s,p=0,d=0;t.components.forEach(((t,e)=>{let n=i?i[e%r]:1,a=o?o[Math.floor(e/r)]:1,s=t.colspan||1,c=0;for(;--s>0;)c+=i?i[(e+s)%r]:1;let g=t.rowspan||1,v=0;for(;--g>0;)v+=o?o[Math.floor(e/r)+g]:1;t.bounds={left:u+p,top:l+d,width:h*(n+c),height:f*(a+v)},t.setState("rotation",0),e%r==r-1?(p=0,d+=a*f):p+=n*h}))},capturables:function(t){return t.components.filter((t=>!t.merged))},drawables:function(t){return t.components.filter((t=>!t.merged&&!t.hidden))},isStuck:function(t){return!0},keyNavigate:function(t,e,r){var n=t.getState("layoutConfig"),i=n&&n.columns||t.getState("columns"),o=n&&n.rows||t.getState("rows"),{row:a,column:s}=t.getRowColumn(e);switch(r.code){case"ArrowUp":if(a>0)return t.getAt((a-1)*i+s);break;case"ArrowDown":if(a<o-1)return t.getAt((a+1)*i+s);break;case"ArrowRight":if(s<i-1)return t.getAt(a*i+s+1);break;case"ArrowLeft":if(s>0)return t.getAt(a*i+s-1);break;default:return e}},joinType:!0};_6.register("table",D6);const z6=new Image;z6.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=";var F6=t=>class extends t{postrender(t){super.postrender(t),this.app.isEditMode&&this._focused&&this.showMoveHandle&&this._draw_move_handle(t)}_draw_move_handle(t){var{left:e,top:r,width:n}=this.bounds;t.save(),t.beginPath(),t.rect(e+n,r,25,25);t.fillStyle="rgba(235, 235, 235, 1)",t.fill(),t.drawImage(z6,e+n+3.75,r+3.75,17.5,17.5),t.closePath(),t.restore()}contains(t,e){var r=super.contains(t,e);if(this.app.isViewMode)return r;if(!r){var{left:n,top:i,width:o,height:a}=this.bounds,s=n+o;this.showMoveHandle&&(r=t<Math.max(s+25,s)&&t>Math.min(s+25,s)&&e<Math.max(i+25,i)&&e>Math.min(i+25,i))}return this._focustd!==r&&(this._focused=r,this.invalidate()),r}};const B6=[];class N6 extends(F6(y6(g6))){constructor(t,e){super(t,e),this._components=[]}replaceRefids(t){this.components.forEach((e=>e.replaceRefids(t)))}get showMoveHandle(){return!0}get showOverflow(){return!1}dispose(){this.components.slice().forEach((t=>t.dispose())),super.dispose()}isContainer(){return!0}containable(t){return t.isDescendible(this)}get hasTextProperty(){return!1}get components(){return this._components}get focusible(){return!0}get layout(){return _6.get(this.get("layout"))||P6}reflow(){this.layout.reflow(this),this.components&&this.components.forEach((t=>{t.isContainer()&&t.reflow()}))}get hierarchy(){var t=super.hierarchy;return this.components&&(t.components=this.components.map((t=>t.hierarchy))),t}addComponent(t,e=!1){var r=t.parent;if(r){if(this===r)return;r.removeComponent(t,e)}var n=this._components.push(t)-1;t.parent=this,t.added(this),e||this.trigger("add",this,t,n),t.delegate_on(this),e||t.trigger("added",this,t,n),this.root&&this.root.isReady&&t.ready()}removeComponent(t,e=!1){var r=this._components.indexOf(t);-1!=r&&(this._components.splice(r,1),t.parent=null,t.removed(this),e||(this.trigger("remove",this,t),t.trigger("removed",this,t)),t.delegate_off(this))}insertComponentAt(t,e,r=!1){var n=t.parent;n&&n.removeComponent(t,r);var i=this._components.splice(0,e);this._components=i.concat(t,this._components),e=this._components.indexOf(t),t.parent=this,t.added(this),r||this.trigger("add",this,t,e),t.delegate_on(this),r||t.trigger("added",this,t,e)}add(t,e=!1){return t instanceof Array?(t.forEach((t=>{-1==this._components.indexOf(t)&&this.addComponent(t,e)})),this):this.add.call(this,[t],e)}remove(t,e=!1){return t instanceof Array?this._components?(t.forEach((t=>{this.removeComponent(t,e)})),this):this:this.remove.call(this,[t],e)}getAt(t){if(this._components)return this._components[t]}forEach(t,e){this._components&&this._components.forEach(t,e)}traverse(t,e){t.call(e,this),this._components&&this._components.forEach((r=>{r.isContainer()?r.traverse(t,e):t.call(e,r)}))}indexOf(t){return(this._components||B6).indexOf(t)}size(){return(this._components||B6).length}moveChildAt(t,e){var r=this.indexOf(e);if(-1!=r){var n=this._components.splice(0,r),i=this._components.splice(1);this._components=n.concat(i),t=Math.max(0,t),t=Math.min(t,this._components.length),n=this._components.splice(0,t),this._components=n.concat(e,this._components)}}moveChildForward(t){var e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this._components[e]=this._components[e+1],this._components[e+1]=t)}moveChildBackward(t){var e=this.indexOf(t);-1!=e&&0!=e&&(this._components[e]=this._components[e-1],this._components[e-1]=t)}moveChildToFront(t){var e=this.indexOf(t);if(-1!=e&&e!=this.size()-1){var r=this._components.splice(0,e),n=this._components.splice(1);this._components=r.concat(n,this._components)}}moveChildToBack(t){var e=this.indexOf(t);if(-1!=e&&0!=e){var r=this._components.splice(0,e),n=this._components.splice(0);this._components=this._components.concat(r,n)}}symmetryX(t){super.symmetryX(t),this.components.map((t=>{t.symmetryX(0)}))}findAll(t,...e){if("string"==typeof t)return v5(t,this,e[0]||this);if("function"==typeof t){var r=[];for(let n=this.components.length-1;n>=0;n--){let i=this.components[n].findAll(t,...e);i&&(r=r.concat(i))}return t(this,...e)&&r.push(this),r}}findFirst(t,...e){if("string"==typeof t)return v5(t,this,e[0])[0];if("function"==typeof t){for(let n=this.components.length-1;n>=0;n--){var r=this.components[n].findFirst(t,...e);if(null!=r)return r}return t(this,...e)?this:null}}findById(t){return this.root.findById(t)}findByRefid(t){return this.root.findByRefid(t)}contains(t,e){var r=super.contains(t,e);if(!r){var{left:n,top:i,width:o,height:a,lineWidth:s=0}=this.state,c=this.stuck?0:10+s/2;r=t<Math.max(n+o,n)+c&&t>Math.min(n+o,n)-c&&e<Math.max(i+a,i)+c&&e>Math.min(i+a,i)-c}return r}capture(t,e,r){var n=this.transcoordP2S(t,e);if(!this.contains(n.x,n.y))return!1;var i=this.bounds;n.x-=i.left,n.y-=i.top;var o=this.layout.capturables(this);for(let t=o.length-1;t>=0;t--){var a=o[t].capture(n.x,n.y,r);if(a)return a}return this.capturable&&!r?.(this)&&this}capturePath(t,e){if(e){if(e.indexOf(this)>-1)return!1;for(let t=0;t<e.length;t++)if(!this.containable(e[t]))return!1}var r=[],{left:n,top:i,width:o,height:a}=this.bounds;for(let e=0;e<t.length;e++){let s=this.transcoordP2S(t[e].x,t[e].y);if(s.x<n||s.x>n+o||s.y<i||s.y>i+a)return!1;s.x-=n,s.y-=i,r.push(s)}let s=this.layout.capturables(this);for(let t=s.length-1;t>=0;t--){let n=s[t];if(!n.isContainer())continue;let i=n.capturePath(r,e);if(i)return i}return this.focusible&&this}render(t){var{left:e=0,top:r=0,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i),t.closePath(),this.drawFill(t),this.drawStroke(t)}postrender(t){super.postrender(t);var{left:e=0,top:r=0,width:n,height:i}=this.bounds;this.showOverflow||(t.beginPath(),t.rect(e,r,n,i),t.clip(),t.closePath());var{top:r,left:e,scale:o}=this.state;t.translate(e,r),this.layout.drawables(this).forEach((e=>{e.draw(t)})),t.translate(-e,-r),this.drawText(t)}trim(){this.components.forEach((t=>{t.trim()})),super.trim()}}["layout"].forEach((t=>g6.memoize(N6.prototype,t,!1)));class U6 extends N6{constructor(t,e){super(t,e),t.translate=t.translate||{x:0,y:0},this._draw_reserved=!1,this.__draw__=()=>{this._draw_reserved=!1,this.trigger("redraw"),this.reflow(),this.draw()},this.throttle_render=()=>{this._draw_reserved||requestAnimationFrame(this.__draw__),this._draw_reserved=!0}}fitSize(t,e,r,n){if(this.target){if(e){let t=getComputedStyle(this.target);r=r||(t?parseFloat(t.getPropertyValue("width")):this.target.clientWidth),n=n||(t?parseFloat(t.getPropertyValue("height")):this.target.clientHeight)}else r=this.model.width,n=this.model.height;"CANVAS"==t.tagName&&(t.setAttribute("width",r*i5),t.setAttribute("height",n*i5)),t.style.width=r+"px",t.style.height=n+"px"}}resize(){this.fitSize(this.element,!0)}isLayer(){return!0}get showOverflow(){return this.app.isEditMode}get anchors(){}createElement(){var t=g6.createCanvas(1,1);return t.style.position="absolute",t}get target(){return this._target}set target(t){this._target&&this.element&&this._target.removeChild(this.element),this._target=t,t&&(this.element||(this.element=this.createElement()),this.resize(),t.appendChild(this.element))}get canvas(){return this.element}dispose(){super.dispose(),this.target=null,this.element=null}get selected(){return this.root.selected}set selected(t){this.root.selected=t}get focused(){return this.root.focused}set focused(t){this.root.focused=t}getContext(){return this._context2D||(this._context2D=this.canvas&&this.canvas.getContext("2d")),this._context2D}draw(t){this.canvas&&(t=t||this.getContext())&&super.draw(t)}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.clearRect(0,0,t.canvas.width,t.canvas.height),e&&t.translate(e.x*i5,e.y*i5),t.scale(r.x*i5,r.y*i5),n&&t.rotate(n)}get rotatePoint(){return{x:0,y:0}}contains(t,e){return!1}invalidate(){this.throttle_render()}move(t){var e=this.get("translate")||{x:0,y:0};this.set({translate:{x:e.x+t.x,y:e.y+t.y}})}centerTo(t,e){const r=t.rootModel.transcoordC2S(this.canvas.clientWidth/2,this.canvas.clientHeight/2),{x:n,y:i}=t.center,{x:o,y:a}=t.transcoordP2S(n,i),{x:s,y:c}=t.transcoordS2T(o,a),{x:u,y:l}=t.rootModel.get("translate"),{x:h,y:f}=t.rootModel.get("scale");e?f3({step:function(e){t.rootModel.set({translate:{x:u+(r.x-s)*h*e,y:l+(r.y-c)*f*e}})},duration:1e3,delta:"circ",ease:"in"}).start():t.rootModel.set({translate:{x:u+(r.x-s)*h,y:l+(r.y-c)*f}})}}const G6={x:1,y:1},Y6={x:0,y:0};class H6 extends U6{constructor(t,e){super(t,e)}dispose(){super.dispose(),delete this._canvas,delete this._overlay}contains(t,e){return!0}isRootModel(){return!0}get stuck(){return!0}get layout(){return k6}get overlay(){if(!this._overlay){var t=document.createElement("div");t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",this.element&&this.element.appendChild(t),this._overlay=t,this._repositionOverlay()}return this._overlay}createElement(){var t=document.createElement("div");return t.style.position="absolute",t.style["user-select"]="none",t.style.overflow="hidden",this._canvas=g6.createCanvas(1,1),this._canvas.style.position="absolute",t.appendChild(this._canvas),this._overlay&&t.appendChild(this._overlay),t}resize(){if(this.target){var{width:t,height:e,fitMode:r}=this.model;this.root.fitMode?r=this.root.fitMode:r||(r="ratio");try{var n=getComputedStyle(this.target)}catch(t){return void console.error(t,this.target)}var i=n?parseFloat(n.getPropertyValue("width")):this.target.clientWidth,o=n?parseFloat(n.getPropertyValue("height")):this.target.clientHeight;switch(r){case"both":case"ratio":break;case"width":o=e*i/t;break;case"height":i=t*o/e;break;default:i=Math.max(t,i),o=Math.max(e,o)}switch(this.fitSize(this.canvas,!0,i,o),r){case"ratio":case"both":break;case"width":this.element.style.overflowX="hidden",this.element.style.overflowY="auto";break;case"height":this.element.style.overflowX="auto",this.element.style.overflowY="hidden";break;default:this.element.style.overflowX=i>t?"hidden":"auto",this.element.style.overflowY=o>e?"hidden":"auto"}this.fitSize(this.element,!0)}}get canvas(){return this._canvas}get MPP(){var{scale:t={x:1,y:1},unit:e}=this.model;switch(e){case"mm":case"cm":return 1/this.app.PPM/t.x;case"in":return 1/this.app.PPI/t.x;default:return 1/t.x}}capturePath(t,e){var r=this.layout.capturables(this);for(let n=r.length-1;n>=0;n--){let i=r[n];if(!i.isContainer())continue;let o=i.capturePath(t,e);if(o)return o}return!1}get eventMap(){return{"(self)":{"(all)":{change:this._onchanged_all,mouseenter:this._onmouseenter_all,mouseleave:this._onmouseleave_all,click:this._onclick,mousedown:this._onmousedownup,mouseup:this._onmousedownup,touchstart:this._onmousedownup,touchend:this._onmousedownup}}}}closeScene(t){requestAnimationFrame((()=>this.overlay.dispatchEvent(new CustomEvent("close-scene",{bubbles:!0,composed:!0,detail:t}))))}_repositionOverlay(){var t=this._overlay;if(t){var{translate:e=Y6,scale:r=G6,rotation:n=0}=this.model,{left:i,top:o,width:a,height:s}=this.bounds;t.style.left=i+"px",t.style.top=o+"px";var c=`rotate(${n}rad) scale(${r.x}, ${r.y}) perspective(1px)`;t.style["margin-left"]=e.x+"px",t.style["margin-top"]=e.y+"px",["-webkit-","-moz-","-ms-","-o-",""].forEach((e=>{t.style[e+"transform"]=c}))}}onchange(t){var e=this._model;delete e.id,delete e.text,delete e.class,this._repositionOverlay()}_onchanged_all(t,e,r){this.invalidate()}_onmouseenter_all(t,e){if(t.stopPropagation(),this.app&&!this.app.isEditMode&&e){var r=e.origin;if(!(r instanceof H6)&&r.model.event&&r.model.event.hover&&!r.hidden){var n=r.model.event.hover;n&&this._doEventAction(n,r,!0,t)}}}_onmouseleave_all(t,e){if(t.stopPropagation(),e){var r=e.origin;if(this.app&&!this.app.isEditMode){var n=r.model.event&&r.model.event.hover;n&&this._doEventAction(n,r,!1,t)}}}_onclick(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&this._doEventAction(n,r,!0,t)}}_onmousedownup(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&n.pressed&&this._doMouseDownUpEventAction(n,r,"mousedown"==t.type||"touchstart"==t.type,t)}}_doMouseDownUpEventAction(t,e,r,n){var{pressed:i=!1}=t;i&&(r?function(t){if(!t.hasOwnProperty("_backupShadow")){var e=t.get("shadow");t._backupShadow=e;var{left:r=0,top:n=0}=e||{};t.delta("tx",r),t.delta("ty",n),t.set("shadow",{})}}(e):function(t){t.hasOwnProperty("_backupShadow")&&(t.delta("tx",0),t.delta("ty",0),t.set("shadow",t._backupShadow),delete t._backupShadow)}(e))}_doEventAction(t,e,r,n){var{action:i,target:o,value:a,emphasize:s=!1,restore:c=!1,pressed:u=!1,options:l}=t;if(o&&(o=e.access(o)),a&&(a=e.access(a)),s&&(r?function(t){t.hasOwnProperty("_backupStrokeStyle")||(t._backupStrokeStyle=t.model.strokeStyle,t.set("strokeStyle","#f26522"),t.hasOwnProperty("_backupLineWidth")||(t._backupLineWidth=t.model.lineWidth,t.set("lineWidth",t.model.lineWidth+5)))}(e):c&&function(t){t.hasOwnProperty("_backupStrokeStyle")&&(t.set("strokeStyle",t._backupStrokeStyle),delete t._backupStrokeStyle,t.hasOwnProperty("_backupLineWidth")&&(t.set("lineWidth",t._backupLineWidth),delete t._backupLineWidth))}(e)),i)switch(i){case"data-toggle":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach((t=>{t.data=!t.data}));break;case"data-tristate":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach((t=>{let e=Math.round(Math.max(Number(t.data)||0,0));t.data=(e+(r?1:2))%3}));break;case"data-set":if(!o)return;if(r){var h=a;this.root.findAll(o,e).forEach((t=>{t.data=h}))}break;case"value-set":if(!o)return;if(r){h=a;this.root.findAll(o,e).forEach((t=>{t.value=h}))}break;case"infoWindow":case"info-window":if(!o)return;"click"==n.type||r?w6.show(e,o,c,{x:n.offsetX,y:n.offsetY}):c&&w6.hide(e,o);break;case"toggle-info-window":if(!o)return;w6.toggle(e,o,!1,{x:n.offsetX,y:n.offsetY});break;case"popup":case"modal-popup":if(!o)return;let t=l&&"input"in l?l.input:"(self)",s=!l||(!("output"in l)||l.output);T6.show(e,o,{data:t&&this.root.findFirst(t,e)?.data,output:s,modal:"modal-popup"===i});break;case"close-scene":this.closeScene(e.data);break;case"goto":this.trigger(i,o,l,e);break;default:this.trigger(i,o,a,e)}}}function W6(t,e){const r=t.state.refid;return t.root.findAll((t=>t.isLine()&&t.from.component===r&&(!e||t.from.anchor===e)))}function q6(t,e){const r=t.state.refid;return t.root.findAll((t=>t.isLine()&&t.to.component===r&&(!e||t.to.anchor===e)))}H6.Popup=T6,g6.register("model-layer",H6);var X6=t=>class extends t{isConnectable(){return!0}postrender(t){super.postrender(t),this._draw_anchors(t)}_draw_anchors(t){var e=this.anchors||[];t.save(),e.forEach((e=>{var{position:{x:r,y:n},draw:i}=e;if(i){t.beginPath();try{i.call(e,t,this)}catch(t){console.error(t)}t.closePath()}})),t.restore()}contains(t,e){if(n=super.contains(t,e))return n;var r=this.anchors||[];for(let i of r){const r=i.bounds;if(!r)continue;const{left:o,top:a,width:s,height:c}=r;var n;if(n=t<Math.max(o+s,o)&&t>Math.min(o+s,o)&&e<Math.max(a+c,a)&&e>Math.min(a+c,a))return n}return!1}findInOutLines(t){return function(t,e){const r=t.state.refid;return t.root.findAll((t=>!(!t.isLine()||(t.from.component!==r||e&&t.from.anchor!==e)&&(t.to.component!==r||e&&t.to.anchor!==e))))}(this,t)}findOutletLines(t){return W6(this,t)}findOutletEnds(t){return function(t,e){return W6(t,e).map((t=>t.toEnd?.component)).filter(Boolean)}(this,t)}findInletLines(t){return q6(this,t)}findInletEnds(t){return function(t,e){return q6(t,e).map((t=>t.fromEnd?.component)).filter(Boolean)}(this,t)}};const V6={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0}}],help:"scene/component/rect"};var Q6={ondragmove:function(t,e,r){var{left:n,top:i,width:o,height:a}=r.model,s=(r.transcoordP2S(t.x,t.y).x-n)/(o/2)*100;s=K6(s,o,a),r.set({round:s})}};function K6(t,e,r){var n=e>r?r/e*100:100;return t>=n?t=n:t<=0&&(t=0),t}class J6 extends(X6(y6(v6))){is3dish(){return!0}get controls(){var{left:t,top:e,width:r,round:n,height:i}=this.state;return[{x:t+r/2*((n=null==n?0:K6(n,r,i))/100),y:e,handler:Q6}]}get nature(){return V6}}g6.register("rect",J6);const Z6=[1,2,10,20,50,50,50,50,50,50];class $6 extends(y6(v6)){render(t){const{lineWidth:e=1,fillStyle:r="lightgray",font:n="15px Arial",left:i,top:o,rotation:a,origin:s,margin:c,width:u,height:l,side:h="bottom",strokeStyle:f="#000000",scale:p=1}=this.state;t.translate(i,o),t.beginPath();const d=Math.round(e/2);t.rect(-d,-d,u+2*d,l+2*d),t.clip(),t.beginPath(),t.rect(0,0,u,l),r&&(t.fillStyle=r,t.fill()),t.lineWidth=e,t.strokeStyle=f,t.stroke(),t.beginPath(),t.font=n;var g="bottom"!==h,v=g?0:l,y=4*l/5,m=2*l/3,b=1*l/2,x=3*l/5;g&&(y=l-y,m=l-m,b=l-b,x=l-1.5*l/5);var w=p*this.app.PPM/this.root.unitScale,A=Math.ceil(s/w),_=this.app.PPM/w,k=_<=1.1?1:Z6[Math.round(_)]||100;1!=k&&(A+=(k-A%k)%k);var E=Math.ceil(A*w),S=s+u;for(t.fillStyle=f;E<S;){if(A%10==0){t.moveTo(E-s,b),t.lineTo(E-s,v);let e=(A/10).toString(),r=t.measureText(e);t.fillText(e,E-s-r.width-6,x)}else A%5==0?(t.moveTo(E-s,m),t.lineTo(E-s,v)):(t.moveTo(E-s,y),t.lineTo(E-s,v));A+=k,E=Math.ceil(A*w)}}}g6.register("ruler",$6);const t8=20,e8=20,r8=90*Math.PI/180,n8="9px Verdana",i8=20,o8="#f4f4f4",a8="#999";function s8(t,e,r){return{left:-t.x,top:-t.y,width:t8,height:i8}}function c8(t,e,r,n){return{left:t8-t.x,top:0-t.y,origin:20-t.x,width:e-t8,height:i8}}function u8(t,e,r,n){var i={x:0-t.x+10,y:-t.y+e8+(r-e8)/2},o=g6.transcoordRR(0-t.x,-t.y+e8,i,r8);return{left:o.x-(r-e8),top:o.y,origin:20-t.y,width:r-e8,height:i8}}function l8(t){var e=t.get("translate");return{left:-e.x,top:-e.y,width:t.canvas.width/i5,height:t.canvas.height/i5}}g6.register("guide-layer",class extends U6{constructor(t,e){super(t,e),this.appScale={x:1,y:1},"disabled"!==t.ruler&&(this.hruler=new $6({left:t8,top:0,origin:20,margin:0,height:i8,unit:"m",rotation:0,font:n8,fillStyle:o8,strokeStyle:a8,capturable:!1}),this.vruler=new $6({left:0,top:0,origin:20,margin:0,height:i8,unit:"m",rotation:r8,font:n8,side:"top",fillStyle:o8,strokeStyle:a8,capturable:!1}),this.origin_rect=new J6({left:-20,top:-20,width:20,height:20,fillStyle:o8,strokeStyle:a8,lineWidth:1}),this.addComponent(this.hruler),this.addComponent(this.vruler),this.addComponent(this.origin_rect)),this.invalidate()}get capturable(){return!1}ready(){if(super.ready(),this.hruler){var t=this.rootModel,e=Object.assign({},t.get("translate"));e.x<t8&&(e.x+=t8),e.y<e8&&(e.y+=e8);var r=t.get("scale")||{x:1,y:1};this.appScale=r,this.hruler.set("scale",r.x),this.vruler.set("scale",r.y),t.set("translate",e),this.set("translate",e),this.screen_coord=l8(this);var{width:n,height:i}=this.screen_coord;this.hruler.set(c8(e,n,0,this.hruler)),this.vruler.set(u8(e,0,i,this.vruler)),this.origin_rect.set(s8(e))}else this.screen_coord=l8(this)}resize(){super.resize(),this.screen_coord=l8(this);var{width:t,height:e}=this.screen_coord;this.hruler&&(this.hruler.set(c8(this.model.translate,t,0,this.hruler)),this.vruler.set(u8(this.model.translate,0,e,this.vruler)),this.origin_rect.set(s8(this.model.translate)))}render(t){if(this.guide){t.save();var{x:e,y:r}=this.guide,{top:n,left:i,width:o,height:a}=this.screen_coord;t.beginPath(),t.moveTo(e,n),t.lineTo(e,n+a),t.moveTo(i,r),t.lineTo(i+o,r),t.lineWidth=1,t.strokeStyle="tomato",t.setLineDash([2,3]),t.font="10px tahoma",t.fillStyle="#333";var s=this.transcoordS2C(e,r,this.rootModel);t.textBaseline=s.y>200?"bottom":"top",t.textAlign=s.x>200?"right":"left";var c=s.y>200?-5:5,u=s.x>200?-5:5,l=Math.round(e/this.appScale.x),h=Math.round(r/this.appScale.y);t.fillText(` ${l}, ${h} `,e+u,r+c),t.stroke(),t.restore()}}get guide(){return this._guide}set guide(t){this._guide=t,this.invalidate()}contains(t,e){return!0}get eventMap(){return{"(root)":{"(descendant)":{mousemove:this.onmousemove_child,mouseout:this.onmouseout_child,dragmove:this.onmousemove_child},"model-layer":{change:this.onchange_root_model}},"(self)":{"(descendant)":{mousedown:this.onmousedown_origin}}}}onmousedown_origin(t,e){this.rootModel.set("translate",{x:20,y:20})}onchange_root_model(t,e,r){if(t.scale&&(this.appScale=t.scale,this.hruler&&(this.hruler.set("scale",t.scale.x),this.vruler.set("scale",t.scale.y))),t.translate&&this.set({translate:{x:t.translate.x,y:t.translate.y}}),t.scale||t.translate){if(this.screen_coord=l8(this),this.hruler){var{translate:n}=this.model,{width:i,height:o}=this.screen_coord;this.hruler.set(c8(n,i,0,this.hruler)),this.vruler.set(u8(n,0,o,this.vruler)),this.origin_rect.set(s8(n))}this._guide=null}this.invalidate()}onmouseout_child(t){this._guide=null,this.invalidate()}onmousemove_child(t,e){t.target&&"CANVAS"!==t.target.tagName?this.guide=null:this.guide=this.transcoordC2S(t.offsetX,t.offsetY)}});g6.register("shift-layer",class extends U6{ready(){super.ready();var t=this.rootModel.get("translate");this.set("translate",t)}render(t){}contains(t,e){return!(2!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown,keyup:this.onkeyup}}}}onkeydown(t){"Space"===t.code&&void 0===this.before_mode&&(this.before_mode=this.app.mode,this.app.mode=2)}onkeyup(t){"Space"===t.code&&(void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode)}ondragstart(t){this.last_position=this.transcoordC2S(t.offsetX,t.offsetY)}ondragmove(t){var{x:e,y:r}=this.transcoordC2S(t.offsetX,t.offsetY);this.rootModel.move({x:e-this.last_position.x,y:r-this.last_position.y},!1),this.last_position=this.transcoordC2S(t.offsetX,t.offsetY)}});class h8{constructor(t){this.params=Object.assign({},t)}excute(){}}class f8 extends h8{execute(){this.params.changes.forEach((t=>t.component.set(t.after)))}static before(t){return t.map((t=>({component:t})))}static after(t,e){e.execute(null,!1)}static around(t,e,r){e.call(r),t.execute(null,!1)}}const p8="left",d8="right",g8="center",v8="top",y8="bottom",m8="middle",b8=[p8,d8,g8,v8,m8,y8];function x8(t){if(-1!=b8.indexOf(t)){var e=this.selected.filter((t=>!t.stuck));if(!(e.length<=1)){var r=this.app.commander;f8.around(r,(function(){!function(t,e){var r=JSON.parse(JSON.stringify(e[0].bounds)),n=r.left+r.width,i=r.top+r.height;for(let t=0;t<e.length;t++){let o=e[t].bounds;r.left=o.left>r.left?r.left:o.left,r.top=o.top>r.top?r.top:o.top,n=o.left+o.width>n?o.left+o.width:n,i=o.top+o.height>i?o.top+o.height:i}switch(r.width=n-r.left,r.height=i-r.top,t){case p8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left,top:n.top,width:n.width,height:n.height}}break;case g8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left+r.width/2-n.width/2,top:n.top,width:n.width,height:n.height}}break;case d8:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:n-r.width,top:r.top,width:r.width,height:r.height}}break;case v8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top,width:n.width,height:n.height}}break;case m8:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top+r.height/2-n.height/2,width:n.width,height:n.height}}break;case y8:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:r.left,top:i-r.height,width:r.width,height:r.height}}break;default:;}}(t,e)}))}}}const w8="VERTICAL",A8=[w8,"HORIZONTAL"];function _8(t){if(-1!=A8.indexOf(t)){var e=this.selected;if(!(e.length<=1)){var r=this.app.commander;f8.around(r,(function(){!function(t,e){var r=e.filter((t=>!t.stuck)).slice(0);r.sort((function(e,r){let n=e.center,i=r.center;return t===w8?n.y-i.y:n.x-i.x}));var n=r.reduce(((e,r)=>e+(t===w8?r.bounds.height:r.bounds.width)),0),i=r[0].bounds,o=r[r.length-1].bounds,a=((t===w8?o.top+o.height-i.top:o.left+o.width-i.left)-n)/(r.length-1),s=t===w8?i.top+i.height:i.left+i.width;for(let e=1;e<r.length-1;e++){let n=r[e],i=n.bounds;s+=a,t===w8?(i.top=s,s+=i.height):(i.left=s,s+=i.width),n.bounds=i}}(t,e)}))}}}function k8(t){for(var e=0;t&&!t.isRootModel();)e+=t.get("rotation")||0,t=t.parent;return e%(2*Math.PI)}class E8 extends h8{execute(){this.params.changes.forEach((t=>{let{component:e,to_container:r,to_index:n,to_left:i,to_top:o,hint:a}=t,s=function(t){if(t.isRootModel())return t.bounds;var{bounds:e,rotatePoint:r}=t,n=r;return{left:(n=t.transcoordS2T(n.x,n.y)).x-(r.x-e.left),top:n.y-(r.y-e.top),width:e.width,height:e.height}}(e),c=k8(e);if(e.removeSelf(!r),e.bounds=s,e.set("rotation",c),r){e.set("rotation",function(t,e){return((t.get("rotation")||0)-k8(e))%(2*Math.PI)}(e,r));let a=function(t,e){if(e.isRootModel())return t.bounds;var{bounds:r,rotatePoint:n}=t,i=e.transcoordT2S(n.x,n.y),o=e.bounds;return{left:i.x-(n.x-r.left)-o.left,top:i.y-(n.y-r.top)-o.top,width:r.width,height:r.height}}(e,r);t.to_left=void 0!==i?i:a.left,t.to_top=void 0!==o?o:a.top,e.bounds={left:t.to_left,top:t.to_top,width:a.width,height:a.height},void 0===n?r.addComponent(e):r.insertComponentAt(e,n)}}))}}function S8(t,e,r){this.app.commander.execute(new E8({changes:[{component:t,to_container:e,to_index:r}]}))}function M8(t){var e=this.selected.filter((t=>!t.stuck));if(!(0==e.length||e[0].isRootModel()||e.length>1&&("forward"==t||"backward"==t))){var r,n=e[0].parent;if("forward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t+1}]}else if("backward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t-1}]}else r=e.filter((t=>t.parent===n)).sort(((e,r)=>{let i=n.indexOf(e)<n.indexOf(r);return"front"==t?i:!i})).map(((e,r)=>(n.indexOf(e),{component:e,to_container:n,to_index:"front"==t?n.components.length-r-1:r})));var i=new E8({changes:r});this.app.commander.execute(i)}}function T8(t,e,r,n){var i=g6.register(t.type);if(!i)return V4("Class not found",t.type),null;r&&(t.refid=r(t.refid)),t.id&&n&&n(t.id)&&delete t.id;var o=new i(t,e);return t.components&&o.isContainer()&&(t.components.forEach((t=>{var i=T8(t,e,r,n);i&&o.addComponent(i)})),delete t.components),o.created(),o}function P8(t,e){var r=l4(t.hierarchy);return delete r.id,T8(r,t.app,e)}var O8=Object.freeze({__proto__:null,compile:T8,duplicate:P8,select:v5,match:p5});function I8(t,e,r){t instanceof Array||(t=[t]),r||(r=this.model_layer);var n=[],i=new Map;this.selected=t.map((t=>{try{return T8(t,r.app,(t=>{const e=this.getNewRefid();return void 0!==t&&i.set(t,e),e}),(t=>(this.indexMap[t]||[])[0]))}catch(t){return console.warn(t),!1}})).filter(Boolean).map((t=>{let{left:o,top:a,width:s,height:c,x:u,y:l,cx:h,cy:f}=e;return t.replaceRefids(i),isNaN(o)||isNaN(a)||isNaN(s)||isNaN(c)||(t.bounds={left:o,top:a,width:s,height:c}),isNaN(u)||isNaN(l)||t.move({x:u,y:l},!1),isNaN(h)||isNaN(f)||(t.center={x:h,y:f}),n.push({component:t,to_container:r}),t})),this.app.commander.execute(new E8({changes:n}))}function R8(t){t instanceof Array||(t=[t]),this.trigger("addstart",t)}function C8(){var t=[],e=new Map;if(this.selected=this.selected.filter((t=>!t.isRootModel())).map((r=>{let n=P8(r,(t=>{const r=this.getNewRefid();return void 0!==t&&e.set(t,r),r}));return n.move({x:20,y:20},!1),t.push({component:n,to_container:r.parent}),n})).map((t=>(t.replaceRefids(e),t))),0!=t.length){var r=new E8({changes:t});this.app.commander.execute(r)}}function j8(){var t=this.selected;this.selected=[];for(var e=null,r=t.filter((t=>!t.isRootModel()&&(t.parent.focusible||t.parent.isGroup()))).map((t=>(e||(e=t.parent),{component:t,to_container:null})));e&&e.isGroup();){let t=[];if(e.components.filter((t=>!r.find((e=>e.component===t)))).forEach((e=>t.push(e))),t.length>1)break;let n=e.parent;t.forEach((t=>r.push({component:t,to_container:n}))),r.push({component:e,to_container:null}),e=n}r.length>0&&this.app.commander.execute(new E8({changes:r})),e&&e.calculateBounds&&e.calculateBounds()}function L8(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.on(t,e,r);break;case"mode":this.app?.on(t,e,r);break;default:this.on(t,e,r)}}function D8(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.once(t,e,r);break;case"mode":this.app.once(t,e,r);break;default:this.once(t,e,r)}}function z8(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.off(t,e,r);break;case"mode":this.app?.off(t,e,r);break;default:this.off(t,e,r)}}function F8(t){var e=this.target_element,r=t||this.fitMode,n=this;function i(t){n.fit(r),document.fullscreen||document.mozFullScreen||document.webkitIsFullScreen||document.msFullscreenElement||["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach((t=>document.removeEventListener(t,i)))}["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach((t=>document.addEventListener(t,i))),e.requestFullScreen?e.requestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen()}var B8=0;function N8(){var t=this.selected.filter((t=>!t.isRootModel())).map((t=>t.hierarchy));if(0!=t.length)return B8=0,JSON.stringify(t,null,2)}function U8(){B8=0;var t=N8.call(this);return j8.call(this),t}function G8(t){if(t)try{JSON.parse(t);B8++,I8.call(this,JSON.parse(t),{x:15*B8,y:15*B8})}catch(e){X4(e,t)}}var Y8=function(){return{escape:function(t){return t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:t,mimeType:function(e){var r=t(e).toLowerCase();return(n="application/font-woff",i="image/jpeg",{woff:n,woff2:n,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:i,jpeg:i,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"})[r]||"";var n,i},dataAsUrl:function(t,e){return"data:"+e+";base64,"+t},isDataUrl:function(t){return-1!==t.search(/^(data:)/)},canvasToBlob:function(t){return t.toBlob?new Promise((function(e){t.toBlob(e)})):function(t){return new Promise((function(e){for(var r=window.atob(t.toDataURL().split(",")[1]),n=r.length,i=new Uint8Array(n),o=0;o<n;o++)i[o]=r.charCodeAt(o);e(new Blob([i],{type:"image/png"}))}))}(t)},resolveUrl:function(t,e){var r=document.implementation.createHTMLDocument(),n=r.createElement("base");r.head.appendChild(n);var i=r.createElement("a");return r.body.appendChild(i),n.href=e,i.href=t,i.href},getAndEncode:function(t){var e=3e4;Z8.impl.options.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+(new Date).getTime());return new Promise((function(r){var n,i=new XMLHttpRequest;if(i.onreadystatechange=a,i.ontimeout=s,i.responseType="blob",i.timeout=e,i.open("GET",t,!0),i.send(),Z8.impl.options.imagePlaceholder){var o=Z8.impl.options.imagePlaceholder.split(/,/);o&&o[1]&&(n=o[1])}function a(){if(4===i.readyState)if(200===i.status){var e=new FileReader;e.onloadend=function(){var t=e.result.split(/,/)[1];r(t)},e.readAsDataURL(i.response)}else n?r(n):c("cannot fetch resource: "+t+", status: "+i.status)}function s(){n?r(n):c("timeout of "+e+"ms occured while fetching resource: "+t)}function c(t){console.error(t),r("")}}))},uid:function(){var t=0;return function(){return"u"+e()+t++;function e(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}}}(),delay:function(t){return function(e){return new Promise((function(r){setTimeout((function(){r(e)}),t)}))}},asArray:function(t){for(var e=[],r=t.length,n=0;n<r;n++)e.push(t[n]);return e},escapeXhtml:function(t){return t.replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(t){return new Promise((function(e,r){var n=new Image;n.onload=function(){e(n)},n.onerror=r,n.src=t}))},width:function(t){var r=e(t,"border-left-width"),n=e(t,"border-right-width");return t.scrollWidth+r+n},height:function(t){var r=e(t,"border-top-width"),n=e(t,"border-bottom-width");return t.scrollHeight+r+n}};function t(t){var e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function e(t,e){var r=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(r.replace("px",""))}}(),H8=function(){var t=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,i,o){return a()?Promise.resolve(t):Promise.resolve(t).then(r).then((function(e){var r=Promise.resolve(t);return e.forEach((function(t){r=r.then((function(e){return n(e,t,i,o)}))})),r}));function a(){return!e(t)}},shouldProcess:e,impl:{readUrls:r,inline:n}};function e(e){return-1!==e.search(t)}function r(e){for(var r,n=[];null!==(r=t.exec(e));)n.push(r[1]);return n.filter((function(t){return!Y8.isDataUrl(t)}))}function n(t,e,r,n){return Promise.resolve(e).then((function(t){return r?Y8.resolveUrl(t,r):t})).then(n||Y8.getAndEncode).then((function(t){return Y8.dataAsUrl(t,Y8.mimeType(e))})).then((function(r){return t.replace(function(t){return new RegExp("(url\\(['\"]?)("+Y8.escape(t)+")(['\"]?\\))","g")}(e),"$1"+r+"$3")}))}}(),W8=function(){return{resolveAll:function(){return t().then((function(t){return Promise.all(t.map((function(t){return t.resolve()})))})).then((function(t){return t.join("\n")}))},impl:{readAll:t}};function t(){return Promise.resolve(Y8.asArray(document.styleSheets)).then((function(t){var e=[];return t.forEach((function(t){try{Y8.asArray(t.cssRules||[]).forEach(e.push.bind(e))}catch(e){console.log("Error while reading CSS rules from "+t.href,e.toString())}})),e})).then((function(t){return t.filter((function(t){return t.type===CSSRule.FONT_FACE_RULE})).filter((function(t){return H8.shouldProcess(t.style.getPropertyValue("src"))}))})).then((function(e){return e.map(t)}));function t(t){return{resolve:function(){var e=(t.parentStyleSheet||{}).href;return H8.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}}(),q8=function(){return{inlineAll:function e(r){return r instanceof Element?n(r).then((function(){return r instanceof HTMLImageElement?t(r).inline():Promise.all(Y8.asArray(r.childNodes).map((function(t){return e(t)})))})):Promise.resolve(r);function n(t){var e=t.style.getPropertyValue("background");return e?H8.inlineAll(e).then((function(e){t.style.setProperty("background",e,t.style.getPropertyPriority("background"))})).then((function(){return t})):Promise.resolve(t)}},impl:{newImage:t}};function t(t){return{inline:function(e){return Y8.isDataUrl(t.src)?Promise.resolve():Promise.resolve(t.src).then(e||Y8.getAndEncode).then((function(e){return Y8.dataAsUrl(e,Y8.mimeType(t.src))})).then((function(e){return new Promise((function(r,n){t.onload=r,t.onerror=n,t.src=e}))}))}}}}(),X8={imagePlaceholder:void 0,cacheBust:!1};function V8(t,e){return function(t){void 0===t.imagePlaceholder?Z8.impl.options.imagePlaceholder=X8.imagePlaceholder:Z8.impl.options.imagePlaceholder=t.imagePlaceholder;void 0===t.cacheBust?Z8.impl.options.cacheBust=X8.cacheBust:Z8.impl.options.cacheBust=t.cacheBust}(e=e||{}),Promise.resolve(t).then((function(t){return K8(t,e.filter,!0)})).then(J8).then((function(t){var{bgcolor:r,width:n,height:i,style:o,sx:a=1,sy:s=1}=e,c=t.style;r&&(c.backgroundColor=r);n&&(c.width=n+"px");i&&(c.height=i+"px");c["margin-left"]="0px",c["margin-top"]="0px",["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{c[t+"transform"]=`rotate(0rad) translate(0px, 0px) scale(${a}, ${s}) perspective(1px)`})),o&&Object.keys(o).forEach((function(t){c[t]=o[t]}));return t})).then((function(r){return function(t,e,r){return Promise.resolve(t).then((function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)})).then(Y8.escapeXhtml).then((function(t){return'<foreignObject x="0" y="0" width="100%" height="100%">'+t+"</foreignObject>"})).then((function(t){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+e+'" height="'+r+'">'+t+"</svg>"})).then((function(t){return"data:image/svg+xml;charset=utf-8,"+t}))}(r,e.width||Y8.width(t),e.height||Y8.height(t))}))}function Q8(t,e){return V8(t,e).then(Y8.makeImage).then(Y8.delay(100)).then((function(r){var n=function(t){var r=document.createElement("canvas");if(r.width=e.width||Y8.width(t),r.height=e.height||Y8.height(t),e.bgcolor){var n=r.getContext("2d");n.fillStyle=e.bgcolor,n.fillRect(0,0,r.width,r.height)}return r}(t);return n.getContext("2d").drawImage(r,0,0),n}))}function K8(t,e,r){return r||!e||e(t)?Promise.resolve(t).then((function(t){if(t instanceof HTMLCanvasElement)try{return Y8.makeImage(t.toDataURL())}catch(t){V4(t)}return t.cloneNode(!1)})).then((function(r){return function(t,e,r){var n=t.childNodes;return 0===n.length?Promise.resolve(e):i(e,Y8.asArray(n),r).then((function(){return e}));function i(t,e,r){var n=Promise.resolve();return e.forEach((function(e){n=n.then((function(){return K8(e,r)})).then((function(e){e&&t.appendChild(e)}))})),n}}(t,r,e)})).then((function(e){return function(t,e){return e instanceof Element?Promise.resolve().then(r).then(n).then(i).then(o).then((function(){return e})):e;function r(){function r(t,e){function r(t,e){Y8.asArray(t).forEach((function(r){e.setProperty(r,t.getPropertyValue(r),t.getPropertyPriority(r))}))}t.cssText?e.cssText=t.cssText:r(t,e)}r(window.getComputedStyle(t),e.style)}function n(){function r(r){var n=window.getComputedStyle(t,r),i=n.getPropertyValue("content");if(""!==i&&"none"!==i){var o=Y8.uid();e.className=e.className+" "+o;var a=document.createElement("style");a.appendChild(s(o,r,n)),e.appendChild(a)}function s(t,e,r){var n="."+t+":"+e,i=r.cssText?o(r):a(r);return document.createTextNode(n+"{"+i+"}");function o(t){var e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}function a(t){return Y8.asArray(t).map(e).join("; ")+";";function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}}}}[":before",":after"].forEach((function(t){r(t)}))}function i(){t instanceof HTMLTextAreaElement&&(e.innerHTML=t.value),t instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function o(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach((function(t){var r=e.getAttribute(t);r&&e.style.setProperty(t,r)})))}}(t,e)})):Promise.resolve()}function J8(t){return q8.inlineAll(t).then((function(){return t}))}var Z8={toSvg:V8,toPng:function(t,e){return Q8(t,e||{}).then((function(t){return t.toDataURL()}))},toJpeg:function(t,e){return Q8(t,e=e||{}).then((function(t){return t.toDataURL("image/jpeg",e.quality||1)}))},toBlob:function(t,e){return Q8(t,e||{}).then(Y8.canvasToBlob)},toPixelData:function(t,e){return Q8(t,e||{}).then((function(e){return e.getContext("2d").getImageData(0,0,Y8.width(t),Y8.height(t)).data}))},impl:{fontFaces:W8,images:q8,util:Y8,inliner:H8,options:{}}};function $8(t,e,r,n){var i=this.model_layer,o=i._overlay;return new Promise((function(a,s){if(i){var c=i.get("width"),u=i.get("height");r=r||c,n=n||u;var l=i.get("translate"),h=i.get("scale"),f=Math.min(r/c,n/u);r=c*f,n=u*f,i.set("translate",{x:0,y:0}),i.set("scale",{x:f/i5,y:f/i5});var p=g6.createCanvas(r,n),d=p.getContext("2d");if(i.draw(d),i.set("translate",l),i.set("scale",h),!o)return a(p.toDataURL(t,e)),void(p=null);Z8.toPng(o,{sx:f,sy:f,width:r,height:n}).then((function(i){var o=new Image;o.onload=function(){d.drawImage(o,0,0,r,n),a(p.toDataURL(t,e)),p=null},o.src=i}),(function(r){X4(r),a(p.toDataURL(t,e)),p=null}))}else s("No target model")}))}function t7(){var t=this.selected.filter((t=>!!t.parent&&!t.stuck));if(!(t.length<2)){var e=t[0].parent,r=[],n=t.sort(((t,r)=>e.components.indexOf(t)-e.components.indexOf(r)));n.forEach((t=>{r.push(t.bounds)}));var i=g6.union(r),o=t[0].transcoordP2S(i.left,i.top);o=t[0].transcoordS2T(o.x,o.y);var a=new Map,s=T8({type:"group",left:o.x,top:o.y,width:i.width,height:i.height},e.app,(t=>{const e=this.getNewRefid();return void 0!==t&&a.set(t,e),e}));s.replaceRefids(a);var c=[{component:s,to_container:e}];n.forEach((t=>{c.push({component:t,to_container:s})})),this.app.commander.execute(new E8({changes:c})),this.selected=[s]}}function e7(){if(0!==this.selected.length){var t=[],e=[];this.selected.forEach((r=>{if(r.isGroup()){var n=r.parent;r.components.forEach((r=>{t.push(r),e.push({component:r,to_container:n})})),e.push({component:r,to_container:null})}})),this.app.commander.execute(new E8({changes:e})),this.selected=t}}function r7(){var t=this.selected;if(0!=t.length){var e=t.map((t=>t.bounds)),r=g6.union(e),n=r.left+r.width/2;t.map((t=>{t.symmetryX(n)}))}}function n7(){var t=this.selected;if(0!=t.length){var e=t.map((t=>t.bounds)),r=g6.union(e),n=r.top+r.height/2;t.map((t=>{t.symmetryY(n)}))}}function i7(){f8.around(this.app.commander,r7,this)}function o7(){f8.around(this.app.commander,n7,this)}function a7(t,e,r){var n=this.findAll(t,r);return n.forEach((t=>{t.set(e)})),n}function s7(t){f8.around(this.app.commander,t)}function c7(){return Object.values(this.indexMap).map((t=>t.map((t=>{let{id:e,data:r}=t.model;return{key:e,value:r}})))).flat().sort(((t,e)=>t.key>e.key?1:-1))}function u7(t,e,r,n){var i=t.selected,o=n?i.slice(0):[];n&&o.length>0?e=o[0].parent:e.isContainer()||(e=e.parent);var a=e.layout.capturables(e),s=!!e.layout.joinType;if(n&&r.selected.forEach((t=>{o.splice(o.indexOf(t),1)})),r.selected=[],a.forEach((t=>{t.capturable&&function(t,e,r){var n,i,o,a,{sx:s,sy:c,ex:u,ey:l}=e;if(s>u?(n=u,i=s):(n=s,i=u),c>l?(o=l,a=c):(o=c,a=l),r){var h=t.bounds,f=t.transcoordS2TR(h.left,h.top),p=t.transcoordS2TR(h.left+h.width,h.top+h.height),d=f.x,g=p.x,v=f.y,y=p.y,m=Math.min(n,d,i,g),b=Math.max(n,d,i,g),x=Math.min(o,v,a,y),w=Math.max(o,v,a,y);return!(b-m>Math.abs(i-n)+Math.abs(g-d)||w-x>Math.abs(a-o)+Math.abs(y-v))}var A=t.path;if(!A)return error("컴포넌트에 get path가 잘못 구현되어있음.",t),!1;for(let e=0;e<A.length;e++){let r=t.transcoordS2TR(A[e].x,A[e].y);if(n>r.x||i<r.x||o>r.y||a<r.y)return!1}return!0}(t,r,s)&&-1==o.indexOf(t)&&r.selected.push(t)})),o=o.concat(r.selected),i.length!==o.length)t.selected=o;else for(let e=0;e<o.length;e++)if(i[e]!=o[e]){t.selected=o;break}}function l7(t,e,r,n,i){i||u7(t,e,r,n)}g6.register("add-layer",class extends U6{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}render(t){var e=this.addbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}contains(t,e){return!(3!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{addstart:this.onaddstart,addstop:this.onaddstop,keydown:this.onkeydown,dragstart:this.ondragstart,dragmove:this.ondragmove,dragend:this.ondragend,mousedown:this.onmousedown,mouseup:this.onmouseup}},"model-layer":{"(self)":{change:this.onchange_root_model}}}}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}onaddstart(t,e){void 0===this.before_mode&&(this.before_mode=this.app.mode,this.models=t,this.app.mode=3)}onaddstop(){void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode,delete this.addbox,this.invalidate()}onkeydown(t){3===this.app.mode&&"Esc"===t.code&&this.root.trigger("addstop")}ondragstart(t){var{x:e,y:r}=this.transcoordC2S(t.offsetX,t.offsetY);this.addbox={sx:e,sy:r}}ondragmove(t){if(3===this.app.mode){var{x:e,y:r}=this.transcoordC2S(t.offsetX,t.offsetY);this.addbox&&(this.addbox.ex=e,this.addbox.ey=r,this.invalidate())}}ondragend(t,e){if(3!==this.app.mode)return;const{sx:r,sy:n,ex:i,ey:o}=this.addbox;I8.call(this.root,this.models,{left:Math.min(r,i),top:Math.min(n,o),width:Math.abs(i-r),height:Math.abs(o-n)}),this.root.trigger("addstop")}onmousedown(t,e){3===this.app.mode&&(this.downpoint={x:t.offsetX,y:t.offsetY})}onmouseup(t,e){if(this.downpoint.x===t.offsetX&&this.downpoint.y===t.offsetY){var{x:r,y:n}=this.transcoordC2S(t.offsetX,t.offsetY);I8.call(this.root,this.models,{cx:r,cy:n}),this.root.trigger("addstop")}}});g6.register("selection-layer",class extends U6{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}contains(t,e){return!1}render(t){var e=this.selbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown}},"model-layer":{"(self)":{change:this.onchange_root_model},"(all)":{dragstart:this.ondragstart_selbox,dragmove:this.ondragmove_selbox,dragend:this.ondragend_selbox,mousedown:this.onmousedown_comp,mouseup:this.onmouseup_comp}}}}onkeydown(t,e){var{origin:r,deliverer:n}=e,i=n.selected;if(1!==i.length)return!1;var o=i[0],a=o.parent;if(!a||a===n)return!1;if("Tab"===t.code){var s=a.layout.capturables(a),c=s.indexOf(o);if(-1==c){if(!a.indexOf(o))return V4("Container not contains [",o,"] as a component"),!1;c=0}var u=s.length;t.shiftKey?c--:c++,o=s[(c+u)%u]}else{if(!a.layout.keyNavigate)return!1;o=a.layout.keyNavigate(a,o,t)||o}n.selected=[o],t.preventDefault()}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}_pendingDecision(t){this.downpoint={x:t.offsetX,y:t.offsetY}}_selectGroupItem(t,e){var r=this.selected.indexOf(t);let n=t.parent;for(;n.parent.isGroup();)n=n.parent;let i=[],o=!1,a=!1;if(this.selected.forEach((t=>{let e=t.parent;if(t!==n){for(;e.parent&&e.parent.isGroup();)e=e.parent;e===n&&(i.push(t),o=!0)}else a=!0})),o)if(e.shiftKey){if(-1!=r)return void this._pendingDecision(e);i.push(t)}else{if(-1!=r)return void this._pendingDecision(e);i=[t]}else{if(a)return void this._pendingDecision(e);if(e.shiftKey)if(this.selected.length>0){if(-1!=this.selected.indexOf(n)||this.selected[0].parent!==n.parent)return;i=[...this.selected,n]}else i=[n];else i=[n]}this.selected=i}onmousedown_comp(t,e){var{origin:r}=e;if(this.downpoint=null,t.shiftKey){if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return void this._pendingDecision(t);{let e=this.selected.filter((t=>!t.isRootModel()&&!!t.parent)),n=e.length>0&&e[0].parent;if(n&&n!==r.parent)return void(r.parent.isGroup()&&this._pendingDecision(t));e.push(r),this.selected=e}}else{if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return;this.selected=[r]}}onmouseup_comp(t,e){if(!this.downpoint)return;if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;var{origin:r}=e;let n=this.selected.indexOf(r);if(-1==n&&r.parent.isGroup()&&(n=this.selected.indexOf(r.parent)),-1!==n&&t.shiftKey){let t=this.selected.slice();return n>-1&&t.splice(n,1),void(this.selected=t)}r.parent.isGroup()&&(this.selected=[r])}ondragstart_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.transcoordC2S(t.offsetX,t.offsetY);this.selbox={sx:n,sy:i,selected:[]}}}ondragmove_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.transcoordC2S(t.offsetX,t.offsetY);this.selbox&&(this.selbox.ex=n,this.selbox.ey=i,l7(this,r,this.selbox,t.shiftKey),this.invalidate())}}ondragend_selbox(t,e){var{origin:r}=e;r.stuck&&(this.last_pos=null,this.selbox=null,l7(this,null,null,!1,!0),this.invalidate())}});class h7{constructor(t){this.layer=t}draw(t,e,r){var{left:n,top:i,width:o,height:a}=e.bounds;0!=o&&0!=a&&(t.beginPath(),t.rect(n,i,o,a),t.clip(),t.beginPath(),t.strokeStyle="#f26522",t.lineWidth=4,t.shadowBlur=10,t.shadowColor="black",t.shadowOffsetX=0,t.shadowOffsetY=0,t.rect(n,i,o,a),t.stroke(),t.closePath())}}class f7{constructor(t){this.layer=t}draw(t,e,r){var n=e.bounds;t.beginPath(),t.rect(n.left-4/r.x,n.top-4/r.y,n.width+8/r.x,n.height+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),t.closePath()}}class p7{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){let i=r.controls;return!!i&&(i.every(((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o,handler:i.handler}),!this.active))),!!this.active)}draw(t,e,r){var n=e.controls;n&&n.forEach(((e,n)=>{t.beginPath(),t.lineWidth=1/r.x,t.ellipse(e.x,e.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.fillStyle="#ff5d72",t.fill(),t.strokeStyle="#fff",t.stroke()}))}onevent(t,e){var{handler:r,component:n,index:i}=this.active,o=n.transcoordC2S(e.offsetX,e.offsetY);o=n.transcoordS2P(o.x,o.y),r&&"function"==typeof r[t]&&r[t](o,i,n)}onmousedown(t){this.onevent("onmousedown",t)}ondragstart(t){var e=this.active;e.changes=f8.before([e.component]),this.onevent("ondragstart",t)}ondragmove(t){this.onevent("ondragmove",t)}ondragend(t){this.onevent("ondragend",t);var{component:e,changes:r}=this.active;f8.after(r,e.app.commander),e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function d7(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}const g7=15*Math.PI/180;class v7{constructor(t){this.layer=t}reset(){this.active=null,this.created=null}get selected(){return this.layer.selected}contains(t,e,r,n){return!!r.mutable&&(r.path.every(((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o}),!this.active))),!!this.active)}startLinkProcess(t,e,r){try{var n=T8(e,t.app);return t.rootModel.addComponent(n),this.layer.selected=[n],this.active={component:n,index:1},this.ondragstart(r),n}catch(t){console.warn(r)}}draw(t,e,r){if(e.mutable&&!e.stuck){var n=e.path,i=this.active;n.forEach(((n,o)=>{t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.fillStyle="#fff",i&&i.component===e&&i.index===o&&(t.strokeStyle="#fa7703",i.toFill&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke()}))}}ondblclick(t){var e=this.active.component;if(e.pathExtendable){var r=e.path.slice();r.length<3||(r.splice(this.active.index,1),e.path=r)}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var{index:e,component:r}=this.active;this.created||(this.active.changes=f8.before([r])),0!==e&&e!==r.path.length-1||(this.layer.counterEnd=0===e?r.toEnd||{fromto:"to"}:r.fromEnd||{fromto:"from"})}ondragmove(t){var{component:e,index:r}=this.active||{};const{offsetX:n,offsetY:i}=t;var o,a,s=e.transcoordC2S(n,i);if(s=e.transcoordS2P(s.x,s.y),t.shiftKey){var c=e.path.length,u=e.isLine()&&0==r?e.path[1]:e.path[(r-1+c)%c];u=e.transcoordS2P(u.x,u.y);var l,h=0;if(c>2)e.isLine()?0==r?l=e.path[2]:1!=r&&(l=e.path[r-2]):l=e.path[(r-2+c)%c],l&&(h=d7(l=e.transcoordS2P(l.x,l.y),u));var f=Math.round((d7(u,s)-h)/g7)*g7+h;s=function(t,e,r){return{x:Math.cos(e)*r+t.x,y:Math.sin(e)*r+t.y}}(u,f,(o=u,a=s,Math.sqrt((a.x-o.x)*(a.x-o.x)+(a.y-o.y)*(a.y-o.y))))}if(0===r||r===e.path.length-1){const t=this.layer.anchorTarget=e.rootModel.capture(n,i,(t=>!t.isConnectable()));if(t){const{x:o,y:a}=t.transcoordC2S(n,i),c=this.layer.get("scale")||{x:1,y:1},u=this.layer.counterEnd,l=(t.anchors||[]).find((r=>{const{name:n,inout:i,multiplicity:s=1/0,position:l,filter:h}=r;if(u){const{anchor:t,fromto:e}=u;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else console.error("should not be here.");if(Math.abs(o-l.x)>8/c.x||Math.abs(a-l.y)>8/c.y)return!1;const f=t.findInOutLines(n);return!!f.includes(e)||!(s!==1/0&&f.length>=s)&&(!u||!h||!!h.call(r,u))}));l?0==r?e.from={component:t.get("refid"),anchor:l.name,position:s}:e.to={component:t.get("refid"),anchor:l.name,position:s}:0==r?e.from={position:s}:e.to={position:s}}}e.mutatePath(null,(function(t){t[r]=s}))}ondragend(t){var{component:e,index:r,changes:n}=this.active;if(0===r||r===e.path.length-1){const{offsetX:n,offsetY:i}=t,o=e.rootModel.capture(n,i,(t=>t===e||t.isLine())),{x:a,y:s}=o.transcoordC2S(n,i),c=this.layer.get("scale")||{x:1,y:1},u=(o.anchors||[]).find((t=>t&&Math.abs(a-t.position.x)<=8/c.x&&Math.abs(s-t.position.y)<=8/c.y));u&&(0==r?e.from={component:o.get("refid"),anchor:u.name}:e.to={component:o.get("refid"),anchor:u.name}),this.layer.endLinkProcess()}if(this.created){let t=new E8({changes:[{component:this.created,to_container:this.created.parent}]});created.app.commander.execute(t)}else f8.after(n,e.app.commander);e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}class y7{constructor(t){this.layer=t}get active(){return this._active?.component.disposed&&(this._active=null),this._active}set active(t){this._active=t}reset(){this.active=null}contains(t,e,r,n){const i=this.active?.component===r&&this.active?.anchor;this.active=null;const o=this.layer.counterEnd;return(r.isConnectable()&&!r.disposed&&r.anchors||[]).filter((t=>{const{name:e,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&r.findInOutLines(e).length>=i)&&(!a||!o||!!a.call(t,o))})).every((o=>{const a=i===o.name?2:1;return o&&o.position&&Math.abs(t-o.position.x)<=4*a/n.x&&Math.abs(e-o.position.y)<=4*a/n.y&&(this.active={component:r,anchor:o.name,template:o.template}),!this.active})),!!this.active}draw(t,e,r){if(!e.get("refid")||e.isLine())return;var n=this.active;const i=this.active?.component===e&&this.active?.anchor,o=this.layer.counterEnd;(e.isConnectable()&&!e.disposed&&e.anchors||[]).filter((t=>{const{name:r,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&e.findInOutLines(r).length>=i)&&(!o||!a||!!a.call(t,o))})).forEach((o=>{const{name:a,position:s}=o,c=i===a?2:1;s&&(t.beginPath(),t.ellipse(s.x,s.y,4*c/r.x,4*c/r.y,0,0,2*Math.PI),t.setLineDash([0,0]),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",n&&n.component===e&&n.anchor===a&&(t.strokeStyle="#fa7703",n.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())}))}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e,anchor:r,template:n}=this.active,i=this.layer.transcoordC2S(t.offsetX,t.offsetY);this.layer.startLinkProcess(e,{type:"ortholine",lineWidth:1,strokeStyle:"black",begin:"oval",beginSize:"size9",end:"arrow",endSize:"size9",lineDash:"solid",lineCap:"butt",round:10,...n,from:{component:e.get("refid"),anchor:r,position:i},to:{position:i}},t)}ondragmove(t){}ondragend(t){}}function m7(t,e,r){var n,i,{left:o,top:a,width:s,height:c}=t.bounds;switch(e){case 0:n=o,i=a;break;case 1:n=o+s/2,i=a;break;case 2:n=o+s,i=a;break;case 3:n=o+s,i=a+c/2;break;case 4:n=o+s,i=a+c;break;case 5:n=o+s/2,i=a+c;break;case 6:n=o,i=a+c;break;case 7:n=o,i=a+c/2}var u=n,l=i,h=t.transcoordT2S(r.x,r.y);return{dx:h.x-u,dy:h.y-l}}function b7(t,e,r,n,i,o){var{left:a,top:s,width:c,height:u}=t.bounds,l={left:a,top:s,width:c,height:u};switch(e){case 0:a+=n,s+=i,c-=n,u-=i;break;case 1:s+=i,u-=i;break;case 2:s+=i,c+=n,u-=i;break;case 3:c+=n;break;case 4:c+=n,u+=i;break;case 5:u+=i;break;case 6:a+=n,c-=n,u+=i;break;case 7:a+=n,c-=n}if(t.mutateBounds((function(e){return Math.abs(c)<=.001&&(c=.001),Math.abs(u)<=.001&&(u=.001),t.adjustResize({left:a,top:s,width:c,height:u},l,r)}),this),t.isContainer()&&t.layout.ABSOLUTE&&!t.isGroup()){var h=l.left-a,f=l.top-s;o?t.components.forEach((t=>{t.delta("tx",0),t.delta("ty",0),t.move({x:h,y:f},!1)})):t.components.forEach((t=>{t.delta("tx",h),t.delta("ty",f)}))}else{var p=o&&t.parent;p&&p.isGroup()&&p.calculateBounds()}}function x7(t,e){var{left:r,top:n,width:i,height:o}=t,a=r+i/2,s=n+o/2,c=r+i,u=n+o;const l=i*e.x>50,h=o*e.y>50;return[{x:r,y:n},l?{x:a,y:n}:null,{x:c,y:n},h?{x:c,y:s}:null,{x:c,y:u},l?{x:a,y:u}:null,{x:r,y:u},h?{x:r,y:s}:null]}class w7{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){return!!r.resizable&&(x7(r.bounds,n).every(((i,o)=>(i&&Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o}),!this.active))),!!this.active)}draw(t,e,r){if(!e.isLine()){var{left:n,top:i,width:o,height:a}=e.bounds;if(t.beginPath(),t.rect(n-4/r.x,i-4/r.y,o+8/r.x,a+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),e.resizable){var s=this.active;x7(e.bounds,r).forEach(((n,i)=>{n&&(t.beginPath(),t.rect(n.x-4/r.x,n.y-4/r.y,8/r.x,8/r.y),t.setLineDash([0,0]),t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",s&&s.component===e&&s.index===i&&(t.strokeStyle="#fa7703",s.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())}))}}}onmousedown(t){this.active.focus=!0}ondragstart(t){var{component:e}=this.active;this.active.bounds=e.bounds,this.active.boundsList=this.layer.selected.filter((t=>t.resizable)).map((t=>t.bounds))}ondragmove(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active,o=this.layer.transcoordC2S(t.offsetX,t.offsetY);e.bounds=i;var a=m7(e,r,o);this.layer.selected.filter((t=>t.resizable)).forEach(((e,i)=>{e.bounds=n[i],b7(e,r,t.shiftKey,a.dx,a.dy,!1)}))}ondragend(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active,o=this.layer.transcoordC2S(t.offsetX,t.offsetY);e.bounds=i;var a=m7(e,r,o);this.layer.selected.filter((t=>t.resizable)).forEach(((e,i)=>{e.bounds=n[i],b7(e,r,t.shiftKey,a.dx,a.dy,!0)})),this.active.component.app.commander.execute(null,!1)}}const A7=2*Math.PI,_7=Math.PI/2;function k7(t,e){var r=t.bounds;return{x:r.left+r.width/2,y:r.top-20/e.y}}class E7{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){if(!r.rotatable)return!1;var i=k7(r,n);return Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r},!0)}draw(t,e,r){if(e.rotatable){t.beginPath();var n=k7(e,r);t.lineWidth=1.5/r.x,t.moveTo(n.x,n.y+20/r.y),t.lineTo(n.x,n.y),t.strokeStyle="#656565",t.stroke(),t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,A7,!0),t.stroke(),t.fillStyle="#fff",t.fill();var i=this.active;i&&i.component===e&&(t.strokeStyle="#fa7703",t.stroke(),i.toFill&&(t.fillStyle="#ffb80c",t.fill()))}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var e=this.active;e.component,e.start_rotation=e.component.get("rotation"),e.rotations=this.layer.selected.filter((t=>t.rotatable)).map((t=>t.get("rotation")))}ondragmove(t){var{component:e}=this.active,r=e.transcoordC2S(t.offsetX,t.offsetY);r=e.transcoordS2P(r.x,r.y);var n=e.rotatePoint,i=e.get("rotation")||0,o=Math.atan((n.y-r.y)/(n.x-r.x)),a=(o=n.x>=r.x?o-_7:_7+o)-i;this.layer.selected.filter((t=>t.rotatable)).forEach(((e,r)=>{let n=((e.get("rotation")||0)+a)%A7;e.set("rotation",e.adjustRotation(n,t.shiftKey))}))}ondragend(t){var{component:e,rotations:r}=this.active;e.app.commander.execute(null,!1)}}g6.register("modeling-layer",class extends U6{constructor(t,e){super(t,e),this.pathHandler=new v7(this);var r=this.pathHandler,n=new p7(this),i=new w7(this),o=new E7(this);this._modelers=[r,n,i,o],this._control_mode_modelers=[n,r,i,o],this.focusOutline=new h7(this),this.groupOutline=new f7(this),this.anchorHandler=new y7(this),this._reversed_modelers=this._modelers.slice().reverse(),this._control_mode_reverse_modelers=this._control_mode_modelers.slice().reverse(),this.hovered=null,this.hoveredDest=null}get modelers(){return this._control_mode?this._control_mode_modelers:this._modelers}get reversedModelers(){return this._control_mode?this._control_mode_reverse_modelers:this._reversed_modelers}ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}contains(t,e){var r=this.selected.filter((t=>!!t.parent)),n=this.get("scale")||{x:1,y:1};if(this._state_dragging){if(this._counter_end){let r=this.anchorTarget.transcoordT2S(t,e);if(this.anchorHandler.contains(r.x,r.y,this.anchorTarget,n))return!0}return!0}this.modelers.forEach((t=>t.reset()));r=this.selected.filter((t=>!!t.parent));for(let i=0;i<r.length;i++){let o=r[i],a=o.transcoordT2S(t,e);for(let t=0;t<this.modelers.length;t++){let e=this.modelers[t];if(e.contains(a.x,a.y,o,n))return this.currentModeler=e,!0}}if(this.anchorTarget){let r=this.anchorTarget.transcoordT2S(t,e);if(this.anchorHandler.contains(r.x,r.y,this.anchorTarget,n))return this.currentModeler=this.anchorHandler,!0}else this.anchorHandler.reset();return this.currentModeler=null,!1}_componentDrawer(t,e,r,n){let i=[],o=e.parent;if(e.isRootModel())return t.save(),n(t,e,r),void t.restore();for(;o&&!o.isRootModel();)i.push(o),o=o.parent;t.save(),i.reverse().forEach((function(e){let r=e.rotatePoint;t.translate(r.x,r.y);let n=e.get("scale");n&&t.scale(n.x,n.y),t.rotate(e.get("rotation")),t.translate(-r.x,-r.y);let i=e.bounds;t.translate(i.left,i.top)}));let a=e.rotatePoint;t.translate(a.x,a.y);let s=e.get("scale");s&&t.scale(s.x,s.y),t.rotate(e.get("rotation")),t.translate(-a.x,-a.y),n(t,e,r),t.restore()}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.save(),t.beginPath(),t.clearRect(0,0,t.canvas.width,t.canvas.height),t.rect(0,0,t.canvas.width,t.canvas.height),t.fillStyle="black",t.globalAlpha=.5,t.fill(),t.restore(),e&&t.translate(e.x*i5,e.y*i5),t.scale(r.x*i5,r.y*i5),n&&t.rotate(n),t.clearRect(0,0,this.rootModel.get("width"),this.rootModel.get("height"))}render(t){t.beginPath();var e=this.get("scale")||{x:1,y:1},r=this.selected.filter((t=>!!t.parent));if(this.focused&&this._componentDrawer(t,this.focused,e,((t,e,r)=>{this.focusOutline.draw(t,e,r)})),r.length>0&&r[0].parent.isGroup()){let n=r[0].parent;for(;n.parent.isGroup();)n=n.parent;this._componentDrawer(t,n,e,((t,e,r)=>{this.groupOutline.draw(t,e,r)}))}r.forEach((r=>{this._componentDrawer(t,r,e,((t,e,r)=>{this.reversedModelers.forEach((n=>n.draw(t,e,r)))}))})),this.anchorTarget&&this._componentDrawer(t,this.anchorTarget,e,((t,e,r)=>{this.anchorHandler.draw(t,e,r)}))}get anchorTarget(){return this.currentModeler===this.anchorHandler||this.currentModeler===this.pathHandler||this.hovered?.isLine()||(this._anchorTarget=this.hovered),this._anchorTarget}set anchorTarget(t){this._anchorTarget=t}get hovered(){return this._hovered}set hovered(t){this._hovered=t,this.invalidate()}startLinkProcess(t,e,r){this.currentModeler=this.pathHandler,this.processingLink=this.pathHandler.startLinkProcess(t,e,r),this.counterEnd=this.processingLink.fromEnd,this.processingLink.trigger("tag")}set counterEnd(t){this.currentModeler=this.pathHandler,this._counter_end=t}get counterEnd(){return this._counter_end}endLinkProcess(){this.processingLink?.trigger("tagreset"),this.processingLink=null,this._counter_end=null}get eventMap(){return{"model-layer":{"(all)":{change:this.onchange_model,wheel:this.onwheel_scale,drop:this.ondrop},"(descendant)":{mouseenter:this.onmouseenter,mouseleave:this.onmouseleave},"(self)":{dblclick:this.ondblclick_model}},"(root)":{"(self)":{selected:this.onselected,keydown:this.onkeydown,keyup:this.onkeyup}}}}onmouseenter(t,e){this.hovered=e?.origin}onmouseleave(t,e){this.hovered=null}onkeydown(t){"Alt"==t.key&&(this._control_mode=!0,this.invalidate())}onkeyup(t){"Alt"==t.key&&(this._control_mode=!1,this.invalidate())}onselected(t,e){this.invalidate()}onchange_model(t,e,r){var{origin:n,deliverer:i}=r;n===i&&(t.translate&&this.set("translate",t.translate),void 0!==t.rotation&&this.set("rotation",t.rotation),t.scale&&this.set("scale",t.scale)),this.invalidate()}ondblclick_model(t,e){const r=e.origin;r?.root.fit()}ondblclick(t){"function"==typeof this.currentModeler.ondblclick&&this.currentModeler.ondblclick(t),this.invalidate()}onmousedown(t){this.currentModeler.onmousedown(t),this.invalidate()}onmouseup(t){"function"==typeof this.currentModeler.onmouseup&&this.currentModeler.onmouseup(t),this.invalidate()}ondragstart(t){this.currentModeler.ondragstart(t),this._state_dragging=!0}ondragmove(t){this.currentModeler.ondragmove(t),this.invalidate()}ondragend(t){this._state_dragging=!1,this.currentModeler.ondragend(t),this.invalidate()}ondrop(t,e){var{origin:r}=e,n=t.dataTransfer.files;if(n.length<1)return;let i=this.rootModel.transcoordC2S(t.offsetX,t.offsetY),o=this.rootModel;Promise.all(Array.from(n).map((t=>new Promise(((e,r)=>{let n=new FileReader;n.addEventListener("loadend",(t=>{e(n.result)})),["error","abort"].forEach((t=>n.addEventListener(t,(t=>{r(t)})))),n.readAsDataURL(t)}))))).then((e=>{if(t.altKey)return f8.around(this.app.commander,(()=>{r.ondropfile(n,e)})),void(this.selected=[r]);let a=[],s=e.map(((t,e)=>{let r,s=n[e].type,c=n[e].name;return s.startsWith("image/")?(r=T8({type:s.startsWith("image/gif")?"gif-view":"image-view",top:0,left:0,width:200,height:200,src:t},o.app),a.push(new Promise(((e,n)=>{let i=new Image;i.src=t,i.onload=()=>{r.set({width:i.width,height:i.height}),e()},i.onerror=t=>{n(t)}})))):s.startsWith("audio/")?r=T8({type:"audio",top:0,left:0,width:100,height:100,src:t},o.app):s.startsWith("vnd.ms-excel/")||/\.xlsx?$/.test(c)?r=T8({type:"excel",top:0,left:0,width:100,height:100,src:t},o.app):console.log("droped file",n[e]),r&&(r.center=i,i.x+=50,i.y+=50),r})).filter(Boolean).map((t=>({component:t,to_container:o})));s.length>0&&Promise.all(a).then((()=>{this.app.commander.execute(new E8({changes:s})),this.selected=s.map((t=>t.component))}),(t=>{console.error(t)}))}),(t=>{console.error(t)}))}onwheel_scale(t,e){if(0!=t.deltaY||0!=t.deltaX){var r=e.deliverer;if(t.shiftKey){if(-1!=navigator.userAgent.indexOf("Win"))var n=t.deltaY<0?1:-1;else n=t.deltaX<0?1:-1;f8.around(this.app.commander,(()=>{r.selected.forEach((t=>{let e=t.get("fontSize")||s5.FONT_SIZE;e<1&&(e=1),e+=n,t.set("fontSize",e)}))}))}else{n=t.deltaY<0?1:-1;let e=r.get("scale")||{x:1,y:1},i=r.get("translate"),o=t.offsetX,a=t.offsetY,s=r.transcoordC2S(o,a),c=.1*n,u={x:e.x+c,y:e.y+c};if(n<0&&e.x<.2||n>0&&e.x>10)return;r.set("scale",u);let l=r.transcoordC2S(o,a);r.set("translate",{x:i.x+(l.x-s.x)*u.x,y:i.y+(l.y-s.y)*u.y})}}}});class S7 extends U6{constructor(t,e){super(t,e),this._anim_alpha=1}animOnTargetChange(t){t!==this._lastTargets&&(this._lastTargets=t,this._anim_alpha=1,this.animate({step:t=>{this._anim_alpha=1-t,this.invalidate()},duration:5e3,delta:"circ",ease:"in"}).start())}decorate(t,e,r){const n=t.decorators;var i=!1;return n.map((t=>"string"==typeof t?c6(t):t)).filter((t=>t&&"function"==typeof t)).map((n=>{const o=n(t,e,1-r);i||=o})),i}render(t){var e=this.decoTargets&&this.decoTargets.filter((t=>t.rootModel));if(!e||0==e.length)return this._animate&&this._animate.stop(),void delete this._animate;t.globalAlpha*=this._anim_alpha;var r=!1;e.forEach((e=>{this.decorate(e,t,1-this._anim_alpha)&&(r=!0)})),r&&this.animOnTargetChange(this.decoTargets)}get decoTargets(){return this._decoTargets}set decoTargets(t){this._decoTargets=t&&t.filter((t=>!t.isLayer())),this.invalidate()}get eventMap(){return{"model-layer":{"(descendant)":{tag:this.ondecotag,tagreset:this.ondecotagreset,mouseenter:this.onmouseenter,mouseleave:this.onmouseleave}}}}onmouseenter(t,e){this._decotagreset(),this._ondecotag(e.origin)}onmouseleave(t,e){this._decotagreset()}ondecotagreset(t){this._decotagreset()}ondecotag(t){this._ondecotag(t.origin)}offdecotag(t,e){this._offdecotag(e.origin)}_ondecotag(t){this.decoTargets&&-1!==this.decoTargets.lastIndexOf(t)||(this.decoTargets=(this.decoTargets||[]).concat(t))}_offdecotag(t){if(this.decoTargets){var e=this.decoTargets.slice();e.splice(this.decoTargets.lastIndexOf(t),1),this.decoTargets=e}}_decotagreset(){this.decoTargets=[]}}g6.register("decotag-layer",S7),g6.register("tag-layer",S7);g6.register("reaction-layer",class extends U6{constructor(t,e){super(t,e),this._anim_alpha=1}animOnTargetChange(t){t!==this._lastTargets&&(this._lastTargets=t,this._anim_alpha=1,this.animate({step:t=>{this._anim_alpha=1-t,this.invalidate()},duration:5e3,delta:"circ",ease:"in"}).start())}decorate(t,e,r){const n=t.reactionDecorators;var i=!1;return n.map((t=>"string"==typeof t?c6(t):t)).filter((t=>t&&"function"==typeof t)).map((n=>{const o=n(t,e,1-r);i||=o})),i}render(t){var e=this.targets&&this.targets.filter((t=>t.rootModel));if(!e||0==e.length)return this._animate&&this._animate.stop(),void delete this._animate;t.globalAlpha*=this._anim_alpha;var r=!1;e.forEach((e=>{this.decorate(e,t,1-this._anim_alpha)&&(r=!0)})),r&&this.animOnTargetChange(this.targets)}get targets(){return this._targets}set targets(t){this._targets=t&&t.filter((t=>!t.isLayer())),this.invalidate()}get eventMap(){return{"model-layer":{"(descendant)":{reaction:this.onreaction,reactionreset:this.onreactionreset}}}}onreactionreset(t){this._reactionreset()}onreaction(t){this._onreaction(t.origin)}offreaction(t,e){this._offreaction(e.origin)}_onreaction(t){this.targets&&-1!==this.targets.lastIndexOf(t)||(this.targets=(this.targets||[]).concat(t))}_offreaction(t){if(this.targets){var e=this.targets.slice();e.splice(this.targets.lastIndexOf(t),1),this.targets=e}}_reactionreset(){this.targets=[]}});function M7(){var t=arguments,e=t[t.length-1],r=this.event_pump;r.listeners.forEach((n=>{!function(t,e,r,n,i){for(let o in r){let a=r[o];if(p5(o,n.origin,0,t))for(let t in a){let r=a[t];t==n.name&&(n.listener=e,r.apply(e,i))}}}(r.deliverer,n.listener,n.cloned_handlers,e,t)}))}g6.register("scroll-layer",class extends U6{get capturable(){return!0}render(t){const{scrolling:e}=this.state;if(t.save(),t.beginPath(),t.fillStyle="#777",this.vscroller){const{left:r,top:n,width:i,height:o}=this.vscroller;t.globalAlpha="v"==e?1:.3,t.fillRect(r,n,i,o)}if(this.hscroller){const{left:r,top:n,width:i,height:o}=this.hscroller;t.globalAlpha="h"==e?1:.3,t.fillRect(r,n,i,o)}t.stroke(),t.restore()}contains(t,e){const r=this.vscroller,n=this.hscroller;return this.setState("scrolling",r&&t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?"v":n&&t>=n.left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height?"h":null),!!this.getState("scrolling")}get eventMap(){return{"(root)":{"model-layer":{change:this.onchangeModelLayer}}}}onchange(t){"scrolling"in t&&this.invalidate()}ondragstart(t,e){this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragmove(t,e){const r=this.root,{clientWidth:n,clientHeight:i}=this.canvas,{width:o,height:a}=this.rootModel.model,{x:s,y:c}={x:t.offsetX,y:t.offsetY},{x:u,y:l}=this._scale,{scrolling:h}=this.state,f=o/n,p=a/i;h&&r.rootModel.move({x:"h"==h?(-s+this.lastPosition.x)*u*f:0,y:"v"==h?(-c+this.lastPosition.y)*l*p:0},!1),this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragend(){delete this.lastPosition,this.setState({scrolling:null})}calcScrollerBounds(){var{clientWidth:t,clientHeight:e}=this.canvas;const{width:r,height:n}=this.rootModel.model,{x:i=1,y:o=1}=this._scale||{},{x:a=0,y:s=0}=this._translate||{},c=r/t,u=n/e;var l={left:-a/i/c,top:e-10,width:t/i/c,height:10};this.hscroller=l.left>1||l.width+l.left<t-1?l:null,l={left:t-10,top:-s/o/u,width:10,height:e/o/u},this.vscroller=l.top>1||l.height+l.top<e-1?l:null,this.invalidate()}onchangeModelLayer(t,e,r){if(t.scale){const{x:e=1,y:r=1}=t?.scale||{};this._scale={x:e,y:r},this.calcScrollerBounds()}if(t.translate){const{x:e=0,y:r=0}=t.translate||{};this._translate={x:e,y:r},this.calcScrollerBounds()}}});class T7{constructor(t){if(void 0===t.on)throw new Error("Deliverer should be a event handlable object.");this.deliverer=t,this.listeners=[]}start(){this.deliverer.on("(all)",M7,{event_pump:this})}stop(){this.deliverer.off("(all)",M7)}on(t,e){var r=Object.assign({},e);Object.keys(r).forEach((e=>{if(0==e.indexOf("?")){let n=r[e],i=e.substr(1),o=t.get(i);delete r[e],o?r[o]=n:V4("EventPump#on","variable #{selector} is not evaluated on listener")}})),this.listeners.push({listener:t,handlers:e,cloned_handlers:r})}off(t,e){for(let r=0;r<this.listeners.length;r++){let n=this.listeners[r];n.listener!==t||e&&n.handlers!==e||this.listeners.splice(r,1)}}clear(){this.listeners=[]}dispose(){this.stop(),this.clear()}}class P7{constructor(t){this.eventMaps=[],this.root=t,t.eventMap&&this.add(t,t.eventMap)}set root(t){this._root=t}get root(){return this._root}stop(){this.eventMaps.forEach((t=>t.eventPump.stop()))}add(t,e){if(this.root)for(let r in e){let n=e[r];if("(self)"===r&&void 0===t.on)throw new Error("(self) selector not available when deliverer is not a event handlable object.");v5(r,this.root,t).forEach((r=>{var i=new T7(r);i.on(t,n),i.start(),this.eventMaps.push({eventPump:i,listener:t,handlerMap:e,deliverer:r})}))}}remove(t,e){var r=this.eventMaps.slice(0);for(let n=0;n<r.length;n++){let i=r[n];i.listener!==t||e&&i.handlerMap!==e||(this.eventMaps.splice(n,1),i.eventPump.dispose())}}clear(){this.eventMaps.slice(0).forEach((t=>t.eventPump.dispose())),this.eventMaps=[]}dispose(){this.stop(),this.clear()}}const O7=0,I7=1,R7=2,C7=0,j7=1,L7=2;var D7={},z7=0;class F7{constructor(t,e){this._type=e||t.type,this._ctrlKey=t.ctrlKey,this._altKey=t.altKey,this._shiftKey=t.shiftKey,this._metaKey=t.metaKey;var r=function(t){if(t.touches){let e=t.touches[0];if(!e)return D7;let r=e.target.getBoundingClientRect();return D7={x:t.offsetX||e.clientX-(r.x||r.left),y:t.offsetY||e.clientY-(r.y||r.top)}}return{x:t.offsetX,y:t.offsetY}}(t);if(this._offsetX=r.x,this._offsetY=r.y,"wheel"==t.type)this.deltaX=t.deltaX,this.deltaY=t.deltaY,this.deltaZ=t.deltaZ;else if("drop"==t.type)this.dataTransfer=t.dataTransfer;else if(t.type.match(/^touch/)&&(this._scale=t.scale,this._touches=t.touches,this._changedTouches=t.changedTouches,null==this._scale)){var n=function(t){var e,r,n=0,i=0,o=0;if(1===t.touches.length)return o;Array.from(t.touches).forEach((t=>{e=null!=e?Math.min(t.screenX,e):t.screenX,n=Math.max(t.screenX,n),r=null!=r?Math.min(t.screenY,r):t.screenY,i=Math.max(t.screenY,i)}));var a=n-e||0,s=i-r||0;return Math.sqrt(Math.pow(a,2)+Math.pow(s,2))||0}(t);z7>0&&(this._scale=n/z7),z7=n}}get type(){return this._type}set type(t){this._type=t}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get shiftKey(){return this._shiftKey}get metaKey(){return this._metaKey}get touches(){return this._touches}get changedTouches(){return this._changedTouches}get scale(){return this._scale}stopPropagation(){this._stop_=!0}isPropagationStopped(){return this._stop_}}function B7(t,e){return t.capture(e.offsetX,e.offsetY)}function N7(t,e,r){if(t&&t.app&&(!t.app.isViewMode||!t.hidden)){r instanceof F7&&e===r.type||(r=new F7(r,e));var n="on"+e;t[n]&&t[n](r),r.isPropagationStopped()||t.trigger(e,r)}}class U7{constructor(t,e){this.container=t,this.html_element=e,this.status=O7,this.last_target=null,this.gesture_handlers=o5.map((t=>this.gestureHandlerBuilder(t))),this.keyevent_handlers=a5.map((t=>this.keyeventHandlerBuilder(t))),o5.forEach(((t,r)=>e.addEventListener(t,this.gesture_handlers[r]))),a5.forEach(((t,r)=>e.addEventListener(t,this.keyevent_handlers[r]))),e.ondragover=this.gestureHandlerBuilder("dragover"),e.ondrop=this.gestureHandlerBuilder("drop"),e.tabIndex=1}dispose(){this.last_enter_target&&N7(this.last_enter_target,"mouseleave",new CustomEvent("mouseleave")),o5.forEach(((t,e)=>this.html_element.removeEventListener(t,this.gesture_handlers[e]))),a5.forEach(((t,e)=>this.html_element.removeEventListener(t,this.keyevent_handlers[e]))),delete this.gesture_handlers,delete this.keyevent_handlers,delete this.last_target}gestureHandlerBuilder(t){var e=this[`on${t}`].bind(this);return t=>(e(new F7(t))&&t.preventDefault(),!1)}keyeventHandlerBuilder(t){return this[`on${t}`].bind(this)}ondragover(t){return N7(B7(this.container,t),t.type,t),!1}ondrop(t){return N7(B7(this.container,t),t.type,t),!1}ondblclick(t){return N7(B7(this.container,t),t.type,t),this.last_target=null,!1}onkeydown(t){return this.container.trigger(t.type,t),!1}onkeyup(t){return this.container.trigger(t.type,t),!1}onmousemove(t){switch(this.status){case I7:let r=t.offsetX-this.__dragstart_e.offsetX,n=t.offsetY-this.__dragstart_e.offsetY;if(r*r+n*n<16)break;this.status=R7,N7(this.last_target,"dragstart",this.__dragstart_e),this.__dragmove_e=t,N7(this.last_target,"dragmove",t);break;case R7:this.__dragmove_e=t,N7(this.last_target,"dragmove",t);break;default:var e=B7(this.container,t);this.last_enter_target!==e&&(this.last_enter_target&&N7(this.last_enter_target,"mouseleave",t),e&&N7(e,"mouseenter",t),this.last_enter_target=e),N7(e,t.type,t),this.last_target=e}return!1}onmousedown(t){if(this.status===R7)N7(this.last_target,"dragend",t),this.last_target=null,this.status=O7;else{var e=B7(this.container,t);this.last_target=e,this.status=I7,this.__dragstart_e=t,N7(e,t.type,t)}return!1}onmouseup(t){if(this.status===R7)N7(this.last_target,"dragend",t);else{var e=B7(this.container,t);N7(e,t.type,t),this.last_target===e&&N7(e,"click",t)}return this.last_target=null,this.status=O7,!1}onmouseout(t){var e=B7(this.container,t);if(this.status===R7)N7(this.last_target,"dragend",t);else{if(this.last_target&&this.last_target===e)return;this.last_enter_target&&(N7(this.last_enter_target,"mouseleave",t),delete this.last_enter_target)}return this.last_target=null,this.status=O7,!1}ontouchstart(t){var e=B7(this.container,t);return this.last_target=e,this.status=j7,this.touchPoints||(this.touchPoints=[]),this.touchPoints.push(t.changedTouches[0]),this.holdTimer=setTimeout((()=>{this.status=C7,N7(this.last_target,"hold",t),delete this.holdTimer}),500),N7(e,t.type,t),!1}ontouchmove(t){if(!t.touches||!t.changedTouches)return N7(this.last_target,"dragstart",t),N7(this.last_target,"dragmove",t),!1;var e=B7(this.container,t);switch(this.status){case j7:Array.from(t.changedTouches).forEach((t=>{var e=this.touchPoints.find((e=>e.identifier===t.identifier));if(e){var r=e.clientX-t.clientX,n=e.clientY-t.clientY;return Math.sqrt(Math.pow(r,2)+Math.pow(n,2))>=16?(this.status=L7,void(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer))):void 0}}));break;case L7:if(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer),2===t.changedTouches.length&&null!=t.scale&&1!==t.scale&&(t.scale<.9||t.scale>1.1))return N7(this.last_target,"pinch",t),!1;N7(this.last_target,"pan",t),e=this.last_target;break;default:this.last_enter_target!==e&&(this.last_enter_target&&N7(this.last_enter_target,"mouseleave",t),e&&N7(e,"mouseenter",t),this.last_enter_target=e),this.last_target=e}return N7(e,"touchmove",t),!1}ontouchend(t){var e=B7(this.container,t);switch(this.status){case L7:e=this.last_target;break;case j7:var r=performance.now(),n=r-this.touchedAt;this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer,N7(e,n<500?"doubletap":"tap",t),this.touchedAt=r)}N7(e,"touchend",t);var i=this.touchPoints.findIndex((e=>e.identifier===t.changedTouches[0].identifier));return this.touchPoints.splice(i,1),this.last_target=null,this.status=C7,!1}onwheel(t){return N7(B7(this.container,t),t.type,t),!1}}var G7={};var Y7={register:function(t,e){G7[t]=e},unregister:function(t){delete G7[t]},get:function(t){return G7[t]}};function H7(t){if(!t.hasTextProperty||t.textHidden)return;var{text:e="",bold:r=s5.BOLD,italic:n=s5.ITALIC,textWrap:i=s5.TEXT_WRAP,fontFamily:o=s5.FONT_FAMILY,fontColor:a=s5.FONT_COLOR,textAlign:s=s5.TEXT_ALIGN,textBaseline:c=s5.TEXT_BASELINE,fontSize:u=s5.FONT_SIZE,lineHeight:l=1.2*u}=t.model,{left:h,top:f,width:p,height:d}=t.textBounds;u||=s5.FONT_SIZE,l||=1.2*u,t.textHidden=!0;var g=document.createElement("textarea");o5.forEach((function(t){g.addEventListener(t,(function(t){t.stopPropagation()}),!0)}));const v=t.transcoordS2C(h,f),{rotation:y,scale:m}=function(t){for(var e=0,r=1,n=t;n;){e+=n.get("rotation")||0;let{x:t,y:i}=n.get("scale")||{x:1,y:1};r*=Math.max(t,i)||1,n=n.parent}return{rotation:e,scale:r}}(t);switch(g.style.position="absolute",g.style.width=p+"px",g.style.height=d+"px",g.value=e,g.style.fontFamily=o,g.style.fontSize=u+"px",g.style.lineHeight=l+"px",g.style.overflow="hidden",g.style.resize="none",g.style.outline="none",g.style.border=0,g.style.backgroundColor="transparent",g.style.display="inline-block",g.style.color=a,r&&(g.style.fontWeight="bold"),n&&(g.style.fontStyle="italic"),s){case"right":case"end":g.style.textAlign="right";break;case"justify":g.style.textAlign="justify";break;case"left":case"start":g.style.textAlign="left";break;default:g.style.textAlign="center"}var b=[r,n,u+"px",o].filter(Boolean).join(" ");function x(e){var r={left:0,top:0},n=l*function(t,e,r,n){var i,o=t.getContext();return o.save(),o.font=r,i=F5(o,e,n,t.get("textWrap")).length,o.restore(),i}(t,e,b,p);switch(g.style.height=n+"px",c){case"top":case"hanging":break;case"bottom":case"alphabetic":r.top=d-n;break;default:r.top=d/2-n/2}if(!i){var o=function(t,e,r,n){var i=e.split("\n"),o=n;let a=t.getContext();return a.save(),a.font=r,i.forEach((t=>{let e=a.measureText(t).width;e>o&&(o=e)})),a.restore(),o}(t,e,b,p);switch(g.style.width=o+"px",s){case"right":case"end":r.left=p-o;break;case"left":case"start":break;default:r.left=(p-o)/2}}g.style.marginLeft=r.left+"px",g.style.marginTop=r.top+"px";var a=`translate(${v.x}px, ${v.y}px) scale(${m}) rotate(${y}rad)`;["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{g.style[t+"transform"]=a,g.style[t+"transform-origin"]=`${-r.left}px ${-r.top}px`}))}x(e);var w=t.root.target_element;w.appendChild(g),g.select();var A,_=!1;g.addEventListener("keydown",(function(t){t.stopPropagation(),"Escape"!=t.code&&(t.shiftKey||"Enter"!=t.code&&"NumpadEnter"!=t.code)?setTimeout((()=>{x(g.value)})):(_=A.skipUpdate="Escape"==t.code,document.createEvent?g.dispatchEvent(A):g.fireEvent(A.eventType,A))})),document.createEvent?(A=document.createEvent("HTMLEvents")).initEvent("blur",!0,!1):(A=document.createEventObject()).eventType="blur";var k=t.root.selected,E=function(r){t.root.selected=k,t.textHidden=!1,g.removeEventListener("blur",E,!1),g.parentElement&&g.parentElement.removeChild(g),w.focus(),r.skipUpdate||_||t.app.commander.execute(new f8({changes:[{component:t,before:{text:e},after:{text:g.value}}]}))};g.addEventListener("blur",E,!1)}Y7.register("text-editor",{"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i=n.selected;return!(1!==i.length||!i[0].hasTextProperty)&&(("Enter"==t.code||"NumpadEnter"==t.code)&&(H7(i[0]),t.preventDefault(),!0))}}},"model-layer":{"(descendant)":{dblclick:function(t,e){H7(e.origin)}}}});var W7,q7,X7,V7=k4((function(t,e,r){if(r)t.focused=null;else{var n=[];e[0].parent.isGroup()?t.focused=e[0].parent:(e.forEach((t=>{t.path.forEach((e=>{n.push(t.transcoordS2T(e.x,e.y))}))})),t.focused=t.capturePath(n,e))}}),300);Y7.register("move-handler",{"model-layer":{"(descendant)":{dragstart:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected,o=n.selected.filter((t=>!t.stuck));if(i.length!==o.length&&(i=n.selected=o),0!=i.length){var a=i[0].transcoordC2S(t.offsetX,t.offsetY);if(a=i[0].transcoordS2P(a.x,a.y),this.last_pos=a,this.direction=0,n.focused=i[0].parent,t.altKey){var s=[],c=new Map;n.selected=n.selected.filter((t=>!t.isRootModel())).map((t=>{let e=P8(t,(t=>{const e=n.root.getNewRefid();return void 0!==t&&c.set(t,e),e}));return s.push({component:e,to_container:t.parent}),e})).map((t=>(t.replaceRefids(c),t))),s.forEach((({component:t,to_container:e})=>{e.addComponent(t)})),this.duplicates=n.selected.map((t=>({component:t})))}else this.changes=f8.before(i)}}},dragmove:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){var{x:o,y:a}=i[0].transcoordC2S(t.offsetX,t.offsetY),s=i[0].transcoordS2P(o,a);t.shiftKey?2==this.direction&&(this.direction=0):this.direction=2;var c=s.x-this.last_pos.x,u=s.y-this.last_pos.y;if(0==this.direction){if(c*c+u*u<25)return;Math.abs(c)>Math.abs(u)?this.direction=3:this.direction=4}3==this.direction?u=0:4==this.direction&&(c=0),i.forEach((t=>{t.move({x:c,y:u},1===i.length)})),this.last_pos=s,V7(n,i)}}},dragend:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){var o=i[0].parent,a=n.focused||e.deliverer;if(this.changes&&!a.isGroup())if(a&&a!==o){var s=this.changes.map((t=>{let{component:e,before:r}=t;return{component:e,to_container:a}}));n.app.commander.execute(new E8({changes:s}))}else f8.after(this.changes,n.app.commander);else if(this.duplicates){this.duplicates=this.duplicates.map((t=>(t.to_container=a,t)));let t=new E8({changes:this.duplicates});n.app.commander.execute(t)}i.forEach((t=>{t.parent&&t.parent.calculateBounds&&t.parent.calculateBounds()})),this.last_pos=null,this.changes=null,this.duplicates=null,V7(n,i,!0)}}}}},"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i={},o=t.shiftKey?r.rootModel.MPP:1;switch(t.which){case 37:i.x=-o,i.y=0;break;case 38:i.x=0,i.y=-o;break;case 39:i.x=o,i.y=0;break;case 40:i.x=0,i.y=o;break;default:return}var a=n.selected;f8.around(n.app.commander,(function(){a.forEach((t=>{!t.stuck&&t.move(i,!1)}))}))}}}});const Q7=E4((()=>{const{x:t,y:e}=X7,r=q7.deref();r&&(r.rootModel.move({x:t-W7.x,y:e-W7.y},!1),W7={x:t,y:e})}),60,{leading:!0,trailing:!0});Y7.register("shift-handler",{"model-layer":{"(all)":{dragstart:function(t,e){W7={x:t.offsetX,y:t.offsetY}},dragmove:function(t,e){q7=new WeakRef(e.deliverer),X7={x:t.offsetX,y:t.offsetY},Q7()}}}}),Y7.register("zoom-handler",{"model-layer":{"(all)":{wheel:function(t,e){if(0==t.deltaY&&0==t.deltaX)return;var r=e.deliverer,n=t.deltaY<0?1:-1;let i=r.get("scale")||{x:1,y:1},o=r.get("translate"),a=t.offsetX,s=t.offsetY,c=r.transcoordC2S(a,s),u=.1*n,l={x:i.x+u,y:i.y+u};if(n<0&&i.x<.2||n>0&&i.x>10)return;r.set("scale",l);let h=r.transcoordC2S(a,s);r.set("translate",{x:o.x+(h.x-c.x)*l.x,y:o.y+(h.y-c.y)*l.y})}},"(self)":{dblclick:function(t,e){const r=e.origin;r?.root.fit()}}}});var K7=[],J7=k4((function(){K7.forEach((t=>{t.resize()}))}),100);"undefined"!=typeof window&&window.addEventListener("resize",J7);class Z7 extends N6{constructor(t,e){super(Object.assign({type:"root",scale:{x:1,y:1}},t||{}),e),this._maxRefid=0,t=t||{},this.fitMode=t.model&&t.model.fitMode,this._app=e,this.style=t.style,this.target_element=t.target_element,this.rebuildContentModel(this.model.model),K7.push(this)}dispose(){T6.hideAll(this),this._app&&this._app.dispose(),super.dispose(),this._disposeAllResources(),this.target_element=null,delete this._refresh_mapping_debouncer;var t=K7.indexOf(this);t>=0&&K7.splice(t,1),this.refidIndexMap.clear(),this._maxRefid=0}isRoot(){return!0}get app(){return this._app}get target_element(){return this._target_element}set target_element(t){this._ua_event_handler&&(this._ua_event_handler.dispose(),delete this._ua_event_handler),t&&(t.style.position="absolute",t.style.cursor="default",t.style.overflow="hidden",this._ua_event_handler=new U7(this,t)),this.forEach((e=>e.target=t)),this._target_element=t}get unitScale(){switch(this.model_layer&&this.model_layer.get("unit")){case"mm":case"cm":case"in":return this.app.PPM/10;default:return 1}}addTemplate(t,e){var r=this.templateMap[t];r&&X4("Template replaced (duplicated)",t,e,r),this.templateMap[t]=e,delete this.templatePrefixes}removeTemplate(t,e){var r=this.templateMap[t];r!==e?V4("Removing template failed (different)",t,e,r):delete this.templateMap[t],delete this.templatePrefixes}findTemplateFor(t){this.templatePrefixes||(this.templatePrefixes=Object.keys(this.templateMap).sort().reverse());var e=this.templatePrefixes.find((e=>t.startsWith(e)));if(e)return this.templateMap[e]}addIndex(t,e){var r=this.indexMap[t]||[];this.indexMap[t]=[...r,e]}removeIndex(t,e){const r=this.indexMap[t]||[],n=r.indexOf(e);-1==n?V4("Removing index failed (not found)",t,e):(r.splice(n,1),0==r.length&&delete this.indexMap[t])}addRefidIndex(t,e){void 0===t&&(t=this.getNewRefid(),e.set("refid",t)),this._maxRefid=Math.max(t,this._maxRefid);var r=this.refidIndexMap.get(t);r&&X4("Refid Index replaced (has not to be)",t,e,r),this.refidIndexMap.set(t,e)}removeRefidIndex(t,e){if(null!=t){var r=this.refidIndexMap.get(t);r!==e?X4("Refid Removing index failed (has not to be)",t,e,r):this.refidIndexMap.delete(t)}}getNewRefid(){return this._maxRefid=(this._maxRefid||0)+1,this._maxRefid}async subscribe(t,e){this._app.isViewMode&&t&&this._app&&(e._subscription=await this._app.subscribe(t,e))}async unsubscribe(t,e){e._subscription&&(await e._subscription.unsubscribe(),delete e._subscription)}findById(t){return(this.indexMap[t.replace(/^#/,"")]||[])[0]}findAllById(t){return this.indexMap[t.replace(/^#/,"")]||[]}findByRefid(t){return this.refidIndexMap.get(t)}findOrCreate(t){var e=this.findAllById(t);if(!e&&this.app&&!this.app.isEditMode){let e=this.findTemplateFor(t);if(e){let r=Object.assign(l4(e.hierarchy),{id:t,templatePrefix:""});return component=T8(r,this.app),this.model_layer.addComponent(component),[component]}}return e}resize(){this.components.forEach((t=>{t.resize&&t.resize()})),this.invalidate()}_disposeAllResources(){this.selected=[],this._focused=null,this._ready=!1,this.eventEngine&&(this.assist_handlers&&this.assist_handlers.forEach((t=>{this.eventEngine.remove(t)})),this.eventEngine.dispose(),delete this.eventEngine),this.assist_layers&&this.assist_layers.forEach((t=>{t.dispose(),this.removeComponent(t)})),delete this.assist_layers,this.model_layer&&this.model_layer.dispose(),this.model_layer&&this.removeComponent(this.model_layer),delete this.model_layer,this.indexMap={},this.refidIndexMap=new Map,this.templateMap={}}rebuildContentModel(t){this._disposeAllResources(),this.eventEngine=new P7(this),(t=t||{}).type="model-layer",this.model_layer=T8(t,this.app),this.addComponent(this.model_layer),this.model_layer.target=this.target_element,this.assist_layers=(this.model.layers||[]).map((t=>{var e=T8(t,this.app);return this.addComponent(e),e.target=this.target_element,e})),this.assist_handlers=(this.model.handlers||[]).map((t=>{var e={};return this.eventEngine.add(e,Y7.get(t)),e})),this._ready=!0,this.traverse((t=>t.ready()))}get root(){return this}get anchors(){}get isReady(){return this._ready}get rootModel(){return this.model_layer}get stuck(){return!0}get data(){return Object.values(this.indexMap).reduce(((t,[e])=>(t[e.model.id]=e.data,t)),{})}set data(t){for(var e in t){var r=this.findOrCreate(e);r&&r.forEach((r=>r.data=t[e]))}}get dataByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.data;return t}set dataByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.data=t[e])}}get values(){return Object.values(this.indexMap).reduce(((t,[e])=>(t[e.model.id]=e.value,t)),{})}set values(t){for(var e in t){var r=this.findOrCreate(e);r&&r.forEach((r=>r.value=t[e]))}}get valuesByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.value;return t}set valuesByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.value=t[e])}}get selected(){return(this._selected||[]).filter((t=>t.parent))}set selected(t){var e=this._selected;this._selected=t,this.trigger("selected",t,e)}get focused(){return this._focused}set focused(t){this._focused!==t&&(this._focused=t,this.invalidate())}get style(){return this._style}set style(t){this._style=t,this._compiled_style=t}get hasTextProperty(){return!1}render(){this.components.forEach((t=>t.draw()))}contains(t,e){return!0}capturePath(t,e){return this.model_layer.capturePath(t,e)}invalidate(){this.components.forEach((t=>t.invalidate()))}get eventMap(){return{"(root)":{"(descendant)":{added:this.onadded,removed:this.onremoved,change:this.onchanged}}}}refreshMappings(){if(!this._refresh_mapping_debouncer){if(this.disposed)return;this._refresh_mapping_debouncer=k4((function t(e){e.executeMappings(),e.components&&e.components.forEach((e=>t(e)))}),1e3)}this._refresh_mapping_debouncer(this.model_layer)}_addTraverse(t){t.components&&t.components.forEach((t=>this._addTraverse(t)));var{id:e,refid:r,tag:n,templatePrefix:i}=t.model;this.addRefidIndex(r,t),e&&this.addIndex(e,t),n&&this.subscribe(n,t),i&&this.addTemplate(i,t);var o=j4({},t.eventMap,t.model.eventMap);this.eventEngine.add(t,o)}_removeTraverse(t){t.components&&t.components.forEach((t=>this._removeTraverse(t)));var{id:e,refid:r,tag:n,templatePrefix:i}=t.model;this.removeRefidIndex(r,t),e&&this.removeIndex(e,t),n&&this.unsubscribe(n,t),i&&this.removeTemplate(i,t),this.eventEngine.remove(t)}onadded(t,e){this._addTraverse(e),this.refreshMappings(),this.invalidate()}onremoved(t,e){this._removeTraverse(e),this.invalidate()}onchanged(t,e,r){e.templatePrefix&&this.removeTemplate(e.templatePrefix,r.origin),t.templatePrefix&&this.addTemplate(t.templatePrefix,r.origin),e.id&&this.removeIndex(e.id,r.origin),t.id&&this.addIndex(t.id,r.origin),e.tag&&this.unsubscribe(e.tag,r.origin),t.tag&&this.subscribe(t.tag,r.origin),e.id==t.id&&e.class==t.class||this.refreshMappings()}}Object.assign(Z7.prototype,{fit:function(t){var{width:e,height:r,fitMode:n}=this.model_layer.model,i=this.target_element,o=this.model_layer;if(this.fitMode=t||this.fitMode||n||"ratio",e&&r&&i&&i.clientWidth&&i.clientHeight){switch(this.fitMode){case"center":!function(t,e,r){var n=t.unitScale,{width:i,height:o}=e.model;e.set("scale",{x:n,y:n}),e.set("translate",{x:Math.max((r.clientWidth-i*n)/2,0),y:Math.max((r.clientHeight-o*n)/2,0)})}(this,o,i);break;case"both":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight;e.set("scale",{x:o/n,y:a/i}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"width":!function(t,e,r){var n=r.clientWidth/e.get("width");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"height":!function(t,e,r){var n=r.clientHeight/e.get("height");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"ratio":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight,s=o/n,c=a/i,u=Math.min(s,c);e.set("scale",{x:u,y:u}),e.set("translate",{x:(o-n*u)/2,y:(a-i*u)/2})}(0,o,i);break;default:!function(t,e,r){var n=t.unitScale;e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(this,o)}this.resize()}}}),g6.memoize(Z7.prototype,"unitScale",!1);var $7=13.3,t9=function(t){return void 0!==t&&($7=t),$7};const e9="$base_url";const r9=Math.PI/12;class n9{constructor(t,e){this._mode=t,this.screen=t9(),this._baseUrl="undefined"!=typeof window?window.location.origin:null,this._refProvider=e,this.isEditMode&&(this._rotateStep=r9,this._rotateStepForced=!1)}dispose(){this._dataSubscriptionProvider&&this._dataSubscriptionProvider.dispose(),delete this._dataStorage}_calcScreen(){var t={width:screen.width,height:screen.height};this._PPI=function(t,e,r,n){t>0||(t=1),e>0||(e=1),n||(n="d");var i=("d"==n?Math.sqrt(t*t+e*e):"w"==n?t:e)/r;return i>0?Math.round(i):0}(t.width,t.height,this.screen),this._PPM=this._PPI/25.4}subscribe(t,e){return this._dataSubscriptionProvider?.subscribe(t,e)}get refProvider(){return this._refProvider}set dataSubscriptionProvider(t){this._dataSubscriptionProvider=t}get dataSubscriptionProvider(){return this._dataSubscriptionProvider}set commander(t){this._commander=t}get commander(){return this._commander}get screen(){return this._screen}set screen(t){this._screen=t,this._calcScreen()}get DPPX(){return i5}get PPI(){return this._PPI}get PPM(){return this._PPM}get mode(){return this._mode}set mode(t){var e=this._mode;e!==t&&(this._mode=t,this.trigger("mode",t,e))}get isViewMode(){return 0==this._mode}get isEditMode(){return 1==this._mode}get baseUrl(){return this._baseUrl}set baseUrl(t){t&&this._baseUrl!=t&&(this._baseUrl=t)}url(t){try{return(t.includes(e9)?new URL(t.replace(e9,this.baseUrl),this.baseUrl):new URL(t,location.origin)).href}catch(e){V4(e,t)}}get rotateStep(){return this._rotateStep}set rotateStep(t){this._rotateStep=Number(t)||r9}get rotateStepForced(){return this._rotateStepForced}set rotateStepForced(t){this._rotateStepForced=!!t}get dataStorage(){return this._dataStorage}set dataStorage(t){this._dataStorage=t}}q4(n9.prototype,U4.withEvent);class i9{constructor(t,e){!(t=Number(t))||t<=0?(X4("TimeCapsule maxsize should be greater than 0.",t),this.maxsize=10):this.maxsize=t,this.reset(),e&&this.snapshot(e)}dispose(){this.reset()}snapshot(t){this.q.splice(this.pos+1,this.q.length-(this.pos+1),t),this.q.length>this.maxsize&&this.q.splice(0,this.q.length-this.maxsize),this.pos=this.q.length-1}forward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.forwardable)return this.q[++this.pos];V4("Not forwardable.")}backward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.backwardable)return this.q[--this.pos];V4("Not backwardable.")}get current(){if(-1!==this.pos)return this.q[this.pos];V4("Non state has been recorded.")}get length(){return this.q.length}get forwardable(){return this.pos<this.q.length-1}get backwardable(){return this.pos>0}get snapshot_taker(){return this._snapshot_taker}set snapshot_taker(t){this._snapshot_taker=t}reset(){this.q=[],this.pos=-1}}var o9=k4((t=>{t.brake||t.take()}),1e3,{leading:!0,trailing:!1});function a9(t){!t.brake&&t.dirty&&o9(t)}class s9{constructor(t,e){this.brake=!1,this.dirty=!1,this.state_holder=t,this.timecapsule=e,this.timecapsule.snapshot_taker=this}dispose(){delete this.state_holder,delete this.timecapsule}touch(){this.dirty=!0,a9(this)}take(t){(this.dirty||t)&&(this.timecapsule.snapshot(this.state_holder.state),this.dirty=!1)}get brake(){return this._brake}set brake(t){this._brake=!!t,a9(this)}}function c9(t,e){var r=e.model_layer.get("scale"),n=e.model_layer.get("translate");if(t){let i=JSON.parse(t);i.scale=r,i.translate=n,e.rebuildContentModel(i)}}class u9{constructor(t){this.container=t,this.timecapsule=new i9(20);var e=this;this.snapshot_taker=new s9({get state(){let t=e.container.model_layer.hierarchy;return JSON.stringify(t)}},this.timecapsule),this.snapshot_taker.take(!0)}dispose(){this.reset(),this.timecapsule&&this.timecapsule.dispose(),this.snapshot_taker&&this.snapshot_taker.dispose(),delete this.container,delete this.timecapsule,delete this.snapshot_taker}execute(t,e){!1!==e&&t&&t.execute(),this.snapshot_taker.touch(),this.trigger("execute",t,!0,!1)}undo(){this.timecapsule.backwardable&&(c9(this.timecapsule.backward(),this.container),this.trigger("undo",this.undoable(),this.redoable()))}redo(){this.timecapsule.forwardable&&(c9(this.timecapsule.forward(),this.container),this.trigger("redo",this.undoable(),this.redoable()))}undoable(){return this.timecapsule.backwardable}redoable(){return this.timecapsule.forwardable}reset(){this.timecapsule&&this.timecapsule.reset(),this.trigger("command-reset")}}q4(u9.prototype,U4.withEvent);var l9=new WeakSet;class h9{static get residents(){return l9}constructor(t){this._container=t,this.app=t.app,this._commander=new u9(this._container),this.app.commander=this._commander,l9.add(this)}add(){return I8.apply(this._container,arguments)}duplicate(){return C8.apply(this._container,arguments)}remove(){return j8.apply(this._container,arguments)}animate(){return f3.apply(this,arguments)}fullscreen(){return F8.apply(this._container,arguments)}get target(){return this._container.target_element}set target(t){var e;if("string"==typeof t){if(!(e=document.getElementById(t)))throw`target element '${t}' is not exist`;if(e.firstChild)throw`target element '${t}' already has children`}else e=t;e&&e.style&&(e.style.cursor="default"),this._container.target_element=e,this._container.invalidate()}get scale(){return this.root.get("scale")}set scale(t){this.root.set("scale",t)}get translate(){return this.root.get("translate")}set translate(t){this.root.set("translate",t)}get unit(){return this.root.get("unit")||"px"}get PPM(){return this.app.PPM}get PPI(){return this.app.PPI}get DPPX(){return this.app.DPPX}static get DPPX(){return i5}get unitScale(){return this._container.unitScale}get screen(){return this.app.screen}set screen(t){this.app.screen=t,this._container.resize()}resize(){this._container.resize()}release(){this.dispose()}dispose(){this._commander&&this._commander.dispose(),this._container&&this._container.dispose()}get selected(){return this._container.selected.slice()}set selected(t){this._container.selected=t}select(t,...e){return this._container.selected=this.root?.findAll(t,...e),this.selected}get commander(){return this._commander}undo(){this.commander.undo()}redo(){this.commander.redo()}cut(){return U8.apply(this._container,arguments)}copy(){return N8.apply(this._container,arguments)}paste(){return G8.apply(this._container,arguments)}undoableChange(){return s7.apply(this._container,arguments)}change(){return a7.apply(this.root,arguments)}get model(){return this.root.hierarchy}set model(t){this._container.rebuildContentModel(t)}get rootContainer(){return this._container}get root(){return this._container?.model_layer}findAll(){return this.root.findAll.apply(this.root,arguments)}findFirst(){return this.root.findFirst.apply(this.root,arguments)}findById(){return this._container.findById.apply(this._container,arguments)}serialize(){return this.root.trim(),this.root.serialize.apply(this.root,arguments)}align(){return x8.apply(this._container,arguments)}distribute(){return _8.apply(this._container,arguments)}move(){return S8.apply(this._container,arguments)}zorder(){return M8.apply(this._container,arguments)}symmetryX(){return i7.apply(this._container,arguments)}symmetryY(){return o7.apply(this._container,arguments)}on(){return L8.apply(this._container,arguments)}once(){return D8.apply(this._container,arguments)}off(){return this._container&&z8.apply(this._container,arguments)}centerTo(t,e){return this.root.centerTo(t,e)}get mode(){return this.app.mode}set mode(t){void 0!==t&&(this.app.mode=t)}toDataURL(){return $8.apply(this._container,arguments)}group(){return t7.apply(this._container,arguments)}ungroup(){return e7.apply(this._container,arguments)}fit(t){this._container.once("redraw",(()=>this._container.fit(t))),this._container.invalidate()}get fitMode(){return this._container.fitMode}get ids(){return c7.apply(this._container)}get data(){return this._container.data}set data(t){this._container.data=t}get dataByRefid(){return this._container.dataByRefid}set dataByRefid(t){this._container.dataByRefid=t}get values(){return this._container.values}set values(t){this._container.values=t}get valuesByRefid(){return this._container.valuesByRefid}set valuesByRefid(t){this._container.valuesByRefid=t}get baseUrl(){return this.app.baseUrl}set baseUrl(t){this.app.baseUrl=t}startAddMode(){return R8.apply(this._container,arguments)}}const f9=new class{load(t){}save(t,e){}clear(t){}};function p9({target:t,model:e,style:r,layers:n=[],handlers:i=[],mode:o=0,refProvider:a,dataSubscriptionProvider:s,dataStorage:c=f9,baseUrl:u,fitMode:l}){var h=null;if("string"==typeof t){if(!(h=document.getElementById(t)))throw`target element '${t}' is not exist`;if(h.firstChild)throw`target element '${t}' is not empty`}else h=t;h&&h.style&&(h.style.position="absolute",h.style.cursor="default",h.style.overflow="hidden");var f=new n9(o,a);return f.baseUrl=u,f.dataSubscriptionProvider=s,f.dataStorage=c,new h9(new Z7({target_element:h,model:e,style:r,layers:n,handlers:i,fitMode:l},f))}const d9=["mousemove","mouseup","mousedown","mouseout","wheel","tap","click","touchstart","touchmove","touchend","mouseenter","mouseleave","dragstart","dragmove","dragend","dblclick"];var g9=t=>class extends t{isHTMLElement(){return!0}isShadowable(){return!0}get element(){return this._element}set element(t){this._element=t}get tagName(){return this.get("type")}setElementProperties(t){throw new Error("Not Implemented Yet")}createElement(){this.element=document.createElement(this.tagName),this.element&&(this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.root.model_layer.overlay.appendChild(this.element),d9.forEach((t=>{this.element.addEventListener(t,this.userInputEventHandler.bind(this))})),a5.forEach((t=>{this.element.addEventListener(t,this.userInputEventHandler.bind(this))})),this.oncreate_element&&this.oncreate_element(this.element))}userInputEventHandler(t){N7(this,t.type,t),t.stopPropagation()}reposition(){this.element&&Q5(this)}disposeElement(){var t=this.element;t&&t.parentElement&&t.parentElement.removeChild(t),delete this.element}ready(){super.ready(),!this.element&&this.createElement(),this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.root.model_layer.overlay.appendChild(this.element),this.setElementProperties(this.element),this.reposition()}dispose(){this.disposeElement(this),super.dispose()}get hasTextProperty(){return!0}get textHidden(){return!0}onchange(t,e){this.element&&this.setElementProperties(this.element),this.reposition()}isDescendible(t){return t.isHTMLElement()}};const v9={x:1,y:1},y9={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"},m9={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"layout",label:"layout",name:"layoutOption"}],help:"scene/component/container"};class b9 extends(g9(N6)){get tagName(){return"div"}get nature(){return m9}setElementProperties(t){}get layout(){return _6.get(this.get("layout"))||k6}reposition(){if(this.element){var t=this,{id:e,class:r,scale:n=v9}=t.state,{rotation:i=0,hidden:o}=t,{left:a,top:s,width:c,height:u}=t.bounds,l=c/2,h=u/2,f=t.element;f.hidden=o,e&&(f.id=e),r&&(f.className=r),Object.assign(f.style,y9,{left:a+"px",top:s+"px",width:"0px",height:"0px",backgroundColor:"transparent"});var p=t.delta(),d=(n&&n.x||1)*p.sx,g=(n&&n.y||1)*p.sy,v=(i||0)+p.theta,y=p.tx||0,m=p.ty||0;["-webkit-","-moz-","-ms-","-o-",""].forEach((t=>{f.style[t+"transform"]=`translate(${y+l}px, ${m+h}px) rotate(${v}rad) translate(${-l}px, ${-h}px) scale(${d}, ${g}) perspective(1px)`}))}}}g6.register("container",b9);const x9=5,w9=Math.sqrt(3),A9=2;function _9(t,e,r,n,i){var o,a,s,c,u=x9+i,l=r.x,h=r.y,f=n.x,p=n.y;if(Math.abs(l-f)>u&&Math.abs(h-p)>u){var d=(p-h)/(f-l),g=h-d*l;if(Math.abs(e-(d*t+g))>u)return!1}return l>f?(a=l,o=f):(a=f,o=l),h>p?(c=h,s=p):(c=p,s=h),!(a+x9<t)&&(!(o-x9>t)&&(!(c+x9<e)&&!(s-x9>e)))}function k9(t,e,r,n=2){for(let i=0;i<r.length-1;i++)if(_9(t,e,r[i],r[i+1],n))return!0;return!1}function E9(t,e,r,n){if("arrow"!=t.slice(-5))return r;var i=Math.atan2(n.y-r.y,n.x-r.x),o=1.5*e;return{x:r.x+Math.cos(i)*o,y:r.y+Math.sin(i)*o}}function S9(t,e,r){var{lineWidth:n=A9,strokeStyle:i="#000000",lineCap:o=!1,alpha:a=1,begin:s="none",end:c="none",beginSize:u="size5",endSize:l="size5"}=r;if(("none"!=s||"none"!=c)&&(n=Number(n)||A9,t.lineCap=o,t.lineWidth=n,t.strokeStyle=i,t.fillStyle=i,t.globalAlpha*=a,"none"!=s&&M9(t,e[0],e[1],n,s,T9(u,n)),"none"!=c)){let r=e.length;M9(t,e[r-1],e[r-2],n,c,T9(l,n))}}function M9(t,e,r,n,i,o){var{x:a,y:s}=e,c=Math.atan2(r.y-s,r.x-a);switch(t.beginPath(),t.translate(a,s),t.rotate(c),i){case"oval":t.ellipse(0,0,o.X,o.Y,0,0,2*Math.PI),t.fill();break;case"diamond":t.moveTo(-o.X,0),t.lineTo(0,-o.Y),t.lineTo(o.X,0),t.lineTo(0,o.Y),t.fill();break;case"arrow":t.moveTo(0,0),t.lineTo(w9*o.X,-o.Y),t.lineTo(w9*o.X,o.Y),t.fill();break;case"sharp-arrow":t.moveTo(0,0),t.lineTo(w9*o.X,-o.Y),t.lineTo(-o.X/1.5+w9*o.X,0),t.lineTo(w9*o.X,o.Y),t.fill();break;case"open-arrow":t.moveTo(w9*o.X+n,-o.Y),t.lineTo(n,0),t.lineTo(w9*o.X+n,o.Y),t.stroke()}t.rotate(-c),t.translate(-a,-s),t.closePath()}function T9(t,e){let r={};switch(e*=1.2,t){case"size1":r.X=e,r.Y=e;break;case"size2":r.X=1.5*e,r.Y=e;break;case"size3":r.X=2*e,r.Y=e;break;case"size4":r.X=e,r.Y=1.5*e;break;case"size5":default:r.X=1.5*e,r.Y=1.5*e;break;case"size6":r.X=2*e,r.Y=1.5*e;break;case"size7":r.X=e,r.Y=2*e;break;case"size8":r.X=1.5*e,r.Y=2*e;break;case"size9":r.X=2*e,r.Y=2*e}return r}const P9="N",O9="S",I9="E",R9="W";class C9{constructor({component:t,anchor:e,position:r,self:n}){this.component=t,this._anchorName=e,this._position=r,this.self=n}get position(){const t=this.anchor;if(t){var{position:e}=t;const r=this.component.transcoordS2T(e.x,e.y);return this.self.transcoordT2P(r.x,r.y)}return this._position}set position({x:t,y:e}){this._position={x:t,y:e}}get anchor(){return this.component?.findAnchor(this._anchorName)}get direction(){const t=this.component.bounds,e=this.anchor;if(!e)return I9;const r=e.position;return r.y<=t.top?P9:r.y>=t.top+t.height?O9:r.x<=t.left?R9:I9}get boundaryPosition(){const t=this.anchor;if(t){var{position:e}=t,r=0,n=0;switch(this.direction){case O9:n=20;break;case P9:n=-20;break;case R9:r=-20;break;default:r=20}e={x:e.x+r,y:e.y+n};const i=this.component.transcoordS2T(e.x,e.y);return this.self.transcoordT2P(i.x,i.y)}}}class j9 extends g6{isLine(){return!0}replaceRefids(t){["from","to"].forEach((e=>{const r=this.get(e);if(r?.component){const n=t.get(r.component)||r.component;this.set(e,{...r,component:n})}}))}get fromEnd(){if(this.parent&&!this._fromEnd){const{component:t,anchor:e,position:r}=this.getState("from")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._fromEnd=new C9({component:n,fromto:"from",anchor:e,position:r,self:this})}return this._fromEnd}get from(){return this.getState("from")}set from(t){delete this._fromEnd,this.set("from",t)}get toEnd(){if(this.parent&&!this._toEnd){const{component:t,anchor:e,position:r}=this.getState("to")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._toEnd=new C9({component:n,fromto:"to",anchor:e,position:r,self:this})}return this._toEnd}get to(){return this.getState("to")}set to(t){delete this._toEnd,this.set("to",t)}move({x:t,y:e},r){r&&(this.from={position:this._fromEnd?.position||this.getState("from")?.position||{x:0,y:0}},this.to={position:this._toEnd?.position||this.getState("to")?.position||{x:0,y:0}}),super.move({x:t,y:e},r)}render(t){var{begin:e="none",end:r="none",lineWidth:n,round:i=0}=this.state,o=this.drawPath;S9(t,o,this.state),t.beginPath();var a=E9(e,n,o[0],o[1]),s=E9(r,n,o[o.length-1],o[o.length-2]);o=[a,...o.slice(1,-1),s];var c={x:a.x,y:a.y};t.moveTo(a.x,a.y);for(var u=1;u<o.length;u++){const e=c;c=o[u];const r=o[u+1];if(e.x===c.x&&e.y===c.y)continue;if(!r){t.lineTo(c.x,c.y);break}var l=0!==(p=Math.sqrt((e.x-c.x)*(e.x-c.x)+(e.y-c.y)*(e.y-c.y)))?Math.atan2(e.x-c.x,e.y-c.y):0,h=Math.sin(l)*Math.min(i,p/2)+c.x,f=Math.cos(l)*Math.min(i,p/2)+c.y;const n=i>0||0!==p?{x:h,y:f}:c;var p;l=0!==(p=Math.sqrt((r.x-c.x)*(r.x-c.x)+(r.y-c.y)*(r.y-c.y)))?Math.atan2(r.x-c.x,r.y-c.y):0,h=Math.sin(l)*Math.min(i,p/2)+c.x,f=Math.cos(l)*Math.min(i,p/2)+c.y;const a=i>0||0!==p?{x:h,y:f}:c;t.lineTo(n.x,n.y),i>0&&t.quadraticCurveTo(c.x,c.y,a.x,a.y)}this.drawStroke(t)}contains(t,e){var{lineWidth:r}=this.state;return k9(t,e,this.drawPath,r)}get resizable(){return!1}get mutable(){return!0}get rotatable(){return!1}get path(){const{from:t,to:e}=this.state;var{x1:r,y1:n,x2:i,y2:o}=this.state;return[this.fromEnd?.position||t?.position||{x:r,y:n},this.toEnd?.position||e?.position||{x:i,y:o}]}set path(t){const[e,r]=t,{from:n,to:i}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...n,position:e},to:{...i,position:r}})}get textBounds(){var t,e,r=this.drawPath,n=0;for(let s=1;s<r.length;s++){var i=r[s-1],o=r[s],a=(i.x-o.x)*(i.x-o.x)+(i.y-o.y)*(i.y-o.y);a>n&&(n=Math.ceil(a),t=i,e=o)}var{paddingTop:s,paddingLeft:c,paddingRight:u,paddingBottom:l}=this.state;return l||=0,s||=0,c||=0,u||=0,{left:Math.min(t.x,e.x)+c,top:Math.min(t.y,e.y)+s,width:Math.max(Math.abs(t.x-e.x)-c-u,0),height:Math.max(Math.abs(t.y-e.y)-s-l,0)}}get decorators(){return["decotag"]}}j9.getTipNeckPos=E9,j9.containedInPath=k9,j9.drawEndTips=S9,g6.register("line",j9);const L9={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"};class D9 extends(X6(v6)){is3dish(){return!0}render(t){var{cx:e,cy:r,rx:n,ry:i,startAngle:o,endAngle:a,anticlockwise:s}=this.state;t.beginPath(),t.ellipse(e,r,Math.abs(n),Math.abs(i),0,o||0,a||2*Math.PI,s)}get path(){var{cx:t,cy:e,rx:r,ry:n}=this.state;return[{x:t-r,y:e-n},{x:t+r,y:e-n},{x:t+r,y:e+n},{x:t-r,y:e+n}]}set path(t){var e=t[0],r=t[2];this.set({cx:e.x+(r.x-e.x)/2,cy:e.y+(r.y-e.y)/2,rx:(r.x-e.x)/2,ry:(r.y-e.y)/2})}contains(t,e){var{cx:r,cy:n,rx:i,ry:o}=this.state,a=(t-r)/(2*i-.5),s=(e-n)/(2*o-.5);return a*a+s*s<.25}outline(t){return function(t,e){var{cx:r,cy:n,rx:i,ry:o}=t.model,a=2*Math.PI*e,s=r+i*Math.cos(a),c=n+o*Math.sin(a);return t.transcoordS2T(s,c)}(this,t)}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}get nature(){return L9}}g6.memoize(D9.prototype,"path",!1),g6.register("ellipse",D9);var z9={ondragstart:function(t,e,r){r.mutatePath(null,(function(r){r.splice(e+1,0,t)}))},ondragmove:function(t,e,r){r.mutatePath(null,(function(r){r[e+1]=t}))},ondragend:function(t,e,r){}};const F9={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polygon"};class B9 extends v6{is3dish(){return!0}get mutable(){return!0}get pathExtendable(){return!0}get path(){return this.state.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach(((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,u=r[a].x,l=r[a].y;c>e!=l>e&&t<(u-s)*(e-c)/(l-c)+s&&(n=!n)})),n}get controls(){var t=this.path;return t.map(((e,r)=>{let n=t[r+1>=t.length?0:r+1];return{x:(e.x+n.x)/2,y:(e.y+n.y)/2,handler:z9}}))}get nature(){return F9}}g6.memoize(B9.prototype,"controls",!1),g6.register("polygon",B9);var N9={ondragstart:function(t,e,r){r.mutatePath(null,(function(r){r.splice(e,0,t)}))},ondragmove:function(t,e,r){r.mutatePath(null,(function(r){r[e]=t}))},ondragend:function(t,e,r){}};const U9={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polyline"};class G9 extends j9{get pathExtendable(){return!0}get path(){const{from:t,to:e}=this.state,{path:r}=this.state;return[this.fromEnd?.position||t?.position||r[0],...r.slice(1,-1),this.toEnd?.position||e?.position||r[r.length-1]]}set path(t){const{from:e,to:r}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...e,position:t[0]},to:{...r,position:t[t.length-1]},path:t})}get controls(){var t=this.path,e=[];for(let r=0;r<t.length-1;r++){let n=t[r],i=t[r+1];0==r&&e.push({x:n.x,y:n.y,handler:N9}),e.push({x:(n.x+i.x)/2,y:(n.y+i.y)/2,handler:N9}),r==t.length-2&&e.push({x:i.x,y:i.y,handler:N9})}return e}get nature(){return U9}}g6.register("polyline",G9);const Y9={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/ortholine"};class H9 extends j9{get pathExtendable(){return!1}get drawPath(){const t=this.path[0],e=this.path[1],{component:r,direction:n,boundaryPosition:i=t}=this.fromEnd||{},{component:o,direction:a,boundaryPosition:s=e}=this.toEnd||{};var c=[i,s],u=[];i&&u.push(i);var l=r?.bounds;if(l){var h=r.transcoordS2T(l.left,l.top);h=this.transcoordT2P(h.x,h.y),l={...l,left:h.x,top:h.y}}var f=l?{left:l.left-20,top:l.top-20,width:l.width+40,height:l.height+40}:{left:i.x,top:i.y,width:0,height:0};l=l||f;var p=o?.bounds;if(p){h=o.transcoordS2T(p.left,p.top);h=this.transcoordT2P(h.x,h.y),p={...p,left:h.x,top:h.y}}var d=p?{left:p.left-20,top:p.top-20,width:p.width+40,height:p.height+40}:{left:s.x,top:s.y,width:0,height:0};p=p||d;var g=[f,d];const v=f.left>d.left?d.left:f.left,y=f.top>d.top?d.top:f.top;var m,b,x,w,A,_,k,E,S,M,T={left:v,top:y,width:f.left+f.width>d.left+d.width?f.left+f.width-v:d.left+d.width-v,height:f.top+f.height>d.top+d.height?f.top+f.height-y:d.top+d.height-y},P=0,O=0;l.left+l.width<p.left?(w=0,A=1,S=n,M=a,m=(l.left+l.width+p.left)/2,P=p.left-m):p.left+p.width<l.left&&(w=1,A=0,S=a,M=n,m=(l.left+p.width+p.left)/2,P=l.left-m),l.top+l.height<p.top?(x=0,_=1,k=n,E=a,b=(l.top+l.height+p.top)/2,O=p.top-b):p.top+p.height<l.top&&(x=1,_=0,k=a,E=n,b=(l.top+p.height+p.top)/2,O=l.top-b);var I=[];if(m&&P>O){switch(M){case R9:switch(S){case I9:I.push({x:m,y:c[w].y}),I.push({x:m,y:c[A].y});break;case R9:var R=g[w].top+g[w].height/2>c[A].y?Math.min(g[w].top,c[A].y):Math.max(g[w].top+g[w].height,c[A].y);I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:c[A].y});break;case P9:case O9:R=S===O9?Math.max(c[w].y,c[A].y):Math.min(c[w].y,c[A].y);I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:c[A].y});break;default:return this.path}break;case I9:switch(S){case I9:var C=R=c[w].y<c[A].y?Math.min(g[A].top,c[w].y):Math.max(g[A].top+g[A].height,c[w].y);break;case R9:C=R=void 0!==b?b:c[w].y<c[A].y?T.top-.5*P:T.top+T.height+.5*P;break;case O9:C=R=void 0!==b?Math.max(b,c[w].y):T.top+T.height;break;case P9:C=R=b?Math.min(b,g[w].top):T.top;break;default:return this.path}I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:C}),I.push({x:c[A].x,y:C});break;case O9:switch(S){case I9:R=c[w].y,C=c[w].y>c[A].y?c[w].y:g[A].top+g[A].height;break;case R9:C=R=b?Math.max(b,g[A].top+g[A].height):T.top+T.height;break;case O9:C=R=T.top+T.height;break;case P9:R=b?Math.min(b,g[w].top):g[w].top,C=b?Math.max(b,g[A].top+g[A].height):g[A].top+g[A].height;break;default:return this.path}I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:C}),I.push({x:c[A].x,y:C});break;case P9:switch(S){case I9:R=c[w].y,C=c[w].y<c[A].y?c[w].y:g[A].top;break;case R9:C=R=b?Math.min(b,g[A].top):T.top;break;case O9:R=void 0!==b?Math.max(b,c[w].y):c[w].y,C=void 0!==b?Math.min(b,c[A].y):c[A].y;break;case P9:C=R=T.top;break;default:return this.path}I.push({x:c[w].x,y:R}),I.push({x:m,y:R}),I.push({x:m,y:C}),I.push({x:c[A].x,y:C});break;default:return this.path}u.push(...0===w?I:I.reverse())}else if(b){switch(E){case P9:switch(k){case O9:I.push({x:c[x].x,y:b}),I.push({x:c[_].x,y:b});break;case P9:var j=g[x].left+g[x].width/2>c[_].x?Math.min(g[x].left,c[_].x):Math.max(g[x].left+g[x].width,c[_].x);I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:c[_].x,y:b});break;case R9:j=Math.min(c[x].x,c[_].x);I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:c[_].x,y:b});break;case I9:j=Math.max(c[x].x,c[_].x);I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:c[_].x,y:b});break;default:return this.path}break;case O9:switch(k){case R9:var L=j=T.left;break;case I9:L=j=void 0!==m?Math.max(m,c[x].x):T.left+T.width;break;case P9:L=j=void 0!==m?m:c[x].x<c[_].x?T.left-.5*O:T.left+T.width+.5*O;break;case O9:j=c[x].x,L=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;case I9:switch(k){case R9:j=void 0!==m?Math.min(m,c[x].x):c[x].x,L=void 0!==m?Math.max(m,c[_].x):c[_].x;break;case I9:L=j=T.left+T.width;break;case P9:L=j=void 0!==m?Math.max(m,c[_].x):T.left+T.width;break;case O9:j=c[x].x,L=Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;case R9:switch(k){case R9:L=j=T.left;break;case I9:j=void 0!==m?Math.max(m,c[x].x):c[x].x,L=void 0!==m?Math.min(m,c[_].x):c[_].x;break;case P9:L=j=T.left;break;case O9:j=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):c[x].x,L=Math.min(j,c[_].x);break;default:return this.path}I.push({x:j,y:c[x].y}),I.push({x:j,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;default:return this.path}u.push(...0===x?I:I.reverse())}else switch(n){case P9:switch(a){case P9:var D=T.top;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case O9:var z=T.left+T.width;u.push({x:z,y:c[0].y}),u.push({x:z,y:T.top+T.height}),u.push({x:c[1].x,y:T.top+T.height});break;case I9:z=c[1].y<c[0].y&&c[1].x<c[0].x?c[0].x:T.left+T.width;u.push({x:z,y:c[0].y}),u.push({x:z,y:c[1].y});break;case R9:z=T.left;u.push({x:z,y:c[0].y}),u.push({x:z,y:c[1].y});break;default:return this.path}break;case O9:switch(a){case P9:z=T.left+T.width;u.push({x:z,y:c[0].y}),u.push({x:z,y:T.top}),u.push({x:c[1].x,y:T.top});break;case O9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case I9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case R9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;default:return this.path}break;case R9:switch(a){case P9:z=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].x:T.left,D=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].y:Math.min(T.top,c[0].y);u.push({x:z,y:c[0].y}),u.push({x:z,y:D}),u.push({x:c[1].x,y:D});break;case O9:z=T.left,D=Math.max(T.top+T.height,c[0].y);u.push({x:z,y:c[0].y}),u.push({x:z,y:D}),u.push({x:c[1].x,y:D});break;case I9:z=T.left+T.width;u.push({x:c[0].x,y:T.top}),u.push({x:z,y:T.top}),u.push({x:z,y:c[1].y});break;case R9:z=T.left;u.push({x:z,y:c[0].y}),u.push({x:z,y:c[1].y});break;default:return this.path}break;case I9:switch(a){case P9:D=c[0].y<c[1].y&&c[0].x<c[1].x?c[0].y:T.top;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case O9:D=c[0].y>c[1].y&&c[0].x<c[1].x?c[0].y:T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case I9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;case R9:D=T.top+T.height;u.push({x:c[0].x,y:D}),u.push({x:c[1].x,y:D});break;default:return this.path}break;default:return this.path}return s&&u.push(s),[t,...u,e].filter(((t,e,r)=>{if(0===e)return!0;const n=r[e-1];return t.x!==n.x||t.y!==n.y})).filter(((t,e,r)=>{if(0===e||e>=r.length-1)return!0;const n=r[e-1],i=r[e+1];return!(t.x===n.x&&t.x===i.x||t.y===n.y&&t.y===i.y)}))}get nature(){return Y9}}g6.register("ortholine",H9);const W9={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"image-src",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"scene-image",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0}},{type:"select",label:"cross-origin",name:"crossOrigin",property:{options:["","anonymous","use-credentials"]}}],"value-property":"src",help:"scene/component/image-view"};class q9 extends(y6(v6)){static get noimage(){return q9.NOIMAGE||(q9.NOIMAGE=new Image,q9.NOIMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABIBAMAAAD7Se1QAAAAIVBMVEUAAABHcEwBAQEREREBAQEEBAQGBgYLCwsDAwMDAwMICAi6HF9tAAAAC3RSTlNNAEAERiMYCS41Eac10lYAAAEgSURBVHhe7dY9asQwEAXgh7DNertNiJy48pIitY3SB7bYdk0ukL1BDDmA9gZecoH4pmFQ3MQayUMguPBrNPD4wD9TCMvJmt3M/AtYwXOlXiWgqADVCUBD46MAnGhMBaCiUQmAm8VA/Eh/eWl9Fn5WcxD+OLuRrUYJDKLluwH2InACUgkoACSdADxQc50Bytadb9RkM0CT13TcvlCT1HFg8UTHvasuUVACCa3El6u2UdD8LFTlKhUFFgA+d3dj10aABkUN72N3jAADCrJq7PIIsPidcxBoTHIIAjMFmyCwmGYIAA1P9gFgfCANAOsDSccCDW+uLDB+kLGg94OkZoAGkwsDDAe2DOg5oPxAg03rBR88OHpBz4N8UVeHFSwma74BTW6Ge4rIRa4AAAAASUVORK5CYII="),q9.NOIMAGE}dispose(){super.dispose(),this._offcanvas=null,this._image=null}render(t){var{left:e,top:r,width:n,height:i,isGray:o=!1,alpha:a=1,src:s}=this.state;if(this.prepareIf(!this._image&&s),t.beginPath(),t.globalAlpha*=a,this._image&&this._image.complete)if(o&&this._offcanvas)t.drawImage(this._offcanvas,e,r,n,i);else try{t.drawImage(this._image,e,r,n,i)}catch(o){t.drawImage(q9.noimage,e,r,n,i)}else!this.app.isViewMode&&t.drawImage(q9.noimage,e,r,n,i)}get nature(){return W9}get hasTextProperty(){return!1}ready(){super.ready(),this.prepareIf(!this._image&&this.state.src)}prepare(t,e){var{src:r,crossOrigin:n}=this.state;if(r){this._image=new Image;try{n&&(this._image.crossOrigin=n),this._image.src=this.app.url(r)||""}catch(t){return void e(t)}this._image.onload=()=>{if(this.get("isGray")){let t=this._image.width,e=this._image.height;this._offcanvas=g6.createCanvas(t,e);let r=this._offcanvas.getContext("2d");r.drawImage(this._image,0,0);let n=function(t,e,r){try{var n=t.getImageData(0,0,e,r)}catch(t){return X4("Get Image Data Error: "+t.message),null}var i=n.data;for(let t=0;t<e*r*4;t+=4){let e=i[t],r=i[t+1],o=i[t+2],a=parseInt((e+r+o)/3);n.data[t]=a,n.data[t+1]=a,n.data[t+2]=a}return n}(r,t,e);r.putImageData(n,0,0)}t(this)},this._image.onerror=t=>{this._image&&!this._image.currentSrc&&(this._image=null),e(t)}}else t(this)}get src(){return this.get("src")}set src(t){this.set("src",t)}onchange(t,e){(t.hasOwnProperty("src")||t.hasOwnProperty("isGray"))&&(this._offcanvas=null,this._image=null,this.prepareIf(t.src))}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void(this.src=e[r])}}g6.register("image-view",q9);class X9 extends(g9(y6(g6))){}var V9={},Q9={},K9={};Object.defineProperty(K9,"__esModule",{value:!0});var J9=function(){function t(){}return t.bitsToNum=function(t){return t.reduce((function(t,e){return 2*t+e}),0)},t.byteToBitArr=function(t){for(var e=[],r=7;r>=0;r--)e.push(!!(t&1<<r));return e},t.lzwDecode=function(t,e){for(var r,n,i=0,o=function(t){for(var r=0,n=0;n<t;n++)e.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<t,c=s+1,u=t+1,l=[],h=function(){l=[],u=t+1;for(var e=0;e<s;e++)l[e]=[e];l[s]=[],l[c]=null};;)if(n=r,(r=o(u))!==s){if(r===c)break;if(r<l.length)n!==s&&l.push(l[n].concat(l[r][0]));else{if(r!==l.length)throw new Error("Invalid LZW code.");l.push(l[n].concat(l[n][0]))}a.push.apply(a,l[r]),l.length===1<<u&&u<12&&u++}else h();return a},t}();K9.SuperGifUtils=J9,Object.defineProperty(Q9,"__esModule",{value:!0});var Z9=K9,$9=function(){function t(t,e){this.stream=t,this.handler=e}return t.prototype.parseCT=function(t){for(var e=[],r=0;r<t;r++)e.push(this.stream.readBytes(3));return e},t.prototype.readSubBlocks=function(){var t,e;e="";do{t=this.stream.readByte(),e+=this.stream.read(t)}while(0!==t);return e},t.prototype.parseHeader=function(){var t={};if(t.sig=this.stream.read(3),t.ver=this.stream.read(3),"GIF"!==t.sig)throw new Error("Not a GIF file.");t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Z9.SuperGifUtils.byteToBitArr(this.stream.readByte());t.gctFlag=e.shift(),t.colorRes=Z9.SuperGifUtils.bitsToNum(e.splice(0,3)),t.sorted=e.shift(),t.gctSize=Z9.SuperGifUtils.bitsToNum(e.splice(0,3)),t.bgColor=this.stream.readByte(),t.pixelAspectRatio=this.stream.readByte(),t.gctFlag&&(t.gct=this.parseCT(1<<t.gctSize+1)),this.handler.hdr&&this.handler.hdr(t)},t.prototype.parseExt=function(t){var e=this;switch(t.label=this.stream.readByte(),t.label){case 249:t.extType="gce",function(t){e.stream.readByte();var r=Z9.SuperGifUtils.byteToBitArr(e.stream.readByte());t.reserved=r.splice(0,3),t.disposalMethod=Z9.SuperGifUtils.bitsToNum(r.splice(0,3)),t.userInput=r.shift(),t.transparencyGiven=r.shift(),t.delayTime=e.stream.readUnsigned(),t.transparencyIndex=e.stream.readByte(),t.terminator=e.stream.readByte(),e.handler.gce&&e.handler.gce(t)}(t);break;case 254:t.extType="com",function(t){t.comment=e.readSubBlocks(),e.handler.com&&e.handler.com(t)}(t);break;case 1:t.extType="pte",function(t){e.stream.readByte(),t.ptHeader=e.stream.readBytes(12),t.ptData=e.readSubBlocks(),e.handler.pte&&e.handler.pte(t)}(t);break;case 255:t.extType="app",function(t){e.stream.readByte(),t.identifier=e.stream.read(8),t.authCode=e.stream.read(3),"NETSCAPE"===t.identifier?function(t){e.stream.readByte(),t.unknown=e.stream.readByte(),t.iterations=e.stream.readUnsigned(),t.terminator=e.stream.readByte(),e.handler.app&&e.handler.app.NETSCAPE&&e.handler.app.NETSCAPE(t)}(t):function(t){t.appData=e.readSubBlocks(),e.handler.app&&e.handler.app[t.identifier]&&e.handler.app[t.identifier](t)}(t)}(t);break;default:t.extType="unknown",function(t){t.data=e.readSubBlocks(),e.handler.unknown&&e.handler.unknown(t)}(t)}},t.prototype.parseImg=function(t){t.leftPos=this.stream.readUnsigned(),t.topPos=this.stream.readUnsigned(),t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Z9.SuperGifUtils.byteToBitArr(this.stream.readByte());t.lctFlag=e.shift(),t.interlaced=e.shift(),t.sorted=e.shift(),t.reserved=e.splice(0,2),t.lctSize=Z9.SuperGifUtils.bitsToNum(e.splice(0,3)),t.lctFlag&&(t.lct=this.parseCT(1<<t.lctSize+1)),t.lzwMinCodeSize=this.stream.readByte();var r=this.readSubBlocks();t.pixels=Z9.SuperGifUtils.lzwDecode(t.lzwMinCodeSize,r),t.interlaced&&(t.pixels=function(t,e){for(var r=new Array(t.length),n=t.length/e,i=function(n,i){var o=t.slice(i*e,(i+1)*e);r.splice.apply(r,[n*e,e].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;c<4;c++)for(var u=o[c];u<n;u+=a[c])i(u,s),s++;return r}(t.pixels,t.width)),this.handler.img&&this.handler.img(t)},t.prototype.parseBlock=function(){var t={};switch(t.sentinel=this.stream.readByte(),String.fromCharCode(t.sentinel)){case"!":t.type="ext",this.parseExt(t);break;case",":t.type="img",this.parseImg(t);break;case";":t.type="eof",this.handler.eof&&this.handler.eof(t);break;default:throw new Error("Unknown block: 0x"+t.sentinel.toString(16))}"eof"!==t.type&&setTimeout(this.parseBlock.bind(this),0)},t.prototype.parse=function(){this.parseHeader(),setTimeout(this.parseBlock.bind(this),0)},t}();Q9.SuperGifParser=$9;var ttt={};Object.defineProperty(ttt,"__esModule",{value:!0});var ett=function(){function t(t){this.data=t,this.position=0}return t.prototype.readByte=function(){if(this.position>=this.data.length)throw new Error("Attempted to read past end of stream.");return this.data instanceof Uint8Array?this.data[this.position++]:255&this.data.charCodeAt(this.position++)},t.prototype.readBytes=function(t){for(var e=[],r=0;r<t;r++)e.push(this.readByte());return e},t.prototype.read=function(t){for(var e="",r=0;r<t;r++)e+=String.fromCharCode(this.readByte());return e},t.prototype.readUnsigned=function(){var t=this.readBytes(2);return(t[1]<<8)+t[0]},t}();ttt.SuperGifStream=ett,Object.defineProperty(V9,"__esModule",{value:!0});var rtt=Q9,ntt=ttt,itt=function(){function t(t,e){var r=this;for(var n in this.gifImgElement=t,this.options={autoPlay:!0},this.loading=!1,this.ready=!1,this.transparency=null,this.delay=null,this.disposalMethod=null,this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,this.playing=!0,this.forward=!0,this.ctxScaled=!1,this.frames=[],this.frameOffsets=[],this.initialized=!1,this.currentFrameIndex=-1,this.iterationCount=0,this.stepping=!1,this.handler={hdr:this.withProgress(this.doHdr.bind(this)),gce:this.withProgress(this.doGCE.bind(this)),com:this.withProgress(this.doNothing.bind(this)),app:{NETSCAPE:this.withProgress(this.doNothing.bind(this))},img:this.withProgress(this.doImg.bind(this)),eof:function(){r.pushFrame(),r.canvas.width=r.hdr.width*r.getCanvasScale(),r.canvas.height=r.hdr.height*r.getCanvasScale(),r.playerInit(),r.loading=!1,r.ready=!0,r.loadCallback&&r.loadCallback(r.gifImgElement)}},e)this.options[n]=e[n];this.onEndListener=e.onEnd,this.loopDelay=e.loopDelay||0,this.overrideLoopMode=null!=e.loopMode?e.loopMode:"auto",this.drawWhileLoading=null==e.drawWhileLoading||e.drawWhileLoading}return t.prototype.init=function(){var t=this.gifImgElement.parentNode,e=document.createElement("div");this.canvas=document.createElement("canvas"),this.canvasContext=this.canvas.getContext("2d"),this.tmpCanvas=document.createElement("canvas"),e.className=this.options.enclosingClass||"super-gif",e.appendChild(this.canvas),t&&(t.insertBefore(e,this.gifImgElement),t.removeChild(this.gifImgElement)),this.initialized=!0},t.prototype.loadSetup=function(t){return!this.loading&&(t&&(this.loadCallback=t),this.loading=!0,this.frames=[],this.clear(),this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,!0)},t.prototype.completeLoop=function(){this.onEndListener&&this.onEndListener(this.gifImgElement),this.iterationCount++,!1!==this.overrideLoopMode||this.iterationCount<0?this.doStep():(this.stepping=!1,this.playing=!1)},t.prototype.doStep=function(){if(this.stepping=this.playing,this.stepping){this.stepFrame(1);var t=10*this.frames[this.currentFrameIndex].delay;t||(t=100),0===this.getNextFrameNo()?(t+=this.loopDelay,setTimeout(this.completeLoop.bind(this),t)):setTimeout(this.doStep.bind(this),t)}},t.prototype.step=function(){this.stepping||setTimeout(this.doStep.bind(this),0)},t.prototype.putFrame=function(){var t;this.currentFrameIndex=parseInt(this.currentFrameIndex.toString(),10),this.currentFrameIndex>this.frames.length-1&&(this.currentFrameIndex=0),this.currentFrameIndex<0&&(this.currentFrameIndex=0),t=this.frameOffsets[this.currentFrameIndex],this.tmpCanvas.getContext("2d").putImageData(this.frames[this.currentFrameIndex].data,t.x,t.y),this.canvasContext.globalCompositeOperation="copy",this.canvasContext.drawImage(this.tmpCanvas,0,0)},t.prototype.playerInit=function(){this.loadErrorCause||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.options.autoPlay?this.step():(this.currentFrameIndex=0,this.putFrame()))},t.prototype.clear=function(){this.transparency=null,this.delay=null,this.lastDisposalMethod=this.disposalMethod,this.disposalMethod=null,this.frame=null},t.prototype.parseStream=function(t){try{new rtt.SuperGifParser(t,this.handler).parse()}catch(t){this.handleError("parse")}},t.prototype.setSizes=function(t,e){this.canvas.width=t*this.getCanvasScale(),this.canvas.height=e*this.getCanvasScale(),this.tmpCanvas.width=t,this.tmpCanvas.height=e,this.tmpCanvas.style.width=t+"px",this.tmpCanvas.style.height=e+"px",this.tmpCanvas.getContext("2d").setTransform(1,0,0,1,0,0)},t.prototype.drawError=function(){this.canvasContext.fillStyle="black",this.canvasContext.fillRect(0,0,this.hdr.width,this.hdr.height),this.canvasContext.strokeStyle="red",this.canvasContext.lineWidth=3,this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.hdr.width,this.hdr.height),this.canvasContext.moveTo(0,this.hdr.height),this.canvasContext.lineTo(this.hdr.width,0),this.canvasContext.stroke()},t.prototype.handleError=function(t){this.loadErrorCause=t,this.hdr={width:this.gifImgElement.width,height:this.gifImgElement.height},this.frames=[],this.drawError()},t.prototype.doHdr=function(t){this.hdr=t,this.setSizes(this.hdr.width,this.hdr.height)},t.prototype.doGCE=function(t){this.pushFrame(),this.clear(),this.transparency=t.transparencyGiven?t.transparencyIndex:null,this.delay=t.delayTime,this.disposalMethod=t.disposalMethod},t.prototype.pushFrame=function(){this.frame&&(this.frames.push({data:this.frame.getImageData(0,0,this.hdr.width,this.hdr.height),delay:this.delay}),this.frameOffsets.push({x:0,y:0}))},t.prototype.doImg=function(t){var e=this;this.frame||(this.frame=this.tmpCanvas.getContext("2d"));var r=this.frames.length,n=t.lctFlag?t.lct:this.hdr.gct;r>0&&(3===this.lastDisposalMethod?null!==this.disposalRestoreFromIdx?this.frame.putImageData(frames[this.disposalRestoreFromIdx].data,0,0):this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height):this.disposalRestoreFromIdx=r-1,2===this.lastDisposalMethod&&this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height));var i=this.frame.getImageData(t.leftPos,t.topPos,t.width,t.height);t.pixels.forEach((function(t,r){t!==e.transparency&&(i.data[4*r+0]=n[t][0],i.data[4*r+1]=n[t][1],i.data[4*r+2]=n[t][2],i.data[4*r+3]=255)})),this.frame.putImageData(i,t.leftPos,t.topPos),this.ctxScaled||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.ctxScaled=!0),this.drawWhileLoading&&(this.canvasContext.drawImage(this.tmpCanvas,0,0),this.drawWhileLoading=this.options.autoPlay),this.lastImg=t},t.prototype.doNothing=function(){},t.prototype.withProgress=function(t){return function(e){t(e)}},t.prototype.getNextFrameNo=function(){var t=this.forward?1:-1;return(this.currentFrameIndex+t+this.frames.length)%this.frames.length},t.prototype.stepFrame=function(t){this.currentFrameIndex=this.currentFrameIndex+t,this.putFrame()},t.prototype.getCanvasScale=function(){return this.options.maxWidth&&this.hdr&&this.hdr.width>this.options.maxWidth?this.options.maxWidth/this.hdr.width:window.devicePixelRatio||1},t.prototype.play=function(){this.playing=!0,this.step()},t.prototype.pause=function(){this.playing=!1},t.prototype.isPlaying=function(){return this.playing},t.prototype.getCanvas=function(){return this.canvas},t.prototype.isLoading=function(){return this.loading},t.prototype.isReady=function(){return this.ready},t.prototype.isAutoPlay=function(){return this.options.autoPlay},t.prototype.getLength=function(){return this.frames.length},t.prototype.getCurrentFrame=function(){return this.currentFrameIndex},t.prototype.moveTo=function(t){this.currentFrameIndex=t,this.putFrame()},t.prototype.loadURL=function(t,e){var r=this;if(this.loadSetup(e)){var n=new XMLHttpRequest;n.open("GET",t,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){r.initialized||r.init()},n.onload=function(){if(200===n.status){var t=n.response;t.toString().indexOf("ArrayBuffer")>0&&(t=new Uint8Array(t));var e=new ntt.SuperGifStream(t);setTimeout((function(){r.parseStream(e)}),0)}else r.handleError("xhr - response")},n.onerror=function(){r.handleError("xhr")},n.send()}},t.prototype.load=function(t){this.loadURL(this.gifImgElement.src,t)},t}(),ott=V9.SuperGif=itt;const att={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"},{type:"checkbox",label:"play",name:"play"}],"value-property":"src",help:"scene/component/gif-view"};class stt extends X9{async oncreate_element(t){var{src:e,play:r}=this.state;this.onchangesrc(e),this.onchangeplay(r)}buildImg(){var t=this.element;t.innerHTML="";var e=document.createElement("img");return e.style.width="100%",e.style.height="100%",t.appendChild(e),e}onchange(t,e){super.onchange(t,e),"src"in t&&this.onchangesrc(t.src),"play"in t&&this.onchangeplay(t.play)}setElementProperties(t){}onchangeplay(t){var e=this._superGif;e&&e.isReady()&&(t?e.play():e.pause())}onchangesrc(t){var e=this.buildImg();t||(t="data:image/gif;base64,R0lGODlhYABIAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKio+Pj5iYmKCgoKampqurq66urrCwsLGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrOzs7S0tLa2tre3t7m5ubu7u7+/v8DAwMHBwcPDw8XFxcfHx8vLy8/Pz9LS0tXV1dfX193d3eTk5Onp6fj4+Pz8/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////yH5BAkAAPUAIf47R2VuZXJhdGVkIGJ5IGpzZ2lmIChodHRwczovL2dpdGh1Yi5jb20vYW50aW1hdHRlcjE1L2pzZ2lmLykALAAAAABgAEgAAAj+AGcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmR9VKqXMmypcuXMGPKnJkSIs2bOHPqZGlzp8+fQOv1DEq0KMyhRpMmRaq0KVCmTqPmhCq1qkyqLrFRSyYwGTVsVo1iZXmNa8Fk18ISHasSm1mDycCq/ck2JTWF1ObSfTjz7cFken3WFbow8M7BDA3rHOwXruKpfGXeTZg3qDVrUge7RRg3KLZjx+Q2HVyvLNy0QaMJjBaVdD2tZr2K/mmNIObRkR+n9AsYt0Pddg1WXppb8bWDx1CLLW74GcJnSl3TtDY8Zu2Et4tKl7n52eyWnxXvhl7+26jqrspbnlfIWjtz2gWPZV95neH8veU9NxZYfbfD3kFt99J6Bnmn0mQO9XfYezrVxxlmx0GUXIAM4hSeffsxBN1TFd5E4Ef3QZbfTg6CNJ5gHXJ3TEntLThiTh+KFCJNAqZU4kgAitjQTheepOBMNcZI0oQ6JpbTjSZtiNN2PZ400IxHpdiSc07G911M0iFZZYtAStnWilUeBGVLrlEZpmM0elmPlmfO8iOZXl4DZpsGEYmll2bSWWCXLwJXVY1+urhjoGEBSuiSah6K36CKtpZoo4s9CimielZq6aWYZqrpppx26umnoIZ6UkAAOw=="),e.src=t,e.setAttribute("rel:animated_src",t),e.setAttribute("rel:auto_play",0),this._superGif=new ott(e,{autoPlay:!1}),this._superGif.init();for(const t of this.element.children)t.style.width="100%",t.style.height="100%";var r=this._superGif.getCanvas();r.style.width="100%",r.style.height="100%",this._superGif.load((()=>{setTimeout((()=>{this._superGif.moveTo(0),this.play&&this._superGif.play()}),100)}))}ondropfile(t,e){for(let r=0;r<t.length;r++)if(/\.gif$/.test(t[r].name))return void(this.src=e[r])}get src(){return this.getState("src")}set src(t){this.set("src",t)}get play(){return this.getState("play")}set play(t){this.setState("play",t)}get nature(){return att}get tagName(){return"div"}}g6.register("gif-view",stt);const ctt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"},{type:"checkbox",label:"started",name:"started"},{type:"checkbox",label:"loop",name:"loop"}],"value-property":"src",help:"scene/component/audio"};class utt extends(y6(v6)){static get image(){return utt.IMAGE||(utt.IMAGE=new Image,utt.IMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAMAAAC3Ycb+AAAAP1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzJYIvAAAAFHRSTlMA8BAwgNBgQKB/wCBwUJDg37CvXyUlBK8AABFYSURBVHja7NsBkqIwFIThTiAQgyBq3/+sm6p1tnamZkaTMhJJf1f4S/JeEIiIiIiIiIiIiIiIiEhD7Hg4BH84TpAKjJ4f3NFCtjVd+InXz2RTs+FXlxGylYHfcVfIJmb+YFWSLUyGVJKKBJJKUo+Rd6w63l/qzLuCkryO5fe0l2xk5mMWbe+v0fNBRqf7S3je6CipQ2ACr+dWcYEpzBFS1plpguatsnomMgdIQSOTuQ5SjmE6/UgK8szgdJIUM/FG41YlFmYJ2kkKsY5ZzAwBurHDk3WGeRY0bvYrGa1+rqNI22f7dS32ZnUK1GMr0eSK3mEc9dhKMxp+ZTo8kT2emOXS5LQ1kCxbJBocSd2k5PaIjMVzjWcdJPk9ooBnmzx1t5XbIxqBKpJ4NGTgzwKiGpK4do72gb+ZUMIYtCPm9WCPMsYTE5k2hq2ZvzujlCE1iRmwf3dvmRyKsT0T7b9I7HEPCpqCiqT2IIqaT1pI0noQZdlFC8l/PbYPAnRORT56VBEE6FXkb49agmByKhJ71BME6FsvEntUFQTdqekisUdlQWCXhovEHtUFAWbTapHYo8YgmFybO3vsUWcQYGmxSOxRbRAMprkisUfFQVKmrX18sxt7VB0ENjT1xir2qDxIwkFi3v89e+xRfxAMzfzzIfZ4hyAYDR9zwVuLPd4jCDrTwoLYGb5LEFi3/+E3rweR6urX20c/Fvls2Pvwm9mDSGIPhv8YPyGf3/eo9Ye7O8B2FIShAAooakEttex/rbODad5/yTHIAjqn505IQPv+Xz06dz+4VXORHEZcgAcB8updM8F6e25jBzwIkE07l+x8amMnPDp6nsNJ+BoZ7Q6F8egqAda9VEuRNlZjBzwYkMskdXR73okd8GBAJiKYjBcZKKqG9OiKDbgdfxJ5VhsBPDiQZhaouD3p4hfw4EAmwxisz3MSHwAPEmQ1TB1N+SmXWoAHC7JbZsWl/IxLLcCDBplNo3lrfMLsmwAPGmShAxX5/1vOEzjEz3iyfQ/hI36W4TctsUesOAifPdrQg8M++KYl95iCBkjI1r8634betBAPHZDTPFAmD3zLiHgogVTziMsahz0eIh5aIGHGRSJ2mFtHPR4iHhQIP2UvWGMf8wk74qEIEib7rLjPiBfxiAcCwp8V+Nae3uMdRhAPDIR/J5f/Q2DTcC+hIB7qIGEq3Ti9bx+sryMeAAgS70OK8G2kBD8L8QBAoLWU3g3vUVIc6D0txAMAsY+4jBWowXHO64gHBGKfYJ2T5qY1BxcL98BB+PQ+XiS9xxh9EQ8ChA6C5UXWIUoE9MBB8LVHQoS7ib8/dRn3sAcJ6bQRSdH96RDxIEH4QEX+AHF4LxHEAwUh12xyr1V8lwjiQYDYF8kuf1jluUQQDwrEvkhW8Wc6LhHUgwfhi4QPlHm7LRHawx4kpE191Dq8lgjhAYDQa1cftYrPEiE8OJDb40uqyzdQCA8WhAzL4G/PT4c3WrgHD2IfllGl53V37zsgHg5ApPNvVvq4Fn4spx4oiH1W3CwtEV+PDhEPJyBSkVX4aa7emkM83ICEKWpGM7wdvYCCeDgCEYpcwhLxczhEPFyBCEUWnRL5T6X59SBASBF+9l28TL5F7uEORCZyCUvEx+S7yT0cgoRVb9JaXLR1qUdfgksQ0fTbgmhFB20d8HAKEha14+F8f1sHPNyCiL6EqK+n20/rgIdjkFC0Ho1s6Gndvcc9ICkr/ey8/rHO6vp9KawL8DAFOV6l9Fyub7IbflsCag1qRfVsXWvxHjxIejU+BHZV6uvHD1XiEb++Bw8i+dNd+Wv0eCQmhcPhRPwUUt2DB5G1sfa1aeyzAuyJj9x2HjyIdKzIKw5SI14ieFtvo3kIQERj3lVhkUOnRD7AnjV5369QkAOJZeCH+Jh41xOLs73dQwAifY6dpxCCbjTDzLf1Bm1Y93tAIDOWXcLPvrHyr2hVoEAceEAgDQzB4jetk0/c2OXRHB48EJCpa4dgpYh2ETxtrshz7zx4ICCzfuTSDn8p/EOS9OTjwgMB+cABP3yWYuOPIofs33LigYCULlpZNXJppVU30Vf14kGAUCLijf1D71lN9FW9eFiA9KgZ8FPpPUsSnufGA+8hvAg2Kpz0nrX//qp+PIgpC3i6xJRITOye9fn1VT15ICCrVlQG5rywo0H8x965bVkNwmCYQ2kR6Gmb939WXV65dFnI/tPdjPBfO7XMN4EkTUJtqZp4sCJ1+8jwkhMu0KpMxFXFA8hlVfQSMxGH5mDK1VKV8QCyvTVtUiYyo7V358VStfGoAEFMhGYhEwloxZy9WKo2Hjwg5iSOvFDXeUYd33+PuVfHgwnEBWLocDJp+IIa2fyvperjwQRiXCKGosyXqoA+YfsIELuYu4HAt+msMknfDK4jfQJIzOZ2IPAQWJtFOhQKivR2IDZ6Awis7V0iLxqBI7uEZo19dakTogLSwKvf8yk8Jq6CGK0GKvWlatG7b7kkUU/Lo1gdXWn7/4E0j0qeJDpqN/ABqQcgJgdqURb4chjQktIugDS6wFFiz3JgaJj7AGJmholAe9YKhoZLJ0Ca6smjwJ4VwVN96gVIE5GM71kHaGKxGyAtRDaB2NBhLVmpHyANRKzDO28W7FS3HQFpaIWa8TrfCXQwegJSL5k+8M9UJ+pm9QTEnCIZrR0MDQeQ9ua0iCcYQaBTV0CqNXQW/yiyYG7W1heQanPaCkciBXuH1BkQJzHcDQxmpgGkPatl4WkbCXO/bW9AqlNg4H0PPMi6A1IxkQmOZ8D0ousNSMVEEuyreTAQ6Q7IRJeCX2YZQHhv6SrBOmpkM+YUzN0BqSRQCupmTeCP9wdkhiOREwtEzgGEsWcF9BhK9R8fQDiN7A8DiR0CKXQlj/q9IM8OgXjIzcKBlAHkD6FulgNzJwPIHwpo8mQAkX3LiPq9dKUMAQk9AqmcqmjuBAJCPQIpA4guIAsKJA0gnwNy3A4kDyBIHCEPxAwgf8gPILqA5AFEF5CxZX0lIHYc6rqADLf380BmFMgxgIzUyf8MJKLTRelKHgKy9wgkjfS7LiA0gKgC8vQn3HUA4RQ5LKPIAQciWbqIEg0YkLNDIHYUyqkCsmKN5vg3+W0AYTRATaPY+uu1IwS6UMGAlO6AFPjSCQMStaNh53cdcPG7Hx1Uupo+rx+Bltn1BuTAj5BptEV/bHAAwbnJMICwRmtUDOSEA8s4Rmtw3nITGD6TwUNoG0Ca7xi2YKSPj2eKXQFxQWKA2QbGMWEMMGseOb7C7T47uJS1JyAzVbTjqZdU3zbHzMXWS+qp4Fgn8Ahy/QCRGqQcwU1vGnN7fylboWn8Bzg//hyjxltvdcl45bwFfYKzFyBy11UU9BnjuoqfWizVlQXulpzBTNbaB5Aid+VRrkBFB630AMS9BC8FK2ggE7u/FGy1kvfcB9TKQufX5uUXNWl3EjvWCi4k/u9A3Ddq1CpTIQGe6VN1qd8ArcvDQNw3S41Kn6qQmOq5e7pRr+8fAYLiIJtFrrvYRMYL0q06vj8EZLXUriJzRY8H1xEagOCK7gkghRg6RQYO0I6aWPwIEAru80AiMWSdzAeuDXUKyr+WqpAID8hMHC1Ct8F4mUsQ6W8pJMICki0JHCBczAFdBl38G3VE6ErQhhWlih4LWrCSLpaqjggHiGe9mVjRY0YPoelyqcqIcIDEe97rqJFFH7FcLlUZEQ6Qg5plvZiBFNhtri1VFREGEC/Eg4nZoU5vqi1VFREGkIXDQ8xAIhzoT/WlKiLCAFIYPOQMxOPdjfWlKiLCADJRm3YGj+pDE2xktmmpaogwgMz8d8GrumZ4xzpbvinqISJ+hiTWm7wEqoJdI9JEV9JChAEkS3xCZzKecLcgN6YwlRBhAGmweTsblg6qKMM7Vmh321UQ4QAp1VfwhqVJIh+Wm03W0qV0EOEAybXtivkCmWrKeH2EZ/xBaSBCV2L9Re+LYSqJJIxDu1ew07U0EGEBcTtmHty4JuPtQhvLh1BAhK7Uvvq0GK484QZST0GvvFDqeSJ1IA0r2mfDljvqBoJ//rVsq7yZCA6kXgVkJ2f4ijIGMjOfMVsCBBORB2Jy+sM6ijNvaBUqmw/cStZ8EiKciHwp6Rp++88qmxXQeTUxDiJWJ9wSISvBicgXW+dypn1PqWTznlwgwdZdfiLHr5OELEAEASKvJFRE5JCPKbh8OxHdQKJU0crEzRXrJ/IEkFms6tGyrUw9kQeALFRXvK2iSzsRAAi6BLxM+60xdsqJAEBuXMAMxDLVp+gmAgC57/UT4qvVj3TVRCAgSAYL91aXtyNLzUQAIFhAiP8m0/NHOp+ILiBtPFKrs6bgSOcT0QTEB8nO3QR1yKslggKRf+m11UB0HOl8IlqAeCvauXuo8HnfIqIDyCw6G8XMcGiplMingMzCnbuHFp/3LSLPA4nUpqm5YkWNzwsQeQxIDsKjH5wVSU5qJPIJIIt4jjpqNBAekQeBfJOeHWS81FQoo4/I7UDcS3wUh0liTzLqiEgDqddx4ZHDrNZAACIAEMw88HPYWb0GAhABgEDmgf9Vb5oNBCByOxD3uqWYbCHVBgIQuRlIsbfwMEG5gQBE7gSyHMDsOayrxJvHBRC5B0hOxJH1nK4SlUE6QOR+IG6ju3iYQEqDdIDIzUDyZu/jMRHpS/OiRG4FkiPRfTw8kbrvIAJEACAIDpyHC1/GQHhEbgKSXwTyqIeEur6kixEBgABHOTr7YSX1MSFAhA0E307wUU76Y0KACAsI/tvCRzkF+iIuL0AEAYLbR2QOfvhKJ/obRESBxNt5rPSFXN4f7dyNdqMgEIbhAXWwJErT/e7/Wreb5HTT07QVgWSAeW5g7b4n8qOSUCRPEId4HP93SXp5dDNGRJFcQTxihSH+NW1Bb1cXKpIryJAwnG/zhl8ZcSP6jiKZghwRaaWLnP/AkcSKKJIniEcUs8QfjFLdEmRvkSxB4lfn0QN6DY+lshQpHiT96Dlr6r5hxRUpHST9ZEY71X7DOmOZQVZLsd5Q8wzrPxYYJDiKNqOBG1ZCkZKzrNXu6lHvkjChSFqQsdTPg45ApXtYaUXKr9TNuPcvqO2pVMkitFXAL2a79/qr3HQvVSTXUtofCl79RDXh5CDpw3pwu6+9kRlvtiI5VtPhmHLltT4EKVQkfb8pcOHrXqk6nBAksUjgpKtuYsskaxGKYT0+84uYgziE4YQgMdx0m8PRfis2MbL33PMXoVjD6PEunI4HSjDjStiJP08vQk9hZzQ7oH/geoLYCUBDW4rf4FqCDFt7THUO6B+4jiDn2XNTW7zf4hqCMND4BOsGyw+yAmh0x+QeFh7EeqD5Ce8nLDrI8NpbDyIWHIQNruo4GyAPlhrEzuixBxHLDDJMnfYgYolBricHNfjIdgMWF+Qyu+pkgX4HCwuymL57ELGkIHZG7z2IWE6Q5VV7vGMhQewbtMcZiwhyHj26ne9+xs8PcvDQHnFFqCD7Au0RW4TK+fOKqw4eoOcqYqgU53HR3/5uShFPCfKey9hFDyJO/vAi7RDZnp7X5igyUH72xSDW1E2Pn4tMRCQgR8vLwbgii4gcmLvqQcSPGtIPX3M08wn6I4qYQ94cM/Yw9Xxhmw+X/59wHrtMlX1AmIkzdyaaAnLg1Nnw8WGYSk40X/BOh4+El6LMSBnN2Cd0tPq4w/LJXGrMbCX06PZ2dcM65yzlNertShSHf3SzRAyPM332IcSAHUKPi8EHmXU0l8Uglmni0yipDoi16s+jJKejhywLooz68yiMEcHr2qM4h81CJ++VPJfTu5UwBpv4Pp9DJSi6MJx0bvUwiw4ewgT8zNR0LHUL+OccOpY/3ElzyGKD5pBlMJpDlsOkMythRoNbXh95PJsdA67MrMtAEYbjeDqNo+7oKqWUUkoppZRSSimllFJKFfMXp4vmSjB8n6sAAAAASUVORK5CYII="),utt.IMAGE}dispose(){super.dispose(),this.started=!1,delete this._audio}ready(){super.ready(),this._audio=new Audio,this._audio.addEventListener("canplay",(()=>{this.started&&this._audio.play()}));var{src:t="",loop:e=!1,started:r=!1}=this.state;this.onchangeSrc(t),this.onchangeLoop(e),this.onchangeStarted(r)}render(t){var{left:e,top:r,width:n,height:i,src:o}=this.state;t.beginPath(),this.drawImage(t,utt.image,e,r,n,i)}get nature(){return ctt}get hasTextProperty(){return!1}get src(){return this.get("src")}set src(t){this.set("src",t)}get started(){return!!this.get("started")}set started(t){this.set("started",t)}start(){this._audio&&(this._audio.classList.add("active"),this._audio.play())}pause(){this._audio&&(this._audio.classList.remove("active"),this._audio.pause())}onchangeSrc(t){try{"data"!==String(t).substring(0,4)?this._audio.crossOrigin="use-credentials":this._audio.crossOrigin=null,this._audio.src="string"==typeof t?this.app.url(t):t}catch(t){return void console.error(t)}}onchangeStarted(t){const e=this._audio;t?4==e.readyState&&e.play():e.pause()}onchangeLoop(t){this._audio.loop=t}onchange(t,e){"src"in t&&this.onchangeSrc(t.src),"started"in t&&this.onchangeStarted(t.started),"loop"in t&&this.onchangeLoop(t.loop)}ondblclick(t){this.started=!this.started}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("audio/"))return void(this.src=e[r])}}g6.register("audio",utt);class ltt extends(y6(g6)){is3dish(){return!0}}g6.register("text",ltt);const htt=["refid","left","top","width","height","rotation","animation"];class ftt extends b9{isGroup(){return!0}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r=htt.reduce(((e,r)=>(t.hasOwnProperty(r)&&(e[r]=t[r]),e)),{});return super.set(r)}capture(t,e,r){var n=super.capture(t,e,r);if(n!==this)return n}set bounds(t){if(this.__MUTATING__)super.bounds=t;else{var e=this.bounds,r=t.width/e.width,n=t.height/e.height;this.path=this.path.map((i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n}))),this.components&&this.components.forEach((t=>{if(t.mutable)t.mutatePath(null,(function(t){return t.map((function(t){return{x:t.x*r,y:t.y*n}}))}));else{let e=t.bounds,i=t.center,o={x:i.x*(1-r),y:i.y*(1-n)},a=e.width*(1-r),s=e.height*(1-n),c=-(o.x-a/2),u=-(o.y-s/2);t.bounds={left:e.left+c,top:e.top+u,width:e.width*r,height:e.height*n}}}))}}get focusible(){return!1}get bounds(){return super.bounds}get hasTextProperty(){return!1}calculateBounds(){this.clearCache(),this.__MUTATING__=!0,this.mutateBounds((function(t){var e=g6.union(this.components.map((t=>t.bounds)));return this.components.forEach((t=>{let r=t.bounds;t.bounds={left:r.left-e.left,top:r.top-e.top,width:r.width,height:r.height}})),{left:t.left+e.left,top:t.top+e.top,width:e.width,height:e.height}}),this),this.__MUTATING__=!1,this.parent.isGroup()&&this.parent.calculateBounds()}render(t){}postrender(t){var{top:e,left:r,scale:n}=this.state;t.translate(r,e),this.layout.drawables(this).forEach((e=>{e.draw(t)})),t.translate(-r,-e)}}g6.register("group",ftt);const ptt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"id-input",label:"ref",name:"ref"},{type:"select",label:"fit",name:"fit",property:{options:["both","ratio"]}}],"value-property":"ref",help:"scene/component/local-ref"};class dtt extends(y6(v6)){get ref(){var t=this.getState("ref");return t&&"string"==typeof t?this.root.findById(t):null}set ref(t){this.setState("ref",t)}get refScale(){let t=this.ref.bounds,e=this.bounds,r=e.width/t.width,n=e.height/t.height;return"both"===this.model.fit?{x:r,y:n}:{x:Math.min(r,n),y:Math.min(r,n)}}draw(t){this._drawing||(this._drawing=!0,super.draw(t),this._drawing=!1)}prerender(t){if(super.prerender(t),this.ref){let e=this.ref.center,r=this.center,n=this.refScale;t.translate(r.x,r.y),t.scale(n.x,n.y),t.translate(-e.x,-e.y)}}postrender(t){if(this.ref)return this.ref.postrender(t);super.postrender(t)}render(t){if(this.ref)return this.ref.render(t);this.state;var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i)}get nature(){return ptt}get hasTextProperty(){return!1}}g6.memoize(dtt.prototype,"ref",!1),g6.memoize(dtt.prototype,"refScale",!1),g6.register("local-ref",dtt);class gtt extends(g9(N6)){render(t){}get layout(){return _6.get(this.get("layout"))||k6}}const vtt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"scene-number",name:"ref",placeholder:"SCENE-1"},{type:"select",label:"fit",name:"fit",property:{options:["both","ratio"]}},{type:"select",label:"mode",name:"mode",property:{options:["view","interaction"]}}],"value-property":"ref",help:"scene/component/global-ref"};class ytt extends gtt{dispose(){this._releaseRef(),super.dispose()}get nature(){return vtt}get hasTextProperty(){return!1}get tagName(){return"div"}setElementProperties(t){var{mode:e="view"}=this.state;t.style.pointerEvents="view"==e?"none":"inherit"}ready(){super.ready(),this.fetchRef()}reposition(){if(!this.element)return;super.reposition();let t=this._element_bounds,{offsetWidth:e,offsetHeight:r}=this.element;if(this._element_bounds={offsetWidth:e,offsetHeight:r},(!t||t.offsetWidth!=e||t.offsetHeight!=r)&&this.ref&&this.root.target_element){let{fit:t="ratio"}=this.state;this.ref.fit(t)}}async fetchRef(){this._releaseRef();var{ref:t,fit:e="ratio"}=this.state;if(t){var r=this.app.refProvider;if(r&&t)try{this.__ref=await r.get(t,!0),this.__ref.target=this.element,this.__ref.fit(e),this.__ref.data=this.data}catch(t){X4(t)}}}get ref(){return this.__ref}set ref(t){this.setState("ref",t)}_releaseRef(){this.__ref&&this.__ref.release&&this.__ref.release(),delete this.__ref}onchange(t,e,r){super.onchange(t,e,r),"ref"in t&&this.fetchRef(),"fit"in t&&this.ref&&requestAnimationFrame((()=>{let{fit:t}=this.state;this.ref.fit(t)})),"data"in t&&this.ref&&requestAnimationFrame((()=>{this.ref.data=t.data}))}}g6.register("global-ref",ytt);const mtt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"board",name:"board"},{type:"checkbox",label:"modal",name:"modal"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"show",name:"show"},{type:"select",label:"location",name:"location",property:{options:["center","left-top","right-top","left-bottom","right-bottom","auto"]}},{type:"data",label:"value",name:"value"}],help:"scene/component/popup"};class btt extends(y6(v6)){static get image(){return btt._image||(btt._image=new Image,btt._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC"),btt._image}ready(){super.ready(),this.show&&this.onchangeShow(!0)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,btt.image,e,r,n,i)}onchange(t,e){"value"in t?this.show?this.onchangeShow(!0):this.show=!0:"show"in t&&this.onchangeShow(this.show)}onchangeShow(t){!this.app.isEditMode&&this.getState("board")&&(t?T6.show(this,this.board,{location:this.getState("location"),modal:this.getState("modal"),closable:this.getState("closable")||!1,data:this.value}):T6.hide(this))}get board(){return this.getState("board")}set board(t){this.set("board",t)}get show(){return this.getState("show")}set show(t){this.setState("show",t)}get started(){return this.getState("show")}set started(t){this.setState("show",t)}get value(){return this.getState("value")}set value(t){this.setState("value",t)}get hasTextProperty(){return!1}get nature(){return mtt}}g6.register("popup",btt);class xtt extends g6{render(t){var{path:e=[]}=this.state;if(!(e.length<=1)){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(let r=1;r<e.length;r++)t.lineTo(e[r].x,e[r].y);t.closePath(),this.drawStroke(t)}}get path(){return this.model.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach(((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,u=r[a].x,l=r[a].y;c>e!=l>e&&t<(u-s)*(e-c)/(l-c)+s&&(n=!n)})),n}}g6.register("path",xtt);const wtt={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/triangle"};class Att extends v6{contains(t,e){var{x1:r,y1:n,x2:i,y2:o,x3:a,y3:s}=this.state,c=[r,n,i,o,a,s],u=!1;for(let r=0;r<c.length;r+=2){let n=(r+2)%c.length,i=c[r],o=c[r+1],a=c[n+1];o>e!=a>e&&t<(c[n]-i)*(e-o)/(a-o)+i&&(u=!u)}return u}get mutable(){return!0}get path(){var{x1:t,y1:e,x2:r,y2:n,x3:i,y3:o}=this.state;return[{x:t,y:e},{x:r,y:n},{x:i,y:o}]}set path(t){this.set({x1:t[0].x,y1:t[0].y,x2:t[1].x,y2:t[1].y,x3:t[2].x,y3:t[2].y})}get nature(){return wtt}}g6.memoize(Att.prototype,"path",!1),g6.register("triangle",Att);const _tt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"}],help:"scene/component/donut"};var ktt={ondragmove:function(t,e,r){r.controls;var{cx:n,rx:i}=r.model;i=Math.abs(i);var o=(r.transcoordP2S(t.x,t.y).x-n)/i*100;o=o>=100||o<=-100?100:Math.abs(o),r.set({ratio:o})}};class Ett extends D9{is3dish(){return!1}render(t){var{ratio:e=50,cx:r,cy:n,rx:i,ry:o,startAngle:a,endAngle:s,anticlockwise:c}=this.state;i=Math.abs(i),o=Math.abs(o),t.beginPath(),t.ellipse(r,n,i,o,0,a||0,s||2*Math.PI,c),t.moveTo(r+i/100*e,n),t.ellipse(r,n,i/100*e,o/100*e,0,a||0,s||2*Math.PI,!0)}contains(t,e){var{cx:r,cy:n,rx:i,ry:o,ratio:a}=this.state,s=(t-r)/(2*(i=Math.abs(i))-.5),c=(e-n)/(2*(o=Math.abs(o))-.5),u=(t-r)/(i/100*a*2-.5),l=(e-n)/(o/100*a*2-.5),h=!1;return s*s+c*c<.25&&u*u+l*l>.25&&(h=!h),h}get controls(){var{cx:t,cy:e,rx:r,ratio:n}=this.state;return[{x:t+(r=Math.abs(r))/100*n,y:e,handler:ktt}]}get nature(){return _tt}}g6.memoize(Ett.prototype,"controls",!1),g6.register("donut",Ett);const Stt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"},{type:"number",label:"wing",name:"wing",property:"wing"}],help:"scene/component/star"};var Mtt={ondragmove:function(t,e,r){r.controls;var{cy:n,ry:i}=r.model,o=(r.transcoordP2S(t.x,t.y).y-n)/i*100+100;o>=100?o=100:o<=0&&(o=0),r.set({ratio:o})}};class Ttt extends D9{is3dish(){return!1}render(t){var{ratio:e=30,wing:r=5,cx:n,cy:i,rx:o,ry:a,startAngle:s,endAngle:c,anticlockwise:u}=this.state;if(r<3)return;const l=1.5707963267948966;var h=2*Math.PI/r,f=o-e/100*o,p=a-e/100*a;t.save(),t.beginPath(),t.translate(n,i),t.moveTo(o*Math.cos(-l),a*Math.sin(-l)),t.lineTo((o-f)*(Math.cos(h-l)+Math.cos(0-l))/2,(a-p)*(Math.sin(h-l)+Math.sin(0-l))/2);for(var d=1;d<r;d++)t.lineTo(o*Math.cos(h*d-l),a*Math.sin(h*d-l)),t.lineTo((o-f)*(Math.cos(h*(d+1)-l)+Math.cos(h*d-l))/2,(a-p)*(Math.sin(h*(d+1)-l)+Math.sin(h*d-l))/2);t.closePath(),t.restore()}get controls(){var{cx:t,cy:e,ry:r,ratio:n}=this.state;return[{x:t,y:e-r+r*(n/100),handler:Mtt}]}get nature(){return Stt}}g6.memoize(Ttt.prototype,"controls",!1),g6.register("star",Ttt);var Ptt=t=>class extends t{animOnValueChange(t,e=!1,r){if(t!=this._lastValue){if(e)var n=t-(Number(r)||0);else n=t-(this._lastValue||0);this._lastValue=t,this._anim_alpha=-n,this.animate({step:t=>{this._anim_alpha=n*(t-1),this.invalidate()},duration:1e3,delta:"circ",options:{x:1},ease:"out"}).start()}}dispose(){super.dispose(),delete this._value_substitutor}onchange(t,e){t.hasOwnProperty("value")&&delete this._value_substitutor}get animAlpha(){return this._anim_alpha||0}get animValue(){return(this._lastValue||0)+(this._anim_alpha||0)}defaultValueSubstitutor(){return this.getState("value")}get valueSubstitutor(){return this._value_substitutor||(this._value_substitutor=i6(this.getState("value"),this)||this.defaultValueSubstitutor),this._value_substitutor}get value(){return Number(this.valueSubstitutor())||0}set value(t){delete this._value_substitutor,this.setState("value",Number(L4(t)))}},Ott=t=>class extends t{_convertDataFormat(t,e){var r;if("json"===e)r=JSON.parse(t);else r=t;return r}isDataSource(){return!0}},Itt=new WeakSet;class Rtt{static get residents(){return Itt}constructor(t,e){this.counters={},this.references={},this.creator=t,this.disposer=e,Itt.add(this)}dispose(){if(this.disposer)for(let t in this.references)this.disposer.call(null,t,this.references[t]);delete this.references,delete this.counters}get ids(){return Object.keys(this.references)}create(t){var e=this;return new Promise((function(r,n){e.creator?e.creator.call(null,t,(function(e){!function(e){e.release=function(){this.disposer&&this.disposer.call(null,t,e),delete e.release,Q4("RELEASED",t)},r(e)}(e)}),(function(t){n(t)})):n(Error("Reference id("+t+") could not be created. Reference creator should be defined."))}))}add(t,e){var r=this,n=new Promise((function(n,i){var o=r.references[t];if(o)o===e?i(Error("Reference ID and target duplicate")):e?i(Error("Reference ID duplicate")):n(o);else{function a(e){e.release=function(){r.release(this)},r.references[t]=e,r.counters[t]=1,n(e)}if(e)a(e);else{if(!r.creator)return void i(Error("Reference id("+t+") is not allowed. Reference creator should be defined."));r.creator.call(null,t,(function(t){a(t)}),(function(t){i(t)}))}}}));return this.references[t]||(this.references[t]=n),n}async get(t,e){var r=this.references[t];if(r){if(!(r instanceof Promise)){if(!(t in this.counters))throw new Error("No Reference Count");return this.counters[t]++,r}if(e)return r=await r,this.counters[t]++,r}if(e)return await this.add(t);throw new Error("No References for "+t)}_id(t){for(let e in this.references){if(this.references[e]===t)return e}return-1}release(t){var e=this._id(t),r=this.references[e];r?(this.counters[e]--,0==this.counters[e]&&(this.disposer&&this.disposer.call(null,e,r),delete this.references[e],delete this.counters[e],delete t.release,Q4("RELEASED",e))):X4("No Referenced ID")}}var Ctt={},jtt={},Ltt=[];function Dtt(t){var e="SCRIPT"==t.target.tagName?Ctt:jtt,r=t.target.src||t.target.href;e[r]=!0,Ltt.forEach(((t,n)=>{let{resolve:i,scripts:o,styles:a}=t;if(e==Ctt){let t=o.indexOf(r);t>-1&&t<o.length-1&&Ftt(o[t+1])}for(let t=0;t<o.length;t++)if(!Ctt[o[t]])return;if(a)for(let t=0;t<a.length;t++)if(!jtt[a[t]])return;i(),Ltt[n]=null})),Ltt=Ltt.filter(Boolean)}function ztt(t){var e=t.target.src,r="SCRIPT"==t.target.tagName?Ctt:jtt;Ltt.forEach(((n,i)=>{let{reject:o,scripts:a,styles:s}=n,c=!1;if(r===Ctt){for(let t=0;t<a.length;t++)if(a[t]==e){c=!0;break}}else if(s)for(let t=0;t<s.length;t++)if(s[t]==e){c=!0;break}c&&(o(t),Ltt[i]=null)})),Ltt=Ltt.filter(Boolean),delete r[e],document.head.removeChild(t.target)}function Ftt(t){Ctt[t]=!1;var e=document.createElement("script");e.onload=Dtt,e.onerror=ztt,e.type="text/javascript",e.src=t,document.head.appendChild(e)}class Btt{static load(t,e){return"string"==typeof t&&(t=[t]),"string"==typeof e&&(e=[e]),new Promise((function(r,n){if((!t||t instanceof Array)&&(!e||e instanceof Array)){var i,o=!0;if(e&&e.forEach((t=>{jtt.hasOwnProperty(t)||function(t){jtt[t]=!1;var e=document.createElement("link");e.onload=Dtt,e.onerror=ztt,e.type="text/css",e.rel="stylesheet",e.media="screen,print",e.href=t,document.head.appendChild(e)}(t),jtt[t]||(o=!1)})),t&&t.length>0&&t.forEach((t=>{Ctt.hasOwnProperty(t)?Ctt[t]||(o=!1):i=i||t})),i)Ftt(i);else if(o)return void r();Ltt.push({resolve:r,reject:n,scripts:t,styles:e})}else n("invalid sources for load")}))}}const Ntt="0.0.0";var Utt=0,Gtt=performance.now(),Ytt=0;function Htt(){return Utt}requestAnimationFrame((function t(){requestAnimationFrame(t),Ytt++;var e=performance.now(),r=e-Gtt;r<1e3||(Utt=Math.round(1e3*Ytt/r),Gtt=e,Ytt=0)}));var Wtt=O8;function qtt(){}export{P6 as AbsoluteLayout,utt as AudioPlayer,I6 as CardLayout,g6 as Component,X6 as Connectable,b9 as Container,N6 as ContainerAbstract,s5 as DEFAULT,i5 as DPPX,Ott as DataSource,Ett as Donut,D9 as Ellipse,Y7 as EventMap,Htt as FPS,o5 as GESTURES,stt as GifView,ytt as GlobalRef,ftt as Group,k6 as HTMLAbsoluteLayout,gtt as HTMLOverlayContainer,X9 as HTMLOverlayElement,q9 as ImageView,w6 as InfoWindow,a5 as KEYEVENTS,U6 as Layer,_6 as Layout,j9 as Line,C6 as LinearHorizontalLayout,L6 as LinearVerticalLayout,dtt as LocalRef,n5 as MAX_UNDO_SIZE,e5 as MODE_ADD,$4 as MODE_EDIT,t5 as MODE_SHIFT,Z4 as MODE_VIEW,Wtt as Model,F6 as MoveHandle,J4 as NOTHING,H9 as OrthoLine,xtt as Path,B9 as Polygon,G9 as Polyline,btt as Popup,J6 as Rect,y6 as RectPath,Rtt as ReferenceMap,Z7 as RootContainer,$6 as Ruler,r5 as SCENE_MODE,h9 as Scene,T6 as ScenePopup,Btt as ScriptLoader,v6 as Shape,Ttt as Star,D6 as TableLayout,ltt as Text,Att as Triangle,Ptt as ValueHolder,p9 as create,Q4 as debug,X4 as error,qtt as license,M$ as polyfill,Ntt as version,V4 as warn};console.log("@hatiolab/things-scene@3.3.17 is loaded");
|