1 |
- {"ast":null,"code":"import { BezierCurve } from \"../Maths/math.path.js\";\n/**\n * Base class used for every default easing function.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class EasingFunction {\n constructor() {\n this._easingMode = EasingFunction.EASINGMODE_EASEIN;\n }\n /**\n * Sets the easing mode of the current function.\n * @param easingMode Defines the willing mode (EASINGMODE_EASEIN, EASINGMODE_EASEOUT or EASINGMODE_EASEINOUT)\n */\n setEasingMode(easingMode) {\n const n = Math.min(Math.max(easingMode, 0), 2);\n this._easingMode = n;\n }\n /**\n * Gets the current easing mode.\n * @returns the easing mode\n */\n getEasingMode() {\n return this._easingMode;\n }\n /**\n * @internal\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n easeInCore(gradient) {\n throw new Error(\"You must implement this method\");\n }\n /**\n * Given an input gradient between 0 and 1, this returns the corresponding value\n * of the easing function.\n * @param gradient Defines the value between 0 and 1 we want the easing value for\n * @returns the corresponding value on the curve defined by the easing function\n */\n ease(gradient) {\n switch (this._easingMode) {\n case EasingFunction.EASINGMODE_EASEIN:\n return this.easeInCore(gradient);\n case EasingFunction.EASINGMODE_EASEOUT:\n return 1 - this.easeInCore(1 - gradient);\n }\n if (gradient >= 0.5) {\n return (1 - this.easeInCore((1 - gradient) * 2)) * 0.5 + 0.5;\n }\n return this.easeInCore(gradient * 2) * 0.5;\n }\n}\n/**\n * Interpolation follows the mathematical formula associated with the easing function.\n */\nEasingFunction.EASINGMODE_EASEIN = 0;\n/**\n * Interpolation follows 100% interpolation minus the output of the formula associated with the easing function.\n */\nEasingFunction.EASINGMODE_EASEOUT = 1;\n/**\n * Interpolation uses EaseIn for the first half of the animation and EaseOut for the second half.\n */\nEasingFunction.EASINGMODE_EASEINOUT = 2;\n/**\n * Easing function with a circle shape (see link below).\n * @see https://easings.net/#easeInCirc\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class CircleEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n gradient = Math.max(0, Math.min(1, gradient));\n return 1.0 - Math.sqrt(1.0 - gradient * gradient);\n }\n}\n/**\n * Easing function with a ease back shape (see link below).\n * @see https://easings.net/#easeInBack\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class BackEase extends EasingFunction {\n /**\n * Instantiates a back ease easing\n * @see https://easings.net/#easeInBack\n * @param amplitude Defines the amplitude of the function\n */\n constructor( /** [1] Defines the amplitude of the function */\n amplitude = 1) {\n super();\n this.amplitude = amplitude;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n const num = Math.max(0, this.amplitude);\n return Math.pow(gradient, 3.0) - gradient * num * Math.sin(3.1415926535897931 * gradient);\n }\n}\n/**\n * Easing function with a bouncing shape (see link below).\n * @see https://easings.net/#easeInBounce\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class BounceEase extends EasingFunction {\n /**\n * Instantiates a bounce easing\n * @see https://easings.net/#easeInBounce\n * @param bounces Defines the number of bounces\n * @param bounciness Defines the amplitude of the bounce\n */\n constructor( /** [3] Defines the number of bounces */\n bounces = 3, /** [2] Defines the amplitude of the bounce */\n bounciness = 2) {\n super();\n this.bounces = bounces;\n this.bounciness = bounciness;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n const y = Math.max(0.0, this.bounces);\n let bounciness = this.bounciness;\n if (bounciness <= 1.0) {\n bounciness = 1.001;\n }\n const num9 = Math.pow(bounciness, y);\n const num5 = 1.0 - bounciness;\n const num4 = (1.0 - num9) / num5 + num9 * 0.5;\n const num15 = gradient * num4;\n const num65 = Math.log(-num15 * (1.0 - bounciness) + 1.0) / Math.log(bounciness);\n const num3 = Math.floor(num65);\n const num13 = num3 + 1.0;\n const num8 = (1.0 - Math.pow(bounciness, num3)) / (num5 * num4);\n const num12 = (1.0 - Math.pow(bounciness, num13)) / (num5 * num4);\n const num7 = (num8 + num12) * 0.5;\n const num6 = gradient - num7;\n const num2 = num7 - num8;\n return -Math.pow(1.0 / bounciness, y - num3) / (num2 * num2) * (num6 - num2) * (num6 + num2);\n }\n}\n/**\n * Easing function with a power of 3 shape (see link below).\n * @see https://easings.net/#easeInCubic\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class CubicEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient * gradient;\n }\n}\n/**\n * Easing function with an elastic shape (see link below).\n * @see https://easings.net/#easeInElastic\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class ElasticEase extends EasingFunction {\n /**\n * Instantiates an elastic easing function\n * @see https://easings.net/#easeInElastic\n * @param oscillations Defines the number of oscillations\n * @param springiness Defines the amplitude of the oscillations\n */\n constructor( /** [3] Defines the number of oscillations*/\n oscillations = 3, /** [3] Defines the amplitude of the oscillations*/\n springiness = 3) {\n super();\n this.oscillations = oscillations;\n this.springiness = springiness;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n let num2;\n const num3 = Math.max(0.0, this.oscillations);\n const num = Math.max(0.0, this.springiness);\n if (num == 0) {\n num2 = gradient;\n } else {\n num2 = (Math.exp(num * gradient) - 1.0) / (Math.exp(num) - 1.0);\n }\n return num2 * Math.sin((6.2831853071795862 * num3 + 1.5707963267948966) * gradient);\n }\n}\n/**\n * Easing function with an exponential shape (see link below).\n * @see https://easings.net/#easeInExpo\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class ExponentialEase extends EasingFunction {\n /**\n * Instantiates an exponential easing function\n * @see https://easings.net/#easeInExpo\n * @param exponent Defines the exponent of the function\n */\n constructor( /** [3] Defines the exponent of the function */\n exponent = 2) {\n super();\n this.exponent = exponent;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n if (this.exponent <= 0) {\n return gradient;\n }\n return (Math.exp(this.exponent * gradient) - 1.0) / (Math.exp(this.exponent) - 1.0);\n }\n}\n/**\n * Easing function with a power shape (see link below).\n * @see https://easings.net/#easeInQuad\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class PowerEase extends EasingFunction {\n /**\n * Instantiates an power base easing function\n * @see https://easings.net/#easeInQuad\n * @param power Defines the power of the function\n */\n constructor( /** [2] Defines the power of the function */\n power = 2) {\n super();\n this.power = power;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n const y = Math.max(0.0, this.power);\n return Math.pow(gradient, y);\n }\n}\n/**\n * Easing function with a power of 2 shape (see link below).\n * @see https://easings.net/#easeInQuad\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class QuadraticEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient;\n }\n}\n/**\n * Easing function with a power of 4 shape (see link below).\n * @see https://easings.net/#easeInQuart\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class QuarticEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient * gradient * gradient;\n }\n}\n/**\n * Easing function with a power of 5 shape (see link below).\n * @see https://easings.net/#easeInQuint\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class QuinticEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient * gradient * gradient * gradient;\n }\n}\n/**\n * Easing function with a sin shape (see link below).\n * @see https://easings.net/#easeInSine\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class SineEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return 1.0 - Math.sin(1.5707963267948966 * (1.0 - gradient));\n }\n}\n/**\n * Easing function with a bezier shape (see link below).\n * @see http://cubic-bezier.com/#.17,.67,.83,.67\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class BezierCurveEase extends EasingFunction {\n /**\n * Instantiates a bezier function\n * @see http://cubic-bezier.com/#.17,.67,.83,.67\n * @param x1 Defines the x component of the start tangent in the bezier curve\n * @param y1 Defines the y component of the start tangent in the bezier curve\n * @param x2 Defines the x component of the end tangent in the bezier curve\n * @param y2 Defines the y component of the end tangent in the bezier curve\n */\n constructor( /** [0] Defines the x component of the start tangent in the bezier curve */\n x1 = 0, /** [0] Defines the y component of the start tangent in the bezier curve */\n y1 = 0, /** [1] Defines the x component of the end tangent in the bezier curve */\n x2 = 1, /** [1] Defines the y component of the end tangent in the bezier curve */\n y2 = 1) {\n super();\n this.x1 = x1;\n this.y1 = y1;\n this.x2 = x2;\n this.y2 = y2;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n return BezierCurve.Interpolate(gradient, this.x1, this.y1, this.x2, this.y2);\n }\n}","map":{"version":3,"names":["BezierCurve","EasingFunction","constructor","_easingMode","EASINGMODE_EASEIN","setEasingMode","easingMode","n","Math","min","max","getEasingMode","easeInCore","gradient","Error","ease","EASINGMODE_EASEOUT","EASINGMODE_EASEINOUT","CircleEase","sqrt","BackEase","amplitude","num","pow","sin","BounceEase","bounces","bounciness","y","num9","num5","num4","num15","num65","log","num3","floor","num13","num8","num12","num7","num6","num2","CubicEase","ElasticEase","oscillations","springiness","exp","ExponentialEase","exponent","PowerEase","power","QuadraticEase","QuarticEase","QuinticEase","SineEase","BezierCurveEase","x1","y1","x2","y2","Interpolate"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Animations/easing.js"],"sourcesContent":["import { BezierCurve } from \"../Maths/math.path.js\";\n/**\n * Base class used for every default easing function.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class EasingFunction {\n constructor() {\n this._easingMode = EasingFunction.EASINGMODE_EASEIN;\n }\n /**\n * Sets the easing mode of the current function.\n * @param easingMode Defines the willing mode (EASINGMODE_EASEIN, EASINGMODE_EASEOUT or EASINGMODE_EASEINOUT)\n */\n setEasingMode(easingMode) {\n const n = Math.min(Math.max(easingMode, 0), 2);\n this._easingMode = n;\n }\n /**\n * Gets the current easing mode.\n * @returns the easing mode\n */\n getEasingMode() {\n return this._easingMode;\n }\n /**\n * @internal\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n easeInCore(gradient) {\n throw new Error(\"You must implement this method\");\n }\n /**\n * Given an input gradient between 0 and 1, this returns the corresponding value\n * of the easing function.\n * @param gradient Defines the value between 0 and 1 we want the easing value for\n * @returns the corresponding value on the curve defined by the easing function\n */\n ease(gradient) {\n switch (this._easingMode) {\n case EasingFunction.EASINGMODE_EASEIN:\n return this.easeInCore(gradient);\n case EasingFunction.EASINGMODE_EASEOUT:\n return 1 - this.easeInCore(1 - gradient);\n }\n if (gradient >= 0.5) {\n return (1 - this.easeInCore((1 - gradient) * 2)) * 0.5 + 0.5;\n }\n return this.easeInCore(gradient * 2) * 0.5;\n }\n}\n/**\n * Interpolation follows the mathematical formula associated with the easing function.\n */\nEasingFunction.EASINGMODE_EASEIN = 0;\n/**\n * Interpolation follows 100% interpolation minus the output of the formula associated with the easing function.\n */\nEasingFunction.EASINGMODE_EASEOUT = 1;\n/**\n * Interpolation uses EaseIn for the first half of the animation and EaseOut for the second half.\n */\nEasingFunction.EASINGMODE_EASEINOUT = 2;\n/**\n * Easing function with a circle shape (see link below).\n * @see https://easings.net/#easeInCirc\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class CircleEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n gradient = Math.max(0, Math.min(1, gradient));\n return 1.0 - Math.sqrt(1.0 - gradient * gradient);\n }\n}\n/**\n * Easing function with a ease back shape (see link below).\n * @see https://easings.net/#easeInBack\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class BackEase extends EasingFunction {\n /**\n * Instantiates a back ease easing\n * @see https://easings.net/#easeInBack\n * @param amplitude Defines the amplitude of the function\n */\n constructor(\n /** [1] Defines the amplitude of the function */\n amplitude = 1) {\n super();\n this.amplitude = amplitude;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n const num = Math.max(0, this.amplitude);\n return Math.pow(gradient, 3.0) - gradient * num * Math.sin(3.1415926535897931 * gradient);\n }\n}\n/**\n * Easing function with a bouncing shape (see link below).\n * @see https://easings.net/#easeInBounce\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class BounceEase extends EasingFunction {\n /**\n * Instantiates a bounce easing\n * @see https://easings.net/#easeInBounce\n * @param bounces Defines the number of bounces\n * @param bounciness Defines the amplitude of the bounce\n */\n constructor(\n /** [3] Defines the number of bounces */\n bounces = 3, \n /** [2] Defines the amplitude of the bounce */\n bounciness = 2) {\n super();\n this.bounces = bounces;\n this.bounciness = bounciness;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n const y = Math.max(0.0, this.bounces);\n let bounciness = this.bounciness;\n if (bounciness <= 1.0) {\n bounciness = 1.001;\n }\n const num9 = Math.pow(bounciness, y);\n const num5 = 1.0 - bounciness;\n const num4 = (1.0 - num9) / num5 + num9 * 0.5;\n const num15 = gradient * num4;\n const num65 = Math.log(-num15 * (1.0 - bounciness) + 1.0) / Math.log(bounciness);\n const num3 = Math.floor(num65);\n const num13 = num3 + 1.0;\n const num8 = (1.0 - Math.pow(bounciness, num3)) / (num5 * num4);\n const num12 = (1.0 - Math.pow(bounciness, num13)) / (num5 * num4);\n const num7 = (num8 + num12) * 0.5;\n const num6 = gradient - num7;\n const num2 = num7 - num8;\n return (-Math.pow(1.0 / bounciness, y - num3) / (num2 * num2)) * (num6 - num2) * (num6 + num2);\n }\n}\n/**\n * Easing function with a power of 3 shape (see link below).\n * @see https://easings.net/#easeInCubic\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class CubicEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient * gradient;\n }\n}\n/**\n * Easing function with an elastic shape (see link below).\n * @see https://easings.net/#easeInElastic\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class ElasticEase extends EasingFunction {\n /**\n * Instantiates an elastic easing function\n * @see https://easings.net/#easeInElastic\n * @param oscillations Defines the number of oscillations\n * @param springiness Defines the amplitude of the oscillations\n */\n constructor(\n /** [3] Defines the number of oscillations*/\n oscillations = 3, \n /** [3] Defines the amplitude of the oscillations*/\n springiness = 3) {\n super();\n this.oscillations = oscillations;\n this.springiness = springiness;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n let num2;\n const num3 = Math.max(0.0, this.oscillations);\n const num = Math.max(0.0, this.springiness);\n if (num == 0) {\n num2 = gradient;\n }\n else {\n num2 = (Math.exp(num * gradient) - 1.0) / (Math.exp(num) - 1.0);\n }\n return num2 * Math.sin((6.2831853071795862 * num3 + 1.5707963267948966) * gradient);\n }\n}\n/**\n * Easing function with an exponential shape (see link below).\n * @see https://easings.net/#easeInExpo\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class ExponentialEase extends EasingFunction {\n /**\n * Instantiates an exponential easing function\n * @see https://easings.net/#easeInExpo\n * @param exponent Defines the exponent of the function\n */\n constructor(\n /** [3] Defines the exponent of the function */\n exponent = 2) {\n super();\n this.exponent = exponent;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n if (this.exponent <= 0) {\n return gradient;\n }\n return (Math.exp(this.exponent * gradient) - 1.0) / (Math.exp(this.exponent) - 1.0);\n }\n}\n/**\n * Easing function with a power shape (see link below).\n * @see https://easings.net/#easeInQuad\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class PowerEase extends EasingFunction {\n /**\n * Instantiates an power base easing function\n * @see https://easings.net/#easeInQuad\n * @param power Defines the power of the function\n */\n constructor(\n /** [2] Defines the power of the function */\n power = 2) {\n super();\n this.power = power;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n const y = Math.max(0.0, this.power);\n return Math.pow(gradient, y);\n }\n}\n/**\n * Easing function with a power of 2 shape (see link below).\n * @see https://easings.net/#easeInQuad\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class QuadraticEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient;\n }\n}\n/**\n * Easing function with a power of 4 shape (see link below).\n * @see https://easings.net/#easeInQuart\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class QuarticEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient * gradient * gradient;\n }\n}\n/**\n * Easing function with a power of 5 shape (see link below).\n * @see https://easings.net/#easeInQuint\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class QuinticEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return gradient * gradient * gradient * gradient * gradient;\n }\n}\n/**\n * Easing function with a sin shape (see link below).\n * @see https://easings.net/#easeInSine\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class SineEase extends EasingFunction {\n /**\n * @internal\n */\n easeInCore(gradient) {\n return 1.0 - Math.sin(1.5707963267948966 * (1.0 - gradient));\n }\n}\n/**\n * Easing function with a bezier shape (see link below).\n * @see http://cubic-bezier.com/#.17,.67,.83,.67\n * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#easing-functions\n */\nexport class BezierCurveEase extends EasingFunction {\n /**\n * Instantiates a bezier function\n * @see http://cubic-bezier.com/#.17,.67,.83,.67\n * @param x1 Defines the x component of the start tangent in the bezier curve\n * @param y1 Defines the y component of the start tangent in the bezier curve\n * @param x2 Defines the x component of the end tangent in the bezier curve\n * @param y2 Defines the y component of the end tangent in the bezier curve\n */\n constructor(\n /** [0] Defines the x component of the start tangent in the bezier curve */\n x1 = 0, \n /** [0] Defines the y component of the start tangent in the bezier curve */\n y1 = 0, \n /** [1] Defines the x component of the end tangent in the bezier curve */\n x2 = 1, \n /** [1] Defines the y component of the end tangent in the bezier curve */\n y2 = 1) {\n super();\n this.x1 = x1;\n this.y1 = y1;\n this.x2 = x2;\n this.y2 = y2;\n }\n /**\n * @internal\n */\n easeInCore(gradient) {\n return BezierCurve.Interpolate(gradient, this.x1, this.y1, this.x2, this.y2);\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,uBAAuB;AACnD;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,CAAC;EACxBC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,WAAW,GAAGF,cAAc,CAACG,iBAAiB;EACvD;EACA;AACJ;AACA;AACA;EACIC,aAAaA,CAACC,UAAU,EAAE;IACtB,MAAMC,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACJ,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,CAACH,WAAW,GAAGI,CAAC;EACxB;EACA;AACJ;AACA;AACA;EACII,aAAaA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACR,WAAW;EAC3B;EACA;AACJ;AACA;EACI;EACAS,UAAUA,CAACC,QAAQ,EAAE;IACjB,MAAM,IAAIC,KAAK,CAAC,gCAAgC,CAAC;EACrD;EACA;AACJ;AACA;AACA;AACA;AACA;EACIC,IAAIA,CAACF,QAAQ,EAAE;IACX,QAAQ,IAAI,CAACV,WAAW;MACpB,KAAKF,cAAc,CAACG,iBAAiB;QACjC,OAAO,IAAI,CAACQ,UAAU,CAACC,QAAQ,CAAC;MACpC,KAAKZ,cAAc,CAACe,kBAAkB;QAClC,OAAO,CAAC,GAAG,IAAI,CAACJ,UAAU,CAAC,CAAC,GAAGC,QAAQ,CAAC;IAChD;IACA,IAAIA,QAAQ,IAAI,GAAG,EAAE;MACjB,OAAO,CAAC,CAAC,GAAG,IAAI,CAACD,UAAU,CAAC,CAAC,CAAC,GAAGC,QAAQ,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG;IAChE;IACA,OAAO,IAAI,CAACD,UAAU,CAACC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG;EAC9C;AACJ;AACA;AACA;AACA;AACAZ,cAAc,CAACG,iBAAiB,GAAG,CAAC;AACpC;AACA;AACA;AACAH,cAAc,CAACe,kBAAkB,GAAG,CAAC;AACrC;AACA;AACA;AACAf,cAAc,CAACgB,oBAAoB,GAAG,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,SAASjB,cAAc,CAAC;EAC3C;AACJ;AACA;EACIW,UAAUA,CAACC,QAAQ,EAAE;IACjBA,QAAQ,GAAGL,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEI,QAAQ,CAAC,CAAC;IAC7C,OAAO,GAAG,GAAGL,IAAI,CAACW,IAAI,CAAC,GAAG,GAAGN,QAAQ,GAAGA,QAAQ,CAAC;EACrD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,QAAQ,SAASnB,cAAc,CAAC;EACzC;AACJ;AACA;AACA;AACA;EACIC,WAAWA,CAAA,CACX;EACAmB,SAAS,GAAG,CAAC,EAAE;IACX,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EACA;AACJ;AACA;EACIT,UAAUA,CAACC,QAAQ,EAAE;IACjB,MAAMS,GAAG,GAAGd,IAAI,CAACE,GAAG,CAAC,CAAC,EAAE,IAAI,CAACW,SAAS,CAAC;IACvC,OAAOb,IAAI,CAACe,GAAG,CAACV,QAAQ,EAAE,GAAG,CAAC,GAAGA,QAAQ,GAAGS,GAAG,GAAGd,IAAI,CAACgB,GAAG,CAAC,kBAAkB,GAAGX,QAAQ,CAAC;EAC7F;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,UAAU,SAASxB,cAAc,CAAC;EAC3C;AACJ;AACA;AACA;AACA;AACA;EACIC,WAAWA,CAAA,CACX;EACAwB,OAAO,GAAG,CAAC,EACX;EACAC,UAAU,GAAG,CAAC,EAAE;IACZ,KAAK,CAAC,CAAC;IACP,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAChC;EACA;AACJ;AACA;EACIf,UAAUA,CAACC,QAAQ,EAAE;IACjB,MAAMe,CAAC,GAAGpB,IAAI,CAACE,GAAG,CAAC,GAAG,EAAE,IAAI,CAACgB,OAAO,CAAC;IACrC,IAAIC,UAAU,GAAG,IAAI,CAACA,UAAU;IAChC,IAAIA,UAAU,IAAI,GAAG,EAAE;MACnBA,UAAU,GAAG,KAAK;IACtB;IACA,MAAME,IAAI,GAAGrB,IAAI,CAACe,GAAG,CAACI,UAAU,EAAEC,CAAC,CAAC;IACpC,MAAME,IAAI,GAAG,GAAG,GAAGH,UAAU;IAC7B,MAAMI,IAAI,GAAG,CAAC,GAAG,GAAGF,IAAI,IAAIC,IAAI,GAAGD,IAAI,GAAG,GAAG;IAC7C,MAAMG,KAAK,GAAGnB,QAAQ,GAAGkB,IAAI;IAC7B,MAAME,KAAK,GAAGzB,IAAI,CAAC0B,GAAG,CAAC,CAACF,KAAK,IAAI,GAAG,GAAGL,UAAU,CAAC,GAAG,GAAG,CAAC,GAAGnB,IAAI,CAAC0B,GAAG,CAACP,UAAU,CAAC;IAChF,MAAMQ,IAAI,GAAG3B,IAAI,CAAC4B,KAAK,CAACH,KAAK,CAAC;IAC9B,MAAMI,KAAK,GAAGF,IAAI,GAAG,GAAG;IACxB,MAAMG,IAAI,GAAG,CAAC,GAAG,GAAG9B,IAAI,CAACe,GAAG,CAACI,UAAU,EAAEQ,IAAI,CAAC,KAAKL,IAAI,GAAGC,IAAI,CAAC;IAC/D,MAAMQ,KAAK,GAAG,CAAC,GAAG,GAAG/B,IAAI,CAACe,GAAG,CAACI,UAAU,EAAEU,KAAK,CAAC,KAAKP,IAAI,GAAGC,IAAI,CAAC;IACjE,MAAMS,IAAI,GAAG,CAACF,IAAI,GAAGC,KAAK,IAAI,GAAG;IACjC,MAAME,IAAI,GAAG5B,QAAQ,GAAG2B,IAAI;IAC5B,MAAME,IAAI,GAAGF,IAAI,GAAGF,IAAI;IACxB,OAAQ,CAAC9B,IAAI,CAACe,GAAG,CAAC,GAAG,GAAGI,UAAU,EAAEC,CAAC,GAAGO,IAAI,CAAC,IAAIO,IAAI,GAAGA,IAAI,CAAC,IAAKD,IAAI,GAAGC,IAAI,CAAC,IAAID,IAAI,GAAGC,IAAI,CAAC;EAClG;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,SAAS1C,cAAc,CAAC;EAC1C;AACJ;AACA;EACIW,UAAUA,CAACC,QAAQ,EAAE;IACjB,OAAOA,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ;EACzC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM+B,WAAW,SAAS3C,cAAc,CAAC;EAC5C;AACJ;AACA;AACA;AACA;AACA;EACIC,WAAWA,CAAA,CACX;EACA2C,YAAY,GAAG,CAAC,EAChB;EACAC,WAAW,GAAG,CAAC,EAAE;IACb,KAAK,CAAC,CAAC;IACP,IAAI,CAACD,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EACA;AACJ;AACA;EACIlC,UAAUA,CAACC,QAAQ,EAAE;IACjB,IAAI6B,IAAI;IACR,MAAMP,IAAI,GAAG3B,IAAI,CAACE,GAAG,CAAC,GAAG,EAAE,IAAI,CAACmC,YAAY,CAAC;IAC7C,MAAMvB,GAAG,GAAGd,IAAI,CAACE,GAAG,CAAC,GAAG,EAAE,IAAI,CAACoC,WAAW,CAAC;IAC3C,IAAIxB,GAAG,IAAI,CAAC,EAAE;MACVoB,IAAI,GAAG7B,QAAQ;IACnB,CAAC,MACI;MACD6B,IAAI,GAAG,CAAClC,IAAI,CAACuC,GAAG,CAACzB,GAAG,GAAGT,QAAQ,CAAC,GAAG,GAAG,KAAKL,IAAI,CAACuC,GAAG,CAACzB,GAAG,CAAC,GAAG,GAAG,CAAC;IACnE;IACA,OAAOoB,IAAI,GAAGlC,IAAI,CAACgB,GAAG,CAAC,CAAC,kBAAkB,GAAGW,IAAI,GAAG,kBAAkB,IAAItB,QAAQ,CAAC;EACvF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMmC,eAAe,SAAS/C,cAAc,CAAC;EAChD;AACJ;AACA;AACA;AACA;EACIC,WAAWA,CAAA,CACX;EACA+C,QAAQ,GAAG,CAAC,EAAE;IACV,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EACA;AACJ;AACA;EACIrC,UAAUA,CAACC,QAAQ,EAAE;IACjB,IAAI,IAAI,CAACoC,QAAQ,IAAI,CAAC,EAAE;MACpB,OAAOpC,QAAQ;IACnB;IACA,OAAO,CAACL,IAAI,CAACuC,GAAG,CAAC,IAAI,CAACE,QAAQ,GAAGpC,QAAQ,CAAC,GAAG,GAAG,KAAKL,IAAI,CAACuC,GAAG,CAAC,IAAI,CAACE,QAAQ,CAAC,GAAG,GAAG,CAAC;EACvF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,SAASjD,cAAc,CAAC;EAC1C;AACJ;AACA;AACA;AACA;EACIC,WAAWA,CAAA,CACX;EACAiD,KAAK,GAAG,CAAC,EAAE;IACP,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;EACA;AACJ;AACA;EACIvC,UAAUA,CAACC,QAAQ,EAAE;IACjB,MAAMe,CAAC,GAAGpB,IAAI,CAACE,GAAG,CAAC,GAAG,EAAE,IAAI,CAACyC,KAAK,CAAC;IACnC,OAAO3C,IAAI,CAACe,GAAG,CAACV,QAAQ,EAAEe,CAAC,CAAC;EAChC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMwB,aAAa,SAASnD,cAAc,CAAC;EAC9C;AACJ;AACA;EACIW,UAAUA,CAACC,QAAQ,EAAE;IACjB,OAAOA,QAAQ,GAAGA,QAAQ;EAC9B;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMwC,WAAW,SAASpD,cAAc,CAAC;EAC5C;AACJ;AACA;EACIW,UAAUA,CAACC,QAAQ,EAAE;IACjB,OAAOA,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ;EACpD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMyC,WAAW,SAASrD,cAAc,CAAC;EAC5C;AACJ;AACA;EACIW,UAAUA,CAACC,QAAQ,EAAE;IACjB,OAAOA,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ;EAC/D;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM0C,QAAQ,SAAStD,cAAc,CAAC;EACzC;AACJ;AACA;EACIW,UAAUA,CAACC,QAAQ,EAAE;IACjB,OAAO,GAAG,GAAGL,IAAI,CAACgB,GAAG,CAAC,kBAAkB,IAAI,GAAG,GAAGX,QAAQ,CAAC,CAAC;EAChE;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM2C,eAAe,SAASvD,cAAc,CAAC;EAChD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACIC,WAAWA,CAAA,CACX;EACAuD,EAAE,GAAG,CAAC,EACN;EACAC,EAAE,GAAG,CAAC,EACN;EACAC,EAAE,GAAG,CAAC,EACN;EACAC,EAAE,GAAG,CAAC,EAAE;IACJ,KAAK,CAAC,CAAC;IACP,IAAI,CAACH,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,EAAE,GAAGA,EAAE;EAChB;EACA;AACJ;AACA;EACIhD,UAAUA,CAACC,QAAQ,EAAE;IACjB,OAAOb,WAAW,CAAC6D,WAAW,CAAChD,QAAQ,EAAE,IAAI,CAAC4C,EAAE,EAAE,IAAI,CAACC,EAAE,EAAE,IAAI,CAACC,EAAE,EAAE,IAAI,CAACC,EAAE,CAAC;EAChF;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|