@dcl/asset-packs 2.15.3 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/clone.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { getComponentEntityTree } from '@dcl/ecs';
2
- import { getNextId, requiresId } from './id';
2
+ import { createIdMap, createEntityMap, remapTriggerActionRefs, requiresId } from './mapping';
3
3
  import { isLastWriteWinComponent } from './lww';
4
4
  import { getExplorerComponents } from './components';
5
+ import { getNextId } from './mapping';
5
6
  export function clone(entity, engine, Transform, Triggers, sdkHelpers) {
6
- const ids = new Map();
7
- const entities = new Map();
7
+ const idMap = createIdMap();
8
+ const entityMap = createEntityMap();
8
9
  const tree = getComponentEntityTree(engine, entity, Transform);
9
10
  const { NetworkEntity, SyncComponents } = getExplorerComponents(engine);
10
11
  for (const original of tree) {
@@ -15,7 +16,7 @@ export function clone(entity, engine, Transform, Triggers, sdkHelpers) {
15
16
  if (requiresId(component)) {
16
17
  const oldId = newValue.id;
17
18
  const newId = getNextId(engine);
18
- ids.set(oldId, newId);
19
+ idMap.remember(oldId, newId);
19
20
  newValue = {
20
21
  ...newValue,
21
22
  id: newId,
@@ -26,32 +27,13 @@ export function clone(entity, engine, Transform, Triggers, sdkHelpers) {
26
27
  }
27
28
  }
28
29
  }
29
- entities.set(original, cloned);
30
+ entityMap.put(original, cloned);
30
31
  }
31
- const clones = Array.from(entities.values()).reverse();
32
+ const clones = Array.from(entityMap.entries(), ([, dst]) => dst).reverse();
32
33
  for (const cloned of clones) {
33
34
  if (Triggers.has(cloned)) {
34
35
  const triggers = Triggers.getMutable(cloned);
35
- for (const trigger of triggers.value) {
36
- for (const action of trigger.actions) {
37
- if (action.id) {
38
- const newId = ids.get(action.id);
39
- if (newId) {
40
- action.id = newId;
41
- }
42
- }
43
- }
44
- if (trigger.conditions) {
45
- for (const condition of trigger.conditions) {
46
- if (condition.id) {
47
- const newId = ids.get(condition.id);
48
- if (newId) {
49
- condition.id = newId;
50
- }
51
- }
52
- }
53
- }
54
- }
36
+ remapTriggerActionRefs(triggers.value, idMap);
55
37
  }
56
38
  if (NetworkEntity.has(cloned)) {
57
39
  const syncComponent = SyncComponents.getOrNull(cloned);
@@ -61,13 +43,19 @@ export function clone(entity, engine, Transform, Triggers, sdkHelpers) {
61
43
  }
62
44
  const transform = Transform.getMutableOrNull(cloned);
63
45
  if (transform && transform.parent) {
64
- const newParent = entities.get(transform.parent);
46
+ const newParent = entityMap.get(transform.parent);
65
47
  if (newParent) {
66
48
  transform.parent = newParent;
67
49
  }
68
50
  }
69
51
  }
70
52
  const cloned = clones[0];
53
+ const ids = new Map();
54
+ for (const [oldId, newId] of idMap.entries())
55
+ ids.set(oldId, newId);
56
+ const entities = new Map();
57
+ for (const [src, dst] of entityMap.entries())
58
+ entities.set(src, dst);
71
59
  return { ids, entities, cloned };
72
60
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckQsTUFBTSxVQUFVLEtBQUssQ0FDbkIsTUFBYyxFQUNkLE1BQWUsRUFDZixTQUFxQyxFQUNyQyxRQUEyQixFQUMzQixVQUF3QjtJQUV4QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUMzQyxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLFVBQVUsQ0FBQyxT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TSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpCLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eSwgSUVuZ2luZSwgVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRFbnRpdHlUcmVlIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgZ2V0TmV4dElkLCByZXF1aXJlc0lkIH0gZnJvbSAnLi9pZCc7XG5pbXBvcnQgeyBpc0xhc3RXcml0ZVdpbkNvbXBvbmVudCB9IGZyb20gJy4vbHd3JztcbmltcG9ydCB0eXBlIHsgSVNES0hlbHBlcnMsIFRyaWdnZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBnZXRFeHBsb3JlckNvbXBvbmVudHMgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2xvbmUoXG4gIGVudGl0eTogRW50aXR5LFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIFRyYW5zZm9ybTogVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQsXG4gIFRyaWdnZXJzOiBUcmlnZ2Vyc0NvbXBvbmVudCxcbiAgc2RrSGVscGVycz86IElTREtIZWxwZXJzLFxuKSB7XG4gIGNvbnN0IGlkcyA9IG5ldyBNYXA8bnVtYmVyLCBudW1iZXI+KCk7XG4gIGNvbnN0IGVudGl0aWVzID0gbmV3IE1hcDxFbnRpdHksIEVudGl0eT4oKTtcbiAgY29uc3QgdHJlZSA9IGdldENvbXBvbmVudEVudGl0eVRyZWUoZW5naW5lLCBlbnRpdHksIFRyYW5zZm9ybSk7XG4gIGNvbnN0IHsgTmV0d29ya0VudGl0eSwgU3luY0NvbXBvbmVudHMgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpO1xuICBmb3IgKGNvbnN0IG9yaWdpbmFsIG9mIHRyZWUpIHtcbiAgICBjb25zdCBjbG9uZWQgPSBlbmdpbmUuYWRkRW50aXR5KCk7XG5cbiAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBlbmdpbmUuY29tcG9uZW50c0l0ZXIoKSkge1xuICAgICAgaWYgKGNvbXBvbmVudC5oYXMob3JpZ2luYWwpKSB7XG4gICAgICAgIGxldCBuZXdWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29tcG9uZW50LmdldChvcmlnaW5hbCkpKTtcbiAgICAgICAgaWYgKHJlcXVpcmVzSWQoY29tcG9uZW50KSkge1xuICAgICAgICAgIGNvbnN0IG9sZElkID0gbmV3VmFsdWUuaWQ7XG4gICAgICAgICAgY29uc3QgbmV3SWQgPSBnZXROZXh0SWQoZW5naW5lKTtcbiAgICAgICAgICBpZHMuc2V0KG9sZElkLCBuZXdJZCk7XG4gICAgICAgICAgbmV3VmFsdWUgPSB7XG4gICAgICAgICAgICAuLi5uZXdWYWx1ZSxcbiAgICAgICAgICAgIGlkOiBuZXdJZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTGFzdFdyaXRlV2luQ29tcG9uZW50KGNvbXBvbmVudCkpIHtcbiAgICAgICAgICBjb21wb25lbnQuY3JlYXRlT3JSZXBsYWNlKGNsb25lZCwgbmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGVudGl0aWVzLnNldChvcmlnaW5hbCwgY2xvbmVkKTtcbiAgfVxuXG4gIGNvbnN0IGNsb25lcyA9IEFycmF5LmZyb20oZW50aXRpZXMudmFsdWVzKCkpLnJldmVyc2UoKTtcblxuICBmb3IgKGNvbnN0IGNsb25lZCBvZiBjbG9uZXMpIHtcbiAgICAvLyBpZiB0aGUgZW50aXR5IGhhcyB0cmlnZ2VycywgcmVtYXAgdGhlIG9sZCBpZHMgaW4gdGhlIGFjdGlvbnMgYW5kIGNvbmRpdGlvbnMgdG8gdGhlIG5ldyBvbmVzXG5cbiAgICBpZiAoVHJpZ2dlcnMuaGFzKGNsb25lZCkpIHtcbiAgICAgIGNvbnN0IHRyaWdnZXJzID0gVHJpZ2dlcnMuZ2V0TXV0YWJsZShjbG9uZWQpO1xuICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzLnZhbHVlKSB7XG4gICAgICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIHRyaWdnZXIuYWN0aW9ucykge1xuICAgICAgICAgIGlmIChhY3Rpb24uaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0lkID0gaWRzLmdldChhY3Rpb24uaWQpO1xuICAgICAgICAgICAgaWYgKG5ld0lkKSB7XG4gICAgICAgICAgICAgIGFjdGlvbi5pZCA9IG5ld0lkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodHJpZ2dlci5jb25kaXRpb25zKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgdHJpZ2dlci5jb25kaXRpb25zKSB7XG4gICAgICAgICAgICBpZiAoY29uZGl0aW9uLmlkKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld0lkID0gaWRzLmdldChjb25kaXRpb24uaWQpO1xuICAgICAgICAgICAgICBpZiAobmV3SWQpIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb24uaWQgPSBuZXdJZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpeCB0aGUgTmV0d29ya0VudGl0eSBjb21wb25lbnQgZm9yIHRoZSBuZXcgZW50aXR5LlxuICAgIGlmIChOZXR3b3JrRW50aXR5LmhhcyhjbG9uZWQpKSB7XG4gICAgICBjb25zdCBzeW5jQ29tcG9uZW50ID0gU3luY0NvbXBvbmVudHMuZ2V0T3JOdWxsKGNsb25lZCk7XG5cbiAgICAgIGlmIChzeW5jQ29tcG9uZW50ICYmIHNka0hlbHBlcnM/LnN5bmNFbnRpdHkpIHtcbiAgICAgICAgc2RrSGVscGVycz8uc3luY0VudGl0eShjbG9uZWQsIHN5bmNDb21wb25lbnQuY29tcG9uZW50SWRzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiBzaG91bGQgd2UgZml4IHRoZSBwYXJlbnQgbmV0d29yayBlbnRpdHkgYWxzbyA/XG4gICAgY29uc3QgdHJhbnNmb3JtID0gVHJhbnNmb3JtLmdldE11dGFibGVPck51bGwoY2xvbmVkKTtcbiAgICBpZiAodHJhbnNmb3JtICYmIHRyYW5zZm9ybS5wYXJlbnQpIHtcbiAgICAgIGNvbnN0IG5ld1BhcmVudCA9IGVudGl0aWVzLmdldCh0cmFuc2Zvcm0ucGFyZW50KTtcbiAgICAgIGlmIChuZXdQYXJlbnQpIHtcbiAgICAgICAgdHJhbnNmb3JtLnBhcmVudCA9IG5ld1BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBjbG9uZWQgPSBjbG9uZXNbMF07XG5cbiAgcmV0dXJuIHsgaWRzLCBlbnRpdGllcywgY2xvbmVkIH07XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsTUFBTSxVQUFVLEtBQUssQ0FDbkIsTUFBYyxFQUNkLE1BQWUsRUFDZixTQUFxQyxFQUNyQyxRQUEyQixFQUMzQixVQUF3QjtJQUV4QixNQUFNLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUM1QixNQUFNLFNBQVMsR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENB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cm1Db21wb25lbnRFeHRlbmRlZCB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IGdldENvbXBvbmVudEVudGl0eVRyZWUgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBjcmVhdGVJZE1hcCwgY3JlYXRlRW50aXR5TWFwLCByZW1hcFRyaWdnZXJBY3Rpb25SZWZzLCByZXF1aXJlc0lkIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IGlzTGFzdFdyaXRlV2luQ29tcG9uZW50IH0gZnJvbSAnLi9sd3cnO1xuaW1wb3J0IHR5cGUgeyBJU0RLSGVscGVycywgVHJpZ2dlcnNDb21wb25lbnQgfSBmcm9tICcuL2RlZmluaXRpb25zJztcbmltcG9ydCB7IGdldEV4cGxvcmVyQ29tcG9uZW50cyB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBnZXROZXh0SWQgfSBmcm9tICcuL21hcHBpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2xvbmUoXG4gIGVudGl0eTogRW50aXR5LFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIFRyYW5zZm9ybTogVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQsXG4gIFRyaWdnZXJzOiBUcmlnZ2Vyc0NvbXBvbmVudCxcbiAgc2RrSGVscGVycz86IElTREtIZWxwZXJzLFxuKSB7XG4gIGNvbnN0IGlkTWFwID0gY3JlYXRlSWRNYXAoKTtcbiAgY29uc3QgZW50aXR5TWFwID0gY3JlYXRlRW50aXR5TWFwKCk7XG4gIGNvbnN0IHRyZWUgPSBnZXRDb21wb25lbnRFbnRpdHlUcmVlKGVuZ2luZSwgZW50aXR5LCBUcmFuc2Zvcm0pO1xuICBjb25zdCB7IE5ldHdvcmtFbnRpdHksIFN5bmNDb21wb25lbnRzIH0gPSBnZXRFeHBsb3JlckNvbXBvbmVudHMoZW5naW5lKTtcbiAgZm9yIChjb25zdCBvcmlnaW5hbCBvZiB0cmVlKSB7XG4gICAgY29uc3QgY2xvbmVkID0gZW5naW5lLmFkZEVudGl0eSgpO1xuXG4gICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgZW5naW5lLmNvbXBvbmVudHNJdGVyKCkpIHtcbiAgICAgIGlmIChjb21wb25lbnQuaGFzKG9yaWdpbmFsKSkge1xuICAgICAgICBsZXQgbmV3VmFsdWUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudC5nZXQob3JpZ2luYWwpKSk7XG4gICAgICAgIGlmIChyZXF1aXJlc0lkKGNvbXBvbmVudCkpIHtcbiAgICAgICAgICBjb25zdCBvbGRJZCA9IG5ld1ZhbHVlLmlkO1xuICAgICAgICAgIGNvbnN0IG5ld0lkID0gZ2V0TmV4dElkKGVuZ2luZSk7XG4gICAgICAgICAgaWRNYXAucmVtZW1iZXIob2xkSWQsIG5ld0lkKTtcbiAgICAgICAgICBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICAgIC4uLm5ld1ZhbHVlLFxuICAgICAgICAgICAgaWQ6IG5ld0lkLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNMYXN0V3JpdGVXaW5Db21wb25lbnQoY29tcG9uZW50KSkge1xuICAgICAgICAgIGNvbXBvbmVudC5jcmVhdGVPclJlcGxhY2UoY2xvbmVkLCBuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZW50aXR5TWFwLnB1dChvcmlnaW5hbCwgY2xvbmVkKTtcbiAgfVxuXG4gIGNvbnN0IGNsb25lcyA9IEFycmF5LmZyb20oZW50aXR5TWFwLmVudHJpZXMoKSwgKFssIGRzdF0pID0+IGRzdCkucmV2ZXJzZSgpO1xuXG4gIGZvciAoY29uc3QgY2xvbmVkIG9mIGNsb25lcykge1xuICAgIC8vIGlmIHRoZSBlbnRpdHkgaGFzIHRyaWdnZXJzLCByZW1hcCB0aGUgb2xkIGlkcyBpbiB0aGUgYWN0aW9ucyBhbmQgY29uZGl0aW9ucyB0byB0aGUgbmV3IG9uZXNcbiAgICBpZiAoVHJpZ2dlcnMuaGFzKGNsb25lZCkpIHtcbiAgICAgIGNvbnN0IHRyaWdnZXJzID0gVHJpZ2dlcnMuZ2V0TXV0YWJsZShjbG9uZWQpO1xuICAgICAgcmVtYXBUcmlnZ2VyQWN0aW9uUmVmcyh0cmlnZ2Vycy52YWx1ZSwgaWRNYXApO1xuICAgIH1cblxuICAgIC8vIEZpeCB0aGUgTmV0d29ya0VudGl0eSBjb21wb25lbnQgZm9yIHRoZSBuZXcgZW50aXR5LlxuICAgIGlmIChOZXR3b3JrRW50aXR5LmhhcyhjbG9uZWQpKSB7XG4gICAgICBjb25zdCBzeW5jQ29tcG9uZW50ID0gU3luY0NvbXBvbmVudHMuZ2V0T3JOdWxsKGNsb25lZCk7XG5cbiAgICAgIGlmIChzeW5jQ29tcG9uZW50ICYmIHNka0hlbHBlcnM/LnN5bmNFbnRpdHkpIHtcbiAgICAgICAgc2RrSGVscGVycz8uc3luY0VudGl0eShjbG9uZWQsIHN5bmNDb21wb25lbnQuY29tcG9uZW50SWRzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiBzaG91bGQgd2UgZml4IHRoZSBwYXJlbnQgbmV0d29yayBlbnRpdHkgYWxzbyA/XG4gICAgY29uc3QgdHJhbnNmb3JtID0gVHJhbnNmb3JtLmdldE11dGFibGVPck51bGwoY2xvbmVkKTtcbiAgICBpZiAodHJhbnNmb3JtICYmIHRyYW5zZm9ybS5wYXJlbnQpIHtcbiAgICAgIGNvbnN0IG5ld1BhcmVudCA9IGVudGl0eU1hcC5nZXQodHJhbnNmb3JtLnBhcmVudCk7XG4gICAgICBpZiAobmV3UGFyZW50KSB7XG4gICAgICAgIHRyYW5zZm9ybS5wYXJlbnQgPSBuZXdQYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY2xvbmVkID0gY2xvbmVzWzBdO1xuXG4gIC8vIE1haW50YWluIHRoZSBleGlzdGluZyBzaGFwZSAoYGlkczogTWFwPG51bWJlciwgbnVtYmVyPmAsIGBlbnRpdGllczpcbiAgLy8gTWFwPEVudGl0eSwgRW50aXR5PmApIGZvciBjYWxsZXJzIHRoYXQgcHJldmlvdXNseSByZWFkIHRoZSBtYXBzXG4gIC8vIGRpcmVjdGx5LiBUaGUgbmV3IHByaW1pdGl2ZXMgYmFjayBib3RoIHZpZXdzIHdpdGggdGhlIHNhbWUgZGF0YS5cbiAgY29uc3QgaWRzID0gbmV3IE1hcDxudW1iZXIsIG51bWJlcj4oKTtcbiAgZm9yIChjb25zdCBbb2xkSWQsIG5ld0lkXSBvZiBpZE1hcC5lbnRyaWVzKCkpIGlkcy5zZXQob2xkSWQsIG5ld0lkKTtcbiAgY29uc3QgZW50aXRpZXMgPSBuZXcgTWFwPEVudGl0eSwgRW50aXR5PigpO1xuICBmb3IgKGNvbnN0IFtzcmMsIGRzdF0gb2YgZW50aXR5TWFwLmVudHJpZXMoKSkgZW50aXRpZXMuc2V0KHNyYywgZHN0KTtcblxuICByZXR1cm4geyBpZHMsIGVudGl0aWVzLCBjbG9uZWQgfTtcbn1cbiJdfQ==
@@ -5,12 +5,13 @@ export declare const VIDEO_URL_TYPE = "https://";
5
5
  export * from './enums';
6
6
  export * from './action-types';
7
7
  export * from './events';
8
- export * from './id';
8
+ export * from './mapping';
9
9
  export * from './states';
10
10
  export * from './clone';
11
11
  export * from './lww';
12
12
  export * from './types';
13
13
  export * from './versioning';
14
+ export * from './add-child';
14
15
  export declare const ActionSchemas: {
15
16
  play_animation: ISchema<import("@dcl/ecs").MapResult<{
16
17
  animation: ISchema<string>;
@@ -217,6 +218,10 @@ export declare const ActionSchemas: {
217
218
  message: ISchema<string>;
218
219
  }>>;
219
220
  delete: ISchema<import("@dcl/ecs").MapResult<{}>>;
221
+ spawn_entity: ISchema<import("@dcl/ecs").MapResult<{
222
+ src: ISchema<string>;
223
+ position: ISchema<import("@dcl/ecs").Vector3Type>;
224
+ }>>;
220
225
  };
221
226
  export type ActionPayload<T extends ActionType = any> = T extends keyof typeof ActionSchemas ? (typeof ActionSchemas)[T] extends ISchema ? ReturnType<(typeof ActionSchemas)[T]['deserialize']> : Record<string, never> : Record<string, never>;
222
227
  export declare function getComponent<T>(componentName: string, engine: IEngine): LastWriteWinElementSetComponentDefinition<T>;
@@ -9,12 +9,13 @@ export const VIDEO_URL_TYPE = 'https://';
9
9
  export * from './enums';
10
10
  export * from './action-types';
11
11
  export * from './events';
12
- export * from './id';
12
+ export * from './mapping';
13
13
  export * from './states';
14
14
  export * from './clone';
15
15
  export * from './lww';
16
16
  export * from './types';
17
17
  export * from './versioning';
18
+ export * from './add-child';
18
19
  export const ActionSchemas = {
19
20
  [ActionType.PLAY_ANIMATION]: Schemas.Map({
20
21
  animation: Schemas.String,
@@ -214,6 +215,10 @@ export const ActionSchemas = {
214
215
  message: Schemas.String,
215
216
  }),
216
217
  [ActionType.DELETE]: Schemas.Map({}),
218
+ [ActionType.SPAWN_ENTITY]: Schemas.Map({
219
+ src: Schemas.String,
220
+ position: Schemas.Vector3,
221
+ }),
217
222
  };
218
223
  export function getComponent(componentName, engine) {
219
224
  try {
@@ -328,4 +333,4 @@ export function getConditionTypesByComponentName(componentName) {
328
333
  }
329
334
  }
330
335
  }
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0NBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsWUFBWSxHQUNiLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXNDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGdDQUFnQyxDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUM7QUFFekMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUU3QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QyxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxR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b0M7YUFDMUQsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEVudGl0eSxcbiAgSUVuZ2luZSxcbiAgSVNjaGVtYSxcbiAgTWF0ZXJpYWxDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCTWF0ZXJpYWwsXG4gIFBCVmlkZW9QbGF5ZXIsXG4gIFBCTWFpbkNhbWVyYSxcbiAgUEJWaXJ0dWFsQ2FtZXJhLFxuICBWaWRlb1RleHR1cmUsXG4gIEFuaW1hdG9yQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBUcmFuc2Zvcm1Db21wb25lbnRFeHRlbmRlZCxcbiAgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb24sXG4gIFBCQXZhdGFyQXR0YWNoLFxuICBQQlZpc2liaWxpdHlDb21wb25lbnQsXG4gIFBCR2x0ZkNvbnRhaW5lcixcbiAgUEJVaVRyYW5zZm9ybSxcbiAgUEJVaVRleHQsXG4gIFBCVGV4dFNoYXBlLFxuICBQQlVpQmFja2dyb3VuZCxcbiAgTWVzaFJlbmRlcmVyQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQkJpbGxib2FyZCxcbiAgTmFtZVR5cGUsXG4gIFBCVHdlZW4sXG4gIFBCVHdlZW5TZXF1ZW5jZSxcbiAgUEJQb2ludGVyRXZlbnRzLFxuICBQQkxpZ2h0U291cmNlLFxuICBOZXR3b3JrRW50aXR5LFxuICBTeW5jQ29tcG9uZW50cyxcbiAgQXVkaW9Tb3VyY2VDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCVWlJbnB1dCxcbiAgUEJVaUlucHV0UmVzdWx0LFxuICBQQlVpQ2FudmFzSW5mb3JtYXRpb24sXG4gIElucHV0TW9kaWZpZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCU2t5Ym94VGltZSxcbn0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgU2NoZW1hcyB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IGFkZEFjdGlvblR5cGUgfSBmcm9tICcuL2FjdGlvbi10eXBlcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnROYW1lLFxuICBUd2VlblR5cGUsXG4gIEludGVycG9sYXRpb25UeXBlLFxuICBBY3Rpb25UeXBlLFxuICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgQWxpZ25Nb2RlLFxuICBGb250LFxuICBDb2xsaWRlcnMsXG4gIFByb3hpbWl0eUxheWVyLFxuICBUZXh0dXJlTW92ZW1lbnRUeXBlLFxuICBUZWxlcG9ydE1vZGUsXG59IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgZ2V0RXhwbG9yZXJDb21wb25lbnRzIH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IGRlZmluZUFsbENvbXBvbmVudHMsIHR5cGUgQXNzZXRQYWNrc1ZlcnNpb25lZENvbXBvbmVudHMgfSBmcm9tICcuL3ZlcnNpb25pbmcvcmVnaXN0cnknO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudE5hbWVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgTElWRUtJVF9TVFJFQU1fU1JDID0gJ2xpdmVraXQtdmlkZW86Ly9jdXJyZW50LXN0cmVhbSc7XG5leHBvcnQgY29uc3QgVklERU9fVVJMX1RZUEUgPSAnaHR0cHM6Ly8nO1xuXG5leHBvcnQgKiBmcm9tICcuL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jbG9uZSc7XG5leHBvcnQgKiBmcm9tICcuL2x3dyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdmVyc2lvbmluZyc7XG5cbmV4cG9ydCBjb25zdCBBY3Rpb25TY2hlbWFzID0ge1xuICBbQWN0aW9uVHlwZS5QTEFZX0FOSU1BVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICBhbmltYXRpb246IFNjaGVtYXMuU3RyaW5nLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICBzaG91bGRSZXNldDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BTklNQVRJT05dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9TVEFURV06IFNjaGVtYXMuTWFwKHsgc3RhdGU6IFNjaGVtYXMuU3RyaW5nIH0pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9UV0VFTl06IFNjaGVtYXMuTWFwKHtcbiAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHdlZW5UeXBlPihUd2VlblR5cGUsIFR3ZWVuVHlwZS5NT1ZFX0lURU0pLFxuICAgIGVuZDogU2NoZW1hcy5WZWN0b3IzLFxuICAgIGludGVycG9sYXRpb25UeXBlOiBTY2hlbWFzLkVudW1TdHJpbmcoSW50ZXJwb2xhdGlvblR5cGUsIEludGVycG9sYXRpb25UeXBlLkxJTkVBUiksXG4gICAgZHVyYXRpb246IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAvLyBGb3IgS0VFUF9ST1RBVElOR19JVEVNXG4gICAgZGlyZWN0aW9uOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuVmVjdG9yMyksXG4gICAgc3BlZWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TRVRfQ09VTlRFUl06IFNjaGVtYXMuTWFwKHsgY291bnRlcjogU2NoZW1hcy5JbnQgfSksXG4gIFtBY3Rpb25UeXBlLklOQ1JFTUVOVF9DT1VOVEVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFtb3VudDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ERUNSRUFTRV9DT1VOVEVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFtb3VudDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX1NPVU5EXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIHZvbHVtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICBnbG9iYWw6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfU09VTkRdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9WSVNJQklMSVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHZpc2libGU6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGNvbGxpZGVyIGluc3RlYWQgKi9cbiAgICBwaHlzaWNzQ29sbGlkZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICBjb2xsaWRlcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkVudW1OdW1iZXIoQ29sbGlkZXJzLCBDb2xsaWRlcnMuQ0xfUE9JTlRFUikpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQVRUQUNIX1RPX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBhbmNob3JQb2ludElkOiBTY2hlbWFzLkludCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRFVEFDSF9GUk9NX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9WSURFT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIGRjbENhc3Q6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfVklERU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0FVRElPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHtcbiAgICB1cmw6IFNjaGVtYXMuU3RyaW5nLFxuICAgIHZvbHVtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfQVVESU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5URUxFUE9SVF9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgbW9kZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRlbGVwb3J0TW9kZT4oVGVsZXBvcnRNb2RlLCBUZWxlcG9ydE1vZGUuVE9fQ09PUkRJTkFURVMpLFxuICAgIHg6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgIHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgIHJlYWxtOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgY2FtZXJhVGFyZ2V0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuVmVjdG9yMyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0RFRkFVTFRfRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgZW1vdGU6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9DVVNUT01fRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5PUEVOX0xJTktdOiBTY2hlbWFzLk1hcCh7XG4gICAgdXJsOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNIT1dfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBoaWRlQWZ0ZXJTZWNvbmRzOiBTY2hlbWFzLkZsb2F0LFxuICAgIGZvbnQ6IFNjaGVtYXMuRW51bU51bWJlcihGb250LCBGb250LkZfU0FOU19TRVJJRiksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dEFsaWduOiBTY2hlbWFzLkVudW1OdW1iZXIoQWxpZ25Nb2RlLCBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuSElERV9URVhUXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICB0aW1lb3V0OiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICBpbnRlcnZhbDogU2NoZW1hcy5GbG9hdCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xPTkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5SRU1PVkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TSE9XX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgYWxpZ246IFNjaGVtYXMuRW51bU51bWJlcihBbGlnbk1vZGUsIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUiksXG4gICAgaGVpZ2h0OiBTY2hlbWFzLkZsb2F0LFxuICAgIHdpZHRoOiBTY2hlbWFzLkZsb2F0LFxuICAgIGhpZGVBZnRlclNlY29uZHM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ISURFX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIGltYWdlRW50aXR5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRBTUFHRV06IFNjaGVtYXMuTWFwKHtcbiAgICByYWRpdXM6IFNjaGVtYXMuRmxvYXQsXG4gICAgbGF5ZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5FbnVtU3RyaW5nKFByb3hpbWl0eUxheWVyLCBQcm94aW1pdHlMYXllci5BTEwpKSxcbiAgICBoaXRzOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSX0hFUkVdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlFUl9GQUNFX0lURU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQUNFX09OX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUk9UQVRFX0FTX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBQ0VfT05fQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5ST1RBVEVfQVNfQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfUE9TSVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgeDogU2NoZW1hcy5GbG9hdCxcbiAgICB5OiBTY2hlbWFzLkZsb2F0LFxuICAgIHo6IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9ST1RBVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkZsb2F0LFxuICAgIHk6IFNjaGVtYXMuRmxvYXQsXG4gICAgejogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1NDQUxFXTogU2NoZW1hcy5NYXAoe1xuICAgIHg6IFNjaGVtYXMuRmxvYXQsXG4gICAgeTogU2NoZW1hcy5GbG9hdCxcbiAgICB6OiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5GT0xMT1dfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHNwZWVkOiBTY2hlbWFzLkZsb2F0LFxuICAgIHg6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB5OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgejogU2NoZW1hcy5Cb29sZWFuLFxuICAgIG1pbkRpc3RhbmNlOiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9GT0xMT1dJTkdfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5SQU5ET01dOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5CQVRDSF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkhFQUxfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIG11bHRpcGxpZXI6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xBSU1fQUlSRFJPUF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuTElHSFRTX09OXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5MSUdIVFNfT0ZGXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5MSUdIVFNfTU9ESUZZXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIGNvbG9yOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQ29sb3IzKSxcbiAgICBpbnRlbnNpdHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfQ0FNRVJBXTogU2NoZW1hcy5NYXAoe1xuICAgIC8qKiBJZiB1bmRlZmluZWQsIHVzZXMgdGhlIGVudGl0eSB0aGF0IG93bnMgdGhlIEFjdGlvbnMgY29tcG9uZW50LiBJZiAwIChSb290RW50aXR5KSwgcmVtb3ZlcyBjYW1lcmEuICovXG4gICAgdmlydHVhbENhbWVyYUVudGl0eTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkVudGl0eSksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBmb250U2l6ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICBjb2xvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkNvbG9yNCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX1RXRUVOXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TTElERV9URVhUVVJFXTogU2NoZW1hcy5NYXAoe1xuICAgIGRpcmVjdGlvbjogU2NoZW1hcy5NYXAoeyB4OiBTY2hlbWFzLkZsb2F0LCB5OiBTY2hlbWFzLkZsb2F0IH0pLFxuICAgIHNwZWVkOiBTY2hlbWFzLkZsb2F0LFxuICAgIG1vdmVtZW50VHlwZTogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgIFNjaGVtYXMuRW51bU51bWJlcihUZXh0dXJlTW92ZW1lbnRUeXBlLCBUZXh0dXJlTW92ZW1lbnRUeXBlLlRNVF9PRkZTRVQpLFxuICAgICksXG4gICAgZHVyYXRpb246IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5GUkVFWkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5VTkZSRUVaRV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLkNIQU5HRV9DT0xMSVNJT05TXTogU2NoZW1hcy5NYXAoe1xuICAgIHZpc2libGVDb2xsaXNpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICBpbnZpc2libGVDb2xsaXNpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkNIQU5HRV9TS1lCT1hdOiBTY2hlbWFzLk1hcCh7XG4gICAgdGltZTogU2NoZW1hcy5JbnQsXG4gICAgZGlyZWN0aW9uOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlJFU0VUX1NLWUJPWF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuQ0FMTF9TQ1JJUFRfTUVUSE9EXTogU2NoZW1hcy5NYXAoe1xuICAgIHNjcmlwdFBhdGg6IFNjaGVtYXMuU3RyaW5nLFxuICAgIG1ldGhvZE5hbWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgIHBhcmFtczogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLk1hcCh7fSkpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuTE9HX1RPX0NPTlNPTEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgbWVzc2FnZTogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ERUxFVEVdOiBTY2hlbWFzLk1hcCh7fSksXG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25QYXlsb2FkPFQgZXh0ZW5kcyBBY3Rpb25UeXBlID0gYW55PiA9IFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgQWN0aW9uU2NoZW1hc1xuICA/ICh0eXBlb2YgQWN0aW9uU2NoZW1hcylbVF0gZXh0ZW5kcyBJU2NoZW1hXG4gICAgPyBSZXR1cm5UeXBlPCh0eXBlb2YgQWN0aW9uU2NoZW1hcylbVF1bJ2Rlc2VyaWFsaXplJ10+XG4gICAgOiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj5cbiAgOiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnQ8VD4oY29tcG9uZW50TmFtZTogc3RyaW5nLCBlbmdpbmU6IElFbmdpbmUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW5naW5lLmdldENvbXBvbmVudChjb21wb25lbnROYW1lKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxUPjtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciB1c2luZyBnZXRDb21wb25lbnQgd2l0aCBjb21wb25lbnROYW1lPVwiJHtjb21wb25lbnROYW1lfVwiYCk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIHJldHVybiB7XG4gICAgQWN0aW9uczogZ2V0Q29tcG9uZW50PEFjdGlvbnM+KENvbXBvbmVudE5hbWUuQUNUSU9OUywgZW5naW5lKSxcbiAgICBTdGF0ZXM6IGdldENvbXBvbmVudDxTdGF0ZXM+KENvbXBvbmVudE5hbWUuU1RBVEVTLCBlbmdpbmUpLFxuICAgIENvdW50ZXI6IGdldENvbXBvbmVudDxDb3VudGVyPihDb21wb25lbnROYW1lLkNPVU5URVIsIGVuZ2luZSksXG4gICAgVHJpZ2dlcnM6IGdldENvbXBvbmVudDxUcmlnZ2Vycz4oQ29tcG9uZW50TmFtZS5UUklHR0VSUywgZW5naW5lKSxcbiAgICBDb3VudGVyQmFyOiBnZXRDb21wb25lbnQ8Q291bnRlckJhcj4oQ29tcG9uZW50TmFtZS5DT1VOVEVSX0JBUiwgZW5naW5lKSxcbiAgICBBZG1pblRvb2xzOiBnZXRDb21wb25lbnQ8QWRtaW5Ub29scz4oQ29tcG9uZW50TmFtZS5BRE1JTl9UT09MUywgZW5naW5lKSxcbiAgICBWaWRlb1NjcmVlbjogZ2V0Q29tcG9uZW50PFZpZGVvU2NyZWVuPihDb21wb25lbnROYW1lLlZJREVPX1NDUkVFTiwgZW5naW5lKSxcbiAgICBSZXdhcmRzOiBnZXRDb21wb25lbnQ8UmV3YXJkcz4oQ29tcG9uZW50TmFtZS5SRVdBUkRTLCBlbmdpbmUpLFxuICAgIFRleHRBbm5vdW5jZW1lbnRzOiBnZXRDb21wb25lbnQ8VGV4dEFubm91bmNlbWVudHM+KENvbXBvbmVudE5hbWUuVEVYVF9BTk5PVU5DRU1FTlRTLCBlbmdpbmUpLFxuICAgIFZpZGVvQ29udHJvbFN0YXRlOiBnZXRDb21wb25lbnQ8VmlkZW9Db250cm9sU3RhdGU+KENvbXBvbmVudE5hbWUuVklERU9fQ09OVFJPTF9TVEFURSwgZW5naW5lKSxcbiAgICBTY3JpcHQ6IGdldENvbXBvbmVudDxTY3JpcHQ+KENvbXBvbmVudE5hbWUuU0NSSVBULCBlbmdpbmUpLFxuICAgIFBsYWNlaG9sZGVyOiBnZXRDb21wb25lbnQ8UGxhY2Vob2xkZXI+KENvbXBvbmVudE5hbWUuUExBQ0VIT0xERVIsIGVuZ2luZSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICBjb25zdCBjb21wb25lbnRzID0gZGVmaW5lQWxsQ29tcG9uZW50cyhlbmdpbmUpIGFzIEFzc2V0UGFja3NWZXJzaW9uZWRDb21wb25lbnRzO1xuICByZXR1cm4ge1xuICAgIEFjdGlvblR5cGVzOiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5BQ1RJT05fVFlQRVNdLFxuICAgIEFjdGlvbnM6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLkFDVElPTlNdLFxuICAgIENvdW50ZXI6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLkNPVU5URVJdLFxuICAgIFRyaWdnZXJzOiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5UUklHR0VSU10sXG4gICAgU3RhdGVzOiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5TVEFURVNdLFxuICAgIENvdW50ZXJCYXI6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLkNPVU5URVJfQkFSXSxcbiAgICBBZG1pblRvb2xzOiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5BRE1JTl9UT09MU10sXG4gICAgUmV3YXJkczogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuUkVXQVJEU10sXG4gICAgVGV4dEFubm91bmNlbWVudHM6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLlRFWFRfQU5OT1VOQ0VNRU5UU10sXG4gICAgVmlkZW9Db250cm9sU3RhdGU6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLlZJREVPX0NPTlRST0xfU1RBVEVdLFxuICAgIFZpZGVvU2NyZWVuOiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5WSURFT19TQ1JFRU5dLFxuICAgIFNjcmlwdDogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuU0NSSVBUXSxcbiAgICBQbGFjZWhvbGRlcjogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuUExBQ0VIT0xERVJdLFxuICB9O1xufVxuXG5leHBvcnQgdHlwZSBFbmdpbmVDb21wb25lbnRzID0ge1xuICBBbmltYXRvcjogQW5pbWF0b3JDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFRyYW5zZm9ybTogVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQ7XG4gIEF1ZGlvU291cmNlOiBBdWRpb1NvdXJjZUNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgQXZhdGFyQXR0YWNoOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkF2YXRhckF0dGFjaD47XG4gIFZpc2liaWxpdHlDb21wb25lbnQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlzaWJpbGl0eUNvbXBvbmVudD47XG4gIEdsdGZDb250YWluZXI6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCR2x0ZkNvbnRhaW5lcj47XG4gIE1hdGVyaWFsOiBNYXRlcmlhbENvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgTWVzaFJlbmRlcmVyOiBNZXNoUmVuZGVyZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFZpZGVvUGxheWVyOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpZGVvUGxheWVyPjtcbiAgTGlnaHRTb3VyY2U6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCTGlnaHRTb3VyY2U+O1xuICBWaXJ0dWFsQ2FtZXJhOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpcnR1YWxDYW1lcmE+O1xuICBNYWluQ2FtZXJhOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQk1haW5DYW1lcmE+O1xuICBUZXh0U2hhcGU6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVGV4dFNoYXBlPjtcbiAgVWlUcmFuc2Zvcm06IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlUcmFuc2Zvcm0+O1xuICBVaVRleHQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlUZXh0PjtcbiAgVWlCYWNrZ3JvdW5kOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpQmFja2dyb3VuZD47XG4gIFVpSW5wdXQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlJbnB1dD47XG4gIFVpSW5wdXRSZXN1bHQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlJbnB1dFJlc3VsdD47XG4gIFVpQ2FudmFzSW5mb3JtYXRpb246IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlDYW52YXNJbmZvcm1hdGlvbj47XG4gIEJpbGxib2FyZDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJCaWxsYm9hcmQ+O1xuICBOYW1lOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxOYW1lVHlwZT47XG4gIFR3ZWVuOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlR3ZWVuPjtcbiAgVHdlZW5TZXF1ZW5jZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJUd2VlblNlcXVlbmNlPjtcbiAgUG9pbnRlckV2ZW50czogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJQb2ludGVyRXZlbnRzPjtcbiAgTmV0d29ya0VudGl0eTogdHlwZW9mIE5ldHdvcmtFbnRpdHk7XG4gIFN5bmNDb21wb25lbnRzOiB0eXBlb2YgU3luY0NvbXBvbmVudHM7XG4gIElucHV0TW9kaWZpZXI6IElucHV0TW9kaWZpZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFNreWJveFRpbWU6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCU2t5Ym94VGltZT47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIC8vIEFkZCBhY3Rpb25zIGZyb20gdGhpcyBwYWNrYWdlXG4gIGNvbnN0IGFjdGlvblR5cGVzID0gT2JqZWN0LnZhbHVlcyhBY3Rpb25UeXBlKTtcbiAgZm9yIChjb25zdCB0eXBlIG9mIGFjdGlvblR5cGVzKSB7XG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IHR5cGUgYXMgQWN0aW9uVHlwZTtcbiAgICBhZGRBY3Rpb25UeXBlKGVuZ2luZSwgYWN0aW9uVHlwZSwgQWN0aW9uU2NoZW1hc1thY3Rpb25UeXBlXSk7XG4gIH1cblxuICAvLyBBZGQgY291bnRlciB0byByb290IGVudGl0eVxuICBjb25zdCBDb3VudGVyID0gZW5naW5lLmdldENvbXBvbmVudChcbiAgICBDb21wb25lbnROYW1lLkNPVU5URVIsXG4gICkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248Q291bnRlcj47XG4gIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSk7XG4gIGNvdW50ZXIudmFsdWUgPSBjb3VudGVyLnZhbHVlIHx8IDA7XG5cbiAgY29uc3QgeyBWaWRlb1BsYXllciwgTWF0ZXJpYWwgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpO1xuICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKGVuZ2luZSwgeyBWaWRlb1BsYXllciwgTWF0ZXJpYWwgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFZpZGVvVGV4dHVyZSh7IG1hdGVyaWFsIH06IFBCTWF0ZXJpYWwpOiBWaWRlb1RleHR1cmUgfCB1bmRlZmluZWQge1xuICBpZiAobWF0ZXJpYWw/LiRjYXNlID09PSAndW5saXQnICYmIG1hdGVyaWFsLnVubGl0LnRleHR1cmU/LnRleD8uJGNhc2UgPT09ICd2aWRlb1RleHR1cmUnKSB7XG4gICAgcmV0dXJuIG1hdGVyaWFsLnVubGl0LnRleHR1cmUudGV4LnZpZGVvVGV4dHVyZTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRNYXRlcmlhbChcbiAgZW50aXR5OiBFbnRpdHksXG4gIHsgTWF0ZXJpYWwgfTogUGljazxFbmdpbmVDb21wb25lbnRzLCAnTWF0ZXJpYWwnPixcbiAgbWF0ZXJpYWw/OiBQQk1hdGVyaWFsIHwgbnVsbCxcbikge1xuICBpZiAoIW1hdGVyaWFsIHx8ICFtYXRlcmlhbC5tYXRlcmlhbCB8fCBtYXRlcmlhbC5tYXRlcmlhbC4kY2FzZSAhPT0gJ3VubGl0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgTWF0ZXJpYWwuc2V0QmFzaWNNYXRlcmlhbChlbnRpdHksIHtcbiAgICAuLi5tYXRlcmlhbC5tYXRlcmlhbC51bmxpdCxcbiAgICB0ZXh0dXJlOiBNYXRlcmlhbC5UZXh0dXJlLlZpZGVvKHtcbiAgICAgIHZpZGVvUGxheWVyRW50aXR5OiBlbnRpdHksXG4gICAgfSksXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIGNvbXBvbmVudHM6IFBpY2s8RW5naW5lQ29tcG9uZW50cywgJ01hdGVyaWFsJyB8ICdWaWRlb1BsYXllcic+LFxuKSB7XG4gIGZ1bmN0aW9uIHJlcGxhY2VWaWRlb1RleHR1cmUoKSB7XG4gICAgY29uc3QgeyBNYXRlcmlhbCwgVmlkZW9QbGF5ZXIgfSA9IGNvbXBvbmVudHM7XG4gICAgZW5naW5lLnJlbW92ZVN5c3RlbShyZXBsYWNlVmlkZW9UZXh0dXJlKTtcbiAgICBmb3IgKGNvbnN0IFtlbnRpdHksIG1hdGVyaWFsXSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKE1hdGVyaWFsLCBWaWRlb1BsYXllcikpIHtcbiAgICAgIGNvbnN0IHZpZGVvVGV4dHVyZSA9IGdldFZpZGVvVGV4dHVyZShtYXRlcmlhbCk7XG4gICAgICBpZiAodmlkZW9UZXh0dXJlPy52aWRlb1BsYXllckVudGl0eSA9PT0gZW5naW5lLlJvb3RFbnRpdHkpIHtcbiAgICAgICAgaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50TWF0ZXJpYWwoZW50aXR5LCBjb21wb25lbnRzLCBtYXRlcmlhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGVuZ2luZS5hZGRTeXN0ZW0ocmVwbGFjZVZpZGVvVGV4dHVyZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZShjb21wb25lbnROYW1lOiBDb21wb25lbnROYW1lKSB7XG4gIHN3aXRjaCAoY29tcG9uZW50TmFtZSkge1xuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5TVEFURVM6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVNfTk9ULFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTX05PVCxcbiAgICAgIF07XG4gICAgfVxuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5DT1VOVEVSOiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfRVFVQUxTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfR1JFQVRFUl9USEFOLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfTEVTU19USEFOLFxuICAgICAgXTtcbiAgICB9XG4gICAgY2FzZSBDb21wb25lbnROYW1lLkFDVElPTlM6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0xFU1NfVEhBTixcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfR1JFQVRFUl9USEFOLFxuICAgICAgXTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb21wb25lbnRzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQ29tcG9uZW50cz47XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9uVHlwZXMnXTtcbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID0gUmV0dXJuVHlwZTxBY3Rpb25UeXBlc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25zQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9ucyddO1xuZXhwb3J0IHR5cGUgQWN0aW9ucyA9IFJldHVyblR5cGU8QWN0aW9uc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuZXhwb3J0IHR5cGUgQWN0aW9uID0gQWN0aW9uc1sndmFsdWUnXVswXTtcblxuZXhwb3J0IHR5cGUgQ291bnRlckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXInXTtcbmV4cG9ydCB0eXBlIENvdW50ZXIgPSBSZXR1cm5UeXBlPENvdW50ZXJDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgQ291bnRlckJhckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXJCYXInXTtcbmV4cG9ydCB0eXBlIENvdW50ZXJCYXIgPSBSZXR1cm5UeXBlPENvdW50ZXJCYXJDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVHJpZ2dlcnNDb21wb25lbnQgPSBDb21wb25lbnRzWydUcmlnZ2VycyddO1xuZXhwb3J0IHR5cGUgVHJpZ2dlcnMgPSBSZXR1cm5UeXBlPFRyaWdnZXJzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5leHBvcnQgdHlwZSBUcmlnZ2VyID0gVHJpZ2dlcnNbJ3ZhbHVlJ11bMF07XG5leHBvcnQgdHlwZSBUcmlnZ2VyQWN0aW9uID0gVHJpZ2dlclsnYWN0aW9ucyddWzBdO1xuZXhwb3J0IHR5cGUgVHJpZ2dlckNvbmRpdGlvbiA9IEV4Y2x1ZGU8VHJpZ2dlclsnY29uZGl0aW9ucyddLCB1bmRlZmluZWQ+WzBdO1xuXG5leHBvcnQgdHlwZSBTdGF0ZXNDb21wb25lbnQgPSBDb21wb25lbnRzWydTdGF0ZXMnXTtcbmV4cG9ydCB0eXBlIFN0YXRlcyA9IFJldHVyblR5cGU8U3RhdGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIEFkbWluVG9vbHNDb21wb25lbnQgPSBDb21wb25lbnRzWydBZG1pblRvb2xzJ107XG5leHBvcnQgdHlwZSBBZG1pblRvb2xzID0gUmV0dXJuVHlwZTxBZG1pblRvb2xzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFZpZGVvU2NyZWVuQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVmlkZW9TY3JlZW4nXTtcbmV4cG9ydCB0eXBlIFZpZGVvU2NyZWVuID0gUmV0dXJuVHlwZTxWaWRlb1NjcmVlbkNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBSZXdhcmRzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snUmV3YXJkcyddO1xuZXhwb3J0IHR5cGUgUmV3YXJkcyA9IFJldHVyblR5cGU8UmV3YXJkc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBUZXh0QW5ub3VuY2VtZW50c0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1RleHRBbm5vdW5jZW1lbnRzJ107XG5leHBvcnQgdHlwZSBUZXh0QW5ub3VuY2VtZW50cyA9IFJldHVyblR5cGU8VGV4dEFubm91bmNlbWVudHNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVmlkZW9Db250cm9sU3RhdGVDb21wb25lbnQgPSBDb21wb25lbnRzWydWaWRlb0NvbnRyb2xTdGF0ZSddO1xuZXhwb3J0IHR5cGUgVmlkZW9Db250cm9sU3RhdGUgPSBSZXR1cm5UeXBlPFZpZGVvQ29udHJvbFN0YXRlQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFNjcmlwdENvbXBvbmVudCA9IENvbXBvbmVudHNbJ1NjcmlwdCddO1xuZXhwb3J0IHR5cGUgU2NyaXB0ID0gUmV0dXJuVHlwZTxTY3JpcHRDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgUGxhY2Vob2xkZXJDb21wb25lbnQgPSBDb21wb25lbnRzWydQbGFjZWhvbGRlciddO1xuZXhwb3J0IHR5cGUgUGxhY2Vob2xkZXIgPSBSZXR1cm5UeXBlPFBsYWNlaG9sZGVyQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG4iXX0=
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0NBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsWUFBWSxHQUNiLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXNDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGdDQUFnQyxDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUM7QUFFekMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QyxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUN2QyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0tBQy9DLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5RCxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3BDLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFZLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ25FLEdBQUcsRUFBRSxPQUFPLENBQUMsT0FBTztRQUNwQixpQkFBaUIsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUNsRixRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDdkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBRXpCLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDNUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN2QyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0QsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzFDLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7S0FDdEMsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN6QyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0tBQ3RDLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ25DLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUNuQixJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUMxQyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFFeEIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNsRCxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDaEYsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN6QyxhQUFhLEVBQUUsT0FBTyxDQUFDLEdBQUc7S0FDM0IsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDaEQsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzFDLEdBQUcsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUN2QyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDM0MsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDL0MsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUNuQixNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0tBQ3hDLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQy9DLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDeEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQWUsWUFBWSxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUM7UUFDakYsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNoQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2hDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDeEMsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDcEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3pCLFlBQVksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDaEQsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU07S0FDdEIsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMxQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDbkIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUN4QyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNsQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU07S0FDcEIsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDbEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3BCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQy9CLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ2pELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDekMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztLQUN0RSxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDdkMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNwQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSztLQUN2QixDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNuQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07S0FDdkIsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDbkMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUs7S0FDeEIsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDbEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO0tBQ3ZCLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3JDLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTztLQUMxQixDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDM0MsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNuQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDbkIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDckIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNqRCxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3RDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDMUMsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDbkMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztLQUMzQyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMvQixNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDckIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7S0FDcEMsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM5QyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM3QyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzlDLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzdDLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDaEIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ2hCLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSztRQUNoQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0tBQzVDLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3JDLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSztRQUNoQixDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDaEIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ2hCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDNUMsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDbEMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ2hCLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSztRQUNoQixDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDaEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUM1QyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN0QyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ2xCLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTztRQUNsQixDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDbEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0tBQzNCLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ25ELENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDL0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUN2QyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0tBQ3ZDLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3BDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRztLQUN4QixDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDM0MsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDdkMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN0QyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3pDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDdkMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUMzQyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUV0QyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDdEQsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDcEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3BCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDekMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUN4QyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN0QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUQsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLFlBQVksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUM1QixPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUN4RTtRQUNELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDMUMsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzdDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMxQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDaEQsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0tBQ25ELENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3RDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRztRQUNqQixTQUFTLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0tBQ3pDLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUMxQyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDM0MsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQzFCLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUMxQixNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzFDLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUN4QixDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDcEMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDbkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPO0tBQzFCLENBQUM7Q0FDSCxDQUFDO0FBUUYsTUFBTSxVQUFVLFlBQVksQ0FBSSxhQUFxQixFQUFFLE1BQWU7SUFDcEUsSUFBSSxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBaUQsQ0FBQztJQUM1RixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDaEYsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBZTtJQUMzQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVksQ0FBVSxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUM3RCxNQUFNLEVBQUUsWUFBWSxDQUFTLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1FBQzFELE9BQU8sRUFBRSxZQUFZLENBQVUsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDN0QsUUFBUSxFQUFFLFlBQVksQ0FBVyxhQUFhLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUNoRSxVQUFVLEVBQUUsWUFBWSxDQUFhLGFBQWEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO1FBQ3ZFLFVBQVUsRUFBRSxZQUFZLENBQWEsYUFBYSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDdkUsV0FBVyxFQUFFLFlBQVksQ0FBYyxhQUFhLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztRQUMxRSxPQUFPLEVBQUUsWUFBWSxDQUFVLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQzdELGlCQUFpQixFQUFFLFlBQVksQ0FBb0IsYUFBYSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztRQUM1RixpQkFBaUIsRUFBRSxZQUFZLENBQW9CLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7UUFDN0YsTUFBTSxFQUFFLFlBQVksQ0FBUyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUMxRCxXQUFXLEVBQUUsWUFBWSxDQUFjLGFBQWEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO0tBQzFFLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWU7SUFDOUMsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFrQyxDQUFDO0lBQ2hGLE9BQU87UUFDTCxXQUFXLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQztRQUN4RCxPQUFPLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUMvQyxPQUFPLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUMvQyxRQUFRLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUNqRCxNQUFNLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUM3QyxVQUFVLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztRQUN0RCxVQUFVLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztRQUN0RCxPQUFPLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUMvQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7UUFDcEUsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDO1FBQ3JFLFdBQVcsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO1FBQ3hELE1BQU0sRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBQzdDLFdBQVcsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO0tBQ3hELENBQUM7QUFDSixDQUFDO0FBaUNELE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBZTtJQUU1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLEtBQUssTUFBTSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7UUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBa0IsQ0FBQztRQUN0QyxhQUFhLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBR0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FDakMsYUFBYSxDQUFDLE9BQU8sQ0FDZ0MsQ0FBQztJQUN4RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlELE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7SUFFbkMsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRSx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsRUFBRSxRQUFRLEVBQWM7SUFDL0MsSUFBSSxRQUFRLEVBQUUsS0FBSyxLQUFLLE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxLQUFLLGNBQWMsRUFBRSxDQUFDO1FBQ3pGLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsTUFBYyxFQUNkLEVBQUUsUUFBUSxFQUFzQyxFQUNoRCxRQUE0QjtJQUU1QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1FBQ2hDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1FBQzFCLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUM5QixpQkFBaUIsRUFBRSxNQUFNO1NBQzFCLENBQUM7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyx5QkFBeUIsQ0FDaEMsTUFBZSxFQUNmLFVBQThEO0lBRTlELFNBQVMsbUJBQW1CO1FBQzFCLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN6QyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0MsSUFBSSxZQUFZLEVBQUUsaUJBQWlCLEtBQUssTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxRCxnQ0FBZ0MsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLGFBQTRCO0lBQzNFLFFBQVEsYUFBYSxFQUFFLENBQUM7UUFDdEIsS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUMxQixPQUFPO2dCQUNMLG9CQUFvQixDQUFDLGFBQWE7Z0JBQ2xDLG9CQUFvQixDQUFDLGlCQUFpQjtnQkFDdEMsb0JBQW9CLENBQUMsc0JBQXNCO2dCQUMzQyxvQkFBb0IsQ0FBQywwQkFBMEI7YUFDaEQsQ0FBQztRQUNKLENBQUM7UUFDRCxLQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87Z0JBQ0wsb0JBQW9CLENBQUMsbUJBQW1CO2dCQUN4QyxvQkFBb0IsQ0FBQyw0QkFBNEI7Z0JBQ2pELG9CQUFvQixDQUFDLHlCQUF5QjthQUMvQyxDQUFDO1FBQ0osQ0FBQztRQUNELEtBQUssYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsT0FBTztnQkFDTCxvQkFBb0IsQ0FBQyxpQ0FBaUM7Z0JBQ3RELG9CQUFvQixDQUFDLG9DQUFvQzthQUMxRCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDUixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRW50aXR5LFxuICBJRW5naW5lLFxuICBJU2NoZW1hLFxuICBNYXRlcmlhbENvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZCxcbiAgUEJNYXRlcmlhbCxcbiAgUEJWaWRlb1BsYXllcixcbiAgUEJNYWluQ2FtZXJhLFxuICBQQlZpcnR1YWxDYW1lcmEsXG4gIFZpZGVvVGV4dHVyZSxcbiAgQW5pbWF0b3JDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFRyYW5zZm9ybUNvbXBvbmVudEV4dGVuZGVkLFxuICBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbixcbiAgUEJBdmF0YXJBdHRhY2gsXG4gIFBCVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgUEJHbHRmQ29udGFpbmVyLFxuICBQQlVpVHJhbnNmb3JtLFxuICBQQlVpVGV4dCxcbiAgUEJUZXh0U2hhcGUsXG4gIFBCVWlCYWNrZ3JvdW5kLFxuICBNZXNoUmVuZGVyZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCQmlsbGJvYXJkLFxuICBOYW1lVHlwZSxcbiAgUEJUd2VlbixcbiAgUEJUd2VlblNlcXVlbmNlLFxuICBQQlBvaW50ZXJFdmVudHMsXG4gIFBCTGlnaHRTb3VyY2UsXG4gIE5ldHdvcmtFbnRpdHksXG4gIFN5bmNDb21wb25lbnRzLFxuICBBdWRpb1NvdXJjZUNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZCxcbiAgUEJVaUlucHV0LFxuICBQQlVpSW5wdXRSZXN1bHQsXG4gIFBCVWlDYW52YXNJbmZvcm1hdGlvbixcbiAgSW5wdXRNb2RpZmllckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZCxcbiAgUEJTa3lib3hUaW1lLFxufSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBTY2hlbWFzIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgYWRkQWN0aW9uVHlwZSB9IGZyb20gJy4vYWN0aW9uLXR5cGVzJztcbmltcG9ydCB7XG4gIENvbXBvbmVudE5hbWUsXG4gIFR3ZWVuVHlwZSxcbiAgSW50ZXJwb2xhdGlvblR5cGUsXG4gIEFjdGlvblR5cGUsXG4gIFRyaWdnZXJDb25kaXRpb25UeXBlLFxuICBBbGlnbk1vZGUsXG4gIEZvbnQsXG4gIENvbGxpZGVycyxcbiAgUHJveGltaXR5TGF5ZXIsXG4gIFRleHR1cmVNb3ZlbWVudFR5cGUsXG4gIFRlbGVwb3J0TW9kZSxcbn0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBnZXRFeHBsb3JlckNvbXBvbmVudHMgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGVmaW5lQWxsQ29tcG9uZW50cywgdHlwZSBBc3NldFBhY2tzVmVyc2lvbmVkQ29tcG9uZW50cyB9IGZyb20gJy4vdmVyc2lvbmluZy9yZWdpc3RyeSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50TmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBMSVZFS0lUX1NUUkVBTV9TUkMgPSAnbGl2ZWtpdC12aWRlbzovL2N1cnJlbnQtc3RyZWFtJztcbmV4cG9ydCBjb25zdCBWSURFT19VUkxfVFlQRSA9ICdodHRwczovLyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBwaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xvbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9sd3cnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcnNpb25pbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9hZGQtY2hpbGQnO1xuXG5leHBvcnQgY29uc3QgQWN0aW9uU2NoZW1hcyA9IHtcbiAgW0FjdGlvblR5cGUuUExBWV9BTklNQVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgYW5pbWF0aW9uOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgc2hvdWxkUmVzZXQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfQU5JTUFUSU9OXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfU1RBVEVdOiBTY2hlbWFzLk1hcCh7IHN0YXRlOiBTY2hlbWFzLlN0cmluZyB9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfVFdFRU5dOiBTY2hlbWFzLk1hcCh7XG4gICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFR3ZWVuVHlwZT4oVHdlZW5UeXBlLCBUd2VlblR5cGUuTU9WRV9JVEVNKSxcbiAgICBlbmQ6IFNjaGVtYXMuVmVjdG9yMyxcbiAgICBpbnRlcnBvbGF0aW9uVHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nKEludGVycG9sYXRpb25UeXBlLCBJbnRlcnBvbGF0aW9uVHlwZS5MSU5FQVIpLFxuICAgIGR1cmF0aW9uOiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgLy8gRm9yIEtFRVBfUk9UQVRJTkdfSVRFTVxuICAgIGRpcmVjdGlvbjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlZlY3RvcjMpLFxuICAgIHNwZWVkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0VUX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7IGNvdW50ZXI6IFNjaGVtYXMuSW50IH0pLFxuICBbQWN0aW9uVHlwZS5JTkNSRU1FTlRfQ09VTlRFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBhbW91bnQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuREVDUkVBU0VfQ09VTlRFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBhbW91bnQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9TT1VORF06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgZ2xvYmFsOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX1NPVU5EXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfVklTSUJJTElUWV06IFNjaGVtYXMuTWFwKHtcbiAgICB2aXNpYmxlOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBjb2xsaWRlciBpbnN0ZWFkICovXG4gICAgcGh5c2ljc0NvbGxpZGVyOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgY29sbGlkZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5FbnVtTnVtYmVyKENvbGxpZGVycywgQ29sbGlkZXJzLkNMX1BPSU5URVIpKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkFUVEFDSF9UT19QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW5jaG9yUG9pbnRJZDogU2NoZW1hcy5JbnQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ERVRBQ0hfRlJPTV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfVklERU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIHZvbHVtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICBkY2xDYXN0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX1ZJREVPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9BVURJT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7XG4gICAgdXJsOiBTY2hlbWFzLlN0cmluZyxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0FVRElPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuVEVMRVBPUlRfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIG1vZGU6IFNjaGVtYXMuRW51bVN0cmluZzxUZWxlcG9ydE1vZGU+KFRlbGVwb3J0TW9kZSwgVGVsZXBvcnRNb2RlLlRPX0NPT1JESU5BVEVTKSxcbiAgICB4OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICB5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICByZWFsbTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5NT1ZFX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBwb3NpdGlvbjogU2NoZW1hcy5WZWN0b3IzLFxuICAgIGNhbWVyYVRhcmdldDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlZlY3RvcjMpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9ERUZBVUxUX0VNT1RFXTogU2NoZW1hcy5NYXAoe1xuICAgIGVtb3RlOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfQ1VTVE9NX0VNT1RFXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuT1BFTl9MSU5LXTogU2NoZW1hcy5NYXAoe1xuICAgIHVybDogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TSE9XX1RFWFRdOiBTY2hlbWFzLk1hcCh7XG4gICAgdGV4dDogU2NoZW1hcy5TdHJpbmcsXG4gICAgaGlkZUFmdGVyU2Vjb25kczogU2NoZW1hcy5GbG9hdCxcbiAgICBmb250OiBTY2hlbWFzLkVudW1OdW1iZXIoRm9udCwgRm9udC5GX1NBTlNfU0VSSUYpLFxuICAgIGZvbnRTaXplOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIHRleHRBbGlnbjogU2NoZW1hcy5FbnVtTnVtYmVyKEFsaWduTW9kZSwgQWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkhJREVfVEVYVF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfREVMQVldOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gICAgdGltZW91dDogU2NoZW1hcy5GbG9hdCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfREVMQVldOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUQVJUX0xPT1BdOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gICAgaW50ZXJ2YWw6IFNjaGVtYXMuRmxvYXQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0xPT1BdOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkNMT05FX0VOVElUWV06IFNjaGVtYXMuTWFwKHtcbiAgICBwb3NpdGlvbjogU2NoZW1hcy5WZWN0b3IzLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUkVNT1ZFX0VOVElUWV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0hPV19JTUFHRV06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGFsaWduOiBTY2hlbWFzLkVudW1OdW1iZXIoQWxpZ25Nb2RlLCBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIpLFxuICAgIGhlaWdodDogU2NoZW1hcy5GbG9hdCxcbiAgICB3aWR0aDogU2NoZW1hcy5GbG9hdCxcbiAgICBoaWRlQWZ0ZXJTZWNvbmRzOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIHRleHQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGZvbnRTaXplOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuSElERV9JTUFHRV06IFNjaGVtYXMuTWFwKHtcbiAgICBpbWFnZUVudGl0eTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5EQU1BR0VdOiBTY2hlbWFzLk1hcCh7XG4gICAgcmFkaXVzOiBTY2hlbWFzLkZsb2F0LFxuICAgIGxheWVyOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRW51bVN0cmluZyhQcm94aW1pdHlMYXllciwgUHJveGltaXR5TGF5ZXIuQUxMKSksXG4gICAgaGl0czogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5NT1ZFX1BMQVlFUl9IRVJFXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZRVJfRkFDRV9JVEVNXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFDRV9PTl9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlJPVEFURV9BU19QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQUNFX09OX0NBTUVSQV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUk9UQVRFX0FTX0NBTUVSQV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1BPU0lUSU9OXTogU2NoZW1hcy5NYXAoe1xuICAgIHg6IFNjaGVtYXMuRmxvYXQsXG4gICAgeTogU2NoZW1hcy5GbG9hdCxcbiAgICB6OiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TRVRfUk9UQVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgeDogU2NoZW1hcy5GbG9hdCxcbiAgICB5OiBTY2hlbWFzLkZsb2F0LFxuICAgIHo6IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9TQ0FMRV06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkZsb2F0LFxuICAgIHk6IFNjaGVtYXMuRmxvYXQsXG4gICAgejogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuRk9MTE9XX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBzcGVlZDogU2NoZW1hcy5GbG9hdCxcbiAgICB4OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgeTogU2NoZW1hcy5Cb29sZWFuLFxuICAgIHo6IFNjaGVtYXMuQm9vbGVhbixcbiAgICBtaW5EaXN0YW5jZTogU2NoZW1hcy5GbG9hdCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfRk9MTE9XSU5HX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUkFORE9NXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQkFUQ0hdOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5IRUFMX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBtdWx0aXBsaWVyOiBTY2hlbWFzLkludCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkNMQUlNX0FJUkRST1BdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLkxJR0hUU19PTl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuTElHSFRTX09GRl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuTElHSFRTX01PRElGWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3RpdmU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICBjb2xvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkNvbG9yMyksXG4gICAgaW50ZW5zaXR5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0hBTkdFX0NBTUVSQV06IFNjaGVtYXMuTWFwKHtcbiAgICAvKiogSWYgdW5kZWZpbmVkLCB1c2VzIHRoZSBlbnRpdHkgdGhhdCBvd25zIHRoZSBBY3Rpb25zIGNvbXBvbmVudC4gSWYgMCAoUm9vdEVudGl0eSksIHJlbW92ZXMgY2FtZXJhLiAqL1xuICAgIHZpcnR1YWxDYW1lcmFFbnRpdHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5FbnRpdHkpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0hBTkdFX1RFWFRdOiBTY2hlbWFzLk1hcCh7XG4gICAgdGV4dDogU2NoZW1hcy5TdHJpbmcsXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgY29sb3I6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Db2xvcjQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9UV0VFTl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0xJREVfVEVYVFVSRV06IFNjaGVtYXMuTWFwKHtcbiAgICBkaXJlY3Rpb246IFNjaGVtYXMuTWFwKHsgeDogU2NoZW1hcy5GbG9hdCwgeTogU2NoZW1hcy5GbG9hdCB9KSxcbiAgICBzcGVlZDogU2NoZW1hcy5GbG9hdCxcbiAgICBtb3ZlbWVudFR5cGU6IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICBTY2hlbWFzLkVudW1OdW1iZXIoVGV4dHVyZU1vdmVtZW50VHlwZSwgVGV4dHVyZU1vdmVtZW50VHlwZS5UTVRfT0ZGU0VUKSxcbiAgICApLFxuICAgIGR1cmF0aW9uOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuRlJFRVpFX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuVU5GUkVFWkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfQ09MTElTSU9OU106IFNjaGVtYXMuTWFwKHtcbiAgICB2aXNpYmxlQ29sbGlzaW9uczogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gICAgaW52aXNpYmxlQ29sbGlzaW9uczogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfU0tZQk9YXTogU2NoZW1hcy5NYXAoe1xuICAgIHRpbWU6IFNjaGVtYXMuSW50LFxuICAgIGRpcmVjdGlvbjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5SRVNFVF9TS1lCT1hdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLkNBTExfU0NSSVBUX01FVEhPRF06IFNjaGVtYXMuTWFwKHtcbiAgICBzY3JpcHRQYXRoOiBTY2hlbWFzLlN0cmluZyxcbiAgICBtZXRob2ROYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICBwYXJhbXM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5NYXAoe30pKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkxPR19UT19DT05TT0xFXTogU2NoZW1hcy5NYXAoe1xuICAgIG1lc3NhZ2U6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuREVMRVRFXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TUEFXTl9FTlRJVFldOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBwb3NpdGlvbjogU2NoZW1hcy5WZWN0b3IzLFxuICB9KSxcbn07XG5cbmV4cG9ydCB0eXBlIEFjdGlvblBheWxvYWQ8VCBleHRlbmRzIEFjdGlvblR5cGUgPSBhbnk+ID0gVCBleHRlbmRzIGtleW9mIHR5cGVvZiBBY3Rpb25TY2hlbWFzXG4gID8gKHR5cGVvZiBBY3Rpb25TY2hlbWFzKVtUXSBleHRlbmRzIElTY2hlbWFcbiAgICA/IFJldHVyblR5cGU8KHR5cGVvZiBBY3Rpb25TY2hlbWFzKVtUXVsnZGVzZXJpYWxpemUnXT5cbiAgICA6IFJlY29yZDxzdHJpbmcsIG5ldmVyPlxuICA6IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBvbmVudDxUPihjb21wb25lbnROYW1lOiBzdHJpbmcsIGVuZ2luZTogSUVuZ2luZSkge1xuICB0cnkge1xuICAgIHJldHVybiBlbmdpbmUuZ2V0Q29tcG9uZW50KGNvbXBvbmVudE5hbWUpIGFzIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFQ+O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHVzaW5nIGdldENvbXBvbmVudCB3aXRoIGNvbXBvbmVudE5hbWU9XCIke2NvbXBvbmVudE5hbWV9XCJgKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tcG9uZW50cyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgcmV0dXJuIHtcbiAgICBBY3Rpb25zOiBnZXRDb21wb25lbnQ8QWN0aW9ucz4oQ29tcG9uZW50TmFtZS5BQ1RJT05TLCBlbmdpbmUpLFxuICAgIFN0YXRlczogZ2V0Q29tcG9uZW50PFN0YXRlcz4oQ29tcG9uZW50TmFtZS5TVEFURVMsIGVuZ2luZSksXG4gICAgQ291bnRlcjogZ2V0Q29tcG9uZW50PENvdW50ZXI+KENvbXBvbmVudE5hbWUuQ09VTlRFUiwgZW5naW5lKSxcbiAgICBUcmlnZ2VyczogZ2V0Q29tcG9uZW50PFRyaWdnZXJzPihDb21wb25lbnROYW1lLlRSSUdHRVJTLCBlbmdpbmUpLFxuICAgIENvdW50ZXJCYXI6IGdldENvbXBvbmVudDxDb3VudGVyQmFyPihDb21wb25lbnROYW1lLkNPVU5URVJfQkFSLCBlbmdpbmUpLFxuICAgIEFkbWluVG9vbHM6IGdldENvbXBvbmVudDxBZG1pblRvb2xzPihDb21wb25lbnROYW1lLkFETUlOX1RPT0xTLCBlbmdpbmUpLFxuICAgIFZpZGVvU2NyZWVuOiBnZXRDb21wb25lbnQ8VmlkZW9TY3JlZW4+KENvbXBvbmVudE5hbWUuVklERU9fU0NSRUVOLCBlbmdpbmUpLFxuICAgIFJld2FyZHM6IGdldENvbXBvbmVudDxSZXdhcmRzPihDb21wb25lbnROYW1lLlJFV0FSRFMsIGVuZ2luZSksXG4gICAgVGV4dEFubm91bmNlbWVudHM6IGdldENvbXBvbmVudDxUZXh0QW5ub3VuY2VtZW50cz4oQ29tcG9uZW50TmFtZS5URVhUX0FOTk9VTkNFTUVOVFMsIGVuZ2luZSksXG4gICAgVmlkZW9Db250cm9sU3RhdGU6IGdldENvbXBvbmVudDxWaWRlb0NvbnRyb2xTdGF0ZT4oQ29tcG9uZW50TmFtZS5WSURFT19DT05UUk9MX1NUQVRFLCBlbmdpbmUpLFxuICAgIFNjcmlwdDogZ2V0Q29tcG9uZW50PFNjcmlwdD4oQ29tcG9uZW50TmFtZS5TQ1JJUFQsIGVuZ2luZSksXG4gICAgUGxhY2Vob2xkZXI6IGdldENvbXBvbmVudDxQbGFjZWhvbGRlcj4oQ29tcG9uZW50TmFtZS5QTEFDRUhPTERFUiwgZW5naW5lKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IGNvbXBvbmVudHMgPSBkZWZpbmVBbGxDb21wb25lbnRzKGVuZ2luZSkgYXMgQXNzZXRQYWNrc1ZlcnNpb25lZENvbXBvbmVudHM7XG4gIHJldHVybiB7XG4gICAgQWN0aW9uVHlwZXM6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLkFDVElPTl9UWVBFU10sXG4gICAgQWN0aW9uczogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuQUNUSU9OU10sXG4gICAgQ291bnRlcjogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuQ09VTlRFUl0sXG4gICAgVHJpZ2dlcnM6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLlRSSUdHRVJTXSxcbiAgICBTdGF0ZXM6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLlNUQVRFU10sXG4gICAgQ291bnRlckJhcjogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuQ09VTlRFUl9CQVJdLFxuICAgIEFkbWluVG9vbHM6IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLkFETUlOX1RPT0xTXSxcbiAgICBSZXdhcmRzOiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5SRVdBUkRTXSxcbiAgICBUZXh0QW5ub3VuY2VtZW50czogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuVEVYVF9BTk5PVU5DRU1FTlRTXSxcbiAgICBWaWRlb0NvbnRyb2xTdGF0ZTogY29tcG9uZW50c1tCYXNlQ29tcG9uZW50TmFtZXMuVklERU9fQ09OVFJPTF9TVEFURV0sXG4gICAgVmlkZW9TY3JlZW46IGNvbXBvbmVudHNbQmFzZUNvbXBvbmVudE5hbWVzLlZJREVPX1NDUkVFTl0sXG4gICAgU2NyaXB0OiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5TQ1JJUFRdLFxuICAgIFBsYWNlaG9sZGVyOiBjb21wb25lbnRzW0Jhc2VDb21wb25lbnROYW1lcy5QTEFDRUhPTERFUl0sXG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEVuZ2luZUNvbXBvbmVudHMgPSB7XG4gIEFuaW1hdG9yOiBBbmltYXRvckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgVHJhbnNmb3JtOiBUcmFuc2Zvcm1Db21wb25lbnRFeHRlbmRlZDtcbiAgQXVkaW9Tb3VyY2U6IEF1ZGlvU291cmNlQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkO1xuICBBdmF0YXJBdHRhY2g6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCQXZhdGFyQXR0YWNoPjtcbiAgVmlzaWJpbGl0eUNvbXBvbmVudDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJWaXNpYmlsaXR5Q29tcG9uZW50PjtcbiAgR2x0ZkNvbnRhaW5lcjogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJHbHRmQ29udGFpbmVyPjtcbiAgTWF0ZXJpYWw6IE1hdGVyaWFsQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkO1xuICBNZXNoUmVuZGVyZXI6IE1lc2hSZW5kZXJlckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgVmlkZW9QbGF5ZXI6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlkZW9QbGF5ZXI+O1xuICBMaWdodFNvdXJjZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJMaWdodFNvdXJjZT47XG4gIFZpcnR1YWxDYW1lcmE6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlydHVhbENhbWVyYT47XG4gIE1haW5DYW1lcmE6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCTWFpbkNhbWVyYT47XG4gIFRleHRTaGFwZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJUZXh0U2hhcGU+O1xuICBVaVRyYW5zZm9ybTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaVRyYW5zZm9ybT47XG4gIFVpVGV4dDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaVRleHQ+O1xuICBVaUJhY2tncm91bmQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlCYWNrZ3JvdW5kPjtcbiAgVWlJbnB1dDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaUlucHV0PjtcbiAgVWlJbnB1dFJlc3VsdDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaUlucHV0UmVzdWx0PjtcbiAgVWlDYW52YXNJbmZvcm1hdGlvbjogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaUNhbnZhc0luZm9ybWF0aW9uPjtcbiAgQmlsbGJvYXJkOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkJpbGxib2FyZD47XG4gIE5hbWU6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPE5hbWVUeXBlPjtcbiAgVHdlZW46IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVHdlZW4+O1xuICBUd2VlblNlcXVlbmNlOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlR3ZWVuU2VxdWVuY2U+O1xuICBQb2ludGVyRXZlbnRzOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlBvaW50ZXJFdmVudHM+O1xuICBOZXR3b3JrRW50aXR5OiB0eXBlb2YgTmV0d29ya0VudGl0eTtcbiAgU3luY0NvbXBvbmVudHM6IHR5cGVvZiBTeW5jQ29tcG9uZW50cztcbiAgSW5wdXRNb2RpZmllcjogSW5wdXRNb2RpZmllckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgU2t5Ym94VGltZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJTa3lib3hUaW1lPjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29tcG9uZW50cyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgLy8gQWRkIGFjdGlvbnMgZnJvbSB0aGlzIHBhY2thZ2VcbiAgY29uc3QgYWN0aW9uVHlwZXMgPSBPYmplY3QudmFsdWVzKEFjdGlvblR5cGUpO1xuICBmb3IgKGNvbnN0IHR5cGUgb2YgYWN0aW9uVHlwZXMpIHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdHlwZSBhcyBBY3Rpb25UeXBlO1xuICAgIGFkZEFjdGlvblR5cGUoZW5naW5lLCBhY3Rpb25UeXBlLCBBY3Rpb25TY2hlbWFzW2FjdGlvblR5cGVdKTtcbiAgfVxuXG4gIC8vIEFkZCBjb3VudGVyIHRvIHJvb3QgZW50aXR5XG4gIGNvbnN0IENvdW50ZXIgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KFxuICAgIENvbXBvbmVudE5hbWUuQ09VTlRFUixcbiAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxDb3VudGVyPjtcbiAgY29uc3QgY291bnRlciA9IENvdW50ZXIuZ2V0T3JDcmVhdGVNdXRhYmxlKGVuZ2luZS5Sb290RW50aXR5KTtcbiAgY291bnRlci52YWx1ZSA9IGNvdW50ZXIudmFsdWUgfHwgMDtcblxuICBjb25zdCB7IFZpZGVvUGxheWVyLCBNYXRlcmlhbCB9ID0gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZSk7XG4gIGluaXRWaWRlb1BsYXllckNvbXBvbmVudHMoZW5naW5lLCB7IFZpZGVvUGxheWVyLCBNYXRlcmlhbCB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0VmlkZW9UZXh0dXJlKHsgbWF0ZXJpYWwgfTogUEJNYXRlcmlhbCk6IFZpZGVvVGV4dHVyZSB8IHVuZGVmaW5lZCB7XG4gIGlmIChtYXRlcmlhbD8uJGNhc2UgPT09ICd1bmxpdCcgJiYgbWF0ZXJpYWwudW5saXQudGV4dHVyZT8udGV4Py4kY2FzZSA9PT0gJ3ZpZGVvVGV4dHVyZScpIHtcbiAgICByZXR1cm4gbWF0ZXJpYWwudW5saXQudGV4dHVyZS50ZXgudmlkZW9UZXh0dXJlO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRWaWRlb1BsYXllckNvbXBvbmVudE1hdGVyaWFsKFxuICBlbnRpdHk6IEVudGl0eSxcbiAgeyBNYXRlcmlhbCB9OiBQaWNrPEVuZ2luZUNvbXBvbmVudHMsICdNYXRlcmlhbCc+LFxuICBtYXRlcmlhbD86IFBCTWF0ZXJpYWwgfCBudWxsLFxuKSB7XG4gIGlmICghbWF0ZXJpYWwgfHwgIW1hdGVyaWFsLm1hdGVyaWFsIHx8IG1hdGVyaWFsLm1hdGVyaWFsLiRjYXNlICE9PSAndW5saXQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBNYXRlcmlhbC5zZXRCYXNpY01hdGVyaWFsKGVudGl0eSwge1xuICAgIC4uLm1hdGVyaWFsLm1hdGVyaWFsLnVubGl0LFxuICAgIHRleHR1cmU6IE1hdGVyaWFsLlRleHR1cmUuVmlkZW8oe1xuICAgICAgdmlkZW9QbGF5ZXJFbnRpdHk6IGVudGl0eSxcbiAgICB9KSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGluaXRWaWRlb1BsYXllckNvbXBvbmVudHMoXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgY29tcG9uZW50czogUGljazxFbmdpbmVDb21wb25lbnRzLCAnTWF0ZXJpYWwnIHwgJ1ZpZGVvUGxheWVyJz4sXG4pIHtcbiAgZnVuY3Rpb24gcmVwbGFjZVZpZGVvVGV4dHVyZSgpIHtcbiAgICBjb25zdCB7IE1hdGVyaWFsLCBWaWRlb1BsYXllciB9ID0gY29tcG9uZW50cztcbiAgICBlbmdpbmUucmVtb3ZlU3lzdGVtKHJlcGxhY2VWaWRlb1RleHR1cmUpO1xuICAgIGZvciAoY29uc3QgW2VudGl0eSwgbWF0ZXJpYWxdIG9mIGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoTWF0ZXJpYWwsIFZpZGVvUGxheWVyKSkge1xuICAgICAgY29uc3QgdmlkZW9UZXh0dXJlID0gZ2V0VmlkZW9UZXh0dXJlKG1hdGVyaWFsKTtcbiAgICAgIGlmICh2aWRlb1RleHR1cmU/LnZpZGVvUGxheWVyRW50aXR5ID09PSBlbmdpbmUuUm9vdEVudGl0eSkge1xuICAgICAgICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRNYXRlcmlhbChlbnRpdHksIGNvbXBvbmVudHMsIG1hdGVyaWFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZW5naW5lLmFkZFN5c3RlbShyZXBsYWNlVmlkZW9UZXh0dXJlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmRpdGlvblR5cGVzQnlDb21wb25lbnROYW1lKGNvbXBvbmVudE5hbWU6IENvbXBvbmVudE5hbWUpIHtcbiAgc3dpdGNoIChjb21wb25lbnROYW1lKSB7XG4gICAgY2FzZSBDb21wb25lbnROYW1lLlNUQVRFUzoge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JUyxcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JU19OT1QsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fUFJFVklPVVNfU1RBVEVfSVMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fUFJFVklPVVNfU1RBVEVfSVNfTk9ULFxuICAgICAgXTtcbiAgICB9XG4gICAgY2FzZSBDb21wb25lbnROYW1lLkNPVU5URVI6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9FUVVBTFMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU4sXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU4sXG4gICAgICBdO1xuICAgIH1cbiAgICBjYXNlIENvbXBvbmVudE5hbWUuQUNUSU9OUzoge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfTEVTU19USEFOLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9HUkVBVEVSX1RIQU4sXG4gICAgICBdO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudHMgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVDb21wb25lbnRzPjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXNDb21wb25lbnQgPSBDb21wb25lbnRzWydBY3Rpb25UeXBlcyddO1xuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPSBSZXR1cm5UeXBlPEFjdGlvblR5cGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIEFjdGlvbnNDb21wb25lbnQgPSBDb21wb25lbnRzWydBY3Rpb25zJ107XG5leHBvcnQgdHlwZSBBY3Rpb25zID0gUmV0dXJuVHlwZTxBY3Rpb25zQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5leHBvcnQgdHlwZSBBY3Rpb24gPSBBY3Rpb25zWyd2YWx1ZSddWzBdO1xuXG5leHBvcnQgdHlwZSBDb3VudGVyQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQ291bnRlciddO1xuZXhwb3J0IHR5cGUgQ291bnRlciA9IFJldHVyblR5cGU8Q291bnRlckNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBDb3VudGVyQmFyQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQ291bnRlckJhciddO1xuZXhwb3J0IHR5cGUgQ291bnRlckJhciA9IFJldHVyblR5cGU8Q291bnRlckJhckNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBUcmlnZ2Vyc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1RyaWdnZXJzJ107XG5leHBvcnQgdHlwZSBUcmlnZ2VycyA9IFJldHVyblR5cGU8VHJpZ2dlcnNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcbmV4cG9ydCB0eXBlIFRyaWdnZXIgPSBUcmlnZ2Vyc1sndmFsdWUnXVswXTtcbmV4cG9ydCB0eXBlIFRyaWdnZXJBY3Rpb24gPSBUcmlnZ2VyWydhY3Rpb25zJ11bMF07XG5leHBvcnQgdHlwZSBUcmlnZ2VyQ29uZGl0aW9uID0gRXhjbHVkZTxUcmlnZ2VyWydjb25kaXRpb25zJ10sIHVuZGVmaW5lZD5bMF07XG5cbmV4cG9ydCB0eXBlIFN0YXRlc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1N0YXRlcyddO1xuZXhwb3J0IHR5cGUgU3RhdGVzID0gUmV0dXJuVHlwZTxTdGF0ZXNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgQWRtaW5Ub29sc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ0FkbWluVG9vbHMnXTtcbmV4cG9ydCB0eXBlIEFkbWluVG9vbHMgPSBSZXR1cm5UeXBlPEFkbWluVG9vbHNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVmlkZW9TY3JlZW5Db21wb25lbnQgPSBDb21wb25lbnRzWydWaWRlb1NjcmVlbiddO1xuZXhwb3J0IHR5cGUgVmlkZW9TY3JlZW4gPSBSZXR1cm5UeXBlPFZpZGVvU2NyZWVuQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFJld2FyZHNDb21wb25lbnQgPSBDb21wb25lbnRzWydSZXdhcmRzJ107XG5leHBvcnQgdHlwZSBSZXdhcmRzID0gUmV0dXJuVHlwZTxSZXdhcmRzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFRleHRBbm5vdW5jZW1lbnRzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVGV4dEFubm91bmNlbWVudHMnXTtcbmV4cG9ydCB0eXBlIFRleHRBbm5vdW5jZW1lbnRzID0gUmV0dXJuVHlwZTxUZXh0QW5ub3VuY2VtZW50c0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBWaWRlb0NvbnRyb2xTdGF0ZUNvbXBvbmVudCA9IENvbXBvbmVudHNbJ1ZpZGVvQ29udHJvbFN0YXRlJ107XG5leHBvcnQgdHlwZSBWaWRlb0NvbnRyb2xTdGF0ZSA9IFJldHVyblR5cGU8VmlkZW9Db250cm9sU3RhdGVDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgU2NyaXB0Q29tcG9uZW50ID0gQ29tcG9uZW50c1snU2NyaXB0J107XG5leHBvcnQgdHlwZSBTY3JpcHQgPSBSZXR1cm5UeXBlPFNjcmlwdENvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBQbGFjZWhvbGRlckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ1BsYWNlaG9sZGVyJ107XG5leHBvcnQgdHlwZSBQbGFjZWhvbGRlciA9IFJldHVyblR5cGU8UGxhY2Vob2xkZXJDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcbiJdfQ==
package/dist/enums.d.ts CHANGED
@@ -106,7 +106,8 @@ export declare enum ActionType {
106
106
  RESET_SKYBOX = "reset_skybox",
107
107
  CALL_SCRIPT_METHOD = "call_script_method",
108
108
  LOG_TO_CONSOLE = "log_to_console",
109
- DELETE = "delete"
109
+ DELETE = "delete",
110
+ SPAWN_ENTITY = "spawn_entity"
110
111
  }
111
112
  export { TriggerType, TriggerConditionType, TriggerConditionOperation } from './trigger-enums';
112
113
  export declare enum AlignMode {
package/dist/enums.js CHANGED
@@ -111,6 +111,7 @@ export var ActionType;
111
111
  ActionType["CALL_SCRIPT_METHOD"] = "call_script_method";
112
112
  ActionType["LOG_TO_CONSOLE"] = "log_to_console";
113
113
  ActionType["DELETE"] = "delete";
114
+ ActionType["SPAWN_ENTITY"] = "spawn_entity";
114
115
  })(ActionType || (ActionType = {}));
115
116
  export { TriggerType, TriggerConditionType, TriggerConditionOperation } from './trigger-enums';
116
117
  export var AlignMode;
@@ -163,4 +164,4 @@ export var ProximityLayer;
163
164
  ProximityLayer["NON_PLAYER"] = "non_player";
164
165
  })(ProximityLayer || (ProximityLayer = {}));
165
166
  export { AdminPermissions, MediaSource } from './constants';
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsWUFBWSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQztJQUNuRSxPQUFPLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0lBQ3pELE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDekQsUUFBUSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUMzRCxNQUFNLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7SUFDakUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztJQUNqRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO0lBQ25FLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDekQsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7SUFDL0UsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7SUFDakYsTUFBTSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztJQUN2RCxXQUFXLEVBQUUsb0JBQW9CLENBQUMsa0JB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SVg7QUFKRCxXQUFZLG1CQUFtQjtJQUU3Qix5RUFBYyxDQUFBO0lBQ2QseUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0lBQ2pCLDJDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFlHQWxpZ24sIFlHSnVzdGlmeSB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IGdldExhdGVzdFZlcnNpb25OYW1lIH0gZnJvbSAnLi92ZXJzaW9uaW5nL3JlZ2lzdHJ5JztcbmltcG9ydCB7IEJhc2VDb21wb25lbnROYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gUmUtZXhwb3J0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgeyBCYXNlQ29tcG9uZW50TmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBDb21wb25lbnROYW1lID0ge1xuICBBQ1RJT05fVFlQRVM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5BQ1RJT05fVFlQRVMpLFxuICBBQ1RJT05TOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuQUNUSU9OUyksXG4gIENPVU5URVI6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5DT1VOVEVSKSxcbiAgVFJJR0dFUlM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5UUklHR0VSUyksXG4gIFNUQVRFUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlNUQVRFUyksXG4gIENPVU5URVJfQkFSOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuQ09VTlRFUl9CQVIpLFxuICBBRE1JTl9UT09MUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLkFETUlOX1RPT0xTKSxcbiAgVklERU9fU0NSRUVOOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuVklERU9fU0NSRUVOKSxcbiAgUkVXQVJEUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlJFV0FSRFMpLFxuICBURVhUX0FOTk9VTkNFTUVOVFM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5URVhUX0FOTk9VTkNFTUVOVFMpLFxuICBWSURFT19DT05UUk9MX1NUQVRFOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuVklERU9fQ09OVFJPTF9TVEFURSksXG4gIFNDUklQVDogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlNDUklQVCksXG4gIFBMQUNFSE9MREVSOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuUExBQ0VIT0xERVIpLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50TmFtZSA9ICh0eXBlb2YgQ29tcG9uZW50TmFtZSlba2V5b2YgdHlwZW9mIENvbXBvbmVudE5hbWVdO1xuZXhwb3J0IGVudW0gVHdlZW5UeXBlIHtcbiAgTU9WRV9JVEVNID0gJ21vdmVfaXRlbScsXG4gIFJPVEFURV9JVEVNID0gJ3JvdGF0ZV9pdGVtJyxcbiAgU0NBTEVfSVRFTSA9ICdzY2FsZV9pdGVtJyxcbiAgS0VFUF9ST1RBVElOR19JVEVNID0gJ2tlZXBfcm90YXRpbmdfaXRlbScsXG59XG5cbmV4cG9ydCBlbnVtIFRlbGVwb3J0TW9kZSB7XG4gIFRPX0NPT1JESU5BVEVTID0gJ3RvX2Nvb3JkaW5hdGVzJyxcbiAgVE9fV09STEQgPSAndG9fd29ybGQnLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcnBvbGF0aW9uVHlwZSB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBFQVNFSU5RVUFEID0gJ2Vhc2VpbnF1YWQnLFxuICBFQVNFT1VUUVVBRCA9ICdlYXNlb3V0cXVhZCcsXG4gIEVBU0VRVUFEID0gJ2Vhc2VxdWFkJyxcbiAgRUFTRUlOU0lORSA9ICdlYXNlaW5zaW5lJyxcbiAgRUFTRU9VVFNJTkUgPSAnZWFzZW91dHNpbmUnLFxuICBFQVNFU0lORSA9ICdlYXNlaW5vdXRzaW5lJyxcbiAgRUFTRUlORVhQTyA9ICdlYXNlaW5leHBvJyxcbiAgRUFTRU9VVEVYUE8gPSAnZWFzZW91dGV4cG8nLFxuICBFQVNFRVhQTyA9ICdlYXNlaW5vdXRleHBvJyxcbiAgRUFTRUlORUxBU1RJQyA9ICdlYXNlaW5lbGFzdGljJyxcbiAgRUFTRU9VVEVMQVNUSUMgPSAnZWFzZW91dGVsYXN0aWMnLFxuICBFQVNFRUxBU1RJQyA9ICdlYXNlaW5vdXRlbGFzdGljJyxcbiAgRUFTRUlOQk9VTkNFID0gJ2Vhc2VpbmJvdW5jZScsXG4gIEVBU0VPVVRFQk9VTkNFID0gJ2Vhc2VvdXRib3VuY2UnLFxuICBFQVNFQk9VTkNFID0gJ2Vhc2Vpbm91dGJvdW5jZScsXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBQTEFZX0FOSU1BVElPTiA9ICdwbGF5X2FuaW1hdGlvbicsXG4gIFNUT1BfQU5JTUFUSU9OID0gJ3N0b3BfYW5pbWF0aW9uJyxcbiAgU0VUX1NUQVRFID0gJ3NldF9zdGF0ZScsXG4gIFNUQVJUX1RXRUVOID0gJ3N0YXJ0X3R3ZWVuJyxcbiAgU0VUX0NPVU5URVIgPSAnc2V0X2NvdW50ZXInLFxuICBJTkNSRU1FTlRfQ09VTlRFUiA9ICdpbmNyZW1lbnRfY291bnRlcicsXG4gIERFQ1JFQVNFX0NPVU5URVIgPSAnZGVjcmVhc2VfY291bnRlcicsXG4gIFBMQVlfU09VTkQgPSAncGxheV9zb3VuZCcsXG4gIFNUT1BfU09VTkQgPSAnc3RvcF9zb3VuZCcsXG4gIFNFVF9WSVNJQklMSVRZID0gJ3NldF92aXNpYmlsaXR5JyxcbiAgQVRUQUNIX1RPX1BMQVlFUiA9ICdhdHRhY2hfdG9fcGxheWVyJyxcbiAgREVUQUNIX0ZST01fUExBWUVSID0gJ2RldGFjaF9mcm9tX3BsYXllcicsXG4gIFBMQVlfVklERU9fU1RSRUFNID0gJ3BsYXlfdmlkZW9fc3RyZWFtJyxcbiAgU1RPUF9WSURFT19TVFJFQU0gPSAnc3RvcF92aWRlb19zdHJlYW0nLFxuICBQTEFZX0FVRElPX1NUUkVBTSA9ICdwbGF5X2F1ZGlvX3N0cmVhbScsXG4gIFNUT1BfQVVESU9fU1RSRUFNID0gJ3N0b3BfYXVkaW9fc3RyZWFtJyxcbiAgVEVMRVBPUlRfUExBWUVSID0gJ3RlbGVwb3J0X3BsYXllcicsXG4gIE1PVkVfUExBWUVSID0gJ21vdmVfcGxheWVyJyxcbiAgUExBWV9ERUZBVUxUX0VNT1RFID0gJ3BsYXlfZGVmYXVsdF9lbW90ZScsXG4gIFBMQVlfQ1VTVE9NX0VNT1RFID0gJ3BsYXlfY3VzdG9tX2Vtb3RlJyxcbiAgT1BFTl9MSU5LID0gJ29wZW5fbGluaycsXG4gIFNIT1dfVEVYVCA9ICdzaG93X3RleHQnLFxuICBISURFX1RFWFQgPSAnaGlkZV90ZXh0JyxcbiAgU1RBUlRfREVMQVkgPSAnc3RhcnRfZGVsYXknLFxuICBTVE9QX0RFTEFZID0gJ3N0b3BfZGVsYXknLFxuICBTVEFSVF9MT09QID0gJ3N0YXJ0X2xvb3AnLFxuICBTVE9QX0xPT1AgPSAnc3RvcF9sb29wJyxcbiAgQ0xPTkVfRU5USVRZID0gJ2Nsb25lX2VudGl0eScsXG4gIFJFTU9WRV9FTlRJVFkgPSAncmVtb3ZlX2VudGl0eScsXG4gIFNIT1dfSU1BR0UgPSAnc2hvd19pbWFnZScsXG4gIEhJREVfSU1BR0UgPSAnaGlkZV9pbWFnZScsXG4gIERBTUFHRSA9ICdkYW1hZ2UnLFxuICBNT1ZFX1BMQVlFUl9IRVJFID0gJ21vdmVfcGxheWVyX2hlcmUnLFxuICBQTEFZRVJfRkFDRV9JVEVNID0gJ3BsYXllcl9mYWNlX2l0ZW0nLFxuICBQTEFDRV9PTl9QTEFZRVIgPSAncGxhY2Vfb25fcGxheWVyJyxcbiAgUk9UQVRFX0FTX1BMQVlFUiA9ICdyb3RhdGVfYXNfcGxheWVyJyxcbiAgUExBQ0VfT05fQ0FNRVJBID0gJ3BsYWNlX29uX2NhbWVyYScsXG4gIFJPVEFURV9BU19DQU1FUkEgPSAncm90YXRlX2FzX2NhbWVyYScsXG4gIFNFVF9QT1NJVElPTiA9ICdzZXRfcG9zaXRpb24nLFxuICBTRVRfUk9UQVRJT04gPSAnc2V0X3JvdGF0aW9uJyxcbiAgU0VUX1NDQUxFID0gJ3NldF9zY2FsZScsXG4gIEZPTExPV19QTEFZRVIgPSAnZm9sbG93X3BsYXllcicsXG4gIFNUT1BfRk9MTE9XSU5HX1BMQVlFUiA9ICdzdG9wX2ZvbGxvd2luZ19wbGF5ZXInLFxuICBSQU5ET00gPSAncmFuZG9tJyxcbiAgQkFUQ0ggPSAnYmF0Y2gnLFxuICBIRUFMX1BMQVlFUiA9ICdoZWFsX3BsYXllcicsXG4gIENMQUlNX0FJUkRST1AgPSAnY2xhaW1fYWlyZHJvcCcsXG4gIExJR0hUU19PTiA9ICdsaWdodHNfb24nLFxuICBMSUdIVFNfT0ZGID0gJ2xpZ2h0c19vZmYnLFxuICBMSUdIVFNfTU9ESUZZID0gJ2xpZ2h0c19tb2RpZnknLFxuICBDSEFOR0VfQ0FNRVJBID0gJ2NoYW5nZV9jYW1lcmEnLFxuICBDSEFOR0VfVEVYVCA9ICdjaGFuZ2VfdGV4dCcsXG4gIFNUT1BfVFdFRU4gPSAnc3RvcF90d2VlbicsXG4gIFNMSURFX1RFWFRVUkUgPSAnc2xpZGVfdGV4dHVyZScsXG4gIEZSRUVaRV9QTEFZRVIgPSAnZnJlZXplX3BsYXllcicsXG4gIFVORlJFRVpFX1BMQVlFUiA9ICd1bmZyZWV6ZV9wbGF5ZXInLFxuICBDSEFOR0VfQ09MTElTSU9OUyA9ICdjaGFuZ2VfY29sbGlzaW9ucycsXG4gIENIQU5HRV9TS1lCT1ggPSAnY2hhbmdlX3NreWJveCcsXG4gIFJFU0VUX1NLWUJPWCA9ICdyZXNldF9za3lib3gnLFxuICBDQUxMX1NDUklQVF9NRVRIT0QgPSAnY2FsbF9zY3JpcHRfbWV0aG9kJyxcbiAgTE9HX1RPX0NPTlNPTEUgPSAnbG9nX3RvX2NvbnNvbGUnLFxuICBERUxFVEUgPSAnZGVsZXRlJyxcbn1cblxuLy8gUmUtZXhwb3J0IHRyaWdnZXIgZW51bXMgZnJvbSB2ZXJzaW9uaW5nIChzb3VyY2Ugb2YgdHJ1dGgpXG5leHBvcnQgeyBUcmlnZ2VyVHlwZSwgVHJpZ2dlckNvbmRpdGlvblR5cGUsIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24gfSBmcm9tICcuL3RyaWdnZXItZW51bXMnO1xuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gQWxpZ25Nb2RlIHtcbiAgVEFNX1RPUF9MRUZUID0gMCxcbiAgVEFNX1RPUF9DRU5URVIgPSAxLFxuICBUQU1fVE9QX1JJR0hUID0gMixcbiAgVEFNX01JRERMRV9MRUZUID0gMyxcbiAgVEFNX01JRERMRV9DRU5URVIgPSA0LFxuICBUQU1fTUlERExFX1JJR0hUID0gNSxcbiAgVEFNX0JPVFRPTV9MRUZUID0gNixcbiAgVEFNX0JPVFRPTV9DRU5URVIgPSA3LFxuICBUQU1fQk9UVE9NX1JJR0hUID0gOCxcbn1cblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIEZvbnQge1xuICBGX1NBTlNfU0VSSUYgPSAwLFxuICBGX1NFUklGID0gMSxcbiAgRl9NT05PU1BBQ0UgPSAyLFxufVxuXG5leHBvcnQgdHlwZSBTY3JlZW5BbGlnbk1vZGUgPSB7XG4gIGFsaWduSXRlbXM6IFlHQWxpZ247XG4gIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnk7XG59O1xuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gQ29sbGlkZXJzIHtcbiAgLyoqIENMX05PTkUgLSBubyBjb2xsaXNpb25zICovXG4gIENMX05PTkUgPSAwLFxuICAvKiogQ0xfUE9JTlRFUiAtIGNvbGxpc2lvbnMgd2l0aCB0aGUgcGxheWVyJ3MgcG9pbnRlciByYXkgKGUuZy4gbW91c2UgY3Vyc29yIGhvdmVyaW5nKSAqL1xuICBDTF9QT0lOVEVSID0gMSxcbiAgLyoqIENMX1BIWVNJQ1MgLSBjb2xsaXNpb24gYWZmZWN0aW5nIHlvdXIgcGxheWVyJ3MgcGh5c2ljcyBpLmUuIHdhbGxzLCBmbG9vciwgbW92aW5nIHBsYXRmcm9tcyAqL1xuICBDTF9QSFlTSUNTID0gMixcbiAgQ0xfUkVTRVJWRUQxID0gNCxcbiAgQ0xfUkVTRVJWRUQyID0gOCxcbiAgQ0xfUkVTRVJWRUQzID0gMTYsXG4gIENMX1JFU0VSVkVENCA9IDMyLFxuICBDTF9SRVNFUlZFRDUgPSA2NCxcbiAgQ0xfUkVTRVJWRUQ2ID0gMTI4LFxuICBDTF9DVVNUT00xID0gMjU2LFxuICBDTF9DVVNUT00yID0gNTEyLFxuICBDTF9DVVNUT00zID0gMTAyNCxcbiAgQ0xfQ1VTVE9NNCA9IDIwNDgsXG4gIENMX0NVU1RPTTUgPSA0MDk2LFxuICBDTF9DVVNUT002ID0gODE5MixcbiAgQ0xfQ1VTVE9NNyA9IDE2Mzg0LFxuICBDTF9DVVNUT004ID0gMzI3NjgsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBUZXh0dXJlTW92ZW1lbnRUeXBlIHtcbiAgLyoqIGRlZmF1bHQgPSBUZXh0dXJlTW92ZW1lbnRUeXBlLlRNVF9PRkZTRVQgKi9cbiAgVE1UX09GRlNFVCA9IDAsXG4gIFRNVF9USUxJTkcgPSAxLFxufVxuXG5leHBvcnQgZW51bSBQcm94aW1pdHlMYXllciB7XG4gIEFMTCA9ICdhbGwnLFxuICBQTEFZRVIgPSAncGxheWVyJyxcbiAgTk9OX1BMQVlFUiA9ICdub25fcGxheWVyJyxcbn1cblxuLy8gUmUtZXhwb3J0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgeyBBZG1pblBlcm1pc3Npb25zLCBNZWRpYVNvdXJjZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbiJdfQ==
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsWUFBWSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQztJQUNuRSxPQUFPLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0lBQ3pELE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDekQsUUFBUSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUMzRCxNQUFNLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7SUFDakUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztJQUNqRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO0lBQ25FLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDekQsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7SUFDL0UsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7SUFDakYsTUFBTSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztJQUN2RCxXQUFXLEVBQUUsb0JBQW9CLENBQUMsa0JB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TUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUU3Qix5RUFBYyxDQUFBO0lBQ2QseUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0lBQ2pCLDJDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFlHQWxpZ24sIFlHSnVzdGlmeSB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IGdldExhdGVzdFZlcnNpb25OYW1lIH0gZnJvbSAnLi92ZXJzaW9uaW5nL3JlZ2lzdHJ5JztcbmltcG9ydCB7IEJhc2VDb21wb25lbnROYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gUmUtZXhwb3J0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgeyBCYXNlQ29tcG9uZW50TmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBDb21wb25lbnROYW1lID0ge1xuICBBQ1RJT05fVFlQRVM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5BQ1RJT05fVFlQRVMpLFxuICBBQ1RJT05TOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuQUNUSU9OUyksXG4gIENPVU5URVI6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5DT1VOVEVSKSxcbiAgVFJJR0dFUlM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5UUklHR0VSUyksXG4gIFNUQVRFUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlNUQVRFUyksXG4gIENPVU5URVJfQkFSOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuQ09VTlRFUl9CQVIpLFxuICBBRE1JTl9UT09MUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLkFETUlOX1RPT0xTKSxcbiAgVklERU9fU0NSRUVOOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuVklERU9fU0NSRUVOKSxcbiAgUkVXQVJEUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlJFV0FSRFMpLFxuICBURVhUX0FOTk9VTkNFTUVOVFM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5URVhUX0FOTk9VTkNFTUVOVFMpLFxuICBWSURFT19DT05UUk9MX1NUQVRFOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuVklERU9fQ09OVFJPTF9TVEFURSksXG4gIFNDUklQVDogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlNDUklQVCksXG4gIFBMQUNFSE9MREVSOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuUExBQ0VIT0xERVIpLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50TmFtZSA9ICh0eXBlb2YgQ29tcG9uZW50TmFtZSlba2V5b2YgdHlwZW9mIENvbXBvbmVudE5hbWVdO1xuZXhwb3J0IGVudW0gVHdlZW5UeXBlIHtcbiAgTU9WRV9JVEVNID0gJ21vdmVfaXRlbScsXG4gIFJPVEFURV9JVEVNID0gJ3JvdGF0ZV9pdGVtJyxcbiAgU0NBTEVfSVRFTSA9ICdzY2FsZV9pdGVtJyxcbiAgS0VFUF9ST1RBVElOR19JVEVNID0gJ2tlZXBfcm90YXRpbmdfaXRlbScsXG59XG5cbmV4cG9ydCBlbnVtIFRlbGVwb3J0TW9kZSB7XG4gIFRPX0NPT1JESU5BVEVTID0gJ3RvX2Nvb3JkaW5hdGVzJyxcbiAgVE9fV09STEQgPSAndG9fd29ybGQnLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcnBvbGF0aW9uVHlwZSB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBFQVNFSU5RVUFEID0gJ2Vhc2VpbnF1YWQnLFxuICBFQVNFT1VUUVVBRCA9ICdlYXNlb3V0cXVhZCcsXG4gIEVBU0VRVUFEID0gJ2Vhc2VxdWFkJyxcbiAgRUFTRUlOU0lORSA9ICdlYXNlaW5zaW5lJyxcbiAgRUFTRU9VVFNJTkUgPSAnZWFzZW91dHNpbmUnLFxuICBFQVNFU0lORSA9ICdlYXNlaW5vdXRzaW5lJyxcbiAgRUFTRUlORVhQTyA9ICdlYXNlaW5leHBvJyxcbiAgRUFTRU9VVEVYUE8gPSAnZWFzZW91dGV4cG8nLFxuICBFQVNFRVhQTyA9ICdlYXNlaW5vdXRleHBvJyxcbiAgRUFTRUlORUxBU1RJQyA9ICdlYXNlaW5lbGFzdGljJyxcbiAgRUFTRU9VVEVMQVNUSUMgPSAnZWFzZW91dGVsYXN0aWMnLFxuICBFQVNFRUxBU1RJQyA9ICdlYXNlaW5vdXRlbGFzdGljJyxcbiAgRUFTRUlOQk9VTkNFID0gJ2Vhc2VpbmJvdW5jZScsXG4gIEVBU0VPVVRFQk9VTkNFID0gJ2Vhc2VvdXRib3VuY2UnLFxuICBFQVNFQk9VTkNFID0gJ2Vhc2Vpbm91dGJvdW5jZScsXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBQTEFZX0FOSU1BVElPTiA9ICdwbGF5X2FuaW1hdGlvbicsXG4gIFNUT1BfQU5JTUFUSU9OID0gJ3N0b3BfYW5pbWF0aW9uJyxcbiAgU0VUX1NUQVRFID0gJ3NldF9zdGF0ZScsXG4gIFNUQVJUX1RXRUVOID0gJ3N0YXJ0X3R3ZWVuJyxcbiAgU0VUX0NPVU5URVIgPSAnc2V0X2NvdW50ZXInLFxuICBJTkNSRU1FTlRfQ09VTlRFUiA9ICdpbmNyZW1lbnRfY291bnRlcicsXG4gIERFQ1JFQVNFX0NPVU5URVIgPSAnZGVjcmVhc2VfY291bnRlcicsXG4gIFBMQVlfU09VTkQgPSAncGxheV9zb3VuZCcsXG4gIFNUT1BfU09VTkQgPSAnc3RvcF9zb3VuZCcsXG4gIFNFVF9WSVNJQklMSVRZID0gJ3NldF92aXNpYmlsaXR5JyxcbiAgQVRUQUNIX1RPX1BMQVlFUiA9ICdhdHRhY2hfdG9fcGxheWVyJyxcbiAgREVUQUNIX0ZST01fUExBWUVSID0gJ2RldGFjaF9mcm9tX3BsYXllcicsXG4gIFBMQVlfVklERU9fU1RSRUFNID0gJ3BsYXlfdmlkZW9fc3RyZWFtJyxcbiAgU1RPUF9WSURFT19TVFJFQU0gPSAnc3RvcF92aWRlb19zdHJlYW0nLFxuICBQTEFZX0FVRElPX1NUUkVBTSA9ICdwbGF5X2F1ZGlvX3N0cmVhbScsXG4gIFNUT1BfQVVESU9fU1RSRUFNID0gJ3N0b3BfYXVkaW9fc3RyZWFtJyxcbiAgVEVMRVBPUlRfUExBWUVSID0gJ3RlbGVwb3J0X3BsYXllcicsXG4gIE1PVkVfUExBWUVSID0gJ21vdmVfcGxheWVyJyxcbiAgUExBWV9ERUZBVUxUX0VNT1RFID0gJ3BsYXlfZGVmYXVsdF9lbW90ZScsXG4gIFBMQVlfQ1VTVE9NX0VNT1RFID0gJ3BsYXlfY3VzdG9tX2Vtb3RlJyxcbiAgT1BFTl9MSU5LID0gJ29wZW5fbGluaycsXG4gIFNIT1dfVEVYVCA9ICdzaG93X3RleHQnLFxuICBISURFX1RFWFQgPSAnaGlkZV90ZXh0JyxcbiAgU1RBUlRfREVMQVkgPSAnc3RhcnRfZGVsYXknLFxuICBTVE9QX0RFTEFZID0gJ3N0b3BfZGVsYXknLFxuICBTVEFSVF9MT09QID0gJ3N0YXJ0X2xvb3AnLFxuICBTVE9QX0xPT1AgPSAnc3RvcF9sb29wJyxcbiAgQ0xPTkVfRU5USVRZID0gJ2Nsb25lX2VudGl0eScsXG4gIFJFTU9WRV9FTlRJVFkgPSAncmVtb3ZlX2VudGl0eScsXG4gIFNIT1dfSU1BR0UgPSAnc2hvd19pbWFnZScsXG4gIEhJREVfSU1BR0UgPSAnaGlkZV9pbWFnZScsXG4gIERBTUFHRSA9ICdkYW1hZ2UnLFxuICBNT1ZFX1BMQVlFUl9IRVJFID0gJ21vdmVfcGxheWVyX2hlcmUnLFxuICBQTEFZRVJfRkFDRV9JVEVNID0gJ3BsYXllcl9mYWNlX2l0ZW0nLFxuICBQTEFDRV9PTl9QTEFZRVIgPSAncGxhY2Vfb25fcGxheWVyJyxcbiAgUk9UQVRFX0FTX1BMQVlFUiA9ICdyb3RhdGVfYXNfcGxheWVyJyxcbiAgUExBQ0VfT05fQ0FNRVJBID0gJ3BsYWNlX29uX2NhbWVyYScsXG4gIFJPVEFURV9BU19DQU1FUkEgPSAncm90YXRlX2FzX2NhbWVyYScsXG4gIFNFVF9QT1NJVElPTiA9ICdzZXRfcG9zaXRpb24nLFxuICBTRVRfUk9UQVRJT04gPSAnc2V0X3JvdGF0aW9uJyxcbiAgU0VUX1NDQUxFID0gJ3NldF9zY2FsZScsXG4gIEZPTExPV19QTEFZRVIgPSAnZm9sbG93X3BsYXllcicsXG4gIFNUT1BfRk9MTE9XSU5HX1BMQVlFUiA9ICdzdG9wX2ZvbGxvd2luZ19wbGF5ZXInLFxuICBSQU5ET00gPSAncmFuZG9tJyxcbiAgQkFUQ0ggPSAnYmF0Y2gnLFxuICBIRUFMX1BMQVlFUiA9ICdoZWFsX3BsYXllcicsXG4gIENMQUlNX0FJUkRST1AgPSAnY2xhaW1fYWlyZHJvcCcsXG4gIExJR0hUU19PTiA9ICdsaWdodHNfb24nLFxuICBMSUdIVFNfT0ZGID0gJ2xpZ2h0c19vZmYnLFxuICBMSUdIVFNfTU9ESUZZID0gJ2xpZ2h0c19tb2RpZnknLFxuICBDSEFOR0VfQ0FNRVJBID0gJ2NoYW5nZV9jYW1lcmEnLFxuICBDSEFOR0VfVEVYVCA9ICdjaGFuZ2VfdGV4dCcsXG4gIFNUT1BfVFdFRU4gPSAnc3RvcF90d2VlbicsXG4gIFNMSURFX1RFWFRVUkUgPSAnc2xpZGVfdGV4dHVyZScsXG4gIEZSRUVaRV9QTEFZRVIgPSAnZnJlZXplX3BsYXllcicsXG4gIFVORlJFRVpFX1BMQVlFUiA9ICd1bmZyZWV6ZV9wbGF5ZXInLFxuICBDSEFOR0VfQ09MTElTSU9OUyA9ICdjaGFuZ2VfY29sbGlzaW9ucycsXG4gIENIQU5HRV9TS1lCT1ggPSAnY2hhbmdlX3NreWJveCcsXG4gIFJFU0VUX1NLWUJPWCA9ICdyZXNldF9za3lib3gnLFxuICBDQUxMX1NDUklQVF9NRVRIT0QgPSAnY2FsbF9zY3JpcHRfbWV0aG9kJyxcbiAgTE9HX1RPX0NPTlNPTEUgPSAnbG9nX3RvX2NvbnNvbGUnLFxuICBERUxFVEUgPSAnZGVsZXRlJyxcbiAgU1BBV05fRU5USVRZID0gJ3NwYXduX2VudGl0eScsXG59XG5cbi8vIFJlLWV4cG9ydCB0cmlnZ2VyIGVudW1zIGZyb20gdmVyc2lvbmluZyAoc291cmNlIG9mIHRydXRoKVxuZXhwb3J0IHsgVHJpZ2dlclR5cGUsIFRyaWdnZXJDb25kaXRpb25UeXBlLCBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uIH0gZnJvbSAnLi90cmlnZ2VyLWVudW1zJztcblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIEFsaWduTW9kZSB7XG4gIFRBTV9UT1BfTEVGVCA9IDAsXG4gIFRBTV9UT1BfQ0VOVEVSID0gMSxcbiAgVEFNX1RPUF9SSUdIVCA9IDIsXG4gIFRBTV9NSURETEVfTEVGVCA9IDMsXG4gIFRBTV9NSURETEVfQ0VOVEVSID0gNCxcbiAgVEFNX01JRERMRV9SSUdIVCA9IDUsXG4gIFRBTV9CT1RUT01fTEVGVCA9IDYsXG4gIFRBTV9CT1RUT01fQ0VOVEVSID0gNyxcbiAgVEFNX0JPVFRPTV9SSUdIVCA9IDgsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBGb250IHtcbiAgRl9TQU5TX1NFUklGID0gMCxcbiAgRl9TRVJJRiA9IDEsXG4gIEZfTU9OT1NQQUNFID0gMixcbn1cblxuZXhwb3J0IHR5cGUgU2NyZWVuQWxpZ25Nb2RlID0ge1xuICBhbGlnbkl0ZW1zOiBZR0FsaWduO1xuICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5O1xufTtcblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIENvbGxpZGVycyB7XG4gIC8qKiBDTF9OT05FIC0gbm8gY29sbGlzaW9ucyAqL1xuICBDTF9OT05FID0gMCxcbiAgLyoqIENMX1BPSU5URVIgLSBjb2xsaXNpb25zIHdpdGggdGhlIHBsYXllcidzIHBvaW50ZXIgcmF5IChlLmcuIG1vdXNlIGN1cnNvciBob3ZlcmluZykgKi9cbiAgQ0xfUE9JTlRFUiA9IDEsXG4gIC8qKiBDTF9QSFlTSUNTIC0gY29sbGlzaW9uIGFmZmVjdGluZyB5b3VyIHBsYXllcidzIHBoeXNpY3MgaS5lLiB3YWxscywgZmxvb3IsIG1vdmluZyBwbGF0ZnJvbXMgKi9cbiAgQ0xfUEhZU0lDUyA9IDIsXG4gIENMX1JFU0VSVkVEMSA9IDQsXG4gIENMX1JFU0VSVkVEMiA9IDgsXG4gIENMX1JFU0VSVkVEMyA9IDE2LFxuICBDTF9SRVNFUlZFRDQgPSAzMixcbiAgQ0xfUkVTRVJWRUQ1ID0gNjQsXG4gIENMX1JFU0VSVkVENiA9IDEyOCxcbiAgQ0xfQ1VTVE9NMSA9IDI1NixcbiAgQ0xfQ1VTVE9NMiA9IDUxMixcbiAgQ0xfQ1VTVE9NMyA9IDEwMjQsXG4gIENMX0NVU1RPTTQgPSAyMDQ4LFxuICBDTF9DVVNUT001ID0gNDA5NixcbiAgQ0xfQ1VTVE9NNiA9IDgxOTIsXG4gIENMX0NVU1RPTTcgPSAxNjM4NCxcbiAgQ0xfQ1VTVE9NOCA9IDMyNzY4LFxufVxuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gVGV4dHVyZU1vdmVtZW50VHlwZSB7XG4gIC8qKiBkZWZhdWx0ID0gVGV4dHVyZU1vdmVtZW50VHlwZS5UTVRfT0ZGU0VUICovXG4gIFRNVF9PRkZTRVQgPSAwLFxuICBUTVRfVElMSU5HID0gMSxcbn1cblxuZXhwb3J0IGVudW0gUHJveGltaXR5TGF5ZXIge1xuICBBTEwgPSAnYWxsJyxcbiAgUExBWUVSID0gJ3BsYXllcicsXG4gIE5PTl9QTEFZRVIgPSAnbm9uX3BsYXllcicsXG59XG5cbi8vIFJlLWV4cG9ydCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IHsgQWRtaW5QZXJtaXNzaW9ucywgTWVkaWFTb3VyY2UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG4iXX0=
package/dist/id.d.ts CHANGED
@@ -1,8 +1 @@
1
- import type { ComponentDefinition, IEngine, LastWriteWinElementSetComponentDefinition } from '@dcl/ecs';
2
- import type { Counter } from './definitions';
3
- export declare const COMPONENTS_WITH_ID: string[];
4
- export declare function getCounterComponent(engine: IEngine): LastWriteWinElementSetComponentDefinition<Counter>;
5
- export declare function getNextId(engine: IEngine): number;
6
- export declare function requiresId<T extends {
7
- id: string;
8
- }>(component: ComponentDefinition<unknown>): component is ComponentDefinition<T>;
1
+ export { COMPONENTS_WITH_ID, getCounterComponent, getNextId, requiresId } from './mapping';
package/dist/id.js CHANGED
@@ -1,18 +1,2 @@
1
- import { ComponentName } from './definitions';
2
- export const COMPONENTS_WITH_ID = [
3
- ComponentName.ACTIONS,
4
- ComponentName.STATES,
5
- ComponentName.COUNTER,
6
- ];
7
- export function getCounterComponent(engine) {
8
- return engine.getComponent(ComponentName.COUNTER);
9
- }
10
- export function getNextId(engine) {
11
- const Counter = getCounterComponent(engine);
12
- const counter = Counter.getOrCreateMutable(engine.RootEntity);
13
- return ++counter.value;
14
- }
15
- export function requiresId(component) {
16
- return COMPONENTS_WITH_ID.includes(component.componentName);
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBYTtJQUMxQyxhQUFhLENBQUMsT0FBTztJQUNyQixhQUFhLENBQUMsTUFBTTtJQUNwQixhQUFhLENBQUMsT0FBTztDQUN0QixDQUFDO0FBRUYsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQWU7SUFDakQsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUN4QixhQUFhLENBQUMsT0FBTyxDQUNnQyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWU7SUFDdkMsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RCxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsU0FBdUM7SUFFdkMsT0FBTyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudERlZmluaXRpb24sXG4gIElFbmdpbmUsXG4gIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uLFxufSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgdHlwZSB7IENvdW50ZXIgfSBmcm9tICcuL2RlZmluaXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudE5hbWUgfSBmcm9tICcuL2RlZmluaXRpb25zJztcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVFNfV0lUSF9JRDogc3RyaW5nW10gPSBbXG4gIENvbXBvbmVudE5hbWUuQUNUSU9OUyxcbiAgQ29tcG9uZW50TmFtZS5TVEFURVMsXG4gIENvbXBvbmVudE5hbWUuQ09VTlRFUixcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb3VudGVyQ29tcG9uZW50KGVuZ2luZTogSUVuZ2luZSkge1xuICByZXR1cm4gZW5naW5lLmdldENvbXBvbmVudChcbiAgICBDb21wb25lbnROYW1lLkNPVU5URVIsXG4gICkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248Q291bnRlcj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0SWQoZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IENvdW50ZXIgPSBnZXRDb3VudGVyQ29tcG9uZW50KGVuZ2luZSk7XG4gIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSk7XG4gIHJldHVybiArK2NvdW50ZXIudmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlc0lkPFQgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfT4oXG4gIGNvbXBvbmVudDogQ29tcG9uZW50RGVmaW5pdGlvbjx1bmtub3duPixcbik6IGNvbXBvbmVudCBpcyBDb21wb25lbnREZWZpbml0aW9uPFQ+IHtcbiAgcmV0dXJuIENPTVBPTkVOVFNfV0lUSF9JRC5pbmNsdWRlcyhjb21wb25lbnQuY29tcG9uZW50TmFtZSk7XG59XG4iXX0=
1
+ export { COMPONENTS_WITH_ID, getCounterComponent, getNextId, requiresId } from './mapping';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJhY2stY29tcGF0IHJlLWV4cG9ydHMuIFRoZSBpZCAvIG1hcHBpbmcgcHJpbWl0aXZlcyBub3cgbGl2ZSBpblxuICogYC4vbWFwcGluZy50c2AuIE5ldyBjb2RlIHNob3VsZCBpbXBvcnQgZnJvbSB0aGVyZSBkaXJlY3RseTsgdGhpcyBtb2R1bGUgaXNcbiAqIGtlcHQgc28gZXhpc3RpbmcgY29uc3VtZXJzIChhbmQgdGhlIGBkZWZpbml0aW9ucy50c2AgYmFycmVsKSBrZWVwIHdvcmtpbmcuXG4gKi9cbmV4cG9ydCB7IENPTVBPTkVOVFNfV0lUSF9JRCwgZ2V0Q291bnRlckNvbXBvbmVudCwgZ2V0TmV4dElkLCByZXF1aXJlc0lkIH0gZnJvbSAnLi9tYXBwaW5nJztcbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import type { ComponentDefinition, Entity, IEngine } from '@dcl/ecs';
2
+ import { EntityMappingMode, type LastWriteWinElementSetComponentDefinition } from '@dcl/ecs';
3
+ import type { Counter } from './definitions';
4
+ export declare const COMPONENTS_WITH_ID: string[];
5
+ export declare function getCounterComponent(engine: IEngine): LastWriteWinElementSetComponentDefinition<Counter>;
6
+ export declare function getNextId(engine: IEngine): number;
7
+ export declare function requiresId<T extends {
8
+ id: string;
9
+ }>(component: ComponentDefinition<unknown>): component is ComponentDefinition<T>;
10
+ export interface IdMap {
11
+ remember(oldId: number, newId: number): void;
12
+ resolve(oldId: number): number | undefined;
13
+ entries(): Iterable<[number, number]>;
14
+ }
15
+ export declare function createIdMap(): IdMap;
16
+ export interface EntityMap {
17
+ put(src: Entity, dst: Entity): void;
18
+ get(src: Entity): Entity | undefined;
19
+ getOrAllocate(src: Entity, engine: IEngine): Entity;
20
+ toDirectMapping(engine: IEngine): {
21
+ type: EntityMappingMode.EMM_DIRECT_MAPPING;
22
+ getCompositeEntity: (entity: Entity | number) => Entity;
23
+ };
24
+ entries(): Iterable<[Entity, Entity]>;
25
+ }
26
+ export declare function createEntityMap(): EntityMap;
27
+ type IdHolder = {
28
+ id?: number | string | unknown;
29
+ };
30
+ type TriggerLike = {
31
+ actions: IdHolder[];
32
+ conditions?: IdHolder[];
33
+ };
34
+ export declare function remapTriggerActionRefs<T extends TriggerLike>(triggers: T[], idMap: IdMap): void;
35
+ export declare function remapTriggerEntityRefs<T extends {
36
+ entity?: Entity;
37
+ }>(refs: T[], entityMap: EntityMap): void;
38
+ export {};