@galacean/effects-plugin-gui 2.10.0 → 2.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: GUI controls and layout containers for Galacean Effects
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors:
6
- * Version: v2.10.0
6
+ * Version: v2.10.1
7
7
  */
8
8
 
9
9
  'use strict';
@@ -10856,7 +10856,7 @@ function colorFromHex(value, fallbackAlpha) {
10856
10856
  }
10857
10857
 
10858
10858
  effects.registerPlugin("gui", GUIPlugin);
10859
- /** GUI plugin package version. Importing this package registers the GUI runtime and native fallback theme. */ var version = "2.10.0";
10859
+ /** GUI plugin package version. Importing this package registers the GUI runtime and native fallback theme. */ var version = "2.10.1";
10860
10860
 
10861
10861
  exports.BaseButton = BaseButton;
10862
10862
  exports.BoxContainer = BoxContainer;
package/dist/index.min.js CHANGED
@@ -3,6 +3,6 @@
3
3
  * Description: GUI controls and layout containers for Galacean Effects
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors:
6
- * Version: v2.10.0
7
- */function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.gui={}),t.ge)}(this,function(t,e){"use strict";function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function n(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function r(t,e,n){return(r=o()?Reflect.construct:function(t,e,n){var o=[null];o.push.apply(o,e);var r=new(Function.bind.apply(t,o));return n&&i(r,n.prototype),r}).apply(null,arguments)}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function a(t){var e="function"==typeof Map?new Map:void 0;return(a=function(t){if(null===t||-1===Function.toString.call(t).indexOf("[native code]"))return t;if("function"!=typeof t)throw TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return r(t,arguments,s(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,t)})(t)}function h(t){if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function u(t,e,i){return e&&l(t.prototype,e),i&&l(t,i),t}function c(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):c(t,e)}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=Array(e);i<e;i++)n[i]=t[i];return n}function g(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return(i=i.call(t)).next.bind(i);if(Array.isArray(t)||(i=function(t,e){if(t){if("string"==typeof t)return d(t,void 0);var i=Object.prototype.toString.call(t).slice(8,-1);if("Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return d(t,void 0)}}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(t,e,i,n){var o,r=arguments.length,s=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(r<3?o(s):r>3?o(e,i,s):o(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s}function m(){return(m=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t}).apply(this,arguments)}t.MouseFilter=void 0,(L=t.MouseFilter||(t.MouseFilter={}))[L.Stop=0]="Stop",L[L.Pass=1]="Pass",L[L.Ignore=2]="Ignore",t.MouseBehaviorRecursive=void 0,(V=t.MouseBehaviorRecursive||(t.MouseBehaviorRecursive={}))[V.Inherited=0]="Inherited",V[V.Disabled=1]="Disabled",V[V.Enabled=2]="Enabled",t.FocusMode=void 0,(O=t.FocusMode||(t.FocusMode={}))[O.None=0]="None",O[O.Click=1]="Click",O[O.All=2]="All",O[O.Accessibility=3]="Accessibility",t.FocusBehaviorRecursive=void 0,(_=t.FocusBehaviorRecursive||(t.FocusBehaviorRecursive={}))[_.Inherited=0]="Inherited",_[_.Disabled=1]="Disabled",_[_.Enabled=2]="Enabled",t.CursorShape=void 0,(H=t.CursorShape||(t.CursorShape={}))[H.Arrow=0]="Arrow",H[H.Ibeam=1]="Ibeam",H[H.PointingHand=2]="PointingHand",H[H.Cross=3]="Cross",H[H.Wait=4]="Wait",H[H.Busy=5]="Busy",H[H.Drag=6]="Drag",H[H.CanDrop=7]="CanDrop",H[H.Forbidden=8]="Forbidden",H[H.Vsize=9]="Vsize",H[H.Hsize=10]="Hsize",H[H.Bdiagsize=11]="Bdiagsize",H[H.Fdiagsize=12]="Fdiagsize",H[H.Move=13]="Move",H[H.Vsplit=14]="Vsplit",H[H.Hsplit=15]="Hsplit",H[H.Help=16]="Help","function"==typeof SuppressedError&&SuppressedError;var p,v,y,x,C,M,S,T,w,b,z,B,I,k,F,D,P,E,A,R,L,V,O,_,H,N,G=e.math.Color,W=e.math.Vector2;t.ThemeItemType=void 0,(p=t.ThemeItemType||(t.ThemeItemType={})).Color="color",p.Constant="constant",p.Font="font",p.FontSize="fontSize",p.Icon="icon",p.StyleBox="styleBox",t.PatchStretchMode=void 0,(v=t.PatchStretchMode||(t.PatchStretchMode={}))[v.Stretch=0]="Stretch",v[v.Tile=1]="Tile",v[v.TileFit=2]="TileFit";var U={left:0,top:0,right:0,bottom:0};function j(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function K(t){var e,i,n,o;return{left:null!=(e=null==t?void 0:t.left)?e:0,top:null!=(i=null==t?void 0:t.top)?i:0,right:null!=(n=null==t?void 0:t.right)?n:0,bottom:null!=(o=null==t?void 0:t.bottom)?o:0}}function q(t,e){if(!Number.isFinite(e))throw RangeError(""+t+" must be finite.");return e}function X(t,e){return Math.max(0,q(t,e))}function Y(t){return c(t,G)?t.clone():t&&"object"==typeof t&&"family"in t&&"weight"in t&&"style"in t?{family:t.family,weight:t.weight,style:t.style}:t}var Q=function(){function t(){this.eventEmitter=new e.EventEmitter,this.contentMargins=j(U),this.readOnly=!1}var i=t.prototype;return i.on=function(t,e){this.eventEmitter.on(t,e)},i.off=function(t,e){this.eventEmitter.off(t,e)},i.getContentMargins=function(){return j(this.contentMargins)},i.makeReadOnly=function(){return this.readOnly=!0,this},i.setContentMargins=function(t,e,i,n){var o=this;this.assertMutable();var r={left:X("StyleBox left content margin",t),top:X("StyleBox top content margin",e),right:X("StyleBox right content margin",i),bottom:X("StyleBox bottom content margin",n)};Object.keys(r).some(function(t){return r[t]!==o.contentMargins[t]})&&(this.contentMargins=r,this.notifyChanged())},i.getMinimumSize=function(){return new W(this.contentMargins.left+this.contentMargins.right,this.contentMargins.top+this.contentMargins.bottom)},i.notifyChanged=function(){this.eventEmitter.emit("changed",this)},i.assertMutable=function(){if(this.readOnly)throw Error("Native fallback StyleBoxes are read-only.")},u(t,[{key:"isReadOnly",get:function(){return this.readOnly}}]),t}(),$=function(t){function e(){return t.apply(this,arguments)}return n(e,t),e.prototype.draw=function(){},e}(Q);$.shared=new $().makeReadOnly();var Z=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.backgroundColor=G.CLEAR.clone(),e.borderColor=G.CLEAR.clone(),e.borderWidths=j(U),e.cornerRadii=j(U),e}n(e,t);var i=e.prototype;return i.getBackgroundColor=function(){return this.backgroundColor.clone()},i.getBorderColor=function(){return this.borderColor.clone()},i.getBorderWidths=function(){return j(this.borderWidths)},i.getCornerRadii=function(){return j(this.cornerRadii)},i.setBackgroundColor=function(t){this.assertMutable(),this.backgroundColor.equals(t)||(this.backgroundColor.copyFrom(t),this.notifyChanged())},i.setBorderColor=function(t){this.assertMutable(),this.borderColor.equals(t)||(this.borderColor.copyFrom(t),this.notifyChanged())},i.setBorderWidths=function(t,e,i,n){var o=this;this.assertMutable();var r={left:X("StyleBoxFlat left border width",t),top:X("StyleBoxFlat top border width",e),right:X("StyleBoxFlat right border width",i),bottom:X("StyleBoxFlat bottom border width",n)};Object.keys(r).some(function(t){return r[t]!==o.borderWidths[t]})&&(this.borderWidths=r,this.notifyChanged())},i.setCornerRadii=function(t,e,i,n){var o=this;this.assertMutable();var r={left:X("StyleBoxFlat top-left corner radius",t),top:X("StyleBoxFlat top-right corner radius",e),right:X("StyleBoxFlat bottom-right corner radius",i),bottom:X("StyleBoxFlat bottom-left corner radius",n)};Object.keys(r).some(function(t){return r[t]!==o.cornerRadii[t]})&&(this.cornerRadii=r,this.notifyChanged())},i.draw=function(t,e){if(!(e.width<=0)&&!(e.height<=0)){if(this.hasRoundedCorners()){this.drawRounded(t,e);return}t.fillRectangle(e.x,e.y,e.width,e.height,this.backgroundColor);var i=this.borderWidths;if(i.top>0&&t.fillRectangle(e.x,e.y,e.width,Math.min(i.top,e.height),this.borderColor),i.bottom>0){var n=Math.min(i.bottom,e.height);t.fillRectangle(e.x,e.y+e.height-n,e.width,n,this.borderColor)}if(i.left>0&&t.fillRectangle(e.x,e.y,Math.min(i.left,e.width),e.height,this.borderColor),i.right>0){var o=Math.min(i.right,e.width);t.fillRectangle(e.x+e.width-o,e.y,o,e.height,this.borderColor)}}},i.hasRoundedCorners=function(){var t=this.cornerRadii;return t.left>0||t.top>0||t.right>0||t.bottom>0},i.drawRounded=function(t,e){var i,n,o,r,s,a,h,l,u=(i=this.borderWidths,n=e.width,o=e.height,J("top","bottom",r=tt(),i,o,o,o),J("left","right",r,i,n,n,n),r),c=(s=this.cornerRadii,a=e.width,h=e.height,J("top","right",l=tt(),s,h,h-u.bottom,h-u.top),J("left","bottom",l,s,h,h-u.bottom,h-u.top),J("left","top",l,s,a,a-u.right,a-u.left),J("bottom","right",l,s,a,a-u.right,a-u.left),l);if(!(u.left>0||u.top>0||u.right>0||u.bottom>0)){te(t,e,c,this.backgroundColor);return}var d={x:e.x+u.left,y:e.y+u.top,width:Math.max(0,e.width-u.left-u.right),height:Math.max(0,e.height-u.top-u.bottom)};if(d.width<=0||d.height<=0){te(t,e,c,this.borderColor);return}var g={left:Math.max(0,c.left-Math.min(u.left,u.top)),top:Math.max(0,c.top-Math.min(u.right,u.top)),right:Math.max(0,c.right-Math.min(u.right,u.bottom)),bottom:Math.max(0,c.bottom-Math.min(u.left,u.bottom))};(function(t,e,i,n,o,r){for(var s=ti(e,i),a=ti(n,o),h=0;h<s.length;h++){var l=(h+1)%s.length;t.fillTriangle(s[h][0],s[h][1],s[l][0],s[l][1],a[h][0],a[h][1],r),t.fillTriangle(s[l][0],s[l][1],a[l][0],a[l][1],a[h][0],a[h][1],r)}})(t,e,c,d,g,this.borderColor),te(t,d,g,this.backgroundColor)},e}(Q);function J(t,e,i,n,o,r,s){var a=n[t]+n[e],h=a>0?Math.min(1,o/a):1;i[t]=Math.min(n[t]*h,r,i[t]),i[e]=Math.min(n[e]*h,s,i[e])}function tt(){return{left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.POSITIVE_INFINITY,bottom:Number.POSITIVE_INFINITY}}function te(t,e,i,n){for(var o=ti(e,i),r=e.x+.5*e.width,s=e.y+.5*e.height,a=0;a<o.length;a++){var h=o[a],l=o[(a+1)%o.length];t.fillTriangle(r,s,h[0],h[1],l[0],l[1],n)}}function ti(t,e){for(var i,n=[],o=[[t.x+e.left,t.y+e.left,e.left,Math.PI],[t.x+t.width-e.top,t.y+e.top,e.top,1.5*Math.PI],[t.x+t.width-e.right,t.y+t.height-e.right,e.right,0],[t.x+e.bottom,t.y+t.height-e.bottom,e.bottom,.5*Math.PI]],r=g(o);!(i=r()).done;)for(var s=i.value,a=s[0],h=s[1],l=s[2],u=s[3],c=0;c<=5;c++){var d=u+c/5*Math.PI*.5;n.push([a+Math.cos(d)*l,h+Math.sin(d)*l])}return n}var tn=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e._texture=null,e.sourceRect=null,e.patchMargins=j(U),e.tint=G.WHITE.clone(),e._horizontalAxisStretchMode=0,e._verticalAxisStretchMode=0,e._drawCenter=!0,e}n(e,t);var i=e.prototype;return i.getSourceRect=function(){return this.sourceRect?m({},this.sourceRect):null},i.getPatchMargins=function(){return j(this.patchMargins)},i.getTint=function(){return this.tint.clone()},i.setSourceRect=function(t,e,i,n){this.assertMutable(),this.sourceRect={x:q("StyleBoxTexture source x",t),y:q("StyleBoxTexture source y",e),width:X("StyleBoxTexture source width",i),height:X("StyleBoxTexture source height",n)},this.notifyChanged()},i.clearSourceRect=function(){this.assertMutable(),this.sourceRect&&(this.sourceRect=null,this.notifyChanged())},i.setPatchMargins=function(t,e,i,n){this.assertMutable(),this.patchMargins={left:X("StyleBoxTexture left patch margin",t),top:X("StyleBoxTexture top patch margin",e),right:X("StyleBoxTexture right patch margin",i),bottom:X("StyleBoxTexture bottom patch margin",n)},this.notifyChanged()},i.setTint=function(t){this.assertMutable(),this.tint.equals(t)||(this.tint.copyFrom(t),this.notifyChanged())},i.draw=function(t,e){var i,n=this.texture;if(n&&!(e.width<=0)&&!(e.height<=0)){var o=null!=(i=this.sourceRect)?i:{x:0,y:0,width:n.width,height:n.height};t.drawNinePatch(e.x,e.y,e.width,e.height,n,{sourceX:o.x,sourceY:o.y,sourceWidth:o.width,sourceHeight:o.height,marginLeft:this.patchMargins.left,marginTop:this.patchMargins.top,marginRight:this.patchMargins.right,marginBottom:this.patchMargins.bottom,horizontalMode:this.horizontalAxisStretchMode,verticalMode:this.verticalAxisStretchMode,drawCenter:this.drawCenter},this.tint)}},u(e,[{key:"texture",get:function(){return this._texture},set:function(t){this.assertMutable(),this._texture!==t&&(this._texture=t,this.notifyChanged())}},{key:"horizontalAxisStretchMode",get:function(){return this._horizontalAxisStretchMode},set:function(t){this.assertMutable(),this._horizontalAxisStretchMode!==t&&(this._horizontalAxisStretchMode=t,this.notifyChanged())}},{key:"verticalAxisStretchMode",get:function(){return this._verticalAxisStretchMode},set:function(t){this.assertMutable(),this._verticalAxisStretchMode!==t&&(this._verticalAxisStretchMode=t,this.notifyChanged())}},{key:"drawCenter",get:function(){return this._drawCenter},set:function(t){this.assertMutable(),this._drawCenter!==t&&(this._drawCenter=t,this.notifyChanged())}}]),e}(Q),to=function(){function t(){}return t.registerType=function(t,e,i){if(void 0===i&&(i={}),!t)throw Error("Theme type names cannot be empty.");if(e===t)throw Error("Theme type "+t+" cannot inherit itself.");if(e&&!this.types.has(e))throw Error("Unknown base theme type: "+e+".");if(e&&this.getTypeChain(e).includes(t))throw Error("Theme type inheritance cycle detected at "+t+".");var n=this.types.get(t);if(n&&n.baseType!==e)throw Error("Theme type "+t+" is already registered with base "+(null!=(o=n.baseType)?o:"<none>")+".");for(var o,r,s,a=m({},null!=(r=null==n?void 0:n.definitions)?r:{}),h=g(Object.keys(i));!(s=h()).done;){var l=s.value;if(a[l])throw Error("Theme item "+t+"."+l+" is already registered.");var u=i[l],d=Y(u.defaultValue);c(d,Q)&&d.makeReadOnly(),a[l]=m({},u,{defaultValue:d})}this.types.set(t,{baseType:e,definitions:a})},t.hasType=function(t){return this.types.has(t)},t.getTypeChain=function(t){for(var e,i,n=[],o=new Set,r=t;r&&!o.has(r);)n.push(r),o.add(r),r=null!=(i=null==(e=this.types.get(r))?void 0:e.baseType)?i:null;return n},t.getDefault=function(t,e,i){var n,o=null==(n=this.types.get(t))?void 0:n.definitions[i];return(null==o?void 0:o.type)===e?Y(o.defaultValue):void 0},t.getItemDefinition=function(t,e,i){for(var n,o=g(this.getTypeChain(t));!(n=o()).done;){var r,s=n.value,a=null==(r=this.types.get(s))?void 0:r.definitions[i];if((null==a?void 0:a.type)===e)return a}},t.affectsLayout=function(t,e,i){var n,o=this.getItemDefinition(t,e,i);return o?null!=(n=o.affectsLayout)&&n:"constant"===e||"font"===e||"fontSize"===e||"styleBox"===e},t.getItemDefinitions=function(t,e){void 0===e&&(e=!0);for(var i,n={},o=e?this.getTypeChain(t).reverse():[t],r=g(o);!(i=r()).done;)for(var s,a,h,l=i.value,u=null!=(a=null==(s=this.types.get(l))?void 0:s.definitions)?a:{},c=g(Object.keys(u));!(h=c()).done;){var d=h.value,f=u[d];n[d]=m({},f,{defaultValue:Y(f.defaultValue)})}return n},t}();to.types=new Map;var tr=function(){function t(){var t=this;this.eventEmitter=new e.EventEmitter,this.values=new Map,this.variations=new Map,this.styleBoxReferences=new Map,this.batchDepth=0,this.changePending=!1,this.layoutChangePending=!1,this.styleBoxChanged=function(){return t.notifyChanged(!0)}}var i=t.prototype;return i.on=function(t,e){this.eventEmitter.on(t,e)},i.off=function(t,e){this.eventEmitter.off(t,e)},i.batch=function(t){this.batchDepth++;try{return t()}finally{if(this.batchDepth--,0===this.batchDepth&&this.changePending){this.changePending=!1;var e=this.layoutChangePending;this.layoutChangePending=!1,this.eventEmitter.emit("changed",this,e)}}},i.setTypeVariation=function(t,e){if(!t||!e||t===e)throw Error("Theme variations require distinct non-empty names.");if(to.hasType(t))throw Error("Theme variation "+t+" conflicts with a registered control type.");if(!to.hasType(e)&&!this.variations.has(e))throw Error("Unknown theme variation base type: "+e+".");for(var i=e;i;){if(i===t)throw Error("Theme variation cycle detected at "+t+".");i=this.variations.get(i)}this.variations.get(t)!==e&&(this.variations.set(t,e),this.notifyChanged(!0))},i.clearTypeVariation=function(t){for(var e,i=g(this.variations);!(e=i()).done;){var n=e.value,o=n[0],r=n[1];if(o!==t&&r===t)throw Error("Theme variation "+t+" is still used by "+o+".")}this.variations.delete(t)&&this.notifyChanged(!0)},i.hasTypeVariation=function(t){return this.variations.has(t)},i.getTypeVariationBase=function(t){return this.variations.get(t)},i.getTypeDependencies=function(t){for(var e=[],i=new Set,n=t;!i.has(n);){e.push(n),i.add(n);var o=this.variations.get(n);if(!o)return e.push.apply(e,[].concat(to.getTypeChain(n).slice(1))),e;n=o}throw Error("Theme variation cycle detected at "+t+".")},i.setColor=function(t,e,i){this.setItem(t,"color",e,i)},i.getColor=function(t,e){return this.getItem(t,"color",e)},i.hasColor=function(t,e){return this.hasItem(t,"color",e)},i.clearColor=function(t,e){this.clearItem(t,"color",e)},i.setConstant=function(t,e,i){this.setItem(t,"constant",e,q(e,i))},i.getConstant=function(t,e){return this.getItem(t,"constant",e)},i.hasConstant=function(t,e){return this.hasItem(t,"constant",e)},i.clearConstant=function(t,e){this.clearItem(t,"constant",e)},i.setFont=function(t,e,i){this.setItem(t,"font",e,i)},i.getFont=function(t,e){return this.getItem(t,"font",e)},i.hasFont=function(t,e){return this.hasItem(t,"font",e)},i.clearFont=function(t,e){this.clearItem(t,"font",e)},i.setFontSize=function(t,e,i){if(!Number.isFinite(i)||i<=0)throw RangeError(""+e+" must be a positive finite font size.");this.setItem(t,"fontSize",e,i)},i.getFontSize=function(t,e){return this.getItem(t,"fontSize",e)},i.hasFontSize=function(t,e){return this.hasItem(t,"fontSize",e)},i.clearFontSize=function(t,e){this.clearItem(t,"fontSize",e)},i.setIcon=function(t,e,i){this.setItem(t,"icon",e,i)},i.getIcon=function(t,e){return this.getItem(t,"icon",e)},i.hasIcon=function(t,e){return this.hasItem(t,"icon",e)},i.clearIcon=function(t,e){this.clearItem(t,"icon",e)},i.setStyleBox=function(t,e,i){this.setItem(t,"styleBox",e,i)},i.getStyleBox=function(t,e){return this.getItem(t,"styleBox",e)},i.hasStyleBox=function(t,e){return this.hasItem(t,"styleBox",e)},i.clearStyleBox=function(t,e){this.clearItem(t,"styleBox",e)},i.hasItem=function(t,e,i){var n,o,r;return null!=(r=null==(o=this.values.get(t))?void 0:null==(n=o.get(e))?void 0:n.has(i))&&r},i.getItem=function(t,e,i){var n,o,r=null==(o=this.values.get(t))?void 0:null==(n=o.get(e))?void 0:n.get(i);return void 0===r?void 0:Y(r)},i.clearItem=function(t,e,i){var n=this.values.get(t),o=null==n?void 0:n.get(e),r=null==o?void 0:o.get(i);(null==o?void 0:o.delete(i))&&(0===o.size&&(null==n||n.delete(e)),(null==n?void 0:n.size)===0&&this.values.delete(t),c(r,Q)&&this.releaseStyleBox(r),this.notifyChanged(this.affectsLayout(t,e,i)))},i.clear=function(){if(0!==this.values.size||0!==this.variations.size){for(var t,e=g(this.styleBoxReferences.keys());!(t=e()).done;)t.value.off("changed",this.styleBoxChanged);this.styleBoxReferences.clear(),this.values.clear(),this.variations.clear(),this.notifyChanged(!0)}},i.setCollectionFromData=function(t,e,i){for(var n,o,r,s,a,h,l,u=null!=(n=i.colors)?n:{},c=null!=(o=i.constants)?o:{},d=null!=(r=i.fonts)?r:{},f=null!=(s=i.fontSizes)?s:{},m=null!=(a=i.icons)?a:{},p=null!=(h=i.styleBoxes)?h:{},v=g(Object.keys(u));!(l=v()).done;){var y=l.value,x=u[y];this.setColor(e,y,new G(x.r,x.g,x.b,x.a))}for(var C,M=g(Object.keys(c));!(C=M()).done;){var S=C.value;this.setConstant(e,S,c[S])}for(var T,w=g(Object.keys(d));!(T=w()).done;){var b=T.value;this.setFont(e,b,function(t){var e,i;return{family:t.family,weight:null!=(e=t.weight)?e:"normal",style:null!=(i=t.style)?i:"normal"}}(d[b]))}for(var z,B=g(Object.keys(f));!(z=B()).done;){var I=z.value;this.setFontSize(e,I,f[I])}for(var k,F=g(Object.keys(m));!(k=F()).done;){var D=k.value,P=m[D];this.setIcon(e,D,P?t.findObject(P):null)}for(var E,A=g(Object.keys(p));!(E=A()).done;){var R=E.value;this.setStyleBox(e,R,ts(t,p[R]))}},i.setItem=function(t,e,i,n){if(!t||!i)throw Error("Theme type and item names cannot be empty.");var o=this.values.get(t);o||this.values.set(t,o=new Map);var r=o.get(e);r||o.set(e,r=new Map);var s=r.get(i);c(s,Q)&&this.releaseStyleBox(s);var a=Y(n);r.set(i,a),c(a,Q)&&this.retainStyleBox(a),this.notifyChanged(this.affectsLayout(t,e,i))},i.retainStyleBox=function(t){var e,i=null!=(e=this.styleBoxReferences.get(t))?e:0;0===i&&t.on("changed",this.styleBoxChanged),this.styleBoxReferences.set(t,i+1)},i.releaseStyleBox=function(t){var e,i=null!=(e=this.styleBoxReferences.get(t))?e:0;i<=1?(t.off("changed",this.styleBoxChanged),this.styleBoxReferences.delete(t)):this.styleBoxReferences.set(t,i-1)},i.notifyChanged=function(t){this.batchDepth>0?(this.changePending=!0,this.layoutChangePending||(this.layoutChangePending=t)):this.eventEmitter.emit("changed",this,t)},i.affectsLayout=function(t,e,i){for(var n,o=g(this.getTypeDependencies(t));!(n=o()).done;){var r,s=n.value,a=to.getItemDefinition(s,e,i);if(a)return null!=(r=a.affectsLayout)&&r}return"constant"===e||"font"===e||"fontSize"===e||"styleBox"===e},t.fromData=function(e,i){var n=new t;return n.batch(function(){for(var t,o,r=null!=(t=i.variations)?t:{},s=new Map,a=g(Object.keys(r));!(o=a()).done;){var h=o.value;s.set(h,r[h])}for(;s.size>0;){for(var l,u=!1,c=g(s);!(l=c()).done;){var d=l.value,f=d[0],m=d[1];(to.hasType(m)||n.hasTypeVariation(m))&&(n.setTypeVariation(f,m),s.delete(f),u=!0)}if(!u)throw Error("Theme data contains an unknown or cyclic variation.")}for(var p,v=g(Object.keys(i.types));!(p=v()).done;){var y=p.value;n.setCollectionFromData(e,y,i.types[y])}}),n},t}();function ts(t,e){if("flat"===e.type){var i=new Z;e.backgroundColor&&i.setBackgroundColor(new G(e.backgroundColor.r,e.backgroundColor.g,e.backgroundColor.b,e.backgroundColor.a)),e.borderColor&&i.setBorderColor(new G(e.borderColor.r,e.borderColor.g,e.borderColor.b,e.borderColor.a));var n=K(e.borderWidths);i.setBorderWidths(n.left,n.top,n.right,n.bottom);var o=K(e.cornerRadii);i.setCornerRadii(o.left,o.top,o.right,o.bottom),r=i}else if("texture"===e.type){var r,s,a,h,l=new tn;l.texture=e.texture?t.findObject(e.texture):null,e.sourceRect&&l.setSourceRect(e.sourceRect.position[0],e.sourceRect.position[1],e.sourceRect.size[0],e.sourceRect.size[1]);var u=K(e.patchMargins);l.setPatchMargins(u.left,u.top,u.right,u.bottom),l.horizontalAxisStretchMode=null!=(s=e.horizontalAxisStretchMode)?s:0,l.verticalAxisStretchMode=null!=(a=e.verticalAxisStretchMode)?a:0,l.drawCenter=null==(h=e.drawCenter)||h,e.tint&&l.setTint(new G(e.tint.r,e.tint.g,e.tint.b,e.tint.a)),r=l}else r=new $;var c=K(e.contentMargins);return r.setContentMargins(c.left,c.top,c.right,c.bottom),r}var ta={color:G.CLEAR.clone(),constant:0,font:{family:"sans-serif",weight:"normal",style:"normal"},fontSize:14,icon:null,styleBox:$.shared},th=e.math.Color,tl=e.math.Matrix3,tu=e.math.Vector2;function tc(t){if(!Number.isFinite(t.x)||!Number.isFinite(t.y))throw RangeError("Control minimum and desired sizes must be finite.");return new tu(Math.max(0,t.x),Math.max(0,t.y))}function td(t){if(!Number.isFinite(t.x)||!Number.isFinite(t.y))throw RangeError("Control maximum sizes must be finite.");return new tu(t.x<0?-1:t.x,t.y<0?-1:t.y)}function tg(t,e){return t<0?e:e<0?t:Math.min(t,e)}function tf(t,e){return e<0?t:Math.min(t,e)}t.SizeFlags=void 0,(y=t.SizeFlags||(t.SizeFlags={}))[y.ShrinkBegin=0]="ShrinkBegin",y[y.Fill=1]="Fill",y[y.Expand=2]="Expand",y[y.ShrinkCenter=4]="ShrinkCenter",y[y.ShrinkEnd=8]="ShrinkEnd",y[y.ExpandFill=3]="ExpandFill",t.GrowDirection=void 0,(x=t.GrowDirection||(t.GrowDirection={}))[x.Begin=0]="Begin",x[x.End=1]="End",x[x.Both=2]="Both";var tm={topLeft:[0,0,0,0],topRight:[1,0,1,0],bottomLeft:[0,1,0,1],bottomRight:[1,1,1,1],centerLeft:[0,.5,0,.5],centerTop:[.5,0,.5,0],centerRight:[1,.5,1,.5],centerBottom:[.5,1,.5,1],center:[.5,.5,.5,.5],leftWide:[0,0,0,1],topWide:[0,0,1,0],rightWide:[1,0,1,1],bottomWide:[0,1,1,1],vcenterWide:[.5,0,.5,1],hcenterWide:[0,.5,1,.5],fullRect:[0,0,1,1]};t.Control=function(){function i(i){var n=this;this.owner=null,this.children=[],this.position=new tu,this.size=new tu(1,1),this.anchorMin=new tu,this.anchorMax=new tu,this.offsetMin=new tu,this.offsetMax=new tu(1,1),this.pivot=new tu(.5,.5),this.scale=new tu(1,1),this.shear=new tu,this.mouseForcePassScrollEvents=!0,this.clipContents=!1,this._parent=null,this._visible=!0,this._enabled=!0,this._mouseFilter=t.MouseFilter.Stop,this._mouseBehaviorRecursive=t.MouseBehaviorRecursive.Inherited,this._focusMode=t.FocusMode.None,this._focusBehaviorRecursive=t.FocusBehaviorRecursive.Inherited,this._defaultCursorShape=t.CursorShape.Arrow,this._rotation=0,this.transformDirty=!0,this.cachedTransform=new tl,this.eventEmitter=new e.EventEmitter,this.disposed=!1,this.customMinimumSize=new tu,this.customMaximumSize=new tu(-1,-1),this.minimumSizeCache=null,this.desiredSizeCache=null,this.maximumSizeCache=null,this.pendingMeasurementChanges=0,this._horizontalSizeFlags=1,this._verticalSizeFlags=1,this._stretchRatio=1,this._horizontalGrowDirection=1,this._verticalGrowDirection=1,this._theme=null,this.themeOwnerNode=null,this._themeTypeVariation="",this.themeOverrides=new Map,this.themeCache=new Map,this.overrideStyleBoxReferences=new Map,this.attachedThemeChanged=function(t,e){n.propagateThemeChanged(e)},this.overrideStyleBoxChanged=function(){return n.propagateThemeChanged(!0,!1)},this.engine=i}var n=i.prototype;return n.getInheritedTheme=function(){var t,e;return null!=(e=null==(t=this.themeOwnerNode)?void 0:t.theme)?e:null},n.getThemeOwnerNode=function(){return this.themeOwnerNode},n.hasThemeOwnerNode=function(){return null!==this.themeOwnerNode},n.getThemeType=function(){return this.constructor.themeType},n.getThemeColor=function(e,i){return Y(this.resolveThemeItem(t.ThemeItemType.Color,e,i).value)},n.getThemeConstant=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Constant,e,i).value},n.getThemeFont=function(e,i){return Y(this.resolveThemeItem(t.ThemeItemType.Font,e,i).value)},n.getThemeFontSize=function(e,i){return this.resolveThemeItem(t.ThemeItemType.FontSize,e,i).value},n.getThemeIcon=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Icon,e,i).value},n.getThemeStyleBox=function(e,i){return this.resolveThemeItem(t.ThemeItemType.StyleBox,e,i).value},n.hasThemeColor=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Color,e,i).found},n.hasThemeConstant=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Constant,e,i).found},n.hasThemeFont=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Font,e,i).found},n.hasThemeFontSize=function(e,i){return this.resolveThemeItem(t.ThemeItemType.FontSize,e,i).found},n.hasThemeIcon=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Icon,e,i).found},n.hasThemeStyleBox=function(e,i){return this.resolveThemeItem(t.ThemeItemType.StyleBox,e,i).found},n.setThemeColorOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.Color,e,i)},n.setThemeConstantOverride=function(e,i){if(!Number.isFinite(i))throw RangeError(""+e+" must be finite.");this.setThemeOverride(t.ThemeItemType.Constant,e,i)},n.setThemeFontOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.Font,e,i)},n.setThemeFontSizeOverride=function(e,i){if(!Number.isFinite(i)||i<=0)throw RangeError(""+e+" must be a positive finite font size.");this.setThemeOverride(t.ThemeItemType.FontSize,e,i)},n.setThemeIconOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.Icon,e,i)},n.setThemeStyleBoxOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.StyleBox,e,i)},n.removeThemeColorOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Color,e)},n.removeThemeConstantOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Constant,e)},n.removeThemeFontOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Font,e)},n.removeThemeFontSizeOverride=function(e){this.removeThemeOverride(t.ThemeItemType.FontSize,e)},n.removeThemeIconOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Icon,e)},n.removeThemeStyleBoxOverride=function(e){this.removeThemeOverride(t.ThemeItemType.StyleBox,e)},n.hasThemeColorOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Color,e)},n.hasThemeConstantOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Constant,e)},n.hasThemeFontOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Font,e)},n.hasThemeFontSizeOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.FontSize,e)},n.hasThemeIconOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Icon,e)},n.hasThemeStyleBoxOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.StyleBox,e)},n.clearThemeOverrides=function(){if(0!==this.themeOverrides.size){for(var t,e=!1,i=g(this.themeOverrides);!(t=i()).done;)for(var n,o=t.value,r=o[0],s=o[1],a=g(s);!(n=a()).done;){var h=n.value,l=h[0],u=h[1];c(u,Q)&&this.releaseOverrideStyleBox(u),e||(e=to.affectsLayout(this.getThemeType(),r,l))}this.themeOverrides.clear(),this.propagateThemeChanged(e,!1)}},n.hasFocus=function(t){var e,i;return void 0===t&&(t=!1),null!=(i=null==(e=this.root)?void 0:e.guiControlHasFocus(this,t))&&i},n.drawStyleBox=function(t,e,i,n,o){t.draw(this.engine.graphics,{x:e,y:i,width:n,height:o})},n.on=function(t,e){this.eventEmitter.on(t,e)},n.off=function(t,e){this.eventEmitter.off(t,e)},n.addChild=function(t){return t.parent=this,t},n.removeChild=function(t){t.parent===this&&(t.parent=null)},n.getChildIndex=function(t){return this.children.indexOf(t)},n.changeChildIndex=function(t,e){var i,n=this.children.indexOf(t);n!==e&&-1!==n&&(this.children.splice(n,1),e<0||e>=this.children.length?this.children.push(t):this.children.splice(e,0,t),null==(i=this.root)||i.controlTreeChanged())},n.addChildInternal=function(t){this.children.includes(t)||this.children.push(t)},n.removeChildInternal=function(t){var e=this.children.indexOf(t);-1!==e&&this.children.splice(e,1)},n.setPosition=function(t,e,i){if(void 0===i&&(i=!1),this.position.x!==t||this.position.y!==e){var n={position:new tu(t,e),size:this.size.clone()};i&&this.parent?this.computeAnchors(n,this.getParentRect()):this.computeOffsets(n,this.getParentRect()),this.updateLayout()}},n.setSize=function(t,e){if(this.size.x!==t||this.size.y!==e){var i={position:this.position.clone(),size:new tu(t,e)};this.computeOffsets(i,this.getParentRect()),this.updateLayout()}},n.setRect=function(t){var e={position:t.position.clone(),size:t.size.clone()};this.computeOffsets(e,this.getParentRect()),this.updateLayout()},n.setSizeFlags=function(t,e){if(!Number.isInteger(t)||t<0||!Number.isInteger(e)||e<0)throw RangeError("Control size flags must be non-negative integers.");(this._horizontalSizeFlags!==t||this._verticalSizeFlags!==e)&&(this._horizontalSizeFlags=t,this._verticalSizeFlags=e,this.eventEmitter.emit("sizeFlagsChanged",this))},n.getMinimumSize=function(){return new tu},n.getDesiredSize=function(){return new tu},n.getMaximumSize=function(){return new tu(-1,-1)},n.getCombinedMinimumSize=function(){var t=this.getCachedMinimumSize();return new tu(Math.max(t.x,this.customMinimumSize.x),Math.max(t.y,this.customMinimumSize.y))},n.getCombinedMaximumSize=function(){var t=this.getCachedMaximumSize();return new tu(tg(t.x,this.customMaximumSize.x),tg(t.y,this.customMaximumSize.y))},n.getBoundMinimumSize=function(){var t=this.getCombinedMinimumSize(),e=this.getCombinedMaximumSize();return new tu(tf(t.x,e.x),tf(t.y,e.y))},n.getBoundDesiredSize=function(){var t=this.getBoundMinimumSize(),e=this.getCombinedMaximumSize(),i=this.getCachedDesiredSize();return new tu(Math.max(t.x,tf(i.x,e.x)),Math.max(t.y,tf(i.y,e.y)))},n.setCustomMinimumSize=function(t,e){var i=tc(new tu(t,e));(this.customMinimumSize.x!==i.x||this.customMinimumSize.y!==i.y)&&(this.customMinimumSize.copyFrom(i),this.updateMinimumSize())},n.setCustomMaximumSize=function(t,e){var i=td(new tu(t,e));(this.customMaximumSize.x!==i.x||this.customMaximumSize.y!==i.y)&&(this.customMaximumSize.copyFrom(i),this.updateMaximumSize())},n.updateMinimumSize=function(){this.invalidateMeasurementChanges(1)},n.updateDesiredSize=function(){this.invalidateMeasurementChanges(2)},n.updateMaximumSize=function(){this.invalidateMeasurementChanges(4)},n.invokeMeasurementChanges=function(){if(!this.disposed&&0!==this.pendingMeasurementChanges){var t=this.pendingMeasurementChanges;this.pendingMeasurementChanges=0,(5&t)!=0&&this.updateLayout(),(1&t)!=0&&this.eventEmitter.emit("minimumSizeChanged",this),(2&t)!=0&&this.eventEmitter.emit("desiredSizeChanged",this),(4&t)!=0&&this.eventEmitter.emit("maximumSizeChanged",this)}},n.invalidateMeasurementChanges=function(e){var i=this.root,n=!1;(1&e)!=0&&(n||(n=null!==this.minimumSizeCache||!!i&&(1&this.pendingMeasurementChanges)==0),this.minimumSizeCache=null),(2&e)!=0&&(n||(n=null!==this.desiredSizeCache||!!i&&(2&this.pendingMeasurementChanges)==0),this.desiredSizeCache=null),(4&e)!=0&&(n||(n=null!==this.maximumSizeCache||!!i&&(4&this.pendingMeasurementChanges)==0),this.maximumSizeCache=null),i?this.scheduleMeasurementChanges(e,i):((5&e)!=0&&this.updateLayout(),(1&e)!=0&&this.eventEmitter.emit("minimumSizeChanged",this),(2&e)!=0&&this.eventEmitter.emit("desiredSizeChanged",this),(4&e)!=0&&this.eventEmitter.emit("maximumSizeChanged",this)),n&&c(this.parent,t.Container)&&this.parent.invalidateMeasurementsFromChild()},n.setScale=function(t,e){(this.scale.x!==t||this.scale.y!==e)&&(this.scale.set(t,e),this.markTransformDirty())},n.setRotation=function(t){this._rotation!==t&&(this._rotation=t,this.markTransformDirty())},n.setShear=function(t,e){(this.shear.x!==t||this.shear.y!==e)&&(this.shear.set(t,e),this.markTransformDirty())},n.setPivot=function(t,e){(this.pivot.x!==t||this.pivot.y!==e)&&(this.pivot.set(t,e),this.markTransformDirty())},n.setAnchorMin=function(t,e){(this.anchorMin.x!==t||this.anchorMin.y!==e)&&(this.anchorMin.set(t,e),this.updateLayout())},n.setAnchorMax=function(t,e){(this.anchorMax.x!==t||this.anchorMax.y!==e)&&(this.anchorMax.set(t,e),this.updateLayout())},n.setOffsetMin=function(t,e){(this.offsetMin.x!==t||this.offsetMin.y!==e)&&(this.offsetMin.set(t,e),this.updateLayout())},n.setOffsetMax=function(t,e){(this.offsetMax.x!==t||this.offsetMax.y!==e)&&(this.offsetMax.set(t,e),this.updateLayout())},n.getRect=function(){return{position:this.position.clone(),size:this.size.clone()}},n.getTransform2D=function(){if(this.transformDirty){var t=this._rotation*Math.PI/180,e=Math.sin(t),i=Math.cos(t),n=Math.tan(Math.max(-89,Math.min(89,this.shear.x))*Math.PI/180),o=Math.tan(Math.max(-89,Math.min(89,this.shear.y))*Math.PI/180),r=this.scale.x*(i-e*o),s=this.scale.x*(e+i*o),a=this.scale.y*(i*n-e),h=this.scale.y*(e*n+i),l=this.pivot.x*this.size.x,u=this.pivot.y*this.size.y,c=this.position.x+l-r*l-a*u,d=this.position.y+u-s*l-h*u;this.cachedTransform.set(r,s,0,a,h,0,c,d,1),this.transformDirty=!1}return this.cachedTransform},n.setAnchorsPreset=function(t,e){void 0===e&&(e=!0);var i=tm[t],n=i[0],o=i[1],r=i[2],s=i[3];if(e)this.anchorMin.set(n,o),this.anchorMax.set(r,s);else{var a=this.getRect();this.anchorMin.set(n,o),this.anchorMax.set(r,s),this.computeOffsets(a,this.getParentRect())}this.updateLayout()},n.setOffsetsPreset=function(t,e){if(void 0===e&&(e=0),this.parent){var i=this.parent.size,n=this.size.x,o=this.size.y,r=this.anchorMin,s=this.anchorMax,a=0,h=0,l=0,u=0;switch(t){case"topLeft":case"bottomLeft":case"centerLeft":case"topWide":case"bottomWide":case"leftWide":case"hcenterWide":case"fullRect":a=e-r.x*i.x;break;case"centerTop":case"centerBottom":case"center":case"vcenterWide":a=.5*i.x-n/2-r.x*i.x;break;default:a=i.x-e-n-r.x*i.x}switch(t){case"topLeft":case"bottomLeft":case"centerLeft":case"leftWide":h=e+n-s.x*i.x;break;case"centerTop":case"centerBottom":case"center":case"vcenterWide":h=.5*i.x+n/2-s.x*i.x;break;default:h=i.x-e-s.x*i.x}switch(t){case"topLeft":case"topRight":case"centerTop":case"leftWide":case"rightWide":case"topWide":case"vcenterWide":case"fullRect":l=e-r.y*i.y;break;case"centerLeft":case"centerRight":case"center":case"hcenterWide":l=.5*i.y-o/2-r.y*i.y;break;default:l=i.y-e-o-r.y*i.y}switch(t){case"topLeft":case"topRight":case"centerTop":case"topWide":u=e+o-s.y*i.y;break;case"centerLeft":case"centerRight":case"center":case"hcenterWide":u=.5*i.y+o/2-s.y*i.y;break;default:u=i.y-e-s.y*i.y}this.offsetMin.set(a,l),this.offsetMax.set(h,u),this.updateLayout()}},n.setAnchorsAndOffsetsPreset=function(t,e){void 0===e&&(e=0),this.setAnchorsPreset(t,!1),this.setOffsetsPreset(t,e)},n.getGlobalTransform2D=function(){var t=this.getTransform2D();return this.parent?new tl().multiplyMatrices(this.parent.getGlobalTransform2D(),t):t.clone()},n.hasPoint=function(t){return t.x>=0&&t.y>=0&&t.x<=this.size.x&&t.y<=this.size.y},n.intersectsChildContent=function(t,e){return!0},n.getEffectiveMouseFilter=function(){return this.enabledInHierarchy&&this.isMouseRecursiveEnabled()?this.mouseFilter:t.MouseFilter.Ignore},n.getFocusModeWithOverride=function(){return this.enabledInHierarchy&&this.isFocusRecursiveEnabled()?this.focusMode:t.FocusMode.None},n.getCursorShape=function(t){return this.defaultCursorShape},n.focus=function(t){var e;void 0===t&&(t=!1),null==(e=this.root)||e.grabControlFocus(this,t)},n.grabFocus=function(t){void 0===t&&(t=!1),this.focus(t)},n.grabClickFocus=function(){var t;null==(t=this.root)||t.grabControlClickFocus(this)},n.releaseFocus=function(){var t;null==(t=this.root)||t.releaseControlFocus(this)},n.warpMouse=function(t){var e,i=this.getGlobalTransform2D().elements;null==(e=this.root)||e.warpControlMouse(new tu(i[0]*t.x+i[3]*t.y+i[6],i[1]*t.x+i[4]*t.y+i[7]))},n.makePositionLocal=function(t){var e=this.getGlobalTransform2D().clone();if(1e-12>Math.abs(e.determinant()))return new tu;var i=e.invert().elements;return new tu(i[0]*t.x+i[3]*t.y+i[6],i[1]*t.x+i[4]*t.y+i[7])},n.getLocalMousePosition=function(){var t=this.root;return t?this.makePositionLocal(t.getMousePosition()):new tu},n.update=function(t){for(var e,i=g(this.children.slice());!(e=i()).done;){var n=e.value;n.enabled&&!n.isDisposed&&n.update(t)}},n.draw=function(){},n.onDestroy=function(){},n.drawInternal=function(){if(this.visibleInHierarchy&&!this.disposed){var t=this.engine.graphics;t.pushTransform(this.getTransform2D()),this.draw(),this.drawChildren(),t.popTransform()}},n.drawLine=function(t,e,i,n,o,r){this.engine.graphics.drawLine(t,e,i,n,o,r)},n.drawPolyline=function(t,e,i){this.engine.graphics.drawLines(t,e,i)},n.drawBezier=function(t,e,i,n,o,r,s,a,h,l){this.engine.graphics.drawBezier(t,e,i,n,o,r,s,a,h,l)},n.drawTriangle=function(t,e,i,n,o,r,s,a){this.engine.graphics.drawTriangle(t,e,i,n,o,r,s,a)},n.drawRect=function(t,e,i,n,o,r){this.engine.graphics.drawRectangle(t,e,i,n,o,r)},n.drawCircle=function(t,e,i,n,o){this.engine.graphics.drawCircle(t,e,i,n,o)},n.fillTriangle=function(t,e,i,n,o,r,s){this.engine.graphics.fillTriangle(t,e,i,n,o,r,s)},n.fillRect=function(t,e,i,n,o){this.engine.graphics.fillRectangle(t,e,i,n,o)},n.fillCircle=function(t,e,i,n){this.engine.graphics.fillCircle(t,e,i,n)},n.drawTexture=function(t,e,i,n,o,r,s){this.engine.graphics.drawTexture(t,e,i,n,o,r,s)},n.drawNinePatch=function(t,e,i,n,o,r,s){this.engine.graphics.drawNinePatch(t,e,i,n,o,r,s)},n.drawText=function(t,e,i,n,o,r,s,a){this.engine.graphics.drawText(t,e,i,n,o,r,s,a)},n.measureText=function(t,e,i,n,o){return this.engine.graphics.measureText(t,e,i,n,o)},n.onMouseEnter=function(t){},n.onMouseMove=function(t){},n.onMouseLeave=function(){},n.onMouseWheel=function(t){},n.onMouseDown=function(t){},n.onMouseUp=function(t){},n.onTouchDown=function(t){},n.onTouchMove=function(t){},n.onTouchUp=function(t){},n.onKeyDown=function(t){},n.onKeyUp=function(t){},n.onGotFocus=function(){},n.onLostFocus=function(){},n.onScrollBegin=function(){},n.onScrollEnd=function(){},n.onPopupOpened=function(){},n.onPopupClosed=function(){},n.invokeGetDragData=function(t){return this.getDragData(t)},n.invokeCanDropData=function(t,e){return this.canDropData(t,e)},n.invokeDropData=function(t,e){this.dropData(t,e)},n.dispose=function(){if(!this.disposed){for(var t,e,i=g(this.children.slice());!(e=i()).done;)e.value.dispose();null==(t=this._theme)||t.off("changed",this.attachedThemeChanged),this._theme=null;for(var n,o=g(this.overrideStyleBoxReferences.keys());!(n=o()).done;)n.value.off("changed",this.overrideStyleBoxChanged);this.overrideStyleBoxReferences.clear(),this.themeOverrides.clear(),this.themeCache.clear(),this.pendingMeasurementChanges=0,this.disposed=!0,this.onDestroy(),this.parent=null,this.owner=null}},n.updateLayout=function(){var t,e,i=null!=(e=null==(t=this.parent)?void 0:t.size)?e:new tu,n=this.offsetMin.x+this.anchorMin.x*i.x,o=this.offsetMin.y+this.anchorMin.y*i.y,r=this.offsetMax.x+this.anchorMax.x*i.x,s=this.offsetMax.y+this.anchorMax.y*i.y,a=this.getBoundMinimumSize(),h=this.getCombinedMaximumSize(),l=this.resolveBoundedAxis(n,r-n,a.x,h.x,this.horizontalGrowDirection),u=this.resolveBoundedAxis(o,s-o,a.y,h.y,this.verticalGrowDirection);this.applyBounds(l.position,u.position,l.size,u.size)},n.drawChildren=function(){var t=this.engine.graphics;this.clipContents&&t.pushClipRect(0,0,this.width,this.height);for(var e,i=g(this.children);!(e=i()).done;)e.value.drawInternal();this.clipContents&&t.popClipRect()},n.onThemeChanged=function(e){e&&(this.updateMinimumSize(),this.updateDesiredSize(),c(this,t.Container)&&this.queueSort())},n.onRootChanged=function(t,e){},n.getDragData=function(t){return null},n.canDropData=function(t,e){return!1},n.dropData=function(t,e){},n.getThemeDependencies=function(t,e){var i=this.getThemeType(),n=null!=e?e:this.themeTypeVariation||i;return t.hasTypeVariation(n)?t.getTypeDependencies(n):!e&&this.themeTypeVariation?[].concat([this.themeTypeVariation],to.getTypeChain(i)):to.getTypeChain(n)},n.getFallbackThemeDependencies=function(t){for(var e,i,n,o=this.getThemeType(),r=null!=t?t:this.themeTypeVariation||o,s=this.themeOwnerNode;s;s=null!=(i=null==(e=s.parent)?void 0:e.themeOwnerNode)?i:null)if(null==(n=s.theme)?void 0:n.hasTypeVariation(r))return s.theme.getTypeDependencies(r);return!t&&this.themeTypeVariation?[].concat([this.themeTypeVariation],to.getTypeChain(o)):to.getTypeChain(r)},n.resolveThemeItem=function(t,e,i){var n=t+"\0"+(null!=i?i:"")+"\0"+e,o=this.themeCache.get(n);if(o)return{found:o.found,value:Y(o.value)};var r=this.getThemeType(),s=!i||i===r||this.themeTypeVariation&&i===this.themeTypeVariation?null==(c=this.themeOverrides.get(t))?void 0:c.get(e):void 0,a=void 0!==s,h=s;if(!a)for(var l=this.themeOwnerNode;l&&!a;l=null!=(f=null==(d=l.parent)?void 0:d.themeOwnerNode)?f:null){var u=l.theme;if(u)for(var c,d,f,m,p=g(this.getThemeDependencies(u,i));!(m=p()).done;){var v=m.value,y=u.getItem(v,t,e);if(void 0!==y){h=y,a=!0;break}}}if(!a)for(var x,C=g(this.getFallbackThemeDependencies(i));!(x=C()).done;){var M=x.value,S=to.getDefault(M,t,e);if(void 0!==S){h=S,a=!0;break}}a||(h=this.getThemeFallback(t));var T={found:a,value:Y(h)};return this.themeCache.set(n,T),{found:T.found,value:Y(T.value)}},n.getThemeFallback=function(e){switch(e){case t.ThemeItemType.Color:return ta.color;case t.ThemeItemType.Constant:return ta.constant;case t.ThemeItemType.Font:return ta.font;case t.ThemeItemType.FontSize:return ta.fontSize;case t.ThemeItemType.Icon:return ta.icon;case t.ThemeItemType.StyleBox:return ta.styleBox}},n.setThemeOverride=function(t,e,i){if(!e)throw Error("Theme override item names cannot be empty.");var n=this.themeOverrides.get(t);n||this.themeOverrides.set(t,n=new Map);var o=n.get(e);c(o,Q)&&this.releaseOverrideStyleBox(o);var r=Y(i);n.set(e,r),c(r,Q)&&this.retainOverrideStyleBox(r),this.propagateThemeChanged(to.affectsLayout(this.getThemeType(),t,e),!1)},n.removeThemeOverride=function(t,e){var i=this.themeOverrides.get(t),n=null==i?void 0:i.get(e);(null==i?void 0:i.delete(e))&&(0===i.size&&this.themeOverrides.delete(t),c(n,Q)&&this.releaseOverrideStyleBox(n),this.propagateThemeChanged(to.affectsLayout(this.getThemeType(),t,e),!1))},n.hasThemeOverride=function(t,e){var i,n;return null!=(n=null==(i=this.themeOverrides.get(t))?void 0:i.has(e))&&n},n.retainOverrideStyleBox=function(t){var e,i=null!=(e=this.overrideStyleBoxReferences.get(t))?e:0;0===i&&t.on("changed",this.overrideStyleBoxChanged),this.overrideStyleBoxReferences.set(t,i+1)},n.releaseOverrideStyleBox=function(t){var e,i=null!=(e=this.overrideStyleBoxReferences.get(t))?e:0;i<=1?(t.off("changed",this.overrideStyleBoxChanged),this.overrideStyleBoxReferences.delete(t)):this.overrideStyleBoxReferences.set(t,i-1)},n.propagateThemeChanged=function(t,e){if(void 0===e&&(e=!0),!this.disposed&&(this.themeCache.clear(),this.root&&(this.onThemeChanged(t),this.eventEmitter.emit("themeChanged",this,t)),e))for(var i,n=g(this.children);!(i=n()).done;)i.value.propagateThemeChanged(t)},n.propagateThemeOwner=function(t,e,i){var n=i;this!==t&&this.theme&&(n=!1),n&&(this.themeOwnerNode=t),this.themeCache.clear(),e&&this.root&&(this.onThemeChanged(!0),this.eventEmitter.emit("themeChanged",this,!0));for(var o,r=g(this.children);!(o=r()).done;)o.value.propagateThemeOwner(t,e,n)},n.scheduleMeasurementChanges=function(t,e){var i=t&~this.pendingMeasurementChanges;0!==i&&(this.pendingMeasurementChanges|=i,e.queueMeasurementChange(this))},n.applyBounds=function(e,i,n,o){var r=this.position.x!==e||this.position.y!==i,s=this.size.x!==n||this.size.y!==o;if((r||s)&&(this.position.set(e,i),this.size.set(n,o),this.markTransformDirty(),r&&this.eventEmitter.emit("locationChanged",this),s&&(this.eventEmitter.emit("sizeChanged",this),!c(this,t.Container))))for(var a,h=g(this.children.slice());!(a=h()).done;)a.value.updateLayout()},n.markTransformDirty=function(){this.transformDirty=!0},n.getCachedMinimumSize=function(){return null!=this.minimumSizeCache||(this.minimumSizeCache=tc(this.getMinimumSize())),this.minimumSizeCache.clone()},n.getCachedDesiredSize=function(){return null!=this.desiredSizeCache||(this.desiredSizeCache=tc(this.getDesiredSize())),this.desiredSizeCache.clone()},n.getCachedMaximumSize=function(){return null!=this.maximumSizeCache||(this.maximumSizeCache=td(this.getMaximumSize())),this.maximumSizeCache.clone()},n.resolveBoundedAxis=function(t,e,i,n,o){var r=Number.isFinite(e)?e:0,s=Math.max(i,tf(r,n)),a=s-r,h=Number.isFinite(t)?t:0;return 0===o?h-=a:2===o&&(h-=a/2),{position:h,size:s}},n.assertGrowDirection=function(t){if(!Number.isInteger(t)||t<0||t>2)throw RangeError("Invalid Control grow direction.")},n.queuePendingLayouts=function(){c(this,t.Container)&&this.queueSort();for(var e,i=g(this.children);!(e=i()).done;)e.value.queuePendingLayouts()},n.queuePendingMeasurements=function(t){0!==this.pendingMeasurementChanges&&t.queueMeasurementChange(this);for(var e,i=g(this.children);!(e=i()).done;)e.value.queuePendingMeasurements(t)},n.notifyRootChanged=function(t,e){this.onRootChanged(t,e);for(var i,n=g(this.children);!(i=n()).done;)i.value.notifyRootChanged(t,e)},n.getParentRect=function(){var t,e;return{position:new tu,size:null!=(e=null==(t=this.parent)?void 0:t.size.clone())?e:new tu}},n.computeOffsets=function(t,e){this.offsetMin.set(t.position.x-e.position.x-this.anchorMin.x*e.size.x,t.position.y-e.position.y-this.anchorMin.y*e.size.y),this.offsetMax.set(t.position.x+t.size.x-e.position.x-this.anchorMax.x*e.size.x,t.position.y+t.size.y-e.position.y-this.anchorMax.y*e.size.y)},n.computeAnchors=function(t,e){0!==e.size.x&&(this.anchorMin.x=(t.position.x-e.position.x-this.offsetMin.x)/e.size.x,this.anchorMax.x=(t.position.x+t.size.x-e.position.x-this.offsetMax.x)/e.size.x),0!==e.size.y&&(this.anchorMin.y=(t.position.y-e.position.y-this.offsetMin.y)/e.size.y,this.anchorMax.y=(t.position.y+t.size.y-e.position.y-this.offsetMax.y)/e.size.y)},n.isMouseRecursiveEnabled=function(){if(this.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Inherited){var e,i;return null==(i=null==(e=this.parent)?void 0:e.isMouseRecursiveEnabled())||i}return this.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Enabled},n.isFocusRecursiveEnabled=function(){if(this.focusBehaviorRecursive===t.FocusBehaviorRecursive.Inherited){var e,i;return null==(i=null==(e=this.parent)?void 0:e.isFocusRecursiveEnabled())||i}return this.focusBehaviorRecursive===t.FocusBehaviorRecursive.Enabled},n.fromData=function(t){if(void 0!==t.anchorMin&&this.setAnchorMin.apply(this,[].concat(t.anchorMin)),void 0!==t.anchorMax&&this.setAnchorMax.apply(this,[].concat(t.anchorMax)),void 0!==t.offsetMin&&this.setOffsetMin.apply(this,[].concat(t.offsetMin)),void 0!==t.offsetMax&&this.setOffsetMax.apply(this,[].concat(t.offsetMax)),void 0!==t.pivot&&this.setPivot.apply(this,[].concat(t.pivot)),void 0!==t.scale&&this.setScale.apply(this,[].concat(t.scale)),void 0!==t.shear&&this.setShear.apply(this,[].concat(t.shear)),void 0!==t.rotation&&this.setRotation(t.rotation),void 0!==t.customMinimumSize&&this.setCustomMinimumSize.apply(this,[].concat(t.customMinimumSize)),void 0!==t.customMaximumSize&&this.setCustomMaximumSize.apply(this,[].concat(t.customMaximumSize)),void 0!==t.horizontalSizeFlags||void 0!==t.verticalSizeFlags){var e,i;this.setSizeFlags(null!=(e=t.horizontalSizeFlags)?e:this.horizontalSizeFlags,null!=(i=t.verticalSizeFlags)?i:this.verticalSizeFlags)}void 0!==t.stretchRatio&&(this.stretchRatio=t.stretchRatio),void 0!==t.horizontalGrowDirection&&(this.horizontalGrowDirection=t.horizontalGrowDirection),void 0!==t.verticalGrowDirection&&(this.verticalGrowDirection=t.verticalGrowDirection),void 0!==t.mouseFilter&&(this.mouseFilter=t.mouseFilter),void 0!==t.mouseBehaviorRecursive&&(this.mouseBehaviorRecursive=t.mouseBehaviorRecursive),void 0!==t.mouseForcePassScrollEvents&&(this.mouseForcePassScrollEvents=t.mouseForcePassScrollEvents),void 0!==t.focusMode&&(this.focusMode=t.focusMode),void 0!==t.focusBehaviorRecursive&&(this.focusBehaviorRecursive=t.focusBehaviorRecursive),void 0!==t.defaultCursorShape&&(this.defaultCursorShape=t.defaultCursorShape),void 0!==t.clipContents&&(this.clipContents=t.clipContents),void 0!==t.themeTypeVariation&&(this.themeTypeVariation=t.themeTypeVariation),void 0!==t.themeOverrides&&(this.clearThemeOverrides(),this.applyThemeOverridesFromData(t.themeOverrides))},n.applyThemeOverridesFromData=function(t){for(var e,i,n=g(Object.keys(null!=(e=t.colors)?e:{}));!(i=n()).done;){var o=i.value,r=t.colors[o];this.setThemeColorOverride(o,new th(r.r,r.g,r.b,r.a))}for(var s,a,h=g(Object.keys(null!=(s=t.constants)?s:{}));!(a=h()).done;){var l=a.value;this.setThemeConstantOverride(l,t.constants[l])}for(var u,c,d=g(Object.keys(null!=(u=t.fonts)?u:{}));!(c=d()).done;){var f,m,p=c.value,v=t.fonts[p];this.setThemeFontOverride(p,{family:v.family,weight:null!=(f=v.weight)?f:"normal",style:null!=(m=v.style)?m:"normal"})}for(var y,x,C=g(Object.keys(null!=(y=t.fontSizes)?y:{}));!(x=C()).done;){var M=x.value;this.setThemeFontSizeOverride(M,t.fontSizes[M])}for(var S,T,w=g(Object.keys(null!=(S=t.icons)?S:{}));!(T=w()).done;){var b=T.value,z=t.icons[b];this.setThemeIconOverride(b,z?this.engine.findObject(z):null)}for(var B,I,k=g(Object.keys(null!=(B=t.styleBoxes)?B:{}));!(I=k()).done;){var F=I.value;this.setThemeStyleBoxOverride(F,ts(this.engine,t.styleBoxes[F]))}},u(i,[{key:"parent",get:function(){return this._parent},set:function(t){if(t!==this._parent){var e,i,n=this.root;(null==(e=this._parent)?void 0:e.hasThemeOwnerNode())&&this.propagateThemeOwner(null,!1,!0),null==(i=this._parent)||i.removeChildInternal(this),this._parent=t,null==t||t.addChildInternal(this),(null==t?void 0:t.hasThemeOwnerNode())&&this.propagateThemeOwner(t.getThemeOwnerNode(),!1,!0),this.updateLayout();var o=this.root;o&&this.propagateThemeChanged(!0),n&&n!==o&&n.controlRemoved(this),o&&n!==o&&(this.queuePendingLayouts(),this.queuePendingMeasurements(o)),n!==o&&this.notifyRootChanged(n,o),null==o||o.controlTreeChanged(),this.eventEmitter.emit("parentChanged",this)}}},{key:"item",get:function(){var t,e;return null!=(e=null==(t=this.owner)?void 0:t.item)?e:null}},{key:"indexInParent",get:function(){var t,e;return null!=(e=null==(t=this.parent)?void 0:t.getChildIndex(this))?e:-1},set:function(t){var e;null==(e=this.parent)||e.changeChildIndex(this,t)}},{key:"visible",get:function(){return this._visible},set:function(t){if(this._visible!==t){var e;this._visible=t,null==(e=this.root)||e.controlStateChanged(this),this.eventEmitter.emit("visibilityChanged",this)}}},{key:"visibleInHierarchy",get:function(){var t,e;return this.visible&&(null==(e=null==(t=this.parent)?void 0:t.visibleInHierarchy)||e)}},{key:"enabled",get:function(){return this._enabled},set:function(t){if(this._enabled!==t){var e;this._enabled=t,null==(e=this.root)||e.controlStateChanged(this),this.eventEmitter.emit("enabledChanged",this)}}},{key:"enabledInHierarchy",get:function(){var t,e;return this.enabled&&(null==(e=null==(t=this.parent)?void 0:t.enabledInHierarchy)||e)}},{key:"mouseFilter",get:function(){return this._mouseFilter},set:function(t){if(this._mouseFilter!==t){var e;this._mouseFilter=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"mouseBehaviorRecursive",get:function(){return this._mouseBehaviorRecursive},set:function(t){if(this._mouseBehaviorRecursive!==t){var e;this._mouseBehaviorRecursive=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"focusMode",get:function(){return this._focusMode},set:function(t){if(this._focusMode!==t){var e;this._focusMode=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"focusBehaviorRecursive",get:function(){return this._focusBehaviorRecursive},set:function(t){if(this._focusBehaviorRecursive!==t){var e;this._focusBehaviorRecursive=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"defaultCursorShape",get:function(){return this._defaultCursorShape},set:function(t){var e;this._defaultCursorShape!==t&&(this._defaultCursorShape=t,null==(e=this.root)||e.updateMouseCursorState())}},{key:"location",get:function(){return this.position},set:function(t){this.setPosition(t.x,t.y)}},{key:"rotation",get:function(){return this._rotation}},{key:"x",get:function(){return this.position.x},set:function(t){this.setPosition(t,this.position.y)}},{key:"y",get:function(){return this.position.y},set:function(t){this.setPosition(this.position.x,t)}},{key:"width",get:function(){return this.size.x},set:function(t){this.setSize(t,this.size.y)}},{key:"height",get:function(){return this.size.y},set:function(t){this.setSize(this.size.x,t)}},{key:"horizontalSizeFlags",get:function(){return this._horizontalSizeFlags},set:function(t){this.setSizeFlags(t,this._verticalSizeFlags)}},{key:"verticalSizeFlags",get:function(){return this._verticalSizeFlags},set:function(t){this.setSizeFlags(this._horizontalSizeFlags,t)}},{key:"stretchRatio",get:function(){return this._stretchRatio},set:function(t){if(!Number.isFinite(t)||t<=0)throw RangeError("Control stretchRatio must be a finite number greater than zero.");this._stretchRatio!==t&&(this._stretchRatio=t,this.eventEmitter.emit("sizeFlagsChanged",this))}},{key:"horizontalGrowDirection",get:function(){return this._horizontalGrowDirection},set:function(t){this.assertGrowDirection(t),this._horizontalGrowDirection!==t&&(this._horizontalGrowDirection=t,this.updateLayout())}},{key:"verticalGrowDirection",get:function(){return this._verticalGrowDirection},set:function(t){this.assertGrowDirection(t),this._verticalGrowDirection!==t&&(this._verticalGrowDirection=t,this.updateLayout())}},{key:"root",get:function(){var t,e;return c(this,tp)?this:null!=(e=null==(t=this.parent)?void 0:t.root)?e:null}},{key:"isDisposed",get:function(){return this.disposed}},{key:"theme",get:function(){return this._theme},set:function(t){var e,i,n;this._theme!==t&&(null==(e=this._theme)||e.off("changed",this.attachedThemeChanged),this._theme=t,t?(this.propagateThemeOwner(this,!!this.root,!0),t.on("changed",this.attachedThemeChanged)):this.propagateThemeOwner(null!=(n=null==(i=this.parent)?void 0:i.getThemeOwnerNode())?n:null,!!this.root,!0))}},{key:"themeTypeVariation",get:function(){return this._themeTypeVariation},set:function(t){var e=t.trim();this._themeTypeVariation!==e&&(this._themeTypeVariation=e,this.propagateThemeChanged(!0,!1))}}]),i}(),t.Control.themeType="Control",t.Control=f([e.effectsClass("Control")],t.Control),t.Container=function(t){function e(e){var i;return(i=t.call(this,e)||this).sortPending=!1,i.childLayoutChanged=function(){return i.invalidateMeasurementsAndQueueSort()},i.ownSizeChanged=function(){return i.queueSort()},i.on("sizeChanged",i.ownSizeChanged),i}n(e,t);var i=e.prototype;return i.queueSort=function(){var t=this.root;t&&!this.sortPending&&(this.sortPending=!0,t.queueLayout(this))},i.invokeSortChildren=function(){this.sortPending&&!this.isDisposed&&(this.sortChildren(),this.sortPending=!1)},i.changeChildIndex=function(e,i){var n=this.getChildIndex(e);t.prototype.changeChildIndex.call(this,e,i),n!==this.getChildIndex(e)&&this.invalidateMeasurementsAndQueueSort()},i.addChildInternal=function(e){var i=this.children.includes(e);t.prototype.addChildInternal.call(this,e),i||(this.bindChild(e),this.invalidateMeasurementsAndQueueSort())},i.removeChildInternal=function(e){var i=this.children.includes(e);i&&this.unbindChild(e),t.prototype.removeChildInternal.call(this,e),i&&this.invalidateMeasurementsAndQueueSort()},i.dispose=function(){this.off("sizeChanged",this.ownSizeChanged);for(var e,i=g(this.children.slice());!(e=i()).done;){var n=e.value;this.unbindChild(n)}t.prototype.dispose.call(this)},i.fitChildInRect=function(t,e){var i=t.getBoundMinimumSize(),n=t.getBoundDesiredSize(),o=t.getCombinedMaximumSize(),r=this.fitAxis(e.position.x,e.size.x,i.x,n.x,o.x,t.horizontalSizeFlags),s=this.fitAxis(e.position.y,e.size.y,i.y,n.y,o.y,t.verticalSizeFlags);t.anchorMin.set(0,0),t.anchorMax.set(0,0),t.setRotation(0),t.setScale(1,1),t.setShear(0,0),t.setRect({position:new tu(r.position,s.position),size:new tu(r.size,s.size)})},i.getLayoutChildren=function(){return this.children.filter(function(t){return t.visible&&!t.isDisposed})},i.sortChildren=function(){},i.bindChild=function(t){t.on("sizeFlagsChanged",this.childLayoutChanged),t.on("visibilityChanged",this.childLayoutChanged)},i.unbindChild=function(t){t.off("sizeFlagsChanged",this.childLayoutChanged),t.off("visibilityChanged",this.childLayoutChanged)},i.invalidateMeasurementsAndQueueSort=function(){this.invalidateMeasurementsFromChild()},i.invalidateMeasurementsFromChild=function(){this.invalidateMeasurementChanges(7),this.queueSort()},i.fitAxis=function(t,e,i,n,o,r){var s=(1&r)!=0?e:Math.min(e,n),a=e-(s=Math.max(i,tf(s,o))),h=t;return(8&r)!=0?h+=a:(4&r)!=0&&(h+=a/2),{position:h,size:s}},e}(t.Control),t.Container.themeType="Container",t.Container=f([e.effectsClass("Container")],t.Container);var tp=function(t){function i(){var i;return i=t.apply(this,arguments)||this,i.rootEventEmitter=new e.EventEmitter,i}n(i,t);var o=i.prototype;return o.on=function(e,i){"guiFocusChanged"===e?this.rootEventEmitter.on(e,i):t.prototype.on.call(this,e,i)},o.off=function(e,i){"guiFocusChanged"===e?this.rootEventEmitter.off(e,i):t.prototype.off.call(this,e,i)},i}(t.Control);to.registerType(t.Control.themeType,null),to.registerType(t.Container.themeType,t.Control.themeType);var tv=e.math.Matrix3,ty=e.math.Vector2,tx=((N={})[t.CursorShape.Arrow]="default",N[t.CursorShape.Ibeam]="text",N[t.CursorShape.PointingHand]="pointer",N[t.CursorShape.Cross]="crosshair",N[t.CursorShape.Wait]="wait",N[t.CursorShape.Busy]="progress",N[t.CursorShape.Drag]="grab",N[t.CursorShape.CanDrop]="copy",N[t.CursorShape.Forbidden]="not-allowed",N[t.CursorShape.Vsize]="ns-resize",N[t.CursorShape.Hsize]="ew-resize",N[t.CursorShape.Bdiagsize]="nesw-resize",N[t.CursorShape.Fdiagsize]="nwse-resize",N[t.CursorShape.Move]="move",N[t.CursorShape.Vsplit]="row-resize",N[t.CursorShape.Hsplit]="col-resize",N[t.CursorShape.Help]="help",N);function tC(t){switch(t){case e.MouseButton.Left:return e.MouseButtonMask.Left;case e.MouseButton.Right:return e.MouseButtonMask.Right;case e.MouseButton.Middle:return e.MouseButtonMask.Middle;case e.MouseButton.Xbutton1:return e.MouseButtonMask.Xbutton1;case e.MouseButton.Xbutton2:return e.MouseButtonMask.Xbutton2;default:return e.MouseButtonMask.None}}function tM(t){return t>=e.MouseButton.WheelUp&&t<=e.MouseButton.WheelRight}var tS=function(i){function o(e){var n;return(n=i.call(this,e)||this).mouseFilter=t.MouseFilter.Stop,n.visible=!1,n}return n(o,i),o.prototype.onMouseDown=function(t){(t.buttonIndex===e.MouseButton.Left||t.buttonIndex===e.MouseButton.Right)&&(null==this.closeTop||this.closeTop.call(this),t.accept())},o}(t.Control),tT=function(e){function i(i,n){var o;return(o=e.call(this,i)||this).canvas=n,o.mouseFilter=t.MouseFilter.Ignore,o.setSize(i.canvas.width,i.canvas.height),o}return n(i,e),u(i,[{key:"inputDisabled",get:function(){var t;return!this.canvas.receivesEvents||!this.canvas.enabled||!(null==(t=this.canvas.item)?void 0:t.isActive)}}]),i}(t.Control),tw=function(e){function i(i){var n;return(n=e.call(this,i)||this).mouseFilter=t.MouseFilter.Ignore,n.setSize(i.canvas.width,i.canvas.height),n}n(i,e);var o=i.prototype;return o.sortCanvases=function(){this.children.sort(function(t,e){return t.canvas.order-e.canvas.order})},o.addChildInternal=function(t){e.prototype.addChildInternal.call(this,t),t.setSize(this.width,this.height),this.sortCanvases()},o.drawChildren=function(){this.sortCanvases();var t=this.engine.graphics;this.clipContents&&t.pushClipRect(0,0,this.width,this.height);for(var e,i=g(this.children);!(e=i()).done;){var n=e.value;n.canvas.isVisible&&n.drawInternal()}this.clipContents&&t.popClipRect()},i}(t.Control),tb=function(i){function o(n){var o;return(o=i.call(this,n)||this).popupStack=[],o.dragThreshold=10,o.lastInput=null,o.dirtyContainers=new Set,o.dirtyMeasurements=new Set,o.gui={mouseFocus:null,mouseClickGrabber:null,mouseFocusMask:e.MouseButtonMask.None,mouseOver:null,mouseOverHierarchy:[],touchFocus:new Map,keyFocus:null,hideFocus:!1,dragAccum:new ty,dragAttempted:!1,dragging:!1,dragData:null,dragMouseOver:null,dragSuccessful:!1,lastMousePosition:new ty(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),sendingMouseEnterExit:!1,mouseOverUpdatePending:!1},o.mouseFilter=t.MouseFilter.Ignore,o.setSize(n.canvas.width,n.canvas.height),o.canvases=new tw(n),o.canvases.parent=h(o),o.popupLayer=new tS(n),o.popupLayer.setAnchorMax(1,1),o.popupLayer.setOffsetMax(0,0),o.popupLayer.closeTop=function(){var t=o.popupStack[o.popupStack.length-1];t&&o.closePopupControl(t.control)},o.popupLayer.parent=h(o),o}n(o,i);var r=o.prototype;return r.pushInput=function(t){this.lastInput=t,this.cleanupInternalState(),this.processGUIInput(t),this.postGrabClickFocus()},r.isInputHandled=function(){var t,e;return null!=(e=null==(t=this.lastInput)?void 0:t.isAccepted())&&e},r.getMousePosition=function(){return this.gui.lastMousePosition.clone()},r.guiGetFocusOwner=function(){return this.isFocusTargetUsable(this.gui.keyFocus)?this.gui.keyFocus:null},r.guiControlHasFocus=function(t,e){return void 0===e&&(e=!1),this.guiGetFocusOwner()===t&&(!e||!this.gui.hideFocus)},r.guiReleaseFocus=function(){this.releaseControlFocus()},r.guiIsDragging=function(){return this.gui.dragging},r.guiGetDragData=function(){return this.gui.dragData},r.guiIsDragSuccessful=function(){return this.gui.dragSuccessful},r.guiCancelDrag=function(){this.endDragging(!1)},r.grabControlFocus=function(t,e){if(void 0===e&&(e=!1),this.isFocusTargetUsable(t)){if(this.gui.keyFocus===t){this.gui.hideFocus=e;return}var i=this.gui.keyFocus;this.gui.keyFocus=t,this.gui.hideFocus=e,i&&!i.isDisposed&&i.onLostFocus(),t.onGotFocus(),this.notifyFocusOwnerChanged(t)}},r.grabControlClickFocus=function(t){var e=this;this.isControlValid(t)&&(this.gui.mouseClickGrabber=t,queueMicrotask(function(){return e.postGrabClickFocus()}))},r.releaseControlFocus=function(t){var e=this.gui.keyFocus;e&&(!t||e===t)&&(this.gui.keyFocus=null,this.gui.hideFocus=!1,e.isDisposed||e.onLostFocus(),this.notifyFocusOwnerChanged(null))},r.warpControlMouse=function(t){this.gui.lastMousePosition.copyFrom(t),this.updateMouseOver(t),this.updateMouseCursorState()},r.updateMouseCursorState=function(){var t=this.gui.lastMousePosition,e=this.isControlUsable(this.gui.mouseFocus)?this.gui.mouseFocus:this.isControlUsable(this.gui.mouseOver)?this.gui.mouseOver:null;this.updateCursor(e,t)},r.controlStateChanged=function(t){this.isControlUsable(t)||this.dropControlState(t),this.updateMouseOverHierarchy()},r.controlRemoved=function(t){this.dropControlState(t),this.cleanupInternalState(),this.updateMouseOverHierarchy()},r.controlTreeChanged=function(){this.updateMouseOverHierarchy()},r.popupControl=function(t,e,i){this.closePopupControl(t);var n,o=t.theme,r=this.guiGetFocusOwner(),s=null!=e?e:r,a=s===r&&!!s&&!s.hasFocus(!0);o||(t.theme=null!=(n=null==e?void 0:e.getInheritedTheme())?n:null);var h=t.getBoundDesiredSize(),l=Math.max(t.width,h.x),u=Math.max(t.height,h.y);t.setSize(l,u),t.setPosition(Math.max(0,Math.min(i.x,this.width-l)),Math.max(0,Math.min(i.y,this.height-u))),t.parent=this.popupLayer,t.visible=!0,this.popupLayer.visible=!0,this.popupStack.push({control:t,restoreFocus:s,restoreFocusHidden:a,originalTheme:o}),t.onPopupOpened(),t.grabFocus()},r.closePopupControl=function(t){var e=this.popupStack.findIndex(function(e){return e.control===t});if(-1!==e){for(var i=this.popupStack.splice(e),n=i.length-1;n>=0;n--){var o=i[n];o.control.visible=!1,o.control.parent=null,o.control.theme=o.originalTheme,o.control.onPopupClosed()}this.popupLayer.visible=this.popupStack.length>0;var r=i[0],s=r.restoreFocus,a=r.restoreFocusHidden;s&&!s.isDisposed&&s.root===this&&s.grabFocus(a)}},r.queueLayout=function(t){t.isDisposed||this.dirtyContainers.add(t)},r.queueMeasurementChange=function(t){t.isDisposed||this.dirtyMeasurements.add(t)},r.cancelPointerInput=function(){this.dropMouseFocus(),this.dropMouseOver(),this.gui.touchFocus.clear(),this.endDragging(!1),this.releaseControlFocus()},r.onCanvasBlur=function(){var t=this.gui.mouseFocus,i=this.gui.mouseFocusMask;if(this.dropMouseFocus(),t&&!t.isDisposed)for(var n=0,o=[e.MouseButton.Left,e.MouseButton.Right,e.MouseButton.Middle];n<o.length;n++){var r=o[n];if((i&tC(r))!=0){var s=new e.InputEventMouseButton,a=t.makePositionLocal(this.gui.lastMousePosition);s.device=e.InputEvent.deviceIdInternal,s.buttonIndex=r,s.pressed=!1,s.position.copyFrom(a),s.globalPosition.copyFrom(a),this.callControlInput(t,s)}}},r.cancelPointerPress=function(t,e){var i;this.isControlValid(t)&&(this.controlBelongsToSubtree(this.gui.mouseFocus,t)&&(this.gui.mouseFocus=t),this.controlBelongsToSubtree(this.gui.mouseClickGrabber,t)&&(this.gui.mouseClickGrabber=null),this.controlBelongsToSubtree(null!=(i=this.gui.touchFocus.get(e))?i:null,t)&&this.gui.touchFocus.set(e,t),this.endDragging(!1))},r.resize=function(t,e){this.setSize(t,e),this.canvases.setSize(t,e);for(var i,n=g(this.canvases.children);!(i=n()).done;)i.value.setSize(t,e);this.popupLayer.setSize(t,e)},r.render=function(){this.flushLayout(),0!==this.canvases.children.length&&(this.engine.graphics.begin(),this.drawInternal(),this.engine.graphics.end())},r.update=function(t){this.gui.mouseOverUpdatePending&&(this.gui.mouseOverUpdatePending=!1,this.updateMouseOverHierarchy()),i.prototype.update.call(this,t),this.flushLayout()},r.dispose=function(){this.cancelPointerInput(),this.dirtyContainers.clear(),this.dirtyMeasurements.clear();for(var t,e=g(this.popupStack.splice(0));!(t=e()).done;){var n=t.value;n.control.parent=null,n.control.theme=n.originalTheme,n.control.onPopupClosed()}i.prototype.dispose.call(this)},r.flushLayout=function(){for(var t=this,e=0;this.dirtyMeasurements.size>0||this.dirtyContainers.size>0;){if(e++>=32)throw this.dirtyMeasurements.clear(),this.dirtyContainers.clear(),Error("GUI layout did not converge after 32 rounds.");if(this.dirtyMeasurements.size>0){var i=Array.from(this.dirtyMeasurements);this.dirtyMeasurements.clear(),i.sort(function(e,i){return t.getControlDepth(i)-t.getControlDepth(e)});for(var n,o=g(i);!(n=o()).done;){var r=n.value;r.root!==this||r.isDisposed||r.invokeMeasurementChanges()}continue}var s=Array.from(this.dirtyContainers);this.dirtyContainers.clear(),s.sort(function(e,i){return t.getControlDepth(e)-t.getControlDepth(i)});for(var a,h=g(s);!(a=h()).done;){var l=a.value;l.root!==this||l.isDisposed||l.invokeSortChildren()}}},r.getControlDepth=function(t){for(var e=0,i=t.parent;i;)e++,i=i.parent;return e},r.processGUIInput=function(t){if(c(t,e.InputEventKey)){var i=this.guiGetFocusOwner();i&&this.callGUIInput(i,t)}else if(c(t,e.InputEventMouse)){this.gui.lastMousePosition.copyFrom(t.globalPosition);var n=this.updateMouseOver(t.globalPosition);c(t,e.InputEventMouseButton)?this.processMouseButton(t,n):c(t,e.InputEventMouseMotion)&&this.processMouseMotion(t,n)}else c(t,e.InputEventScreenTouch)?this.processScreenTouch(t):c(t,e.InputEventScreenDrag)&&this.processScreenDrag(t)},r.processMouseButton=function(t,i){if(tM(t.buttonIndex)){i&&this.callGUIInput(i,t);return}var n=tC(t.buttonIndex);if(t.isPressed()){var o=0!==this.gui.mouseFocusMask?this.gui.mouseFocus:i;if(this.gui.mouseFocus=o,!o){t.buttonIndex===e.MouseButton.Left&&this.gui.keyFocus&&(this.gui.hideFocus=!0);return}this.gui.mouseFocusMask|=n,t.buttonIndex===e.MouseButton.Left&&(this.gui.dragAccum.setZero(),this.gui.dragAttempted=!1,this.findClickFocus(o)),this.callGUIInput(o,t)}else{t.buttonIndex===e.MouseButton.Left&&this.gui.dragging&&this.finishDrop(t.globalPosition),this.gui.mouseFocusMask&=~n;var r=this.gui.mouseFocus;0===this.gui.mouseFocusMask&&(this.gui.mouseFocus=null),this.isControlUsable(r)&&this.callGUIInput(r,t)}},r.processMouseMotion=function(t,i){if(!this.gui.dragging&&!this.gui.dragAttempted&&this.gui.mouseFocus&&(this.gui.mouseFocusMask&e.MouseButtonMask.Left)!=0&&(this.gui.dragAccum.add(t.relative),this.gui.dragAccum.length()>this.dragThreshold)){var n=t.globalPosition.clone().subtract(this.gui.dragAccum);this.beginDragging(this.gui.mouseFocus,n),this.gui.dragAttempted=!0}var o=this.isControlUsable(this.gui.mouseFocus)?this.gui.mouseFocus:i;o&&this.callGUIInput(o,t),this.gui.dragging&&(this.gui.dragMouseOver=this.findDropTarget(i,t.globalPosition)),this.updateCursor(o,t.globalPosition)},r.processScreenTouch=function(t){var e,i;t.isPressed()?(e=this.findInputControl(t.position))&&this.gui.touchFocus.set(t.index,e):(e=null!=(i=this.gui.touchFocus.get(t.index))?i:null,this.gui.touchFocus.delete(t.index)),this.isControlUsable(e)&&this.callGUIInput(e,t)},r.processScreenDrag=function(t){var e,i=null!=(e=this.gui.touchFocus.get(t.index))?e:this.findInputControl(t.position);this.isControlUsable(i)&&this.callGUIInput(i,t)},r.callGUIInput=function(i,n){for(var o=i,r=c(n,e.InputEventMouse)||c(n,e.InputEventScreenTouch)||c(n,e.InputEventScreenDrag);o&&o!==this&&this.isControlUsable(o);){var s=o.getEffectiveMouseFilter();if(s!==t.MouseFilter.Ignore){var a=n.xformedBy(this.getGlobalInverse(o));this.callControlInput(o,a),a.isAccepted()&&n.accept()}var h=c(n,e.InputEventMouseButton)&&tM(n.buttonIndex)&&o.mouseForcePassScrollEvents,l=(c(n,e.InputEventScreenTouch)||c(n,e.InputEventScreenDrag))&&o.mouseForcePassScrollEvents;if(n.isAccepted()||s===t.MouseFilter.Stop&&r&&!h&&!l){n.accept();return}o=o.parent}},r.callControlInput=function(t,i){c(i,e.InputEventMouseButton)?tM(i.buttonIndex)?t.onMouseWheel(i):i.isPressed()?t.onMouseDown(i):t.onMouseUp(i):c(i,e.InputEventMouseMotion)?t.onMouseMove(i):c(i,e.InputEventScreenTouch)?i.isPressed()?t.onTouchDown(i):t.onTouchUp(i):c(i,e.InputEventScreenDrag)?t.onTouchMove(i):c(i,e.InputEventKey)&&(i.isPressed()?t.onKeyDown(i):i.isReleased()&&t.onKeyUp(i))},r.findInputControl=function(t){if(this.popupLayer.visible){var e;return null!=(e=this.findControlAtPosition(this.popupLayer,t))?e:this.popupLayer}return this.canvases.sortCanvases(),this.findControlAtPosition(this.canvases,t,!0)},r.findControlAtPosition=function(e,i,n,o,r){if(void 0===n&&(n=!1),void 0===o&&(o=!0),void 0===r&&(r=!0),!e.visible||e.isDisposed||c(e,tT)&&(!e.canvas.isVisible||e.inputDisabled))return null;var s=this.toControlLocal(e,i);if(!s)return null;var a=o&&e.enabled,h=e.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Inherited?r:e.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Enabled;if(e.clipContents&&!e.hasPoint(s))return null;for(var l=e.children.length-1;l>=0;l--){var u=e.children[l];if(e.intersectsChildContent(u,s)){var d=this.findControlAtPosition(u,s,!1,a,h);if(d)return d}}return!n&&a&&h&&e.mouseFilter!==t.MouseFilter.Ignore&&e.hasPoint(s)?e:null},r.toControlLocal=function(t,e){var i=t.getTransform2D().elements,n=i[0]*i[4]-i[1]*i[3];if(1e-12>Math.abs(n))return null;var o=e.x-i[6],r=e.y-i[7];return new ty((i[4]*o-i[3]*r)/n,(i[0]*r-i[1]*o)/n)},r.updateMouseOver=function(t){if(this.gui.sendingMouseEnterExit)return this.gui.mouseOverUpdatePending=!0,this.gui.mouseOver;this.gui.mouseOverUpdatePending=!1;var e=this.findInputControl(t),i=this.buildHoverHierarchy(e);return this.applyMouseOver(e,i,t),this.isControlUsable(e)?e:null},r.updateMouseOverHierarchy=function(){var e=this.gui.mouseOver;if(e&&0!==this.gui.mouseOverHierarchy.length){if(this.gui.sendingMouseEnterExit){this.gui.mouseOverUpdatePending=!0;return}if(!this.isControlUsable(e)){this.dropMouseOver();return}var i=this.buildHoverHierarchy(e),n=e.getEffectiveMouseFilter()===t.MouseFilter.Ignore?null:e;this.applyMouseOver(n,i,this.gui.lastMousePosition)}},r.applyMouseOver=function(t,e,i){for(var n=this.gui.mouseOverHierarchy,o=0;o<n.length&&o<e.length&&n[o]===e[o];)o++;this.gui.mouseOver=t,this.gui.mouseOverHierarchy=e,this.gui.sendingMouseEnterExit=!0;for(var r=n.length-1;r>=o;r--)n[r].isDisposed||n[r].onMouseLeave();for(var s=o;s<e.length;s++)e[s].onMouseEnter(this.toLocal(e[s],i));this.gui.sendingMouseEnterExit=!1},r.buildHoverHierarchy=function(e){for(var i=[],n=e;n&&n!==this;){var o=n.getEffectiveMouseFilter();if(o!==t.MouseFilter.Ignore&&i.push(n),o===t.MouseFilter.Stop)break;n=n.parent}return i.reverse(),i},r.findClickFocus=function(e){for(var i=e;i&&i!==this;){var n=i.getFocusModeWithOverride();if(n===t.FocusMode.Click||n===t.FocusMode.All){this.grabControlFocus(i,!0);return}if(i.getEffectiveMouseFilter()===t.MouseFilter.Stop)return;i=i.parent}},r.beginDragging=function(i,n){for(var o=i;o&&o!==this;){var r=o.invokeGetDragData(this.toLocal(o,n));if(null!=r){this.gui.dragging=!0,this.gui.dragData=r,this.gui.mouseFocus=null,this.gui.mouseFocusMask=e.MouseButtonMask.None;return}if(o.getEffectiveMouseFilter()===t.MouseFilter.Stop)return;o=o.parent}},r.finishDrop=function(t){var e=this.findDropTarget(this.findInputControl(t),t);e&&e.invokeDropData(this.toLocal(e,t),this.gui.dragData),this.endDragging(!!e)},r.findDropTarget=function(e,i){for(var n=e;n&&n!==this;){if(n.invokeCanDropData(this.toLocal(n,i),this.gui.dragData))return n;if(n.getEffectiveMouseFilter()===t.MouseFilter.Stop)break;n=n.parent}return null},r.endDragging=function(t){this.gui.dragSuccessful=t,this.gui.dragging=!1,this.gui.dragData=null,this.gui.dragMouseOver=null},r.updateCursor=function(e,i){for(var n=e,o=t.CursorShape.Arrow;n&&n!==this;){var r=n.getCursorShape(this.toLocal(n,i));if(r!==t.CursorShape.Arrow){o=r;break}if(n.getEffectiveMouseFilter()===t.MouseFilter.Stop)break;n=n.parent}this.engine.canvas.style.cursor="string"==typeof o?o:tx[o]},r.postGrabClickFocus=function(){var t=this.gui.mouseClickGrabber;this.gui.mouseClickGrabber=null,this.isControlUsable(t)&&(this.gui.mouseFocus=t)},r.cleanupInternalState=function(){this.isControlUsable(this.gui.mouseFocus)||this.dropMouseFocus(),this.gui.keyFocus&&!this.isFocusTargetUsable(this.gui.keyFocus)&&this.releaseControlFocus(this.gui.keyFocus);for(var t,e=g(this.gui.touchFocus);!(t=e()).done;){var i=t.value,n=i[0],o=i[1];this.isControlUsable(o)||this.gui.touchFocus.delete(n)}},r.dropMouseFocus=function(){this.gui.mouseFocus=null,this.gui.mouseFocusMask=e.MouseButtonMask.None},r.dropMouseOver=function(){if(this.gui.sendingMouseEnterExit){this.gui.mouseOverUpdatePending=!0;return}for(var t=this.gui.mouseOverHierarchy.length-1;t>=0;t--){var e=this.gui.mouseOverHierarchy[t];e.isDisposed||e.onMouseLeave()}this.gui.mouseOver=null,this.gui.mouseOverHierarchy=[]},r.dropControlState=function(t){this.controlBelongsToSubtree(this.gui.mouseFocus,t)&&this.dropMouseFocus(),this.controlBelongsToSubtree(this.gui.mouseClickGrabber,t)&&(this.gui.mouseClickGrabber=null),this.controlBelongsToSubtree(this.gui.keyFocus,t)&&this.releaseControlFocus(null!=(e=this.gui.keyFocus)?e:void 0),this.controlBelongsToSubtree(this.gui.mouseOver,t)&&this.dropMouseOver(),this.controlBelongsToSubtree(this.gui.dragMouseOver,t)&&(this.gui.dragMouseOver=null);for(var e,i,n=g(this.gui.touchFocus);!(i=n()).done;){var o=i.value,r=o[0],s=o[1];this.controlBelongsToSubtree(s,t)&&this.gui.touchFocus.delete(r)}},r.getGlobalInverse=function(t){var e=t.getGlobalTransform2D().clone();return 1e-12>Math.abs(e.determinant())?new tv:e.invert()},r.toLocal=function(t,e){var i=this.getGlobalInverse(t).elements;return new ty(i[0]*e.x+i[3]*e.y+i[6],i[1]*e.x+i[4]*e.y+i[7])},r.controlBelongsToSubtree=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parent}return!1},r.isControlValid=function(t){return!!t&&!t.isDisposed&&t.root===this},r.isControlUsable=function(t){if(!this.isControlValid(t)||!t.visibleInHierarchy||!t.enabledInHierarchy)return!1;var e=this.findCanvasRoot(t);return!e||!e.inputDisabled},r.findCanvasRoot=function(t){for(var e=t;e&&e!==this;){if(c(e,tT))return e;e=e.parent}return null},r.notifyFocusOwnerChanged=function(t){this.rootEventEmitter.emit("guiFocusChanged",t)},r.isFocusTargetUsable=function(e){return this.isControlUsable(e)&&e.getFocusModeWithOverride()!==t.FocusMode.None},o}(tp),tz=function(t){function e(e){var i;return(i=t.call(this,e)||this).disposed=!1,i.updateWindowRoot=function(t){i.windowRoot.update(t)},i.renderWindowRoot=function(){i.windowRoot.render()},i.resizeWindowRoot=function(){var t=i.engine.canvas.getBoundingClientRect(),e=t.width||i.engine.canvas.width,n=t.height||i.engine.canvas.height;i.windowRoot.resize(e,n)},i.pushInput=function(t){t.isAccepted()||i.windowRoot.pushInput(t)},i.onCanvasBlur=function(){i.windowRoot.onCanvasBlur()},i.windowRoot=new tb(e),e.on("update",i.updateWindowRoot),e.on("postrender",i.renderWindowRoot),e.on("resize",i.resizeWindowRoot),e.eventSystem.on("input",i.pushInput),e.eventSystem.on("canvasBlur",i.onCanvasBlur),i.resizeWindowRoot(),i}return n(e,t),e.prototype.dispose=function(){this.disposed||(this.disposed=!0,this.engine.off("update",this.updateWindowRoot),this.engine.off("postrender",this.renderWindowRoot),this.engine.off("resize",this.resizeWindowRoot),this.engine.eventSystem.off("input",this.pushInput),this.engine.eventSystem.off("canvasBlur",this.onCanvasBlur),this.windowRoot.dispose(),t.prototype.dispose.call(this))},e}(e.Component);t.CanvasRenderMode=void 0,(C=t.CanvasRenderMode||(t.CanvasRenderMode={}))[C.ScreenSpace=0]="ScreenSpace",C[C.CameraSpace=1]="CameraSpace",C[C.WorldSpace=2]="WorldSpace",C[C.WorldSpaceFaceCamera=3]="WorldSpaceFaceCamera";var tB=function(t){function e(e){var i;return(i=t.call(this,e)||this).renderMode=0,i.receivesEvents=!0,i._order=0,i.registered=!1,i.rootControl=new tT(e,h(i)),i}n(e,t);var i=e.prototype;return i.onEnable=function(){this.register()},i.onDisable=function(){this.unregister()},i.onDestroy=function(){this.destroyCanvas()},i.dispose=function(){this.destroyCanvas(),t.prototype.dispose.call(this)},i.register=function(){if(!this.registered){var t=this.engine.root.getComponent(tz);this.rootControl.parent=t.windowRoot.canvases,this.registered=!0}},i.unregister=function(){this.registered&&(this.rootControl.parent=null,this.registered=!1)},i.destroyCanvas=function(){this.unregister(),this.rootControl.isDisposed||this.rootControl.dispose()},u(e,[{key:"order",get:function(){return this._order},set:function(t){this._order!==t&&(this._order=t,this.engine.root.getComponent(tz).windowRoot.canvases.sortCanvases())}},{key:"isVisible",get:function(){var t;return 0===this.renderMode&&this.enabled&&!!(null==(t=this.item)?void 0:t.isActive)}}]),e}(e.Component),tI=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.order=0,e.name="gui",e}n(e,t);var i=e.prototype;return i.onEngineCreated=function(t){t.root.addComponent(tz)},i.onCompositionCreating=function(t){t.sceneRoot.addComponent(tB)},e}(a(e.Plugin));function tk(t,e,i){if(!Number.isInteger(e)||e<0||e>i)throw RangeError("Invalid "+t+".")}function tF(t){return t.reduce(function(t,e){return t+e},0)}function tD(t,e,i,n,o){for(var r=Math.max(0,n),s=t.map(function(t,e){return e}).filter(function(n){return i[n]>0&&(e[n]<0||t[n]<e[n]-1e-7)});r>1e-7&&s.length>0;)!function(){for(var n,a=s.reduce(function(t,e){return t+i[e]},0),h=!1,l=g(s);!(n=l()).done&&"break"!==function(){var o=n.value,l=e[o],u=r*i[o]/a;if(l>=0&&t[o]+u>l+1e-7){var c=Math.max(0,l-t[o]);return t[o]=l,r-=c,s=s.filter(function(t){return t!==o}),h=!0,"break"}}(););if(!h){for(var u=0,c=0,d=0;d<s.length;d++){var f=s[d],m=d===s.length-1?r-u:r*i[f]/a;if(o&&d!==s.length-1){var p=m+c;m=Math.floor(p),c=p-m}t[f]+=m,u+=m}r=0}}();return r}t.UIControl=function(i){function o(t){var e;return(e=i.call(this,t)||this).controlNode=null,e.linkedItemTransform=null,e.linkedControl=null,e.syncingLocation=!1,e.itemTransformChanged=function(){return e.syncItemLocationToControl()},e.controlLocationChanged=function(){return e.syncControlLocationToItem()},e}n(o,i);var r=o.prototype;return r.onAwake=function(){this.syncControl()},r.onEnable=function(){this.controlNode&&(this.controlNode.visible=this.item.isActive,this.controlNode.enabled=!0)},r.onDisable=function(){this.controlNode&&(this.controlNode.visible=this.item.isActive,this.controlNode.enabled=!1)},r.onParentChanged=function(){this.syncControl()},r.onOrderInParentChanged=function(){this.syncControlOrder()},r.onDestroy=function(){this.disposeControl()},r.dispose=function(){this.disposeControl(),i.prototype.dispose.call(this)},r.unlinkControl=function(){this.controlNode&&(this.unbindLocationSync(),this.controlNode=null)},r.attachControl=function(t){if((null==t?void 0:t.owner)&&t.owner!==this&&t.owner.control===t)throw Error("A Control can only be owned by one UIControl.");this.disposeControl(),t&&(this.controlNode=t,t.owner=this,this.syncControl())},r.disposeControl=function(){var t=this.controlNode;t&&(this.unbindLocationSync(),this.controlNode=null,t.dispose())},r.syncControl=function(){var t=this.controlNode;t&&this.item&&(this.syncingLocation=!0,t.visible=this.item.isActive,t.enabled=this.enabled,t.parent=this.resolveParent(),this.syncControlOrder(),this.copyItemLocationToControl(),this.syncingLocation=!1,this.bindLocationSync())},r.syncControlOrder=function(){this.controlNode&&this.item&&(this.controlNode.indexInParent=this.item.orderInParent)},r.resolveParent=function(){var t,e,i,n=this.item.parent;if(!n)return null!=(t=null==o.fallbackParentGetDelegate?void 0:o.fallbackParentGetDelegate.call(o,this))?t:null;var r=n.getComponent(o);if(null==r?void 0:r.control)return r.control;var s=n.getComponent(tB);return null!=(i=null!=(e=null==s?void 0:s.rootControl)?e:null==o.fallbackParentGetDelegate?void 0:o.fallbackParentGetDelegate.call(o,this))?i:null},r.bindLocationSync=function(){var t=this.item.transform,e=this.controlNode;(this.linkedItemTransform!==t||this.linkedControl!==e)&&(this.unbindLocationSync(),e&&(this.linkedItemTransform=t,this.linkedControl=e,t.on("changed",this.itemTransformChanged),e.on("locationChanged",this.controlLocationChanged)))},r.unbindLocationSync=function(){var t,e;null==(t=this.linkedItemTransform)||t.off("changed",this.itemTransformChanged),null==(e=this.linkedControl)||e.off("locationChanged",this.controlLocationChanged),this.linkedItemTransform=null,this.linkedControl=null},r.syncItemLocationToControl=function(){!this.syncingLocation&&this.controlNode&&(this.syncingLocation=!0,this.copyItemLocationToControl(),this.syncingLocation=!1)},r.syncControlLocationToItem=function(){var t=this.controlNode;if(!this.syncingLocation&&t&&this.item){var e=t.location,i=this.item.transform.position;(e.x!==i.x||e.y!==i.y)&&(this.syncingLocation=!0,this.item.transform.setPosition(e.x,e.y,i.z),this.syncingLocation=!1)}},r.copyItemLocationToControl=function(){var e=this.controlNode;if(e&&!c(e.parent,t.Container)){var i=this.item.transform.position,n=e.location;(i.x!==n.x||i.y!==n.y)&&e.setPosition(i.x,i.y)}},r.fromData=function(t){i.prototype.fromData.call(this,t);var n=new(e.getClass(t.control))(this.engine);this.attachControl(n),this.syncingLocation=!0,n.fromData(t.data),this.syncingLocation=!1,this.syncControlLocationToItem()},u(o,[{key:"control",get:function(){return this.controlNode},set:function(t){t!==this.controlNode&&this.attachControl(t)}},{key:"hasControl",get:function(){return null!==this.controlNode}}]),o}(e.Component),t.UIControl=f([e.effectsClass("UIControl")],t.UIControl),t.Orientation=void 0,(M=t.Orientation||(t.Orientation={}))[M.Horizontal=0]="Horizontal",M[M.Vertical=1]="Vertical",t.LayoutAlignment=void 0,(S=t.LayoutAlignment||(t.LayoutAlignment={}))[S.Begin=0]="Begin",S[S.Center=1]="Center",S[S.End=2]="End",t.AspectRatioStretchMode=void 0,(T=t.AspectRatioStretchMode||(t.AspectRatioStretchMode={}))[T.WidthControlsHeight=0]="WidthControlsHeight",T[T.HeightControlsWidth=1]="HeightControlsWidth",T[T.Fit=2]="Fit",T[T.Cover=3]="Cover";var tP=function(i){function o(){var e;return e=i.apply(this,arguments)||this,e._orientation=t.Orientation.Horizontal,e._alignment=t.LayoutAlignment.Begin,e._reverse=!1,e}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureChildren(!1)},r.getDesiredSize=function(){return this.measureChildren(!0)},r.sortChildren=function(){var i,n,o=this,r=this.getLayoutChildren();if(this.reverse&&r.reverse(),0!==r.length){var s=this.orientation===t.Orientation.Horizontal,a=s?this.size.x:this.size.y,h=s?this.size.y:this.size.x,l=this.getThemeConstant("separation"),u=l*(r.length-1),c=a-u,d=r.map(function(t){return o.getMainSize(t.getBoundMinimumSize())}),g=r.map(function(t){return o.getMainSize(t.getBoundDesiredSize())}),f=r.map(function(t){return o.getMainSize(t.getCombinedMaximumSize())}),m=d.slice(),p=Number.isInteger(c)&&d.every(Number.isInteger)&&g.every(Number.isInteger)&&f.every(function(t){return t<0||Number.isInteger(t)}),v=Math.max(0,c-tF(m));v=tD(m,g,g.map(function(t,e){return Math.max(0,t-m[e])}),v,p),tD(m,f,r.map(function(t){return o.isMainExpanded(t)?t.stretchRatio:0}),v,p);for(var y=tF(m)+u,x=(i=this.alignment,n=Math.max(0,a-y),1===i?n/2:2===i?n:0),C=0;C<r.length;C++){var M=m[C],S=s?new e.math.Vector2(x,0):new e.math.Vector2(0,x),T=s?new e.math.Vector2(M,h):new e.math.Vector2(h,M);this.fitChildInRect(r[C],{position:S,size:T}),x+=M+l}}},r.measureChildren=function(i){for(var n,o=this.getLayoutChildren(),r=0,s=0,a=g(o);!(n=a()).done;){var h=n.value,l=i?h.getBoundDesiredSize():h.getBoundMinimumSize();r+=this.getMainSize(l),s=Math.max(s,this.getCrossSize(l))}return o.length>1&&(r+=this.getThemeConstant("separation")*(o.length-1)),this.orientation===t.Orientation.Horizontal?new e.math.Vector2(r,s):new e.math.Vector2(s,r)},r.getMainSize=function(e){return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getCrossSize=function(e){return this.orientation===t.Orientation.Horizontal?e.y:e.x},r.isMainExpanded=function(e){return((this.orientation===t.Orientation.Horizontal?e.horizontalSizeFlags:e.verticalSizeFlags)&t.SizeFlags.Expand)!=0},r.invalidateMeasurement=function(){this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort()},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.alignment&&(this.alignment=t.alignment),void 0!==t.reverse&&(this.reverse=t.reverse)},u(o,[{key:"orientation",get:function(){return this._orientation},set:function(e){tk("BoxContainer orientation",e,t.Orientation.Vertical),this._orientation!==e&&(this._orientation=e,this.invalidateMeasurement())}},{key:"alignment",get:function(){return this._alignment},set:function(e){tk("BoxContainer alignment",e,t.LayoutAlignment.End),this._alignment!==e&&(this._alignment=e,this.queueSort())}},{key:"reverse",get:function(){return this._reverse},set:function(t){this._reverse!==t&&(this._reverse=t,this.queueSort())}}]),o}(t.Container);tP.themeType="BoxContainer",t.HBoxContainer=function(e){function i(i){var n;return(n=e.call(this,i)||this).orientation=t.Orientation.Horizontal,n}return n(i,e),i}(tP),t.HBoxContainer.themeType="HBoxContainer",t.HBoxContainer=f([e.effectsClass("HBoxContainer")],t.HBoxContainer),t.VBoxContainer=function(e){function i(i){var n;return(n=e.call(this,i)||this).orientation=t.Orientation.Vertical,n}return n(i,e),i}(tP),t.VBoxContainer.themeType="VBoxContainer",t.VBoxContainer=f([e.effectsClass("VBoxContainer")],t.VBoxContainer),t.GridContainer=function(i){function o(){var t;return t=i.apply(this,arguments)||this,t._columns=1,t}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureGrid(!1)},r.getDesiredSize=function(){return this.measureGrid(!0)},r.sortChildren=function(){var t=this.getLayoutChildren();if(0!==t.length)for(var i=Math.min(this.columns,t.length),n=Math.ceil(t.length/this.columns),o=this.collectTrackMetrics(t,i,!0),r=this.collectTrackMetrics(t,n,!1),s=this.getThemeConstant("horizontalSeparation"),a=this.getThemeConstant("verticalSeparation"),h=this.allocateTracks(o,this.size.x,s),l=this.allocateTracks(r,this.size.y,a),u=this.getTrackPositions(h,s),c=this.getTrackPositions(l,a),d=0;d<t.length;d++){var g=d%this.columns,f=Math.floor(d/this.columns);this.fitChildInRect(t[d],{position:new e.math.Vector2(u[g],c[f]),size:new e.math.Vector2(h[g],l[f])})}},r.measureGrid=function(t){var i=this.getLayoutChildren();if(0===i.length)return new e.math.Vector2;var n=Math.min(this.columns,i.length),o=Math.ceil(i.length/this.columns),r=this.collectTrackMetrics(i,n,!0),s=this.collectTrackMetrics(i,o,!1),a=t?r.desired:r.minimum,h=t?s.desired:s.minimum;return new e.math.Vector2(tF(a)+this.getThemeConstant("horizontalSeparation")*Math.max(0,n-1),tF(h)+this.getThemeConstant("verticalSeparation")*Math.max(0,o-1))},r.collectTrackMetrics=function(e,i,n){for(var o=Array(i).fill(0),r=Array(i).fill(0),s=Array(i).fill(0),a=Array(i).fill(!1),h=Array(i).fill(!1),l=0;l<e.length;l++){var u=e[l],c=n?l%this.columns:Math.floor(l/this.columns),d=u.getBoundMinimumSize(),g=u.getBoundDesiredSize(),f=u.getCombinedMaximumSize(),m=n?d.x:d.y,p=n?g.x:g.y,v=n?f.x:f.y,y=n?u.horizontalSizeFlags:u.verticalSizeFlags;o[c]=Math.max(o[c],m),r[c]=Math.max(r[c],p),v<0?a[c]=!0:s[c]=Math.max(s[c],v),h[c]||(h[c]=(y&t.SizeFlags.Expand)!=0)}for(var x=0;x<i;x++)s[x]=a[x]?-1:Math.max(o[x],s[x]);return{minimum:o,desired:r,maximum:s,expanded:h}},r.allocateTracks=function(t,e,i){var n=t.minimum.slice(),o=e-i*Math.max(0,n.length-1),r=Number.isInteger(o)&&t.minimum.every(Number.isInteger)&&t.desired.every(Number.isInteger)&&t.maximum.every(function(t){return t<0||Number.isInteger(t)}),s=Math.max(0,o-tF(n));return s=tD(n,t.desired,t.desired.map(function(t,e){return Math.max(0,t-n[e])}),s,r),tD(n,t.maximum,t.expanded.map(function(t){return t?1:0}),s,r),n},r.getTrackPositions=function(t,e){for(var i,n=[],o=0,r=g(t);!(i=r()).done;){var s=i.value;n.push(o),o+=s+e}return n},r.invalidateMeasurement=function(){this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort()},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.columns&&(this.columns=t.columns)},u(o,[{key:"columns",get:function(){return this._columns},set:function(t){if(!Number.isInteger(t)||t<1)throw RangeError("GridContainer columns must be an integer greater than zero.");this._columns!==t&&(this._columns=t,this.invalidateMeasurement())}}]),o}(t.Container),t.GridContainer.themeType="GridContainer",t.GridContainer=f([e.effectsClass("GridContainer")],t.GridContainer),t.MarginContainer=function(t){function i(){return t.apply(this,arguments)}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){return this.measureChildren(!1)},o.getDesiredSize=function(){return this.measureChildren(!0)},o.sortChildren=function(){for(var t,i=this.getThemeConstant("marginLeft"),n=this.getThemeConstant("marginTop"),o=this.getThemeConstant("marginRight"),r=this.getThemeConstant("marginBottom"),s={position:new e.math.Vector2(i,n),size:new e.math.Vector2(this.size.x-i-o,this.size.y-n-r)},a=g(this.getLayoutChildren());!(t=a()).done;){var h=t.value;this.fitChildInRect(h,s)}},o.measureChildren=function(t){for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}var h=this.getThemeConstant("marginLeft"),l=this.getThemeConstant("marginTop"),u=this.getThemeConstant("marginRight"),c=this.getThemeConstant("marginBottom");return new e.math.Vector2(n+h+u,o+l+c)},i}(t.Container),t.MarginContainer.themeType="MarginContainer",t.MarginContainer=f([e.effectsClass("MarginContainer")],t.MarginContainer),t.CenterContainer=function(t){function i(){var e;return e=t.apply(this,arguments)||this,e._useTopLeft=!1,e}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){return this.measureChildren(!1)},o.getDesiredSize=function(){return this.measureChildren(!0)},o.sortChildren=function(){for(var t,i=g(this.getLayoutChildren());!(t=i()).done;){var n=t.value,o=n.getBoundMinimumSize(),r=this.useTopLeft?new e.math.Vector2(Math.floor(-o.x/2),Math.floor(-o.y/2)):new e.math.Vector2(Math.floor((this.size.x-o.x)/2),Math.floor((this.size.y-o.y)/2));this.fitChildInRect(n,{position:r,size:o})}},o.measureChildren=function(t){if(this.useTopLeft)return new e.math.Vector2;for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}return new e.math.Vector2(n,o)},o.fromData=function(e){t.prototype.fromData.call(this,e),void 0!==e.useTopLeft&&(this.useTopLeft=e.useTopLeft)},u(i,[{key:"useTopLeft",get:function(){return this._useTopLeft},set:function(t){this._useTopLeft!==t&&(this._useTopLeft=t,this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort())}}]),i}(t.Container),t.CenterContainer.themeType="CenterContainer",t.CenterContainer=f([e.effectsClass("CenterContainer")],t.CenterContainer),t.AspectRatioContainer=function(i){function o(){var e;return e=i.apply(this,arguments)||this,e._ratio=1,e._stretchMode=t.AspectRatioStretchMode.Fit,e._horizontalAlignment=t.LayoutAlignment.Center,e._verticalAlignment=t.LayoutAlignment.Center,e}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureChildren(!1)},r.getDesiredSize=function(){return this.measureChildren(!0)},r.sortChildren=function(){for(var i,n=g(this.getLayoutChildren());!(i=n()).done;){var o=i.value,r=o.getBoundMinimumSize(),s=this.ratio,a=void 0;switch(this.stretchMode){case t.AspectRatioStretchMode.WidthControlsHeight:a=this.size.x/s;break;case t.AspectRatioStretchMode.HeightControlsWidth:a=this.size.y/1;break;case t.AspectRatioStretchMode.Cover:a=Math.max(this.size.x/s,this.size.y/1);break;default:a=Math.min(this.size.x/s,this.size.y/1)}var h=new e.math.Vector2(Math.max(r.x,s*a),Math.max(r.y,1*a)),l=new e.math.Vector2(this.getAlignedOffset(this.horizontalAlignment,this.size.x-h.x),this.getAlignedOffset(this.verticalAlignment,this.size.y-h.y));this.fitChildInRect(o,{position:l,size:h})}},r.measureChildren=function(t){for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}return new e.math.Vector2(n,o)},r.getAlignedOffset=function(e,i){return e===t.LayoutAlignment.Center?i/2:e===t.LayoutAlignment.End?i:0},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.ratio&&(this.ratio=t.ratio),void 0!==t.stretchMode&&(this.stretchMode=t.stretchMode),void 0!==t.horizontalAlignment&&(this.horizontalAlignment=t.horizontalAlignment),void 0!==t.verticalAlignment&&(this.verticalAlignment=t.verticalAlignment)},u(o,[{key:"ratio",get:function(){return this._ratio},set:function(t){if(function(t,e){if(!Number.isFinite(e))throw RangeError(""+t+" must be finite.")}("AspectRatioContainer ratio",t),t<=0)throw RangeError("AspectRatioContainer ratio must be greater than zero.");this._ratio!==t&&(this._ratio=t,this.queueSort())}},{key:"stretchMode",get:function(){return this._stretchMode},set:function(e){tk("AspectRatioContainer stretchMode",e,t.AspectRatioStretchMode.Cover),this._stretchMode!==e&&(this._stretchMode=e,this.queueSort())}},{key:"horizontalAlignment",get:function(){return this._horizontalAlignment},set:function(e){tk("AspectRatioContainer horizontalAlignment",e,t.LayoutAlignment.End),this._horizontalAlignment!==e&&(this._horizontalAlignment=e,this.queueSort())}},{key:"verticalAlignment",get:function(){return this._verticalAlignment},set:function(e){tk("AspectRatioContainer verticalAlignment",e,t.LayoutAlignment.End),this._verticalAlignment!==e&&(this._verticalAlignment=e,this.queueSort())}}]),o}(t.Container),t.AspectRatioContainer.themeType="AspectRatioContainer",t.AspectRatioContainer=f([e.effectsClass("AspectRatioContainer")],t.AspectRatioContainer),t.PanelContainer=function(t){function i(){return t.apply(this,arguments)}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){return this.measureChildren(!1)},o.getDesiredSize=function(){return this.measureChildren(!0)},o.draw=function(){this.drawStyleBox(this.getThemeStyleBox("panel"),0,0,this.width,this.height)},o.sortChildren=function(){for(var t,i=this.getThemeStyleBox("panel").getContentMargins(),n={position:new e.math.Vector2(i.left,i.top),size:new e.math.Vector2(Math.max(0,this.width-i.left-i.right),Math.max(0,this.height-i.top-i.bottom))},o=g(this.getLayoutChildren());!(t=o()).done;){var r=t.value;this.fitChildInRect(r,n)}},o.measureChildren=function(t){for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}var h=this.getThemeStyleBox("panel").getContentMargins();return new e.math.Vector2(n+h.left+h.right,o+h.top+h.bottom)},i}(t.Container),t.PanelContainer.themeType="PanelContainer",t.PanelContainer=f([e.effectsClass("PanelContainer")],t.PanelContainer);var tE=function(i){function o(e,n){var o;return(o=i.call(this,e)||this).vertical=n,o.mouseFilter=t.MouseFilter.Ignore,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var t=this.getThemeStyleBox("separator").getMinimumSize(),i=Math.max(0,this.getThemeConstant("separation"));return this.vertical?new e.math.Vector2(Math.max(t.x,i),t.y):new e.math.Vector2(t.x,Math.max(t.y,i))},r.getDesiredSize=function(){return this.getMinimumSize()},r.draw=function(){var t=this.getMinimumSize(),e=this.vertical?t.x:this.width,i=this.vertical?this.height:t.y;this.drawStyleBox(this.getThemeStyleBox("separator"),(this.width-e)*.5,(this.height-i)*.5,e,i)},o}(t.Control);t.HSeparator=function(t){function e(e){return t.call(this,e,!1)}return n(e,t),e}(tE),t.HSeparator.themeType="HSeparator",t.HSeparator=f([e.effectsClass("HSeparator")],t.HSeparator),t.VSeparator=function(t){function e(e){return t.call(this,e,!0)}return n(e,t),e}(tE),t.VSeparator.themeType="VSeparator",t.VSeparator=f([e.effectsClass("VSeparator")],t.VSeparator),t.ScrollMode=void 0,(w=t.ScrollMode||(t.ScrollMode={}))[w.Disabled=0]="Disabled",w[w.Auto=1]="Auto",w[w.ShowAlways=2]="ShowAlways",w[w.ShowNever=3]="ShowNever",w[w.Reserve=4]="Reserve",w[w.MaximizeFirst=5]="MaximizeFirst";var tA=function(t){function i(i){var n;return(n=t.call(this,i)||this)._rounded=!1,n.suppressSignals=!1,n.rangeEventEmitter=new e.EventEmitter,n.shared=tR(),n.shared.owners.add(h(n)),n}n(i,t);var o=i.prototype;return o.on=function(e,i){"changed"===e||"valueChanged"===e?this.rangeEventEmitter.on(e,i):t.prototype.on.call(this,e,i)},o.off=function(e,i){"changed"===e||"valueChanged"===e?this.rangeEventEmitter.off(e,i):t.prototype.off.call(this,e,i)},o.setValue=function(t){var e=this.shared.value;this.shared.value=this.calculateValue(t),tL(e,this.shared.value)||this.notifyValueChanged()},o.setValueNoSignal=function(t){var e=this.shared.value;if(this.shared.value=this.calculateValue(t),!tL(e,this.shared.value))for(var i,n=g(this.shared.owners);!(i=n()).done;)i.value.valueChanged(this.shared.value)},o.setMinValue=function(t){tO("Range minValue",t),this.shared.minValue!==t&&(this.shared.minValue=t,this.shared.maxValue=Math.max(this.shared.maxValue,t),this.shared.page=tV(this.shared.page,0,this.shared.maxValue-t),this.setValue(this.shared.value),this.notifyChanged())},o.setMaxValue=function(t){tO("Range maxValue",t);var e=Math.max(t,this.shared.minValue);this.shared.maxValue!==e&&(this.shared.maxValue=e,this.shared.page=tV(this.shared.page,0,e-this.shared.minValue),this.setValue(this.shared.value),this.notifyChanged())},o.setStep=function(t){tO("Range step",t),this.shared.step!==t&&(this.shared.step=t,this.notifyChanged())},o.setPage=function(t){tO("Range page",t);var e=tV(t,0,this.shared.maxValue-this.shared.minValue);this.shared.page!==e&&(this.shared.page=e,this.setValue(this.shared.value),this.notifyChanged())},o.setAsRatio=function(t){tO("Range ratio",t);var e,i=tV(t,0,1);if(this.shared.exponentialRatio&&this.shared.minValue>=0&&this.shared.maxValue>0){var n=0===this.shared.minValue?0:Math.log2(this.shared.minValue);e=Math.pow(2,n+(Math.log2(this.shared.maxValue)-n)*i)}else{var o=this.shared.maxValue-this.shared.minValue;e=this.shared.minValue+o*i,this.shared.step>0&&(e=this.shared.minValue+Math.round(o*i/this.shared.step)*this.shared.step)}this.setValue(tV(e,this.shared.minValue,this.shared.maxValue))},o.getAsRatio=function(){var t=this.shared.maxValue-this.shared.minValue;if(0===t)return 1;var e=tV(this.shared.value,this.shared.minValue,this.shared.maxValue);if(this.shared.exponentialRatio&&this.shared.minValue>=0&&this.shared.maxValue>0){if(e<=0)return 0;var i=0===this.shared.minValue?0:Math.log2(this.shared.minValue);return tV((Math.log2(e)-i)/(Math.log2(this.shared.maxValue)-i),0,1)}return tV((e-this.shared.minValue)/t,0,1)},o.share=function(t){t!==this&&(t.attachShared(this.shared),t.rangeEventEmitter.emit("changed"),t.rangeEventEmitter.emit("valueChanged",t.value))},o.unshare=function(){var t=this.shared,e=tR();e.value=t.value,e.minValue=t.minValue,e.maxValue=t.maxValue,e.step=t.step,e.page=t.page,e.exponentialRatio=t.exponentialRatio,e.allowGreater=t.allowGreater,e.allowLesser=t.allowLesser,this.attachShared(e)},o.dispose=function(){this.shared.owners.delete(this),t.prototype.dispose.call(this)},o.valueChanged=function(t){},o.calculateValue=function(t){if(Number.isNaN(t))return t;tO("Range value",t);var e,i,n=t;return this.shared.step>0&&(n=Number(((e=this.shared.minValue)+Math.round((n-e)/(i=this.shared.step))*i).toPrecision(15))),this._rounded&&(n=Math.round(n)),this.shared.allowGreater||(n=Math.min(n,this.shared.maxValue-this.shared.page)),this.shared.allowLesser||(n=Math.max(n,this.shared.minValue)),n},o.attachShared=function(t){this.shared!==t&&(this.shared.owners.delete(this),this.shared=t,t.owners.add(this))},o.notifyValueChanged=function(){for(var t,e=g(this.shared.owners);!(t=e()).done;){var i=t.value;i.valueChanged(this.shared.value),this.suppressSignals||i.rangeEventEmitter.emit("valueChanged",this.shared.value)}},o.notifyChanged=function(){for(var t,e=g(this.shared.owners);!(t=e()).done;){var i=t.value;this.suppressSignals||i.rangeEventEmitter.emit("changed")}},o.fromData=function(e){this.suppressSignals=!0,t.prototype.fromData.call(this,e),void 0!==e.allowGreater&&(this.allowGreater=e.allowGreater),void 0!==e.allowLesser&&(this.allowLesser=e.allowLesser),void 0!==e.exponentialRatio&&(this.exponentialRatio=e.exponentialRatio),void 0!==e.rounded&&(this.rounded=e.rounded),void 0!==e.minValue&&this.setMinValue(e.minValue),void 0!==e.maxValue&&this.setMaxValue(e.maxValue),void 0!==e.step&&this.setStep(e.step),void 0!==e.page&&this.setPage(e.page),void 0!==e.value&&this.setValueNoSignal(e.value),this.suppressSignals=!1},u(i,[{key:"minValue",get:function(){return this.shared.minValue},set:function(t){this.setMinValue(t)}},{key:"maxValue",get:function(){return this.shared.maxValue},set:function(t){this.setMaxValue(t)}},{key:"step",get:function(){return this.shared.step},set:function(t){this.setStep(t)}},{key:"page",get:function(){return this.shared.page},set:function(t){this.setPage(t)}},{key:"value",get:function(){return this.shared.value},set:function(t){this.setValue(t)}},{key:"ratio",get:function(){return this.getAsRatio()},set:function(t){this.setAsRatio(t)}},{key:"exponentialRatio",get:function(){return this.shared.exponentialRatio},set:function(t){this.shared.exponentialRatio=t}},{key:"rounded",get:function(){return this._rounded},set:function(t){this._rounded=t}},{key:"allowGreater",get:function(){return this.shared.allowGreater},set:function(t){this.shared.allowGreater=t}},{key:"allowLesser",get:function(){return this.shared.allowLesser},set:function(t){this.shared.allowLesser=t}}]),i}(t.Control);function tR(){return{value:0,minValue:0,maxValue:100,step:1,page:0,exponentialRatio:!1,allowGreater:!1,allowLesser:!1,owners:new Set}}function tL(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}function tV(t,e,i){return Math.min(i,Math.max(e,t))}function tO(t,e){if(!Number.isFinite(e))throw RangeError(""+t+" must be finite.")}tA.themeType="Range";var t_=function(i){function o(n,o){var r;return void 0===o&&(o=t.Orientation.Vertical),(r=i.call(this,n)||this).scrollBarEventEmitter=new e.EventEmitter,r._customStep=-1,r.highlight="none",r.decrementActive=!1,r.incrementActive=!1,r.dragging=!1,r.dragPosition=0,r.dragRatio=0,r._orientation=o,r.step=0,r.focusMode=t.FocusMode.Accessibility,r}n(o,i);var r=o.prototype;return r.on=function(t,e){"scrolling"===t?this.scrollBarEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"scrolling"===t?this.scrollBarEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.scroll=function(t){this.scrollTo(this.value+t)},r.scrollTo=function(t){var e=this.value;this.setValue(t),e!==this.value&&this.scrollBarEventEmitter.emit("scrolling")},r.getMinimumSize=function(){var i=this.getButtonAxisSize(!1),n=this.getButtonAxisSize(!0),o=this.getButtonCrossSize(!0),r=this.getThemeStyleBox("scroll").getMinimumSize(),s=this.getGrabberMinimumSize();return this.orientation===t.Orientation.Horizontal?new e.math.Vector2(i+n+r.x+s,Math.max(o,r.y)+this.getCrossStartPadding()+this.getCrossEndPadding()):new e.math.Vector2(Math.max(o,r.x)+this.getCrossStartPadding()+this.getCrossEndPadding(),i+n+r.y+s)},r.draw=function(){var e=this.orientation===t.Orientation.Horizontal,i=e?this.width:this.height,n=this.decrementActive?"Pressed":"decrement"===this.highlight?"Highlight":"",o=this.incrementActive?"Pressed":"increment"===this.highlight?"Highlight":"",r=this.getButtonAxisSize(!1,n),s=this.getButtonAxisSize(!0,o),a=Math.max(0,i-r-s),h=this.getGrabberRect(),l=this.dragging?"grabberPressed":"track"===this.highlight?"grabberHighlight":"grabber",u=this.hasFocus(!0)?"scrollFocus":"scroll";e?(this.drawButtonIcon(!1,n,0,0),this.drawStyleBox(this.getThemeStyleBox(u),r,0,a,this.height),this.drawButtonIcon(!0,o,i-s,0)):(this.drawButtonIcon(!1,n,0,0),this.drawStyleBox(this.getThemeStyleBox(u),0,r,this.width,a),this.drawButtonIcon(!0,o,0,i-s)),this.drawStyleBox(this.getThemeStyleBox(l),h.x,h.y,h.width,h.height)},r.onMouseEnter=function(t){this.updateHighlight(this.getAxis(t))},r.onMouseMove=function(t){var e=this.getAxis(t.position);if(this.dragging){var i=this.getAreaSize();if(i>0){var n=this.value;this.setAsRatio(this.dragRatio+(e-this.dragPosition)/i),n!==this.value&&this.scrollBarEventEmitter.emit("scrolling")}return}this.updateHighlight(e)},r.onMouseLeave=function(){this.dragging||(this.highlight="none")},r.onMouseDown=function(t){if(t.buttonIndex===e.MouseButton.Left){var i=this.getAxis(t.position),n=this.getAxisSize(),o=this.getGrabberOffset(),r=this.getGrabberSize(),s=this.getButtonAxisSize(!1),a=this.getButtonAxisSize(!0),h=i-s-this.getTrackStartMargin();i<s?(this.decrementActive=!0,this.scroll(-this.getIncrement())):i>n-a?(this.incrementActive=!0,this.scroll(this.getIncrement())):h<o?this.scroll(-this.getPageIncrement()):h<o+r?(this.dragging=!0,this.dragPosition=i,this.dragRatio=this.getAsRatio()):this.scroll(this.getPageIncrement()),t.accept()}},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&(this.decrementActive=!1,this.incrementActive=!1,this.dragging=!1,this.updateHighlight(this.getAxis(t.position)))},r.onMouseWheel=function(t){if(t.buttonIndex===e.MouseButton.WheelUp||t.buttonIndex===e.MouseButton.WheelDown){var i=this.value,n=t.buttonIndex===e.MouseButton.WheelUp?-1:1,o=Math.max((this.page>0?this.page/8:(this.maxValue-this.minValue)/16)*t.factor,Math.max(0,this.step));this.scroll(n*o),this.value!==i&&t.accept()}},r.onKeyDown=function(e){var i,n=this.getIncrement();if(this.orientation===t.Orientation.Horizontal&&"ArrowLeft"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowUp"===e.keycode?i=this.value-n:this.orientation===t.Orientation.Horizontal&&"ArrowRight"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowDown"===e.keycode?i=this.value+n:"Home"===e.keycode?i=this.minValue:"End"===e.keycode&&(i=this.maxValue),void 0!==i){var o=this.value;this.scrollTo(i),this.value!==o&&e.accept()}},r.onScrollBegin=function(){this.decrementActive=!1,this.incrementActive=!1,this.dragging=!1},r.getAxis=function(e){return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getAxisSize=function(){return this.orientation===t.Orientation.Horizontal?this.width:this.height},r.getIncrement=function(){return this.customStep>=0?this.customStep:this.step},r.getPageIncrement=function(){return this.page>0?this.page:(this.maxValue-this.minValue)/16},r.getTrackSize=function(){return Math.max(0,this.getAxisSize()-this.getButtonAxisSize(!1)-this.getButtonAxisSize(!0))},r.getAreaSize=function(){var e=this.getThemeStyleBox("scroll").getMinimumSize(),i=this.orientation===t.Orientation.Horizontal?e.x:e.y;return Math.max(0,this.getTrackSize()-i-this.getGrabberMinimumSize())},r.getGrabberSize=function(){var t=this.maxValue-this.minValue;return t<=0?0:Math.min(this.getTrackSize(),this.getGrabberMinimumSize()+Math.max(0,this.page)/t*this.getAreaSize())},r.getGrabberMinimumSize=function(){var e=this.getThemeStyleBox("grabber").getMinimumSize();return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getGrabberOffset=function(){return this.getAreaSize()*this.getAsRatio()},r.getGrabberRect=function(){var e=this.getButtonAxisSize(!1)+this.getTrackStartMargin()+this.getGrabberOffset(),i=this.getGrabberSize(),n=this.getCrossStartPadding(),o=Math.max(0,(this.orientation===t.Orientation.Horizontal?this.height:this.width)-n-this.getCrossEndPadding());return this.orientation===t.Orientation.Horizontal?{x:e,y:n,width:i,height:o}:{x:n,y:e,width:o,height:i}},r.getTrackStartMargin=function(){var e=this.getThemeStyleBox("scroll").getContentMargins();return this.orientation===t.Orientation.Horizontal?e.left:e.top},r.getCrossStartPadding=function(){return Math.max(0,this.getThemeConstant(this.orientation===t.Orientation.Horizontal?"paddingTop":"paddingLeft"))},r.getCrossEndPadding=function(){return Math.max(0,this.getThemeConstant(this.orientation===t.Orientation.Horizontal?"paddingBottom":"paddingRight"))},r.updateHighlight=function(t){var e=this.getAxisSize(),i=this.getButtonAxisSize(!1),n=this.getButtonAxisSize(!0);t<0||t>e?this.highlight="none":t<i?this.highlight="decrement":t>e-n?this.highlight="increment":this.highlight="track"},r.drawButtonIcon=function(t,e,i,n){var o=this.getButtonIcon(t,e);o&&this.drawTexture(i,n,o.width,o.height,o)},r.getButtonIcon=function(t,e){void 0===e&&(e="");var i,n=t?"increment":"decrement";return null!=(i=this.getThemeIcon(""+n+e))?i:this.getThemeIcon(n)},r.getButtonAxisSize=function(e,i){void 0===i&&(i="");var n=this.getButtonIcon(e,i);return n?this.orientation===t.Orientation.Horizontal?n.width:n.height:0},r.getButtonCrossSize=function(e){var i=this.getButtonIcon(e);return i?this.orientation===t.Orientation.Horizontal?i.height:i.width:0},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.customStep&&(this.customStep=t.customStep)},u(o,[{key:"orientation",get:function(){return this._orientation},set:function(e){if(e!==t.Orientation.Horizontal&&e!==t.Orientation.Vertical)throw RangeError("Invalid ScrollBar orientation.");this._orientation!==e&&(this._orientation=e,this.updateMinimumSize())}},{key:"customStep",get:function(){return this._customStep},set:function(t){if(!Number.isFinite(t))throw RangeError("ScrollBar customStep must be finite.");this._customStep=t}}]),o}(a(tA));function tH(e,i,n){return e===t.ScrollMode.ShowAlways||(e===t.ScrollMode.Auto||e===t.ScrollMode.Reserve||e===t.ScrollMode.MaximizeFirst)&&i>n}function tN(t,e){return Math.abs(t)<=e?0:t-Math.sign(t)*e}function tG(e){if(!Number.isInteger(e)||e<t.ScrollMode.Disabled||e>t.ScrollMode.MaximizeFirst)throw RangeError("Invalid ScrollContainer scroll mode.")}t_.themeType="ScrollBar",t_.pageDivisor=8,t.HScrollBar=function(e){function i(i){return e.call(this,i,t.Orientation.Horizontal)}return n(i,e),i}(t_),t.HScrollBar.themeType="HScrollBar",t.HScrollBar=f([e.effectsClass("HScrollBar")],t.HScrollBar),t.VScrollBar=function(e){function i(i){return e.call(this,i,t.Orientation.Vertical)}return n(i,e),i}(t_),t.VScrollBar.themeType="VScrollBar",t.VScrollBar=f([e.effectsClass("VScrollBar")],t.VScrollBar),t.ScrollContainer=function(i){function o(n){var o;return(o=i.call(this,n)||this).scrollContainerEventEmitter=new e.EventEmitter,o._horizontalScrollMode=t.ScrollMode.Auto,o._verticalScrollMode=t.ScrollMode.Auto,o._scrollHorizontalByDefault=!1,o._deadzone=0,o._followFocus=!1,o.focusRoot=null,o.touchIndex=null,o.touchDecelerating=!1,o.beyondDeadzone=!1,o.dragSpeed=new e.math.Vector2,o.dragAccum=new e.math.Vector2,o.dragFrom=new e.math.Vector2,o.lastDragAccum=new e.math.Vector2,o.motionSampleTime=0,o.viewportWidth=0,o.viewportHeight=0,o.scrollMoved=function(){return o.queueSort()},o.controlStateChanged=function(){o.visibleInHierarchy&&o.enabledInHierarchy||o.cancelTouchDrag()},o.focusOwnerChanged=function(t){o.followFocus&&t&&o.isContentDescendant(t)&&o.ensureControlVisible(t)},o.horizontalBar=new t.HScrollBar(n),o.verticalBar=new t.VScrollBar(n),o.horizontalBar.focusMode=t.FocusMode.None,o.verticalBar.focusMode=t.FocusMode.None,o.clipContents=!0,o.addChild(o.horizontalBar),o.addChild(o.verticalBar),o.horizontalBar.on("valueChanged",o.scrollMoved),o.verticalBar.on("valueChanged",o.scrollMoved),o.on("visibilityChanged",o.controlStateChanged),o.on("enabledChanged",o.controlStateChanged),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"scrollStarted"===t||"scrollEnded"===t?this.scrollContainerEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"scrollStarted"===t||"scrollEnded"===t?this.scrollContainerEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.getHScrollBar=function(){return this.horizontalBar},r.getVScrollBar=function(){return this.verticalBar},r.intersectsChildContent=function(t,i){if(t===this.horizontalBar||t===this.verticalBar)return!0;var n=this.getGlobalTransform2D().elements,o=new e.math.Vector2(n[0]*i.x+n[3]*i.y+n[6],n[1]*i.x+n[4]*i.y+n[7]);return!(this.verticalBar.visible&&this.verticalBar.enabledInHierarchy&&this.verticalBar.hasPoint(this.verticalBar.makePositionLocal(o))||this.horizontalBar.visible&&this.horizontalBar.enabledInHierarchy&&this.horizontalBar.hasPoint(this.horizontalBar.makePositionLocal(o)))},r.ensureControlVisible=function(t){if(!this.isContentDescendant(t))throw Error("ScrollContainer can only reveal a descendant content control.");for(var i,n=t.getGlobalTransform2D().elements,o=[[0,0],[t.width,0],[0,t.height],[t.width,t.height]],r=1/0,s=1/0,a=-1/0,h=-1/0,l=g(o);!(i=l()).done;){var u=i.value,c=new e.math.Vector2(n[0]*u[0]+n[3]*u[1]+n[6],n[1]*u[0]+n[4]*u[1]+n[7]),d=this.makePositionLocal(c);r=Math.min(r,d.x),s=Math.min(s,d.y),a=Math.max(a,d.x),h=Math.max(h,d.y)}var f=Math.max(Math.min(r,0),a-this.viewportWidth),m=Math.max(Math.min(s,0),h-this.viewportHeight);this.horizontalBar.setValue(this.horizontalBar.value+f),this.verticalBar.setValue(this.verticalBar.value+m)},r.getMinimumSize=function(){return this.measureContent(!1)},r.getDesiredSize=function(){return this.measureContent(!0)},r.onMouseWheel=function(i){var n=this.horizontalBar.value,o=this.verticalBar.value,r=this.horizontalScrollMode!==t.ScrollMode.Disabled,s=this.verticalScrollMode!==t.ScrollMode.Disabled,a=this.scrollHorizontalByDefault!==i.shiftPressed,h=!this.verticalBar.visible&&this.verticalScrollMode!==t.ScrollMode.ShowNever,l=!this.horizontalBar.visible&&this.horizontalScrollMode!==t.ScrollMode.ShowNever,u=this.horizontalBar.page/t_.pageDivisor*i.factor,c=this.verticalBar.page/t_.pageDivisor*i.factor;i.buttonIndex===e.MouseButton.WheelUp?r&&a||h?this.horizontalBar.scroll(-u):s&&this.verticalBar.scroll(-c):i.buttonIndex===e.MouseButton.WheelDown?r&&a||h?this.horizontalBar.scroll(u):s&&this.verticalBar.scroll(c):i.buttonIndex===e.MouseButton.WheelLeft?s&&a||l?this.verticalBar.scroll(-c):r&&this.horizontalBar.scroll(-u):i.buttonIndex===e.MouseButton.WheelRight&&(s&&a||l?this.verticalBar.scroll(c):r&&this.horizontalBar.scroll(u)),(n!==this.horizontalBar.value||o!==this.verticalBar.value)&&i.accept()},r.onTouchDown=function(t){null!==this.touchIndex&&this.cancelTouchDrag(),this.touchIndex=t.index,this.touchDecelerating=!1,this.beyondDeadzone=!1,this.dragSpeed.set(0,0),this.dragAccum.set(0,0),this.lastDragAccum.set(0,0),this.dragFrom.set(this.horizontalBar.value,this.verticalBar.value),this.motionSampleTime=0},r.onTouchMove=function(e){if(this.touchIndex===e.index&&!this.touchDecelerating){var i,n=this.horizontalBar.value,o=this.verticalBar.value;this.dragAccum.x-=e.relative.x,this.dragAccum.y-=e.relative.y;var r=this.horizontalScrollMode!==t.ScrollMode.Disabled,s=this.verticalScrollMode!==t.ScrollMode.Disabled;(this.beyondDeadzone||r&&Math.abs(this.dragAccum.x)>this.deadzone||s&&Math.abs(this.dragAccum.y)>this.deadzone)&&(this.beyondDeadzone||(this.beyondDeadzone=!0,this.dragAccum.set(-e.relative.x,-e.relative.y),this.notifyContentScroll(!0),this.scrollContainerEventEmitter.emit("scrollStarted"),null==(i=this.root)||i.cancelPointerPress(this,e.index)),r?this.horizontalBar.scrollTo(this.dragFrom.x+this.dragAccum.x):this.dragAccum.x=0,s?this.verticalBar.scrollTo(this.dragFrom.y+this.dragAccum.y):this.dragAccum.y=0),(n!==this.horizontalBar.value||o!==this.verticalBar.value)&&e.accept()}},r.onTouchUp=function(t){this.touchIndex===t.index&&(t.canceled||0===this.dragSpeed.x&&0===this.dragSpeed.y?this.cancelTouchDrag():this.touchDecelerating=!0)},r.update=function(t){var e=Math.max(0,t)/1e3;this.visibleInHierarchy&&this.enabledInHierarchy?null!==this.touchIndex&&(this.touchDecelerating?this.updateInertia(e):this.beyondDeadzone&&this.updateDragVelocity(e)):this.cancelTouchDrag(),i.prototype.update.call(this,t)},r.dispose=function(){var t;this.horizontalBar.off("valueChanged",this.scrollMoved),this.verticalBar.off("valueChanged",this.scrollMoved),this.off("visibilityChanged",this.controlStateChanged),this.off("enabledChanged",this.controlStateChanged),null==(t=this.focusRoot)||t.off("guiFocusChanged",this.focusOwnerChanged),this.focusRoot=null,this.cancelTouchDrag(),i.prototype.dispose.call(this)},r.drawChildren=function(){var t=this.engine.graphics;this.clipContents&&t.pushClipRect(0,0,this.viewportWidth,this.viewportHeight);try{for(var e,i=g(this.children);!(e=i()).done;){var n=e.value;n!==this.horizontalBar&&n!==this.verticalBar&&n.drawInternal()}}finally{this.clipContents&&t.popClipRect()}this.verticalBar.drawInternal(),this.horizontalBar.drawInternal()},r.getLayoutChildren=function(){var t=this;return i.prototype.getLayoutChildren.call(this).filter(function(e){return e!==t.horizontalBar&&e!==t.verticalBar})},r.onRootChanged=function(t,e){var i,n;t!==e&&(null==(i=this.focusRoot)||i.off("guiFocusChanged",this.focusOwnerChanged),this.focusRoot=e,null==(n=this.focusRoot)||n.on("guiFocusChanged",this.focusOwnerChanged))},r.sortChildren=function(){var i=this.getLargestContentSize(!1),n=this.resolveLayout(i);this.viewportWidth=n.viewportWidth,this.viewportHeight=n.viewportHeight,this.horizontalBar.visible=n.horizontalVisible,this.verticalBar.visible=n.verticalVisible,this.horizontalBar.setMaxValue(Math.max(i.x,n.viewportWidth)),this.horizontalBar.setPage(n.viewportWidth),this.verticalBar.setMaxValue(Math.max(i.y,n.viewportHeight)),this.verticalBar.setPage(n.viewportHeight),this.horizontalBar.setRect({position:new e.math.Vector2(0,this.height-this.horizontalBar.getBoundMinimumSize().y),size:new e.math.Vector2(n.viewportWidth,this.horizontalBar.getBoundMinimumSize().y)}),this.verticalBar.setRect({position:new e.math.Vector2(this.width-this.verticalBar.getBoundMinimumSize().x,0),size:new e.math.Vector2(this.verticalBar.getBoundMinimumSize().x,n.viewportHeight)});for(var o,r=g(this.getLayoutChildren());!(o=r()).done;){var s=o.value,a=s.getBoundMinimumSize(),h=s.getCombinedMaximumSize(),l=(s.horizontalSizeFlags&t.SizeFlags.Expand)!=0?Math.max(n.viewportWidth,a.x):a.x,u=(s.verticalSizeFlags&t.SizeFlags.Expand)!=0?Math.max(n.viewportHeight,a.y):a.y;h.x>=0&&(l=Math.min(l,h.x)),h.y>=0&&(u=Math.min(u,h.y)),this.fitChildInRect(s,{position:new e.math.Vector2(Math.floor(-this.horizontalBar.value),Math.floor(-this.verticalBar.value)),size:new e.math.Vector2(l,u)})}},r.measureContent=function(i){var n=this.getLargestContentSize(i),o=this.resolveLayout(n),r=this.getCombinedMaximumSize(),s=new e.math.Vector2,a=this.horizontalScrollMode===t.ScrollMode.Disabled||this.horizontalScrollMode===t.ScrollMode.MaximizeFirst,h=this.verticalScrollMode===t.ScrollMode.Disabled||this.verticalScrollMode===t.ScrollMode.MaximizeFirst;return this.horizontalScrollMode===t.ScrollMode.Disabled?s.x=n.x:this.horizontalScrollMode===t.ScrollMode.MaximizeFirst&&(s.x=r.x>=0?Math.min(n.x,r.x):n.x),this.verticalScrollMode===t.ScrollMode.Disabled?s.y=n.y:this.verticalScrollMode===t.ScrollMode.MaximizeFirst&&(s.y=r.y>=0?Math.min(n.y,r.y):n.y),a&&o.verticalReserved&&(s.x+=this.verticalBar.getBoundMinimumSize().x),h&&o.horizontalReserved&&(s.y+=this.horizontalBar.getBoundMinimumSize().y),s},r.getLargestContentSize=function(t){for(var i,n=new e.math.Vector2,o=g(this.getLayoutChildren());!(i=o()).done;){var r=i.value,s=t?r.getBoundDesiredSize():r.getBoundMinimumSize();n.x=Math.max(n.x,s.x),n.y=Math.max(n.y,s.y)}return n},r.resolveLayout=function(e){for(var i=this.horizontalBar.getBoundMinimumSize().y,n=this.verticalBar.getBoundMinimumSize().x,o=this.horizontalScrollMode===t.ScrollMode.ShowAlways,r=this.verticalScrollMode===t.ScrollMode.ShowAlways,s=o||this.horizontalScrollMode===t.ScrollMode.Reserve,a=r||this.verticalScrollMode===t.ScrollMode.Reserve,h=0;h<4;h++){var l=Math.max(0,this.width-(a?n:0)),u=Math.max(0,this.height-(s?i:0));o=tH(this.horizontalScrollMode,e.x,l),r=tH(this.verticalScrollMode,e.y,u);var c=o||this.horizontalScrollMode===t.ScrollMode.Reserve,d=r||this.verticalScrollMode===t.ScrollMode.Reserve;if(s===c&&a===d)break;s=c,a=d}return{horizontalVisible:o,verticalVisible:r,horizontalReserved:s,verticalReserved:a,viewportWidth:Math.max(0,this.width-(a?n:0)),viewportHeight:Math.max(0,this.height-(s?i:0))}},r.invalidateScrollLayout=function(){this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort()},r.isContentDescendant=function(t){for(var e=t;e&&e.parent!==this;)e=e.parent;return!!e&&e!==this.horizontalBar&&e!==this.verticalBar&&e.parent===this},r.notifyContentScroll=function(t){for(var e,i=function(e){t?e.onScrollBegin():e.onScrollEnd();for(var n,o=g(e.children);!(n=o()).done;)i(n.value)},n=g(this.getLayoutChildren());!(e=n()).done;)i(e.value)},r.updateDragVelocity=function(t){!(t<=0)&&(this.motionSampleTime+=t,(this.motionSampleTime>=.1||0===this.dragSpeed.x&&0===this.dragSpeed.y)&&(this.dragSpeed.set((this.dragAccum.x-this.lastDragAccum.x)/this.motionSampleTime,(this.dragAccum.y-this.lastDragAccum.y)/this.motionSampleTime),this.lastDragAccum.copyFrom(this.dragAccum),this.motionSampleTime=0))},r.updateInertia=function(e){if(!(e<=0)){var i=this.horizontalBar.value,n=this.verticalBar.value;this.horizontalScrollMode!==t.ScrollMode.Disabled?this.horizontalBar.scrollTo(i+this.dragSpeed.x*e):this.dragSpeed.x=0,this.verticalScrollMode!==t.ScrollMode.Disabled?this.verticalBar.scrollTo(n+this.dragSpeed.y*e):this.dragSpeed.y=0,this.horizontalBar.value===i&&0!==this.dragSpeed.x?this.dragSpeed.x=0:this.dragSpeed.x=tN(this.dragSpeed.x,1e3*e),this.verticalBar.value===n&&0!==this.dragSpeed.y?this.dragSpeed.y=0:this.dragSpeed.y=tN(this.dragSpeed.y,1e3*e),0===this.dragSpeed.x&&0===this.dragSpeed.y&&this.cancelTouchDrag()}},r.cancelTouchDrag=function(){var t=this.beyondDeadzone;this.touchIndex=null,this.touchDecelerating=!1,this.beyondDeadzone=!1,this.dragSpeed.set(0,0),this.dragAccum.set(0,0),this.dragFrom.set(0,0),this.lastDragAccum.set(0,0),this.motionSampleTime=0,t&&(this.notifyContentScroll(!1),this.scrollContainerEventEmitter.emit("scrollEnded"))},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.horizontalScrollMode&&(this.horizontalScrollMode=t.horizontalScrollMode),void 0!==t.verticalScrollMode&&(this.verticalScrollMode=t.verticalScrollMode),void 0!==t.horizontalCustomStep&&(this.horizontalCustomStep=t.horizontalCustomStep),void 0!==t.verticalCustomStep&&(this.verticalCustomStep=t.verticalCustomStep),void 0!==t.scrollHorizontalByDefault&&(this.scrollHorizontalByDefault=t.scrollHorizontalByDefault),void 0!==t.deadzone&&(this.deadzone=t.deadzone),void 0!==t.followFocus&&(this.followFocus=t.followFocus),void 0!==t.hScroll&&this.horizontalBar.setValueNoSignal(t.hScroll),void 0!==t.vScroll&&this.verticalBar.setValueNoSignal(t.vScroll)},u(o,[{key:"hScroll",get:function(){return this.horizontalBar.value},set:function(t){this.horizontalBar.setValue(t),this.cancelTouchDrag()}},{key:"vScroll",get:function(){return this.verticalBar.value},set:function(t){this.verticalBar.setValue(t),this.cancelTouchDrag()}},{key:"horizontalScrollMode",get:function(){return this._horizontalScrollMode},set:function(t){tG(t),this._horizontalScrollMode!==t&&(this._horizontalScrollMode=t,this.invalidateScrollLayout())}},{key:"verticalScrollMode",get:function(){return this._verticalScrollMode},set:function(t){tG(t),this._verticalScrollMode!==t&&(this._verticalScrollMode=t,this.invalidateScrollLayout())}},{key:"horizontalCustomStep",get:function(){return this.horizontalBar.customStep},set:function(t){this.horizontalBar.customStep=t}},{key:"verticalCustomStep",get:function(){return this.verticalBar.customStep},set:function(t){this.verticalBar.customStep=t}},{key:"scrollHorizontalByDefault",get:function(){return this._scrollHorizontalByDefault},set:function(t){this._scrollHorizontalByDefault=t}},{key:"deadzone",get:function(){return this._deadzone},set:function(t){if(!Number.isFinite(t)||t<0)throw RangeError("ScrollContainer deadzone must be a non-negative finite number.");this._deadzone=t}},{key:"followFocus",get:function(){return this._followFocus},set:function(t){this._followFocus=t}}]),o}(t.Container),t.ScrollContainer.themeType="ScrollContainer",t.ScrollContainer=f([e.effectsClass("ScrollContainer")],t.ScrollContainer);var tW={text:new e.math.Color(.92,.94,.98,1),disabledText:new e.math.Color(.55,.58,.64,1),panel:new e.math.Color(.1,.12,.16,.96),border:new e.math.Color(.28,.32,.4,1),normal:new e.math.Color(.22,.25,.31,1),hover:new e.math.Color(.3,.34,.42,1),pressed:new e.math.Color(.16,.19,.25,1),disabled:new e.math.Color(.16,.18,.22,.75),accent:new e.math.Color(.25,.58,.92,1),accentHover:new e.math.Color(.34,.67,1,1),track:new e.math.Color(.12,.14,.18,.82),clear:new e.math.Color(0,0,0,0),white:new e.math.Color(1,1,1,1)};function tU(t,e,i,n,o){void 0===e&&(e=tW.clear),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=0);var r=new Z;return r.setBackgroundColor(t),r.setBorderColor(e),r.setBorderWidths(i,i,i,i),r.setContentMargins(n,o,n,o),r}function tj(t,e){void 0===t&&(t=0),void 0===e&&(e=0);var i=new $;return i.setContentMargins(t,e,t,e),i}function tK(e){return{type:t.ThemeItemType.StyleBox,defaultValue:e,affectsLayout:!0}}function tq(e){return{type:t.ThemeItemType.Color,defaultValue:e}}function tX(e,i){return void 0===i&&(i=!0),{type:t.ThemeItemType.Constant,defaultValue:e,affectsLayout:i}}var tY={font:{type:t.ThemeItemType.Font,defaultValue:{family:"sans-serif",weight:"normal",style:"normal"},affectsLayout:!0},fontSize:{type:t.ThemeItemType.FontSize,defaultValue:14,affectsLayout:!0}};function tQ(t){return" "===t||" "===t||"\xa0"===t}function t$(t){var e,i=null!=(e=t.codePointAt(0))?e:0;return i>=13312&&i<=19903||i>=19968&&i<=40959||i>=63744&&i<=64255||i>=131072&&i<=195103||i>=12352&&i<=12543||i>=44032&&i<=55215}function tZ(t){return Array.from(t).reduce(function(t,e){return t+(tQ(e)?1:0)},0)}to.registerType("Control",null,tY),to.registerType("Container","Control"),to.registerType("Label","Control",{fontColor:tq(tW.text),lineSpacing:tX(0)}),to.registerType("BaseButton","Control"),to.registerType("Button","BaseButton",{normal:tK(tU(tW.normal,tW.border,1,8,4)),hover:tK(tU(tW.hover,tW.border,1,8,4)),pressed:tK(tU(tW.pressed,tW.border,1,8,4)),hoverPressed:tK(tU(tW.pressed,tW.accent,1,8,4)),disabled:tK(tU(tW.disabled,tW.border,1,8,4)),focus:tK(tU(tW.clear,tW.accentHover,1)),fontColor:tq(tW.text),fontFocusColor:tq(tW.text),fontHoverColor:tq(tW.text),fontPressedColor:tq(tW.text),fontHoverPressedColor:tq(tW.text),fontDisabledColor:tq(tW.disabledText),iconTint:tq(tW.white),iconFocusTint:tq(tW.white),iconHoverTint:tq(tW.white),iconPressedTint:tq(tW.white),iconHoverPressedTint:tq(tW.white),iconDisabledTint:tq(tW.disabledText),icon:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},iconSeparation:tX(4),alignToLargestStyleBox:tX(0)}),to.registerType("Checkbox","Button",{normal:tK(tj(4,4)),hover:tK(tj(4,4)),pressed:tK(tj(4,4)),hoverPressed:tK(tj(4,4)),disabled:tK(tj(4,4)),checked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},unchecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},checkedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},uncheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioChecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioUnchecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioCheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioUncheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},checkedColor:tq(tW.white),uncheckedColor:tq(tW.white),checkedDisabledColor:tq(tW.disabledText),markColor:tq(tW.accent),markDisabledColor:tq(tW.disabledText),markUncheckedColor:tq(new e.math.Color(.88,.88,.88,.2)),markUncheckedDisabledColor:tq(new e.math.Color(.5,.5,.5,.2)),markOutlineColor:tq(tW.border),markSize:tX(16),markSeparation:tX(8),checkVOffset:tX(0)}),to.registerType("CheckButton","Button",{normal:tK(tj(6,4)),hover:tK(tj(6,4)),pressed:tK(tj(6,4)),hoverPressed:tK(tj(6,4)),disabled:tK(tj(6,4)),checked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},unchecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},checkedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},uncheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},buttonCheckedColor:tq(tW.white),buttonUncheckedColor:tq(tW.white),switchColor:tq(tW.accent),switchDisabledColor:tq(tW.disabledText),switchOffColor:tq(tW.border),switchKnobColor:tq(tW.text),switchWidth:tX(28),switchHeight:tX(14),switchSeparation:tX(6),checkVOffset:tX(0)}),to.registerType("Panel","Control",{panel:tK(tU(tW.panel,tW.border,1))}),to.registerType("PanelContainer","Container",{panel:tK(tU(tW.panel,tW.border,1,4,4))}),to.registerType("Separator","Control",{separator:tK(tU(tW.border)),separation:tX(1)}),to.registerType("HSeparator","Separator"),to.registerType("VSeparator","Separator"),to.registerType("TextInput","Control",{normal:tK(tU(tW.track,tW.border,1,6,4)),readOnly:tK(tU(tW.disabled,tW.border,1,6,4)),focus:tK(tU(tW.clear,tW.accentHover,1)),fontColor:tq(tW.text),fontReadOnlyColor:tq(tW.disabledText),fontPlaceholderColor:tq(tW.disabledText),selectionColor:tq(new e.math.Color(tW.accent.r,tW.accent.g,tW.accent.b,.45)),caretColor:tq(tW.text),caretWidth:tX(1,!1)}),to.registerType("LineEdit","TextInput"),to.registerType("TextEdit","TextInput"),to.registerType("Popup","PanelContainer",{panel:tK(tU(tW.panel,tW.border,1,6,6))}),to.registerType("PopupPanel","Popup"),to.registerType("PopupMenu","Popup",{hover:tK(tU(tW.hover)),separator:tK(tU(tW.border)),fontColor:tq(tW.text),fontDisabledColor:tq(tW.disabledText),checkColor:tq(tW.accent),itemHeight:tX(28),separatorHeight:tX(9),horizontalPadding:tX(8),iconWidth:tX(20)}),to.registerType("MenuButton","Button"),to.registerType("OptionButton","MenuButton",{arrow:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},arrowSize:tX(12),arrowMargin:tX(4),hSeparation:tX(4),modulateArrow:tX(1)}),to.registerType("ColorPickerButton","Button",{swatchBorderColor:tq(tW.border)}),to.registerType("Range","Control"),to.registerType("ProgressBar","Range",{background:tK(tU(tW.track)),fill:tK(tU(tW.accent)),fontColor:tq(tW.text)}),to.registerType("Slider","Range",{track:tK(tU(tW.track)),fill:tK(tU(tW.accent)),fillHighlight:tK(tU(tW.accentHover)),grabber:tK(tU(tW.normal,tW.border,1)),grabberHighlight:tK(tU(tW.accentHover,tW.border,1)),grabberDisabled:tK(tU(tW.disabled,tW.border,1)),trackThickness:tX(4),grabberSize:tX(14)}),to.registerType("HSlider","Slider"),to.registerType("VSlider","Slider"),to.registerType("ScrollBar","Range",{scroll:tK(tU(tW.track)),scrollFocus:tK(tU(tW.track,tW.accentHover,1)),grabber:tK(tU(tW.disabledText,tW.clear,0,4,4)),grabberHighlight:tK(tU(tW.accent,tW.clear,0,4,4)),grabberPressed:tK(tU(tW.accentHover,tW.clear,0,4,4)),decrement:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},decrementHighlight:{type:t.ThemeItemType.Icon,defaultValue:null},decrementPressed:{type:t.ThemeItemType.Icon,defaultValue:null},increment:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},incrementHighlight:{type:t.ThemeItemType.Icon,defaultValue:null},incrementPressed:{type:t.ThemeItemType.Icon,defaultValue:null},paddingLeft:tX(0),paddingTop:tX(0),paddingRight:tX(0),paddingBottom:tX(0)}),to.registerType("HScrollBar","ScrollBar",{scroll:tK(tU(tW.track,tW.clear,0,0,4))}),to.registerType("VScrollBar","ScrollBar",{scroll:tK(tU(tW.track,tW.clear,0,4,0))}),to.registerType("BoxContainer","Container",{separation:tX(0)}),to.registerType("HBoxContainer","BoxContainer"),to.registerType("VBoxContainer","BoxContainer"),to.registerType("ColorPicker","VBoxContainer"),to.registerType("GridContainer","Container",{horizontalSeparation:tX(0),verticalSeparation:tX(0)}),to.registerType("MarginContainer","Container",{marginLeft:tX(0),marginTop:tX(0),marginRight:tX(0),marginBottom:tX(0)}),to.registerType("CenterContainer","Container"),to.registerType("AspectRatioContainer","Container"),to.registerType("ScrollContainer","Container"),to.registerType("ColorRect","Control"),to.registerType("TextureRect","Control"),to.registerType("NinePatchRect","Control"),to.registerType("Control",null,{empty:tK($.shared)}),t.HorizontalAlignment=void 0,(b=t.HorizontalAlignment||(t.HorizontalAlignment={}))[b.Left=0]="Left",b[b.Center=1]="Center",b[b.Right=2]="Right",b[b.Fill=3]="Fill",t.VerticalAlignment=void 0,(z=t.VerticalAlignment||(t.VerticalAlignment={}))[z.Top=0]="Top",z[z.Center=1]="Center",z[z.Bottom=2]="Bottom",z[z.Fill=3]="Fill",t.AutowrapMode=void 0,(B=t.AutowrapMode||(t.AutowrapMode={}))[B.Off=0]="Off",B[B.Arbitrary=1]="Arbitrary",B[B.Word=2]="Word",B[B.WordSmart=3]="WordSmart",t.TextOverflow=void 0,(I=t.TextOverflow||(t.TextOverflow={}))[I.Visible=0]="Visible",I[I.Clip=1]="Clip",I[I.Ellipsis=2]="Ellipsis",t.TextureExpandMode=void 0,(k=t.TextureExpandMode||(t.TextureExpandMode={}))[k.KeepSize=0]="KeepSize",k[k.IgnoreSize=1]="IgnoreSize",k[k.FitWidth=2]="FitWidth",k[k.FitWidthProportional=3]="FitWidthProportional",k[k.FitHeight=4]="FitHeight",k[k.FitHeightProportional=5]="FitHeightProportional",t.TextureStretchMode=void 0,(F=t.TextureStretchMode||(t.TextureStretchMode={}))[F.Scale=0]="Scale",F[F.Tile=1]="Tile",F[F.Keep=2]="Keep",F[F.KeepCentered=3]="KeepCentered",F[F.KeepAspect=4]="KeepAspect",F[F.KeepAspectCentered=5]="KeepAspectCentered",F[F.KeepAspectCovered=6]="KeepAspectCovered",t.AxisStretchMode=void 0,(D=t.AxisStretchMode||(t.AxisStretchMode={}))[D.Stretch=0]="Stretch",D[D.Tile=1]="Tile",D[D.TileFit=2]="TileFit",t.Side=void 0,(P=t.Side||(t.Side={}))[P.Left=0]="Left",P[P.Top=1]="Top",P[P.Right=2]="Right",P[P.Bottom=3]="Bottom",t.ButtonDrawMode=void 0,(E=t.ButtonDrawMode||(t.ButtonDrawMode={}))[E.Normal=0]="Normal",E[E.Pressed=1]="Pressed",E[E.Hover=2]="Hover",E[E.Disabled=3]="Disabled",E[E.HoverPressed=4]="HoverPressed",t.ButtonActionMode=void 0,(A=t.ButtonActionMode||(t.ButtonActionMode={}))[A.Press=0]="Press",A[A.Release=1]="Release",t.ProgressFillMode=void 0,(R=t.ProgressFillMode||(t.ProgressFillMode={}))[R.BeginToEnd=0]="BeginToEnd",R[R.EndToBegin=1]="EndToBegin",R[R.TopToBottom=2]="TopToBottom",R[R.BottomToTop=3]="BottomToTop",t.Label=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e)||this)._text="",o._horizontalAlignment=t.HorizontalAlignment.Left,o._verticalAlignment=t.VerticalAlignment.Top,o._autowrapMode=t.AutowrapMode.Off,o._textOverflow=t.TextOverflow.Visible,o.layoutDirty=!0,o.layoutWidth=Number.NaN,o.layout=null,o._text=n,o.mouseFilter=t.MouseFilter.Ignore,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var i=this.createNaturalLayout();if(this.autowrapMode===t.AutowrapMode.Off)return new e.math.Vector2(this.textOverflow===t.TextOverflow.Visible?i.width:0,i.height);var n=this.getMinimumLineWidth(),o=Math.max(1,this._text.split("\n").length);return new e.math.Vector2(n,i.lineHeight*o+this.getThemeConstant("lineSpacing")*Math.max(0,o-1))},r.getDesiredSize=function(){var t=this.createNaturalLayout();return new e.math.Vector2(t.width,t.height)},r.draw=function(){var e=this.getTextLayout(this.width),i=this.textOverflow!==t.TextOverflow.Visible,n=this.getVerticalGap(e),o=this.getTextStartY(e,n);i&&this.engine.graphics.pushClipRect(0,0,this.width,this.height);try{for(var r=0;r<e.lines.length;r++){var s=e.lines[r],a=this.textOverflow===t.TextOverflow.Ellipsis?this.ellipsize(s,this.width):s;this.horizontalAlignment===t.HorizontalAlignment.Fill&&r<e.lines.length-1&&tZ(a.text)>0&&a.measurement.width<this.width?this.drawFilledLine(a,o):this.drawThemedText(this.getTextStartX(a.measurement.width),o,a.text),o+=e.lineHeight+this.getThemeConstant("lineSpacing")+n}}finally{i&&this.engine.graphics.popClipRect()}},r.invalidateTextLayout=function(){this.layoutDirty=!0,this.updateMinimumSize(),this.updateDesiredSize()},r.onThemeChanged=function(t){t&&(this.layoutDirty=!0),i.prototype.onThemeChanged.call(this,t)},r.measure=function(t){var e=this.getThemeFont("font");return this.measureText(t,this.getThemeFontSize("fontSize"),e.family,e.weight,e.style)},r.getTextLayout=function(e){var i=this.autowrapMode===t.AutowrapMode.Off?Number.POSITIVE_INFINITY:Math.max(0,e);return(this.layoutDirty||this.layoutWidth!==i||!this.layout)&&(this.layout=this.createLayout(i),this.layoutWidth=i,this.layoutDirty=!1),this.layout},r.createNaturalLayout=function(){return this.createLayout(Number.POSITIVE_INFINITY)},r.createLayout=function(e){for(var i,n,o,r=[],s=this.text.split("\n"),a=this.measure(""),h=g(s);!(o=h()).done;){var l=o.value;this.autowrapMode!==t.AutowrapMode.Off&&Number.isFinite(e)?r.push.apply(r,[].concat(this.wrapParagraph(l,e))):r.push({text:l,measurement:this.measure(l)})}0===r.length&&r.push({text:"",measurement:a});var u=null!=(i=null==(n=r[0])?void 0:n.measurement.lineHeight)?i:a.lineHeight,c=r.reduce(function(t,e){return Math.max(t,e.measurement.width)},0),d=u*r.length+this.getThemeConstant("lineSpacing")*Math.max(0,r.length-1);return{lines:r,lineHeight:u,width:c,height:d}},r.wrapParagraph=function(e,i){var n=this,o=Array.from(e);if(0===o.length)return[{text:"",measurement:this.measure("")}];if(i<=0)return o.map(function(t){return{text:t,measurement:n.measure(t)}});for(var r=this.measure(e),s=[],a=0;a<o.length;){for(var h=0,l=-1,u=-1,c=a;c<o.length;c++){var d,g=o[c],f=null!=(d=r.advances[c])?d:0;if(h+f>i&&c>a)break;if(h+=f,tQ(g)?(l=c,u=c+1):t$(g)&&(l=c+1,u=c+1),h>i){c++;break}}if(c>=o.length){var m=o.slice(a).join("");s.push({text:m,measurement:this.measure(m)});break}var p=void 0,v=void 0;this.autowrapMode!==t.AutowrapMode.Arbitrary&&l>a?(p=l,v=u):v=p=this.autowrapMode===t.AutowrapMode.Word?this.findWordEnd(o,c):Math.max(a+1,c);var y=o.slice(a,p).join("").replace(/[\t \u00a0]+$/,"");s.push({text:y,measurement:this.measure(y)}),a=function(t,e){for(var i=e;i<t.length&&tQ(t[i]);)i++;return i}(o,Math.max(v,a+1))}return s},r.findWordEnd=function(t,e){for(var i=Math.max(1,e);i<t.length;i++)if(tQ(t[i])||t$(t[i]))return tQ(t[i])?i:i+1;return t.length},r.getMinimumLineWidth=function(){var e=this.text.split("\n"),i=0;if(this.autowrapMode===t.AutowrapMode.Arbitrary||this.autowrapMode===t.AutowrapMode.WordSmart){for(var n,o=g(e);!(n=o()).done;)for(var r,s=n.value,a=g(Array.from(s));!(r=a()).done;){var h=r.value;i=Math.max(i,this.measure(h).width)}return i}for(var l,u=g(e);!(l=u()).done;){for(var c,d=l.value,f="",m=g(Array.from(d));!(c=m()).done;){var p=c.value;tQ(p)||t$(p)?(i=Math.max(i,this.measure(f).width,this.measure(p).width),f=""):f+=p}i=Math.max(i,this.measure(f).width)}return i},r.getTextStartX=function(e){return this.horizontalAlignment===t.HorizontalAlignment.Center?(this.width-e)*.5:this.horizontalAlignment===t.HorizontalAlignment.Right?this.width-e:0},r.getTextStartY=function(e,i){var n=e.height+i*Math.max(0,e.lines.length-1);return this.verticalAlignment===t.VerticalAlignment.Center?(this.height-n)*.5:this.verticalAlignment===t.VerticalAlignment.Bottom?this.height-n:0},r.getVerticalGap=function(e){return this.verticalAlignment!==t.VerticalAlignment.Fill||e.lines.length<2?0:Math.max(0,(this.height-e.height)/(e.lines.length-1))},r.ellipsize=function(t,e){if(t.measurement.width<=e)return t;var i=this.measure("…");if(i.width>e)return{text:"",measurement:this.measure("")};for(var n=Array.from(t.text),o=i.width,r=0;r<n.length;r++){var s,a=null!=(s=t.measurement.advances[r])?s:0;if(o+a>e)break;o+=a}var h=n.slice(0,r).join("")+"…";return{text:h,measurement:this.measure(h)}},r.drawFilledLine=function(t,e){for(var i=Array.from(t.text),n=tZ(t.text),o=n>0?(this.width-t.measurement.width)/n:0,r=0,s=0;s<i.length;s++){var a,h=i[s];this.drawThemedText(r,e,h),r+=null!=(a=t.measurement.advances[s])?a:0,tQ(h)&&(r+=o)}},r.drawThemedText=function(t,e,i){var n=this.getThemeFont("font");this.drawText(t,e,i,this.getThemeFontSize("fontSize"),this.getThemeColor("fontColor"),n.family,n.weight,n.style)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.text&&(this.text=t.text),void 0!==t.horizontalAlignment&&(this.horizontalAlignment=t.horizontalAlignment),void 0!==t.verticalAlignment&&(this.verticalAlignment=t.verticalAlignment),void 0!==t.autowrapMode&&(this.autowrapMode=t.autowrapMode),void 0!==t.textOverflow&&(this.textOverflow=t.textOverflow)},u(o,[{key:"text",get:function(){return this._text},set:function(t){this._text!==t&&(this._text=t,this.invalidateTextLayout())}},{key:"horizontalAlignment",get:function(){return this._horizontalAlignment},set:function(t){this._horizontalAlignment!==t&&(this._horizontalAlignment=t,this.layoutDirty=!0)}},{key:"verticalAlignment",get:function(){return this._verticalAlignment},set:function(t){this._verticalAlignment!==t&&(this._verticalAlignment=t,this.layoutDirty=!0)}},{key:"autowrapMode",get:function(){return this._autowrapMode},set:function(t){this._autowrapMode!==t&&(this._autowrapMode=t,this.invalidateTextLayout())}},{key:"textOverflow",get:function(){return this._textOverflow},set:function(t){this._textOverflow!==t&&(this._textOverflow=t,this.layoutDirty=!0,this.updateMinimumSize())}}]),o}(t.Control),t.Label.themeType="Label",t.Label=f([e.effectsClass("Label")],t.Label);var tJ={u0:0,v0:0,u1:1,v1:1};t.TextureRect=function(i){function o(n,o){var r;return void 0===o&&(o=null),(r=i.call(this,n)||this)._texture=null,r._expandMode=t.TextureExpandMode.KeepSize,r._stretchMode=t.TextureStretchMode.Scale,r.flipH=!1,r.flipV=!1,r.tint=new e.math.Color(1,1,1,1),r._texture=o,r.mouseFilter=t.MouseFilter.Ignore,r.on("sizeChanged",function(){return r.controlSizeChanged()}),r}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var i,n,o,r,s=null!=(o=null==(i=this.texture)?void 0:i.width)?o:0,a=null!=(r=null==(n=this.texture)?void 0:n.height)?r:0;switch(this.expandMode){case t.TextureExpandMode.KeepSize:return new e.math.Vector2(s,a);case t.TextureExpandMode.IgnoreSize:return new e.math.Vector2;case t.TextureExpandMode.FitWidth:return new e.math.Vector2(a,0);case t.TextureExpandMode.FitWidthProportional:return new e.math.Vector2(a>0?this.height*s/a:0,0);case t.TextureExpandMode.FitHeight:return new e.math.Vector2(0,s);case t.TextureExpandMode.FitHeightProportional:return new e.math.Vector2(0,s>0?this.width*a/s:0);default:return new e.math.Vector2}},r.getDesiredSize=function(){var t,i,n,o;return new e.math.Vector2(null!=(n=null==(t=this.texture)?void 0:t.width)?n:0,null!=(o=null==(i=this.texture)?void 0:i.height)?o:0)},r.draw=function(){var e=this.texture;if(e&&!(e.width<=0)&&!(e.height<=0)&&!(this.width<=0)&&!(this.height<=0))switch(this.stretchMode){case t.TextureStretchMode.Scale:this.drawRegion(0,0,this.width,this.height,tJ);break;case t.TextureStretchMode.Tile:this.drawTiled(e.width,e.height);break;case t.TextureStretchMode.Keep:this.drawRegion(0,0,e.width,e.height,tJ);break;case t.TextureStretchMode.KeepCentered:this.drawRegion((this.width-e.width)*.5,(this.height-e.height)*.5,e.width,e.height,tJ);break;case t.TextureStretchMode.KeepAspect:this.drawAspect(!1);break;case t.TextureStretchMode.KeepAspectCentered:this.drawAspect(!0);break;case t.TextureStretchMode.KeepAspectCovered:this.drawCovered()}},r.drawAspect=function(t){var e=this.texture;if(e){var i=Math.min(this.width/e.width,this.height/e.height),n=e.width*i,o=e.height*i,r=t?(this.width-n)*.5:0,s=t?(this.height-o)*.5:0;this.drawRegion(r,s,n,o,tJ)}},r.drawCovered=function(){var t=this.texture;if(t){var e=t.width/t.height,i=this.width/this.height,n=tJ;if(e>i){var o=(1-i/e)*.5;n={u0:o,v0:0,u1:1-o,v1:1}}else if(e<i){var r=(1-e/i)*.5;n={u0:0,v0:r,u1:1,v1:1-r}}this.drawRegion(0,0,this.width,this.height,n)}},r.drawTiled=function(t,e){for(var i=0;i<this.height;i+=e)for(var n=Math.min(e,this.height-i),o=n/e,r=0;r<this.width;r+=t){var s=Math.min(t,this.width-r),a=s/t;this.drawRegion(r,i,s,n,{u0:0,v0:1-o,u1:a,v1:1})}},r.drawRegion=function(t,e,i,n,o){var r=this.texture;!r||i<=0||n<=0||this.drawTexture(t,e,i,n,r,{u0:this.flipH?o.u1:o.u0,v0:this.flipV?o.v1:o.v0,u1:this.flipH?o.u0:o.u1,v1:this.flipV?o.v0:o.v1},this.tint)},r.controlSizeChanged=function(){(this.expandMode===t.TextureExpandMode.FitWidthProportional||this.expandMode===t.TextureExpandMode.FitHeightProportional)&&this.updateMinimumSize()},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.texture&&(this.texture=t.texture?this.engine.findObject(t.texture):null),void 0!==t.expandMode&&(this.expandMode=t.expandMode),void 0!==t.stretchMode&&(this.stretchMode=t.stretchMode),void 0!==t.flipH&&(this.flipH=t.flipH),void 0!==t.flipV&&(this.flipV=t.flipV),void 0!==t.tint&&this.tint.copyFrom(t.tint)},u(o,[{key:"texture",get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"expandMode",get:function(){return this._expandMode},set:function(t){this._expandMode!==t&&(this._expandMode=t,this.updateMinimumSize())}},{key:"stretchMode",get:function(){return this._stretchMode},set:function(t){this._stretchMode=t}}]),o}(t.Control),t.TextureRect.themeType="TextureRect",t.TextureRect=f([e.effectsClass("TextureRect")],t.TextureRect),t.NinePatchRect=function(i){function o(n,o){var r;return void 0===o&&(o=null),(r=i.call(this,n)||this).ninePatchEventEmitter=new e.EventEmitter,r.patchMargins=[0,0,0,0],r._texture=null,r.drawCenter=!0,r.horizontalAxisStretchMode=t.AxisStretchMode.Stretch,r.verticalAxisStretchMode=t.AxisStretchMode.Stretch,r.tint=new e.math.Color(1,1,1,1),r._texture=o,r._regionRect={position:new e.math.Vector2,size:new e.math.Vector2},r.mouseFilter=t.MouseFilter.Ignore,r}n(o,i);var r=o.prototype;return r.on=function(t,e){"textureChanged"===t?this.ninePatchEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"textureChanged"===t?this.ninePatchEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.setRegionRect=function(t,e,i,n){if(![t,e,i,n].every(Number.isFinite)||i<0||n<0)throw RangeError("NinePatchRect region must be finite and non-negative.");this._regionRect.position.set(t,e),this._regionRect.size.set(i,n),this.updateDesiredSize()},r.setPatchMargin=function(t,e){if(!Number.isFinite(e)||e<0)throw RangeError("NinePatchRect patch margin must be finite and non-negative.");this.patchMargins[t]!==e&&(this.patchMargins[t]=e,this.updateMinimumSize())},r.getPatchMargin=function(t){var e;return null!=(e=this.patchMargins[t])?e:0},r.getMinimumSize=function(){return new e.math.Vector2(this.getPatchMargin(t.Side.Left)+this.getPatchMargin(t.Side.Right),this.getPatchMargin(t.Side.Top)+this.getPatchMargin(t.Side.Bottom))},r.getDesiredSize=function(){var t=this.getSourceRect();return new e.math.Vector2(t.size.x,t.size.y)},r.draw=function(){var e=this.texture;if(e&&!(this.width<=0)&&!(this.height<=0)){var i=this.getSourceRect();this.drawNinePatch(0,0,this.width,this.height,e,{sourceX:i.position.x,sourceY:i.position.y,sourceWidth:i.size.x,sourceHeight:i.size.y,marginLeft:this.getPatchMargin(t.Side.Left),marginTop:this.getPatchMargin(t.Side.Top),marginRight:this.getPatchMargin(t.Side.Right),marginBottom:this.getPatchMargin(t.Side.Bottom),horizontalMode:this.horizontalAxisStretchMode,verticalMode:this.verticalAxisStretchMode,drawCenter:this.drawCenter},this.tint)}},r.getSourceRect=function(){var t=this.texture;return t?this._regionRect.size.x>0&&this._regionRect.size.y>0?this.regionRect:{position:new e.math.Vector2,size:new e.math.Vector2(t.width,t.height)}:{position:new e.math.Vector2,size:new e.math.Vector2}},r.fromData=function(e){i.prototype.fromData.call(this,e),void 0!==e.texture&&(this.texture=e.texture?this.engine.findObject(e.texture):null),void 0!==e.regionRect&&this.setRegionRect(e.regionRect.position[0],e.regionRect.position[1],e.regionRect.size[0],e.regionRect.size[1]),void 0!==e.patchMarginLeft&&this.setPatchMargin(t.Side.Left,e.patchMarginLeft),void 0!==e.patchMarginTop&&this.setPatchMargin(t.Side.Top,e.patchMarginTop),void 0!==e.patchMarginRight&&this.setPatchMargin(t.Side.Right,e.patchMarginRight),void 0!==e.patchMarginBottom&&this.setPatchMargin(t.Side.Bottom,e.patchMarginBottom),void 0!==e.drawCenter&&(this.drawCenter=e.drawCenter),void 0!==e.horizontalAxisStretchMode&&(this.horizontalAxisStretchMode=e.horizontalAxisStretchMode),void 0!==e.verticalAxisStretchMode&&(this.verticalAxisStretchMode=e.verticalAxisStretchMode),void 0!==e.tint&&this.tint.copyFrom(e.tint)},u(o,[{key:"texture",get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this.updateDesiredSize(),this.ninePatchEventEmitter.emit("textureChanged",t))}},{key:"regionRect",get:function(){return{position:this._regionRect.position.clone(),size:this._regionRect.size.clone()}},set:function(t){this.setRegionRect(t.position.x,t.position.y,t.size.x,t.size.y)}}]),o}(t.Control),t.NinePatchRect.themeType="NinePatchRect",t.NinePatchRect=f([e.effectsClass("NinePatchRect")],t.NinePatchRect),t.ColorRect=function(i){function o(n){var o;return(o=i.call(this,n)||this).color=new e.math.Color(1,1,1,1),o.mouseFilter=t.MouseFilter.Ignore,o}n(o,i);var r=o.prototype;return r.draw=function(){this.fillRect(0,0,this.width,this.height,this.color)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.color&&this.color.copyFrom(t.color)},o}(t.Control),t.ColorRect.themeType="ColorRect",t.ColorRect=f([e.effectsClass("ColorRect")],t.ColorRect),t.Panel=function(e){function i(i){var n;return(n=e.call(this,i)||this).mouseFilter=t.MouseFilter.Stop,n}n(i,e);var o=i.prototype;return o.draw=function(){this.drawStyleBox(this.getThemeStyleBox("panel"),0,0,this.width,this.height)},o.getMinimumSize=function(){return this.getThemeStyleBox("panel").getMinimumSize()},o.getDesiredSize=function(){return this.getMinimumSize()},i}(t.Control),t.Panel.themeType="Panel",t.Panel=f([e.effectsClass("Panel")],t.Panel);var t0=function(){function t(){this.buttons=new Set,this.eventEmitter=new e.EventEmitter,this.allowUnpress=!1}var i=t.prototype;return i.on=function(t,e){this.eventEmitter.on(t,e)},i.off=function(t,e){this.eventEmitter.off(t,e)},i.getPressedButton=function(){for(var t,e=g(this.buttons);!(t=e()).done;){var i=t.value;if(i.buttonPressed)return i}return null},i.getButtons=function(){return Array.from(this.buttons)},i.select=function(t,e,i){if(void 0===i&&(i=!1),!this.buttons.has(t))return!1;if(t.buttonPressed&&!this.allowUnpress)return i&&this.eventEmitter.emit("pressed",t),!1;var n=!t.buttonPressed;if(n)for(var o,r=g(this.buttons);!(o=r()).done;){var s=o.value;s!==t&&s.setPressedFromGroup(!1,e)}return t.setPressedFromGroup(n,e),i&&this.eventEmitter.emit("pressed",t),!0},t.updateButton=function(t,e,i){if(null==e||e.buttons.delete(t),i&&(i.buttons.add(t),t.buttonPressed))for(var n,o=g(i.buttons);!(n=o()).done;){var r=n.value;r!==t&&r.setPressedFromGroup(!1,!1)}},t}(),t1=function(i){function o(n){var o;return(o=i.call(this,n)||this).buttonEventEmitter=new e.EventEmitter,o._disabled=!1,o._toggleMode=!1,o._buttonPressed=!1,o._buttonMask=e.MouseButtonMask.Left,o._buttonGroup=null,o.hovered=!1,o.pressing=!1,o.pressInside=!1,o.mousePressing=!1,o.keyboardPressing=!1,o.touchIndex=-1,o.controlStateChanged=function(){o.visible&&o.enabled||o.cancelPress()},o.actionMode=t.ButtonActionMode.Release,o.keepPressedOutside=!1,o.focusMode=t.FocusMode.All,o.mouseFilter=t.MouseFilter.Stop,o.on("visibilityChanged",o.controlStateChanged),o.on("enabledChanged",o.controlStateChanged),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"buttonDown"===t||"buttonUp"===t||"pressed"===t||"toggled"===t?this.buttonEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"buttonDown"===t||"buttonUp"===t||"pressed"===t||"toggled"===t?this.buttonEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.setPressedNoSignal=function(t){this.setPressed(t,!1)},r.isHovered=function(){return this.hovered},r.isPressing=function(){return this.pressing&&(this.pressInside||this.keepPressedOutside)},r.getDrawMode=function(){if(this.disabled||!this.enabledInHierarchy)return t.ButtonDrawMode.Disabled;if(!this.pressing&&this.hovered)return this.buttonPressed?t.ButtonDrawMode.HoverPressed:t.ButtonDrawMode.Hover;var e=this.buttonPressed;return this.pressing&&(e=this.pressInside||this.keepPressedOutside,this.buttonPressed&&(e=!e)),e?t.ButtonDrawMode.Pressed:t.ButtonDrawMode.Normal},r.getEffectiveMouseFilter=function(){return this.disabled?t.MouseFilter.Ignore:i.prototype.getEffectiveMouseFilter.call(this)},r.getFocusModeWithOverride=function(){return this.disabled?t.FocusMode.None:i.prototype.getFocusModeWithOverride.call(this)},r.onMouseEnter=function(){this.hovered=!0,this.mousePressing&&(this.pressInside=!0)},r.onMouseMove=function(t){this.hovered=this.hasPoint(t.position),this.mousePressing&&(this.pressInside=this.hovered)},r.onMouseLeave=function(){this.hovered=!1,this.mousePressing&&(this.pressInside=!1)},r.onMouseDown=function(t){!this.disabled&&t2(this.buttonMask,t.buttonIndex)&&(this.mousePressing=!0,this.beginPress(!0),t.accept())},r.onMouseUp=function(t){if(this.mousePressing&&t2(this.buttonMask,t.buttonIndex)){var e=!t.canceled&&(this.keepPressedOutside||this.hasPoint(t.position));this.mousePressing=!1,this.finishPress(e),t.accept()}},r.onTouchDown=function(t){this.disabled||-1!==this.touchIndex||(this.touchIndex=t.index,this.beginPress(!0),t.accept())},r.onTouchMove=function(t){t.index===this.touchIndex&&(this.pressInside=this.hasPoint(t.position),t.accept())},r.onTouchUp=function(t){if(t.index===this.touchIndex){var e=!t.canceled&&(this.keepPressedOutside||this.hasPoint(t.position));this.touchIndex=-1,this.finishPress(e),t.accept()}},r.onKeyDown=function(t){!this.disabled&&!t.echo&&!this.keyboardPressing&&t5(t.keycode)&&(this.keyboardPressing=!0,this.beginPress(!0),t.accept())},r.onKeyUp=function(t){this.keyboardPressing&&t5(t.keycode)&&(this.keyboardPressing=!1,this.finishPress(!0),t.accept())},r.onLostFocus=function(){this.cancelPress()},r.onScrollBegin=function(){this.cancelPress()},r.onDestroy=function(){this.off("visibilityChanged",this.controlStateChanged),this.off("enabledChanged",this.controlStateChanged),this.buttonGroup=null,this.cancelPress()},r.setPressedFromGroup=function(t,e){this.setPressedDirect(t,e)},r.onRootChanged=function(t,e){e||this.cancelPress()},r.setPressed=function(t,e){if(this.buttonGroup&&t){this.buttonPressed||this.buttonGroup.select(this,e);return}this.setPressedDirect(t,e)},r.setPressedDirect=function(t,e){this._buttonPressed!==t&&(this._buttonPressed=t,e&&this.buttonEventEmitter.emit("toggled",t))},r.beginPress=function(e){this.pressing||(this.pressing=!0,this.pressInside=e,this.buttonEventEmitter.emit("buttonDown"),this.actionMode===t.ButtonActionMode.Press&&this.activate())},r.finishPress=function(e){this.pressing&&(this.pressing=!1,this.pressInside=!1,this.buttonEventEmitter.emit("buttonUp"),e&&this.actionMode===t.ButtonActionMode.Release&&this.activate())},r.cancelPress=function(){var t=this.pressing;this.pressing=!1,this.pressInside=!1,this.mousePressing=!1,this.keyboardPressing=!1,this.touchIndex=-1,t&&this.buttonEventEmitter.emit("buttonUp")},r.activate=function(){if(this.toggleMode){if(this.buttonGroup){if(!this.buttonGroup.select(this,!0,!0)&&!this.buttonPressed)return}else this.setPressedDirect(!this.buttonPressed,!0)}this.buttonEventEmitter.emit("pressed")},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.disabled&&(this.disabled=t.disabled),void 0!==t.toggleMode&&(this.toggleMode=t.toggleMode),void 0!==t.buttonPressed&&this.setPressedNoSignal(t.buttonPressed),void 0!==t.buttonMask&&(this.buttonMask=t.buttonMask),void 0!==t.actionMode&&(this.actionMode=t.actionMode),void 0!==t.keepPressedOutside&&(this.keepPressedOutside=t.keepPressedOutside)},u(o,[{key:"disabled",get:function(){return this._disabled},set:function(t){if(this._disabled!==t){var e;this._disabled=t,t&&this.cancelPress(),null==(e=this.root)||e.controlStateChanged(this)}}},{key:"toggleMode",get:function(){return this._toggleMode},set:function(t){this._toggleMode=t}},{key:"buttonPressed",get:function(){return this._buttonPressed},set:function(t){this.setPressed(t,!0)}},{key:"buttonMask",get:function(){return this._buttonMask},set:function(t){this._buttonMask=t}},{key:"buttonGroup",get:function(){return this._buttonGroup},set:function(t){if(this._buttonGroup!==t){var e=this._buttonGroup;this._buttonGroup=t,t0.updateButton(this,e,t)}}}]),o}(t.Control);function t2(t,i){switch(i){case e.MouseButton.Left:return(t&e.MouseButtonMask.Left)!=0;case e.MouseButton.Right:return(t&e.MouseButtonMask.Right)!=0;case e.MouseButton.Middle:return(t&e.MouseButtonMask.Middle)!=0;case e.MouseButton.Xbutton1:return(t&e.MouseButtonMask.Xbutton1)!=0;case e.MouseButton.Xbutton2:return(t&e.MouseButtonMask.Xbutton2)!=0;default:return!1}}function t5(t){return"Enter"===t||"Space"===t||" "===t}t1.themeType="BaseButton",t.Button=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e)||this)._text="",o.flat=!1,o.clipText=!1,o.expandIcon=!1,o.textAlignment=t.HorizontalAlignment.Center,o.iconAlignment=t.HorizontalAlignment.Left,o.iconVerticalAlignment=t.VerticalAlignment.Center,o._text=n,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureButton()},r.getDesiredSize=function(){return this.measureButton()},r.draw=function(){var t=this.getDrawMode(),e=this.getThemeStyleBox(this.getStyleBoxName(t));this.flat||this.drawStyleBox(e,0,0,this.width,this.height),this.hasFocus(!0)&&this.drawStyleBox(this.getThemeStyleBox("focus"),0,0,this.width,this.height),this.drawDecoration(t),this.drawContent(t,this.getContentInsets())},r.getContentInsets=function(){return this.getBaseContentInsets()},r.getNormalContentInsets=function(){return this.getThemeStyleBox("normal").getContentMargins()},r.drawDecoration=function(t){},r.measureButton=function(){var i,n,o,r,s=this.getThemeFont("font"),a=this.measureText(this.text,this.getThemeFontSize("fontSize"),s.family,s.weight,s.style),h=this.text.length>0,l=this.expandIcon?0:null!=(o=null==(i=this.icon)?void 0:i.width)?o:0,u=this.expandIcon?0:null!=(r=null==(n=this.icon)?void 0:n.height)?r:0,c=this.clipText?0:a.width,d=h?a.lineHeight:0,g=h&&l>0&&this.iconAlignment!==t.HorizontalAlignment.Center?Math.max(0,this.getThemeConstant("iconSeparation")):0,f=this.getContentInsets(),m=this.iconAlignment===t.HorizontalAlignment.Center?Math.max(l,c):l+g+c,p=this.iconVerticalAlignment===t.VerticalAlignment.Center?Math.max(u,d):u+d;return new e.math.Vector2(f.left+m+f.right,f.top+p+f.bottom)},r.getStyleBoxName=function(e){switch(e){case t.ButtonDrawMode.Disabled:return"disabled";case t.ButtonDrawMode.HoverPressed:return"hoverPressed";case t.ButtonDrawMode.Pressed:return"pressed";case t.ButtonDrawMode.Hover:return"hover";default:return"normal"}},r.drawContent=function(e,i){var n=i.left,o=i.top,r=Math.max(0,this.width-i.left-i.right),s=Math.max(0,this.height-i.top-i.bottom),a=this.text.length>0,h=this.icon&&a&&this.iconAlignment!==t.HorizontalAlignment.Center?Math.max(0,this.getThemeConstant("iconSeparation")):0,l=this.getThemeFont("font"),u=this.getThemeFontSize("fontSize"),c=this.measureText(this.text,u,l.family,l.weight,l.style),d=!this.clipText&&a&&this.iconAlignment!==t.HorizontalAlignment.Center?Math.max(0,r-c.width-h):r,g=a&&this.iconVerticalAlignment!==t.VerticalAlignment.Center?Math.max(0,s-c.lineHeight):s,f=this.getIconSize(d,g),m=this.icon&&this.iconAlignment!==t.HorizontalAlignment.Center?f.x+h:0,p=Math.max(0,r-m),v=this.clipText?this.ellipsizeText(this.text,p):this.text,y=this.measureText(v,u,l.family,l.weight,l.style),x=n,C=n+m;this.icon&&this.iconAlignment===t.HorizontalAlignment.Right?(x=n+r-f.x,C=n):this.icon&&this.iconAlignment===t.HorizontalAlignment.Center&&(x=n+(r-f.x)*.5,C=n);var M=this.getAlignedX(C,p,y.width,this.textAlignment),S=(this.icon&&this.iconVerticalAlignment===t.VerticalAlignment.Top?o+f.y:o)+(Math.max(0,s-(this.icon&&this.iconVerticalAlignment!==t.VerticalAlignment.Center?f.y:0))-y.lineHeight)*.5;this.clipText&&this.engine.graphics.pushClipRect(n,o,r,s);try{if(this.icon){var T=this.getAlignedY(o,s,f.y,this.iconVerticalAlignment);this.drawTexture(x,T,f.x,f.y,this.icon,void 0,this.getIconTint(e))}this.drawText(M,S,v,u,this.getFontColor(e),l.family,l.weight,l.style)}finally{this.clipText&&this.engine.graphics.popClipRect()}},r.getFontColor=function(e){switch(e){case t.ButtonDrawMode.Disabled:return this.getThemeColor("fontDisabledColor");case t.ButtonDrawMode.HoverPressed:return this.getThemeColor("fontHoverPressedColor");case t.ButtonDrawMode.Pressed:return this.getThemeColor("fontPressedColor");case t.ButtonDrawMode.Hover:return this.getThemeColor("fontHoverColor");default:return this.hasFocus(!0)?this.getThemeColor("fontFocusColor"):this.getThemeColor("fontColor")}},r.getIconTint=function(e){switch(e){case t.ButtonDrawMode.Disabled:return this.getThemeColor("iconDisabledTint");case t.ButtonDrawMode.HoverPressed:return this.getThemeColor("iconHoverPressedTint");case t.ButtonDrawMode.Pressed:return this.getThemeColor("iconPressedTint");case t.ButtonDrawMode.Hover:return this.getThemeColor("iconHoverTint");default:return this.hasFocus(!0)?this.getThemeColor("iconFocusTint"):this.getThemeColor("iconTint")}},r.getBaseContentInsets=function(){if(!this.getThemeConstant("alignToLargestStyleBox"))return this.getThemeStyleBox(this.getStyleBoxName(this.getDrawMode())).getContentMargins();for(var t={left:0,top:0,right:0,bottom:0},e=0,i=["normal","hover","pressed","hoverPressed","disabled"];e<i.length;e++){var n=i[e],o=this.getThemeStyleBox(n).getContentMargins();t.left=Math.max(t.left,o.left),t.top=Math.max(t.top,o.top),t.right=Math.max(t.right,o.right),t.bottom=Math.max(t.bottom,o.bottom)}return t},r.getIconSize=function(t,i){var n=this.icon;if(!n)return new e.math.Vector2;if(!this.expandIcon||n.width<=0||n.height<=0)return new e.math.Vector2(n.width,n.height);var o=Math.min(t/n.width,i/n.height);return new e.math.Vector2(n.width*o,n.height*o)},r.getAlignedX=function(e,i,n,o){return o===t.HorizontalAlignment.Center||o===t.HorizontalAlignment.Fill?e+(i-n)*.5:o===t.HorizontalAlignment.Right?e+i-n:e},r.getAlignedY=function(e,i,n,o){return o===t.VerticalAlignment.Center||o===t.VerticalAlignment.Fill?e+(i-n)*.5:o===t.VerticalAlignment.Bottom?e+i-n:e},r.ellipsizeText=function(t,e){var i,n,o=this.getThemeFont("font"),r=this.getThemeFontSize("fontSize"),s=this.measureText(t,r,o.family,o.weight,o.style);if(s.width<=e)return t;var a=this.measureText("…",r,o.family,o.weight,o.style).width,h=Array.from(t),l=a,u=0;if(a>e)return"";for(;u<h.length&&l+(null!=(i=s.advances[u])?i:0)<=e;)l+=null!=(n=s.advances[u])?n:0,u++;return h.slice(0,u).join("")+"…"},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.text&&(this.text=t.text),void 0!==t.icon&&(this.icon=t.icon?this.engine.findObject(t.icon):null),void 0!==t.flat&&(this.flat=t.flat),void 0!==t.clipText&&(this.clipText=t.clipText),void 0!==t.expandIcon&&(this.expandIcon=t.expandIcon),void 0!==t.textAlignment&&(this.textAlignment=t.textAlignment),void 0!==t.iconAlignment&&(this.iconAlignment=t.iconAlignment),void 0!==t.iconVerticalAlignment&&(this.iconVerticalAlignment=t.iconVerticalAlignment)},u(o,[{key:"text",get:function(){return this._text},set:function(t){this._text!==t&&(this._text=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"icon",get:function(){return void 0===this._icon?this.getThemeIcon("icon"):this._icon},set:function(t){this._icon!==t&&(this._icon=t,this.updateMinimumSize(),this.updateDesiredSize())}}]),o}(t1),t.Button.themeType="Button",t.Button=f([e.effectsClass("Button")],t.Button),t.Checkbox=function(e){function i(i,n){var o;return void 0===n&&(n=""),(o=e.call(this,i,n)||this).toggleMode=!0,o.textAlignment=t.HorizontalAlignment.Left,o}n(i,e);var o=i.prototype;return o.getContentInsets=function(){var t=e.prototype.getContentInsets.call(this),i=this.text?Math.max(0,this.getThemeConstant("markSeparation")):0;return m({},t,{left:t.left+this.getMarkSize().width+i})},o.drawDecoration=function(){var t=this.getThemeConstant("markSize"),e=this.getMarkSize(),i=this.getNormalContentInsets().left,n=this.getThemeConstant("checkVOffset"),o=Math.floor((this.height-e.height)*.5)+n,r=!!this.buttonGroup,s=this.disabled||!this.enabledInHierarchy?r?this.buttonPressed?"radioCheckedDisabled":"radioUncheckedDisabled":this.buttonPressed?"checkedDisabled":"uncheckedDisabled":r?this.buttonPressed?"radioChecked":"radioUnchecked":this.buttonPressed?"checked":"unchecked",a=this.getThemeIcon(s);if(a){this.drawTexture(i,o,a.width,a.height,a,void 0,this.getThemeColor(this.buttonPressed?"checkedColor":"uncheckedColor"));return}var h=Math.floor((this.height-t)*.5)+n,l=i+.5*t,u=h+.5*t,c=this.disabled||!this.enabledInHierarchy,d=c?this.getThemeColor("markDisabledColor"):this.getThemeColor("markColor"),g=c?this.getThemeColor("markUncheckedDisabledColor"):this.getThemeColor("markUncheckedColor"),f=c?this.getThemeColor("checkedDisabledColor"):this.getThemeColor("checkedColor"),m=t/16;this.buttonGroup?this.buttonPressed?(this.fillCircle(l,u,7*m,d),this.fillCircle(l,u,4*m,f)):this.fillCircle(l,u,7*m,g):(this.fillRoundedMark(i+m,h+m,14*m,2.33*m,this.buttonPressed?d:g),this.buttonPressed&&this.fillCheckMark(i,h,m,f))},o.fillRoundedMark=function(t,e,i,n,o){for(var r,s=[],a=g([[t+n,e+n,Math.PI],[t+i-n,e+n,1.5*Math.PI],[t+i-n,e+i-n,0],[t+n,e+i-n,.5*Math.PI]]);!(r=a()).done;)for(var h=r.value,l=h[0],u=h[1],c=h[2],d=0;d<=4;d++){var f=c+d/4*Math.PI*.5;s.push([l+Math.cos(f)*n,u+Math.sin(f)*n])}for(var m=t+.5*i,p=e+.5*i,v=0;v<s.length;v++){var y=s[v],x=s[(v+1)%s.length];this.fillTriangle(m,p,y[0],y[1],x[0],x[1],o)}},o.fillCheckMark=function(t,e,i,n){var o=function(n,o){return[t+n*i,e+o*i]},r=o(11.5,3.734),s=o(5.89,9.346),a=o(4.185,7.665),h=o(2.685,9.164),l=o(5.889,12.344),u=o(13,5.235);this.fillTriangle(a[0],a[1],h[0],h[1],l[0],l[1],n),this.fillTriangle(a[0],a[1],l[0],l[1],s[0],s[1],n),this.fillTriangle(r[0],r[1],s[0],s[1],l[0],l[1],n),this.fillTriangle(r[0],r[1],l[0],l[1],u[0],u[1],n)},o.getMarkSize=function(){for(var t=0,e=0,i=0,n=["checked","unchecked","checkedDisabled","uncheckedDisabled","radioChecked","radioUnchecked","radioCheckedDisabled","radioUncheckedDisabled"];i<n.length;i++){var o,r,s=n[i],a=this.getThemeIcon(s);t=Math.max(t,null!=(o=null==a?void 0:a.width)?o:0),e=Math.max(e,null!=(r=null==a?void 0:a.height)?r:0)}if(t<=0&&e<=0){var h=this.getThemeConstant("markSize");return{width:h,height:h}}return{width:t,height:e}},i}(t.Button),t.Checkbox.themeType="Checkbox",t.Checkbox=f([e.effectsClass("Checkbox")],t.Checkbox),t.CheckButton=function(e){function i(i,n){var o;return void 0===n&&(n=""),(o=e.call(this,i,n)||this).toggleMode=!0,o.textAlignment=t.HorizontalAlignment.Left,o}n(i,e);var o=i.prototype;return o.getContentInsets=function(){var t=e.prototype.getContentInsets.call(this),i=this.text?Math.max(0,this.getThemeConstant("switchSeparation")):0;return m({},t,{right:t.right+this.getSwitchSize().width+i})},o.drawDecoration=function(){var t=this.getThemeConstant("switchWidth"),e=this.getThemeConstant("switchHeight"),i=this.getSwitchSize(),n=this.width-this.getNormalContentInsets().right-i.width,o=this.getThemeConstant("checkVOffset"),r=(this.height-i.height)*.5+o,s=.5*e,a=this.disabled||!this.enabledInHierarchy?this.buttonPressed?"checkedDisabled":"uncheckedDisabled":this.buttonPressed?"checked":"unchecked",h=this.getThemeIcon(a);if(h){this.drawTexture(n,r,h.width,h.height,h,void 0,this.getThemeColor(this.buttonPressed?"buttonCheckedColor":"buttonUncheckedColor"));return}var l=this.width-this.getNormalContentInsets().right-t,u=(this.height-e)*.5+o,c=this.disabled||!this.enabledInHierarchy?this.getThemeColor("switchDisabledColor"):this.getThemeColor("switchColor"),d=this.buttonPressed?c:this.getThemeColor("switchOffColor"),g=this.buttonPressed?l+t-s:l+s;this.fillRect(l+s,u,t-e,e,d),this.fillCircle(l+s,u+s,s,d),this.fillCircle(l+t-s,u+s,s,d),this.fillCircle(g,u+s,s-2,this.getThemeColor("switchKnobColor"))},o.getSwitchSize=function(){for(var t,e=0,i=0,n=this.disabled||!this.enabledInHierarchy?["checkedDisabled","uncheckedDisabled"]:["checked","unchecked"],o=g(n);!(t=o()).done;){var r,s,a=t.value,h=this.getThemeIcon(a);e=Math.max(e,null!=(r=null==h?void 0:h.width)?r:0),i=Math.max(i,null!=(s=null==h?void 0:h.height)?s:0)}return e<=0&&i<=0?{width:this.getThemeConstant("switchWidth"),height:this.getThemeConstant("switchHeight")}:{width:e,height:i}},i}(t.Button),t.CheckButton.themeType="CheckButton",t.CheckButton=f([e.effectsClass("CheckButton")],t.CheckButton);var t4=function(i){function o(n,o){var r;return void 0===o&&(o=t.Orientation.Horizontal),(r=i.call(this,n)||this).sliderEventEmitter=new e.EventEmitter,r._editable=!0,r.dragging=!1,r.hovered=!1,r.dragPosition=0,r.dragRatio=0,r.dragInitialValue=0,r.touchIndex=-1,r.scrollable=!0,r._orientation=o,r.focusMode=t.FocusMode.All,r.mouseFilter=t.MouseFilter.Stop,r}n(o,i);var r=o.prototype;return r.on=function(t,e){"dragStarted"===t||"dragEnded"===t?this.sliderEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"dragStarted"===t||"dragEnded"===t?this.sliderEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.getMinimumSize=function(){var i=this.getThemeConstant("grabberSize"),n=Math.max(i,this.getThemeConstant("trackThickness"));return this.orientation===t.Orientation.Horizontal?new e.math.Vector2(i,n):new e.math.Vector2(n,i)},r.draw=function(){var e=this.getGrabberRect(),i=this.editable&&(this.hovered||this.hasFocus(!0)),n=this.editable?i?"grabberHighlight":"grabber":"grabberDisabled",o=i?"fillHighlight":"fill",r=this.getThemeConstant("trackThickness");if(this.orientation===t.Orientation.Horizontal){var s=(this.height-r)*.5,a=e.x+.5*e.width;this.drawStyleBox(this.getThemeStyleBox("track"),0,s,this.width,r),this.drawStyleBox(this.getThemeStyleBox(o),0,s,a,r)}else{var h=(this.width-r)*.5,l=e.y+.5*e.height;this.drawStyleBox(this.getThemeStyleBox("track"),h,0,r,this.height),this.drawStyleBox(this.getThemeStyleBox(o),h,l,r,this.height-l)}this.drawStyleBox(this.getThemeStyleBox(n),e.x,e.y,e.width,e.height)},r.onMouseEnter=function(){this.hovered=!0},r.onMouseMove=function(t){this.hovered=this.hasPoint(t.position),this.dragging&&(this.updateDrag(this.getAxis(t.position)),t.accept())},r.onMouseLeave=function(){this.hovered=!1},r.onMouseDown=function(t){this.editable&&t.buttonIndex===e.MouseButton.Left&&(this.beginDrag(this.getAxis(t.position),this.getGrabberRect(),t.position),t.accept())},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.dragging&&(this.endDrag(),t.accept())},r.onTouchDown=function(t){this.editable&&-1===this.touchIndex&&(this.touchIndex=t.index,this.beginDrag(this.getAxis(t.position),this.getGrabberRect(),t.position),t.accept())},r.onTouchMove=function(t){this.dragging&&t.index===this.touchIndex&&(this.updateDrag(this.getAxis(t.position)),t.accept())},r.onTouchUp=function(t){t.index===this.touchIndex&&(this.touchIndex=-1,this.endDrag(),t.accept())},r.onMouseWheel=function(t){if(this.editable&&this.scrollable){var i=0;if(t.buttonIndex===e.MouseButton.WheelUp||t.buttonIndex===e.MouseButton.WheelRight?i=1:(t.buttonIndex===e.MouseButton.WheelDown||t.buttonIndex===e.MouseButton.WheelLeft)&&(i=-1),0!==i){var n=this.value;this.value+=i*this.getIncrement()*t.factor,n!==this.value&&t.accept()}}},r.onKeyDown=function(e){if(this.editable){var i,n=this.getIncrement();if(this.orientation===t.Orientation.Horizontal&&"ArrowLeft"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowDown"===e.keycode?i=this.value-n:this.orientation===t.Orientation.Horizontal&&"ArrowRight"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowUp"===e.keycode?i=this.value+n:"Home"===e.keycode?i=this.minValue:"End"===e.keycode&&(i=this.maxValue),void 0!==i){var o=this.value;this.value=i,o!==this.value&&e.accept()}}},r.onScrollBegin=function(){this.endDrag()},r.onRootChanged=function(t,e){e||this.endDrag()},r.beginDrag=function(t,e,i){var n=i.x>=e.x&&i.x<=e.x+e.width&&i.y>=e.y&&i.y<=e.y+e.height,o=this.value;n||this.setAsRatio(this.getRatioAt(t)),this.dragging=!0,this.dragPosition=t,this.dragRatio=this.getAsRatio(),this.dragInitialValue=o,this.sliderEventEmitter.emit("dragStarted")},r.updateDrag=function(e){var i=this.getUsableLength();if(!(i<=0)){var n=this.orientation===t.Orientation.Horizontal?1:-1;this.setAsRatio(this.dragRatio+n*(e-this.dragPosition)/i)}},r.endDrag=function(){if(this.dragging){var t=this.value!==this.dragInitialValue;this.dragging=!1,this.touchIndex=-1,this.sliderEventEmitter.emit("dragEnded",t)}},r.getAxis=function(e){return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getAxisSize=function(){return this.orientation===t.Orientation.Horizontal?this.width:this.height},r.getUsableLength=function(){return Math.max(0,this.getAxisSize()-this.getThemeConstant("grabberSize"))},r.getRatioAt=function(e){var i=this.getUsableLength(),n=i>0?(e-.5*this.getThemeConstant("grabberSize"))/i:0;return this.orientation===t.Orientation.Horizontal?n:1-n},r.getIncrement=function(){return this.step>0?this.step:Math.max(0,this.maxValue-this.minValue)/100},r.getGrabberRect=function(){var e=this.getThemeConstant("grabberSize"),i=this.getUsableLength()*this.getAsRatio();return this.orientation===t.Orientation.Horizontal?{x:i,y:(this.height-e)*.5,width:e,height:e}:{x:(this.width-e)*.5,y:this.getUsableLength()-i,width:e,height:e}},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.editable&&(this.editable=t.editable),void 0!==t.scrollable&&(this.scrollable=t.scrollable)},u(o,[{key:"orientation",get:function(){return this._orientation},set:function(e){if(e!==t.Orientation.Horizontal&&e!==t.Orientation.Vertical)throw RangeError("Invalid Slider orientation.");this._orientation!==e&&(this._orientation=e,this.updateMinimumSize())}},{key:"editable",get:function(){return this._editable},set:function(t){this._editable===t||(this._editable=t,t||this.endDrag())}}]),o}(a(tA));t4.themeType="Slider",t.HSlider=function(e){function i(i){return e.call(this,i,t.Orientation.Horizontal)}return n(i,e),i}(t4),t.HSlider.themeType="HSlider",t.HSlider=f([e.effectsClass("HSlider")],t.HSlider),t.VSlider=function(e){function i(i){return e.call(this,i,t.Orientation.Vertical)}return n(i,e),i}(t4),t.VSlider.themeType="VSlider",t.VSlider=f([e.effectsClass("VSlider")],t.VSlider),t.ProgressBar=function(i){function o(e){var n;return(n=i.call(this,e)||this)._showPercentage=!0,n._fillMode=t.ProgressFillMode.BeginToEnd,n.step=.01,n.mouseFilter=t.MouseFilter.Ignore,n}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var t=this.getThemeStyleBox("background").getMinimumSize(),i=this.getThemeStyleBox("fill").getMinimumSize(),n=new e.math.Vector2(Math.max(t.x,i.x),Math.max(t.y,i.y));if(!this.showPercentage)return new e.math.Vector2(Math.max(1,n.x),Math.max(1,n.y));var o=this.getThemeFont("font"),r=this.measureText("100%",this.getThemeFontSize("fontSize"),o.family,o.weight,o.style);return new e.math.Vector2(n.x,Math.max(t.y+r.lineHeight,n.y))},r.getDesiredSize=function(){var t=this.getMinimumSize();return new e.math.Vector2(Math.max(120,t.x),t.y)},r.draw=function(){var e=this.getAsRatio(),i=this.getThemeStyleBox("fill"),n=i.getMinimumSize();switch(this.drawStyleBox(this.getThemeStyleBox("background"),0,0,this.width,this.height),this.fillMode){case t.ProgressFillMode.BeginToEnd:var o=Math.round(e*(this.width-n.x));o>0&&this.drawStyleBox(i,0,0,o+n.x,this.height);break;case t.ProgressFillMode.EndToBegin:var r=Math.round(e*(this.width-n.x));if(r>0){var s=Math.round((1-e)*(this.width-n.x));this.drawStyleBox(i,s,0,r+n.x,this.height)}break;case t.ProgressFillMode.TopToBottom:var a=Math.round(e*(this.height-n.y));a>0&&this.drawStyleBox(i,0,0,this.width,a+n.y);break;case t.ProgressFillMode.BottomToTop:var h=Math.round(e*(this.height-n.y));if(h>0){var l=Math.round((1-e)*(this.height-n.y));this.drawStyleBox(i,0,l,this.width,h+n.y)}}if(this.showPercentage){var u=""+Math.round(100*e)+"%",c=this.getThemeFont("font"),d=this.getThemeFontSize("fontSize"),g=this.measureText(u,d,c.family,c.weight,c.style);this.drawText((this.width-g.width)*.5,(this.height-g.lineHeight)*.5,u,d,this.getThemeColor("fontColor"),c.family,c.weight,c.style)}},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.showPercentage&&(this.showPercentage=t.showPercentage),void 0!==t.fillMode&&(this.fillMode=t.fillMode)},u(o,[{key:"showPercentage",get:function(){return this._showPercentage},set:function(t){this._showPercentage!==t&&(this._showPercentage=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"fillMode",get:function(){return this._fillMode},set:function(t){this._fillMode=t}}]),o}(a(tA)),t.ProgressBar.themeType="ProgressBar",t.ProgressBar=f([e.effectsClass("ProgressBar")],t.ProgressBar);var t3=function(i){function o(n){var o;return(o=i.call(this,n)||this).textEventEmitter=new e.EventEmitter,o._text="",o._placeholderText="",o._editable=!0,o._maxLength=0,o.selectionStart=0,o.selectionEnd=0,o.selectionAnchor=0,o.selecting=!1,o.selectingWords=!1,o.wordSelectionStart=0,o.wordSelectionEnd=0,o.textarea=null,o.textareaFocusTimer=null,o.composing=!1,o.undoStack=[],o.redoStack=[],o.onBeforeInput=function(){o.pushUndo()},o.onTextareaInput=function(){o.textarea&&(o.setText(o.textarea.value,!0),o.selectionStart=o.textarea.selectionStart,o.selectionEnd=o.textarea.selectionEnd,o.composing||(o.redoStack.length=0))},o.onTextareaSelect=function(){o.textarea&&("backward"===o.textarea.selectionDirection?(o.selectionStart=o.textarea.selectionEnd,o.selectionEnd=o.textarea.selectionStart):(o.selectionStart=o.textarea.selectionStart,o.selectionEnd=o.textarea.selectionEnd),o.selectionAnchor=o.selectionStart)},o.onCompositionStart=function(){o.composing=!0},o.onCompositionEnd=function(){o.composing=!1},o.onTextareaKeyDown=function(t){"Enter"!==t.key||o.multiline||t.isComposing||(t.preventDefault(),o.submit())},o.onTextareaBlur=function(){o.textarea&&o.hasFocus()&&o.releaseFocus()},o.focusMode=t.FocusMode.All,o.mouseFilter=t.MouseFilter.Stop,o.defaultCursorShape=t.CursorShape.Ibeam,o}n(o,i);var r=o.prototype;return r.on=function(t,e){"textChanged"===t||"textSubmitted"===t?this.textEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"textChanged"===t||"textSubmitted"===t?this.textEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.selectAll=function(){this.setSelection(0,this._text.length)},r.deselect=function(){this.setSelection(this.selectionEnd,this.selectionEnd)},r.getSelectedText=function(){var t=Math.min(this.selectionStart,this.selectionEnd),e=Math.max(this.selectionStart,this.selectionEnd);return this._text.slice(t,e)},r.setSelection=function(t,e){void 0===e&&(e=t),this.selectionStart=Math.max(0,Math.min(this._text.length,Math.floor(t))),this.selectionEnd=Math.max(0,Math.min(this._text.length,Math.floor(e))),this.selectionAnchor=this.selectionStart,this.syncTextareaSelection()},r.onMouseDown=function(t){if(t.buttonIndex===e.MouseButton.Left){this.grabFocus(!0),this.cancelTextareaFocus();var i=this.getCharacterIndex(t.position);if(t.doubleClick){var n=this.getWordRange(i),o=n[0],r=n[1];this.wordSelectionStart=o,this.wordSelectionEnd=r,this.setSelection(o,r),this.selectingWords=!0,this.selecting=!0}else t.shiftPressed?this.moveCaret(i,!0):(this.selectionAnchor=i,this.setSelection(i,i)),this.selectingWords=!1,this.selecting=!0;t.accept()}},r.onMouseMove=function(t){if(this.selecting&&(t.buttonMask&e.MouseButtonMask.Left)!=0){var i=this.getCharacterIndex(t.position);if(this.selectingWords){var n=this.getWordRange(i),o=n[0],r=n[1];i<this.wordSelectionStart?this.setSelection(this.wordSelectionEnd,o):this.setSelection(this.wordSelectionStart,r)}else this.setSelection(this.selectionAnchor,i);t.accept()}},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.selecting&&(this.selecting=!1,this.selectingWords=!1,this.focusTextarea(),t.accept())},r.onKeyDown=function(t){var e=t.ctrlPressed||t.metaPressed;if(e&&"a"===t.keycode.toLowerCase()){this.selectAll(),t.accept();return}if(e&&"c"===t.keycode.toLowerCase()){this.copySelection(),t.accept();return}if(e&&"x"===t.keycode.toLowerCase()&&this.editable){this.copySelection(),this.replaceSelection(""),t.accept();return}if(e&&"v"===t.keycode.toLowerCase()&&this.editable){this.pasteClipboard(),t.accept();return}if(e&&"z"===t.keycode.toLowerCase()&&this.editable){t.shiftPressed?this.redo():this.undo(),t.accept();return}if(e&&"y"===t.keycode.toLowerCase()&&this.editable){this.redo(),t.accept();return}if("ArrowLeft"===t.keycode||"ArrowRight"===t.keycode){var i=("ArrowLeft"===t.keycode?-1:1)<0?t6(this._text,this.selectionEnd):t8(this._text,this.selectionEnd);this.moveCaret(i,t.shiftPressed),t.accept();return}if("Home"===t.keycode||"End"===t.keycode){var n="Home"===t.keycode?this.getLineStart(this.selectionEnd):this.getLineEnd(this.selectionEnd);this.moveCaret(n,t.shiftPressed),t.accept();return}if(this.editable){if("Backspace"===t.keycode){this.erase(-1),t.accept();return}if("Delete"===t.keycode){this.erase(1),t.accept();return}if("Enter"===t.keycode){this.multiline?this.replaceSelection("\n"):this.submit(),t.accept();return}e||t.altPressed||!(t.unicode>=32)||(this.replaceSelection(String.fromCodePoint(t.unicode)),t.accept())}},r.onGotFocus=function(){this.activateTextarea()},r.onLostFocus=function(){this.selecting=!1,this.selectingWords=!1,this.removeTextarea()},r.onDestroy=function(){this.removeTextarea()},r.getDisplayText=function(){return this._text},r.getSelectionRange=function(){return[Math.min(this.selectionStart,this.selectionEnd),Math.max(this.selectionStart,this.selectionEnd)]},r.moveCaret=function(t,e){var i=Math.max(0,Math.min(this._text.length,Math.floor(t)));e?(this.selectionStart=this.selectionAnchor,this.selectionEnd=i,this.syncTextareaSelection()):this.setSelection(i,i)},r.getTextFont=function(){return this.getThemeFont("font")},r.getTextFontSize=function(){return this.getThemeFontSize("fontSize")},r.getTextColor=function(){return this.editable?0===this._text.length?this.getThemeColor("fontPlaceholderColor"):this.getThemeColor("fontColor"):this.getThemeColor("fontReadOnlyColor")},r.getTextStyleBox=function(){return this.getThemeStyleBox(this.editable?"normal":"readOnly")},r.drawTextBackground=function(){this.drawStyleBox(this.getTextStyleBox(),0,0,this.width,this.height),this.hasFocus(!0)&&this.drawStyleBox(this.getThemeStyleBox("focus"),0,0,this.width,this.height)},r.drawSelection=function(t,e,i,n){i>0&&this.fillRect(t,e,i,n,this.getThemeColor("selectionColor"))},r.drawCaret=function(t,e,i){this.hasFocus()&&!this.hasSelection&&this.fillRect(t,e,Math.max(1,this.getThemeConstant("caretWidth")),i,this.getThemeColor("caretColor"))},r.onTextValueChanged=function(){},r.setText=function(t,e){var i=this._maxLength>0?t.slice(0,this._maxLength):t;this._text!==i&&(this._text=i,this.selectionStart=Math.min(this.selectionStart,i.length),this.selectionEnd=Math.min(this.selectionEnd,i.length),this.onTextValueChanged(),this.textarea&&this.textarea.value!==i&&(this.textarea.value=i),this.updateMinimumSize(),this.updateDesiredSize(),e&&this.textEventEmitter.emit("textChanged",i))},r.replaceSelection=function(t){if(this.editable){var e=this.getSelectionRange(),i=e[0],n=e[1];this.pushUndo();var o=this._maxLength>0?t.slice(0,Math.max(0,this._maxLength-(this._text.length-(n-i)))):t,r=""+this._text.slice(0,i)+o+this._text.slice(n),s=i+o.length;this.setText(r,!0),this.setSelection(s,s),this.redoStack.length=0}},r.erase=function(t){if(this.hasSelection){this.replaceSelection("");return}var e=this.selectionEnd,i=t<0?t6(this._text,e):e,n=t<0?e:t8(this._text,e);i!==n&&(this.setSelection(i,n),this.replaceSelection(""))},r.getLineStart=function(t){return this.multiline?this._text.lastIndexOf("\n",Math.max(0,t-1))+1:0},r.getLineEnd=function(t){if(!this.multiline)return this._text.length;var e=this._text.indexOf("\n",t);return -1===e?this._text.length:e},r.submit=function(){this.textEventEmitter.emit("textSubmitted",this._text),this.releaseFocus()},r.pushUndo=function(){var t=this.snapshot(),e=this.undoStack[this.undoStack.length-1];(!e||e.text!==t.text||e.selectionStart!==t.selectionStart||e.selectionEnd!==t.selectionEnd)&&(this.undoStack.push(t),this.undoStack.length>100&&this.undoStack.shift())},r.undo=function(){var t=this.undoStack.pop();t&&(this.redoStack.push(this.snapshot()),this.restore(t))},r.redo=function(){var t=this.redoStack.pop();t&&(this.undoStack.push(this.snapshot()),this.restore(t))},r.snapshot=function(){return{text:this._text,selectionStart:this.selectionStart,selectionEnd:this.selectionEnd}},r.restore=function(t){this.setText(t.text,!0),this.setSelection(t.selectionStart,t.selectionEnd)},r.copySelection=function(){var t=this.getSelectedText();t&&"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.writeText(t)},r.pasteClipboard=function(){var t=this;"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.readText().then(function(e){return t.replaceSelection(e)})},r.getWordRange=function(t){if(0===this._text.length)return[0,0];for(var e,i=Math.max(0,Math.min(this._text.length-1,t)),n=g(this._text.matchAll(RegExp("[\\p{L}\\p{N}_]+|\\s+|[^\\p{L}\\p{N}_\\s]+","gu")));!(e=n()).done;){var o=e.value,r=o.index,s=r+o[0].length;if(i>=r&&i<s)return[r,s]}return[i,i+1]},r.activateTextarea=function(){if("undefined"!=typeof document&&!this.textarea){var t=document.createElement("textarea");t.value=this._text,t.readOnly=!this.editable,this._maxLength>0&&(t.maxLength=this._maxLength),t.wrap=this.multiline?"soft":"off",t.setAttribute("aria-hidden","true"),t.style.cssText="position:fixed;left:-10000px;top:0;width:1px;height:1px;opacity:0;pointer-events:none;",t.addEventListener("beforeinput",this.onBeforeInput),t.addEventListener("input",this.onTextareaInput),t.addEventListener("select",this.onTextareaSelect),t.addEventListener("compositionstart",this.onCompositionStart),t.addEventListener("compositionend",this.onCompositionEnd),t.addEventListener("keydown",this.onTextareaKeyDown),t.addEventListener("blur",this.onTextareaBlur),document.body.appendChild(t),this.textarea=t,this.syncTextareaSelection(),this.scheduleTextareaFocus()}},r.removeTextarea=function(){this.cancelTextareaFocus();var t=this.textarea;t&&(this.textarea=null,t.removeEventListener("beforeinput",this.onBeforeInput),t.removeEventListener("input",this.onTextareaInput),t.removeEventListener("select",this.onTextareaSelect),t.removeEventListener("compositionstart",this.onCompositionStart),t.removeEventListener("compositionend",this.onCompositionEnd),t.removeEventListener("keydown",this.onTextareaKeyDown),t.removeEventListener("blur",this.onTextareaBlur),t.remove(),this.composing=!1)},r.syncTextareaSelection=function(){if(this.textarea){var t=Math.min(this.selectionStart,this.selectionEnd),e=Math.max(this.selectionStart,this.selectionEnd);this.textarea.setSelectionRange(t,e,this.selectionEnd<this.selectionStart?"backward":"forward")}},r.scheduleTextareaFocus=function(){var t=this;this.cancelTextareaFocus(),this.textareaFocusTimer=setTimeout(function(){t.textareaFocusTimer=null,t.focusTextarea()})},r.cancelTextareaFocus=function(){null!==this.textareaFocusTimer&&(clearTimeout(this.textareaFocusTimer),this.textareaFocusTimer=null)},r.focusTextarea=function(){this.textarea&&this.hasFocus()&&document.activeElement!==this.textarea&&this.textarea.focus({preventScroll:!0})},u(o,[{key:"text",get:function(){return this._text},set:function(t){this.setText(t,!1)}},{key:"placeholderText",get:function(){return this._placeholderText},set:function(t){this._placeholderText!==t&&(this._placeholderText=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"editable",get:function(){return this._editable},set:function(t){this._editable!==t&&(this._editable=t,this.textarea&&(this.textarea.readOnly=!t),this.updateMinimumSize())}},{key:"maxLength",get:function(){return this._maxLength},set:function(t){this._maxLength=Math.max(0,Math.floor(t)),this._maxLength>0&&this._text.length>this._maxLength&&this.setText(this._text.slice(0,this._maxLength),!1),this.textarea&&(this._maxLength>0?this.textarea.maxLength=this._maxLength:this.textarea.removeAttribute("maxlength"))}},{key:"caretColumn",get:function(){return this.selectionEnd},set:function(t){this.setSelection(t,t)}},{key:"hasSelection",get:function(){return this.selectionStart!==this.selectionEnd}}]),o}(t.Control);function t6(t,e){var i=Math.max(0,e-1);return i>0&&t7(t.charCodeAt(i))&&t9(t.charCodeAt(i-1))?i-1:i}function t8(t,e){return e>=t.length?t.length:Math.min(t.length,e+(t9(t.charCodeAt(e))&&t7(t.charCodeAt(e+1))?2:1))}function t9(t){return t>=55296&&t<=56319}function t7(t){return t>=56320&&t<=57343}t3.themeType="TextInput",t.LineEdit=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e)||this).multiline=!1,o.alignment=t.HorizontalAlignment.Left,o.scrollOffset=0,o._secret=!1,o._secretCharacter="•",o.text=n,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var t=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.measureText("M",this.getTextFontSize(),i.family,i.weight,i.style);return new e.math.Vector2(t.left+t.right+24,t.top+t.bottom+n.lineHeight)},r.getDesiredSize=function(){var t=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.getVisibleText()||this.placeholderText,o=this.measureText(n,this.getTextFontSize(),i.family,i.weight,i.style);return new e.math.Vector2(t.left+t.right+o.width,t.top+t.bottom+o.lineHeight)},r.draw=function(){this.drawTextBackground();var t=this.getTextStyleBox().getContentMargins(),e=Math.max(0,this.width-t.left-t.right),i=this.getVisibleText(),n=i||this.placeholderText,o=this.getTextFont(),r=this.getTextFontSize(),s=this.measureText(n,r,o.family,o.weight,o.style),a=t.top+Math.max(0,(this.height-t.top-t.bottom-s.lineHeight)*.5);this.updateScrollOffset(e);var h=this.getAlignedTextX(s.width,e,t.left)-this.scrollOffset;if(this.engine.graphics.pushClipRect(t.left,t.top,e,Math.max(0,this.height-t.top-t.bottom)),i){var l=this.getSelectionRange(),u=l[0],c=l[1],d=this.measurePrefix(u),g=this.measurePrefix(c)-d;this.drawSelection(h+d,a,g,s.lineHeight)}this.drawText(h,a,n,r,this.getTextColor(),o.family,o.weight,o.style),i?this.drawCaret(h+this.measurePrefix(this.caretColumn),a,s.lineHeight):this.drawCaret(h,a,s.lineHeight),this.engine.graphics.popClipRect()},r.getDisplayText=function(){return this.getVisibleText()},r.getCharacterIndex=function(t){var e=this.getTextStyleBox().getContentMargins(),i=Math.max(0,this.width-e.left-e.right),n=this.measurePrefix(this.text.length),o=this.getAlignedTextX(n,i,e.left)-this.scrollOffset,r=t.x-o;if(r<=0)return 0;for(var s=function(t){for(var e,i=[0],n=0,o=g(t);!(e=o()).done;)i.push(n+=e.value.length);return i}(this.text),a=1;a<s.length;a++)if(r<(this.measurePrefix(s[a-1])+this.measurePrefix(s[a]))*.5)return s[a-1];return this.text.length},r.getVisibleText=function(){return this.secret?(this.secretCharacter||"•").repeat(Array.from(this.text).length):this.text},r.measurePrefix=function(t){var e=this.getTextFont(),i=this.text.slice(0,t),n=this.secret?(this.secretCharacter||"•").repeat(Array.from(i).length):i;return this.measureText(n,this.getTextFontSize(),e.family,e.weight,e.style).width},r.updateScrollOffset=function(t){if(!this.hasFocus()){this.scrollOffset=0;return}var e=this.measurePrefix(this.caretColumn);e-this.scrollOffset>t&&(this.scrollOffset=e-t),e<this.scrollOffset&&(this.scrollOffset=e)},r.getAlignedTextX=function(e,i,n){return this.alignment===t.HorizontalAlignment.Center?n+(i-e)*.5:this.alignment===t.HorizontalAlignment.Right?n+i-e:n},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.text&&(this.text=t.text),void 0!==t.placeholderText&&(this.placeholderText=t.placeholderText),void 0!==t.editable&&(this.editable=t.editable),void 0!==t.maxLength&&(this.maxLength=t.maxLength),void 0!==t.secret&&(this.secret=t.secret),void 0!==t.secretCharacter&&(this.secretCharacter=t.secretCharacter),void 0!==t.alignment&&(this.alignment=t.alignment)},u(o,[{key:"secret",get:function(){return this._secret},set:function(t){this._secret!==t&&(this._secret=t,this.updateDesiredSize())}},{key:"secretCharacter",get:function(){return this._secretCharacter},set:function(t){var e,i=null!=(e=Array.from(t)[0])?e:"";this._secretCharacter!==i&&(this._secretCharacter=i,this.updateDesiredSize())}}]),o}(t3),t.LineEdit.themeType="LineEdit",t.LineEdit=f([e.effectsClass("LineEdit")],t.LineEdit),t.TextEdit=function(t){function i(e,i){var n;return void 0===i&&(i=""),(n=t.call(this,e)||this).multiline=!0,n.scrollLine=0,n.text=i,n}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){var t=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.measureText("M",this.getTextFontSize(),i.family,i.weight,i.style);return new e.math.Vector2(t.left+t.right+48,t.top+t.bottom+2*n.lineHeight)},o.getDesiredSize=function(){for(var t,i=this.getTextStyleBox().getContentMargins(),n=this.getTextFont(),o=this.getTextFontSize(),r=(this.text||this.placeholderText).split("\n"),s=0,a=this.measureText("M",o,n.family,n.weight,n.style).lineHeight,h=g(r);!(t=h()).done;){var l=t.value,u=this.measureText(l,o,n.family,n.weight,n.style);s=Math.max(s,u.width),a=Math.max(a,u.lineHeight)}return new e.math.Vector2(i.left+i.right+s,i.top+i.bottom+a*Math.max(2,r.length))},o.draw=function(){this.drawTextBackground();var t=this.getTextStyleBox().getContentMargins(),e=this.getTextFont(),i=this.getTextFontSize(),n=(this.text||this.placeholderText).split("\n");this.scrollLine=Math.max(0,Math.min(n.length-1,this.scrollLine));var o=this.measureText("M",i,e.family,e.weight,e.style).lineHeight,r=this.getSelectionRange(),s=r[0],a=r[1],h=n.slice(0,this.scrollLine).reduce(function(t,e){return t+e.length+1},0);this.engine.graphics.pushClipRect(t.left,t.top,Math.max(0,this.width-t.left-t.right),Math.max(0,this.height-t.top-t.bottom));for(var l=this.scrollLine;l<n.length;l++){var u=n[l],c=t.top+(l-this.scrollLine)*o;if(c>=this.height-t.bottom)break;if(this.text){var d=h,g=d+u.length,f=Math.max(d,s),m=Math.min(g,a);if(f<m){var p=this.measureLine(u.slice(0,f-d)),v=this.measureLine(u.slice(f-d,m-d));this.drawSelection(t.left+p,c,v,o)}}this.drawText(t.left,c,u,i,this.getTextColor(),e.family,e.weight,e.style),this.text&&this.caretColumn>=h&&this.caretColumn<=h+u.length&&this.drawCaret(t.left+this.measureLine(u.slice(0,this.caretColumn-h)),c,o),h+=u.length+1}this.engine.graphics.popClipRect()},o.onMouseWheel=function(t){var i=this.text.split("\n").length;t.buttonIndex===e.MouseButton.WheelUp?(this.scrollLine=Math.max(0,this.scrollLine-Math.max(1,Math.round(t.factor))),t.accept()):t.buttonIndex===e.MouseButton.WheelDown&&(this.scrollLine=Math.min(Math.max(0,i-1),this.scrollLine+Math.max(1,Math.round(t.factor))),t.accept())},o.onKeyDown=function(e){if("ArrowUp"===e.keycode||"ArrowDown"===e.keycode){var i=this.getVerticalCaretIndex("ArrowUp"===e.keycode?-1:1);this.moveCaret(i,e.shiftPressed),this.ensureCaretLineVisible(),e.accept();return}t.prototype.onKeyDown.call(this,e)},o.getCharacterIndex=function(t){for(var e=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.measureText("M",this.getTextFontSize(),i.family,i.weight,i.style).lineHeight,o=this.text.split("\n"),r=Math.max(0,Math.min(o.length-1,Math.floor((t.y-e.top)/n)+this.scrollLine)),s=o[r],a=o.slice(0,r).reduce(function(t,e){return t+e.length+1},0),h=t.x-e.left,l=1;l<=s.length;l++)if(h<(this.measureLine(s.slice(0,l-1))+this.measureLine(s.slice(0,l)))*.5)return a+l-1;return a+s.length},o.measureLine=function(t){var e=this.getTextFont();return this.measureText(t,this.getTextFontSize(),e.family,e.weight,e.style).width},o.getVerticalCaretIndex=function(t){for(var e=this.text.split("\n"),i=this.caretColumn,n=0,o=0;o<e.length-1;o++){var r=n+e[o].length;if(i<=r)break;n=r+1}for(var s=i-n,a=Math.max(0,Math.min(e.length-1,o+t)),h=0,l=0;l<a;l++)h+=e[l].length+1;return h+Math.min(s,e[a].length)},o.ensureCaretLineVisible=function(){var t=this.getTextStyleBox().getContentMargins(),e=this.getTextFont(),i=this.measureText("M",this.getTextFontSize(),e.family,e.weight,e.style).lineHeight,n=Math.max(1,Math.floor((this.height-t.top-t.bottom)/i)),o=this.text.slice(0,this.caretColumn).split("\n").length-1;o<this.scrollLine?this.scrollLine=o:o>=this.scrollLine+n&&(this.scrollLine=o-n+1)},o.onTextValueChanged=function(){var t=this.text.split("\n").length,e=this.text.slice(0,this.caretColumn).split("\n").length-1;this.scrollLine=Math.max(0,Math.min(t-1,this.scrollLine)),e<this.scrollLine&&(this.scrollLine=e)},o.fromData=function(e){t.prototype.fromData.call(this,e),void 0!==e.text&&(this.text=e.text),void 0!==e.placeholderText&&(this.placeholderText=e.placeholderText),void 0!==e.editable&&(this.editable=e.editable),void 0!==e.maxLength&&(this.maxLength=e.maxLength)},i}(t3),t.TextEdit.themeType="TextEdit",t.TextEdit=f([e.effectsClass("TextEdit")],t.TextEdit);var et=function(i){function o(n){var o;return(o=i.call(this,n)||this).popupEventEmitter=new e.EventEmitter,o.visible=!1,o.focusMode=t.FocusMode.All,o}n(o,i);var r=o.prototype;return r.onPopup=function(t,e){this.popupEventEmitter.on(t,e)},r.offPopup=function(t,e){this.popupEventEmitter.off(t,e)},r.popup=function(t,e){void 0===e&&(e=null);var i,n=null!=(i=null==e?void 0:e.root)?i:this.root;null==n||n.popupControl(this,e,t)},r.hidePopup=function(){var t;null==(t=this.root)||t.closePopupControl(this)},r.onKeyDown=function(t){"Escape"===t.keycode&&(this.hidePopup(),t.accept())},r.onPopupOpened=function(){this.popupEventEmitter.emit("popupOpened")},r.onPopupClosed=function(){this.popupEventEmitter.emit("popupClosed")},r.onDestroy=function(){var t;null==(t=this.root)||t.closePopupControl(this)},o}(t.PanelContainer);et.themeType="Popup",t.PopupPanel=function(t){function e(){return t.apply(this,arguments)}return n(e,t),e}(et),t.PopupPanel.themeType="PopupPanel",t.PopupPanel=f([e.effectsClass("PopupPanel")],t.PopupPanel),t.PopupMenu=function(t){function i(){var i;return i=t.apply(this,arguments)||this,i.menuEventEmitter=new e.EventEmitter,i.items=[],i.hoveredIndex=-1,i}n(i,t);var o=i.prototype;return o.on=function(e,i){"idPressed"===e?this.menuEventEmitter.on(e,i):t.prototype.on.call(this,e,i)},o.off=function(e,i){"idPressed"===e?this.menuEventEmitter.off(e,i):t.prototype.off.call(this,e,i)},o.addItem=function(t,e,i){void 0===e&&(e=this.items.length),void 0===i&&(i=null),this.items.push({id:e,text:t,icon:i}),this.updateMinimumSize(),this.updateDesiredSize()},o.addSeparator=function(t){void 0===t&&(t=""),this.items.push({id:"separator-"+this.items.length,text:t,separator:!0,disabled:!0}),this.updateMinimumSize(),this.updateDesiredSize()},o.clear=function(){this.items.length=0,this.hoveredIndex=-1,this.updateMinimumSize(),this.updateDesiredSize()},o.getItemCount=function(){return this.items.length},o.getItem=function(t){var e=this.items[t];return e?m({},e):void 0},o.setItemDisabled=function(t,e){this.items[t]&&(this.items[t].disabled=e)},o.setItemChecked=function(t,e){this.items[t]&&(this.items[t].checked=e)},o.getMinimumSize=function(){for(var t,i=this.getThemeStyleBox("panel").getContentMargins(),n=this.getThemeFont("font"),o=this.getThemeFontSize("fontSize"),r=this.getThemeConstant("itemHeight"),s=2*this.getThemeConstant("horizontalPadding"),a=0,h=g(this.items);!(t=h()).done;){var l=t.value;l.separator?a+=this.getThemeConstant("separatorHeight"):(s=Math.max(s,this.measureText(l.text,o,n.family,n.weight,n.style).width+2*this.getThemeConstant("horizontalPadding")+this.getThemeConstant("iconWidth")),a+=r)}return new e.math.Vector2(s+i.left+i.right,a+i.top+i.bottom)},o.getDesiredSize=function(){return this.getMinimumSize()},o.draw=function(){t.prototype.draw.call(this);for(var e=this.getThemeStyleBox("panel").getContentMargins(),i=this.getThemeFont("font"),n=this.getThemeFontSize("fontSize"),o=this.getThemeConstant("itemHeight"),r=this.getThemeConstant("horizontalPadding"),s=this.getThemeConstant("iconWidth"),a=e.top,h=0;h<this.items.length;h++){var l=this.items[h];if(l.separator){var u=this.getThemeConstant("separatorHeight");this.drawStyleBox(this.getThemeStyleBox("separator"),e.left+r,a+.5*u,Math.max(0,this.width-e.left-e.right-2*r),1),a+=u;continue}if(h!==this.hoveredIndex||l.disabled||this.drawStyleBox(this.getThemeStyleBox("hover"),e.left,a,Math.max(0,this.width-e.left-e.right),o),l.checked&&this.drawText(e.left+r,a+2,"✓",n,this.getThemeColor("checkColor"),i.family,i.weight,i.style),l.icon){var c=Math.min(o-4,s);this.drawTexture(e.left+r,a+(o-c)*.5,c,c,l.icon)}var d=this.measureText(l.text,n,i.family,i.weight,i.style);this.drawText(e.left+r+s,a+(o-d.lineHeight)*.5,l.text,n,this.getThemeColor(l.disabled?"fontDisabledColor":"fontColor"),i.family,i.weight,i.style),a+=o}},o.onMouseMove=function(t){this.hoveredIndex=this.getIndexAt(t.position.y)},o.onMouseLeave=function(){this.hoveredIndex=-1},o.onMouseDown=function(t){if(t.buttonIndex===e.MouseButton.Left){var i=this.getIndexAt(t.position.y);this.activateIndex(i)&&t.accept()}},o.onKeyDown=function(e){if("ArrowDown"===e.keycode||"ArrowUp"===e.keycode){this.hoveredIndex=this.findEnabledIndex(this.hoveredIndex,"ArrowDown"===e.keycode?1:-1),e.accept();return}if("Enter"===e.keycode||"Space"===e.keycode||" "===e.keycode){this.activateIndex(this.hoveredIndex)&&e.accept();return}t.prototype.onKeyDown.call(this,e)},o.onPopupOpened=function(){this.hoveredIndex=this.findEnabledIndex(-1,1),t.prototype.onPopupOpened.call(this)},o.getIndexAt=function(t){for(var e=this.getThemeStyleBox("panel").getContentMargins(),i=this.getThemeConstant("itemHeight"),n=e.top,o=0;o<this.items.length;o++){var r=this.items[o].separator?this.getThemeConstant("separatorHeight"):i;if(t>=n&&t<n+r)return o;n+=r}return -1},o.activateIndex=function(t){var e=this.items[t];return!!e&&!e.disabled&&!e.separator&&(this.menuEventEmitter.emit("idPressed",e.id),this.hidePopup(),!0)},o.findEnabledIndex=function(t,e){if(0===this.items.length)return -1;for(var i=t<0&&e<0?this.items.length:t,n=0;n<this.items.length;n++){i=(i+e+this.items.length)%this.items.length;var o=this.items[i];if(!o.disabled&&!o.separator)return i}return -1},o.fromData=function(e){if(t.prototype.fromData.call(this,e),void 0!==e.items){this.clear();for(var i,n=g(e.items);!(i=n()).done;){var o=i.value;if(o.separator)this.addSeparator(o.text);else{this.addItem(o.text,o.id);var r,s,a=this.items.length-1;this.setItemDisabled(a,null!=(r=o.disabled)&&r),this.setItemChecked(a,null!=(s=o.checked)&&s)}}}},i}(et),t.PopupMenu.themeType="PopupMenu",t.PopupMenu=f([e.effectsClass("PopupMenu")],t.PopupMenu),t.MenuButton=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e,n)||this).openMenu=function(){return o.showPopup()},o.focusMode=t.FocusMode.Accessibility,o.popupMenu=new t.PopupMenu(e),o.on("pressed",o.openMenu),o}n(o,i);var r=o.prototype;return r.showPopup=function(){var t=this.getGlobalTransform2D().elements;this.popupMenu.setSize(Math.max(this.width,this.popupMenu.getBoundDesiredSize().x),this.popupMenu.getBoundDesiredSize().y),this.popupMenu.popup(new e.math.Vector2(t[6],t[7]+this.height),this)},r.onDestroy=function(){this.off("pressed",this.openMenu),this.popupMenu.dispose(),i.prototype.onDestroy.call(this)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.items&&this.popupMenu.fromData({items:t.items})},o}(t.Button),t.MenuButton.themeType="MenuButton",t.MenuButton=f([e.effectsClass("MenuButton")],t.MenuButton),t.OptionButton=function(i){function o(n){var o;return(o=i.call(this,n)||this).optionEventEmitter=new e.EventEmitter,o._selected=-1,o.menuSelected=function(t){return o.selectId(t,!0)},o.focusMode=t.FocusMode.All,o.textAlignment=t.HorizontalAlignment.Left,o.popupMenu.on("idPressed",o.menuSelected),o}n(o,i);var r=o.prototype;return r.getContentInsets=function(){var t,e=i.prototype.getContentInsets.call(this),n=this.getThemeIcon("arrow"),o=null!=(t=null==n?void 0:n.width)?t:this.getThemeConstant("arrowSize");return m({},e,{right:e.right+o+Math.max(0,this.getThemeConstant("hSeparation"))})},r.drawDecoration=function(t){var e,i,n=this.getThemeIcon("arrow"),o=null!=(e=null==n?void 0:n.width)?e:this.getThemeConstant("arrowSize"),r=null!=(i=null==n?void 0:n.height)?i:o,s=this.getThemeConstant("arrowMargin"),a=Math.max(0,this.width-s-o),h=Math.floor(.5*Math.abs(this.height-r)),l=this.getArrowColor(t);if(n){this.drawTexture(a,h,o,r,n,void 0,l);return}var u=o/12,c=a+2*u,d=h+4*u,g=a+6*u,f=h+8*u,m=a+10*u,p=2*u,v=.5*p;this.drawLine(c,d,g,f,l,p),this.drawLine(g,f,m,d,l,p),this.fillCircle(c,d,v,l),this.fillCircle(g,f,v,l),this.fillCircle(m,d,v,l)},r.getArrowColor=function(e){if(0===this.getThemeConstant("modulateArrow"))return this.getThemeColor("iconTint");switch(e){case t.ButtonDrawMode.Pressed:return this.getThemeColor("fontPressedColor");case t.ButtonDrawMode.Hover:return this.getThemeColor("fontHoverColor");case t.ButtonDrawMode.HoverPressed:return this.getThemeColor("fontHoverPressedColor");case t.ButtonDrawMode.Disabled:return this.getThemeColor("fontDisabledColor");default:return this.hasFocus(!0)?this.getThemeColor("fontFocusColor"):this.getThemeColor("fontColor")}},r.onOption=function(t,e){this.optionEventEmitter.on(t,e)},r.offOption=function(t,e){this.optionEventEmitter.off(t,e)},r.addItem=function(t,e){void 0===e&&(e=this.popupMenu.getItemCount()),this.popupMenu.addItem(t,e),-1===this._selected&&this.select(0,!1)},r.clear=function(){this.popupMenu.clear(),this._selected=-1,this.text=""},r.select=function(t,e){void 0===e&&(e=!0);var i=this.popupMenu.getItem(t);i&&!i.disabled&&!i.separator&&(this._selected=t,this.text=i.text,e&&this.optionEventEmitter.emit("itemSelected",i.id))},r.selectId=function(t,e){void 0===e&&(e=!0);for(var i,n=0;n<this.popupMenu.getItemCount();n++)if((null==(i=this.popupMenu.getItem(n))?void 0:i.id)===t){this.select(n,e);return}},r.onDestroy=function(){this.popupMenu.off("idPressed",this.menuSelected),i.prototype.onDestroy.call(this)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.selected&&this.select(t.selected,!1)},u(o,[{key:"selected",get:function(){return this._selected},set:function(t){this.select(t,!1)}}]),o}(t.MenuButton),t.OptionButton.themeType="OptionButton",t.OptionButton=f([e.effectsClass("OptionButton")],t.OptionButton);var ee=function(i){function o(e){var n;return(n=i.call(this,e)||this).hue=0,n.saturation=1,n.value=1,n.dragging=!1,n.mouseFilter=t.MouseFilter.Stop,n.setCustomMinimumSize(180,120),n}n(o,i);var r=o.prototype;return r.draw=function(){for(var t=0;t<12;t++)for(var i=0;i<20;i++){var n=i/19,o=1-t/11;this.fillRect(i*this.width/20,t*this.height/12,this.width/20+1,this.height/12+1,er(this.hue,n,o,1))}var r=this.saturation*this.width,s=(1-this.value)*this.height;this.drawCircle(r,s,5,new e.math.Color(0,0,0,1),3),this.drawCircle(r,s,4,new e.math.Color(1,1,1,1),1)},r.onMouseDown=function(t){t.buttonIndex===e.MouseButton.Left&&(this.dragging=!0,this.updateValue(t.position),t.accept())},r.onMouseMove=function(t){this.dragging&&(this.updateValue(t.position),t.accept())},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.dragging&&(this.dragging=!1,this.updateValue(t.position),t.accept())},r.updateValue=function(t){this.saturation=en(t.x/Math.max(1,this.width)),this.value=1-en(t.y/Math.max(1,this.height)),null==this.changed||this.changed.call(this,this.saturation,this.value)},o}(t.Control),ei=function(i){function o(e){var n;return(n=i.call(this,e)||this).value=0,n.dragging=!1,n.mouseFilter=t.MouseFilter.Stop,n.setCustomMinimumSize(180,18),n}n(o,i);var r=o.prototype;return r.draw=function(){for(var t=0;t<24;t++)this.fillRect(t*this.width/24,0,this.width/24+1,this.height,er(t/23,1,1,1));this.drawLine(this.value*this.width,0,this.value*this.width,this.height,new e.math.Color(1,1,1,1),2)},r.onMouseDown=function(t){t.buttonIndex===e.MouseButton.Left&&(this.dragging=!0,this.updateValue(t.position.x),t.accept())},r.onMouseMove=function(t){this.dragging&&(this.updateValue(t.position.x),t.accept())},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.dragging&&(this.dragging=!1,this.updateValue(t.position.x),t.accept())},r.updateValue=function(t){this.value=en(t/Math.max(1,this.width)),null==this.changed||this.changed.call(this,this.value)},o}(t.Control);function en(t){return Math.max(0,Math.min(1,t))}function eo(t){var e=Math.max(t.r,t.g,t.b),i=e-Math.min(t.r,t.g,t.b),n=0;return i>0&&(n=(e===t.r?(t.g-t.b)/i%6:e===t.g?(t.b-t.r)/i+2:(t.r-t.g)/i+4)/6)<0&&(n+=1),{h:n,s:0===e?0:i/e,v:e}}function er(t,i,n,o){var r=Math.floor(6*t),s=6*t-r,a=n*(1-i),h=n*(1-s*i),l=n*(1-(1-s)*i);switch(r%6){case 0:return new e.math.Color(n,l,a,o);case 1:return new e.math.Color(h,n,a,o);case 2:return new e.math.Color(a,n,l,o);case 3:return new e.math.Color(a,h,n,o);case 4:return new e.math.Color(l,a,n,o);default:return new e.math.Color(n,a,h,o)}}t.ColorPicker=function(i){function o(n){(o=i.call(this,n)||this).colorEventEmitter=new e.EventEmitter,o.channelFields=[],o.currentColor=new e.math.Color(1,1,1,1),o.syncing=!1,o._editAlpha=!0,o.setThemeConstantOverride("separation",6),o.plane=new ee(n),o.plane.setSizeFlags(t.SizeFlags.ExpandFill,t.SizeFlags.ExpandFill),o.plane.parent=h(o),o.hueBar=new ei(n),o.hueBar.setSizeFlags(t.SizeFlags.ExpandFill,t.SizeFlags.Fill),o.hueBar.parent=h(o),o.alphaSlider=new t.HSlider(n),o.alphaSlider.minValue=0,o.alphaSlider.maxValue=1,o.alphaSlider.step=.01,o.alphaSlider.setCustomMinimumSize(180,18),o.alphaSlider.parent=h(o);var o,r=new t.GridContainer(n);r.columns=4,r.setThemeConstantOverride("horizontalSeparation",4),r.setThemeConstantOverride("verticalSeparation",4),r.parent=h(o);for(var s=0,a=["R","G","B","A"];s<a.length;s++)!function(e,i){var s=i[e],a=o.channelFields.length,h=new t.VBoxContainer(n),l=new t.Label(n,s),u=new t.LineEdit(n);h.setThemeConstantOverride("separation",2),l.parent=h,u.parent=h,h.parent=r,u.on("textSubmitted",function(t){return o.submitChannel(a,t)}),o.channelFields.push(u)}(s,a);return o.hexField=new t.LineEdit(n),o.hexField.placeholderText="#RRGGBBAA",o.hexField.parent=h(o),o.hexField.on("textSubmitted",function(t){return o.submitHex(t)}),o.plane.changed=function(t,e){var i=eo(o.currentColor);o.setColor(er(i.h,t,e,o.currentColor.a),!0)},o.hueBar.changed=function(t){var e=eo(o.currentColor);o.setColor(er(t,e.s,e.v,o.currentColor.a),!0)},o.alphaSlider.on("valueChanged",function(t){o.syncing||o.setColor(new e.math.Color(o.currentColor.r,o.currentColor.g,o.currentColor.b,t),!0)}),o.syncEditors(),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"colorChanged"===t?this.colorEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"colorChanged"===t?this.colorEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.setColor=function(t,e){void 0===e&&(e=!1),!this.currentColor.equals(t)&&(this.currentColor.copyFrom(t),this.syncEditors(),e&&this.colorEventEmitter.emit("colorChanged",this.currentColor.clone()))},r.syncEditors=function(){this.syncing=!0;var t,e,i=eo(this.currentColor);this.plane.hue=i.h,this.plane.saturation=i.s,this.plane.value=i.v,this.hueBar.value=i.h,this.alphaSlider.setValueNoSignal(this.currentColor.a);for(var n=[this.currentColor.r,this.currentColor.g,this.currentColor.b,this.currentColor.a],o=0;o<this.channelFields.length;o++)this.channelFields[o].text=String(Math.round(255*n[o])),this.channelFields[o].editable=o<3||this._editAlpha;this.hexField.text=(t=this.currentColor,e=this._editAlpha,"#"+[t.r,t.g,t.b,t.a].map(function(t){return Math.round(255*en(t)).toString(16).padStart(2,"0").toUpperCase()}).slice(0,e?4:3).join("")),this.alphaSlider.visible=this._editAlpha,this.syncing=!1},r.submitChannel=function(t,i){var n=Number(i);if(Number.isFinite(n)){var o=[this.currentColor.r,this.currentColor.g,this.currentColor.b,this.currentColor.a];o[t]=en(n/255),this.setColor(new e.math.Color(o[0],o[1],o[2],o[3]),!0)}},r.submitHex=function(t){var i=function(t,i){var n=t.trim().replace("#","");if(!/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(n))return null;var o=Number.parseInt(n,16),r=8===n.length;return new e.math.Color((o>>(r?24:16)&255)/255,(o>>(r?16:8)&255)/255,(o>>(r?8:0)&255)/255,r?(255&o)/255:1)}(t,0);i&&(this._editAlpha||(i.a=this.currentColor.a),this.setColor(i,!0))},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.color&&(this.currentColor.copyFrom(t.color),this.syncEditors()),void 0!==t.editAlpha&&(this.editAlpha=t.editAlpha,this.syncEditors())},u(o,[{key:"color",get:function(){return this.currentColor.clone()},set:function(t){this.setColor(t,!1)}},{key:"editAlpha",get:function(){return this._editAlpha},set:function(t){this._editAlpha!==t&&(this._editAlpha=t,this.syncEditors())}}]),o}(t.VBoxContainer),t.ColorPicker.themeType="ColorPicker",t.ColorPicker=f([e.effectsClass("ColorPicker")],t.ColorPicker),t.ColorPickerButton=function(i){function o(n){var o;return(o=i.call(this,n)||this).colorEventEmitter=new e.EventEmitter,o.openPicker=function(){return o.showPicker()},o.popupPanel=new t.PopupPanel(n),o.picker=new t.ColorPicker(n),o.picker.setCustomMinimumSize(250,330),o.picker.parent=o.popupPanel,o.picker.on("colorChanged",function(t){return o.colorEventEmitter.emit("colorChanged",t)}),o.on("pressed",o.openPicker),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"colorChanged"===t?this.colorEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"colorChanged"===t?this.colorEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.showPicker=function(){var t=this.getGlobalTransform2D().elements;this.popupPanel.setSize(270,350),this.popupPanel.popup(new e.math.Vector2(t[6],t[7]+this.height),this)},r.getContentInsets=function(){var t=i.prototype.getContentInsets.call(this);return m({},t,{left:t.left+Math.max(18,this.height-t.top-t.bottom)+6})},r.drawDecoration=function(t){var e=this.getNormalContentInsets(),i=Math.max(12,this.height-e.top-e.bottom);this.fillRect(e.left,(this.height-i)*.5,i,i,this.picker.color),this.drawRect(e.left+.5,(this.height-i)*.5+.5,i-1,i-1,this.getThemeColor("swatchBorderColor"),1)},r.onDestroy=function(){this.off("pressed",this.openPicker),this.popupPanel.dispose(),i.prototype.onDestroy.call(this)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.color&&this.picker.fromData({color:t.color}),void 0!==t.editAlpha&&(this.editAlpha=t.editAlpha)},u(o,[{key:"color",get:function(){return this.picker.color},set:function(t){this.picker.color=t}},{key:"editAlpha",get:function(){return this.picker.editAlpha},set:function(t){this.picker.editAlpha=t}}]),o}(t.Button),t.ColorPickerButton.themeType="ColorPickerButton",t.ColorPickerButton=f([e.effectsClass("ColorPickerButton")],t.ColorPickerButton),e.registerPlugin("gui",tI),t.BaseButton=t1,t.BoxContainer=tP,t.ButtonGroup=t0,t.CanvasContainer=tw,t.CanvasRootControl=tT,t.GUIPlugin=tI,t.GUIWindowComponent=tz,t.Popup=et,t.Range=tA,t.RootControl=tp,t.ScrollBar=t_,t.Slider=t4,t.StyleBox=Q,t.StyleBoxEmpty=$,t.StyleBoxFlat=Z,t.StyleBoxTexture=tn,t.TextInput=t3,t.Theme=tr,t.ThemeRegistry=to,t.UICanvas=tB,t.WindowRootControl=tb,t.cloneThemeValue=Y,t.styleBoxFromData=ts,t.themeFallbacks=ta,t.version="2.10.0",Object.defineProperty(t,"__esModule",{value:!0})});
6
+ * Version: v2.10.1
7
+ */function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.gui={}),t.ge)}(this,function(t,e){"use strict";function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function n(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function r(t,e,n){return(r=o()?Reflect.construct:function(t,e,n){var o=[null];o.push.apply(o,e);var r=new(Function.bind.apply(t,o));return n&&i(r,n.prototype),r}).apply(null,arguments)}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function a(t){var e="function"==typeof Map?new Map:void 0;return(a=function(t){if(null===t||-1===Function.toString.call(t).indexOf("[native code]"))return t;if("function"!=typeof t)throw TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return r(t,arguments,s(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,t)})(t)}function h(t){if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function u(t,e,i){return e&&l(t.prototype,e),i&&l(t,i),t}function c(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):c(t,e)}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=Array(e);i<e;i++)n[i]=t[i];return n}function g(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return(i=i.call(t)).next.bind(i);if(Array.isArray(t)||(i=function(t,e){if(t){if("string"==typeof t)return d(t,void 0);var i=Object.prototype.toString.call(t).slice(8,-1);if("Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return d(t,void 0)}}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(t,e,i,n){var o,r=arguments.length,s=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(r<3?o(s):r>3?o(e,i,s):o(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s}function m(){return(m=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t}).apply(this,arguments)}t.MouseFilter=void 0,(L=t.MouseFilter||(t.MouseFilter={}))[L.Stop=0]="Stop",L[L.Pass=1]="Pass",L[L.Ignore=2]="Ignore",t.MouseBehaviorRecursive=void 0,(V=t.MouseBehaviorRecursive||(t.MouseBehaviorRecursive={}))[V.Inherited=0]="Inherited",V[V.Disabled=1]="Disabled",V[V.Enabled=2]="Enabled",t.FocusMode=void 0,(O=t.FocusMode||(t.FocusMode={}))[O.None=0]="None",O[O.Click=1]="Click",O[O.All=2]="All",O[O.Accessibility=3]="Accessibility",t.FocusBehaviorRecursive=void 0,(_=t.FocusBehaviorRecursive||(t.FocusBehaviorRecursive={}))[_.Inherited=0]="Inherited",_[_.Disabled=1]="Disabled",_[_.Enabled=2]="Enabled",t.CursorShape=void 0,(H=t.CursorShape||(t.CursorShape={}))[H.Arrow=0]="Arrow",H[H.Ibeam=1]="Ibeam",H[H.PointingHand=2]="PointingHand",H[H.Cross=3]="Cross",H[H.Wait=4]="Wait",H[H.Busy=5]="Busy",H[H.Drag=6]="Drag",H[H.CanDrop=7]="CanDrop",H[H.Forbidden=8]="Forbidden",H[H.Vsize=9]="Vsize",H[H.Hsize=10]="Hsize",H[H.Bdiagsize=11]="Bdiagsize",H[H.Fdiagsize=12]="Fdiagsize",H[H.Move=13]="Move",H[H.Vsplit=14]="Vsplit",H[H.Hsplit=15]="Hsplit",H[H.Help=16]="Help","function"==typeof SuppressedError&&SuppressedError;var p,v,y,x,C,M,S,T,w,b,z,B,I,k,F,D,P,E,A,R,L,V,O,_,H,N,G=e.math.Color,W=e.math.Vector2;t.ThemeItemType=void 0,(p=t.ThemeItemType||(t.ThemeItemType={})).Color="color",p.Constant="constant",p.Font="font",p.FontSize="fontSize",p.Icon="icon",p.StyleBox="styleBox",t.PatchStretchMode=void 0,(v=t.PatchStretchMode||(t.PatchStretchMode={}))[v.Stretch=0]="Stretch",v[v.Tile=1]="Tile",v[v.TileFit=2]="TileFit";var U={left:0,top:0,right:0,bottom:0};function j(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function K(t){var e,i,n,o;return{left:null!=(e=null==t?void 0:t.left)?e:0,top:null!=(i=null==t?void 0:t.top)?i:0,right:null!=(n=null==t?void 0:t.right)?n:0,bottom:null!=(o=null==t?void 0:t.bottom)?o:0}}function q(t,e){if(!Number.isFinite(e))throw RangeError(""+t+" must be finite.");return e}function X(t,e){return Math.max(0,q(t,e))}function Y(t){return c(t,G)?t.clone():t&&"object"==typeof t&&"family"in t&&"weight"in t&&"style"in t?{family:t.family,weight:t.weight,style:t.style}:t}var Q=function(){function t(){this.eventEmitter=new e.EventEmitter,this.contentMargins=j(U),this.readOnly=!1}var i=t.prototype;return i.on=function(t,e){this.eventEmitter.on(t,e)},i.off=function(t,e){this.eventEmitter.off(t,e)},i.getContentMargins=function(){return j(this.contentMargins)},i.makeReadOnly=function(){return this.readOnly=!0,this},i.setContentMargins=function(t,e,i,n){var o=this;this.assertMutable();var r={left:X("StyleBox left content margin",t),top:X("StyleBox top content margin",e),right:X("StyleBox right content margin",i),bottom:X("StyleBox bottom content margin",n)};Object.keys(r).some(function(t){return r[t]!==o.contentMargins[t]})&&(this.contentMargins=r,this.notifyChanged())},i.getMinimumSize=function(){return new W(this.contentMargins.left+this.contentMargins.right,this.contentMargins.top+this.contentMargins.bottom)},i.notifyChanged=function(){this.eventEmitter.emit("changed",this)},i.assertMutable=function(){if(this.readOnly)throw Error("Native fallback StyleBoxes are read-only.")},u(t,[{key:"isReadOnly",get:function(){return this.readOnly}}]),t}(),$=function(t){function e(){return t.apply(this,arguments)}return n(e,t),e.prototype.draw=function(){},e}(Q);$.shared=new $().makeReadOnly();var Z=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.backgroundColor=G.CLEAR.clone(),e.borderColor=G.CLEAR.clone(),e.borderWidths=j(U),e.cornerRadii=j(U),e}n(e,t);var i=e.prototype;return i.getBackgroundColor=function(){return this.backgroundColor.clone()},i.getBorderColor=function(){return this.borderColor.clone()},i.getBorderWidths=function(){return j(this.borderWidths)},i.getCornerRadii=function(){return j(this.cornerRadii)},i.setBackgroundColor=function(t){this.assertMutable(),this.backgroundColor.equals(t)||(this.backgroundColor.copyFrom(t),this.notifyChanged())},i.setBorderColor=function(t){this.assertMutable(),this.borderColor.equals(t)||(this.borderColor.copyFrom(t),this.notifyChanged())},i.setBorderWidths=function(t,e,i,n){var o=this;this.assertMutable();var r={left:X("StyleBoxFlat left border width",t),top:X("StyleBoxFlat top border width",e),right:X("StyleBoxFlat right border width",i),bottom:X("StyleBoxFlat bottom border width",n)};Object.keys(r).some(function(t){return r[t]!==o.borderWidths[t]})&&(this.borderWidths=r,this.notifyChanged())},i.setCornerRadii=function(t,e,i,n){var o=this;this.assertMutable();var r={left:X("StyleBoxFlat top-left corner radius",t),top:X("StyleBoxFlat top-right corner radius",e),right:X("StyleBoxFlat bottom-right corner radius",i),bottom:X("StyleBoxFlat bottom-left corner radius",n)};Object.keys(r).some(function(t){return r[t]!==o.cornerRadii[t]})&&(this.cornerRadii=r,this.notifyChanged())},i.draw=function(t,e){if(!(e.width<=0)&&!(e.height<=0)){if(this.hasRoundedCorners()){this.drawRounded(t,e);return}t.fillRectangle(e.x,e.y,e.width,e.height,this.backgroundColor);var i=this.borderWidths;if(i.top>0&&t.fillRectangle(e.x,e.y,e.width,Math.min(i.top,e.height),this.borderColor),i.bottom>0){var n=Math.min(i.bottom,e.height);t.fillRectangle(e.x,e.y+e.height-n,e.width,n,this.borderColor)}if(i.left>0&&t.fillRectangle(e.x,e.y,Math.min(i.left,e.width),e.height,this.borderColor),i.right>0){var o=Math.min(i.right,e.width);t.fillRectangle(e.x+e.width-o,e.y,o,e.height,this.borderColor)}}},i.hasRoundedCorners=function(){var t=this.cornerRadii;return t.left>0||t.top>0||t.right>0||t.bottom>0},i.drawRounded=function(t,e){var i,n,o,r,s,a,h,l,u=(i=this.borderWidths,n=e.width,o=e.height,J("top","bottom",r=tt(),i,o,o,o),J("left","right",r,i,n,n,n),r),c=(s=this.cornerRadii,a=e.width,h=e.height,J("top","right",l=tt(),s,h,h-u.bottom,h-u.top),J("left","bottom",l,s,h,h-u.bottom,h-u.top),J("left","top",l,s,a,a-u.right,a-u.left),J("bottom","right",l,s,a,a-u.right,a-u.left),l);if(!(u.left>0||u.top>0||u.right>0||u.bottom>0)){te(t,e,c,this.backgroundColor);return}var d={x:e.x+u.left,y:e.y+u.top,width:Math.max(0,e.width-u.left-u.right),height:Math.max(0,e.height-u.top-u.bottom)};if(d.width<=0||d.height<=0){te(t,e,c,this.borderColor);return}var g={left:Math.max(0,c.left-Math.min(u.left,u.top)),top:Math.max(0,c.top-Math.min(u.right,u.top)),right:Math.max(0,c.right-Math.min(u.right,u.bottom)),bottom:Math.max(0,c.bottom-Math.min(u.left,u.bottom))};(function(t,e,i,n,o,r){for(var s=ti(e,i),a=ti(n,o),h=0;h<s.length;h++){var l=(h+1)%s.length;t.fillTriangle(s[h][0],s[h][1],s[l][0],s[l][1],a[h][0],a[h][1],r),t.fillTriangle(s[l][0],s[l][1],a[l][0],a[l][1],a[h][0],a[h][1],r)}})(t,e,c,d,g,this.borderColor),te(t,d,g,this.backgroundColor)},e}(Q);function J(t,e,i,n,o,r,s){var a=n[t]+n[e],h=a>0?Math.min(1,o/a):1;i[t]=Math.min(n[t]*h,r,i[t]),i[e]=Math.min(n[e]*h,s,i[e])}function tt(){return{left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.POSITIVE_INFINITY,bottom:Number.POSITIVE_INFINITY}}function te(t,e,i,n){for(var o=ti(e,i),r=e.x+.5*e.width,s=e.y+.5*e.height,a=0;a<o.length;a++){var h=o[a],l=o[(a+1)%o.length];t.fillTriangle(r,s,h[0],h[1],l[0],l[1],n)}}function ti(t,e){for(var i,n=[],o=[[t.x+e.left,t.y+e.left,e.left,Math.PI],[t.x+t.width-e.top,t.y+e.top,e.top,1.5*Math.PI],[t.x+t.width-e.right,t.y+t.height-e.right,e.right,0],[t.x+e.bottom,t.y+t.height-e.bottom,e.bottom,.5*Math.PI]],r=g(o);!(i=r()).done;)for(var s=i.value,a=s[0],h=s[1],l=s[2],u=s[3],c=0;c<=5;c++){var d=u+c/5*Math.PI*.5;n.push([a+Math.cos(d)*l,h+Math.sin(d)*l])}return n}var tn=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e._texture=null,e.sourceRect=null,e.patchMargins=j(U),e.tint=G.WHITE.clone(),e._horizontalAxisStretchMode=0,e._verticalAxisStretchMode=0,e._drawCenter=!0,e}n(e,t);var i=e.prototype;return i.getSourceRect=function(){return this.sourceRect?m({},this.sourceRect):null},i.getPatchMargins=function(){return j(this.patchMargins)},i.getTint=function(){return this.tint.clone()},i.setSourceRect=function(t,e,i,n){this.assertMutable(),this.sourceRect={x:q("StyleBoxTexture source x",t),y:q("StyleBoxTexture source y",e),width:X("StyleBoxTexture source width",i),height:X("StyleBoxTexture source height",n)},this.notifyChanged()},i.clearSourceRect=function(){this.assertMutable(),this.sourceRect&&(this.sourceRect=null,this.notifyChanged())},i.setPatchMargins=function(t,e,i,n){this.assertMutable(),this.patchMargins={left:X("StyleBoxTexture left patch margin",t),top:X("StyleBoxTexture top patch margin",e),right:X("StyleBoxTexture right patch margin",i),bottom:X("StyleBoxTexture bottom patch margin",n)},this.notifyChanged()},i.setTint=function(t){this.assertMutable(),this.tint.equals(t)||(this.tint.copyFrom(t),this.notifyChanged())},i.draw=function(t,e){var i,n=this.texture;if(n&&!(e.width<=0)&&!(e.height<=0)){var o=null!=(i=this.sourceRect)?i:{x:0,y:0,width:n.width,height:n.height};t.drawNinePatch(e.x,e.y,e.width,e.height,n,{sourceX:o.x,sourceY:o.y,sourceWidth:o.width,sourceHeight:o.height,marginLeft:this.patchMargins.left,marginTop:this.patchMargins.top,marginRight:this.patchMargins.right,marginBottom:this.patchMargins.bottom,horizontalMode:this.horizontalAxisStretchMode,verticalMode:this.verticalAxisStretchMode,drawCenter:this.drawCenter},this.tint)}},u(e,[{key:"texture",get:function(){return this._texture},set:function(t){this.assertMutable(),this._texture!==t&&(this._texture=t,this.notifyChanged())}},{key:"horizontalAxisStretchMode",get:function(){return this._horizontalAxisStretchMode},set:function(t){this.assertMutable(),this._horizontalAxisStretchMode!==t&&(this._horizontalAxisStretchMode=t,this.notifyChanged())}},{key:"verticalAxisStretchMode",get:function(){return this._verticalAxisStretchMode},set:function(t){this.assertMutable(),this._verticalAxisStretchMode!==t&&(this._verticalAxisStretchMode=t,this.notifyChanged())}},{key:"drawCenter",get:function(){return this._drawCenter},set:function(t){this.assertMutable(),this._drawCenter!==t&&(this._drawCenter=t,this.notifyChanged())}}]),e}(Q),to=function(){function t(){}return t.registerType=function(t,e,i){if(void 0===i&&(i={}),!t)throw Error("Theme type names cannot be empty.");if(e===t)throw Error("Theme type "+t+" cannot inherit itself.");if(e&&!this.types.has(e))throw Error("Unknown base theme type: "+e+".");if(e&&this.getTypeChain(e).includes(t))throw Error("Theme type inheritance cycle detected at "+t+".");var n=this.types.get(t);if(n&&n.baseType!==e)throw Error("Theme type "+t+" is already registered with base "+(null!=(o=n.baseType)?o:"<none>")+".");for(var o,r,s,a=m({},null!=(r=null==n?void 0:n.definitions)?r:{}),h=g(Object.keys(i));!(s=h()).done;){var l=s.value;if(a[l])throw Error("Theme item "+t+"."+l+" is already registered.");var u=i[l],d=Y(u.defaultValue);c(d,Q)&&d.makeReadOnly(),a[l]=m({},u,{defaultValue:d})}this.types.set(t,{baseType:e,definitions:a})},t.hasType=function(t){return this.types.has(t)},t.getTypeChain=function(t){for(var e,i,n=[],o=new Set,r=t;r&&!o.has(r);)n.push(r),o.add(r),r=null!=(i=null==(e=this.types.get(r))?void 0:e.baseType)?i:null;return n},t.getDefault=function(t,e,i){var n,o=null==(n=this.types.get(t))?void 0:n.definitions[i];return(null==o?void 0:o.type)===e?Y(o.defaultValue):void 0},t.getItemDefinition=function(t,e,i){for(var n,o=g(this.getTypeChain(t));!(n=o()).done;){var r,s=n.value,a=null==(r=this.types.get(s))?void 0:r.definitions[i];if((null==a?void 0:a.type)===e)return a}},t.affectsLayout=function(t,e,i){var n,o=this.getItemDefinition(t,e,i);return o?null!=(n=o.affectsLayout)&&n:"constant"===e||"font"===e||"fontSize"===e||"styleBox"===e},t.getItemDefinitions=function(t,e){void 0===e&&(e=!0);for(var i,n={},o=e?this.getTypeChain(t).reverse():[t],r=g(o);!(i=r()).done;)for(var s,a,h,l=i.value,u=null!=(a=null==(s=this.types.get(l))?void 0:s.definitions)?a:{},c=g(Object.keys(u));!(h=c()).done;){var d=h.value,f=u[d];n[d]=m({},f,{defaultValue:Y(f.defaultValue)})}return n},t}();to.types=new Map;var tr=function(){function t(){var t=this;this.eventEmitter=new e.EventEmitter,this.values=new Map,this.variations=new Map,this.styleBoxReferences=new Map,this.batchDepth=0,this.changePending=!1,this.layoutChangePending=!1,this.styleBoxChanged=function(){return t.notifyChanged(!0)}}var i=t.prototype;return i.on=function(t,e){this.eventEmitter.on(t,e)},i.off=function(t,e){this.eventEmitter.off(t,e)},i.batch=function(t){this.batchDepth++;try{return t()}finally{if(this.batchDepth--,0===this.batchDepth&&this.changePending){this.changePending=!1;var e=this.layoutChangePending;this.layoutChangePending=!1,this.eventEmitter.emit("changed",this,e)}}},i.setTypeVariation=function(t,e){if(!t||!e||t===e)throw Error("Theme variations require distinct non-empty names.");if(to.hasType(t))throw Error("Theme variation "+t+" conflicts with a registered control type.");if(!to.hasType(e)&&!this.variations.has(e))throw Error("Unknown theme variation base type: "+e+".");for(var i=e;i;){if(i===t)throw Error("Theme variation cycle detected at "+t+".");i=this.variations.get(i)}this.variations.get(t)!==e&&(this.variations.set(t,e),this.notifyChanged(!0))},i.clearTypeVariation=function(t){for(var e,i=g(this.variations);!(e=i()).done;){var n=e.value,o=n[0],r=n[1];if(o!==t&&r===t)throw Error("Theme variation "+t+" is still used by "+o+".")}this.variations.delete(t)&&this.notifyChanged(!0)},i.hasTypeVariation=function(t){return this.variations.has(t)},i.getTypeVariationBase=function(t){return this.variations.get(t)},i.getTypeDependencies=function(t){for(var e=[],i=new Set,n=t;!i.has(n);){e.push(n),i.add(n);var o=this.variations.get(n);if(!o)return e.push.apply(e,[].concat(to.getTypeChain(n).slice(1))),e;n=o}throw Error("Theme variation cycle detected at "+t+".")},i.setColor=function(t,e,i){this.setItem(t,"color",e,i)},i.getColor=function(t,e){return this.getItem(t,"color",e)},i.hasColor=function(t,e){return this.hasItem(t,"color",e)},i.clearColor=function(t,e){this.clearItem(t,"color",e)},i.setConstant=function(t,e,i){this.setItem(t,"constant",e,q(e,i))},i.getConstant=function(t,e){return this.getItem(t,"constant",e)},i.hasConstant=function(t,e){return this.hasItem(t,"constant",e)},i.clearConstant=function(t,e){this.clearItem(t,"constant",e)},i.setFont=function(t,e,i){this.setItem(t,"font",e,i)},i.getFont=function(t,e){return this.getItem(t,"font",e)},i.hasFont=function(t,e){return this.hasItem(t,"font",e)},i.clearFont=function(t,e){this.clearItem(t,"font",e)},i.setFontSize=function(t,e,i){if(!Number.isFinite(i)||i<=0)throw RangeError(""+e+" must be a positive finite font size.");this.setItem(t,"fontSize",e,i)},i.getFontSize=function(t,e){return this.getItem(t,"fontSize",e)},i.hasFontSize=function(t,e){return this.hasItem(t,"fontSize",e)},i.clearFontSize=function(t,e){this.clearItem(t,"fontSize",e)},i.setIcon=function(t,e,i){this.setItem(t,"icon",e,i)},i.getIcon=function(t,e){return this.getItem(t,"icon",e)},i.hasIcon=function(t,e){return this.hasItem(t,"icon",e)},i.clearIcon=function(t,e){this.clearItem(t,"icon",e)},i.setStyleBox=function(t,e,i){this.setItem(t,"styleBox",e,i)},i.getStyleBox=function(t,e){return this.getItem(t,"styleBox",e)},i.hasStyleBox=function(t,e){return this.hasItem(t,"styleBox",e)},i.clearStyleBox=function(t,e){this.clearItem(t,"styleBox",e)},i.hasItem=function(t,e,i){var n,o,r;return null!=(r=null==(o=this.values.get(t))?void 0:null==(n=o.get(e))?void 0:n.has(i))&&r},i.getItem=function(t,e,i){var n,o,r=null==(o=this.values.get(t))?void 0:null==(n=o.get(e))?void 0:n.get(i);return void 0===r?void 0:Y(r)},i.clearItem=function(t,e,i){var n=this.values.get(t),o=null==n?void 0:n.get(e),r=null==o?void 0:o.get(i);(null==o?void 0:o.delete(i))&&(0===o.size&&(null==n||n.delete(e)),(null==n?void 0:n.size)===0&&this.values.delete(t),c(r,Q)&&this.releaseStyleBox(r),this.notifyChanged(this.affectsLayout(t,e,i)))},i.clear=function(){if(0!==this.values.size||0!==this.variations.size){for(var t,e=g(this.styleBoxReferences.keys());!(t=e()).done;)t.value.off("changed",this.styleBoxChanged);this.styleBoxReferences.clear(),this.values.clear(),this.variations.clear(),this.notifyChanged(!0)}},i.setCollectionFromData=function(t,e,i){for(var n,o,r,s,a,h,l,u=null!=(n=i.colors)?n:{},c=null!=(o=i.constants)?o:{},d=null!=(r=i.fonts)?r:{},f=null!=(s=i.fontSizes)?s:{},m=null!=(a=i.icons)?a:{},p=null!=(h=i.styleBoxes)?h:{},v=g(Object.keys(u));!(l=v()).done;){var y=l.value,x=u[y];this.setColor(e,y,new G(x.r,x.g,x.b,x.a))}for(var C,M=g(Object.keys(c));!(C=M()).done;){var S=C.value;this.setConstant(e,S,c[S])}for(var T,w=g(Object.keys(d));!(T=w()).done;){var b=T.value;this.setFont(e,b,function(t){var e,i;return{family:t.family,weight:null!=(e=t.weight)?e:"normal",style:null!=(i=t.style)?i:"normal"}}(d[b]))}for(var z,B=g(Object.keys(f));!(z=B()).done;){var I=z.value;this.setFontSize(e,I,f[I])}for(var k,F=g(Object.keys(m));!(k=F()).done;){var D=k.value,P=m[D];this.setIcon(e,D,P?t.findObject(P):null)}for(var E,A=g(Object.keys(p));!(E=A()).done;){var R=E.value;this.setStyleBox(e,R,ts(t,p[R]))}},i.setItem=function(t,e,i,n){if(!t||!i)throw Error("Theme type and item names cannot be empty.");var o=this.values.get(t);o||this.values.set(t,o=new Map);var r=o.get(e);r||o.set(e,r=new Map);var s=r.get(i);c(s,Q)&&this.releaseStyleBox(s);var a=Y(n);r.set(i,a),c(a,Q)&&this.retainStyleBox(a),this.notifyChanged(this.affectsLayout(t,e,i))},i.retainStyleBox=function(t){var e,i=null!=(e=this.styleBoxReferences.get(t))?e:0;0===i&&t.on("changed",this.styleBoxChanged),this.styleBoxReferences.set(t,i+1)},i.releaseStyleBox=function(t){var e,i=null!=(e=this.styleBoxReferences.get(t))?e:0;i<=1?(t.off("changed",this.styleBoxChanged),this.styleBoxReferences.delete(t)):this.styleBoxReferences.set(t,i-1)},i.notifyChanged=function(t){this.batchDepth>0?(this.changePending=!0,this.layoutChangePending||(this.layoutChangePending=t)):this.eventEmitter.emit("changed",this,t)},i.affectsLayout=function(t,e,i){for(var n,o=g(this.getTypeDependencies(t));!(n=o()).done;){var r,s=n.value,a=to.getItemDefinition(s,e,i);if(a)return null!=(r=a.affectsLayout)&&r}return"constant"===e||"font"===e||"fontSize"===e||"styleBox"===e},t.fromData=function(e,i){var n=new t;return n.batch(function(){for(var t,o,r=null!=(t=i.variations)?t:{},s=new Map,a=g(Object.keys(r));!(o=a()).done;){var h=o.value;s.set(h,r[h])}for(;s.size>0;){for(var l,u=!1,c=g(s);!(l=c()).done;){var d=l.value,f=d[0],m=d[1];(to.hasType(m)||n.hasTypeVariation(m))&&(n.setTypeVariation(f,m),s.delete(f),u=!0)}if(!u)throw Error("Theme data contains an unknown or cyclic variation.")}for(var p,v=g(Object.keys(i.types));!(p=v()).done;){var y=p.value;n.setCollectionFromData(e,y,i.types[y])}}),n},t}();function ts(t,e){if("flat"===e.type){var i=new Z;e.backgroundColor&&i.setBackgroundColor(new G(e.backgroundColor.r,e.backgroundColor.g,e.backgroundColor.b,e.backgroundColor.a)),e.borderColor&&i.setBorderColor(new G(e.borderColor.r,e.borderColor.g,e.borderColor.b,e.borderColor.a));var n=K(e.borderWidths);i.setBorderWidths(n.left,n.top,n.right,n.bottom);var o=K(e.cornerRadii);i.setCornerRadii(o.left,o.top,o.right,o.bottom),r=i}else if("texture"===e.type){var r,s,a,h,l=new tn;l.texture=e.texture?t.findObject(e.texture):null,e.sourceRect&&l.setSourceRect(e.sourceRect.position[0],e.sourceRect.position[1],e.sourceRect.size[0],e.sourceRect.size[1]);var u=K(e.patchMargins);l.setPatchMargins(u.left,u.top,u.right,u.bottom),l.horizontalAxisStretchMode=null!=(s=e.horizontalAxisStretchMode)?s:0,l.verticalAxisStretchMode=null!=(a=e.verticalAxisStretchMode)?a:0,l.drawCenter=null==(h=e.drawCenter)||h,e.tint&&l.setTint(new G(e.tint.r,e.tint.g,e.tint.b,e.tint.a)),r=l}else r=new $;var c=K(e.contentMargins);return r.setContentMargins(c.left,c.top,c.right,c.bottom),r}var ta={color:G.CLEAR.clone(),constant:0,font:{family:"sans-serif",weight:"normal",style:"normal"},fontSize:14,icon:null,styleBox:$.shared},th=e.math.Color,tl=e.math.Matrix3,tu=e.math.Vector2;function tc(t){if(!Number.isFinite(t.x)||!Number.isFinite(t.y))throw RangeError("Control minimum and desired sizes must be finite.");return new tu(Math.max(0,t.x),Math.max(0,t.y))}function td(t){if(!Number.isFinite(t.x)||!Number.isFinite(t.y))throw RangeError("Control maximum sizes must be finite.");return new tu(t.x<0?-1:t.x,t.y<0?-1:t.y)}function tg(t,e){return t<0?e:e<0?t:Math.min(t,e)}function tf(t,e){return e<0?t:Math.min(t,e)}t.SizeFlags=void 0,(y=t.SizeFlags||(t.SizeFlags={}))[y.ShrinkBegin=0]="ShrinkBegin",y[y.Fill=1]="Fill",y[y.Expand=2]="Expand",y[y.ShrinkCenter=4]="ShrinkCenter",y[y.ShrinkEnd=8]="ShrinkEnd",y[y.ExpandFill=3]="ExpandFill",t.GrowDirection=void 0,(x=t.GrowDirection||(t.GrowDirection={}))[x.Begin=0]="Begin",x[x.End=1]="End",x[x.Both=2]="Both";var tm={topLeft:[0,0,0,0],topRight:[1,0,1,0],bottomLeft:[0,1,0,1],bottomRight:[1,1,1,1],centerLeft:[0,.5,0,.5],centerTop:[.5,0,.5,0],centerRight:[1,.5,1,.5],centerBottom:[.5,1,.5,1],center:[.5,.5,.5,.5],leftWide:[0,0,0,1],topWide:[0,0,1,0],rightWide:[1,0,1,1],bottomWide:[0,1,1,1],vcenterWide:[.5,0,.5,1],hcenterWide:[0,.5,1,.5],fullRect:[0,0,1,1]};t.Control=function(){function i(i){var n=this;this.owner=null,this.children=[],this.position=new tu,this.size=new tu(1,1),this.anchorMin=new tu,this.anchorMax=new tu,this.offsetMin=new tu,this.offsetMax=new tu(1,1),this.pivot=new tu(.5,.5),this.scale=new tu(1,1),this.shear=new tu,this.mouseForcePassScrollEvents=!0,this.clipContents=!1,this._parent=null,this._visible=!0,this._enabled=!0,this._mouseFilter=t.MouseFilter.Stop,this._mouseBehaviorRecursive=t.MouseBehaviorRecursive.Inherited,this._focusMode=t.FocusMode.None,this._focusBehaviorRecursive=t.FocusBehaviorRecursive.Inherited,this._defaultCursorShape=t.CursorShape.Arrow,this._rotation=0,this.transformDirty=!0,this.cachedTransform=new tl,this.eventEmitter=new e.EventEmitter,this.disposed=!1,this.customMinimumSize=new tu,this.customMaximumSize=new tu(-1,-1),this.minimumSizeCache=null,this.desiredSizeCache=null,this.maximumSizeCache=null,this.pendingMeasurementChanges=0,this._horizontalSizeFlags=1,this._verticalSizeFlags=1,this._stretchRatio=1,this._horizontalGrowDirection=1,this._verticalGrowDirection=1,this._theme=null,this.themeOwnerNode=null,this._themeTypeVariation="",this.themeOverrides=new Map,this.themeCache=new Map,this.overrideStyleBoxReferences=new Map,this.attachedThemeChanged=function(t,e){n.propagateThemeChanged(e)},this.overrideStyleBoxChanged=function(){return n.propagateThemeChanged(!0,!1)},this.engine=i}var n=i.prototype;return n.getInheritedTheme=function(){var t,e;return null!=(e=null==(t=this.themeOwnerNode)?void 0:t.theme)?e:null},n.getThemeOwnerNode=function(){return this.themeOwnerNode},n.hasThemeOwnerNode=function(){return null!==this.themeOwnerNode},n.getThemeType=function(){return this.constructor.themeType},n.getThemeColor=function(e,i){return Y(this.resolveThemeItem(t.ThemeItemType.Color,e,i).value)},n.getThemeConstant=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Constant,e,i).value},n.getThemeFont=function(e,i){return Y(this.resolveThemeItem(t.ThemeItemType.Font,e,i).value)},n.getThemeFontSize=function(e,i){return this.resolveThemeItem(t.ThemeItemType.FontSize,e,i).value},n.getThemeIcon=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Icon,e,i).value},n.getThemeStyleBox=function(e,i){return this.resolveThemeItem(t.ThemeItemType.StyleBox,e,i).value},n.hasThemeColor=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Color,e,i).found},n.hasThemeConstant=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Constant,e,i).found},n.hasThemeFont=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Font,e,i).found},n.hasThemeFontSize=function(e,i){return this.resolveThemeItem(t.ThemeItemType.FontSize,e,i).found},n.hasThemeIcon=function(e,i){return this.resolveThemeItem(t.ThemeItemType.Icon,e,i).found},n.hasThemeStyleBox=function(e,i){return this.resolveThemeItem(t.ThemeItemType.StyleBox,e,i).found},n.setThemeColorOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.Color,e,i)},n.setThemeConstantOverride=function(e,i){if(!Number.isFinite(i))throw RangeError(""+e+" must be finite.");this.setThemeOverride(t.ThemeItemType.Constant,e,i)},n.setThemeFontOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.Font,e,i)},n.setThemeFontSizeOverride=function(e,i){if(!Number.isFinite(i)||i<=0)throw RangeError(""+e+" must be a positive finite font size.");this.setThemeOverride(t.ThemeItemType.FontSize,e,i)},n.setThemeIconOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.Icon,e,i)},n.setThemeStyleBoxOverride=function(e,i){this.setThemeOverride(t.ThemeItemType.StyleBox,e,i)},n.removeThemeColorOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Color,e)},n.removeThemeConstantOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Constant,e)},n.removeThemeFontOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Font,e)},n.removeThemeFontSizeOverride=function(e){this.removeThemeOverride(t.ThemeItemType.FontSize,e)},n.removeThemeIconOverride=function(e){this.removeThemeOverride(t.ThemeItemType.Icon,e)},n.removeThemeStyleBoxOverride=function(e){this.removeThemeOverride(t.ThemeItemType.StyleBox,e)},n.hasThemeColorOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Color,e)},n.hasThemeConstantOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Constant,e)},n.hasThemeFontOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Font,e)},n.hasThemeFontSizeOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.FontSize,e)},n.hasThemeIconOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.Icon,e)},n.hasThemeStyleBoxOverride=function(e){return this.hasThemeOverride(t.ThemeItemType.StyleBox,e)},n.clearThemeOverrides=function(){if(0!==this.themeOverrides.size){for(var t,e=!1,i=g(this.themeOverrides);!(t=i()).done;)for(var n,o=t.value,r=o[0],s=o[1],a=g(s);!(n=a()).done;){var h=n.value,l=h[0],u=h[1];c(u,Q)&&this.releaseOverrideStyleBox(u),e||(e=to.affectsLayout(this.getThemeType(),r,l))}this.themeOverrides.clear(),this.propagateThemeChanged(e,!1)}},n.hasFocus=function(t){var e,i;return void 0===t&&(t=!1),null!=(i=null==(e=this.root)?void 0:e.guiControlHasFocus(this,t))&&i},n.drawStyleBox=function(t,e,i,n,o){t.draw(this.engine.graphics,{x:e,y:i,width:n,height:o})},n.on=function(t,e){this.eventEmitter.on(t,e)},n.off=function(t,e){this.eventEmitter.off(t,e)},n.addChild=function(t){return t.parent=this,t},n.removeChild=function(t){t.parent===this&&(t.parent=null)},n.getChildIndex=function(t){return this.children.indexOf(t)},n.changeChildIndex=function(t,e){var i,n=this.children.indexOf(t);n!==e&&-1!==n&&(this.children.splice(n,1),e<0||e>=this.children.length?this.children.push(t):this.children.splice(e,0,t),null==(i=this.root)||i.controlTreeChanged())},n.addChildInternal=function(t){this.children.includes(t)||this.children.push(t)},n.removeChildInternal=function(t){var e=this.children.indexOf(t);-1!==e&&this.children.splice(e,1)},n.setPosition=function(t,e,i){if(void 0===i&&(i=!1),this.position.x!==t||this.position.y!==e){var n={position:new tu(t,e),size:this.size.clone()};i&&this.parent?this.computeAnchors(n,this.getParentRect()):this.computeOffsets(n,this.getParentRect()),this.updateLayout()}},n.setSize=function(t,e){if(this.size.x!==t||this.size.y!==e){var i={position:this.position.clone(),size:new tu(t,e)};this.computeOffsets(i,this.getParentRect()),this.updateLayout()}},n.setRect=function(t){var e={position:t.position.clone(),size:t.size.clone()};this.computeOffsets(e,this.getParentRect()),this.updateLayout()},n.setSizeFlags=function(t,e){if(!Number.isInteger(t)||t<0||!Number.isInteger(e)||e<0)throw RangeError("Control size flags must be non-negative integers.");(this._horizontalSizeFlags!==t||this._verticalSizeFlags!==e)&&(this._horizontalSizeFlags=t,this._verticalSizeFlags=e,this.eventEmitter.emit("sizeFlagsChanged",this))},n.getMinimumSize=function(){return new tu},n.getDesiredSize=function(){return new tu},n.getMaximumSize=function(){return new tu(-1,-1)},n.getCombinedMinimumSize=function(){var t=this.getCachedMinimumSize();return new tu(Math.max(t.x,this.customMinimumSize.x),Math.max(t.y,this.customMinimumSize.y))},n.getCombinedMaximumSize=function(){var t=this.getCachedMaximumSize();return new tu(tg(t.x,this.customMaximumSize.x),tg(t.y,this.customMaximumSize.y))},n.getBoundMinimumSize=function(){var t=this.getCombinedMinimumSize(),e=this.getCombinedMaximumSize();return new tu(tf(t.x,e.x),tf(t.y,e.y))},n.getBoundDesiredSize=function(){var t=this.getBoundMinimumSize(),e=this.getCombinedMaximumSize(),i=this.getCachedDesiredSize();return new tu(Math.max(t.x,tf(i.x,e.x)),Math.max(t.y,tf(i.y,e.y)))},n.setCustomMinimumSize=function(t,e){var i=tc(new tu(t,e));(this.customMinimumSize.x!==i.x||this.customMinimumSize.y!==i.y)&&(this.customMinimumSize.copyFrom(i),this.updateMinimumSize())},n.setCustomMaximumSize=function(t,e){var i=td(new tu(t,e));(this.customMaximumSize.x!==i.x||this.customMaximumSize.y!==i.y)&&(this.customMaximumSize.copyFrom(i),this.updateMaximumSize())},n.updateMinimumSize=function(){this.invalidateMeasurementChanges(1)},n.updateDesiredSize=function(){this.invalidateMeasurementChanges(2)},n.updateMaximumSize=function(){this.invalidateMeasurementChanges(4)},n.invokeMeasurementChanges=function(){if(!this.disposed&&0!==this.pendingMeasurementChanges){var t=this.pendingMeasurementChanges;this.pendingMeasurementChanges=0,(5&t)!=0&&this.updateLayout(),(1&t)!=0&&this.eventEmitter.emit("minimumSizeChanged",this),(2&t)!=0&&this.eventEmitter.emit("desiredSizeChanged",this),(4&t)!=0&&this.eventEmitter.emit("maximumSizeChanged",this)}},n.invalidateMeasurementChanges=function(e){var i=this.root,n=!1;(1&e)!=0&&(n||(n=null!==this.minimumSizeCache||!!i&&(1&this.pendingMeasurementChanges)==0),this.minimumSizeCache=null),(2&e)!=0&&(n||(n=null!==this.desiredSizeCache||!!i&&(2&this.pendingMeasurementChanges)==0),this.desiredSizeCache=null),(4&e)!=0&&(n||(n=null!==this.maximumSizeCache||!!i&&(4&this.pendingMeasurementChanges)==0),this.maximumSizeCache=null),i?this.scheduleMeasurementChanges(e,i):((5&e)!=0&&this.updateLayout(),(1&e)!=0&&this.eventEmitter.emit("minimumSizeChanged",this),(2&e)!=0&&this.eventEmitter.emit("desiredSizeChanged",this),(4&e)!=0&&this.eventEmitter.emit("maximumSizeChanged",this)),n&&c(this.parent,t.Container)&&this.parent.invalidateMeasurementsFromChild()},n.setScale=function(t,e){(this.scale.x!==t||this.scale.y!==e)&&(this.scale.set(t,e),this.markTransformDirty())},n.setRotation=function(t){this._rotation!==t&&(this._rotation=t,this.markTransformDirty())},n.setShear=function(t,e){(this.shear.x!==t||this.shear.y!==e)&&(this.shear.set(t,e),this.markTransformDirty())},n.setPivot=function(t,e){(this.pivot.x!==t||this.pivot.y!==e)&&(this.pivot.set(t,e),this.markTransformDirty())},n.setAnchorMin=function(t,e){(this.anchorMin.x!==t||this.anchorMin.y!==e)&&(this.anchorMin.set(t,e),this.updateLayout())},n.setAnchorMax=function(t,e){(this.anchorMax.x!==t||this.anchorMax.y!==e)&&(this.anchorMax.set(t,e),this.updateLayout())},n.setOffsetMin=function(t,e){(this.offsetMin.x!==t||this.offsetMin.y!==e)&&(this.offsetMin.set(t,e),this.updateLayout())},n.setOffsetMax=function(t,e){(this.offsetMax.x!==t||this.offsetMax.y!==e)&&(this.offsetMax.set(t,e),this.updateLayout())},n.getRect=function(){return{position:this.position.clone(),size:this.size.clone()}},n.getTransform2D=function(){if(this.transformDirty){var t=this._rotation*Math.PI/180,e=Math.sin(t),i=Math.cos(t),n=Math.tan(Math.max(-89,Math.min(89,this.shear.x))*Math.PI/180),o=Math.tan(Math.max(-89,Math.min(89,this.shear.y))*Math.PI/180),r=this.scale.x*(i-e*o),s=this.scale.x*(e+i*o),a=this.scale.y*(i*n-e),h=this.scale.y*(e*n+i),l=this.pivot.x*this.size.x,u=this.pivot.y*this.size.y,c=this.position.x+l-r*l-a*u,d=this.position.y+u-s*l-h*u;this.cachedTransform.set(r,s,0,a,h,0,c,d,1),this.transformDirty=!1}return this.cachedTransform},n.setAnchorsPreset=function(t,e){void 0===e&&(e=!0);var i=tm[t],n=i[0],o=i[1],r=i[2],s=i[3];if(e)this.anchorMin.set(n,o),this.anchorMax.set(r,s);else{var a=this.getRect();this.anchorMin.set(n,o),this.anchorMax.set(r,s),this.computeOffsets(a,this.getParentRect())}this.updateLayout()},n.setOffsetsPreset=function(t,e){if(void 0===e&&(e=0),this.parent){var i=this.parent.size,n=this.size.x,o=this.size.y,r=this.anchorMin,s=this.anchorMax,a=0,h=0,l=0,u=0;switch(t){case"topLeft":case"bottomLeft":case"centerLeft":case"topWide":case"bottomWide":case"leftWide":case"hcenterWide":case"fullRect":a=e-r.x*i.x;break;case"centerTop":case"centerBottom":case"center":case"vcenterWide":a=.5*i.x-n/2-r.x*i.x;break;default:a=i.x-e-n-r.x*i.x}switch(t){case"topLeft":case"bottomLeft":case"centerLeft":case"leftWide":h=e+n-s.x*i.x;break;case"centerTop":case"centerBottom":case"center":case"vcenterWide":h=.5*i.x+n/2-s.x*i.x;break;default:h=i.x-e-s.x*i.x}switch(t){case"topLeft":case"topRight":case"centerTop":case"leftWide":case"rightWide":case"topWide":case"vcenterWide":case"fullRect":l=e-r.y*i.y;break;case"centerLeft":case"centerRight":case"center":case"hcenterWide":l=.5*i.y-o/2-r.y*i.y;break;default:l=i.y-e-o-r.y*i.y}switch(t){case"topLeft":case"topRight":case"centerTop":case"topWide":u=e+o-s.y*i.y;break;case"centerLeft":case"centerRight":case"center":case"hcenterWide":u=.5*i.y+o/2-s.y*i.y;break;default:u=i.y-e-s.y*i.y}this.offsetMin.set(a,l),this.offsetMax.set(h,u),this.updateLayout()}},n.setAnchorsAndOffsetsPreset=function(t,e){void 0===e&&(e=0),this.setAnchorsPreset(t,!1),this.setOffsetsPreset(t,e)},n.getGlobalTransform2D=function(){var t=this.getTransform2D();return this.parent?new tl().multiplyMatrices(this.parent.getGlobalTransform2D(),t):t.clone()},n.hasPoint=function(t){return t.x>=0&&t.y>=0&&t.x<=this.size.x&&t.y<=this.size.y},n.intersectsChildContent=function(t,e){return!0},n.getEffectiveMouseFilter=function(){return this.enabledInHierarchy&&this.isMouseRecursiveEnabled()?this.mouseFilter:t.MouseFilter.Ignore},n.getFocusModeWithOverride=function(){return this.enabledInHierarchy&&this.isFocusRecursiveEnabled()?this.focusMode:t.FocusMode.None},n.getCursorShape=function(t){return this.defaultCursorShape},n.focus=function(t){var e;void 0===t&&(t=!1),null==(e=this.root)||e.grabControlFocus(this,t)},n.grabFocus=function(t){void 0===t&&(t=!1),this.focus(t)},n.grabClickFocus=function(){var t;null==(t=this.root)||t.grabControlClickFocus(this)},n.releaseFocus=function(){var t;null==(t=this.root)||t.releaseControlFocus(this)},n.warpMouse=function(t){var e,i=this.getGlobalTransform2D().elements;null==(e=this.root)||e.warpControlMouse(new tu(i[0]*t.x+i[3]*t.y+i[6],i[1]*t.x+i[4]*t.y+i[7]))},n.makePositionLocal=function(t){var e=this.getGlobalTransform2D().clone();if(1e-12>Math.abs(e.determinant()))return new tu;var i=e.invert().elements;return new tu(i[0]*t.x+i[3]*t.y+i[6],i[1]*t.x+i[4]*t.y+i[7])},n.getLocalMousePosition=function(){var t=this.root;return t?this.makePositionLocal(t.getMousePosition()):new tu},n.update=function(t){for(var e,i=g(this.children.slice());!(e=i()).done;){var n=e.value;n.enabled&&!n.isDisposed&&n.update(t)}},n.draw=function(){},n.onDestroy=function(){},n.drawInternal=function(){if(this.visibleInHierarchy&&!this.disposed){var t=this.engine.graphics;t.pushTransform(this.getTransform2D()),this.draw(),this.drawChildren(),t.popTransform()}},n.drawLine=function(t,e,i,n,o,r){this.engine.graphics.drawLine(t,e,i,n,o,r)},n.drawPolyline=function(t,e,i){this.engine.graphics.drawLines(t,e,i)},n.drawBezier=function(t,e,i,n,o,r,s,a,h,l){this.engine.graphics.drawBezier(t,e,i,n,o,r,s,a,h,l)},n.drawTriangle=function(t,e,i,n,o,r,s,a){this.engine.graphics.drawTriangle(t,e,i,n,o,r,s,a)},n.drawRect=function(t,e,i,n,o,r){this.engine.graphics.drawRectangle(t,e,i,n,o,r)},n.drawCircle=function(t,e,i,n,o){this.engine.graphics.drawCircle(t,e,i,n,o)},n.fillTriangle=function(t,e,i,n,o,r,s){this.engine.graphics.fillTriangle(t,e,i,n,o,r,s)},n.fillRect=function(t,e,i,n,o){this.engine.graphics.fillRectangle(t,e,i,n,o)},n.fillCircle=function(t,e,i,n){this.engine.graphics.fillCircle(t,e,i,n)},n.drawTexture=function(t,e,i,n,o,r,s){this.engine.graphics.drawTexture(t,e,i,n,o,r,s)},n.drawNinePatch=function(t,e,i,n,o,r,s){this.engine.graphics.drawNinePatch(t,e,i,n,o,r,s)},n.drawText=function(t,e,i,n,o,r,s,a){this.engine.graphics.drawText(t,e,i,n,o,r,s,a)},n.measureText=function(t,e,i,n,o){return this.engine.graphics.measureText(t,e,i,n,o)},n.onMouseEnter=function(t){},n.onMouseMove=function(t){},n.onMouseLeave=function(){},n.onMouseWheel=function(t){},n.onMouseDown=function(t){},n.onMouseUp=function(t){},n.onTouchDown=function(t){},n.onTouchMove=function(t){},n.onTouchUp=function(t){},n.onKeyDown=function(t){},n.onKeyUp=function(t){},n.onGotFocus=function(){},n.onLostFocus=function(){},n.onScrollBegin=function(){},n.onScrollEnd=function(){},n.onPopupOpened=function(){},n.onPopupClosed=function(){},n.invokeGetDragData=function(t){return this.getDragData(t)},n.invokeCanDropData=function(t,e){return this.canDropData(t,e)},n.invokeDropData=function(t,e){this.dropData(t,e)},n.dispose=function(){if(!this.disposed){for(var t,e,i=g(this.children.slice());!(e=i()).done;)e.value.dispose();null==(t=this._theme)||t.off("changed",this.attachedThemeChanged),this._theme=null;for(var n,o=g(this.overrideStyleBoxReferences.keys());!(n=o()).done;)n.value.off("changed",this.overrideStyleBoxChanged);this.overrideStyleBoxReferences.clear(),this.themeOverrides.clear(),this.themeCache.clear(),this.pendingMeasurementChanges=0,this.disposed=!0,this.onDestroy(),this.parent=null,this.owner=null}},n.updateLayout=function(){var t,e,i=null!=(e=null==(t=this.parent)?void 0:t.size)?e:new tu,n=this.offsetMin.x+this.anchorMin.x*i.x,o=this.offsetMin.y+this.anchorMin.y*i.y,r=this.offsetMax.x+this.anchorMax.x*i.x,s=this.offsetMax.y+this.anchorMax.y*i.y,a=this.getBoundMinimumSize(),h=this.getCombinedMaximumSize(),l=this.resolveBoundedAxis(n,r-n,a.x,h.x,this.horizontalGrowDirection),u=this.resolveBoundedAxis(o,s-o,a.y,h.y,this.verticalGrowDirection);this.applyBounds(l.position,u.position,l.size,u.size)},n.drawChildren=function(){var t=this.engine.graphics;this.clipContents&&t.pushClipRect(0,0,this.width,this.height);for(var e,i=g(this.children);!(e=i()).done;)e.value.drawInternal();this.clipContents&&t.popClipRect()},n.onThemeChanged=function(e){e&&(this.updateMinimumSize(),this.updateDesiredSize(),c(this,t.Container)&&this.queueSort())},n.onRootChanged=function(t,e){},n.getDragData=function(t){return null},n.canDropData=function(t,e){return!1},n.dropData=function(t,e){},n.getThemeDependencies=function(t,e){var i=this.getThemeType(),n=null!=e?e:this.themeTypeVariation||i;return t.hasTypeVariation(n)?t.getTypeDependencies(n):!e&&this.themeTypeVariation?[].concat([this.themeTypeVariation],to.getTypeChain(i)):to.getTypeChain(n)},n.getFallbackThemeDependencies=function(t){for(var e,i,n,o=this.getThemeType(),r=null!=t?t:this.themeTypeVariation||o,s=this.themeOwnerNode;s;s=null!=(i=null==(e=s.parent)?void 0:e.themeOwnerNode)?i:null)if(null==(n=s.theme)?void 0:n.hasTypeVariation(r))return s.theme.getTypeDependencies(r);return!t&&this.themeTypeVariation?[].concat([this.themeTypeVariation],to.getTypeChain(o)):to.getTypeChain(r)},n.resolveThemeItem=function(t,e,i){var n=t+"\0"+(null!=i?i:"")+"\0"+e,o=this.themeCache.get(n);if(o)return{found:o.found,value:Y(o.value)};var r=this.getThemeType(),s=!i||i===r||this.themeTypeVariation&&i===this.themeTypeVariation?null==(c=this.themeOverrides.get(t))?void 0:c.get(e):void 0,a=void 0!==s,h=s;if(!a)for(var l=this.themeOwnerNode;l&&!a;l=null!=(f=null==(d=l.parent)?void 0:d.themeOwnerNode)?f:null){var u=l.theme;if(u)for(var c,d,f,m,p=g(this.getThemeDependencies(u,i));!(m=p()).done;){var v=m.value,y=u.getItem(v,t,e);if(void 0!==y){h=y,a=!0;break}}}if(!a)for(var x,C=g(this.getFallbackThemeDependencies(i));!(x=C()).done;){var M=x.value,S=to.getDefault(M,t,e);if(void 0!==S){h=S,a=!0;break}}a||(h=this.getThemeFallback(t));var T={found:a,value:Y(h)};return this.themeCache.set(n,T),{found:T.found,value:Y(T.value)}},n.getThemeFallback=function(e){switch(e){case t.ThemeItemType.Color:return ta.color;case t.ThemeItemType.Constant:return ta.constant;case t.ThemeItemType.Font:return ta.font;case t.ThemeItemType.FontSize:return ta.fontSize;case t.ThemeItemType.Icon:return ta.icon;case t.ThemeItemType.StyleBox:return ta.styleBox}},n.setThemeOverride=function(t,e,i){if(!e)throw Error("Theme override item names cannot be empty.");var n=this.themeOverrides.get(t);n||this.themeOverrides.set(t,n=new Map);var o=n.get(e);c(o,Q)&&this.releaseOverrideStyleBox(o);var r=Y(i);n.set(e,r),c(r,Q)&&this.retainOverrideStyleBox(r),this.propagateThemeChanged(to.affectsLayout(this.getThemeType(),t,e),!1)},n.removeThemeOverride=function(t,e){var i=this.themeOverrides.get(t),n=null==i?void 0:i.get(e);(null==i?void 0:i.delete(e))&&(0===i.size&&this.themeOverrides.delete(t),c(n,Q)&&this.releaseOverrideStyleBox(n),this.propagateThemeChanged(to.affectsLayout(this.getThemeType(),t,e),!1))},n.hasThemeOverride=function(t,e){var i,n;return null!=(n=null==(i=this.themeOverrides.get(t))?void 0:i.has(e))&&n},n.retainOverrideStyleBox=function(t){var e,i=null!=(e=this.overrideStyleBoxReferences.get(t))?e:0;0===i&&t.on("changed",this.overrideStyleBoxChanged),this.overrideStyleBoxReferences.set(t,i+1)},n.releaseOverrideStyleBox=function(t){var e,i=null!=(e=this.overrideStyleBoxReferences.get(t))?e:0;i<=1?(t.off("changed",this.overrideStyleBoxChanged),this.overrideStyleBoxReferences.delete(t)):this.overrideStyleBoxReferences.set(t,i-1)},n.propagateThemeChanged=function(t,e){if(void 0===e&&(e=!0),!this.disposed&&(this.themeCache.clear(),this.root&&(this.onThemeChanged(t),this.eventEmitter.emit("themeChanged",this,t)),e))for(var i,n=g(this.children);!(i=n()).done;)i.value.propagateThemeChanged(t)},n.propagateThemeOwner=function(t,e,i){var n=i;this!==t&&this.theme&&(n=!1),n&&(this.themeOwnerNode=t),this.themeCache.clear(),e&&this.root&&(this.onThemeChanged(!0),this.eventEmitter.emit("themeChanged",this,!0));for(var o,r=g(this.children);!(o=r()).done;)o.value.propagateThemeOwner(t,e,n)},n.scheduleMeasurementChanges=function(t,e){var i=t&~this.pendingMeasurementChanges;0!==i&&(this.pendingMeasurementChanges|=i,e.queueMeasurementChange(this))},n.applyBounds=function(e,i,n,o){var r=this.position.x!==e||this.position.y!==i,s=this.size.x!==n||this.size.y!==o;if((r||s)&&(this.position.set(e,i),this.size.set(n,o),this.markTransformDirty(),r&&this.eventEmitter.emit("locationChanged",this),s&&(this.eventEmitter.emit("sizeChanged",this),!c(this,t.Container))))for(var a,h=g(this.children.slice());!(a=h()).done;)a.value.updateLayout()},n.markTransformDirty=function(){this.transformDirty=!0},n.getCachedMinimumSize=function(){return null!=this.minimumSizeCache||(this.minimumSizeCache=tc(this.getMinimumSize())),this.minimumSizeCache.clone()},n.getCachedDesiredSize=function(){return null!=this.desiredSizeCache||(this.desiredSizeCache=tc(this.getDesiredSize())),this.desiredSizeCache.clone()},n.getCachedMaximumSize=function(){return null!=this.maximumSizeCache||(this.maximumSizeCache=td(this.getMaximumSize())),this.maximumSizeCache.clone()},n.resolveBoundedAxis=function(t,e,i,n,o){var r=Number.isFinite(e)?e:0,s=Math.max(i,tf(r,n)),a=s-r,h=Number.isFinite(t)?t:0;return 0===o?h-=a:2===o&&(h-=a/2),{position:h,size:s}},n.assertGrowDirection=function(t){if(!Number.isInteger(t)||t<0||t>2)throw RangeError("Invalid Control grow direction.")},n.queuePendingLayouts=function(){c(this,t.Container)&&this.queueSort();for(var e,i=g(this.children);!(e=i()).done;)e.value.queuePendingLayouts()},n.queuePendingMeasurements=function(t){0!==this.pendingMeasurementChanges&&t.queueMeasurementChange(this);for(var e,i=g(this.children);!(e=i()).done;)e.value.queuePendingMeasurements(t)},n.notifyRootChanged=function(t,e){this.onRootChanged(t,e);for(var i,n=g(this.children);!(i=n()).done;)i.value.notifyRootChanged(t,e)},n.getParentRect=function(){var t,e;return{position:new tu,size:null!=(e=null==(t=this.parent)?void 0:t.size.clone())?e:new tu}},n.computeOffsets=function(t,e){this.offsetMin.set(t.position.x-e.position.x-this.anchorMin.x*e.size.x,t.position.y-e.position.y-this.anchorMin.y*e.size.y),this.offsetMax.set(t.position.x+t.size.x-e.position.x-this.anchorMax.x*e.size.x,t.position.y+t.size.y-e.position.y-this.anchorMax.y*e.size.y)},n.computeAnchors=function(t,e){0!==e.size.x&&(this.anchorMin.x=(t.position.x-e.position.x-this.offsetMin.x)/e.size.x,this.anchorMax.x=(t.position.x+t.size.x-e.position.x-this.offsetMax.x)/e.size.x),0!==e.size.y&&(this.anchorMin.y=(t.position.y-e.position.y-this.offsetMin.y)/e.size.y,this.anchorMax.y=(t.position.y+t.size.y-e.position.y-this.offsetMax.y)/e.size.y)},n.isMouseRecursiveEnabled=function(){if(this.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Inherited){var e,i;return null==(i=null==(e=this.parent)?void 0:e.isMouseRecursiveEnabled())||i}return this.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Enabled},n.isFocusRecursiveEnabled=function(){if(this.focusBehaviorRecursive===t.FocusBehaviorRecursive.Inherited){var e,i;return null==(i=null==(e=this.parent)?void 0:e.isFocusRecursiveEnabled())||i}return this.focusBehaviorRecursive===t.FocusBehaviorRecursive.Enabled},n.fromData=function(t){if(void 0!==t.anchorMin&&this.setAnchorMin.apply(this,[].concat(t.anchorMin)),void 0!==t.anchorMax&&this.setAnchorMax.apply(this,[].concat(t.anchorMax)),void 0!==t.offsetMin&&this.setOffsetMin.apply(this,[].concat(t.offsetMin)),void 0!==t.offsetMax&&this.setOffsetMax.apply(this,[].concat(t.offsetMax)),void 0!==t.pivot&&this.setPivot.apply(this,[].concat(t.pivot)),void 0!==t.scale&&this.setScale.apply(this,[].concat(t.scale)),void 0!==t.shear&&this.setShear.apply(this,[].concat(t.shear)),void 0!==t.rotation&&this.setRotation(t.rotation),void 0!==t.customMinimumSize&&this.setCustomMinimumSize.apply(this,[].concat(t.customMinimumSize)),void 0!==t.customMaximumSize&&this.setCustomMaximumSize.apply(this,[].concat(t.customMaximumSize)),void 0!==t.horizontalSizeFlags||void 0!==t.verticalSizeFlags){var e,i;this.setSizeFlags(null!=(e=t.horizontalSizeFlags)?e:this.horizontalSizeFlags,null!=(i=t.verticalSizeFlags)?i:this.verticalSizeFlags)}void 0!==t.stretchRatio&&(this.stretchRatio=t.stretchRatio),void 0!==t.horizontalGrowDirection&&(this.horizontalGrowDirection=t.horizontalGrowDirection),void 0!==t.verticalGrowDirection&&(this.verticalGrowDirection=t.verticalGrowDirection),void 0!==t.mouseFilter&&(this.mouseFilter=t.mouseFilter),void 0!==t.mouseBehaviorRecursive&&(this.mouseBehaviorRecursive=t.mouseBehaviorRecursive),void 0!==t.mouseForcePassScrollEvents&&(this.mouseForcePassScrollEvents=t.mouseForcePassScrollEvents),void 0!==t.focusMode&&(this.focusMode=t.focusMode),void 0!==t.focusBehaviorRecursive&&(this.focusBehaviorRecursive=t.focusBehaviorRecursive),void 0!==t.defaultCursorShape&&(this.defaultCursorShape=t.defaultCursorShape),void 0!==t.clipContents&&(this.clipContents=t.clipContents),void 0!==t.themeTypeVariation&&(this.themeTypeVariation=t.themeTypeVariation),void 0!==t.themeOverrides&&(this.clearThemeOverrides(),this.applyThemeOverridesFromData(t.themeOverrides))},n.applyThemeOverridesFromData=function(t){for(var e,i,n=g(Object.keys(null!=(e=t.colors)?e:{}));!(i=n()).done;){var o=i.value,r=t.colors[o];this.setThemeColorOverride(o,new th(r.r,r.g,r.b,r.a))}for(var s,a,h=g(Object.keys(null!=(s=t.constants)?s:{}));!(a=h()).done;){var l=a.value;this.setThemeConstantOverride(l,t.constants[l])}for(var u,c,d=g(Object.keys(null!=(u=t.fonts)?u:{}));!(c=d()).done;){var f,m,p=c.value,v=t.fonts[p];this.setThemeFontOverride(p,{family:v.family,weight:null!=(f=v.weight)?f:"normal",style:null!=(m=v.style)?m:"normal"})}for(var y,x,C=g(Object.keys(null!=(y=t.fontSizes)?y:{}));!(x=C()).done;){var M=x.value;this.setThemeFontSizeOverride(M,t.fontSizes[M])}for(var S,T,w=g(Object.keys(null!=(S=t.icons)?S:{}));!(T=w()).done;){var b=T.value,z=t.icons[b];this.setThemeIconOverride(b,z?this.engine.findObject(z):null)}for(var B,I,k=g(Object.keys(null!=(B=t.styleBoxes)?B:{}));!(I=k()).done;){var F=I.value;this.setThemeStyleBoxOverride(F,ts(this.engine,t.styleBoxes[F]))}},u(i,[{key:"parent",get:function(){return this._parent},set:function(t){if(t!==this._parent){var e,i,n=this.root;(null==(e=this._parent)?void 0:e.hasThemeOwnerNode())&&this.propagateThemeOwner(null,!1,!0),null==(i=this._parent)||i.removeChildInternal(this),this._parent=t,null==t||t.addChildInternal(this),(null==t?void 0:t.hasThemeOwnerNode())&&this.propagateThemeOwner(t.getThemeOwnerNode(),!1,!0),this.updateLayout();var o=this.root;o&&this.propagateThemeChanged(!0),n&&n!==o&&n.controlRemoved(this),o&&n!==o&&(this.queuePendingLayouts(),this.queuePendingMeasurements(o)),n!==o&&this.notifyRootChanged(n,o),null==o||o.controlTreeChanged(),this.eventEmitter.emit("parentChanged",this)}}},{key:"item",get:function(){var t,e;return null!=(e=null==(t=this.owner)?void 0:t.item)?e:null}},{key:"indexInParent",get:function(){var t,e;return null!=(e=null==(t=this.parent)?void 0:t.getChildIndex(this))?e:-1},set:function(t){var e;null==(e=this.parent)||e.changeChildIndex(this,t)}},{key:"visible",get:function(){return this._visible},set:function(t){if(this._visible!==t){var e;this._visible=t,null==(e=this.root)||e.controlStateChanged(this),this.eventEmitter.emit("visibilityChanged",this)}}},{key:"visibleInHierarchy",get:function(){var t,e;return this.visible&&(null==(e=null==(t=this.parent)?void 0:t.visibleInHierarchy)||e)}},{key:"enabled",get:function(){return this._enabled},set:function(t){if(this._enabled!==t){var e;this._enabled=t,null==(e=this.root)||e.controlStateChanged(this),this.eventEmitter.emit("enabledChanged",this)}}},{key:"enabledInHierarchy",get:function(){var t,e;return this.enabled&&(null==(e=null==(t=this.parent)?void 0:t.enabledInHierarchy)||e)}},{key:"mouseFilter",get:function(){return this._mouseFilter},set:function(t){if(this._mouseFilter!==t){var e;this._mouseFilter=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"mouseBehaviorRecursive",get:function(){return this._mouseBehaviorRecursive},set:function(t){if(this._mouseBehaviorRecursive!==t){var e;this._mouseBehaviorRecursive=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"focusMode",get:function(){return this._focusMode},set:function(t){if(this._focusMode!==t){var e;this._focusMode=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"focusBehaviorRecursive",get:function(){return this._focusBehaviorRecursive},set:function(t){if(this._focusBehaviorRecursive!==t){var e;this._focusBehaviorRecursive=t,null==(e=this.root)||e.controlStateChanged(this)}}},{key:"defaultCursorShape",get:function(){return this._defaultCursorShape},set:function(t){var e;this._defaultCursorShape!==t&&(this._defaultCursorShape=t,null==(e=this.root)||e.updateMouseCursorState())}},{key:"location",get:function(){return this.position},set:function(t){this.setPosition(t.x,t.y)}},{key:"rotation",get:function(){return this._rotation}},{key:"x",get:function(){return this.position.x},set:function(t){this.setPosition(t,this.position.y)}},{key:"y",get:function(){return this.position.y},set:function(t){this.setPosition(this.position.x,t)}},{key:"width",get:function(){return this.size.x},set:function(t){this.setSize(t,this.size.y)}},{key:"height",get:function(){return this.size.y},set:function(t){this.setSize(this.size.x,t)}},{key:"horizontalSizeFlags",get:function(){return this._horizontalSizeFlags},set:function(t){this.setSizeFlags(t,this._verticalSizeFlags)}},{key:"verticalSizeFlags",get:function(){return this._verticalSizeFlags},set:function(t){this.setSizeFlags(this._horizontalSizeFlags,t)}},{key:"stretchRatio",get:function(){return this._stretchRatio},set:function(t){if(!Number.isFinite(t)||t<=0)throw RangeError("Control stretchRatio must be a finite number greater than zero.");this._stretchRatio!==t&&(this._stretchRatio=t,this.eventEmitter.emit("sizeFlagsChanged",this))}},{key:"horizontalGrowDirection",get:function(){return this._horizontalGrowDirection},set:function(t){this.assertGrowDirection(t),this._horizontalGrowDirection!==t&&(this._horizontalGrowDirection=t,this.updateLayout())}},{key:"verticalGrowDirection",get:function(){return this._verticalGrowDirection},set:function(t){this.assertGrowDirection(t),this._verticalGrowDirection!==t&&(this._verticalGrowDirection=t,this.updateLayout())}},{key:"root",get:function(){var t,e;return c(this,tp)?this:null!=(e=null==(t=this.parent)?void 0:t.root)?e:null}},{key:"isDisposed",get:function(){return this.disposed}},{key:"theme",get:function(){return this._theme},set:function(t){var e,i,n;this._theme!==t&&(null==(e=this._theme)||e.off("changed",this.attachedThemeChanged),this._theme=t,t?(this.propagateThemeOwner(this,!!this.root,!0),t.on("changed",this.attachedThemeChanged)):this.propagateThemeOwner(null!=(n=null==(i=this.parent)?void 0:i.getThemeOwnerNode())?n:null,!!this.root,!0))}},{key:"themeTypeVariation",get:function(){return this._themeTypeVariation},set:function(t){var e=t.trim();this._themeTypeVariation!==e&&(this._themeTypeVariation=e,this.propagateThemeChanged(!0,!1))}}]),i}(),t.Control.themeType="Control",t.Control=f([e.effectsClass("Control")],t.Control),t.Container=function(t){function e(e){var i;return(i=t.call(this,e)||this).sortPending=!1,i.childLayoutChanged=function(){return i.invalidateMeasurementsAndQueueSort()},i.ownSizeChanged=function(){return i.queueSort()},i.on("sizeChanged",i.ownSizeChanged),i}n(e,t);var i=e.prototype;return i.queueSort=function(){var t=this.root;t&&!this.sortPending&&(this.sortPending=!0,t.queueLayout(this))},i.invokeSortChildren=function(){this.sortPending&&!this.isDisposed&&(this.sortChildren(),this.sortPending=!1)},i.changeChildIndex=function(e,i){var n=this.getChildIndex(e);t.prototype.changeChildIndex.call(this,e,i),n!==this.getChildIndex(e)&&this.invalidateMeasurementsAndQueueSort()},i.addChildInternal=function(e){var i=this.children.includes(e);t.prototype.addChildInternal.call(this,e),i||(this.bindChild(e),this.invalidateMeasurementsAndQueueSort())},i.removeChildInternal=function(e){var i=this.children.includes(e);i&&this.unbindChild(e),t.prototype.removeChildInternal.call(this,e),i&&this.invalidateMeasurementsAndQueueSort()},i.dispose=function(){this.off("sizeChanged",this.ownSizeChanged);for(var e,i=g(this.children.slice());!(e=i()).done;){var n=e.value;this.unbindChild(n)}t.prototype.dispose.call(this)},i.fitChildInRect=function(t,e){var i=t.getBoundMinimumSize(),n=t.getBoundDesiredSize(),o=t.getCombinedMaximumSize(),r=this.fitAxis(e.position.x,e.size.x,i.x,n.x,o.x,t.horizontalSizeFlags),s=this.fitAxis(e.position.y,e.size.y,i.y,n.y,o.y,t.verticalSizeFlags);t.anchorMin.set(0,0),t.anchorMax.set(0,0),t.setRotation(0),t.setScale(1,1),t.setShear(0,0),t.setRect({position:new tu(r.position,s.position),size:new tu(r.size,s.size)})},i.getLayoutChildren=function(){return this.children.filter(function(t){return t.visible&&!t.isDisposed})},i.sortChildren=function(){},i.bindChild=function(t){t.on("sizeFlagsChanged",this.childLayoutChanged),t.on("visibilityChanged",this.childLayoutChanged)},i.unbindChild=function(t){t.off("sizeFlagsChanged",this.childLayoutChanged),t.off("visibilityChanged",this.childLayoutChanged)},i.invalidateMeasurementsAndQueueSort=function(){this.invalidateMeasurementsFromChild()},i.invalidateMeasurementsFromChild=function(){this.invalidateMeasurementChanges(7),this.queueSort()},i.fitAxis=function(t,e,i,n,o,r){var s=(1&r)!=0?e:Math.min(e,n),a=e-(s=Math.max(i,tf(s,o))),h=t;return(8&r)!=0?h+=a:(4&r)!=0&&(h+=a/2),{position:h,size:s}},e}(t.Control),t.Container.themeType="Container",t.Container=f([e.effectsClass("Container")],t.Container);var tp=function(t){function i(){var i;return i=t.apply(this,arguments)||this,i.rootEventEmitter=new e.EventEmitter,i}n(i,t);var o=i.prototype;return o.on=function(e,i){"guiFocusChanged"===e?this.rootEventEmitter.on(e,i):t.prototype.on.call(this,e,i)},o.off=function(e,i){"guiFocusChanged"===e?this.rootEventEmitter.off(e,i):t.prototype.off.call(this,e,i)},i}(t.Control);to.registerType(t.Control.themeType,null),to.registerType(t.Container.themeType,t.Control.themeType);var tv=e.math.Matrix3,ty=e.math.Vector2,tx=((N={})[t.CursorShape.Arrow]="default",N[t.CursorShape.Ibeam]="text",N[t.CursorShape.PointingHand]="pointer",N[t.CursorShape.Cross]="crosshair",N[t.CursorShape.Wait]="wait",N[t.CursorShape.Busy]="progress",N[t.CursorShape.Drag]="grab",N[t.CursorShape.CanDrop]="copy",N[t.CursorShape.Forbidden]="not-allowed",N[t.CursorShape.Vsize]="ns-resize",N[t.CursorShape.Hsize]="ew-resize",N[t.CursorShape.Bdiagsize]="nesw-resize",N[t.CursorShape.Fdiagsize]="nwse-resize",N[t.CursorShape.Move]="move",N[t.CursorShape.Vsplit]="row-resize",N[t.CursorShape.Hsplit]="col-resize",N[t.CursorShape.Help]="help",N);function tC(t){switch(t){case e.MouseButton.Left:return e.MouseButtonMask.Left;case e.MouseButton.Right:return e.MouseButtonMask.Right;case e.MouseButton.Middle:return e.MouseButtonMask.Middle;case e.MouseButton.Xbutton1:return e.MouseButtonMask.Xbutton1;case e.MouseButton.Xbutton2:return e.MouseButtonMask.Xbutton2;default:return e.MouseButtonMask.None}}function tM(t){return t>=e.MouseButton.WheelUp&&t<=e.MouseButton.WheelRight}var tS=function(i){function o(e){var n;return(n=i.call(this,e)||this).mouseFilter=t.MouseFilter.Stop,n.visible=!1,n}return n(o,i),o.prototype.onMouseDown=function(t){(t.buttonIndex===e.MouseButton.Left||t.buttonIndex===e.MouseButton.Right)&&(null==this.closeTop||this.closeTop.call(this),t.accept())},o}(t.Control),tT=function(e){function i(i,n){var o;return(o=e.call(this,i)||this).canvas=n,o.mouseFilter=t.MouseFilter.Ignore,o.setSize(i.canvas.width,i.canvas.height),o}return n(i,e),u(i,[{key:"inputDisabled",get:function(){var t;return!this.canvas.receivesEvents||!this.canvas.enabled||!(null==(t=this.canvas.item)?void 0:t.isActive)}}]),i}(t.Control),tw=function(e){function i(i){var n;return(n=e.call(this,i)||this).mouseFilter=t.MouseFilter.Ignore,n.setSize(i.canvas.width,i.canvas.height),n}n(i,e);var o=i.prototype;return o.sortCanvases=function(){this.children.sort(function(t,e){return t.canvas.order-e.canvas.order})},o.addChildInternal=function(t){e.prototype.addChildInternal.call(this,t),t.setSize(this.width,this.height),this.sortCanvases()},o.drawChildren=function(){this.sortCanvases();var t=this.engine.graphics;this.clipContents&&t.pushClipRect(0,0,this.width,this.height);for(var e,i=g(this.children);!(e=i()).done;){var n=e.value;n.canvas.isVisible&&n.drawInternal()}this.clipContents&&t.popClipRect()},i}(t.Control),tb=function(i){function o(n){var o;return(o=i.call(this,n)||this).popupStack=[],o.dragThreshold=10,o.lastInput=null,o.dirtyContainers=new Set,o.dirtyMeasurements=new Set,o.gui={mouseFocus:null,mouseClickGrabber:null,mouseFocusMask:e.MouseButtonMask.None,mouseOver:null,mouseOverHierarchy:[],touchFocus:new Map,keyFocus:null,hideFocus:!1,dragAccum:new ty,dragAttempted:!1,dragging:!1,dragData:null,dragMouseOver:null,dragSuccessful:!1,lastMousePosition:new ty(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),sendingMouseEnterExit:!1,mouseOverUpdatePending:!1},o.mouseFilter=t.MouseFilter.Ignore,o.setSize(n.canvas.width,n.canvas.height),o.canvases=new tw(n),o.canvases.parent=h(o),o.popupLayer=new tS(n),o.popupLayer.setAnchorMax(1,1),o.popupLayer.setOffsetMax(0,0),o.popupLayer.closeTop=function(){var t=o.popupStack[o.popupStack.length-1];t&&o.closePopupControl(t.control)},o.popupLayer.parent=h(o),o}n(o,i);var r=o.prototype;return r.pushInput=function(t){this.lastInput=t,this.cleanupInternalState(),this.processGUIInput(t),this.postGrabClickFocus()},r.isInputHandled=function(){var t,e;return null!=(e=null==(t=this.lastInput)?void 0:t.isAccepted())&&e},r.getMousePosition=function(){return this.gui.lastMousePosition.clone()},r.guiGetFocusOwner=function(){return this.isFocusTargetUsable(this.gui.keyFocus)?this.gui.keyFocus:null},r.guiControlHasFocus=function(t,e){return void 0===e&&(e=!1),this.guiGetFocusOwner()===t&&(!e||!this.gui.hideFocus)},r.guiReleaseFocus=function(){this.releaseControlFocus()},r.guiIsDragging=function(){return this.gui.dragging},r.guiGetDragData=function(){return this.gui.dragData},r.guiIsDragSuccessful=function(){return this.gui.dragSuccessful},r.guiCancelDrag=function(){this.endDragging(!1)},r.grabControlFocus=function(t,e){if(void 0===e&&(e=!1),this.isFocusTargetUsable(t)){if(this.gui.keyFocus===t){this.gui.hideFocus=e;return}var i=this.gui.keyFocus;this.gui.keyFocus=t,this.gui.hideFocus=e,i&&!i.isDisposed&&i.onLostFocus(),t.onGotFocus(),this.notifyFocusOwnerChanged(t)}},r.grabControlClickFocus=function(t){var e=this;this.isControlValid(t)&&(this.gui.mouseClickGrabber=t,queueMicrotask(function(){return e.postGrabClickFocus()}))},r.releaseControlFocus=function(t){var e=this.gui.keyFocus;e&&(!t||e===t)&&(this.gui.keyFocus=null,this.gui.hideFocus=!1,e.isDisposed||e.onLostFocus(),this.notifyFocusOwnerChanged(null))},r.warpControlMouse=function(t){this.gui.lastMousePosition.copyFrom(t),this.updateMouseOver(t),this.updateMouseCursorState()},r.updateMouseCursorState=function(){var t=this.gui.lastMousePosition,e=this.isControlUsable(this.gui.mouseFocus)?this.gui.mouseFocus:this.isControlUsable(this.gui.mouseOver)?this.gui.mouseOver:null;this.updateCursor(e,t)},r.controlStateChanged=function(t){this.isControlUsable(t)||this.dropControlState(t),this.updateMouseOverHierarchy()},r.controlRemoved=function(t){this.dropControlState(t),this.cleanupInternalState(),this.updateMouseOverHierarchy()},r.controlTreeChanged=function(){this.updateMouseOverHierarchy()},r.popupControl=function(t,e,i){this.closePopupControl(t);var n,o=t.theme,r=this.guiGetFocusOwner(),s=null!=e?e:r,a=s===r&&!!s&&!s.hasFocus(!0);o||(t.theme=null!=(n=null==e?void 0:e.getInheritedTheme())?n:null);var h=t.getBoundDesiredSize(),l=Math.max(t.width,h.x),u=Math.max(t.height,h.y);t.setSize(l,u),t.setPosition(Math.max(0,Math.min(i.x,this.width-l)),Math.max(0,Math.min(i.y,this.height-u))),t.parent=this.popupLayer,t.visible=!0,this.popupLayer.visible=!0,this.popupStack.push({control:t,restoreFocus:s,restoreFocusHidden:a,originalTheme:o}),t.onPopupOpened(),t.grabFocus()},r.closePopupControl=function(t){var e=this.popupStack.findIndex(function(e){return e.control===t});if(-1!==e){for(var i=this.popupStack.splice(e),n=i.length-1;n>=0;n--){var o=i[n];o.control.visible=!1,o.control.parent=null,o.control.theme=o.originalTheme,o.control.onPopupClosed()}this.popupLayer.visible=this.popupStack.length>0;var r=i[0],s=r.restoreFocus,a=r.restoreFocusHidden;s&&!s.isDisposed&&s.root===this&&s.grabFocus(a)}},r.queueLayout=function(t){t.isDisposed||this.dirtyContainers.add(t)},r.queueMeasurementChange=function(t){t.isDisposed||this.dirtyMeasurements.add(t)},r.cancelPointerInput=function(){this.dropMouseFocus(),this.dropMouseOver(),this.gui.touchFocus.clear(),this.endDragging(!1),this.releaseControlFocus()},r.onCanvasBlur=function(){var t=this.gui.mouseFocus,i=this.gui.mouseFocusMask;if(this.dropMouseFocus(),t&&!t.isDisposed)for(var n=0,o=[e.MouseButton.Left,e.MouseButton.Right,e.MouseButton.Middle];n<o.length;n++){var r=o[n];if((i&tC(r))!=0){var s=new e.InputEventMouseButton,a=t.makePositionLocal(this.gui.lastMousePosition);s.device=e.InputEvent.deviceIdInternal,s.buttonIndex=r,s.pressed=!1,s.position.copyFrom(a),s.globalPosition.copyFrom(a),this.callControlInput(t,s)}}},r.cancelPointerPress=function(t,e){var i;this.isControlValid(t)&&(this.controlBelongsToSubtree(this.gui.mouseFocus,t)&&(this.gui.mouseFocus=t),this.controlBelongsToSubtree(this.gui.mouseClickGrabber,t)&&(this.gui.mouseClickGrabber=null),this.controlBelongsToSubtree(null!=(i=this.gui.touchFocus.get(e))?i:null,t)&&this.gui.touchFocus.set(e,t),this.endDragging(!1))},r.resize=function(t,e){this.setSize(t,e),this.canvases.setSize(t,e);for(var i,n=g(this.canvases.children);!(i=n()).done;)i.value.setSize(t,e);this.popupLayer.setSize(t,e)},r.render=function(){this.flushLayout(),0!==this.canvases.children.length&&(this.engine.graphics.begin(),this.drawInternal(),this.engine.graphics.end())},r.update=function(t){this.gui.mouseOverUpdatePending&&(this.gui.mouseOverUpdatePending=!1,this.updateMouseOverHierarchy()),i.prototype.update.call(this,t),this.flushLayout()},r.dispose=function(){this.cancelPointerInput(),this.dirtyContainers.clear(),this.dirtyMeasurements.clear();for(var t,e=g(this.popupStack.splice(0));!(t=e()).done;){var n=t.value;n.control.parent=null,n.control.theme=n.originalTheme,n.control.onPopupClosed()}i.prototype.dispose.call(this)},r.flushLayout=function(){for(var t=this,e=0;this.dirtyMeasurements.size>0||this.dirtyContainers.size>0;){if(e++>=32)throw this.dirtyMeasurements.clear(),this.dirtyContainers.clear(),Error("GUI layout did not converge after 32 rounds.");if(this.dirtyMeasurements.size>0){var i=Array.from(this.dirtyMeasurements);this.dirtyMeasurements.clear(),i.sort(function(e,i){return t.getControlDepth(i)-t.getControlDepth(e)});for(var n,o=g(i);!(n=o()).done;){var r=n.value;r.root!==this||r.isDisposed||r.invokeMeasurementChanges()}continue}var s=Array.from(this.dirtyContainers);this.dirtyContainers.clear(),s.sort(function(e,i){return t.getControlDepth(e)-t.getControlDepth(i)});for(var a,h=g(s);!(a=h()).done;){var l=a.value;l.root!==this||l.isDisposed||l.invokeSortChildren()}}},r.getControlDepth=function(t){for(var e=0,i=t.parent;i;)e++,i=i.parent;return e},r.processGUIInput=function(t){if(c(t,e.InputEventKey)){var i=this.guiGetFocusOwner();i&&this.callGUIInput(i,t)}else if(c(t,e.InputEventMouse)){this.gui.lastMousePosition.copyFrom(t.globalPosition);var n=this.updateMouseOver(t.globalPosition);c(t,e.InputEventMouseButton)?this.processMouseButton(t,n):c(t,e.InputEventMouseMotion)&&this.processMouseMotion(t,n)}else c(t,e.InputEventScreenTouch)?this.processScreenTouch(t):c(t,e.InputEventScreenDrag)&&this.processScreenDrag(t)},r.processMouseButton=function(t,i){if(tM(t.buttonIndex)){i&&this.callGUIInput(i,t);return}var n=tC(t.buttonIndex);if(t.isPressed()){var o=0!==this.gui.mouseFocusMask?this.gui.mouseFocus:i;if(this.gui.mouseFocus=o,!o){t.buttonIndex===e.MouseButton.Left&&this.gui.keyFocus&&(this.gui.hideFocus=!0);return}this.gui.mouseFocusMask|=n,t.buttonIndex===e.MouseButton.Left&&(this.gui.dragAccum.setZero(),this.gui.dragAttempted=!1,this.findClickFocus(o)),this.callGUIInput(o,t)}else{t.buttonIndex===e.MouseButton.Left&&this.gui.dragging&&this.finishDrop(t.globalPosition),this.gui.mouseFocusMask&=~n;var r=this.gui.mouseFocus;0===this.gui.mouseFocusMask&&(this.gui.mouseFocus=null),this.isControlUsable(r)&&this.callGUIInput(r,t)}},r.processMouseMotion=function(t,i){if(!this.gui.dragging&&!this.gui.dragAttempted&&this.gui.mouseFocus&&(this.gui.mouseFocusMask&e.MouseButtonMask.Left)!=0&&(this.gui.dragAccum.add(t.relative),this.gui.dragAccum.length()>this.dragThreshold)){var n=t.globalPosition.clone().subtract(this.gui.dragAccum);this.beginDragging(this.gui.mouseFocus,n),this.gui.dragAttempted=!0}var o=this.isControlUsable(this.gui.mouseFocus)?this.gui.mouseFocus:i;o&&this.callGUIInput(o,t),this.gui.dragging&&(this.gui.dragMouseOver=this.findDropTarget(i,t.globalPosition)),this.updateCursor(o,t.globalPosition)},r.processScreenTouch=function(t){var e,i;t.isPressed()?(e=this.findInputControl(t.position))&&this.gui.touchFocus.set(t.index,e):(e=null!=(i=this.gui.touchFocus.get(t.index))?i:null,this.gui.touchFocus.delete(t.index)),this.isControlUsable(e)&&this.callGUIInput(e,t)},r.processScreenDrag=function(t){var e,i=null!=(e=this.gui.touchFocus.get(t.index))?e:this.findInputControl(t.position);this.isControlUsable(i)&&this.callGUIInput(i,t)},r.callGUIInput=function(i,n){for(var o=i,r=c(n,e.InputEventMouse)||c(n,e.InputEventScreenTouch)||c(n,e.InputEventScreenDrag);o&&o!==this&&this.isControlUsable(o);){var s=o.getEffectiveMouseFilter();if(s!==t.MouseFilter.Ignore){var a=n.xformedBy(this.getGlobalInverse(o));this.callControlInput(o,a),a.isAccepted()&&n.accept()}var h=c(n,e.InputEventMouseButton)&&tM(n.buttonIndex)&&o.mouseForcePassScrollEvents,l=(c(n,e.InputEventScreenTouch)||c(n,e.InputEventScreenDrag))&&o.mouseForcePassScrollEvents;if(n.isAccepted()||s===t.MouseFilter.Stop&&r&&!h&&!l){n.accept();return}o=o.parent}},r.callControlInput=function(t,i){c(i,e.InputEventMouseButton)?tM(i.buttonIndex)?t.onMouseWheel(i):i.isPressed()?t.onMouseDown(i):t.onMouseUp(i):c(i,e.InputEventMouseMotion)?t.onMouseMove(i):c(i,e.InputEventScreenTouch)?i.isPressed()?t.onTouchDown(i):t.onTouchUp(i):c(i,e.InputEventScreenDrag)?t.onTouchMove(i):c(i,e.InputEventKey)&&(i.isPressed()?t.onKeyDown(i):i.isReleased()&&t.onKeyUp(i))},r.findInputControl=function(t){if(this.popupLayer.visible){var e;return null!=(e=this.findControlAtPosition(this.popupLayer,t))?e:this.popupLayer}return this.canvases.sortCanvases(),this.findControlAtPosition(this.canvases,t,!0)},r.findControlAtPosition=function(e,i,n,o,r){if(void 0===n&&(n=!1),void 0===o&&(o=!0),void 0===r&&(r=!0),!e.visible||e.isDisposed||c(e,tT)&&(!e.canvas.isVisible||e.inputDisabled))return null;var s=this.toControlLocal(e,i);if(!s)return null;var a=o&&e.enabled,h=e.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Inherited?r:e.mouseBehaviorRecursive===t.MouseBehaviorRecursive.Enabled;if(e.clipContents&&!e.hasPoint(s))return null;for(var l=e.children.length-1;l>=0;l--){var u=e.children[l];if(e.intersectsChildContent(u,s)){var d=this.findControlAtPosition(u,s,!1,a,h);if(d)return d}}return!n&&a&&h&&e.mouseFilter!==t.MouseFilter.Ignore&&e.hasPoint(s)?e:null},r.toControlLocal=function(t,e){var i=t.getTransform2D().elements,n=i[0]*i[4]-i[1]*i[3];if(1e-12>Math.abs(n))return null;var o=e.x-i[6],r=e.y-i[7];return new ty((i[4]*o-i[3]*r)/n,(i[0]*r-i[1]*o)/n)},r.updateMouseOver=function(t){if(this.gui.sendingMouseEnterExit)return this.gui.mouseOverUpdatePending=!0,this.gui.mouseOver;this.gui.mouseOverUpdatePending=!1;var e=this.findInputControl(t),i=this.buildHoverHierarchy(e);return this.applyMouseOver(e,i,t),this.isControlUsable(e)?e:null},r.updateMouseOverHierarchy=function(){var e=this.gui.mouseOver;if(e&&0!==this.gui.mouseOverHierarchy.length){if(this.gui.sendingMouseEnterExit){this.gui.mouseOverUpdatePending=!0;return}if(!this.isControlUsable(e)){this.dropMouseOver();return}var i=this.buildHoverHierarchy(e),n=e.getEffectiveMouseFilter()===t.MouseFilter.Ignore?null:e;this.applyMouseOver(n,i,this.gui.lastMousePosition)}},r.applyMouseOver=function(t,e,i){for(var n=this.gui.mouseOverHierarchy,o=0;o<n.length&&o<e.length&&n[o]===e[o];)o++;this.gui.mouseOver=t,this.gui.mouseOverHierarchy=e,this.gui.sendingMouseEnterExit=!0;for(var r=n.length-1;r>=o;r--)n[r].isDisposed||n[r].onMouseLeave();for(var s=o;s<e.length;s++)e[s].onMouseEnter(this.toLocal(e[s],i));this.gui.sendingMouseEnterExit=!1},r.buildHoverHierarchy=function(e){for(var i=[],n=e;n&&n!==this;){var o=n.getEffectiveMouseFilter();if(o!==t.MouseFilter.Ignore&&i.push(n),o===t.MouseFilter.Stop)break;n=n.parent}return i.reverse(),i},r.findClickFocus=function(e){for(var i=e;i&&i!==this;){var n=i.getFocusModeWithOverride();if(n===t.FocusMode.Click||n===t.FocusMode.All){this.grabControlFocus(i,!0);return}if(i.getEffectiveMouseFilter()===t.MouseFilter.Stop)return;i=i.parent}},r.beginDragging=function(i,n){for(var o=i;o&&o!==this;){var r=o.invokeGetDragData(this.toLocal(o,n));if(null!=r){this.gui.dragging=!0,this.gui.dragData=r,this.gui.mouseFocus=null,this.gui.mouseFocusMask=e.MouseButtonMask.None;return}if(o.getEffectiveMouseFilter()===t.MouseFilter.Stop)return;o=o.parent}},r.finishDrop=function(t){var e=this.findDropTarget(this.findInputControl(t),t);e&&e.invokeDropData(this.toLocal(e,t),this.gui.dragData),this.endDragging(!!e)},r.findDropTarget=function(e,i){for(var n=e;n&&n!==this;){if(n.invokeCanDropData(this.toLocal(n,i),this.gui.dragData))return n;if(n.getEffectiveMouseFilter()===t.MouseFilter.Stop)break;n=n.parent}return null},r.endDragging=function(t){this.gui.dragSuccessful=t,this.gui.dragging=!1,this.gui.dragData=null,this.gui.dragMouseOver=null},r.updateCursor=function(e,i){for(var n=e,o=t.CursorShape.Arrow;n&&n!==this;){var r=n.getCursorShape(this.toLocal(n,i));if(r!==t.CursorShape.Arrow){o=r;break}if(n.getEffectiveMouseFilter()===t.MouseFilter.Stop)break;n=n.parent}this.engine.canvas.style.cursor="string"==typeof o?o:tx[o]},r.postGrabClickFocus=function(){var t=this.gui.mouseClickGrabber;this.gui.mouseClickGrabber=null,this.isControlUsable(t)&&(this.gui.mouseFocus=t)},r.cleanupInternalState=function(){this.isControlUsable(this.gui.mouseFocus)||this.dropMouseFocus(),this.gui.keyFocus&&!this.isFocusTargetUsable(this.gui.keyFocus)&&this.releaseControlFocus(this.gui.keyFocus);for(var t,e=g(this.gui.touchFocus);!(t=e()).done;){var i=t.value,n=i[0],o=i[1];this.isControlUsable(o)||this.gui.touchFocus.delete(n)}},r.dropMouseFocus=function(){this.gui.mouseFocus=null,this.gui.mouseFocusMask=e.MouseButtonMask.None},r.dropMouseOver=function(){if(this.gui.sendingMouseEnterExit){this.gui.mouseOverUpdatePending=!0;return}for(var t=this.gui.mouseOverHierarchy.length-1;t>=0;t--){var e=this.gui.mouseOverHierarchy[t];e.isDisposed||e.onMouseLeave()}this.gui.mouseOver=null,this.gui.mouseOverHierarchy=[]},r.dropControlState=function(t){this.controlBelongsToSubtree(this.gui.mouseFocus,t)&&this.dropMouseFocus(),this.controlBelongsToSubtree(this.gui.mouseClickGrabber,t)&&(this.gui.mouseClickGrabber=null),this.controlBelongsToSubtree(this.gui.keyFocus,t)&&this.releaseControlFocus(null!=(e=this.gui.keyFocus)?e:void 0),this.controlBelongsToSubtree(this.gui.mouseOver,t)&&this.dropMouseOver(),this.controlBelongsToSubtree(this.gui.dragMouseOver,t)&&(this.gui.dragMouseOver=null);for(var e,i,n=g(this.gui.touchFocus);!(i=n()).done;){var o=i.value,r=o[0],s=o[1];this.controlBelongsToSubtree(s,t)&&this.gui.touchFocus.delete(r)}},r.getGlobalInverse=function(t){var e=t.getGlobalTransform2D().clone();return 1e-12>Math.abs(e.determinant())?new tv:e.invert()},r.toLocal=function(t,e){var i=this.getGlobalInverse(t).elements;return new ty(i[0]*e.x+i[3]*e.y+i[6],i[1]*e.x+i[4]*e.y+i[7])},r.controlBelongsToSubtree=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parent}return!1},r.isControlValid=function(t){return!!t&&!t.isDisposed&&t.root===this},r.isControlUsable=function(t){if(!this.isControlValid(t)||!t.visibleInHierarchy||!t.enabledInHierarchy)return!1;var e=this.findCanvasRoot(t);return!e||!e.inputDisabled},r.findCanvasRoot=function(t){for(var e=t;e&&e!==this;){if(c(e,tT))return e;e=e.parent}return null},r.notifyFocusOwnerChanged=function(t){this.rootEventEmitter.emit("guiFocusChanged",t)},r.isFocusTargetUsable=function(e){return this.isControlUsable(e)&&e.getFocusModeWithOverride()!==t.FocusMode.None},o}(tp),tz=function(t){function e(e){var i;return(i=t.call(this,e)||this).disposed=!1,i.updateWindowRoot=function(t){i.windowRoot.update(t)},i.renderWindowRoot=function(){i.windowRoot.render()},i.resizeWindowRoot=function(){var t=i.engine.canvas.getBoundingClientRect(),e=t.width||i.engine.canvas.width,n=t.height||i.engine.canvas.height;i.windowRoot.resize(e,n)},i.pushInput=function(t){t.isAccepted()||i.windowRoot.pushInput(t)},i.onCanvasBlur=function(){i.windowRoot.onCanvasBlur()},i.windowRoot=new tb(e),e.on("update",i.updateWindowRoot),e.on("postrender",i.renderWindowRoot),e.on("resize",i.resizeWindowRoot),e.eventSystem.on("input",i.pushInput),e.eventSystem.on("canvasBlur",i.onCanvasBlur),i.resizeWindowRoot(),i}return n(e,t),e.prototype.dispose=function(){this.disposed||(this.disposed=!0,this.engine.off("update",this.updateWindowRoot),this.engine.off("postrender",this.renderWindowRoot),this.engine.off("resize",this.resizeWindowRoot),this.engine.eventSystem.off("input",this.pushInput),this.engine.eventSystem.off("canvasBlur",this.onCanvasBlur),this.windowRoot.dispose(),t.prototype.dispose.call(this))},e}(e.Component);t.CanvasRenderMode=void 0,(C=t.CanvasRenderMode||(t.CanvasRenderMode={}))[C.ScreenSpace=0]="ScreenSpace",C[C.CameraSpace=1]="CameraSpace",C[C.WorldSpace=2]="WorldSpace",C[C.WorldSpaceFaceCamera=3]="WorldSpaceFaceCamera";var tB=function(t){function e(e){var i;return(i=t.call(this,e)||this).renderMode=0,i.receivesEvents=!0,i._order=0,i.registered=!1,i.rootControl=new tT(e,h(i)),i}n(e,t);var i=e.prototype;return i.onEnable=function(){this.register()},i.onDisable=function(){this.unregister()},i.onDestroy=function(){this.destroyCanvas()},i.dispose=function(){this.destroyCanvas(),t.prototype.dispose.call(this)},i.register=function(){if(!this.registered){var t=this.engine.root.getComponent(tz);this.rootControl.parent=t.windowRoot.canvases,this.registered=!0}},i.unregister=function(){this.registered&&(this.rootControl.parent=null,this.registered=!1)},i.destroyCanvas=function(){this.unregister(),this.rootControl.isDisposed||this.rootControl.dispose()},u(e,[{key:"order",get:function(){return this._order},set:function(t){this._order!==t&&(this._order=t,this.engine.root.getComponent(tz).windowRoot.canvases.sortCanvases())}},{key:"isVisible",get:function(){var t;return 0===this.renderMode&&this.enabled&&!!(null==(t=this.item)?void 0:t.isActive)}}]),e}(e.Component),tI=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.order=0,e.name="gui",e}n(e,t);var i=e.prototype;return i.onEngineCreated=function(t){t.root.addComponent(tz)},i.onCompositionCreating=function(t){t.sceneRoot.addComponent(tB)},e}(a(e.Plugin));function tk(t,e,i){if(!Number.isInteger(e)||e<0||e>i)throw RangeError("Invalid "+t+".")}function tF(t){return t.reduce(function(t,e){return t+e},0)}function tD(t,e,i,n,o){for(var r=Math.max(0,n),s=t.map(function(t,e){return e}).filter(function(n){return i[n]>0&&(e[n]<0||t[n]<e[n]-1e-7)});r>1e-7&&s.length>0;)!function(){for(var n,a=s.reduce(function(t,e){return t+i[e]},0),h=!1,l=g(s);!(n=l()).done&&"break"!==function(){var o=n.value,l=e[o],u=r*i[o]/a;if(l>=0&&t[o]+u>l+1e-7){var c=Math.max(0,l-t[o]);return t[o]=l,r-=c,s=s.filter(function(t){return t!==o}),h=!0,"break"}}(););if(!h){for(var u=0,c=0,d=0;d<s.length;d++){var f=s[d],m=d===s.length-1?r-u:r*i[f]/a;if(o&&d!==s.length-1){var p=m+c;m=Math.floor(p),c=p-m}t[f]+=m,u+=m}r=0}}();return r}t.UIControl=function(i){function o(t){var e;return(e=i.call(this,t)||this).controlNode=null,e.linkedItemTransform=null,e.linkedControl=null,e.syncingLocation=!1,e.itemTransformChanged=function(){return e.syncItemLocationToControl()},e.controlLocationChanged=function(){return e.syncControlLocationToItem()},e}n(o,i);var r=o.prototype;return r.onAwake=function(){this.syncControl()},r.onEnable=function(){this.controlNode&&(this.controlNode.visible=this.item.isActive,this.controlNode.enabled=!0)},r.onDisable=function(){this.controlNode&&(this.controlNode.visible=this.item.isActive,this.controlNode.enabled=!1)},r.onParentChanged=function(){this.syncControl()},r.onOrderInParentChanged=function(){this.syncControlOrder()},r.onDestroy=function(){this.disposeControl()},r.dispose=function(){this.disposeControl(),i.prototype.dispose.call(this)},r.unlinkControl=function(){this.controlNode&&(this.unbindLocationSync(),this.controlNode=null)},r.attachControl=function(t){if((null==t?void 0:t.owner)&&t.owner!==this&&t.owner.control===t)throw Error("A Control can only be owned by one UIControl.");this.disposeControl(),t&&(this.controlNode=t,t.owner=this,this.syncControl())},r.disposeControl=function(){var t=this.controlNode;t&&(this.unbindLocationSync(),this.controlNode=null,t.dispose())},r.syncControl=function(){var t=this.controlNode;t&&this.item&&(this.syncingLocation=!0,t.visible=this.item.isActive,t.enabled=this.enabled,t.parent=this.resolveParent(),this.syncControlOrder(),this.copyItemLocationToControl(),this.syncingLocation=!1,this.bindLocationSync())},r.syncControlOrder=function(){this.controlNode&&this.item&&(this.controlNode.indexInParent=this.item.orderInParent)},r.resolveParent=function(){var t,e,i,n=this.item.parent;if(!n)return null!=(t=null==o.fallbackParentGetDelegate?void 0:o.fallbackParentGetDelegate.call(o,this))?t:null;var r=n.getComponent(o);if(null==r?void 0:r.control)return r.control;var s=n.getComponent(tB);return null!=(i=null!=(e=null==s?void 0:s.rootControl)?e:null==o.fallbackParentGetDelegate?void 0:o.fallbackParentGetDelegate.call(o,this))?i:null},r.bindLocationSync=function(){var t=this.item.transform,e=this.controlNode;(this.linkedItemTransform!==t||this.linkedControl!==e)&&(this.unbindLocationSync(),e&&(this.linkedItemTransform=t,this.linkedControl=e,t.on("changed",this.itemTransformChanged),e.on("locationChanged",this.controlLocationChanged)))},r.unbindLocationSync=function(){var t,e;null==(t=this.linkedItemTransform)||t.off("changed",this.itemTransformChanged),null==(e=this.linkedControl)||e.off("locationChanged",this.controlLocationChanged),this.linkedItemTransform=null,this.linkedControl=null},r.syncItemLocationToControl=function(){!this.syncingLocation&&this.controlNode&&(this.syncingLocation=!0,this.copyItemLocationToControl(),this.syncingLocation=!1)},r.syncControlLocationToItem=function(){var t=this.controlNode;if(!this.syncingLocation&&t&&this.item){var e=t.location,i=this.item.transform.position;(e.x!==i.x||e.y!==i.y)&&(this.syncingLocation=!0,this.item.transform.setPosition(e.x,e.y,i.z),this.syncingLocation=!1)}},r.copyItemLocationToControl=function(){var e=this.controlNode;if(e&&!c(e.parent,t.Container)){var i=this.item.transform.position,n=e.location;(i.x!==n.x||i.y!==n.y)&&e.setPosition(i.x,i.y)}},r.fromData=function(t){i.prototype.fromData.call(this,t);var n=new(e.getClass(t.control))(this.engine);this.attachControl(n),this.syncingLocation=!0,n.fromData(t.data),this.syncingLocation=!1,this.syncControlLocationToItem()},u(o,[{key:"control",get:function(){return this.controlNode},set:function(t){t!==this.controlNode&&this.attachControl(t)}},{key:"hasControl",get:function(){return null!==this.controlNode}}]),o}(e.Component),t.UIControl=f([e.effectsClass("UIControl")],t.UIControl),t.Orientation=void 0,(M=t.Orientation||(t.Orientation={}))[M.Horizontal=0]="Horizontal",M[M.Vertical=1]="Vertical",t.LayoutAlignment=void 0,(S=t.LayoutAlignment||(t.LayoutAlignment={}))[S.Begin=0]="Begin",S[S.Center=1]="Center",S[S.End=2]="End",t.AspectRatioStretchMode=void 0,(T=t.AspectRatioStretchMode||(t.AspectRatioStretchMode={}))[T.WidthControlsHeight=0]="WidthControlsHeight",T[T.HeightControlsWidth=1]="HeightControlsWidth",T[T.Fit=2]="Fit",T[T.Cover=3]="Cover";var tP=function(i){function o(){var e;return e=i.apply(this,arguments)||this,e._orientation=t.Orientation.Horizontal,e._alignment=t.LayoutAlignment.Begin,e._reverse=!1,e}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureChildren(!1)},r.getDesiredSize=function(){return this.measureChildren(!0)},r.sortChildren=function(){var i,n,o=this,r=this.getLayoutChildren();if(this.reverse&&r.reverse(),0!==r.length){var s=this.orientation===t.Orientation.Horizontal,a=s?this.size.x:this.size.y,h=s?this.size.y:this.size.x,l=this.getThemeConstant("separation"),u=l*(r.length-1),c=a-u,d=r.map(function(t){return o.getMainSize(t.getBoundMinimumSize())}),g=r.map(function(t){return o.getMainSize(t.getBoundDesiredSize())}),f=r.map(function(t){return o.getMainSize(t.getCombinedMaximumSize())}),m=d.slice(),p=Number.isInteger(c)&&d.every(Number.isInteger)&&g.every(Number.isInteger)&&f.every(function(t){return t<0||Number.isInteger(t)}),v=Math.max(0,c-tF(m));v=tD(m,g,g.map(function(t,e){return Math.max(0,t-m[e])}),v,p),tD(m,f,r.map(function(t){return o.isMainExpanded(t)?t.stretchRatio:0}),v,p);for(var y=tF(m)+u,x=(i=this.alignment,n=Math.max(0,a-y),1===i?n/2:2===i?n:0),C=0;C<r.length;C++){var M=m[C],S=s?new e.math.Vector2(x,0):new e.math.Vector2(0,x),T=s?new e.math.Vector2(M,h):new e.math.Vector2(h,M);this.fitChildInRect(r[C],{position:S,size:T}),x+=M+l}}},r.measureChildren=function(i){for(var n,o=this.getLayoutChildren(),r=0,s=0,a=g(o);!(n=a()).done;){var h=n.value,l=i?h.getBoundDesiredSize():h.getBoundMinimumSize();r+=this.getMainSize(l),s=Math.max(s,this.getCrossSize(l))}return o.length>1&&(r+=this.getThemeConstant("separation")*(o.length-1)),this.orientation===t.Orientation.Horizontal?new e.math.Vector2(r,s):new e.math.Vector2(s,r)},r.getMainSize=function(e){return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getCrossSize=function(e){return this.orientation===t.Orientation.Horizontal?e.y:e.x},r.isMainExpanded=function(e){return((this.orientation===t.Orientation.Horizontal?e.horizontalSizeFlags:e.verticalSizeFlags)&t.SizeFlags.Expand)!=0},r.invalidateMeasurement=function(){this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort()},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.alignment&&(this.alignment=t.alignment),void 0!==t.reverse&&(this.reverse=t.reverse)},u(o,[{key:"orientation",get:function(){return this._orientation},set:function(e){tk("BoxContainer orientation",e,t.Orientation.Vertical),this._orientation!==e&&(this._orientation=e,this.invalidateMeasurement())}},{key:"alignment",get:function(){return this._alignment},set:function(e){tk("BoxContainer alignment",e,t.LayoutAlignment.End),this._alignment!==e&&(this._alignment=e,this.queueSort())}},{key:"reverse",get:function(){return this._reverse},set:function(t){this._reverse!==t&&(this._reverse=t,this.queueSort())}}]),o}(t.Container);tP.themeType="BoxContainer",t.HBoxContainer=function(e){function i(i){var n;return(n=e.call(this,i)||this).orientation=t.Orientation.Horizontal,n}return n(i,e),i}(tP),t.HBoxContainer.themeType="HBoxContainer",t.HBoxContainer=f([e.effectsClass("HBoxContainer")],t.HBoxContainer),t.VBoxContainer=function(e){function i(i){var n;return(n=e.call(this,i)||this).orientation=t.Orientation.Vertical,n}return n(i,e),i}(tP),t.VBoxContainer.themeType="VBoxContainer",t.VBoxContainer=f([e.effectsClass("VBoxContainer")],t.VBoxContainer),t.GridContainer=function(i){function o(){var t;return t=i.apply(this,arguments)||this,t._columns=1,t}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureGrid(!1)},r.getDesiredSize=function(){return this.measureGrid(!0)},r.sortChildren=function(){var t=this.getLayoutChildren();if(0!==t.length)for(var i=Math.min(this.columns,t.length),n=Math.ceil(t.length/this.columns),o=this.collectTrackMetrics(t,i,!0),r=this.collectTrackMetrics(t,n,!1),s=this.getThemeConstant("horizontalSeparation"),a=this.getThemeConstant("verticalSeparation"),h=this.allocateTracks(o,this.size.x,s),l=this.allocateTracks(r,this.size.y,a),u=this.getTrackPositions(h,s),c=this.getTrackPositions(l,a),d=0;d<t.length;d++){var g=d%this.columns,f=Math.floor(d/this.columns);this.fitChildInRect(t[d],{position:new e.math.Vector2(u[g],c[f]),size:new e.math.Vector2(h[g],l[f])})}},r.measureGrid=function(t){var i=this.getLayoutChildren();if(0===i.length)return new e.math.Vector2;var n=Math.min(this.columns,i.length),o=Math.ceil(i.length/this.columns),r=this.collectTrackMetrics(i,n,!0),s=this.collectTrackMetrics(i,o,!1),a=t?r.desired:r.minimum,h=t?s.desired:s.minimum;return new e.math.Vector2(tF(a)+this.getThemeConstant("horizontalSeparation")*Math.max(0,n-1),tF(h)+this.getThemeConstant("verticalSeparation")*Math.max(0,o-1))},r.collectTrackMetrics=function(e,i,n){for(var o=Array(i).fill(0),r=Array(i).fill(0),s=Array(i).fill(0),a=Array(i).fill(!1),h=Array(i).fill(!1),l=0;l<e.length;l++){var u=e[l],c=n?l%this.columns:Math.floor(l/this.columns),d=u.getBoundMinimumSize(),g=u.getBoundDesiredSize(),f=u.getCombinedMaximumSize(),m=n?d.x:d.y,p=n?g.x:g.y,v=n?f.x:f.y,y=n?u.horizontalSizeFlags:u.verticalSizeFlags;o[c]=Math.max(o[c],m),r[c]=Math.max(r[c],p),v<0?a[c]=!0:s[c]=Math.max(s[c],v),h[c]||(h[c]=(y&t.SizeFlags.Expand)!=0)}for(var x=0;x<i;x++)s[x]=a[x]?-1:Math.max(o[x],s[x]);return{minimum:o,desired:r,maximum:s,expanded:h}},r.allocateTracks=function(t,e,i){var n=t.minimum.slice(),o=e-i*Math.max(0,n.length-1),r=Number.isInteger(o)&&t.minimum.every(Number.isInteger)&&t.desired.every(Number.isInteger)&&t.maximum.every(function(t){return t<0||Number.isInteger(t)}),s=Math.max(0,o-tF(n));return s=tD(n,t.desired,t.desired.map(function(t,e){return Math.max(0,t-n[e])}),s,r),tD(n,t.maximum,t.expanded.map(function(t){return t?1:0}),s,r),n},r.getTrackPositions=function(t,e){for(var i,n=[],o=0,r=g(t);!(i=r()).done;){var s=i.value;n.push(o),o+=s+e}return n},r.invalidateMeasurement=function(){this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort()},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.columns&&(this.columns=t.columns)},u(o,[{key:"columns",get:function(){return this._columns},set:function(t){if(!Number.isInteger(t)||t<1)throw RangeError("GridContainer columns must be an integer greater than zero.");this._columns!==t&&(this._columns=t,this.invalidateMeasurement())}}]),o}(t.Container),t.GridContainer.themeType="GridContainer",t.GridContainer=f([e.effectsClass("GridContainer")],t.GridContainer),t.MarginContainer=function(t){function i(){return t.apply(this,arguments)}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){return this.measureChildren(!1)},o.getDesiredSize=function(){return this.measureChildren(!0)},o.sortChildren=function(){for(var t,i=this.getThemeConstant("marginLeft"),n=this.getThemeConstant("marginTop"),o=this.getThemeConstant("marginRight"),r=this.getThemeConstant("marginBottom"),s={position:new e.math.Vector2(i,n),size:new e.math.Vector2(this.size.x-i-o,this.size.y-n-r)},a=g(this.getLayoutChildren());!(t=a()).done;){var h=t.value;this.fitChildInRect(h,s)}},o.measureChildren=function(t){for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}var h=this.getThemeConstant("marginLeft"),l=this.getThemeConstant("marginTop"),u=this.getThemeConstant("marginRight"),c=this.getThemeConstant("marginBottom");return new e.math.Vector2(n+h+u,o+l+c)},i}(t.Container),t.MarginContainer.themeType="MarginContainer",t.MarginContainer=f([e.effectsClass("MarginContainer")],t.MarginContainer),t.CenterContainer=function(t){function i(){var e;return e=t.apply(this,arguments)||this,e._useTopLeft=!1,e}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){return this.measureChildren(!1)},o.getDesiredSize=function(){return this.measureChildren(!0)},o.sortChildren=function(){for(var t,i=g(this.getLayoutChildren());!(t=i()).done;){var n=t.value,o=n.getBoundMinimumSize(),r=this.useTopLeft?new e.math.Vector2(Math.floor(-o.x/2),Math.floor(-o.y/2)):new e.math.Vector2(Math.floor((this.size.x-o.x)/2),Math.floor((this.size.y-o.y)/2));this.fitChildInRect(n,{position:r,size:o})}},o.measureChildren=function(t){if(this.useTopLeft)return new e.math.Vector2;for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}return new e.math.Vector2(n,o)},o.fromData=function(e){t.prototype.fromData.call(this,e),void 0!==e.useTopLeft&&(this.useTopLeft=e.useTopLeft)},u(i,[{key:"useTopLeft",get:function(){return this._useTopLeft},set:function(t){this._useTopLeft!==t&&(this._useTopLeft=t,this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort())}}]),i}(t.Container),t.CenterContainer.themeType="CenterContainer",t.CenterContainer=f([e.effectsClass("CenterContainer")],t.CenterContainer),t.AspectRatioContainer=function(i){function o(){var e;return e=i.apply(this,arguments)||this,e._ratio=1,e._stretchMode=t.AspectRatioStretchMode.Fit,e._horizontalAlignment=t.LayoutAlignment.Center,e._verticalAlignment=t.LayoutAlignment.Center,e}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureChildren(!1)},r.getDesiredSize=function(){return this.measureChildren(!0)},r.sortChildren=function(){for(var i,n=g(this.getLayoutChildren());!(i=n()).done;){var o=i.value,r=o.getBoundMinimumSize(),s=this.ratio,a=void 0;switch(this.stretchMode){case t.AspectRatioStretchMode.WidthControlsHeight:a=this.size.x/s;break;case t.AspectRatioStretchMode.HeightControlsWidth:a=this.size.y/1;break;case t.AspectRatioStretchMode.Cover:a=Math.max(this.size.x/s,this.size.y/1);break;default:a=Math.min(this.size.x/s,this.size.y/1)}var h=new e.math.Vector2(Math.max(r.x,s*a),Math.max(r.y,1*a)),l=new e.math.Vector2(this.getAlignedOffset(this.horizontalAlignment,this.size.x-h.x),this.getAlignedOffset(this.verticalAlignment,this.size.y-h.y));this.fitChildInRect(o,{position:l,size:h})}},r.measureChildren=function(t){for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}return new e.math.Vector2(n,o)},r.getAlignedOffset=function(e,i){return e===t.LayoutAlignment.Center?i/2:e===t.LayoutAlignment.End?i:0},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.ratio&&(this.ratio=t.ratio),void 0!==t.stretchMode&&(this.stretchMode=t.stretchMode),void 0!==t.horizontalAlignment&&(this.horizontalAlignment=t.horizontalAlignment),void 0!==t.verticalAlignment&&(this.verticalAlignment=t.verticalAlignment)},u(o,[{key:"ratio",get:function(){return this._ratio},set:function(t){if(function(t,e){if(!Number.isFinite(e))throw RangeError(""+t+" must be finite.")}("AspectRatioContainer ratio",t),t<=0)throw RangeError("AspectRatioContainer ratio must be greater than zero.");this._ratio!==t&&(this._ratio=t,this.queueSort())}},{key:"stretchMode",get:function(){return this._stretchMode},set:function(e){tk("AspectRatioContainer stretchMode",e,t.AspectRatioStretchMode.Cover),this._stretchMode!==e&&(this._stretchMode=e,this.queueSort())}},{key:"horizontalAlignment",get:function(){return this._horizontalAlignment},set:function(e){tk("AspectRatioContainer horizontalAlignment",e,t.LayoutAlignment.End),this._horizontalAlignment!==e&&(this._horizontalAlignment=e,this.queueSort())}},{key:"verticalAlignment",get:function(){return this._verticalAlignment},set:function(e){tk("AspectRatioContainer verticalAlignment",e,t.LayoutAlignment.End),this._verticalAlignment!==e&&(this._verticalAlignment=e,this.queueSort())}}]),o}(t.Container),t.AspectRatioContainer.themeType="AspectRatioContainer",t.AspectRatioContainer=f([e.effectsClass("AspectRatioContainer")],t.AspectRatioContainer),t.PanelContainer=function(t){function i(){return t.apply(this,arguments)}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){return this.measureChildren(!1)},o.getDesiredSize=function(){return this.measureChildren(!0)},o.draw=function(){this.drawStyleBox(this.getThemeStyleBox("panel"),0,0,this.width,this.height)},o.sortChildren=function(){for(var t,i=this.getThemeStyleBox("panel").getContentMargins(),n={position:new e.math.Vector2(i.left,i.top),size:new e.math.Vector2(Math.max(0,this.width-i.left-i.right),Math.max(0,this.height-i.top-i.bottom))},o=g(this.getLayoutChildren());!(t=o()).done;){var r=t.value;this.fitChildInRect(r,n)}},o.measureChildren=function(t){for(var i,n=0,o=0,r=g(this.getLayoutChildren());!(i=r()).done;){var s=i.value,a=t?s.getBoundDesiredSize():s.getBoundMinimumSize();n=Math.max(n,a.x),o=Math.max(o,a.y)}var h=this.getThemeStyleBox("panel").getContentMargins();return new e.math.Vector2(n+h.left+h.right,o+h.top+h.bottom)},i}(t.Container),t.PanelContainer.themeType="PanelContainer",t.PanelContainer=f([e.effectsClass("PanelContainer")],t.PanelContainer);var tE=function(i){function o(e,n){var o;return(o=i.call(this,e)||this).vertical=n,o.mouseFilter=t.MouseFilter.Ignore,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var t=this.getThemeStyleBox("separator").getMinimumSize(),i=Math.max(0,this.getThemeConstant("separation"));return this.vertical?new e.math.Vector2(Math.max(t.x,i),t.y):new e.math.Vector2(t.x,Math.max(t.y,i))},r.getDesiredSize=function(){return this.getMinimumSize()},r.draw=function(){var t=this.getMinimumSize(),e=this.vertical?t.x:this.width,i=this.vertical?this.height:t.y;this.drawStyleBox(this.getThemeStyleBox("separator"),(this.width-e)*.5,(this.height-i)*.5,e,i)},o}(t.Control);t.HSeparator=function(t){function e(e){return t.call(this,e,!1)}return n(e,t),e}(tE),t.HSeparator.themeType="HSeparator",t.HSeparator=f([e.effectsClass("HSeparator")],t.HSeparator),t.VSeparator=function(t){function e(e){return t.call(this,e,!0)}return n(e,t),e}(tE),t.VSeparator.themeType="VSeparator",t.VSeparator=f([e.effectsClass("VSeparator")],t.VSeparator),t.ScrollMode=void 0,(w=t.ScrollMode||(t.ScrollMode={}))[w.Disabled=0]="Disabled",w[w.Auto=1]="Auto",w[w.ShowAlways=2]="ShowAlways",w[w.ShowNever=3]="ShowNever",w[w.Reserve=4]="Reserve",w[w.MaximizeFirst=5]="MaximizeFirst";var tA=function(t){function i(i){var n;return(n=t.call(this,i)||this)._rounded=!1,n.suppressSignals=!1,n.rangeEventEmitter=new e.EventEmitter,n.shared=tR(),n.shared.owners.add(h(n)),n}n(i,t);var o=i.prototype;return o.on=function(e,i){"changed"===e||"valueChanged"===e?this.rangeEventEmitter.on(e,i):t.prototype.on.call(this,e,i)},o.off=function(e,i){"changed"===e||"valueChanged"===e?this.rangeEventEmitter.off(e,i):t.prototype.off.call(this,e,i)},o.setValue=function(t){var e=this.shared.value;this.shared.value=this.calculateValue(t),tL(e,this.shared.value)||this.notifyValueChanged()},o.setValueNoSignal=function(t){var e=this.shared.value;if(this.shared.value=this.calculateValue(t),!tL(e,this.shared.value))for(var i,n=g(this.shared.owners);!(i=n()).done;)i.value.valueChanged(this.shared.value)},o.setMinValue=function(t){tO("Range minValue",t),this.shared.minValue!==t&&(this.shared.minValue=t,this.shared.maxValue=Math.max(this.shared.maxValue,t),this.shared.page=tV(this.shared.page,0,this.shared.maxValue-t),this.setValue(this.shared.value),this.notifyChanged())},o.setMaxValue=function(t){tO("Range maxValue",t);var e=Math.max(t,this.shared.minValue);this.shared.maxValue!==e&&(this.shared.maxValue=e,this.shared.page=tV(this.shared.page,0,e-this.shared.minValue),this.setValue(this.shared.value),this.notifyChanged())},o.setStep=function(t){tO("Range step",t),this.shared.step!==t&&(this.shared.step=t,this.notifyChanged())},o.setPage=function(t){tO("Range page",t);var e=tV(t,0,this.shared.maxValue-this.shared.minValue);this.shared.page!==e&&(this.shared.page=e,this.setValue(this.shared.value),this.notifyChanged())},o.setAsRatio=function(t){tO("Range ratio",t);var e,i=tV(t,0,1);if(this.shared.exponentialRatio&&this.shared.minValue>=0&&this.shared.maxValue>0){var n=0===this.shared.minValue?0:Math.log2(this.shared.minValue);e=Math.pow(2,n+(Math.log2(this.shared.maxValue)-n)*i)}else{var o=this.shared.maxValue-this.shared.minValue;e=this.shared.minValue+o*i,this.shared.step>0&&(e=this.shared.minValue+Math.round(o*i/this.shared.step)*this.shared.step)}this.setValue(tV(e,this.shared.minValue,this.shared.maxValue))},o.getAsRatio=function(){var t=this.shared.maxValue-this.shared.minValue;if(0===t)return 1;var e=tV(this.shared.value,this.shared.minValue,this.shared.maxValue);if(this.shared.exponentialRatio&&this.shared.minValue>=0&&this.shared.maxValue>0){if(e<=0)return 0;var i=0===this.shared.minValue?0:Math.log2(this.shared.minValue);return tV((Math.log2(e)-i)/(Math.log2(this.shared.maxValue)-i),0,1)}return tV((e-this.shared.minValue)/t,0,1)},o.share=function(t){t!==this&&(t.attachShared(this.shared),t.rangeEventEmitter.emit("changed"),t.rangeEventEmitter.emit("valueChanged",t.value))},o.unshare=function(){var t=this.shared,e=tR();e.value=t.value,e.minValue=t.minValue,e.maxValue=t.maxValue,e.step=t.step,e.page=t.page,e.exponentialRatio=t.exponentialRatio,e.allowGreater=t.allowGreater,e.allowLesser=t.allowLesser,this.attachShared(e)},o.dispose=function(){this.shared.owners.delete(this),t.prototype.dispose.call(this)},o.valueChanged=function(t){},o.calculateValue=function(t){if(Number.isNaN(t))return t;tO("Range value",t);var e,i,n=t;return this.shared.step>0&&(n=Number(((e=this.shared.minValue)+Math.round((n-e)/(i=this.shared.step))*i).toPrecision(15))),this._rounded&&(n=Math.round(n)),this.shared.allowGreater||(n=Math.min(n,this.shared.maxValue-this.shared.page)),this.shared.allowLesser||(n=Math.max(n,this.shared.minValue)),n},o.attachShared=function(t){this.shared!==t&&(this.shared.owners.delete(this),this.shared=t,t.owners.add(this))},o.notifyValueChanged=function(){for(var t,e=g(this.shared.owners);!(t=e()).done;){var i=t.value;i.valueChanged(this.shared.value),this.suppressSignals||i.rangeEventEmitter.emit("valueChanged",this.shared.value)}},o.notifyChanged=function(){for(var t,e=g(this.shared.owners);!(t=e()).done;){var i=t.value;this.suppressSignals||i.rangeEventEmitter.emit("changed")}},o.fromData=function(e){this.suppressSignals=!0,t.prototype.fromData.call(this,e),void 0!==e.allowGreater&&(this.allowGreater=e.allowGreater),void 0!==e.allowLesser&&(this.allowLesser=e.allowLesser),void 0!==e.exponentialRatio&&(this.exponentialRatio=e.exponentialRatio),void 0!==e.rounded&&(this.rounded=e.rounded),void 0!==e.minValue&&this.setMinValue(e.minValue),void 0!==e.maxValue&&this.setMaxValue(e.maxValue),void 0!==e.step&&this.setStep(e.step),void 0!==e.page&&this.setPage(e.page),void 0!==e.value&&this.setValueNoSignal(e.value),this.suppressSignals=!1},u(i,[{key:"minValue",get:function(){return this.shared.minValue},set:function(t){this.setMinValue(t)}},{key:"maxValue",get:function(){return this.shared.maxValue},set:function(t){this.setMaxValue(t)}},{key:"step",get:function(){return this.shared.step},set:function(t){this.setStep(t)}},{key:"page",get:function(){return this.shared.page},set:function(t){this.setPage(t)}},{key:"value",get:function(){return this.shared.value},set:function(t){this.setValue(t)}},{key:"ratio",get:function(){return this.getAsRatio()},set:function(t){this.setAsRatio(t)}},{key:"exponentialRatio",get:function(){return this.shared.exponentialRatio},set:function(t){this.shared.exponentialRatio=t}},{key:"rounded",get:function(){return this._rounded},set:function(t){this._rounded=t}},{key:"allowGreater",get:function(){return this.shared.allowGreater},set:function(t){this.shared.allowGreater=t}},{key:"allowLesser",get:function(){return this.shared.allowLesser},set:function(t){this.shared.allowLesser=t}}]),i}(t.Control);function tR(){return{value:0,minValue:0,maxValue:100,step:1,page:0,exponentialRatio:!1,allowGreater:!1,allowLesser:!1,owners:new Set}}function tL(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}function tV(t,e,i){return Math.min(i,Math.max(e,t))}function tO(t,e){if(!Number.isFinite(e))throw RangeError(""+t+" must be finite.")}tA.themeType="Range";var t_=function(i){function o(n,o){var r;return void 0===o&&(o=t.Orientation.Vertical),(r=i.call(this,n)||this).scrollBarEventEmitter=new e.EventEmitter,r._customStep=-1,r.highlight="none",r.decrementActive=!1,r.incrementActive=!1,r.dragging=!1,r.dragPosition=0,r.dragRatio=0,r._orientation=o,r.step=0,r.focusMode=t.FocusMode.Accessibility,r}n(o,i);var r=o.prototype;return r.on=function(t,e){"scrolling"===t?this.scrollBarEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"scrolling"===t?this.scrollBarEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.scroll=function(t){this.scrollTo(this.value+t)},r.scrollTo=function(t){var e=this.value;this.setValue(t),e!==this.value&&this.scrollBarEventEmitter.emit("scrolling")},r.getMinimumSize=function(){var i=this.getButtonAxisSize(!1),n=this.getButtonAxisSize(!0),o=this.getButtonCrossSize(!0),r=this.getThemeStyleBox("scroll").getMinimumSize(),s=this.getGrabberMinimumSize();return this.orientation===t.Orientation.Horizontal?new e.math.Vector2(i+n+r.x+s,Math.max(o,r.y)+this.getCrossStartPadding()+this.getCrossEndPadding()):new e.math.Vector2(Math.max(o,r.x)+this.getCrossStartPadding()+this.getCrossEndPadding(),i+n+r.y+s)},r.draw=function(){var e=this.orientation===t.Orientation.Horizontal,i=e?this.width:this.height,n=this.decrementActive?"Pressed":"decrement"===this.highlight?"Highlight":"",o=this.incrementActive?"Pressed":"increment"===this.highlight?"Highlight":"",r=this.getButtonAxisSize(!1,n),s=this.getButtonAxisSize(!0,o),a=Math.max(0,i-r-s),h=this.getGrabberRect(),l=this.dragging?"grabberPressed":"track"===this.highlight?"grabberHighlight":"grabber",u=this.hasFocus(!0)?"scrollFocus":"scroll";e?(this.drawButtonIcon(!1,n,0,0),this.drawStyleBox(this.getThemeStyleBox(u),r,0,a,this.height),this.drawButtonIcon(!0,o,i-s,0)):(this.drawButtonIcon(!1,n,0,0),this.drawStyleBox(this.getThemeStyleBox(u),0,r,this.width,a),this.drawButtonIcon(!0,o,0,i-s)),this.drawStyleBox(this.getThemeStyleBox(l),h.x,h.y,h.width,h.height)},r.onMouseEnter=function(t){this.updateHighlight(this.getAxis(t))},r.onMouseMove=function(t){var e=this.getAxis(t.position);if(this.dragging){var i=this.getAreaSize();if(i>0){var n=this.value;this.setAsRatio(this.dragRatio+(e-this.dragPosition)/i),n!==this.value&&this.scrollBarEventEmitter.emit("scrolling")}return}this.updateHighlight(e)},r.onMouseLeave=function(){this.dragging||(this.highlight="none")},r.onMouseDown=function(t){if(t.buttonIndex===e.MouseButton.Left){var i=this.getAxis(t.position),n=this.getAxisSize(),o=this.getGrabberOffset(),r=this.getGrabberSize(),s=this.getButtonAxisSize(!1),a=this.getButtonAxisSize(!0),h=i-s-this.getTrackStartMargin();i<s?(this.decrementActive=!0,this.scroll(-this.getIncrement())):i>n-a?(this.incrementActive=!0,this.scroll(this.getIncrement())):h<o?this.scroll(-this.getPageIncrement()):h<o+r?(this.dragging=!0,this.dragPosition=i,this.dragRatio=this.getAsRatio()):this.scroll(this.getPageIncrement()),t.accept()}},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&(this.decrementActive=!1,this.incrementActive=!1,this.dragging=!1,this.updateHighlight(this.getAxis(t.position)))},r.onMouseWheel=function(t){if(t.buttonIndex===e.MouseButton.WheelUp||t.buttonIndex===e.MouseButton.WheelDown){var i=this.value,n=t.buttonIndex===e.MouseButton.WheelUp?-1:1,o=Math.max((this.page>0?this.page/8:(this.maxValue-this.minValue)/16)*t.factor,Math.max(0,this.step));this.scroll(n*o),this.value!==i&&t.accept()}},r.onKeyDown=function(e){var i,n=this.getIncrement();if(this.orientation===t.Orientation.Horizontal&&"ArrowLeft"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowUp"===e.keycode?i=this.value-n:this.orientation===t.Orientation.Horizontal&&"ArrowRight"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowDown"===e.keycode?i=this.value+n:"Home"===e.keycode?i=this.minValue:"End"===e.keycode&&(i=this.maxValue),void 0!==i){var o=this.value;this.scrollTo(i),this.value!==o&&e.accept()}},r.onScrollBegin=function(){this.decrementActive=!1,this.incrementActive=!1,this.dragging=!1},r.getAxis=function(e){return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getAxisSize=function(){return this.orientation===t.Orientation.Horizontal?this.width:this.height},r.getIncrement=function(){return this.customStep>=0?this.customStep:this.step},r.getPageIncrement=function(){return this.page>0?this.page:(this.maxValue-this.minValue)/16},r.getTrackSize=function(){return Math.max(0,this.getAxisSize()-this.getButtonAxisSize(!1)-this.getButtonAxisSize(!0))},r.getAreaSize=function(){var e=this.getThemeStyleBox("scroll").getMinimumSize(),i=this.orientation===t.Orientation.Horizontal?e.x:e.y;return Math.max(0,this.getTrackSize()-i-this.getGrabberMinimumSize())},r.getGrabberSize=function(){var t=this.maxValue-this.minValue;return t<=0?0:Math.min(this.getTrackSize(),this.getGrabberMinimumSize()+Math.max(0,this.page)/t*this.getAreaSize())},r.getGrabberMinimumSize=function(){var e=this.getThemeStyleBox("grabber").getMinimumSize();return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getGrabberOffset=function(){return this.getAreaSize()*this.getAsRatio()},r.getGrabberRect=function(){var e=this.getButtonAxisSize(!1)+this.getTrackStartMargin()+this.getGrabberOffset(),i=this.getGrabberSize(),n=this.getCrossStartPadding(),o=Math.max(0,(this.orientation===t.Orientation.Horizontal?this.height:this.width)-n-this.getCrossEndPadding());return this.orientation===t.Orientation.Horizontal?{x:e,y:n,width:i,height:o}:{x:n,y:e,width:o,height:i}},r.getTrackStartMargin=function(){var e=this.getThemeStyleBox("scroll").getContentMargins();return this.orientation===t.Orientation.Horizontal?e.left:e.top},r.getCrossStartPadding=function(){return Math.max(0,this.getThemeConstant(this.orientation===t.Orientation.Horizontal?"paddingTop":"paddingLeft"))},r.getCrossEndPadding=function(){return Math.max(0,this.getThemeConstant(this.orientation===t.Orientation.Horizontal?"paddingBottom":"paddingRight"))},r.updateHighlight=function(t){var e=this.getAxisSize(),i=this.getButtonAxisSize(!1),n=this.getButtonAxisSize(!0);t<0||t>e?this.highlight="none":t<i?this.highlight="decrement":t>e-n?this.highlight="increment":this.highlight="track"},r.drawButtonIcon=function(t,e,i,n){var o=this.getButtonIcon(t,e);o&&this.drawTexture(i,n,o.width,o.height,o)},r.getButtonIcon=function(t,e){void 0===e&&(e="");var i,n=t?"increment":"decrement";return null!=(i=this.getThemeIcon(""+n+e))?i:this.getThemeIcon(n)},r.getButtonAxisSize=function(e,i){void 0===i&&(i="");var n=this.getButtonIcon(e,i);return n?this.orientation===t.Orientation.Horizontal?n.width:n.height:0},r.getButtonCrossSize=function(e){var i=this.getButtonIcon(e);return i?this.orientation===t.Orientation.Horizontal?i.height:i.width:0},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.customStep&&(this.customStep=t.customStep)},u(o,[{key:"orientation",get:function(){return this._orientation},set:function(e){if(e!==t.Orientation.Horizontal&&e!==t.Orientation.Vertical)throw RangeError("Invalid ScrollBar orientation.");this._orientation!==e&&(this._orientation=e,this.updateMinimumSize())}},{key:"customStep",get:function(){return this._customStep},set:function(t){if(!Number.isFinite(t))throw RangeError("ScrollBar customStep must be finite.");this._customStep=t}}]),o}(a(tA));function tH(e,i,n){return e===t.ScrollMode.ShowAlways||(e===t.ScrollMode.Auto||e===t.ScrollMode.Reserve||e===t.ScrollMode.MaximizeFirst)&&i>n}function tN(t,e){return Math.abs(t)<=e?0:t-Math.sign(t)*e}function tG(e){if(!Number.isInteger(e)||e<t.ScrollMode.Disabled||e>t.ScrollMode.MaximizeFirst)throw RangeError("Invalid ScrollContainer scroll mode.")}t_.themeType="ScrollBar",t_.pageDivisor=8,t.HScrollBar=function(e){function i(i){return e.call(this,i,t.Orientation.Horizontal)}return n(i,e),i}(t_),t.HScrollBar.themeType="HScrollBar",t.HScrollBar=f([e.effectsClass("HScrollBar")],t.HScrollBar),t.VScrollBar=function(e){function i(i){return e.call(this,i,t.Orientation.Vertical)}return n(i,e),i}(t_),t.VScrollBar.themeType="VScrollBar",t.VScrollBar=f([e.effectsClass("VScrollBar")],t.VScrollBar),t.ScrollContainer=function(i){function o(n){var o;return(o=i.call(this,n)||this).scrollContainerEventEmitter=new e.EventEmitter,o._horizontalScrollMode=t.ScrollMode.Auto,o._verticalScrollMode=t.ScrollMode.Auto,o._scrollHorizontalByDefault=!1,o._deadzone=0,o._followFocus=!1,o.focusRoot=null,o.touchIndex=null,o.touchDecelerating=!1,o.beyondDeadzone=!1,o.dragSpeed=new e.math.Vector2,o.dragAccum=new e.math.Vector2,o.dragFrom=new e.math.Vector2,o.lastDragAccum=new e.math.Vector2,o.motionSampleTime=0,o.viewportWidth=0,o.viewportHeight=0,o.scrollMoved=function(){return o.queueSort()},o.controlStateChanged=function(){o.visibleInHierarchy&&o.enabledInHierarchy||o.cancelTouchDrag()},o.focusOwnerChanged=function(t){o.followFocus&&t&&o.isContentDescendant(t)&&o.ensureControlVisible(t)},o.horizontalBar=new t.HScrollBar(n),o.verticalBar=new t.VScrollBar(n),o.horizontalBar.focusMode=t.FocusMode.None,o.verticalBar.focusMode=t.FocusMode.None,o.clipContents=!0,o.addChild(o.horizontalBar),o.addChild(o.verticalBar),o.horizontalBar.on("valueChanged",o.scrollMoved),o.verticalBar.on("valueChanged",o.scrollMoved),o.on("visibilityChanged",o.controlStateChanged),o.on("enabledChanged",o.controlStateChanged),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"scrollStarted"===t||"scrollEnded"===t?this.scrollContainerEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"scrollStarted"===t||"scrollEnded"===t?this.scrollContainerEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.getHScrollBar=function(){return this.horizontalBar},r.getVScrollBar=function(){return this.verticalBar},r.intersectsChildContent=function(t,i){if(t===this.horizontalBar||t===this.verticalBar)return!0;var n=this.getGlobalTransform2D().elements,o=new e.math.Vector2(n[0]*i.x+n[3]*i.y+n[6],n[1]*i.x+n[4]*i.y+n[7]);return!(this.verticalBar.visible&&this.verticalBar.enabledInHierarchy&&this.verticalBar.hasPoint(this.verticalBar.makePositionLocal(o))||this.horizontalBar.visible&&this.horizontalBar.enabledInHierarchy&&this.horizontalBar.hasPoint(this.horizontalBar.makePositionLocal(o)))},r.ensureControlVisible=function(t){if(!this.isContentDescendant(t))throw Error("ScrollContainer can only reveal a descendant content control.");for(var i,n=t.getGlobalTransform2D().elements,o=[[0,0],[t.width,0],[0,t.height],[t.width,t.height]],r=1/0,s=1/0,a=-1/0,h=-1/0,l=g(o);!(i=l()).done;){var u=i.value,c=new e.math.Vector2(n[0]*u[0]+n[3]*u[1]+n[6],n[1]*u[0]+n[4]*u[1]+n[7]),d=this.makePositionLocal(c);r=Math.min(r,d.x),s=Math.min(s,d.y),a=Math.max(a,d.x),h=Math.max(h,d.y)}var f=Math.max(Math.min(r,0),a-this.viewportWidth),m=Math.max(Math.min(s,0),h-this.viewportHeight);this.horizontalBar.setValue(this.horizontalBar.value+f),this.verticalBar.setValue(this.verticalBar.value+m)},r.getMinimumSize=function(){return this.measureContent(!1)},r.getDesiredSize=function(){return this.measureContent(!0)},r.onMouseWheel=function(i){var n=this.horizontalBar.value,o=this.verticalBar.value,r=this.horizontalScrollMode!==t.ScrollMode.Disabled,s=this.verticalScrollMode!==t.ScrollMode.Disabled,a=this.scrollHorizontalByDefault!==i.shiftPressed,h=!this.verticalBar.visible&&this.verticalScrollMode!==t.ScrollMode.ShowNever,l=!this.horizontalBar.visible&&this.horizontalScrollMode!==t.ScrollMode.ShowNever,u=this.horizontalBar.page/t_.pageDivisor*i.factor,c=this.verticalBar.page/t_.pageDivisor*i.factor;i.buttonIndex===e.MouseButton.WheelUp?r&&a||h?this.horizontalBar.scroll(-u):s&&this.verticalBar.scroll(-c):i.buttonIndex===e.MouseButton.WheelDown?r&&a||h?this.horizontalBar.scroll(u):s&&this.verticalBar.scroll(c):i.buttonIndex===e.MouseButton.WheelLeft?s&&a||l?this.verticalBar.scroll(-c):r&&this.horizontalBar.scroll(-u):i.buttonIndex===e.MouseButton.WheelRight&&(s&&a||l?this.verticalBar.scroll(c):r&&this.horizontalBar.scroll(u)),(n!==this.horizontalBar.value||o!==this.verticalBar.value)&&i.accept()},r.onTouchDown=function(t){null!==this.touchIndex&&this.cancelTouchDrag(),this.touchIndex=t.index,this.touchDecelerating=!1,this.beyondDeadzone=!1,this.dragSpeed.set(0,0),this.dragAccum.set(0,0),this.lastDragAccum.set(0,0),this.dragFrom.set(this.horizontalBar.value,this.verticalBar.value),this.motionSampleTime=0},r.onTouchMove=function(e){if(this.touchIndex===e.index&&!this.touchDecelerating){var i,n=this.horizontalBar.value,o=this.verticalBar.value;this.dragAccum.x-=e.relative.x,this.dragAccum.y-=e.relative.y;var r=this.horizontalScrollMode!==t.ScrollMode.Disabled,s=this.verticalScrollMode!==t.ScrollMode.Disabled;(this.beyondDeadzone||r&&Math.abs(this.dragAccum.x)>this.deadzone||s&&Math.abs(this.dragAccum.y)>this.deadzone)&&(this.beyondDeadzone||(this.beyondDeadzone=!0,this.dragAccum.set(-e.relative.x,-e.relative.y),this.notifyContentScroll(!0),this.scrollContainerEventEmitter.emit("scrollStarted"),null==(i=this.root)||i.cancelPointerPress(this,e.index)),r?this.horizontalBar.scrollTo(this.dragFrom.x+this.dragAccum.x):this.dragAccum.x=0,s?this.verticalBar.scrollTo(this.dragFrom.y+this.dragAccum.y):this.dragAccum.y=0),(n!==this.horizontalBar.value||o!==this.verticalBar.value)&&e.accept()}},r.onTouchUp=function(t){this.touchIndex===t.index&&(t.canceled||0===this.dragSpeed.x&&0===this.dragSpeed.y?this.cancelTouchDrag():this.touchDecelerating=!0)},r.update=function(t){var e=Math.max(0,t)/1e3;this.visibleInHierarchy&&this.enabledInHierarchy?null!==this.touchIndex&&(this.touchDecelerating?this.updateInertia(e):this.beyondDeadzone&&this.updateDragVelocity(e)):this.cancelTouchDrag(),i.prototype.update.call(this,t)},r.dispose=function(){var t;this.horizontalBar.off("valueChanged",this.scrollMoved),this.verticalBar.off("valueChanged",this.scrollMoved),this.off("visibilityChanged",this.controlStateChanged),this.off("enabledChanged",this.controlStateChanged),null==(t=this.focusRoot)||t.off("guiFocusChanged",this.focusOwnerChanged),this.focusRoot=null,this.cancelTouchDrag(),i.prototype.dispose.call(this)},r.drawChildren=function(){var t=this.engine.graphics;this.clipContents&&t.pushClipRect(0,0,this.viewportWidth,this.viewportHeight);try{for(var e,i=g(this.children);!(e=i()).done;){var n=e.value;n!==this.horizontalBar&&n!==this.verticalBar&&n.drawInternal()}}finally{this.clipContents&&t.popClipRect()}this.verticalBar.drawInternal(),this.horizontalBar.drawInternal()},r.getLayoutChildren=function(){var t=this;return i.prototype.getLayoutChildren.call(this).filter(function(e){return e!==t.horizontalBar&&e!==t.verticalBar})},r.onRootChanged=function(t,e){var i,n;t!==e&&(null==(i=this.focusRoot)||i.off("guiFocusChanged",this.focusOwnerChanged),this.focusRoot=e,null==(n=this.focusRoot)||n.on("guiFocusChanged",this.focusOwnerChanged))},r.sortChildren=function(){var i=this.getLargestContentSize(!1),n=this.resolveLayout(i);this.viewportWidth=n.viewportWidth,this.viewportHeight=n.viewportHeight,this.horizontalBar.visible=n.horizontalVisible,this.verticalBar.visible=n.verticalVisible,this.horizontalBar.setMaxValue(Math.max(i.x,n.viewportWidth)),this.horizontalBar.setPage(n.viewportWidth),this.verticalBar.setMaxValue(Math.max(i.y,n.viewportHeight)),this.verticalBar.setPage(n.viewportHeight),this.horizontalBar.setRect({position:new e.math.Vector2(0,this.height-this.horizontalBar.getBoundMinimumSize().y),size:new e.math.Vector2(n.viewportWidth,this.horizontalBar.getBoundMinimumSize().y)}),this.verticalBar.setRect({position:new e.math.Vector2(this.width-this.verticalBar.getBoundMinimumSize().x,0),size:new e.math.Vector2(this.verticalBar.getBoundMinimumSize().x,n.viewportHeight)});for(var o,r=g(this.getLayoutChildren());!(o=r()).done;){var s=o.value,a=s.getBoundMinimumSize(),h=s.getCombinedMaximumSize(),l=(s.horizontalSizeFlags&t.SizeFlags.Expand)!=0?Math.max(n.viewportWidth,a.x):a.x,u=(s.verticalSizeFlags&t.SizeFlags.Expand)!=0?Math.max(n.viewportHeight,a.y):a.y;h.x>=0&&(l=Math.min(l,h.x)),h.y>=0&&(u=Math.min(u,h.y)),this.fitChildInRect(s,{position:new e.math.Vector2(Math.floor(-this.horizontalBar.value),Math.floor(-this.verticalBar.value)),size:new e.math.Vector2(l,u)})}},r.measureContent=function(i){var n=this.getLargestContentSize(i),o=this.resolveLayout(n),r=this.getCombinedMaximumSize(),s=new e.math.Vector2,a=this.horizontalScrollMode===t.ScrollMode.Disabled||this.horizontalScrollMode===t.ScrollMode.MaximizeFirst,h=this.verticalScrollMode===t.ScrollMode.Disabled||this.verticalScrollMode===t.ScrollMode.MaximizeFirst;return this.horizontalScrollMode===t.ScrollMode.Disabled?s.x=n.x:this.horizontalScrollMode===t.ScrollMode.MaximizeFirst&&(s.x=r.x>=0?Math.min(n.x,r.x):n.x),this.verticalScrollMode===t.ScrollMode.Disabled?s.y=n.y:this.verticalScrollMode===t.ScrollMode.MaximizeFirst&&(s.y=r.y>=0?Math.min(n.y,r.y):n.y),a&&o.verticalReserved&&(s.x+=this.verticalBar.getBoundMinimumSize().x),h&&o.horizontalReserved&&(s.y+=this.horizontalBar.getBoundMinimumSize().y),s},r.getLargestContentSize=function(t){for(var i,n=new e.math.Vector2,o=g(this.getLayoutChildren());!(i=o()).done;){var r=i.value,s=t?r.getBoundDesiredSize():r.getBoundMinimumSize();n.x=Math.max(n.x,s.x),n.y=Math.max(n.y,s.y)}return n},r.resolveLayout=function(e){for(var i=this.horizontalBar.getBoundMinimumSize().y,n=this.verticalBar.getBoundMinimumSize().x,o=this.horizontalScrollMode===t.ScrollMode.ShowAlways,r=this.verticalScrollMode===t.ScrollMode.ShowAlways,s=o||this.horizontalScrollMode===t.ScrollMode.Reserve,a=r||this.verticalScrollMode===t.ScrollMode.Reserve,h=0;h<4;h++){var l=Math.max(0,this.width-(a?n:0)),u=Math.max(0,this.height-(s?i:0));o=tH(this.horizontalScrollMode,e.x,l),r=tH(this.verticalScrollMode,e.y,u);var c=o||this.horizontalScrollMode===t.ScrollMode.Reserve,d=r||this.verticalScrollMode===t.ScrollMode.Reserve;if(s===c&&a===d)break;s=c,a=d}return{horizontalVisible:o,verticalVisible:r,horizontalReserved:s,verticalReserved:a,viewportWidth:Math.max(0,this.width-(a?n:0)),viewportHeight:Math.max(0,this.height-(s?i:0))}},r.invalidateScrollLayout=function(){this.updateMinimumSize(),this.updateDesiredSize(),this.queueSort()},r.isContentDescendant=function(t){for(var e=t;e&&e.parent!==this;)e=e.parent;return!!e&&e!==this.horizontalBar&&e!==this.verticalBar&&e.parent===this},r.notifyContentScroll=function(t){for(var e,i=function(e){t?e.onScrollBegin():e.onScrollEnd();for(var n,o=g(e.children);!(n=o()).done;)i(n.value)},n=g(this.getLayoutChildren());!(e=n()).done;)i(e.value)},r.updateDragVelocity=function(t){!(t<=0)&&(this.motionSampleTime+=t,(this.motionSampleTime>=.1||0===this.dragSpeed.x&&0===this.dragSpeed.y)&&(this.dragSpeed.set((this.dragAccum.x-this.lastDragAccum.x)/this.motionSampleTime,(this.dragAccum.y-this.lastDragAccum.y)/this.motionSampleTime),this.lastDragAccum.copyFrom(this.dragAccum),this.motionSampleTime=0))},r.updateInertia=function(e){if(!(e<=0)){var i=this.horizontalBar.value,n=this.verticalBar.value;this.horizontalScrollMode!==t.ScrollMode.Disabled?this.horizontalBar.scrollTo(i+this.dragSpeed.x*e):this.dragSpeed.x=0,this.verticalScrollMode!==t.ScrollMode.Disabled?this.verticalBar.scrollTo(n+this.dragSpeed.y*e):this.dragSpeed.y=0,this.horizontalBar.value===i&&0!==this.dragSpeed.x?this.dragSpeed.x=0:this.dragSpeed.x=tN(this.dragSpeed.x,1e3*e),this.verticalBar.value===n&&0!==this.dragSpeed.y?this.dragSpeed.y=0:this.dragSpeed.y=tN(this.dragSpeed.y,1e3*e),0===this.dragSpeed.x&&0===this.dragSpeed.y&&this.cancelTouchDrag()}},r.cancelTouchDrag=function(){var t=this.beyondDeadzone;this.touchIndex=null,this.touchDecelerating=!1,this.beyondDeadzone=!1,this.dragSpeed.set(0,0),this.dragAccum.set(0,0),this.dragFrom.set(0,0),this.lastDragAccum.set(0,0),this.motionSampleTime=0,t&&(this.notifyContentScroll(!1),this.scrollContainerEventEmitter.emit("scrollEnded"))},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.horizontalScrollMode&&(this.horizontalScrollMode=t.horizontalScrollMode),void 0!==t.verticalScrollMode&&(this.verticalScrollMode=t.verticalScrollMode),void 0!==t.horizontalCustomStep&&(this.horizontalCustomStep=t.horizontalCustomStep),void 0!==t.verticalCustomStep&&(this.verticalCustomStep=t.verticalCustomStep),void 0!==t.scrollHorizontalByDefault&&(this.scrollHorizontalByDefault=t.scrollHorizontalByDefault),void 0!==t.deadzone&&(this.deadzone=t.deadzone),void 0!==t.followFocus&&(this.followFocus=t.followFocus),void 0!==t.hScroll&&this.horizontalBar.setValueNoSignal(t.hScroll),void 0!==t.vScroll&&this.verticalBar.setValueNoSignal(t.vScroll)},u(o,[{key:"hScroll",get:function(){return this.horizontalBar.value},set:function(t){this.horizontalBar.setValue(t),this.cancelTouchDrag()}},{key:"vScroll",get:function(){return this.verticalBar.value},set:function(t){this.verticalBar.setValue(t),this.cancelTouchDrag()}},{key:"horizontalScrollMode",get:function(){return this._horizontalScrollMode},set:function(t){tG(t),this._horizontalScrollMode!==t&&(this._horizontalScrollMode=t,this.invalidateScrollLayout())}},{key:"verticalScrollMode",get:function(){return this._verticalScrollMode},set:function(t){tG(t),this._verticalScrollMode!==t&&(this._verticalScrollMode=t,this.invalidateScrollLayout())}},{key:"horizontalCustomStep",get:function(){return this.horizontalBar.customStep},set:function(t){this.horizontalBar.customStep=t}},{key:"verticalCustomStep",get:function(){return this.verticalBar.customStep},set:function(t){this.verticalBar.customStep=t}},{key:"scrollHorizontalByDefault",get:function(){return this._scrollHorizontalByDefault},set:function(t){this._scrollHorizontalByDefault=t}},{key:"deadzone",get:function(){return this._deadzone},set:function(t){if(!Number.isFinite(t)||t<0)throw RangeError("ScrollContainer deadzone must be a non-negative finite number.");this._deadzone=t}},{key:"followFocus",get:function(){return this._followFocus},set:function(t){this._followFocus=t}}]),o}(t.Container),t.ScrollContainer.themeType="ScrollContainer",t.ScrollContainer=f([e.effectsClass("ScrollContainer")],t.ScrollContainer);var tW={text:new e.math.Color(.92,.94,.98,1),disabledText:new e.math.Color(.55,.58,.64,1),panel:new e.math.Color(.1,.12,.16,.96),border:new e.math.Color(.28,.32,.4,1),normal:new e.math.Color(.22,.25,.31,1),hover:new e.math.Color(.3,.34,.42,1),pressed:new e.math.Color(.16,.19,.25,1),disabled:new e.math.Color(.16,.18,.22,.75),accent:new e.math.Color(.25,.58,.92,1),accentHover:new e.math.Color(.34,.67,1,1),track:new e.math.Color(.12,.14,.18,.82),clear:new e.math.Color(0,0,0,0),white:new e.math.Color(1,1,1,1)};function tU(t,e,i,n,o){void 0===e&&(e=tW.clear),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=0);var r=new Z;return r.setBackgroundColor(t),r.setBorderColor(e),r.setBorderWidths(i,i,i,i),r.setContentMargins(n,o,n,o),r}function tj(t,e){void 0===t&&(t=0),void 0===e&&(e=0);var i=new $;return i.setContentMargins(t,e,t,e),i}function tK(e){return{type:t.ThemeItemType.StyleBox,defaultValue:e,affectsLayout:!0}}function tq(e){return{type:t.ThemeItemType.Color,defaultValue:e}}function tX(e,i){return void 0===i&&(i=!0),{type:t.ThemeItemType.Constant,defaultValue:e,affectsLayout:i}}var tY={font:{type:t.ThemeItemType.Font,defaultValue:{family:"sans-serif",weight:"normal",style:"normal"},affectsLayout:!0},fontSize:{type:t.ThemeItemType.FontSize,defaultValue:14,affectsLayout:!0}};function tQ(t){return" "===t||" "===t||"\xa0"===t}function t$(t){var e,i=null!=(e=t.codePointAt(0))?e:0;return i>=13312&&i<=19903||i>=19968&&i<=40959||i>=63744&&i<=64255||i>=131072&&i<=195103||i>=12352&&i<=12543||i>=44032&&i<=55215}function tZ(t){return Array.from(t).reduce(function(t,e){return t+(tQ(e)?1:0)},0)}to.registerType("Control",null,tY),to.registerType("Container","Control"),to.registerType("Label","Control",{fontColor:tq(tW.text),lineSpacing:tX(0)}),to.registerType("BaseButton","Control"),to.registerType("Button","BaseButton",{normal:tK(tU(tW.normal,tW.border,1,8,4)),hover:tK(tU(tW.hover,tW.border,1,8,4)),pressed:tK(tU(tW.pressed,tW.border,1,8,4)),hoverPressed:tK(tU(tW.pressed,tW.accent,1,8,4)),disabled:tK(tU(tW.disabled,tW.border,1,8,4)),focus:tK(tU(tW.clear,tW.accentHover,1)),fontColor:tq(tW.text),fontFocusColor:tq(tW.text),fontHoverColor:tq(tW.text),fontPressedColor:tq(tW.text),fontHoverPressedColor:tq(tW.text),fontDisabledColor:tq(tW.disabledText),iconTint:tq(tW.white),iconFocusTint:tq(tW.white),iconHoverTint:tq(tW.white),iconPressedTint:tq(tW.white),iconHoverPressedTint:tq(tW.white),iconDisabledTint:tq(tW.disabledText),icon:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},iconSeparation:tX(4),alignToLargestStyleBox:tX(0)}),to.registerType("Checkbox","Button",{normal:tK(tj(4,4)),hover:tK(tj(4,4)),pressed:tK(tj(4,4)),hoverPressed:tK(tj(4,4)),disabled:tK(tj(4,4)),checked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},unchecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},checkedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},uncheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioChecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioUnchecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioCheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},radioUncheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},checkedColor:tq(tW.white),uncheckedColor:tq(tW.white),checkedDisabledColor:tq(tW.disabledText),markColor:tq(tW.accent),markDisabledColor:tq(tW.disabledText),markUncheckedColor:tq(new e.math.Color(.88,.88,.88,.2)),markUncheckedDisabledColor:tq(new e.math.Color(.5,.5,.5,.2)),markOutlineColor:tq(tW.border),markSize:tX(16),markSeparation:tX(8),checkVOffset:tX(0)}),to.registerType("CheckButton","Button",{normal:tK(tj(6,4)),hover:tK(tj(6,4)),pressed:tK(tj(6,4)),hoverPressed:tK(tj(6,4)),disabled:tK(tj(6,4)),checked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},unchecked:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},checkedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},uncheckedDisabled:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},buttonCheckedColor:tq(tW.white),buttonUncheckedColor:tq(tW.white),switchColor:tq(tW.accent),switchDisabledColor:tq(tW.disabledText),switchOffColor:tq(tW.border),switchKnobColor:tq(tW.text),switchWidth:tX(28),switchHeight:tX(14),switchSeparation:tX(6),checkVOffset:tX(0)}),to.registerType("Panel","Control",{panel:tK(tU(tW.panel,tW.border,1))}),to.registerType("PanelContainer","Container",{panel:tK(tU(tW.panel,tW.border,1,4,4))}),to.registerType("Separator","Control",{separator:tK(tU(tW.border)),separation:tX(1)}),to.registerType("HSeparator","Separator"),to.registerType("VSeparator","Separator"),to.registerType("TextInput","Control",{normal:tK(tU(tW.track,tW.border,1,6,4)),readOnly:tK(tU(tW.disabled,tW.border,1,6,4)),focus:tK(tU(tW.clear,tW.accentHover,1)),fontColor:tq(tW.text),fontReadOnlyColor:tq(tW.disabledText),fontPlaceholderColor:tq(tW.disabledText),selectionColor:tq(new e.math.Color(tW.accent.r,tW.accent.g,tW.accent.b,.45)),caretColor:tq(tW.text),caretWidth:tX(1,!1)}),to.registerType("LineEdit","TextInput"),to.registerType("TextEdit","TextInput"),to.registerType("Popup","PanelContainer",{panel:tK(tU(tW.panel,tW.border,1,6,6))}),to.registerType("PopupPanel","Popup"),to.registerType("PopupMenu","Popup",{hover:tK(tU(tW.hover)),separator:tK(tU(tW.border)),fontColor:tq(tW.text),fontDisabledColor:tq(tW.disabledText),checkColor:tq(tW.accent),itemHeight:tX(28),separatorHeight:tX(9),horizontalPadding:tX(8),iconWidth:tX(20)}),to.registerType("MenuButton","Button"),to.registerType("OptionButton","MenuButton",{arrow:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},arrowSize:tX(12),arrowMargin:tX(4),hSeparation:tX(4),modulateArrow:tX(1)}),to.registerType("ColorPickerButton","Button",{swatchBorderColor:tq(tW.border)}),to.registerType("Range","Control"),to.registerType("ProgressBar","Range",{background:tK(tU(tW.track)),fill:tK(tU(tW.accent)),fontColor:tq(tW.text)}),to.registerType("Slider","Range",{track:tK(tU(tW.track)),fill:tK(tU(tW.accent)),fillHighlight:tK(tU(tW.accentHover)),grabber:tK(tU(tW.normal,tW.border,1)),grabberHighlight:tK(tU(tW.accentHover,tW.border,1)),grabberDisabled:tK(tU(tW.disabled,tW.border,1)),trackThickness:tX(4),grabberSize:tX(14)}),to.registerType("HSlider","Slider"),to.registerType("VSlider","Slider"),to.registerType("ScrollBar","Range",{scroll:tK(tU(tW.track)),scrollFocus:tK(tU(tW.track,tW.accentHover,1)),grabber:tK(tU(tW.disabledText,tW.clear,0,4,4)),grabberHighlight:tK(tU(tW.accent,tW.clear,0,4,4)),grabberPressed:tK(tU(tW.accentHover,tW.clear,0,4,4)),decrement:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},decrementHighlight:{type:t.ThemeItemType.Icon,defaultValue:null},decrementPressed:{type:t.ThemeItemType.Icon,defaultValue:null},increment:{type:t.ThemeItemType.Icon,defaultValue:null,affectsLayout:!0},incrementHighlight:{type:t.ThemeItemType.Icon,defaultValue:null},incrementPressed:{type:t.ThemeItemType.Icon,defaultValue:null},paddingLeft:tX(0),paddingTop:tX(0),paddingRight:tX(0),paddingBottom:tX(0)}),to.registerType("HScrollBar","ScrollBar",{scroll:tK(tU(tW.track,tW.clear,0,0,4))}),to.registerType("VScrollBar","ScrollBar",{scroll:tK(tU(tW.track,tW.clear,0,4,0))}),to.registerType("BoxContainer","Container",{separation:tX(0)}),to.registerType("HBoxContainer","BoxContainer"),to.registerType("VBoxContainer","BoxContainer"),to.registerType("ColorPicker","VBoxContainer"),to.registerType("GridContainer","Container",{horizontalSeparation:tX(0),verticalSeparation:tX(0)}),to.registerType("MarginContainer","Container",{marginLeft:tX(0),marginTop:tX(0),marginRight:tX(0),marginBottom:tX(0)}),to.registerType("CenterContainer","Container"),to.registerType("AspectRatioContainer","Container"),to.registerType("ScrollContainer","Container"),to.registerType("ColorRect","Control"),to.registerType("TextureRect","Control"),to.registerType("NinePatchRect","Control"),to.registerType("Control",null,{empty:tK($.shared)}),t.HorizontalAlignment=void 0,(b=t.HorizontalAlignment||(t.HorizontalAlignment={}))[b.Left=0]="Left",b[b.Center=1]="Center",b[b.Right=2]="Right",b[b.Fill=3]="Fill",t.VerticalAlignment=void 0,(z=t.VerticalAlignment||(t.VerticalAlignment={}))[z.Top=0]="Top",z[z.Center=1]="Center",z[z.Bottom=2]="Bottom",z[z.Fill=3]="Fill",t.AutowrapMode=void 0,(B=t.AutowrapMode||(t.AutowrapMode={}))[B.Off=0]="Off",B[B.Arbitrary=1]="Arbitrary",B[B.Word=2]="Word",B[B.WordSmart=3]="WordSmart",t.TextOverflow=void 0,(I=t.TextOverflow||(t.TextOverflow={}))[I.Visible=0]="Visible",I[I.Clip=1]="Clip",I[I.Ellipsis=2]="Ellipsis",t.TextureExpandMode=void 0,(k=t.TextureExpandMode||(t.TextureExpandMode={}))[k.KeepSize=0]="KeepSize",k[k.IgnoreSize=1]="IgnoreSize",k[k.FitWidth=2]="FitWidth",k[k.FitWidthProportional=3]="FitWidthProportional",k[k.FitHeight=4]="FitHeight",k[k.FitHeightProportional=5]="FitHeightProportional",t.TextureStretchMode=void 0,(F=t.TextureStretchMode||(t.TextureStretchMode={}))[F.Scale=0]="Scale",F[F.Tile=1]="Tile",F[F.Keep=2]="Keep",F[F.KeepCentered=3]="KeepCentered",F[F.KeepAspect=4]="KeepAspect",F[F.KeepAspectCentered=5]="KeepAspectCentered",F[F.KeepAspectCovered=6]="KeepAspectCovered",t.AxisStretchMode=void 0,(D=t.AxisStretchMode||(t.AxisStretchMode={}))[D.Stretch=0]="Stretch",D[D.Tile=1]="Tile",D[D.TileFit=2]="TileFit",t.Side=void 0,(P=t.Side||(t.Side={}))[P.Left=0]="Left",P[P.Top=1]="Top",P[P.Right=2]="Right",P[P.Bottom=3]="Bottom",t.ButtonDrawMode=void 0,(E=t.ButtonDrawMode||(t.ButtonDrawMode={}))[E.Normal=0]="Normal",E[E.Pressed=1]="Pressed",E[E.Hover=2]="Hover",E[E.Disabled=3]="Disabled",E[E.HoverPressed=4]="HoverPressed",t.ButtonActionMode=void 0,(A=t.ButtonActionMode||(t.ButtonActionMode={}))[A.Press=0]="Press",A[A.Release=1]="Release",t.ProgressFillMode=void 0,(R=t.ProgressFillMode||(t.ProgressFillMode={}))[R.BeginToEnd=0]="BeginToEnd",R[R.EndToBegin=1]="EndToBegin",R[R.TopToBottom=2]="TopToBottom",R[R.BottomToTop=3]="BottomToTop",t.Label=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e)||this)._text="",o._horizontalAlignment=t.HorizontalAlignment.Left,o._verticalAlignment=t.VerticalAlignment.Top,o._autowrapMode=t.AutowrapMode.Off,o._textOverflow=t.TextOverflow.Visible,o.layoutDirty=!0,o.layoutWidth=Number.NaN,o.layout=null,o._text=n,o.mouseFilter=t.MouseFilter.Ignore,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var i=this.createNaturalLayout();if(this.autowrapMode===t.AutowrapMode.Off)return new e.math.Vector2(this.textOverflow===t.TextOverflow.Visible?i.width:0,i.height);var n=this.getMinimumLineWidth(),o=Math.max(1,this._text.split("\n").length);return new e.math.Vector2(n,i.lineHeight*o+this.getThemeConstant("lineSpacing")*Math.max(0,o-1))},r.getDesiredSize=function(){var t=this.createNaturalLayout();return new e.math.Vector2(t.width,t.height)},r.draw=function(){var e=this.getTextLayout(this.width),i=this.textOverflow!==t.TextOverflow.Visible,n=this.getVerticalGap(e),o=this.getTextStartY(e,n);i&&this.engine.graphics.pushClipRect(0,0,this.width,this.height);try{for(var r=0;r<e.lines.length;r++){var s=e.lines[r],a=this.textOverflow===t.TextOverflow.Ellipsis?this.ellipsize(s,this.width):s;this.horizontalAlignment===t.HorizontalAlignment.Fill&&r<e.lines.length-1&&tZ(a.text)>0&&a.measurement.width<this.width?this.drawFilledLine(a,o):this.drawThemedText(this.getTextStartX(a.measurement.width),o,a.text),o+=e.lineHeight+this.getThemeConstant("lineSpacing")+n}}finally{i&&this.engine.graphics.popClipRect()}},r.invalidateTextLayout=function(){this.layoutDirty=!0,this.updateMinimumSize(),this.updateDesiredSize()},r.onThemeChanged=function(t){t&&(this.layoutDirty=!0),i.prototype.onThemeChanged.call(this,t)},r.measure=function(t){var e=this.getThemeFont("font");return this.measureText(t,this.getThemeFontSize("fontSize"),e.family,e.weight,e.style)},r.getTextLayout=function(e){var i=this.autowrapMode===t.AutowrapMode.Off?Number.POSITIVE_INFINITY:Math.max(0,e);return(this.layoutDirty||this.layoutWidth!==i||!this.layout)&&(this.layout=this.createLayout(i),this.layoutWidth=i,this.layoutDirty=!1),this.layout},r.createNaturalLayout=function(){return this.createLayout(Number.POSITIVE_INFINITY)},r.createLayout=function(e){for(var i,n,o,r=[],s=this.text.split("\n"),a=this.measure(""),h=g(s);!(o=h()).done;){var l=o.value;this.autowrapMode!==t.AutowrapMode.Off&&Number.isFinite(e)?r.push.apply(r,[].concat(this.wrapParagraph(l,e))):r.push({text:l,measurement:this.measure(l)})}0===r.length&&r.push({text:"",measurement:a});var u=null!=(i=null==(n=r[0])?void 0:n.measurement.lineHeight)?i:a.lineHeight,c=r.reduce(function(t,e){return Math.max(t,e.measurement.width)},0),d=u*r.length+this.getThemeConstant("lineSpacing")*Math.max(0,r.length-1);return{lines:r,lineHeight:u,width:c,height:d}},r.wrapParagraph=function(e,i){var n=this,o=Array.from(e);if(0===o.length)return[{text:"",measurement:this.measure("")}];if(i<=0)return o.map(function(t){return{text:t,measurement:n.measure(t)}});for(var r=this.measure(e),s=[],a=0;a<o.length;){for(var h=0,l=-1,u=-1,c=a;c<o.length;c++){var d,g=o[c],f=null!=(d=r.advances[c])?d:0;if(h+f>i&&c>a)break;if(h+=f,tQ(g)?(l=c,u=c+1):t$(g)&&(l=c+1,u=c+1),h>i){c++;break}}if(c>=o.length){var m=o.slice(a).join("");s.push({text:m,measurement:this.measure(m)});break}var p=void 0,v=void 0;this.autowrapMode!==t.AutowrapMode.Arbitrary&&l>a?(p=l,v=u):v=p=this.autowrapMode===t.AutowrapMode.Word?this.findWordEnd(o,c):Math.max(a+1,c);var y=o.slice(a,p).join("").replace(/[\t \u00a0]+$/,"");s.push({text:y,measurement:this.measure(y)}),a=function(t,e){for(var i=e;i<t.length&&tQ(t[i]);)i++;return i}(o,Math.max(v,a+1))}return s},r.findWordEnd=function(t,e){for(var i=Math.max(1,e);i<t.length;i++)if(tQ(t[i])||t$(t[i]))return tQ(t[i])?i:i+1;return t.length},r.getMinimumLineWidth=function(){var e=this.text.split("\n"),i=0;if(this.autowrapMode===t.AutowrapMode.Arbitrary||this.autowrapMode===t.AutowrapMode.WordSmart){for(var n,o=g(e);!(n=o()).done;)for(var r,s=n.value,a=g(Array.from(s));!(r=a()).done;){var h=r.value;i=Math.max(i,this.measure(h).width)}return i}for(var l,u=g(e);!(l=u()).done;){for(var c,d=l.value,f="",m=g(Array.from(d));!(c=m()).done;){var p=c.value;tQ(p)||t$(p)?(i=Math.max(i,this.measure(f).width,this.measure(p).width),f=""):f+=p}i=Math.max(i,this.measure(f).width)}return i},r.getTextStartX=function(e){return this.horizontalAlignment===t.HorizontalAlignment.Center?(this.width-e)*.5:this.horizontalAlignment===t.HorizontalAlignment.Right?this.width-e:0},r.getTextStartY=function(e,i){var n=e.height+i*Math.max(0,e.lines.length-1);return this.verticalAlignment===t.VerticalAlignment.Center?(this.height-n)*.5:this.verticalAlignment===t.VerticalAlignment.Bottom?this.height-n:0},r.getVerticalGap=function(e){return this.verticalAlignment!==t.VerticalAlignment.Fill||e.lines.length<2?0:Math.max(0,(this.height-e.height)/(e.lines.length-1))},r.ellipsize=function(t,e){if(t.measurement.width<=e)return t;var i=this.measure("…");if(i.width>e)return{text:"",measurement:this.measure("")};for(var n=Array.from(t.text),o=i.width,r=0;r<n.length;r++){var s,a=null!=(s=t.measurement.advances[r])?s:0;if(o+a>e)break;o+=a}var h=n.slice(0,r).join("")+"…";return{text:h,measurement:this.measure(h)}},r.drawFilledLine=function(t,e){for(var i=Array.from(t.text),n=tZ(t.text),o=n>0?(this.width-t.measurement.width)/n:0,r=0,s=0;s<i.length;s++){var a,h=i[s];this.drawThemedText(r,e,h),r+=null!=(a=t.measurement.advances[s])?a:0,tQ(h)&&(r+=o)}},r.drawThemedText=function(t,e,i){var n=this.getThemeFont("font");this.drawText(t,e,i,this.getThemeFontSize("fontSize"),this.getThemeColor("fontColor"),n.family,n.weight,n.style)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.text&&(this.text=t.text),void 0!==t.horizontalAlignment&&(this.horizontalAlignment=t.horizontalAlignment),void 0!==t.verticalAlignment&&(this.verticalAlignment=t.verticalAlignment),void 0!==t.autowrapMode&&(this.autowrapMode=t.autowrapMode),void 0!==t.textOverflow&&(this.textOverflow=t.textOverflow)},u(o,[{key:"text",get:function(){return this._text},set:function(t){this._text!==t&&(this._text=t,this.invalidateTextLayout())}},{key:"horizontalAlignment",get:function(){return this._horizontalAlignment},set:function(t){this._horizontalAlignment!==t&&(this._horizontalAlignment=t,this.layoutDirty=!0)}},{key:"verticalAlignment",get:function(){return this._verticalAlignment},set:function(t){this._verticalAlignment!==t&&(this._verticalAlignment=t,this.layoutDirty=!0)}},{key:"autowrapMode",get:function(){return this._autowrapMode},set:function(t){this._autowrapMode!==t&&(this._autowrapMode=t,this.invalidateTextLayout())}},{key:"textOverflow",get:function(){return this._textOverflow},set:function(t){this._textOverflow!==t&&(this._textOverflow=t,this.layoutDirty=!0,this.updateMinimumSize())}}]),o}(t.Control),t.Label.themeType="Label",t.Label=f([e.effectsClass("Label")],t.Label);var tJ={u0:0,v0:0,u1:1,v1:1};t.TextureRect=function(i){function o(n,o){var r;return void 0===o&&(o=null),(r=i.call(this,n)||this)._texture=null,r._expandMode=t.TextureExpandMode.KeepSize,r._stretchMode=t.TextureStretchMode.Scale,r.flipH=!1,r.flipV=!1,r.tint=new e.math.Color(1,1,1,1),r._texture=o,r.mouseFilter=t.MouseFilter.Ignore,r.on("sizeChanged",function(){return r.controlSizeChanged()}),r}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var i,n,o,r,s=null!=(o=null==(i=this.texture)?void 0:i.width)?o:0,a=null!=(r=null==(n=this.texture)?void 0:n.height)?r:0;switch(this.expandMode){case t.TextureExpandMode.KeepSize:return new e.math.Vector2(s,a);case t.TextureExpandMode.IgnoreSize:return new e.math.Vector2;case t.TextureExpandMode.FitWidth:return new e.math.Vector2(a,0);case t.TextureExpandMode.FitWidthProportional:return new e.math.Vector2(a>0?this.height*s/a:0,0);case t.TextureExpandMode.FitHeight:return new e.math.Vector2(0,s);case t.TextureExpandMode.FitHeightProportional:return new e.math.Vector2(0,s>0?this.width*a/s:0);default:return new e.math.Vector2}},r.getDesiredSize=function(){var t,i,n,o;return new e.math.Vector2(null!=(n=null==(t=this.texture)?void 0:t.width)?n:0,null!=(o=null==(i=this.texture)?void 0:i.height)?o:0)},r.draw=function(){var e=this.texture;if(e&&!(e.width<=0)&&!(e.height<=0)&&!(this.width<=0)&&!(this.height<=0))switch(this.stretchMode){case t.TextureStretchMode.Scale:this.drawRegion(0,0,this.width,this.height,tJ);break;case t.TextureStretchMode.Tile:this.drawTiled(e.width,e.height);break;case t.TextureStretchMode.Keep:this.drawRegion(0,0,e.width,e.height,tJ);break;case t.TextureStretchMode.KeepCentered:this.drawRegion((this.width-e.width)*.5,(this.height-e.height)*.5,e.width,e.height,tJ);break;case t.TextureStretchMode.KeepAspect:this.drawAspect(!1);break;case t.TextureStretchMode.KeepAspectCentered:this.drawAspect(!0);break;case t.TextureStretchMode.KeepAspectCovered:this.drawCovered()}},r.drawAspect=function(t){var e=this.texture;if(e){var i=Math.min(this.width/e.width,this.height/e.height),n=e.width*i,o=e.height*i,r=t?(this.width-n)*.5:0,s=t?(this.height-o)*.5:0;this.drawRegion(r,s,n,o,tJ)}},r.drawCovered=function(){var t=this.texture;if(t){var e=t.width/t.height,i=this.width/this.height,n=tJ;if(e>i){var o=(1-i/e)*.5;n={u0:o,v0:0,u1:1-o,v1:1}}else if(e<i){var r=(1-e/i)*.5;n={u0:0,v0:r,u1:1,v1:1-r}}this.drawRegion(0,0,this.width,this.height,n)}},r.drawTiled=function(t,e){for(var i=0;i<this.height;i+=e)for(var n=Math.min(e,this.height-i),o=n/e,r=0;r<this.width;r+=t){var s=Math.min(t,this.width-r),a=s/t;this.drawRegion(r,i,s,n,{u0:0,v0:1-o,u1:a,v1:1})}},r.drawRegion=function(t,e,i,n,o){var r=this.texture;!r||i<=0||n<=0||this.drawTexture(t,e,i,n,r,{u0:this.flipH?o.u1:o.u0,v0:this.flipV?o.v1:o.v0,u1:this.flipH?o.u0:o.u1,v1:this.flipV?o.v0:o.v1},this.tint)},r.controlSizeChanged=function(){(this.expandMode===t.TextureExpandMode.FitWidthProportional||this.expandMode===t.TextureExpandMode.FitHeightProportional)&&this.updateMinimumSize()},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.texture&&(this.texture=t.texture?this.engine.findObject(t.texture):null),void 0!==t.expandMode&&(this.expandMode=t.expandMode),void 0!==t.stretchMode&&(this.stretchMode=t.stretchMode),void 0!==t.flipH&&(this.flipH=t.flipH),void 0!==t.flipV&&(this.flipV=t.flipV),void 0!==t.tint&&this.tint.copyFrom(t.tint)},u(o,[{key:"texture",get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"expandMode",get:function(){return this._expandMode},set:function(t){this._expandMode!==t&&(this._expandMode=t,this.updateMinimumSize())}},{key:"stretchMode",get:function(){return this._stretchMode},set:function(t){this._stretchMode=t}}]),o}(t.Control),t.TextureRect.themeType="TextureRect",t.TextureRect=f([e.effectsClass("TextureRect")],t.TextureRect),t.NinePatchRect=function(i){function o(n,o){var r;return void 0===o&&(o=null),(r=i.call(this,n)||this).ninePatchEventEmitter=new e.EventEmitter,r.patchMargins=[0,0,0,0],r._texture=null,r.drawCenter=!0,r.horizontalAxisStretchMode=t.AxisStretchMode.Stretch,r.verticalAxisStretchMode=t.AxisStretchMode.Stretch,r.tint=new e.math.Color(1,1,1,1),r._texture=o,r._regionRect={position:new e.math.Vector2,size:new e.math.Vector2},r.mouseFilter=t.MouseFilter.Ignore,r}n(o,i);var r=o.prototype;return r.on=function(t,e){"textureChanged"===t?this.ninePatchEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"textureChanged"===t?this.ninePatchEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.setRegionRect=function(t,e,i,n){if(![t,e,i,n].every(Number.isFinite)||i<0||n<0)throw RangeError("NinePatchRect region must be finite and non-negative.");this._regionRect.position.set(t,e),this._regionRect.size.set(i,n),this.updateDesiredSize()},r.setPatchMargin=function(t,e){if(!Number.isFinite(e)||e<0)throw RangeError("NinePatchRect patch margin must be finite and non-negative.");this.patchMargins[t]!==e&&(this.patchMargins[t]=e,this.updateMinimumSize())},r.getPatchMargin=function(t){var e;return null!=(e=this.patchMargins[t])?e:0},r.getMinimumSize=function(){return new e.math.Vector2(this.getPatchMargin(t.Side.Left)+this.getPatchMargin(t.Side.Right),this.getPatchMargin(t.Side.Top)+this.getPatchMargin(t.Side.Bottom))},r.getDesiredSize=function(){var t=this.getSourceRect();return new e.math.Vector2(t.size.x,t.size.y)},r.draw=function(){var e=this.texture;if(e&&!(this.width<=0)&&!(this.height<=0)){var i=this.getSourceRect();this.drawNinePatch(0,0,this.width,this.height,e,{sourceX:i.position.x,sourceY:i.position.y,sourceWidth:i.size.x,sourceHeight:i.size.y,marginLeft:this.getPatchMargin(t.Side.Left),marginTop:this.getPatchMargin(t.Side.Top),marginRight:this.getPatchMargin(t.Side.Right),marginBottom:this.getPatchMargin(t.Side.Bottom),horizontalMode:this.horizontalAxisStretchMode,verticalMode:this.verticalAxisStretchMode,drawCenter:this.drawCenter},this.tint)}},r.getSourceRect=function(){var t=this.texture;return t?this._regionRect.size.x>0&&this._regionRect.size.y>0?this.regionRect:{position:new e.math.Vector2,size:new e.math.Vector2(t.width,t.height)}:{position:new e.math.Vector2,size:new e.math.Vector2}},r.fromData=function(e){i.prototype.fromData.call(this,e),void 0!==e.texture&&(this.texture=e.texture?this.engine.findObject(e.texture):null),void 0!==e.regionRect&&this.setRegionRect(e.regionRect.position[0],e.regionRect.position[1],e.regionRect.size[0],e.regionRect.size[1]),void 0!==e.patchMarginLeft&&this.setPatchMargin(t.Side.Left,e.patchMarginLeft),void 0!==e.patchMarginTop&&this.setPatchMargin(t.Side.Top,e.patchMarginTop),void 0!==e.patchMarginRight&&this.setPatchMargin(t.Side.Right,e.patchMarginRight),void 0!==e.patchMarginBottom&&this.setPatchMargin(t.Side.Bottom,e.patchMarginBottom),void 0!==e.drawCenter&&(this.drawCenter=e.drawCenter),void 0!==e.horizontalAxisStretchMode&&(this.horizontalAxisStretchMode=e.horizontalAxisStretchMode),void 0!==e.verticalAxisStretchMode&&(this.verticalAxisStretchMode=e.verticalAxisStretchMode),void 0!==e.tint&&this.tint.copyFrom(e.tint)},u(o,[{key:"texture",get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this.updateDesiredSize(),this.ninePatchEventEmitter.emit("textureChanged",t))}},{key:"regionRect",get:function(){return{position:this._regionRect.position.clone(),size:this._regionRect.size.clone()}},set:function(t){this.setRegionRect(t.position.x,t.position.y,t.size.x,t.size.y)}}]),o}(t.Control),t.NinePatchRect.themeType="NinePatchRect",t.NinePatchRect=f([e.effectsClass("NinePatchRect")],t.NinePatchRect),t.ColorRect=function(i){function o(n){var o;return(o=i.call(this,n)||this).color=new e.math.Color(1,1,1,1),o.mouseFilter=t.MouseFilter.Ignore,o}n(o,i);var r=o.prototype;return r.draw=function(){this.fillRect(0,0,this.width,this.height,this.color)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.color&&this.color.copyFrom(t.color)},o}(t.Control),t.ColorRect.themeType="ColorRect",t.ColorRect=f([e.effectsClass("ColorRect")],t.ColorRect),t.Panel=function(e){function i(i){var n;return(n=e.call(this,i)||this).mouseFilter=t.MouseFilter.Stop,n}n(i,e);var o=i.prototype;return o.draw=function(){this.drawStyleBox(this.getThemeStyleBox("panel"),0,0,this.width,this.height)},o.getMinimumSize=function(){return this.getThemeStyleBox("panel").getMinimumSize()},o.getDesiredSize=function(){return this.getMinimumSize()},i}(t.Control),t.Panel.themeType="Panel",t.Panel=f([e.effectsClass("Panel")],t.Panel);var t0=function(){function t(){this.buttons=new Set,this.eventEmitter=new e.EventEmitter,this.allowUnpress=!1}var i=t.prototype;return i.on=function(t,e){this.eventEmitter.on(t,e)},i.off=function(t,e){this.eventEmitter.off(t,e)},i.getPressedButton=function(){for(var t,e=g(this.buttons);!(t=e()).done;){var i=t.value;if(i.buttonPressed)return i}return null},i.getButtons=function(){return Array.from(this.buttons)},i.select=function(t,e,i){if(void 0===i&&(i=!1),!this.buttons.has(t))return!1;if(t.buttonPressed&&!this.allowUnpress)return i&&this.eventEmitter.emit("pressed",t),!1;var n=!t.buttonPressed;if(n)for(var o,r=g(this.buttons);!(o=r()).done;){var s=o.value;s!==t&&s.setPressedFromGroup(!1,e)}return t.setPressedFromGroup(n,e),i&&this.eventEmitter.emit("pressed",t),!0},t.updateButton=function(t,e,i){if(null==e||e.buttons.delete(t),i&&(i.buttons.add(t),t.buttonPressed))for(var n,o=g(i.buttons);!(n=o()).done;){var r=n.value;r!==t&&r.setPressedFromGroup(!1,!1)}},t}(),t1=function(i){function o(n){var o;return(o=i.call(this,n)||this).buttonEventEmitter=new e.EventEmitter,o._disabled=!1,o._toggleMode=!1,o._buttonPressed=!1,o._buttonMask=e.MouseButtonMask.Left,o._buttonGroup=null,o.hovered=!1,o.pressing=!1,o.pressInside=!1,o.mousePressing=!1,o.keyboardPressing=!1,o.touchIndex=-1,o.controlStateChanged=function(){o.visible&&o.enabled||o.cancelPress()},o.actionMode=t.ButtonActionMode.Release,o.keepPressedOutside=!1,o.focusMode=t.FocusMode.All,o.mouseFilter=t.MouseFilter.Stop,o.on("visibilityChanged",o.controlStateChanged),o.on("enabledChanged",o.controlStateChanged),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"buttonDown"===t||"buttonUp"===t||"pressed"===t||"toggled"===t?this.buttonEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"buttonDown"===t||"buttonUp"===t||"pressed"===t||"toggled"===t?this.buttonEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.setPressedNoSignal=function(t){this.setPressed(t,!1)},r.isHovered=function(){return this.hovered},r.isPressing=function(){return this.pressing&&(this.pressInside||this.keepPressedOutside)},r.getDrawMode=function(){if(this.disabled||!this.enabledInHierarchy)return t.ButtonDrawMode.Disabled;if(!this.pressing&&this.hovered)return this.buttonPressed?t.ButtonDrawMode.HoverPressed:t.ButtonDrawMode.Hover;var e=this.buttonPressed;return this.pressing&&(e=this.pressInside||this.keepPressedOutside,this.buttonPressed&&(e=!e)),e?t.ButtonDrawMode.Pressed:t.ButtonDrawMode.Normal},r.getEffectiveMouseFilter=function(){return this.disabled?t.MouseFilter.Ignore:i.prototype.getEffectiveMouseFilter.call(this)},r.getFocusModeWithOverride=function(){return this.disabled?t.FocusMode.None:i.prototype.getFocusModeWithOverride.call(this)},r.onMouseEnter=function(){this.hovered=!0,this.mousePressing&&(this.pressInside=!0)},r.onMouseMove=function(t){this.hovered=this.hasPoint(t.position),this.mousePressing&&(this.pressInside=this.hovered)},r.onMouseLeave=function(){this.hovered=!1,this.mousePressing&&(this.pressInside=!1)},r.onMouseDown=function(t){!this.disabled&&t2(this.buttonMask,t.buttonIndex)&&(this.mousePressing=!0,this.beginPress(!0),t.accept())},r.onMouseUp=function(t){if(this.mousePressing&&t2(this.buttonMask,t.buttonIndex)){var e=!t.canceled&&(this.keepPressedOutside||this.hasPoint(t.position));this.mousePressing=!1,this.finishPress(e),t.accept()}},r.onTouchDown=function(t){this.disabled||-1!==this.touchIndex||(this.touchIndex=t.index,this.beginPress(!0),t.accept())},r.onTouchMove=function(t){t.index===this.touchIndex&&(this.pressInside=this.hasPoint(t.position),t.accept())},r.onTouchUp=function(t){if(t.index===this.touchIndex){var e=!t.canceled&&(this.keepPressedOutside||this.hasPoint(t.position));this.touchIndex=-1,this.finishPress(e),t.accept()}},r.onKeyDown=function(t){!this.disabled&&!t.echo&&!this.keyboardPressing&&t5(t.keycode)&&(this.keyboardPressing=!0,this.beginPress(!0),t.accept())},r.onKeyUp=function(t){this.keyboardPressing&&t5(t.keycode)&&(this.keyboardPressing=!1,this.finishPress(!0),t.accept())},r.onLostFocus=function(){this.cancelPress()},r.onScrollBegin=function(){this.cancelPress()},r.onDestroy=function(){this.off("visibilityChanged",this.controlStateChanged),this.off("enabledChanged",this.controlStateChanged),this.buttonGroup=null,this.cancelPress()},r.setPressedFromGroup=function(t,e){this.setPressedDirect(t,e)},r.onRootChanged=function(t,e){e||this.cancelPress()},r.setPressed=function(t,e){if(this.buttonGroup&&t){this.buttonPressed||this.buttonGroup.select(this,e);return}this.setPressedDirect(t,e)},r.setPressedDirect=function(t,e){this._buttonPressed!==t&&(this._buttonPressed=t,e&&this.buttonEventEmitter.emit("toggled",t))},r.beginPress=function(e){this.pressing||(this.pressing=!0,this.pressInside=e,this.buttonEventEmitter.emit("buttonDown"),this.actionMode===t.ButtonActionMode.Press&&this.activate())},r.finishPress=function(e){this.pressing&&(this.pressing=!1,this.pressInside=!1,this.buttonEventEmitter.emit("buttonUp"),e&&this.actionMode===t.ButtonActionMode.Release&&this.activate())},r.cancelPress=function(){var t=this.pressing;this.pressing=!1,this.pressInside=!1,this.mousePressing=!1,this.keyboardPressing=!1,this.touchIndex=-1,t&&this.buttonEventEmitter.emit("buttonUp")},r.activate=function(){if(this.toggleMode){if(this.buttonGroup){if(!this.buttonGroup.select(this,!0,!0)&&!this.buttonPressed)return}else this.setPressedDirect(!this.buttonPressed,!0)}this.buttonEventEmitter.emit("pressed")},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.disabled&&(this.disabled=t.disabled),void 0!==t.toggleMode&&(this.toggleMode=t.toggleMode),void 0!==t.buttonPressed&&this.setPressedNoSignal(t.buttonPressed),void 0!==t.buttonMask&&(this.buttonMask=t.buttonMask),void 0!==t.actionMode&&(this.actionMode=t.actionMode),void 0!==t.keepPressedOutside&&(this.keepPressedOutside=t.keepPressedOutside)},u(o,[{key:"disabled",get:function(){return this._disabled},set:function(t){if(this._disabled!==t){var e;this._disabled=t,t&&this.cancelPress(),null==(e=this.root)||e.controlStateChanged(this)}}},{key:"toggleMode",get:function(){return this._toggleMode},set:function(t){this._toggleMode=t}},{key:"buttonPressed",get:function(){return this._buttonPressed},set:function(t){this.setPressed(t,!0)}},{key:"buttonMask",get:function(){return this._buttonMask},set:function(t){this._buttonMask=t}},{key:"buttonGroup",get:function(){return this._buttonGroup},set:function(t){if(this._buttonGroup!==t){var e=this._buttonGroup;this._buttonGroup=t,t0.updateButton(this,e,t)}}}]),o}(t.Control);function t2(t,i){switch(i){case e.MouseButton.Left:return(t&e.MouseButtonMask.Left)!=0;case e.MouseButton.Right:return(t&e.MouseButtonMask.Right)!=0;case e.MouseButton.Middle:return(t&e.MouseButtonMask.Middle)!=0;case e.MouseButton.Xbutton1:return(t&e.MouseButtonMask.Xbutton1)!=0;case e.MouseButton.Xbutton2:return(t&e.MouseButtonMask.Xbutton2)!=0;default:return!1}}function t5(t){return"Enter"===t||"Space"===t||" "===t}t1.themeType="BaseButton",t.Button=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e)||this)._text="",o.flat=!1,o.clipText=!1,o.expandIcon=!1,o.textAlignment=t.HorizontalAlignment.Center,o.iconAlignment=t.HorizontalAlignment.Left,o.iconVerticalAlignment=t.VerticalAlignment.Center,o._text=n,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){return this.measureButton()},r.getDesiredSize=function(){return this.measureButton()},r.draw=function(){var t=this.getDrawMode(),e=this.getThemeStyleBox(this.getStyleBoxName(t));this.flat||this.drawStyleBox(e,0,0,this.width,this.height),this.hasFocus(!0)&&this.drawStyleBox(this.getThemeStyleBox("focus"),0,0,this.width,this.height),this.drawDecoration(t),this.drawContent(t,this.getContentInsets())},r.getContentInsets=function(){return this.getBaseContentInsets()},r.getNormalContentInsets=function(){return this.getThemeStyleBox("normal").getContentMargins()},r.drawDecoration=function(t){},r.measureButton=function(){var i,n,o,r,s=this.getThemeFont("font"),a=this.measureText(this.text,this.getThemeFontSize("fontSize"),s.family,s.weight,s.style),h=this.text.length>0,l=this.expandIcon?0:null!=(o=null==(i=this.icon)?void 0:i.width)?o:0,u=this.expandIcon?0:null!=(r=null==(n=this.icon)?void 0:n.height)?r:0,c=this.clipText?0:a.width,d=h?a.lineHeight:0,g=h&&l>0&&this.iconAlignment!==t.HorizontalAlignment.Center?Math.max(0,this.getThemeConstant("iconSeparation")):0,f=this.getContentInsets(),m=this.iconAlignment===t.HorizontalAlignment.Center?Math.max(l,c):l+g+c,p=this.iconVerticalAlignment===t.VerticalAlignment.Center?Math.max(u,d):u+d;return new e.math.Vector2(f.left+m+f.right,f.top+p+f.bottom)},r.getStyleBoxName=function(e){switch(e){case t.ButtonDrawMode.Disabled:return"disabled";case t.ButtonDrawMode.HoverPressed:return"hoverPressed";case t.ButtonDrawMode.Pressed:return"pressed";case t.ButtonDrawMode.Hover:return"hover";default:return"normal"}},r.drawContent=function(e,i){var n=i.left,o=i.top,r=Math.max(0,this.width-i.left-i.right),s=Math.max(0,this.height-i.top-i.bottom),a=this.text.length>0,h=this.icon&&a&&this.iconAlignment!==t.HorizontalAlignment.Center?Math.max(0,this.getThemeConstant("iconSeparation")):0,l=this.getThemeFont("font"),u=this.getThemeFontSize("fontSize"),c=this.measureText(this.text,u,l.family,l.weight,l.style),d=!this.clipText&&a&&this.iconAlignment!==t.HorizontalAlignment.Center?Math.max(0,r-c.width-h):r,g=a&&this.iconVerticalAlignment!==t.VerticalAlignment.Center?Math.max(0,s-c.lineHeight):s,f=this.getIconSize(d,g),m=this.icon&&this.iconAlignment!==t.HorizontalAlignment.Center?f.x+h:0,p=Math.max(0,r-m),v=this.clipText?this.ellipsizeText(this.text,p):this.text,y=this.measureText(v,u,l.family,l.weight,l.style),x=n,C=n+m;this.icon&&this.iconAlignment===t.HorizontalAlignment.Right?(x=n+r-f.x,C=n):this.icon&&this.iconAlignment===t.HorizontalAlignment.Center&&(x=n+(r-f.x)*.5,C=n);var M=this.getAlignedX(C,p,y.width,this.textAlignment),S=(this.icon&&this.iconVerticalAlignment===t.VerticalAlignment.Top?o+f.y:o)+(Math.max(0,s-(this.icon&&this.iconVerticalAlignment!==t.VerticalAlignment.Center?f.y:0))-y.lineHeight)*.5;this.clipText&&this.engine.graphics.pushClipRect(n,o,r,s);try{if(this.icon){var T=this.getAlignedY(o,s,f.y,this.iconVerticalAlignment);this.drawTexture(x,T,f.x,f.y,this.icon,void 0,this.getIconTint(e))}this.drawText(M,S,v,u,this.getFontColor(e),l.family,l.weight,l.style)}finally{this.clipText&&this.engine.graphics.popClipRect()}},r.getFontColor=function(e){switch(e){case t.ButtonDrawMode.Disabled:return this.getThemeColor("fontDisabledColor");case t.ButtonDrawMode.HoverPressed:return this.getThemeColor("fontHoverPressedColor");case t.ButtonDrawMode.Pressed:return this.getThemeColor("fontPressedColor");case t.ButtonDrawMode.Hover:return this.getThemeColor("fontHoverColor");default:return this.hasFocus(!0)?this.getThemeColor("fontFocusColor"):this.getThemeColor("fontColor")}},r.getIconTint=function(e){switch(e){case t.ButtonDrawMode.Disabled:return this.getThemeColor("iconDisabledTint");case t.ButtonDrawMode.HoverPressed:return this.getThemeColor("iconHoverPressedTint");case t.ButtonDrawMode.Pressed:return this.getThemeColor("iconPressedTint");case t.ButtonDrawMode.Hover:return this.getThemeColor("iconHoverTint");default:return this.hasFocus(!0)?this.getThemeColor("iconFocusTint"):this.getThemeColor("iconTint")}},r.getBaseContentInsets=function(){if(!this.getThemeConstant("alignToLargestStyleBox"))return this.getThemeStyleBox(this.getStyleBoxName(this.getDrawMode())).getContentMargins();for(var t={left:0,top:0,right:0,bottom:0},e=0,i=["normal","hover","pressed","hoverPressed","disabled"];e<i.length;e++){var n=i[e],o=this.getThemeStyleBox(n).getContentMargins();t.left=Math.max(t.left,o.left),t.top=Math.max(t.top,o.top),t.right=Math.max(t.right,o.right),t.bottom=Math.max(t.bottom,o.bottom)}return t},r.getIconSize=function(t,i){var n=this.icon;if(!n)return new e.math.Vector2;if(!this.expandIcon||n.width<=0||n.height<=0)return new e.math.Vector2(n.width,n.height);var o=Math.min(t/n.width,i/n.height);return new e.math.Vector2(n.width*o,n.height*o)},r.getAlignedX=function(e,i,n,o){return o===t.HorizontalAlignment.Center||o===t.HorizontalAlignment.Fill?e+(i-n)*.5:o===t.HorizontalAlignment.Right?e+i-n:e},r.getAlignedY=function(e,i,n,o){return o===t.VerticalAlignment.Center||o===t.VerticalAlignment.Fill?e+(i-n)*.5:o===t.VerticalAlignment.Bottom?e+i-n:e},r.ellipsizeText=function(t,e){var i,n,o=this.getThemeFont("font"),r=this.getThemeFontSize("fontSize"),s=this.measureText(t,r,o.family,o.weight,o.style);if(s.width<=e)return t;var a=this.measureText("…",r,o.family,o.weight,o.style).width,h=Array.from(t),l=a,u=0;if(a>e)return"";for(;u<h.length&&l+(null!=(i=s.advances[u])?i:0)<=e;)l+=null!=(n=s.advances[u])?n:0,u++;return h.slice(0,u).join("")+"…"},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.text&&(this.text=t.text),void 0!==t.icon&&(this.icon=t.icon?this.engine.findObject(t.icon):null),void 0!==t.flat&&(this.flat=t.flat),void 0!==t.clipText&&(this.clipText=t.clipText),void 0!==t.expandIcon&&(this.expandIcon=t.expandIcon),void 0!==t.textAlignment&&(this.textAlignment=t.textAlignment),void 0!==t.iconAlignment&&(this.iconAlignment=t.iconAlignment),void 0!==t.iconVerticalAlignment&&(this.iconVerticalAlignment=t.iconVerticalAlignment)},u(o,[{key:"text",get:function(){return this._text},set:function(t){this._text!==t&&(this._text=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"icon",get:function(){return void 0===this._icon?this.getThemeIcon("icon"):this._icon},set:function(t){this._icon!==t&&(this._icon=t,this.updateMinimumSize(),this.updateDesiredSize())}}]),o}(t1),t.Button.themeType="Button",t.Button=f([e.effectsClass("Button")],t.Button),t.Checkbox=function(e){function i(i,n){var o;return void 0===n&&(n=""),(o=e.call(this,i,n)||this).toggleMode=!0,o.textAlignment=t.HorizontalAlignment.Left,o}n(i,e);var o=i.prototype;return o.getContentInsets=function(){var t=e.prototype.getContentInsets.call(this),i=this.text?Math.max(0,this.getThemeConstant("markSeparation")):0;return m({},t,{left:t.left+this.getMarkSize().width+i})},o.drawDecoration=function(){var t=this.getThemeConstant("markSize"),e=this.getMarkSize(),i=this.getNormalContentInsets().left,n=this.getThemeConstant("checkVOffset"),o=Math.floor((this.height-e.height)*.5)+n,r=!!this.buttonGroup,s=this.disabled||!this.enabledInHierarchy?r?this.buttonPressed?"radioCheckedDisabled":"radioUncheckedDisabled":this.buttonPressed?"checkedDisabled":"uncheckedDisabled":r?this.buttonPressed?"radioChecked":"radioUnchecked":this.buttonPressed?"checked":"unchecked",a=this.getThemeIcon(s);if(a){this.drawTexture(i,o,a.width,a.height,a,void 0,this.getThemeColor(this.buttonPressed?"checkedColor":"uncheckedColor"));return}var h=Math.floor((this.height-t)*.5)+n,l=i+.5*t,u=h+.5*t,c=this.disabled||!this.enabledInHierarchy,d=c?this.getThemeColor("markDisabledColor"):this.getThemeColor("markColor"),g=c?this.getThemeColor("markUncheckedDisabledColor"):this.getThemeColor("markUncheckedColor"),f=c?this.getThemeColor("checkedDisabledColor"):this.getThemeColor("checkedColor"),m=t/16;this.buttonGroup?this.buttonPressed?(this.fillCircle(l,u,7*m,d),this.fillCircle(l,u,4*m,f)):this.fillCircle(l,u,7*m,g):(this.fillRoundedMark(i+m,h+m,14*m,2.33*m,this.buttonPressed?d:g),this.buttonPressed&&this.fillCheckMark(i,h,m,f))},o.fillRoundedMark=function(t,e,i,n,o){for(var r,s=[],a=g([[t+n,e+n,Math.PI],[t+i-n,e+n,1.5*Math.PI],[t+i-n,e+i-n,0],[t+n,e+i-n,.5*Math.PI]]);!(r=a()).done;)for(var h=r.value,l=h[0],u=h[1],c=h[2],d=0;d<=4;d++){var f=c+d/4*Math.PI*.5;s.push([l+Math.cos(f)*n,u+Math.sin(f)*n])}for(var m=t+.5*i,p=e+.5*i,v=0;v<s.length;v++){var y=s[v],x=s[(v+1)%s.length];this.fillTriangle(m,p,y[0],y[1],x[0],x[1],o)}},o.fillCheckMark=function(t,e,i,n){var o=function(n,o){return[t+n*i,e+o*i]},r=o(11.5,3.734),s=o(5.89,9.346),a=o(4.185,7.665),h=o(2.685,9.164),l=o(5.889,12.344),u=o(13,5.235);this.fillTriangle(a[0],a[1],h[0],h[1],l[0],l[1],n),this.fillTriangle(a[0],a[1],l[0],l[1],s[0],s[1],n),this.fillTriangle(r[0],r[1],s[0],s[1],l[0],l[1],n),this.fillTriangle(r[0],r[1],l[0],l[1],u[0],u[1],n)},o.getMarkSize=function(){for(var t=0,e=0,i=0,n=["checked","unchecked","checkedDisabled","uncheckedDisabled","radioChecked","radioUnchecked","radioCheckedDisabled","radioUncheckedDisabled"];i<n.length;i++){var o,r,s=n[i],a=this.getThemeIcon(s);t=Math.max(t,null!=(o=null==a?void 0:a.width)?o:0),e=Math.max(e,null!=(r=null==a?void 0:a.height)?r:0)}if(t<=0&&e<=0){var h=this.getThemeConstant("markSize");return{width:h,height:h}}return{width:t,height:e}},i}(t.Button),t.Checkbox.themeType="Checkbox",t.Checkbox=f([e.effectsClass("Checkbox")],t.Checkbox),t.CheckButton=function(e){function i(i,n){var o;return void 0===n&&(n=""),(o=e.call(this,i,n)||this).toggleMode=!0,o.textAlignment=t.HorizontalAlignment.Left,o}n(i,e);var o=i.prototype;return o.getContentInsets=function(){var t=e.prototype.getContentInsets.call(this),i=this.text?Math.max(0,this.getThemeConstant("switchSeparation")):0;return m({},t,{right:t.right+this.getSwitchSize().width+i})},o.drawDecoration=function(){var t=this.getThemeConstant("switchWidth"),e=this.getThemeConstant("switchHeight"),i=this.getSwitchSize(),n=this.width-this.getNormalContentInsets().right-i.width,o=this.getThemeConstant("checkVOffset"),r=(this.height-i.height)*.5+o,s=.5*e,a=this.disabled||!this.enabledInHierarchy?this.buttonPressed?"checkedDisabled":"uncheckedDisabled":this.buttonPressed?"checked":"unchecked",h=this.getThemeIcon(a);if(h){this.drawTexture(n,r,h.width,h.height,h,void 0,this.getThemeColor(this.buttonPressed?"buttonCheckedColor":"buttonUncheckedColor"));return}var l=this.width-this.getNormalContentInsets().right-t,u=(this.height-e)*.5+o,c=this.disabled||!this.enabledInHierarchy?this.getThemeColor("switchDisabledColor"):this.getThemeColor("switchColor"),d=this.buttonPressed?c:this.getThemeColor("switchOffColor"),g=this.buttonPressed?l+t-s:l+s;this.fillRect(l+s,u,t-e,e,d),this.fillCircle(l+s,u+s,s,d),this.fillCircle(l+t-s,u+s,s,d),this.fillCircle(g,u+s,s-2,this.getThemeColor("switchKnobColor"))},o.getSwitchSize=function(){for(var t,e=0,i=0,n=this.disabled||!this.enabledInHierarchy?["checkedDisabled","uncheckedDisabled"]:["checked","unchecked"],o=g(n);!(t=o()).done;){var r,s,a=t.value,h=this.getThemeIcon(a);e=Math.max(e,null!=(r=null==h?void 0:h.width)?r:0),i=Math.max(i,null!=(s=null==h?void 0:h.height)?s:0)}return e<=0&&i<=0?{width:this.getThemeConstant("switchWidth"),height:this.getThemeConstant("switchHeight")}:{width:e,height:i}},i}(t.Button),t.CheckButton.themeType="CheckButton",t.CheckButton=f([e.effectsClass("CheckButton")],t.CheckButton);var t4=function(i){function o(n,o){var r;return void 0===o&&(o=t.Orientation.Horizontal),(r=i.call(this,n)||this).sliderEventEmitter=new e.EventEmitter,r._editable=!0,r.dragging=!1,r.hovered=!1,r.dragPosition=0,r.dragRatio=0,r.dragInitialValue=0,r.touchIndex=-1,r.scrollable=!0,r._orientation=o,r.focusMode=t.FocusMode.All,r.mouseFilter=t.MouseFilter.Stop,r}n(o,i);var r=o.prototype;return r.on=function(t,e){"dragStarted"===t||"dragEnded"===t?this.sliderEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"dragStarted"===t||"dragEnded"===t?this.sliderEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.getMinimumSize=function(){var i=this.getThemeConstant("grabberSize"),n=Math.max(i,this.getThemeConstant("trackThickness"));return this.orientation===t.Orientation.Horizontal?new e.math.Vector2(i,n):new e.math.Vector2(n,i)},r.draw=function(){var e=this.getGrabberRect(),i=this.editable&&(this.hovered||this.hasFocus(!0)),n=this.editable?i?"grabberHighlight":"grabber":"grabberDisabled",o=i?"fillHighlight":"fill",r=this.getThemeConstant("trackThickness");if(this.orientation===t.Orientation.Horizontal){var s=(this.height-r)*.5,a=e.x+.5*e.width;this.drawStyleBox(this.getThemeStyleBox("track"),0,s,this.width,r),this.drawStyleBox(this.getThemeStyleBox(o),0,s,a,r)}else{var h=(this.width-r)*.5,l=e.y+.5*e.height;this.drawStyleBox(this.getThemeStyleBox("track"),h,0,r,this.height),this.drawStyleBox(this.getThemeStyleBox(o),h,l,r,this.height-l)}this.drawStyleBox(this.getThemeStyleBox(n),e.x,e.y,e.width,e.height)},r.onMouseEnter=function(){this.hovered=!0},r.onMouseMove=function(t){this.hovered=this.hasPoint(t.position),this.dragging&&(this.updateDrag(this.getAxis(t.position)),t.accept())},r.onMouseLeave=function(){this.hovered=!1},r.onMouseDown=function(t){this.editable&&t.buttonIndex===e.MouseButton.Left&&(this.beginDrag(this.getAxis(t.position),this.getGrabberRect(),t.position),t.accept())},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.dragging&&(this.endDrag(),t.accept())},r.onTouchDown=function(t){this.editable&&-1===this.touchIndex&&(this.touchIndex=t.index,this.beginDrag(this.getAxis(t.position),this.getGrabberRect(),t.position),t.accept())},r.onTouchMove=function(t){this.dragging&&t.index===this.touchIndex&&(this.updateDrag(this.getAxis(t.position)),t.accept())},r.onTouchUp=function(t){t.index===this.touchIndex&&(this.touchIndex=-1,this.endDrag(),t.accept())},r.onMouseWheel=function(t){if(this.editable&&this.scrollable){var i=0;if(t.buttonIndex===e.MouseButton.WheelUp||t.buttonIndex===e.MouseButton.WheelRight?i=1:(t.buttonIndex===e.MouseButton.WheelDown||t.buttonIndex===e.MouseButton.WheelLeft)&&(i=-1),0!==i){var n=this.value;this.value+=i*this.getIncrement()*t.factor,n!==this.value&&t.accept()}}},r.onKeyDown=function(e){if(this.editable){var i,n=this.getIncrement();if(this.orientation===t.Orientation.Horizontal&&"ArrowLeft"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowDown"===e.keycode?i=this.value-n:this.orientation===t.Orientation.Horizontal&&"ArrowRight"===e.keycode||this.orientation===t.Orientation.Vertical&&"ArrowUp"===e.keycode?i=this.value+n:"Home"===e.keycode?i=this.minValue:"End"===e.keycode&&(i=this.maxValue),void 0!==i){var o=this.value;this.value=i,o!==this.value&&e.accept()}}},r.onScrollBegin=function(){this.endDrag()},r.onRootChanged=function(t,e){e||this.endDrag()},r.beginDrag=function(t,e,i){var n=i.x>=e.x&&i.x<=e.x+e.width&&i.y>=e.y&&i.y<=e.y+e.height,o=this.value;n||this.setAsRatio(this.getRatioAt(t)),this.dragging=!0,this.dragPosition=t,this.dragRatio=this.getAsRatio(),this.dragInitialValue=o,this.sliderEventEmitter.emit("dragStarted")},r.updateDrag=function(e){var i=this.getUsableLength();if(!(i<=0)){var n=this.orientation===t.Orientation.Horizontal?1:-1;this.setAsRatio(this.dragRatio+n*(e-this.dragPosition)/i)}},r.endDrag=function(){if(this.dragging){var t=this.value!==this.dragInitialValue;this.dragging=!1,this.touchIndex=-1,this.sliderEventEmitter.emit("dragEnded",t)}},r.getAxis=function(e){return this.orientation===t.Orientation.Horizontal?e.x:e.y},r.getAxisSize=function(){return this.orientation===t.Orientation.Horizontal?this.width:this.height},r.getUsableLength=function(){return Math.max(0,this.getAxisSize()-this.getThemeConstant("grabberSize"))},r.getRatioAt=function(e){var i=this.getUsableLength(),n=i>0?(e-.5*this.getThemeConstant("grabberSize"))/i:0;return this.orientation===t.Orientation.Horizontal?n:1-n},r.getIncrement=function(){return this.step>0?this.step:Math.max(0,this.maxValue-this.minValue)/100},r.getGrabberRect=function(){var e=this.getThemeConstant("grabberSize"),i=this.getUsableLength()*this.getAsRatio();return this.orientation===t.Orientation.Horizontal?{x:i,y:(this.height-e)*.5,width:e,height:e}:{x:(this.width-e)*.5,y:this.getUsableLength()-i,width:e,height:e}},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.editable&&(this.editable=t.editable),void 0!==t.scrollable&&(this.scrollable=t.scrollable)},u(o,[{key:"orientation",get:function(){return this._orientation},set:function(e){if(e!==t.Orientation.Horizontal&&e!==t.Orientation.Vertical)throw RangeError("Invalid Slider orientation.");this._orientation!==e&&(this._orientation=e,this.updateMinimumSize())}},{key:"editable",get:function(){return this._editable},set:function(t){this._editable===t||(this._editable=t,t||this.endDrag())}}]),o}(a(tA));t4.themeType="Slider",t.HSlider=function(e){function i(i){return e.call(this,i,t.Orientation.Horizontal)}return n(i,e),i}(t4),t.HSlider.themeType="HSlider",t.HSlider=f([e.effectsClass("HSlider")],t.HSlider),t.VSlider=function(e){function i(i){return e.call(this,i,t.Orientation.Vertical)}return n(i,e),i}(t4),t.VSlider.themeType="VSlider",t.VSlider=f([e.effectsClass("VSlider")],t.VSlider),t.ProgressBar=function(i){function o(e){var n;return(n=i.call(this,e)||this)._showPercentage=!0,n._fillMode=t.ProgressFillMode.BeginToEnd,n.step=.01,n.mouseFilter=t.MouseFilter.Ignore,n}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var t=this.getThemeStyleBox("background").getMinimumSize(),i=this.getThemeStyleBox("fill").getMinimumSize(),n=new e.math.Vector2(Math.max(t.x,i.x),Math.max(t.y,i.y));if(!this.showPercentage)return new e.math.Vector2(Math.max(1,n.x),Math.max(1,n.y));var o=this.getThemeFont("font"),r=this.measureText("100%",this.getThemeFontSize("fontSize"),o.family,o.weight,o.style);return new e.math.Vector2(n.x,Math.max(t.y+r.lineHeight,n.y))},r.getDesiredSize=function(){var t=this.getMinimumSize();return new e.math.Vector2(Math.max(120,t.x),t.y)},r.draw=function(){var e=this.getAsRatio(),i=this.getThemeStyleBox("fill"),n=i.getMinimumSize();switch(this.drawStyleBox(this.getThemeStyleBox("background"),0,0,this.width,this.height),this.fillMode){case t.ProgressFillMode.BeginToEnd:var o=Math.round(e*(this.width-n.x));o>0&&this.drawStyleBox(i,0,0,o+n.x,this.height);break;case t.ProgressFillMode.EndToBegin:var r=Math.round(e*(this.width-n.x));if(r>0){var s=Math.round((1-e)*(this.width-n.x));this.drawStyleBox(i,s,0,r+n.x,this.height)}break;case t.ProgressFillMode.TopToBottom:var a=Math.round(e*(this.height-n.y));a>0&&this.drawStyleBox(i,0,0,this.width,a+n.y);break;case t.ProgressFillMode.BottomToTop:var h=Math.round(e*(this.height-n.y));if(h>0){var l=Math.round((1-e)*(this.height-n.y));this.drawStyleBox(i,0,l,this.width,h+n.y)}}if(this.showPercentage){var u=""+Math.round(100*e)+"%",c=this.getThemeFont("font"),d=this.getThemeFontSize("fontSize"),g=this.measureText(u,d,c.family,c.weight,c.style);this.drawText((this.width-g.width)*.5,(this.height-g.lineHeight)*.5,u,d,this.getThemeColor("fontColor"),c.family,c.weight,c.style)}},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.showPercentage&&(this.showPercentage=t.showPercentage),void 0!==t.fillMode&&(this.fillMode=t.fillMode)},u(o,[{key:"showPercentage",get:function(){return this._showPercentage},set:function(t){this._showPercentage!==t&&(this._showPercentage=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"fillMode",get:function(){return this._fillMode},set:function(t){this._fillMode=t}}]),o}(a(tA)),t.ProgressBar.themeType="ProgressBar",t.ProgressBar=f([e.effectsClass("ProgressBar")],t.ProgressBar);var t3=function(i){function o(n){var o;return(o=i.call(this,n)||this).textEventEmitter=new e.EventEmitter,o._text="",o._placeholderText="",o._editable=!0,o._maxLength=0,o.selectionStart=0,o.selectionEnd=0,o.selectionAnchor=0,o.selecting=!1,o.selectingWords=!1,o.wordSelectionStart=0,o.wordSelectionEnd=0,o.textarea=null,o.textareaFocusTimer=null,o.composing=!1,o.undoStack=[],o.redoStack=[],o.onBeforeInput=function(){o.pushUndo()},o.onTextareaInput=function(){o.textarea&&(o.setText(o.textarea.value,!0),o.selectionStart=o.textarea.selectionStart,o.selectionEnd=o.textarea.selectionEnd,o.composing||(o.redoStack.length=0))},o.onTextareaSelect=function(){o.textarea&&("backward"===o.textarea.selectionDirection?(o.selectionStart=o.textarea.selectionEnd,o.selectionEnd=o.textarea.selectionStart):(o.selectionStart=o.textarea.selectionStart,o.selectionEnd=o.textarea.selectionEnd),o.selectionAnchor=o.selectionStart)},o.onCompositionStart=function(){o.composing=!0},o.onCompositionEnd=function(){o.composing=!1},o.onTextareaKeyDown=function(t){"Enter"!==t.key||o.multiline||t.isComposing||(t.preventDefault(),o.submit())},o.onTextareaBlur=function(){o.textarea&&o.hasFocus()&&o.releaseFocus()},o.focusMode=t.FocusMode.All,o.mouseFilter=t.MouseFilter.Stop,o.defaultCursorShape=t.CursorShape.Ibeam,o}n(o,i);var r=o.prototype;return r.on=function(t,e){"textChanged"===t||"textSubmitted"===t?this.textEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"textChanged"===t||"textSubmitted"===t?this.textEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.selectAll=function(){this.setSelection(0,this._text.length)},r.deselect=function(){this.setSelection(this.selectionEnd,this.selectionEnd)},r.getSelectedText=function(){var t=Math.min(this.selectionStart,this.selectionEnd),e=Math.max(this.selectionStart,this.selectionEnd);return this._text.slice(t,e)},r.setSelection=function(t,e){void 0===e&&(e=t),this.selectionStart=Math.max(0,Math.min(this._text.length,Math.floor(t))),this.selectionEnd=Math.max(0,Math.min(this._text.length,Math.floor(e))),this.selectionAnchor=this.selectionStart,this.syncTextareaSelection()},r.onMouseDown=function(t){if(t.buttonIndex===e.MouseButton.Left){this.grabFocus(!0),this.cancelTextareaFocus();var i=this.getCharacterIndex(t.position);if(t.doubleClick){var n=this.getWordRange(i),o=n[0],r=n[1];this.wordSelectionStart=o,this.wordSelectionEnd=r,this.setSelection(o,r),this.selectingWords=!0,this.selecting=!0}else t.shiftPressed?this.moveCaret(i,!0):(this.selectionAnchor=i,this.setSelection(i,i)),this.selectingWords=!1,this.selecting=!0;t.accept()}},r.onMouseMove=function(t){if(this.selecting&&(t.buttonMask&e.MouseButtonMask.Left)!=0){var i=this.getCharacterIndex(t.position);if(this.selectingWords){var n=this.getWordRange(i),o=n[0],r=n[1];i<this.wordSelectionStart?this.setSelection(this.wordSelectionEnd,o):this.setSelection(this.wordSelectionStart,r)}else this.setSelection(this.selectionAnchor,i);t.accept()}},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.selecting&&(this.selecting=!1,this.selectingWords=!1,this.focusTextarea(),t.accept())},r.onKeyDown=function(t){var e=t.ctrlPressed||t.metaPressed;if(e&&"a"===t.keycode.toLowerCase()){this.selectAll(),t.accept();return}if(e&&"c"===t.keycode.toLowerCase()){this.copySelection(),t.accept();return}if(e&&"x"===t.keycode.toLowerCase()&&this.editable){this.copySelection(),this.replaceSelection(""),t.accept();return}if(e&&"v"===t.keycode.toLowerCase()&&this.editable){this.pasteClipboard(),t.accept();return}if(e&&"z"===t.keycode.toLowerCase()&&this.editable){t.shiftPressed?this.redo():this.undo(),t.accept();return}if(e&&"y"===t.keycode.toLowerCase()&&this.editable){this.redo(),t.accept();return}if("ArrowLeft"===t.keycode||"ArrowRight"===t.keycode){var i=("ArrowLeft"===t.keycode?-1:1)<0?t6(this._text,this.selectionEnd):t8(this._text,this.selectionEnd);this.moveCaret(i,t.shiftPressed),t.accept();return}if("Home"===t.keycode||"End"===t.keycode){var n="Home"===t.keycode?this.getLineStart(this.selectionEnd):this.getLineEnd(this.selectionEnd);this.moveCaret(n,t.shiftPressed),t.accept();return}if(this.editable){if("Backspace"===t.keycode){this.erase(-1),t.accept();return}if("Delete"===t.keycode){this.erase(1),t.accept();return}if("Enter"===t.keycode){this.multiline?this.replaceSelection("\n"):this.submit(),t.accept();return}e||t.altPressed||!(t.unicode>=32)||(this.replaceSelection(String.fromCodePoint(t.unicode)),t.accept())}},r.onGotFocus=function(){this.activateTextarea()},r.onLostFocus=function(){this.selecting=!1,this.selectingWords=!1,this.removeTextarea()},r.onDestroy=function(){this.removeTextarea()},r.getDisplayText=function(){return this._text},r.getSelectionRange=function(){return[Math.min(this.selectionStart,this.selectionEnd),Math.max(this.selectionStart,this.selectionEnd)]},r.moveCaret=function(t,e){var i=Math.max(0,Math.min(this._text.length,Math.floor(t)));e?(this.selectionStart=this.selectionAnchor,this.selectionEnd=i,this.syncTextareaSelection()):this.setSelection(i,i)},r.getTextFont=function(){return this.getThemeFont("font")},r.getTextFontSize=function(){return this.getThemeFontSize("fontSize")},r.getTextColor=function(){return this.editable?0===this._text.length?this.getThemeColor("fontPlaceholderColor"):this.getThemeColor("fontColor"):this.getThemeColor("fontReadOnlyColor")},r.getTextStyleBox=function(){return this.getThemeStyleBox(this.editable?"normal":"readOnly")},r.drawTextBackground=function(){this.drawStyleBox(this.getTextStyleBox(),0,0,this.width,this.height),this.hasFocus(!0)&&this.drawStyleBox(this.getThemeStyleBox("focus"),0,0,this.width,this.height)},r.drawSelection=function(t,e,i,n){i>0&&this.fillRect(t,e,i,n,this.getThemeColor("selectionColor"))},r.drawCaret=function(t,e,i){this.hasFocus()&&!this.hasSelection&&this.fillRect(t,e,Math.max(1,this.getThemeConstant("caretWidth")),i,this.getThemeColor("caretColor"))},r.onTextValueChanged=function(){},r.setText=function(t,e){var i=this._maxLength>0?t.slice(0,this._maxLength):t;this._text!==i&&(this._text=i,this.selectionStart=Math.min(this.selectionStart,i.length),this.selectionEnd=Math.min(this.selectionEnd,i.length),this.onTextValueChanged(),this.textarea&&this.textarea.value!==i&&(this.textarea.value=i),this.updateMinimumSize(),this.updateDesiredSize(),e&&this.textEventEmitter.emit("textChanged",i))},r.replaceSelection=function(t){if(this.editable){var e=this.getSelectionRange(),i=e[0],n=e[1];this.pushUndo();var o=this._maxLength>0?t.slice(0,Math.max(0,this._maxLength-(this._text.length-(n-i)))):t,r=""+this._text.slice(0,i)+o+this._text.slice(n),s=i+o.length;this.setText(r,!0),this.setSelection(s,s),this.redoStack.length=0}},r.erase=function(t){if(this.hasSelection){this.replaceSelection("");return}var e=this.selectionEnd,i=t<0?t6(this._text,e):e,n=t<0?e:t8(this._text,e);i!==n&&(this.setSelection(i,n),this.replaceSelection(""))},r.getLineStart=function(t){return this.multiline?this._text.lastIndexOf("\n",Math.max(0,t-1))+1:0},r.getLineEnd=function(t){if(!this.multiline)return this._text.length;var e=this._text.indexOf("\n",t);return -1===e?this._text.length:e},r.submit=function(){this.textEventEmitter.emit("textSubmitted",this._text),this.releaseFocus()},r.pushUndo=function(){var t=this.snapshot(),e=this.undoStack[this.undoStack.length-1];(!e||e.text!==t.text||e.selectionStart!==t.selectionStart||e.selectionEnd!==t.selectionEnd)&&(this.undoStack.push(t),this.undoStack.length>100&&this.undoStack.shift())},r.undo=function(){var t=this.undoStack.pop();t&&(this.redoStack.push(this.snapshot()),this.restore(t))},r.redo=function(){var t=this.redoStack.pop();t&&(this.undoStack.push(this.snapshot()),this.restore(t))},r.snapshot=function(){return{text:this._text,selectionStart:this.selectionStart,selectionEnd:this.selectionEnd}},r.restore=function(t){this.setText(t.text,!0),this.setSelection(t.selectionStart,t.selectionEnd)},r.copySelection=function(){var t=this.getSelectedText();t&&"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.writeText(t)},r.pasteClipboard=function(){var t=this;"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.readText().then(function(e){return t.replaceSelection(e)})},r.getWordRange=function(t){if(0===this._text.length)return[0,0];for(var e,i=Math.max(0,Math.min(this._text.length-1,t)),n=g(this._text.matchAll(RegExp("[\\p{L}\\p{N}_]+|\\s+|[^\\p{L}\\p{N}_\\s]+","gu")));!(e=n()).done;){var o=e.value,r=o.index,s=r+o[0].length;if(i>=r&&i<s)return[r,s]}return[i,i+1]},r.activateTextarea=function(){if("undefined"!=typeof document&&!this.textarea){var t=document.createElement("textarea");t.value=this._text,t.readOnly=!this.editable,this._maxLength>0&&(t.maxLength=this._maxLength),t.wrap=this.multiline?"soft":"off",t.setAttribute("aria-hidden","true"),t.style.cssText="position:fixed;left:-10000px;top:0;width:1px;height:1px;opacity:0;pointer-events:none;",t.addEventListener("beforeinput",this.onBeforeInput),t.addEventListener("input",this.onTextareaInput),t.addEventListener("select",this.onTextareaSelect),t.addEventListener("compositionstart",this.onCompositionStart),t.addEventListener("compositionend",this.onCompositionEnd),t.addEventListener("keydown",this.onTextareaKeyDown),t.addEventListener("blur",this.onTextareaBlur),document.body.appendChild(t),this.textarea=t,this.syncTextareaSelection(),this.scheduleTextareaFocus()}},r.removeTextarea=function(){this.cancelTextareaFocus();var t=this.textarea;t&&(this.textarea=null,t.removeEventListener("beforeinput",this.onBeforeInput),t.removeEventListener("input",this.onTextareaInput),t.removeEventListener("select",this.onTextareaSelect),t.removeEventListener("compositionstart",this.onCompositionStart),t.removeEventListener("compositionend",this.onCompositionEnd),t.removeEventListener("keydown",this.onTextareaKeyDown),t.removeEventListener("blur",this.onTextareaBlur),t.remove(),this.composing=!1)},r.syncTextareaSelection=function(){if(this.textarea){var t=Math.min(this.selectionStart,this.selectionEnd),e=Math.max(this.selectionStart,this.selectionEnd);this.textarea.setSelectionRange(t,e,this.selectionEnd<this.selectionStart?"backward":"forward")}},r.scheduleTextareaFocus=function(){var t=this;this.cancelTextareaFocus(),this.textareaFocusTimer=setTimeout(function(){t.textareaFocusTimer=null,t.focusTextarea()})},r.cancelTextareaFocus=function(){null!==this.textareaFocusTimer&&(clearTimeout(this.textareaFocusTimer),this.textareaFocusTimer=null)},r.focusTextarea=function(){this.textarea&&this.hasFocus()&&document.activeElement!==this.textarea&&this.textarea.focus({preventScroll:!0})},u(o,[{key:"text",get:function(){return this._text},set:function(t){this.setText(t,!1)}},{key:"placeholderText",get:function(){return this._placeholderText},set:function(t){this._placeholderText!==t&&(this._placeholderText=t,this.updateMinimumSize(),this.updateDesiredSize())}},{key:"editable",get:function(){return this._editable},set:function(t){this._editable!==t&&(this._editable=t,this.textarea&&(this.textarea.readOnly=!t),this.updateMinimumSize())}},{key:"maxLength",get:function(){return this._maxLength},set:function(t){this._maxLength=Math.max(0,Math.floor(t)),this._maxLength>0&&this._text.length>this._maxLength&&this.setText(this._text.slice(0,this._maxLength),!1),this.textarea&&(this._maxLength>0?this.textarea.maxLength=this._maxLength:this.textarea.removeAttribute("maxlength"))}},{key:"caretColumn",get:function(){return this.selectionEnd},set:function(t){this.setSelection(t,t)}},{key:"hasSelection",get:function(){return this.selectionStart!==this.selectionEnd}}]),o}(t.Control);function t6(t,e){var i=Math.max(0,e-1);return i>0&&t7(t.charCodeAt(i))&&t9(t.charCodeAt(i-1))?i-1:i}function t8(t,e){return e>=t.length?t.length:Math.min(t.length,e+(t9(t.charCodeAt(e))&&t7(t.charCodeAt(e+1))?2:1))}function t9(t){return t>=55296&&t<=56319}function t7(t){return t>=56320&&t<=57343}t3.themeType="TextInput",t.LineEdit=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e)||this).multiline=!1,o.alignment=t.HorizontalAlignment.Left,o.scrollOffset=0,o._secret=!1,o._secretCharacter="•",o.text=n,o}n(o,i);var r=o.prototype;return r.getMinimumSize=function(){var t=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.measureText("M",this.getTextFontSize(),i.family,i.weight,i.style);return new e.math.Vector2(t.left+t.right+24,t.top+t.bottom+n.lineHeight)},r.getDesiredSize=function(){var t=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.getVisibleText()||this.placeholderText,o=this.measureText(n,this.getTextFontSize(),i.family,i.weight,i.style);return new e.math.Vector2(t.left+t.right+o.width,t.top+t.bottom+o.lineHeight)},r.draw=function(){this.drawTextBackground();var t=this.getTextStyleBox().getContentMargins(),e=Math.max(0,this.width-t.left-t.right),i=this.getVisibleText(),n=i||this.placeholderText,o=this.getTextFont(),r=this.getTextFontSize(),s=this.measureText(n,r,o.family,o.weight,o.style),a=t.top+Math.max(0,(this.height-t.top-t.bottom-s.lineHeight)*.5);this.updateScrollOffset(e);var h=this.getAlignedTextX(s.width,e,t.left)-this.scrollOffset;if(this.engine.graphics.pushClipRect(t.left,t.top,e,Math.max(0,this.height-t.top-t.bottom)),i){var l=this.getSelectionRange(),u=l[0],c=l[1],d=this.measurePrefix(u),g=this.measurePrefix(c)-d;this.drawSelection(h+d,a,g,s.lineHeight)}this.drawText(h,a,n,r,this.getTextColor(),o.family,o.weight,o.style),i?this.drawCaret(h+this.measurePrefix(this.caretColumn),a,s.lineHeight):this.drawCaret(h,a,s.lineHeight),this.engine.graphics.popClipRect()},r.getDisplayText=function(){return this.getVisibleText()},r.getCharacterIndex=function(t){var e=this.getTextStyleBox().getContentMargins(),i=Math.max(0,this.width-e.left-e.right),n=this.measurePrefix(this.text.length),o=this.getAlignedTextX(n,i,e.left)-this.scrollOffset,r=t.x-o;if(r<=0)return 0;for(var s=function(t){for(var e,i=[0],n=0,o=g(t);!(e=o()).done;)i.push(n+=e.value.length);return i}(this.text),a=1;a<s.length;a++)if(r<(this.measurePrefix(s[a-1])+this.measurePrefix(s[a]))*.5)return s[a-1];return this.text.length},r.getVisibleText=function(){return this.secret?(this.secretCharacter||"•").repeat(Array.from(this.text).length):this.text},r.measurePrefix=function(t){var e=this.getTextFont(),i=this.text.slice(0,t),n=this.secret?(this.secretCharacter||"•").repeat(Array.from(i).length):i;return this.measureText(n,this.getTextFontSize(),e.family,e.weight,e.style).width},r.updateScrollOffset=function(t){if(!this.hasFocus()){this.scrollOffset=0;return}var e=this.measurePrefix(this.caretColumn);e-this.scrollOffset>t&&(this.scrollOffset=e-t),e<this.scrollOffset&&(this.scrollOffset=e)},r.getAlignedTextX=function(e,i,n){return this.alignment===t.HorizontalAlignment.Center?n+(i-e)*.5:this.alignment===t.HorizontalAlignment.Right?n+i-e:n},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.text&&(this.text=t.text),void 0!==t.placeholderText&&(this.placeholderText=t.placeholderText),void 0!==t.editable&&(this.editable=t.editable),void 0!==t.maxLength&&(this.maxLength=t.maxLength),void 0!==t.secret&&(this.secret=t.secret),void 0!==t.secretCharacter&&(this.secretCharacter=t.secretCharacter),void 0!==t.alignment&&(this.alignment=t.alignment)},u(o,[{key:"secret",get:function(){return this._secret},set:function(t){this._secret!==t&&(this._secret=t,this.updateDesiredSize())}},{key:"secretCharacter",get:function(){return this._secretCharacter},set:function(t){var e,i=null!=(e=Array.from(t)[0])?e:"";this._secretCharacter!==i&&(this._secretCharacter=i,this.updateDesiredSize())}}]),o}(t3),t.LineEdit.themeType="LineEdit",t.LineEdit=f([e.effectsClass("LineEdit")],t.LineEdit),t.TextEdit=function(t){function i(e,i){var n;return void 0===i&&(i=""),(n=t.call(this,e)||this).multiline=!0,n.scrollLine=0,n.text=i,n}n(i,t);var o=i.prototype;return o.getMinimumSize=function(){var t=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.measureText("M",this.getTextFontSize(),i.family,i.weight,i.style);return new e.math.Vector2(t.left+t.right+48,t.top+t.bottom+2*n.lineHeight)},o.getDesiredSize=function(){for(var t,i=this.getTextStyleBox().getContentMargins(),n=this.getTextFont(),o=this.getTextFontSize(),r=(this.text||this.placeholderText).split("\n"),s=0,a=this.measureText("M",o,n.family,n.weight,n.style).lineHeight,h=g(r);!(t=h()).done;){var l=t.value,u=this.measureText(l,o,n.family,n.weight,n.style);s=Math.max(s,u.width),a=Math.max(a,u.lineHeight)}return new e.math.Vector2(i.left+i.right+s,i.top+i.bottom+a*Math.max(2,r.length))},o.draw=function(){this.drawTextBackground();var t=this.getTextStyleBox().getContentMargins(),e=this.getTextFont(),i=this.getTextFontSize(),n=(this.text||this.placeholderText).split("\n");this.scrollLine=Math.max(0,Math.min(n.length-1,this.scrollLine));var o=this.measureText("M",i,e.family,e.weight,e.style).lineHeight,r=this.getSelectionRange(),s=r[0],a=r[1],h=n.slice(0,this.scrollLine).reduce(function(t,e){return t+e.length+1},0);this.engine.graphics.pushClipRect(t.left,t.top,Math.max(0,this.width-t.left-t.right),Math.max(0,this.height-t.top-t.bottom));for(var l=this.scrollLine;l<n.length;l++){var u=n[l],c=t.top+(l-this.scrollLine)*o;if(c>=this.height-t.bottom)break;if(this.text){var d=h,g=d+u.length,f=Math.max(d,s),m=Math.min(g,a);if(f<m){var p=this.measureLine(u.slice(0,f-d)),v=this.measureLine(u.slice(f-d,m-d));this.drawSelection(t.left+p,c,v,o)}}this.drawText(t.left,c,u,i,this.getTextColor(),e.family,e.weight,e.style),this.text&&this.caretColumn>=h&&this.caretColumn<=h+u.length&&this.drawCaret(t.left+this.measureLine(u.slice(0,this.caretColumn-h)),c,o),h+=u.length+1}this.engine.graphics.popClipRect()},o.onMouseWheel=function(t){var i=this.text.split("\n").length;t.buttonIndex===e.MouseButton.WheelUp?(this.scrollLine=Math.max(0,this.scrollLine-Math.max(1,Math.round(t.factor))),t.accept()):t.buttonIndex===e.MouseButton.WheelDown&&(this.scrollLine=Math.min(Math.max(0,i-1),this.scrollLine+Math.max(1,Math.round(t.factor))),t.accept())},o.onKeyDown=function(e){if("ArrowUp"===e.keycode||"ArrowDown"===e.keycode){var i=this.getVerticalCaretIndex("ArrowUp"===e.keycode?-1:1);this.moveCaret(i,e.shiftPressed),this.ensureCaretLineVisible(),e.accept();return}t.prototype.onKeyDown.call(this,e)},o.getCharacterIndex=function(t){for(var e=this.getTextStyleBox().getContentMargins(),i=this.getTextFont(),n=this.measureText("M",this.getTextFontSize(),i.family,i.weight,i.style).lineHeight,o=this.text.split("\n"),r=Math.max(0,Math.min(o.length-1,Math.floor((t.y-e.top)/n)+this.scrollLine)),s=o[r],a=o.slice(0,r).reduce(function(t,e){return t+e.length+1},0),h=t.x-e.left,l=1;l<=s.length;l++)if(h<(this.measureLine(s.slice(0,l-1))+this.measureLine(s.slice(0,l)))*.5)return a+l-1;return a+s.length},o.measureLine=function(t){var e=this.getTextFont();return this.measureText(t,this.getTextFontSize(),e.family,e.weight,e.style).width},o.getVerticalCaretIndex=function(t){for(var e=this.text.split("\n"),i=this.caretColumn,n=0,o=0;o<e.length-1;o++){var r=n+e[o].length;if(i<=r)break;n=r+1}for(var s=i-n,a=Math.max(0,Math.min(e.length-1,o+t)),h=0,l=0;l<a;l++)h+=e[l].length+1;return h+Math.min(s,e[a].length)},o.ensureCaretLineVisible=function(){var t=this.getTextStyleBox().getContentMargins(),e=this.getTextFont(),i=this.measureText("M",this.getTextFontSize(),e.family,e.weight,e.style).lineHeight,n=Math.max(1,Math.floor((this.height-t.top-t.bottom)/i)),o=this.text.slice(0,this.caretColumn).split("\n").length-1;o<this.scrollLine?this.scrollLine=o:o>=this.scrollLine+n&&(this.scrollLine=o-n+1)},o.onTextValueChanged=function(){var t=this.text.split("\n").length,e=this.text.slice(0,this.caretColumn).split("\n").length-1;this.scrollLine=Math.max(0,Math.min(t-1,this.scrollLine)),e<this.scrollLine&&(this.scrollLine=e)},o.fromData=function(e){t.prototype.fromData.call(this,e),void 0!==e.text&&(this.text=e.text),void 0!==e.placeholderText&&(this.placeholderText=e.placeholderText),void 0!==e.editable&&(this.editable=e.editable),void 0!==e.maxLength&&(this.maxLength=e.maxLength)},i}(t3),t.TextEdit.themeType="TextEdit",t.TextEdit=f([e.effectsClass("TextEdit")],t.TextEdit);var et=function(i){function o(n){var o;return(o=i.call(this,n)||this).popupEventEmitter=new e.EventEmitter,o.visible=!1,o.focusMode=t.FocusMode.All,o}n(o,i);var r=o.prototype;return r.onPopup=function(t,e){this.popupEventEmitter.on(t,e)},r.offPopup=function(t,e){this.popupEventEmitter.off(t,e)},r.popup=function(t,e){void 0===e&&(e=null);var i,n=null!=(i=null==e?void 0:e.root)?i:this.root;null==n||n.popupControl(this,e,t)},r.hidePopup=function(){var t;null==(t=this.root)||t.closePopupControl(this)},r.onKeyDown=function(t){"Escape"===t.keycode&&(this.hidePopup(),t.accept())},r.onPopupOpened=function(){this.popupEventEmitter.emit("popupOpened")},r.onPopupClosed=function(){this.popupEventEmitter.emit("popupClosed")},r.onDestroy=function(){var t;null==(t=this.root)||t.closePopupControl(this)},o}(t.PanelContainer);et.themeType="Popup",t.PopupPanel=function(t){function e(){return t.apply(this,arguments)}return n(e,t),e}(et),t.PopupPanel.themeType="PopupPanel",t.PopupPanel=f([e.effectsClass("PopupPanel")],t.PopupPanel),t.PopupMenu=function(t){function i(){var i;return i=t.apply(this,arguments)||this,i.menuEventEmitter=new e.EventEmitter,i.items=[],i.hoveredIndex=-1,i}n(i,t);var o=i.prototype;return o.on=function(e,i){"idPressed"===e?this.menuEventEmitter.on(e,i):t.prototype.on.call(this,e,i)},o.off=function(e,i){"idPressed"===e?this.menuEventEmitter.off(e,i):t.prototype.off.call(this,e,i)},o.addItem=function(t,e,i){void 0===e&&(e=this.items.length),void 0===i&&(i=null),this.items.push({id:e,text:t,icon:i}),this.updateMinimumSize(),this.updateDesiredSize()},o.addSeparator=function(t){void 0===t&&(t=""),this.items.push({id:"separator-"+this.items.length,text:t,separator:!0,disabled:!0}),this.updateMinimumSize(),this.updateDesiredSize()},o.clear=function(){this.items.length=0,this.hoveredIndex=-1,this.updateMinimumSize(),this.updateDesiredSize()},o.getItemCount=function(){return this.items.length},o.getItem=function(t){var e=this.items[t];return e?m({},e):void 0},o.setItemDisabled=function(t,e){this.items[t]&&(this.items[t].disabled=e)},o.setItemChecked=function(t,e){this.items[t]&&(this.items[t].checked=e)},o.getMinimumSize=function(){for(var t,i=this.getThemeStyleBox("panel").getContentMargins(),n=this.getThemeFont("font"),o=this.getThemeFontSize("fontSize"),r=this.getThemeConstant("itemHeight"),s=2*this.getThemeConstant("horizontalPadding"),a=0,h=g(this.items);!(t=h()).done;){var l=t.value;l.separator?a+=this.getThemeConstant("separatorHeight"):(s=Math.max(s,this.measureText(l.text,o,n.family,n.weight,n.style).width+2*this.getThemeConstant("horizontalPadding")+this.getThemeConstant("iconWidth")),a+=r)}return new e.math.Vector2(s+i.left+i.right,a+i.top+i.bottom)},o.getDesiredSize=function(){return this.getMinimumSize()},o.draw=function(){t.prototype.draw.call(this);for(var e=this.getThemeStyleBox("panel").getContentMargins(),i=this.getThemeFont("font"),n=this.getThemeFontSize("fontSize"),o=this.getThemeConstant("itemHeight"),r=this.getThemeConstant("horizontalPadding"),s=this.getThemeConstant("iconWidth"),a=e.top,h=0;h<this.items.length;h++){var l=this.items[h];if(l.separator){var u=this.getThemeConstant("separatorHeight");this.drawStyleBox(this.getThemeStyleBox("separator"),e.left+r,a+.5*u,Math.max(0,this.width-e.left-e.right-2*r),1),a+=u;continue}if(h!==this.hoveredIndex||l.disabled||this.drawStyleBox(this.getThemeStyleBox("hover"),e.left,a,Math.max(0,this.width-e.left-e.right),o),l.checked&&this.drawText(e.left+r,a+2,"✓",n,this.getThemeColor("checkColor"),i.family,i.weight,i.style),l.icon){var c=Math.min(o-4,s);this.drawTexture(e.left+r,a+(o-c)*.5,c,c,l.icon)}var d=this.measureText(l.text,n,i.family,i.weight,i.style);this.drawText(e.left+r+s,a+(o-d.lineHeight)*.5,l.text,n,this.getThemeColor(l.disabled?"fontDisabledColor":"fontColor"),i.family,i.weight,i.style),a+=o}},o.onMouseMove=function(t){this.hoveredIndex=this.getIndexAt(t.position.y)},o.onMouseLeave=function(){this.hoveredIndex=-1},o.onMouseDown=function(t){if(t.buttonIndex===e.MouseButton.Left){var i=this.getIndexAt(t.position.y);this.activateIndex(i)&&t.accept()}},o.onKeyDown=function(e){if("ArrowDown"===e.keycode||"ArrowUp"===e.keycode){this.hoveredIndex=this.findEnabledIndex(this.hoveredIndex,"ArrowDown"===e.keycode?1:-1),e.accept();return}if("Enter"===e.keycode||"Space"===e.keycode||" "===e.keycode){this.activateIndex(this.hoveredIndex)&&e.accept();return}t.prototype.onKeyDown.call(this,e)},o.onPopupOpened=function(){this.hoveredIndex=this.findEnabledIndex(-1,1),t.prototype.onPopupOpened.call(this)},o.getIndexAt=function(t){for(var e=this.getThemeStyleBox("panel").getContentMargins(),i=this.getThemeConstant("itemHeight"),n=e.top,o=0;o<this.items.length;o++){var r=this.items[o].separator?this.getThemeConstant("separatorHeight"):i;if(t>=n&&t<n+r)return o;n+=r}return -1},o.activateIndex=function(t){var e=this.items[t];return!!e&&!e.disabled&&!e.separator&&(this.menuEventEmitter.emit("idPressed",e.id),this.hidePopup(),!0)},o.findEnabledIndex=function(t,e){if(0===this.items.length)return -1;for(var i=t<0&&e<0?this.items.length:t,n=0;n<this.items.length;n++){i=(i+e+this.items.length)%this.items.length;var o=this.items[i];if(!o.disabled&&!o.separator)return i}return -1},o.fromData=function(e){if(t.prototype.fromData.call(this,e),void 0!==e.items){this.clear();for(var i,n=g(e.items);!(i=n()).done;){var o=i.value;if(o.separator)this.addSeparator(o.text);else{this.addItem(o.text,o.id);var r,s,a=this.items.length-1;this.setItemDisabled(a,null!=(r=o.disabled)&&r),this.setItemChecked(a,null!=(s=o.checked)&&s)}}}},i}(et),t.PopupMenu.themeType="PopupMenu",t.PopupMenu=f([e.effectsClass("PopupMenu")],t.PopupMenu),t.MenuButton=function(i){function o(e,n){var o;return void 0===n&&(n=""),(o=i.call(this,e,n)||this).openMenu=function(){return o.showPopup()},o.focusMode=t.FocusMode.Accessibility,o.popupMenu=new t.PopupMenu(e),o.on("pressed",o.openMenu),o}n(o,i);var r=o.prototype;return r.showPopup=function(){var t=this.getGlobalTransform2D().elements;this.popupMenu.setSize(Math.max(this.width,this.popupMenu.getBoundDesiredSize().x),this.popupMenu.getBoundDesiredSize().y),this.popupMenu.popup(new e.math.Vector2(t[6],t[7]+this.height),this)},r.onDestroy=function(){this.off("pressed",this.openMenu),this.popupMenu.dispose(),i.prototype.onDestroy.call(this)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.items&&this.popupMenu.fromData({items:t.items})},o}(t.Button),t.MenuButton.themeType="MenuButton",t.MenuButton=f([e.effectsClass("MenuButton")],t.MenuButton),t.OptionButton=function(i){function o(n){var o;return(o=i.call(this,n)||this).optionEventEmitter=new e.EventEmitter,o._selected=-1,o.menuSelected=function(t){return o.selectId(t,!0)},o.focusMode=t.FocusMode.All,o.textAlignment=t.HorizontalAlignment.Left,o.popupMenu.on("idPressed",o.menuSelected),o}n(o,i);var r=o.prototype;return r.getContentInsets=function(){var t,e=i.prototype.getContentInsets.call(this),n=this.getThemeIcon("arrow"),o=null!=(t=null==n?void 0:n.width)?t:this.getThemeConstant("arrowSize");return m({},e,{right:e.right+o+Math.max(0,this.getThemeConstant("hSeparation"))})},r.drawDecoration=function(t){var e,i,n=this.getThemeIcon("arrow"),o=null!=(e=null==n?void 0:n.width)?e:this.getThemeConstant("arrowSize"),r=null!=(i=null==n?void 0:n.height)?i:o,s=this.getThemeConstant("arrowMargin"),a=Math.max(0,this.width-s-o),h=Math.floor(.5*Math.abs(this.height-r)),l=this.getArrowColor(t);if(n){this.drawTexture(a,h,o,r,n,void 0,l);return}var u=o/12,c=a+2*u,d=h+4*u,g=a+6*u,f=h+8*u,m=a+10*u,p=2*u,v=.5*p;this.drawLine(c,d,g,f,l,p),this.drawLine(g,f,m,d,l,p),this.fillCircle(c,d,v,l),this.fillCircle(g,f,v,l),this.fillCircle(m,d,v,l)},r.getArrowColor=function(e){if(0===this.getThemeConstant("modulateArrow"))return this.getThemeColor("iconTint");switch(e){case t.ButtonDrawMode.Pressed:return this.getThemeColor("fontPressedColor");case t.ButtonDrawMode.Hover:return this.getThemeColor("fontHoverColor");case t.ButtonDrawMode.HoverPressed:return this.getThemeColor("fontHoverPressedColor");case t.ButtonDrawMode.Disabled:return this.getThemeColor("fontDisabledColor");default:return this.hasFocus(!0)?this.getThemeColor("fontFocusColor"):this.getThemeColor("fontColor")}},r.onOption=function(t,e){this.optionEventEmitter.on(t,e)},r.offOption=function(t,e){this.optionEventEmitter.off(t,e)},r.addItem=function(t,e){void 0===e&&(e=this.popupMenu.getItemCount()),this.popupMenu.addItem(t,e),-1===this._selected&&this.select(0,!1)},r.clear=function(){this.popupMenu.clear(),this._selected=-1,this.text=""},r.select=function(t,e){void 0===e&&(e=!0);var i=this.popupMenu.getItem(t);i&&!i.disabled&&!i.separator&&(this._selected=t,this.text=i.text,e&&this.optionEventEmitter.emit("itemSelected",i.id))},r.selectId=function(t,e){void 0===e&&(e=!0);for(var i,n=0;n<this.popupMenu.getItemCount();n++)if((null==(i=this.popupMenu.getItem(n))?void 0:i.id)===t){this.select(n,e);return}},r.onDestroy=function(){this.popupMenu.off("idPressed",this.menuSelected),i.prototype.onDestroy.call(this)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.selected&&this.select(t.selected,!1)},u(o,[{key:"selected",get:function(){return this._selected},set:function(t){this.select(t,!1)}}]),o}(t.MenuButton),t.OptionButton.themeType="OptionButton",t.OptionButton=f([e.effectsClass("OptionButton")],t.OptionButton);var ee=function(i){function o(e){var n;return(n=i.call(this,e)||this).hue=0,n.saturation=1,n.value=1,n.dragging=!1,n.mouseFilter=t.MouseFilter.Stop,n.setCustomMinimumSize(180,120),n}n(o,i);var r=o.prototype;return r.draw=function(){for(var t=0;t<12;t++)for(var i=0;i<20;i++){var n=i/19,o=1-t/11;this.fillRect(i*this.width/20,t*this.height/12,this.width/20+1,this.height/12+1,er(this.hue,n,o,1))}var r=this.saturation*this.width,s=(1-this.value)*this.height;this.drawCircle(r,s,5,new e.math.Color(0,0,0,1),3),this.drawCircle(r,s,4,new e.math.Color(1,1,1,1),1)},r.onMouseDown=function(t){t.buttonIndex===e.MouseButton.Left&&(this.dragging=!0,this.updateValue(t.position),t.accept())},r.onMouseMove=function(t){this.dragging&&(this.updateValue(t.position),t.accept())},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.dragging&&(this.dragging=!1,this.updateValue(t.position),t.accept())},r.updateValue=function(t){this.saturation=en(t.x/Math.max(1,this.width)),this.value=1-en(t.y/Math.max(1,this.height)),null==this.changed||this.changed.call(this,this.saturation,this.value)},o}(t.Control),ei=function(i){function o(e){var n;return(n=i.call(this,e)||this).value=0,n.dragging=!1,n.mouseFilter=t.MouseFilter.Stop,n.setCustomMinimumSize(180,18),n}n(o,i);var r=o.prototype;return r.draw=function(){for(var t=0;t<24;t++)this.fillRect(t*this.width/24,0,this.width/24+1,this.height,er(t/23,1,1,1));this.drawLine(this.value*this.width,0,this.value*this.width,this.height,new e.math.Color(1,1,1,1),2)},r.onMouseDown=function(t){t.buttonIndex===e.MouseButton.Left&&(this.dragging=!0,this.updateValue(t.position.x),t.accept())},r.onMouseMove=function(t){this.dragging&&(this.updateValue(t.position.x),t.accept())},r.onMouseUp=function(t){t.buttonIndex===e.MouseButton.Left&&this.dragging&&(this.dragging=!1,this.updateValue(t.position.x),t.accept())},r.updateValue=function(t){this.value=en(t/Math.max(1,this.width)),null==this.changed||this.changed.call(this,this.value)},o}(t.Control);function en(t){return Math.max(0,Math.min(1,t))}function eo(t){var e=Math.max(t.r,t.g,t.b),i=e-Math.min(t.r,t.g,t.b),n=0;return i>0&&(n=(e===t.r?(t.g-t.b)/i%6:e===t.g?(t.b-t.r)/i+2:(t.r-t.g)/i+4)/6)<0&&(n+=1),{h:n,s:0===e?0:i/e,v:e}}function er(t,i,n,o){var r=Math.floor(6*t),s=6*t-r,a=n*(1-i),h=n*(1-s*i),l=n*(1-(1-s)*i);switch(r%6){case 0:return new e.math.Color(n,l,a,o);case 1:return new e.math.Color(h,n,a,o);case 2:return new e.math.Color(a,n,l,o);case 3:return new e.math.Color(a,h,n,o);case 4:return new e.math.Color(l,a,n,o);default:return new e.math.Color(n,a,h,o)}}t.ColorPicker=function(i){function o(n){(o=i.call(this,n)||this).colorEventEmitter=new e.EventEmitter,o.channelFields=[],o.currentColor=new e.math.Color(1,1,1,1),o.syncing=!1,o._editAlpha=!0,o.setThemeConstantOverride("separation",6),o.plane=new ee(n),o.plane.setSizeFlags(t.SizeFlags.ExpandFill,t.SizeFlags.ExpandFill),o.plane.parent=h(o),o.hueBar=new ei(n),o.hueBar.setSizeFlags(t.SizeFlags.ExpandFill,t.SizeFlags.Fill),o.hueBar.parent=h(o),o.alphaSlider=new t.HSlider(n),o.alphaSlider.minValue=0,o.alphaSlider.maxValue=1,o.alphaSlider.step=.01,o.alphaSlider.setCustomMinimumSize(180,18),o.alphaSlider.parent=h(o);var o,r=new t.GridContainer(n);r.columns=4,r.setThemeConstantOverride("horizontalSeparation",4),r.setThemeConstantOverride("verticalSeparation",4),r.parent=h(o);for(var s=0,a=["R","G","B","A"];s<a.length;s++)!function(e,i){var s=i[e],a=o.channelFields.length,h=new t.VBoxContainer(n),l=new t.Label(n,s),u=new t.LineEdit(n);h.setThemeConstantOverride("separation",2),l.parent=h,u.parent=h,h.parent=r,u.on("textSubmitted",function(t){return o.submitChannel(a,t)}),o.channelFields.push(u)}(s,a);return o.hexField=new t.LineEdit(n),o.hexField.placeholderText="#RRGGBBAA",o.hexField.parent=h(o),o.hexField.on("textSubmitted",function(t){return o.submitHex(t)}),o.plane.changed=function(t,e){var i=eo(o.currentColor);o.setColor(er(i.h,t,e,o.currentColor.a),!0)},o.hueBar.changed=function(t){var e=eo(o.currentColor);o.setColor(er(t,e.s,e.v,o.currentColor.a),!0)},o.alphaSlider.on("valueChanged",function(t){o.syncing||o.setColor(new e.math.Color(o.currentColor.r,o.currentColor.g,o.currentColor.b,t),!0)}),o.syncEditors(),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"colorChanged"===t?this.colorEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"colorChanged"===t?this.colorEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.setColor=function(t,e){void 0===e&&(e=!1),!this.currentColor.equals(t)&&(this.currentColor.copyFrom(t),this.syncEditors(),e&&this.colorEventEmitter.emit("colorChanged",this.currentColor.clone()))},r.syncEditors=function(){this.syncing=!0;var t,e,i=eo(this.currentColor);this.plane.hue=i.h,this.plane.saturation=i.s,this.plane.value=i.v,this.hueBar.value=i.h,this.alphaSlider.setValueNoSignal(this.currentColor.a);for(var n=[this.currentColor.r,this.currentColor.g,this.currentColor.b,this.currentColor.a],o=0;o<this.channelFields.length;o++)this.channelFields[o].text=String(Math.round(255*n[o])),this.channelFields[o].editable=o<3||this._editAlpha;this.hexField.text=(t=this.currentColor,e=this._editAlpha,"#"+[t.r,t.g,t.b,t.a].map(function(t){return Math.round(255*en(t)).toString(16).padStart(2,"0").toUpperCase()}).slice(0,e?4:3).join("")),this.alphaSlider.visible=this._editAlpha,this.syncing=!1},r.submitChannel=function(t,i){var n=Number(i);if(Number.isFinite(n)){var o=[this.currentColor.r,this.currentColor.g,this.currentColor.b,this.currentColor.a];o[t]=en(n/255),this.setColor(new e.math.Color(o[0],o[1],o[2],o[3]),!0)}},r.submitHex=function(t){var i=function(t,i){var n=t.trim().replace("#","");if(!/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(n))return null;var o=Number.parseInt(n,16),r=8===n.length;return new e.math.Color((o>>(r?24:16)&255)/255,(o>>(r?16:8)&255)/255,(o>>(r?8:0)&255)/255,r?(255&o)/255:1)}(t,0);i&&(this._editAlpha||(i.a=this.currentColor.a),this.setColor(i,!0))},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.color&&(this.currentColor.copyFrom(t.color),this.syncEditors()),void 0!==t.editAlpha&&(this.editAlpha=t.editAlpha,this.syncEditors())},u(o,[{key:"color",get:function(){return this.currentColor.clone()},set:function(t){this.setColor(t,!1)}},{key:"editAlpha",get:function(){return this._editAlpha},set:function(t){this._editAlpha!==t&&(this._editAlpha=t,this.syncEditors())}}]),o}(t.VBoxContainer),t.ColorPicker.themeType="ColorPicker",t.ColorPicker=f([e.effectsClass("ColorPicker")],t.ColorPicker),t.ColorPickerButton=function(i){function o(n){var o;return(o=i.call(this,n)||this).colorEventEmitter=new e.EventEmitter,o.openPicker=function(){return o.showPicker()},o.popupPanel=new t.PopupPanel(n),o.picker=new t.ColorPicker(n),o.picker.setCustomMinimumSize(250,330),o.picker.parent=o.popupPanel,o.picker.on("colorChanged",function(t){return o.colorEventEmitter.emit("colorChanged",t)}),o.on("pressed",o.openPicker),o}n(o,i);var r=o.prototype;return r.on=function(t,e){"colorChanged"===t?this.colorEventEmitter.on(t,e):i.prototype.on.call(this,t,e)},r.off=function(t,e){"colorChanged"===t?this.colorEventEmitter.off(t,e):i.prototype.off.call(this,t,e)},r.showPicker=function(){var t=this.getGlobalTransform2D().elements;this.popupPanel.setSize(270,350),this.popupPanel.popup(new e.math.Vector2(t[6],t[7]+this.height),this)},r.getContentInsets=function(){var t=i.prototype.getContentInsets.call(this);return m({},t,{left:t.left+Math.max(18,this.height-t.top-t.bottom)+6})},r.drawDecoration=function(t){var e=this.getNormalContentInsets(),i=Math.max(12,this.height-e.top-e.bottom);this.fillRect(e.left,(this.height-i)*.5,i,i,this.picker.color),this.drawRect(e.left+.5,(this.height-i)*.5+.5,i-1,i-1,this.getThemeColor("swatchBorderColor"),1)},r.onDestroy=function(){this.off("pressed",this.openPicker),this.popupPanel.dispose(),i.prototype.onDestroy.call(this)},r.fromData=function(t){i.prototype.fromData.call(this,t),void 0!==t.color&&this.picker.fromData({color:t.color}),void 0!==t.editAlpha&&(this.editAlpha=t.editAlpha)},u(o,[{key:"color",get:function(){return this.picker.color},set:function(t){this.picker.color=t}},{key:"editAlpha",get:function(){return this.picker.editAlpha},set:function(t){this.picker.editAlpha=t}}]),o}(t.Button),t.ColorPickerButton.themeType="ColorPickerButton",t.ColorPickerButton=f([e.effectsClass("ColorPickerButton")],t.ColorPickerButton),e.registerPlugin("gui",tI),t.BaseButton=t1,t.BoxContainer=tP,t.ButtonGroup=t0,t.CanvasContainer=tw,t.CanvasRootControl=tT,t.GUIPlugin=tI,t.GUIWindowComponent=tz,t.Popup=et,t.Range=tA,t.RootControl=tp,t.ScrollBar=t_,t.Slider=t4,t.StyleBox=Q,t.StyleBoxEmpty=$,t.StyleBoxFlat=Z,t.StyleBoxTexture=tn,t.TextInput=t3,t.Theme=tr,t.ThemeRegistry=to,t.UICanvas=tB,t.WindowRootControl=tb,t.cloneThemeValue=Y,t.styleBoxFromData=ts,t.themeFallbacks=ta,t.version="2.10.1",Object.defineProperty(t,"__esModule",{value:!0})});
8
8
  //# sourceMappingURL=index.min.js.map
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: GUI controls and layout containers for Galacean Effects
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors:
6
- * Version: v2.10.0
6
+ * Version: v2.10.1
7
7
  */
8
8
 
9
9
  import { math, EventEmitter, effectsClass, MouseButtonMask, MouseButton, InputEventMouseButton, InputEvent, InputEventKey, InputEventMouse, InputEventMouseMotion, InputEventScreenTouch, InputEventScreenDrag, Component, Plugin, getClass, registerPlugin } from '@galacean/effects';
@@ -10852,7 +10852,7 @@ function colorFromHex(value, fallbackAlpha) {
10852
10852
  }
10853
10853
 
10854
10854
  registerPlugin("gui", GUIPlugin);
10855
- /** GUI plugin package version. Importing this package registers the GUI runtime and native fallback theme. */ var version = "2.10.0";
10855
+ /** GUI plugin package version. Importing this package registers the GUI runtime and native fallback theme. */ var version = "2.10.1";
10856
10856
 
10857
10857
  export { AspectRatioContainer, AspectRatioStretchMode, AutowrapMode, AxisStretchMode, BaseButton, BoxContainer, Button, ButtonActionMode, ButtonDrawMode, ButtonGroup, CanvasContainer, CanvasRenderMode, CanvasRootControl, CenterContainer, CheckButton, Checkbox, ColorPicker, ColorPickerButton, ColorRect, Container, Control, CursorShape, FocusBehaviorRecursive, FocusMode, GUIPlugin, GUIWindowComponent, GridContainer, GrowDirection, HBoxContainer, HScrollBar, HSeparator, HSlider, HorizontalAlignment, Label, LayoutAlignment, LineEdit, MarginContainer, MenuButton, MouseBehaviorRecursive, MouseFilter, NinePatchRect, OptionButton, Orientation, Panel, PanelContainer, PatchStretchMode, Popup, PopupMenu, PopupPanel, ProgressBar, ProgressFillMode, Range, RootControl, ScrollBar, ScrollContainer, ScrollMode, Side, SizeFlags, Slider, StyleBox, StyleBoxEmpty, StyleBoxFlat, StyleBoxTexture, TextEdit, TextInput, TextOverflow, TextureExpandMode, TextureRect, TextureStretchMode, Theme, ThemeItemType, ThemeRegistry, UICanvas, UIControl, VBoxContainer, VScrollBar, VSeparator, VSlider, VerticalAlignment, WindowRootControl, cloneThemeValue, styleBoxFromData, themeFallbacks, version };
10858
10858
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-plugin-gui",
3
- "version": "2.10.0",
3
+ "version": "2.10.1",
4
4
  "description": "GUI controls and layout containers for Galacean Effects",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "registry": "https://registry.npmjs.org"
25
25
  },
26
26
  "devDependencies": {
27
- "@galacean/effects": "2.10.0"
27
+ "@galacean/effects": "2.10.1"
28
28
  },
29
29
  "scripts": {
30
30
  "prebuild": "pnpm clean",