angular-three 1.10.3 → 2.0.0-beta.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.
Files changed (60) hide show
  1. package/README.md +89 -5
  2. package/esm2022/index.mjs +4 -7
  3. package/esm2022/lib/canvas.mjs +138 -99
  4. package/esm2022/lib/di/before-render.mjs +7 -10
  5. package/esm2022/lib/di/ref.mjs +38 -59
  6. package/esm2022/lib/directives/args.mjs +5 -8
  7. package/esm2022/lib/directives/common.mjs +20 -13
  8. package/esm2022/lib/directives/parent.mjs +5 -8
  9. package/esm2022/lib/{web → dom}/events.mjs +1 -1
  10. package/esm2022/lib/events.mjs +2 -2
  11. package/esm2022/lib/loader.mjs +58 -44
  12. package/esm2022/lib/loop.mjs +6 -8
  13. package/esm2022/lib/portal.mjs +76 -63
  14. package/esm2022/lib/renderer/provider.mjs +3 -2
  15. package/esm2022/lib/renderer/renderer.mjs +53 -52
  16. package/esm2022/lib/renderer/store.mjs +14 -19
  17. package/esm2022/lib/renderer/utils.mjs +27 -18
  18. package/esm2022/lib/routed-scene.mjs +12 -10
  19. package/esm2022/lib/stores/signal.store.mjs +60 -0
  20. package/esm2022/lib/stores/store.mjs +69 -48
  21. package/esm2022/lib/types.mjs +1 -1
  22. package/esm2022/lib/utils/apply-props.mjs +11 -7
  23. package/esm2022/lib/utils/attach.mjs +1 -1
  24. package/esm2022/lib/utils/instance.mjs +14 -14
  25. package/esm2022/lib/utils/safe-detect-changes.mjs +1 -1
  26. package/fesm2022/angular-three.mjs +1673 -1744
  27. package/fesm2022/angular-three.mjs.map +1 -1
  28. package/index.d.ts +3 -6
  29. package/lib/canvas.d.ts +11 -20
  30. package/lib/di/before-render.d.ts +5 -1
  31. package/lib/di/ref.d.ts +5 -11
  32. package/lib/directives/args.d.ts +6 -6
  33. package/lib/directives/common.d.ts +1 -4
  34. package/lib/directives/parent.d.ts +1 -1
  35. package/lib/{web → dom}/events.d.ts +2 -2
  36. package/lib/events.d.ts +3 -3
  37. package/lib/loader.d.ts +6 -2
  38. package/lib/loop.d.ts +4 -4
  39. package/lib/portal.d.ts +11 -18
  40. package/lib/renderer/renderer.d.ts +7 -9
  41. package/lib/renderer/store.d.ts +3 -5
  42. package/lib/renderer/utils.d.ts +6 -4
  43. package/lib/routed-scene.d.ts +4 -2
  44. package/lib/stores/signal.store.d.ts +19 -0
  45. package/lib/stores/store.d.ts +4 -7
  46. package/lib/types.d.ts +22 -25
  47. package/lib/utils/attach.d.ts +2 -2
  48. package/lib/utils/instance.d.ts +1 -1
  49. package/package.json +6 -7
  50. package/plugin/package.json +1 -1
  51. package/plugin/src/generators/init/init.d.ts +1 -1
  52. package/plugin/src/generators/init/init.js +1 -1
  53. package/esm2022/lib/di/destroy.mjs +0 -23
  54. package/esm2022/lib/di/run-in-context.mjs +0 -40
  55. package/esm2022/lib/pipes/push.mjs +0 -50
  56. package/esm2022/lib/stores/rx-store.mjs +0 -108
  57. package/lib/di/destroy.d.ts +0 -9
  58. package/lib/di/run-in-context.d.ts +0 -6
  59. package/lib/pipes/push.d.ts +0 -16
  60. package/lib/stores/rx-store.d.ts +0 -42
@@ -1,3 +1,4 @@
1
+ import { untracked } from '@angular/core';
1
2
  import * as THREE from 'three';
2
3
  import { getLocalState, invalidateInstance } from './instance';
3
4
  import { is } from './is';
@@ -92,16 +93,19 @@ export function applyProps(instance, props) {
92
93
  invalidateInstance(instance);
93
94
  }
94
95
  const instanceHandlers = localState.eventCount;
95
- if (localState.parent && rootState.internal && instance['raycast'] && instanceHandlers !== localState.eventCount) {
96
- // pre-emptively remove the interaction from manager
97
- rootState.removeInteraction(instance['uuid']);
98
- // add the instance to the interaction manager only when it has handlers
96
+ const parent = localState.parent ? untracked(localState.parent) : null;
97
+ if (parent && rootState.internal && instance['raycast'] && instanceHandlers !== localState.eventCount) {
98
+ // Pre-emptively remove the instance from the interaction manager
99
+ const index = rootState.internal.interaction.indexOf(instance);
100
+ if (index > -1)
101
+ rootState.internal.interaction.splice(index, 1);
102
+ // Add the instance to the interaction manager only when it has handlers
99
103
  if (localState.eventCount)
100
- rootState.addInteraction(instance);
104
+ rootState.internal.interaction.push(instance);
101
105
  }
102
- if (localState.parent && localState.afterUpdate && localState.afterUpdate.observed && changes.length) {
106
+ if (parent && localState.afterUpdate && localState.afterUpdate.observed && changes.length) {
103
107
  localState.afterUpdate.emit(instance);
104
108
  }
105
109
  return instance;
106
110
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi91dGlscy9hcHBseS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxTQUFTLFNBQVMsQ0FBQyxRQUFzQixFQUFFLEtBQW1CO0lBQzFELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsTUFBTSxPQUFPLEdBQW9DLEVBQUUsQ0FBQztJQUVwRCxLQUFLLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksWUFBWSxFQUFFO1FBQzdDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQUUsU0FBUztRQUNuRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7S0FDdEM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxRQUF5QixFQUFFLEtBQW1CO0lBQ3JFLG9CQUFvQjtJQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFFaEQsNkNBQTZDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENB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QUssVUFBVSxDQUFDLFVBQVUsRUFBRTtRQUM5RyxvREFBb0Q7UUFDcEQsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzlDLHdFQUF3RTtRQUN4RSxJQUFJLFVBQVUsQ0FBQyxVQUFVO1lBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNqRTtJQUVELElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDbEcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDekM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHR5cGUgeyBOZ3RBbnlSZWNvcmQsIE5ndEluc3RhbmNlTm9kZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldExvY2FsU3RhdGUsIGludmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gJy4vaW5zdGFuY2UnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuL2lzJztcbmltcG9ydCB7IGNoZWNrVXBkYXRlIH0gZnJvbSAnLi91cGRhdGUnO1xuXG5mdW5jdGlvbiBkaWZmUHJvcHMoaW5zdGFuY2U6IE5ndEFueVJlY29yZCwgcHJvcHM6IE5ndEFueVJlY29yZCkge1xuICAgIGNvbnN0IHByb3BzRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHByb3BzKTtcbiAgICBjb25zdCBjaGFuZ2VzOiBba2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duXVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IFtwcm9wS2V5LCBwcm9wVmFsdWVdIG9mIHByb3BzRW50cmllcykge1xuICAgICAgICBpZiAoaXMuZXF1KHByb3BWYWx1ZSwgaW5zdGFuY2VbcHJvcEtleV0pKSBjb250aW51ZTtcbiAgICAgICAgY2hhbmdlcy5wdXNoKFtwcm9wS2V5LCBwcm9wVmFsdWVdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhbmdlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5UHJvcHMoaW5zdGFuY2U6IE5ndEluc3RhbmNlTm9kZSwgcHJvcHM6IE5ndEFueVJlY29yZCk6IE5ndEluc3RhbmNlTm9kZSB7XG4gICAgLy8gaWYgcHJvcHMgaXMgZW1wdHlcbiAgICBpZiAoIU9iamVjdC5rZXlzKHByb3BzKS5sZW5ndGgpIHJldHVybiBpbnN0YW5jZTtcblxuICAgIC8vIGZpbHRlciBlcXVhbHMsIGV2ZW50cyAsIGFuZCByZXNlcnZlZCBwcm9wc1xuICAgIGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGluc3RhbmNlKTtcbiAgICBjb25zdCByb290U3RhdGUgPSBsb2NhbFN0YXRlLnN0b3JlPy5nZXQoKTtcbiAgICBjb25zdCBjaGFuZ2VzID0gZGlmZlByb3BzKGluc3RhbmNlLCBwcm9wcyk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IGtleSA9IGNoYW5nZXNbaV1bMF07XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgICAgICBjb25zdCB0YXJnZXRQcm9wID0gY3VycmVudEluc3RhbmNlW2tleV0gYXMgTmd0QW55UmVjb3JkO1xuICAgICAgICBsZXQgdmFsdWUgPSBjaGFuZ2VzW2ldWzFdO1xuXG4gICAgICAgIGlmIChpcy5jb2xvclNwYWNlRXhpc3QoY3VycmVudEluc3RhbmNlKSkge1xuICAgICAgICAgICAgY29uc3Qgc1JHQkVuY29kaW5nID0gMzAwMTtcbiAgICAgICAgICAgIGNvbnN0IFNSR0JDb2xvclNwYWNlID0gJ3NyZ2InO1xuICAgICAgICAgICAgY29uc3QgTGluZWFyU1JHQkNvbG9yU3BhY2UgPSAnc3JnYi1saW5lYXInO1xuXG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnZW5jb2RpbmcnKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2NvbG9yU3BhY2UnO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgPT09IHNSR0JFbmNvZGluZyA/IFNSR0JDb2xvclNwYWNlIDogTGluZWFyU1JHQkNvbG9yU3BhY2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ291dHB1dEVuY29kaW5nJykge1xuICAgICAgICAgICAgICAgIGtleSA9ICdvdXRwdXRDb2xvclNwYWNlJztcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3BlY2lhbCB0cmVhdG1lbiBmb3Igb2JqZWN0cyB3aXRoIHN1cHBvcnQgZm9yIHNldC9jb3B5LCBhbmQgbGF5ZXJzXG4gICAgICAgIGlmICh0YXJnZXRQcm9wICYmIHRhcmdldFByb3BbJ3NldCddICYmICh0YXJnZXRQcm9wWydjb3B5J10gfHwgdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIFRIUkVFLkxheWVycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ29sb3IgPSB0YXJnZXRQcm9wIGluc3RhbmNlb2YgVEhSRUUuQ29sb3I7XG4gICAgICAgICAgICAvLyBpZiB2YWx1ZSBpcyBhbiBhcnJheVxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCh0YXJnZXRQcm9wIGFzIE5ndEFueVJlY29yZClbJ2Zyb21BcnJheSddKSAodGFyZ2V0UHJvcCBhcyBOZ3RBbnlSZWNvcmQpWydmcm9tQXJyYXknXSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgZWxzZSB0YXJnZXRQcm9wWydzZXQnXSguLi52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0ZXN0IGFnYWluIHRhcmdldC5jb3B5XG4gICAgICAgICAgICBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAodGFyZ2V0UHJvcCBhcyBOZ3RBbnlSZWNvcmQpWydjb3B5J10gJiZcbiAgICAgICAgICAgICAgICB2YWx1ZSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmNvbnN0cnVjdG9yICYmXG4gICAgICAgICAgICAgICAgdGFyZ2V0UHJvcC5jb25zdHJ1Y3Rvci5uYW1lID09PSB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAodGFyZ2V0UHJvcCBhcyBOZ3RBbnlSZWNvcmQpWydjb3B5J10odmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmICghVEhSRUUuQ29sb3JNYW5hZ2VtZW50ICYmICFyb290U3RhdGUubGluZWFyICYmIGlzQ29sb3IpIHRhcmdldFByb3BbJ2NvbnZlcnRTUkdCVG9MaW5lYXInXSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaWYgbm90aGluZyBlbHNlIGZpdHMsIGp1c3Qgc2V0IHRoZSBzaW5nbGUgdmFsdWUsIGlnbm9yZSB1bmRlZmluZWRcbiAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0NvbG9yID0gdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIFRIUkVFLkNvbG9yO1xuICAgICAgICAgICAgICAgIC8vIGFsbG93IHNldHRpbmcgYXJyYXkgc2NhbGFyc1xuICAgICAgICAgICAgICAgIGlmICghaXNDb2xvciAmJiAodGFyZ2V0UHJvcCBhcyBOZ3RBbnlSZWNvcmQpWydzZXRTY2FsYXInXSlcbiAgICAgICAgICAgICAgICAgICAgKHRhcmdldFByb3AgYXMgTmd0QW55UmVjb3JkKVsnc2V0U2NhbGFyJ10odmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIGxheWVycyBoYXZlIG5vIGNvcHkgZnVuY3Rpb24sIGNvcHkgdGhlIG1hc2tcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXJnZXRQcm9wIGluc3RhbmNlb2YgVEhSRUUuTGF5ZXJzICYmIHZhbHVlIGluc3RhbmNlb2YgVEhSRUUuTGF5ZXJzKVxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRQcm9wLm1hc2sgPSB2YWx1ZS5tYXNrO1xuICAgICAgICAgICAgICAgIC8vIG90aGVyd2lzZSBqdXN0IHNldCAuLi5cbiAgICAgICAgICAgICAgICBlbHNlIHRhcmdldFByb3BbJ3NldCddKHZhbHVlKTtcblxuICAgICAgICAgICAgICAgIC8vIGF1dG8tY29udmVydCBzcmdiXG4gICAgICAgICAgICAgICAgaWYgKCFUSFJFRS5Db2xvck1hbmFnZW1lbnQgJiYgIXJvb3RTdGF0ZT8ubGluZWFyICYmIGlzQ29sb3IpIHRhcmdldFByb3AuY29udmVydFNSR0JUb0xpbmVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGVsc2UganVzdCBvdmVyd3JpdGUgdGhlIHZhbHVlXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudEluc3RhbmNlW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIC8vIGF1dG8tY29udmVydCBzcmdiIHRleHR1cmVzXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlW2tleV0gaW5zdGFuY2VvZiBUSFJFRS5UZXh0dXJlICYmXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlW2tleV0uZm9ybWF0ID09PSBUSFJFRS5SR0JBRm9ybWF0ICYmXG4gICAgICAgICAgICAgICAgY3VycmVudEluc3RhbmNlW2tleV0udHlwZSA9PT0gVEhSRUUuVW5zaWduZWRCeXRlVHlwZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dHVyZSA9IGN1cnJlbnRJbnN0YW5jZVtrZXldIGFzIFRIUkVFLlRleHR1cmU7XG4gICAgICAgICAgICAgICAgaWYgKGlzLmNvbG9yU3BhY2VFeGlzdCh0ZXh0dXJlKSAmJiBpcy5jb2xvclNwYWNlRXhpc3Qocm9vdFN0YXRlLmdsKSlcbiAgICAgICAgICAgICAgICAgICAgdGV4dHVyZS5jb2xvclNwYWNlID0gcm9vdFN0YXRlLmdsLm91dHB1dENvbG9yU3BhY2U7XG4gICAgICAgICAgICAgICAgZWxzZSB0ZXh0dXJlLmVuY29kaW5nID0gcm9vdFN0YXRlLmdsLm91dHB1dEVuY29kaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY2hlY2tVcGRhdGUodGFyZ2V0UHJvcCk7XG4gICAgICAgIGludmFsaWRhdGVJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5zdGFuY2VIYW5kbGVycyA9IGxvY2FsU3RhdGUuZXZlbnRDb3VudDtcblxuICAgIGlmIChsb2NhbFN0YXRlLnBhcmVudCAmJiByb290U3RhdGUuaW50ZXJuYWwgJiYgaW5zdGFuY2VbJ3JheWNhc3QnXSAmJiBpbnN0YW5jZUhhbmRsZXJzICE9PSBsb2NhbFN0YXRlLmV2ZW50Q291bnQpIHtcbiAgICAgICAgLy8gcHJlLWVtcHRpdmVseSByZW1vdmUgdGhlIGludGVyYWN0aW9uIGZyb20gbWFuYWdlclxuICAgICAgICByb290U3RhdGUucmVtb3ZlSW50ZXJhY3Rpb24oaW5zdGFuY2VbJ3V1aWQnXSk7XG4gICAgICAgIC8vIGFkZCB0aGUgaW5zdGFuY2UgdG8gdGhlIGludGVyYWN0aW9uIG1hbmFnZXIgb25seSB3aGVuIGl0IGhhcyBoYW5kbGVyc1xuICAgICAgICBpZiAobG9jYWxTdGF0ZS5ldmVudENvdW50KSByb290U3RhdGUuYWRkSW50ZXJhY3Rpb24oaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIGlmIChsb2NhbFN0YXRlLnBhcmVudCAmJiBsb2NhbFN0YXRlLmFmdGVyVXBkYXRlICYmIGxvY2FsU3RhdGUuYWZ0ZXJVcGRhdGUub2JzZXJ2ZWQgJiYgY2hhbmdlcy5sZW5ndGgpIHtcbiAgICAgICAgbG9jYWxTdGF0ZS5hZnRlclVwZGF0ZS5lbWl0KGluc3RhbmNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi91dGlscy9hcHBseS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDLFNBQVMsU0FBUyxDQUFDLFFBQXNCLEVBQUUsS0FBbUI7SUFDMUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxNQUFNLE9BQU8sR0FBb0MsRUFBRSxDQUFDO0lBRXBELEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxZQUFZLEVBQUU7UUFDN0MsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFBRSxTQUFTO1FBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN0QztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLFFBQXlCLEVBQUUsS0FBbUI7SUFDckUsb0JBQW9CO0lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU07UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUVoRCw2Q0FBNkM7SUFDN0MsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFFB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QyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUV2RSxJQUFJLE1BQU0sSUFBSSxTQUFTLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxnQkFBZ0IsS0FBSyxVQUFVLENBQUMsVUFBVSxFQUFFO1FBQ25HLGlFQUFpRTtRQUNqRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRSx3RUFBd0U7UUFDeEUsSUFBSSxVQUFVLENBQUMsVUFBVTtZQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUM1RTtJQUVELElBQUksTUFBTSxJQUFJLFVBQVUsQ0FBQyxXQUFXLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUN2RixVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN6QztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkLCBOZ3RJbnN0YW5jZU5vZGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRMb2NhbFN0YXRlLCBpbnZhbGlkYXRlSW5zdGFuY2UgfSBmcm9tICcuL2luc3RhbmNlJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5pbXBvcnQgeyBjaGVja1VwZGF0ZSB9IGZyb20gJy4vdXBkYXRlJztcblxuZnVuY3Rpb24gZGlmZlByb3BzKGluc3RhbmNlOiBOZ3RBbnlSZWNvcmQsIHByb3BzOiBOZ3RBbnlSZWNvcmQpIHtcbiAgICBjb25zdCBwcm9wc0VudHJpZXMgPSBPYmplY3QuZW50cmllcyhwcm9wcyk7XG4gICAgY29uc3QgY2hhbmdlczogW2tleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bl1bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBbcHJvcEtleSwgcHJvcFZhbHVlXSBvZiBwcm9wc0VudHJpZXMpIHtcbiAgICAgICAgaWYgKGlzLmVxdShwcm9wVmFsdWUsIGluc3RhbmNlW3Byb3BLZXldKSkgY29udGludWU7XG4gICAgICAgIGNoYW5nZXMucHVzaChbcHJvcEtleSwgcHJvcFZhbHVlXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYW5nZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVByb3BzKGluc3RhbmNlOiBOZ3RJbnN0YW5jZU5vZGUsIHByb3BzOiBOZ3RBbnlSZWNvcmQpOiBOZ3RJbnN0YW5jZU5vZGUge1xuICAgIC8vIGlmIHByb3BzIGlzIGVtcHR5XG4gICAgaWYgKCFPYmplY3Qua2V5cyhwcm9wcykubGVuZ3RoKSByZXR1cm4gaW5zdGFuY2U7XG5cbiAgICAvLyBmaWx0ZXIgZXF1YWxzLCBldmVudHMgLCBhbmQgcmVzZXJ2ZWQgcHJvcHNcbiAgICBjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShpbnN0YW5jZSk7XG4gICAgY29uc3Qgcm9vdFN0YXRlID0gbG9jYWxTdGF0ZS5zdG9yZT8uZ2V0KCk7XG4gICAgY29uc3QgY2hhbmdlcyA9IGRpZmZQcm9wcyhpbnN0YW5jZSwgcHJvcHMpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBrZXkgPSBjaGFuZ2VzW2ldWzBdO1xuICAgICAgICBjb25zdCBjdXJyZW50SW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgY29uc3QgdGFyZ2V0UHJvcCA9IGN1cnJlbnRJbnN0YW5jZVtrZXldIGFzIE5ndEFueVJlY29yZDtcbiAgICAgICAgbGV0IHZhbHVlID0gY2hhbmdlc1tpXVsxXTtcblxuICAgICAgICBpZiAoaXMuY29sb3JTcGFjZUV4aXN0KGN1cnJlbnRJbnN0YW5jZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNSR0JFbmNvZGluZyA9IDMwMDE7XG4gICAgICAgICAgICBjb25zdCBTUkdCQ29sb3JTcGFjZSA9ICdzcmdiJztcbiAgICAgICAgICAgIGNvbnN0IExpbmVhclNSR0JDb2xvclNwYWNlID0gJ3NyZ2ItbGluZWFyJztcblxuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2VuY29kaW5nJykge1xuICAgICAgICAgICAgICAgIGtleSA9ICdjb2xvclNwYWNlJztcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcbiAgICAgICAgICAgICAgICBrZXkgPSAnb3V0cHV0Q29sb3JTcGFjZSc7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PT0gc1JHQkVuY29kaW5nID8gU1JHQkNvbG9yU3BhY2UgOiBMaW5lYXJTUkdCQ29sb3JTcGFjZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNwZWNpYWwgdHJlYXRtZW4gZm9yIG9iamVjdHMgd2l0aCBzdXBwb3J0IGZvciBzZXQvY29weSwgYW5kIGxheWVyc1xuICAgICAgICBpZiAodGFyZ2V0UHJvcCAmJiB0YXJnZXRQcm9wWydzZXQnXSAmJiAodGFyZ2V0UHJvcFsnY29weSddIHx8IHRhcmdldFByb3AgaW5zdGFuY2VvZiBUSFJFRS5MYXllcnMpKSB7XG4gICAgICAgICAgICBjb25zdCBpc0NvbG9yID0gdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIFRIUkVFLkNvbG9yO1xuICAgICAgICAgICAgLy8gaWYgdmFsdWUgaXMgYW4gYXJyYXlcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGlmICgodGFyZ2V0UHJvcCBhcyBOZ3RBbnlSZWNvcmQpWydmcm9tQXJyYXknXSkgKHRhcmdldFByb3AgYXMgTmd0QW55UmVjb3JkKVsnZnJvbUFycmF5J10odmFsdWUpO1xuICAgICAgICAgICAgICAgIGVsc2UgdGFyZ2V0UHJvcFsnc2V0J10oLi4udmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gdGVzdCBhZ2FpbiB0YXJnZXQuY29weVxuICAgICAgICAgICAgZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgKHRhcmdldFByb3AgYXMgTmd0QW55UmVjb3JkKVsnY29weSddICYmXG4gICAgICAgICAgICAgICAgdmFsdWUgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5jb25zdHJ1Y3RvciAmJlxuICAgICAgICAgICAgICAgIHRhcmdldFByb3AuY29uc3RydWN0b3IubmFtZSA9PT0gdmFsdWUuY29uc3RydWN0b3IubmFtZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgKHRhcmdldFByb3AgYXMgTmd0QW55UmVjb3JkKVsnY29weSddKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIVRIUkVFLkNvbG9yTWFuYWdlbWVudCAmJiAhcm9vdFN0YXRlLmxpbmVhciAmJiBpc0NvbG9yKSB0YXJnZXRQcm9wWydjb252ZXJ0U1JHQlRvTGluZWFyJ10oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGlmIG5vdGhpbmcgZWxzZSBmaXRzLCBqdXN0IHNldCB0aGUgc2luZ2xlIHZhbHVlLCBpZ25vcmUgdW5kZWZpbmVkXG4gICAgICAgICAgICBlbHNlIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNDb2xvciA9IHRhcmdldFByb3AgaW5zdGFuY2VvZiBUSFJFRS5Db2xvcjtcbiAgICAgICAgICAgICAgICAvLyBhbGxvdyBzZXR0aW5nIGFycmF5IHNjYWxhcnNcbiAgICAgICAgICAgICAgICBpZiAoIWlzQ29sb3IgJiYgKHRhcmdldFByb3AgYXMgTmd0QW55UmVjb3JkKVsnc2V0U2NhbGFyJ10pXG4gICAgICAgICAgICAgICAgICAgICh0YXJnZXRQcm9wIGFzIE5ndEFueVJlY29yZClbJ3NldFNjYWxhciddKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAvLyBsYXllcnMgaGF2ZSBubyBjb3B5IGZ1bmN0aW9uLCBjb3B5IHRoZSBtYXNrXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodGFyZ2V0UHJvcCBpbnN0YW5jZW9mIFRIUkVFLkxheWVycyAmJiB2YWx1ZSBpbnN0YW5jZW9mIFRIUkVFLkxheWVycylcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UHJvcC5tYXNrID0gdmFsdWUubWFzaztcbiAgICAgICAgICAgICAgICAvLyBvdGhlcndpc2UganVzdCBzZXQgLi4uXG4gICAgICAgICAgICAgICAgZWxzZSB0YXJnZXRQcm9wWydzZXQnXSh2YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICAvLyBhdXRvLWNvbnZlcnQgc3JnYlxuICAgICAgICAgICAgICAgIGlmICghVEhSRUUuQ29sb3JNYW5hZ2VtZW50ICYmICFyb290U3RhdGU/LmxpbmVhciAmJiBpc0NvbG9yKSB0YXJnZXRQcm9wLmNvbnZlcnRTUkdCVG9MaW5lYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBlbHNlIGp1c3Qgb3ZlcndyaXRlIHRoZSB2YWx1ZVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAvLyBhdXRvLWNvbnZlcnQgc3JnYiB0ZXh0dXJlc1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZVtrZXldIGluc3RhbmNlb2YgVEhSRUUuVGV4dHVyZSAmJlxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZVtrZXldLmZvcm1hdCA9PT0gVEhSRUUuUkdCQUZvcm1hdCAmJlxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbnN0YW5jZVtrZXldLnR5cGUgPT09IFRIUkVFLlVuc2lnbmVkQnl0ZVR5cGVcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHR1cmUgPSBjdXJyZW50SW5zdGFuY2Vba2V5XSBhcyBUSFJFRS5UZXh0dXJlO1xuICAgICAgICAgICAgICAgIGlmIChpcy5jb2xvclNwYWNlRXhpc3QodGV4dHVyZSkgJiYgaXMuY29sb3JTcGFjZUV4aXN0KHJvb3RTdGF0ZS5nbCkpXG4gICAgICAgICAgICAgICAgICAgIHRleHR1cmUuY29sb3JTcGFjZSA9IHJvb3RTdGF0ZS5nbC5vdXRwdXRDb2xvclNwYWNlO1xuICAgICAgICAgICAgICAgIGVsc2UgdGV4dHVyZS5lbmNvZGluZyA9IHJvb3RTdGF0ZS5nbC5vdXRwdXRFbmNvZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNoZWNrVXBkYXRlKHRhcmdldFByb3ApO1xuICAgICAgICBpbnZhbGlkYXRlSW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlSGFuZGxlcnMgPSBsb2NhbFN0YXRlLmV2ZW50Q291bnQ7XG4gICAgY29uc3QgcGFyZW50ID0gbG9jYWxTdGF0ZS5wYXJlbnQgPyB1bnRyYWNrZWQobG9jYWxTdGF0ZS5wYXJlbnQpIDogbnVsbDtcblxuICAgIGlmIChwYXJlbnQgJiYgcm9vdFN0YXRlLmludGVybmFsICYmIGluc3RhbmNlWydyYXljYXN0J10gJiYgaW5zdGFuY2VIYW5kbGVycyAhPT0gbG9jYWxTdGF0ZS5ldmVudENvdW50KSB7XG4gICAgICAgIC8vIFByZS1lbXB0aXZlbHkgcmVtb3ZlIHRoZSBpbnN0YW5jZSBmcm9tIHRoZSBpbnRlcmFjdGlvbiBtYW5hZ2VyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLmluZGV4T2YoaW5zdGFuY2UpO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkgcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIC8vIEFkZCB0aGUgaW5zdGFuY2UgdG8gdGhlIGludGVyYWN0aW9uIG1hbmFnZXIgb25seSB3aGVuIGl0IGhhcyBoYW5kbGVyc1xuICAgICAgICBpZiAobG9jYWxTdGF0ZS5ldmVudENvdW50KSByb290U3RhdGUuaW50ZXJuYWwuaW50ZXJhY3Rpb24ucHVzaChpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmVudCAmJiBsb2NhbFN0YXRlLmFmdGVyVXBkYXRlICYmIGxvY2FsU3RhdGUuYWZ0ZXJVcGRhdGUub2JzZXJ2ZWQgJiYgY2hhbmdlcy5sZW5ndGgpIHtcbiAgICAgICAgbG9jYWxTdGF0ZS5hZnRlclVwZGF0ZS5lbWl0KGluc3RhbmNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG59XG4iXX0=
@@ -29,4 +29,4 @@ function assignEmpty(obj, base) {
29
29
  export function createAttachFunction(cb) {
30
30
  return (parent, child, store) => cb({ parent, child, store });
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlL3NyYy9saWIvdXRpbHMvYXR0YWNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxNQUFNLFVBQVUsTUFBTSxDQUFDLE1BQW9CLEVBQUUsS0FBYyxFQUFFLFFBQWtCLEVBQUU7SUFDN0UsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNuQyxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU87SUFFbEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN4QixVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ3pDO1NBQU07UUFDSCxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQzFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsTUFBb0IsRUFBRSxLQUFtQixFQUFFLFVBQXdDO0lBQ3RHLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDM0IsTUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQzlEO1NBQU07UUFDRixlQUFlLENBQUMsY0FBMkIsRUFBRSxDQUFDO0tBQ2xEO0FBQ0wsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEdBQWlCLEVBQUUsSUFBWTtJQUNoRCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7UUFDL0csR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNsQjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2hDLEVBQW9HO0lBRXBHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3RSeFN0b3JlIH0gZnJvbSAnLi4vc3RvcmVzL3J4LXN0b3JlJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkLCBOZ3RBdHRhY2hGdW5jdGlvbiwgTmd0U3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBhcHBseVByb3BzIH0gZnJvbSAnLi9hcHBseS1wcm9wcyc7XG5pbXBvcnQgeyBnZXRMb2NhbFN0YXRlIH0gZnJvbSAnLi9pbnN0YW5jZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhdHRhY2gob2JqZWN0OiBOZ3RBbnlSZWNvcmQsIHZhbHVlOiB1bmtub3duLCBwYXRoczogc3RyaW5nW10gPSBbXSk6IHZvaWQge1xuICAgIGNvbnN0IFtiYXNlLCAuLi5yZW1haW5pbmddID0gcGF0aHM7XG4gICAgaWYgKCFiYXNlKSByZXR1cm47XG5cbiAgICBpZiAocmVtYWluaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBhcHBseVByb3BzKG9iamVjdCwgeyBbYmFzZV06IHZhbHVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2lnbkVtcHR5KG9iamVjdCwgYmFzZSk7XG4gICAgICAgIGF0dGFjaChvYmplY3RbYmFzZV0sIHZhbHVlLCByZW1haW5pbmcpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGFjaChwYXJlbnQ6IE5ndEFueVJlY29yZCwgY2hpbGQ6IE5ndEFueVJlY29yZCwgYXR0YWNoUHJvcDogc3RyaW5nW10gfCBOZ3RBdHRhY2hGdW5jdGlvbikge1xuICAgIGNvbnN0IGNoaWxkTG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoY2hpbGQpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGF0dGFjaFByb3ApKSB7XG4gICAgICAgIGF0dGFjaChwYXJlbnQsIGNoaWxkTG9jYWxTdGF0ZS5wcmV2aW91c0F0dGFjaCwgYXR0YWNoUHJvcCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgKGNoaWxkTG9jYWxTdGF0ZS5wcmV2aW91c0F0dGFjaCBhcyBGdW5jdGlvbikoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGFzc2lnbkVtcHR5KG9iajogTmd0QW55UmVjb3JkLCBiYXNlOiBzdHJpbmcpIHtcbiAgICBpZiAoKCFPYmplY3QuaGFzT3duKG9iaiwgYmFzZSkgJiYgUmVmbGVjdCAmJiAhIVJlZmxlY3QuaGFzICYmICFSZWZsZWN0LmhhcyhvYmosIGJhc2UpKSB8fCBvYmpbYmFzZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBvYmpbYmFzZV0gPSB7fTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBdHRhY2hGdW5jdGlvbjxUUGFyZW50ID0gYW55LCBUQ2hpbGQgPSBhbnk+KFxuICAgIGNiOiAocGFyYW1zOiB7IHBhcmVudDogVFBhcmVudDsgY2hpbGQ6IFRDaGlsZDsgc3RvcmU6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+IH0pID0+ICgoKSA9PiB2b2lkKSB8IHZvaWRcbik6IE5ndEF0dGFjaEZ1bmN0aW9uPFRDaGlsZCwgVFBhcmVudD4ge1xuICAgIHJldHVybiAocGFyZW50LCBjaGlsZCwgc3RvcmUpID0+IGNiKHsgcGFyZW50LCBjaGlsZCwgc3RvcmUgfSk7XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlL3NyYy9saWIvdXRpbHMvYXR0YWNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxNQUFNLFVBQVUsTUFBTSxDQUFDLE1BQW9CLEVBQUUsS0FBYyxFQUFFLFFBQWtCLEVBQUU7SUFDN0UsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNuQyxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU87SUFFbEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN4QixVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ3pDO1NBQU07UUFDSCxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQzFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsTUFBb0IsRUFBRSxLQUFtQixFQUFFLFVBQXdDO0lBQ3RHLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDM0IsTUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQzlEO1NBQU07UUFDRixlQUFlLENBQUMsY0FBMkIsRUFBRSxDQUFDO0tBQ2xEO0FBQ0wsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEdBQWlCLEVBQUUsSUFBWTtJQUNoRCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7UUFDL0csR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNsQjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2hDLEVBQXdHO0lBRXhHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3RTaWduYWxTdG9yZSB9IGZyb20gJy4uL3N0b3Jlcy9zaWduYWwuc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBOZ3RBbnlSZWNvcmQsIE5ndEF0dGFjaEZ1bmN0aW9uLCBOZ3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFwcGx5UHJvcHMgfSBmcm9tICcuL2FwcGx5LXByb3BzJztcbmltcG9ydCB7IGdldExvY2FsU3RhdGUgfSBmcm9tICcuL2luc3RhbmNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaChvYmplY3Q6IE5ndEFueVJlY29yZCwgdmFsdWU6IHVua25vd24sIHBhdGhzOiBzdHJpbmdbXSA9IFtdKTogdm9pZCB7XG4gICAgY29uc3QgW2Jhc2UsIC4uLnJlbWFpbmluZ10gPSBwYXRocztcbiAgICBpZiAoIWJhc2UpIHJldHVybjtcblxuICAgIGlmIChyZW1haW5pbmcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGFwcGx5UHJvcHMob2JqZWN0LCB7IFtiYXNlXTogdmFsdWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYXNzaWduRW1wdHkob2JqZWN0LCBiYXNlKTtcbiAgICAgICAgYXR0YWNoKG9iamVjdFtiYXNlXSwgdmFsdWUsIHJlbWFpbmluZyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGV0YWNoKHBhcmVudDogTmd0QW55UmVjb3JkLCBjaGlsZDogTmd0QW55UmVjb3JkLCBhdHRhY2hQcm9wOiBzdHJpbmdbXSB8IE5ndEF0dGFjaEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgY2hpbGRMb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShjaGlsZCk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYXR0YWNoUHJvcCkpIHtcbiAgICAgICAgYXR0YWNoKHBhcmVudCwgY2hpbGRMb2NhbFN0YXRlLnByZXZpb3VzQXR0YWNoLCBhdHRhY2hQcm9wKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAoY2hpbGRMb2NhbFN0YXRlLnByZXZpb3VzQXR0YWNoIGFzIEZ1bmN0aW9uKSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYXNzaWduRW1wdHkob2JqOiBOZ3RBbnlSZWNvcmQsIGJhc2U6IHN0cmluZykge1xuICAgIGlmICgoIU9iamVjdC5oYXNPd24ob2JqLCBiYXNlKSAmJiBSZWZsZWN0ICYmICEhUmVmbGVjdC5oYXMgJiYgIVJlZmxlY3QuaGFzKG9iaiwgYmFzZSkpIHx8IG9ialtiYXNlXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG9ialtiYXNlXSA9IHt9O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUF0dGFjaEZ1bmN0aW9uPFRQYXJlbnQgPSBhbnksIFRDaGlsZCA9IGFueT4oXG4gICAgY2I6IChwYXJhbXM6IHsgcGFyZW50OiBUUGFyZW50OyBjaGlsZDogVENoaWxkOyBzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+IH0pID0+ICgoKSA9PiB2b2lkKSB8IHZvaWRcbik6IE5ndEF0dGFjaEZ1bmN0aW9uPFRDaGlsZCwgVFBhcmVudD4ge1xuICAgIHJldHVybiAocGFyZW50LCBjaGlsZCwgc3RvcmUpID0+IGNiKHsgcGFyZW50LCBjaGlsZCwgc3RvcmUgfSk7XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { BehaviorSubject } from 'rxjs';
1
+ import { signal, untracked } from '@angular/core';
2
2
  import { checkUpdate } from './update';
3
3
  export function getLocalState(obj) {
4
4
  if (!obj)
@@ -12,35 +12,35 @@ export function invalidateInstance(instance) {
12
12
  checkUpdate(instance);
13
13
  }
14
14
  export function prepare(object, localState) {
15
- const instance = (typeof object === 'function' ? object() : object);
15
+ const instance = object;
16
16
  if (localState?.primitive || !instance.__ngt__) {
17
- const { objects = new BehaviorSubject([]), nonObjects = new BehaviorSubject([]), ...rest } = localState || {};
17
+ const { objects = signal([]), nonObjects = signal([]), ...rest } = localState || {};
18
18
  instance.__ngt__ = {
19
19
  previousAttach: null,
20
20
  store: null,
21
- parent: null,
21
+ parent: signal(null),
22
22
  memoized: {},
23
23
  eventCount: 0,
24
24
  handlers: {},
25
25
  objects,
26
26
  nonObjects,
27
27
  add: (object, type) => {
28
- const current = instance.__ngt__[type].value;
28
+ const current = untracked(instance.__ngt__[type]);
29
29
  const foundIndex = current.indexOf((obj) => obj === object);
30
30
  if (foundIndex > -1) {
31
31
  // if we add an object with the same reference, then we switch it out
32
32
  // and update the BehaviorSubject
33
33
  current.splice(foundIndex, 1, object);
34
- instance.__ngt__[type].next(current);
34
+ instance.__ngt__[type].set(current);
35
35
  }
36
36
  else {
37
- instance.__ngt__[type].next([...instance.__ngt__[type].value, object]);
37
+ instance.__ngt__[type].update((prev) => [...prev, object]);
38
38
  }
39
- notifyAncestors(instance.__ngt__.parent);
39
+ notifyAncestors(untracked(instance.__ngt__.parent));
40
40
  },
41
41
  remove: (object, type) => {
42
- instance.__ngt__[type].next(instance.__ngt__[type].value.filter((o) => o !== object));
43
- notifyAncestors(instance.__ngt__.parent);
42
+ instance.__ngt__[type].update((prev) => prev.filter((o) => o !== object));
43
+ notifyAncestors(untracked(instance.__ngt__.parent));
44
44
  },
45
45
  ...rest,
46
46
  };
@@ -52,9 +52,9 @@ function notifyAncestors(instance) {
52
52
  return;
53
53
  const localState = getLocalState(instance);
54
54
  if (localState.objects)
55
- localState.objects.next(localState.objects.value);
55
+ localState.objects.update((prev) => prev);
56
56
  if (localState.nonObjects)
57
- localState.nonObjects.next(localState.nonObjects.value);
58
- notifyAncestors(localState.parent);
57
+ localState.nonObjects.update((prev) => prev);
58
+ notifyAncestors(untracked(localState.parent));
59
59
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi91dGlscy9pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxVQUFVLGFBQWEsQ0FDekIsR0FBMEI7SUFFMUIsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLEVBQXNDLENBQUM7SUFDeEQsT0FBUSxHQUFvQixDQUFDLFNBQVMsQ0FBQyxJQUFLLEVBQTRCLENBQUM7QUFDN0UsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBMkIsUUFBbUI7SUFDNUUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNuRCxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdELFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FDbkIsTUFBcUMsRUFDckMsVUFBMkM7SUFFM0MsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQTBDLENBQUM7SUFFN0csSUFBSSxVQUFVLEVBQUUsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUM1QyxNQUFNLEVBQ0YsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFvQixFQUFFLENBQUMsRUFDcEQsVUFBVSxHQUFHLElBQUksZUFBZSxDQUFvQixFQUFFLENBQUMsRUFDdkQsR0FBRyxJQUFJLEVBQ1YsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO1FBRXJCLFFBQVEsQ0FBQyxPQUFPLEdBQUc7WUFDZixjQUFjLEVBQUUsSUFBSTtZQUNwQixLQUFLLEVBQUUsSUFBSTtZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEVBQUU7WUFDWixVQUFVLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osT0FBTztZQUNQLFVBQVU7WUFDVixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUM3QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBb0IsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDakIscUVBQXFFO29CQUNyRSxpQ0FBaUM7b0JBQ2pDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDdEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3hDO3FCQUFNO29CQUNILFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUMxRTtnQkFDRCxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNyQixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0RixlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsR0FBRyxJQUFJO1NBQ2UsQ0FBQztLQUM5QjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxRQUFnQztJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU87SUFDdEIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLElBQUksVUFBVSxDQUFDLE9BQU87UUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFFLElBQUksVUFBVSxDQUFDLFVBQVU7UUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25GLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHR5cGUgeyBOZ3RBbnlSZWNvcmQsIE5ndEluc3RhbmNlTG9jYWxTdGF0ZSwgTmd0SW5zdGFuY2VOb2RlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY2hlY2tVcGRhdGUgfSBmcm9tICcuL3VwZGF0ZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbFN0YXRlPFRJbnN0YW5jZSBleHRlbmRzIG9iamVjdCA9IE5ndEFueVJlY29yZD4oXG4gICAgb2JqOiBUSW5zdGFuY2UgfCB1bmRlZmluZWRcbik6IE5ndEluc3RhbmNlTG9jYWxTdGF0ZSB7XG4gICAgaWYgKCFvYmopIHJldHVybiB7fSBhcyB1bmtub3duIGFzIE5ndEluc3RhbmNlTG9jYWxTdGF0ZTtcbiAgICByZXR1cm4gKG9iaiBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9fJ10gfHwgKHt9IGFzIE5ndEluc3RhbmNlTG9jYWxTdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnZhbGlkYXRlSW5zdGFuY2U8VEluc3RhbmNlIGV4dGVuZHMgb2JqZWN0PihpbnN0YW5jZTogVEluc3RhbmNlKSB7XG4gICAgY29uc3Qgc3RhdGUgPSBnZXRMb2NhbFN0YXRlKGluc3RhbmNlKS5zdG9yZT8uZ2V0KCk7XG4gICAgaWYgKHN0YXRlICYmIHN0YXRlLmludGVybmFsLmZyYW1lcyA9PT0gMCkgc3RhdGUuaW52YWxpZGF0ZSgpO1xuICAgIGNoZWNrVXBkYXRlKGluc3RhbmNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmU8VEluc3RhbmNlIGV4dGVuZHMgb2JqZWN0ID0gTmd0QW55UmVjb3JkPihcbiAgICBvYmplY3Q6IFRJbnN0YW5jZSB8ICgoKSA9PiBUSW5zdGFuY2UpLFxuICAgIGxvY2FsU3RhdGU/OiBQYXJ0aWFsPE5ndEluc3RhbmNlTG9jYWxTdGF0ZT5cbik6IE5ndEluc3RhbmNlTm9kZTxUSW5zdGFuY2U+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9ICh0eXBlb2Ygb2JqZWN0ID09PSAnZnVuY3Rpb24nID8gb2JqZWN0KCkgOiBvYmplY3QpIGFzIHVua25vd24gYXMgTmd0SW5zdGFuY2VOb2RlPFRJbnN0YW5jZT47XG5cbiAgICBpZiAobG9jYWxTdGF0ZT8ucHJpbWl0aXZlIHx8ICFpbnN0YW5jZS5fX25ndF9fKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIG9iamVjdHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5ndEluc3RhbmNlTm9kZVtdPihbXSksXG4gICAgICAgICAgICBub25PYmplY3RzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3RJbnN0YW5jZU5vZGVbXT4oW10pLFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9ID0gbG9jYWxTdGF0ZSB8fCB7fTtcblxuICAgICAgICBpbnN0YW5jZS5fX25ndF9fID0ge1xuICAgICAgICAgICAgcHJldmlvdXNBdHRhY2g6IG51bGwsXG4gICAgICAgICAgICBzdG9yZTogbnVsbCxcbiAgICAgICAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgICAgICAgIG1lbW9pemVkOiB7fSxcbiAgICAgICAgICAgIGV2ZW50Q291bnQ6IDAsXG4gICAgICAgICAgICBoYW5kbGVyczoge30sXG4gICAgICAgICAgICBvYmplY3RzLFxuICAgICAgICAgICAgbm9uT2JqZWN0cyxcbiAgICAgICAgICAgIGFkZDogKG9iamVjdCwgdHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBpbnN0YW5jZS5fX25ndF9fW3R5cGVdLnZhbHVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvdW5kSW5kZXggPSBjdXJyZW50LmluZGV4T2YoKG9iajogTmd0SW5zdGFuY2VOb2RlKSA9PiBvYmogPT09IG9iamVjdCk7XG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSBhZGQgYW4gb2JqZWN0IHdpdGggdGhlIHNhbWUgcmVmZXJlbmNlLCB0aGVuIHdlIHN3aXRjaCBpdCBvdXRcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHVwZGF0ZSB0aGUgQmVoYXZpb3JTdWJqZWN0XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuc3BsaWNlKGZvdW5kSW5kZXgsIDEsIG9iamVjdCk7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLl9fbmd0X19bdHlwZV0ubmV4dChjdXJyZW50KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5fX25ndF9fW3R5cGVdLm5leHQoWy4uLmluc3RhbmNlLl9fbmd0X19bdHlwZV0udmFsdWUsIG9iamVjdF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBub3RpZnlBbmNlc3RvcnMoaW5zdGFuY2UuX19uZ3RfXy5wYXJlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlbW92ZTogKG9iamVjdCwgdHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLl9fbmd0X19bdHlwZV0ubmV4dChpbnN0YW5jZS5fX25ndF9fW3R5cGVdLnZhbHVlLmZpbHRlcigobykgPT4gbyAhPT0gb2JqZWN0KSk7XG4gICAgICAgICAgICAgICAgbm90aWZ5QW5jZXN0b3JzKGluc3RhbmNlLl9fbmd0X18ucGFyZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5yZXN0LFxuICAgICAgICB9IGFzIE5ndEluc3RhbmNlTG9jYWxTdGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIG5vdGlmeUFuY2VzdG9ycyhpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlIHwgbnVsbCkge1xuICAgIGlmICghaW5zdGFuY2UpIHJldHVybjtcbiAgICBjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShpbnN0YW5jZSk7XG4gICAgaWYgKGxvY2FsU3RhdGUub2JqZWN0cykgbG9jYWxTdGF0ZS5vYmplY3RzLm5leHQobG9jYWxTdGF0ZS5vYmplY3RzLnZhbHVlKTtcbiAgICBpZiAobG9jYWxTdGF0ZS5ub25PYmplY3RzKSBsb2NhbFN0YXRlLm5vbk9iamVjdHMubmV4dChsb2NhbFN0YXRlLm5vbk9iamVjdHMudmFsdWUpO1xuICAgIG5vdGlmeUFuY2VzdG9ycyhsb2NhbFN0YXRlLnBhcmVudCk7XG59XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi91dGlscy9pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDLE1BQU0sVUFBVSxhQUFhLENBQ3pCLEdBQTBCO0lBRTFCLElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTyxFQUFzQyxDQUFDO0lBQ3hELE9BQVEsR0FBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSyxFQUE0QixDQUFDO0FBQzdFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQTJCLFFBQW1CO0lBQzVFLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDbkQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3RCxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQ25CLE1BQWlCLEVBQ2pCLFVBQTJDO0lBRTNDLE1BQU0sUUFBUSxHQUFHLE1BQStDLENBQUM7SUFFakUsSUFBSSxVQUFVLEVBQUUsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUM1QyxNQUFNLEVBQ0YsT0FBTyxHQUFHLE1BQU0sQ0FBb0IsRUFBRSxDQUFDLEVBQ3ZDLFVBQVUsR0FBRyxNQUFNLENBQW9CLEVBQUUsQ0FBQyxFQUMxQyxHQUFHLElBQUksRUFDVixHQUFHLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFFckIsUUFBUSxDQUFDLE9BQU8sR0FBRztZQUNmLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDcEIsUUFBUSxFQUFFLEVBQUU7WUFDWixVQUFVLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osT0FBTztZQUNQLFVBQVU7WUFDVixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFvQixFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUM7Z0JBQzdFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUNqQixxRUFBcUU7b0JBQ3JFLGlDQUFpQztvQkFDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUN0QyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDdkM7cUJBQU07b0JBQ0gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDOUQ7Z0JBQ0QsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUNELE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDckIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMxRSxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBQ0QsR0FBRyxJQUFJO1NBQ2UsQ0FBQztLQUM5QjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxRQUFnQztJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU87SUFDdEIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLElBQUksVUFBVSxDQUFDLE9BQU87UUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEUsSUFBSSxVQUFVLENBQUMsVUFBVTtRQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RSxlQUFlLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBOZ3RBbnlSZWNvcmQsIE5ndEluc3RhbmNlTG9jYWxTdGF0ZSwgTmd0SW5zdGFuY2VOb2RlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY2hlY2tVcGRhdGUgfSBmcm9tICcuL3VwZGF0ZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbFN0YXRlPFRJbnN0YW5jZSBleHRlbmRzIG9iamVjdCA9IE5ndEFueVJlY29yZD4oXG4gICAgb2JqOiBUSW5zdGFuY2UgfCB1bmRlZmluZWRcbik6IE5ndEluc3RhbmNlTG9jYWxTdGF0ZSB7XG4gICAgaWYgKCFvYmopIHJldHVybiB7fSBhcyB1bmtub3duIGFzIE5ndEluc3RhbmNlTG9jYWxTdGF0ZTtcbiAgICByZXR1cm4gKG9iaiBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9fJ10gfHwgKHt9IGFzIE5ndEluc3RhbmNlTG9jYWxTdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnZhbGlkYXRlSW5zdGFuY2U8VEluc3RhbmNlIGV4dGVuZHMgb2JqZWN0PihpbnN0YW5jZTogVEluc3RhbmNlKSB7XG4gICAgY29uc3Qgc3RhdGUgPSBnZXRMb2NhbFN0YXRlKGluc3RhbmNlKS5zdG9yZT8uZ2V0KCk7XG4gICAgaWYgKHN0YXRlICYmIHN0YXRlLmludGVybmFsLmZyYW1lcyA9PT0gMCkgc3RhdGUuaW52YWxpZGF0ZSgpO1xuICAgIGNoZWNrVXBkYXRlKGluc3RhbmNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmU8VEluc3RhbmNlIGV4dGVuZHMgb2JqZWN0ID0gTmd0QW55UmVjb3JkPihcbiAgICBvYmplY3Q6IFRJbnN0YW5jZSxcbiAgICBsb2NhbFN0YXRlPzogUGFydGlhbDxOZ3RJbnN0YW5jZUxvY2FsU3RhdGU+XG4pOiBOZ3RJbnN0YW5jZU5vZGU8VEluc3RhbmNlPiB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBvYmplY3QgYXMgdW5rbm93biBhcyBOZ3RJbnN0YW5jZU5vZGU8VEluc3RhbmNlPjtcblxuICAgIGlmIChsb2NhbFN0YXRlPy5wcmltaXRpdmUgfHwgIWluc3RhbmNlLl9fbmd0X18pIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgb2JqZWN0cyA9IHNpZ25hbDxOZ3RJbnN0YW5jZU5vZGVbXT4oW10pLFxuICAgICAgICAgICAgbm9uT2JqZWN0cyA9IHNpZ25hbDxOZ3RJbnN0YW5jZU5vZGVbXT4oW10pLFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9ID0gbG9jYWxTdGF0ZSB8fCB7fTtcblxuICAgICAgICBpbnN0YW5jZS5fX25ndF9fID0ge1xuICAgICAgICAgICAgcHJldmlvdXNBdHRhY2g6IG51bGwsXG4gICAgICAgICAgICBzdG9yZTogbnVsbCxcbiAgICAgICAgICAgIHBhcmVudDogc2lnbmFsKG51bGwpLFxuICAgICAgICAgICAgbWVtb2l6ZWQ6IHt9LFxuICAgICAgICAgICAgZXZlbnRDb3VudDogMCxcbiAgICAgICAgICAgIGhhbmRsZXJzOiB7fSxcbiAgICAgICAgICAgIG9iamVjdHMsXG4gICAgICAgICAgICBub25PYmplY3RzLFxuICAgICAgICAgICAgYWRkOiAob2JqZWN0LCB0eXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IHVudHJhY2tlZChpbnN0YW5jZS5fX25ndF9fW3R5cGVdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZEluZGV4ID0gY3VycmVudC5pbmRleE9mKChvYmo6IE5ndEluc3RhbmNlTm9kZSkgPT4gb2JqID09PSBvYmplY3QpO1xuICAgICAgICAgICAgICAgIGlmIChmb3VuZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgd2UgYWRkIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lIHJlZmVyZW5jZSwgdGhlbiB3ZSBzd2l0Y2ggaXQgb3V0XG4gICAgICAgICAgICAgICAgICAgIC8vIGFuZCB1cGRhdGUgdGhlIEJlaGF2aW9yU3ViamVjdFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50LnNwbGljZShmb3VuZEluZGV4LCAxLCBvYmplY3QpO1xuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5fX25ndF9fW3R5cGVdLnNldChjdXJyZW50KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5fX25ndF9fW3R5cGVdLnVwZGF0ZSgocHJldikgPT4gWy4uLnByZXYsIG9iamVjdF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBub3RpZnlBbmNlc3RvcnModW50cmFja2VkKGluc3RhbmNlLl9fbmd0X18ucGFyZW50KSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVtb3ZlOiAob2JqZWN0LCB0eXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuX19uZ3RfX1t0eXBlXS51cGRhdGUoKHByZXYpID0+IHByZXYuZmlsdGVyKChvKSA9PiBvICE9PSBvYmplY3QpKTtcbiAgICAgICAgICAgICAgICBub3RpZnlBbmNlc3RvcnModW50cmFja2VkKGluc3RhbmNlLl9fbmd0X18ucGFyZW50KSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4ucmVzdCxcbiAgICAgICAgfSBhcyBOZ3RJbnN0YW5jZUxvY2FsU3RhdGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBub3RpZnlBbmNlc3RvcnMoaW5zdGFuY2U6IE5ndEluc3RhbmNlTm9kZSB8IG51bGwpIHtcbiAgICBpZiAoIWluc3RhbmNlKSByZXR1cm47XG4gICAgY29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoaW5zdGFuY2UpO1xuICAgIGlmIChsb2NhbFN0YXRlLm9iamVjdHMpIGxvY2FsU3RhdGUub2JqZWN0cy51cGRhdGUoKHByZXYpID0+IHByZXYpO1xuICAgIGlmIChsb2NhbFN0YXRlLm5vbk9iamVjdHMpIGxvY2FsU3RhdGUubm9uT2JqZWN0cy51cGRhdGUoKHByZXYpID0+IHByZXYpO1xuICAgIG5vdGlmeUFuY2VzdG9ycyh1bnRyYWNrZWQobG9jYWxTdGF0ZS5wYXJlbnQpKTtcbn1cbiJdfQ==
@@ -12,4 +12,4 @@ export function safeDetectChanges(cdr) {
12
12
  cdr.markForCheck();
13
13
  }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1kZXRlY3QtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS9zcmMvbGliL3V0aWxzL3NhZmUtZGV0ZWN0LWNoYW5nZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQXlDO0lBQ3ZFLElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTztJQUNqQixJQUFJO1FBQ0Esd0ZBQXdGO1FBQ3hGLHNDQUFzQztRQUN0QyxJQUFLLEdBQW9CLENBQUMsU0FBUyxDQUFDLElBQUssR0FBb0IsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQ3ZGLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN2QjtLQUNKO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDUixHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDdEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVEZXRlY3RDaGFuZ2VzKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgaWYgKCFjZHIpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgICAvLyBkeW5hbWljIGNyZWF0ZWQgY29tcG9uZW50IHdpdGggVmlld0NvbnRhaW5lclJlZiNjcmVhdGVDb21wb25lbnQgZG9lcyBub3QgaGF2ZSBDb250ZXh0XG4gICAgICAgIC8vIGJ1dCBpdCBoYXMgX2F0dGFjaGVkVG9WaWV3Q29udGFpbmVyXG4gICAgICAgIGlmICgoY2RyIGFzIE5ndEFueVJlY29yZClbJ2NvbnRleHQnXSB8fCAoY2RyIGFzIE5ndEFueVJlY29yZClbJ19hdHRhY2hlZFRvVmlld0NvbnRhaW5lciddKSB7XG4gICAgICAgICAgICBjZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1kZXRlY3QtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS9zcmMvbGliL3V0aWxzL3NhZmUtZGV0ZWN0LWNoYW5nZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQXlDO0lBQ3ZFLElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTztJQUNqQixJQUFJO1FBQ0Esd0ZBQXdGO1FBQ3hGLHNDQUFzQztRQUN0QyxJQUFLLEdBQW9CLENBQUMsU0FBUyxDQUFDLElBQUssR0FBb0IsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQ3ZGLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN2QjtLQUNKO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDUixHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDdEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2FmZURldGVjdENoYW5nZXMoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICBpZiAoIWNkcikgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICAgIC8vIGR5bmFtaWMgY3JlYXRlZCBjb21wb25lbnQgd2l0aCBWaWV3Q29udGFpbmVyUmVmI2NyZWF0ZUNvbXBvbmVudCBkb2VzIG5vdCBoYXZlIENvbnRleHRcbiAgICAgICAgLy8gYnV0IGl0IGhhcyBfYXR0YWNoZWRUb1ZpZXdDb250YWluZXJcbiAgICAgICAgaWYgKChjZHIgYXMgTmd0QW55UmVjb3JkKVsnY29udGV4dCddIHx8IChjZHIgYXMgTmd0QW55UmVjb3JkKVsnX2F0dGFjaGVkVG9WaWV3Q29udGFpbmVyJ10pIHtcbiAgICAgICAgICAgIGNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iXX0=