@tawaship/pixim-animate-runtime 0.0.0-stage → 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixim-animate-runtime.js","sources":["../../pixi-animate-runtime/dist/pixi-animate-runtime.esm.js","../src/AnimateContainer.ts","../src/AnimateContentLoader.ts","../src/AnimateContentManifest.ts"],"sourcesContent":["/*!\n * @tawaship/pixi-animate-runtime - v0.1.0\n * \n * @author tawaship (makazu.mori@gmail.com)\n * @license MIT\n */\n\nimport * as PIXI from 'pixi.js';\n\n/**\n * createjs-compatible events: Event and EventDispatcher, with the capture,\n * target and bubble phases createjs dispatches through the parent chain.\n */\nvar Event = function Event(type, bubbles, cancelable) {\n this.target = null;\n this.currentTarget = null;\n this.eventPhase = 0;\n this.defaultPrevented = false;\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.removed = false;\n this.type = type;\n this.bubbles = !!bubbles;\n this.cancelable = !!cancelable;\n this.timeStamp = Date.now();\n};\nEvent.prototype.preventDefault = function preventDefault () {\n this.defaultPrevented = this.cancelable;\n};\nEvent.prototype.stopPropagation = function stopPropagation () {\n this.propagationStopped = true;\n};\nEvent.prototype.stopImmediatePropagation = function stopImmediatePropagation () {\n this.immediatePropagationStopped = this.propagationStopped = true;\n};\nEvent.prototype.remove = function remove () {\n this.removed = true;\n};\nEvent.prototype.clone = function clone () {\n return new Event(this.type, this.bubbles, this.cancelable);\n};\nEvent.prototype.set = function set (props) {\n var this$1$1 = this;\n\n Object.keys(props).forEach(function (key) {\n Reflect.set(this$1$1, key, props[key]);\n });\n return this;\n};\nEvent.prototype.toString = function toString () {\n return '[Event (type=' + this.type + ')]';\n};\nfunction callListener(listener, event) {\n // As createjs: an object with handleEvent is called through it, anything else directly\n if (typeof listener !== 'function') {\n listener.handleEvent(event);\n }\n else {\n listener(event);\n }\n}\nvar EventDispatcher = function EventDispatcher() {\n this._listeners = null;\n this._captureListeners = null;\n};\n\nvar prototypeAccessors$2 = { _eventParent: { configurable: true } };\n/** The parent the bubble and capture phases walk through (a display object's parent) */\nprototypeAccessors$2._eventParent.get = function () {\n return null;\n};\nEventDispatcher.prototype.addEventListener = function addEventListener (type, listener, useCapture) {\n var listeners = useCapture ? this._captureListeners : this._listeners;\n if (!listeners) {\n listeners = {};\n if (useCapture) {\n this._captureListeners = listeners;\n }\n else {\n this._listeners = listeners;\n }\n }\n var list = listeners[type];\n if (list) {\n this.removeEventListener(type, listener, useCapture);\n // Removing may have dropped the list\n var again = listeners[type];\n if (again) {\n again.push(listener);\n }\n else {\n listeners[type] = [listener];\n }\n }\n else {\n listeners[type] = [listener];\n }\n return listener;\n};\nEventDispatcher.prototype.on = function on (type, listener, scope, once, data, useCapture) {\n var owner = typeof listener === 'function' ? (scope || this) : (scope || listener);\n var wrapper = function (event) {\n if (typeof listener === 'function') {\n listener.call(owner, event, data);\n }\n else {\n listener.handleEvent.call(owner, event);\n }\n if (once) {\n event.remove();\n }\n };\n return this.addEventListener(type, wrapper, useCapture);\n};\nEventDispatcher.prototype.removeEventListener = function removeEventListener (type, listener, useCapture) {\n var listeners = useCapture ? this._captureListeners : this._listeners;\n if (!listeners) {\n return;\n }\n var list = listeners[type];\n if (!list) {\n return;\n }\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i] === listener) {\n if (l === 1) {\n delete listeners[type];\n }\n else {\n list.splice(i, 1);\n }\n break;\n }\n }\n};\nEventDispatcher.prototype.off = function off (type, listener, useCapture) {\n this.removeEventListener(type, listener, useCapture);\n};\nEventDispatcher.prototype.removeAllEventListeners = function removeAllEventListeners (type) {\n if (!type) {\n this._listeners = this._captureListeners = null;\n return;\n }\n if (this._listeners) {\n delete this._listeners[type];\n }\n if (this._captureListeners) {\n delete this._captureListeners[type];\n }\n};\nEventDispatcher.prototype.dispatchEvent = function dispatchEvent (eventOrType, bubbles, cancelable) {\n var event;\n if (typeof eventOrType === 'string') {\n var listeners = this._listeners;\n if (!bubbles && (!listeners || !listeners[eventOrType])) {\n return true;\n }\n event = new Event(eventOrType, bubbles, cancelable);\n }\n else {\n // An event that has been dispatched already is dispatched as a copy\n event = eventOrType.target ? eventOrType.clone() : eventOrType;\n }\n event.target = this;\n if (!event.bubbles || !this._eventParent) {\n this._dispatchEvent(event, 2);\n }\n else {\n var chain = [];\n for (var top = this; top; top = top._eventParent) {\n chain.push(top);\n }\n // Capture phase, from the top down to the target's parent\n for (var i = chain.length - 1; i >= 0 && !event.propagationStopped; i--) {\n chain[i]._dispatchEvent(event, 1 + (i === 0 ? 1 : 0));\n }\n // Bubble phase, from the target's parent up\n for (var i$1 = 1; i$1 < chain.length && !event.propagationStopped; i$1++) {\n chain[i$1]._dispatchEvent(event, 3);\n }\n }\n return !event.defaultPrevented;\n};\nEventDispatcher.prototype.hasEventListener = function hasEventListener (type) {\n var listeners = this._listeners;\n var capture = this._captureListeners;\n return !!((listeners && listeners[type]) || (capture && capture[type]));\n};\nEventDispatcher.prototype.willTrigger = function willTrigger (type) {\n for (var o = this; o; o = o._eventParent) {\n if (o.hasEventListener(type)) {\n return true;\n }\n }\n return false;\n};\n/**\n * Phase 1 is capture, 2 the target, 3 bubbling. At the target, the capture\n * listeners run first and then the others (createjs runs the target phase\n * twice, the second time as phase 2.1, which reads the non-capture listeners).\n */\nEventDispatcher.prototype._dispatchEvent = function _dispatchEvent (event, phase) {\n var map = phase <= 2 ? this._captureListeners : this._listeners;\n var found = map ? map[event.type] : undefined;\n if (found && found.length) {\n var list = found.slice();\n event.currentTarget = this;\n event.eventPhase = phase | 0;\n event.removed = false;\n for (var i = 0; i < list.length && !event.immediatePropagationStopped; i++) {\n var listener = list[i];\n callListener(listener, event);\n if (event.removed) {\n this.off(event.type, listener, phase === 1);\n event.removed = false;\n }\n }\n }\n if (phase === 2) {\n this._dispatchEvent(event, 2.1);\n }\n};\n\nObject.defineProperties( EventDispatcher.prototype, prototypeAccessors$2 );\n\nvar DEG_TO_RAD = Math.PI / 180;\nvar RAD_TO_DEG = 180 / Math.PI;\n/**\n * A Pixi Transform whose rotation and skew follow createjs.\n *\n * - The createjs values (degrees) are kept as written, so that reading them\n * back gives exactly what was written (a degrees -> radians -> degrees round\n * trip does not)\n * - Pixi's own fields carry the same values in Pixi's terms (rotation in\n * radians, skew.x = -skewX, skew.y = skewY, all in radians), so code that\n * uses the Pixi node sees consistent values. A write made through Pixi\n * (node.rotation, node.skew) is taken over as the new createjs value\n * - The local matrix is built the createjs way: skew x (rotation x scale),\n * i.e. the object is rotated first and then skewed. Pixi composes rotation\n * and skew the other way round (skewed, then rotated as a whole); the two\n * agree only while the rotation is 0 or skewX equals skewY. Published\n * content is the reference, so createjs's composition is used\n */\nvar CjsTransform = /*@__PURE__*/(function (superclass) {\n function CjsTransform() {\n superclass.apply(this, arguments);\n /** createjs rotation, in degrees */\n this.degRotation = 0;\n /** createjs skewX / skewY, in degrees */\n this.degSkewX = 0;\n this.degSkewY = 0;\n /** The radians last written to the Pixi fields for the values above */\n this._radRotation = 0;\n this._radSkewX = 0;\n this._radSkewY = 0;\n }\n\n if ( superclass ) CjsTransform.__proto__ = superclass;\n CjsTransform.prototype = Object.create( superclass && superclass.prototype );\n CjsTransform.prototype.constructor = CjsTransform;\n CjsTransform.prototype.setRotation = function setRotation (degrees) {\n this.degRotation = degrees;\n this._radRotation = degrees * DEG_TO_RAD;\n if (this._rotation !== this._radRotation) {\n this._rotation = this._radRotation;\n }\n this.updateSkew();\n };\n CjsTransform.prototype.setSkewX = function setSkewX (degrees) {\n this.degSkewX = degrees;\n this._radSkewX = -degrees * DEG_TO_RAD;\n // Setting the point calls updateSkew when the value changes\n this.skew.x = this._radSkewX;\n this.updateSkew();\n };\n CjsTransform.prototype.setSkewY = function setSkewY (degrees) {\n this.degSkewY = degrees;\n this._radSkewY = degrees * DEG_TO_RAD;\n this.skew.y = this._radSkewY;\n this.updateSkew();\n };\n CjsTransform.prototype.updateSkew = function updateSkew () {\n // Values written through Pixi become the createjs values\n if (this._rotation !== this._radRotation) {\n this._radRotation = this._rotation;\n this.degRotation = this._rotation * RAD_TO_DEG;\n }\n if (this.skew.x !== this._radSkewX) {\n this._radSkewX = this.skew.x;\n this.degSkewX = -this.skew.x * RAD_TO_DEG;\n }\n if (this.skew.y !== this._radSkewY) {\n this._radSkewY = this.skew.y;\n this.degSkewY = this.skew.y * RAD_TO_DEG;\n }\n // createjs Matrix2D.appendTransform: (skew) x (rotation, scale)\n var cos = 1;\n var sin = 0;\n if (this.degRotation % 360) {\n var r = this.degRotation * DEG_TO_RAD;\n cos = Math.cos(r);\n sin = Math.sin(r);\n }\n if (this.degSkewX || this.degSkewY) {\n var skewX = this.degSkewX * DEG_TO_RAD;\n var skewY = this.degSkewY * DEG_TO_RAD;\n var a1 = Math.cos(skewY);\n var b1 = Math.sin(skewY);\n var c1 = -Math.sin(skewX);\n var d1 = Math.cos(skewX);\n this._cx = a1 * cos + c1 * sin;\n this._sx = b1 * cos + d1 * sin;\n this._cy = a1 * -sin + c1 * cos;\n this._sy = b1 * -sin + d1 * cos;\n }\n else {\n this._cx = cos;\n this._sx = sin;\n this._cy = -sin;\n this._sy = cos;\n }\n this._localID++;\n };\n\n return CjsTransform;\n}(PIXI.Transform));\n\n/**\n * createjs-compatible Rectangle (its own members are exactly x, y, width,\n * height, as createjs's; Pixi's Rectangle also carries a shape type).\n */\nvar Rectangle = function Rectangle(x, y, width, height) {\n this.x = x || 0;\n this.y = y || 0;\n this.width = width || 0;\n this.height = height || 0;\n};\nRectangle.prototype.setValues = function setValues (x, y, width, height) {\n this.x = x || 0;\n this.y = y || 0;\n this.width = width || 0;\n this.height = height || 0;\n return this;\n};\nRectangle.prototype.copy = function copy (rect) {\n return this.setValues(rect.x, rect.y, rect.width, rect.height);\n};\nRectangle.prototype.clone = function clone () {\n return new Rectangle(this.x, this.y, this.width, this.height);\n};\nRectangle.prototype.contains = function contains (x, y, width, height) {\n var w = width || 0;\n var h = height || 0;\n return x >= this.x && x + w <= this.x + this.width && y >= this.y && y + h <= this.y + this.height;\n};\nRectangle.prototype.isEmpty = function isEmpty () {\n return this.width <= 0 || this.height <= 0;\n};\nRectangle.prototype.toPixi = function toPixi () {\n return new PIXI.Rectangle(this.x, this.y, this.width, this.height);\n};\nRectangle.prototype.toString = function toString () {\n return '[Rectangle (x=' + this.x + ' y=' + this.y + ' width=' + this.width + ' height=' + this.height + ')]';\n};\n\nvar PixiContainer = /*@__PURE__*/(function (superclass) {\n function PixiContainer() {\n superclass.apply(this, arguments);\n this.owner = null;\n }\n\n if ( superclass ) PixiContainer.__proto__ = superclass;\n PixiContainer.prototype = Object.create( superclass && superclass.prototype );\n PixiContainer.prototype.constructor = PixiContainer;\n\n return PixiContainer;\n}(PIXI.Container));\nvar nextId = 0;\n/** A hit area nothing is inside: Pixi's hit test skips a node with it and the node's children */\nvar NO_HIT_AREA = new PIXI.Rectangle(0, 0, 0, 0);\n/** createjs compositeOperation -> Pixi blend mode (the ones WebGL renders) */\nvar BLEND_MODES = {\n 'source-over': PIXI.BLEND_MODES.NORMAL,\n lighter: PIXI.BLEND_MODES.ADD,\n multiply: PIXI.BLEND_MODES.MULTIPLY,\n screen: PIXI.BLEND_MODES.SCREEN\n};\n/**\n * createjs-compatible display object: a window onto a Pixi node.\n *\n * The values both have in common live on the Pixi node only (x / y on\n * position, scaleX / scaleY on scale, regX / regY on pivot, alpha, visible),\n * read and written through accessors, so a write through the Pixi node and a\n * write through this object are the same write. Members that mean different\n * things in createjs and Pixi keep the createjs meaning here (rotation and\n * skew in degrees, mask, filters, parent); the Pixi node keeps the Pixi one.\n */\nvar DisplayObject = /*@__PURE__*/(function (EventDispatcher) {\n function DisplayObject(pixi) {\n EventDispatcher.call(this);\n this.parent = null;\n this.tickEnabled = true;\n this.mouseEnabled = true;\n this.cursor = null;\n this.hitArea = null;\n this.shadow = null;\n this.snapToPixel = true;\n /**\n * Kept off the display list by the timeline (published code sets it on masks\n * and absent instances). createjs reads it only when its timeline places\n * children: it does not affect drawing (an _off object on a display list is drawn)\n */\n /** createjs leaves it unset (undefined) until the timeline or published code sets it */\n this._offValue = undefined;\n this._name = null;\n this._mask = null;\n this._filters = null;\n this._compositeOperation = null;\n /** The composite operation in effect on the parent (createjs draws children under it) */\n this._inheritedComposite = null;\n /** The cache createjs would draw through (filters show in Pixi without one) */\n this.bitmapCache = null;\n this._bounds = null;\n /** The parent whose Pixi node holds this object's mask node */\n this._maskHost = null;\n /** The objects this object masks (while they are on a display list) */\n this._maskTargets = [];\n this.id = nextId++;\n this.pixi = pixi;\n pixi.owner = this;\n pixi.transform = new CjsTransform();\n }\n\n if ( EventDispatcher ) DisplayObject.__proto__ = EventDispatcher;\n DisplayObject.prototype = Object.create( EventDispatcher && EventDispatcher.prototype );\n DisplayObject.prototype.constructor = DisplayObject;\n\n var prototypeAccessors = { _eventParent: { configurable: true },_transform: { configurable: true },x: { configurable: true },y: { configurable: true },scaleX: { configurable: true },scaleY: { configurable: true },regX: { configurable: true },regY: { configurable: true },rotation: { configurable: true },skewX: { configurable: true },skewY: { configurable: true },alpha: { configurable: true },visible: { configurable: true },name: { configurable: true },_off: { configurable: true },compositeOperation: { configurable: true },mask: { configurable: true },filters: { configurable: true } };\n prototypeAccessors._eventParent.get = function () {\n return this.parent;\n };\n prototypeAccessors._transform.get = function () {\n var transform = this.pixi.transform;\n if (transform instanceof CjsTransform) {\n return transform;\n }\n // The Pixi side replaced the transform: keep createjs semantics on a new one\n var replacement = new CjsTransform();\n replacement.setFromMatrix(transform.localTransform);\n this.pixi.transform = replacement;\n return replacement;\n };\n prototypeAccessors.x.get = function () { return this.pixi.position.x; };\n prototypeAccessors.x.set = function (value) { this.pixi.position.x = value; };\n prototypeAccessors.y.get = function () { return this.pixi.position.y; };\n prototypeAccessors.y.set = function (value) { this.pixi.position.y = value; };\n prototypeAccessors.scaleX.get = function () { return this.pixi.scale.x; };\n prototypeAccessors.scaleX.set = function (value) { this.pixi.scale.x = value; };\n prototypeAccessors.scaleY.get = function () { return this.pixi.scale.y; };\n prototypeAccessors.scaleY.set = function (value) { this.pixi.scale.y = value; };\n prototypeAccessors.regX.get = function () { return this.pixi.pivot.x; };\n prototypeAccessors.regX.set = function (value) { this.pixi.pivot.x = value; };\n prototypeAccessors.regY.get = function () { return this.pixi.pivot.y; };\n prototypeAccessors.regY.set = function (value) { this.pixi.pivot.y = value; };\n prototypeAccessors.rotation.get = function () { return this._transform.degRotation; };\n prototypeAccessors.rotation.set = function (value) { this._transform.setRotation(value); };\n prototypeAccessors.skewX.get = function () { return this._transform.degSkewX; };\n prototypeAccessors.skewX.set = function (value) { this._transform.setSkewX(value); };\n prototypeAccessors.skewY.get = function () { return this._transform.degSkewY; };\n prototypeAccessors.skewY.set = function (value) { this._transform.setSkewY(value); };\n prototypeAccessors.alpha.get = function () { return this.pixi.alpha; };\n prototypeAccessors.alpha.set = function (value) { this.pixi.alpha = value; };\n prototypeAccessors.visible.get = function () { return this.pixi.visible; };\n prototypeAccessors.visible.set = function (value) { this.pixi.visible = value; };\n prototypeAccessors.name.get = function () { return this._name; };\n prototypeAccessors.name.set = function (value) {\n this._name = value;\n this.pixi.name = value == null ? '' : String(value);\n };\n prototypeAccessors._off.get = function () { return this._offValue; };\n prototypeAccessors._off.set = function (value) {\n this._offValue = value;\n };\n prototypeAccessors.compositeOperation.get = function () { return this._compositeOperation; };\n prototypeAccessors.compositeOperation.set = function (value) {\n this._compositeOperation = value;\n this._applyComposite();\n };\n /**\n * The composite operation createjs draws this object with: its own, or else\n * the nearest ancestor's (createjs sets it on the context and draws the\n * children under it, each child saving and restoring the context)\n */\n DisplayObject.prototype._effectiveComposite = function _effectiveComposite () {\n return this._compositeOperation || this._inheritedComposite;\n };\n /** Told by the parent when the composite operation in effect on it changes */\n DisplayObject.prototype._setInheritedComposite = function _setInheritedComposite (value) {\n if (value === this._inheritedComposite) {\n return;\n }\n this._inheritedComposite = value;\n this._applyComposite();\n };\n /**\n * Pixi blends per drawing node (a container has no blend mode of its own),\n * so the composite operation in effect is set on this object's drawing node\n * and handed down to the children\n */\n DisplayObject.prototype._applyComposite = function _applyComposite () {\n var composite = this._effectiveComposite();\n var mode = composite ? BLEND_MODES[composite] : undefined;\n this._setBlendMode(mode === undefined ? PIXI.BLEND_MODES.NORMAL : mode);\n };\n prototypeAccessors.mask.get = function () { return this._mask; };\n prototypeAccessors.mask.set = function (value) {\n if (this._mask === value) {\n return;\n }\n var host = this._maskHost;\n if (host) {\n host._detachMask(this);\n }\n this._mask = value;\n this.pixi.mask = null;\n if (this.parent) {\n this.parent._attachMask(this);\n }\n };\n prototypeAccessors.filters.get = function () { return this._filters; };\n prototypeAccessors.filters.set = function (value) {\n this._filters = value;\n this.pixi.filters = value && value.length ? value.map(function (filter) { return filter.pixiFilter; }) : [];\n };\n /** Blend mode for the Pixi node(s) that draw this object */\n DisplayObject.prototype._setBlendMode = function _setBlendMode (mode) {\n var node = this.pixi;\n if (node instanceof PIXI.Sprite || node instanceof PIXI.Graphics) {\n node.blendMode = mode;\n }\n };\n /**\n * The node is drawn unless Pixi uses it as a mask, or it is in a parent's\n * node only to carry the mask shape of a sibling (a createjs mask is not on\n * any display list and is not drawn itself)\n */\n DisplayObject.prototype._updateRenderable = function _updateRenderable () {\n var maskOnly = this.pixi.isMask || this._maskTargets.length > 0;\n this.pixi.renderable = !maskOnly;\n // Pixi hit tests nodes that are not drawn: a mask's node is kept out of pointer\n // hits (with its children) by a hit area nothing is inside, as createjs never hits a mask\n if (maskOnly) {\n this.pixi.hitArea = NO_HIT_AREA;\n }\n else if (this.pixi.hitArea === NO_HIT_AREA) {\n // Back to Pixi's default (null; the type definition does not take null, Pixi does)\n Reflect.set(this.pixi, 'hitArea', null);\n }\n };\n /** Whether this object clips when used as a mask (createjs clips only with a non-empty Graphics) */\n DisplayObject.prototype._clipsAsMask = function _clipsAsMask () {\n return false;\n };\n /** The node Pixi masks with when this object is a mask */\n DisplayObject.prototype._pixiMaskNode = function _pixiMaskNode () {\n return null;\n };\n /** Called when this object stops being some object's Pixi mask */\n DisplayObject.prototype._releaseMaskNode = function _releaseMaskNode () {\n // Nothing to release for objects that are not shapes\n };\n /** Sets the Pixi mask from the createjs one: Pixi masks only while the createjs mask would clip */\n DisplayObject.prototype._updatePixiMask = function _updatePixiMask () {\n var mask = this._mask;\n var node = mask && this._maskHost && mask._clipsAsMask() ? mask._pixiMaskNode() : null;\n if (this.pixi.mask !== node) {\n this.pixi.mask = node;\n if (!node && mask) {\n mask._releaseMaskNode();\n }\n }\n };\n DisplayObject.prototype.setTransform = function setTransform (x, y, scaleX, scaleY, rotation, skewX, skewY, regX, regY) {\n this.x = x || 0;\n this.y = y || 0;\n this.scaleX = scaleX == null ? 1 : scaleX;\n this.scaleY = scaleY == null ? 1 : scaleY;\n this.rotation = rotation || 0;\n this.skewX = skewX || 0;\n this.skewY = skewY || 0;\n this.regX = regX || 0;\n this.regY = regY || 0;\n return this;\n };\n DisplayObject.prototype.set = function set (props) {\n var this$1$1 = this;\n\n Object.keys(props).forEach(function (key) {\n Reflect.set(this$1$1, key, props[key]);\n });\n return this;\n };\n DisplayObject.prototype.isVisible = function isVisible () {\n return !!(this.visible && this.alpha > 0 && this.scaleX !== 0 && this.scaleY !== 0);\n };\n DisplayObject.prototype.cache = function cache (x, y, width, height, scale) {\n this.bitmapCache = { x: x, y: y, width: width, height: height, scale: scale || 1 };\n };\n DisplayObject.prototype.updateCache = function updateCache () {\n // Nothing is cached on the Pixi side; filters apply without a cache\n };\n DisplayObject.prototype.uncache = function uncache () {\n this.bitmapCache = null;\n };\n DisplayObject.prototype.setBounds = function setBounds (x, y, width, height) {\n this._bounds = x == null ? null : new Rectangle(x, y, width, height);\n };\n DisplayObject.prototype.getChildDepth = function getChildDepth () {\n var depth = 0;\n for (var o = this.parent; o; o = o.parent) {\n depth++;\n }\n return depth;\n };\n /** createjs tick phase: dispatches the tick event to listeners */\n DisplayObject.prototype._tick = function _tick (event) {\n var listeners = this._listeners;\n if (listeners && listeners.tick) {\n event.target = null;\n event.propagationStopped = event.immediatePropagationStopped = false;\n this.dispatchEvent(event);\n }\n };\n DisplayObject.prototype.toString = function toString () {\n return '[DisplayObject (name=' + this.name + ')]';\n };\n\n Object.defineProperties( DisplayObject.prototype, prototypeAccessors );\n\n return DisplayObject;\n}(EventDispatcher));\n/**\n * createjs-compatible Container. The Pixi node's children are the display\n * list's nodes in the same order, followed by the nodes of the masks the\n * children use (a createjs mask is drawn in its target's parent space, so\n * its node lives in the parent's node).\n */\nvar Container = /*@__PURE__*/(function (DisplayObject) {\n function Container(pixi) {\n DisplayObject.call(this, pixi || new PixiContainer());\n this.children = [];\n this.tickChildren = true;\n this.mouseChildren = true;\n /** Mask nodes held in this container's node, by the child that uses them */\n this._maskNodes = {};\n }\n\n if ( DisplayObject ) Container.__proto__ = DisplayObject;\n Container.prototype = Object.create( DisplayObject && DisplayObject.prototype );\n Container.prototype.constructor = Container;\n\n var prototypeAccessors$1 = { numChildren: { configurable: true } };\n prototypeAccessors$1.numChildren.get = function () {\n return this.children.length;\n };\n Container.prototype.addChild = function addChild () {\n var this$1$1 = this;\n var children = [], len = arguments.length;\n while ( len-- ) children[ len ] = arguments[ len ];\n\n var last = null;\n children.forEach(function (child) {\n if (child != null) {\n last = this$1$1.addChildAt(child, this$1$1.children.length);\n }\n });\n return last;\n };\n Container.prototype.addChildAt = function addChildAt (child, index) {\n if (index < 0 || index > this.children.length) {\n return child;\n }\n var oldParent = child.parent;\n var same = oldParent === this;\n if (oldParent) {\n oldParent._removeChildAt(oldParent.children.indexOf(child), same);\n }\n child.parent = this;\n this.children.splice(index, 0, child);\n this.pixi.addChildAt(child.pixi, index);\n this._attachMask(child);\n child._setInheritedComposite(this._effectiveComposite());\n if (!same) {\n child.dispatchEvent('added');\n }\n return child;\n };\n Container.prototype.removeChild = function removeChild () {\n var this$1$1 = this;\n var children = [], len = arguments.length;\n while ( len-- ) children[ len ] = arguments[ len ];\n\n var removed = true;\n children.forEach(function (child) {\n removed = this$1$1._removeChildAt(this$1$1.children.indexOf(child)) && removed;\n });\n return removed;\n };\n Container.prototype.removeChildAt = function removeChildAt () {\n var this$1$1 = this;\n var indexes = [], len = arguments.length;\n while ( len-- ) indexes[ len ] = arguments[ len ];\n\n var sorted = indexes.slice().sort(function (a, b) { return b - a; });\n var removed = true;\n sorted.forEach(function (index) {\n removed = this$1$1._removeChildAt(index) && removed;\n });\n return removed;\n };\n Container.prototype.removeAllChildren = function removeAllChildren () {\n while (this.children.length) {\n this._removeChildAt(0);\n }\n };\n Container.prototype.getChildAt = function getChildAt (index) {\n return this.children[index];\n };\n Container.prototype.getChildByName = function getChildByName (name) {\n var children = this.children;\n for (var i = 0; i < children.length; i++) {\n if (children[i].name == name) {\n return children[i];\n }\n }\n return null;\n };\n Container.prototype.getChildIndex = function getChildIndex (child) {\n return this.children.indexOf(child);\n };\n Container.prototype.setChildIndex = function setChildIndex (child, index) {\n var children = this.children;\n if (child.parent !== this || index < 0 || index >= children.length) {\n return;\n }\n var current = children.indexOf(child);\n if (current < 0 || current === index) {\n return;\n }\n children.splice(current, 1);\n children.splice(index, 0, child);\n this.pixi.setChildIndex(child.pixi, index);\n };\n Container.prototype.swapChildrenAt = function swapChildrenAt (index1, index2) {\n var children = this.children;\n var a = children[index1];\n var b = children[index2];\n if (!a || !b) {\n return;\n }\n children[index1] = b;\n children[index2] = a;\n this.pixi.swapChildren(a.pixi, b.pixi);\n };\n Container.prototype.swapChildren = function swapChildren (child1, child2) {\n var index1 = this.children.indexOf(child1);\n var index2 = this.children.indexOf(child2);\n if (index1 >= 0 && index2 >= 0) {\n this.swapChildrenAt(index1, index2);\n }\n };\n Container.prototype.sortChildren = function sortChildren (compare) {\n var this$1$1 = this;\n\n this.children.sort(compare);\n this.children.forEach(function (child, index) {\n this$1$1.pixi.setChildIndex(child.pixi, index);\n });\n };\n Container.prototype.contains = function contains (child) {\n for (var o = child; o; o = o.parent) {\n if (o === this) {\n return true;\n }\n }\n return false;\n };\n Container.prototype._removeChildAt = function _removeChildAt (index, silent) {\n if (index < 0 || index > this.children.length - 1) {\n return false;\n }\n var child = this.children[index];\n this._detachMask(child);\n child.parent = null;\n this.children.splice(index, 1);\n this.pixi.removeChild(child.pixi);\n // A silent removal is the first half of re-adding to this same container\n // (the timeline does it every resolve): the inherited composite stays\n if (!silent) {\n child._setInheritedComposite(null);\n child.dispatchEvent('removed');\n }\n return true;\n };\n /** Puts the node of a child's mask into this container's node, and sets it as the Pixi mask */\n Container.prototype._attachMask = function _attachMask (child) {\n var mask = child.mask;\n if (!mask || child.parent !== this) {\n return;\n }\n this._maskNodes[child.id] = mask.pixi;\n this.pixi.addChild(mask.pixi);\n child._maskHost = this;\n mask._maskTargets.push(child);\n mask._updateRenderable();\n child._updatePixiMask();\n };\n Container.prototype._detachMask = function _detachMask (child) {\n var node = this._maskNodes[child.id];\n if (node) {\n delete this._maskNodes[child.id];\n if (node.parent === this.pixi) {\n this.pixi.removeChild(node);\n }\n }\n var mask = child.mask;\n if (mask) {\n var index = mask._maskTargets.indexOf(child);\n if (index >= 0) {\n mask._maskTargets.splice(index, 1);\n }\n }\n child._maskHost = null;\n child.pixi.mask = null;\n if (mask) {\n // Pixi makes a released mask node renderable again\n mask._releaseMaskNode();\n mask._updateRenderable();\n }\n };\n Container.prototype._applyComposite = function _applyComposite () {\n DisplayObject.prototype._applyComposite.call(this);\n var composite = this._effectiveComposite();\n this.children.forEach(function (child) { return child._setInheritedComposite(composite); });\n };\n /** createjs tick phase: children in reverse order (live array), then this object's listeners */\n Container.prototype._tick = function _tick (event) {\n if (this.tickChildren) {\n for (var i = this.children.length - 1; i >= 0; i--) {\n var child = this.children[i];\n if (child.tickEnabled) {\n child._tick(event);\n }\n }\n }\n DisplayObject.prototype._tick.call(this, event);\n };\n Container.prototype.toString = function toString () {\n return '[Container (name=' + this.name + ')]';\n };\n\n Object.defineProperties( Container.prototype, prototypeAccessors$1 );\n\n return Container;\n}(DisplayObject));\n\n/**\n * The playback state of one tween of an instance. The values come from the\n * shared definition; only the positions are per instance.\n */\nvar TweenState = function TweenState(def, target, scope, self) {\n this.position = 0;\n this.rawPosition = -1;\n /** Distance from the start of the current step (synched children take their frame from it) */\n this._stepPosition = 0;\n this.passive = false;\n this.def = def;\n this.target = target;\n this.scope = scope;\n this.self = self;\n};\n\nvar prototypeAccessors$1 = { duration: { configurable: true } };\nprototypeAccessors$1.duration.get = function () {\n return this.def.duration;\n};\n/**\n * Tween.setPosition as a timeline drives it (actions are run separately by\n * the timeline). Nothing happens when the raw position does not change.\n */\nTweenState.prototype.setPosition = function setPosition (rawPosition, jump) {\n var duration = this.def.duration;\n var previous = this.rawPosition;\n var raw = rawPosition < 0 ? 0 : rawPosition;\n var position = 0;\n var end;\n if (duration === 0) {\n end = true;\n if (previous !== -1) {\n return;\n }\n }\n else {\n var loops = raw / duration | 0;\n position = raw - loops * duration;\n // A tween in a timeline does not loop: it ends at its duration\n end = raw >= duration;\n if (end) {\n raw = position = duration;\n }\n if (raw === previous) {\n return;\n }\n }\n this.position = position;\n this.rawPosition = raw;\n this._updatePosition(jump, end);\n};\nTweenState.prototype._updatePosition = function _updatePosition (jump, end) {\n var def = this.def;\n var position = this.position;\n if (def.writer !== null) {\n this.scope.writer(def.writer)(this.target, def.values[def.frames[position]], this.scope.value);\n }\n // The last step whose start is at or before the position\n var keyframes = def.keyframes;\n var start = 0;\n var found = false;\n for (var i = 0; i < keyframes.length; i++) {\n if (keyframes[i] <= position || i === 0) {\n start = keyframes[i];\n found = true;\n }\n else {\n break;\n }\n }\n this._stepPosition = found ? position - start : 0;\n};\n/** AbstractTween._runActions for this tween's actions */\nTweenState.prototype._runActions = function _runActions (startRaw, endRaw, jump, includeStart) {\n if (!this.def.actions.length) {\n return false;\n }\n return runActions(this, this.def.duration, 0, startRaw, endRaw, jump, includeStart);\n};\n/** Tween._runActionsRange: runs the actions in the range, stopping when one moves the tween */\nTweenState.prototype._runActionsRange = function _runActionsRange (start, end, jump, includeStart) {\n var actions = this.def.actions;\n var reverse = start > end;\n var low = reverse ? end : start;\n var high = reverse ? start : end;\n var position = this.position;\n for (var n = 0; n < actions.length; n++) {\n var action = actions[reverse ? actions.length - 1 - n : n];\n var t = action.position;\n if (t === end || (t > low && t < high) || (includeStart && t === start)) {\n var scope = this.scope;\n var params = action.params ? action.params.map(function (value) { return scope.value(value); }) : [this];\n scope.script(action.script).apply(this.self, params);\n if (position !== this.position) {\n return true;\n }\n }\n }\n return false;\n};\n\nObject.defineProperties( TweenState.prototype, prototypeAccessors$1 );\n/**\n * AbstractTween._runActions: splits the move from one raw position to another\n * into per-loop ranges and runs the actions of each, as createjs does.\n */\nfunction runActions(runner, duration, loop, startRaw, endRaw, jump, includeStart) {\n var startLoop;\n var endLoop;\n var start;\n var end;\n if (duration === 0) {\n startLoop = endLoop = start = end = 0;\n }\n else {\n startLoop = startRaw / duration | 0;\n endLoop = endRaw / duration | 0;\n start = startRaw - startLoop * duration;\n end = endRaw - endLoop * duration;\n }\n if (loop !== -1) {\n if (endLoop > loop) {\n end = duration;\n endLoop = loop;\n }\n if (startLoop > loop) {\n start = duration;\n startLoop = loop;\n }\n }\n if (jump) {\n return runner._runActionsRange(end, end, jump, includeStart);\n }\n if (startLoop !== endLoop || start !== end || jump || includeStart) {\n if (startLoop === -1) {\n startLoop = start = 0;\n }\n var forward = endRaw >= startRaw;\n var n = startLoop;\n var first = includeStart;\n do {\n var rangeStart = n === startLoop ? start : forward ? 0 : duration;\n var rangeEnd = n === endLoop ? end : forward ? duration : 0;\n if (runner._runActionsRange(rangeStart, rangeEnd, jump, first || n !== startLoop)) {\n return true;\n }\n first = false;\n } while ((forward && ++n <= endLoop) || (!forward && --n >= endLoop));\n }\n return false;\n}\n/**\n * The timeline of a MovieClip instance (createjs.Timeline as a MovieClip drives it).\n */\nvar Timeline = function Timeline(duration, labels) {\n var this$1$1 = this;\n\n this.tweens = [];\n this.loop = 0;\n this.position = 0;\n this.rawPosition = -1;\n this.duration = duration;\n this._labels = {};\n labels.forEach(function (label) {\n this$1$1._labels[label.label] = label.position;\n });\n this._labelList = labels.slice().sort(function (a, b) { return a.position - b.position; });\n};\n\nvar prototypeAccessors$1$1 = { currentLabel: { configurable: true } };\nTimeline.prototype.getLabels = function getLabels () {\n return this._labelList;\n};\nprototypeAccessors$1$1.currentLabel.get = function () {\n var labels = this._labelList;\n var i = 0;\n for (; i < labels.length; i++) {\n if (this.position < labels[i].position) {\n break;\n }\n }\n return i === 0 ? null : labels[i - 1].label;\n};\nTimeline.prototype.resolve = function resolve (positionOrLabel) {\n var position = Number(positionOrLabel);\n if (!isNaN(position)) {\n return position;\n }\n var label = this._labels[positionOrLabel];\n return label === undefined ? undefined : label;\n};\n/**\n * AbstractTween.setPosition for the timeline: moves every tween, calls\n * back (the clip resolves its children), then runs the actions passed.\n */\nTimeline.prototype.setPosition = function setPosition (rawPosition, skipActions, jump, callback) {\n var duration = this.duration;\n var loop = this.loop;\n var previous = this.rawPosition;\n var raw = rawPosition < 0 ? 0 : rawPosition;\n var position = 0;\n if (duration === 0) {\n if (previous !== -1) {\n return;\n }\n }\n else {\n var loops = raw / duration | 0;\n position = raw - loops * duration;\n var end = loop !== -1 && raw >= loop * duration + duration;\n if (end) {\n position = duration;\n raw = duration * loop + duration;\n }\n if (raw === previous) {\n return;\n }\n }\n this.position = position;\n this.rawPosition = raw;\n for (var i = 0; i < this.tweens.length; i++) {\n this.tweens[i].setPosition(position, jump);\n }\n if (callback) {\n callback();\n }\n if (!skipActions) {\n runActions(this, this.duration, this.loop, previous, raw, jump, !jump && previous === -1);\n }\n};\nTimeline.prototype._runActionsRange = function _runActionsRange (start, end, jump, includeStart) {\n var position = this.position;\n for (var i = 0; i < this.tweens.length; i++) {\n this.tweens[i]._runActions(start, end, jump, includeStart);\n if (position !== this.position) {\n return true;\n }\n }\n return false;\n};\n\nObject.defineProperties( Timeline.prototype, prototypeAccessors$1$1 );\nvar INDEPENDENT = 'independent';\nvar SINGLE_FRAME = 'single';\nvar SYNCHED = 'synched';\n/**\n * createjs-compatible MovieClip. Plays its symbol's timeline from the shared\n * definition with createjs's rules: the two phases (tick: advance the\n * playhead; then resolve: write the tweens and settle the children), the\n * write rule (a tween writes only when its position changes), synched /\n * single children taking their frame from the parent's step, the reset of an\n * independent child when it comes back on the display list, and when frame\n * scripts run.\n */\nvar MovieClip = /*@__PURE__*/(function (Container) {\n function MovieClip(mode, startPosition, loop, timeline, pixi) {\n var this$1$1 = this;\n\n Container.call(this, pixi);\n this.currentFrame = 0;\n this.paused = false;\n this.actionsEnabled = true;\n this.autoReset = true;\n this.framerate = null;\n this._synchOffset = 0;\n this._rawPosition = -1;\n this._t = 0;\n this._framerate = null;\n /**\n * Display objects the timeline placed, with the resolve that last placed\n * them (_resolveCount at that time). One placed in an earlier resolve and\n * not in the current one is removed at its end (createjs marks every entry\n * 1 at the start of a resolve and placed ones 2: an earlier count is its 1)\n */\n this._managed = {};\n this._resolveCount = 0;\n /**\n * While a resolve can still leave the display list as it is: the index of\n * the child the next placement has to be for that (createjs moves each placed\n * child to the bottom, so in a resolve that changes nothing they come from\n * the top of the placed block down), -1 once all have come. Null when the\n * placements are done as createjs does them.\n */\n this._expected = null;\n /** The length of the placed block at the start of the resolve (the children placed last time, at the bottom) */\n this._placedBlock = 0;\n /** The frame rate the content was published with (lib.properties.fps), set on the content's symbols */\n this.contentFps = null;\n this.mode = mode || INDEPENDENT;\n this.startPosition = startPosition || 0;\n this.loop = loop === true ? -1 : (loop || 0);\n this.timeline = timeline || new Timeline(0, []);\n this._boundResolve = function () { return this$1$1._resolveState(); };\n }\n\n if ( Container ) MovieClip.__proto__ = Container;\n MovieClip.prototype = Object.create( Container && Container.prototype );\n MovieClip.prototype.constructor = MovieClip;\n\n var prototypeAccessors$2 = { labels: { configurable: true },currentLabel: { configurable: true },totalFrames: { configurable: true },duration: { configurable: true } };\n prototypeAccessors$2.labels.get = function () { return this.timeline.getLabels(); };\n prototypeAccessors$2.currentLabel.get = function () { return this.timeline.currentLabel; };\n prototypeAccessors$2.totalFrames.get = function () { return this.timeline.duration; };\n prototypeAccessors$2.duration.get = function () { return this.timeline.duration; };\n MovieClip.prototype.isVisible = function isVisible () {\n return !!(this.visible && this.alpha > 0 && this.scaleX !== 0 && this.scaleY !== 0);\n };\n MovieClip.prototype.play = function play () { this.paused = false; };\n MovieClip.prototype.stop = function stop () { this.paused = true; };\n MovieClip.prototype.gotoAndPlay = function gotoAndPlay (positionOrLabel) {\n this.paused = false;\n this._goto(positionOrLabel);\n };\n MovieClip.prototype.gotoAndStop = function gotoAndStop (positionOrLabel) {\n this.paused = true;\n this._goto(positionOrLabel);\n };\n MovieClip.prototype.advance = function advance (time) {\n if (this.mode !== INDEPENDENT) {\n return;\n }\n var framerate = this.framerate;\n for (var o = this.parent; o && framerate === null; o = o.parent) {\n if (o instanceof MovieClip && o.mode === INDEPENDENT) {\n framerate = o._framerate;\n }\n }\n this._framerate = framerate;\n if (!this.paused) {\n // As createjs: a missing time (undefined, not null) with a framerate gives NaN, i.e. no advance\n var frames = framerate !== null && framerate !== -1 && time !== null ? Number(time) / (1000 / framerate) + this._t : 1;\n var count = frames | 0;\n this._t = frames - count;\n while (count--) {\n this._updateTimeline(this._rawPosition + 1, false);\n }\n }\n };\n /** createjs tick phase: advance the playhead, then the children (reverse), then tick listeners */\n MovieClip.prototype._tick = function _tick (event) {\n this.advance(event ? event.delta : undefined);\n Container.prototype._tick.call(this, event);\n };\n /** createjs resolve phase (MovieClip draw / Stage update) */\n MovieClip.prototype._updateState = function _updateState () {\n if (this._rawPosition === -1 || this.mode !== INDEPENDENT) {\n this._updateTimeline(-1, false);\n }\n };\n MovieClip.prototype._goto = function _goto (positionOrLabel) {\n var position = this.timeline.resolve(positionOrLabel);\n if (position != null) {\n this._t = 0;\n this._updateTimeline(position, true);\n }\n };\n MovieClip.prototype._reset = function _reset () {\n this._rawPosition = -1;\n this._t = this.currentFrame = 0;\n this.paused = false;\n };\n MovieClip.prototype._updateTimeline = function _updateTimeline (rawPosition, jump) {\n var synched = this.mode !== INDEPENDENT;\n var timeline = this.timeline;\n var position = rawPosition;\n if (synched) {\n position = this.startPosition + (this.mode === SINGLE_FRAME ? 0 : this._synchOffset);\n }\n if (position < 0) {\n position = 0;\n }\n if (this._rawPosition !== position || synched) {\n this._rawPosition = position;\n timeline.loop = this.loop;\n timeline.setPosition(position, synched || !this.actionsEnabled, jump, this._boundResolve);\n }\n };\n MovieClip.prototype._renderFirstFrame = function _renderFirstFrame () {\n var timeline = this.timeline;\n var raw = timeline.rawPosition;\n timeline.setPosition(0, true, true, this._boundResolve);\n timeline.rawPosition = raw;\n };\n /**\n * MovieClip._resolveState: places every tween target (and state entry) at\n * the bottom of the display list in turn, then removes the children placed\n * before and not now. The placements are skipped while they would leave the\n * display list as it is (_addManagedChild); otherwise everything is done as\n * createjs does it.\n */\n MovieClip.prototype._resolveState = function _resolveState () {\n var timeline = this.timeline;\n this.currentFrame = timeline.position;\n var current = ++this._resolveCount;\n var managed = this._managed;\n var children = this.children;\n // The children the timeline placed, from the bottom (a resolve leaves them there): a placement\n // can be skipped only for one of them (it was placed before, so it would not be reset). What\n // is above the block does not matter: createjs's placements put the placed ones below it\n var block = 0;\n while (block < children.length && managed[children[block].id] !== undefined) {\n block++;\n }\n this._placedBlock = block;\n this._expected = block - 1;\n var tweens = timeline.tweens;\n for (var i = 0; i < tweens.length; i++) {\n var tween = tweens[i];\n var target = tween.target;\n if (target !== this && !tween.passive) {\n var offset = tween._stepPosition;\n if (target instanceof DisplayObject) {\n this._addManagedChild(target, offset);\n }\n else {\n this._setState(Reflect.get(target, 'state'), tween.scope, offset);\n }\n }\n }\n // Children of the block not placed now: put the placed ones in front of them as createjs has them\n this._followCreatejs();\n for (var i$1 = children.length - 1; i$1 >= 0; i$1--) {\n var id = children[i$1].id;\n var placed = managed[id];\n // Earlier than this resolve (a resolve nested in this one, from an event, counts as now)\n if (placed !== undefined && placed < current) {\n this.removeChildAt(i$1);\n delete managed[id];\n }\n }\n };\n /**\n * Stops skipping placements: the children placed so far (the top of the\n * block, from the expected index up) are moved to the bottom as createjs's\n * placements would have left them, with no events (moves within the same\n * parent are silent in createjs).\n */\n MovieClip.prototype._followCreatejs = function _followCreatejs () {\n var this$1$1 = this;\n\n var expected = this._expected;\n this._expected = null;\n if (expected === null || expected < 0) {\n return;\n }\n var children = this.children;\n var placed = children.splice(expected + 1, this._placedBlock - expected - 1);\n for (var i = placed.length - 1; i >= 0; i--) {\n children.unshift(placed[i]);\n }\n placed.forEach(function (child, index) {\n this$1$1.pixi.setChildIndex(child.pixi, index);\n });\n };\n MovieClip.prototype._setState = function _setState (state, scope, offset) {\n var this$1$1 = this;\n\n if (!Array.isArray(state)) {\n return;\n }\n var loop = function ( i ) {\n var entry = state[i];\n var target = scope.stateTarget(entry);\n if (!target) {\n return;\n }\n var props = entry.props;\n if (props) {\n Object.keys(props).forEach(function (key) {\n Reflect.set(target, key, scope.value(props[key]));\n });\n }\n this$1$1._addManagedChild(target, offset);\n };\n\n for (var i = state.length - 1; i >= 0; i--) loop( i );\n };\n MovieClip.prototype._addManagedChild = function _addManagedChild (child, offset) {\n if (child._off) {\n return;\n }\n var expected = this._expected;\n if (expected !== null) {\n // Moving it to the bottom would put it where it is: the next child of the block down, or\n // the child placed last (placed twice in this resolve: createjs has it at the bottom already).\n // Only what the placement records is done (it was placed before, so no reset)\n var next = expected >= 0 && this.children[expected] === child;\n if (next || (expected + 1 < this._placedBlock && this.children[expected + 1] === child)) {\n if (next) {\n this._expected = expected - 1;\n }\n if (child instanceof MovieClip) {\n child._synchOffset = offset;\n }\n this._managed[child.id] = this._resolveCount;\n return;\n }\n this._followCreatejs();\n }\n this.addChildAt(child, 0);\n if (child instanceof MovieClip) {\n child._synchOffset = offset;\n if (child.mode === INDEPENDENT && child.autoReset && !this._managed[child.id]) {\n child._reset();\n }\n }\n this._managed[child.id] = this._resolveCount;\n };\n MovieClip.prototype.toString = function toString () {\n return '[MovieClip (name=' + this.name + ')]';\n };\n\n Object.defineProperties( MovieClip.prototype, prototypeAccessors$2 );\n\n return MovieClip;\n}(Container));\nMovieClip.INDEPENDENT = INDEPENDENT;\nMovieClip.SINGLE_FRAME = SINGLE_FRAME;\nMovieClip.SYNCHED = SYNCHED;\n\n/** Changes a geometry's reference count (Pixi 5 counts the Graphics showing it, and disposes of it at 0) */\nfunction addReference(geometry, delta) {\n var count = Reflect.get(geometry, 'refCount');\n Reflect.set(geometry, 'refCount', count + delta);\n}\nvar PixiGraphics = /*@__PURE__*/(function (superclass) {\n function PixiGraphics() {\n superclass.apply(this, arguments);\n this.owner = null;\n }\n\n if ( superclass ) PixiGraphics.__proto__ = superclass;\n PixiGraphics.prototype = Object.create( superclass && superclass.prototype );\n PixiGraphics.prototype.constructor = PixiGraphics;\n /**\n * Shows another (shared) geometry. Pixi 5 can share a geometry between\n * Graphics (new Graphics(geometry), as clone() does) but has no way to\n * change it afterwards, and does not declare the field that holds it; it is\n * set by name here, and what Pixi derives from the geometry (the batches,\n * their vertices and tint) is marked stale so it is built again.\n */\n PixiGraphics.prototype.setGeometry = function setGeometry (geometry) {\n var current = this.geometry;\n if (current === geometry) {\n return;\n }\n // The reference count (undeclared as well) keeps a shared geometry alive while shown\n addReference(current, -1);\n addReference(geometry, 1);\n Reflect.set(this, '_geometry', geometry);\n Reflect.set(this, '_transformID', -1);\n this.batchDirty = -1;\n this.batchTint = -1;\n };\n /**\n * Pixi 5's Graphics keeps the blend mode in the batches it builds, and\n * builds them again only when the geometry changes: a blend mode set later\n * would not be drawn. The batches are marked stale so they are built again.\n */\n PixiGraphics.prototype.setBlendMode = function setBlendMode (mode) {\n if (this.blendMode !== mode) {\n this.blendMode = mode;\n this.batchDirty = -1;\n }\n };\n\n return PixiGraphics;\n}(PIXI.Graphics));\nvar PixiSprite = /*@__PURE__*/(function (superclass) {\n function PixiSprite() {\n superclass.apply(this, arguments);\n this.owner = null;\n }\n\n if ( superclass ) PixiSprite.__proto__ = superclass;\n PixiSprite.prototype = Object.create( superclass && superclass.prototype );\n PixiSprite.prototype.constructor = PixiSprite;\n\n return PixiSprite;\n}(PIXI.Sprite));\nvar PixiText = /*@__PURE__*/(function (superclass) {\n function PixiText() {\n superclass.apply(this, arguments);\n this.owner = null;\n }\n\n if ( superclass ) PixiText.__proto__ = superclass;\n PixiText.prototype = Object.create( superclass && superclass.prototype );\n PixiText.prototype.constructor = PixiText;\n\n return PixiText;\n}(PIXI.Text));\nvar NAMED_COLORS = {\n black: 0x000000, white: 0xffffff, red: 0xff0000, green: 0x008000, blue: 0x0000ff,\n yellow: 0xffff00, cyan: 0x00ffff, magenta: 0xff00ff, gray: 0x808080, grey: 0x808080\n};\n/**\n * A CSS color as createjs writes it (#RGB, #RRGGBB, rgb(), rgba(), a few names).\n */\nfunction parseColor(value) {\n if (typeof value !== 'string') {\n return null;\n }\n var text = value.trim().toLowerCase();\n if (text.charAt(0) === '#') {\n var hex = text.slice(1);\n if (hex.length === 3) {\n hex = hex.charAt(0) + hex.charAt(0) + hex.charAt(1) + hex.charAt(1) + hex.charAt(2) + hex.charAt(2);\n }\n var color = parseInt(hex.slice(0, 6), 16);\n return isNaN(color) ? null : { color: color, alpha: 1 };\n }\n var match = /^rgba?\\(([^)]*)\\)$/.exec(text);\n if (match) {\n var parts = match[1].split(',').map(function (part) { return parseFloat(part); });\n var alpha = parts.length > 3 ? parts[3] : 1;\n return { color: ((parts[0] & 255) << 16) | ((parts[1] & 255) << 8) | (parts[2] & 255), alpha: alpha };\n }\n var named = NAMED_COLORS[text];\n return named === undefined ? null : { color: named, alpha: 1 };\n}\nfunction num(props, key) {\n var value = props[key];\n return typeof value === 'number' ? value : 0;\n}\nfunction isDataMap(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\nvar LINE_CAPS = [PIXI.LINE_CAP.BUTT, PIXI.LINE_CAP.ROUND, PIXI.LINE_CAP.SQUARE];\nvar LINE_JOINS = [PIXI.LINE_JOIN.MITER, PIXI.LINE_JOIN.ROUND, PIXI.LINE_JOIN.BEVEL];\nfunction lineCap(value) {\n if (typeof value === 'number') {\n return LINE_CAPS[value] || PIXI.LINE_CAP.BUTT;\n }\n return value === 'round' ? PIXI.LINE_CAP.ROUND : value === 'square' ? PIXI.LINE_CAP.SQUARE : PIXI.LINE_CAP.BUTT;\n}\nfunction lineJoin(value) {\n if (typeof value === 'number') {\n return LINE_JOINS[value] || PIXI.LINE_JOIN.MITER;\n }\n return value === 'round' ? PIXI.LINE_JOIN.ROUND : value === 'bevel' ? PIXI.LINE_JOIN.BEVEL : PIXI.LINE_JOIN.MITER;\n}\nvar PATH_COMMANDS = ['MoveTo', 'LineTo', 'QuadraticCurveTo', 'BezierCurveTo', 'ArcTo', 'Arc', 'ClosePath', 'Rect', 'RoundRect', 'Circle', 'Ellipse', 'PolyStar'];\nfunction paintOf(style, matrix, textures) {\n var solid = parseColor(style);\n if (solid) {\n return { color: solid.color, alpha: solid.alpha, texture: null, matrix: null };\n }\n if (!isDataMap(style)) {\n return null;\n }\n if (style.type === 'bitmap') {\n var image = style.image;\n var texture$1 = null;\n if (isDataMap(image)) {\n if (typeof image.image === 'string') {\n texture$1 = textures.image(image.image);\n }\n else if (typeof image.sheet === 'string' && typeof image.frame === 'number') {\n texture$1 = textures.frame(image.sheet, image.frame);\n }\n }\n var m = isDataMap(matrix) ? new PIXI.Matrix(num(matrix, 'a'), num(matrix, 'b'), num(matrix, 'c'), num(matrix, 'd'), num(matrix, 'tx'), num(matrix, 'ty')) : null;\n return texture$1 ? { color: 0xffffff, alpha: 1, texture: texture$1, matrix: m } : null;\n }\n var gradient = gradientOf(style);\n if (!gradient) {\n return null;\n }\n var texture = gradientTexture(gradient);\n // A gradient canvas paints nothing with (a line of length 0, a circle of radius 0): nothing is drawn\n return texture ? { color: 0xffffff, alpha: 1, texture: texture, matrix: texture.toShape } : { color: 0, alpha: 0, texture: null, matrix: null };\n}\nfunction gradientOf(style) {\n var type = style.type;\n var colors = style.colors;\n var ratios = style.ratios;\n if ((type !== 'linear' && type !== 'radial') || !Array.isArray(colors) || !Array.isArray(ratios)) {\n return null;\n }\n return {\n type: type,\n colors: colors.map(function (color) { return String(color); }),\n ratios: ratios.map(function (ratio) { return Number(ratio); }),\n x0: num(style, 'x0'), y0: num(style, 'y0'), r0: type === 'radial' ? num(style, 'r0') : 0,\n x1: num(style, 'x1'), y1: num(style, 'y1'), r1: type === 'radial' ? num(style, 'r1') : 0\n };\n}\n/** Pixels a gradient is drawn across: along the line of a linear one, across the circles of a radial one */\nvar GRADIENT_SIZE = 256;\n/**\n * A gradient drawn into a canvas by the browser's own gradient (so its\n * colors are what canvas, and createjs, paints), as a texture that Pixi's\n * Graphics fills and strokes with through a matrix. `gradient` is the\n * gradient in the shape's coordinates, `local` the same gradient in the\n * texture's pixels, and `toShape` takes texture pixels to the shape's\n * coordinates. Outside the drawn area the texture's edge pixels repeat\n * (Pixi clamps), which is how canvas pads a gradient with its end colors.\n */\nvar GradientTexture = /*@__PURE__*/(function (superclass) {\n function GradientTexture(canvas, gradient, local, toShape) {\n superclass.call(this, PIXI.BaseTexture.from(canvas));\n this.gradient = gradient;\n this.local = local;\n this.toShape = toShape;\n }\n\n if ( superclass ) GradientTexture.__proto__ = superclass;\n GradientTexture.prototype = Object.create( superclass && superclass.prototype );\n GradientTexture.prototype.constructor = GradientTexture;\n\n return GradientTexture;\n}(PIXI.Texture));\n/** Gradient textures by their gradient, shared by every drawing that uses the same gradient */\nvar gradientTextures = new Map();\nfunction gradientTexture(gradient) {\n var key = JSON.stringify(gradient);\n var known = gradientTextures.get(key);\n if (known !== undefined) {\n return known;\n }\n var texture = gradient.type === 'linear' ? linearGradientTexture(gradient) : radialGradientTexture(gradient);\n gradientTextures.set(key, texture);\n return texture;\n}\nfunction paintGradient(canvas, local) {\n var context = canvas.getContext('2d');\n if (!context) {\n return;\n }\n var paint = local.type === 'linear'\n ? context.createLinearGradient(local.x0, local.y0, local.x1, local.y1)\n : context.createRadialGradient(local.x0, local.y0, local.r0, local.x1, local.y1, local.r1);\n local.colors.forEach(function (color, i) {\n paint.addColorStop(local.ratios[i], color);\n });\n context.fillStyle = paint;\n context.fillRect(0, 0, canvas.width, canvas.height);\n}\n/**\n * A linear gradient drawn from the left edge to the right edge of a canvas\n * one pixel high. The texture's x axis runs along the gradient's line and its\n * y axis across it (every row is the same, so how far across does not matter).\n */\nfunction linearGradientTexture(gradient) {\n var dx = gradient.x1 - gradient.x0;\n var dy = gradient.y1 - gradient.y0;\n var length = Math.sqrt(dx * dx + dy * dy);\n if (!length) {\n return null;\n }\n var canvas = document.createElement('canvas');\n canvas.width = GRADIENT_SIZE;\n canvas.height = 1;\n var local = {\n type: 'linear', colors: gradient.colors, ratios: gradient.ratios,\n x0: 0, y0: 0, r0: 0, x1: GRADIENT_SIZE, y1: 0, r1: 0\n };\n paintGradient(canvas, local);\n var toShape = new PIXI.Matrix(dx / GRADIENT_SIZE, dy / GRADIENT_SIZE, -dy / length, dx / length, gradient.x0, gradient.y0);\n return new GradientTexture(canvas, gradient, local, toShape);\n}\n/**\n * A radial gradient drawn into a square canvas covering both of its circles,\n * scaled to fit (the mapping is a scale and a move, so the circles stay\n * circles and every point keeps its place in the gradient).\n */\nfunction radialGradientTexture(gradient) {\n var left = Math.min(gradient.x0 - gradient.r0, gradient.x1 - gradient.r1);\n var top = Math.min(gradient.y0 - gradient.r0, gradient.y1 - gradient.r1);\n var right = Math.max(gradient.x0 + gradient.r0, gradient.x1 + gradient.r1);\n var bottom = Math.max(gradient.y0 + gradient.r0, gradient.y1 + gradient.r1);\n var size = Math.max(right - left, bottom - top);\n if (!(size > 0) || gradient.r1 === gradient.r0 && gradient.x0 === gradient.x1 && gradient.y0 === gradient.y1) {\n return null;\n }\n var scale = GRADIENT_SIZE / size;\n var canvas = document.createElement('canvas');\n canvas.width = GRADIENT_SIZE;\n canvas.height = GRADIENT_SIZE;\n var local = {\n type: 'radial', colors: gradient.colors, ratios: gradient.ratios,\n x0: (gradient.x0 - left) * scale, y0: (gradient.y0 - top) * scale, r0: gradient.r0 * scale,\n x1: (gradient.x1 - left) * scale, y1: (gradient.y1 - top) * scale, r1: gradient.r1 * scale\n };\n paintGradient(canvas, local);\n var toShape = new PIXI.Matrix(1 / scale, 0, 0, 1 / scale, left, top);\n return new GradientTexture(canvas, gradient, local, toShape);\n}\nfunction drawPath(target, command) {\n var p = command.props;\n switch (command.type) {\n case 'MoveTo':\n target.moveTo(num(p, 'x'), num(p, 'y'));\n break;\n case 'LineTo':\n target.lineTo(num(p, 'x'), num(p, 'y'));\n break;\n case 'QuadraticCurveTo':\n target.quadraticCurveTo(num(p, 'cpx'), num(p, 'cpy'), num(p, 'x'), num(p, 'y'));\n break;\n case 'BezierCurveTo':\n target.bezierCurveTo(num(p, 'cp1x'), num(p, 'cp1y'), num(p, 'cp2x'), num(p, 'cp2y'), num(p, 'x'), num(p, 'y'));\n break;\n case 'ArcTo':\n target.arcTo(num(p, 'x1'), num(p, 'y1'), num(p, 'x2'), num(p, 'y2'), num(p, 'radius'));\n break;\n case 'Arc':\n target.arc(num(p, 'x'), num(p, 'y'), num(p, 'radius'), num(p, 'startAngle'), num(p, 'endAngle'), !!p.anticlockwise);\n break;\n case 'ClosePath':\n target.closePath();\n break;\n case 'Rect':\n target.drawRect(num(p, 'x'), num(p, 'y'), num(p, 'w'), num(p, 'h'));\n break;\n case 'RoundRect':\n target.drawRoundedRect(num(p, 'x'), num(p, 'y'), num(p, 'w'), num(p, 'h'), num(p, 'radiusTL'));\n break;\n case 'Circle':\n target.drawCircle(num(p, 'x'), num(p, 'y'), num(p, 'radius'));\n break;\n case 'Ellipse': {\n var w = num(p, 'w');\n var h = num(p, 'h');\n target.drawEllipse(num(p, 'x') + w / 2, num(p, 'y') + h / 2, w / 2, h / 2);\n break;\n }\n case 'PolyStar': {\n var sides = num(p, 'sides');\n var pointSize = num(p, 'pointSize');\n var radius = num(p, 'radius');\n var rotation = num(p, 'angle') / 180 * Math.PI;\n if (pointSize > 0 && pointSize < 1) {\n target.drawStar(num(p, 'x'), num(p, 'y'), sides, radius, radius * (1 - pointSize), rotation);\n }\n else {\n target.drawRegularPolygon(num(p, 'x'), num(p, 'y'), radius, sides, rotation);\n }\n break;\n }\n }\n}\nfunction pathSegments(commands) {\n var segments = [];\n var path = [];\n var fill = null;\n var stroke = null;\n var strokeStyle = null;\n var painted = false;\n var push = function () {\n if (path.length && (fill || stroke)) {\n segments.push({ path: path, fill: fill, stroke: stroke, strokeStyle: strokeStyle });\n }\n };\n commands.forEach(function (command) {\n if (command.type === 'BeginPath') {\n if (painted) {\n push();\n path = [];\n fill = stroke = null;\n painted = false;\n }\n return;\n }\n if (PATH_COMMANDS.indexOf(command.type) >= 0) {\n if (painted) {\n // A path after paint without BeginPath continues the same path in canvas: what is painted so far is drawn, and the path goes on\n push();\n path = path.slice();\n fill = stroke = null;\n painted = false;\n }\n path.push(command);\n return;\n }\n if (command.type === 'Fill') {\n fill = command;\n painted = true;\n }\n else if (command.type === 'Stroke') {\n stroke = command;\n painted = true;\n }\n else if (command.type === 'StrokeStyle') {\n strokeStyle = command.props;\n }\n });\n push();\n return segments;\n}\n/** A Pixi Graphics that draws a geometry once (for working out holes, and for the shared geometries) */\nvar GeometryBuilder = /*@__PURE__*/(function (superclass) {\n function GeometryBuilder () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) GeometryBuilder.__proto__ = superclass;\n GeometryBuilder.prototype = Object.create( superclass && superclass.prototype );\n GeometryBuilder.prototype.constructor = GeometryBuilder;\n\n GeometryBuilder.prototype.finish = function finish () {\n this.finishPoly();\n };\n\n return GeometryBuilder;\n}(PIXI.Graphics));\nvar emptyGraphics = null;\n/** The geometry of a shape with no drawing, shared (kept by a Graphics that is never destroyed) */\nfunction getEmptyGeometry() {\n if (!emptyGraphics) {\n emptyGraphics = new PIXI.Graphics();\n }\n return emptyGraphics.geometry;\n}\n/**\n * The subpaths of a filled path that cut holes: a subpath that starts inside\n * what the path's earlier subpaths cover (holes taken out) is a hole in it;\n * one that starts outside, or inside a hole, is a shape of its own. The\n * MoveTo commands that start holes are returned.\n */\nfunction findHoles(path) {\n var holes = [];\n var probe = new GeometryBuilder();\n probe.beginFill(0);\n var first = true;\n var inHole = false;\n path.forEach(function (command) {\n if (command.type === 'MoveTo') {\n if (!first) {\n probe.finish();\n var inside = probe.geometry.containsPoint(new PIXI.Point(num(command.props, 'x'), num(command.props, 'y')));\n if (inside) {\n holes.push(command);\n if (!inHole) {\n probe.beginHole();\n inHole = true;\n }\n }\n else if (inHole) {\n probe.endHole();\n inHole = false;\n }\n }\n first = false;\n }\n drawPath(probe, command);\n });\n probe.destroy();\n return holes;\n}\n/** Replays a path, cutting the holes (Pixi attaches a hole to the shape drawn before it) */\nfunction drawPathWithHoles(target, path, holes) {\n var inHole = false;\n path.forEach(function (command) {\n if (holes && command.type === 'MoveTo') {\n var hole = holes.indexOf(command) >= 0;\n if (hole && !inHole) {\n target.beginHole();\n inHole = true;\n }\n else if (!hole && inHole) {\n target.endHole();\n inHole = false;\n }\n }\n drawPath(target, command);\n });\n if (inHole) {\n target.endHole();\n }\n}\n/**\n * Draws createjs drawing commands into a Pixi Graphics. Pixi takes the paint\n * first, so each path is replayed under the paint that follows it, with the\n * holes canvas's nonzero fill would cut (holes: the MoveTo commands that\n * start holes, see Graphics.holes).\n */\nfunction drawCommands(target, commands, textures, holes) {\n target.clear();\n pathSegments(commands).forEach(function (segment) {\n var fill = segment.fill ? paintOf(segment.fill.props.style, segment.fill.props.matrix, textures) : null;\n var stroke = segment.stroke ? paintOf(segment.stroke.props.style, null, textures) : null;\n var strokeStyle = segment.strokeStyle;\n if (!fill && !stroke) {\n return;\n }\n if (stroke && strokeStyle) {\n target.lineTextureStyle({\n width: num(strokeStyle, 'width'),\n color: stroke.color,\n alpha: stroke.alpha,\n texture: stroke.texture || PIXI.Texture.WHITE,\n matrix: stroke.matrix || undefined,\n cap: lineCap(strokeStyle.caps),\n join: lineJoin(strokeStyle.joints),\n miterLimit: typeof strokeStyle.miterLimit === 'number' ? strokeStyle.miterLimit : 10\n });\n }\n else {\n target.lineStyle(0);\n }\n if (fill) {\n target.beginTextureFill({ texture: fill.texture || PIXI.Texture.WHITE, color: fill.color, alpha: fill.alpha, matrix: fill.matrix || undefined });\n }\n drawPathWithHoles(target, segment.path, fill ? holes || null : null);\n if (fill) {\n target.endFill();\n }\n });\n}\n/**\n * A drawing command as createjs keeps it (Graphics.MoveTo, Graphics.Fill, ...):\n * the command's own properties, with fill and stroke styles as objects whose\n * `props` are the arguments they were made with.\n */\nvar GraphicsCommand = function GraphicsCommand () {};\n/** The createjs drawing command class names */\nvar GRAPHICS_COMMANDS = [\n 'MoveTo', 'LineTo', 'ArcTo', 'Arc', 'QuadraticCurveTo', 'BezierCurveTo', 'Rect', 'ClosePath', 'BeginPath',\n 'Fill', 'Stroke', 'StrokeStyle', 'StrokeDash', 'RoundRect', 'Circle', 'Ellipse', 'PolyStar'\n];\nvar COMMAND_CLASSES = {};\nGRAPHICS_COMMANDS.forEach(function (type) {\n COMMAND_CLASSES[type] = /*@__PURE__*/(function (GraphicsCommand) {\n function type () {\n GraphicsCommand.apply(this, arguments);\n }if ( GraphicsCommand ) type.__proto__ = GraphicsCommand;\n type.prototype = Object.create( GraphicsCommand && GraphicsCommand.prototype );\n type.prototype.constructor = type;\n\n \n\n return type;\n }(GraphicsCommand));\n});\nvar MATRIX_KEYS = ['a', 'b', 'c', 'd', 'tx', 'ty'];\nfunction toCommandValue(value, assets) {\n if (Array.isArray(value)) {\n return value.map(function (v) { return toCommandValue(v, assets); });\n }\n if (!isDataMap(value)) {\n return value;\n }\n var keys = Object.keys(value);\n if (keys.length === 1 && typeof value.image === 'string') {\n return assets.imageAsset(value.image);\n }\n if (keys.length === 2 && typeof value.sheet === 'string' && typeof value.frame === 'number') {\n return assets.frameAsset(value.sheet, value.frame);\n }\n var map = {};\n if (keys.length === 6 && MATRIX_KEYS.every(function (key) { return typeof value[key] === 'number'; })) {\n MATRIX_KEYS.forEach(function (key) { map[key] = value[key]; });\n return map;\n }\n keys.forEach(function (key) { map[key] = toCommandValue(value[key], assets); });\n return map;\n}\n/**\n * Draws the path of createjs drawing commands filled, ignoring their fills\n * and strokes: the shape a createjs mask clips with (all the drawing as one\n * path, with the holes named by holes, see Graphics.maskHoles).\n */\nfunction drawMaskPath(target, commands, holes) {\n target.clear();\n var path = commands.filter(function (command) { return PATH_COMMANDS.indexOf(command.type) >= 0; });\n if (!path.length) {\n return;\n }\n target.beginFill(0xffffff, 1);\n drawPathWithHoles(target, path, holes || null);\n target.endFill();\n}\n/**\n * createjs-compatible Graphics holding the drawing commands of a definition.\n */\nvar Graphics = function Graphics(commands, textures) {\n this._instructions = null;\n this._holes = null;\n this._maskHoles = null;\n this._geometry = null;\n this._maskGeometry = null;\n this.commands = commands;\n this.textures = textures;\n};\n\nvar prototypeAccessors = { instructions: { configurable: true } };\n/** The commands as createjs's command objects (made when first read) */\nprototypeAccessors.instructions.get = function () {\n if (!this._instructions) {\n var assets = this.textures;\n this._instructions = this.commands.map(function (command) {\n var CommandClass = COMMAND_CLASSES[command.type] || GraphicsCommand;\n var instruction = new CommandClass();\n Object.keys(command.props).forEach(function (key) {\n var value = toCommandValue(command.props[key], assets);\n // A gradient or bitmap style object carries its arguments as props\n Reflect.set(instruction, key, key === 'style' && value !== null && typeof value === 'object' ? { props: value } : value);\n });\n return instruction;\n });\n }\n return this._instructions;\n};\nGraphics.prototype.isEmpty = function isEmpty () {\n return !this.commands.length;\n};\n/**\n * The MoveTo commands that start holes in the filled paths (worked out once\n * per drawing and shared by every shape that shows it)\n */\nGraphics.prototype.holes = function holes () {\n if (!this._holes) {\n var holes = [];\n pathSegments(this.commands).forEach(function (segment) {\n if (segment.fill) {\n findHoles(segment.path).forEach(function (command) { return holes.push(command); });\n }\n });\n this._holes = holes;\n }\n return this._holes;\n};\n/**\n * The drawing as a Pixi geometry, drawn the first time it is asked for and\n * shared from then on by every shape that shows this drawing (a shape's\n * Pixi node must therefore not be drawn into: that would change it for all)\n */\nGraphics.prototype.geometry = function geometry () {\n if (!this._geometry) {\n var builder = new GeometryBuilder();\n drawCommands(builder, this.commands, this.textures, this.holes());\n builder.finish();\n this._geometry = builder;\n }\n return this._geometry.geometry;\n};\n/** The drawing as a mask (its path filled), shared the same way */\nGraphics.prototype.maskGeometry = function maskGeometry () {\n if (!this._maskGeometry) {\n var builder = new GeometryBuilder();\n drawMaskPath(builder, this.commands, this.maskHoles());\n builder.finish();\n this._maskGeometry = builder;\n }\n return this._maskGeometry.geometry;\n};\n/** The holes of the drawing as a mask (all of it one path) */\nGraphics.prototype.maskHoles = function maskHoles () {\n if (!this._maskHoles) {\n this._maskHoles = findHoles(this.commands.filter(function (command) { return PATH_COMMANDS.indexOf(command.type) >= 0; }));\n }\n return this._maskHoles;\n};\n\nObject.defineProperties( Graphics.prototype, prototypeAccessors );\nGRAPHICS_COMMANDS.forEach(function (type) {\n Object.defineProperty(Graphics, type, { value: COMMAND_CLASSES[type], enumerable: true });\n});\n/**\n * createjs-compatible Shape on a Pixi Graphics.\n */\nvar Shape = /*@__PURE__*/(function (DisplayObject) {\n function Shape(graphics) {\n var node = new PixiGraphics(graphics ? graphics.geometry() : getEmptyGeometry());\n DisplayObject.call(this, node);\n this._graphics = null;\n /** The shape as a mask (made when first used as one), a child of this shape's node */\n this._maskGraphics = null;\n this.pixiGraphics = node;\n this._graphics = graphics || null;\n }\n\n if ( DisplayObject ) Shape.__proto__ = DisplayObject;\n Shape.prototype = Object.create( DisplayObject && DisplayObject.prototype );\n Shape.prototype.constructor = Shape;\n\n var prototypeAccessors$1 = { graphics: { configurable: true } };\n prototypeAccessors$1.graphics.get = function () {\n return this._graphics;\n };\n prototypeAccessors$1.graphics.set = function (value) {\n if (value === this._graphics) {\n return;\n }\n this._graphics = value;\n this.pixiGraphics.setGeometry(value ? value.geometry() : getEmptyGeometry());\n if (this._maskGraphics) {\n this._maskGraphics.setGeometry(value ? value.maskGeometry() : getEmptyGeometry());\n }\n this._maskTargets.forEach(function (target) { return target._updatePixiMask(); });\n };\n Shape.prototype._clipsAsMask = function _clipsAsMask () {\n return !!(this._graphics && !this._graphics.isEmpty());\n };\n Shape.prototype._setBlendMode = function _setBlendMode (mode) {\n this.pixiGraphics.setBlendMode(mode);\n };\n /**\n * createjs clips with the shape's path alone (Graphics.drawAsPath, then\n * clip), whatever its fill and stroke; published masks are paths with no\n * fill. The mask node is that path, filled. It is a child of the shape's\n * node, so it moves with the shape (the shape's own node is not drawn while\n * it serves as a mask).\n */\n Shape.prototype._pixiMaskNode = function _pixiMaskNode () {\n var node = this._maskGraphics;\n if (!node) {\n node = this._maskGraphics = new PixiGraphics(this._graphics ? this._graphics.maskGeometry() : getEmptyGeometry());\n // Never hit by the pointer, as createjs never hits a mask\n node.hitArea = NO_HIT_AREA;\n this.pixiGraphics.addChild(node);\n }\n return node;\n };\n Shape.prototype._releaseMaskNode = function _releaseMaskNode () {\n var node = this._maskGraphics;\n if (node && !node.isMask) {\n node.renderable = false;\n }\n };\n Shape.prototype.toString = function toString () {\n return '[Shape (name=' + this.name + ')]';\n };\n\n Object.defineProperties( Shape.prototype, prototypeAccessors$1 );\n\n return Shape;\n}(DisplayObject));\n/**\n * createjs-compatible SpriteSheet: frames cut from an atlas image.\n */\nvar SpriteSheet = function SpriteSheet(image, rects) {\n this.framerate = 0;\n this.complete = true;\n this.frames = rects.map(function (rect) { return ({ image: image, rect: new Rectangle(rect[0], rect[1], rect[2], rect[3]) }); });\n this.textures = this.frames.map(function (frame) { return new PIXI.Texture(image.texture.baseTexture, frame.rect.toPixi()); });\n};\nSpriteSheet.prototype.getFrame = function getFrame (index) {\n return this.frames[index] || null;\n};\nSpriteSheet.prototype.getNumFrames = function getNumFrames () {\n return this.frames.length;\n};\n/**\n * createjs-compatible Sprite (frame by frame from a sprite sheet).\n */\nvar Sprite = /*@__PURE__*/(function (DisplayObject) {\n function Sprite(spriteSheet, frame) {\n var node = new PixiSprite(PIXI.Texture.EMPTY);\n DisplayObject.call(this, node);\n this.currentFrame = 0;\n this.paused = false;\n this.framerate = 0;\n this.pixiSprite = node;\n this.spriteSheet = spriteSheet;\n if (frame != null) {\n this.gotoAndPlay(frame);\n }\n }\n\n if ( DisplayObject ) Sprite.__proto__ = DisplayObject;\n Sprite.prototype = Object.create( DisplayObject && DisplayObject.prototype );\n Sprite.prototype.constructor = Sprite;\n Sprite.prototype.play = function play () { this.paused = false; };\n Sprite.prototype.stop = function stop () { this.paused = true; };\n Sprite.prototype.gotoAndPlay = function gotoAndPlay (frame) {\n this.paused = false;\n this._goto(frame);\n };\n Sprite.prototype.gotoAndStop = function gotoAndStop (frame) {\n this.paused = true;\n this._goto(frame);\n };\n Sprite.prototype.advance = function advance () {\n var count = this.spriteSheet.getNumFrames();\n this._goto(count ? (this.currentFrame + 1) % count : 0);\n };\n Sprite.prototype._goto = function _goto (frame) {\n this.currentFrame = frame;\n var texture = this.spriteSheet.textures[frame];\n this.pixiSprite.texture = texture || PIXI.Texture.EMPTY;\n };\n Sprite.prototype._tick = function _tick (event) {\n if (!this.paused) {\n this.advance();\n }\n DisplayObject.prototype._tick.call(this, event);\n };\n Sprite.prototype._setBlendMode = function _setBlendMode (mode) {\n this.pixiSprite.blendMode = mode;\n };\n Sprite.prototype.toString = function toString () {\n return '[Sprite (name=' + this.name + ')]';\n };\n\n return Sprite;\n}(DisplayObject));\n/**\n * createjs-compatible Bitmap.\n */\nvar Bitmap = /*@__PURE__*/(function (DisplayObject) {\n function Bitmap(image) {\n var node = new PixiSprite(PIXI.Texture.EMPTY);\n DisplayObject.call(this, node);\n this._image = null;\n this._sourceRect = null;\n this.pixiSprite = node;\n this.image = image || null;\n }\n\n if ( DisplayObject ) Bitmap.__proto__ = DisplayObject;\n Bitmap.prototype = Object.create( DisplayObject && DisplayObject.prototype );\n Bitmap.prototype.constructor = Bitmap;\n\n var prototypeAccessors$2 = { image: { configurable: true },sourceRect: { configurable: true } };\n prototypeAccessors$2.image.get = function () { return this._image; };\n prototypeAccessors$2.image.set = function (value) {\n this._image = value;\n this._updateTexture();\n };\n prototypeAccessors$2.sourceRect.get = function () { return this._sourceRect; };\n prototypeAccessors$2.sourceRect.set = function (value) {\n this._sourceRect = value;\n this._updateTexture();\n };\n Bitmap.prototype._updateTexture = function _updateTexture () {\n var image = this._image;\n if (!image) {\n this.pixiSprite.texture = PIXI.Texture.EMPTY;\n return;\n }\n var rect = this._sourceRect;\n this.pixiSprite.texture = rect ? new PIXI.Texture(image.texture.baseTexture, rect.toPixi()) : image.texture;\n };\n Bitmap.prototype._setBlendMode = function _setBlendMode (mode) {\n this.pixiSprite.blendMode = mode;\n };\n Bitmap.prototype.toString = function toString () {\n return '[Bitmap (name=' + this.name + ')]';\n };\n\n Object.defineProperties( Bitmap.prototype, prototypeAccessors$2 );\n\n return Bitmap;\n}(DisplayObject));\n/**\n * The parts of a CSS font shorthand (\"bold 20px 'Nirmala UI'\").\n */\nfunction parseFont(font) {\n var match = /^\\s*(.*?)\\s*(\\d+(?:\\.\\d+)?)px(?:\\/\\S+)?\\s+(.+)$/.exec(font);\n if (!match) {\n return { fontStyle: 'normal', fontWeight: 'normal', fontSize: 10, fontFamily: 'sans-serif' };\n }\n var words = match[1].split(/\\s+/);\n var fontStyle = 'normal';\n var fontWeight = 'normal';\n words.forEach(function (word) {\n if (word === 'italic' || word === 'oblique') {\n fontStyle = word;\n }\n else if (word === 'bold' || word === 'bolder' || word === 'lighter' || /^\\d{3}$/.test(word)) {\n fontWeight = word;\n }\n });\n return { fontStyle: fontStyle, fontWeight: fontWeight, fontSize: parseFloat(match[2]), fontFamily: match[3].replace(/['\"]/g, '') };\n}\nvar TEXT_ANCHOR_X = { left: 0, start: 0, center: 0.5, right: 1, end: 1 };\nvar TEXT_ANCHOR_Y = { top: 0, hanging: 0, middle: 0.5, alphabetic: 0.8, ideographic: 0.9, bottom: 1 };\n/**\n * The lines createjs draws a text in (Text._drawText): the text split at line\n * breaks (CR LF, CR, LF), then a line wider than lineWidth broken at whitespace\n * only, words added while they fit (a word wider than lineWidth stays whole).\n * No breaking at all when lineWidth is null.\n */\nfunction breakLines(text, lineWidth, measure) {\n var lines = [];\n String(text).split(/(?:\\r\\n|\\r|\\n)/).forEach(function (source) {\n var line = source;\n if (lineWidth != null && measure(line) > lineWidth) {\n var words = line.split(/(\\s)/);\n line = words[0];\n var width = measure(line);\n for (var i = 1; i < words.length; i += 2) {\n var wordWidth = measure(words[i] + words[i + 1]);\n if (width + wordWidth > lineWidth) {\n lines.push(line);\n line = words[i + 1];\n width = measure(line);\n }\n else {\n line += words[i] + words[i + 1];\n width += wordWidth;\n }\n }\n }\n lines.push(line);\n });\n return lines;\n}\n/**\n * createjs-compatible Text on a Pixi Text.\n */\nvar Text = /*@__PURE__*/(function (DisplayObject) {\n function Text(text, font, color) {\n var node = new PixiText('');\n // Pixi draws text into an image and places that image: at a position between pixels it is\n // blurred by sampling, where canvas (createjs) draws the glyphs sharp at any position\n node.roundPixels = true;\n DisplayObject.call(this, node);\n this._text = '';\n // As createjs: what the constructor is given, kept as given (none: null); drawing falls back to\n // 10px sans-serif and black\n this._font = null;\n this._color = null;\n this._textAlign = 'left';\n this._textBaseline = 'top';\n this._lineHeight = 0;\n this._lineWidth = null;\n this._maxWidth = null;\n this._outline = 0;\n this.pixiText = node;\n this._text = text == null ? '' : String(text);\n this._font = font == null ? null : font;\n this._color = color == null ? null : color;\n this._updateText();\n }\n\n if ( DisplayObject ) Text.__proto__ = DisplayObject;\n Text.prototype = Object.create( DisplayObject && DisplayObject.prototype );\n Text.prototype.constructor = Text;\n\n var prototypeAccessors$3 = { text: { configurable: true },font: { configurable: true },color: { configurable: true },textAlign: { configurable: true },textBaseline: { configurable: true },lineHeight: { configurable: true },lineWidth: { configurable: true },maxWidth: { configurable: true },outline: { configurable: true } };\n prototypeAccessors$3.text.get = function () { return this._text; };\n prototypeAccessors$3.text.set = function (value) { this._text = value; this._updateText(); };\n prototypeAccessors$3.font.get = function () { return this._font; };\n prototypeAccessors$3.font.set = function (value) { this._font = value; this._updateText(); };\n prototypeAccessors$3.color.get = function () { return this._color; };\n prototypeAccessors$3.color.set = function (value) { this._color = value; this._updateText(); };\n prototypeAccessors$3.textAlign.get = function () { return this._textAlign; };\n prototypeAccessors$3.textAlign.set = function (value) { this._textAlign = value; this._updateText(); };\n prototypeAccessors$3.textBaseline.get = function () { return this._textBaseline; };\n prototypeAccessors$3.textBaseline.set = function (value) { this._textBaseline = value; this._updateText(); };\n prototypeAccessors$3.lineHeight.get = function () { return this._lineHeight; };\n prototypeAccessors$3.lineHeight.set = function (value) { this._lineHeight = value; this._updateText(); };\n prototypeAccessors$3.lineWidth.get = function () { return this._lineWidth; };\n prototypeAccessors$3.lineWidth.set = function (value) { this._lineWidth = value; this._updateText(); };\n prototypeAccessors$3.maxWidth.get = function () { return this._maxWidth; };\n prototypeAccessors$3.maxWidth.set = function (value) { this._maxWidth = value; this._updateText(); };\n prototypeAccessors$3.outline.get = function () { return this._outline; };\n prototypeAccessors$3.outline.set = function (value) { this._outline = value; this._updateText(); };\n Text.prototype._updateText = function _updateText () {\n var node = this.pixiText;\n var font = parseFont(this._font || '10px sans-serif');\n var color = parseColor(this._color || '#000');\n var style = new PIXI.TextStyle({\n fontStyle: font.fontStyle,\n fontWeight: font.fontWeight,\n fontSize: font.fontSize,\n fontFamily: font.fontFamily,\n fill: this._outline ? 'rgba(0,0,0,0)' : (color ? color.color : 0),\n stroke: color ? color.color : 0,\n strokeThickness: this._outline || 0,\n align: this._textAlign === 'center' ? 'center' : (this._textAlign === 'right' || this._textAlign === 'end') ? 'right' : 'left',\n // Lines are broken here the way createjs breaks them, not by Pixi's word wrap\n wordWrap: false\n });\n var measure = function (line) { return PIXI.TextMetrics.measureText(line, style, false).width; };\n // createjs's line height when none is set: 1.2 times the width of an M\n style.lineHeight = this._lineHeight || 1.2 * measure('M');\n node.style = style;\n node.text = breakLines(this._text, this._lineWidth, measure).join('\\n');\n var anchorX = TEXT_ANCHOR_X[this._textAlign];\n var anchorY = TEXT_ANCHOR_Y[this._textBaseline];\n node.anchor.set(anchorX === undefined ? 0 : anchorX, anchorY === undefined ? 0 : anchorY);\n };\n Text.prototype._setBlendMode = function _setBlendMode (mode) {\n this.pixiText.blendMode = mode;\n };\n Text.prototype.toString = function toString () {\n return '[Text (text=' + this._text + ')]';\n };\n\n Object.defineProperties( Text.prototype, prototypeAccessors$3 );\n\n return Text;\n}(DisplayObject));\n/**\n * createjs-compatible ColorFilter on a Pixi ColorMatrixFilter.\n */\nvar ColorFilter = function ColorFilter(redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset, alphaOffset) {\n this.pixiFilter = new PIXI.filters.ColorMatrixFilter();\n this._values = [\n redMultiplier == null ? 1 : redMultiplier,\n greenMultiplier == null ? 1 : greenMultiplier,\n blueMultiplier == null ? 1 : blueMultiplier,\n alphaMultiplier == null ? 1 : alphaMultiplier,\n redOffset || 0, greenOffset || 0, blueOffset || 0, alphaOffset || 0\n ];\n this._updateMatrix();\n};\n\nvar prototypeAccessors$4 = { redMultiplier: { configurable: true },greenMultiplier: { configurable: true },blueMultiplier: { configurable: true },alphaMultiplier: { configurable: true },redOffset: { configurable: true },greenOffset: { configurable: true },blueOffset: { configurable: true },alphaOffset: { configurable: true } };\nprototypeAccessors$4.redMultiplier.get = function () { return this._values[0]; };\nprototypeAccessors$4.redMultiplier.set = function (value) { this._set(0, value); };\nprototypeAccessors$4.greenMultiplier.get = function () { return this._values[1]; };\nprototypeAccessors$4.greenMultiplier.set = function (value) { this._set(1, value); };\nprototypeAccessors$4.blueMultiplier.get = function () { return this._values[2]; };\nprototypeAccessors$4.blueMultiplier.set = function (value) { this._set(2, value); };\nprototypeAccessors$4.alphaMultiplier.get = function () { return this._values[3]; };\nprototypeAccessors$4.alphaMultiplier.set = function (value) { this._set(3, value); };\nprototypeAccessors$4.redOffset.get = function () { return this._values[4]; };\nprototypeAccessors$4.redOffset.set = function (value) { this._set(4, value); };\nprototypeAccessors$4.greenOffset.get = function () { return this._values[5]; };\nprototypeAccessors$4.greenOffset.set = function (value) { this._set(5, value); };\nprototypeAccessors$4.blueOffset.get = function () { return this._values[6]; };\nprototypeAccessors$4.blueOffset.set = function (value) { this._set(6, value); };\nprototypeAccessors$4.alphaOffset.get = function () { return this._values[7]; };\nprototypeAccessors$4.alphaOffset.set = function (value) { this._set(7, value); };\nColorFilter.prototype._set = function _set (index, value) {\n this._values[index] = value;\n this._updateMatrix();\n};\nColorFilter.prototype._updateMatrix = function _updateMatrix () {\n var v = this._values;\n var m = this.pixiFilter.matrix;\n for (var i = 0; i < 20; i++) {\n m[i] = 0;\n }\n m[0] = v[0];\n m[6] = v[1];\n m[12] = v[2];\n m[18] = v[3];\n m[4] = v[4] / 255;\n m[9] = v[5] / 255;\n m[14] = v[6] / 255;\n m[19] = v[7] / 255;\n};\nColorFilter.prototype.toString = function toString () {\n return '[ColorFilter]';\n};\n\nObject.defineProperties( ColorFilter.prototype, prototypeAccessors$4 );\n/**\n * createjs-compatible ButtonHelper: sends its target to the out / over /\n * down frames on mouse events, and stops it on the out frame from the start.\n */\nvar ButtonHelper = function ButtonHelper(target, outLabel, overLabel, downLabel, play, hitArea, hitLabel) {\n this._isPressed = false;\n this._isOver = false;\n this._enabled = false;\n this._originalReset = null;\n this.target = target;\n this.overLabel = overLabel == null ? 'over' : overLabel;\n this.outLabel = outLabel == null ? 'out' : outLabel;\n this.downLabel = downLabel == null ? 'down' : downLabel;\n this.play = !!play;\n target.mouseChildren = false;\n this.enabled = true;\n this.handleEvent(new Event(''));\n if (hitArea) {\n // As createjs: only a truthy label sends the hit area there (frame 0 leaves it as it is)\n if (hitLabel) {\n hitArea.actionsEnabled = false;\n hitArea.gotoAndStop(hitLabel);\n }\n target.hitArea = hitArea;\n }\n};\n\nvar prototypeAccessors$5 = { enabled: { configurable: true } };\nprototypeAccessors$5.enabled.get = function () { return this._enabled; };\nprototypeAccessors$5.enabled.set = function (value) {\n if (value === this._enabled) {\n return;\n }\n var target = this.target;\n this._enabled = value;\n if (value) {\n target.cursor = 'pointer';\n target.addEventListener('rollover', this);\n target.addEventListener('rollout', this);\n target.addEventListener('mousedown', this);\n target.addEventListener('pressup', this);\n // The target keeps its paused state when its timeline resets it on re-entry\n var reset = target._reset;\n this._originalReset = reset;\n target._reset = function () {\n var paused = target.paused;\n reset.call(target);\n target.paused = paused;\n };\n }\n else {\n target.cursor = null;\n target.removeEventListener('rollover', this);\n target.removeEventListener('rollout', this);\n target.removeEventListener('mousedown', this);\n target.removeEventListener('pressup', this);\n var original = this._originalReset;\n if (original) {\n target._reset = original;\n this._originalReset = null;\n }\n }\n};\nButtonHelper.prototype.handleEvent = function handleEvent (event) {\n var type = event.type;\n var label;\n if (type === 'mousedown') {\n this._isPressed = true;\n label = this.downLabel;\n }\n else if (type === 'pressup') {\n this._isPressed = false;\n label = this._isOver ? this.overLabel : this.outLabel;\n }\n else if (type === 'rollover') {\n this._isOver = true;\n label = this._isPressed ? this.downLabel : this.overLabel;\n }\n else {\n this._isOver = false;\n label = this._isPressed ? this.overLabel : this.outLabel;\n }\n if (this.play) {\n this.target.gotoAndPlay(label);\n }\n else {\n this.target.gotoAndStop(label);\n }\n};\nButtonHelper.prototype.toString = function toString () {\n return '[ButtonHelper]';\n};\n\nObject.defineProperties( ButtonHelper.prototype, prototypeAccessors$5 );\n\n/**\n * Semantic version numbers and ranges, as far as the version checks of\n * definitions and runtime content need them: versions are MAJOR.MINOR.PATCH,\n * and ranges are written as npm writes them (`1.2.3`, `1.x`, `^1.2.0`,\n * `~1.2.0`, `>=1.0.0 <2.0.0`, `0.x || 1.x`). Pre-release tags are not handled.\n */\n/** A version as its three numbers, or null when it is not MAJOR.MINOR.PATCH */\nfunction parseVersion(text) {\n var match = /^\\s*v?(\\d+)\\.(\\d+)\\.(\\d+)\\s*$/.exec(text);\n return match ? [Number(match[1]), Number(match[2]), Number(match[3])] : null;\n}\nfunction compareParsed(a, b) {\n for (var i = 0; i < 3; i++) {\n if (a[i] !== b[i]) {\n return a[i] < b[i] ? -1 : 1;\n }\n }\n return 0;\n}\n/** -1, 0 or 1 as a is lower than, the same as or higher than b (both have to be versions) */\nfunction compareVersions(a, b) {\n var pa = parseVersion(a);\n var pb = parseVersion(b);\n if (!pa || !pb) {\n throw new Error('not a version: ' + (pa ? b : a));\n }\n return compareParsed(pa, pb);\n}\n/** A partial version (1, 1.2, 1.x, *): the numbers given, the rest left open */\nfunction parsePartial(text) {\n if (text === '*' || text === 'x' || text === 'X') {\n return [];\n }\n var parts = text.split('.');\n if (parts.length > 3) {\n return null;\n }\n var numbers = [];\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n if (part === 'x' || part === 'X' || part === '*') {\n break;\n }\n if (!/^\\d+$/.test(part)) {\n return null;\n }\n numbers.push(Number(part));\n }\n return numbers;\n}\nfunction lowest(numbers) {\n return [numbers[0] || 0, numbers[1] || 0, numbers[2] || 0];\n}\n/** The first version above every version the given numbers start (1.2 -> 1.3.0); null for none (*) */\nfunction above(numbers) {\n if (numbers.length === 0) {\n return null;\n }\n if (numbers.length === 1) {\n return [numbers[0] + 1, 0, 0];\n }\n if (numbers.length === 2) {\n return [numbers[0], numbers[1] + 1, 0];\n }\n return [numbers[0], numbers[1], numbers[2] + 1];\n}\n/** The tests one word of a range stands for, or null when the word is not understood */\nfunction parseComparator(word) {\n var match = /^(\\^|~|>=|<=|>|<|=)?(.+)$/.exec(word);\n if (!match) {\n return null;\n }\n var op = match[1] || '=';\n var numbers = parsePartial(match[2]);\n if (!numbers) {\n return null;\n }\n var low = lowest(numbers);\n var result = [];\n var atLeast = function (bound) {\n result.push({ op: '>=', bound: bound });\n };\n var below = function (bound) {\n if (bound) {\n result.push({ op: '<', bound: bound });\n }\n };\n if (op === '=') {\n atLeast(low);\n below(above(numbers));\n }\n else if (op === '^') {\n // The left-most non-zero number given stays the same (^1.2.3 <2.0.0, ^0.2.3 <0.3.0, ^0.0.3 <0.0.4)\n var fixed = 0;\n while (fixed < numbers.length - 1 && numbers[fixed] === 0) {\n fixed++;\n }\n atLeast(low);\n below(above(numbers.slice(0, fixed + 1)));\n }\n else if (op === '~') {\n atLeast(low);\n below(above(numbers.slice(0, numbers.length > 1 ? 2 : 1)));\n }\n else if (op === '>=') {\n atLeast(low);\n }\n else if (op === '>') {\n var next = above(numbers);\n if (!next) {\n return null;\n }\n atLeast(next);\n }\n else if (op === '<') {\n below(low);\n }\n else {\n // <=\n below(above(numbers));\n }\n return result;\n}\n/** Whether a version is in a range (npm's notation, see above); a range not understood throws */\nfunction satisfies(version, range) {\n var parsed = parseVersion(version);\n if (!parsed) {\n return false;\n }\n return range.split('||').some(function (set) {\n var words = set.trim().split(/\\s+/).filter(function (word) { return word !== ''; });\n if (!words.length) {\n throw new Error('not a version range: ' + range);\n }\n return words.every(function (word) {\n var comparators = parseComparator(word);\n if (!comparators) {\n throw new Error('not a version range: ' + range);\n }\n return comparators.every(function (c) {\n var order = compareParsed(parsed, c.bound);\n return c.op === '>=' ? order >= 0 : order < 0;\n });\n });\n });\n}\nfunction checkVersion(version, range, known) {\n var parsed = parseVersion(version);\n if (!parsed) {\n return { error: 'no version (' + JSON.stringify(version) + ')', warning: null, newer: false };\n }\n var newer = compareVersions(version, known) > 0;\n if (!satisfies(version, range)) {\n return { error: version + ' is outside ' + range, warning: null, newer: newer };\n }\n return { error: null, warning: newer ? version + ' is newer than ' + known : null, newer: newer };\n}\n\n/** The version of this package (written in from package.json when the package is built) */\nvar VERSION = \"0.1.0\";\n\n/**\n * The eases of CreateJS (createjs.Ease), computed as CreateJS computes them,\n * by name. Runtime content names the ease of an interpolated stretch of a\n * tween; the player computes the stretch's values with it once, when a symbol's\n * class is made. `get:<amount>` is Ease.get(amount) (Animate's classic ease).\n */\nfunction powIn(pow) {\n return function (t) { return Math.pow(t, pow); };\n}\nfunction powOut(pow) {\n return function (t) { return 1 - Math.pow(1 - t, pow); };\n}\nfunction powInOut(pow) {\n return function (t) { return ((t *= 2) < 1 ? 0.5 * Math.pow(t, pow) : 1 - 0.5 * Math.abs(Math.pow(2 - t, pow))); };\n}\nfunction backIn(amount) {\n return function (t) { return t * t * ((amount + 1) * t - amount); };\n}\nfunction backOut(amount) {\n return function (t) { return --t * t * ((amount + 1) * t + amount) + 1; };\n}\nfunction backInOut(amount) {\n amount *= 1.525;\n return function (t) { return ((t *= 2) < 1 ? 0.5 * (t * t * ((amount + 1) * t - amount)) : 0.5 * ((t -= 2) * t * ((amount + 1) * t + amount) + 2)); };\n}\nfunction elasticIn(amplitude, period) {\n var pi2 = 2 * Math.PI;\n return function (t) {\n if (t == 0 || t == 1) {\n return t;\n }\n var s = period / pi2 * Math.asin(1 / amplitude);\n return -(amplitude * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * pi2 / period));\n };\n}\nfunction elasticOut(amplitude, period) {\n var pi2 = 2 * Math.PI;\n return function (t) {\n if (t == 0 || t == 1) {\n return t;\n }\n var s = period / pi2 * Math.asin(1 / amplitude);\n return amplitude * Math.pow(2, -10 * t) * Math.sin((t - s) * pi2 / period) + 1;\n };\n}\nfunction elasticInOut(amplitude, period) {\n var pi2 = 2 * Math.PI;\n return function (t) {\n var s = period / pi2 * Math.asin(1 / amplitude);\n return (t *= 2) < 1\n ? -0.5 * (amplitude * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * pi2 / period))\n : amplitude * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * pi2 / period) * 0.5 + 1;\n };\n}\nfunction bounceOut(t) {\n return 1 / 2.75 > t ? 7.5625 * t * t\n : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75\n : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375\n : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375;\n}\nfunction bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n/** Ease.get(amount): Animate's classic ease, amount from -1 (in) to 1 (out) */\nfunction classic(amount) {\n amount = amount < -1 ? -1 : amount > 1 ? 1 : amount;\n return function (t) { return (amount == 0 ? t : amount < 0 ? t * (t * -amount + 1 + amount) : t * ((2 - t) * amount + (1 - amount))); };\n}\nvar EASES = {\n linear: function (t) { return t; },\n quadIn: powIn(2), quadOut: powOut(2), quadInOut: powInOut(2),\n cubicIn: powIn(3), cubicOut: powOut(3), cubicInOut: powInOut(3),\n quartIn: powIn(4), quartOut: powOut(4), quartInOut: powInOut(4),\n quintIn: powIn(5), quintOut: powOut(5), quintInOut: powInOut(5),\n sineIn: function (t) { return 1 - Math.cos(t * Math.PI / 2); },\n sineOut: function (t) { return Math.sin(t * Math.PI / 2); },\n sineInOut: function (t) { return -0.5 * (Math.cos(Math.PI * t) - 1); },\n backIn: backIn(1.7), backOut: backOut(1.7), backInOut: backInOut(1.7),\n circIn: function (t) { return -(Math.sqrt(1 - t * t) - 1); },\n circOut: function (t) { return Math.sqrt(1 - --t * t); },\n circInOut: function (t) { return ((t *= 2) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1)); },\n bounceIn: bounceIn, bounceOut: bounceOut,\n bounceInOut: function (t) { return (0.5 > t ? 0.5 * bounceIn(2 * t) : 0.5 * bounceOut(2 * t - 1) + 0.5); },\n elasticIn: elasticIn(1, 0.3), elasticOut: elasticOut(1, 0.3), elasticInOut: elasticInOut(1, 0.3 * 1.5)\n};\n/** The ease runtime content names (null for a name the player does not know) */\nfunction easeOf(id) {\n if (id.indexOf('get:') === 0) {\n return classic(Number(id.slice(4)));\n }\n return Object.prototype.hasOwnProperty.call(EASES, id) ? EASES[id] : null;\n}\n\n/**\n * The data of runtime content (what the generator writes and the player reads): the definition\n * extracted by @tawaship/animate-data-converter, with every frame script\n * taken out of the data and referenced by its index in the runtime content's\n * script list (the scripts themselves are code in the runtime content), and with\n * the writes of each tween and of each instance's initial values compiled\n * into writer functions (code in the runtime content as well, referenced by index).\n * Drawings are gathered into one table for the whole content, identical\n * ones merged, and a symbol refers to them by index.\n */\n/** A drawing's commands as the player draws them, from their written form */\nfunction commandsOf(kinds, graphics) {\n return graphics.commands.map(function (command) {\n var kind = kinds[typeof command[0] === 'number' ? command[0] : 0];\n var props = {};\n kind[1].forEach(function (name, i) {\n props[name] = command[i + 1];\n });\n return { type: kind[0], props: props };\n });\n}\n/**\n * The pixi-animate-runtime versions whose runtime content this player plays\n * (npm's range notation). Raised when the player stops playing runtime\n * content older versions made.\n */\nvar RUNTIME_CONTENT_RANGE = '0.x';\n/**\n * The values at a position of a step, as CreateJS's Tween computes them: the\n * ratio of the position in the step, eased, then each value from its start\n * toward its end (a value that is not a number, or does not change, keeps its\n * start until the eased ratio reaches 1).\n */\nfunction interpolated(from, to, position, length, ease) {\n var ratio = position / length;\n if (ease) {\n ratio = ease(ratio);\n }\n return from.map(function (v0, i) {\n var v1 = to[i];\n return v0 !== v1 && typeof v0 === 'number' && typeof v1 === 'number' ? v0 + (v1 - v0) * ratio : ratio >= 1 ? v1 : v0;\n });\n}\n/** A display list entry as the player uses it, from its written form */\nfunction stateEntryOf(entry) {\n return typeof entry === 'number' ? { target: { type: 'slot', slot: entry }, props: null } : entry;\n}\n/**\n * A tween with the values of every position: its display lists (the values of\n * its `state` prop) as entries, and its interpolated stretches computed (each\n * position of a stretch gets values of its own)\n */\nfunction tweenOf(data) {\n var state = data.props.indexOf('state');\n var values = data.values.map(function (frame) { return frame.map(function (value, i) {\n if (i === state && Array.isArray(value)) {\n return value.map(stateEntryOf);\n }\n return isFrameValue(value) ? value : null;\n }); });\n var frames = [];\n data.frames.forEach(function (ref) {\n if (typeof ref === 'number') {\n frames.push(ref);\n return;\n }\n var ease = easeOf(ref[3]);\n for (var position = 0; position < ref[2]; position++) {\n frames.push(values.push(interpolated(values[ref[0]], values[ref[1]], position, ref[2], ease)) - 1);\n }\n });\n return Object.assign({}, data, { values: values, frames: frames });\n}\n/** Whether a written value is a frame value as it is (all but a display list with slot indexes) */\nfunction isFrameValue(value) {\n return !Array.isArray(value) || value.every(function (entry) { return typeof entry !== 'number'; });\n}\n/** The values a slot's fields have when runtime content leaves them out */\nvar SLOT_DEFAULTS = {\n symbol: null, mode: null, startPosition: null, loop: null, graphics: null, sprite: null, bitmap: null, text: null,\n mask: null, hitArea: null, filters: null, cache: null, button: null, filterCacheListener: false, parentSet: false,\n initWriter: null, initValues: null\n};\n/** A slot from its template (the fields left out at their defaults) and its initial values */\nfunction slotOf(templates, ref) {\n var template = templates[typeof ref === 'number' ? ref : ref[0]];\n return Object.assign({}, SLOT_DEFAULTS, template, { initValues: typeof ref === 'number' ? null : ref[1] });\n}\n\n/**\n * Whether this player plays runtime content: an error when the version of\n * pixi-animate-runtime that generated it is outside the range the player\n * plays, a warning when it is newer than the player (it may hold what the\n * player does not know and leaves out).\n */\nfunction checkRuntimeContent(data) {\n var made = typeof data.runtimeVersion === 'string' ? data.runtimeVersion : '';\n var check = checkVersion(made, RUNTIME_CONTENT_RANGE, VERSION);\n var by = 'This runtime content was generated by pixi-animate-runtime ' + (made || '(no version)');\n if (check.error) {\n throw new Error(by + ', which this player (' + VERSION + ') does not play (it plays runtime content generated by ' + RUNTIME_CONTENT_RANGE + '). '\n + (check.newer ? 'Update the player.' : 'Generate the runtime content again with pixi-animate-runtime ' + VERSION + '.'));\n }\n if (check.warning) {\n console.warn(by + ', newer than this player (' + VERSION + '). What the newer version added may not play; update the player.');\n }\n}\n/**\n * The createjs-compatible names frame scripts reach as `cjs` / `createjs`.\n */\nvar namespace = {\n DisplayObject: DisplayObject, Container: Container, MovieClip: MovieClip, Shape: Shape, Graphics: Graphics, Sprite: Sprite, SpriteSheet: SpriteSheet, Bitmap: Bitmap, Text: Text,\n ColorFilter: ColorFilter, ButtonHelper: ButtonHelper, Event: Event, EventDispatcher: EventDispatcher, Rectangle: Rectangle, Point: PIXI.Point\n};\nfunction playSound() {\n return {\n paused: false, volume: 1,\n addEventListener: function addEventListener() { }, removeEventListener: function removeEventListener() { },\n on: function on() { }, stop: function stop() { }, play: function play() { }\n };\n}\nfunction isMovieClipClass(content, id, value) {\n var def = content.data.symbols[id];\n return !!def && def.kind === 'movieclip';\n}\nfunction isSpriteClass(content, id, value) {\n var def = content.data.symbols[id];\n return !!def && def.kind === 'sprite';\n}\nfunction isBitmapClass(content, id, value) {\n var def = content.data.symbols[id];\n return !!def && def.kind === 'bitmap';\n}\nfunction toRect(rect) {\n return rect ? new Rectangle(rect.x, rect.y, rect.width, rect.height) : null;\n}\nfunction toRects(rects) {\n return rects ? rects.map(function (rect) { return new Rectangle(rect.x, rect.y, rect.width, rect.height); }) : null;\n}\nfunction numbers(value) {\n return Array.isArray(value) ? value.map(function (v) { return (typeof v === 'number' ? v : 0); }) : [0, 0, 0, 0];\n}\n/**\n * The template's AdobeAn.handleFilterCache: re-caches the instances a clip's\n * filterCacheList names while the clip is within their frame ranges.\n */\nfunction handleFilterCache(event) {\n if (event.paused) {\n return;\n }\n var target = event.target;\n if (!(target instanceof MovieClip) || !target.filterCacheList) {\n return;\n }\n target.filterCacheList.forEach(function (entry) {\n if (entry.startFrame <= target.currentFrame && target.currentFrame <= entry.endFrame) {\n entry.instance.cache(entry.x, entry.y, entry.w, entry.h);\n }\n });\n}\n/**\n * A content: the symbol classes built from generated data, sharing one\n * definition per symbol. Not part of the API: applications get an IContent.\n * @internal\n */\nvar Content = function Content(factory, assets) {\n var this$1$1 = this;\n\n this.lib = {};\n this.images = {};\n /** One Graphics per drawing of the content, shared by every symbol that shows it */\n this.graphics = [];\n this.spriteSheets = {};\n this._frameAssets = {};\n var generated = factory(namespace, namespace, this.lib, undefined, undefined, playSound);\n checkRuntimeContent(generated.data);\n this.data = generated.data;\n this.scripts = generated.scripts;\n this.writers = generated.writers;\n this.memberWriters = generated.memberWriters;\n this.data.graphics.forEach(function (def) {\n this$1$1.graphics.push(new Graphics(commandsOf(this$1$1.data.commandKinds, def), this$1$1));\n });\n this._applyImages(assets && assets.images ? assets.images : {});\n Object.keys(this.data.symbols).forEach(function (id) {\n var def = this$1$1.data.symbols[id];\n if (def.kind === 'movieclip') {\n this$1$1.lib[id] = this$1$1._movieClipClass(def);\n }\n else if (def.kind === 'sprite') {\n this$1$1.lib[id] = this$1$1._spriteClass(def);\n }\n else if (def.kind === 'bitmap') {\n this$1$1.lib[id] = this$1$1._bitmapClass(def);\n }\n });\n};\n/**\n * Sets the textures of the content's images (by manifest id) and the sprite\n * sheets cut from them. Done before any instance is made: the constructor's\n * assets, or the textures a loader read for the content afterwards.\n */\nContent.prototype._applyImages = function _applyImages (textures) {\n var this$1$1 = this;\n\n this.data.images.forEach(function (entry) {\n var texture = textures[entry.id];\n this$1$1.images[entry.id] = { src: entry.src, texture: texture || PIXI.Texture.EMPTY };\n });\n this.data.spriteSheets.forEach(function (sheet) {\n var image = this$1$1.images[sheet.name] || { src: sheet.name, texture: PIXI.Texture.EMPTY };\n this$1$1.spriteSheets[sheet.name] = new SpriteSheet(image, sheet.frames.map(numbers));\n });\n};\nContent.prototype.image = function image (id) {\n var image = this.images[id];\n return image ? image.texture : null;\n};\nContent.prototype.frame = function frame (sheet, index) {\n var spriteSheet = this.spriteSheets[sheet];\n return spriteSheet ? spriteSheet.textures[index] || null : null;\n};\nContent.prototype.imageAsset = function imageAsset (id) {\n return this.images[id] || null;\n};\n/** The image a frame of a sheet is drawn into for a bitmap fill (named after the atlas and the frame) */\nContent.prototype.frameAsset = function frameAsset (sheet, index) {\n var key = sheet + '#' + index;\n var asset = this._frameAssets[key];\n if (!asset) {\n var spriteSheet = this.spriteSheets[sheet];\n var texture = spriteSheet ? spriteSheet.textures[index] : undefined;\n if (!spriteSheet || !texture) {\n return null;\n }\n asset = this._frameAssets[key] = { src: spriteSheet.frames[index].image.src + '#' + index, texture: texture };\n }\n return asset;\n};\n/**\n * An instance of a symbol for the application to place, set up as the HTML\n * template sets up the root it creates: a clip that re-caches its children's\n * color effects (it has a filterCacheList) gets the filter cache handling,\n * which published code otherwise gets from the symbol that creates it (an\n * instance made by `new lib[id]()` in a frame script gets none, as in\n * CreateJS). The handling does not change what the player draws (it draws\n * color effects without caches); it keeps the instance's state the\n * template's.\n */\nContent.prototype.create = function create (id) {\n var symbolClass = this.lib[id];\n if (!symbolClass) {\n throw new Error('no symbol \"' + id + '\"');\n }\n var instance = new symbolClass();\n if (instance instanceof MovieClip && instance.filterCacheList) {\n instance.addEventListener('tick', handleFilterCache);\n }\n return instance;\n};\nContent.prototype._movieClipClass = function _movieClipClass (data) {\n var content = this;\n // The slots filled in, and the display lists turned back into entries, once for the symbol, not for every instance\n var templates = this.data.slotTemplates;\n var def = Object.assign({}, data, { slots: data.slots.map(function (ref) { return slotOf(templates, ref); }), tweens: data.tweens.map(tweenOf) });\n // The symbol's drawings, from the content's table (shared with every symbol that shows the same drawing)\n var graphics = def.graphics.map(function (index) { return content.graphics[index]; });\n var fps = typeof this.data.properties.fps === 'number' ? this.data.properties.fps : null;\n var nominalBounds = toRect(def.nominalBounds);\n var frameBounds = toRects(def.frameBounds);\n return /*@__PURE__*/(function (MovieClip) {\n function anonymous(mode, startPosition, loop) {\n // Constructed with no arguments (a root, or new lib.X()): the resolved defaults\n var defaults = def.defaults;\n var noArgs = mode === undefined && startPosition === undefined && loop === undefined;\n MovieClip.call(this, noArgs && defaults ? defaults.mode : mode, noArgs && defaults ? defaults.startPosition : startPosition, noArgs && defaults ? defaults.loop : loop, new Timeline(def.duration, def.labels));\n this.contentFps = fps;\n if (nominalBounds) {\n this.nominalBounds = nominalBounds;\n }\n if (frameBounds) {\n this.frameBounds = frameBounds;\n }\n content._populate(this, def, graphics);\n }\n\n if ( MovieClip ) anonymous.__proto__ = MovieClip;\n anonymous.prototype = Object.create( MovieClip && MovieClip.prototype );\n anonymous.prototype.constructor = anonymous;\n\n return anonymous;\n }(MovieClip));\n};\nContent.prototype._spriteClass = function _spriteClass (def) {\n var content = this;\n var nominalBounds = toRect(def.nominalBounds);\n var frameBounds = toRects(def.frameBounds);\n return /*@__PURE__*/(function (Sprite) {\n function anonymous() {\n Sprite.call(this, content._sheet(def.sprite.sheet));\n if (nominalBounds) {\n this.nominalBounds = nominalBounds;\n }\n if (frameBounds) {\n this.frameBounds = frameBounds;\n }\n content._applySprite(this, def.sprite);\n }\n\n if ( Sprite ) anonymous.__proto__ = Sprite;\n anonymous.prototype = Object.create( Sprite && Sprite.prototype );\n anonymous.prototype.constructor = anonymous;\n\n return anonymous;\n }(Sprite));\n};\nContent.prototype._bitmapClass = function _bitmapClass (def) {\n var content = this;\n var nominalBounds = toRect(def.nominalBounds);\n var frameBounds = toRects(def.frameBounds);\n return /*@__PURE__*/(function (Bitmap) {\n function anonymous() {\n Bitmap.call(this, content._image(def.bitmap.image));\n if (nominalBounds) {\n this.nominalBounds = nominalBounds;\n }\n if (frameBounds) {\n this.frameBounds = frameBounds;\n }\n content._applyBitmap(this, def.bitmap);\n }\n\n if ( Bitmap ) anonymous.__proto__ = Bitmap;\n anonymous.prototype = Object.create( Bitmap && Bitmap.prototype );\n anonymous.prototype.constructor = anonymous;\n\n return anonymous;\n }(Bitmap));\n};\nContent.prototype._sheet = function _sheet (name) {\n var sheet = this.spriteSheets[name];\n if (!sheet) {\n throw new Error('no sprite sheet \"' + name + '\"');\n }\n return sheet;\n};\nContent.prototype._image = function _image (id) {\n return this.images[id] || null;\n};\nContent.prototype._applySprite = function _applySprite (sprite, def) {\n if (!def) {\n return;\n }\n sprite.spriteSheet = this._sheet(def.sheet);\n if (def.paused) {\n sprite.gotoAndStop(def.frame);\n }\n else {\n sprite.gotoAndPlay(def.frame);\n }\n};\nContent.prototype._applyBitmap = function _applyBitmap (bitmap, def) {\n if (!def) {\n return;\n }\n bitmap.image = this._image(def.image);\n bitmap.sourceRect = toRect(def.sourceRect);\n};\nContent.prototype._createSlot = function _createSlot (slot, graphics) {\n var symbol = slot.symbol;\n var symbolClass = symbol ? this.lib[symbol] : undefined;\n if (slot.kind === 'movieclip') {\n if (!symbol || !symbolClass || !isMovieClipClass(this, symbol)) {\n throw new Error('missing MovieClip symbol ' + symbol);\n }\n return new symbolClass(slot.mode, slot.startPosition, slot.loop);\n }\n if (slot.kind === 'shape') {\n return new Shape(slot.graphics === null ? null : graphics[slot.graphics]);\n }\n if (slot.kind === 'sprite') {\n var sprite;\n if (symbol && symbolClass && isSpriteClass(this, symbol)) {\n sprite = new symbolClass();\n }\n else {\n sprite = new Sprite(this._sheet(slot.sprite ? slot.sprite.sheet : ''));\n }\n this._applySprite(sprite, slot.sprite);\n return sprite;\n }\n if (slot.kind === 'bitmap') {\n var bitmap;\n if (symbol && symbolClass && isBitmapClass(this, symbol)) {\n bitmap = new symbolClass();\n }\n else {\n bitmap = new Bitmap(null);\n }\n this._applyBitmap(bitmap, slot.bitmap);\n return bitmap;\n }\n if (slot.kind === 'text') {\n var props = slot.text || {};\n var text = new Text(String(props.text == null ? '' : props.text), typeof props.font === 'string' ? props.font : undefined, typeof props.color === 'string' ? props.color : undefined);\n Object.keys(props).forEach(function (key) {\n Reflect.set(text, key, props[key]);\n });\n return text;\n }\n throw new Error('unsupported display object in the content data');\n};\n/**\n * Builds an instance of a MovieClip symbol: what the published\n * constructor builds, from the shared definition.\n */\nContent.prototype._populate = function _populate (self, def, graphics) {\n var this$1$1 = this;\n\n var slots = def.slots.map(function (slot) {\n var obj = this$1$1._createSlot(slot, graphics);\n if (slot.initWriter !== null) {\n this$1$1.writers[slot.initWriter](obj, slot.initValues === null ? undefined : slot.initValues);\n }\n if (slot.parentSet) {\n obj.parent = self;\n }\n if (slot.filters) {\n obj.filters = slot.filters.map(function (filter) {\n var p = filter.props;\n var n = function (key) { var v = p[key]; return typeof v === 'number' ? v : 0; };\n return new ColorFilter(n('redMultiplier'), n('greenMultiplier'), n('blueMultiplier'), n('alphaMultiplier'), n('redOffset'), n('greenOffset'), n('blueOffset'), n('alphaOffset'));\n });\n }\n if (slot.cache) {\n var c = slot.cache;\n obj.cache(c.x, c.y, c.width, c.height, c.scale);\n }\n return obj;\n });\n var resolve = function (target) {\n if (target.type === 'self') {\n return self;\n }\n if (target.type === 'slot') {\n return slots[target.slot];\n }\n if (target.type === 'filter') {\n var filters = slots[target.slot].filters;\n return filters ? filters[target.filter] : {};\n }\n return {};\n };\n def.slots.forEach(function (slot, i) {\n var obj = slots[i];\n if (slot.mask !== null) {\n obj.mask = slots[slot.mask];\n }\n if (slot.button) {\n var b = slot.button;\n var hit = b.hit === null ? null : slots[b.hit];\n if (obj instanceof MovieClip) {\n new ButtonHelper(obj, b.out, b.over, b.down, b.play, hit instanceof MovieClip ? hit : null, b.hitFrame);\n }\n if (hit && !(hit instanceof MovieClip)) {\n obj.hitArea = hit;\n }\n }\n else if (slot.hitArea !== null) {\n obj.hitArea = slots[slot.hitArea];\n }\n if (slot.filterCacheListener) {\n obj.addEventListener('tick', handleFilterCache);\n }\n });\n if (def.filterCacheList) {\n self.filterCacheList = def.filterCacheList.map(function (entry) {\n var instance = resolve(entry.instance);\n return {\n instance: instance instanceof DisplayObject ? instance : self,\n startFrame: entry.startFrame, endFrame: entry.endFrame,\n x: entry.x, y: entry.y, w: entry.w, h: entry.h\n };\n });\n }\n if (def.memberWriter !== null) {\n this.memberWriters[def.memberWriter](self, slots);\n }\n def.unmanaged.forEach(function (index) {\n self.addChild(slots[index]);\n });\n var content = this;\n var scope = {\n stateTarget: function stateTarget(entry) {\n var target = resolve(entry.target);\n return target instanceof DisplayObject ? target : null;\n },\n value: function value(value$1) {\n if (value$1 !== null && typeof value$1 === 'object' && !Array.isArray(value$1)) {\n return graphics[value$1.graphics] || null;\n }\n return value$1;\n },\n script: function script(index) {\n return content.scripts[index];\n },\n writer: function writer(index) {\n return content.writers[index];\n }\n };\n def.tweens.forEach(function (tween) {\n self.timeline.tweens.push(new TweenState(tween, resolve(tween.target), scope, self));\n });\n self._renderFirstFrame();\n};\n/**\n * What the application gets of a content: the content itself stays out of\n * reach, the methods closing over it.\n */\nfunction contentInterface(content) {\n var properties = {};\n Object.keys(content.data.properties).forEach(function (key) {\n var value = content.data.properties[key];\n if (value === null || typeof value === 'number' || typeof value === 'string' || typeof value === 'boolean') {\n properties[key] = value;\n }\n });\n var id = properties.id;\n return {\n id: typeof id === 'string' ? id : '',\n lib: content.lib,\n properties: Object.freeze(properties),\n create: function create(symbol) {\n return content.create(symbol);\n }\n };\n}\n/**\n * Plays one frame of a display tree the way createjs does on a stage update:\n * the tick phase (playheads advance, children in reverse order, tick\n * listeners), then the resolve phase (each MovieClip settles its timeline,\n * children in reverse order).\n */\nfunction tick(root, event) {\n root._tick(event || new Event('tick'));\n resolveState(root);\n}\n/**\n * The resolve phase alone: each MovieClip settles its timeline (children in\n * reverse order), without playing a frame.\n */\nfunction resolveState(node) {\n if (node instanceof MovieClip) {\n node._updateState();\n }\n if (node instanceof Container) {\n var children = node.children;\n for (var i = children.length - 1; i >= 0; i--) {\n if (children[i] instanceof MovieClip) {\n resolveState(children[i]);\n }\n }\n }\n}\n\n/** The frame rate a root plays at when its content does not give one */\nvar DEFAULT_FPS = 60;\n/** How many of the latest deltas the usual delta of the display is the median of */\nvar DELTA_SAMPLES = 30;\n/** The share of its distance from the real time the steady clock moves by on each call */\nvar PULL = 0.05;\n/**\n * Plays the content roots put on a Pixi container at their content's frame\n * rate (the rate the content was published with). AnimateContainer is a Pixi\n * container with one; a container of another framework can hold one too.\n *\n * Each handleTick call owes every root `delta x speed x fps / 60` frames\n * (delta being the ticker's: 1 per frame of a 60 fps display) and plays the\n * whole frames owed. With `smooth`, the frames played follow a steady clock\n * instead of the deltas themselves: it advances by the usual delta of the\n * display (the median of the latest ones) on every call, so that small changes\n * of the delta do not play a frame early or late (0 frames on one call and 2\n * on the next), and it is pulled toward the real time a little on every call,\n * and set to it when they are a frame apart (a frame of the display was\n * missed), so that the content keeps the real time. One frame is createjs's\n * tick phase followed by its resolve phase. The first call after a root is put\n * on only settles it on its first frame.\n */\nvar AnimateController = function AnimateController(container) {\n /** Playback speed (1 is the content's own frame rate) */\n this.speed = 1;\n /** Whether one call may play more than one frame (when the display runs slower than the content) */\n this.overSpeed = true;\n /** Whether frames are played by a steady clock, so that small changes of the delta do not make the playing uneven */\n this.smooth = true;\n this._targets = {};\n this._nextId = 0;\n /** The latest deltas (a ring of DELTA_SAMPLES) */\n this._deltas = [];\n this._nextDelta = 0;\n this._container = container;\n};\nAnimateController.prototype.handleTick = function handleTick (delta) {\n var this$1$1 = this;\n\n var d = delta * this.speed;\n var usual = this._usualDelta(delta) * this.speed;\n var targets = this._targets;\n Object.keys(targets).forEach(function (key) {\n var target = targets[Number(key)];\n if (!target) {\n return;\n }\n var fps = target.root.contentFps != null ? target.root.contentFps : DEFAULT_FPS;\n target.t += d * fps / 60;\n // The steady clock follows the real time half a step ahead, so that it sits\n // midway between whole frames, not on one (where the pull alone would move it across)\n var step = usual * fps / 60;\n var lead = Math.min(step, 1) / 2;\n if (target.isFirst) {\n target.isFirst = false;\n target.clock = target.t + lead;\n resolveState(target.root);\n return;\n }\n if (this$1$1.smooth) {\n target.clock += step;\n var behind = target.t + lead - target.clock;\n if (behind >= 1 || behind <= -1) {\n target.clock = target.t + lead;\n }\n else {\n target.clock += behind * PULL;\n }\n }\n else {\n target.clock = target.t;\n }\n var whole = Math.max(Math.floor(target.clock), 0);\n var frames = this$1$1.overSpeed ? whole : Math.min(whole, 1);\n target.t -= whole;\n target.clock -= whole;\n for (var f = 0; f < frames; f++) {\n tick(target.root);\n }\n });\n};\n/** Records a delta and gives the median of the latest ones */\nAnimateController.prototype._usualDelta = function _usualDelta (delta) {\n var deltas = this._deltas;\n deltas[this._nextDelta] = delta;\n this._nextDelta = (this._nextDelta + 1) % DELTA_SAMPLES;\n var sorted = deltas.slice().sort(function (a, b) { return a - b; });\n var middle = sorted.length >> 1;\n return sorted.length % 2 ? sorted[middle] : (sorted[middle - 1] + sorted[middle]) / 2;\n};\n/** Puts a content object on the container; a MovieClip plays from then on */\nAnimateController.prototype.addCreatejs = function addCreatejs (obj) {\n this._register(obj);\n this._container.addChild(obj.pixi);\n return obj;\n};\nAnimateController.prototype.addCreatejsAt = function addCreatejsAt (obj, index) {\n this._register(obj);\n this._container.addChildAt(obj.pixi, index);\n return obj;\n};\nAnimateController.prototype.removeCreatejs = function removeCreatejs (obj) {\n this._container.removeChild(obj.pixi);\n return obj;\n};\n/**\n * A MovieClip is played while its node is on the container. Coming from\n * another parent, it starts over from its first frame.\n */\nAnimateController.prototype._register = function _register (obj) {\n var this$1$1 = this;\n\n if (!(obj instanceof MovieClip)) {\n return;\n }\n var node = obj.pixi;\n var previous = node.parent;\n node.once('added', function () {\n if (node.parent !== previous) {\n obj.gotoAndPlay(0);\n }\n var id = this$1$1._nextId++;\n this$1$1._targets[id] = { root: obj, t: 0, clock: 0, isFirst: true };\n node.once('removed', function () {\n delete this$1$1._targets[id];\n });\n });\n};\n/**\n * A Pixi container that plays the content roots put on it at their\n * content's frame rate (see AnimateController).\n *\n * Call handleTick from the application's ticker:\n * `app.ticker.add(container.handleTick, container)`.\n */\nvar AnimateContainer = /*@__PURE__*/(function (superclass) {\n function AnimateContainer() {\n superclass.apply(this, arguments);\n this._controller = new AnimateController(this);\n }\n\n if ( superclass ) AnimateContainer.__proto__ = superclass;\n AnimateContainer.prototype = Object.create( superclass && superclass.prototype );\n AnimateContainer.prototype.constructor = AnimateContainer;\n\n var prototypeAccessors = { speed: { configurable: true },overSpeed: { configurable: true },smooth: { configurable: true } };\n /** Playback speed (1 is the content's own frame rate) */\n prototypeAccessors.speed.get = function () { return this._controller.speed; };\n prototypeAccessors.speed.set = function (value) { this._controller.speed = value; };\n /** Whether one call may play more than one frame (when the display runs slower than the content) */\n prototypeAccessors.overSpeed.get = function () { return this._controller.overSpeed; };\n prototypeAccessors.overSpeed.set = function (value) { this._controller.overSpeed = value; };\n /** Whether frames are played by a steady clock, so that small changes of the delta do not make the playing uneven */\n prototypeAccessors.smooth.get = function () { return this._controller.smooth; };\n prototypeAccessors.smooth.set = function (value) { this._controller.smooth = value; };\n AnimateContainer.prototype.handleTick = function handleTick (delta) {\n this._controller.handleTick(delta);\n };\n /** Puts a content object on this container; a MovieClip plays from then on */\n AnimateContainer.prototype.addCreatejs = function addCreatejs (obj) {\n return this._controller.addCreatejs(obj);\n };\n AnimateContainer.prototype.addCreatejsAt = function addCreatejsAt (obj, index) {\n return this._controller.addCreatejsAt(obj, index);\n };\n AnimateContainer.prototype.removeCreatejs = function removeCreatejs (obj) {\n return this._controller.removeCreatejs(obj);\n };\n\n Object.defineProperties( AnimateContainer.prototype, prototypeAccessors );\n\n return AnimateContainer;\n}(PIXI.Container));\n\n/**\n * The global runtime content files register their factories in, by\n * composition id: `window.PixiAnimateRuntimeContents[id] = factory`. It is not\n * under the player's namespace, so that a runtime content file can be loaded\n * before the player, and the same file serves every player package.\n */\nvar CONTENTS_GLOBAL = 'PixiAnimateRuntimeContents';\n/** The factories registered so far (none when no runtime content file was loaded) */\nfunction registeredContents() {\n var contents = Reflect.get(window, CONTENTS_GLOBAL);\n return contents !== null && typeof contents === 'object' ? contents : null;\n}\nfunction describeRegistered(contents) {\n if (!contents || !Object.keys(contents).length) {\n return 'none is loaded';\n }\n return 'loaded: ' + Object.keys(contents).map(function (id) {\n var source = Reflect.get(Reflect.get(contents, id), 'source');\n return JSON.stringify(id) + (typeof source === 'string' ? ' (' + source + ')' : '');\n }).join(', ');\n}\n/**\n * The factory a runtime content file registered under a composition id. The\n * file has to be loaded first (a script tag, or any other way).\n */\nfunction getContentFactory(id) {\n var contents = registeredContents();\n var found = contents ? Reflect.get(contents, id) : undefined;\n var factory = typeof found === 'function' ? found : null;\n if (!factory) {\n throw new Error('No runtime content ' + JSON.stringify(id) + ' (' + describeRegistered(contents) + '). Load its runtime content file before loading the content.');\n }\n return factory;\n}\n/**\n * A query added to a URL, keeping the queries it has (one of the same name is\n * replaced). The same as Pixim.js's utils.resolveQuery, so that both players\n * request the same URL.\n */\nfunction withQuery(url, name, value) {\n var parts = url.split('?');\n var kept = parts[1] ? parts[1].split('&').filter(function (query) { return query.split('=')[0] !== name; }) : [];\n kept.push(name + '=' + value);\n return parts[0] + '?' + kept.join('&');\n}\n/**\n * The URL of a content's image: its path resolved against the base path, with\n * the version added as `_fv=<version>` (the query the path already has, such as\n * the one Animate adds on every publish, stays). data: and blob: URLs are used\n * as they are. The same as Pixim.js's utils.resolveUri.\n */\nfunction resolveContentUrl(basepath, src, version) {\n if (src.indexOf('data:') === 0 || src.indexOf('blob:') === 0) {\n return src;\n }\n var url = PIXI.utils.url.resolve(basepath, src);\n return version === undefined || version === null || version === '' ? url : withQuery(url, '_fv', String(version));\n}\n/** The images a content loads, with their URLs */\nfunction imageRequests(manifest, basepath, version) {\n return manifest.map(function (entry) { return ({ id: entry.id, url: resolveContentUrl(basepath, entry.src, version) }); });\n}\nfunction loadContent(target, options) {\n return Promise.resolve().then(function () {\n var content = new Content(getContentFactory(target.id));\n var manifest = content.data.images.map(function (entry) { return ({ id: entry.id, src: entry.src }); });\n var handleManifest = target.options && target.options.handleManifest;\n return Promise.resolve(handleManifest ? handleManifest(manifest) : undefined).then(function () { return loadImages(target, content, imageRequests(manifest, target.basepath, options.version)); });\n });\n}\nfunction loadImages(target, content, requests) {\n return new Promise(function (resolve, reject) {\n if (!requests.length) {\n resolve(contentInterface(content));\n return;\n }\n var crossOrigin = !target.options || target.options.crossOrigin !== false;\n var loader = new PIXI.Loader();\n requests.forEach(function (request) {\n // Loaded as images whatever the URL looks like (a blob: URL has no extension to tell)\n loader.add({ name: request.id, url: request.url, crossOrigin: crossOrigin ? 'anonymous' : undefined, loadType: PIXI.LoaderResource.LOAD_TYPE.IMAGE });\n });\n var failed = [];\n loader.onError.add(function (error, _loader, resource) {\n failed.push(resource.url);\n });\n loader.load(function (_loader, resources) {\n if (failed.length) {\n reject(new Error('Could not load the images of runtime content ' + JSON.stringify(target.id) + ': ' + failed.join(', ')));\n return;\n }\n var textures = {};\n requests.forEach(function (request) {\n var resource = resources[request.id];\n if (resource && resource.texture) {\n textures[request.id] = resource.texture;\n }\n });\n content._applyImages(textures);\n resolve(contentInterface(content));\n });\n });\n}\nfunction loadContentAsync(targets, options) {\n var opts = options || {};\n if (Array.isArray(targets)) {\n return Promise.all(targets.map(function (target) { return loadContent(target, opts); }));\n }\n return loadContent(targets, opts);\n}\n\nexport { AnimateContainer, AnimateController, Bitmap, ButtonHelper, CONTENTS_GLOBAL, CjsTransform, ColorFilter, Container, Content, DisplayObject, Event, EventDispatcher, GRAPHICS_COMMANDS, GradientTexture, Graphics, GraphicsCommand, INDEPENDENT, MovieClip, PixiContainer, PixiGraphics, PixiSprite, PixiText, RUNTIME_CONTENT_RANGE, Rectangle, SINGLE_FRAME, SYNCHED, Shape, Sprite, SpriteSheet, Text, Timeline, TweenState, VERSION, checkVersion, compareVersions, drawCommands, getContentFactory, loadContentAsync, namespace, parseColor, parseVersion, resolveContentUrl, resolveState, satisfies, tick };\n//# sourceMappingURL=pixi-animate-runtime.esm.js.map\n","import { Container, ITickerData } from '@tawaship/pixim.js';\nimport { AnimateController, DisplayObject } from '@tawaship/pixi-animate-runtime';\n\n/**\n * A Pixim container that plays the content roots put on it at their\n * content's frame rate (the rate the content was published with), while it is\n * on the display tree of a running Pixim application.\n *\n * Each frame of the application plays `delta x speed x fps / 60` frames of every\n * root (delta being the application ticker's), one frame being createjs's tick\n * phase followed by its resolve phase; the first frame after a root is put on\n * only settles it on its first frame. Playing stops while `taskEnabled` is\n * false. The container's own `task` is free for the application: what it holds\n * does not change the playing.\n */\nexport class AnimateContainer extends Container {\n\tprivate readonly _controller: AnimateController;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._controller = new AnimateController(this);\n\t}\n\n\t/** Playback speed (1 is the content's own frame rate) */\n\tget speed(): number { return this._controller.speed; }\n\tset speed(value: number) { this._controller.speed = value; }\n\n\t/** Whether one frame of the application may play more than one frame of a root (when the display runs slower than the content) */\n\tget overSpeed(): boolean { return this._controller.overSpeed; }\n\tset overSpeed(value: boolean) { this._controller.overSpeed = value; }\n\n\t/** Whether frames are played by a steady clock, so that small changes of the delta do not make the playing uneven */\n\tget smooth(): boolean { return this._controller.smooth; }\n\tset smooth(value: boolean) { this._controller.smooth = value; }\n\n\tupdateTask(e: ITickerData): void {\n\t\tsuper.updateTask(e);\n\t\tif (!this.taskEnabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis._controller.handleTick(e.delta);\n\t}\n\n\t/** Plays the roots by hand, as one frame of the application with this delta does */\n\thandleTick(delta: number): void {\n\t\tthis._controller.handleTick(delta);\n\t}\n\n\t/** Puts a content object on this container; a MovieClip plays from then on */\n\taddCreatejs<T extends DisplayObject>(obj: T): T {\n\t\treturn this._controller.addCreatejs(obj);\n\t}\n\n\taddCreatejsAt<T extends DisplayObject>(obj: T, index: number): T {\n\t\treturn this._controller.addCreatejsAt(obj, index);\n\t}\n\n\tremoveCreatejs<T extends DisplayObject>(obj: T): T {\n\t\treturn this._controller.removeCreatejs(obj);\n\t}\n}\n","import { BlobLoader, BlobLoaderResource, ILoaderOption, JsLoader, LoaderBase, LoaderResource, TLoaderResourceVersion } from '@tawaship/pixim.js';\nimport { IContent, IContentManifestEntry, IContentTarget, loadContentAsync, resolveContentUrl } from '@tawaship/pixi-animate-runtime';\n\n/** A content to load: what loadContentAsync takes, and the runtime content file to load first */\nexport interface IAnimateContentLoaderTarget extends IContentTarget {\n\t/**\n\t * The runtime content file, relative to `basepath`. Loaded (as a script) before\n\t * the content when given; otherwise it has to be loaded already.\n\t */\n\tfilepath?: string;\n}\n\nexport interface IAnimateContentLoaderOption extends ILoaderOption {\n\t/** The version added to the runtime content file's URL (`version` when omitted) */\n\tfileVersion?: TLoaderResourceVersion;\n\t/** The version added to the image URLs (`version` when omitted) */\n\tassetVersion?: TLoaderResourceVersion;\n}\n\nexport class AnimateContentLoaderResource extends LoaderResource<IContent | null> {\n\tdestroy(): void {\n\t\tthis._data = null;\n\t}\n}\n\nfunction isUrl(src: string): boolean {\n\treturn src.indexOf('data:') !== 0 && src.indexOf('blob:') !== 0;\n}\n\n/**\n * Loads a content as a Pixim asset: its runtime content file (when a filepath\n * is given), then the content with loadContentAsync, the base path being the\n * Pixim content's and the target's together.\n *\n * With the Pixim content's `xhr` option, the images are fetched (with its\n * request options) into blob: URLs first, after the target's own\n * handleManifest; the blob: URLs are released once the content is loaded.\n */\nexport class AnimateContentLoader extends LoaderBase<IAnimateContentLoaderTarget, IContent | null, AnimateContentLoaderResource> {\n\tprotected _loadAsync(target: IAnimateContentLoaderTarget, options: IAnimateContentLoaderOption = {}): Promise<AnimateContentLoaderResource> {\n\t\tconst basepath = resolveContentUrl(options.basepath || '', target.basepath || '');\n\t\treturn this._loadFileAsync(target, basepath, options)\n\t\t\t.then(() => this._loadContentAsync(target, basepath, options))\n\t\t\t.then(content => new AnimateContentLoaderResource(content, null))\n\t\t\t.catch((e: Error) => new AnimateContentLoaderResource(null, e));\n\t}\n\n\tprivate _loadFileAsync(target: IAnimateContentLoaderTarget, basepath: string, options: IAnimateContentLoaderOption): Promise<void> {\n\t\tif (!target.filepath) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn new JsLoader().loadAsync(resolveContentUrl(basepath, target.filepath), { version: options.fileVersion || options.version, xhr: options.xhr })\n\t\t\t.then(resource => {\n\t\t\t\tif (resource.error) {\n\t\t\t\t\tthrow resource.error;\n\t\t\t\t}\n\t\t\t\tresource.ref();\n\t\t\t});\n\t}\n\n\tprivate _loadContentAsync(target: IAnimateContentLoaderTarget, basepath: string, options: IAnimateContentLoaderOption): Promise<IContent> {\n\t\tconst version = options.assetVersion || options.version;\n\t\tconst blobs: BlobLoaderResource[] = [];\n\t\tconst release = (): void => {\n\t\t\tblobs.forEach(blob => blob.destroy());\n\t\t};\n\t\tconst own = target.options && target.options.handleManifest;\n\t\tconst contentTarget: IContentTarget = {\n\t\t\tid: target.id,\n\t\t\tbasepath,\n\t\t\toptions: {\n\t\t\t\tcrossOrigin: target.options ? target.options.crossOrigin : undefined,\n\t\t\t\thandleManifest: (manifest: IContentManifestEntry[]) => {\n\t\t\t\t\treturn Promise.resolve(own ? own(manifest) : undefined)\n\t\t\t\t\t\t.then(() => options.xhr ? this._fetchImagesAsync(manifest, basepath, version, options, blobs) : undefined);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn loadContentAsync(contentTarget, { version })\n\t\t\t.then(content => {\n\t\t\t\trelease();\n\t\t\t\treturn content;\n\t\t\t}, (e: Error) => {\n\t\t\t\trelease();\n\t\t\t\tthrow e;\n\t\t\t});\n\t}\n\n\t/** The images fetched into blob: URLs, which then stand for their files */\n\tprivate _fetchImagesAsync(manifest: IContentManifestEntry[], basepath: string, version: TLoaderResourceVersion | undefined, options: IAnimateContentLoaderOption, blobs: BlobLoaderResource[]): Promise<void> {\n\t\tconst targets: Record<string, string> = {};\n\t\tmanifest.forEach((entry, i) => {\n\t\t\tif (isUrl(entry.src)) {\n\t\t\t\ttargets[i] = resolveContentUrl(basepath, entry.src);\n\t\t\t}\n\t\t});\n\t\treturn new BlobLoader().loadAllAsync(targets, { version, xhr: options.xhr })\n\t\t\t.then(resources => {\n\t\t\t\tObject.keys(resources).forEach(i => {\n\t\t\t\t\tblobs.push(resources[i]);\n\t\t\t\t});\n\t\t\t\tObject.keys(resources).forEach(i => {\n\t\t\t\t\tconst resource = resources[i];\n\t\t\t\t\tif (resource.error) {\n\t\t\t\t\t\tthrow resource.error;\n\t\t\t\t\t}\n\t\t\t\t\tmanifest[Number(i)].src = resource.data;\n\t\t\t\t});\n\t\t\t});\n\t}\n}\n","import { Content, IManifestOption, ManifestBase } from '@tawaship/pixim.js';\nimport { IContent } from '@tawaship/pixi-animate-runtime';\nimport { AnimateContentLoader, AnimateContentLoaderResource, IAnimateContentLoaderTarget } from './AnimateContentLoader';\n\n/** The key of the contents in a Pixim content's resources: `$.resources.animateContents` */\nexport const ANIMATE_CONTENTS = 'animateContents';\n\nexport class AnimateContentManifest extends ManifestBase<IAnimateContentLoaderTarget, IContent | null, AnimateContentLoaderResource> {\n\tprotected _createLoader(): AnimateContentLoader {\n\t\treturn new AnimateContentLoader();\n\t}\n}\n\nContent.registerManifest(ANIMATE_CONTENTS, AnimateContentManifest);\n\n/**\n * Defines contents for a Pixim content class: each is loaded with the class's\n * other assets and given as `$.resources.animateContents[name]`.\n */\nexport function defineAnimateContentsTo(PiximContent: typeof Content, targets: Record<string, IAnimateContentLoaderTarget>, options: IManifestOption = {}): typeof Content {\n\treturn PiximContent.defineTargets(ANIMATE_CONTENTS, targets, options);\n}\n\n/**\n * Adds contents to a Pixim content instance (loaded with its other assets).\n */\nexport function addAnimateContentsTo(content: Content, targets: Record<string, IAnimateContentLoaderTarget>, options: IManifestOption = {}): Content {\n\treturn content.addTargets(ANIMATE_CONTENTS, targets, options);\n}\n"],"names":["PIXI","arguments","super","Container","LoaderResource","const","this","JsLoader","BlobLoader","LoaderBase","ManifestBase","Content"],"mappings":"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"}