three-nebula 10.0.2 → 11.0.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.
- package/.claude/rules/no-coauthor.md +4 -0
- package/CHANGELOG.md +23 -0
- package/build/cjs/behaviour/Alpha.js +2 -2
- package/build/cjs/behaviour/Attraction.js +2 -2
- package/build/cjs/behaviour/Behaviour.js +1 -1
- package/build/cjs/behaviour/Collision.js +2 -2
- package/build/cjs/behaviour/Color.js +2 -2
- package/build/cjs/behaviour/CrossZone.js +8 -4
- package/build/cjs/behaviour/Force.js +2 -2
- package/build/cjs/behaviour/Gravity.js +2 -2
- package/build/cjs/behaviour/RandomDrift.js +2 -2
- package/build/cjs/behaviour/Repulsion.js +2 -2
- package/build/cjs/behaviour/Rotate.js +5 -5
- package/build/cjs/behaviour/Scale.js +2 -2
- package/build/cjs/behaviour/Spring.js +2 -2
- package/build/cjs/constants/index.js +1 -1
- package/build/cjs/core/Particle.js +1 -1
- package/build/cjs/core/Pool.js +1 -1
- package/build/cjs/core/System.js +8 -4
- package/build/cjs/core/constants.js +2 -2
- package/build/cjs/core/fromJSON.js +6 -2
- package/build/cjs/core/fromJSONAsync.js +8 -4
- package/build/cjs/core/three/Euler.js +1 -1
- package/build/cjs/core/three/Math.js +1 -1
- package/build/cjs/core/three/Matrix4.js +1 -1
- package/build/cjs/core/three/Quaternion.js +1 -1
- package/build/cjs/core/three/Vector3.js +1 -1
- package/build/cjs/debug/Debug.js +1 -1
- package/build/cjs/debug/log.js +1 -1
- package/build/cjs/ease/index.js +1 -1
- package/build/cjs/emitter/Emitter.js +17 -6
- package/build/cjs/emitter/FollowEmitter.js +2 -2
- package/build/cjs/events/EventDispatcher.js +3 -3
- package/build/cjs/initializer/Body.js +2 -2
- package/build/cjs/initializer/BodySprite.js +3 -3
- package/build/cjs/initializer/Initializer.js +1 -1
- package/build/cjs/initializer/InitializerUtil.js +1 -1
- package/build/cjs/initializer/Life.js +2 -2
- package/build/cjs/initializer/Mass.js +2 -2
- package/build/cjs/initializer/Position.js +8 -4
- package/build/cjs/initializer/Radius.js +2 -2
- package/build/cjs/initializer/Rate.js +2 -2
- package/build/cjs/initializer/Rotation.js +95 -0
- package/build/cjs/initializer/Texture.js +3 -3
- package/build/cjs/initializer/Velocity/PolarVelocity.js +2 -2
- package/build/cjs/initializer/Velocity/RadialVelocity.js +2 -2
- package/build/cjs/initializer/Velocity/VectorVelocity.js +2 -2
- package/build/cjs/initializer/Velocity/Velocity.js +2 -2
- package/build/cjs/initializer/constants.js +1 -1
- package/build/cjs/initializer/index.js +9 -1
- package/build/cjs/initializer/types.js +4 -2
- package/build/cjs/math/ArraySpan.js +2 -2
- package/build/cjs/math/Box.js +1 -1
- package/build/cjs/math/ColorSpan.js +2 -2
- package/build/cjs/math/MathUtils.js +1 -1
- package/build/cjs/math/Polar3D.js +1 -1
- package/build/cjs/math/Span.js +1 -1
- package/build/cjs/math/Vector3D.js +1 -1
- package/build/cjs/math/constants.js +1 -1
- package/build/cjs/math/index.js +5 -1
- package/build/cjs/math/integration.js +1 -1
- package/build/cjs/renderer/BaseRenderer.js +1 -1
- package/build/cjs/renderer/CustomRenderer.js +1 -1
- package/build/cjs/renderer/GPURenderer/Desktop/index.js +25 -4
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +2 -2
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +2 -2
- package/build/cjs/renderer/GPURenderer/Mobile/index.js +25 -4
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +2 -2
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +2 -2
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +9 -4
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +1 -1
- package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +1 -1
- package/build/cjs/renderer/GPURenderer/common/stores/Target.js +3 -1
- package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +1 -1
- package/build/cjs/renderer/GPURenderer/index.js +2 -2
- package/build/cjs/renderer/MeshRenderer.js +9 -9
- package/build/cjs/renderer/SpriteRenderer.js +7 -2
- package/build/cjs/utils/index.js +1 -1
- package/build/cjs/utils/uid.js +3 -5
- package/build/cjs/zone/BoxZone.js +2 -2
- package/build/cjs/zone/LineZone.js +2 -2
- package/build/cjs/zone/MeshZone.js +2 -2
- package/build/cjs/zone/PointZone.js +6 -4
- package/build/cjs/zone/ScreenZone.js +2 -2
- package/build/cjs/zone/SphereZone.js +6 -4
- package/build/cjs/zone/Zone.js +1 -1
- package/build/esm/behaviour/Alpha.js +1 -1
- package/build/esm/behaviour/Attraction.js +1 -1
- package/build/esm/behaviour/Behaviour.js +1 -1
- package/build/esm/behaviour/Collision.js +1 -1
- package/build/esm/behaviour/Color.js +1 -1
- package/build/esm/behaviour/CrossZone.js +1 -1
- package/build/esm/behaviour/Force.js +1 -1
- package/build/esm/behaviour/Gravity.js +1 -1
- package/build/esm/behaviour/RandomDrift.js +1 -1
- package/build/esm/behaviour/Repulsion.js +1 -1
- package/build/esm/behaviour/Rotate.js +4 -4
- package/build/esm/behaviour/Scale.js +1 -1
- package/build/esm/behaviour/Spring.js +1 -1
- package/build/esm/constants/index.js +1 -1
- package/build/esm/core/Particle.js +1 -1
- package/build/esm/core/Pool.js +1 -1
- package/build/esm/core/System.js +2 -2
- package/build/esm/core/constants.js +3 -3
- package/build/esm/core/fromJSON.js +1 -1
- package/build/esm/core/fromJSONAsync.js +2 -2
- package/build/esm/core/three/Euler.js +1 -1
- package/build/esm/core/three/Math.js +1 -1
- package/build/esm/core/three/Matrix4.js +1 -1
- package/build/esm/core/three/Quaternion.js +1 -1
- package/build/esm/core/three/Vector3.js +1 -1
- package/build/esm/debug/Debug.js +1 -1
- package/build/esm/debug/log.js +1 -1
- package/build/esm/ease/index.js +1 -1
- package/build/esm/emitter/Emitter.js +11 -4
- package/build/esm/emitter/FollowEmitter.js +1 -1
- package/build/esm/events/EventDispatcher.js +3 -3
- package/build/esm/initializer/Body.js +1 -1
- package/build/esm/initializer/BodySprite.js +2 -2
- package/build/esm/initializer/Initializer.js +1 -1
- package/build/esm/initializer/InitializerUtil.js +1 -1
- package/build/esm/initializer/Life.js +1 -1
- package/build/esm/initializer/Mass.js +1 -1
- package/build/esm/initializer/Position.js +3 -2
- package/build/esm/initializer/Radius.js +1 -1
- package/build/esm/initializer/Rate.js +1 -1
- package/build/esm/initializer/Rotation.js +54 -0
- package/build/esm/initializer/Texture.js +2 -2
- package/build/esm/initializer/Velocity/PolarVelocity.js +1 -1
- package/build/esm/initializer/Velocity/RadialVelocity.js +1 -1
- package/build/esm/initializer/Velocity/VectorVelocity.js +1 -1
- package/build/esm/initializer/Velocity/Velocity.js +1 -1
- package/build/esm/initializer/constants.js +1 -1
- package/build/esm/initializer/index.js +2 -1
- package/build/esm/initializer/types.js +2 -1
- package/build/esm/math/ArraySpan.js +1 -1
- package/build/esm/math/Box.js +1 -1
- package/build/esm/math/ColorSpan.js +1 -1
- package/build/esm/math/MathUtils.js +1 -1
- package/build/esm/math/Polar3D.js +1 -1
- package/build/esm/math/Span.js +1 -1
- package/build/esm/math/constants.js +1 -1
- package/build/esm/math/integration.js +1 -1
- package/build/esm/renderer/BaseRenderer.js +1 -1
- package/build/esm/renderer/GPURenderer/Desktop/index.js +29 -3
- package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +8 -1
- package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +4 -1
- package/build/esm/renderer/GPURenderer/Mobile/index.js +29 -3
- package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +8 -1
- package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +4 -1
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +6 -3
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +1 -1
- package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +1 -1
- package/build/esm/renderer/GPURenderer/common/stores/Target.js +3 -1
- package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +1 -1
- package/build/esm/renderer/GPURenderer/index.js +1 -1
- package/build/esm/renderer/MeshRenderer.js +7 -8
- package/build/esm/renderer/SpriteRenderer.js +5 -1
- package/build/esm/utils/index.js +1 -1
- package/build/esm/utils/uid.js +2 -2
- package/build/esm/zone/BoxZone.js +1 -1
- package/build/esm/zone/LineZone.js +1 -1
- package/build/esm/zone/MeshZone.js +1 -1
- package/build/esm/zone/PointZone.js +5 -3
- package/build/esm/zone/ScreenZone.js +1 -1
- package/build/esm/zone/SphereZone.js +5 -3
- package/build/esm/zone/Zone.js +1 -1
- package/build/three-nebula.js +1 -1
- package/build/three-nebula.js.map +1 -1
- package/package.json +31 -31
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4
4
|
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
6
6
|
|
|
@@ -207,4 +207,4 @@ export default ((json, THREE, System, Emitter, options = {}) => new Promise((res
|
|
|
207
207
|
});
|
|
208
208
|
}).catch(reject);
|
|
209
209
|
}));
|
|
210
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2Zyb21KU09OQXN5bmMuanMiXSwibmFtZXMiOlsiQmVoYXZpb3VyIiwiSW5pdGlhbGl6ZXIiLCJFVUxFUiIsIlBPT0xfTUFYIiwiSU5JVElBTElaRVJfVFlQRVNfVEhBVF9SRVFVSVJFX1RIUkVFIiwiU1VQUE9SVEVEX0pTT05fQkVIQVZJT1VSX1RZUEVTIiwiU1VQUE9SVEVEX0pTT05fSU5JVElBTElaRVJfVFlQRVMiLCJSYXRlIiwiVGV4dHVyZUluaXRpYWxpemVyIiwiREVGQVVMVF9PUFRJT05TIiwic2hvdWxkQXV0b0VtaXQiLCJtYWtlUmF0ZSIsImpzb24iLCJmcm9tSlNPTiIsIm1ha2VJbml0aWFsaXplcnMiLCJpdGVtcyIsIlRIUkVFIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJsZW5ndGgiLCJudW1iZXJPZkluaXRpYWxpemVycyIsIm1hZGVJbml0aWFsaXplcnMiLCJkb05vdFJlcXVpcmVUZXh0dXJlTG9hZGluZyIsImZpbHRlciIsInByb3BlcnRpZXMiLCJ0ZXh0dXJlIiwiZG9SZXF1aXJlVGV4dHVyZUxvYWRpbmciLCJmb3JFYWNoIiwiZGF0YSIsInR5cGUiLCJpbmNsdWRlcyIsInB1c2giLCJ0ZXh0dXJlTG9hZGVyIiwiVGV4dHVyZUxvYWRlciIsImxvYWQiLCJsb2FkZWRUZXh0dXJlIiwidW5kZWZpbmVkIiwibWFrZUJlaGF2aW91cnMiLCJudW1iZXJPZkJlaGF2aW91cnMiLCJtYWRlQmVoYXZpb3VycyIsIm1ha2VFbWl0dGVycyIsImVtaXR0ZXJzIiwiRW1pdHRlciIsIm1hZGVFbWl0dGVycyIsIm51bWJlck9mRW1pdHRlcnMiLCJlbWl0dGVyIiwicmF0ZSIsInJvdGF0aW9uIiwiaW5pdGlhbGl6ZXJzIiwiYmVoYXZpb3VycyIsImVtaXR0ZXJCZWhhdmlvdXJzIiwicG9zaXRpb24iLCJ0b3RhbEVtaXRUaW1lcyIsIkluZmluaXR5IiwibGlmZSIsInNldFJhdGUiLCJzZXRSb3RhdGlvbiIsInNldFBvc2l0aW9uIiwidGhlbiIsInNldEluaXRpYWxpemVycyIsInNldEJlaGF2aW91cnMiLCJtYWRlRW1pdHRlckJlaGF2aW91cnMiLCJzZXRFbWl0dGVyQmVoYXZpb3VycyIsImVtaXQiLCJzZXRUb3RhbEVtaXRUaW1lcyIsInNldExpZmUiLCJjYXRjaCIsIlN5c3RlbSIsIm9wdGlvbnMiLCJwcmVQYXJ0aWNsZXMiLCJpbnRlZ3JhdGlvblR5cGUiLCJzeXN0ZW0iLCJtYWRlRW1pdHRlciIsImFkZEVtaXR0ZXIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sS0FBS0EsU0FBWixNQUEyQixjQUEzQjtBQUNBLE9BQU8sS0FBS0MsV0FBWixNQUE2QixnQkFBN0I7QUFFQSxTQUFTQyxLQUFULEVBQWdCQyxRQUFoQixRQUFnQyxjQUFoQztBQUNBLFNBQ0VDLG9DQURGLEVBRUVDLDhCQUZGLEVBR0VDLGdDQUhGLFFBSU8sYUFKUDtBQU1BLE9BQU9DLElBQVAsTUFBaUIscUJBQWpCO0FBQ0EsT0FBT0Msa0JBQVAsTUFBK0Isd0JBQS9CO0FBRUEsTUFBTUMsZUFBZSxHQUFHO0FBQUVDLEVBQUFBLGNBQWMsRUFBRTtBQUFsQixDQUF4QjtBQUVBOzs7Ozs7O0FBTUEsTUFBTUMsUUFBUSxHQUFHQyxJQUFJLElBQUlMLElBQUksQ0FBQ00sUUFBTCxDQUFjRCxJQUFkLENBQXpCO0FBRUE7Ozs7Ozs7OztBQU9BLE1BQU1FLGdCQUFnQixHQUFHLENBQUNDLEtBQUQsRUFBUUMsS0FBUixLQUN2QixJQUFJQyxPQUFKLENBQVksQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0FBQy9CLE1BQUksQ0FBQ0osS0FBSyxDQUFDSyxNQUFYLEVBQW1CO0FBQ2pCLFdBQU9GLE9BQU8sQ0FBQyxFQUFELENBQWQ7QUFDRDs7QUFFRCxRQUFNRyxvQkFBb0IsR0FBR04sS0FBSyxDQUFDSyxNQUFuQztBQUNBLFFBQU1FLGdCQUFnQixHQUFHLEVBQXpCO0FBQ0EsUUFBTUMsMEJBQTBCLEdBQUdSLEtBQUssQ0FBQ1MsTUFBTixDQUNq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UCxFQUFjb0QsTUFBZCxFQUFzQnpCLE9BQXRCLEVBQStCMEIsT0FBTyxHQUFHLEVBQXpDLEtBQ2IsSUFBSXBELE9BQUosQ0FBWSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDL0IsUUFBTTtBQUNKbUQsSUFBQUEsWUFBWSxHQUFHbkUsUUFEWDtBQUVKb0UsSUFBQUEsZUFBZSxHQUFHckUsS0FGZDtBQUdKd0MsSUFBQUEsUUFBUSxHQUFHO0FBSFAsTUFJRjlCLElBSko7QUFLQSxRQUFNNEQsTUFBTSxHQUFHLElBQUlKLE1BQUosQ0FBV0UsWUFBWCxFQUF5QkMsZUFBekIsQ0FBZjs7QUFDQSxRQUFNO0FBQUU3RCxJQUFBQTtBQUFGLHNDQUEwQkQsZUFBMUIsR0FBOEM0RCxPQUE5QyxDQUFOOztBQUVBNUIsRUFBQUEsWUFBWSxDQUFDQyxRQUFELEVBQVdDLE9BQVgsRUFBb0IzQixLQUFwQixFQUEyQk4sY0FBM0IsQ0FBWixDQUNHaUQsSUFESCxDQUNRZixZQUFZLElBQUk7QUFDcEIsVUFBTUMsZ0JBQWdCLEdBQUdELFlBQVksQ0FBQ3hCLE1BQXRDOztBQUVBLFFBQUksQ0FBQ3lCLGdCQUFMLEVBQXVCO0FBQ3JCLGFBQU8zQixPQUFPLENBQUNzRCxNQUFELENBQWQ7QUFDRDs7QUFFRDVCLElBQUFBLFlBQVksQ0FBQ2hCLE9BQWIsQ0FBcUI2QyxXQUFXLElBQUk7QUFDbENELE1BQUFBLE1BQU0sQ0FBQ0UsVUFBUCxDQUFrQkQsV0FBbEI7O0FBRUEsVUFBSUQsTUFBTSxDQUFDOUIsUUFBUCxDQUFnQnRCLE1BQWhCLEtBQTJCeUIsZ0JBQS9CLEVBQWlEO0FBQy9DM0IsUUFBQUEsT0FBTyxDQUFDc0QsTUFBRCxDQUFQO0FBQ0Q7QUFDRixLQU5EO0FBT0QsR0FmSCxFQWdCR0wsS0FoQkgsQ0FnQlNoRCxNQWhCVDtBQWlCRCxDQTFCRCxDQURGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQmVoYXZpb3VyIGZyb20gJy4uL2JlaGF2aW91cic7XG5pbXBvcnQgKiBhcyBJbml0aWFsaXplciBmcm9tICcuLi9pbml0aWFsaXplcic7XG5cbmltcG9ydCB7IEVVTEVSLCBQT09MX01BWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBJTklUSUFMSVpFUl9UWVBFU19USEFUX1JFUVVJUkVfVEhSRUUsXG4gIFNVUFBPUlRFRF9KU09OX0JFSEFWSU9VUl9UWVBFUyxcbiAgU1VQUE9SVEVEX0pTT05fSU5JVElBTElaRVJfVFlQRVMsXG59IGZyb20gJy4vY29uc3RhbnRzJztcblxuaW1wb3J0IFJhdGUgZnJvbSAnLi4vaW5pdGlhbGl6ZXIvUmF0ZSc7XG5pbXBvcnQgVGV4dHVyZUluaXRpYWxpemVyIGZyb20gJy4uL2luaXRpYWxpemVyL1RleHR1cmUnO1xuXG5jb25zdCBERUZBVUxUX09QVElPTlMgPSB7IHNob3VsZEF1dG9FbWl0OiB0cnVlIH07XG5cbi8qKlxuICogTWFrZXMgYSByYXRlIGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIGRhdGEgcmVxdWlyZWQgdG8gY29uc3RydWN0IGEgUmF0ZSBpbnN0YW5jZVxuICogQHJldHVybiB7UmF0ZX1cbiAqL1xuY29uc3QgbWFrZVJhdGUgPSBqc29uID0+IFJhdGUuZnJvbUpTT04oanNvbik7XG5cbi8qKlxuICogTWFrZXMgaW5pdGlhbGl6ZXJzIGZyb20ganNvbiBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PG9iamVjdD59IGl0ZW1zIC0gQW4gYXJyYXkgb2Ygb2JqZWN0cyB3aGljaCBwcm92aWRlIGluaXRpYWxpemVyIGNvbnN0cnVjdG9yIHBhcmFtc1xuICogQHBhcmFtIHtvYmplY3R9IFRIUkVFIC0gVGhlIFdlYiBHTCBBcGkgdG8gdXNlXG4gKiBAcmV0dXJuIHthcnJheTxJbml0aWFsaXplcj59XG4gKi9cbmNvbnN0IG1ha2VJbml0aWFsaXplcnMgPSAoaXRlbXMsIFRIUkVFKSA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiByZXNvbHZlKFtdKTtcbiAgICB9XG5cbiAgICBjb25zdCBudW1iZXJPZkluaXRpYWxpemVycyA9IGl0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBtYWRlSW5pdGlhbGl6ZXJzID0gW107XG4gICAgY29uc3QgZG9Ob3RSZXF1aXJlVGV4dHVyZUxvYWRpbmcgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAoeyBwcm9wZXJ0aWVzIH0pID0+ICFwcm9wZXJ0aWVzLnRleHR1cmVcbiAgICApO1xuICAgIGNvbnN0IGRvUmVxdWlyZVRleHR1cmVMb2FkaW5nID0gaXRlbXMuZmlsdGVyKFxuICAgICAgKHsgcHJvcGVydGllcyB9KSA9PiBwcm9wZXJ0aWVzLnRleHR1cmVcbiAgICApO1xuXG4gICAgZG9Ob3RSZXF1aXJlVGV4dHVyZUxvYWRpbmcuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgIGNvbnN0IHsgdHlwZSwgcHJvcGVydGllcyB9ID0gZGF0YTtcblxuICAgICAgaWYgKCFTVVBQT1JURURfSlNPTl9JTklUSUFMSVpFUl9UWVBFUy5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICByZXR1cm4gcmVqZWN0KFxuICAgICAgICAgIGBUaGUgaW5pdGlhbGl6ZXIgdHlwZSAke3R5cGV9IGlzIGludmFsaWQgb3Igbm90IHlldCBzdXBwb3J0ZWRgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChJTklUSUFMSVpFUl9UWVBFU19USEFUX1JFUVVJUkVfVEhSRUUuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgbWFkZUluaXRpYWxpemVycy5wdXNoKEluaXRpYWxpemVyW3R5cGVdLmZyb21KU09OKHByb3BlcnRpZXMsIFRIUkVFKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtYWRlSW5pdGlhbGl6ZXJzLnB1c2goSW5pdGlhbGl6ZXJbdHlwZV0uZnJvbUpTT04ocHJvcGVydGllcykpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWFkZUluaXRpYWxpemVycy5sZW5ndGggPT09IG51bWJlck9mSW5pdGlhbGl6ZXJzKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKG1hZGVJbml0aWFsaXplcnMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZG9SZXF1aXJlVGV4dHVyZUxvYWRpbmcuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICAgcHJvcGVydGllczogeyB0ZXh0dXJlIH0sXG4gICAgICB9ID0gZGF0YTtcbiAgICAgIGNvbnN0IHRleHR1cmVMb2FkZXIgPSBuZXcgVEhSRUUuVGV4dHVyZUxvYWRlcigpO1xuXG4gICAgICBpZiAoIVNVUFBPUlRFRF9KU09OX0lOSVRJQUxJWkVSX1RZUEVTLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoXG4gICAgICAgICAgYFRoZSBpbml0aWFsaXplciB0eXBlICR7dHlwZX0gaXMgaW52YWxpZCBvciBub3QgeWV0IHN1cHBvcnRlZGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGV4dHVyZUxvYWRlci5sb2FkKFxuICAgICAgICB0ZXh0dXJlLFxuICAgICAgICBsb2FkZWRUZXh0dXJlID0+IHtcbiAgICAgICAgICBtYWRlSW5pdGlhbGl6ZXJzLnB1c2goXG4gICAgICAgICAgICBUZXh0dXJlSW5pdGlhbGl6ZXIuZnJvbUpTT04oXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgIGxvYWRlZFRleHR1cmUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFRIUkVFXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChtYWRlSW5pdGlhbGl6ZXJzLmxlbmd0aCA9PT0gbnVtYmVyT2ZJbml0aWFsaXplcnMpIHtcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKG1hZGVJbml0aWFsaXplcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICByZWplY3RcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuXG4vKipcbiAqIE1ha2VzIGJlaGF2aW91cnMgZnJvbSBqc29uIGl0ZW1zLlxuICpcbiAqIEBwYXJhbSB7YXJyYXk8b2JqZWN0Pn0gaXRlbXMgLSBBbiBhcnJheSBvZiBvYmplY3RzIHdoaWNoIHByb3ZpZGUgYmVoYXZpb3VyIGNvbnN0cnVjdG9yIHBhcmFtc1xuICogQHJldHVybiB7UHJvbWlzZTxhcnJheT59XG4gKi9cbmNvbnN0IG1ha2VCZWhhdmlvdXJzID0gaXRlbXMgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZShbXSk7XG4gICAgfVxuXG4gICAgY29uc3QgbnVtYmVyT2ZCZWhhdmlvdXJzID0gaXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IG1hZGVCZWhhdmlvdXJzID0gW107XG5cbiAgICBpdGVtcy5mb3JFYWNoKGRhdGEgPT4ge1xuICAgICAgY29uc3QgeyB0eXBlLCBwcm9wZXJ0aWVzIH0gPSBkYXRhO1xuXG4gICAgICBpZiAoIVNVUFBPUlRFRF9KU09OX0JFSEFWSU9VUl9UWVBFUy5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICByZXR1cm4gcmVqZWN0KFxuICAgICAgICAgIGBUaGUgYmVoYXZpb3VyIHR5cGUgJHt0eXBlfSBpcyBpbnZhbGlkIG9yIG5vdCB5ZXQgc3VwcG9ydGVkYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBtYWRlQmVoYXZpb3Vycy5wdXNoKEJlaGF2aW91clt0eXBlXS5mcm9tSlNPTihwcm9wZXJ0aWVzKSk7XG5cbiAgICAgIGlmIChtYWRlQmVoYXZpb3Vycy5sZW5ndGggPT09IG51bWJlck9mQmVoYXZpb3Vycykge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZShtYWRlQmVoYXZpb3Vycyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG5jb25zdCBtYWtlRW1pdHRlcnMgPSAoZW1pdHRlcnMsIEVtaXR0ZXIsIFRIUkVFLCBzaG91bGRBdXRvRW1pdCkgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmICghZW1pdHRlcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZShbXSk7XG4gICAgfVxuXG4gICAgY29uc3QgbWFkZUVtaXR0ZXJzID0gW107XG4gICAgY29uc3QgbnVtYmVyT2ZFbWl0dGVycyA9IGVtaXR0ZXJzLmxlbmd0aDtcblxuICAgIGlmICghbnVtYmVyT2ZFbWl0dGVycykge1xuICAgICAgcmV0dXJuIHJlc29sdmUobWFkZUVtaXR0ZXJzKTtcbiAgICB9XG5cbiAgICBlbWl0dGVycy5mb3JFYWNoKGRhdGEgPT4ge1xuICAgICAgY29uc3QgZW1pdHRlciA9IG5ldyBFbWl0dGVyKCk7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHJhdGUsXG4gICAgICAgIHJvdGF0aW9uLFxuICAgICAgICBpbml0aWFsaXplcnMsXG4gICAgICAgIGJlaGF2aW91cnMsXG4gICAgICAgIGVtaXR0ZXJCZWhhdmlvdXJzID0gW10sXG4gICAgICAgIHBvc2l0aW9uLFxuICAgICAgICB0b3RhbEVtaXRUaW1lcyA9IEluZmluaXR5LFxuICAgICAgICBsaWZlID0gSW5maW5pdHksXG4gICAgICB9ID0gZGF0YTtcblxuICAgICAgZW1pdHRlclxuICAgICAgICAuc2V0UmF0ZShtYWtlUmF0ZShyYXRlKSlcbiAgICAgICAgLnNldFJvdGF0aW9uKHJvdGF0aW9uKVxuICAgICAgICAuc2V0UG9zaXRpb24ocG9zaXRpb24pO1xuXG4gICAgICBtYWtlSW5pdGlhbGl6ZXJzKGluaXRpYWxpemVycywgVEhSRUUpXG4gICAgICAgIC50aGVuKG1hZGVJbml0aWFsaXplcnMgPT4ge1xuICAgICAgICAgIGVtaXR0ZXIuc2V0SW5pdGlhbGl6ZXJzKG1hZGVJbml0aWFsaXplcnMpO1xuXG4gICAgICAgICAgcmV0dXJuIG1ha2VCZWhhdmlvdXJzKGJlaGF2aW91cnMpO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbihtYWRlQmVoYXZpb3VycyA9PiB7XG4gICAgICAgICAgZW1pdHRlci5zZXRCZWhhdmlvdXJzKG1hZGVCZWhhdmlvdXJzKTtcblxuICAgICAgICAgIHJldHVybiBtYWtlQmVoYXZpb3VycyhlbWl0dGVyQmVoYXZpb3Vycyk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKG1hZGVFbWl0dGVyQmVoYXZpb3VycyA9PiB7XG4gICAgICAgICAgZW1pdHRlci5zZXRFbWl0dGVyQmVoYXZpb3VycyhtYWRlRW1pdHRlckJlaGF2aW91cnMpO1xuXG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShlbWl0dGVyKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oZW1pdHRlciA9PiB7XG4gICAgICAgICAgbWFkZUVtaXR0ZXJzLnB1c2goXG4gICAgICAgICAgICBzaG91bGRBdXRvRW1pdFxuICAgICAgICAgICAgICA/IGVtaXR0ZXIuZW1pdCh0b3RhbEVtaXRUaW1lcywgbGlmZSlcbiAgICAgICAgICAgICAgOiBlbWl0dGVyLnNldFRvdGFsRW1pdFRpbWVzKHRvdGFsRW1pdFRpbWVzKS5zZXRMaWZlKGxpZmUpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChtYWRlRW1pdHRlcnMubGVuZ3RoID09PSBudW1iZXJPZkVtaXR0ZXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShtYWRlRW1pdHRlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgfSk7XG4gIH0pO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBTeXN0ZW0gaW5zdGFuY2UgZnJvbSBhIEpTT04gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY3JlYXRlIHRoZSBTeXN0ZW0gaW5zdGFuY2UgZnJvbVxuICogQHBhcmFtIHtudW1iZXJ9IGpzb24ucHJlUGFydGljbGVzIC0gVGhlIHByZWRldGVybWluZWQgbnVtYmVyIG9mIHBhcnRpY2xlc1xuICogQHBhcmFtIHtzdHJpbmd9IGpzb24uaW50ZWdyYXRpb25UeXBlIC0gVGhlIGludGVncmF0aW9uIGFsZ29yaXRobSB0byB1c2VcbiAqIEBwYXJhbSB7YXJyYXk8b2JqZWN0Pn0ganNvbi5lbWl0dGVycyAtIFRoZSBlbWl0dGVycyBmb3IgdGhlIHN5c3RlbSBpbnN0YW5jZVxuICogQHBhcmFtIHtvYmplY3R9IFRIUkVFIC0gVGhlIFdlYiBHTCBBcGkgdG8gdXNlXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBTeXN0ZW0gLSBUaGUgc3lzdGVtIGNsYXNzXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBFbWl0dGVyIC0gVGhlIGVtaXR0ZXIgY2xhc3NcbiAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBjb25maWcgb3B0aW9uc1xuICogQHJldHVybiB7UHJvbWlzZTxTeXN0ZW0+fVxuICovXG5leHBvcnQgZGVmYXVsdCAoanNvbiwgVEhSRUUsIFN5c3RlbSwgRW1pdHRlciwgb3B0aW9ucyA9IHt9KSA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgcHJlUGFydGljbGVzID0gUE9PTF9NQVgsXG4gICAgICBpbnRlZ3JhdGlvblR5cGUgPSBFVUxFUixcbiAgICAgIGVtaXR0ZXJzID0gW10sXG4gICAgfSA9IGpzb247XG4gICAgY29uc3Qgc3lzdGVtID0gbmV3IFN5c3RlbShwcmVQYXJ0aWNsZXMsIGludGVncmF0aW9uVHlwZSk7XG4gICAgY29uc3QgeyBzaG91bGRBdXRvRW1pdCB9ID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfTtcblxuICAgIG1ha2VFbWl0dGVycyhlbWl0dGVycywgRW1pdHRlciwgVEhSRUUsIHNob3VsZEF1dG9FbWl0KVxuICAgICAgLnRoZW4obWFkZUVtaXR0ZXJzID0+IHtcbiAgICAgICAgY29uc3QgbnVtYmVyT2ZFbWl0dGVycyA9IG1hZGVFbWl0dGVycy5sZW5ndGg7XG5cbiAgICAgICAgaWYgKCFudW1iZXJPZkVtaXR0ZXJzKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUoc3lzdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hZGVFbWl0dGVycy5mb3JFYWNoKG1hZGVFbWl0dGVyID0+IHtcbiAgICAgICAgICBzeXN0ZW0uYWRkRW1pdHRlcihtYWRlRW1pdHRlcik7XG5cbiAgICAgICAgICBpZiAoc3lzdGVtLmVtaXR0ZXJzLmxlbmd0aCA9PT0gbnVtYmVyT2ZFbWl0dGVycykge1xuICAgICAgICAgICAgcmVzb2x2ZShzeXN0ZW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKHJlamVjdCk7XG4gIH0pO1xuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2Zyb21KU09OQXN5bmMuanMiXSwibmFtZXMiOlsiQmVoYXZpb3VyIiwiSW5pdGlhbGl6ZXIiLCJFVUxFUiIsIlBPT0xfTUFYIiwiSU5JVElBTElaRVJfVFlQRVNfVEhBVF9SRVFVSVJFX1RIUkVFIiwiU1VQUE9SVEVEX0pTT05fQkVIQVZJT1VSX1RZUEVTIiwiU1VQUE9SVEVEX0pTT05fSU5JVElBTElaRVJfVFlQRVMiLCJSYXRlIiwiVGV4dHVyZUluaXRpYWxpemVyIiwiREVGQVVMVF9PUFRJT05TIiwic2hvdWxkQXV0b0VtaXQiLCJtYWtlUmF0ZSIsImpzb24iLCJmcm9tSlNPTiIsIm1ha2VJbml0aWFsaXplcnMiLCJpdGVtcyIsIlRIUkVFIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJsZW5ndGgiLCJudW1iZXJPZkluaXRpYWxpemVycyIsIm1hZGVJbml0aWFsaXplcnMiLCJkb05vdFJlcXVpcmVUZXh0dXJlTG9hZGluZyIsImZpbHRlciIsInByb3BlcnRpZXMiLCJ0ZXh0dXJlIiwiZG9SZXF1aXJlVGV4dHVyZUxvYWRpbmciLCJmb3JFYWNoIiwiZGF0YSIsInR5cGUiLCJpbmNsdWRlcyIsInB1c2giLCJ0ZXh0dXJlTG9hZGVyIiwiVGV4dHVyZUxvYWRlciIsImxvYWQiLCJsb2FkZWRUZXh0dXJlIiwidW5kZWZpbmVkIiwibWFrZUJlaGF2aW91cnMiLCJudW1iZXJPZkJlaGF2aW91cnMiLCJtYWRlQmVoYXZpb3VycyIsIm1ha2VFbWl0dGVycyIsImVtaXR0ZXJzIiwiRW1pdHRlciIsIm1hZGVFbWl0dGVycyIsIm51bWJlck9mRW1pdHRlcnMiLCJlbWl0dGVyIiwicmF0ZSIsInJvdGF0aW9uIiwiaW5pdGlhbGl6ZXJzIiwiYmVoYXZpb3VycyIsImVtaXR0ZXJCZWhhdmlvdXJzIiwicG9zaXRpb24iLCJ0b3RhbEVtaXRUaW1lcyIsIkluZmluaXR5IiwibGlmZSIsInNldFJhdGUiLCJzZXRSb3RhdGlvbiIsInNldFBvc2l0aW9uIiwidGhlbiIsInNldEluaXRpYWxpemVycyIsInNldEJlaGF2aW91cnMiLCJtYWRlRW1pdHRlckJlaGF2aW91cnMiLCJzZXRFbWl0dGVyQmVoYXZpb3VycyIsImVtaXQiLCJzZXRUb3RhbEVtaXRUaW1lcyIsInNldExpZmUiLCJjYXRjaCIsIlN5c3RlbSIsIm9wdGlvbnMiLCJwcmVQYXJ0aWNsZXMiLCJpbnRlZ3JhdGlvblR5cGUiLCJzeXN0ZW0iLCJtYWRlRW1pdHRlciIsImFkZEVtaXR0ZXIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sS0FBS0EsU0FBWixNQUEyQixjQUEzQjtBQUNBLE9BQU8sS0FBS0MsV0FBWixNQUE2QixnQkFBN0I7QUFFQSxTQUFTQyxLQUFULEVBQWdCQyxRQUFoQixRQUFnQyxjQUFoQztBQUNBLFNBQ0VDLG9DQURGLEVBRUVDLDhCQUZGLEVBR0VDLGdDQUhGLFFBSU8sYUFKUDtBQU1BLE9BQU9DLElBQVAsTUFBaUIscUJBQWpCO0FBQ0EsT0FBT0Msa0JBQVAsTUFBK0Isd0JBQS9CO0FBRUEsTUFBTUMsZUFBZSxHQUFHO0FBQUVDLEVBQUFBLGNBQWMsRUFBRTtBQUFsQixDQUF4QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxNQUFNQyxRQUFRLEdBQUdDLElBQUksSUFBSUwsSUFBSSxDQUFDTSxRQUFMLENBQWNELElBQWQsQ0FBekI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUUsZ0JBQWdCLEdBQUcsQ0FBQ0MsS0FBRCxFQUFRQyxLQUFSLEtBQ3ZCLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDL0IsTUFBSSxDQUFDSixLQUFLLENBQUNLLE1BQVgsRUFBbUI7QUFDakIsV0FBT0YsT0FBTyxDQUFDLEVBQUQsQ0FBZDtBQUNEOztBQUVELFFBQU1HLG9CQUFvQixHQUFHTixLQUFLLENBQUNLLE1BQW5DO0FBQ0EsUUFBTUUsZ0JBQWdCLEdBQUcsRUFBekI7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TUFoQlQ7QUFpQkQsQ0ExQkQsQ0FERiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEJlaGF2aW91ciBmcm9tICcuLi9iZWhhdmlvdXInO1xuaW1wb3J0ICogYXMgSW5pdGlhbGl6ZXIgZnJvbSAnLi4vaW5pdGlhbGl6ZXInO1xuXG5pbXBvcnQgeyBFVUxFUiwgUE9PTF9NQVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgSU5JVElBTElaRVJfVFlQRVNfVEhBVF9SRVFVSVJFX1RIUkVFLFxuICBTVVBQT1JURURfSlNPTl9CRUhBVklPVVJfVFlQRVMsXG4gIFNVUFBPUlRFRF9KU09OX0lOSVRJQUxJWkVSX1RZUEVTLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmltcG9ydCBSYXRlIGZyb20gJy4uL2luaXRpYWxpemVyL1JhdGUnO1xuaW1wb3J0IFRleHR1cmVJbml0aWFsaXplciBmcm9tICcuLi9pbml0aWFsaXplci9UZXh0dXJlJztcblxuY29uc3QgREVGQVVMVF9PUFRJT05TID0geyBzaG91bGRBdXRvRW1pdDogdHJ1ZSB9O1xuXG4vKipcbiAqIE1ha2VzIGEgcmF0ZSBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBkYXRhIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCBhIFJhdGUgaW5zdGFuY2VcbiAqIEByZXR1cm4ge1JhdGV9XG4gKi9cbmNvbnN0IG1ha2VSYXRlID0ganNvbiA9PiBSYXRlLmZyb21KU09OKGpzb24pO1xuXG4vKipcbiAqIE1ha2VzIGluaXRpYWxpemVycyBmcm9tIGpzb24gaXRlbXMuXG4gKlxuICogQHBhcmFtIHthcnJheTxvYmplY3Q+fSBpdGVtcyAtIEFuIGFycmF5IG9mIG9iamVjdHMgd2hpY2ggcHJvdmlkZSBpbml0aWFsaXplciBjb25zdHJ1Y3RvciBwYXJhbXNcbiAqIEBwYXJhbSB7b2JqZWN0fSBUSFJFRSAtIFRoZSBXZWIgR0wgQXBpIHRvIHVzZVxuICogQHJldHVybiB7YXJyYXk8SW5pdGlhbGl6ZXI+fVxuICovXG5jb25zdCBtYWtlSW5pdGlhbGl6ZXJzID0gKGl0ZW1zLCBUSFJFRSkgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZShbXSk7XG4gICAgfVxuXG4gICAgY29uc3QgbnVtYmVyT2ZJbml0aWFsaXplcnMgPSBpdGVtcy5sZW5ndGg7XG4gICAgY29uc3QgbWFkZUluaXRpYWxpemVycyA9IFtdO1xuICAgIGNvbnN0IGRvTm90UmVxdWlyZVRleHR1cmVMb2FkaW5nID0gaXRlbXMuZmlsdGVyKFxuICAgICAgKHsgcHJvcGVydGllcyB9KSA9PiAhcHJvcGVydGllcy50ZXh0dXJlXG4gICAgKTtcbiAgICBjb25zdCBkb1JlcXVpcmVUZXh0dXJlTG9hZGluZyA9IGl0ZW1zLmZpbHRlcihcbiAgICAgICh7IHByb3BlcnRpZXMgfSkgPT4gcHJvcGVydGllcy50ZXh0dXJlXG4gICAgKTtcblxuICAgIGRvTm90UmVxdWlyZVRleHR1cmVMb2FkaW5nLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICBjb25zdCB7IHR5cGUsIHByb3BlcnRpZXMgfSA9IGRhdGE7XG5cbiAgICAgIGlmICghU1VQUE9SVEVEX0pTT05fSU5JVElBTElaRVJfVFlQRVMuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChcbiAgICAgICAgICBgVGhlIGluaXRpYWxpemVyIHR5cGUgJHt0eXBlfSBpcyBpbnZhbGlkIG9yIG5vdCB5ZXQgc3VwcG9ydGVkYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoSU5JVElBTElaRVJfVFlQRVNfVEhBVF9SRVFVSVJFX1RIUkVFLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgIG1hZGVJbml0aWFsaXplcnMucHVzaChJbml0aWFsaXplclt0eXBlXS5mcm9tSlNPTihwcm9wZXJ0aWVzLCBUSFJFRSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWFkZUluaXRpYWxpemVycy5wdXNoKEluaXRpYWxpemVyW3R5cGVdLmZyb21KU09OKHByb3BlcnRpZXMpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hZGVJbml0aWFsaXplcnMubGVuZ3RoID09PSBudW1iZXJPZkluaXRpYWxpemVycykge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZShtYWRlSW5pdGlhbGl6ZXJzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGRvUmVxdWlyZVRleHR1cmVMb2FkaW5nLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgIHByb3BlcnRpZXM6IHsgdGV4dHVyZSB9LFxuICAgICAgfSA9IGRhdGE7XG4gICAgICBjb25zdCB0ZXh0dXJlTG9hZGVyID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKTtcblxuICAgICAgaWYgKCFTVVBQT1JURURfSlNPTl9JTklUSUFMSVpFUl9UWVBFUy5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICByZXR1cm4gcmVqZWN0KFxuICAgICAgICAgIGBUaGUgaW5pdGlhbGl6ZXIgdHlwZSAke3R5cGV9IGlzIGludmFsaWQgb3Igbm90IHlldCBzdXBwb3J0ZWRgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRleHR1cmVMb2FkZXIubG9hZChcbiAgICAgICAgdGV4dHVyZSxcbiAgICAgICAgbG9hZGVkVGV4dHVyZSA9PiB7XG4gICAgICAgICAgbWFkZUluaXRpYWxpemVycy5wdXNoKFxuICAgICAgICAgICAgVGV4dHVyZUluaXRpYWxpemVyLmZyb21KU09OKFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4ucHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICBsb2FkZWRUZXh0dXJlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBUSFJFRVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAobWFkZUluaXRpYWxpemVycy5sZW5ndGggPT09IG51bWJlck9mSW5pdGlhbGl6ZXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShtYWRlSW5pdGlhbGl6ZXJzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgcmVqZWN0XG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuLyoqXG4gKiBNYWtlcyBiZWhhdmlvdXJzIGZyb20ganNvbiBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PG9iamVjdD59IGl0ZW1zIC0gQW4gYXJyYXkgb2Ygb2JqZWN0cyB3aGljaCBwcm92aWRlIGJlaGF2aW91ciBjb25zdHJ1Y3RvciBwYXJhbXNcbiAqIEByZXR1cm4ge1Byb21pc2U8YXJyYXk+fVxuICovXG5jb25zdCBtYWtlQmVoYXZpb3VycyA9IGl0ZW1zID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHJlc29sdmUoW10pO1xuICAgIH1cblxuICAgIGNvbnN0IG51bWJlck9mQmVoYXZpb3VycyA9IGl0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBtYWRlQmVoYXZpb3VycyA9IFtdO1xuXG4gICAgaXRlbXMuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgIGNvbnN0IHsgdHlwZSwgcHJvcGVydGllcyB9ID0gZGF0YTtcblxuICAgICAgaWYgKCFTVVBQT1JURURfSlNPTl9CRUhBVklPVVJfVFlQRVMuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChcbiAgICAgICAgICBgVGhlIGJlaGF2aW91ciB0eXBlICR7dHlwZX0gaXMgaW52YWxpZCBvciBub3QgeWV0IHN1cHBvcnRlZGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgbWFkZUJlaGF2aW91cnMucHVzaChCZWhhdmlvdXJbdHlwZV0uZnJvbUpTT04ocHJvcGVydGllcykpO1xuXG4gICAgICBpZiAobWFkZUJlaGF2aW91cnMubGVuZ3RoID09PSBudW1iZXJPZkJlaGF2aW91cnMpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUobWFkZUJlaGF2aW91cnMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuY29uc3QgbWFrZUVtaXR0ZXJzID0gKGVtaXR0ZXJzLCBFbWl0dGVyLCBUSFJFRSwgc2hvdWxkQXV0b0VtaXQpID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAoIWVtaXR0ZXJzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHJlc29sdmUoW10pO1xuICAgIH1cblxuICAgIGNvbnN0IG1hZGVFbWl0dGVycyA9IFtdO1xuICAgIGNvbnN0IG51bWJlck9mRW1pdHRlcnMgPSBlbWl0dGVycy5sZW5ndGg7XG5cbiAgICBpZiAoIW51bWJlck9mRW1pdHRlcnMpIHtcbiAgICAgIHJldHVybiByZXNvbHZlKG1hZGVFbWl0dGVycyk7XG4gICAgfVxuXG4gICAgZW1pdHRlcnMuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgIGNvbnN0IGVtaXR0ZXIgPSBuZXcgRW1pdHRlcigpO1xuICAgICAgY29uc3Qge1xuICAgICAgICByYXRlLFxuICAgICAgICByb3RhdGlvbixcbiAgICAgICAgaW5pdGlhbGl6ZXJzLFxuICAgICAgICBiZWhhdmlvdXJzLFxuICAgICAgICBlbWl0dGVyQmVoYXZpb3VycyA9IFtdLFxuICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgdG90YWxFbWl0VGltZXMgPSBJbmZpbml0eSxcbiAgICAgICAgbGlmZSA9IEluZmluaXR5LFxuICAgICAgfSA9IGRhdGE7XG5cbiAgICAgIGVtaXR0ZXJcbiAgICAgICAgLnNldFJhdGUobWFrZVJhdGUocmF0ZSkpXG4gICAgICAgIC5zZXRSb3RhdGlvbihyb3RhdGlvbilcbiAgICAgICAgLnNldFBvc2l0aW9uKHBvc2l0aW9uKTtcblxuICAgICAgbWFrZUluaXRpYWxpemVycyhpbml0aWFsaXplcnMsIFRIUkVFKVxuICAgICAgICAudGhlbihtYWRlSW5pdGlhbGl6ZXJzID0+IHtcbiAgICAgICAgICBlbWl0dGVyLnNldEluaXRpYWxpemVycyhtYWRlSW5pdGlhbGl6ZXJzKTtcblxuICAgICAgICAgIHJldHVybiBtYWtlQmVoYXZpb3VycyhiZWhhdmlvdXJzKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4obWFkZUJlaGF2aW91cnMgPT4ge1xuICAgICAgICAgIGVtaXR0ZXIuc2V0QmVoYXZpb3VycyhtYWRlQmVoYXZpb3Vycyk7XG5cbiAgICAgICAgICByZXR1cm4gbWFrZUJlaGF2aW91cnMoZW1pdHRlckJlaGF2aW91cnMpO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbihtYWRlRW1pdHRlckJlaGF2aW91cnMgPT4ge1xuICAgICAgICAgIGVtaXR0ZXIuc2V0RW1pdHRlckJlaGF2aW91cnMobWFkZUVtaXR0ZXJCZWhhdmlvdXJzKTtcblxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZW1pdHRlcik7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGVtaXR0ZXIgPT4ge1xuICAgICAgICAgIG1hZGVFbWl0dGVycy5wdXNoKFxuICAgICAgICAgICAgc2hvdWxkQXV0b0VtaXRcbiAgICAgICAgICAgICAgPyBlbWl0dGVyLmVtaXQodG90YWxFbWl0VGltZXMsIGxpZmUpXG4gICAgICAgICAgICAgIDogZW1pdHRlci5zZXRUb3RhbEVtaXRUaW1lcyh0b3RhbEVtaXRUaW1lcykuc2V0TGlmZShsaWZlKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAobWFkZUVtaXR0ZXJzLmxlbmd0aCA9PT0gbnVtYmVyT2ZFbWl0dGVycykge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUobWFkZUVtaXR0ZXJzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9KTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgU3lzdGVtIGluc3RhbmNlIGZyb20gYSBKU09OIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNyZWF0ZSB0aGUgU3lzdGVtIGluc3RhbmNlIGZyb21cbiAqIEBwYXJhbSB7bnVtYmVyfSBqc29uLnByZVBhcnRpY2xlcyAtIFRoZSBwcmVkZXRlcm1pbmVkIG51bWJlciBvZiBwYXJ0aWNsZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBqc29uLmludGVncmF0aW9uVHlwZSAtIFRoZSBpbnRlZ3JhdGlvbiBhbGdvcml0aG0gdG8gdXNlXG4gKiBAcGFyYW0ge2FycmF5PG9iamVjdD59IGpzb24uZW1pdHRlcnMgLSBUaGUgZW1pdHRlcnMgZm9yIHRoZSBzeXN0ZW0gaW5zdGFuY2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBUSFJFRSAtIFRoZSBXZWIgR0wgQXBpIHRvIHVzZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gU3lzdGVtIC0gVGhlIHN5c3RlbSBjbGFzc1xuICogQHBhcmFtIHtmdW5jdGlvbn0gRW1pdHRlciAtIFRoZSBlbWl0dGVyIGNsYXNzXG4gKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlnIG9wdGlvbnNcbiAqIEByZXR1cm4ge1Byb21pc2U8U3lzdGVtPn1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgKGpzb24sIFRIUkVFLCBTeXN0ZW0sIEVtaXR0ZXIsIG9wdGlvbnMgPSB7fSkgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHByZVBhcnRpY2xlcyA9IFBPT0xfTUFYLFxuICAgICAgaW50ZWdyYXRpb25UeXBlID0gRVVMRVIsXG4gICAgICBlbWl0dGVycyA9IFtdLFxuICAgIH0gPSBqc29uO1xuICAgIGNvbnN0IHN5c3RlbSA9IG5ldyBTeXN0ZW0ocHJlUGFydGljbGVzLCBpbnRlZ3JhdGlvblR5cGUpO1xuICAgIGNvbnN0IHsgc2hvdWxkQXV0b0VtaXQgfSA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBtYWtlRW1pdHRlcnMoZW1pdHRlcnMsIEVtaXR0ZXIsIFRIUkVFLCBzaG91bGRBdXRvRW1pdClcbiAgICAgIC50aGVuKG1hZGVFbWl0dGVycyA9PiB7XG4gICAgICAgIGNvbnN0IG51bWJlck9mRW1pdHRlcnMgPSBtYWRlRW1pdHRlcnMubGVuZ3RoO1xuXG4gICAgICAgIGlmICghbnVtYmVyT2ZFbWl0dGVycykge1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKHN5c3RlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBtYWRlRW1pdHRlcnMuZm9yRWFjaChtYWRlRW1pdHRlciA9PiB7XG4gICAgICAgICAgc3lzdGVtLmFkZEVtaXR0ZXIobWFkZUVtaXR0ZXIpO1xuXG4gICAgICAgICAgaWYgKHN5c3RlbS5lbWl0dGVycy5sZW5ndGggPT09IG51bWJlck9mRW1pdHRlcnMpIHtcbiAgICAgICAgICAgIHJlc29sdmUoc3lzdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChyZWplY3QpO1xuICB9KTtcbiJdfQ==
|
|
@@ -221,4 +221,4 @@ Object.assign(Euler.prototype, {
|
|
|
221
221
|
_onChangeCallback: function () {}
|
|
222
222
|
});
|
|
223
223
|
export { Euler };
|
|
224
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL0V1bGVyLmpzIl0sIm5hbWVzIjpbIlF1YXRlcm5pb24iLCJWZWN0b3IzIiwiTWF0cml4NCIsIl9NYXRoIiwiRXVsZXIiLCJ4IiwieSIsInoiLCJvcmRlciIsIl94IiwiX3kiLCJfeiIsIl9vcmRlciIsIkRlZmF1bHRPcmRlciIsIlJvdGF0aW9uT3JkZXJzIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydGllcyIsInByb3RvdHlwZSIsImdldCIsInNldCIsInZhbHVlIiwiX29uQ2hhbmdlQ2FsbGJhY2siLCJhc3NpZ24iLCJpc0V1bGVyIiwiY2xvbmUiLCJjb25zdHJ1Y3RvciIsImNvcHkiLCJldWxlciIsInNldEZyb21Sb3RhdGlvbk1hdHJpeCIsIm0iLCJ1cGRhdGUiLCJjbGFtcCIsInRlIiwiZWxlbWVudHMiLCJtMTEiLCJtMTIiLCJtMTMiLCJtMjEiLCJtMjIiLCJtMjMiLCJtMzEiLCJtMzIiLCJtMzMiLCJNYXRoIiwiYXNpbiIsImFicyIsImF0YW4yIiwiY29uc29sZSIsIndhcm4iLCJzZXRGcm9tUXVhdGVybmlvbiIsIm1hdHJpeCIsInEiLCJtYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbiIsInNldEZyb21WZWN0b3IzIiwidiIsInJlb3JkZXIiLCJuZXdPcmRlciIsInNldEZyb21FdWxlciIsImVxdWFscyIsImZyb21BcnJheSIsImFycmF5IiwidW5kZWZpbmVkIiwidG9BcnJheSIsIm9mZnNldCIsInRvVmVjdG9yMyIsIm9wdGlvbmFsUmVzdWx0IiwiX29uQ2hhbmdlIiwiY2FsbGJhY2siXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVQsUUFBMkIsaUJBQTNCO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixjQUF4QjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsY0FBeEI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLFdBQXRCO0FBRUE7Ozs7OztBQU1BLFNBQVNDLEtBQVQsQ0FBZ0JDLENBQWhCLEVBQW1CQyxDQUFu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NkIsS0FBS0MsRUFBbEMsRUFBc0MsS0FBS0MsRUFBM0MsQ0FBUDtBQUVBLEtBSkQsTUFJTztBQUVOLGFBQU8sSUFBSVYsT0FBSixDQUFhLEtBQUtRLEVBQWxCLEVBQXNCLEtBQUtDLEVBQTNCLEVBQStCLEtBQUtDLEVBQXBDLENBQVA7QUFFQTtBQUVELEdBaFA4QjtBQWtQL0J1RCxFQUFBQSxTQUFTLEVBQUUsVUFBV0MsUUFBWCxFQUFzQjtBQUVoQyxTQUFLOUMsaUJBQUwsR0FBeUI4QyxRQUF6QjtBQUVBLFdBQU8sSUFBUDtBQUVBLEdBeFA4QjtBQTBQL0I5QyxFQUFBQSxpQkFBaUIsRUFBRSxZQUFZLENBQUU7QUExUEYsQ0FBaEM7QUErUEEsU0FBU2pCLEtBQVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWF0ZXJuaW9uIH0gZnJvbSAnLi9RdWF0ZXJuaW9uLmpzJztcbmltcG9ydCB7IFZlY3RvcjMgfSBmcm9tICcuL1ZlY3RvcjMuanMnO1xuaW1wb3J0IHsgTWF0cml4NCB9IGZyb20gJy4vTWF0cml4NC5qcyc7XG5pbXBvcnQgeyBfTWF0aCB9IGZyb20gJy4vTWF0aC5qcyc7XG5cbi8qKlxuICogQGF1dGhvciBtcmRvb2IgLyBodHRwOi8vbXJkb29iLmNvbS9cbiAqIEBhdXRob3IgV2VzdExhbmdsZXkgLyBodHRwOi8vZ2l0aHViLmNvbS9XZXN0TGFuZ2xleVxuICogQGF1dGhvciBiaG91c3RvbiAvIGh0dHA6Ly9jbGFyYS5pb1xuICovXG5cbmZ1bmN0aW9uIEV1bGVyKCB4LCB5LCB6LCBvcmRlciApIHtcblxuXHR0aGlzLl94ID0geCB8fCAwO1xuXHR0aGlzLl95ID0geSB8fCAwO1xuXHR0aGlzLl96ID0geiB8fCAwO1xuXHR0aGlzLl9vcmRlciA9IG9yZGVyIHx8IEV1bGVyLkRlZmF1bHRPcmRlcjtcblxufVxuXG5FdWxlci5Sb3RhdGlvbk9yZGVycyA9IFsgJ1hZWicsICdZWlgnLCAnWlhZJywgJ1haWScsICdZWFonLCAnWllYJyBdO1xuXG5FdWxlci5EZWZhdWx0T3JkZXIgPSAnWFlaJztcblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoIEV1bGVyLnByb3RvdHlwZSwge1xuXG5cdHg6IHtcblxuXHRcdGdldDogZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5feDtcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9LFxuXG5cdHk6IHtcblxuXHRcdGdldDogZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5feTtcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX3kgPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9LFxuXG5cdHo6IHtcblxuXHRcdGdldDogZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5fejtcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX3ogPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9LFxuXG5cdG9yZGVyOiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX29yZGVyO1xuXG5cdFx0fSxcblxuXHRcdHNldDogZnVuY3Rpb24gKCB2YWx1ZSApIHtcblxuXHRcdFx0dGhpcy5fb3JkZXIgPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9XG5cbn0gKTtcblxuT2JqZWN0LmFzc2lnbiggRXVsZXIucHJvdG90eXBlLCB7XG5cblx0aXNFdWxlcjogdHJ1ZSxcblxuXHRzZXQ6IGZ1bmN0aW9uICggeCwgeSwgeiwgb3JkZXIgKSB7XG5cblx0XHR0aGlzLl94ID0geDtcblx0XHR0aGlzLl95ID0geTtcblx0XHR0aGlzLl96ID0gejtcblx0XHR0aGlzLl9vcmRlciA9IG9yZGVyIHx8IHRoaXMuX29yZGVyO1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRjbG9uZTogZnVuY3Rpb24gKCkge1xuXG5cdFx0cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKCB0aGlzLl94LCB0aGlzLl95LCB0aGlzLl96LCB0aGlzLl9vcmRlciApO1xuXG5cdH0sXG5cblx0Y29weTogZnVuY3Rpb24gKCBldWxlciApIHtcblxuXHRcdHRoaXMuX3ggPSBldWxlci5feDtcblx0XHR0aGlzLl95ID0gZXVsZXIuX3k7XG5cdFx0dGhpcy5feiA9IGV1bGVyLl96O1xuXHRcdHRoaXMuX29yZGVyID0gZXVsZXIuX29yZGVyO1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRzZXRGcm9tUm90YXRpb25NYXRyaXg6IGZ1bmN0aW9uICggbSwgb3JkZXIsIHVwZGF0ZSApIHtcblxuXHRcdHZhciBjbGFtcCA9IF9NYXRoLmNsYW1wO1xuXG5cdFx0Ly8gYXNzdW1lcyB0aGUgdXBwZXIgM3gzIG9mIG0gaXMgYSBwdXJlIHJvdGF0aW9uIG1hdHJpeCAoaS5lLCB1bnNjYWxlZClcblxuXHRcdHZhciB0ZSA9IG0uZWxlbWVudHM7XG5cdFx0dmFyIG0xMSA9IHRlWyAwIF0sIG0xMiA9IHRlWyA0IF0sIG0xMyA9IHRlWyA4IF07XG5cdFx0dmFyIG0yMSA9IHRlWyAxIF0sIG0yMiA9IHRlWyA1IF0sIG0yMyA9IHRlWyA5IF07XG5cdFx0dmFyIG0zMSA9IHRlWyAyIF0sIG0zMiA9IHRlWyA2IF0sIG0zMyA9IHRlWyAxMCBdO1xuXG5cdFx0b3JkZXIgPSBvcmRlciB8fCB0aGlzLl9vcmRlcjtcblxuXHRcdGlmICggb3JkZXIgPT09ICdYWVonICkge1xuXG5cdFx0XHR0aGlzLl95ID0gTWF0aC5hc2luKCBjbGFtcCggbTEzLCAtIDEsIDEgKSApO1xuXG5cdFx0XHRpZiAoIE1hdGguYWJzKCBtMTMgKSA8IDAuOTk5OTkgKSB7XG5cblx0XHRcdFx0dGhpcy5feCA9IE1hdGguYXRhbjIoIC0gbTIzLCBtMzMgKTtcblx0XHRcdFx0dGhpcy5feiA9IE1hdGguYXRhbjIoIC0gbTEyLCBtMTEgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHR0aGlzLl94ID0gTWF0aC5hdGFuMiggbTMyLCBtMjIgKTtcblx0XHRcdFx0dGhpcy5feiA9IDA7XG5cblx0XHRcdH1cblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWVhaJyApIHtcblxuXHRcdFx0dGhpcy5feCA9IE1hdGguYXNpbiggLSBjbGFtcCggbTIzLCAtIDEsIDEgKSApO1xuXG5cdFx0XHRpZiAoIE1hdGguYWJzKCBtMjMgKSA8IDAuOTk5OTkgKSB7XG5cblx0XHRcdFx0dGhpcy5feSA9IE1hdGguYXRhbjIoIG0xMywgbTMzICk7XG5cdFx0XHRcdHRoaXMuX3ogPSBNYXRoLmF0YW4yKCBtMjEsIG0yMiApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHRoaXMuX3kgPSBNYXRoLmF0YW4yKCAtIG0zMSwgbTExICk7XG5cdFx0XHRcdHRoaXMuX3ogPSAwO1xuXG5cdFx0XHR9XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1pYWScgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBNYXRoLmFzaW4oIGNsYW1wKCBtMzIsIC0gMSwgMSApICk7XG5cblx0XHRcdGlmICggTWF0aC5hYnMoIG0zMiApIDwgMC45OTk5OSApIHtcblxuXHRcdFx0XHR0aGlzLl95ID0gTWF0aC5hdGFuMiggLSBtMzEsIG0zMyApO1xuXHRcdFx0XHR0aGlzLl96ID0gTWF0aC5hdGFuMiggLSBtMTIsIG0yMiApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHRoaXMuX3kgPSAwO1xuXHRcdFx0XHR0aGlzLl96ID0gTWF0aC5hdGFuMiggbTIxLCBtMTEgKTtcblxuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIGlmICggb3JkZXIgPT09ICdaWVgnICkge1xuXG5cdFx0XHR0aGlzLl95ID0gTWF0aC5hc2luKCAtIGNsYW1wKCBtMzEsIC0gMSwgMSApICk7XG5cblx0XHRcdGlmICggTWF0aC5hYnMoIG0zMSApIDwgMC45OTk5OSApIHtcblxuXHRcdFx0XHR0aGlzLl94ID0gTWF0aC5hdGFuMiggbTMyLCBtMzMgKTtcblx0XHRcdFx0dGhpcy5feiA9IE1hdGguYXRhbjIoIG0yMSwgbTExICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0dGhpcy5feCA9IDA7XG5cdFx0XHRcdHRoaXMuX3ogPSBNYXRoLmF0YW4yKCAtIG0xMiwgbTIyICk7XG5cblx0XHRcdH1cblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWVpYJyApIHtcblxuXHRcdFx0dGhpcy5feiA9IE1hdGguYXNpbiggY2xhbXAoIG0yMSwgLSAxLCAxICkgKTtcblxuXHRcdFx0aWYgKCBNYXRoLmFicyggbTIxICkgPCAwLjk5OTk5ICkge1xuXG5cdFx0XHRcdHRoaXMuX3ggPSBNYXRoLmF0YW4yKCAtIG0yMywgbTIyICk7XG5cdFx0XHRcdHRoaXMuX3kgPSBNYXRoLmF0YW4yKCAtIG0zMSwgbTExICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0dGhpcy5feCA9IDA7XG5cdFx0XHRcdHRoaXMuX3kgPSBNYXRoLmF0YW4yKCBtMTMsIG0zMyApO1xuXG5cdFx0XHR9XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1haWScgKSB7XG5cblx0XHRcdHRoaXMuX3ogPSBNYXRoLmFzaW4oIC0gY2xhbXAoIG0xMiwgLSAxLCAxICkgKTtcblxuXHRcdFx0aWYgKCBNYXRoLmFicyggbTEyICkgPCAwLjk5OTk5ICkge1xuXG5cdFx0XHRcdHRoaXMuX3ggPSBNYXRoLmF0YW4yKCBtMzIsIG0yMiApO1xuXHRcdFx0XHR0aGlzLl95ID0gTWF0aC5hdGFuMiggbTEzLCBtMTEgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHR0aGlzLl94ID0gTWF0aC5hdGFuMiggLSBtMjMsIG0zMyApO1xuXHRcdFx0XHR0aGlzLl95ID0gMDtcblxuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0Y29uc29sZS53YXJuKCAnVEhSRUUuRXVsZXI6IC5zZXRGcm9tUm90YXRpb25NYXRyaXgoKSBnaXZlbiB1bnN1cHBvcnRlZCBvcmRlcjogJyArIG9yZGVyICk7XG5cblx0XHR9XG5cblx0XHR0aGlzLl9vcmRlciA9IG9yZGVyO1xuXG5cdFx0aWYgKCB1cGRhdGUgIT09IGZhbHNlICkgdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRzZXRGcm9tUXVhdGVybmlvbjogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIG1hdHJpeCA9IG5ldyBNYXRyaXg0KCk7XG5cblx0XHRyZXR1cm4gZnVuY3Rpb24gc2V0RnJvbVF1YXRlcm5pb24oIHEsIG9yZGVyLCB1cGRhdGUgKSB7XG5cblx0XHRcdG1hdHJpeC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbiggcSApO1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5zZXRGcm9tUm90YXRpb25NYXRyaXgoIG1hdHJpeCwgb3JkZXIsIHVwZGF0ZSApO1xuXG5cdFx0fTtcblxuXHR9KCksXG5cblx0c2V0RnJvbVZlY3RvcjM6IGZ1bmN0aW9uICggdiwgb3JkZXIgKSB7XG5cblx0XHRyZXR1cm4gdGhpcy5zZXQoIHYueCwgdi55LCB2LnosIG9yZGVyIHx8IHRoaXMuX29yZGVyICk7XG5cblx0fSxcblxuXHRyZW9yZGVyOiBmdW5jdGlvbiAoKSB7XG5cblx0XHQvLyBXQVJOSU5HOiB0aGlzIGRpc2NhcmRzIHJldm9sdXRpb24gaW5mb3JtYXRpb24gLWJob3VzdG9uXG5cblx0XHR2YXIgcSA9IG5ldyBRdWF0ZXJuaW9uKCk7XG5cblx0XHRyZXR1cm4gZnVuY3Rpb24gcmVvcmRlciggbmV3T3JkZXIgKSB7XG5cblx0XHRcdHEuc2V0RnJvbUV1bGVyKCB0aGlzICk7XG5cblx0XHRcdHJldHVybiB0aGlzLnNldEZyb21RdWF0ZXJuaW9uKCBxLCBuZXdPcmRlciApO1xuXG5cdFx0fTtcblxuXHR9KCksXG5cblx0ZXF1YWxzOiBmdW5jdGlvbiAoIGV1bGVyICkge1xuXG5cdFx0cmV0dXJuICggZXVsZXIuX3ggPT09IHRoaXMuX3ggKSAmJiAoIGV1bGVyLl95ID09PSB0aGlzLl95ICkgJiYgKCBldWxlci5feiA9PT0gdGhpcy5feiApICYmICggZXVsZXIuX29yZGVyID09PSB0aGlzLl9vcmRlciApO1xuXG5cdH0sXG5cblx0ZnJvbUFycmF5OiBmdW5jdGlvbiAoIGFycmF5ICkge1xuXG5cdFx0dGhpcy5feCA9IGFycmF5WyAwIF07XG5cdFx0dGhpcy5feSA9IGFycmF5WyAxIF07XG5cdFx0dGhpcy5feiA9IGFycmF5WyAyIF07XG5cdFx0aWYgKCBhcnJheVsgMyBdICE9PSB1bmRlZmluZWQgKSB0aGlzLl9vcmRlciA9IGFycmF5WyAzIF07XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHRvQXJyYXk6IGZ1bmN0aW9uICggYXJyYXksIG9mZnNldCApIHtcblxuXHRcdGlmICggYXJyYXkgPT09IHVuZGVmaW5lZCApIGFycmF5ID0gW107XG5cdFx0aWYgKCBvZmZzZXQgPT09IHVuZGVmaW5lZCApIG9mZnNldCA9IDA7XG5cblx0XHRhcnJheVsgb2Zmc2V0IF0gPSB0aGlzLl94O1xuXHRcdGFycmF5WyBvZmZzZXQgKyAxIF0gPSB0aGlzLl95O1xuXHRcdGFycmF5WyBvZmZzZXQgKyAyIF0gPSB0aGlzLl96O1xuXHRcdGFycmF5WyBvZmZzZXQgKyAzIF0gPSB0aGlzLl9vcmRlcjtcblxuXHRcdHJldHVybiBhcnJheTtcblxuXHR9LFxuXG5cdHRvVmVjdG9yMzogZnVuY3Rpb24gKCBvcHRpb25hbFJlc3VsdCApIHtcblxuXHRcdGlmICggb3B0aW9uYWxSZXN1bHQgKSB7XG5cblx0XHRcdHJldHVybiBvcHRpb25hbFJlc3VsdC5zZXQoIHRoaXMuX3gsIHRoaXMuX3ksIHRoaXMuX3ogKTtcblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdHJldHVybiBuZXcgVmVjdG9yMyggdGhpcy5feCwgdGhpcy5feSwgdGhpcy5feiApO1xuXG5cdFx0fVxuXG5cdH0sXG5cblx0X29uQ2hhbmdlOiBmdW5jdGlvbiAoIGNhbGxiYWNrICkge1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjayA9IGNhbGxiYWNrO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRfb25DaGFuZ2VDYWxsYmFjazogZnVuY3Rpb24gKCkge31cblxufSApO1xuXG5cbmV4cG9ydCB7IEV1bGVyIH07Il19
|
|
224
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL0V1bGVyLmpzIl0sIm5hbWVzIjpbIlF1YXRlcm5pb24iLCJWZWN0b3IzIiwiTWF0cml4NCIsIl9NYXRoIiwiRXVsZXIiLCJ4IiwieSIsInoiLCJvcmRlciIsIl94IiwiX3kiLCJfeiIsIl9vcmRlciIsIkRlZmF1bHRPcmRlciIsIlJvdGF0aW9uT3JkZXJzIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydGllcyIsInByb3RvdHlwZSIsImdldCIsInNldCIsInZhbHVlIiwiX29uQ2hhbmdlQ2FsbGJhY2siLCJhc3NpZ24iLCJpc0V1bGVyIiwiY2xvbmUiLCJjb25zdHJ1Y3RvciIsImNvcHkiLCJldWxlciIsInNldEZyb21Sb3RhdGlvbk1hdHJpeCIsIm0iLCJ1cGRhdGUiLCJjbGFtcCIsInRlIiwiZWxlbWVudHMiLCJtMTEiLCJtMTIiLCJtMTMiLCJtMjEiLCJtMjIiLCJtMjMiLCJtMzEiLCJtMzIiLCJtMzMiLCJNYXRoIiwiYXNpbiIsImFicyIsImF0YW4yIiwiY29uc29sZSIsIndhcm4iLCJzZXRGcm9tUXVhdGVybmlvbiIsIm1hdHJpeCIsInEiLCJtYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbiIsInNldEZyb21WZWN0b3IzIiwidiIsInJlb3JkZXIiLCJuZXdPcmRlciIsInNldEZyb21FdWxlciIsImVxdWFscyIsImZyb21BcnJheSIsImFycmF5IiwidW5kZWZpbmVkIiwidG9BcnJheSIsIm9mZnNldCIsInRvVmVjdG9yMyIsIm9wdGlvbmFsUmVzdWx0IiwiX29uQ2hhbmdlIiwiY2FsbGJhY2siXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVQsUUFBMkIsaUJBQTNCO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixjQUF4QjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsY0FBeEI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLFdBQXRCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTQyxLQUFULENBQWdCQyxD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LEtBQUtWLEVBQXpCLEVBQTZCLEtBQUtDLEVBQWxDLEVBQXNDLEtBQUtDLEVBQTNDLENBQVA7QUFFQSxLQUpELE1BSU87QUFFTixhQUFPLElBQUlWLE9BQUosQ0FBYSxLQUFLUSxFQUFsQixFQUFzQixLQUFLQyxFQUEzQixFQUErQixLQUFLQyxFQUFwQyxDQUFQO0FBRUE7QUFFRCxHQWhQOEI7QUFrUC9CdUQsRUFBQUEsU0FBUyxFQUFFLFVBQVdDLFFBQVgsRUFBc0I7QUFFaEMsU0FBSzlDLGlCQUFMLEdBQXlCOEMsUUFBekI7QUFFQSxXQUFPLElBQVA7QUFFQSxHQXhQOEI7QUEwUC9COUMsRUFBQUEsaUJBQWlCLEVBQUUsWUFBWSxDQUFFO0FBMVBGLENBQWhDO0FBK1BBLFNBQVNqQixLQUFUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVhdGVybmlvbiB9IGZyb20gJy4vUXVhdGVybmlvbi5qcyc7XG5pbXBvcnQgeyBWZWN0b3IzIH0gZnJvbSAnLi9WZWN0b3IzLmpzJztcbmltcG9ydCB7IE1hdHJpeDQgfSBmcm9tICcuL01hdHJpeDQuanMnO1xuaW1wb3J0IHsgX01hdGggfSBmcm9tICcuL01hdGguanMnO1xuXG4vKipcbiAqIEBhdXRob3IgbXJkb29iIC8gaHR0cDovL21yZG9vYi5jb20vXG4gKiBAYXV0aG9yIFdlc3RMYW5nbGV5IC8gaHR0cDovL2dpdGh1Yi5jb20vV2VzdExhbmdsZXlcbiAqIEBhdXRob3IgYmhvdXN0b24gLyBodHRwOi8vY2xhcmEuaW9cbiAqL1xuXG5mdW5jdGlvbiBFdWxlciggeCwgeSwgeiwgb3JkZXIgKSB7XG5cblx0dGhpcy5feCA9IHggfHwgMDtcblx0dGhpcy5feSA9IHkgfHwgMDtcblx0dGhpcy5feiA9IHogfHwgMDtcblx0dGhpcy5fb3JkZXIgPSBvcmRlciB8fCBFdWxlci5EZWZhdWx0T3JkZXI7XG5cbn1cblxuRXVsZXIuUm90YXRpb25PcmRlcnMgPSBbICdYWVonLCAnWVpYJywgJ1pYWScsICdYWlknLCAnWVhaJywgJ1pZWCcgXTtcblxuRXVsZXIuRGVmYXVsdE9yZGVyID0gJ1hZWic7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBFdWxlci5wcm90b3R5cGUsIHtcblxuXHR4OiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX3g7XG5cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiAoIHZhbHVlICkge1xuXG5cdFx0XHR0aGlzLl94ID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fSxcblxuXHR5OiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX3k7XG5cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiAoIHZhbHVlICkge1xuXG5cdFx0XHR0aGlzLl95ID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fSxcblxuXHR6OiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX3o7XG5cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiAoIHZhbHVlICkge1xuXG5cdFx0XHR0aGlzLl96ID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fSxcblxuXHRvcmRlcjoge1xuXG5cdFx0Z2V0OiBmdW5jdGlvbiAoKSB7XG5cblx0XHRcdHJldHVybiB0aGlzLl9vcmRlcjtcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX29yZGVyID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fVxuXG59ICk7XG5cbk9iamVjdC5hc3NpZ24oIEV1bGVyLnByb3RvdHlwZSwge1xuXG5cdGlzRXVsZXI6IHRydWUsXG5cblx0c2V0OiBmdW5jdGlvbiAoIHgsIHksIHosIG9yZGVyICkge1xuXG5cdFx0dGhpcy5feCA9IHg7XG5cdFx0dGhpcy5feSA9IHk7XG5cdFx0dGhpcy5feiA9IHo7XG5cdFx0dGhpcy5fb3JkZXIgPSBvcmRlciB8fCB0aGlzLl9vcmRlcjtcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0Y2xvbmU6IGZ1bmN0aW9uICgpIHtcblxuXHRcdHJldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3RvciggdGhpcy5feCwgdGhpcy5feSwgdGhpcy5feiwgdGhpcy5fb3JkZXIgKTtcblxuXHR9LFxuXG5cdGNvcHk6IGZ1bmN0aW9uICggZXVsZXIgKSB7XG5cblx0XHR0aGlzLl94ID0gZXVsZXIuX3g7XG5cdFx0dGhpcy5feSA9IGV1bGVyLl95O1xuXHRcdHRoaXMuX3ogPSBldWxlci5fejtcblx0XHR0aGlzLl9vcmRlciA9IGV1bGVyLl9vcmRlcjtcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2V0RnJvbVJvdGF0aW9uTWF0cml4OiBmdW5jdGlvbiAoIG0sIG9yZGVyLCB1cGRhdGUgKSB7XG5cblx0XHR2YXIgY2xhbXAgPSBfTWF0aC5jbGFtcDtcblxuXHRcdC8vIGFzc3VtZXMgdGhlIHVwcGVyIDN4MyBvZiBtIGlzIGEgcHVyZSByb3RhdGlvbiBtYXRyaXggKGkuZSwgdW5zY2FsZWQpXG5cblx0XHR2YXIgdGUgPSBtLmVsZW1lbnRzO1xuXHRcdHZhciBtMTEgPSB0ZVsgMCBdLCBtMTIgPSB0ZVsgNCBdLCBtMTMgPSB0ZVsgOCBdO1xuXHRcdHZhciBtMjEgPSB0ZVsgMSBdLCBtMjIgPSB0ZVsgNSBdLCBtMjMgPSB0ZVsgOSBdO1xuXHRcdHZhciBtMzEgPSB0ZVsgMiBdLCBtMzIgPSB0ZVsgNiBdLCBtMzMgPSB0ZVsgMTAgXTtcblxuXHRcdG9yZGVyID0gb3JkZXIgfHwgdGhpcy5fb3JkZXI7XG5cblx0XHRpZiAoIG9yZGVyID09PSAnWFlaJyApIHtcblxuXHRcdFx0dGhpcy5feSA9IE1hdGguYXNpbiggY2xhbXAoIG0xMywgLSAxLCAxICkgKTtcblxuXHRcdFx0aWYgKCBNYXRoLmFicyggbTEzICkgPCAwLjk5OTk5ICkge1xuXG5cdFx0XHRcdHRoaXMuX3ggPSBNYXRoLmF0YW4yKCAtIG0yMywgbTMzICk7XG5cdFx0XHRcdHRoaXMuX3ogPSBNYXRoLmF0YW4yKCAtIG0xMiwgbTExICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0dGhpcy5feCA9IE1hdGguYXRhbjIoIG0zMiwgbTIyICk7XG5cdFx0XHRcdHRoaXMuX3ogPSAwO1xuXG5cdFx0XHR9XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1lYWicgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBNYXRoLmFzaW4oIC0gY2xhbXAoIG0yMywgLSAxLCAxICkgKTtcblxuXHRcdFx0aWYgKCBNYXRoLmFicyggbTIzICkgPCAwLjk5OTk5ICkge1xuXG5cdFx0XHRcdHRoaXMuX3kgPSBNYXRoLmF0YW4yKCBtMTMsIG0zMyApO1xuXHRcdFx0XHR0aGlzLl96ID0gTWF0aC5hdGFuMiggbTIxLCBtMjIgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHR0aGlzLl95ID0gTWF0aC5hdGFuMiggLSBtMzEsIG0xMSApO1xuXHRcdFx0XHR0aGlzLl96ID0gMDtcblxuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIGlmICggb3JkZXIgPT09ICdaWFknICkge1xuXG5cdFx0XHR0aGlzLl94ID0gTWF0aC5hc2luKCBjbGFtcCggbTMyLCAtIDEsIDEgKSApO1xuXG5cdFx0XHRpZiAoIE1hdGguYWJzKCBtMzIgKSA8IDAuOTk5OTkgKSB7XG5cblx0XHRcdFx0dGhpcy5feSA9IE1hdGguYXRhbjIoIC0gbTMxLCBtMzMgKTtcblx0XHRcdFx0dGhpcy5feiA9IE1hdGguYXRhbjIoIC0gbTEyLCBtMjIgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHR0aGlzLl95ID0gMDtcblx0XHRcdFx0dGhpcy5feiA9IE1hdGguYXRhbjIoIG0yMSwgbTExICk7XG5cblx0XHRcdH1cblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWllYJyApIHtcblxuXHRcdFx0dGhpcy5feSA9IE1hdGguYXNpbiggLSBjbGFtcCggbTMxLCAtIDEsIDEgKSApO1xuXG5cdFx0XHRpZiAoIE1hdGguYWJzKCBtMzEgKSA8IDAuOTk5OTkgKSB7XG5cblx0XHRcdFx0dGhpcy5feCA9IE1hdGguYXRhbjIoIG0zMiwgbTMzICk7XG5cdFx0XHRcdHRoaXMuX3ogPSBNYXRoLmF0YW4yKCBtMjEsIG0xMSApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHRoaXMuX3ggPSAwO1xuXHRcdFx0XHR0aGlzLl96ID0gTWF0aC5hdGFuMiggLSBtMTIsIG0yMiApO1xuXG5cdFx0XHR9XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1laWCcgKSB7XG5cblx0XHRcdHRoaXMuX3ogPSBNYXRoLmFzaW4oIGNsYW1wKCBtMjEsIC0gMSwgMSApICk7XG5cblx0XHRcdGlmICggTWF0aC5hYnMoIG0yMSApIDwgMC45OTk5OSApIHtcblxuXHRcdFx0XHR0aGlzLl94ID0gTWF0aC5hdGFuMiggLSBtMjMsIG0yMiApO1xuXHRcdFx0XHR0aGlzLl95ID0gTWF0aC5hdGFuMiggLSBtMzEsIG0xMSApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHRoaXMuX3ggPSAwO1xuXHRcdFx0XHR0aGlzLl95ID0gTWF0aC5hdGFuMiggbTEzLCBtMzMgKTtcblxuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIGlmICggb3JkZXIgPT09ICdYWlknICkge1xuXG5cdFx0XHR0aGlzLl96ID0gTWF0aC5hc2luKCAtIGNsYW1wKCBtMTIsIC0gMSwgMSApICk7XG5cblx0XHRcdGlmICggTWF0aC5hYnMoIG0xMiApIDwgMC45OTk5OSApIHtcblxuXHRcdFx0XHR0aGlzLl94ID0gTWF0aC5hdGFuMiggbTMyLCBtMjIgKTtcblx0XHRcdFx0dGhpcy5feSA9IE1hdGguYXRhbjIoIG0xMywgbTExICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0dGhpcy5feCA9IE1hdGguYXRhbjIoIC0gbTIzLCBtMzMgKTtcblx0XHRcdFx0dGhpcy5feSA9IDA7XG5cblx0XHRcdH1cblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdGNvbnNvbGUud2FybiggJ1RIUkVFLkV1bGVyOiAuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCkgZ2l2ZW4gdW5zdXBwb3J0ZWQgb3JkZXI6ICcgKyBvcmRlciApO1xuXG5cdFx0fVxuXG5cdFx0dGhpcy5fb3JkZXIgPSBvcmRlcjtcblxuXHRcdGlmICggdXBkYXRlICE9PSBmYWxzZSApIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2V0RnJvbVF1YXRlcm5pb246IGZ1bmN0aW9uICgpIHtcblxuXHRcdHZhciBtYXRyaXggPSBuZXcgTWF0cml4NCgpO1xuXG5cdFx0cmV0dXJuIGZ1bmN0aW9uIHNldEZyb21RdWF0ZXJuaW9uKCBxLCBvcmRlciwgdXBkYXRlICkge1xuXG5cdFx0XHRtYXRyaXgubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24oIHEgKTtcblxuXHRcdFx0cmV0dXJuIHRoaXMuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCBtYXRyaXgsIG9yZGVyLCB1cGRhdGUgKTtcblxuXHRcdH07XG5cblx0fSgpLFxuXG5cdHNldEZyb21WZWN0b3IzOiBmdW5jdGlvbiAoIHYsIG9yZGVyICkge1xuXG5cdFx0cmV0dXJuIHRoaXMuc2V0KCB2LngsIHYueSwgdi56LCBvcmRlciB8fCB0aGlzLl9vcmRlciApO1xuXG5cdH0sXG5cblx0cmVvcmRlcjogZnVuY3Rpb24gKCkge1xuXG5cdFx0Ly8gV0FSTklORzogdGhpcyBkaXNjYXJkcyByZXZvbHV0aW9uIGluZm9ybWF0aW9uIC1iaG91c3RvblxuXG5cdFx0dmFyIHEgPSBuZXcgUXVhdGVybmlvbigpO1xuXG5cdFx0cmV0dXJuIGZ1bmN0aW9uIHJlb3JkZXIoIG5ld09yZGVyICkge1xuXG5cdFx0XHRxLnNldEZyb21FdWxlciggdGhpcyApO1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5zZXRGcm9tUXVhdGVybmlvbiggcSwgbmV3T3JkZXIgKTtcblxuXHRcdH07XG5cblx0fSgpLFxuXG5cdGVxdWFsczogZnVuY3Rpb24gKCBldWxlciApIHtcblxuXHRcdHJldHVybiAoIGV1bGVyLl94ID09PSB0aGlzLl94ICkgJiYgKCBldWxlci5feSA9PT0gdGhpcy5feSApICYmICggZXVsZXIuX3ogPT09IHRoaXMuX3ogKSAmJiAoIGV1bGVyLl9vcmRlciA9PT0gdGhpcy5fb3JkZXIgKTtcblxuXHR9LFxuXG5cdGZyb21BcnJheTogZnVuY3Rpb24gKCBhcnJheSApIHtcblxuXHRcdHRoaXMuX3ggPSBhcnJheVsgMCBdO1xuXHRcdHRoaXMuX3kgPSBhcnJheVsgMSBdO1xuXHRcdHRoaXMuX3ogPSBhcnJheVsgMiBdO1xuXHRcdGlmICggYXJyYXlbIDMgXSAhPT0gdW5kZWZpbmVkICkgdGhpcy5fb3JkZXIgPSBhcnJheVsgMyBdO1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHR0b0FycmF5OiBmdW5jdGlvbiAoIGFycmF5LCBvZmZzZXQgKSB7XG5cblx0XHRpZiAoIGFycmF5ID09PSB1bmRlZmluZWQgKSBhcnJheSA9IFtdO1xuXHRcdGlmICggb2Zmc2V0ID09PSB1bmRlZmluZWQgKSBvZmZzZXQgPSAwO1xuXG5cdFx0YXJyYXlbIG9mZnNldCBdID0gdGhpcy5feDtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMSBdID0gdGhpcy5feTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMiBdID0gdGhpcy5fejtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMyBdID0gdGhpcy5fb3JkZXI7XG5cblx0XHRyZXR1cm4gYXJyYXk7XG5cblx0fSxcblxuXHR0b1ZlY3RvcjM6IGZ1bmN0aW9uICggb3B0aW9uYWxSZXN1bHQgKSB7XG5cblx0XHRpZiAoIG9wdGlvbmFsUmVzdWx0ICkge1xuXG5cdFx0XHRyZXR1cm4gb3B0aW9uYWxSZXN1bHQuc2V0KCB0aGlzLl94LCB0aGlzLl95LCB0aGlzLl96ICk7XG5cblx0XHR9IGVsc2Uge1xuXG5cdFx0XHRyZXR1cm4gbmV3IFZlY3RvcjMoIHRoaXMuX3gsIHRoaXMuX3ksIHRoaXMuX3ogKTtcblxuXHRcdH1cblxuXHR9LFxuXG5cdF9vbkNoYW5nZTogZnVuY3Rpb24gKCBjYWxsYmFjayApIHtcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0X29uQ2hhbmdlQ2FsbGJhY2s6IGZ1bmN0aW9uICgpIHt9XG5cbn0gKTtcblxuXG5leHBvcnQgeyBFdWxlciB9OyJdfQ==
|
|
@@ -81,4 +81,4 @@ var _Math = {
|
|
|
81
81
|
}
|
|
82
82
|
};
|
|
83
83
|
export { _Math };
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL01hdGguanMiXSwibmFtZXMiOlsiX01hdGgiLCJERUcyUkFEIiwiTWF0aCIsIlBJIiwiUkFEMkRFRyIsImdlbmVyYXRlVVVJRCIsImx1dCIsImkiLCJ0b1N0cmluZyIsImQwIiwicmFuZG9tIiwiZDEiLCJkMiIsImQzIiwidXVpZCIsInRvVXBwZXJDYXNlIiwiY2xhbXAiLCJ2YWx1ZSIsIm1pbiIsIm1heCIsImV1Y2xpZGVhbk1vZHVsbyIsIm4iLCJtIiwibWFwTGluZWFyIiwieCIsImExIiwiYTIiLCJiMSIsImIyIiwibGVycCIsInkiLCJ0Iiwic21vb3Roc3RlcCIsInNtb290aGVyc3RlcCIsInJhbmRJbnQiLCJsb3ciLCJoaWdoIiwiZmxvb3IiLCJyYW5kRmxvYXQiLCJyYW5kRmxvYXRTcHJlYWQiLCJyYW5nZSIsImRlZ1RvUmFkIiwiZGVncmVlcyIsInJhZFRvRGVnIiwicmFkaWFucyIsImlzUG93ZXJPZlR3byIsImNlaWxQb3dlck9mVHdvIiwicG93IiwiY2VpbCIsImxvZyIsIkxOMiIsImZsb29yUG93ZXJPZlR3byJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7QUFLQSxJQUFJQSxLQUFLLEdBQUc7QUFFWEMsRUFBQUEsT0FBTyxFQUFFQyxJQUFJLENBQUNDLEVBQUwsR0FBVSxHQUZSO0FBR1hDLEVBQUFBLE9BQU8sRUFBRSxNQUFNRixJQUFJLENBQUNDLEVBSFQ7QUFLWEUsRUFBQUEsWUFBWSxFQUFJLFlBQVk7QUFFM0I7QUFFQSxRQUFJQyxHQUFHLEdBQUcsRUFBVjs7QUFFQSxTQUFNLElBQUlDLENBQUMsR0FBRyxDQUFkLEVBQWlCQSxDQUFDLEdBQUcsR0FBckIsRUFBMEJBLENBQUMsRUFBM0IsRUFBaUM7QUFFaENELE1BQUFBLEdBQUcsQ0FBRUMsQ0FBRixDQUFILEdBQVcsQ0FBRUEsQ0FBQyxHQUFHLEVBQUosR0FBUyxHQUFULEdBQWUsRUFBakIsSUFBMEJBLENBQUYsQ0FBTUMsUUFBTixDQUFnQixF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RCxLQUFUIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAYXV0aG9yIGFsdGVyZWRxIC8gaHR0cDovL2FsdGVyZWRxdWFsaWEuY29tL1xuICogQGF1dGhvciBtcmRvb2IgLyBodHRwOi8vbXJkb29iLmNvbS9cbiAqL1xuXG52YXIgX01hdGggPSB7XG5cblx0REVHMlJBRDogTWF0aC5QSSAvIDE4MCxcblx0UkFEMkRFRzogMTgwIC8gTWF0aC5QSSxcblxuXHRnZW5lcmF0ZVVVSUQ6ICggZnVuY3Rpb24gKCkge1xuXG5cdFx0Ly8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDUwMzQvaG93LXRvLWNyZWF0ZS1hLWd1aWQtdXVpZC1pbi1qYXZhc2NyaXB0LzIxOTYzMTM2IzIxOTYzMTM2XG5cblx0XHR2YXIgbHV0ID0gW107XG5cblx0XHRmb3IgKCB2YXIgaSA9IDA7IGkgPCAyNTY7IGkgKysgKSB7XG5cblx0XHRcdGx1dFsgaSBdID0gKCBpIDwgMTYgPyAnMCcgOiAnJyApICsgKCBpICkudG9TdHJpbmcoIDE2ICk7XG5cblx0XHR9XG5cblx0XHRyZXR1cm4gZnVuY3Rpb24gZ2VuZXJhdGVVVUlEKCkge1xuXG5cdFx0XHR2YXIgZDAgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgZDEgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgZDIgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgZDMgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgdXVpZCA9IGx1dFsgZDAgJiAweGZmIF0gKyBsdXRbIGQwID4+IDggJiAweGZmIF0gKyBsdXRbIGQwID4+IDE2ICYgMHhmZiBdICsgbHV0WyBkMCA+PiAyNCAmIDB4ZmYgXSArICctJyArXG5cdFx0XHRcdGx1dFsgZDEgJiAweGZmIF0gKyBsdXRbIGQxID4+IDggJiAweGZmIF0gKyAnLScgKyBsdXRbIGQxID4+IDE2ICYgMHgwZiB8IDB4NDAgXSArIGx1dFsgZDEgPj4gMjQgJiAweGZmIF0gKyAnLScgK1xuXHRcdFx0XHRsdXRbIGQyICYgMHgzZiB8IDB4ODAgXSArIGx1dFsgZDIgPj4gOCAmIDB4ZmYgXSArICctJyArIGx1dFsgZDIgPj4gMTYgJiAweGZmIF0gKyBsdXRbIGQyID4+IDI0ICYgMHhmZiBdICtcblx0XHRcdFx0bHV0WyBkMyAmIDB4ZmYgXSArIGx1dFsgZDMgPj4gOCAmIDB4ZmYgXSArIGx1dFsgZDMgPj4gMTYgJiAweGZmIF0gKyBsdXRbIGQzID4+IDI0ICYgMHhmZiBdO1xuXG5cdFx0XHQvLyAudG9VcHBlckNhc2UoKSBoZXJlIGZsYXR0ZW5zIGNvbmNhdGVuYXRlZCBzdHJpbmdzIHRvIHNhdmUgaGVhcCBtZW1vcnkgc3BhY2UuXG5cdFx0XHRyZXR1cm4gdXVpZC50b1VwcGVyQ2FzZSgpO1xuXG5cdFx0fTtcblxuXHR9ICkoKSxcblxuXHRjbGFtcDogZnVuY3Rpb24gKCB2YWx1ZSwgbWluLCBtYXggKSB7XG5cblx0XHRyZXR1cm4gTWF0aC5tYXgoIG1pbiwgTWF0aC5taW4oIG1heCwgdmFsdWUgKSApO1xuXG5cdH0sXG5cblx0Ly8gY29tcHV0ZSBldWNsaWRpYW4gbW9kdWxvIG9mIG0gJSBuXG5cdC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01vZHVsb19vcGVyYXRpb25cblxuXHRldWNsaWRlYW5Nb2R1bG86IGZ1bmN0aW9uICggbiwgbSApIHtcblxuXHRcdHJldHVybiAoICggbiAlIG0gKSArIG0gKSAlIG07XG5cblx0fSxcblxuXHQvLyBMaW5lYXIgbWFwcGluZyBmcm9tIHJhbmdlIDxhMSwgYTI+IHRvIHJhbmdlIDxiMSwgYjI+XG5cblx0bWFwTGluZWFyOiBmdW5jdGlvbiAoIHgsIGExLCBhMiwgYjEsIGIyICkge1xuXG5cdFx0cmV0dXJuIGIxICsgKCB4IC0gYTEgKSAqICggYjIgLSBiMSApIC8gKCBhMiAtIGExICk7XG5cblx0fSxcblxuXHQvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaW5lYXJfaW50ZXJwb2xhdGlvblxuXG5cdGxlcnA6IGZ1bmN0aW9uICggeCwgeSwgdCApIHtcblxuXHRcdHJldHVybiAoIDEgLSB0ICkgKiB4ICsgdCAqIHk7XG5cblx0fSxcblxuXHQvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Ntb290aHN0ZXBcblxuXHRzbW9vdGhzdGVwOiBmdW5jdGlvbiAoIHgsIG1pbiwgbWF4ICkge1xuXG5cdFx0aWYgKCB4IDw9IG1pbiApIHJldHVybiAwO1xuXHRcdGlmICggeCA+PSBtYXggKSByZXR1cm4gMTtcblxuXHRcdHggPSAoIHggLSBtaW4gKSAvICggbWF4IC0gbWluICk7XG5cblx0XHRyZXR1cm4geCAqIHggKiAoIDMgLSAyICogeCApO1xuXG5cdH0sXG5cblx0c21vb3RoZXJzdGVwOiBmdW5jdGlvbiAoIHgsIG1pbiwgbWF4ICkge1xuXG5cdFx0aWYgKCB4IDw9IG1pbiApIHJldHVybiAwO1xuXHRcdGlmICggeCA+PSBtYXggKSByZXR1cm4gMTtcblxuXHRcdHggPSAoIHggLSBtaW4gKSAvICggbWF4IC0gbWluICk7XG5cblx0XHRyZXR1cm4geCAqIHggKiB4ICogKCB4ICogKCB4ICogNiAtIDE1ICkgKyAxMCApO1xuXG5cdH0sXG5cblx0Ly8gUmFuZG9tIGludGVnZXIgZnJvbSA8bG93LCBoaWdoPiBpbnRlcnZhbFxuXG5cdHJhbmRJbnQ6IGZ1bmN0aW9uICggbG93LCBoaWdoICkge1xuXG5cdFx0cmV0dXJuIGxvdyArIE1hdGguZmxvb3IoIE1hdGgucmFuZG9tKCkgKiAoIGhpZ2ggLSBsb3cgKyAxICkgKTtcblxuXHR9LFxuXG5cdC8vIFJhbmRvbSBmbG9hdCBmcm9tIDxsb3csIGhpZ2g+IGludGVydmFsXG5cblx0cmFuZEZsb2F0OiBmdW5jdGlvbiAoIGxvdywgaGlnaCApIHtcblxuXHRcdHJldHVybiBsb3cgKyBNYXRoLnJhbmRvbSgpICogKCBoaWdoIC0gbG93ICk7XG5cblx0fSxcblxuXHQvLyBSYW5kb20gZmxvYXQgZnJvbSA8LXJhbmdlLzIsIHJhbmdlLzI+IGludGVydmFsXG5cblx0cmFuZEZsb2F0U3ByZWFkOiBmdW5jdGlvbiAoIHJhbmdlICkge1xuXG5cdFx0cmV0dXJuIHJhbmdlICogKCAwLjUgLSBNYXRoLnJhbmRvbSgpICk7XG5cblx0fSxcblxuXHRkZWdUb1JhZDogZnVuY3Rpb24gKCBkZWdyZWVzICkge1xuXG5cdFx0cmV0dXJuIGRlZ3JlZXMgKiBfTWF0aC5ERUcyUkFEO1xuXG5cdH0sXG5cblx0cmFkVG9EZWc6IGZ1bmN0aW9uICggcmFkaWFucyApIHtcblxuXHRcdHJldHVybiByYWRpYW5zICogX01hdGguUkFEMkRFRztcblxuXHR9LFxuXG5cdGlzUG93ZXJPZlR3bzogZnVuY3Rpb24gKCB2YWx1ZSApIHtcblxuXHRcdHJldHVybiAoIHZhbHVlICYgKCB2YWx1ZSAtIDEgKSApID09PSAwICYmIHZhbHVlICE9PSAwO1xuXG5cdH0sXG5cblx0Y2VpbFBvd2VyT2ZUd286IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRyZXR1cm4gTWF0aC5wb3coIDIsIE1hdGguY2VpbCggTWF0aC5sb2coIHZhbHVlICkgLyBNYXRoLkxOMiApICk7XG5cblx0fSxcblxuXHRmbG9vclBvd2VyT2ZUd286IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRyZXR1cm4gTWF0aC5wb3coIDIsIE1hdGguZmxvb3IoIE1hdGgubG9nKCB2YWx1ZSApIC8gTWF0aC5MTjIgKSApO1xuXG5cdH1cblxufTtcblxuXG5leHBvcnQgeyBfTWF0aCB9OyJdfQ==
|
|
84
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL01hdGguanMiXSwibmFtZXMiOlsiX01hdGgiLCJERUcyUkFEIiwiTWF0aCIsIlBJIiwiUkFEMkRFRyIsImdlbmVyYXRlVVVJRCIsImx1dCIsImkiLCJ0b1N0cmluZyIsImQwIiwicmFuZG9tIiwiZDEiLCJkMiIsImQzIiwidXVpZCIsInRvVXBwZXJDYXNlIiwiY2xhbXAiLCJ2YWx1ZSIsIm1pbiIsIm1heCIsImV1Y2xpZGVhbk1vZHVsbyIsIm4iLCJtIiwibWFwTGluZWFyIiwieCIsImExIiwiYTIiLCJiMSIsImIyIiwibGVycCIsInkiLCJ0Iiwic21vb3Roc3RlcCIsInNtb290aGVyc3RlcCIsInJhbmRJbnQiLCJsb3ciLCJoaWdoIiwiZmxvb3IiLCJyYW5kRmxvYXQiLCJyYW5kRmxvYXRTcHJlYWQiLCJyYW5nZSIsImRlZ1RvUmFkIiwiZGVncmVlcyIsInJhZFRvRGVnIiwicmFkaWFucyIsImlzUG93ZXJPZlR3byIsImNlaWxQb3dlck9mVHdvIiwicG93IiwiY2VpbCIsImxvZyIsIkxOMiIsImZsb29yUG93ZXJPZlR3byJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxLQUFLLEdBQUc7QUFFWEMsRUFBQUEsT0FBTyxFQUFFQyxJQUFJLENBQUNDLEVBQUwsR0FBVSxHQUZSO0FBR1hDLEVBQUFBLE9BQU8sRUFBRSxNQUFNRixJQUFJLENBQUNDLEVBSFQ7QUFLWEUsRUFBQUEsWUFBWSxFQUFJLFlBQVk7QUFFM0I7QUFFQSxRQUFJQyxHQUFHLEdBQUcsRUFBVjs7QUFFQSxTQUFNLElBQUlDLENBQUMsR0FBRyxDQUFkLEVBQWlCQSxDQUFDLEdBQUcsR0FBckIsRUFBMEJBLENBQUMsRUFBM0IsRUFBaUM7QUFFaENELE1BQUFBLEdBQUcsQ0FBRUMsQ0FBRixDQUFILEdBQVcsQ0FBRUEsQ0FBQyxHQUFHLEVBQUosR0FBUyxHQUFULEdBQWUsRUFBakIsSUFBMEJBLENBQUYsQ0FBTUMs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O0FBbUpBLFNBQVNsRCxLQUFUIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAYXV0aG9yIGFsdGVyZWRxIC8gaHR0cDovL2FsdGVyZWRxdWFsaWEuY29tL1xuICogQGF1dGhvciBtcmRvb2IgLyBodHRwOi8vbXJkb29iLmNvbS9cbiAqL1xuXG52YXIgX01hdGggPSB7XG5cblx0REVHMlJBRDogTWF0aC5QSSAvIDE4MCxcblx0UkFEMkRFRzogMTgwIC8gTWF0aC5QSSxcblxuXHRnZW5lcmF0ZVVVSUQ6ICggZnVuY3Rpb24gKCkge1xuXG5cdFx0Ly8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDUwMzQvaG93LXRvLWNyZWF0ZS1hLWd1aWQtdXVpZC1pbi1qYXZhc2NyaXB0LzIxOTYzMTM2IzIxOTYzMTM2XG5cblx0XHR2YXIgbHV0ID0gW107XG5cblx0XHRmb3IgKCB2YXIgaSA9IDA7IGkgPCAyNTY7IGkgKysgKSB7XG5cblx0XHRcdGx1dFsgaSBdID0gKCBpIDwgMTYgPyAnMCcgOiAnJyApICsgKCBpICkudG9TdHJpbmcoIDE2ICk7XG5cblx0XHR9XG5cblx0XHRyZXR1cm4gZnVuY3Rpb24gZ2VuZXJhdGVVVUlEKCkge1xuXG5cdFx0XHR2YXIgZDAgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgZDEgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgZDIgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgZDMgPSBNYXRoLnJhbmRvbSgpICogMHhmZmZmZmZmZiB8IDA7XG5cdFx0XHR2YXIgdXVpZCA9IGx1dFsgZDAgJiAweGZmIF0gKyBsdXRbIGQwID4+IDggJiAweGZmIF0gKyBsdXRbIGQwID4+IDE2ICYgMHhmZiBdICsgbHV0WyBkMCA+PiAyNCAmIDB4ZmYgXSArICctJyArXG5cdFx0XHRcdGx1dFsgZDEgJiAweGZmIF0gKyBsdXRbIGQxID4+IDggJiAweGZmIF0gKyAnLScgKyBsdXRbIGQxID4+IDE2ICYgMHgwZiB8IDB4NDAgXSArIGx1dFsgZDEgPj4gMjQgJiAweGZmIF0gKyAnLScgK1xuXHRcdFx0XHRsdXRbIGQyICYgMHgzZiB8IDB4ODAgXSArIGx1dFsgZDIgPj4gOCAmIDB4ZmYgXSArICctJyArIGx1dFsgZDIgPj4gMTYgJiAweGZmIF0gKyBsdXRbIGQyID4+IDI0ICYgMHhmZiBdICtcblx0XHRcdFx0bHV0WyBkMyAmIDB4ZmYgXSArIGx1dFsgZDMgPj4gOCAmIDB4ZmYgXSArIGx1dFsgZDMgPj4gMTYgJiAweGZmIF0gKyBsdXRbIGQzID4+IDI0ICYgMHhmZiBdO1xuXG5cdFx0XHQvLyAudG9VcHBlckNhc2UoKSBoZXJlIGZsYXR0ZW5zIGNvbmNhdGVuYXRlZCBzdHJpbmdzIHRvIHNhdmUgaGVhcCBtZW1vcnkgc3BhY2UuXG5cdFx0XHRyZXR1cm4gdXVpZC50b1VwcGVyQ2FzZSgpO1xuXG5cdFx0fTtcblxuXHR9ICkoKSxcblxuXHRjbGFtcDogZnVuY3Rpb24gKCB2YWx1ZSwgbWluLCBtYXggKSB7XG5cblx0XHRyZXR1cm4gTWF0aC5tYXgoIG1pbiwgTWF0aC5taW4oIG1heCwgdmFsdWUgKSApO1xuXG5cdH0sXG5cblx0Ly8gY29tcHV0ZSBldWNsaWRpYW4gbW9kdWxvIG9mIG0gJSBuXG5cdC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01vZHVsb19vcGVyYXRpb25cblxuXHRldWNsaWRlYW5Nb2R1bG86IGZ1bmN0aW9uICggbiwgbSApIHtcblxuXHRcdHJldHVybiAoICggbiAlIG0gKSArIG0gKSAlIG07XG5cblx0fSxcblxuXHQvLyBMaW5lYXIgbWFwcGluZyBmcm9tIHJhbmdlIDxhMSwgYTI+IHRvIHJhbmdlIDxiMSwgYjI+XG5cblx0bWFwTGluZWFyOiBmdW5jdGlvbiAoIHgsIGExLCBhMiwgYjEsIGIyICkge1xuXG5cdFx0cmV0dXJuIGIxICsgKCB4IC0gYTEgKSAqICggYjIgLSBiMSApIC8gKCBhMiAtIGExICk7XG5cblx0fSxcblxuXHQvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaW5lYXJfaW50ZXJwb2xhdGlvblxuXG5cdGxlcnA6IGZ1bmN0aW9uICggeCwgeSwgdCApIHtcblxuXHRcdHJldHVybiAoIDEgLSB0ICkgKiB4ICsgdCAqIHk7XG5cblx0fSxcblxuXHQvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Ntb290aHN0ZXBcblxuXHRzbW9vdGhzdGVwOiBmdW5jdGlvbiAoIHgsIG1pbiwgbWF4ICkge1xuXG5cdFx0aWYgKCB4IDw9IG1pbiApIHJldHVybiAwO1xuXHRcdGlmICggeCA+PSBtYXggKSByZXR1cm4gMTtcblxuXHRcdHggPSAoIHggLSBtaW4gKSAvICggbWF4IC0gbWluICk7XG5cblx0XHRyZXR1cm4geCAqIHggKiAoIDMgLSAyICogeCApO1xuXG5cdH0sXG5cblx0c21vb3RoZXJzdGVwOiBmdW5jdGlvbiAoIHgsIG1pbiwgbWF4ICkge1xuXG5cdFx0aWYgKCB4IDw9IG1pbiApIHJldHVybiAwO1xuXHRcdGlmICggeCA+PSBtYXggKSByZXR1cm4gMTtcblxuXHRcdHggPSAoIHggLSBtaW4gKSAvICggbWF4IC0gbWluICk7XG5cblx0XHRyZXR1cm4geCAqIHggKiB4ICogKCB4ICogKCB4ICogNiAtIDE1ICkgKyAxMCApO1xuXG5cdH0sXG5cblx0Ly8gUmFuZG9tIGludGVnZXIgZnJvbSA8bG93LCBoaWdoPiBpbnRlcnZhbFxuXG5cdHJhbmRJbnQ6IGZ1bmN0aW9uICggbG93LCBoaWdoICkge1xuXG5cdFx0cmV0dXJuIGxvdyArIE1hdGguZmxvb3IoIE1hdGgucmFuZG9tKCkgKiAoIGhpZ2ggLSBsb3cgKyAxICkgKTtcblxuXHR9LFxuXG5cdC8vIFJhbmRvbSBmbG9hdCBmcm9tIDxsb3csIGhpZ2g+IGludGVydmFsXG5cblx0cmFuZEZsb2F0OiBmdW5jdGlvbiAoIGxvdywgaGlnaCApIHtcblxuXHRcdHJldHVybiBsb3cgKyBNYXRoLnJhbmRvbSgpICogKCBoaWdoIC0gbG93ICk7XG5cblx0fSxcblxuXHQvLyBSYW5kb20gZmxvYXQgZnJvbSA8LXJhbmdlLzIsIHJhbmdlLzI+IGludGVydmFsXG5cblx0cmFuZEZsb2F0U3ByZWFkOiBmdW5jdGlvbiAoIHJhbmdlICkge1xuXG5cdFx0cmV0dXJuIHJhbmdlICogKCAwLjUgLSBNYXRoLnJhbmRvbSgpICk7XG5cblx0fSxcblxuXHRkZWdUb1JhZDogZnVuY3Rpb24gKCBkZWdyZWVzICkge1xuXG5cdFx0cmV0dXJuIGRlZ3JlZXMgKiBfTWF0aC5ERUcyUkFEO1xuXG5cdH0sXG5cblx0cmFkVG9EZWc6IGZ1bmN0aW9uICggcmFkaWFucyApIHtcblxuXHRcdHJldHVybiByYWRpYW5zICogX01hdGguUkFEMkRFRztcblxuXHR9LFxuXG5cdGlzUG93ZXJPZlR3bzogZnVuY3Rpb24gKCB2YWx1ZSApIHtcblxuXHRcdHJldHVybiAoIHZhbHVlICYgKCB2YWx1ZSAtIDEgKSApID09PSAwICYmIHZhbHVlICE9PSAwO1xuXG5cdH0sXG5cblx0Y2VpbFBvd2VyT2ZUd286IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRyZXR1cm4gTWF0aC5wb3coIDIsIE1hdGguY2VpbCggTWF0aC5sb2coIHZhbHVlICkgLyBNYXRoLkxOMiApICk7XG5cblx0fSxcblxuXHRmbG9vclBvd2VyT2ZUd286IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRyZXR1cm4gTWF0aC5wb3coIDIsIE1hdGguZmxvb3IoIE1hdGgubG9nKCB2YWx1ZSApIC8gTWF0aC5MTjIgKSApO1xuXG5cdH1cblxufTtcblxuXG5leHBvcnQgeyBfTWF0aCB9OyJdfQ==
|