@player-ui/check-path-plugin 0.5.2--canary.256.8653 → 0.6.0-next.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.
@@ -246,6 +246,8 @@ __webpack_require__.r(__webpack_exports__);
246
246
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findInArray", function() { return findInArray; });
247
247
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findNextExp", function() { return findNextExp; });
248
248
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBindingSegments", function() { return getBindingSegments; });
249
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNodeID", function() { return getNodeID; });
250
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasAsync", function() { return hasAsync; });
249
251
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isBinding", function() { return isBinding; });
250
252
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isExpressionNode", function() { return isExpressionNode; });
251
253
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObjectExpression", function() { return isObjectExpression; });
@@ -259,11 +261,12 @@ __webpack_require__.r(__webpack_exports__);
259
261
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "severities", function() { return severities; });
260
262
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toModel", function() { return toModel; });
261
263
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toNodeResolveOptions", function() { return toNodeResolveOptions; });
264
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unpackAndPush", function() { return unpackAndPush; });
262
265
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withParser", function() { return withParser; });
263
266
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withoutContext", function() { return withoutContext; });
264
267
  /* harmony import */ var _player_ui_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @player-ui/types */ "./bazel-out/k8-fastbuild/bin/core/types/dist/index.esm.js");
265
268
  /* harmony import */ var _player_ui_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_player_ui_types__WEBPACK_IMPORTED_MODULE_0__);
266
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _player_ui_types__WEBPACK_IMPORTED_MODULE_0__) if(["default","ApplicabilityPlugin","AssetTransformCorePlugin","BINDING_BRACKETS_REGEX","BindingInstance","BindingParser","Builder","ConsoleLogger","ConstantsController","DataController","DependencyMiddleware","DependencyModel","DependencyTracker","EMPTY_NODE","ExpNodeOpaqueIdentifier","ExpressionEvaluator","FlowController","FlowExpPlugin","FlowInstance","LocalModel","LocalStateStore","NOOPDataModel","NOOP_MODEL","NOT_STARTED_STATE","NodeType","NoopLogger","Parser","PipelinedDataModel","Player","ProxyLogger","ROOT_BINDING","Resolver","SCHEMA_VALIDATION_PROVIDER_NAME","SIMPLE_BINDING_REGEX","SchemaController","StringResolverPlugin","SwitchPlugin","TapableLogger","TemplatePlugin","VALIDATION_PROVIDER_NAME_SYMBOL","VIEW_VALIDATION_PROVIDER_NAME","ValidationBindingTrackerViewPlugin","ValidationController","ValidationMiddleware","ValidatorRegistry","ViewController","ViewInstance","caresAboutDataChanges","constructModelForPipeline","findClosestNodeAtPosition","findInArray","findNextExp","getBindingSegments","isBinding","isExpressionNode","isObjectExpression","maybeConvertToNum","parse","parseExpression","removeBindingAndChildrenFromMap","resolveDataRefs","resolveDataRefsInString","resolveExpressionsInString","severities","toModel","toNodeResolveOptions","withParser","withoutContext"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _player_ui_types__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
269
+ /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _player_ui_types__WEBPACK_IMPORTED_MODULE_0__) if(["default","ApplicabilityPlugin","AssetTransformCorePlugin","BINDING_BRACKETS_REGEX","BindingInstance","BindingParser","Builder","ConsoleLogger","ConstantsController","DataController","DependencyMiddleware","DependencyModel","DependencyTracker","EMPTY_NODE","ExpNodeOpaqueIdentifier","ExpressionEvaluator","FlowController","FlowExpPlugin","FlowInstance","LocalModel","LocalStateStore","NOOPDataModel","NOOP_MODEL","NOT_STARTED_STATE","NodeType","NoopLogger","Parser","PipelinedDataModel","Player","ProxyLogger","ROOT_BINDING","Resolver","SCHEMA_VALIDATION_PROVIDER_NAME","SIMPLE_BINDING_REGEX","SchemaController","StringResolverPlugin","SwitchPlugin","TapableLogger","TemplatePlugin","VALIDATION_PROVIDER_NAME_SYMBOL","VIEW_VALIDATION_PROVIDER_NAME","ValidationBindingTrackerViewPlugin","ValidationController","ValidationMiddleware","ValidatorRegistry","ViewController","ViewInstance","caresAboutDataChanges","constructModelForPipeline","findClosestNodeAtPosition","findInArray","findNextExp","getBindingSegments","getNodeID","hasAsync","isBinding","isExpressionNode","isObjectExpression","maybeConvertToNum","parse","parseExpression","removeBindingAndChildrenFromMap","resolveDataRefs","resolveDataRefsInString","resolveExpressionsInString","severities","toModel","toNodeResolveOptions","unpackAndPush","withParser","withoutContext"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _player_ui_types__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
267
270
  /* harmony import */ var tapable_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tapable-ts */ "./node_modules/tapable-ts/dist/hooks.mjs");
268
271
  /* harmony import */ var ts_nested_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ts-nested-error */ "./node_modules/ts-nested-error/build/nested-error.js");
269
272
  /* harmony import */ var ts_nested_error__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(ts_nested_error__WEBPACK_IMPORTED_MODULE_2__);
@@ -2626,10 +2629,24 @@ var NodeType;
2626
2629
  NodeType2["Value"] = "value";
2627
2630
  NodeType2["MultiNode"] = "multi-node";
2628
2631
  NodeType2["Switch"] = "switch";
2632
+ NodeType2["Async"] = "async";
2629
2633
  NodeType2["Unknown"] = "unknown";
2630
2634
  NodeType2["Empty"] = "empty";
2631
2635
  })(NodeType || (NodeType = {}));
2632
2636
 
2637
+ function hasAsync(obj) {
2638
+ return Object.prototype.hasOwnProperty.call(obj, "async");
2639
+ }
2640
+ function getNodeID(node) {
2641
+ var _a;
2642
+ if (!node) {
2643
+ return;
2644
+ }
2645
+ if ("value" in node && typeof node.value === "object" && typeof ((_a = node.value) == null ? void 0 : _a.id) === "string") {
2646
+ return node.value.id;
2647
+ }
2648
+ }
2649
+
2633
2650
  var __defProp$9 = Object.defineProperty;
2634
2651
  var __defProps$7 = Object.defineProperties;
2635
2652
  var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
@@ -2680,6 +2697,18 @@ class Parser {
2680
2697
  }
2681
2698
  return viewNode;
2682
2699
  }
2700
+ parseAsync(obj, type, options) {
2701
+ const parsedAsync = this.parseObject(Object(timm__WEBPACK_IMPORTED_MODULE_7__["omit"])(obj, "async"), type, options);
2702
+ const parsedNodeId = getNodeID(parsedAsync);
2703
+ if (parsedAsync !== null && parsedNodeId) {
2704
+ return this.createASTNode({
2705
+ id: parsedNodeId,
2706
+ type: NodeType.Async,
2707
+ value: parsedAsync
2708
+ }, obj);
2709
+ }
2710
+ return null;
2711
+ }
2683
2712
  createASTNode(node, value) {
2684
2713
  const tapped = this.hooks.onCreateASTNode.call(node, value);
2685
2714
  if (tapped === void 0) {
@@ -2786,6 +2815,14 @@ class Parser {
2786
2815
  ]
2787
2816
  });
2788
2817
  }
2818
+ } else if (localValue && hasAsync(localValue)) {
2819
+ const localAsync = this.parseAsync(localValue, NodeType.Value, options);
2820
+ if (localAsync) {
2821
+ children2.push({
2822
+ path: [...path, localKey],
2823
+ value: localAsync
2824
+ });
2825
+ }
2789
2826
  } else if (localValue && Array.isArray(localValue)) {
2790
2827
  const childValues = localValue.map((childVal) => this.parseObject(childVal, NodeType.Value, options)).filter((child) => !!child);
2791
2828
  if (childValues.length > 0) {
@@ -2905,6 +2942,15 @@ function toNodeResolveOptions(resolverOptions) {
2905
2942
  evaluate: (exp) => resolverOptions.evaluator.evaluate(exp, resolverOptions)
2906
2943
  });
2907
2944
  }
2945
+ function unpackAndPush(item, initial) {
2946
+ if (Array.isArray(item)) {
2947
+ item.forEach((i) => {
2948
+ unpackAndPush(i, initial);
2949
+ });
2950
+ } else {
2951
+ initial.push(item);
2952
+ }
2953
+ }
2908
2954
 
2909
2955
  var __defProp$7 = Object.defineProperty;
2910
2956
  var __defProps$5 = Object.defineProperties;
@@ -2980,22 +3026,13 @@ class Resolver {
2980
3026
  getResolveCache() {
2981
3027
  return new Map(this.resolveCache);
2982
3028
  }
2983
- getNodeID(node) {
2984
- var _a;
2985
- if (!node) {
2986
- return;
2987
- }
2988
- if ((node.type === NodeType.Asset || node.type === NodeType.View || node.type === NodeType.Value) && typeof node.value === "object" && typeof ((_a = node.value) == null ? void 0 : _a.id) === "string") {
2989
- return node.value.id;
2990
- }
2991
- }
2992
3029
  getPreviousResult(node) {
2993
3030
  var _a, _b;
2994
3031
  if (!node) {
2995
3032
  return;
2996
3033
  }
2997
3034
  const isFirstUpdate = this.resolveCache.size === 0;
2998
- const id = this.getNodeID(node);
3035
+ const id = getNodeID(node);
2999
3036
  if (id) {
3000
3037
  if (this.idCache.has(id)) {
3001
3038
  if (isFirstUpdate) {
@@ -3023,8 +3060,8 @@ class Resolver {
3023
3060
  });
3024
3061
  return clonedNode;
3025
3062
  }
3026
- computeTree(node, parent, dataChanges, cacheUpdate, options, parentNode, prevASTMap) {
3027
- var _a, _b;
3063
+ computeTree(node, rawParent, dataChanges, cacheUpdate, options, partiallyResolvedParent, prevASTMap) {
3064
+ var _a, _b, _c;
3028
3065
  const dependencyModel = new DependencyModel(options.data.model);
3029
3066
  dependencyModel.trackSubset("core");
3030
3067
  const depModelWithParser = withContext(withParser(dependencyModel, this.options.parseBinding));
@@ -3039,15 +3076,21 @@ class Resolver {
3039
3076
  const previousDeps = previousResult == null ? void 0 : previousResult.dependencies;
3040
3077
  const dataChanged = caresAboutDataChanges(dataChanges, previousDeps);
3041
3078
  const shouldUseLastValue = this.hooks.skipResolve.call(!dataChanged, node, resolveOptions);
3042
- if (shouldUseLastValue && previousResult) {
3079
+ const clonedNode = __spreadProps$5(__spreadValues$7({}, this.cloneNode(node)), {
3080
+ parent: partiallyResolvedParent
3081
+ });
3082
+ const resolvedAST = (_a = this.hooks.beforeResolve.call(clonedNode, resolveOptions)) != null ? _a : {
3083
+ type: NodeType.Empty
3084
+ };
3085
+ const isNestedMultiNode = resolvedAST.type === NodeType.MultiNode && ((_b = partiallyResolvedParent == null ? void 0 : partiallyResolvedParent.parent) == null ? void 0 : _b.type) === NodeType.MultiNode && partiallyResolvedParent.type === NodeType.Value;
3086
+ if (previousResult && shouldUseLastValue) {
3043
3087
  const update2 = __spreadProps$5(__spreadValues$7({}, previousResult), {
3044
3088
  updated: false
3045
3089
  });
3046
- cacheUpdate.set(node, update2);
3047
3090
  const repopulateASTMapFromCache = (resolvedNode, AST, ASTParent) => {
3048
3091
  var _a2;
3049
- const { node: resolvedAST2 } = resolvedNode;
3050
- this.ASTMap.set(resolvedAST2, AST);
3092
+ const { node: resolvedASTLocal } = resolvedNode;
3093
+ this.ASTMap.set(resolvedASTLocal, AST);
3051
3094
  const resolvedUpdate = __spreadProps$5(__spreadValues$7({}, resolvedNode), {
3052
3095
  updated: false
3053
3096
  });
@@ -3060,24 +3103,18 @@ class Resolver {
3060
3103
  return;
3061
3104
  repopulateASTMapFromCache(previousChildResult, originalChildNode, AST);
3062
3105
  };
3063
- if ("children" in resolvedAST2) {
3064
- (_a2 = resolvedAST2.children) == null ? void 0 : _a2.forEach(({ value: childAST }) => handleChildNode(childAST));
3065
- } else if (resolvedAST2.type === NodeType.MultiNode) {
3066
- resolvedAST2.values.forEach(handleChildNode);
3106
+ if ("children" in resolvedASTLocal) {
3107
+ (_a2 = resolvedASTLocal.children) == null ? void 0 : _a2.forEach(({ value: childAST }) => handleChildNode(childAST));
3108
+ } else if (resolvedASTLocal.type === NodeType.MultiNode) {
3109
+ resolvedASTLocal.values.forEach(handleChildNode);
3067
3110
  }
3068
3111
  this.hooks.afterNodeUpdate.call(AST, ASTParent, resolvedUpdate);
3069
3112
  };
3070
- previousResult.node.parent = parentNode;
3071
- repopulateASTMapFromCache(previousResult, node, parent);
3113
+ previousResult.node.parent = partiallyResolvedParent;
3114
+ repopulateASTMapFromCache(previousResult, node, rawParent);
3072
3115
  return update2;
3073
3116
  }
3074
- const clonedNode = __spreadProps$5(__spreadValues$7({}, this.cloneNode(node)), {
3075
- parent: parentNode
3076
- });
3077
- const resolvedAST = (_a = this.hooks.beforeResolve.call(clonedNode, resolveOptions)) != null ? _a : {
3078
- type: NodeType.Empty
3079
- };
3080
- resolvedAST.parent = parentNode;
3117
+ resolvedAST.parent = partiallyResolvedParent;
3081
3118
  resolveOptions.node = resolvedAST;
3082
3119
  this.ASTMap.set(resolvedAST, node);
3083
3120
  let resolved = this.hooks.resolve.call(void 0, resolvedAST, resolveOptions);
@@ -3088,7 +3125,7 @@ class Resolver {
3088
3125
  const childDependencies = new Set();
3089
3126
  dependencyModel.trackSubset("children");
3090
3127
  if ("children" in resolvedAST) {
3091
- const newChildren = (_b = resolvedAST.children) == null ? void 0 : _b.map((child) => {
3128
+ const newChildren = (_c = resolvedAST.children) == null ? void 0 : _c.map((child) => {
3092
3129
  const computedChildTree = this.computeTree(child.value, node, dataChanges, cacheUpdate, resolveOptions, resolvedAST, prevASTMap);
3093
3130
  const {
3094
3131
  dependencies: childTreeDeps,
@@ -3111,10 +3148,18 @@ class Resolver {
3111
3148
  resolvedAST.children = newChildren;
3112
3149
  } else if (resolvedAST.type === NodeType.MultiNode) {
3113
3150
  const childValue = [];
3151
+ const rawParentToPassIn = isNestedMultiNode ? partiallyResolvedParent == null ? void 0 : partiallyResolvedParent.parent : node;
3114
3152
  const newValues = resolvedAST.values.map((mValue) => {
3115
- const mTree = this.computeTree(mValue, node, dataChanges, cacheUpdate, resolveOptions, resolvedAST, prevASTMap);
3153
+ var _a2;
3154
+ const mTree = this.computeTree(mValue, rawParentToPassIn, dataChanges, cacheUpdate, resolveOptions, resolvedAST, prevASTMap);
3116
3155
  if (mTree.value !== void 0 && mTree.value !== null) {
3117
- childValue.push(mTree.value);
3156
+ if (((_a2 = mTree.node.parent) == null ? void 0 : _a2.type) === NodeType.MultiNode && Array.isArray(mTree.value)) {
3157
+ mTree.value.forEach((v) => {
3158
+ unpackAndPush(v, childValue);
3159
+ });
3160
+ } else {
3161
+ childValue.push(mTree.value);
3162
+ }
3118
3163
  }
3119
3164
  mTree.dependencies.forEach((bindingDep) => childDependencies.add(bindingDep));
3120
3165
  updated = updated || mTree.updated;
@@ -3140,7 +3185,7 @@ class Resolver {
3140
3185
  ...childDependencies
3141
3186
  ])
3142
3187
  };
3143
- this.hooks.afterNodeUpdate.call(node, parent, update);
3188
+ this.hooks.afterNodeUpdate.call(node, isNestedMultiNode ? partiallyResolvedParent == null ? void 0 : partiallyResolvedParent.parent : rawParent, update);
3144
3189
  cacheUpdate.set(node, update);
3145
3190
  return update;
3146
3191
  }
@@ -3542,6 +3587,12 @@ class ViewInstance {
3542
3587
  this.templatePlugin = new TemplatePlugin(pluginOptions);
3543
3588
  this.templatePlugin.apply(this);
3544
3589
  }
3590
+ updateAsync() {
3591
+ var _a;
3592
+ const update = (_a = this.resolver) == null ? void 0 : _a.update();
3593
+ this.lastUpdate = update;
3594
+ this.hooks.onUpdate.call(update);
3595
+ }
3545
3596
  update(changes) {
3546
3597
  var _a;
3547
3598
  if (this.rootNode === void 0) {
@@ -3643,6 +3694,7 @@ var __async$2 = (__this, __arguments, generator) => {
3643
3694
  };
3644
3695
  class FlowInstance {
3645
3696
  constructor(id, flow, options) {
3697
+ this.isTransitioning = false;
3646
3698
  this.hooks = {
3647
3699
  beforeStart: new tapable_ts__WEBPACK_IMPORTED_MODULE_1__["SyncBailHook"](),
3648
3700
  onStart: new tapable_ts__WEBPACK_IMPORTED_MODULE_1__["SyncHook"](),
@@ -3685,20 +3737,23 @@ class FlowInstance {
3685
3737
  });
3686
3738
  }
3687
3739
  transition(transitionValue, options) {
3688
- var _a, _b, _c, _d, _e, _f;
3689
- if (((_a = this.currentState) == null ? void 0 : _a.value.state_type) === "END") {
3690
- (_b = this.log) == null ? void 0 : _b.warn(`Skipping transition using ${transitionValue}. Already at and END state`);
3740
+ var _a, _b, _c, _d, _e, _f, _g;
3741
+ if (this.isTransitioning) {
3742
+ throw new Error(`Transitioning while ongoing transition from ${(_a = this.currentState) == null ? void 0 : _a.name} is in progress is not supported`);
3743
+ }
3744
+ if (((_b = this.currentState) == null ? void 0 : _b.value.state_type) === "END") {
3745
+ (_c = this.log) == null ? void 0 : _c.warn(`Skipping transition using ${transitionValue}. Already at and END state`);
3691
3746
  return;
3692
3747
  }
3693
3748
  if (this.currentState === void 0) {
3694
3749
  throw new Error("Cannot transition when there's no current state");
3695
3750
  }
3696
3751
  if (options == null ? void 0 : options.force) {
3697
- (_c = this.log) == null ? void 0 : _c.debug(`Forced transition. Skipping validation checks`);
3752
+ (_d = this.log) == null ? void 0 : _d.debug(`Forced transition. Skipping validation checks`);
3698
3753
  } else {
3699
3754
  const skipTransition = this.hooks.skipTransition.call(this.currentState);
3700
3755
  if (skipTransition) {
3701
- (_d = this.log) == null ? void 0 : _d.debug(`Skipping transition from ${this.currentState.name} b/c hook told us to`);
3756
+ (_e = this.log) == null ? void 0 : _e.debug(`Skipping transition from ${this.currentState.name} b/c hook told us to`);
3702
3757
  return;
3703
3758
  }
3704
3759
  }
@@ -3709,10 +3764,10 @@ class FlowInstance {
3709
3764
  const { transitions } = state;
3710
3765
  const nextState = transitions[transitionValue] || transitions["*"];
3711
3766
  if (nextState === void 0) {
3712
- (_e = this.log) == null ? void 0 : _e.warn(`No transition from ${this.currentState.name} using ${transitionValue} or *`);
3767
+ (_f = this.log) == null ? void 0 : _f.warn(`No transition from ${this.currentState.name} using ${transitionValue} or *`);
3713
3768
  return;
3714
3769
  }
3715
- (_f = this.log) == null ? void 0 : _f.debug(`Transitioning from ${this.currentState.name} to ${nextState} using ${transitionValue} `);
3770
+ (_g = this.log) == null ? void 0 : _g.debug(`Transitioning from ${this.currentState.name} to ${nextState} using ${transitionValue} `);
3716
3771
  return this.pushHistory(nextState, options);
3717
3772
  }
3718
3773
  pushHistory(stateName, options) {
@@ -3726,6 +3781,7 @@ class FlowInstance {
3726
3781
  return;
3727
3782
  }
3728
3783
  const prevState = this.currentState;
3784
+ this.isTransitioning = true;
3729
3785
  nextState = this.hooks.resolveTransitionNode.call(nextState);
3730
3786
  const newCurrentState = {
3731
3787
  name: stateName,
@@ -3737,6 +3793,7 @@ class FlowInstance {
3737
3793
  this.hooks.onEnd.call(this.flow.onEnd);
3738
3794
  }
3739
3795
  this.hooks.transition.call(prevState, __spreadValues$5({}, newCurrentState));
3796
+ this.isTransitioning = false;
3740
3797
  this.hooks.afterTransition.call(this);
3741
3798
  }
3742
3799
  }
@@ -5094,8 +5151,8 @@ var __async = (__this, __arguments, generator) => {
5094
5151
  step((generator = generator.apply(__this, __arguments)).next());
5095
5152
  });
5096
5153
  };
5097
- const PLAYER_VERSION = "0.5.2--canary.256.8653";
5098
- const COMMIT = "bdcaed05a0b3ce7cd66c8d5f718f3b74585603a2";
5154
+ const PLAYER_VERSION = "0.6.0-next.0";
5155
+ const COMMIT = "7c26e7b867b837ac89a482c8adbf3792336da50f";
5099
5156
  const _Player = class {
5100
5157
  constructor(config) {
5101
5158
  this.logger = new TapableLogger();
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see check-path-plugin.prod.js.LICENSE.txt */
2
- !function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports.CheckPathPlugin=t():e.CheckPathPlugin=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=17)}([function(e,t,r){"use strict";function n(e,t,r){return e.context?e.callback(r,...t):e.callback(...t)}r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return a})),r.d(t,"c",(function(){return l}));class o{constructor(){this.interceptions=[],this.interceptionKeySet=new Set}isUsed(){return this.interceptions.length>0}intercept(e){this.interceptions.push(e),Object.keys(e).forEach((e=>{this.interceptionKeySet.add(e)}))}tap(e){this.interceptionKeySet.has("tap")&&this.interceptions.forEach((t=>{var r;null==(r=t.tap)||r.call(t,e)}))}call(e,...t){this.interceptionKeySet.has("call")&&this.interceptions.forEach((r=>{var n,o;r.context?null==(n=r.call)||n.call(r,e,...t):null==(o=r.call)||o.call(r,...t)}))}loop(...e){this.interceptionKeySet.has("loop")&&this.interceptions.forEach((t=>{var r;null==(r=t.loop)||r.call(t,...e)}))}error(e){if(this.interceptionKeySet.has("error")&&e instanceof Error){const t=e;this.interceptions.forEach((e=>{var r;null==(r=e.error)||r.call(e,t)}))}}result(e){this.interceptionKeySet.has("result")&&this.interceptions.forEach((t=>{var r;null==(r=t.result)||r.call(t,e)}))}done(){this.interceptionKeySet.has("done")&&this.interceptions.forEach((e=>{var t;null==(t=e.done)||t.call(e)}))}}class i{constructor(){this.taps=[],this.interceptions=new o}tap(e,t){const r="string"===typeof e?{name:e,context:!1}:{context:!1,...e},n={key:Symbol(r.name),...r,callback:t};if(n.before){let e=this.taps.length;const t=new Set(Array.isArray(n.before)?n.before:[n.before]);for(;e>0&&t.size>0;e--){const r=this.taps[e-1];if(t.has(r.name)&&t.delete(r.name),r.before&&(o=n.name,i=r.before,Array.isArray(i)?i.includes(o):i===o))break}this.taps.splice(e,0,n)}else this.taps.push(n);var o,i;return this.interceptions.tap(n),n}untap(e){this.taps=this.taps.filter((t=>t.key!==e.key))}isUsed(){return this.taps.length>0||this.interceptions.isUsed()}intercept(e){this.interceptions.intercept(e)}}class a extends i{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);try{this.taps.forEach((r=>{n(r,e,t)}))}catch(r){throw this.interceptions.error(r),r}this.interceptions.done()}}class s extends i{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);for(let r=0;r<this.taps.length;r+=1){const o=n(this.taps[r],e,t);if(void 0!==o)return this.interceptions.result(o),o}this.interceptions.done()}}class l extends i{call(...e){const t={};this.interceptions.call(t,...e);let[r,...o]=e;for(let i=0;i<this.taps.length;i+=1){const e=n(this.taps[i],[r,...o],t);void 0!==e&&(r=e)}return this.interceptions.result(r),r}}},function(e,t,r){(function(t){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,r,n){"use strict";function o(e){if(!(this instanceof o))return new o(e);this._=e}var i=o.prototype;function a(e,t){for(var r=0;r<e;r++)t(r)}function s(e,t,r){return function(e,t){a(t.length,(function(r){e(t[r],r,t)}))}((function(r,n,o){t=e(t,r,n,o)}),r),t}function l(e,t){return s((function(t,r,n,o){return t.concat([e(r,n,o)])}),[],t)}function u(e,r){var n={v:0,buf:r};return a(e,(function(){var e;n={v:n.v<<1|(e=n.buf,e[0]>>7),buf:function(e){var r=s((function(e,r,n,o){return e.concat(n===o.length-1?t.from([r,0]).readUInt16BE(0):o.readUInt16BE(n))}),[],e);return t.from(l((function(e){return(e<<1&65535)>>8}),r))}(n.buf)}})),n}function c(){return"undefined"!=typeof t}function h(){if(!c())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function f(e){h();var t=s((function(e,t){return e+t}),0,e);if(t%8!=0)throw new Error("The bits ["+e.join(", ")+"] add up to "+t+" which is not an even number of bytes; the total should be divisible by 8");var r,n=t/8,i=(r=function(e){return e>48},s((function(e,t){return e||(r(t)?t:e)}),null,e));if(i)throw new Error(i+" bit range requested exceeds 48 bit (6 byte) Number max.");return new o((function(t,r){var o=n+r;return o>t.length?x(r,n.toString()+" bytes"):S(o,s((function(e,t){var r=u(t,e.buf);return{coll:e.coll.concat(r.v),buf:r.buf}}),{coll:[],buf:t.slice(r,o)},e).coll)}))}function p(e,t){return new o((function(r,n){return h(),n+t>r.length?x(n,t+" bytes for "+e):S(n+t,r.slice(n,n+t))}))}function d(e,t){if("number"!=typeof(r=t)||Math.floor(r)!==r||t<0||t>6)throw new Error(e+" requires integer length in range [0, 6].");var r}function g(e){return d("uintBE",e),p("uintBE("+e+")",e).map((function(t){return t.readUIntBE(0,e)}))}function v(e){return d("uintLE",e),p("uintLE("+e+")",e).map((function(t){return t.readUIntLE(0,e)}))}function y(e){return d("intBE",e),p("intBE("+e+")",e).map((function(t){return t.readIntBE(0,e)}))}function m(e){return d("intLE",e),p("intLE("+e+")",e).map((function(t){return t.readIntLE(0,e)}))}function b(e){return e instanceof o}function w(e){return"[object Array]"==={}.toString.call(e)}function E(e){return c()&&t.isBuffer(e)}function S(e,t){return{status:!0,index:e,value:t,furthest:-1,expected:[]}}function x(e,t){return w(t)||(t=[t]),{status:!1,index:-1,value:null,furthest:e,expected:t}}function O(e,t){if(!t)return e;if(e.furthest>t.furthest)return e;var r=e.furthest===t.furthest?function(e,t){if(function(){if(void 0!==o._supportsSet)return o._supportsSet;var e="undefined"!=typeof Set;return o._supportsSet=e,e}()&&Array.from){for(var r=new Set(e),n=0;n<t.length;n++)r.add(t[n]);var i=Array.from(r);return i.sort(),i}for(var a={},s=0;s<e.length;s++)a[e[s]]=!0;for(var l=0;l<t.length;l++)a[t[l]]=!0;var u=[];for(var c in a)({}).hasOwnProperty.call(a,c)&&u.push(c);return u.sort(),u}(e.expected,t.expected):t.expected;return{status:e.status,index:e.index,value:e.value,furthest:t.furthest,expected:r}}var A={};function P(e,t){if(E(e))return{offset:t,line:-1,column:-1};e in A||(A[e]={});for(var r=A[e],n=0,o=0,i=0,a=t;a>=0;){if(a in r){n=r[a].line,0===i&&(i=r[a].lineStart);break}("\n"===e.charAt(a)||"\r"===e.charAt(a)&&"\n"!==e.charAt(a+1))&&(o++,0===i&&(i=a+1)),a--}var s=n+o,l=t-i;return r[t]={line:s,lineStart:i},{offset:t,line:s+1,column:l+1}}function R(e){if(!b(e))throw new Error("not a parser: "+e)}function k(e,t){return"string"==typeof e?e.charAt(t):e[t]}function _(e){if("number"!=typeof e)throw new Error("not a number: "+e)}function T(e){if("function"!=typeof e)throw new Error("not a function: "+e)}function C(e){if("string"!=typeof e)throw new Error("not a string: "+e)}var j=2,U=3,N=8,L=5*N,B=4*N,I=" ";function M(e,t){return new Array(t+1).join(e)}function D(e,t,r){var n=t-e.length;return n<=0?e:M(r,n)+e}function V(e,t,r,n){return{from:e-t>0?e-t:0,to:e+r>n?n:e+r}}function F(e,t){var r,n,o,i,a,u=t.index,c=u.offset,h=1;if(c===e.length)return"Got the end of the input";if(E(e)){var f=c-c%N,p=c-f,d=V(f,L,B+N,e.length),g=l((function(e){return l((function(e){return D(e.toString(16),2,"0")}),e)}),function(e,t){var r=e.length,n=[],o=0;if(r<=t)return[e.slice()];for(var i=0;i<r;i++)n[o]||n.push([]),n[o].push(e[i]),(i+1)%t==0&&o++;return n}(e.slice(d.from,d.to).toJSON().data,N));i=function(e){return 0===e.from&&1===e.to?{from:e.from,to:e.to}:{from:e.from/N,to:Math.floor(e.to/N)}}(d),n=f/N,r=3*p,p>=4&&(r+=1),h=2,o=l((function(e){return e.length<=4?e.join(" "):e.slice(0,4).join(" ")+" "+e.slice(4).join(" ")}),g),(a=(8*(i.to>0?i.to-1:i.to)).toString(16).length)<2&&(a=2)}else{var v=e.split(/\r\n|[\n\r\u2028\u2029]/);r=u.column-1,n=u.line-1,i=V(n,j,U,v.length),o=v.slice(i.from,i.to),a=i.to.toString().length}var y=n-i.from;return E(e)&&(a=(8*(i.to>0?i.to-1:i.to)).toString(16).length)<2&&(a=2),s((function(t,n,o){var s,l=o===y,u=l?"> ":I;return s=E(e)?D((8*(i.from+o)).toString(16),a,"0"):D((i.from+o+1).toString(),a," "),[].concat(t,[u+s+" | "+n],l?[I+M(" ",a)+" | "+D("",r," ")+M("^",h)]:[])}),[],o).join("\n")}function $(e,t){return["\n","-- PARSING FAILED "+M("-",50),"\n\n",F(e,t),"\n\n",(r=t.expected,1===r.length?"Expected:\n\n"+r[0]:"Expected one of the following: \n\n"+r.join(", ")),"\n"].join("");var r}function H(e){return void 0!==e.flags?e.flags:[e.global?"g":"",e.ignoreCase?"i":"",e.multiline?"m":"",e.unicode?"u":"",e.sticky?"y":""].join("")}function z(){for(var e=[].slice.call(arguments),t=e.length,r=0;r<t;r+=1)R(e[r]);return o((function(r,n){for(var o,i=new Array(t),a=0;a<t;a+=1){if(!(o=O(e[a]._(r,n),o)).status)return o;i[a]=o.value,n=o.index}return O(S(n,i),o)}))}function W(){var e=[].slice.call(arguments);if(0===e.length)throw new Error("seqMap needs at least one argument");var t=e.pop();return T(t),z.apply(null,e).map((function(e){return t.apply(null,e)}))}function Y(){var e=[].slice.call(arguments),t=e.length;if(0===t)return Q("zero alternates");for(var r=0;r<t;r+=1)R(e[r]);return o((function(t,r){for(var n,o=0;o<e.length;o+=1)if((n=O(e[o]._(t,r),n)).status)return n;return n}))}function q(e,t){return Z(e,t).or(J([]))}function Z(e,t){return R(e),R(t),W(e,t.then(e).many(),(function(e,t){return[e].concat(t)}))}function G(e){C(e);var t="'"+e+"'";return o((function(r,n){var o=n+e.length,i=r.slice(n,o);return i===e?S(o,i):x(n,t)}))}function K(e,t){!function(e){if(!(e instanceof RegExp))throw new Error("not a regexp: "+e);for(var t=H(e),r=0;r<t.length;r++){var n=t.charAt(r);if("i"!==n&&"m"!==n&&"u"!==n&&"s"!==n)throw new Error('unsupported regexp flag "'+n+'": '+e)}}(e),arguments.length>=2?_(t):t=0;var r=function(e){return RegExp("^(?:"+e.source+")",H(e))}(e),n=""+e;return o((function(e,o){var i=r.exec(e.slice(o));if(i){if(0<=t&&t<=i.length){var a=i[0],s=i[t];return S(o+a.length,s)}return x(o,"valid match group (0 to "+i.length+") in "+n)}return x(o,n)}))}function J(e){return o((function(t,r){return S(r,e)}))}function Q(e){return o((function(t,r){return x(r,e)}))}function X(e){if(b(e))return o((function(t,r){var n=e._(t,r);return n.index=r,n.value="",n}));if("string"==typeof e)return X(G(e));if(e instanceof RegExp)return X(K(e));throw new Error("not a string, regexp, or parser: "+e)}function ee(e){return R(e),o((function(t,r){var n=e._(t,r),o=t.slice(r,n.index);return n.status?x(r,'not "'+o+'"'):S(r,null)}))}function te(e){return T(e),o((function(t,r){var n=k(t,r);return r<t.length&&e(n)?S(r+1,n):x(r,"a character/byte matching "+e)}))}function re(e,t){arguments.length<2&&(t=e,e=void 0);var r=o((function(e,n){return r._=t()._,r._(e,n)}));return e?r.desc(e):r}function ne(){return Q("fantasy-land/empty")}i.parse=function(e){if("string"!=typeof e&&!E(e))throw new Error(".parse must be called with a string or Buffer as its argument");var t,r=this.skip(se)._(e,0);return t=r.status?{status:!0,value:r.value}:{status:!1,index:P(e,r.furthest),expected:r.expected},delete A[e],t},i.tryParse=function(e){var t=this.parse(e);if(t.status)return t.value;var r=$(e,t),n=new Error(r);throw n.type="ParsimmonError",n.result=t,n},i.assert=function(e,t){return this.chain((function(r){return e(r)?J(r):Q(t)}))},i.or=function(e){return Y(this,e)},i.trim=function(e){return this.wrap(e,e)},i.wrap=function(e,t){return W(e,this,t,(function(e,t){return t}))},i.thru=function(e){return e(this)},i.then=function(e){return R(e),z(this,e).map((function(e){return e[1]}))},i.many=function(){var e=this;return o((function(t,r){for(var n=[],o=void 0;;){if(!(o=O(e._(t,r),o)).status)return O(S(r,n),o);if(r===o.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r=o.index,n.push(o.value)}}))},i.tieWith=function(e){return C(e),this.map((function(t){if(function(e){if(!w(e))throw new Error("not an array: "+e)}(t),t.length){C(t[0]);for(var r=t[0],n=1;n<t.length;n++)C(t[n]),r+=e+t[n];return r}return""}))},i.tie=function(){return this.tieWith("")},i.times=function(e,t){var r=this;return arguments.length<2&&(t=e),_(e),_(t),o((function(n,o){for(var i=[],a=void 0,s=void 0,l=0;l<e;l+=1){if(s=O(a=r._(n,o),s),!a.status)return s;o=a.index,i.push(a.value)}for(;l<t&&(s=O(a=r._(n,o),s),a.status);l+=1)o=a.index,i.push(a.value);return O(S(o,i),s)}))},i.result=function(e){return this.map((function(){return e}))},i.atMost=function(e){return this.times(0,e)},i.atLeast=function(e){return W(this.times(e),this.many(),(function(e,t){return e.concat(t)}))},i.map=function(e){T(e);var t=this;return o((function(r,n){var o=t._(r,n);return o.status?O(S(o.index,e(o.value)),o):o}))},i.contramap=function(e){T(e);var t=this;return o((function(r,n){var o=t.parse(e(r.slice(n)));return o.status?S(n+r.length,o.value):o}))},i.promap=function(e,t){return T(e),T(t),this.contramap(e).map(t)},i.skip=function(e){return z(this,e).map((function(e){return e[0]}))},i.mark=function(){return W(oe,this,oe,(function(e,t,r){return{start:e,value:t,end:r}}))},i.node=function(e){return W(oe,this,oe,(function(t,r,n){return{name:e,value:r,start:t,end:n}}))},i.sepBy=function(e){return q(this,e)},i.sepBy1=function(e){return Z(this,e)},i.lookahead=function(e){return this.skip(X(e))},i.notFollowedBy=function(e){return this.skip(ee(e))},i.desc=function(e){w(e)||(e=[e]);var t=this;return o((function(r,n){var o=t._(r,n);return o.status||(o.expected=e),o}))},i.fallback=function(e){return this.or(J(e))},i.ap=function(e){return W(e,this,(function(e,t){return e(t)}))},i.chain=function(e){var t=this;return o((function(r,n){var o=t._(r,n);return o.status?O(e(o.value)._(r,o.index),o):o}))},i.concat=i.or,i.empty=ne,i.of=J,i["fantasy-land/ap"]=i.ap,i["fantasy-land/chain"]=i.chain,i["fantasy-land/concat"]=i.concat,i["fantasy-land/empty"]=i.empty,i["fantasy-land/of"]=i.of,i["fantasy-land/map"]=i.map;var oe=o((function(e,t){return S(t,P(e,t))})),ie=o((function(e,t){return t>=e.length?x(t,"any character/byte"):S(t+1,k(e,t))})),ae=o((function(e,t){return S(e.length,e.slice(t))})),se=o((function(e,t){return t<e.length?x(t,"EOF"):S(t,null)})),le=K(/[0-9]/).desc("a digit"),ue=K(/[0-9]*/).desc("optional digits"),ce=K(/[a-z]/i).desc("a letter"),he=K(/[a-z]*/i).desc("optional letters"),fe=K(/\s*/).desc("optional whitespace"),pe=K(/\s+/).desc("whitespace"),de=G("\r"),ge=G("\n"),ve=G("\r\n"),ye=Y(ve,ge,de).desc("newline"),me=Y(ye,se);o.all=ae,o.alt=Y,o.any=ie,o.cr=de,o.createLanguage=function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&function(r){t[r]=re((function(){return e[r](t)}))}(r);return t},o.crlf=ve,o.custom=function(e){return o(e(S,x))},o.digit=le,o.digits=ue,o.empty=ne,o.end=me,o.eof=se,o.fail=Q,o.formatError=$,o.index=oe,o.isParser=b,o.lazy=re,o.letter=ce,o.letters=he,o.lf=ge,o.lookahead=X,o.makeFailure=x,o.makeSuccess=S,o.newline=ye,o.noneOf=function(e){return te((function(t){return e.indexOf(t)<0})).desc("none of '"+e+"'")},o.notFollowedBy=ee,o.of=J,o.oneOf=function(e){for(var t=e.split(""),r=0;r<t.length;r++)t[r]="'"+t[r]+"'";return te((function(t){return e.indexOf(t)>=0})).desc(t)},o.optWhitespace=fe,o.Parser=o,o.range=function(e,t){return te((function(r){return e<=r&&r<=t})).desc(e+"-"+t)},o.regex=K,o.regexp=K,o.sepBy=q,o.sepBy1=Z,o.seq=z,o.seqMap=W,o.seqObj=function(){for(var e,t={},r=0,n=(e=arguments,Array.prototype.slice.call(e)),i=n.length,a=0;a<i;a+=1){var s=n[a];if(!b(s)){if(w(s)&&2===s.length&&"string"==typeof s[0]&&b(s[1])){var l=s[0];if(Object.prototype.hasOwnProperty.call(t,l))throw new Error("seqObj: duplicate key "+l);t[l]=!0,r++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(0===r)throw new Error("seqObj expects at least one named parser, found zero");return o((function(e,t){for(var r,o={},a=0;a<i;a+=1){var s,l;if(w(n[a])?(s=n[a][0],l=n[a][1]):(s=null,l=n[a]),!(r=O(l._(e,t),r)).status)return r;s&&(o[s]=r.value),t=r.index}return O(S(t,o),r)}))},o.string=G,o.succeed=J,o.takeWhile=function(e){return T(e),o((function(t,r){for(var n=r;n<t.length&&e(k(t,n));)n++;return S(n,t.slice(r,n))}))},o.test=te,o.whitespace=pe,o["fantasy-land/empty"]=ne,o["fantasy-land/of"]=J,o.Binary={bitSeq:f,bitSeqObj:function(e){h();var t={},r=0,n=l((function(e){if(w(e)){var n=e;if(2!==n.length)throw new Error("["+n.join(", ")+"] should be length 2, got length "+n.length);if(C(n[0]),_(n[1]),Object.prototype.hasOwnProperty.call(t,n[0]))throw new Error("duplicate key in bitSeqObj: "+n[0]);return t[n[0]]=!0,r++,n}return _(e),[null,e]}),e);if(r<1)throw new Error("bitSeqObj expects at least one named pair, got ["+e.join(", ")+"]");var o=l((function(e){return e[0]}),n);return f(l((function(e){return e[1]}),n)).map((function(e){return s((function(e,t){return null!==t[0]&&(e[t[0]]=t[1]),e}),{},l((function(t,r){return[t,e[r]]}),o))}))},byte:function(e){if(h(),_(e),e>255)throw new Error("Value specified to byte constructor ("+e+"=0x"+e.toString(16)+") is larger in value than a single byte.");var t=(e>15?"0x":"0x0")+e.toString(16);return o((function(r,n){var o=k(r,n);return o===e?S(n+1,o):x(n,t)}))},buffer:function(e){return p("buffer",e).map((function(e){return t.from(e)}))},encodedString:function(e,t){return p("string",t).map((function(t){return t.toString(e)}))},uintBE:g,uint8BE:g(1),uint16BE:g(2),uint32BE:g(4),uintLE:v,uint8LE:v(1),uint16LE:v(2),uint32LE:v(4),intBE:y,int8BE:y(1),int16BE:y(2),int32BE:y(4),intLE:m,int8LE:m(1),int16LE:m(2),int32LE:m(4),floatBE:p("floatBE",4).map((function(e){return e.readFloatBE(0)})),floatLE:p("floatLE",4).map((function(e){return e.readFloatLE(0)})),doubleBE:p("doubleBE",8).map((function(e){return e.readDoubleBE(0)})),doubleLE:p("doubleLE",8).map((function(e){return e.readDoubleLE(0)}))},e.exports=o}])}).call(this,r(18).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clone=s,t.addLast=u,t.addFirst=c,t.removeLast=h,t.removeFirst=f,t.insert=p,t.removeAt=d,t.replaceAt=g,t.getIn=v,t.set=y,t.setIn=m,t.update=w,t.updateIn=E,t.merge=S,t.mergeDeep=x,t.mergeIn=O,t.omit=A,t.addDefaults=P,t.default=void 0;const n="INVALID_ARGS";function o(e){throw new Error(e)}function i(e){const t=Object.keys(e);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t}const a={}.hasOwnProperty;function s(e){if(Array.isArray(e))return e.slice();const t=e,r=i(t),n={};for(let o=0;o<r.length;o++){const e=r[o];n[e]=t[e]}return n}function l(e){return null!=e&&"object"===typeof e}function u(e,t){return Array.isArray(t)?e.concat(t):e.concat([t])}function c(e,t){return Array.isArray(t)?t.concat(e):[t].concat(e)}function h(e){return e.length?e.slice(0,e.length-1):e}function f(e){return e.length?e.slice(1):e}function p(e,t,r){return e.slice(0,t).concat(Array.isArray(r)?r:[r]).concat(e.slice(t))}function d(e,t){return t>=e.length||t<0?e:e.slice(0,t).concat(e.slice(t+1))}function g(e,t,r){if(e[t]===r)return e;const n=e.length,o=Array(n);for(let i=0;i<n;i++)o[i]=e[i];return o[t]=r,o}function v(e,t){if(Array.isArray(t)||o(n),null==e)return;let r=e;for(let n=0;n<t.length;n++){const e=t[n];if(r=null!=r?r[e]:void 0,void 0===r)return r}return r}function y(e,t,r){let n=e;if(null==n&&(n="number"===typeof t?[]:{}),n[t]===r)return n;const o=s(n);return o[t]=r,o}function m(e,t,r){return t.length?b(e,t,r,0):r}function b(e,t,r,n){let o;const i=t[n];if(n===t.length-1)o=r;else{o=b(l(e)&&l(e[i])?e[i]:"number"===typeof t[n+1]?[]:{},t,r,n+1)}return y(e,i,o)}function w(e,t,r){return y(e,t,r(null==e?void 0:e[t]))}function E(e,t,r){return m(e,t,r(v(e,t)))}function S(e,t,r,n,o,i,...a){return a.length?R.call(null,!1,!1,e,t,r,n,o,i,...a):R(!1,!1,e,t,r,n,o,i)}function x(e,t,r,n,o,i,...a){return a.length?R.call(null,!1,!0,e,t,r,n,o,i,...a):R(!1,!0,e,t,r,n,o,i)}function O(e,t,r,n,o,i,a,...s){let l,u=v(e,t);return null==u&&(u={}),l=s.length?R.call(null,!1,!1,u,r,n,o,i,a,...s):R(!1,!1,u,r,n,o,i,a),m(e,t,l)}function A(e,t){const r=Array.isArray(t)?t:[t];let n=!1;for(let i=0;i<r.length;i++)if(a.call(e,r[i])){n=!0;break}if(!n)return e;const o={},s=i(e);for(let i=0;i<s.length;i++){const t=s[i];r.indexOf(t)>=0||(o[t]=e[t])}return o}function P(e,t,r,n,o,i,...a){return a.length?R.call(null,!0,!1,e,t,r,n,o,i,...a):R(!0,!1,e,t,r,n,o,i)}function R(e,t,r,...a){let u=r;null==u&&o(n);let c=!1;for(let n=0;n<a.length;n++){const r=a[n];if(null==r)continue;const o=i(r);if(o.length)for(let n=0;n<=o.length;n++){const i=o[n];if(e&&void 0!==u[i])continue;let a=r[i];t&&l(u[i])&&l(a)&&(a=R(e,t,u[i],a)),void 0!==a&&a!==u[i]&&(c||(c=!0,u=s(u)),u[i]=a)}}return u}var k={clone:s,addLast:u,addFirst:c,removeLast:h,removeFirst:f,insert:p,removeAt:d,replaceAt:g,getIn:v,set:y,setIn:m,update:w,updateIn:E,merge:S,mergeDeep:x,mergeIn:O,omit:A,addDefaults:P};t.default=k},function(e,t,r){"use strict";r.d(t,"NodeType",(function(){return yt}));var n=r(0),o=r(5),i=r(10),a=r.n(i),s=r(1),l=r.n(s),u=r(14),c=r(4),h=r.n(c),f=r(2),p=r(8),d=r(11),g=r.n(d),v=r(15),y=r.n(v),m=r(6);const b=e=>({name:"Value",value:e}),w=e=>({name:"Expression",value:e}),E=e=>({name:"PathNode",path:e}),S=(e,t)=>({name:"Query",key:e,value:t}),x=e=>1===e.length?e[0]:{name:"Concatenated",value:e},O=l.a.string('"'),A=l.a.string("'"),P=l.a.string("`"),R=l.a.regex(/[\w\-@]+/).desc("identifier").map(b);let k;const _=l.a.lazy((()=>k)).trim(l.a.optWhitespace).wrap(l.a.string("{{"),l.a.string("}}")).map(E),T=l.a.regex(/[^`]*/).wrap(P,P).map(w),C=l.a.alt(R,_,T).atLeast(1).map(a.a).map(x),j=l.a.alt(l.a.regex(/[^"]*/).wrap(O,O).map(b),l.a.regex(/[^']*/).wrap(A,A).map(b),C),U=l.a.seq(j,l.a.string("=").times(1,3).trim(l.a.optWhitespace),j).map((([e,,t])=>S(e,t))),N=l.a.alt(U,j).trim(l.a.optWhitespace).wrap(l.a.string("["),l.a.string("]")).many(),L=l.a.seqMap(C,N,((e,t)=>[e,...t]));k=l.a.sepBy(L,l.a.string(".")).map(a.a),new u.Grammars.W3C.Parser('\nvalue ::= segment_and_bracket (SEGMENT_SEPARATOR segment_and_bracket)*\nsegment ::= concatenated | expression | modelRef | identifier \nconcatenated ::= (expression | modelRef | identifier)+ \nmodelRef ::= OPEN_CURL OPEN_CURL value CLOSE_CURL CLOSE_CURL \nidentifier ::= [\\w\\-@]+\nquery ::= WHITESPACE* optionally_quoted_segment WHITESPACE* EQUALS EQUALS? EQUALS? WHITESPACE* optionally_quoted_segment WHITESPACE*\nbrackets ::= OPEN_BRACKET WHITESPACE* (query | optionally_quoted_segment) WHITESPACE* CLOSE_BRACKET \nsegment_and_bracket ::= segment brackets*\nquoted_value ::= [^"\']*\noptionally_quoted_segment ::= WHITESPACE* SINGLE_QUOTE quoted_value SINGLE_QUOTE WHITESPACE* | WHITESPACE* DOUBLE_QUOTE quoted_value DOUBLE_QUOTE WHITESPACE* | WHITESPACE* segment WHITESPACE*\nexpression_value ::= [^`]*\nexpression ::= BACK_TICK expression_value BACK_TICK\n\nEQUALS ::= "="\nSEGMENT_SEPARATOR ::= "."\nSINGLE_QUOTE ::= "\'"\nDOUBLE_QUOTE ::= \'"\'\nWHITESPACE ::= " "\nOPEN_CURL ::= "{"\nCLOSE_CURL ::= "}" \nOPEN_BRACKET ::= "[" \nCLOSE_BRACKET ::= "]"\nBACK_TICK ::= "`" \n');const B="{",I="'",M="`",D=e=>{if(!e)return!1;const t=e.charCodeAt(0);return!(32===t||34===t||39===t||40===t||41===t||42===t||46===t||61===t||91===t||93===t||96===t||123===t||125===t)},V=e=>{let t=1,r=e.charAt(0);const n=n=>{if(n&&r!==n)throw new Error(`Expected char: ${n} but got: ${r}`);return r=e.charAt(t),t+=1,r},o=()=>{for(;" "===r;)n()},i=()=>{var e,t;return null!=(t=null!=(e=(()=>{if(r===B&&(n(B),r===B)){n(B);const e=u();return n("}"),n("}"),e}})())?e:(()=>{if(r===M){n(M);let e=r;for(;n()&&r!==M;)e+=r;if(n(M),e)return w(e)}})())?t:(()=>{if(!D(r))return;let e=r;for(;n()&&D(r);)e+=r;return e?b(e):void 0})()},a=()=>{if(o(),r===I||'"'===r){const e=r===I;n(e?I:'"');const t=(e=>{if(!(null==r?void 0:r.match(e)))return;let t=r;for(;n()&&(null==r?void 0:r.match(e));)t+=r;return t?b(t):void 0})(/[^'"]+/);return n(e?I:'"'),t}return i()},s=()=>{if("["===r){n("["),o();let e=a();if(!e)throw new Error("Expected identifier");if(o(),(()=>{if("="!==r)return!1;for(;"="===r;)n();return!0})()){o();const t=a();e=S(e,t),o()}return e&&n("]"),e}},l=()=>{const e=[],t=(()=>{const e=[];let t=i();for(;void 0!==t;)e.push(t),t=i();if(0!==e.length)return x(e)})();if(t){e.push(t);let r=s();for(;void 0!==r;)e.push(r),r=s()}return e},u=()=>{const e=[];let t=l();for(;void 0!==t&&(e.push(...t),r&&"}"!==r);){if(0===t.length&&r)throw new Error(`Unexpected character: ${r}`);n("."),t=l()}return E(e)};try{return{status:!0,path:u()}}catch(c){return{status:!1,error:c.message}}};function F(e){return!("string"===typeof e||Array.isArray(e))}class ${constructor(e,t=(e=>new $(e))){const r=Array.isArray(e)?e:e.split(".");this.split=r.map((e=>{if("number"===typeof e)return e;const t=Number(e);return isNaN(t)?e:t})),Object.freeze(this.split),this.joined=this.split.join("."),this.factory=t}asArray(){return this.split}asString(){return this.joined}contains(e){const t=e.asArray();if(t.length<this.split.length)return!1;for(let r=0;r<this.split.length;r++)if(this.split[r]!==t[r])return!1;return!0}relative(e){return this.asArray().slice(e.asArray().length)}parent(){return this.factory(this.split.slice(0,-1))}key(){return this.split[this.split.length-1]}descendent(e){const t=(r=e,Array.isArray(r)?r:"string"===typeof r?r.split("."):r.asArray());var r;return this.factory(this.split.concat(t))}}var H=Object.defineProperty,z=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Z=(e,t)=>{for(var r in t||(t={}))W.call(t,r)&&q(e,r,t[r]);if(z)for(var r of z(t))Y.call(t,r)&&q(e,r,t[r]);return e};function G(e,t,r){var n;const i={updates:{},path:[]};function a(e){if("Value"===e.name)return e.value;if("PathNode"===e.name){const n=G(e,t);n.updates&&(i.updates=Z(Z({},i.updates),n.updates));try{return t.convertToPath(t.getValue(n.path))}catch(r){throw new o.NestedError(`Unable to resolve path segment: ${n.path}`,r)}}if("Expression"===e.name)try{const r=t.evaluate(e.value);return t.convertToPath(r)}catch(r){throw new o.NestedError(`Unable to resolve path: ${e.value}`,r)}throw new Error(`Unable to resolve value for node: ${e.name}`)}function s(e){"string"===typeof e&&e.indexOf(".")>-1?e.split(".").forEach((e=>{i.path.push(function(e){const t=parseInt(e,10);return isNaN(t)?e:t}(e))})):i.path.push(e)}return e.path.forEach((function(e){var n,o;const l=null!=(n=null==r?void 0:r.beforeResolveNode.call(e,Z(Z({},i),t)))?n:e;switch(l.name){case"Expression":case"PathNode":s(a(l));break;case"Value":s(l.value);break;case"Query":{const e=null!=(o=t.getValue(i.path))?o:[],{key:r,value:n}=l,s=a(r),u=n&&a(n),c=function(e,t,r){return e.findIndex((e=>!(!e||"object"!==typeof e)&&e[t]==r))}(e,s,u);void 0===c||-1===c?(i.updates[[...i.path,e.length,s].join(".")]=u,i.path.push(e.length)):i.path.push(c);break}case"Concatenated":i.path.push(l.value.map(a).join(""));break;default:throw new Error(`Unsupported node type: ${l.name}`)}})),{path:i.path,updates:Object.keys(null!=(n=i.updates)?n:{}).length>0?i.updates:void 0}}var K=Object.defineProperty,J=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,ee=(e,t,r)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,te=(e,t)=>{for(var r in t||(t={}))Q.call(t,r)&&ee(e,r,t[r]);if(J)for(var r of J(t))X.call(t,r)&&ee(e,r,t[r]);return e};const re=/[\s()*=`{}'"[\]]/,ne=/^[^.]+(\..+)*$/,oe={get:()=>{throw new Error("Not Implemented")},set:()=>{throw new Error("Not Implemented")},evaluate:()=>{throw new Error("Not Implemented")}};class ie{constructor(e){this.hooks={skipOptimization:new n.a,beforeResolveNode:new n.c},this.parserOptions=te(te({},oe),e),this.cache={},this.parseCache={},this.parse=this.parse.bind(this)}normalizePath(e,t){var r,n;if(!re.test(e)&&ne.test(e)&&!0!==this.hooks.skipOptimization.call(e))return{path:e.split("."),updates:void 0};const i=null!=(r=this.parseCache[e])?r:V(e);if(this.parseCache[e]=i,"object"!==typeof i||!(null==i?void 0:i.status))throw new TypeError(`Cannot normalize path "${e}": ${null!=(n=null==i?void 0:i.error)?n:"Unknown Error."}`);try{return G(i.path,t,this.hooks)}catch(a){throw new o.NestedError(`Cannot resolve binding: ${e}`,a)}}getBindingForNormalizedResult(e){const t=e.path.join(".");if(this.cache[t])return this.cache[t];const r=new $(""===t?[]:e.path,this.parse);return this.cache[t]=r,r}parse(e,t={}){if(F(e))return e;const r=te(te({},this.parserOptions),t);let n={};const o=Array.isArray(e)?e.join("."):String(e),i={getValue:e=>{const t=this.normalizePath(e.join("."),i);return r.get(this.getBindingForNormalizedResult(t))},evaluate:e=>r.evaluate(e),convertToPath:e=>{if(void 0===e)throw new Error("Attempted to convert undefined value to binding path");if("string"!==typeof e&&"number"!==typeof e&&"boolean"!==typeof e)throw new Error(`Attempting to convert ${typeof e} to a binding path.`);const t=this.normalizePath(String(e),i);t.updates&&(n=te(te({},n),t.updates));const r=t.path.join(".");if(""===r)throw new Error("Nested path resolved to an empty path");return r}},a=this.normalizePath(o,i);a.updates&&(n=te(te({},n),a.updates));const s=Object.keys(n);if(!r.readOnly&&s.length>0){const e=s.map((e=>[this.parse(e),n[e]]));r.set(e)}return this.getBindingForNormalizedResult(a)}}class ae{constructor(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core"),this.createSubset("children")}createSubset(e,t=!1){!t&&this.namedDependencySets[e]||(this.namedDependencySets[e]={readDeps:new Set,writeDeps:new Set})}getDependencies(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.readDeps)?n:new Set:this.readDeps}trackSubset(e){this.createSubset(e),this.namedSet=e}trackDefault(){this.namedSet="core"}getModified(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.writeDeps)?n:new Set:this.writeDeps}readsBinding(e){return this.readDeps.has(e)}writesBinding(e){return this.writeDeps.has(e)}reset(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core",!0),this.createSubset("children",!0)}addReadDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.readDeps.add(e)),this.readDeps.add(e)}addWriteDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.writeDeps.add(e)),this.writeDeps.add(e)}addChildReadDep(e){this.addReadDep(e,"children")}}class se extends ae{constructor(e){super(),this.rootModel=e,this.set=this.set.bind(this),this.get=this.get.bind(this)}set(e,t){return e.forEach((([e])=>this.addWriteDep(e))),this.rootModel.set(e,t)}get(e,t){return this.addReadDep(e),this.rootModel.get(e,t)}delete(e,t){return this.addWriteDep(e),this.rootModel.delete(e,t)}}const le=new class{get(){}set(){return[]}delete(){}},ue=new $([]);function ce(e,t,r){return r?{get:(n,o)=>{const i=null!=o?o:t;return e.get?e.get(n,i,r):null==r?void 0:r.get(n,i)},set:(n,o)=>{const i=null!=o?o:t;return e.set?e.set(n,i,r):null==r?void 0:r.set(n,i)},delete:(n,o)=>{const i=null!=o?o:t;return e.delete?e.delete(n,i,r):null==r?void 0:r.delete(n,i)}}:e}function he(e){if(0===e.length)return le;if(1===e.length)return ce(e[0]);function t(t){var r;return null!=(r=e.reduce(((e,r)=>ce(r,t,e)),void 0))?r:le}return{get:(e,r)=>{var n;return null==(n=t(r))?void 0:n.get(e,r)},set:(e,r)=>{var n;return null==(n=t(r))?void 0:n.set(e,r)},delete:(e,r)=>{var n;return null==(n=t(r))?void 0:n.delete(e,r)}}}class fe{constructor(e=[]){this.hooks={onSet:new n.b},this.pipeline=e,this.effectiveDataModel=he(this.pipeline)}setMiddleware(e){this.pipeline=e,this.effectiveDataModel=he(e)}addMiddleware(e){this.pipeline=[...this.pipeline,e],this.effectiveDataModel=he(this.pipeline)}reset(e={}){this.pipeline.forEach((e=>{var t;"reset"in e&&(null==(t=e.reset)||t.call(e))})),this.set([[ue,e]])}set(e,t){const r=this.effectiveDataModel.set(e,t);return this.hooks.onSet.call(e),r}get(e,t){return this.effectiveDataModel.get(e,t)}delete(e,t){return this.effectiveDataModel.delete(e,t)}}class pe{constructor(e={}){this.model=e,this.get=this.get.bind(this),this.set=this.set.bind(this)}reset(e={}){this.model=e}get(e){return e&&e.asString()?h()(this.model,e.asArray()):this.model}set(e){const t=[];return e.forEach((([e,r])=>{const n=this.get(e);this.model=Object(f.setIn)(this.model,e.asArray(),r),t.push({binding:e,oldValue:n,newValue:r})})),t}delete(e){const t=e.parent();if(t){const r=this.get(t);void 0!==r&&(Array.isArray(r)?this.model=Object(f.setIn)(this.model,t.asArray(),Object(f.removeAt)(r,e.key())):this.model=Object(f.setIn)(this.model,t.asArray(),Object(f.omit)(r,e.key())))}}}const de=Symbol("Expression Node ID");function ge(e){return"object"===typeof e&&null!==e&&!Array.isArray(e)&&e.__id===de}const ve=46,ye=40,me=123,be=125,we=!0,Ee={"-":we,"!":we,"~":we,"+":we},Se={"=":3,"+=":3,"-=":3,"&=":3,"|=":3,"||":5,"&&":6,"|":7,"^":8,"&":9,"==":10,"!=":10,"===":10,"!==":10,"<":11,">":11,"<=":11,">=":11,"<<":12,">>":12,">>>":12,"+":13,"-":13,"*":14,"/":14,"%":14};function xe(e,t){const r=new Error(`${e} at character ${t}`);throw r.index=t,r.description=e,r}function Oe(e,t){if(e&&t)return{start:e.start,end:t.end}}function Ae(e){let t=0;return Object.keys(e).forEach((r=>{r.length>t&&Object.prototype.hasOwnProperty.call(e,r)&&(t=r.length)})),t}const Pe=Ae(Ee),Re=Ae(Se),ke={true:!0,false:!1,null:null,undefined:void 0};function _e(e){return Se[e]||0}function Te(e,t,r,n){let o;return o="||"===e||"&&"===e?"LogicalExpression":"="===e?"Assignment":"+="===e||"-="===e||"&="===e||"|="===e?"Modification":"BinaryExpression",{__id:de,type:o,operator:e,left:t,right:r,location:n}}function Ce(e){return e>=48&&e<=57}function je(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122}function Ue(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57}function Ne(e,t){var r;const n=null==(r=null==t?void 0:t.strict)||r,o=e.charAt,i=e.charCodeAt,{length:a}=e;let s=0;const l=e=>({start:{character:e},end:{character:s}});function u(t){return o.call(e,t)}function c(t){return i.call(e,t)}function h(){let e=c(s);for(;32===e||9===e;)e=c(++s)}function f(){const e=function(){let e,t,r,n=d(),o=p();if(!o)return n;let i={value:o,prec:_e(o)},a=d();a||xe(`Expected expression after ${o}`,s);const l=[n,i,a];o=p();for(;o&&(t=_e(o),0!==t);){for(i={value:o,prec:t};l.length>2&&t<=l[l.length-2].prec;)a=l.pop(),o=l.pop().value,n=l.pop(),e=Te(o,n,a,Oe(n.location,a.location)),l.push(e);e=d(),e||xe(`Expected expression after ${o}`,s),l.push(i,e),o=p()}r=l.length-1,e=l[r];for(;r>1;)e=Te(l[r-1].value,l[r-2],e,Oe(l[r-2].location,e.location)),r-=2;return e}();h();const t=s;if(s<a&&63===c(s)){s++;const r=f();if(r||xe("Expected expression",s),h(),58===c(s)){s++;const n=f();return n||xe("Expected expression",s),{__id:de,type:"ConditionalExpression",test:e,consequent:r,alternate:n,location:l(t)}}xe("Expected :",s)}return e}function p(){h();let t=e.substr(s,Re),r=t.length;for(;r>0;){if(Object.prototype.hasOwnProperty.call(Se,t))return s+=r,t;t=t.substr(0,--r)}return!1}function d(){h();const t=c(s),r=s;if(Ce(t)||46===t)return function(){let e="";const t=s;for(;Ce(c(s));)e+=u(s++);if(c(s)===ve)for(e+=u(s++);Ce(c(s));)e+=u(s++);let r=u(s);if("e"===r||"E"===r){for(e+=u(s++),r=u(s),"+"!==r&&"-"!==r||(e+=u(s++));Ce(c(s));)e+=u(s++);Ce(c(s-1))||xe(`Expected exponent (${e}${u(s)})`,s)}const n=c(s);je(n)?xe(`Variable names cannot start with a number (${e}${u(s)})`,s):n===ve&&xe("Unexpected period",s);return{__id:de,type:"Literal",value:parseFloat(e),raw:e,location:l(t)}}();if(39===t||34===t)return g();if(je(t)||40===t)return function(){let e=c(s),t=e===ye?function(){s++;const e=f();if(h(),41===c(s))return s++,e;xe("Unclosed (",s)}():v();const r=s;h(),e=c(s);for(;e===ve||91===e||e===ye;)s++,e===ve?(h(),t={__id:de,type:"MemberExpression",computed:!1,object:t,property:v(),location:l(r)}):91===e?(t={__id:de,type:"MemberExpression",computed:!0,object:t,property:f(),location:l(r)},h(),e=c(s),93!==e&&xe("Unclosed [",s),s++):e===ye&&(t={__id:de,type:"CallExpression",args:y(41),callTarget:t,location:l(r)}),h(),e=c(s);return t}();if(91===t)return function(){const e=s;return s++,{__id:de,type:"ArrayExpression",elements:y(93),location:l(e)}}();if(n=t,o=c(s+1),n===me&&o===me)return function(){let e="",t=!1,r=1;const n=s;s+=2;for(;s<a;){const n=u(s++);if("}"===n&&c(s)===be){if(s++,r--,0===r){t=!0;break}e+="}}"}else"{"===n&&c(s)===me?(r++,e+="{{",s++):e+=n}t||xe(`Unclosed brace after "${e}"`,s);return{__id:de,type:"ModelRef",ref:e,location:l(n)}}();var n,o;if(t===me)return function(){const e=[];let t,r,n,o=!1,i=!0;const u=s;for(++s;s<a;){if(h(),n=c(s),125===n){t&&xe("A key was defined but a value was not",s),s++,o=!0;break}i?(39!==n&&34!==n&&xe("An object must start wtih a key",s),t=g(),h(),58===c(s)?(s++,i=!1):xe("A colon must follow an object key",s)):(r=f(),e.push({key:t,value:r}),h(),n=c(s),44===n?s++:125!==n&&xe("Please add a comma to add another key",s),i=!0,t=void 0,r=void 0),n=c(s)}return o||xe("Unclosed brace in object",s),{__id:de,type:"Object",attributes:e,location:l(u)}}();let i=e.substr(s,Pe),p=i.length;for(;p>0;){if(Object.prototype.hasOwnProperty.call(Ee,i))return s+=p,{__id:de,type:"UnaryExpression",operator:i,argument:d(),prefix:!0,location:l(r)};i=i.substr(0,--p)}return!1}function g(){const e=u(s++);let t="",r=!1;const n=s;for(;s<a;){let n=u(s++);if(n===e){r=!0;break}if("\\"===n)switch(n=u(s++),n){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v"}else t+=n}return r||xe(`Unclosed quote after "${t}"`,s),{__id:de,type:"Literal",value:t,raw:`${e}${t}${e}`,location:l(n)}}function v(){const t=s;let r=c(t);for(je(r)?s++:xe(`Unexpected ${u(s)}`,s);s<a&&(r=c(s),Ue(r));)s++;const n=e.slice(t,s);return Object.prototype.hasOwnProperty.call(ke,n)?{__id:de,type:"Literal",value:ke[n],raw:n,location:l(t)}:"this"===n?{__id:de,type:"ThisExpression",location:l(t)}:{__id:de,type:"Identifier",name:n,location:l(t)}}function y(e){const t=[];let r,n;for(;s<a;){if(h(),r=c(s),r===e){s++;break}44!==r?(n=f(),n&&"Compound"!==n.type||xe("Expected comma",s),t.push(n)):s++}return r!==e&&xe(`Expected ${String.fromCharCode(e)}`,s),t}const m=[];try{for(;s<a;){const e=c(s);if(59===e||44===e){s++;continue}const t=f();t?m.push(t):s<a&&xe(`Unexpected "${u(s)}"`,s)}return 1===m.length?m[0]:{__id:de,type:"Compound",body:m,location:l(0)}}catch(b){if(n||!(b instanceof Error))throw b;return{__id:de,type:"Compound",body:m,location:l(0),error:b}}}const Le=(e,t,r,n)=>e.evaluate(t)?e.evaluate(r):n?e.evaluate(n):null;Le.resolveParams=!1;var Be=Object.freeze({__proto__:null,setDataVal:(e,t,r)=>{e.model.set([[t,r]])},getDataVal:(e,t)=>e.model.get(t),deleteDataVal:(e,t)=>e.model.delete(t),conditional:Le});function Ie(e){return!ge(e)&&("object"===typeof e&&null!==e&&!Array.isArray(e)&&"value"in e)}var Me=Object.defineProperty,De=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,$e=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable,ze=(e,t,r)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,We=(e,t)=>{for(var r in t||(t={}))$e.call(t,r)&&ze(e,r,t[r]);if(Fe)for(var r of Fe(t))He.call(t,r)&&ze(e,r,t[r]);return e},Ye=(e,t)=>De(e,Ve(t));const qe=(e,t,r)=>e.evaluate(t)&&e.evaluate(r);qe.resolveParams=!1;const Ze=(e,t,r)=>e.evaluate(t)||e.evaluate(r);Ze.resolveParams=!1;const Ge={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"&&":qe,"||":Ze,"!==":(e,t)=>e!==t,"===":(e,t)=>e===t,"|":(e,t)=>e|t,"&":(e,t)=>e&t,"+=":(e,t)=>e+t,"-=":(e,t)=>e-t,"&=":(e,t)=>e&t,"|=":(e,t)=>e|t},Ke={"-":e=>-e,"+":e=>Number(e),"!":e=>!e};class Je{constructor(e){this.vars={},this.hooks={resolve:new n.c,resolveOptions:new n.c,beforeEvaluate:new n.c,onError:new n.a},this.expressionsCache=new Map,this.operators={binary:new Map(Object.entries(Ge)),unary:new Map(Object.entries(Ke)),expressions:new Map(Object.entries(Be))},this.defaultHookOptions=Ye(We({},e),{evaluate:e=>this.evaluate(e,this.defaultHookOptions),resolveNode:e=>this._execAST(e,this.defaultHookOptions)}),this.hooks.resolve.tap("ExpressionEvaluator",this._resolveNode.bind(this)),this.evaluate=this.evaluate.bind(this)}reset(){this.expressionsCache.clear()}evaluate(e,t){var r;const n=this.hooks.resolveOptions.call(Ye(We(We({},this.defaultHookOptions),t),{resolveNode:e=>this._execAST(e,n)}));let o=null!=(r=this.hooks.beforeEvaluate.call(e,n))?r:e;for(;Ie(o);)o=o.value;return"number"===typeof o||"boolean"===typeof o||void 0===o||null===o?o:ge(o)?this._execAST(o,n):Array.isArray(o)?o.reduce(((e,r)=>this.evaluate(r,t)),null):this._execString(String(o),n)}addExpressionFunction(e,t){this.operators.expressions.set(e,t)}addBinaryOperator(e,t){this.operators.binary.set(e,t)}addUnaryOperator(e,t){this.operators.unary.set(e,t)}setExpressionVariable(e,t){this.vars[e]=t}getExpressionVariable(e){return this.vars[e]}_execAST(e,t){return this.hooks.resolve.call(void 0,e,t)}_execString(e,t){var r;if(""===e)return e;const n=e.match(/^@\[(.*)\]@$/);let i,a=e;n&&([,a]=Array.from(n));try{i=null!=(r=this.expressionsCache.get(a))?r:Ne(a),this.expressionsCache.set(a,i)}catch(s){if(t.throwErrors||!this.hooks.onError.call(s))throw new o.NestedError(`Error parsing expression: ${e}`,s);return}try{return this._execAST(i,t)}catch(s){if(t.throwErrors||!this.hooks.onError.call(s))throw new o.NestedError(`Error evaluating expression: ${e}`,s)}}_resolveNode(e,t,r){const{resolveNode:n,model:o}=r,i=Ye(We({},r),{evaluate:e=>this.evaluate(e,r)});if("Literal"===t.type)return t.value;if("Identifier"===t.type)return this.vars[t.name];if("Compound"===t.type||"ThisExpression"===t.type)throw new Error(`Expression type: ${t.type} is not supported`);if("BinaryExpression"===t.type||"LogicalExpression"===t.type){const e=this.operators.binary.get(t.operator);return e?"resolveParams"in e?!1===e.resolveParams?e(i,t.left,t.right):e(i,n(t.left),n(t.right)):e(n(t.left),n(t.right)):void 0}if("UnaryExpression"===t.type){const e=this.operators.unary.get(t.operator);return e?"resolveParams"in e?e(i,!1===e.resolveParams?t.argument:n(t.argument)):e(n(t.argument)):void 0}if("Object"===t.type){const{attributes:e}=t,r={};return e.forEach((e=>{const t=n(e.key),o=n(e.value);r[t]=o})),r}if("CallExpression"===t.type){const e=t.callTarget.name,r=this.operators.expressions.get(e);if(!r)throw new Error(`Unknown expression function: ${e}`);if("resolveParams"in r&&!1===r.resolveParams)return r(i,...t.args);return r(i,...t.args.map((e=>n(e))))}if("ModelRef"===t.type)return o.get(t.ref,{context:{model:r.model}});if("MemberExpression"===t.type){return n(t.object)[n(t.property)]}if("Assignment"!==t.type){if("ConditionalExpression"===t.type){const e=n(t.test)?t.consequent:t.alternate;return n(e)}if("ArrayExpression"===t.type)return t.elements.map((e=>n(e)));if("Modification"===t.type){const e=this.operators.binary.get(t.operator);if(e){let r;return r="resolveParams"in e?!1===e.resolveParams?e(i,t.left,t.right):e(i,n(t.left),n(t.right)):e(n(t.left),n(t.right)),"ModelRef"===t.left.type?o.set([[t.left.ref,r]]):"Identifier"===t.left.type&&(this.vars[t.left.name]=r),r}return n(t.left)}}else{if("ModelRef"===t.left.type){const e=n(t.right);return o.set([[t.left.ref,e]]),e}if("Identifier"===t.left.type){const e=n(t.right);return this.vars[t.left.name]=e,e}}}}class Qe{constructor(){this.hooks={trace:new n.b,debug:new n.b,info:new n.b,warn:new n.b,error:new n.b,log:new n.b},this.logHandlers=new Set,this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error")}createHandler(e){return(...t)=>{this.hooks[e].call(t),this.hooks.log.call(e,t),this.logHandlers.forEach((r=>r[e](...t)))}}addHandler(e){this.logHandlers.add(e)}removeHandler(e){this.logHandlers.delete(e)}}class Xe{constructor(e){this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error"),this.proxiedLoggerProvider=e}createHandler(e){return(...t)=>{const r=this.proxiedLoggerProvider();null==r||r[e](...t)}}}var et=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,at=(e,t,r)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,st=(e,t)=>{for(var r in t||(t={}))ot.call(t,r)&&at(e,r,t[r]);if(nt)for(var r of nt(t))it.call(t,r)&&at(e,r,t[r]);return e};const lt=e=>e;class ut{constructor(e){this.formatters=new Map,this.types=new Map,this.schema=new Map,this.bindingSchemaNormalizedCache=new Map,this.hooks={resolveTypeForBinding:new n.c},this.schema=e?function(e){const t=new Map;if(!e.ROOT)return t;const r=[{node:e.ROOT,path:[],visited:new Set}];for(;r.length>0;){const n=r.shift();if(!n)break;const{node:o,path:i,visited:a}=n;Object.entries(o).forEach((([n,o])=>{const s=[...i,n],l=s.join(".");if(t.has(l))throw new Error("Path has already been processed. There's either a loop somewhere or a bug");if(a.has(o.type))throw new Error(`Path already contained type: ${o.type}. This likely indicates a loop in the schema`);t.set(l,o),o.isArray&&s.push("[]"),o.isRecord&&s.push("{}"),o.type&&e[o.type]&&r.push({path:s,node:e[o.type],visited:new Set([...a,o.type])})}))}return t}(e):new Map}addFormatters(e){e.forEach((e=>{this.formatters.set(e.name,e)}))}addDataTypes(e){e.forEach((e=>{this.types.set(e.type,e)}))}getValidationsForBinding(e){var t;const r=this.getApparentType(e);if(null==(t=null==r?void 0:r.validation)?void 0:t.length)return r.validation.map((e=>st({severity:"error",trigger:"change"},e)))}normalizeBinding(e){const t=this.bindingSchemaNormalizedCache.get(e);if(t)return t;let r=e.asArray(),n=r.map((e=>"number"===typeof e?"[]":e)).join(".");return n&&(this.bindingSchemaNormalizedCache.set(e,n),r=n.split(".")),r.forEach((t=>{const o=r.map((e=>e===t?"{}":e)).join(".");this.schema.get(o)&&(this.bindingSchemaNormalizedCache.set(e,o),r=o.split("."),n=o)})),n}getType(e){return this.hooks.resolveTypeForBinding.call(this.schema.get(this.normalizeBinding(e)),e)}getApparentType(e){var t,r;const n=this.getType(e);if(void 0===n)return;const o=this.getTypeDefinition(null==n?void 0:n.type);return void 0===o?n:(i=st(st({},o),n),a={validation:[...null!=(t=n.validation)?t:[],...null!=(r=o.validation)?r:[]]},tt(i,rt(a)));var i,a}getTypeDefinition(e){return this.types.get(e)}getFormatterForType(e){const t=e,{type:r}=t,n=((e,t)=>{var r={};for(var n in e)ot.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&nt)for(var n of nt(e))t.indexOf(n)<0&&it.call(e,n)&&(r[n]=e[n]);return r})(t,["type"]),o=this.formatters.get(r);if(o)return{format:o.format?e=>{var t;return null==(t=o.format)?void 0:t.call(o,e,n)}:lt,deformat:o.deformat?e=>{var t;return null==(t=o.deformat)?void 0:t.call(o,e,n)}:lt}}getFormatter(e){const t=this.getApparentType(e);if(null==t?void 0:t.format)return this.getFormatterForType(t.format)}}const ct="{{",ht="}}";function ft(e){const t=e.indexOf(ct);if(-1===t)return;let r=1,n=t+ct.length,o=e.substring(t+ct.length);for(;r>0&&o.length>0;){const e=o.indexOf(ht);if(-1===e)break;const t=o.indexOf(ct);-1!==t&&t<e?(r++,o=o.substring(t+ct.length),n+=t+ct.length):(r--,o=o.substring(e+ht.length),n+=e+ht.length)}if(0!==r)throw new Error(`Unbalanced {{ and }} in exp: ${e}`);return{start:t,end:n}}function pt(e,t){const{model:r,formatted:n=!0}=t;let o=function(e,{evaluate:t}){if(!t)return e;const r=/@\[.*?\]@/;let n=e,o=n.match(r);for(;null!==o;){const i=o[0],a=n.indexOf(i),s=t(i.substr("@[".length,i.length-"@[".length-"]@".length));if(0===a&&i===e&&"string"!==typeof s)return s;n=n.substr(0,a)+s+n.substr(a+i.length),o=n.match(r)}return n}(e,t);if(!r||"string"!==typeof o||-1===o.indexOf(ct))return o;for(;-1!==o.indexOf(ct);){const e=ft(o);if(!e)return o;const{start:t,end:i}=e,a=o.substring(t+ct.length,i-ct.length).trim(),s=r.get(a,{formatted:n});if(0===t&&i===o.length&&"string"!==typeof s)return s;o=o.substr(0,t)+s+o.substr(i)}return o}function dt(e,t){switch(typeof e){case"string":return pt(e,t);case"object":{if(!e)return e;const r=Object.keys(e);let n=e;return r.length>0&&r.forEach((r=>{n=Object(f.setIn)(n,[r],dt(e[r],t))})),n}default:return e}}function gt(e,t){return dt(e,t)}function vt(e,t){const r=new Map(e),n=t.parent(),o=t.key();if(r.forEach(((e,n)=>{(t===n||t.contains(n))&&r.delete(n)})),"number"===typeof o){Array.from(e.keys()).filter((e=>{if(n.contains(e)){const[t]=e.relative(n);return"number"===typeof t&&t>o}return!1})).sort().forEach((e=>{const[t,...o]=e.relative(n);if("number"===typeof t){const i=[t-1,...o],a=n.descendent(i);r.set(a,r.get(e)),r.delete(e)}}))}return r}var yt,mt,bt=Object.defineProperty,wt=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,St=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,At=(e,t,r)=>t in e?bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Pt{constructor(e,t){this.validator=e,this.shadowModelPaths=new Map,this.logger=null==t?void 0:t.logger,this.shouldIncludeInvalid=null==t?void 0:t.shouldIncludeInvalid}set(e,t,r){const n=ce(this,(o=((e,t)=>{for(var r in t||(t={}))xt.call(t,r)&&At(e,r,t[r]);if(St)for(var r of St(t))Ot.call(t,r)&&At(e,r,t[r]);return e})({},t),wt(o,Et({includeInvalid:!0}))),r);var o;const i=[],a=new Set;e.forEach((([e,t])=>{this.shadowModelPaths.set(e,t),a.add(e)}));const s=[];this.shadowModelPaths.forEach(((e,t)=>{var r;const o=this.validator(t,n);void 0===o?i.push([t,e]):o instanceof Set?o.forEach((r=>{s.push(r.binding),r.isStrong||r.binding.asString()!==t.asString()||i.push([r.binding,e])})):a.has(t)&&(s.push(t),null==(r=this.logger)||r.debug(`Invalid value for path: ${t.asString()} - ${o.severity} - ${o.message}`))}));let l=[];if(r&&i.length>0){i.forEach((([e])=>this.shadowModelPaths.delete(e)));const e=r.set(i,t);if(0===s.length)return e;l=e}const u=s.map((e=>({binding:e,oldValue:n.get(e),newValue:n.get(e),force:!0})));return[...l,...u]}get(e,t,r){var n,o;let i=null==r?void 0:r.get(e,t);return(null!=(o=null==(n=this.shouldIncludeInvalid)?void 0:n.call(this,t))?o:!0===(null==t?void 0:t.includeInvalid))&&this.shadowModelPaths.forEach(((t,r)=>{r!==e?e.contains(r)&&(i=Object(f.setIn)(i,r.relative(e),t)):i=t})),i}delete(e,t,r){return this.shadowModelPaths=vt(this.shadowModelPaths,e),null==r?void 0:r.delete(e,t)}}class Rt{constructor(){this.registry=new Map}get(e){return this.registry.get(e)}register(e,t){this.registry.set(e,t)}}(mt=yt||(yt={})).Asset="asset",mt.View="view",mt.Applicability="applicability",mt.Template="template",mt.Value="value",mt.MultiNode="multi-node",mt.Switch="switch",mt.Unknown="unknown",mt.Empty="empty";var kt=Object.defineProperty,_t=Object.defineProperties,Tt=Object.getOwnPropertyDescriptors,Ct=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable,Nt=(e,t,r)=>t in e?kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Lt=(e,t)=>{for(var r in t||(t={}))jt.call(t,r)&&Nt(e,r,t[r]);if(Ct)for(var r of Ct(t))Ut.call(t,r)&&Nt(e,r,t[r]);return e},Bt=(e,t)=>_t(e,Tt(t));const It={type:yt.Empty};class Mt{constructor(){this.hooks={onParseObject:new n.c,onCreateASTNode:new n.c,determineNodeType:new n.a,parseNode:new n.a}}parseView(e){const t=this.parseObject(e,yt.View);if(!t)throw new Error("Unable to parse object into a view");return t}createASTNode(e,t){const r=this.hooks.onCreateASTNode.call(e,t);return void 0===r?e:r}hasTemplateValues(e,t){return Object.hasOwnProperty.call(e,"template")&&Array.isArray(null==e?void 0:e.template)&&e.template.length&&e.template.find((e=>e.output===t))}parseObject(e,t=yt.Value,r={templateDepth:0}){var n;const o=this.hooks.determineNodeType.call(e);if(void 0!==o){const n=this.hooks.parseNode.call(e,t,r,o);if(n)return n}const i=(e,n,o=[])=>{if("object"!==typeof n||null===n)return{value:n,children:[]};const a=this.hooks.onParseObject.call(n,t);if(!a)return e;const s={children:[],value:e};return(Array.isArray(a)?a.map(((e,t)=>[t,e])):[...Object.entries(a),...Object.getOwnPropertySymbols(a).map((e=>[e,a[e]]))]).reduce(((e,t)=>{var n;const s=e,{children:l}=s,u=((e,t)=>{var r={};for(var n in e)jt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Ct)for(var n of Ct(e))t.indexOf(n)<0&&Ut.call(e,n)&&(r[n]=e[n]);return r})(s,["children"]),[c,h]=t;if("asset"===c&&"object"===typeof h){const e=this.parseObject(h,yt.Asset,r);if(e)return Bt(Lt({},u),{children:[...l,{path:[...o,"asset"],value:e}]})}else{if(this.hooks.determineNodeType.call(c)===yt.Template&&Array.isArray(h)){const e=h.map((e=>{var t,n;const i=this.hooks.onCreateASTNode.call({type:yt.Template,depth:null!=(t=r.templateDepth)?t:0,data:e.data,template:e.value,dynamic:null!=(n=e.dynamic)&&n},e);if((null==i?void 0:i.type)===yt.MultiNode&&i.values.forEach((e=>{e.parent=i})),i)return{path:[...o,e.output],value:i}})).filter((e=>!!e));return Bt(Lt({},u),{children:[...l,...e]})}if(h&&this.hooks.determineNodeType.call(h)===yt.Switch){const e=this.hooks.parseNode.call(h,yt.Value,r,yt.Switch);if(e&&e.type===yt.Value&&1===(null==(n=e.children)?void 0:n.length)&&void 0===e.value){const t=e.children[0];return Bt(Lt({},u),{children:[...l,{path:[...o,c,...t.path],value:t.value}]})}if(e)return Bt(Lt({},u),{children:[...l,{path:[...o,c],value:e}]})}else if(h&&Array.isArray(h)){const e=h.map((e=>this.parseObject(e,yt.Value,r))).filter((e=>!!e));if(e.length>0){const t=this.hooks.onCreateASTNode.call({type:yt.MultiNode,override:!this.hasTemplateValues(a,c),values:e},h);if((null==t?void 0:t.type)===yt.MultiNode&&t.values.forEach((e=>{e.parent=t})),t)return Bt(Lt({},u),{children:[...l,{path:[...o,c],value:t}]})}}else{if(!h||"object"!==typeof h){return{children:l,value:Object(f.setIn)(e.value,[...o,c],h)}}{const t=this.hooks.determineNodeType.call(h);if(t!==yt.Applicability){const t=i(e.value,h,[...o,c]);return{value:t.value,children:[...l,...t.children]}}{const e=this.hooks.parseNode.call(h,yt.Value,r,t);if(e)return Bt(Lt({},u),{children:[...l,{path:[...o,c],value:e}]})}}}}return e}),s)},{value:a,children:s}=i(void 0,e),l=void 0===a&&0===s.length?void 0:{type:t,value:a};if(void 0!==l&&s.length>0){const e=l;e.children=s,s.forEach((t=>{t.value.parent=e}))}return null!=(n=this.hooks.onCreateASTNode.call(l,e))?n:null}}var Dt=Object.defineProperty,Vt=Object.defineProperties,Ft=Object.getOwnPropertyDescriptors,$t=Object.getOwnPropertySymbols,Ht=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable,Wt=(e,t,r)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function Yt(e,t){if(!e||!t)return!0;const r=Array.from(t.values()),n=Array.from(e.values());return void 0!==r.find((e=>!!n.find((t=>t===e||t.contains(e)||e.contains(t)))))}function qt(e){return t=((e,t)=>{for(var r in t||(t={}))Ht.call(t,r)&&Wt(e,r,t[r]);if($t)for(var r of $t(t))zt.call(t,r)&&Wt(e,r,t[r]);return e})({},e),r={data:{model:e.model,formatValue:(t,r)=>e.formatValue?e.formatValue(t,r):r,format:(t,r)=>e.format?e.format(F(t)?t:e.parseBinding(t),r):r},evaluate:t=>e.evaluator.evaluate(t,e)},Vt(t,Ft(r));var t,r}var Zt=Object.defineProperty,Gt=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,Jt=Object.getOwnPropertySymbols,Qt=Object.prototype.hasOwnProperty,Xt=Object.prototype.propertyIsEnumerable,er=(e,t,r)=>t in e?Zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tr=(e,t)=>{for(var r in t||(t={}))Qt.call(t,r)&&er(e,r,t[r]);if(Jt)for(var r of Jt(t))Xt.call(t,r)&&er(e,r,t[r]);return e},rr=(e,t)=>Gt(e,Kt(t));class nr{constructor(e,t){this.hooks={skipResolve:new n.c,beforeUpdate:new n.b,afterUpdate:new n.b,resolveOptions:new n.c,beforeResolve:new n.c,resolve:new n.c,afterResolve:new n.c,afterNodeUpdate:new n.b},this.root=e,this.options=t,this.resolveCache=new Map,this.ASTMap=new Map,this.logger=t.logger,this.idCache=new Set}getSourceNode(e){return this.ASTMap.get(e)}update(e){this.hooks.beforeUpdate.call(e);const t=new Map;this.idCache.clear();const r=new Map(this.ASTMap);this.ASTMap.clear();const n=this.computeTree(this.root,void 0,e,t,qt(this.options),void 0,r);return this.resolveCache=t,this.hooks.afterUpdate.call(n.value),n.value}getResolveCache(){return new Map(this.resolveCache)}getNodeID(e){var t;if(e)return e.type!==yt.Asset&&e.type!==yt.View&&e.type!==yt.Value||"object"!==typeof e.value||"string"!==typeof(null==(t=e.value)?void 0:t.id)?void 0:e.value.id}getPreviousResult(e){var t,r;if(!e)return;const n=0===this.resolveCache.size,o=this.getNodeID(e);if(o){if(this.idCache.has(o))return void(n&&(e.type===yt.Asset||e.type===yt.View?null==(t=this.logger)||t.error(`Cache conflict: Found Asset/View nodes that have conflicting ids: ${o}, may cause cache issues.`):e.type===yt.Value&&(null==(r=this.logger)||r.info(`Cache conflict: Found Value nodes that have conflicting ids: ${o}, may cause cache issues. To improve performance make value node IDs globally unique.`))));this.idCache.add(o)}return this.resolveCache.get(e)}cloneNode(e){const t=Object(f.clone)(e);return Object.keys(t).forEach((e=>{if("parent"===e)return;const r=t[e];"object"===typeof r&&null!==r&&(t[e]=Array.isArray(r)?[...r]:tr({},r))})),t}computeTree(e,t,r,n,o,i,a){var s,l;const u=new se(o.data.model);u.trackSubset("core");const c=(d=function(e,t){function r(r,n){const o=F(r)?r:t(r,{get:e.get,set:e.set,readOnly:n});if(!o)throw new Error("Unable to parse binding");return o}return{get:(t,n)=>e.get(r(t,!0),n),set:(t,n)=>e.set(t.map((([e,t])=>[r(e,!1),t])),n),delete:(t,n)=>e.delete(r(t,!1),n)}}(u,this.options.parseBinding),{get:(e,t)=>d.get(e,tr({context:{model:d}},t)),set:(e,t)=>d.set(e,tr({context:{model:d}},t)),delete:(e,t)=>d.delete(e,tr({context:{model:d}},t))});var d;const g=this.hooks.resolveOptions.call(rr(tr({},o),{data:rr(tr({},o.data),{model:c}),evaluate:e=>this.options.evaluator.evaluate(e,{model:c}),node:e}),e),v=this.getPreviousResult(e),y=null==v?void 0:v.dependencies,m=Yt(r,y);if(this.hooks.skipResolve.call(!m,e,g)&&v){const r=rr(tr({},v),{updated:!1});n.set(e,r);const o=(e,t,r)=>{var i;const{node:s}=e;this.ASTMap.set(s,t);const l=rr(tr({},e),{updated:!1});n.set(t,l);const u=e=>{var r;const n=null!=(r=a.get(e))?r:e,i=this.getPreviousResult(n);i&&o(i,n,t)};"children"in s?null==(i=s.children)||i.forEach((({value:e})=>u(e))):s.type===yt.MultiNode&&s.values.forEach(u),this.hooks.afterNodeUpdate.call(t,r,l)};return v.node.parent=i,o(v,e,t),r}const b=rr(tr({},this.cloneNode(e)),{parent:i}),w=null!=(s=this.hooks.beforeResolve.call(b,g))?s:{type:yt.Empty};w.parent=i,g.node=w,this.ASTMap.set(w,e);let E=this.hooks.resolve.call(void 0,w,g),S=!Object(p.a)(null==v?void 0:v.value,E);v&&!S&&(E=null==v?void 0:v.value);const x=new Set;if(u.trackSubset("children"),"children"in w){const t=null==(l=w.children)?void 0:l.map((t=>{const o=this.computeTree(t.value,e,r,n,g,w,a),{dependencies:i,node:s,updated:l,value:u}=o;if(i.forEach((e=>x.add(e))),u)if(s.type!==yt.MultiNode||s.override)E=Object(f.setIn)(E,t.path,u);else{const e=Object(f.addLast)(h()(E,t.path,[]),u);E=Object(f.setIn)(E,t.path,e)}return S=S||l,rr(tr({},t),{value:s})}));w.children=t}else if(w.type===yt.MultiNode){const t=[],o=w.values.map((o=>{const i=this.computeTree(o,e,r,n,g,w,a);return void 0!==i.value&&null!==i.value&&t.push(i.value),i.dependencies.forEach((e=>x.add(e))),S=S||i.updated,i.node}));w.values=o,E=t}x.forEach((e=>u.addChildReadDep(e))),u.trackSubset("core"),v&&!S&&(E=null==v?void 0:v.value),E=this.hooks.afterResolve.call(E,w,rr(tr({},g),{getDependencies:e=>u.getDependencies(e)}));const O={node:w,updated:S,value:E,dependencies:new Set([...u.getDependencies(),...x])};return this.hooks.afterNodeUpdate.call(e,t,O),n.set(e,O),O}}class or{constructor(e){this.hooks={resolveTemplateSubstitutions:new n.c},this.options=e}parseTemplate(e,t,r){const{template:n,depth:o}=t,i=r.data.model.get(t.data);if(!i)return null;if(!Array.isArray(i))throw new Error(`Template using '${t.data}' but is not an array`);const a=[];i.forEach(((r,i)=>{const s=this.hooks.resolveTemplateSubstitutions.call([{expression:new RegExp(`_index${o||""}_`),value:String(i)}],{depth:o,data:r,index:i});let l=JSON.stringify(n);for(const{expression:e,value:t}of s){let r="g";"object"===typeof e&&(r=`${e.flags}${e.global?"":"g"}`),l=l.replace(new RegExp(e,r),t)}const u=e(JSON.parse(l),yt.Value,{templateDepth:t.depth+1});u&&a.push(u)}));return{type:yt.MultiNode,override:!1,values:a}}applyParser(e){e.hooks.onCreateASTNode.tap("template",(t=>t&&t.type===yt.Template&&!t.dynamic?this.parseTemplate(e.parseObject.bind(e),t,this.options):t)),e.hooks.determineNodeType.tap("template",(e=>{if("template"===e)return yt.Template})),e.hooks.parseNode.tap("template",((t,r,n,o)=>{var i,a;if(o===yt.Template){const r=e.createASTNode({type:yt.Template,depth:null!=(i=n.templateDepth)?i:0,data:t.data,template:t.value,dynamic:null!=(a=t.dynamic)&&a},t);if(r)return r}}))}applyResolverHooks(e){e.hooks.beforeResolve.tap("template",((e,t)=>e&&e.type===yt.Template&&e.dynamic?this.parseTemplate(t.parseNode,e,t):e))}apply(e){e.hooks.parser.tap("template",this.applyParser.bind(this)),e.hooks.resolver.tap("template",this.applyResolverHooks.bind(this))}}const ir=(e,t)=>r=>{const n=r.indexOf(e);if(-1===n)return!1;const o=r.indexOf(t);return-1!==o&&n<o},ar=ir("{{","}}"),sr=ir("@[","]@");function lr(e,t){return function(e){return ar(e)||sr(e)}(e)?gt(e,{model:t.data.model,evaluate:t.evaluate}):e}function ur(e,t,r){if(null===e||void 0===e||"object"!==typeof e&&"string"!==typeof e)return e;if("string"===typeof e)return lr(e,t);let n=e;return Object.keys(e).forEach((o=>{if(r.has(o))return;const i=e[o];let a=i;"object"===typeof i?a=ur(i,t,r):"string"===typeof i&&(a=lr(i,t)),a!==i&&(n=Object(f.set)(n,o,a))})),n}const cr=(e,t)=>{var r,n,o;const i=e.parent;if(!i)return[];if("children"in i){const a=t.getSourceNode(e);return null!=(o=null==(n=null==(r=i.children)?void 0:r.find((e=>e.value===a)))?void 0:n.path)?o:[]}return i.type!==yt.MultiNode?[]:cr(i,t)};class hr{constructor(){this.propertiesToSkipCache=new Map}applyResolver(e){e.hooks.resolve.tap("string-resolver",((t,r,n)=>{var o,i,a,s,l,u,c,h,f,p;if(r.type===yt.Empty||r.type===yt.Unknown)return null;if(r.type===yt.Value||r.type===yt.Asset||r.type===yt.View){let t;r.type===yt.Asset||r.type===yt.View?(t=new Set(null!=(a=null==(i=null==(o=r.plugins)?void 0:o.stringResolver)?void 0:i.propertiesToSkip)?a:["exp"]),(null==(s=r.value)?void 0:s.id)&&this.propertiesToSkipCache.set(r.value.id,t)):t=(null==(l=r.parent)?void 0:l.type)===yt.MultiNode&&((null==(c=null==(u=r.parent)?void 0:u.parent)?void 0:c.type)===yt.Asset||(null==(f=null==(h=r.parent)?void 0:h.parent)?void 0:f.type)===yt.View)&&(null==(p=r.parent.parent.value)?void 0:p.id)&&this.propertiesToSkipCache.has(r.parent.parent.value.id)?this.propertiesToSkipCache.get(r.parent.parent.value.id):new Set(["exp"]);const d=cr(r,e);return d.length>0&&d.some((e=>t.has(e.toString())))?r.value:ur(r.value,n,t)}return t}))}apply(e){e.hooks.resolver.tap("string-resolver",this.applyResolver.bind(this))}}class fr{applyResolver(e){e.hooks.beforeResolve.tap("applicability",((e,t)=>{let r=e;if((null==e?void 0:e.type)===yt.Applicability){if(!1===t.evaluate(e.expression))return null;r=e.value}return r}))}applyParser(e){e.hooks.determineNodeType.tap("applicability",(e=>{if(Object.prototype.hasOwnProperty.call(e,"applicability"))return yt.Applicability})),e.hooks.parseNode.tap("applicability",((t,r,n,o)=>{if(o===yt.Applicability){const o=e.parseObject(Object(f.omit)(t,"applicability"),r,n);if(null!==o){const r=e.createASTNode({type:yt.Applicability,expression:t.applicability,value:o},t);return(null==r?void 0:r.type)===yt.Applicability&&(r.value.parent=r),r}}}))}apply(e){e.hooks.resolver.tap("applicability",this.applyResolver.bind(this)),e.hooks.parser.tap("applicability",this.applyParser.bind(this))}}var pr=Object.getOwnPropertySymbols,dr=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable;class vr{constructor(e){this.options=e}resolveSwitch(e,t){for(const r of e.cases){if(t.evaluate(r.case))return r.value}return It}applyParser(e){e.hooks.onCreateASTNode.tap("switch",(e=>e&&e.type===yt.Switch&&!e.dynamic?this.resolveSwitch(e,this.options):e)),e.hooks.determineNodeType.tap("switch",(e=>{if(Object.prototype.hasOwnProperty.call(e,"dynamicSwitch")||Object.prototype.hasOwnProperty.call(e,"staticSwitch"))return yt.Switch})),e.hooks.parseNode.tap("switch",((t,r,n,o)=>{if(o===yt.Switch){const r="dynamicSwitch"in t,o="dynamicSwitch"in t?t.dynamicSwitch:t.staticSwitch,i=[];o.forEach((t=>{const r=t,{case:o}=r,a=((e,t)=>{var r={};for(var n in e)dr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&pr)for(var n of pr(e))t.indexOf(n)<0&&gr.call(e,n)&&(r[n]=e[n]);return r})(r,["case"]),s=e.parseObject(a,yt.Value,n);s&&i.push({case:o,value:s})}));const a=e.hooks.onCreateASTNode.call({type:yt.Switch,dynamic:r,cases:i},t);return(null==a?void 0:a.type)===yt.Switch&&a.cases.forEach((e=>{e.value.parent=a})),(null==a?void 0:a.type)===yt.Empty?null:null!=a?a:null}}))}applyResolver(e){e.hooks.beforeResolve.tap("switch",((e,t)=>e&&e.type===yt.Switch&&e.dynamic?this.resolveSwitch(e,t):e))}apply(e){e.hooks.parser.tap("switch",this.applyParser.bind(this)),e.hooks.resolver.tap("switch",this.applyResolver.bind(this))}}var yr=Object.defineProperty,mr=Object.defineProperties,br=Object.getOwnPropertyDescriptors,wr=Object.getOwnPropertySymbols,Er=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,xr=(e,t,r)=>t in e?yr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Or=(e,t)=>{for(var r in t||(t={}))Er.call(t,r)&&xr(e,r,t[r]);if(wr)for(var r of wr(t))Sr.call(t,r)&&xr(e,r,t[r]);return e};class Ar{constructor(e,t,r){this.allValidations=new Set,this.byBinding=new Map,this.logger=r,this.parse(e,t)}parse(e,t){var r;const n=e.validation;void 0!==n&&(Array.isArray(n)?n.forEach((e=>{var r;const n=Or({trigger:"navigation",severity:"error"},e);this.allValidations.add(n);const{ref:o}=e;if(o){const e=t(o);this.byBinding.has(e)?null==(r=this.byBinding.get(e))||r.push(n):this.byBinding.set(e,[n])}})):null==(r=this.logger)||r.warn(`Unable to register view validations for id: ${e.id}. 'validation' property must be an Array.`))}getValidationsForBinding(e){return this.byBinding.get(e)}}class Pr{constructor(e,t){this.hooks={onUpdate:new n.b,parser:new n.b,resolver:new n.b,templatePlugin:new n.b},this.initialView=e,this.resolverOptions=t;const r=qt(t);new vr(r).apply(this),(new fr).apply(this),(new hr).apply(this),this.templatePlugin=new or(r),this.templatePlugin.apply(this)}update(e){var t,r,n;if(void 0===this.rootNode){this.validationProvider=new Ar(this.initialView,this.resolverOptions.parseBinding,this.resolverOptions.logger),this.hooks.templatePlugin.call(this.templatePlugin);const e=new Mt;this.hooks.parser.call(e),this.rootNode=e.parseView(this.initialView),this.resolver=new nr(this.rootNode,(r=Or({},this.resolverOptions),n={parseNode:e.parseObject.bind(e)},mr(r,br(n)))),this.hooks.resolver.call(this.resolver)}const o=null==(t=this.resolver)?void 0:t.update(e);return this.lastUpdate===o?this.lastUpdate:(this.lastUpdate=o,this.hooks.onUpdate.call(o),o)}getValidationsForBinding(e){var t;return null==(t=this.validationProvider)?void 0:t.getValidationsForBinding(e)}}var Rr=Object.defineProperty,kr=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable,Cr=(e,t,r)=>t in e?Rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jr=(e,t,r)=>new Promise(((n,o)=>{var i=e=>{try{s(r.next(e))}catch(t){o(t)}},a=e=>{try{s(r.throw(e))}catch(t){o(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,a);s((r=r.apply(e,t)).next())}));class Ur{constructor(e,t,r){this.hooks={beforeStart:new n.a,onStart:new n.b,onEnd:new n.b,skipTransition:new n.a,beforeTransition:new n.c,resolveTransitionNode:new n.c,transition:new n.b,afterTransition:new n.b},this.id=e,this.flow=t,this.log=null==r?void 0:r.logger,this.history=[],this.hooks.transition.tap("startPromise",((e,t)=>jr(this,null,(function*(){const e=t.value;this.flowPromise&&"END"===e.state_type&&this.flowPromise.resolve(e)}))))}start(){return jr(this,null,(function*(){var e;if(this.flowPromise)return null==(e=this.log)||e.warn("Already called start for flow"),this.flowPromise.promise;this.flow=this.hooks.beforeStart.call(this.flow)||this.flow,this.flow.onStart&&this.hooks.onStart.call(this.flow.onStart);const t=this.flow.startState;return t?(this.flowPromise=g()(),this.pushHistory(t),this.flowPromise.promise):Promise.reject(new Error("No 'startState' defined for flow"))}))}transition(e,t){var r,n,o,i,a,s;if("END"===(null==(r=this.currentState)?void 0:r.value.state_type))return void(null==(n=this.log)||n.warn(`Skipping transition using ${e}. Already at and END state`));if(void 0===this.currentState)throw new Error("Cannot transition when there's no current state");if(null==t?void 0:t.force)null==(o=this.log)||o.debug("Forced transition. Skipping validation checks");else{if(this.hooks.skipTransition.call(this.currentState))return void(null==(i=this.log)||i.debug(`Skipping transition from ${this.currentState.name} b/c hook told us to`))}const l=this.hooks.beforeTransition.call(this.currentState.value,e);if(!("transitions"in l))throw new Error(`No transitions defined for ${this.currentState.value}`);const{transitions:u}=l,c=u[e]||u["*"];if(void 0!==c)return null==(s=this.log)||s.debug(`Transitioning from ${this.currentState.name} to ${c} using ${e} `),this.pushHistory(c,t);null==(a=this.log)||a.warn(`No transition from ${this.currentState.name} using ${e} or *`)}pushHistory(e,t){var r;if(!Object.prototype.hasOwnProperty.call(this.flow,e))throw new Error(`No flow definition for: ${e} was found.`);let n=this.flow[e];if(!this.flow[e]||"object"!==typeof n||!("state_type"in n))return void(null==(r=this.log)||r.error(`Flow doesn't contain any states named: ${e}`));const o=this.currentState;n=this.hooks.resolveTransitionNode.call(n);const i={name:e,value:n};this.currentState=i,this.history.push(e),"END"===i.value.state_type&&this.flow.onEnd&&this.hooks.onEnd.call(this.flow.onEnd),this.hooks.transition.call(o,((e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&Cr(e,r,t[r]);if(kr)for(var r of kr(t))Tr.call(t,r)&&Cr(e,r,t[r]);return e})({},i)),this.hooks.afterTransition.call(this)}}var Nr=(e,t,r)=>new Promise(((n,o)=>{var i=e=>{try{s(r.next(e))}catch(t){o(t)}},a=e=>{try{s(r.throw(e))}catch(t){o(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,a);s((r=r.apply(e,t)).next())}));class Lr{constructor(e,t){this.hooks={flow:new n.b},this.navigation=e,this.navStack=[],this.log=null==t?void 0:t.logger,this.start=this.start.bind(this),this.run=this.run.bind(this),this.transition=this.transition.bind(this),this.addNewFlow=this.addNewFlow.bind(this)}transition(e,t){if(void 0===this.current)throw new Error("Not currently in a flow. Cannot transition.");this.current.transition(e,t)}addNewFlow(e){this.navStack.push(e),this.current=e,this.hooks.flow.call(e)}run(e){return Nr(this,null,(function*(){var t;if(!Object.prototype.hasOwnProperty.call(this.navigation,e))return Promise.reject(new Error(`No flow defined for: ${e}`));const r=this.navigation[e];if(null===r||"object"!==typeof r)return Promise.reject(new Error(`Flow: ${e} needs to be an object`));null==(t=this.log)||t.debug(`Starting flow: ${e}`);const n=new Ur(e,r,{logger:this.log});this.addNewFlow(n),n.hooks.afterTransition.tap("flow-controller",(e=>{var t,r,n;if("FLOW"===(null==(t=e.currentState)?void 0:t.value.state_type)){const t=null==(r=e.currentState)?void 0:r.value.ref;null==(n=this.log)||n.debug(`Loading subflow ${t}`),this.run(t).then((t=>{var r;null==(r=this.log)||r.debug(`Subflow ended. Using outcome: ${t.outcome}`),e.transition(null==t?void 0:t.outcome)}))}}));const o=yield n.start();if(this.navStack.pop(),this.navStack.length>0){const e=0;this.current=this.navStack[e]}return o}))}start(){return Nr(this,null,(function*(){return this.navigation.BEGIN?this.run(this.navigation.BEGIN):Promise.reject(new Error("Must supply a BEGIN state"))}))}}const Br=/%([a-zA-Z]+)/g;var Ir=Object.defineProperty,Mr=Object.defineProperties,Dr=Object.getOwnPropertyDescriptors,Vr=Object.getOwnPropertySymbols,Fr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Hr=(e,t,r)=>t in e?Ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,zr=(e,t)=>{for(var r in t||(t={}))Fr.call(t,r)&&Hr(e,r,t[r]);if(Vr)for(var r of Vr(t))$r.call(t,r)&&Hr(e,r,t[r]);return e},Wr=(e,t)=>Mr(e,Dr(t));const Yr="validation-binding-tracker";class qr{constructor(e){this.trackedBindings=new Set,this.options=e}getBindings(){return this.trackedBindings}trackBinding(e){var t,r;this.trackedBindings.has(e)||(this.trackedBindings.add(e),null==(r=null==(t=this.options.callbacks)?void 0:t.onAdd)||r.call(t,e))}applyResolver(e){this.trackedBindings.clear();const t=new Map,r=new Map;let n;const o=new Map;let i=new Map,a=new Map;const s=new Map;e.hooks.beforeUpdate.tap(Yr,(e=>{n=e})),e.hooks.skipResolve.tap(Yr,((e,t)=>{const r=i.get(t);if(!e||!n||!r)return e;return 0===new Set([...n].filter((e=>r.has(e)))).size})),e.hooks.resolveOptions.tap(Yr,((e,n)=>{if(void 0===e.validation)return e;t.delete(n);const o=e=>{var o,i,a,s;const l=F(e)?e:this.options.parseBinding(e);t.has(n)?null==(o=t.get(n))||o.add(l):t.set(n,new Set([l]));let{parent:u}=n;for(;u;){if(r.has(u)){null==(i=r.get(u))||i.add(n);break}u=u.parent}this.trackedBindings.add(l),null==(s=null==(a=this.options.callbacks)?void 0:a.onAdd)||s.call(a,l)};return Wr(zr({},e),{validation:Wr(zr({},e.validation),{get:(t,r)=>{var n,i;(null==r?void 0:r.track)&&o(t);const a=null==(i=null==(n=e.validation)?void 0:n._getValidationForBinding(t))?void 0:i.getAll(r);return null==a?void 0:a.find((e=>"field"===e.displayTarget||void 0===e.displayTarget))},getValidationsForBinding(t,r){var n,i,a;return(null==r?void 0:r.track)&&o(t),null!=(a=null==(i=null==(n=e.validation)?void 0:n._getValidationForBinding(t))?void 0:i.getAll(r))?a:[]},getChildren:t=>{var r;const o=new Array;return null==(r=i.get(n))||r.forEach((r=>{var n,i;const a=null==(i=null==(n=e.validation)?void 0:n._getValidationForBinding(r))?void 0:i.get();!a||void 0!==t&&t!==a.displayTarget||o.push(a)})),o},getValidationsForSection:()=>{var t;const r=new Array;return null==(t=s.get(n))||t.forEach((t=>{var n,o;const i=null==(o=null==(n=e.validation)?void 0:n._getValidationForBinding(t))?void 0:o.get();i&&"section"===i.displayTarget&&r.push(i)})),r},register:e=>{"section"===(null==e?void 0:e.type)&&(r.has(n)||r.set(n,new Set))},track:o})})})),e.hooks.afterNodeUpdate.tap(Yr,((n,l,u)=>{var c,h;if(l&&function(e,t){var r;o.has(t)?null==(r=o.get(t))||r.add(e):o.set(t,new Set([e]))}(n,l),u.updated){const e=new Set(t.get(n));null==(c=o.get(n))||c.forEach((t=>{var r;null==(r=a.get(t))||r.forEach((t=>e.add(t)))})),a.set(n,e)}else a.set(n,null!=(h=i.get(n))?h:new Set);n===e.root&&(this.trackedBindings=new Set(a.get(n)),i=a,s.clear(),r.forEach(((e,r)=>{const n=new Set;e.forEach((e=>{var r;null==(r=t.get(e))||r.forEach(n.add,n)})),s.set(r,n)})),o.clear(),t.clear(),r.clear(),a=new Map)}))}apply(e){e.hooks.resolver.tap(Yr,this.applyResolver.bind(this))}}var Zr=Object.defineProperty,Gr=Object.defineProperties,Kr=Object.getOwnPropertyDescriptors,Jr=Object.getOwnPropertySymbols,Qr=Object.prototype.hasOwnProperty,Xr=Object.prototype.propertyIsEnumerable,en=(e,t,r)=>t in e?Zr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tn=(e,t)=>{for(var r in t||(t={}))Qr.call(t,r)&&en(e,r,t[r]);if(Jr)for(var r of Jr(t))Xr.call(t,r)&&en(e,r,t[r]);return e},rn=(e,t)=>Gr(e,Kr(t));const nn=Symbol.for("validation-provider-name");class on{constructor(e,t,r,n){this.applicableValidations=[],this.validationsByState={load:[],change:[],navigation:[]},this.onDismiss=t,e.forEach((e=>{const{trigger:t}=e;if(this.validationsByState[t]){const r={value:n=e,type:n.severity,state:"none",isBlockingNavigation:!1};this.validationsByState[t].push(r)}else null==r||r.warn(`Unknown validation trigger: ${t}`);var n})),this.weakBindings=null!=n?n:new Set}get allValidations(){return Object.values(this.validationsByState).flat()}checkIfBlocking(e){if("active"===e.state){const{isBlockingNavigation:t}=e;return t}return!1}getAll(){return this.applicableValidations.reduce(((e,t)=>"active"===t.state&&t.response?[...e,rn(tn({},t.response),{blocking:this.checkIfBlocking(t)})]:e),[])}get(){const e=this.applicableValidations.find((e=>"active"===e.state&&e.response));if("active"===(null==e?void 0:e.state))return rn(tn({},e.response),{blocking:this.checkIfBlocking(e)})}runApplicableValidations(e,t,r){this.applicableValidations=this.applicableValidations.map((n=>{var o,i,a;if("dismissed"===n.state)return n;const s=null!=(o=n.value.blocking)?o:"warning"!==n.value.severity||"once",l=Object(f.setIn)(n,["value","blocking"],s),u=!0===s||"once"===s&&!t;if("navigation"===r&&"active"===l.state&&!0!==l.value.blocking&&"warning"===l.value.severity){const e=l;return!e.dismissable||!e.response.dismiss||"once"===e.response.blocking&&e.response.blocking?("once"===(null==e?void 0:e.response.blocking)&&(e.response.blocking=!1),e.dismissable=!0):e.response.dismiss(),e}const c=e(l.value),h={type:l.type,value:l.value,state:c?"active":"none",isBlockingNavigation:u,dismissable:"warning"===l.value.severity&&"navigation"===r,response:c?rn(tn({},l.value),{message:null!=(i=c.message)?i:"Something is broken",severity:l.value.severity,displayTarget:null!=(a=l.value.displayTarget)?a:"field"}):void 0};return"active"===h.state&&"warning"===l.value.severity&&(h.response.dismiss=()=>{var e;h.state="dismissed",null==(e=this.onDismiss)||e.call(this)}),h}))}update(e,t,r){const n=[];"load"===e&&void 0!==this.currentPhase||("navigation"!==this.currentPhase&&e!==this.currentPhase?("load"===e?(this.currentPhase="load",this.applicableValidations=[...this.validationsByState.load]):"change"===e&&"load"===this.currentPhase?(this.currentPhase="change",this.applicableValidations=[...this.applicableValidations,...this.validationsByState.change]):"navigation"!==e||"load"!==this.currentPhase&&"change"!==this.currentPhase||(this.applicableValidations.forEach((e=>{"error"===e.type&&"active"===e.state&&!1===e.isBlockingNavigation||n.push(e)})),this.applicableValidations=[...n,...this.validationsByState.navigation,..."load"===this.currentPhase?this.validationsByState.change:[]],this.currentPhase="navigation"),this.runApplicableValidations(r,t,e)):this.runApplicableValidations(r,t,e))}}class an{constructor(e,t){this.hooks={createValidatorRegistry:new n.b,onAddValidation:new n.c,onRemoveValidation:new n.c,resolveValidationProviders:new n.c,onTrackBinding:new n.b},this.validations=new Map,this.weakBindingTracker=new Set,this.schema=e,this.options=t,this.reset()}setOptions(e){this.options=e}getDataMiddleware(){return[{set:(e,t,r)=>{var n;return null!=(n=null==r?void 0:r.set(e,t))?n:[]},get:(e,t,r)=>null==r?void 0:r.get(e,t),delete:(e,t,r)=>(this.validations=vt(this.validations,e),null==r?void 0:r.delete(e,t))},new Pt((e=>{var t;if(!this.options)return;this.updateValidationsForBinding(e,"change",this.options);const r=this.getValidationForBinding(e);if("error"===(null==(t=null==r?void 0:r.get())?void 0:t.severity))return r.get();const n=new Set;return this.validations.forEach(((t,r)=>{var o;Yt(new Set([e]),t.weakBindings)&&"error"===(null==(o=null==t?void 0:t.get())?void 0:o.severity)&&(null==t||t.weakBindings.forEach((e=>{e===r?n.add({binding:e,isStrong:!0}):n.add({binding:e,isStrong:!1})})))})),n.size>0?n:void 0}),{logger:new Xe((()=>{var e;return null==(e=this.options)?void 0:e.logger}))})]}getValidationProviders(){return this.providers||(this.providers=this.hooks.resolveValidationProviders.call([{source:"schema",provider:this.schema},{source:"view",provider:{getValidationsForBinding:e=>{var t,r;return null==(r=null==(t=this.viewValidationProvider)?void 0:t.getValidationsForBinding)?void 0:r.call(t,e)},getValidationsForView:()=>{var e,t;return null==(t=null==(e=this.viewValidationProvider)?void 0:e.getValidationsForView)?void 0:t.call(e)}}}])),this.providers}reset(){this.validations.clear(),this.tracker=void 0}onView(e){if(this.validations.clear(),!this.options)return;const t=new qr(rn(tn({},this.options),{callbacks:{onAdd:t=>{if(!this.options||void 0!==this.getValidationForBinding(t))return;const r=this.options.model.get(t);r!==this.options.model.get(t,{ignoreDefaultValue:!0})&&this.options.model.set([[t,r]],{silent:!0}),this.updateValidationsForBinding(t,"load",this.options,(()=>{e.update(new Set([t]))})),this.hooks.onTrackBinding.call(t)}}}));this.tracker=t,this.viewValidationProvider=e,t.apply(e)}updateValidationsForBinding(e,t,r,n){var o;const i=null!=r?r:this.options;if(!i)throw new Error("Context is required for executing validations");if("load"===t){const t=this.getValidationProviders().reduce(((t,r)=>{var n,o,i,a;return[...t,...null!=(a=null==(i=null==(o=(n=r.provider).getValidationsForBinding)?void 0:o.call(n,e))?void 0:i.map((e=>rn(tn({},e),{[nn]:r.source}))))?a:[]]}),[]);if(0===t.length)return;this.validations.set(e,new on(t,n,null==(o=this.options)?void 0:o.logger))}const a=this.validations.get(e);null==a||a.update(t,!0,(t=>{const r=this.validationRunner(t,e,i);if(this.weakBindingTracker.size>0){const t=this.validations.get(e);this.weakBindingTracker.forEach((e=>t.weakBindings.add(e)))}return r?{message:r.message}:void 0})),"load"!==t&&this.validations.forEach(((r,n)=>{n!==e&&Yt(new Set([e]),r.weakBindings)&&r.update(t,!0,(e=>{const t=this.validationRunner(e,n,i);return t?{message:t.message}:void 0}))}))}validationRunner(e,t,r=this.options){var n;if(!r)throw new Error("No context provided to validation runner");const o=null!=(n=e.handler)?n:this.getValidator(e.type),i=new Set,a={get:(e,n)=>(i.add(F(e)?t:r.parseBinding(e)),r.model.get(e,rn(tn({},n),{includeInvalid:!0}))),set:r.model.set,delete:r.model.delete},s=null==o?void 0:o(rn(tn({},r),{evaluate:(e,t={model:a})=>r.evaluate(e,t),model:a,validation:e,schemaType:this.schema.getType(t)}),r.model.get(t,{includeInvalid:!0,formatted:"formatted"===e.dataTarget}),e);if(this.weakBindingTracker=i,s){let{message:t}=s;const{parameters:n}=s;return e.message&&(t=gt(e.message,{model:a,evaluate:r.evaluate}),n&&(t=function(e,t){return e.slice().replace(Br,(e=>t[e.slice(1)]||e))}(t,n))),{message:t}}}updateValidationsForView(e){const t="navigation"===e,r=this.activeBindings,n=t=>{this.getBindings().forEach((r=>{var n;null==(n=this.validations.get(r))||n.update(e,t,(e=>{if(this.options)return this.validationRunner(e,r,this.options)}))}))};if(n(!t),t){const{activeBindings:e}=this;(function(e,t){if(e.size>t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0})(e,r)&&n(!0)}}get activeBindings(){return new Set(Array.from(this.getBindings()).filter((e=>{var t;return void 0!==(null==(t=this.validations.get(e))?void 0:t.get())})))}getValidator(e){if(this.validatorRegistry)return this.validatorRegistry.get(e);const t=new Rt;return this.hooks.createValidatorRegistry.call(t),this.validatorRegistry=t,t.get(e)}getBindings(){var e,t;return null!=(t=null==(e=this.tracker)?void 0:e.getBindings())?t:new Set}trackBinding(e){var t;null==(t=this.tracker)||t.trackBinding(e)}validateView(e="navigation"){this.updateValidationsForView(e);const t=new Map;let r=!0;return this.getBindings().forEach((n=>{var o;const i=null==(o=this.getValidationForBinding(n))?void 0:o.getAll();null==i||i.forEach((o=>{var i;"navigation"===e&&o.blocking&&(null==(i=this.options)||i.logger.debug(`Validation on binding: ${n.asString()} is preventing navigation. ${JSON.stringify(o)}`),r=!1),t.has(n)||t.set(n,o)}))})),{canTransition:r,validations:t.size?t:void 0}}getValidationForBinding(e){return this.validations.get(e)}forView(e){return{_getValidationForBinding:t=>this.getValidationForBinding(F(t)?t:e(t)),getAll:()=>{const e=this.getBindings();if(0===e.size)return;const t=new Map;return e.forEach((e=>{var r;const n=null==(r=this.getValidationForBinding(e))?void 0:r.get();n&&t.set(e,n)})),0===t.size?void 0:t},get(){throw new Error("Error Access be provided by the view plugin")},getValidationsForBinding(){throw new Error("Error rollup should be provided by the view plugin")},getChildren(){throw new Error("Error rollup should be provided by the view plugin")},getValidationsForSection(){throw new Error("Error rollup should be provided by the view plugin")},track:()=>{throw new Error("Tracking should be provided by the view plugin")},register:()=>{throw new Error("Section functionality should be provided by the view plugin")},type:t=>this.schema.getType(F(t)?t:e(t))}}}class sn{constructor(e){this.updateCallback=e,this.state=new Map}removeKey(e){this.state.delete(e)}reset(){this.state.clear()}useSharedState(e){return t=>(this.state.has(e)||this.state.set(e,t),[this.state.get(e),t=>{var r;const n=this.state.get(e);this.state.set(e,t),n!==t&&(null==(r=this.updateCallback)||r.call(this))}])}getLocalStateFunction(e,t){return r=>{this.state.has(e)||this.state.set(e,[]),this.state.has(t)||this.state.set(t,0);const n=this.state.get(e),o=this.state.get(t);this.state.set(t,o+1),n.length<=o&&n.push(r);return[n[o],e=>{var t;const r=n[o];n[o]=e,r!==e&&(null==(t=this.updateCallback)||t.call(this))}]}}}function ln(e,t){return e===t||!!e.parent&&ln(e.parent,t)}class un{constructor(e){this.registry=e,this.stateStore=new Map,this.beforeResolveSymbol=Symbol("before resolve"),this.resolveSymbol=Symbol("resolve"),this.beforeResolveCountSymbol=Symbol("before resolve count"),this.resolveCountSymbol=Symbol("resolve count")}apply(e){e.hooks.view.tap("asset-transform",(e=>{this.stateStore.clear(),e.hooks.resolver.tap("asset-transform",(t=>{let r;const n=(t,n)=>{let o;const i=n===this.resolveSymbol?this.resolveCountSymbol:this.beforeResolveCountSymbol,a=this.stateStore.get(t);return a?(o=a,o.removeKey(i)):(o=new sn((()=>{(t=>{r=t,e.update(new Set)})(t)})),this.stateStore.set(t,o)),{useSharedState:e=>o.useSharedState(e),useLocalState:e=>o.getLocalStateFunction(n,i)(e)}};t.hooks.beforeResolve.tap("asset-transform",((e,t)=>{var r;if(e&&("asset"===e.type||"view"===e.type)){const o=this.registry.get(e.value);if(null==o?void 0:o.beforeResolve){const i=n(null!=(r=t.node)?r:e,this.beforeResolveSymbol);return o.beforeResolve(e,t,i)}}return e})),t.hooks.afterUpdate.tap("asset-transform",(()=>{r=void 0})),t.hooks.skipResolve.tap("asset-transform",((e,t)=>{if(!e||!r)return e;const n=ln(r,t),o=ln(t,r);return!n&&!o})),t.hooks.afterResolve.tap("asset-transform",((e,r,o)=>{if(r.type!==yt.Asset&&r.type!==yt.View)return e;const i=t.getSourceNode(r);if(!i)return e;const a=this.registry.get(e);if(null==a?void 0:a.resolve){const t=n(i,this.resolveSymbol);return null==a?void 0:a.resolve(e,o,t)}return e}))}))}))}}var cn=Object.defineProperty,hn=Object.defineProperties,fn=Object.getOwnPropertyDescriptors,pn=Object.getOwnPropertySymbols,dn=Object.prototype.hasOwnProperty,gn=Object.prototype.propertyIsEnumerable,vn=(e,t,r)=>t in e?cn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class yn{constructor(e,t){this.hooks={resolveView:new n.c,view:new n.b},this.transformRegistry=new m.a,this.optimizeUpdates=!0,this.viewOptions=t,this.viewMap=e.reduce(((e,t)=>{return r=((e,t)=>{for(var r in t||(t={}))dn.call(t,r)&&vn(e,r,t[r]);if(pn)for(var r of pn(t))gn.call(t,r)&&vn(e,r,t[r]);return e})({},e),n={[t.id]:t},hn(r,fn(n));var r,n}),{}),new un(this.transformRegistry).apply(this),t.flowController.hooks.flow.tap("viewController",(e=>{e.hooks.transition.tap("viewController",((e,t)=>{"VIEW"===t.value.state_type?this.onView(t.value):this.currentView=void 0}))}));const r=e=>{this.currentView&&(this.optimizeUpdates?this.queueUpdate(e):this.currentView.update())};t.model.hooks.onUpdate.tap("viewController",(e=>{r(new Set(e.map((e=>e.binding))))})),t.model.hooks.onDelete.tap("viewController",(e=>{const t=e.parent(),n=e.key();r("number"===typeof n&&t?new Set([t]):new Set([e]))}))}queueUpdate(e){var t;(null==(t=this.pendingUpdate)?void 0:t.changedBindings)?this.pendingUpdate.changedBindings=new Set([...this.pendingUpdate.changedBindings,...e]):(this.pendingUpdate={changedBindings:e},y()((()=>{var e,t;const r=null==(e=this.pendingUpdate)?void 0:e.changedBindings;this.pendingUpdate=void 0,null==(t=this.currentView)||t.update(r)})))}getViewForRef(e){if(this.viewMap[e])return this.viewMap[e];const t=Object.keys(this.viewMap).find((t=>e===pt(t,{model:this.viewOptions.model,evaluate:this.viewOptions.evaluator.evaluate})));return t&&this.viewMap[t]?this.viewMap[t]:void 0}onView(e){const t=e.ref,r=this.hooks.resolveView.call(this.getViewForRef(t),t,e);if(!r)throw new Error(`No view with id ${t}`);const n=new Pr(r,this.viewOptions);this.currentView=n,this.hooks.view.call(n),n.update()}}class mn{constructor(e,t){this.controller=e,this.logger=t}get(e,t){return this.controller.get(e,t)}set(e,t){var r;return null==(r=this.logger)||r.error("Error: Tried to set in a read only instance of the DataController"),[]}delete(e,t){var r;null==(r=this.logger)||r.error("Error: Tried to delete in a read only instance of the DataController")}}class bn{constructor(e,t){this.hooks={resolve:new n.c,resolveDataStages:new n.c,resolveDefaultValue:new n.a,onDelete:new n.b,onSet:new n.b,onGet:new n.b,onUpdate:new n.b,format:new n.c,deformat:new n.c,serialize:new n.c},this.logger=t.logger;const r=t.middleware||[];this.baseMiddleware=[new pe(e),...r],this.trash=new Set,this.pathResolver=t.pathResolver}getModel(){if(!this.model){const e=this.hooks.resolveDataStages.call(this.baseMiddleware),t=new fe;t.setMiddleware(e),this.model=t}return this.model}resolveDataValue(e,t,r){return r?this.hooks.deformat.call(t,e):t}set(e,t){let r=[];r=Array.isArray(e)?e.map((([e,r])=>{const n=this.pathResolver.parse(e);return[n,this.resolveDataValue(n,r,Boolean(null==t?void 0:t.formatted))]})):Object.keys(e).map((r=>{const n=this.pathResolver.parse(r),o=e[r];return[n,this.resolveDataValue(n,o,Boolean(null==t?void 0:t.formatted))]}));const n=r.reduce(((e,[t,r])=>{var n,o;const i=this.get(t,{includeInvalid:!0}),a={binding:t,newValue:r,oldValue:i};return Object(p.a)(i,r)?null==(n=this.logger)||n.debug(`Skipping update for path: ${t.asString()}. Value was unchanged: ${i}`):(e.push(a),null==(o=this.logger)||o.debug(`Setting path: ${t.asString()} from: ${i} to: ${r}`)),e}),[]),o=this.getModel().set(r,t),i=new Set(n.map((e=>e.binding)));return o.forEach((e=>{var t;i.has(e.binding)||!0!==e.force&&Object(p.a)(e.oldValue,e.newValue)||(null==(t=this.logger)||t.debug(`Path: ${e.binding.asString()} was changed from: ${e.oldValue} to: ${e.newValue}`),n.push(e))})),this.hooks.onSet.call(r),n.length>0&&this.hooks.onUpdate.call(n,t),o}resolve(e,t){return Array.isArray(e)||"string"===typeof e?this.pathResolver.parse(e,{readOnly:t}):e}get(e,t){const r=e instanceof $?e:this.resolve(e,!0);let n=this.getModel().get(r,t);if(void 0===n&&!(null==t?void 0:t.ignoreDefaultValue)){const e=this.hooks.resolveDefaultValue.call(r);e!==n&&(n=e)}return(null==t?void 0:t.formatted)?n=this.hooks.format.call(n,r):!1===(null==t?void 0:t.formatted)&&(n=this.hooks.deformat.call(n,r)),this.hooks.onGet.call(e,n),n}delete(e,t){if("string"!==typeof e&&!Array.isArray(e)&&!(e instanceof $))throw new Error("Invalid arguments: delete expects a data path (string)");const r=e instanceof $?e:this.resolve(e,!1),n=r.parent(),o=r.key(),i=this.get(n),a="object"===typeof i&&null!==i&&Object.prototype.hasOwnProperty.call(i,o);this.getModel().delete(r,t),a&&!this.get(r)&&this.trash.add(r),this.hooks.onDelete.call(r)}serialize(){return this.hooks.serialize.call(this.get(""))}makeReadOnly(){return new mn(this,this.logger)}}var wn=Object.defineProperty,En=Object.getOwnPropertySymbols,Sn=Object.prototype.hasOwnProperty,xn=Object.prototype.propertyIsEnumerable,On=(e,t,r)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,An=(e,t)=>{for(var r in t||(t={}))Sn.call(t,r)&&On(e,r,t[r]);if(En)for(var r of En(t))xn.call(t,r)&&On(e,r,t[r]);return e};function Pn(e,t=[],r="."){return Object.keys(e).reduce(((n,o)=>An(An({},n),"[object Object]"===Object.prototype.toString.call(e[o])?Pn(e[o],t.concat([o])):{[t.concat([o]).join(r)]:e[o]})),{})}function Rn(e){const t=Pn(e),r=[];return Object.keys(t).forEach((e=>{r.push([new $(e),t[e]])})),r}class kn{constructor(){this.store=new Map,this.tempStore=new Map}addConstants(e,t){var r;this.store.has(t)?null==(r=this.store.get(t))||r.set(Rn(e)):this.store.set(t,new pe(e))}getConstants(e,t,r){var n,o,i,a;const s=new $(e);return null!=(a=null!=(i=null==(n=this.tempStore.get(t))?void 0:n.get(s))?i:null==(o=this.store.get(t))?void 0:o.get(s))?a:r}setTemporaryValues(e,t){var r;this.tempStore.has(t)?null==(r=this.tempStore.get(t))||r.set(Rn(e)):this.tempStore.set(t,new pe(e))}clearTemporaryValues(e){var t;e?null==(t=this.tempStore.get(e))||t.reset():this.tempStore.forEach((e=>{e.reset()}))}}class _n{constructor(){this.name="flow-exp-plugin"}apply(e){let t;const r=e=>{e&&("object"===typeof e&&"exp"in e?null==t||t.evaluate(e.exp):null==t||t.evaluate(e))};e.hooks.expressionEvaluator.tap(this.name,(e=>{t=e})),e.hooks.flowController.tap(this.name,(e=>{e.hooks.flow.tap(this.name,(e=>{e.hooks.onStart.tap(this.name,(e=>r(e))),e.hooks.onEnd.tap(this.name,(e=>r(e))),e.hooks.resolveTransitionNode.intercept({call:e=>{(null==e?void 0:e.onStart)&&r(e.onStart)}})}))}))}}class Tn{constructor(){this.name="flow-exp-plugin"}apply(e){let t;e.hooks.schema.tap(this.name,(e=>{var r;r=e,t=(e,t,n)=>{var o,i;return null!=(i=null==(o=r.getFormatterForType({type:n}))?void 0:o.format(t))?i:t}})),e.hooks.expressionEvaluator.tap(this.name,(r=>{t&&r.addExpressionFunction("format",t),r.addExpressionFunction("log",((t,...r)=>{e.logger.info(...r)})),r.addExpressionFunction("debug",((t,...r)=>{e.logger.debug(...r)})),r.addExpressionFunction("eval",((e,...t)=>e.evaluate(...t)))}))}}const Cn={ref:Symbol("not-started"),status:"not-started"};var jn=Object.defineProperty,Un=Object.defineProperties,Nn=Object.getOwnPropertyDescriptors,Ln=Object.getOwnPropertySymbols,Bn=Object.prototype.hasOwnProperty,In=Object.prototype.propertyIsEnumerable,Mn=(e,t,r)=>t in e?jn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Dn=(e,t)=>{for(var r in t||(t={}))Bn.call(t,r)&&Mn(e,r,t[r]);if(Ln)for(var r of Ln(t))In.call(t,r)&&Mn(e,r,t[r]);return e};const Vn=class{constructor(e){var t;this.logger=new Qe,this.constantsController=new kn,this.state=Cn,this.hooks={flowController:new n.b,viewController:new n.b,view:new n.b,expressionEvaluator:new n.b,dataController:new n.b,schema:new n.b,validationController:new n.b,bindingParser:new n.b,state:new n.b,onStart:new n.b,onEnd:new n.b,resolveFlowContent:new n.c},(null==e?void 0:e.logger)&&this.logger.addHandler(e.logger),this.config=e||{},this.config.plugins=[new Tn,...this.config.plugins||[],new _n],null==(t=this.config.plugins)||t.forEach((e=>{e.apply(this)}))}getPlugins(){var e;return null!=(e=this.config.plugins)?e:[]}findPlugin(e){var t;return null==(t=this.config.plugins)?void 0:t.find((t=>t.symbol===e))}applyTo(e,t){const r=this.findPlugin(e);r&&t(r)}registerPlugin(e){var t;e.apply(this),null==(t=this.config.plugins)||t.push(e)}getVersion(){return Vn.info.version}getCommit(){return Vn.info.commit}getState(){return this.state}setState(e){this.state=e,this.hooks.state.call(e)}setupFlow(e){const t=this.hooks.resolveFlowContent.call(e),r=new Lr(t.navigation,{logger:this.logger});let n,o;this.hooks.onStart.call(t),this.hooks.flowController.call(r);const i=new ie({get:e=>o.get(e),set:e=>o.set(e),evaluate:e=>n.evaluate(e)});this.hooks.bindingParser.call(i);const a=i.parse,s=g()(),l=new ut(t.schema);this.hooks.schema.call(l);const u=new an(l);let c;function h(e,t){return gt(e,{model:o,evaluate:n.evaluate,formatted:t})}var p,d;return this.hooks.validationController.call(u),o=new bn(t.data,{pathResolver:i,middleware:u.getDataMiddleware(),logger:this.logger}),o.hooks.format.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.format(e):e})),o.hooks.deformat.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.deformat(e):e})),o.hooks.resolveDefaultValue.tap("player",(e=>{var t;return null==(t=l.getApparentType(e))?void 0:t.default})),n=new Je({model:o,logger:this.logger}),this.hooks.expressionEvaluator.call(n),n.hooks.onError.tap("player",(e=>(s.reject(e),!0))),r.hooks.flow.tap("player",(e=>{e.hooks.beforeTransition.tap("player",((e,t)=>{const r=e.transitions[t]?t:"*";return e.onEnd&&e.transitions[r]&&("object"===typeof e.onEnd&&"exp"in e.onEnd?null==n||n.evaluate(e.onEnd.exp):null==n||n.evaluate(e.onEnd)),"transitions"in e&&e.transitions[r]?Object(f.setIn)(e,["transitions",r],h(e.transitions[r])):e})),e.hooks.skipTransition.tap("validation",(e=>{var t;if("VIEW"===(null==e?void 0:e.value.state_type)){const{canTransition:e,validations:r}=u.validateView("navigation");if(!e&&r){const e=new Set(r.keys());return null==(t=null==c?void 0:c.currentView)||t.update(e),!0}}})),e.hooks.resolveTransitionNode.tap("player",(e=>{let t=e;return"ref"in e&&(t=Object(f.setIn)(e,["ref"],h(e.ref))),"param"in e&&(t=Object(f.setIn)(e,["param"],h(e.param,!1))),t})),e.hooks.transition.tap("player",((e,t)=>{"VIEW"!==t.value.state_type&&u.reset()})),e.hooks.afterTransition.tap("player",(e=>{var t;const o=null==(t=e.currentState)?void 0:t.value;if(o&&"ACTION"===o.state_type){const{exp:e}=o;null==r||r.transition(String(null==n?void 0:n.evaluate(e)))}n.reset()}))})),this.hooks.dataController.call(o),u.setOptions({parseBinding:a,model:o,logger:this.logger,evaluate:n.evaluate,constants:this.constantsController}),c=new yn(t.views||[],{evaluator:n,parseBinding:a,transition:r.transition,model:o,utils:{findPlugin:e=>this.findPlugin(e)},logger:this.logger,flowController:r,schema:l,format:(e,t)=>{const r=l.getFormatter(e);return(null==r?void 0:r.format)?r.format(t):t},formatValue:(e,t)=>{const r=l.getFormatterForType(e);return(null==r?void 0:r.format)?r.format(t):t},validation:(p=Dn({},u.forView(a)),d={type:e=>l.getType(a(e))},Un(p,Nn(d))),constants:this.constantsController}),c.hooks.view.tap("player",(e=>{u.onView(e),this.hooks.view.call(e)})),this.hooks.viewController.call(c),{start:()=>{r.start().then((e=>({endState:h(e,!1),data:o.serialize()}))).then(s.resolve).catch((e=>{throw this.logger.error(`Something went wrong: ${e.message}`),e})).catch(s.reject).finally((()=>this.hooks.onEnd.call()))},state:{status:"in-progress",flowResult:s.promise,controllers:{data:o,view:c,flow:r,schema:l,expression:n,binding:i,validation:u},fail:s.reject,flow:t,logger:this.logger}}}start(e){return t=this,r=null,n=function*(){var t;const r=Symbol(null!=(t=null==e?void 0:e.id)?t:"payload"),n=e=>this.state.ref!==r?(this.logger.warn("Received update for a flow that's not the current one"),e):(this.setState(e),e);this.setState({status:"not-started",ref:r});try{const{state:t,start:o}=this.setupFlow(e);this.setState(Dn({ref:r},t)),o();const i={ref:r,status:"completed",flow:t.flow,controllers:{data:t.controllers.data.makeReadOnly()}};return n(Dn(Dn({},yield t.flowResult),i))}catch(o){throw n({status:"error",ref:r,flow:e,error:o}),o}},new Promise(((e,o)=>{var i=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,a);s((n=n.apply(t,r)).next())}));var t,r,n}};Vn.info={version:"0.5.2--canary.256.8653",commit:"bdcaed05a0b3ce7cd66c8d5f718f3b74585603a2"}},function(e,t,r){e.exports=function(e,t,r,n,o){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:o;return e===o?r:e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toError=t.NestedError=void 0;class n extends Error{constructor(e,...t){super(e);const r=n.getErrorReport(this);if(1===t.length){const e=o(t[0]);this.innerErrors=[e];const i=n.getErrorReport(e);return void(this.stack=`${r}\n\n======= INNER ERROR =======\n\n${i}`)}this.innerErrors=t.map((e=>o(e)));const i=this.innerErrors.map(((e,r)=>{const o=n.getErrorReport(e);return`======= INNER ERROR (${r+1} of ${t.length}) =======\n\n${o}`})).join("\n\n");this.stack=`${r}\n\n${i}`}get innerError(){return 0===this.innerErrors.length?null:this.innerErrors[0]}static rethrow(e){return(...t)=>{throw new this(e,...t)}}}function o(e){try{return e instanceof Error?e:new Error(`Value that is not an instance of Error was thrown: ${e}`)}catch{return new Error("Failed to stringify non-instance of Error that was thrown.This is possibly due to the fact that toString() method of the valuedoesn't return a primitive value.")}}t.NestedError=n,n.getErrorReport="string"===typeof(new Error).stack?e=>e.stack:e=>`${e.name}: ${e.message}`,n.prototype.name="NestedError",t.toError=o},function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"b",(function(){return l}));var n=r(13),o=r.n(n),i=r(4),a=r.n(i);function s(e,t=[],r=new Map){for(const n of Object.keys(e)){const o=e[n],i=[...t,n];"object"===typeof o?s(o,i,r):r.set(i,o)}return r}function l(e){const t=s(e),r=e=>{for(const r of t){const[t,n]=r;if(a()(e,t)!==n)return!1}return!0};return r.count=t.size,r}const u=()=>new o.a([],(e=>e.matcher.count));class c{constructor(e){this.store=u(),null==e||e.forEach((([e,t])=>{this.set(e,t)}))}set(e,t){const r="object"===typeof e?l(e):function(e){const t=t=>e===t;return t.count=1,t}(e);this.store.insert({key:e,value:t,matcher:r})}get(e){for(const t of this.store.array)if(t.matcher(e))return t.value}forEach(e){for(const t of this.store.array)e(t)}clear(){this.store=u()}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parser=exports.findRuleByName=exports.parseRuleName=exports.escapeRegExp=exports.readToken=void 0;const UPPER_SNAKE_RE=/^[A-Z0-9_]+$/,decorationRE=/(\?|\+|\*)$/,preDecorationRE=/^(@|&|!)/,WS_RULE="WS",TokenError_1=__webpack_require__(9);function readToken(e,t){let r=t.exec(e);return r&&0==r.index?0==r[0].length&&t.source.length>0?null:{type:null,text:r[0],rest:e.substr(r[0].length),start:0,end:r[0].length-1,fullText:r[0],errors:[],children:[],parent:null}:null}function escapeRegExp(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function fixRest(e){e.rest="",e.children&&e.children.forEach((e=>fixRest(e)))}function fixPositions(e,t){e.start+=t,e.end+=t,e.children&&e.children.forEach((t=>fixPositions(t,e.start)))}function agregateErrors(e,t){t.errors&&t.errors.length&&t.errors.forEach((t=>e.push(t))),t.children&&t.children.forEach((t=>agregateErrors(e,t)))}function parseRuleName(e){let t=decorationRE.exec(e),r=preDecorationRE.exec(e),n=t&&t[0]||"",o=r&&r[0]||"",i={raw:e,name:e.replace(decorationRE,"").replace(preDecorationRE,""),isOptional:"?"==n||"*"==n,allowRepetition:"+"==n||"*"==n,atLeastOne:"+"==n,lookupPositive:"&"==o,lookupNegative:"!"==o,pinned:"@"==o,lookup:!1,isLiteral:!1};return i.isLiteral="'"==i.name[0]||'"'==i.name[0],i.lookup=i.lookupNegative||i.lookupPositive,i}function findRuleByName(e,t){let r=parseRuleName(e);return t.cachedRules[r.name]||null}function stripRules(e,t){if(e.children){let r=e.children.filter((e=>e.type&&t.test(e.type)));for(let t=0;t<r.length;t++){let n=e.children.indexOf(r[t]);-1!=n&&e.children.splice(n,1)}e.children.forEach((e=>stripRules(e,t)))}}exports.readToken=readToken,exports.escapeRegExp=escapeRegExp,exports.parseRuleName=parseRuleName,exports.findRuleByName=findRuleByName;const ignoreMissingRules=["EOF"];class Parser{constructor(e,t){this.grammarRules=e,this.options=t,this.cachedRules={},this.debug=!!t&&!0===t.debug;let r=[],n=[];if(e.forEach((e=>{let t=parseRuleName(e.name);if(t.name in this.cachedRules)r.push("Duplicated rule "+t.name);else{if(this.cachedRules[t.name]=e,e.bnf&&e.bnf.length)e.bnf.forEach((t=>{if("string"===typeof t[0]){if(parseRuleName(t[0]).name==e.name){let t="Left recursion is not allowed, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}}t.forEach((e=>{if("string"==typeof e){let t=parseRuleName(e);t.isLiteral||-1!=n.indexOf(t.name)||-1!=ignoreMissingRules.indexOf(t.name)||n.push(t.name)}}))}));else{let t="Missing rule content, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}WS_RULE==e.name&&(e.implicitWs=!1),e.implicitWs&&-1==n.indexOf(WS_RULE)&&n.push(WS_RULE),e.recover&&-1==n.indexOf(e.recover)&&n.push(e.recover)}})),n.forEach((e=>{e in this.cachedRules||r.push("Missing rule "+e)})),r.length)throw new Error(r.join("\n"))}getAST(e,t){t||(t=this.grammarRules.filter((e=>!e.fragment&&0!=e.name.indexOf("%")))[0].name);let r=this.parse(e,t);if(r){agregateErrors(r.errors,r),fixPositions(r,0),stripRules(r,/^%/),this.options&&this.options.keepUpperRules||stripRules(r,UPPER_SNAKE_RE);let e=r.rest;e&&new TokenError_1.TokenError("Unexpected end of input: \n"+e,r),fixRest(r),r.rest=e}return r}emitSource(){return"CANNOT EMIT SOURCE FROM BASE Parser"}parse(txt,target,recursion=0){let out=null,type=parseRuleName(target),expr,printable=this.debug&&!UPPER_SNAKE_RE.test(type.name);printable&&console.log(new Array(recursion).join("\u2502 ")+"Trying to get "+target+" from "+JSON.stringify(txt.split("\n")[0]));let realType=type.name,targetLex=findRuleByName(type.name,this);if("EOF"==type.name){if(txt.length)return null;if(0==txt.length)return{type:"EOF",text:"",rest:"",start:0,end:0,fullText:"",errors:[],children:[],parent:null}}try{if(!targetLex&&type.isLiteral){let src=eval(type.name);if(""===src)return{type:"%%EMPTY%%",text:"",rest:txt,start:0,end:0,fullText:"",errors:[],children:[],parent:null};expr=new RegExp(escapeRegExp(src)),realType=null}}catch(e){return e instanceof ReferenceError&&console.error(e),null}if(expr){let e=readToken(txt,expr);if(e)return e.type=realType,e}else{let e=targetLex.bnf;e instanceof Array&&e.forEach((e=>{if(out)return;let t=null,r={type:type.name,text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:txt};targetLex.fragment&&(r.fragment=!0);let n=txt,o=0,i=e.length>0,a=!1;for(let s=0;s<e.length;s++)if("string"==typeof e[s]){let l,u=parseRuleName(e[s]);i=i&&u.isOptional;let c=!1;do{if(l=null,targetLex.implicitWs&&(l=this.parse(n,u.name,recursion+1),!l)){let e;do{if(e=this.parse(n,WS_RULE,recursion+1),!e)break;r.text=r.text+e.text,r.end=r.text.length,e.parent=r,r.children.push(e),n=n.substr(e.text.length),o+=e.text.length}while(e&&e.text.length)}if(l=l||this.parse(n,u.name,recursion+1),u.lookupNegative){if(l)return;break}if(u.lookupPositive&&!l)return;if(!l){if(u.isOptional)break;if(u.atLeastOne&&c)break}if(l&&targetLex.pinned==s+1&&(t=l,printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" PINNED")),l||(l=this.parseRecovery(targetLex,n,recursion+1)),!l){if(!t)return;out=r,l={type:"SyntaxError",text:n,children:[],end:n.length,errors:[],fullText:"",parent:null,start:0,rest:""},n.length?new TokenError_1.TokenError(`Unexpected end of input. Expecting ${u.name} Got: ${n}`,l):new TokenError_1.TokenError(`Unexpected end of input. Missing ${u.name}`,l),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text))}if(c=!0,a=!0,"%%EMPTY%%"==l.type)break;l.start+=o,l.end+=o,!u.lookupPositive&&l.type&&(l.fragment?l.children&&l.children.forEach((e=>{e.start+=o,e.end+=o,e.parent=r,r.children.push(e)})):(l.parent=r,r.children.push(l))),u.lookup&&(l.lookup=!0),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text)),u.lookup||l.lookup||(r.text=r.text+l.text,r.end=r.text.length,n=n.substr(l.text.length),o+=l.text.length),r.rest=n}while(l&&u.allowRepetition&&n.length&&!l.lookup)}else{let t=readToken(n,e[s]);if(!t)return;printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514> "+JSON.stringify(t.text)+e[s].source),a=!0,t.start+=o,t.end+=o,r.text=r.text+t.text,r.end=r.text.length,n=n.substr(t.text.length),o+=t.text.length,r.rest=n}a&&(out=r,printable&&console.log(new Array(recursion).join("\u2502 ")+"\u251c<\u2500\u2534< PUSHING "+out.type+" "+JSON.stringify(out.text)))})),out&&targetLex.simplifyWhenOneChildren&&1==out.children.length&&(out=out.children[0])}return out||printable&&console.log(target+" NOT RESOLVED FROM "+txt),out}parseRecovery(e,t,r){if(e.recover&&t.length){let n=this.debug;n&&console.log(new Array(r+1).join("\u2502 ")+"Trying to recover until token "+e.recover+" from "+JSON.stringify(t.split("\n")[0]+t.split("\n")[1]));let o,i={type:"SyntaxError",text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:""};do{if(o=this.parse(t,e.recover,r+1),o){new TokenError_1.TokenError('Unexpected input: "'+i.text+`" Expecting: ${e.name}`,i);break}i.text=i.text+t[0],i.end=i.text.length,t=t.substr(1)}while(!o&&t.length>0);if(i.text.length>0&&o)return n&&console.log(new Array(r+1).join("\u2502 ")+"Recovered text: "+JSON.stringify(i.text)),i}return null}}exports.Parser=Parser,exports.default=Parser},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=Object.prototype.hasOwnProperty;function o(e,t,r){for(r of e.keys())if(i(r,t))return r}function i(e,t){var r,a,s;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((a=e.length)===t.length)for(;a--&&i(e[a],t[a]););return-1===a}if(r===Set){if(e.size!==t.size)return!1;for(a of e){if((s=a)&&"object"===typeof s&&!(s=o(t,s)))return!1;if(!t.has(s))return!1}return!0}if(r===Map){if(e.size!==t.size)return!1;for(a of e){if((s=a[0])&&"object"===typeof s&&!(s=o(t,s)))return!1;if(!i(a[1],t.get(s)))return!1}return!0}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return-1===a}if(ArrayBuffer.isView(e)){if((a=e.byteLength)===t.byteLength)for(;a--&&e[a]===t[a];);return-1===a}if(!r||"object"===typeof e){for(r in a=0,e){if(n.call(e,r)&&++a&&!n.call(t,r))return!1;if(!(r in t)||!i(e[r],t[r]))return!1}return Object.keys(t).length===a}}return e!==e&&t!==t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenError=void 0;class n extends Error{constructor(e,t){if(super(e),this.message=e,this.token=t,!t||!t.errors)throw this;t.errors.push(this)}inspect(){return"SyntaxError: "+this.message}}t.TokenError=n},function(e,t,r){"use strict";function n(e,t){for(var r,o=0,i=e.length;o<i;o++)r=e[o],Array.isArray(r)?n(r,t):t.push(r);return t}e.exports=function(e){return n(e,[])}},function(e,t,r){"use strict";e.exports=()=>{const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},function(e,t,r){var n,o=function(){var e=function(e){var t=e.constructor;return t.prototype=e,t}({constructor:function(e,r){this.array=[],this.compare=r||t;for(var n=e.length,o=0;o<n;)this.insert(e[o++])},insert:function(e){for(var t,r,n=this.array,o=this.compare,i=n.length-1,a=0,s=-1;i>=a;)if((r=o(n[t=(i+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0)){s=t;break}i=t-1}for(-1===s&&(s=i),s++,i=n.length-1;s<i&&0===o(e,n[s]);)s++;for(t=n.length,n.push(e);t>s;)n[t]=n[--t];return n[s]=e,this},search:function(e){for(var t,r,n=this.array,o=this.compare,i=n.length-1,a=0;i>=a;)if((r=o(n[t=(i+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0))return t;i=t-1}return-1},remove:function(e){var t=this.search(e);return t>=0&&this.array.splice(t,1),this}});return e.comparing=function(r,n){return new e(n,(function(e,n){return t(e[r],n[r])}))},e;function t(e,t){return e<t?-1:e>t?1:0}}();e.exports=o,void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(7);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return n.Parser}});var o=r(9);Object.defineProperty(t,"TokenError",{enumerable:!0,get:function(){return o.TokenError}}),t.Grammars=r(22)},function(e,t,r){(function(t){let r;e.exports="function"===typeof queueMicrotask?queueMicrotask.bind("undefined"!==typeof window?window:t):e=>(r||(r=Promise.resolve())).then(e).catch((e=>setTimeout((()=>{throw e}),0)))}).call(this,r(12))},,function(e,t,r){"use strict";r.r(t),r.d(t,"CheckPathPlugin",(function(){return c}));var n=r(3),o=r(6),i=r(4),a=r.n(i);const s=Symbol.for("CheckPathPlugin");function l(e){return"string"===typeof e||"number"===typeof e?Object(o.b)({type:e}):"function"===typeof e?e:Object(o.b)(e)}function u(e,t){let r=e;for(;r.parent&&r.parent.type!==n.NodeType.Asset&&r.parent.type!==n.NodeType.View;)r=r.parent;const{parent:o}=r;if(o&&(o.type===n.NodeType.Asset||o.type===n.NodeType.View))return o}class c{constructor(){this.name="check-path",this.symbol=s}apply(e){e.hooks.viewController.tap(this.name,(e=>{e.hooks.view.tap(this.name,(e=>{e.hooks.resolver.tap(this.name,(e=>{const t={resolvedMap:new Map,assetIdMap:new Map,resolver:e};this.viewInfo=t,e.hooks.afterResolve.tap(this.name,((e,r)=>{const o=this.getSourceAssetNode(r);if(o&&(t.resolvedMap.set(o,{resolved:r,value:e}),r.type===n.NodeType.Asset||r.type===n.NodeType.View)){const n=a()(e,"id");n&&t.assetIdMap.set(n,r)}return e}))}))}))}))}getParent(e,t){var r;const n=null==(r=this.viewInfo)?void 0:r.assetIdMap.get(e);if(!n||!this.viewInfo)return;let o=u(n);if(void 0===t)return o?this.getAssetFromAssetNode(o):void 0;const i=Array.isArray(t)?[...t]:[t];let a=i.shift(),s=0;for(;o&&a;){if(s++>=50)throw new Error("Recursion depth exceeded. Check for cycles in the AST graph");const e=l(a),t=this.getAssetFromAssetNode(o);if(t&&e(t)){if(0===i.length)return t;a=i.shift()}o=u(o)}}getParentProp(e){var t,r,o;const i=null==(t=this.viewInfo)?void 0:t.assetIdMap.get(e);if(!i||!this.viewInfo)return;let a,s=i;for(;s&&(a=null==s?void 0:s.parent,!a||a.type!==n.NodeType.Asset&&a.type!==n.NodeType.View);)s=null==s?void 0:s.parent;if(a&&"children"in a){const e=null==(r=a.children)?void 0:r.find((e=>e.value===s));return null==(o=null==e?void 0:e.path)?void 0:o[0]}}getSourceAssetNode(e){var t;let r=null==(t=this.viewInfo)?void 0:t.resolver.getSourceNode(e);return"applicability"===(null==r?void 0:r.type)&&(r=r.value),r}hasParentContext(e,t){return Boolean(this.getParent(e,t))}findChildPath(e,t,r=!0){var o,i;if(0===t.length)return!0;const[a,...s]=t,u=l(a);if(e.type===n.NodeType.Asset||e.type===n.NodeType.View||e.type===n.NodeType.Applicability){const i=this.getResolvedValue(e),a=null!=(o=r&&u(i))&&o,l=a?s:t;if(0===l.length&&a)return!0;const c=e.type===n.NodeType.Applicability?e.value.children:e.children;if(l.length&&(!c||0===c.length))return!1;if(null==c?void 0:c.some((e=>this.findChildPath(e.value,l))))return!0}else{if(e.type===n.NodeType.MultiNode&&e.values.some((e=>this.findChildPath(e,t))))return!0;if("children"in e&&(null==(i=e.children)?void 0:i.some((e=>this.findChildPath(e.value,t)))))return!0}return!1}hasChildContext(e,t){var r;const n=null==(r=this.viewInfo)?void 0:r.assetIdMap.get(e),o=Array.isArray(t)?[...t]:[t];return!!n&&this.findChildPath(n,o,!1)}getAsset(e){var t;const r=null==(t=this.viewInfo)?void 0:t.assetIdMap.get(e);if(r)return this.getAssetFromAssetNode(r)}getAssetFromAssetNode(e){var t,r;const n=this.getSourceAssetNode(e);if(n)return null==(r=null==(t=this.viewInfo)?void 0:t.resolvedMap.get(n))?void 0:r.value}getPath(e,t){var r,o;const i=null==(r=this.viewInfo)?void 0:r.assetIdMap.get(e);if(!i||!this.viewInfo)return;let a=[],s=[];t&&(s=Array.isArray(t)?[...t]:[t]);let u=s.shift(),c=i;const h=e=>{var t;return null==(t=e.children)?void 0:t.find((e=>e.value===c))};for(;void 0!==c;){const{parent:e}=c;if(e){if(e.type===n.NodeType.MultiNode){const t=e.values.indexOf(c);if(-1!==t){a=[t-e.values.slice(0,t).reduce(((e,t)=>void 0===this.getResolvedValue(t)?e+1:e),0),...a]}}else if("children"in e){const t=h(e);a=[...null!=(o=null==t?void 0:t.path)?o:[],...a]}if(u){if(l(u)(this.getResolvedValue(e))&&(u=s.shift(),!u))return a}}c=c.parent}return u?void 0:a}getResolvedValue(e){var t,r;const n=this.getSourceAssetNode(e);return null==(r=null==(t=this.viewInfo)?void 0:t.resolvedMap.get(null!=n?n:e))?void 0:r.value}}},function(e,t,r){"use strict";(function(e){var n=r(19),o=r(20),i=r(21);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,r){if(!l.TYPED_ARRAY_SUPPORT&&!(this instanceof l))return new l(e,t,r);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,r)}function u(e,t,r,n){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=f(e,t);return e}(e,t,r,n):"string"===typeof t?function(e,t,r){"string"===typeof r&&""!==r||(r="utf8");if(!l.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|d(t,r),o=(e=s(e,n)).write(t,r);o!==n&&(e=e.slice(0,o));return e}(e,t,r):function(e,t){if(l.isBuffer(t)){var r=0|p(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||(n=t.length)!==n?s(e,0):f(e,t);if("Buffer"===t.type&&i(t.data))return f(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(c(t),e=s(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function f(e,t){var r=t.length<0?0:0|p(t.length);e=s(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function p(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function d(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(e).length;default:if(n)return F(e).length;t=(""+t).toLowerCase(),n=!0}}function g(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,r);case"utf8":case"utf-8":return P(this,t,r);case"ascii":return k(this,t,r);case"latin1":case"binary":return _(this,t,r);case"base64":return A(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function v(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function y(e,t,r,n,o){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"===typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:m(e,t,r,n,o);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):m(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function m(e,t,r,n,o){var i,a=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var c=-1;for(i=r;i<s;i++)if(u(e,i)===u(t,-1===c?0:i-c)){if(-1===c&&(c=i),i-c+1===l)return c*a}else-1!==c&&(i-=i-c),c=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;f<l;f++)if(u(e,i+f)!==u(t,f)){h=!1;break}if(h)return i}return-1}function b(e,t,r,n){r=Number(r)||0;var o=e.length-r;n?(n=Number(n))>o&&(n=o):n=o;var i=t.length;if(i%2!==0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var a=0;a<n;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[r+a]=s}return a}function w(e,t,r,n){return H(F(t,e.length-r),e,r,n)}function E(e,t,r,n){return H(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function S(e,t,r,n){return E(e,t,r,n)}function x(e,t,r,n){return H($(t),e,r,n)}function O(e,t,r,n){return H(function(e,t){for(var r,n,o,i=[],a=0;a<e.length&&!((t-=2)<0);++a)n=(r=e.charCodeAt(a))>>8,o=r%256,i.push(o),i.push(n);return i}(t,e.length-r),e,r,n)}function A(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);for(var n=[],o=t;o<r;){var i,a,s,l,u=e[o],c=null,h=u>239?4:u>223?3:u>191?2:1;if(o+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128===(192&(i=e[o+1]))&&(l=(31&u)<<6|63&i)>127&&(c=l);break;case 3:i=e[o+1],a=e[o+2],128===(192&i)&&128===(192&a)&&(l=(15&u)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:i=e[o+1],a=e[o+2],s=e[o+3],128===(192&i)&&128===(192&a)&&128===(192&s)&&(l=(15&u)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),o+=h}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=R));return r}(n)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return u(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return c(t),t<=0?s(e,t):void 0!==r?"string"===typeof n?s(e,t).fill(r,n):s(e,t).fill(r):s(e,t)}(null,e,t,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);o<i;++o)if(e[o]!==t[o]){r=e[o],n=t[o];break}return r<n?-1:n<r?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!i(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=l.allocUnsafe(t),o=0;for(r=0;r<e.length;++r){var a=e[r];if(!l.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,o),o+=a.length}return n},l.byteLength=d,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)v(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)v(this,t,t+3),v(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)v(this,t,t+7),v(this,t+1,t+6),v(this,t+2,t+5),v(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?P(this,0,e):g.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,r,n,o){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(i,a),u=this.slice(n,o),c=e.slice(t,r),h=0;h<s;++h)if(u[h]!==c[h]){i=u[h],a=c[h];break}return i<a?-1:a<i?1:0},l.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},l.prototype.indexOf=function(e,t,r){return y(this,e,t,r,!0)},l.prototype.lastIndexOf=function(e,t,r){return y(this,e,t,r,!1)},l.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"===typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var o=this.length-t;if((void 0===r||r>o)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":return E(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return x(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function k(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(127&e[o]);return n}function _(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(e[o]);return n}function T(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var o="",i=t;i<r;++i)o+=V(e[i]);return o}function C(e,t,r){for(var n=e.slice(t,r),o="",i=0;i<n.length;i+=2)o+=String.fromCharCode(n[i]+256*n[i+1]);return o}function j(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function U(e,t,r,n,o,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function N(e,t,r,n){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-r,2);o<i;++o)e[r+o]=(t&255<<8*(n?o:1-o))>>>8*(n?o:1-o)}function L(e,t,r,n){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-r,4);o<i;++o)e[r+o]=t>>>8*(n?o:3-o)&255}function B(e,t,r,n,o,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(e,t,r,n,i){return i||B(e,0,r,4),o.write(e,t,r,n,23,4),r+4}function M(e,t,r,n,i){return i||B(e,0,r,8),o.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=l.prototype;else{var o=t-e;r=new l(o,void 0);for(var i=0;i<o;++i)r[i]=this[i+e]}return r},l.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],o=1,i=0;++i<t&&(o*=256);)n+=this[e+i]*o;return n},l.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e+--t],o=1;t>0&&(o*=256);)n+=this[e+--t]*o;return n},l.prototype.readUInt8=function(e,t){return t||j(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||j(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||j(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||j(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],o=1,i=0;++i<t&&(o*=256);)n+=this[e+i]*o;return n>=(o*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=t,o=1,i=this[e+--n];n>0&&(o*=256);)i+=this[e+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||j(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||j(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||j(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||j(e,4,this.length),o.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||j(e,4,this.length),o.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||j(e,8,this.length),o.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||j(e,8,this.length),o.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[t]=255&e;++i<r&&(o*=256);)this[t+i]=e/o&255;return t+r},l.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var o=r-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);U(this,e,t,r,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<r&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);U(this,e,t,r,o-1,-o)}var i=r-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return I(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return I(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return M(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return M(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var o,i=n-r;if(this===e&&r<t&&t<n)for(o=i-1;o>=0;--o)e[o+t]=this[o+r];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+i),t);return i},l.prototype.fill=function(e,t,r,n){if("string"===typeof e){if("string"===typeof t?(n=t,t=0,r=this.length):"string"===typeof r&&(n=r,r=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==n&&"string"!==typeof n)throw new TypeError("encoding must be a string");if("string"===typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(i=t;i<r;++i)this[i]=e;else{var a=l.isBuffer(e)?e:F(new l(e,n).toString()),s=a.length;for(i=0;i<r-t;++i)this[i+t]=a[i%s]}return this};var D=/[^+\/0-9A-Za-z-_]/g;function V(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e,t){var r;t=t||1/0;for(var n=e.length,o=null,i=[],a=0;a<n;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function $(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(D,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function H(e,t,r,n){for(var o=0;o<n&&!(o+r>=t.length||o>=e.length);++o)t[o+r]=e[o];return o}}).call(this,r(12))},function(e,t,r){"use strict";t.byteLength=function(e){var t=u(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=u(e),a=n[0],s=n[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r<h;r+=4)t=o[e.charCodeAt(r)]<<18|o[e.charCodeAt(r+1)]<<12|o[e.charCodeAt(r+2)]<<6|o[e.charCodeAt(r+3)],l[c++]=t>>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===s&&(t=o[e.charCodeAt(r)]<<2|o[e.charCodeAt(r+1)]>>4,l[c++]=255&t);1===s&&(t=o[e.charCodeAt(r)]<<10|o[e.charCodeAt(r+1)]<<4|o[e.charCodeAt(r+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,r=e.length,o=r%3,i=[],a=16383,s=0,l=r-o;s<l;s+=a)i.push(c(e,s,s+a>l?l:s+a));1===o?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===o&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return i.join("")};for(var n=[],o=[],i="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s<l;++s)n[s]=a[s],o[a.charCodeAt(s)]=s;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var o,i,a=[],s=t;s<r;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(n[(i=o)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,o){var i,a,s=8*o-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?o-1:0,f=r?-1:1,p=e[t+h];for(h+=f,i=p&(1<<-c)-1,p>>=-c,c+=s;c>0;i=256*i+e[t+h],h+=f,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=n;c>0;a=256*a+e[t+h],h+=f,c-=8);if(0===i)i=1-u;else{if(i===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),i-=u}return(p?-1:1)*a*Math.pow(2,i-n)},t.write=function(e,t,r,n,o,i){var a,s,l,u=8*i-o-1,c=(1<<u)-1,h=c>>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(t*l-1)*Math.pow(2,o),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,o),a=0));o>=8;e[r+p]=255&s,p+=d,s/=256,o-=8);for(a=a<<o|s,u+=o;u>0;e[r+p]=255&a,p+=d,a/=256,u-=8);e[r+p-d]|=128*g}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(23);Object.defineProperty(t,"BNF",{enumerable:!0,get:function(){return n.default}});var o=r(25);Object.defineProperty(t,"W3C",{enumerable:!0,get:function(){return o.default}});var i=r(26);Object.defineProperty(t,"Custom",{enumerable:!0,get:function(){return i.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(24),o=r(7);var i;!function(e){function t(e){let r=n.findChildrenByType(e,"term").map((e=>n.findChildrenByType(e,"literal").concat(n.findChildrenByType(e,"rule-name"))[0].text));return n.findChildrenByType(e,"list").forEach((e=>{r=r.concat(t(e))})),r}function r(r,o=e.defaultParser){let i=o.getAST(r);if(!i)throw new Error("Could not parse "+r);if(i.errors&&i.errors.length)throw i.errors[0];let a=n.findChildrenByType(i,"rule").map((e=>{let r=n.findChildrenByType(e,"rule-name")[0].text,o=n.findChildrenByType(e,"firstExpression").concat(n.findChildrenByType(e,"otherExpression")),i=[];return o.forEach((e=>{i.push(t(e))})),{name:r,bnf:i}}));return a.some((e=>"EOL"==e.name))||a.push({name:"EOL",bnf:[['"\\r\\n"','"\\r"','"\\n"']]}),a}e.RULES=[{name:"syntax",bnf:[["RULE_EOL*","rule+"]]},{name:"rule",bnf:[['" "*','"<"',"rule-name",'">"','" "*','"::="',"firstExpression","otherExpression*",'" "*',"RULE_EOL+",'" "*']]},{name:"firstExpression",bnf:[['" "*',"list"]]},{name:"otherExpression",bnf:[['" "*','"|"','" "*',"list"]]},{name:"RULE_EOL",bnf:[['"\\r"'],['"\\n"']]},{name:"list",bnf:[["term",'" "*',"list"],["term"]]},{name:"term",bnf:[["literal"],['"<"',"rule-name",'">"']]},{name:"literal",bnf:[["'\"'","RULE_CHARACTER1*","'\"'"],['"\'"',"RULE_CHARACTER2*",'"\'"']]},{name:"RULE_CHARACTER",bnf:[['" "'],["RULE_LETTER"],["RULE_DIGIT"],["RULE_SYMBOL"]]},{name:"RULE_LETTER",bnf:[['"A"'],['"B"'],['"C"'],['"D"'],['"E"'],['"F"'],['"G"'],['"H"'],['"I"'],['"J"'],['"K"'],['"L"'],['"M"'],['"N"'],['"O"'],['"P"'],['"Q"'],['"R"'],['"S"'],['"T"'],['"U"'],['"V"'],['"W"'],['"X"'],['"Y"'],['"Z"'],['"a"'],['"b"'],['"c"'],['"d"'],['"e"'],['"f"'],['"g"'],['"h"'],['"i"'],['"j"'],['"k"'],['"l"'],['"m"'],['"n"'],['"o"'],['"p"'],['"q"'],['"r"'],['"s"'],['"t"'],['"u"'],['"v"'],['"w"'],['"x"'],['"y"'],['"z"']]},{name:"RULE_DIGIT",bnf:[['"0"'],['"1"'],['"2"'],['"3"'],['"4"'],['"5"'],['"6"'],['"7"'],['"8"'],['"9"']]},{name:"RULE_SYMBOL",bnf:[['"-"'],['"_"'],['"!"'],['"#"'],['"$"'],['"%"'],['"&"'],['"("'],['")"'],['"*"'],['"+"'],['","'],['"-"'],['"."'],['"/"'],['":"'],['";"'],['"<"'],['"="'],['">"'],['"?"'],['"@"'],['"["'],['"\\"'],['"]"'],['"^"'],['"_"'],['"`"'],['"{"'],['"|"'],['"}"'],['"~"']]},{name:"RULE_CHARACTER1",bnf:[["RULE_CHARACTER"],['"\'"']]},{name:"RULE_CHARACTER2",bnf:[["RULE_CHARACTER"],["'\"'"]]},{name:"rule-name",bnf:[["RULE_LETTER","RULE_CHAR*"]]},{name:"RULE_CHAR",bnf:[["RULE_LETTER"],["RULE_DIGIT"],['"_"'],['"-"']]}],e.defaultParser=new o.Parser(e.RULES,{debug:!1}),e.getRules=r,e.Transform=function(t,n=e.defaultParser){return r(t.join(""),n)};class i extends o.Parser{constructor(t,n){super(r(t,n&&!0===n.debugRulesParser?new o.Parser(e.RULES,{debug:!0}):e.defaultParser),n),this.source=t}emitSource(){return this.source}}e.Parser=i}(i||(i={})),t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findChildrenByType=void 0,t.findChildrenByType=function(e,t){return e.children?e.children.filter((e=>e.type==t)):[]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(7);var o;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_WHITESPACE*",'"|"',"RULE_WHITESPACE*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","Item"],["Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"Item",bnf:[["RULE_WHITESPACE*","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"DecorationName",bnf:[['"ebnf://"',/[^\x5D#]+/]]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']],pinned:1},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[['!"*/"',/[^*]/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new n.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,o=/^%/;function i(e,i){if("string"==typeof e){if(t.test(e))return"";if(o.test(e)){let t=r.exec(e),o=t?t[0]+" ":"",s=function(e,t){let r=n.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,i);return s?a(e,i)+o:"("+a(e,i)+")"+o}return e}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function a(e,t){let r=n.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>i(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function s(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" /* { recoverUntil="+r.recover+" } */":"";t.push(r.name+" ::= "+a(r.name,e)+n)}})),t.join("\n")}e.emit=s;let l=0;function u(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function c(e,t,r){let n=null,o=[];return t.children.forEach(((i,a)=>{"Minus"==i.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(n,i);let s=t.children[a+1];s=s&&"PrimaryDecoration"==s.type&&s.text||"";switch(i.type){case"SubItem":let t="%"+(r+l++);h(e,i,t),o.push(""+t+s);break;case"NCName":case"StringLiteral":o.push(""+i.text+s);break;case"CharCode":case"CharClass":if(s){let t={name:"%"+(r+l++),bnf:[[u(i.text)]]};e.push(t),o.push(""+t.name+s)}else o.push(u(i.text));break;case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+i.type+" -> "+JSON.stringify(i.text))}n=i})),o}function h(e,t,r){let n=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>c(e,t,r))),o={name:r,bnf:n},i=null;n.forEach((e=>{i=i||e.recover,delete e.recover})),0==r.indexOf("%")&&(o.fragment=!0),i&&(o.recover=i),e.push(o)}function f(t,r=e.defaultParser){let n=r.getAST(t);if(!n)throw new Error("Could not parse "+t);if(n.errors&&n.errors.length)throw n.errors[0];let o=[];return n.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;h(o,e,t)})),o}e.getRules=f,e.Transform=function(t,r=e.defaultParser){return f(t.join(""),r)};class p extends n.Parser{constructor(t,r){super(f(t,r&&!0===r.debugRulesParser?new n.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return s(this)}}e.Parser=p}(o||(o={})),t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9),o=r(7);var i;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","Attributes?","RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","%Choice","RULE_WHITESPACE*","Attributes?","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Attributes",bnf:[['"{"',"Attribute","%Attributes*","RULE_S*",'"}"']]},{name:"%Attributes",bnf:[["RULE_S*",'","',"Attribute"]],fragment:!0},{name:"Attribute",bnf:[["RULE_S*","NCName","RULE_WHITESPACE*",'"="',"RULE_WHITESPACE*","AttributeValue"]]},{name:"AttributeValue",bnf:[["NCName"],[/[1-9][0-9]*/]]},{name:"%Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_S*",'"|"',"RULE_S*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["%Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","%Item"],["%Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"%Item",bnf:[["RULE_WHITESPACE*","PrimaryPreDecoration?","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"PrimaryPreDecoration",bnf:[['"&"'],['"!"'],['"~"']]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_S*","%Choice","RULE_S*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']]},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[[/[^*]/],['"*"+',/[^/]*/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new o.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,i=/^%/;function a(e,n){if("string"==typeof e){let a=r.exec(e),l=t.exec(e),u=l?l[0]:"",c=a?a[0]+" ":"";if(i.test(e)){let t=function(e,t){let r=o.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,n);return t?u+s(e,n)+c:u+"("+s(e,n)+")"+c}return e.replace(t,u)}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function s(e,t){let r=o.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>a(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function l(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" { recoverUntil="+r.recover+" }":"";t.push(r.name+" ::= "+s(r.name,e)+n)}})),t.join("\n")}e.emit=l;let u=0;function c(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function h(e,t,r,n){let i=null,a=[];return t.children.forEach(((s,l)=>{"Minus"==s.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(i,s);let h=t.children[l+1];h=h&&"PrimaryDecoration"==h.type&&h.text||"";let p="";i&&"PrimaryPreDecoration"==i.type&&(p=i.text);let d="~"==p?1:void 0;switch(d&&(p=""),s.type){case"SubItem":let t="%"+(r+u++);f(e,s,t,n),a.push(p+t+h);break;case"NCName":a.push(p+s.text+h);break;case"StringLiteral":if(h||p||!/^['"/()a-zA-Z0-9&_.:=,+*\-\^\\]+$/.test(s.text))a.push(p+s.text+h);else for(const e of s.text.slice(1,-1))n&&"true"==n.ignoreCase&&/[a-zA-Z]/.test(e)?a.push(new RegExp("["+e.toUpperCase()+e.toLowerCase()+"]")):a.push(new RegExp(o.escapeRegExp(e)));break;case"CharCode":case"CharClass":if(h||p){let t={name:"%"+(r+u++),bnf:[[c(s.text)]],pinned:d};e.push(t),a.push(p+t.name+h)}else a.push(c(s.text));break;case"PrimaryPreDecoration":case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+s.type+" -> "+JSON.stringify(s.text))}i=s})),a}function f(e,t,r,o){let i=t.children.filter((e=>"Attributes"==e.type))[0],a={};i&&i.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in a)throw new n.TokenError("Duplicated attribute "+t,e);a[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text}));let s=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>h(e,t,r,o||a))),l={name:r,bnf:s};if(0==r.indexOf("%")&&(l.fragment=!0),a.recoverUntil&&(l.recover=a.recoverUntil,l.bnf.length>1))throw new n.TokenError("only one-option productions are suitable for error recovering",t);if("pin"in a){let e=parseInt(a.pin);if(isNaN(e)||(l.pinned=e),l.bnf.length>1)throw new n.TokenError("only one-option productions are suitable for pinning",t)}l.implicitWs="ws"in a?"explicit"!=a.ws:null,l.fragment=l.fragment||"true"==a.fragment,l.simplifyWhenOneChildren="true"==a.simplifyWhenOneChildren,e.push(l)}function p(t,r=e.defaultParser){let o=r.getAST(t);if(!o)throw new Error("Could not parse "+t);if(o.errors&&o.errors.length)throw o.errors[0];let i=null,a=o.children.filter((e=>"Attributes"==e.type))[0],s={};a&&a.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in s)throw new n.TokenError("Duplicated attribute "+t,e);s[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text})),i="implicit"==s.ws;let l=[];return o.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;f(l,e,t)})),l.forEach((e=>{null===e.implicitWs&&(e.implicitWs=i)})),l}e.getRules=p,e.Transform=function(t,r=e.defaultParser){return p(t.join(""),r)};class d extends o.Parser{constructor(t,r){super(p(t,r&&!0===r.debugRulesParser?new o.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return l(this)}}e.Parser=d}(i||(i={})),t.default=i}])}));
2
+ !function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports.CheckPathPlugin=t():e.CheckPathPlugin=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=17)}([function(e,t,r){"use strict";function n(e,t,r){return e.context?e.callback(r,...t):e.callback(...t)}r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return a})),r.d(t,"c",(function(){return l}));class i{constructor(){this.interceptions=[],this.interceptionKeySet=new Set}isUsed(){return this.interceptions.length>0}intercept(e){this.interceptions.push(e),Object.keys(e).forEach((e=>{this.interceptionKeySet.add(e)}))}tap(e){this.interceptionKeySet.has("tap")&&this.interceptions.forEach((t=>{var r;null==(r=t.tap)||r.call(t,e)}))}call(e,...t){this.interceptionKeySet.has("call")&&this.interceptions.forEach((r=>{var n,i;r.context?null==(n=r.call)||n.call(r,e,...t):null==(i=r.call)||i.call(r,...t)}))}loop(...e){this.interceptionKeySet.has("loop")&&this.interceptions.forEach((t=>{var r;null==(r=t.loop)||r.call(t,...e)}))}error(e){if(this.interceptionKeySet.has("error")&&e instanceof Error){const t=e;this.interceptions.forEach((e=>{var r;null==(r=e.error)||r.call(e,t)}))}}result(e){this.interceptionKeySet.has("result")&&this.interceptions.forEach((t=>{var r;null==(r=t.result)||r.call(t,e)}))}done(){this.interceptionKeySet.has("done")&&this.interceptions.forEach((e=>{var t;null==(t=e.done)||t.call(e)}))}}class o{constructor(){this.taps=[],this.interceptions=new i}tap(e,t){const r="string"===typeof e?{name:e,context:!1}:{context:!1,...e},n={key:Symbol(r.name),...r,callback:t};if(n.before){let e=this.taps.length;const t=new Set(Array.isArray(n.before)?n.before:[n.before]);for(;e>0&&t.size>0;e--){const r=this.taps[e-1];if(t.has(r.name)&&t.delete(r.name),r.before&&(i=n.name,o=r.before,Array.isArray(o)?o.includes(i):o===i))break}this.taps.splice(e,0,n)}else this.taps.push(n);var i,o;return this.interceptions.tap(n),n}untap(e){this.taps=this.taps.filter((t=>t.key!==e.key))}isUsed(){return this.taps.length>0||this.interceptions.isUsed()}intercept(e){this.interceptions.intercept(e)}}class a extends o{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);try{this.taps.forEach((r=>{n(r,e,t)}))}catch(r){throw this.interceptions.error(r),r}this.interceptions.done()}}class s extends o{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);for(let r=0;r<this.taps.length;r+=1){const i=n(this.taps[r],e,t);if(void 0!==i)return this.interceptions.result(i),i}this.interceptions.done()}}class l extends o{call(...e){const t={};this.interceptions.call(t,...e);let[r,...i]=e;for(let o=0;o<this.taps.length;o+=1){const e=n(this.taps[o],[r,...i],t);void 0!==e&&(r=e)}return this.interceptions.result(r),r}}},function(e,t,r){(function(t){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,r,n){"use strict";function i(e){if(!(this instanceof i))return new i(e);this._=e}var o=i.prototype;function a(e,t){for(var r=0;r<e;r++)t(r)}function s(e,t,r){return function(e,t){a(t.length,(function(r){e(t[r],r,t)}))}((function(r,n,i){t=e(t,r,n,i)}),r),t}function l(e,t){return s((function(t,r,n,i){return t.concat([e(r,n,i)])}),[],t)}function u(e,r){var n={v:0,buf:r};return a(e,(function(){var e;n={v:n.v<<1|(e=n.buf,e[0]>>7),buf:function(e){var r=s((function(e,r,n,i){return e.concat(n===i.length-1?t.from([r,0]).readUInt16BE(0):i.readUInt16BE(n))}),[],e);return t.from(l((function(e){return(e<<1&65535)>>8}),r))}(n.buf)}})),n}function c(){return"undefined"!=typeof t}function h(){if(!c())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function f(e){h();var t=s((function(e,t){return e+t}),0,e);if(t%8!=0)throw new Error("The bits ["+e.join(", ")+"] add up to "+t+" which is not an even number of bytes; the total should be divisible by 8");var r,n=t/8,o=(r=function(e){return e>48},s((function(e,t){return e||(r(t)?t:e)}),null,e));if(o)throw new Error(o+" bit range requested exceeds 48 bit (6 byte) Number max.");return new i((function(t,r){var i=n+r;return i>t.length?A(r,n.toString()+" bytes"):S(i,s((function(e,t){var r=u(t,e.buf);return{coll:e.coll.concat(r.v),buf:r.buf}}),{coll:[],buf:t.slice(r,i)},e).coll)}))}function p(e,t){return new i((function(r,n){return h(),n+t>r.length?A(n,t+" bytes for "+e):S(n+t,r.slice(n,n+t))}))}function d(e,t){if("number"!=typeof(r=t)||Math.floor(r)!==r||t<0||t>6)throw new Error(e+" requires integer length in range [0, 6].");var r}function g(e){return d("uintBE",e),p("uintBE("+e+")",e).map((function(t){return t.readUIntBE(0,e)}))}function v(e){return d("uintLE",e),p("uintLE("+e+")",e).map((function(t){return t.readUIntLE(0,e)}))}function y(e){return d("intBE",e),p("intBE("+e+")",e).map((function(t){return t.readIntBE(0,e)}))}function m(e){return d("intLE",e),p("intLE("+e+")",e).map((function(t){return t.readIntLE(0,e)}))}function b(e){return e instanceof i}function w(e){return"[object Array]"==={}.toString.call(e)}function E(e){return c()&&t.isBuffer(e)}function S(e,t){return{status:!0,index:e,value:t,furthest:-1,expected:[]}}function A(e,t){return w(t)||(t=[t]),{status:!1,index:-1,value:null,furthest:e,expected:t}}function x(e,t){if(!t)return e;if(e.furthest>t.furthest)return e;var r=e.furthest===t.furthest?function(e,t){if(function(){if(void 0!==i._supportsSet)return i._supportsSet;var e="undefined"!=typeof Set;return i._supportsSet=e,e}()&&Array.from){for(var r=new Set(e),n=0;n<t.length;n++)r.add(t[n]);var o=Array.from(r);return o.sort(),o}for(var a={},s=0;s<e.length;s++)a[e[s]]=!0;for(var l=0;l<t.length;l++)a[t[l]]=!0;var u=[];for(var c in a)({}).hasOwnProperty.call(a,c)&&u.push(c);return u.sort(),u}(e.expected,t.expected):t.expected;return{status:e.status,index:e.index,value:e.value,furthest:t.furthest,expected:r}}var O={};function P(e,t){if(E(e))return{offset:t,line:-1,column:-1};e in O||(O[e]={});for(var r=O[e],n=0,i=0,o=0,a=t;a>=0;){if(a in r){n=r[a].line,0===o&&(o=r[a].lineStart);break}("\n"===e.charAt(a)||"\r"===e.charAt(a)&&"\n"!==e.charAt(a+1))&&(i++,0===o&&(o=a+1)),a--}var s=n+i,l=t-o;return r[t]={line:s,lineStart:o},{offset:t,line:s+1,column:l+1}}function R(e){if(!b(e))throw new Error("not a parser: "+e)}function k(e,t){return"string"==typeof e?e.charAt(t):e[t]}function _(e){if("number"!=typeof e)throw new Error("not a number: "+e)}function T(e){if("function"!=typeof e)throw new Error("not a function: "+e)}function C(e){if("string"!=typeof e)throw new Error("not a string: "+e)}var j=2,U=3,N=8,L=5*N,B=4*N,I=" ";function M(e,t){return new Array(t+1).join(e)}function D(e,t,r){var n=t-e.length;return n<=0?e:M(r,n)+e}function V(e,t,r,n){return{from:e-t>0?e-t:0,to:e+r>n?n:e+r}}function F(e,t){var r,n,i,o,a,u=t.index,c=u.offset,h=1;if(c===e.length)return"Got the end of the input";if(E(e)){var f=c-c%N,p=c-f,d=V(f,L,B+N,e.length),g=l((function(e){return l((function(e){return D(e.toString(16),2,"0")}),e)}),function(e,t){var r=e.length,n=[],i=0;if(r<=t)return[e.slice()];for(var o=0;o<r;o++)n[i]||n.push([]),n[i].push(e[o]),(o+1)%t==0&&i++;return n}(e.slice(d.from,d.to).toJSON().data,N));o=function(e){return 0===e.from&&1===e.to?{from:e.from,to:e.to}:{from:e.from/N,to:Math.floor(e.to/N)}}(d),n=f/N,r=3*p,p>=4&&(r+=1),h=2,i=l((function(e){return e.length<=4?e.join(" "):e.slice(0,4).join(" ")+" "+e.slice(4).join(" ")}),g),(a=(8*(o.to>0?o.to-1:o.to)).toString(16).length)<2&&(a=2)}else{var v=e.split(/\r\n|[\n\r\u2028\u2029]/);r=u.column-1,n=u.line-1,o=V(n,j,U,v.length),i=v.slice(o.from,o.to),a=o.to.toString().length}var y=n-o.from;return E(e)&&(a=(8*(o.to>0?o.to-1:o.to)).toString(16).length)<2&&(a=2),s((function(t,n,i){var s,l=i===y,u=l?"> ":I;return s=E(e)?D((8*(o.from+i)).toString(16),a,"0"):D((o.from+i+1).toString(),a," "),[].concat(t,[u+s+" | "+n],l?[I+M(" ",a)+" | "+D("",r," ")+M("^",h)]:[])}),[],i).join("\n")}function $(e,t){return["\n","-- PARSING FAILED "+M("-",50),"\n\n",F(e,t),"\n\n",(r=t.expected,1===r.length?"Expected:\n\n"+r[0]:"Expected one of the following: \n\n"+r.join(", ")),"\n"].join("");var r}function H(e){return void 0!==e.flags?e.flags:[e.global?"g":"",e.ignoreCase?"i":"",e.multiline?"m":"",e.unicode?"u":"",e.sticky?"y":""].join("")}function z(){for(var e=[].slice.call(arguments),t=e.length,r=0;r<t;r+=1)R(e[r]);return i((function(r,n){for(var i,o=new Array(t),a=0;a<t;a+=1){if(!(i=x(e[a]._(r,n),i)).status)return i;o[a]=i.value,n=i.index}return x(S(n,o),i)}))}function W(){var e=[].slice.call(arguments);if(0===e.length)throw new Error("seqMap needs at least one argument");var t=e.pop();return T(t),z.apply(null,e).map((function(e){return t.apply(null,e)}))}function Y(){var e=[].slice.call(arguments),t=e.length;if(0===t)return Q("zero alternates");for(var r=0;r<t;r+=1)R(e[r]);return i((function(t,r){for(var n,i=0;i<e.length;i+=1)if((n=x(e[i]._(t,r),n)).status)return n;return n}))}function q(e,t){return Z(e,t).or(J([]))}function Z(e,t){return R(e),R(t),W(e,t.then(e).many(),(function(e,t){return[e].concat(t)}))}function G(e){C(e);var t="'"+e+"'";return i((function(r,n){var i=n+e.length,o=r.slice(n,i);return o===e?S(i,o):A(n,t)}))}function K(e,t){!function(e){if(!(e instanceof RegExp))throw new Error("not a regexp: "+e);for(var t=H(e),r=0;r<t.length;r++){var n=t.charAt(r);if("i"!==n&&"m"!==n&&"u"!==n&&"s"!==n)throw new Error('unsupported regexp flag "'+n+'": '+e)}}(e),arguments.length>=2?_(t):t=0;var r=function(e){return RegExp("^(?:"+e.source+")",H(e))}(e),n=""+e;return i((function(e,i){var o=r.exec(e.slice(i));if(o){if(0<=t&&t<=o.length){var a=o[0],s=o[t];return S(i+a.length,s)}return A(i,"valid match group (0 to "+o.length+") in "+n)}return A(i,n)}))}function J(e){return i((function(t,r){return S(r,e)}))}function Q(e){return i((function(t,r){return A(r,e)}))}function X(e){if(b(e))return i((function(t,r){var n=e._(t,r);return n.index=r,n.value="",n}));if("string"==typeof e)return X(G(e));if(e instanceof RegExp)return X(K(e));throw new Error("not a string, regexp, or parser: "+e)}function ee(e){return R(e),i((function(t,r){var n=e._(t,r),i=t.slice(r,n.index);return n.status?A(r,'not "'+i+'"'):S(r,null)}))}function te(e){return T(e),i((function(t,r){var n=k(t,r);return r<t.length&&e(n)?S(r+1,n):A(r,"a character/byte matching "+e)}))}function re(e,t){arguments.length<2&&(t=e,e=void 0);var r=i((function(e,n){return r._=t()._,r._(e,n)}));return e?r.desc(e):r}function ne(){return Q("fantasy-land/empty")}o.parse=function(e){if("string"!=typeof e&&!E(e))throw new Error(".parse must be called with a string or Buffer as its argument");var t,r=this.skip(se)._(e,0);return t=r.status?{status:!0,value:r.value}:{status:!1,index:P(e,r.furthest),expected:r.expected},delete O[e],t},o.tryParse=function(e){var t=this.parse(e);if(t.status)return t.value;var r=$(e,t),n=new Error(r);throw n.type="ParsimmonError",n.result=t,n},o.assert=function(e,t){return this.chain((function(r){return e(r)?J(r):Q(t)}))},o.or=function(e){return Y(this,e)},o.trim=function(e){return this.wrap(e,e)},o.wrap=function(e,t){return W(e,this,t,(function(e,t){return t}))},o.thru=function(e){return e(this)},o.then=function(e){return R(e),z(this,e).map((function(e){return e[1]}))},o.many=function(){var e=this;return i((function(t,r){for(var n=[],i=void 0;;){if(!(i=x(e._(t,r),i)).status)return x(S(r,n),i);if(r===i.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r=i.index,n.push(i.value)}}))},o.tieWith=function(e){return C(e),this.map((function(t){if(function(e){if(!w(e))throw new Error("not an array: "+e)}(t),t.length){C(t[0]);for(var r=t[0],n=1;n<t.length;n++)C(t[n]),r+=e+t[n];return r}return""}))},o.tie=function(){return this.tieWith("")},o.times=function(e,t){var r=this;return arguments.length<2&&(t=e),_(e),_(t),i((function(n,i){for(var o=[],a=void 0,s=void 0,l=0;l<e;l+=1){if(s=x(a=r._(n,i),s),!a.status)return s;i=a.index,o.push(a.value)}for(;l<t&&(s=x(a=r._(n,i),s),a.status);l+=1)i=a.index,o.push(a.value);return x(S(i,o),s)}))},o.result=function(e){return this.map((function(){return e}))},o.atMost=function(e){return this.times(0,e)},o.atLeast=function(e){return W(this.times(e),this.many(),(function(e,t){return e.concat(t)}))},o.map=function(e){T(e);var t=this;return i((function(r,n){var i=t._(r,n);return i.status?x(S(i.index,e(i.value)),i):i}))},o.contramap=function(e){T(e);var t=this;return i((function(r,n){var i=t.parse(e(r.slice(n)));return i.status?S(n+r.length,i.value):i}))},o.promap=function(e,t){return T(e),T(t),this.contramap(e).map(t)},o.skip=function(e){return z(this,e).map((function(e){return e[0]}))},o.mark=function(){return W(ie,this,ie,(function(e,t,r){return{start:e,value:t,end:r}}))},o.node=function(e){return W(ie,this,ie,(function(t,r,n){return{name:e,value:r,start:t,end:n}}))},o.sepBy=function(e){return q(this,e)},o.sepBy1=function(e){return Z(this,e)},o.lookahead=function(e){return this.skip(X(e))},o.notFollowedBy=function(e){return this.skip(ee(e))},o.desc=function(e){w(e)||(e=[e]);var t=this;return i((function(r,n){var i=t._(r,n);return i.status||(i.expected=e),i}))},o.fallback=function(e){return this.or(J(e))},o.ap=function(e){return W(e,this,(function(e,t){return e(t)}))},o.chain=function(e){var t=this;return i((function(r,n){var i=t._(r,n);return i.status?x(e(i.value)._(r,i.index),i):i}))},o.concat=o.or,o.empty=ne,o.of=J,o["fantasy-land/ap"]=o.ap,o["fantasy-land/chain"]=o.chain,o["fantasy-land/concat"]=o.concat,o["fantasy-land/empty"]=o.empty,o["fantasy-land/of"]=o.of,o["fantasy-land/map"]=o.map;var ie=i((function(e,t){return S(t,P(e,t))})),oe=i((function(e,t){return t>=e.length?A(t,"any character/byte"):S(t+1,k(e,t))})),ae=i((function(e,t){return S(e.length,e.slice(t))})),se=i((function(e,t){return t<e.length?A(t,"EOF"):S(t,null)})),le=K(/[0-9]/).desc("a digit"),ue=K(/[0-9]*/).desc("optional digits"),ce=K(/[a-z]/i).desc("a letter"),he=K(/[a-z]*/i).desc("optional letters"),fe=K(/\s*/).desc("optional whitespace"),pe=K(/\s+/).desc("whitespace"),de=G("\r"),ge=G("\n"),ve=G("\r\n"),ye=Y(ve,ge,de).desc("newline"),me=Y(ye,se);i.all=ae,i.alt=Y,i.any=oe,i.cr=de,i.createLanguage=function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&function(r){t[r]=re((function(){return e[r](t)}))}(r);return t},i.crlf=ve,i.custom=function(e){return i(e(S,A))},i.digit=le,i.digits=ue,i.empty=ne,i.end=me,i.eof=se,i.fail=Q,i.formatError=$,i.index=ie,i.isParser=b,i.lazy=re,i.letter=ce,i.letters=he,i.lf=ge,i.lookahead=X,i.makeFailure=A,i.makeSuccess=S,i.newline=ye,i.noneOf=function(e){return te((function(t){return e.indexOf(t)<0})).desc("none of '"+e+"'")},i.notFollowedBy=ee,i.of=J,i.oneOf=function(e){for(var t=e.split(""),r=0;r<t.length;r++)t[r]="'"+t[r]+"'";return te((function(t){return e.indexOf(t)>=0})).desc(t)},i.optWhitespace=fe,i.Parser=i,i.range=function(e,t){return te((function(r){return e<=r&&r<=t})).desc(e+"-"+t)},i.regex=K,i.regexp=K,i.sepBy=q,i.sepBy1=Z,i.seq=z,i.seqMap=W,i.seqObj=function(){for(var e,t={},r=0,n=(e=arguments,Array.prototype.slice.call(e)),o=n.length,a=0;a<o;a+=1){var s=n[a];if(!b(s)){if(w(s)&&2===s.length&&"string"==typeof s[0]&&b(s[1])){var l=s[0];if(Object.prototype.hasOwnProperty.call(t,l))throw new Error("seqObj: duplicate key "+l);t[l]=!0,r++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(0===r)throw new Error("seqObj expects at least one named parser, found zero");return i((function(e,t){for(var r,i={},a=0;a<o;a+=1){var s,l;if(w(n[a])?(s=n[a][0],l=n[a][1]):(s=null,l=n[a]),!(r=x(l._(e,t),r)).status)return r;s&&(i[s]=r.value),t=r.index}return x(S(t,i),r)}))},i.string=G,i.succeed=J,i.takeWhile=function(e){return T(e),i((function(t,r){for(var n=r;n<t.length&&e(k(t,n));)n++;return S(n,t.slice(r,n))}))},i.test=te,i.whitespace=pe,i["fantasy-land/empty"]=ne,i["fantasy-land/of"]=J,i.Binary={bitSeq:f,bitSeqObj:function(e){h();var t={},r=0,n=l((function(e){if(w(e)){var n=e;if(2!==n.length)throw new Error("["+n.join(", ")+"] should be length 2, got length "+n.length);if(C(n[0]),_(n[1]),Object.prototype.hasOwnProperty.call(t,n[0]))throw new Error("duplicate key in bitSeqObj: "+n[0]);return t[n[0]]=!0,r++,n}return _(e),[null,e]}),e);if(r<1)throw new Error("bitSeqObj expects at least one named pair, got ["+e.join(", ")+"]");var i=l((function(e){return e[0]}),n);return f(l((function(e){return e[1]}),n)).map((function(e){return s((function(e,t){return null!==t[0]&&(e[t[0]]=t[1]),e}),{},l((function(t,r){return[t,e[r]]}),i))}))},byte:function(e){if(h(),_(e),e>255)throw new Error("Value specified to byte constructor ("+e+"=0x"+e.toString(16)+") is larger in value than a single byte.");var t=(e>15?"0x":"0x0")+e.toString(16);return i((function(r,n){var i=k(r,n);return i===e?S(n+1,i):A(n,t)}))},buffer:function(e){return p("buffer",e).map((function(e){return t.from(e)}))},encodedString:function(e,t){return p("string",t).map((function(t){return t.toString(e)}))},uintBE:g,uint8BE:g(1),uint16BE:g(2),uint32BE:g(4),uintLE:v,uint8LE:v(1),uint16LE:v(2),uint32LE:v(4),intBE:y,int8BE:y(1),int16BE:y(2),int32BE:y(4),intLE:m,int8LE:m(1),int16LE:m(2),int32LE:m(4),floatBE:p("floatBE",4).map((function(e){return e.readFloatBE(0)})),floatLE:p("floatLE",4).map((function(e){return e.readFloatLE(0)})),doubleBE:p("doubleBE",8).map((function(e){return e.readDoubleBE(0)})),doubleLE:p("doubleLE",8).map((function(e){return e.readDoubleLE(0)}))},e.exports=i}])}).call(this,r(18).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clone=s,t.addLast=u,t.addFirst=c,t.removeLast=h,t.removeFirst=f,t.insert=p,t.removeAt=d,t.replaceAt=g,t.getIn=v,t.set=y,t.setIn=m,t.update=w,t.updateIn=E,t.merge=S,t.mergeDeep=A,t.mergeIn=x,t.omit=O,t.addDefaults=P,t.default=void 0;const n="INVALID_ARGS";function i(e){throw new Error(e)}function o(e){const t=Object.keys(e);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t}const a={}.hasOwnProperty;function s(e){if(Array.isArray(e))return e.slice();const t=e,r=o(t),n={};for(let i=0;i<r.length;i++){const e=r[i];n[e]=t[e]}return n}function l(e){return null!=e&&"object"===typeof e}function u(e,t){return Array.isArray(t)?e.concat(t):e.concat([t])}function c(e,t){return Array.isArray(t)?t.concat(e):[t].concat(e)}function h(e){return e.length?e.slice(0,e.length-1):e}function f(e){return e.length?e.slice(1):e}function p(e,t,r){return e.slice(0,t).concat(Array.isArray(r)?r:[r]).concat(e.slice(t))}function d(e,t){return t>=e.length||t<0?e:e.slice(0,t).concat(e.slice(t+1))}function g(e,t,r){if(e[t]===r)return e;const n=e.length,i=Array(n);for(let o=0;o<n;o++)i[o]=e[o];return i[t]=r,i}function v(e,t){if(Array.isArray(t)||i(n),null==e)return;let r=e;for(let n=0;n<t.length;n++){const e=t[n];if(r=null!=r?r[e]:void 0,void 0===r)return r}return r}function y(e,t,r){let n=e;if(null==n&&(n="number"===typeof t?[]:{}),n[t]===r)return n;const i=s(n);return i[t]=r,i}function m(e,t,r){return t.length?b(e,t,r,0):r}function b(e,t,r,n){let i;const o=t[n];if(n===t.length-1)i=r;else{i=b(l(e)&&l(e[o])?e[o]:"number"===typeof t[n+1]?[]:{},t,r,n+1)}return y(e,o,i)}function w(e,t,r){return y(e,t,r(null==e?void 0:e[t]))}function E(e,t,r){return m(e,t,r(v(e,t)))}function S(e,t,r,n,i,o,...a){return a.length?R.call(null,!1,!1,e,t,r,n,i,o,...a):R(!1,!1,e,t,r,n,i,o)}function A(e,t,r,n,i,o,...a){return a.length?R.call(null,!1,!0,e,t,r,n,i,o,...a):R(!1,!0,e,t,r,n,i,o)}function x(e,t,r,n,i,o,a,...s){let l,u=v(e,t);return null==u&&(u={}),l=s.length?R.call(null,!1,!1,u,r,n,i,o,a,...s):R(!1,!1,u,r,n,i,o,a),m(e,t,l)}function O(e,t){const r=Array.isArray(t)?t:[t];let n=!1;for(let o=0;o<r.length;o++)if(a.call(e,r[o])){n=!0;break}if(!n)return e;const i={},s=o(e);for(let o=0;o<s.length;o++){const t=s[o];r.indexOf(t)>=0||(i[t]=e[t])}return i}function P(e,t,r,n,i,o,...a){return a.length?R.call(null,!0,!1,e,t,r,n,i,o,...a):R(!0,!1,e,t,r,n,i,o)}function R(e,t,r,...a){let u=r;null==u&&i(n);let c=!1;for(let n=0;n<a.length;n++){const r=a[n];if(null==r)continue;const i=o(r);if(i.length)for(let n=0;n<=i.length;n++){const o=i[n];if(e&&void 0!==u[o])continue;let a=r[o];t&&l(u[o])&&l(a)&&(a=R(e,t,u[o],a)),void 0!==a&&a!==u[o]&&(c||(c=!0,u=s(u)),u[o]=a)}}return u}var k={clone:s,addLast:u,addFirst:c,removeLast:h,removeFirst:f,insert:p,removeAt:d,replaceAt:g,getIn:v,set:y,setIn:m,update:w,updateIn:E,merge:S,mergeDeep:A,mergeIn:x,omit:O,addDefaults:P};t.default=k},function(e,t,r){"use strict";r.d(t,"NodeType",(function(){return yt}));var n=r(0),i=r(5),o=r(10),a=r.n(o),s=r(1),l=r.n(s),u=r(14),c=r(4),h=r.n(c),f=r(2),p=r(8),d=r(11),g=r.n(d),v=r(15),y=r.n(v),m=r(6);const b=e=>({name:"Value",value:e}),w=e=>({name:"Expression",value:e}),E=e=>({name:"PathNode",path:e}),S=(e,t)=>({name:"Query",key:e,value:t}),A=e=>1===e.length?e[0]:{name:"Concatenated",value:e},x=l.a.string('"'),O=l.a.string("'"),P=l.a.string("`"),R=l.a.regex(/[\w\-@]+/).desc("identifier").map(b);let k;const _=l.a.lazy((()=>k)).trim(l.a.optWhitespace).wrap(l.a.string("{{"),l.a.string("}}")).map(E),T=l.a.regex(/[^`]*/).wrap(P,P).map(w),C=l.a.alt(R,_,T).atLeast(1).map(a.a).map(A),j=l.a.alt(l.a.regex(/[^"]*/).wrap(x,x).map(b),l.a.regex(/[^']*/).wrap(O,O).map(b),C),U=l.a.seq(j,l.a.string("=").times(1,3).trim(l.a.optWhitespace),j).map((([e,,t])=>S(e,t))),N=l.a.alt(U,j).trim(l.a.optWhitespace).wrap(l.a.string("["),l.a.string("]")).many(),L=l.a.seqMap(C,N,((e,t)=>[e,...t]));k=l.a.sepBy(L,l.a.string(".")).map(a.a),new u.Grammars.W3C.Parser('\nvalue ::= segment_and_bracket (SEGMENT_SEPARATOR segment_and_bracket)*\nsegment ::= concatenated | expression | modelRef | identifier \nconcatenated ::= (expression | modelRef | identifier)+ \nmodelRef ::= OPEN_CURL OPEN_CURL value CLOSE_CURL CLOSE_CURL \nidentifier ::= [\\w\\-@]+\nquery ::= WHITESPACE* optionally_quoted_segment WHITESPACE* EQUALS EQUALS? EQUALS? WHITESPACE* optionally_quoted_segment WHITESPACE*\nbrackets ::= OPEN_BRACKET WHITESPACE* (query | optionally_quoted_segment) WHITESPACE* CLOSE_BRACKET \nsegment_and_bracket ::= segment brackets*\nquoted_value ::= [^"\']*\noptionally_quoted_segment ::= WHITESPACE* SINGLE_QUOTE quoted_value SINGLE_QUOTE WHITESPACE* | WHITESPACE* DOUBLE_QUOTE quoted_value DOUBLE_QUOTE WHITESPACE* | WHITESPACE* segment WHITESPACE*\nexpression_value ::= [^`]*\nexpression ::= BACK_TICK expression_value BACK_TICK\n\nEQUALS ::= "="\nSEGMENT_SEPARATOR ::= "."\nSINGLE_QUOTE ::= "\'"\nDOUBLE_QUOTE ::= \'"\'\nWHITESPACE ::= " "\nOPEN_CURL ::= "{"\nCLOSE_CURL ::= "}" \nOPEN_BRACKET ::= "[" \nCLOSE_BRACKET ::= "]"\nBACK_TICK ::= "`" \n');const B="{",I="'",M="`",D=e=>{if(!e)return!1;const t=e.charCodeAt(0);return!(32===t||34===t||39===t||40===t||41===t||42===t||46===t||61===t||91===t||93===t||96===t||123===t||125===t)},V=e=>{let t=1,r=e.charAt(0);const n=n=>{if(n&&r!==n)throw new Error(`Expected char: ${n} but got: ${r}`);return r=e.charAt(t),t+=1,r},i=()=>{for(;" "===r;)n()},o=()=>{var e,t;return null!=(t=null!=(e=(()=>{if(r===B&&(n(B),r===B)){n(B);const e=u();return n("}"),n("}"),e}})())?e:(()=>{if(r===M){n(M);let e=r;for(;n()&&r!==M;)e+=r;if(n(M),e)return w(e)}})())?t:(()=>{if(!D(r))return;let e=r;for(;n()&&D(r);)e+=r;return e?b(e):void 0})()},a=()=>{if(i(),r===I||'"'===r){const e=r===I;n(e?I:'"');const t=(e=>{if(!(null==r?void 0:r.match(e)))return;let t=r;for(;n()&&(null==r?void 0:r.match(e));)t+=r;return t?b(t):void 0})(/[^'"]+/);return n(e?I:'"'),t}return o()},s=()=>{if("["===r){n("["),i();let e=a();if(!e)throw new Error("Expected identifier");if(i(),(()=>{if("="!==r)return!1;for(;"="===r;)n();return!0})()){i();const t=a();e=S(e,t),i()}return e&&n("]"),e}},l=()=>{const e=[],t=(()=>{const e=[];let t=o();for(;void 0!==t;)e.push(t),t=o();if(0!==e.length)return A(e)})();if(t){e.push(t);let r=s();for(;void 0!==r;)e.push(r),r=s()}return e},u=()=>{const e=[];let t=l();for(;void 0!==t&&(e.push(...t),r&&"}"!==r);){if(0===t.length&&r)throw new Error(`Unexpected character: ${r}`);n("."),t=l()}return E(e)};try{return{status:!0,path:u()}}catch(c){return{status:!1,error:c.message}}};function F(e){return!("string"===typeof e||Array.isArray(e))}class ${constructor(e,t=(e=>new $(e))){const r=Array.isArray(e)?e:e.split(".");this.split=r.map((e=>{if("number"===typeof e)return e;const t=Number(e);return isNaN(t)?e:t})),Object.freeze(this.split),this.joined=this.split.join("."),this.factory=t}asArray(){return this.split}asString(){return this.joined}contains(e){const t=e.asArray();if(t.length<this.split.length)return!1;for(let r=0;r<this.split.length;r++)if(this.split[r]!==t[r])return!1;return!0}relative(e){return this.asArray().slice(e.asArray().length)}parent(){return this.factory(this.split.slice(0,-1))}key(){return this.split[this.split.length-1]}descendent(e){const t=(r=e,Array.isArray(r)?r:"string"===typeof r?r.split("."):r.asArray());var r;return this.factory(this.split.concat(t))}}var H=Object.defineProperty,z=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Z=(e,t)=>{for(var r in t||(t={}))W.call(t,r)&&q(e,r,t[r]);if(z)for(var r of z(t))Y.call(t,r)&&q(e,r,t[r]);return e};function G(e,t,r){var n;const o={updates:{},path:[]};function a(e){if("Value"===e.name)return e.value;if("PathNode"===e.name){const n=G(e,t);n.updates&&(o.updates=Z(Z({},o.updates),n.updates));try{return t.convertToPath(t.getValue(n.path))}catch(r){throw new i.NestedError(`Unable to resolve path segment: ${n.path}`,r)}}if("Expression"===e.name)try{const r=t.evaluate(e.value);return t.convertToPath(r)}catch(r){throw new i.NestedError(`Unable to resolve path: ${e.value}`,r)}throw new Error(`Unable to resolve value for node: ${e.name}`)}function s(e){"string"===typeof e&&e.indexOf(".")>-1?e.split(".").forEach((e=>{o.path.push(function(e){const t=parseInt(e,10);return isNaN(t)?e:t}(e))})):o.path.push(e)}return e.path.forEach((function(e){var n,i;const l=null!=(n=null==r?void 0:r.beforeResolveNode.call(e,Z(Z({},o),t)))?n:e;switch(l.name){case"Expression":case"PathNode":s(a(l));break;case"Value":s(l.value);break;case"Query":{const e=null!=(i=t.getValue(o.path))?i:[],{key:r,value:n}=l,s=a(r),u=n&&a(n),c=function(e,t,r){return e.findIndex((e=>!(!e||"object"!==typeof e)&&e[t]==r))}(e,s,u);void 0===c||-1===c?(o.updates[[...o.path,e.length,s].join(".")]=u,o.path.push(e.length)):o.path.push(c);break}case"Concatenated":o.path.push(l.value.map(a).join(""));break;default:throw new Error(`Unsupported node type: ${l.name}`)}})),{path:o.path,updates:Object.keys(null!=(n=o.updates)?n:{}).length>0?o.updates:void 0}}var K=Object.defineProperty,J=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,ee=(e,t,r)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,te=(e,t)=>{for(var r in t||(t={}))Q.call(t,r)&&ee(e,r,t[r]);if(J)for(var r of J(t))X.call(t,r)&&ee(e,r,t[r]);return e};const re=/[\s()*=`{}'"[\]]/,ne=/^[^.]+(\..+)*$/,ie={get:()=>{throw new Error("Not Implemented")},set:()=>{throw new Error("Not Implemented")},evaluate:()=>{throw new Error("Not Implemented")}};class oe{constructor(e){this.hooks={skipOptimization:new n.a,beforeResolveNode:new n.c},this.parserOptions=te(te({},ie),e),this.cache={},this.parseCache={},this.parse=this.parse.bind(this)}normalizePath(e,t){var r,n;if(!re.test(e)&&ne.test(e)&&!0!==this.hooks.skipOptimization.call(e))return{path:e.split("."),updates:void 0};const o=null!=(r=this.parseCache[e])?r:V(e);if(this.parseCache[e]=o,"object"!==typeof o||!(null==o?void 0:o.status))throw new TypeError(`Cannot normalize path "${e}": ${null!=(n=null==o?void 0:o.error)?n:"Unknown Error."}`);try{return G(o.path,t,this.hooks)}catch(a){throw new i.NestedError(`Cannot resolve binding: ${e}`,a)}}getBindingForNormalizedResult(e){const t=e.path.join(".");if(this.cache[t])return this.cache[t];const r=new $(""===t?[]:e.path,this.parse);return this.cache[t]=r,r}parse(e,t={}){if(F(e))return e;const r=te(te({},this.parserOptions),t);let n={};const i=Array.isArray(e)?e.join("."):String(e),o={getValue:e=>{const t=this.normalizePath(e.join("."),o);return r.get(this.getBindingForNormalizedResult(t))},evaluate:e=>r.evaluate(e),convertToPath:e=>{if(void 0===e)throw new Error("Attempted to convert undefined value to binding path");if("string"!==typeof e&&"number"!==typeof e&&"boolean"!==typeof e)throw new Error(`Attempting to convert ${typeof e} to a binding path.`);const t=this.normalizePath(String(e),o);t.updates&&(n=te(te({},n),t.updates));const r=t.path.join(".");if(""===r)throw new Error("Nested path resolved to an empty path");return r}},a=this.normalizePath(i,o);a.updates&&(n=te(te({},n),a.updates));const s=Object.keys(n);if(!r.readOnly&&s.length>0){const e=s.map((e=>[this.parse(e),n[e]]));r.set(e)}return this.getBindingForNormalizedResult(a)}}class ae{constructor(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core"),this.createSubset("children")}createSubset(e,t=!1){!t&&this.namedDependencySets[e]||(this.namedDependencySets[e]={readDeps:new Set,writeDeps:new Set})}getDependencies(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.readDeps)?n:new Set:this.readDeps}trackSubset(e){this.createSubset(e),this.namedSet=e}trackDefault(){this.namedSet="core"}getModified(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.writeDeps)?n:new Set:this.writeDeps}readsBinding(e){return this.readDeps.has(e)}writesBinding(e){return this.writeDeps.has(e)}reset(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core",!0),this.createSubset("children",!0)}addReadDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.readDeps.add(e)),this.readDeps.add(e)}addWriteDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.writeDeps.add(e)),this.writeDeps.add(e)}addChildReadDep(e){this.addReadDep(e,"children")}}class se extends ae{constructor(e){super(),this.rootModel=e,this.set=this.set.bind(this),this.get=this.get.bind(this)}set(e,t){return e.forEach((([e])=>this.addWriteDep(e))),this.rootModel.set(e,t)}get(e,t){return this.addReadDep(e),this.rootModel.get(e,t)}delete(e,t){return this.addWriteDep(e),this.rootModel.delete(e,t)}}const le=new class{get(){}set(){return[]}delete(){}},ue=new $([]);function ce(e,t,r){return r?{get:(n,i)=>{const o=null!=i?i:t;return e.get?e.get(n,o,r):null==r?void 0:r.get(n,o)},set:(n,i)=>{const o=null!=i?i:t;return e.set?e.set(n,o,r):null==r?void 0:r.set(n,o)},delete:(n,i)=>{const o=null!=i?i:t;return e.delete?e.delete(n,o,r):null==r?void 0:r.delete(n,o)}}:e}function he(e){if(0===e.length)return le;if(1===e.length)return ce(e[0]);function t(t){var r;return null!=(r=e.reduce(((e,r)=>ce(r,t,e)),void 0))?r:le}return{get:(e,r)=>{var n;return null==(n=t(r))?void 0:n.get(e,r)},set:(e,r)=>{var n;return null==(n=t(r))?void 0:n.set(e,r)},delete:(e,r)=>{var n;return null==(n=t(r))?void 0:n.delete(e,r)}}}class fe{constructor(e=[]){this.hooks={onSet:new n.b},this.pipeline=e,this.effectiveDataModel=he(this.pipeline)}setMiddleware(e){this.pipeline=e,this.effectiveDataModel=he(e)}addMiddleware(e){this.pipeline=[...this.pipeline,e],this.effectiveDataModel=he(this.pipeline)}reset(e={}){this.pipeline.forEach((e=>{var t;"reset"in e&&(null==(t=e.reset)||t.call(e))})),this.set([[ue,e]])}set(e,t){const r=this.effectiveDataModel.set(e,t);return this.hooks.onSet.call(e),r}get(e,t){return this.effectiveDataModel.get(e,t)}delete(e,t){return this.effectiveDataModel.delete(e,t)}}class pe{constructor(e={}){this.model=e,this.get=this.get.bind(this),this.set=this.set.bind(this)}reset(e={}){this.model=e}get(e){return e&&e.asString()?h()(this.model,e.asArray()):this.model}set(e){const t=[];return e.forEach((([e,r])=>{const n=this.get(e);this.model=Object(f.setIn)(this.model,e.asArray(),r),t.push({binding:e,oldValue:n,newValue:r})})),t}delete(e){const t=e.parent();if(t){const r=this.get(t);void 0!==r&&(Array.isArray(r)?this.model=Object(f.setIn)(this.model,t.asArray(),Object(f.removeAt)(r,e.key())):this.model=Object(f.setIn)(this.model,t.asArray(),Object(f.omit)(r,e.key())))}}}const de=Symbol("Expression Node ID");function ge(e){return"object"===typeof e&&null!==e&&!Array.isArray(e)&&e.__id===de}const ve=46,ye=40,me=123,be=125,we=!0,Ee={"-":we,"!":we,"~":we,"+":we},Se={"=":3,"+=":3,"-=":3,"&=":3,"|=":3,"||":5,"&&":6,"|":7,"^":8,"&":9,"==":10,"!=":10,"===":10,"!==":10,"<":11,">":11,"<=":11,">=":11,"<<":12,">>":12,">>>":12,"+":13,"-":13,"*":14,"/":14,"%":14};function Ae(e,t){const r=new Error(`${e} at character ${t}`);throw r.index=t,r.description=e,r}function xe(e,t){if(e&&t)return{start:e.start,end:t.end}}function Oe(e){let t=0;return Object.keys(e).forEach((r=>{r.length>t&&Object.prototype.hasOwnProperty.call(e,r)&&(t=r.length)})),t}const Pe=Oe(Ee),Re=Oe(Se),ke={true:!0,false:!1,null:null,undefined:void 0};function _e(e){return Se[e]||0}function Te(e,t,r,n){let i;return i="||"===e||"&&"===e?"LogicalExpression":"="===e?"Assignment":"+="===e||"-="===e||"&="===e||"|="===e?"Modification":"BinaryExpression",{__id:de,type:i,operator:e,left:t,right:r,location:n}}function Ce(e){return e>=48&&e<=57}function je(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122}function Ue(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57}function Ne(e,t){var r;const n=null==(r=null==t?void 0:t.strict)||r,i=e.charAt,o=e.charCodeAt,{length:a}=e;let s=0;const l=e=>({start:{character:e},end:{character:s}});function u(t){return i.call(e,t)}function c(t){return o.call(e,t)}function h(){let e=c(s);for(;32===e||9===e;)e=c(++s)}function f(){const e=function(){let e,t,r,n=d(),i=p();if(!i)return n;let o={value:i,prec:_e(i)},a=d();a||Ae(`Expected expression after ${i}`,s);const l=[n,o,a];i=p();for(;i&&(t=_e(i),0!==t);){for(o={value:i,prec:t};l.length>2&&t<=l[l.length-2].prec;)a=l.pop(),i=l.pop().value,n=l.pop(),e=Te(i,n,a,xe(n.location,a.location)),l.push(e);e=d(),e||Ae(`Expected expression after ${i}`,s),l.push(o,e),i=p()}r=l.length-1,e=l[r];for(;r>1;)e=Te(l[r-1].value,l[r-2],e,xe(l[r-2].location,e.location)),r-=2;return e}();h();const t=s;if(s<a&&63===c(s)){s++;const r=f();if(r||Ae("Expected expression",s),h(),58===c(s)){s++;const n=f();return n||Ae("Expected expression",s),{__id:de,type:"ConditionalExpression",test:e,consequent:r,alternate:n,location:l(t)}}Ae("Expected :",s)}return e}function p(){h();let t=e.substr(s,Re),r=t.length;for(;r>0;){if(Object.prototype.hasOwnProperty.call(Se,t))return s+=r,t;t=t.substr(0,--r)}return!1}function d(){h();const t=c(s),r=s;if(Ce(t)||46===t)return function(){let e="";const t=s;for(;Ce(c(s));)e+=u(s++);if(c(s)===ve)for(e+=u(s++);Ce(c(s));)e+=u(s++);let r=u(s);if("e"===r||"E"===r){for(e+=u(s++),r=u(s),"+"!==r&&"-"!==r||(e+=u(s++));Ce(c(s));)e+=u(s++);Ce(c(s-1))||Ae(`Expected exponent (${e}${u(s)})`,s)}const n=c(s);je(n)?Ae(`Variable names cannot start with a number (${e}${u(s)})`,s):n===ve&&Ae("Unexpected period",s);return{__id:de,type:"Literal",value:parseFloat(e),raw:e,location:l(t)}}();if(39===t||34===t)return g();if(je(t)||40===t)return function(){let e=c(s),t=e===ye?function(){s++;const e=f();if(h(),41===c(s))return s++,e;Ae("Unclosed (",s)}():v();const r=s;h(),e=c(s);for(;e===ve||91===e||e===ye;)s++,e===ve?(h(),t={__id:de,type:"MemberExpression",computed:!1,object:t,property:v(),location:l(r)}):91===e?(t={__id:de,type:"MemberExpression",computed:!0,object:t,property:f(),location:l(r)},h(),e=c(s),93!==e&&Ae("Unclosed [",s),s++):e===ye&&(t={__id:de,type:"CallExpression",args:y(41),callTarget:t,location:l(r)}),h(),e=c(s);return t}();if(91===t)return function(){const e=s;return s++,{__id:de,type:"ArrayExpression",elements:y(93),location:l(e)}}();if(n=t,i=c(s+1),n===me&&i===me)return function(){let e="",t=!1,r=1;const n=s;s+=2;for(;s<a;){const n=u(s++);if("}"===n&&c(s)===be){if(s++,r--,0===r){t=!0;break}e+="}}"}else"{"===n&&c(s)===me?(r++,e+="{{",s++):e+=n}t||Ae(`Unclosed brace after "${e}"`,s);return{__id:de,type:"ModelRef",ref:e,location:l(n)}}();var n,i;if(t===me)return function(){const e=[];let t,r,n,i=!1,o=!0;const u=s;for(++s;s<a;){if(h(),n=c(s),125===n){t&&Ae("A key was defined but a value was not",s),s++,i=!0;break}o?(39!==n&&34!==n&&Ae("An object must start wtih a key",s),t=g(),h(),58===c(s)?(s++,o=!1):Ae("A colon must follow an object key",s)):(r=f(),e.push({key:t,value:r}),h(),n=c(s),44===n?s++:125!==n&&Ae("Please add a comma to add another key",s),o=!0,t=void 0,r=void 0),n=c(s)}return i||Ae("Unclosed brace in object",s),{__id:de,type:"Object",attributes:e,location:l(u)}}();let o=e.substr(s,Pe),p=o.length;for(;p>0;){if(Object.prototype.hasOwnProperty.call(Ee,o))return s+=p,{__id:de,type:"UnaryExpression",operator:o,argument:d(),prefix:!0,location:l(r)};o=o.substr(0,--p)}return!1}function g(){const e=u(s++);let t="",r=!1;const n=s;for(;s<a;){let n=u(s++);if(n===e){r=!0;break}if("\\"===n)switch(n=u(s++),n){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v"}else t+=n}return r||Ae(`Unclosed quote after "${t}"`,s),{__id:de,type:"Literal",value:t,raw:`${e}${t}${e}`,location:l(n)}}function v(){const t=s;let r=c(t);for(je(r)?s++:Ae(`Unexpected ${u(s)}`,s);s<a&&(r=c(s),Ue(r));)s++;const n=e.slice(t,s);return Object.prototype.hasOwnProperty.call(ke,n)?{__id:de,type:"Literal",value:ke[n],raw:n,location:l(t)}:"this"===n?{__id:de,type:"ThisExpression",location:l(t)}:{__id:de,type:"Identifier",name:n,location:l(t)}}function y(e){const t=[];let r,n;for(;s<a;){if(h(),r=c(s),r===e){s++;break}44!==r?(n=f(),n&&"Compound"!==n.type||Ae("Expected comma",s),t.push(n)):s++}return r!==e&&Ae(`Expected ${String.fromCharCode(e)}`,s),t}const m=[];try{for(;s<a;){const e=c(s);if(59===e||44===e){s++;continue}const t=f();t?m.push(t):s<a&&Ae(`Unexpected "${u(s)}"`,s)}return 1===m.length?m[0]:{__id:de,type:"Compound",body:m,location:l(0)}}catch(b){if(n||!(b instanceof Error))throw b;return{__id:de,type:"Compound",body:m,location:l(0),error:b}}}const Le=(e,t,r,n)=>e.evaluate(t)?e.evaluate(r):n?e.evaluate(n):null;Le.resolveParams=!1;var Be=Object.freeze({__proto__:null,setDataVal:(e,t,r)=>{e.model.set([[t,r]])},getDataVal:(e,t)=>e.model.get(t),deleteDataVal:(e,t)=>e.model.delete(t),conditional:Le});function Ie(e){return!ge(e)&&("object"===typeof e&&null!==e&&!Array.isArray(e)&&"value"in e)}var Me=Object.defineProperty,De=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,$e=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable,ze=(e,t,r)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,We=(e,t)=>{for(var r in t||(t={}))$e.call(t,r)&&ze(e,r,t[r]);if(Fe)for(var r of Fe(t))He.call(t,r)&&ze(e,r,t[r]);return e},Ye=(e,t)=>De(e,Ve(t));const qe=(e,t,r)=>e.evaluate(t)&&e.evaluate(r);qe.resolveParams=!1;const Ze=(e,t,r)=>e.evaluate(t)||e.evaluate(r);Ze.resolveParams=!1;const Ge={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"&&":qe,"||":Ze,"!==":(e,t)=>e!==t,"===":(e,t)=>e===t,"|":(e,t)=>e|t,"&":(e,t)=>e&t,"+=":(e,t)=>e+t,"-=":(e,t)=>e-t,"&=":(e,t)=>e&t,"|=":(e,t)=>e|t},Ke={"-":e=>-e,"+":e=>Number(e),"!":e=>!e};class Je{constructor(e){this.vars={},this.hooks={resolve:new n.c,resolveOptions:new n.c,beforeEvaluate:new n.c,onError:new n.a},this.expressionsCache=new Map,this.operators={binary:new Map(Object.entries(Ge)),unary:new Map(Object.entries(Ke)),expressions:new Map(Object.entries(Be))},this.defaultHookOptions=Ye(We({},e),{evaluate:e=>this.evaluate(e,this.defaultHookOptions),resolveNode:e=>this._execAST(e,this.defaultHookOptions)}),this.hooks.resolve.tap("ExpressionEvaluator",this._resolveNode.bind(this)),this.evaluate=this.evaluate.bind(this)}reset(){this.expressionsCache.clear()}evaluate(e,t){var r;const n=this.hooks.resolveOptions.call(Ye(We(We({},this.defaultHookOptions),t),{resolveNode:e=>this._execAST(e,n)}));let i=null!=(r=this.hooks.beforeEvaluate.call(e,n))?r:e;for(;Ie(i);)i=i.value;return"number"===typeof i||"boolean"===typeof i||void 0===i||null===i?i:ge(i)?this._execAST(i,n):Array.isArray(i)?i.reduce(((e,r)=>this.evaluate(r,t)),null):this._execString(String(i),n)}addExpressionFunction(e,t){this.operators.expressions.set(e,t)}addBinaryOperator(e,t){this.operators.binary.set(e,t)}addUnaryOperator(e,t){this.operators.unary.set(e,t)}setExpressionVariable(e,t){this.vars[e]=t}getExpressionVariable(e){return this.vars[e]}_execAST(e,t){return this.hooks.resolve.call(void 0,e,t)}_execString(e,t){var r;if(""===e)return e;const n=e.match(/^@\[(.*)\]@$/);let o,a=e;n&&([,a]=Array.from(n));try{o=null!=(r=this.expressionsCache.get(a))?r:Ne(a),this.expressionsCache.set(a,o)}catch(s){if(t.throwErrors||!this.hooks.onError.call(s))throw new i.NestedError(`Error parsing expression: ${e}`,s);return}try{return this._execAST(o,t)}catch(s){if(t.throwErrors||!this.hooks.onError.call(s))throw new i.NestedError(`Error evaluating expression: ${e}`,s)}}_resolveNode(e,t,r){const{resolveNode:n,model:i}=r,o=Ye(We({},r),{evaluate:e=>this.evaluate(e,r)});if("Literal"===t.type)return t.value;if("Identifier"===t.type)return this.vars[t.name];if("Compound"===t.type||"ThisExpression"===t.type)throw new Error(`Expression type: ${t.type} is not supported`);if("BinaryExpression"===t.type||"LogicalExpression"===t.type){const e=this.operators.binary.get(t.operator);return e?"resolveParams"in e?!1===e.resolveParams?e(o,t.left,t.right):e(o,n(t.left),n(t.right)):e(n(t.left),n(t.right)):void 0}if("UnaryExpression"===t.type){const e=this.operators.unary.get(t.operator);return e?"resolveParams"in e?e(o,!1===e.resolveParams?t.argument:n(t.argument)):e(n(t.argument)):void 0}if("Object"===t.type){const{attributes:e}=t,r={};return e.forEach((e=>{const t=n(e.key),i=n(e.value);r[t]=i})),r}if("CallExpression"===t.type){const e=t.callTarget.name,r=this.operators.expressions.get(e);if(!r)throw new Error(`Unknown expression function: ${e}`);if("resolveParams"in r&&!1===r.resolveParams)return r(o,...t.args);return r(o,...t.args.map((e=>n(e))))}if("ModelRef"===t.type)return i.get(t.ref,{context:{model:r.model}});if("MemberExpression"===t.type){return n(t.object)[n(t.property)]}if("Assignment"!==t.type){if("ConditionalExpression"===t.type){const e=n(t.test)?t.consequent:t.alternate;return n(e)}if("ArrayExpression"===t.type)return t.elements.map((e=>n(e)));if("Modification"===t.type){const e=this.operators.binary.get(t.operator);if(e){let r;return r="resolveParams"in e?!1===e.resolveParams?e(o,t.left,t.right):e(o,n(t.left),n(t.right)):e(n(t.left),n(t.right)),"ModelRef"===t.left.type?i.set([[t.left.ref,r]]):"Identifier"===t.left.type&&(this.vars[t.left.name]=r),r}return n(t.left)}}else{if("ModelRef"===t.left.type){const e=n(t.right);return i.set([[t.left.ref,e]]),e}if("Identifier"===t.left.type){const e=n(t.right);return this.vars[t.left.name]=e,e}}}}class Qe{constructor(){this.hooks={trace:new n.b,debug:new n.b,info:new n.b,warn:new n.b,error:new n.b,log:new n.b},this.logHandlers=new Set,this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error")}createHandler(e){return(...t)=>{this.hooks[e].call(t),this.hooks.log.call(e,t),this.logHandlers.forEach((r=>r[e](...t)))}}addHandler(e){this.logHandlers.add(e)}removeHandler(e){this.logHandlers.delete(e)}}class Xe{constructor(e){this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error"),this.proxiedLoggerProvider=e}createHandler(e){return(...t)=>{const r=this.proxiedLoggerProvider();null==r||r[e](...t)}}}var et=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,at=(e,t,r)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,st=(e,t)=>{for(var r in t||(t={}))it.call(t,r)&&at(e,r,t[r]);if(nt)for(var r of nt(t))ot.call(t,r)&&at(e,r,t[r]);return e};const lt=e=>e;class ut{constructor(e){this.formatters=new Map,this.types=new Map,this.schema=new Map,this.bindingSchemaNormalizedCache=new Map,this.hooks={resolveTypeForBinding:new n.c},this.schema=e?function(e){const t=new Map;if(!e.ROOT)return t;const r=[{node:e.ROOT,path:[],visited:new Set}];for(;r.length>0;){const n=r.shift();if(!n)break;const{node:i,path:o,visited:a}=n;Object.entries(i).forEach((([n,i])=>{const s=[...o,n],l=s.join(".");if(t.has(l))throw new Error("Path has already been processed. There's either a loop somewhere or a bug");if(a.has(i.type))throw new Error(`Path already contained type: ${i.type}. This likely indicates a loop in the schema`);t.set(l,i),i.isArray&&s.push("[]"),i.isRecord&&s.push("{}"),i.type&&e[i.type]&&r.push({path:s,node:e[i.type],visited:new Set([...a,i.type])})}))}return t}(e):new Map}addFormatters(e){e.forEach((e=>{this.formatters.set(e.name,e)}))}addDataTypes(e){e.forEach((e=>{this.types.set(e.type,e)}))}getValidationsForBinding(e){var t;const r=this.getApparentType(e);if(null==(t=null==r?void 0:r.validation)?void 0:t.length)return r.validation.map((e=>st({severity:"error",trigger:"change"},e)))}normalizeBinding(e){const t=this.bindingSchemaNormalizedCache.get(e);if(t)return t;let r=e.asArray(),n=r.map((e=>"number"===typeof e?"[]":e)).join(".");return n&&(this.bindingSchemaNormalizedCache.set(e,n),r=n.split(".")),r.forEach((t=>{const i=r.map((e=>e===t?"{}":e)).join(".");this.schema.get(i)&&(this.bindingSchemaNormalizedCache.set(e,i),r=i.split("."),n=i)})),n}getType(e){return this.hooks.resolveTypeForBinding.call(this.schema.get(this.normalizeBinding(e)),e)}getApparentType(e){var t,r;const n=this.getType(e);if(void 0===n)return;const i=this.getTypeDefinition(null==n?void 0:n.type);return void 0===i?n:(o=st(st({},i),n),a={validation:[...null!=(t=n.validation)?t:[],...null!=(r=i.validation)?r:[]]},tt(o,rt(a)));var o,a}getTypeDefinition(e){return this.types.get(e)}getFormatterForType(e){const t=e,{type:r}=t,n=((e,t)=>{var r={};for(var n in e)it.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&nt)for(var n of nt(e))t.indexOf(n)<0&&ot.call(e,n)&&(r[n]=e[n]);return r})(t,["type"]),i=this.formatters.get(r);if(i)return{format:i.format?e=>{var t;return null==(t=i.format)?void 0:t.call(i,e,n)}:lt,deformat:i.deformat?e=>{var t;return null==(t=i.deformat)?void 0:t.call(i,e,n)}:lt}}getFormatter(e){const t=this.getApparentType(e);if(null==t?void 0:t.format)return this.getFormatterForType(t.format)}}const ct="{{",ht="}}";function ft(e){const t=e.indexOf(ct);if(-1===t)return;let r=1,n=t+ct.length,i=e.substring(t+ct.length);for(;r>0&&i.length>0;){const e=i.indexOf(ht);if(-1===e)break;const t=i.indexOf(ct);-1!==t&&t<e?(r++,i=i.substring(t+ct.length),n+=t+ct.length):(r--,i=i.substring(e+ht.length),n+=e+ht.length)}if(0!==r)throw new Error(`Unbalanced {{ and }} in exp: ${e}`);return{start:t,end:n}}function pt(e,t){const{model:r,formatted:n=!0}=t;let i=function(e,{evaluate:t}){if(!t)return e;const r=/@\[.*?\]@/;let n=e,i=n.match(r);for(;null!==i;){const o=i[0],a=n.indexOf(o),s=t(o.substr("@[".length,o.length-"@[".length-"]@".length));if(0===a&&o===e&&"string"!==typeof s)return s;n=n.substr(0,a)+s+n.substr(a+o.length),i=n.match(r)}return n}(e,t);if(!r||"string"!==typeof i||-1===i.indexOf(ct))return i;for(;-1!==i.indexOf(ct);){const e=ft(i);if(!e)return i;const{start:t,end:o}=e,a=i.substring(t+ct.length,o-ct.length).trim(),s=r.get(a,{formatted:n});if(0===t&&o===i.length&&"string"!==typeof s)return s;i=i.substr(0,t)+s+i.substr(o)}return i}function dt(e,t){switch(typeof e){case"string":return pt(e,t);case"object":{if(!e)return e;const r=Object.keys(e);let n=e;return r.length>0&&r.forEach((r=>{n=Object(f.setIn)(n,[r],dt(e[r],t))})),n}default:return e}}function gt(e,t){return dt(e,t)}function vt(e,t){const r=new Map(e),n=t.parent(),i=t.key();if(r.forEach(((e,n)=>{(t===n||t.contains(n))&&r.delete(n)})),"number"===typeof i){Array.from(e.keys()).filter((e=>{if(n.contains(e)){const[t]=e.relative(n);return"number"===typeof t&&t>i}return!1})).sort().forEach((e=>{const[t,...i]=e.relative(n);if("number"===typeof t){const o=[t-1,...i],a=n.descendent(o);r.set(a,r.get(e)),r.delete(e)}}))}return r}var yt,mt,bt=Object.defineProperty,wt=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,St=Object.getOwnPropertySymbols,At=Object.prototype.hasOwnProperty,xt=Object.prototype.propertyIsEnumerable,Ot=(e,t,r)=>t in e?bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Pt{constructor(e,t){this.validator=e,this.shadowModelPaths=new Map,this.logger=null==t?void 0:t.logger,this.shouldIncludeInvalid=null==t?void 0:t.shouldIncludeInvalid}set(e,t,r){const n=ce(this,(i=((e,t)=>{for(var r in t||(t={}))At.call(t,r)&&Ot(e,r,t[r]);if(St)for(var r of St(t))xt.call(t,r)&&Ot(e,r,t[r]);return e})({},t),wt(i,Et({includeInvalid:!0}))),r);var i;const o=[],a=new Set;e.forEach((([e,t])=>{this.shadowModelPaths.set(e,t),a.add(e)}));const s=[];this.shadowModelPaths.forEach(((e,t)=>{var r;const i=this.validator(t,n);void 0===i?o.push([t,e]):i instanceof Set?i.forEach((r=>{s.push(r.binding),r.isStrong||r.binding.asString()!==t.asString()||o.push([r.binding,e])})):a.has(t)&&(s.push(t),null==(r=this.logger)||r.debug(`Invalid value for path: ${t.asString()} - ${i.severity} - ${i.message}`))}));let l=[];if(r&&o.length>0){o.forEach((([e])=>this.shadowModelPaths.delete(e)));const e=r.set(o,t);if(0===s.length)return e;l=e}const u=s.map((e=>({binding:e,oldValue:n.get(e),newValue:n.get(e),force:!0})));return[...l,...u]}get(e,t,r){var n,i;let o=null==r?void 0:r.get(e,t);return(null!=(i=null==(n=this.shouldIncludeInvalid)?void 0:n.call(this,t))?i:!0===(null==t?void 0:t.includeInvalid))&&this.shadowModelPaths.forEach(((t,r)=>{r!==e?e.contains(r)&&(o=Object(f.setIn)(o,r.relative(e),t)):o=t})),o}delete(e,t,r){return this.shadowModelPaths=vt(this.shadowModelPaths,e),null==r?void 0:r.delete(e,t)}}class Rt{constructor(){this.registry=new Map}get(e){return this.registry.get(e)}register(e,t){this.registry.set(e,t)}}function kt(e){var t;if(e)return"value"in e&&"object"===typeof e.value&&"string"===typeof(null==(t=e.value)?void 0:t.id)?e.value.id:void 0}(mt=yt||(yt={})).Asset="asset",mt.View="view",mt.Applicability="applicability",mt.Template="template",mt.Value="value",mt.MultiNode="multi-node",mt.Switch="switch",mt.Async="async",mt.Unknown="unknown",mt.Empty="empty";var _t=Object.defineProperty,Tt=Object.defineProperties,Ct=Object.getOwnPropertyDescriptors,jt=Object.getOwnPropertySymbols,Ut=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable,Lt=(e,t,r)=>t in e?_t(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Bt=(e,t)=>{for(var r in t||(t={}))Ut.call(t,r)&&Lt(e,r,t[r]);if(jt)for(var r of jt(t))Nt.call(t,r)&&Lt(e,r,t[r]);return e},It=(e,t)=>Tt(e,Ct(t));const Mt={type:yt.Empty};class Dt{constructor(){this.hooks={onParseObject:new n.c,onCreateASTNode:new n.c,determineNodeType:new n.a,parseNode:new n.a}}parseView(e){const t=this.parseObject(e,yt.View);if(!t)throw new Error("Unable to parse object into a view");return t}parseAsync(e,t,r){const n=this.parseObject(Object(f.omit)(e,"async"),t,r),i=kt(n);return null!==n&&i?this.createASTNode({id:i,type:yt.Async,value:n},e):null}createASTNode(e,t){const r=this.hooks.onCreateASTNode.call(e,t);return void 0===r?e:r}hasTemplateValues(e,t){return Object.hasOwnProperty.call(e,"template")&&Array.isArray(null==e?void 0:e.template)&&e.template.length&&e.template.find((e=>e.output===t))}parseObject(e,t=yt.Value,r={templateDepth:0}){var n;const i=this.hooks.determineNodeType.call(e);if(void 0!==i){const n=this.hooks.parseNode.call(e,t,r,i);if(n)return n}const o=(e,n,i=[])=>{if("object"!==typeof n||null===n)return{value:n,children:[]};const a=this.hooks.onParseObject.call(n,t);if(!a)return e;const s={children:[],value:e},l=(Array.isArray(a)?a.map(((e,t)=>[t,e])):[...Object.entries(a),...Object.getOwnPropertySymbols(a).map((e=>[e,a[e]]))]).reduce(((e,t)=>{var n;const s=e,{children:l}=s,u=((e,t)=>{var r={};for(var n in e)Ut.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&jt)for(var n of jt(e))t.indexOf(n)<0&&Nt.call(e,n)&&(r[n]=e[n]);return r})(s,["children"]),[c,h]=t;if("asset"===c&&"object"===typeof h){const e=this.parseObject(h,yt.Asset,r);if(e)return It(Bt({},u),{children:[...l,{path:[...i,"asset"],value:e}]})}else{if(this.hooks.determineNodeType.call(c)===yt.Template&&Array.isArray(h)){const e=h.map((e=>{var t,n;const o=this.hooks.onCreateASTNode.call({type:yt.Template,depth:null!=(t=r.templateDepth)?t:0,data:e.data,template:e.value,dynamic:null!=(n=e.dynamic)&&n},e);if((null==o?void 0:o.type)===yt.MultiNode&&o.values.forEach((e=>{e.parent=o})),o)return{path:[...i,e.output],value:o}})).filter((e=>!!e));return It(Bt({},u),{children:[...l,...e]})}if(h&&this.hooks.determineNodeType.call(h)===yt.Switch){const e=this.hooks.parseNode.call(h,yt.Value,r,yt.Switch);if(e&&e.type===yt.Value&&1===(null==(n=e.children)?void 0:n.length)&&void 0===e.value){const t=e.children[0];return It(Bt({},u),{children:[...l,{path:[...i,c,...t.path],value:t.value}]})}if(e)return It(Bt({},u),{children:[...l,{path:[...i,c],value:e}]})}else if(h&&function(e){return Object.prototype.hasOwnProperty.call(e,"async")}(h)){const e=this.parseAsync(h,yt.Value,r);e&&l.push({path:[...i,c],value:e})}else if(h&&Array.isArray(h)){const e=h.map((e=>this.parseObject(e,yt.Value,r))).filter((e=>!!e));if(e.length>0){const t=this.hooks.onCreateASTNode.call({type:yt.MultiNode,override:!this.hasTemplateValues(a,c),values:e},h);if((null==t?void 0:t.type)===yt.MultiNode&&t.values.forEach((e=>{e.parent=t})),t)return It(Bt({},u),{children:[...l,{path:[...i,c],value:t}]})}}else{if(!h||"object"!==typeof h){return{children:l,value:Object(f.setIn)(e.value,[...i,c],h)}}{const t=this.hooks.determineNodeType.call(h);if(t!==yt.Applicability){const t=o(e.value,h,[...i,c]);return{value:t.value,children:[...l,...t.children]}}{const e=this.hooks.parseNode.call(h,yt.Value,r,t);if(e)return It(Bt({},u),{children:[...l,{path:[...i,c],value:e}]})}}}}return e}),s);return l},{value:a,children:s}=o(void 0,e),l=void 0===a&&0===s.length?void 0:{type:t,value:a};if(void 0!==l&&s.length>0){const e=l;e.children=s,s.forEach((t=>{t.value.parent=e}))}return null!=(n=this.hooks.onCreateASTNode.call(l,e))?n:null}}var Vt=Object.defineProperty,Ft=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,Ht=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable,Yt=(e,t,r)=>t in e?Vt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function qt(e,t){if(!e||!t)return!0;const r=Array.from(t.values()),n=Array.from(e.values());return void 0!==r.find((e=>!!n.find((t=>t===e||t.contains(e)||e.contains(t)))))}function Zt(e){return t=((e,t)=>{for(var r in t||(t={}))zt.call(t,r)&&Yt(e,r,t[r]);if(Ht)for(var r of Ht(t))Wt.call(t,r)&&Yt(e,r,t[r]);return e})({},e),r={data:{model:e.model,formatValue:(t,r)=>e.formatValue?e.formatValue(t,r):r,format:(t,r)=>e.format?e.format(F(t)?t:e.parseBinding(t),r):r},evaluate:t=>e.evaluator.evaluate(t,e)},Ft(t,$t(r));var t,r}function Gt(e,t){Array.isArray(e)?e.forEach((e=>{Gt(e,t)})):t.push(e)}var Kt=Object.defineProperty,Jt=Object.defineProperties,Qt=Object.getOwnPropertyDescriptors,Xt=Object.getOwnPropertySymbols,er=Object.prototype.hasOwnProperty,tr=Object.prototype.propertyIsEnumerable,rr=(e,t,r)=>t in e?Kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nr=(e,t)=>{for(var r in t||(t={}))er.call(t,r)&&rr(e,r,t[r]);if(Xt)for(var r of Xt(t))tr.call(t,r)&&rr(e,r,t[r]);return e},ir=(e,t)=>Jt(e,Qt(t));class or{constructor(e,t){this.hooks={skipResolve:new n.c,beforeUpdate:new n.b,afterUpdate:new n.b,resolveOptions:new n.c,beforeResolve:new n.c,resolve:new n.c,afterResolve:new n.c,afterNodeUpdate:new n.b},this.root=e,this.options=t,this.resolveCache=new Map,this.ASTMap=new Map,this.logger=t.logger,this.idCache=new Set}getSourceNode(e){return this.ASTMap.get(e)}update(e){this.hooks.beforeUpdate.call(e);const t=new Map;this.idCache.clear();const r=new Map(this.ASTMap);this.ASTMap.clear();const n=this.computeTree(this.root,void 0,e,t,Zt(this.options),void 0,r);return this.resolveCache=t,this.hooks.afterUpdate.call(n.value),n.value}getResolveCache(){return new Map(this.resolveCache)}getPreviousResult(e){var t,r;if(!e)return;const n=0===this.resolveCache.size,i=kt(e);if(i){if(this.idCache.has(i))return void(n&&(e.type===yt.Asset||e.type===yt.View?null==(t=this.logger)||t.error(`Cache conflict: Found Asset/View nodes that have conflicting ids: ${i}, may cause cache issues.`):e.type===yt.Value&&(null==(r=this.logger)||r.info(`Cache conflict: Found Value nodes that have conflicting ids: ${i}, may cause cache issues. To improve performance make value node IDs globally unique.`))));this.idCache.add(i)}return this.resolveCache.get(e)}cloneNode(e){const t=Object(f.clone)(e);return Object.keys(t).forEach((e=>{if("parent"===e)return;const r=t[e];"object"===typeof r&&null!==r&&(t[e]=Array.isArray(r)?[...r]:nr({},r))})),t}computeTree(e,t,r,n,i,o,a){var s,l,u;const c=new se(i.data.model);c.trackSubset("core");const d=(g=function(e,t){function r(r,n){const i=F(r)?r:t(r,{get:e.get,set:e.set,readOnly:n});if(!i)throw new Error("Unable to parse binding");return i}return{get:(t,n)=>e.get(r(t,!0),n),set:(t,n)=>e.set(t.map((([e,t])=>[r(e,!1),t])),n),delete:(t,n)=>e.delete(r(t,!1),n)}}(c,this.options.parseBinding),{get:(e,t)=>g.get(e,nr({context:{model:g}},t)),set:(e,t)=>g.set(e,nr({context:{model:g}},t)),delete:(e,t)=>g.delete(e,nr({context:{model:g}},t))});var g;const v=this.hooks.resolveOptions.call(ir(nr({},i),{data:ir(nr({},i.data),{model:d}),evaluate:e=>this.options.evaluator.evaluate(e,{model:d}),node:e}),e),y=this.getPreviousResult(e),m=null==y?void 0:y.dependencies,b=qt(r,m),w=this.hooks.skipResolve.call(!b,e,v),E=ir(nr({},this.cloneNode(e)),{parent:o}),S=null!=(s=this.hooks.beforeResolve.call(E,v))?s:{type:yt.Empty},A=S.type===yt.MultiNode&&(null==(l=null==o?void 0:o.parent)?void 0:l.type)===yt.MultiNode&&o.type===yt.Value;if(y&&w){const r=ir(nr({},y),{updated:!1}),i=(e,t,r)=>{var o;const{node:s}=e;this.ASTMap.set(s,t);const l=ir(nr({},e),{updated:!1});n.set(t,l);const u=e=>{var r;const n=null!=(r=a.get(e))?r:e,o=this.getPreviousResult(n);o&&i(o,n,t)};"children"in s?null==(o=s.children)||o.forEach((({value:e})=>u(e))):s.type===yt.MultiNode&&s.values.forEach(u),this.hooks.afterNodeUpdate.call(t,r,l)};return y.node.parent=o,i(y,e,t),r}S.parent=o,v.node=S,this.ASTMap.set(S,e);let x=this.hooks.resolve.call(void 0,S,v),O=!Object(p.a)(null==y?void 0:y.value,x);y&&!O&&(x=null==y?void 0:y.value);const P=new Set;if(c.trackSubset("children"),"children"in S){const t=null==(u=S.children)?void 0:u.map((t=>{const i=this.computeTree(t.value,e,r,n,v,S,a),{dependencies:o,node:s,updated:l,value:u}=i;if(o.forEach((e=>P.add(e))),u)if(s.type!==yt.MultiNode||s.override)x=Object(f.setIn)(x,t.path,u);else{const e=Object(f.addLast)(h()(x,t.path,[]),u);x=Object(f.setIn)(x,t.path,e)}return O=O||l,ir(nr({},t),{value:s})}));S.children=t}else if(S.type===yt.MultiNode){const t=[],i=A?null==o?void 0:o.parent:e,s=S.values.map((e=>{var o;const s=this.computeTree(e,i,r,n,v,S,a);return void 0!==s.value&&null!==s.value&&((null==(o=s.node.parent)?void 0:o.type)===yt.MultiNode&&Array.isArray(s.value)?s.value.forEach((e=>{Gt(e,t)})):t.push(s.value)),s.dependencies.forEach((e=>P.add(e))),O=O||s.updated,s.node}));S.values=s,x=t}P.forEach((e=>c.addChildReadDep(e))),c.trackSubset("core"),y&&!O&&(x=null==y?void 0:y.value),x=this.hooks.afterResolve.call(x,S,ir(nr({},v),{getDependencies:e=>c.getDependencies(e)}));const R={node:S,updated:O,value:x,dependencies:new Set([...c.getDependencies(),...P])};return this.hooks.afterNodeUpdate.call(e,A?null==o?void 0:o.parent:t,R),n.set(e,R),R}}class ar{constructor(e){this.hooks={resolveTemplateSubstitutions:new n.c},this.options=e}parseTemplate(e,t,r){const{template:n,depth:i}=t,o=r.data.model.get(t.data);if(!o)return null;if(!Array.isArray(o))throw new Error(`Template using '${t.data}' but is not an array`);const a=[];o.forEach(((r,o)=>{const s=this.hooks.resolveTemplateSubstitutions.call([{expression:new RegExp(`_index${i||""}_`),value:String(o)}],{depth:i,data:r,index:o});let l=JSON.stringify(n);for(const{expression:e,value:t}of s){let r="g";"object"===typeof e&&(r=`${e.flags}${e.global?"":"g"}`),l=l.replace(new RegExp(e,r),t)}const u=e(JSON.parse(l),yt.Value,{templateDepth:t.depth+1});u&&a.push(u)}));return{type:yt.MultiNode,override:!1,values:a}}applyParser(e){e.hooks.onCreateASTNode.tap("template",(t=>t&&t.type===yt.Template&&!t.dynamic?this.parseTemplate(e.parseObject.bind(e),t,this.options):t)),e.hooks.determineNodeType.tap("template",(e=>{if("template"===e)return yt.Template})),e.hooks.parseNode.tap("template",((t,r,n,i)=>{var o,a;if(i===yt.Template){const r=e.createASTNode({type:yt.Template,depth:null!=(o=n.templateDepth)?o:0,data:t.data,template:t.value,dynamic:null!=(a=t.dynamic)&&a},t);if(r)return r}}))}applyResolverHooks(e){e.hooks.beforeResolve.tap("template",((e,t)=>e&&e.type===yt.Template&&e.dynamic?this.parseTemplate(t.parseNode,e,t):e))}apply(e){e.hooks.parser.tap("template",this.applyParser.bind(this)),e.hooks.resolver.tap("template",this.applyResolverHooks.bind(this))}}const sr=(e,t)=>r=>{const n=r.indexOf(e);if(-1===n)return!1;const i=r.indexOf(t);return-1!==i&&n<i},lr=sr("{{","}}"),ur=sr("@[","]@");function cr(e,t){return function(e){return lr(e)||ur(e)}(e)?gt(e,{model:t.data.model,evaluate:t.evaluate}):e}function hr(e,t,r){if(null===e||void 0===e||"object"!==typeof e&&"string"!==typeof e)return e;if("string"===typeof e)return cr(e,t);let n=e;return Object.keys(e).forEach((i=>{if(r.has(i))return;const o=e[i];let a=o;"object"===typeof o?a=hr(o,t,r):"string"===typeof o&&(a=cr(o,t)),a!==o&&(n=Object(f.set)(n,i,a))})),n}const fr=(e,t)=>{var r,n,i;const o=e.parent;if(!o)return[];if("children"in o){const a=t.getSourceNode(e);return null!=(i=null==(n=null==(r=o.children)?void 0:r.find((e=>e.value===a)))?void 0:n.path)?i:[]}return o.type!==yt.MultiNode?[]:fr(o,t)};class pr{constructor(){this.propertiesToSkipCache=new Map}applyResolver(e){e.hooks.resolve.tap("string-resolver",((t,r,n)=>{var i,o,a,s,l,u,c,h,f,p;if(r.type===yt.Empty||r.type===yt.Unknown)return null;if(r.type===yt.Value||r.type===yt.Asset||r.type===yt.View){let t;r.type===yt.Asset||r.type===yt.View?(t=new Set(null!=(a=null==(o=null==(i=r.plugins)?void 0:i.stringResolver)?void 0:o.propertiesToSkip)?a:["exp"]),(null==(s=r.value)?void 0:s.id)&&this.propertiesToSkipCache.set(r.value.id,t)):t=(null==(l=r.parent)?void 0:l.type)===yt.MultiNode&&((null==(c=null==(u=r.parent)?void 0:u.parent)?void 0:c.type)===yt.Asset||(null==(f=null==(h=r.parent)?void 0:h.parent)?void 0:f.type)===yt.View)&&(null==(p=r.parent.parent.value)?void 0:p.id)&&this.propertiesToSkipCache.has(r.parent.parent.value.id)?this.propertiesToSkipCache.get(r.parent.parent.value.id):new Set(["exp"]);const d=fr(r,e);return d.length>0&&d.some((e=>t.has(e.toString())))?r.value:hr(r.value,n,t)}return t}))}apply(e){e.hooks.resolver.tap("string-resolver",this.applyResolver.bind(this))}}class dr{applyResolver(e){e.hooks.beforeResolve.tap("applicability",((e,t)=>{let r=e;if((null==e?void 0:e.type)===yt.Applicability){if(!1===t.evaluate(e.expression))return null;r=e.value}return r}))}applyParser(e){e.hooks.determineNodeType.tap("applicability",(e=>{if(Object.prototype.hasOwnProperty.call(e,"applicability"))return yt.Applicability})),e.hooks.parseNode.tap("applicability",((t,r,n,i)=>{if(i===yt.Applicability){const i=e.parseObject(Object(f.omit)(t,"applicability"),r,n);if(null!==i){const r=e.createASTNode({type:yt.Applicability,expression:t.applicability,value:i},t);return(null==r?void 0:r.type)===yt.Applicability&&(r.value.parent=r),r}}}))}apply(e){e.hooks.resolver.tap("applicability",this.applyResolver.bind(this)),e.hooks.parser.tap("applicability",this.applyParser.bind(this))}}var gr=Object.getOwnPropertySymbols,vr=Object.prototype.hasOwnProperty,yr=Object.prototype.propertyIsEnumerable;class mr{constructor(e){this.options=e}resolveSwitch(e,t){for(const r of e.cases){if(t.evaluate(r.case))return r.value}return Mt}applyParser(e){e.hooks.onCreateASTNode.tap("switch",(e=>e&&e.type===yt.Switch&&!e.dynamic?this.resolveSwitch(e,this.options):e)),e.hooks.determineNodeType.tap("switch",(e=>{if(Object.prototype.hasOwnProperty.call(e,"dynamicSwitch")||Object.prototype.hasOwnProperty.call(e,"staticSwitch"))return yt.Switch})),e.hooks.parseNode.tap("switch",((t,r,n,i)=>{if(i===yt.Switch){const r="dynamicSwitch"in t,i="dynamicSwitch"in t?t.dynamicSwitch:t.staticSwitch,o=[];i.forEach((t=>{const r=t,{case:i}=r,a=((e,t)=>{var r={};for(var n in e)vr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&gr)for(var n of gr(e))t.indexOf(n)<0&&yr.call(e,n)&&(r[n]=e[n]);return r})(r,["case"]),s=e.parseObject(a,yt.Value,n);s&&o.push({case:i,value:s})}));const a=e.hooks.onCreateASTNode.call({type:yt.Switch,dynamic:r,cases:o},t);return(null==a?void 0:a.type)===yt.Switch&&a.cases.forEach((e=>{e.value.parent=a})),(null==a?void 0:a.type)===yt.Empty?null:null!=a?a:null}}))}applyResolver(e){e.hooks.beforeResolve.tap("switch",((e,t)=>e&&e.type===yt.Switch&&e.dynamic?this.resolveSwitch(e,t):e))}apply(e){e.hooks.parser.tap("switch",this.applyParser.bind(this)),e.hooks.resolver.tap("switch",this.applyResolver.bind(this))}}var br=Object.defineProperty,wr=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,Sr=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,xr=Object.prototype.propertyIsEnumerable,Or=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Pr=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Or(e,r,t[r]);if(Sr)for(var r of Sr(t))xr.call(t,r)&&Or(e,r,t[r]);return e};class Rr{constructor(e,t,r){this.allValidations=new Set,this.byBinding=new Map,this.logger=r,this.parse(e,t)}parse(e,t){var r;const n=e.validation;void 0!==n&&(Array.isArray(n)?n.forEach((e=>{var r;const n=Pr({trigger:"navigation",severity:"error"},e);this.allValidations.add(n);const{ref:i}=e;if(i){const e=t(i);this.byBinding.has(e)?null==(r=this.byBinding.get(e))||r.push(n):this.byBinding.set(e,[n])}})):null==(r=this.logger)||r.warn(`Unable to register view validations for id: ${e.id}. 'validation' property must be an Array.`))}getValidationsForBinding(e){return this.byBinding.get(e)}}class kr{constructor(e,t){this.hooks={onUpdate:new n.b,parser:new n.b,resolver:new n.b,templatePlugin:new n.b},this.initialView=e,this.resolverOptions=t;const r=Zt(t);new mr(r).apply(this),(new dr).apply(this),(new pr).apply(this),this.templatePlugin=new ar(r),this.templatePlugin.apply(this)}updateAsync(){var e;const t=null==(e=this.resolver)?void 0:e.update();this.lastUpdate=t,this.hooks.onUpdate.call(t)}update(e){var t,r,n;if(void 0===this.rootNode){this.validationProvider=new Rr(this.initialView,this.resolverOptions.parseBinding,this.resolverOptions.logger),this.hooks.templatePlugin.call(this.templatePlugin);const e=new Dt;this.hooks.parser.call(e),this.rootNode=e.parseView(this.initialView),this.resolver=new or(this.rootNode,(r=Pr({},this.resolverOptions),n={parseNode:e.parseObject.bind(e)},wr(r,Er(n)))),this.hooks.resolver.call(this.resolver)}const i=null==(t=this.resolver)?void 0:t.update(e);return this.lastUpdate===i?this.lastUpdate:(this.lastUpdate=i,this.hooks.onUpdate.call(i),i)}getValidationsForBinding(e){var t;return null==(t=this.validationProvider)?void 0:t.getValidationsForBinding(e)}}var _r=Object.defineProperty,Tr=Object.getOwnPropertySymbols,Cr=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Ur=(e,t,r)=>t in e?_r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Nr=(e,t,r)=>new Promise(((n,i)=>{var o=e=>{try{s(r.next(e))}catch(t){i(t)}},a=e=>{try{s(r.throw(e))}catch(t){i(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,a);s((r=r.apply(e,t)).next())}));class Lr{constructor(e,t,r){this.isTransitioning=!1,this.hooks={beforeStart:new n.a,onStart:new n.b,onEnd:new n.b,skipTransition:new n.a,beforeTransition:new n.c,resolveTransitionNode:new n.c,transition:new n.b,afterTransition:new n.b},this.id=e,this.flow=t,this.log=null==r?void 0:r.logger,this.history=[],this.hooks.transition.tap("startPromise",((e,t)=>Nr(this,null,(function*(){const e=t.value;this.flowPromise&&"END"===e.state_type&&this.flowPromise.resolve(e)}))))}start(){return Nr(this,null,(function*(){var e;if(this.flowPromise)return null==(e=this.log)||e.warn("Already called start for flow"),this.flowPromise.promise;this.flow=this.hooks.beforeStart.call(this.flow)||this.flow,this.flow.onStart&&this.hooks.onStart.call(this.flow.onStart);const t=this.flow.startState;return t?(this.flowPromise=g()(),this.pushHistory(t),this.flowPromise.promise):Promise.reject(new Error("No 'startState' defined for flow"))}))}transition(e,t){var r,n,i,o,a,s,l;if(this.isTransitioning)throw new Error(`Transitioning while ongoing transition from ${null==(r=this.currentState)?void 0:r.name} is in progress is not supported`);if("END"===(null==(n=this.currentState)?void 0:n.value.state_type))return void(null==(i=this.log)||i.warn(`Skipping transition using ${e}. Already at and END state`));if(void 0===this.currentState)throw new Error("Cannot transition when there's no current state");if(null==t?void 0:t.force)null==(o=this.log)||o.debug("Forced transition. Skipping validation checks");else{if(this.hooks.skipTransition.call(this.currentState))return void(null==(a=this.log)||a.debug(`Skipping transition from ${this.currentState.name} b/c hook told us to`))}const u=this.hooks.beforeTransition.call(this.currentState.value,e);if(!("transitions"in u))throw new Error(`No transitions defined for ${this.currentState.value}`);const{transitions:c}=u,h=c[e]||c["*"];if(void 0!==h)return null==(l=this.log)||l.debug(`Transitioning from ${this.currentState.name} to ${h} using ${e} `),this.pushHistory(h,t);null==(s=this.log)||s.warn(`No transition from ${this.currentState.name} using ${e} or *`)}pushHistory(e,t){var r;if(!Object.prototype.hasOwnProperty.call(this.flow,e))throw new Error(`No flow definition for: ${e} was found.`);let n=this.flow[e];if(!this.flow[e]||"object"!==typeof n||!("state_type"in n))return void(null==(r=this.log)||r.error(`Flow doesn't contain any states named: ${e}`));const i=this.currentState;this.isTransitioning=!0,n=this.hooks.resolveTransitionNode.call(n);const o={name:e,value:n};this.currentState=o,this.history.push(e),"END"===o.value.state_type&&this.flow.onEnd&&this.hooks.onEnd.call(this.flow.onEnd),this.hooks.transition.call(i,((e,t)=>{for(var r in t||(t={}))Cr.call(t,r)&&Ur(e,r,t[r]);if(Tr)for(var r of Tr(t))jr.call(t,r)&&Ur(e,r,t[r]);return e})({},o)),this.isTransitioning=!1,this.hooks.afterTransition.call(this)}}var Br=(e,t,r)=>new Promise(((n,i)=>{var o=e=>{try{s(r.next(e))}catch(t){i(t)}},a=e=>{try{s(r.throw(e))}catch(t){i(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,a);s((r=r.apply(e,t)).next())}));class Ir{constructor(e,t){this.hooks={flow:new n.b},this.navigation=e,this.navStack=[],this.log=null==t?void 0:t.logger,this.start=this.start.bind(this),this.run=this.run.bind(this),this.transition=this.transition.bind(this),this.addNewFlow=this.addNewFlow.bind(this)}transition(e,t){if(void 0===this.current)throw new Error("Not currently in a flow. Cannot transition.");this.current.transition(e,t)}addNewFlow(e){this.navStack.push(e),this.current=e,this.hooks.flow.call(e)}run(e){return Br(this,null,(function*(){var t;if(!Object.prototype.hasOwnProperty.call(this.navigation,e))return Promise.reject(new Error(`No flow defined for: ${e}`));const r=this.navigation[e];if(null===r||"object"!==typeof r)return Promise.reject(new Error(`Flow: ${e} needs to be an object`));null==(t=this.log)||t.debug(`Starting flow: ${e}`);const n=new Lr(e,r,{logger:this.log});this.addNewFlow(n),n.hooks.afterTransition.tap("flow-controller",(e=>{var t,r,n;if("FLOW"===(null==(t=e.currentState)?void 0:t.value.state_type)){const t=null==(r=e.currentState)?void 0:r.value.ref;null==(n=this.log)||n.debug(`Loading subflow ${t}`),this.run(t).then((t=>{var r;null==(r=this.log)||r.debug(`Subflow ended. Using outcome: ${t.outcome}`),e.transition(null==t?void 0:t.outcome)}))}}));const i=yield n.start();if(this.navStack.pop(),this.navStack.length>0){const e=0;this.current=this.navStack[e]}return i}))}start(){return Br(this,null,(function*(){return this.navigation.BEGIN?this.run(this.navigation.BEGIN):Promise.reject(new Error("Must supply a BEGIN state"))}))}}const Mr=/%([a-zA-Z]+)/g;var Dr=Object.defineProperty,Vr=Object.defineProperties,Fr=Object.getOwnPropertyDescriptors,$r=Object.getOwnPropertySymbols,Hr=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,Wr=(e,t,r)=>t in e?Dr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Yr=(e,t)=>{for(var r in t||(t={}))Hr.call(t,r)&&Wr(e,r,t[r]);if($r)for(var r of $r(t))zr.call(t,r)&&Wr(e,r,t[r]);return e},qr=(e,t)=>Vr(e,Fr(t));const Zr="validation-binding-tracker";class Gr{constructor(e){this.trackedBindings=new Set,this.options=e}getBindings(){return this.trackedBindings}trackBinding(e){var t,r;this.trackedBindings.has(e)||(this.trackedBindings.add(e),null==(r=null==(t=this.options.callbacks)?void 0:t.onAdd)||r.call(t,e))}applyResolver(e){this.trackedBindings.clear();const t=new Map,r=new Map;let n;const i=new Map;let o=new Map,a=new Map;const s=new Map;e.hooks.beforeUpdate.tap(Zr,(e=>{n=e})),e.hooks.skipResolve.tap(Zr,((e,t)=>{const r=o.get(t);if(!e||!n||!r)return e;return 0===new Set([...n].filter((e=>r.has(e)))).size})),e.hooks.resolveOptions.tap(Zr,((e,n)=>{if(void 0===e.validation)return e;t.delete(n);const i=e=>{var i,o,a,s;const l=F(e)?e:this.options.parseBinding(e);t.has(n)?null==(i=t.get(n))||i.add(l):t.set(n,new Set([l]));let{parent:u}=n;for(;u;){if(r.has(u)){null==(o=r.get(u))||o.add(n);break}u=u.parent}this.trackedBindings.add(l),null==(s=null==(a=this.options.callbacks)?void 0:a.onAdd)||s.call(a,l)};return qr(Yr({},e),{validation:qr(Yr({},e.validation),{get:(t,r)=>{var n,o;(null==r?void 0:r.track)&&i(t);const a=null==(o=null==(n=e.validation)?void 0:n._getValidationForBinding(t))?void 0:o.getAll(r);return null==a?void 0:a.find((e=>"field"===e.displayTarget||void 0===e.displayTarget))},getValidationsForBinding(t,r){var n,o,a;return(null==r?void 0:r.track)&&i(t),null!=(a=null==(o=null==(n=e.validation)?void 0:n._getValidationForBinding(t))?void 0:o.getAll(r))?a:[]},getChildren:t=>{var r;const i=new Array;return null==(r=o.get(n))||r.forEach((r=>{var n,o;const a=null==(o=null==(n=e.validation)?void 0:n._getValidationForBinding(r))?void 0:o.get();!a||void 0!==t&&t!==a.displayTarget||i.push(a)})),i},getValidationsForSection:()=>{var t;const r=new Array;return null==(t=s.get(n))||t.forEach((t=>{var n,i;const o=null==(i=null==(n=e.validation)?void 0:n._getValidationForBinding(t))?void 0:i.get();o&&"section"===o.displayTarget&&r.push(o)})),r},register:e=>{"section"===(null==e?void 0:e.type)&&(r.has(n)||r.set(n,new Set))},track:i})})})),e.hooks.afterNodeUpdate.tap(Zr,((n,l,u)=>{var c,h;if(l&&function(e,t){var r;i.has(t)?null==(r=i.get(t))||r.add(e):i.set(t,new Set([e]))}(n,l),u.updated){const e=new Set(t.get(n));null==(c=i.get(n))||c.forEach((t=>{var r;null==(r=a.get(t))||r.forEach((t=>e.add(t)))})),a.set(n,e)}else a.set(n,null!=(h=o.get(n))?h:new Set);n===e.root&&(this.trackedBindings=new Set(a.get(n)),o=a,s.clear(),r.forEach(((e,r)=>{const n=new Set;e.forEach((e=>{var r;null==(r=t.get(e))||r.forEach(n.add,n)})),s.set(r,n)})),i.clear(),t.clear(),r.clear(),a=new Map)}))}apply(e){e.hooks.resolver.tap(Zr,this.applyResolver.bind(this))}}var Kr=Object.defineProperty,Jr=Object.defineProperties,Qr=Object.getOwnPropertyDescriptors,Xr=Object.getOwnPropertySymbols,en=Object.prototype.hasOwnProperty,tn=Object.prototype.propertyIsEnumerable,rn=(e,t,r)=>t in e?Kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nn=(e,t)=>{for(var r in t||(t={}))en.call(t,r)&&rn(e,r,t[r]);if(Xr)for(var r of Xr(t))tn.call(t,r)&&rn(e,r,t[r]);return e},on=(e,t)=>Jr(e,Qr(t));const an=Symbol.for("validation-provider-name");class sn{constructor(e,t,r,n){this.applicableValidations=[],this.validationsByState={load:[],change:[],navigation:[]},this.onDismiss=t,e.forEach((e=>{const{trigger:t}=e;if(this.validationsByState[t]){const r={value:n=e,type:n.severity,state:"none",isBlockingNavigation:!1};this.validationsByState[t].push(r)}else null==r||r.warn(`Unknown validation trigger: ${t}`);var n})),this.weakBindings=null!=n?n:new Set}get allValidations(){return Object.values(this.validationsByState).flat()}checkIfBlocking(e){if("active"===e.state){const{isBlockingNavigation:t}=e;return t}return!1}getAll(){return this.applicableValidations.reduce(((e,t)=>"active"===t.state&&t.response?[...e,on(nn({},t.response),{blocking:this.checkIfBlocking(t)})]:e),[])}get(){const e=this.applicableValidations.find((e=>"active"===e.state&&e.response));if("active"===(null==e?void 0:e.state))return on(nn({},e.response),{blocking:this.checkIfBlocking(e)})}runApplicableValidations(e,t,r){this.applicableValidations=this.applicableValidations.map((n=>{var i,o,a;if("dismissed"===n.state)return n;const s=null!=(i=n.value.blocking)?i:"warning"!==n.value.severity||"once",l=Object(f.setIn)(n,["value","blocking"],s),u=!0===s||"once"===s&&!t;if("navigation"===r&&"active"===l.state&&!0!==l.value.blocking&&"warning"===l.value.severity){const e=l;return!e.dismissable||!e.response.dismiss||"once"===e.response.blocking&&e.response.blocking?("once"===(null==e?void 0:e.response.blocking)&&(e.response.blocking=!1),e.dismissable=!0):e.response.dismiss(),e}const c=e(l.value),h={type:l.type,value:l.value,state:c?"active":"none",isBlockingNavigation:u,dismissable:"warning"===l.value.severity&&"navigation"===r,response:c?on(nn({},l.value),{message:null!=(o=c.message)?o:"Something is broken",severity:l.value.severity,displayTarget:null!=(a=l.value.displayTarget)?a:"field"}):void 0};return"active"===h.state&&"warning"===l.value.severity&&(h.response.dismiss=()=>{var e;h.state="dismissed",null==(e=this.onDismiss)||e.call(this)}),h}))}update(e,t,r){const n=[];"load"===e&&void 0!==this.currentPhase||("navigation"!==this.currentPhase&&e!==this.currentPhase?("load"===e?(this.currentPhase="load",this.applicableValidations=[...this.validationsByState.load]):"change"===e&&"load"===this.currentPhase?(this.currentPhase="change",this.applicableValidations=[...this.applicableValidations,...this.validationsByState.change]):"navigation"!==e||"load"!==this.currentPhase&&"change"!==this.currentPhase||(this.applicableValidations.forEach((e=>{"error"===e.type&&"active"===e.state&&!1===e.isBlockingNavigation||n.push(e)})),this.applicableValidations=[...n,...this.validationsByState.navigation,..."load"===this.currentPhase?this.validationsByState.change:[]],this.currentPhase="navigation"),this.runApplicableValidations(r,t,e)):this.runApplicableValidations(r,t,e))}}class ln{constructor(e,t){this.hooks={createValidatorRegistry:new n.b,onAddValidation:new n.c,onRemoveValidation:new n.c,resolveValidationProviders:new n.c,onTrackBinding:new n.b},this.validations=new Map,this.weakBindingTracker=new Set,this.schema=e,this.options=t,this.reset()}setOptions(e){this.options=e}getDataMiddleware(){return[{set:(e,t,r)=>{var n;return null!=(n=null==r?void 0:r.set(e,t))?n:[]},get:(e,t,r)=>null==r?void 0:r.get(e,t),delete:(e,t,r)=>(this.validations=vt(this.validations,e),null==r?void 0:r.delete(e,t))},new Pt((e=>{var t;if(!this.options)return;this.updateValidationsForBinding(e,"change",this.options);const r=this.getValidationForBinding(e);if("error"===(null==(t=null==r?void 0:r.get())?void 0:t.severity))return r.get();const n=new Set;return this.validations.forEach(((t,r)=>{var i;qt(new Set([e]),t.weakBindings)&&"error"===(null==(i=null==t?void 0:t.get())?void 0:i.severity)&&(null==t||t.weakBindings.forEach((e=>{e===r?n.add({binding:e,isStrong:!0}):n.add({binding:e,isStrong:!1})})))})),n.size>0?n:void 0}),{logger:new Xe((()=>{var e;return null==(e=this.options)?void 0:e.logger}))})]}getValidationProviders(){return this.providers||(this.providers=this.hooks.resolveValidationProviders.call([{source:"schema",provider:this.schema},{source:"view",provider:{getValidationsForBinding:e=>{var t,r;return null==(r=null==(t=this.viewValidationProvider)?void 0:t.getValidationsForBinding)?void 0:r.call(t,e)},getValidationsForView:()=>{var e,t;return null==(t=null==(e=this.viewValidationProvider)?void 0:e.getValidationsForView)?void 0:t.call(e)}}}])),this.providers}reset(){this.validations.clear(),this.tracker=void 0}onView(e){if(this.validations.clear(),!this.options)return;const t=new Gr(on(nn({},this.options),{callbacks:{onAdd:t=>{if(!this.options||void 0!==this.getValidationForBinding(t))return;const r=this.options.model.get(t);r!==this.options.model.get(t,{ignoreDefaultValue:!0})&&this.options.model.set([[t,r]],{silent:!0}),this.updateValidationsForBinding(t,"load",this.options,(()=>{e.update(new Set([t]))})),this.hooks.onTrackBinding.call(t)}}}));this.tracker=t,this.viewValidationProvider=e,t.apply(e)}updateValidationsForBinding(e,t,r,n){var i;const o=null!=r?r:this.options;if(!o)throw new Error("Context is required for executing validations");if("load"===t){const t=this.getValidationProviders().reduce(((t,r)=>{var n,i,o,a;return[...t,...null!=(a=null==(o=null==(i=(n=r.provider).getValidationsForBinding)?void 0:i.call(n,e))?void 0:o.map((e=>on(nn({},e),{[an]:r.source}))))?a:[]]}),[]);if(0===t.length)return;this.validations.set(e,new sn(t,n,null==(i=this.options)?void 0:i.logger))}const a=this.validations.get(e);null==a||a.update(t,!0,(t=>{const r=this.validationRunner(t,e,o);if(this.weakBindingTracker.size>0){const t=this.validations.get(e);this.weakBindingTracker.forEach((e=>t.weakBindings.add(e)))}return r?{message:r.message}:void 0})),"load"!==t&&this.validations.forEach(((r,n)=>{n!==e&&qt(new Set([e]),r.weakBindings)&&r.update(t,!0,(e=>{const t=this.validationRunner(e,n,o);return t?{message:t.message}:void 0}))}))}validationRunner(e,t,r=this.options){var n;if(!r)throw new Error("No context provided to validation runner");const i=null!=(n=e.handler)?n:this.getValidator(e.type),o=new Set,a={get:(e,n)=>(o.add(F(e)?t:r.parseBinding(e)),r.model.get(e,on(nn({},n),{includeInvalid:!0}))),set:r.model.set,delete:r.model.delete},s=null==i?void 0:i(on(nn({},r),{evaluate:(e,t={model:a})=>r.evaluate(e,t),model:a,validation:e,schemaType:this.schema.getType(t)}),r.model.get(t,{includeInvalid:!0,formatted:"formatted"===e.dataTarget}),e);if(this.weakBindingTracker=o,s){let{message:t}=s;const{parameters:n}=s;return e.message&&(t=gt(e.message,{model:a,evaluate:r.evaluate}),n&&(t=function(e,t){return e.slice().replace(Mr,(e=>t[e.slice(1)]||e))}(t,n))),{message:t}}}updateValidationsForView(e){const t="navigation"===e,r=this.activeBindings,n=t=>{this.getBindings().forEach((r=>{var n;null==(n=this.validations.get(r))||n.update(e,t,(e=>{if(this.options)return this.validationRunner(e,r,this.options)}))}))};if(n(!t),t){const{activeBindings:e}=this;(function(e,t){if(e.size>t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0})(e,r)&&n(!0)}}get activeBindings(){return new Set(Array.from(this.getBindings()).filter((e=>{var t;return void 0!==(null==(t=this.validations.get(e))?void 0:t.get())})))}getValidator(e){if(this.validatorRegistry)return this.validatorRegistry.get(e);const t=new Rt;return this.hooks.createValidatorRegistry.call(t),this.validatorRegistry=t,t.get(e)}getBindings(){var e,t;return null!=(t=null==(e=this.tracker)?void 0:e.getBindings())?t:new Set}trackBinding(e){var t;null==(t=this.tracker)||t.trackBinding(e)}validateView(e="navigation"){this.updateValidationsForView(e);const t=new Map;let r=!0;return this.getBindings().forEach((n=>{var i;const o=null==(i=this.getValidationForBinding(n))?void 0:i.getAll();null==o||o.forEach((i=>{var o;"navigation"===e&&i.blocking&&(null==(o=this.options)||o.logger.debug(`Validation on binding: ${n.asString()} is preventing navigation. ${JSON.stringify(i)}`),r=!1),t.has(n)||t.set(n,i)}))})),{canTransition:r,validations:t.size?t:void 0}}getValidationForBinding(e){return this.validations.get(e)}forView(e){return{_getValidationForBinding:t=>this.getValidationForBinding(F(t)?t:e(t)),getAll:()=>{const e=this.getBindings();if(0===e.size)return;const t=new Map;return e.forEach((e=>{var r;const n=null==(r=this.getValidationForBinding(e))?void 0:r.get();n&&t.set(e,n)})),0===t.size?void 0:t},get(){throw new Error("Error Access be provided by the view plugin")},getValidationsForBinding(){throw new Error("Error rollup should be provided by the view plugin")},getChildren(){throw new Error("Error rollup should be provided by the view plugin")},getValidationsForSection(){throw new Error("Error rollup should be provided by the view plugin")},track:()=>{throw new Error("Tracking should be provided by the view plugin")},register:()=>{throw new Error("Section functionality should be provided by the view plugin")},type:t=>this.schema.getType(F(t)?t:e(t))}}}class un{constructor(e){this.updateCallback=e,this.state=new Map}removeKey(e){this.state.delete(e)}reset(){this.state.clear()}useSharedState(e){return t=>(this.state.has(e)||this.state.set(e,t),[this.state.get(e),t=>{var r;const n=this.state.get(e);this.state.set(e,t),n!==t&&(null==(r=this.updateCallback)||r.call(this))}])}getLocalStateFunction(e,t){return r=>{this.state.has(e)||this.state.set(e,[]),this.state.has(t)||this.state.set(t,0);const n=this.state.get(e),i=this.state.get(t);this.state.set(t,i+1),n.length<=i&&n.push(r);return[n[i],e=>{var t;const r=n[i];n[i]=e,r!==e&&(null==(t=this.updateCallback)||t.call(this))}]}}}function cn(e,t){return e===t||!!e.parent&&cn(e.parent,t)}class hn{constructor(e){this.registry=e,this.stateStore=new Map,this.beforeResolveSymbol=Symbol("before resolve"),this.resolveSymbol=Symbol("resolve"),this.beforeResolveCountSymbol=Symbol("before resolve count"),this.resolveCountSymbol=Symbol("resolve count")}apply(e){e.hooks.view.tap("asset-transform",(e=>{this.stateStore.clear(),e.hooks.resolver.tap("asset-transform",(t=>{let r;const n=(t,n)=>{let i;const o=n===this.resolveSymbol?this.resolveCountSymbol:this.beforeResolveCountSymbol,a=this.stateStore.get(t);return a?(i=a,i.removeKey(o)):(i=new un((()=>{(t=>{r=t,e.update(new Set)})(t)})),this.stateStore.set(t,i)),{useSharedState:e=>i.useSharedState(e),useLocalState:e=>i.getLocalStateFunction(n,o)(e)}};t.hooks.beforeResolve.tap("asset-transform",((e,t)=>{var r;if(e&&("asset"===e.type||"view"===e.type)){const i=this.registry.get(e.value);if(null==i?void 0:i.beforeResolve){const o=n(null!=(r=t.node)?r:e,this.beforeResolveSymbol);return i.beforeResolve(e,t,o)}}return e})),t.hooks.afterUpdate.tap("asset-transform",(()=>{r=void 0})),t.hooks.skipResolve.tap("asset-transform",((e,t)=>{if(!e||!r)return e;const n=cn(r,t),i=cn(t,r);return!n&&!i})),t.hooks.afterResolve.tap("asset-transform",((e,r,i)=>{if(r.type!==yt.Asset&&r.type!==yt.View)return e;const o=t.getSourceNode(r);if(!o)return e;const a=this.registry.get(e);if(null==a?void 0:a.resolve){const t=n(o,this.resolveSymbol);return null==a?void 0:a.resolve(e,i,t)}return e}))}))}))}}var fn=Object.defineProperty,pn=Object.defineProperties,dn=Object.getOwnPropertyDescriptors,gn=Object.getOwnPropertySymbols,vn=Object.prototype.hasOwnProperty,yn=Object.prototype.propertyIsEnumerable,mn=(e,t,r)=>t in e?fn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class bn{constructor(e,t){this.hooks={resolveView:new n.c,view:new n.b},this.transformRegistry=new m.a,this.optimizeUpdates=!0,this.viewOptions=t,this.viewMap=e.reduce(((e,t)=>{return r=((e,t)=>{for(var r in t||(t={}))vn.call(t,r)&&mn(e,r,t[r]);if(gn)for(var r of gn(t))yn.call(t,r)&&mn(e,r,t[r]);return e})({},e),n={[t.id]:t},pn(r,dn(n));var r,n}),{}),new hn(this.transformRegistry).apply(this),t.flowController.hooks.flow.tap("viewController",(e=>{e.hooks.transition.tap("viewController",((e,t)=>{"VIEW"===t.value.state_type?this.onView(t.value):this.currentView=void 0}))}));const r=e=>{this.currentView&&(this.optimizeUpdates?this.queueUpdate(e):this.currentView.update())};t.model.hooks.onUpdate.tap("viewController",(e=>{r(new Set(e.map((e=>e.binding))))})),t.model.hooks.onDelete.tap("viewController",(e=>{const t=e.parent(),n=e.key();r("number"===typeof n&&t?new Set([t]):new Set([e]))}))}queueUpdate(e){var t;(null==(t=this.pendingUpdate)?void 0:t.changedBindings)?this.pendingUpdate.changedBindings=new Set([...this.pendingUpdate.changedBindings,...e]):(this.pendingUpdate={changedBindings:e},y()((()=>{var e,t;const r=null==(e=this.pendingUpdate)?void 0:e.changedBindings;this.pendingUpdate=void 0,null==(t=this.currentView)||t.update(r)})))}getViewForRef(e){if(this.viewMap[e])return this.viewMap[e];const t=Object.keys(this.viewMap).find((t=>e===pt(t,{model:this.viewOptions.model,evaluate:this.viewOptions.evaluator.evaluate})));return t&&this.viewMap[t]?this.viewMap[t]:void 0}onView(e){const t=e.ref,r=this.hooks.resolveView.call(this.getViewForRef(t),t,e);if(!r)throw new Error(`No view with id ${t}`);const n=new kr(r,this.viewOptions);this.currentView=n,this.hooks.view.call(n),n.update()}}class wn{constructor(e,t){this.controller=e,this.logger=t}get(e,t){return this.controller.get(e,t)}set(e,t){var r;return null==(r=this.logger)||r.error("Error: Tried to set in a read only instance of the DataController"),[]}delete(e,t){var r;null==(r=this.logger)||r.error("Error: Tried to delete in a read only instance of the DataController")}}class En{constructor(e,t){this.hooks={resolve:new n.c,resolveDataStages:new n.c,resolveDefaultValue:new n.a,onDelete:new n.b,onSet:new n.b,onGet:new n.b,onUpdate:new n.b,format:new n.c,deformat:new n.c,serialize:new n.c},this.logger=t.logger;const r=t.middleware||[];this.baseMiddleware=[new pe(e),...r],this.trash=new Set,this.pathResolver=t.pathResolver}getModel(){if(!this.model){const e=this.hooks.resolveDataStages.call(this.baseMiddleware),t=new fe;t.setMiddleware(e),this.model=t}return this.model}resolveDataValue(e,t,r){return r?this.hooks.deformat.call(t,e):t}set(e,t){let r=[];r=Array.isArray(e)?e.map((([e,r])=>{const n=this.pathResolver.parse(e);return[n,this.resolveDataValue(n,r,Boolean(null==t?void 0:t.formatted))]})):Object.keys(e).map((r=>{const n=this.pathResolver.parse(r),i=e[r];return[n,this.resolveDataValue(n,i,Boolean(null==t?void 0:t.formatted))]}));const n=r.reduce(((e,[t,r])=>{var n,i;const o=this.get(t,{includeInvalid:!0}),a={binding:t,newValue:r,oldValue:o};return Object(p.a)(o,r)?null==(n=this.logger)||n.debug(`Skipping update for path: ${t.asString()}. Value was unchanged: ${o}`):(e.push(a),null==(i=this.logger)||i.debug(`Setting path: ${t.asString()} from: ${o} to: ${r}`)),e}),[]),i=this.getModel().set(r,t),o=new Set(n.map((e=>e.binding)));return i.forEach((e=>{var t;o.has(e.binding)||!0!==e.force&&Object(p.a)(e.oldValue,e.newValue)||(null==(t=this.logger)||t.debug(`Path: ${e.binding.asString()} was changed from: ${e.oldValue} to: ${e.newValue}`),n.push(e))})),this.hooks.onSet.call(r),n.length>0&&this.hooks.onUpdate.call(n,t),i}resolve(e,t){return Array.isArray(e)||"string"===typeof e?this.pathResolver.parse(e,{readOnly:t}):e}get(e,t){const r=e instanceof $?e:this.resolve(e,!0);let n=this.getModel().get(r,t);if(void 0===n&&!(null==t?void 0:t.ignoreDefaultValue)){const e=this.hooks.resolveDefaultValue.call(r);e!==n&&(n=e)}return(null==t?void 0:t.formatted)?n=this.hooks.format.call(n,r):!1===(null==t?void 0:t.formatted)&&(n=this.hooks.deformat.call(n,r)),this.hooks.onGet.call(e,n),n}delete(e,t){if("string"!==typeof e&&!Array.isArray(e)&&!(e instanceof $))throw new Error("Invalid arguments: delete expects a data path (string)");const r=e instanceof $?e:this.resolve(e,!1),n=r.parent(),i=r.key(),o=this.get(n),a="object"===typeof o&&null!==o&&Object.prototype.hasOwnProperty.call(o,i);this.getModel().delete(r,t),a&&!this.get(r)&&this.trash.add(r),this.hooks.onDelete.call(r)}serialize(){return this.hooks.serialize.call(this.get(""))}makeReadOnly(){return new wn(this,this.logger)}}var Sn=Object.defineProperty,An=Object.getOwnPropertySymbols,xn=Object.prototype.hasOwnProperty,On=Object.prototype.propertyIsEnumerable,Pn=(e,t,r)=>t in e?Sn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Rn=(e,t)=>{for(var r in t||(t={}))xn.call(t,r)&&Pn(e,r,t[r]);if(An)for(var r of An(t))On.call(t,r)&&Pn(e,r,t[r]);return e};function kn(e,t=[],r="."){return Object.keys(e).reduce(((n,i)=>Rn(Rn({},n),"[object Object]"===Object.prototype.toString.call(e[i])?kn(e[i],t.concat([i])):{[t.concat([i]).join(r)]:e[i]})),{})}function _n(e){const t=kn(e),r=[];return Object.keys(t).forEach((e=>{r.push([new $(e),t[e]])})),r}class Tn{constructor(){this.store=new Map,this.tempStore=new Map}addConstants(e,t){var r;this.store.has(t)?null==(r=this.store.get(t))||r.set(_n(e)):this.store.set(t,new pe(e))}getConstants(e,t,r){var n,i,o,a;const s=new $(e);return null!=(a=null!=(o=null==(n=this.tempStore.get(t))?void 0:n.get(s))?o:null==(i=this.store.get(t))?void 0:i.get(s))?a:r}setTemporaryValues(e,t){var r;this.tempStore.has(t)?null==(r=this.tempStore.get(t))||r.set(_n(e)):this.tempStore.set(t,new pe(e))}clearTemporaryValues(e){var t;e?null==(t=this.tempStore.get(e))||t.reset():this.tempStore.forEach((e=>{e.reset()}))}}class Cn{constructor(){this.name="flow-exp-plugin"}apply(e){let t;const r=e=>{e&&("object"===typeof e&&"exp"in e?null==t||t.evaluate(e.exp):null==t||t.evaluate(e))};e.hooks.expressionEvaluator.tap(this.name,(e=>{t=e})),e.hooks.flowController.tap(this.name,(e=>{e.hooks.flow.tap(this.name,(e=>{e.hooks.onStart.tap(this.name,(e=>r(e))),e.hooks.onEnd.tap(this.name,(e=>r(e))),e.hooks.resolveTransitionNode.intercept({call:e=>{(null==e?void 0:e.onStart)&&r(e.onStart)}})}))}))}}class jn{constructor(){this.name="flow-exp-plugin"}apply(e){let t;e.hooks.schema.tap(this.name,(e=>{var r;r=e,t=(e,t,n)=>{var i,o;return null!=(o=null==(i=r.getFormatterForType({type:n}))?void 0:i.format(t))?o:t}})),e.hooks.expressionEvaluator.tap(this.name,(r=>{t&&r.addExpressionFunction("format",t),r.addExpressionFunction("log",((t,...r)=>{e.logger.info(...r)})),r.addExpressionFunction("debug",((t,...r)=>{e.logger.debug(...r)})),r.addExpressionFunction("eval",((e,...t)=>e.evaluate(...t)))}))}}const Un={ref:Symbol("not-started"),status:"not-started"};var Nn=Object.defineProperty,Ln=Object.defineProperties,Bn=Object.getOwnPropertyDescriptors,In=Object.getOwnPropertySymbols,Mn=Object.prototype.hasOwnProperty,Dn=Object.prototype.propertyIsEnumerable,Vn=(e,t,r)=>t in e?Nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Fn=(e,t)=>{for(var r in t||(t={}))Mn.call(t,r)&&Vn(e,r,t[r]);if(In)for(var r of In(t))Dn.call(t,r)&&Vn(e,r,t[r]);return e};const $n=class{constructor(e){var t;this.logger=new Qe,this.constantsController=new Tn,this.state=Un,this.hooks={flowController:new n.b,viewController:new n.b,view:new n.b,expressionEvaluator:new n.b,dataController:new n.b,schema:new n.b,validationController:new n.b,bindingParser:new n.b,state:new n.b,onStart:new n.b,onEnd:new n.b,resolveFlowContent:new n.c},(null==e?void 0:e.logger)&&this.logger.addHandler(e.logger),this.config=e||{},this.config.plugins=[new jn,...this.config.plugins||[],new Cn],null==(t=this.config.plugins)||t.forEach((e=>{e.apply(this)}))}getPlugins(){var e;return null!=(e=this.config.plugins)?e:[]}findPlugin(e){var t;return null==(t=this.config.plugins)?void 0:t.find((t=>t.symbol===e))}applyTo(e,t){const r=this.findPlugin(e);r&&t(r)}registerPlugin(e){var t;e.apply(this),null==(t=this.config.plugins)||t.push(e)}getVersion(){return $n.info.version}getCommit(){return $n.info.commit}getState(){return this.state}setState(e){this.state=e,this.hooks.state.call(e)}setupFlow(e){const t=this.hooks.resolveFlowContent.call(e),r=new Ir(t.navigation,{logger:this.logger});let n,i;this.hooks.onStart.call(t),this.hooks.flowController.call(r);const o=new oe({get:e=>i.get(e),set:e=>i.set(e),evaluate:e=>n.evaluate(e)});this.hooks.bindingParser.call(o);const a=o.parse,s=g()(),l=new ut(t.schema);this.hooks.schema.call(l);const u=new ln(l);let c;function h(e,t){return gt(e,{model:i,evaluate:n.evaluate,formatted:t})}var p,d;return this.hooks.validationController.call(u),i=new En(t.data,{pathResolver:o,middleware:u.getDataMiddleware(),logger:this.logger}),i.hooks.format.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.format(e):e})),i.hooks.deformat.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.deformat(e):e})),i.hooks.resolveDefaultValue.tap("player",(e=>{var t;return null==(t=l.getApparentType(e))?void 0:t.default})),n=new Je({model:i,logger:this.logger}),this.hooks.expressionEvaluator.call(n),n.hooks.onError.tap("player",(e=>(s.reject(e),!0))),r.hooks.flow.tap("player",(e=>{e.hooks.beforeTransition.tap("player",((e,t)=>{const r=e.transitions[t]?t:"*";return e.onEnd&&e.transitions[r]&&("object"===typeof e.onEnd&&"exp"in e.onEnd?null==n||n.evaluate(e.onEnd.exp):null==n||n.evaluate(e.onEnd)),"transitions"in e&&e.transitions[r]?Object(f.setIn)(e,["transitions",r],h(e.transitions[r])):e})),e.hooks.skipTransition.tap("validation",(e=>{var t;if("VIEW"===(null==e?void 0:e.value.state_type)){const{canTransition:e,validations:r}=u.validateView("navigation");if(!e&&r){const e=new Set(r.keys());return null==(t=null==c?void 0:c.currentView)||t.update(e),!0}}})),e.hooks.resolveTransitionNode.tap("player",(e=>{let t=e;return"ref"in e&&(t=Object(f.setIn)(e,["ref"],h(e.ref))),"param"in e&&(t=Object(f.setIn)(e,["param"],h(e.param,!1))),t})),e.hooks.transition.tap("player",((e,t)=>{"VIEW"!==t.value.state_type&&u.reset()})),e.hooks.afterTransition.tap("player",(e=>{var t;const i=null==(t=e.currentState)?void 0:t.value;if(i&&"ACTION"===i.state_type){const{exp:e}=i;null==r||r.transition(String(null==n?void 0:n.evaluate(e)))}n.reset()}))})),this.hooks.dataController.call(i),u.setOptions({parseBinding:a,model:i,logger:this.logger,evaluate:n.evaluate,constants:this.constantsController}),c=new bn(t.views||[],{evaluator:n,parseBinding:a,transition:r.transition,model:i,utils:{findPlugin:e=>this.findPlugin(e)},logger:this.logger,flowController:r,schema:l,format:(e,t)=>{const r=l.getFormatter(e);return(null==r?void 0:r.format)?r.format(t):t},formatValue:(e,t)=>{const r=l.getFormatterForType(e);return(null==r?void 0:r.format)?r.format(t):t},validation:(p=Fn({},u.forView(a)),d={type:e=>l.getType(a(e))},Ln(p,Bn(d))),constants:this.constantsController}),c.hooks.view.tap("player",(e=>{u.onView(e),this.hooks.view.call(e)})),this.hooks.viewController.call(c),{start:()=>{r.start().then((e=>({endState:h(e,!1),data:i.serialize()}))).then(s.resolve).catch((e=>{throw this.logger.error(`Something went wrong: ${e.message}`),e})).catch(s.reject).finally((()=>this.hooks.onEnd.call()))},state:{status:"in-progress",flowResult:s.promise,controllers:{data:i,view:c,flow:r,schema:l,expression:n,binding:o,validation:u},fail:s.reject,flow:t,logger:this.logger}}}start(e){return t=this,r=null,n=function*(){var t;const r=Symbol(null!=(t=null==e?void 0:e.id)?t:"payload"),n=e=>this.state.ref!==r?(this.logger.warn("Received update for a flow that's not the current one"),e):(this.setState(e),e);this.setState({status:"not-started",ref:r});try{const{state:t,start:i}=this.setupFlow(e);this.setState(Fn({ref:r},t)),i();const o={ref:r,status:"completed",flow:t.flow,controllers:{data:t.controllers.data.makeReadOnly()}};return n(Fn(Fn({},yield t.flowResult),o))}catch(i){throw n({status:"error",ref:r,flow:e,error:i}),i}},new Promise(((e,i)=>{var o=e=>{try{s(n.next(e))}catch(t){i(t)}},a=e=>{try{s(n.throw(e))}catch(t){i(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,a);s((n=n.apply(t,r)).next())}));var t,r,n}};$n.info={version:"0.6.0-next.0",commit:"7c26e7b867b837ac89a482c8adbf3792336da50f"}},function(e,t,r){e.exports=function(e,t,r,n,i){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:i;return e===i?r:e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toError=t.NestedError=void 0;class n extends Error{constructor(e,...t){super(e);const r=n.getErrorReport(this);if(1===t.length){const e=i(t[0]);this.innerErrors=[e];const o=n.getErrorReport(e);return void(this.stack=`${r}\n\n======= INNER ERROR =======\n\n${o}`)}this.innerErrors=t.map((e=>i(e)));const o=this.innerErrors.map(((e,r)=>{const i=n.getErrorReport(e);return`======= INNER ERROR (${r+1} of ${t.length}) =======\n\n${i}`})).join("\n\n");this.stack=`${r}\n\n${o}`}get innerError(){return 0===this.innerErrors.length?null:this.innerErrors[0]}static rethrow(e){return(...t)=>{throw new this(e,...t)}}}function i(e){try{return e instanceof Error?e:new Error(`Value that is not an instance of Error was thrown: ${e}`)}catch{return new Error("Failed to stringify non-instance of Error that was thrown.This is possibly due to the fact that toString() method of the valuedoesn't return a primitive value.")}}t.NestedError=n,n.getErrorReport="string"===typeof(new Error).stack?e=>e.stack:e=>`${e.name}: ${e.message}`,n.prototype.name="NestedError",t.toError=i},function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"b",(function(){return l}));var n=r(13),i=r.n(n),o=r(4),a=r.n(o);function s(e,t=[],r=new Map){for(const n of Object.keys(e)){const i=e[n],o=[...t,n];"object"===typeof i?s(i,o,r):r.set(o,i)}return r}function l(e){const t=s(e),r=e=>{for(const r of t){const[t,n]=r;if(a()(e,t)!==n)return!1}return!0};return r.count=t.size,r}const u=()=>new i.a([],(e=>e.matcher.count));class c{constructor(e){this.store=u(),null==e||e.forEach((([e,t])=>{this.set(e,t)}))}set(e,t){const r="object"===typeof e?l(e):function(e){const t=t=>e===t;return t.count=1,t}(e);this.store.insert({key:e,value:t,matcher:r})}get(e){for(const t of this.store.array)if(t.matcher(e))return t.value}forEach(e){for(const t of this.store.array)e(t)}clear(){this.store=u()}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parser=exports.findRuleByName=exports.parseRuleName=exports.escapeRegExp=exports.readToken=void 0;const UPPER_SNAKE_RE=/^[A-Z0-9_]+$/,decorationRE=/(\?|\+|\*)$/,preDecorationRE=/^(@|&|!)/,WS_RULE="WS",TokenError_1=__webpack_require__(9);function readToken(e,t){let r=t.exec(e);return r&&0==r.index?0==r[0].length&&t.source.length>0?null:{type:null,text:r[0],rest:e.substr(r[0].length),start:0,end:r[0].length-1,fullText:r[0],errors:[],children:[],parent:null}:null}function escapeRegExp(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function fixRest(e){e.rest="",e.children&&e.children.forEach((e=>fixRest(e)))}function fixPositions(e,t){e.start+=t,e.end+=t,e.children&&e.children.forEach((t=>fixPositions(t,e.start)))}function agregateErrors(e,t){t.errors&&t.errors.length&&t.errors.forEach((t=>e.push(t))),t.children&&t.children.forEach((t=>agregateErrors(e,t)))}function parseRuleName(e){let t=decorationRE.exec(e),r=preDecorationRE.exec(e),n=t&&t[0]||"",i=r&&r[0]||"",o={raw:e,name:e.replace(decorationRE,"").replace(preDecorationRE,""),isOptional:"?"==n||"*"==n,allowRepetition:"+"==n||"*"==n,atLeastOne:"+"==n,lookupPositive:"&"==i,lookupNegative:"!"==i,pinned:"@"==i,lookup:!1,isLiteral:!1};return o.isLiteral="'"==o.name[0]||'"'==o.name[0],o.lookup=o.lookupNegative||o.lookupPositive,o}function findRuleByName(e,t){let r=parseRuleName(e);return t.cachedRules[r.name]||null}function stripRules(e,t){if(e.children){let r=e.children.filter((e=>e.type&&t.test(e.type)));for(let t=0;t<r.length;t++){let n=e.children.indexOf(r[t]);-1!=n&&e.children.splice(n,1)}e.children.forEach((e=>stripRules(e,t)))}}exports.readToken=readToken,exports.escapeRegExp=escapeRegExp,exports.parseRuleName=parseRuleName,exports.findRuleByName=findRuleByName;const ignoreMissingRules=["EOF"];class Parser{constructor(e,t){this.grammarRules=e,this.options=t,this.cachedRules={},this.debug=!!t&&!0===t.debug;let r=[],n=[];if(e.forEach((e=>{let t=parseRuleName(e.name);if(t.name in this.cachedRules)r.push("Duplicated rule "+t.name);else{if(this.cachedRules[t.name]=e,e.bnf&&e.bnf.length)e.bnf.forEach((t=>{if("string"===typeof t[0]){if(parseRuleName(t[0]).name==e.name){let t="Left recursion is not allowed, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}}t.forEach((e=>{if("string"==typeof e){let t=parseRuleName(e);t.isLiteral||-1!=n.indexOf(t.name)||-1!=ignoreMissingRules.indexOf(t.name)||n.push(t.name)}}))}));else{let t="Missing rule content, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}WS_RULE==e.name&&(e.implicitWs=!1),e.implicitWs&&-1==n.indexOf(WS_RULE)&&n.push(WS_RULE),e.recover&&-1==n.indexOf(e.recover)&&n.push(e.recover)}})),n.forEach((e=>{e in this.cachedRules||r.push("Missing rule "+e)})),r.length)throw new Error(r.join("\n"))}getAST(e,t){t||(t=this.grammarRules.filter((e=>!e.fragment&&0!=e.name.indexOf("%")))[0].name);let r=this.parse(e,t);if(r){agregateErrors(r.errors,r),fixPositions(r,0),stripRules(r,/^%/),this.options&&this.options.keepUpperRules||stripRules(r,UPPER_SNAKE_RE);let e=r.rest;e&&new TokenError_1.TokenError("Unexpected end of input: \n"+e,r),fixRest(r),r.rest=e}return r}emitSource(){return"CANNOT EMIT SOURCE FROM BASE Parser"}parse(txt,target,recursion=0){let out=null,type=parseRuleName(target),expr,printable=this.debug&&!UPPER_SNAKE_RE.test(type.name);printable&&console.log(new Array(recursion).join("\u2502 ")+"Trying to get "+target+" from "+JSON.stringify(txt.split("\n")[0]));let realType=type.name,targetLex=findRuleByName(type.name,this);if("EOF"==type.name){if(txt.length)return null;if(0==txt.length)return{type:"EOF",text:"",rest:"",start:0,end:0,fullText:"",errors:[],children:[],parent:null}}try{if(!targetLex&&type.isLiteral){let src=eval(type.name);if(""===src)return{type:"%%EMPTY%%",text:"",rest:txt,start:0,end:0,fullText:"",errors:[],children:[],parent:null};expr=new RegExp(escapeRegExp(src)),realType=null}}catch(e){return e instanceof ReferenceError&&console.error(e),null}if(expr){let e=readToken(txt,expr);if(e)return e.type=realType,e}else{let e=targetLex.bnf;e instanceof Array&&e.forEach((e=>{if(out)return;let t=null,r={type:type.name,text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:txt};targetLex.fragment&&(r.fragment=!0);let n=txt,i=0,o=e.length>0,a=!1;for(let s=0;s<e.length;s++)if("string"==typeof e[s]){let l,u=parseRuleName(e[s]);o=o&&u.isOptional;let c=!1;do{if(l=null,targetLex.implicitWs&&(l=this.parse(n,u.name,recursion+1),!l)){let e;do{if(e=this.parse(n,WS_RULE,recursion+1),!e)break;r.text=r.text+e.text,r.end=r.text.length,e.parent=r,r.children.push(e),n=n.substr(e.text.length),i+=e.text.length}while(e&&e.text.length)}if(l=l||this.parse(n,u.name,recursion+1),u.lookupNegative){if(l)return;break}if(u.lookupPositive&&!l)return;if(!l){if(u.isOptional)break;if(u.atLeastOne&&c)break}if(l&&targetLex.pinned==s+1&&(t=l,printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" PINNED")),l||(l=this.parseRecovery(targetLex,n,recursion+1)),!l){if(!t)return;out=r,l={type:"SyntaxError",text:n,children:[],end:n.length,errors:[],fullText:"",parent:null,start:0,rest:""},n.length?new TokenError_1.TokenError(`Unexpected end of input. Expecting ${u.name} Got: ${n}`,l):new TokenError_1.TokenError(`Unexpected end of input. Missing ${u.name}`,l),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text))}if(c=!0,a=!0,"%%EMPTY%%"==l.type)break;l.start+=i,l.end+=i,!u.lookupPositive&&l.type&&(l.fragment?l.children&&l.children.forEach((e=>{e.start+=i,e.end+=i,e.parent=r,r.children.push(e)})):(l.parent=r,r.children.push(l))),u.lookup&&(l.lookup=!0),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text)),u.lookup||l.lookup||(r.text=r.text+l.text,r.end=r.text.length,n=n.substr(l.text.length),i+=l.text.length),r.rest=n}while(l&&u.allowRepetition&&n.length&&!l.lookup)}else{let t=readToken(n,e[s]);if(!t)return;printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514> "+JSON.stringify(t.text)+e[s].source),a=!0,t.start+=i,t.end+=i,r.text=r.text+t.text,r.end=r.text.length,n=n.substr(t.text.length),i+=t.text.length,r.rest=n}a&&(out=r,printable&&console.log(new Array(recursion).join("\u2502 ")+"\u251c<\u2500\u2534< PUSHING "+out.type+" "+JSON.stringify(out.text)))})),out&&targetLex.simplifyWhenOneChildren&&1==out.children.length&&(out=out.children[0])}return out||printable&&console.log(target+" NOT RESOLVED FROM "+txt),out}parseRecovery(e,t,r){if(e.recover&&t.length){let n=this.debug;n&&console.log(new Array(r+1).join("\u2502 ")+"Trying to recover until token "+e.recover+" from "+JSON.stringify(t.split("\n")[0]+t.split("\n")[1]));let i,o={type:"SyntaxError",text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:""};do{if(i=this.parse(t,e.recover,r+1),i){new TokenError_1.TokenError('Unexpected input: "'+o.text+`" Expecting: ${e.name}`,o);break}o.text=o.text+t[0],o.end=o.text.length,t=t.substr(1)}while(!i&&t.length>0);if(o.text.length>0&&i)return n&&console.log(new Array(r+1).join("\u2502 ")+"Recovered text: "+JSON.stringify(o.text)),o}return null}}exports.Parser=Parser,exports.default=Parser},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=Object.prototype.hasOwnProperty;function i(e,t,r){for(r of e.keys())if(o(r,t))return r}function o(e,t){var r,a,s;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((a=e.length)===t.length)for(;a--&&o(e[a],t[a]););return-1===a}if(r===Set){if(e.size!==t.size)return!1;for(a of e){if((s=a)&&"object"===typeof s&&!(s=i(t,s)))return!1;if(!t.has(s))return!1}return!0}if(r===Map){if(e.size!==t.size)return!1;for(a of e){if((s=a[0])&&"object"===typeof s&&!(s=i(t,s)))return!1;if(!o(a[1],t.get(s)))return!1}return!0}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return-1===a}if(ArrayBuffer.isView(e)){if((a=e.byteLength)===t.byteLength)for(;a--&&e[a]===t[a];);return-1===a}if(!r||"object"===typeof e){for(r in a=0,e){if(n.call(e,r)&&++a&&!n.call(t,r))return!1;if(!(r in t)||!o(e[r],t[r]))return!1}return Object.keys(t).length===a}}return e!==e&&t!==t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenError=void 0;class n extends Error{constructor(e,t){if(super(e),this.message=e,this.token=t,!t||!t.errors)throw this;t.errors.push(this)}inspect(){return"SyntaxError: "+this.message}}t.TokenError=n},function(e,t,r){"use strict";function n(e,t){for(var r,i=0,o=e.length;i<o;i++)r=e[i],Array.isArray(r)?n(r,t):t.push(r);return t}e.exports=function(e){return n(e,[])}},function(e,t,r){"use strict";e.exports=()=>{const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},function(e,t,r){var n,i=function(){var e=function(e){var t=e.constructor;return t.prototype=e,t}({constructor:function(e,r){this.array=[],this.compare=r||t;for(var n=e.length,i=0;i<n;)this.insert(e[i++])},insert:function(e){for(var t,r,n=this.array,i=this.compare,o=n.length-1,a=0,s=-1;o>=a;)if((r=i(n[t=(o+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0)){s=t;break}o=t-1}for(-1===s&&(s=o),s++,o=n.length-1;s<o&&0===i(e,n[s]);)s++;for(t=n.length,n.push(e);t>s;)n[t]=n[--t];return n[s]=e,this},search:function(e){for(var t,r,n=this.array,i=this.compare,o=n.length-1,a=0;o>=a;)if((r=i(n[t=(o+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0))return t;o=t-1}return-1},remove:function(e){var t=this.search(e);return t>=0&&this.array.splice(t,1),this}});return e.comparing=function(r,n){return new e(n,(function(e,n){return t(e[r],n[r])}))},e;function t(e,t){return e<t?-1:e>t?1:0}}();e.exports=i,void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(7);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return n.Parser}});var i=r(9);Object.defineProperty(t,"TokenError",{enumerable:!0,get:function(){return i.TokenError}}),t.Grammars=r(22)},function(e,t,r){(function(t){let r;e.exports="function"===typeof queueMicrotask?queueMicrotask.bind("undefined"!==typeof window?window:t):e=>(r||(r=Promise.resolve())).then(e).catch((e=>setTimeout((()=>{throw e}),0)))}).call(this,r(12))},,function(e,t,r){"use strict";r.r(t),r.d(t,"CheckPathPlugin",(function(){return c}));var n=r(3),i=r(6),o=r(4),a=r.n(o);const s=Symbol.for("CheckPathPlugin");function l(e){return"string"===typeof e||"number"===typeof e?Object(i.b)({type:e}):"function"===typeof e?e:Object(i.b)(e)}function u(e,t){let r=e;for(;r.parent&&r.parent.type!==n.NodeType.Asset&&r.parent.type!==n.NodeType.View;)r=r.parent;const{parent:i}=r;if(i&&(i.type===n.NodeType.Asset||i.type===n.NodeType.View))return i}class c{constructor(){this.name="check-path",this.symbol=s}apply(e){e.hooks.viewController.tap(this.name,(e=>{e.hooks.view.tap(this.name,(e=>{e.hooks.resolver.tap(this.name,(e=>{const t={resolvedMap:new Map,assetIdMap:new Map,resolver:e};this.viewInfo=t,e.hooks.afterResolve.tap(this.name,((e,r)=>{const i=this.getSourceAssetNode(r);if(i&&(t.resolvedMap.set(i,{resolved:r,value:e}),r.type===n.NodeType.Asset||r.type===n.NodeType.View)){const n=a()(e,"id");n&&t.assetIdMap.set(n,r)}return e}))}))}))}))}getParent(e,t){var r;const n=null==(r=this.viewInfo)?void 0:r.assetIdMap.get(e);if(!n||!this.viewInfo)return;let i=u(n);if(void 0===t)return i?this.getAssetFromAssetNode(i):void 0;const o=Array.isArray(t)?[...t]:[t];let a=o.shift(),s=0;for(;i&&a;){if(s++>=50)throw new Error("Recursion depth exceeded. Check for cycles in the AST graph");const e=l(a),t=this.getAssetFromAssetNode(i);if(t&&e(t)){if(0===o.length)return t;a=o.shift()}i=u(i)}}getParentProp(e){var t,r,i;const o=null==(t=this.viewInfo)?void 0:t.assetIdMap.get(e);if(!o||!this.viewInfo)return;let a,s=o;for(;s&&(a=null==s?void 0:s.parent,!a||a.type!==n.NodeType.Asset&&a.type!==n.NodeType.View);)s=null==s?void 0:s.parent;if(a&&"children"in a){const e=null==(r=a.children)?void 0:r.find((e=>e.value===s));return null==(i=null==e?void 0:e.path)?void 0:i[0]}}getSourceAssetNode(e){var t;let r=null==(t=this.viewInfo)?void 0:t.resolver.getSourceNode(e);return"applicability"===(null==r?void 0:r.type)&&(r=r.value),r}hasParentContext(e,t){return Boolean(this.getParent(e,t))}findChildPath(e,t,r=!0){var i,o;if(0===t.length)return!0;const[a,...s]=t,u=l(a);if(e.type===n.NodeType.Asset||e.type===n.NodeType.View||e.type===n.NodeType.Applicability){const o=this.getResolvedValue(e),a=null!=(i=r&&u(o))&&i,l=a?s:t;if(0===l.length&&a)return!0;const c=e.type===n.NodeType.Applicability?e.value.children:e.children;if(l.length&&(!c||0===c.length))return!1;if(null==c?void 0:c.some((e=>this.findChildPath(e.value,l))))return!0}else{if(e.type===n.NodeType.MultiNode&&e.values.some((e=>this.findChildPath(e,t))))return!0;if("children"in e&&(null==(o=e.children)?void 0:o.some((e=>this.findChildPath(e.value,t)))))return!0}return!1}hasChildContext(e,t){var r;const n=null==(r=this.viewInfo)?void 0:r.assetIdMap.get(e),i=Array.isArray(t)?[...t]:[t];return!!n&&this.findChildPath(n,i,!1)}getAsset(e){var t;const r=null==(t=this.viewInfo)?void 0:t.assetIdMap.get(e);if(r)return this.getAssetFromAssetNode(r)}getAssetFromAssetNode(e){var t,r;const n=this.getSourceAssetNode(e);if(n)return null==(r=null==(t=this.viewInfo)?void 0:t.resolvedMap.get(n))?void 0:r.value}getPath(e,t){var r,i;const o=null==(r=this.viewInfo)?void 0:r.assetIdMap.get(e);if(!o||!this.viewInfo)return;let a=[],s=[];t&&(s=Array.isArray(t)?[...t]:[t]);let u=s.shift(),c=o;const h=e=>{var t;return null==(t=e.children)?void 0:t.find((e=>e.value===c))};for(;void 0!==c;){const{parent:e}=c;if(e){if(e.type===n.NodeType.MultiNode){const t=e.values.indexOf(c);if(-1!==t){a=[t-e.values.slice(0,t).reduce(((e,t)=>void 0===this.getResolvedValue(t)?e+1:e),0),...a]}}else if("children"in e){const t=h(e);a=[...null!=(i=null==t?void 0:t.path)?i:[],...a]}if(u){if(l(u)(this.getResolvedValue(e))&&(u=s.shift(),!u))return a}}c=c.parent}return u?void 0:a}getResolvedValue(e){var t,r;const n=this.getSourceAssetNode(e);return null==(r=null==(t=this.viewInfo)?void 0:t.resolvedMap.get(null!=n?n:e))?void 0:r.value}}},function(e,t,r){"use strict";(function(e){var n=r(19),i=r(20),o=r(21);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,r){if(!l.TYPED_ARRAY_SUPPORT&&!(this instanceof l))return new l(e,t,r);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,r)}function u(e,t,r,n){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=f(e,t);return e}(e,t,r,n):"string"===typeof t?function(e,t,r){"string"===typeof r&&""!==r||(r="utf8");if(!l.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|d(t,r),i=(e=s(e,n)).write(t,r);i!==n&&(e=e.slice(0,i));return e}(e,t,r):function(e,t){if(l.isBuffer(t)){var r=0|p(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||(n=t.length)!==n?s(e,0):f(e,t);if("Buffer"===t.type&&o(t.data))return f(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(c(t),e=s(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function f(e,t){var r=t.length<0?0:0|p(t.length);e=s(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function p(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function d(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(e).length;default:if(n)return F(e).length;t=(""+t).toLowerCase(),n=!0}}function g(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,r);case"utf8":case"utf-8":return P(this,t,r);case"ascii":return k(this,t,r);case"latin1":case"binary":return _(this,t,r);case"base64":return O(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function v(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function y(e,t,r,n,i){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"===typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:m(e,t,r,n,i);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):m(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(e,t,r,n,i){var o,a=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var c=-1;for(o=r;o<s;o++)if(u(e,o)===u(t,-1===c?0:o-c)){if(-1===c&&(c=o),o-c+1===l)return c*a}else-1!==c&&(o-=o-c),c=-1}else for(r+l>s&&(r=s-l),o=r;o>=0;o--){for(var h=!0,f=0;f<l;f++)if(u(e,o+f)!==u(t,f)){h=!1;break}if(h)return o}return-1}function b(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a<n;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[r+a]=s}return a}function w(e,t,r,n){return H(F(t,e.length-r),e,r,n)}function E(e,t,r,n){return H(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function S(e,t,r,n){return E(e,t,r,n)}function A(e,t,r,n){return H($(t),e,r,n)}function x(e,t,r,n){return H(function(e,t){for(var r,n,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=(r=e.charCodeAt(a))>>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function O(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var o,a,s,l,u=e[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128===(192&(o=e[i+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=e[i+1],a=e[i+2],128===(192&o)&&128===(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=R));return r}(n)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return u(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return c(t),t<=0?s(e,t):void 0!==r?"string"===typeof n?s(e,t).fill(r,n):s(e,t).fill(r):s(e,t)}(null,e,t,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,o=Math.min(r,n);i<o;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=l.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var a=e[r];if(!l.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},l.byteLength=d,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)v(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)v(this,t,t+3),v(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)v(this,t,t+7),v(this,t+1,t+6),v(this,t+2,t+5),v(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?P(this,0,e):g.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,r,n,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(n,i),c=e.slice(t,r),h=0;h<s;++h)if(u[h]!==c[h]){o=u[h],a=c[h];break}return o<a?-1:a<o?1:0},l.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},l.prototype.indexOf=function(e,t,r){return y(this,e,t,r,!0)},l.prototype.lastIndexOf=function(e,t,r){return y(this,e,t,r,!1)},l.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"===typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":return E(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function k(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function _(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function T(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",o=t;o<r;++o)i+=V(e[o]);return i}function C(e,t,r){for(var n=e.slice(t,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function j(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function U(e,t,r,n,i,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function N(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i<o;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function L(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i<o;++i)e[r+i]=t>>>8*(n?i:3-i)&255}function B(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(e,t,r,n,o){return o||B(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function M(e,t,r,n,o){return o||B(e,0,r,8),i.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=l.prototype;else{var i=t-e;r=new l(i,void 0);for(var o=0;o<i;++o)r[o]=this[o+e]}return r},l.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],i=1,o=0;++o<t&&(i*=256);)n+=this[e+o]*i;return n},l.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUInt8=function(e,t){return t||j(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||j(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||j(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||j(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],i=1,o=0;++o<t&&(i*=256);)n+=this[e+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return t||j(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||j(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||j(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||j(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||j(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||j(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||j(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o<r&&(i*=256);)this[t+o]=e/i&255;return t+r},l.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);U(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<r&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);U(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return I(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return I(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return M(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return M(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i,o=n-r;if(this===e&&r<t&&t<n)for(i=o-1;i>=0;--i)e[i+t]=this[i+r];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+o),t);return o},l.prototype.fill=function(e,t,r,n){if("string"===typeof e){if("string"===typeof t?(n=t,t=0,r=this.length):"string"===typeof r&&(n=r,r=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!==typeof n)throw new TypeError("encoding must be a string");if("string"===typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var o;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(o=t;o<r;++o)this[o]=e;else{var a=l.isBuffer(e)?e:F(new l(e,n).toString()),s=a.length;for(o=0;o<r-t;++o)this[o+t]=a[o%s]}return this};var D=/[^+\/0-9A-Za-z-_]/g;function V(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e,t){var r;t=t||1/0;for(var n=e.length,i=null,o=[],a=0;a<n;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function $(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(D,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function H(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}}).call(this,r(12))},function(e,t,r){"use strict";t.byteLength=function(e){var t=u(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=u(e),a=n[0],s=n[1],l=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r<h;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],l[c++]=t>>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,l[c++]=255&t);1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=[],a=16383,s=0,l=r-i;s<l;s+=a)o.push(c(e,s,s+a>l?l:s+a));1===i?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s<l;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var i,o,a=[],s=t;s<r;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+e[t+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=256*a+e[t+h],h+=f,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),o-=u}return(p?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,l,u=8*o-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(t*l-1)*Math.pow(2,i),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(a=a<<i|s,u+=i;u>0;e[r+p]=255&a,p+=d,a/=256,u-=8);e[r+p-d]|=128*g}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(23);Object.defineProperty(t,"BNF",{enumerable:!0,get:function(){return n.default}});var i=r(25);Object.defineProperty(t,"W3C",{enumerable:!0,get:function(){return i.default}});var o=r(26);Object.defineProperty(t,"Custom",{enumerable:!0,get:function(){return o.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(24),i=r(7);var o;!function(e){function t(e){let r=n.findChildrenByType(e,"term").map((e=>n.findChildrenByType(e,"literal").concat(n.findChildrenByType(e,"rule-name"))[0].text));return n.findChildrenByType(e,"list").forEach((e=>{r=r.concat(t(e))})),r}function r(r,i=e.defaultParser){let o=i.getAST(r);if(!o)throw new Error("Could not parse "+r);if(o.errors&&o.errors.length)throw o.errors[0];let a=n.findChildrenByType(o,"rule").map((e=>{let r=n.findChildrenByType(e,"rule-name")[0].text,i=n.findChildrenByType(e,"firstExpression").concat(n.findChildrenByType(e,"otherExpression")),o=[];return i.forEach((e=>{o.push(t(e))})),{name:r,bnf:o}}));return a.some((e=>"EOL"==e.name))||a.push({name:"EOL",bnf:[['"\\r\\n"','"\\r"','"\\n"']]}),a}e.RULES=[{name:"syntax",bnf:[["RULE_EOL*","rule+"]]},{name:"rule",bnf:[['" "*','"<"',"rule-name",'">"','" "*','"::="',"firstExpression","otherExpression*",'" "*',"RULE_EOL+",'" "*']]},{name:"firstExpression",bnf:[['" "*',"list"]]},{name:"otherExpression",bnf:[['" "*','"|"','" "*',"list"]]},{name:"RULE_EOL",bnf:[['"\\r"'],['"\\n"']]},{name:"list",bnf:[["term",'" "*',"list"],["term"]]},{name:"term",bnf:[["literal"],['"<"',"rule-name",'">"']]},{name:"literal",bnf:[["'\"'","RULE_CHARACTER1*","'\"'"],['"\'"',"RULE_CHARACTER2*",'"\'"']]},{name:"RULE_CHARACTER",bnf:[['" "'],["RULE_LETTER"],["RULE_DIGIT"],["RULE_SYMBOL"]]},{name:"RULE_LETTER",bnf:[['"A"'],['"B"'],['"C"'],['"D"'],['"E"'],['"F"'],['"G"'],['"H"'],['"I"'],['"J"'],['"K"'],['"L"'],['"M"'],['"N"'],['"O"'],['"P"'],['"Q"'],['"R"'],['"S"'],['"T"'],['"U"'],['"V"'],['"W"'],['"X"'],['"Y"'],['"Z"'],['"a"'],['"b"'],['"c"'],['"d"'],['"e"'],['"f"'],['"g"'],['"h"'],['"i"'],['"j"'],['"k"'],['"l"'],['"m"'],['"n"'],['"o"'],['"p"'],['"q"'],['"r"'],['"s"'],['"t"'],['"u"'],['"v"'],['"w"'],['"x"'],['"y"'],['"z"']]},{name:"RULE_DIGIT",bnf:[['"0"'],['"1"'],['"2"'],['"3"'],['"4"'],['"5"'],['"6"'],['"7"'],['"8"'],['"9"']]},{name:"RULE_SYMBOL",bnf:[['"-"'],['"_"'],['"!"'],['"#"'],['"$"'],['"%"'],['"&"'],['"("'],['")"'],['"*"'],['"+"'],['","'],['"-"'],['"."'],['"/"'],['":"'],['";"'],['"<"'],['"="'],['">"'],['"?"'],['"@"'],['"["'],['"\\"'],['"]"'],['"^"'],['"_"'],['"`"'],['"{"'],['"|"'],['"}"'],['"~"']]},{name:"RULE_CHARACTER1",bnf:[["RULE_CHARACTER"],['"\'"']]},{name:"RULE_CHARACTER2",bnf:[["RULE_CHARACTER"],["'\"'"]]},{name:"rule-name",bnf:[["RULE_LETTER","RULE_CHAR*"]]},{name:"RULE_CHAR",bnf:[["RULE_LETTER"],["RULE_DIGIT"],['"_"'],['"-"']]}],e.defaultParser=new i.Parser(e.RULES,{debug:!1}),e.getRules=r,e.Transform=function(t,n=e.defaultParser){return r(t.join(""),n)};class o extends i.Parser{constructor(t,n){super(r(t,n&&!0===n.debugRulesParser?new i.Parser(e.RULES,{debug:!0}):e.defaultParser),n),this.source=t}emitSource(){return this.source}}e.Parser=o}(o||(o={})),t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findChildrenByType=void 0,t.findChildrenByType=function(e,t){return e.children?e.children.filter((e=>e.type==t)):[]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(7);var i;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_WHITESPACE*",'"|"',"RULE_WHITESPACE*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","Item"],["Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"Item",bnf:[["RULE_WHITESPACE*","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"DecorationName",bnf:[['"ebnf://"',/[^\x5D#]+/]]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']],pinned:1},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[['!"*/"',/[^*]/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new n.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,i=/^%/;function o(e,o){if("string"==typeof e){if(t.test(e))return"";if(i.test(e)){let t=r.exec(e),i=t?t[0]+" ":"",s=function(e,t){let r=n.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,o);return s?a(e,o)+i:"("+a(e,o)+")"+i}return e}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function a(e,t){let r=n.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>o(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function s(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" /* { recoverUntil="+r.recover+" } */":"";t.push(r.name+" ::= "+a(r.name,e)+n)}})),t.join("\n")}e.emit=s;let l=0;function u(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function c(e,t,r){let n=null,i=[];return t.children.forEach(((o,a)=>{"Minus"==o.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(n,o);let s=t.children[a+1];s=s&&"PrimaryDecoration"==s.type&&s.text||"";switch(o.type){case"SubItem":let t="%"+(r+l++);h(e,o,t),i.push(""+t+s);break;case"NCName":case"StringLiteral":i.push(""+o.text+s);break;case"CharCode":case"CharClass":if(s){let t={name:"%"+(r+l++),bnf:[[u(o.text)]]};e.push(t),i.push(""+t.name+s)}else i.push(u(o.text));break;case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+o.type+" -> "+JSON.stringify(o.text))}n=o})),i}function h(e,t,r){let n=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>c(e,t,r))),i={name:r,bnf:n},o=null;n.forEach((e=>{o=o||e.recover,delete e.recover})),0==r.indexOf("%")&&(i.fragment=!0),o&&(i.recover=o),e.push(i)}function f(t,r=e.defaultParser){let n=r.getAST(t);if(!n)throw new Error("Could not parse "+t);if(n.errors&&n.errors.length)throw n.errors[0];let i=[];return n.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;h(i,e,t)})),i}e.getRules=f,e.Transform=function(t,r=e.defaultParser){return f(t.join(""),r)};class p extends n.Parser{constructor(t,r){super(f(t,r&&!0===r.debugRulesParser?new n.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return s(this)}}e.Parser=p}(i||(i={})),t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9),i=r(7);var o;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","Attributes?","RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","%Choice","RULE_WHITESPACE*","Attributes?","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Attributes",bnf:[['"{"',"Attribute","%Attributes*","RULE_S*",'"}"']]},{name:"%Attributes",bnf:[["RULE_S*",'","',"Attribute"]],fragment:!0},{name:"Attribute",bnf:[["RULE_S*","NCName","RULE_WHITESPACE*",'"="',"RULE_WHITESPACE*","AttributeValue"]]},{name:"AttributeValue",bnf:[["NCName"],[/[1-9][0-9]*/]]},{name:"%Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_S*",'"|"',"RULE_S*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["%Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","%Item"],["%Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"%Item",bnf:[["RULE_WHITESPACE*","PrimaryPreDecoration?","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"PrimaryPreDecoration",bnf:[['"&"'],['"!"'],['"~"']]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_S*","%Choice","RULE_S*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']]},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[[/[^*]/],['"*"+',/[^/]*/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new i.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,o=/^%/;function a(e,n){if("string"==typeof e){let a=r.exec(e),l=t.exec(e),u=l?l[0]:"",c=a?a[0]+" ":"";if(o.test(e)){let t=function(e,t){let r=i.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,n);return t?u+s(e,n)+c:u+"("+s(e,n)+")"+c}return e.replace(t,u)}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function s(e,t){let r=i.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>a(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function l(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" { recoverUntil="+r.recover+" }":"";t.push(r.name+" ::= "+s(r.name,e)+n)}})),t.join("\n")}e.emit=l;let u=0;function c(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function h(e,t,r,n){let o=null,a=[];return t.children.forEach(((s,l)=>{"Minus"==s.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(o,s);let h=t.children[l+1];h=h&&"PrimaryDecoration"==h.type&&h.text||"";let p="";o&&"PrimaryPreDecoration"==o.type&&(p=o.text);let d="~"==p?1:void 0;switch(d&&(p=""),s.type){case"SubItem":let t="%"+(r+u++);f(e,s,t,n),a.push(p+t+h);break;case"NCName":a.push(p+s.text+h);break;case"StringLiteral":if(h||p||!/^['"/()a-zA-Z0-9&_.:=,+*\-\^\\]+$/.test(s.text))a.push(p+s.text+h);else for(const e of s.text.slice(1,-1))n&&"true"==n.ignoreCase&&/[a-zA-Z]/.test(e)?a.push(new RegExp("["+e.toUpperCase()+e.toLowerCase()+"]")):a.push(new RegExp(i.escapeRegExp(e)));break;case"CharCode":case"CharClass":if(h||p){let t={name:"%"+(r+u++),bnf:[[c(s.text)]],pinned:d};e.push(t),a.push(p+t.name+h)}else a.push(c(s.text));break;case"PrimaryPreDecoration":case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+s.type+" -> "+JSON.stringify(s.text))}o=s})),a}function f(e,t,r,i){let o=t.children.filter((e=>"Attributes"==e.type))[0],a={};o&&o.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in a)throw new n.TokenError("Duplicated attribute "+t,e);a[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text}));let s=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>h(e,t,r,i||a))),l={name:r,bnf:s};if(0==r.indexOf("%")&&(l.fragment=!0),a.recoverUntil&&(l.recover=a.recoverUntil,l.bnf.length>1))throw new n.TokenError("only one-option productions are suitable for error recovering",t);if("pin"in a){let e=parseInt(a.pin);if(isNaN(e)||(l.pinned=e),l.bnf.length>1)throw new n.TokenError("only one-option productions are suitable for pinning",t)}l.implicitWs="ws"in a?"explicit"!=a.ws:null,l.fragment=l.fragment||"true"==a.fragment,l.simplifyWhenOneChildren="true"==a.simplifyWhenOneChildren,e.push(l)}function p(t,r=e.defaultParser){let i=r.getAST(t);if(!i)throw new Error("Could not parse "+t);if(i.errors&&i.errors.length)throw i.errors[0];let o=null,a=i.children.filter((e=>"Attributes"==e.type))[0],s={};a&&a.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in s)throw new n.TokenError("Duplicated attribute "+t,e);s[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text})),o="implicit"==s.ws;let l=[];return i.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;f(l,e,t)})),l.forEach((e=>{null===e.implicitWs&&(e.implicitWs=o)})),l}e.getRules=p,e.Transform=function(t,r=e.defaultParser){return p(t.join(""),r)};class d extends i.Parser{constructor(t,r){super(p(t,r&&!0===r.debugRulesParser?new i.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return l(this)}}e.Parser=d}(o||(o={})),t.default=o}])}));
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@player-ui/check-path-plugin",
3
- "version": "0.5.2--canary.256.8653",
3
+ "version": "0.6.0-next.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org"
7
7
  },
8
8
  "peerDependencies": {
9
- "@player-ui/player": "0.5.2--canary.256.8653"
9
+ "@player-ui/player": "0.6.0-next.0"
10
10
  },
11
11
  "dependencies": {
12
- "@player-ui/partial-match-registry": "0.5.2--canary.256.8653",
12
+ "@player-ui/partial-match-registry": "0.6.0-next.0",
13
13
  "dlv": "^1.1.3",
14
14
  "tapable-ts": "^0.2.3",
15
15
  "@babel/runtime": "7.15.4"