@dollhousemcp/mcp-server 2.0.27-rc.3 → 2.0.27-rc.5

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/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## [2.0.27-rc.3] - 2026-04-19
3
+ ## [2.0.27-rc.5] - 2026-04-19
4
4
 
5
5
  - Version bump
6
6
 
@@ -80,6 +80,10 @@ declare const envSchema: z.ZodObject<{
80
80
  DOLLHOUSE_CONSOLE_LEADER_LOCK_FILE: z.ZodOptional<z.ZodString>;
81
81
  DOLLHOUSE_CONSOLE_BIND_RETRY_DELAYS: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<number[] | undefined, string | undefined>>;
82
82
  DOLLHOUSE_CONSOLE_MAX_FORWARD_FAILURES: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
83
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
84
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_JITTER_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
85
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_FAILURE_THRESHOLD: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
86
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_FAILURE_COOLDOWN_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
83
87
  DOLLHOUSE_CONSOLE_ROTATION_REQUIRE_CONFIRMATION: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
84
88
  DOLLHOUSE_GATEKEEPER_ENABLED: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
85
89
  DOLLHOUSE_GATEKEEPER_ELEMENT_POLICY_OVERRIDES: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
@@ -141,6 +145,10 @@ export declare const env: {
141
145
  DOLLHOUSE_WEB_AUTH_ENABLED: boolean;
142
146
  DOLLHOUSE_CONSOLE_BIND_RETRY_DELAYS: number[] | undefined;
143
147
  DOLLHOUSE_CONSOLE_MAX_FORWARD_FAILURES: number;
148
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_MS: number;
149
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_JITTER_MS: number;
150
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_FAILURE_THRESHOLD: number;
151
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_FAILURE_COOLDOWN_MS: number;
144
152
  DOLLHOUSE_CONSOLE_ROTATION_REQUIRE_CONFIRMATION: boolean;
145
153
  DOLLHOUSE_GATEKEEPER_ENABLED: boolean;
146
154
  DOLLHOUSE_GATEKEEPER_ELEMENT_POLICY_OVERRIDES: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB;;GAEG;AACH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuQb,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,MAAM,SAA0B,CAAC;AAC9C,eAAO,MAAM,aAAa,SAAiC,CAAC;AAC5D,eAAO,MAAM,YAAY,SAAgC,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB;;GAEG;AACH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmSb,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,MAAM,SAA0B,CAAC;AAC9C,eAAO,MAAM,aAAa,SAAiC,CAAC;AAC5D,eAAO,MAAM,YAAY,SAAgC,CAAC"}
@@ -196,6 +196,30 @@ const envSchema = z.object({
196
196
  * Default: 10.
197
197
  */
198
198
  DOLLHOUSE_CONSOLE_MAX_FORWARD_FAILURES: z.coerce.number().int().min(1).max(100).default(10),
199
+ /**
200
+ * How often a follower re-evaluates whether it should take over console
201
+ * leadership in a heterogeneous mixed-version environment.
202
+ * Default: 15000ms.
203
+ */
204
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_MS: z.coerce.number().int().min(1_000).max(300_000).default(15_000),
205
+ /**
206
+ * Additional per-session jitter added to authority rechecks so large mixed
207
+ * fleets do not all wake up in the same instant.
208
+ * Default: 5000ms.
209
+ */
210
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_JITTER_MS: z.coerce.number().int().min(0).max(60_000).default(5_000),
211
+ /**
212
+ * Number of consecutive authority recheck failures before the follower opens
213
+ * its local circuit breaker and stops retrying until the cooldown expires.
214
+ * Default: 3.
215
+ */
216
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_FAILURE_THRESHOLD: z.coerce.number().int().min(1).max(100).default(3),
217
+ /**
218
+ * Cooldown period after the follower authority monitor opens its circuit
219
+ * breaker due to repeated failures.
220
+ * Default: 60000ms.
221
+ */
222
+ DOLLHOUSE_CONSOLE_AUTHORITY_RECHECK_FAILURE_COOLDOWN_MS: z.coerce.number().int().min(1_000).max(900_000).default(60_000),
199
223
  /**
200
224
  * Issue #1780: Phase 2 — require a confirmation code (OS dialog or TOTP)
201
225
  * for privileged actions like token rotation. Default is true for safety;
@@ -294,4 +318,4 @@ if (isDevelopment || isTest) {
294
318
  HAS_GITHUB_TEST_TOKEN: !!env.GITHUB_TEST_TOKEN,
295
319
  });
296
320
  }
297
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUN4QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVDLGdGQUFnRjtBQUNoRiw2REFBNkQ7QUFDN0QsRUFBRTtBQUNGLDJEQUEyRDtBQUMzRCxzRUFBc0U7QUFDdEUsb0ZBQW9GO0FBQ3BGLGdGQUFnRjtBQUNoRiwyRUFBMkU7QUFDM0UsaUZBQWlGO0FBQ2pGLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztPQUM3QyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7QUFDL0QsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0RSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBUSxDQUFDO0FBQ3ZHLElBQUksV0FBVztJQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMs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LCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENlbnRyYWxpemVkIEVudmlyb25tZW50IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB0eXBlLXNhZmUgYWNjZXNzIHRvIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoIHZhbGlkYXRpb24uXG4gKiBBbGwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHNob3VsZCBiZSBhY2Nlc3NlZCB0aHJvdWdoIHRoaXMgbW9kdWxlIHJhdGhlciB0aGFuXG4gKiBkaXJlY3RseSB2aWEgcHJvY2Vzcy5lbnYgdG8gZW5zdXJlIHR5cGUgc2FmZXR5IGFuZCB2YWxpZGF0aW9uLlxuICpcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgZW52IH0gZnJvbSAnLi9jb25maWcvZW52JztcbiAqIGNvbnN0IHRva2VuID0gZW52LkdJVEhVQl9UT0tFTjsgIC8vIFR5cGU6IHN0cmluZ1xuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5pbXBvcnQgZG90ZW52IGZyb20gJ2RvdGVudic7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi91dGlscy9sb2dnZXIuanMnO1xuXG4vLyBMb2FkIC5lbnYgZmlsZXMgd2l0aCBwcmlvcml0eTogLmVudi5sb2NhbCAocGVyc29uYWwpID4gLmVudiAoc2hhcmVkIGRlZmF1bHRzKVxuLy8gQm90aCBmaWxlcyBhcmUgb3B0aW9uYWwgLSBubyBlcnJvciBpZiBlaXRoZXIgZG9lc24ndCBleGlzdFxuLy9cbi8vIE1DUCBQcm90b2NvbCBDb21wbGlhbmNlOiBTdXBwcmVzcyBkb3RlbnYncyBzdGRvdXQgb3V0cHV0XG4vLyBUaGUgTUNQIHByb3RvY29sIHJlcXVpcmVzIHRoYXQgT05MWSBKU09OLVJQQyBtZXNzYWdlcyBnbyB0byBzdGRvdXQuXG4vLyBkb3RlbnYgbWF5IG91dHB1dCB2ZXJzaW9uIGluZm8gdG8gc3Rkb3V0LCB3aGljaCBicmVha3MgQ2xhdWRlIERlc2t0b3AgY29ubmVjdGlvbi5cbi8vIFNvbHV0aW9uOiBUZW1wb3JhcmlseSByZWRpcmVjdCBzdGRvdXQgdG8gc3RkZXJyIGR1cmluZyBkb3RlbnYgaW5pdGlhbGl6YXRpb24uXG4vLyBJbiAtLXdlYiBtb2RlLCBzdXBwcmVzcyBib3RoIHN0ZG91dCBBTkQgc3RkZXJyIOKAlCB0aGUgdXNlciBvbmx5IG5lZWRzIHRoZVxuLy8gY29uc29sZSBVUkwgYmFubmVyLCBub3QgZG90ZW52J3MgaW5qZWN0aW9uIHN1bW1hcnkuIExvZ3MgZ28gdG8gdGhlIHdlYiB2aWV3ZXIuXG5jb25zdCBpc1dlYlNpbGVudCA9IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS13ZWInKVxuICAmJiAhcHJvY2Vzcy5lbnYuRE9MTEhPVVNFX0RFQlVHICYmICFwcm9jZXNzLmVudi5FTkFCTEVfREVCVUc7XG5jb25zdCBvcmlnaW5hbFN0ZG91dFdyaXRlID0gcHJvY2Vzcy5zdGRvdXQud3JpdGUuYmluZChwcm9jZXNzLnN0ZG91dCk7XG5jb25zdCBvcmlnaW5hbFN0ZGVycldyaXRlID0gcHJvY2Vzcy5zdGRlcnIud3JpdGUuYmluZChwcm9jZXNzLnN0ZGVycik7XG5wcm9jZXNzLnN0ZG91dC53cml0ZSA9IChpc1dlYlNpbGVudCA/ICgoKSA9PiB0cnVlKSA6IHByb2Nlc3Muc3RkZXJyLndyaXRlLmJpbmQocHJvY2Vzcy5zdGRlcnIpKSBhcyBhbnk7XG5pZiAoaXNXZWJTaWxlbnQpIHByb2Nlc3Muc3RkZXJyLndyaXRlID0gKCgpID0+IHRydWUpIGFzIGFueTtcbmRvdGVudi5jb25maWcoeyBwYXRoOiBbJy5lbnYubG9jYWwnLCAnLmVudiddIH0pO1xucHJvY2Vzcy5zdGRvdXQud3JpdGUgPSBvcmlnaW5hbFN0ZG91dFdyaXRlO1xuaWYgKGlzV2ViU2lsZW50KSBwcm9jZXNzLnN0ZGVyci53cml0ZSA9IG9yaWdpbmFsU3RkZXJyV3JpdGU7XG5cbi8qKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGUgc2NoZW1hIHdpdGggdmFsaWRhdGlvblxuICovXG5jb25zdCBlbnZTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gRW52aXJvbm1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBOT0RFX0VOVjogei5lbnVtKFsnZGV2ZWxvcG1lbnQnLCAndGVzdCcsICdwcm9kdWN0aW9uJ10pLmRlZmF1bHQoJ2RldmVsb3BtZW50JyksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQcm9kdWN0aW9uIEdpdEh1YiBDcmVkZW50aWFsc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFVzZWQgYnkgcHJvZHVjdGlvbiBjb2RlIChzcmMvKSBmb3IgcmVhbCBHaXRIdWIgb3BlcmF0aW9uc1xuICAvLyBPcHRpb25hbDogRmVhdHVyZXMgcmVxdWlyaW5nIEdpdEh1YiB3aWxsIGZhaWwgZ3JhY2VmdWxseSBpZiBub3Qgc2V0XG4gIEdJVEhVQl9UT0tFTjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBHSVRIVUJfVVNFUk5BTUU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgR0lUSFVCX1JFUE9TSVRPUlk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFRlc3QgR2l0SHViIENyZWRlbnRpYWxzIChTRVBBUkFURSBhY2NvdW50ISlcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBVc2VkIGJ5IHRlc3QgY29kZSAodGVzdHMvKSAtIHRlc3RzIHdpbGwgc2tpcCBpZiBub3QgcHJvdmlkZWRcbiAgLy8gSU1QT1JUQU5UOiBVc2UgYSBkaWZmZXJlbnQgR2l0SHViIGFjY291bnQgZm9yIHRlc3RpbmchXG4gIEdJVEhVQl9URVNUX1RPS0VOOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIEdJVEhVQl9URVNUX1VTRVJOQU1FOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIEdJVEhVQl9URVNUX1JFUE9TSVRPUlk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlcnZlciBDb25maWd1cmF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgUE9SVDogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgzMDAwKSxcbiAgTE9HX0xFVkVMOiB6LmVudW0oWydlcnJvcicsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnXSkuZGVmYXVsdCgnaW5mbycpLFxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gVGVzdCBDb25maWd1cmF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVEVTVF9CQVNFX0RJUjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBURVNUX1BFUlNPTkFTX0RJUjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBURVNUX0NBQ0hFX0RJUjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBURVNUX0NPTkZJR19ESVI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEZlYXR1cmUgRmxhZ3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBET0xMSE9VU0VfQVVUT19TVUJNSVRfVE9fQ09MTEVDVElPTjogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBFTkFCTEVfREVCVUc6IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgVEVTVF9WRVJCT1NFX0xPR0dJTkc6IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIE1DUCBJbnRlcmZhY2UgQ29uZmlndXJhdGlvbiAoSXNzdWUgIzIzNylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvKipcbiAgICogTUNQIGludGVyZmFjZSBtb2RlIC0gY29udHJvbHMgd2hpY2ggdG9vbCBpbnRlcmZhY2UgaXMgZXhwb3NlZCB0byBMTE1zOlxuICAgKiAtICdkaXNjcmV0ZSc6IH40MCBpbmRpdmlkdWFsIHRvb2xzIChsaXN0X2VsZW1lbnRzLCBjcmVhdGVfZWxlbWVudCwgZXRjLikgLSB+MywwMDAgdG9rZW5zXG4gICAqIC0gJ21jcGFxbCc6IENvbnNvbGlkYXRlZCBNQ1AtQVFMIGludGVyZmFjZSAtIHVzZXMgTUNQX0FRTF9FTkRQT0lOVF9NT0RFIGZvciBzdHlsZVxuICAgKlxuICAgKiBEZWZhdWx0OiAnbWNwYXFsJyAtIHJlY29tbWVuZGVkIGZvciB0b2tlbiBlZmZpY2llbmN5IGFuZCBjbGVhbmVyIHRvb2wgZGlzY292ZXJ5XG4gICAqL1xuICBNQ1BfSU5URVJGQUNFX01PREU6IHouZW51bShbJ2Rpc2NyZXRlJywgJ21jcGFxbCddKS5kZWZhdWx0KCdtY3BhcWwnKSxcblxuICAvKipcbiAgICogTUNQLUFRTCBlbmRwb2ludCBtb2RlIChvbmx5IGFwcGxpZXMgd2hlbiBNQ1BfSU5URVJGQUNFX01PREU9J21jcGFxbCcpOlxuICAgKiAtICdjcnVkZSc6IDUgQ1JVREUgdG9vbHMgKENyZWF0ZSwgUmVhZCwgVXBkYXRlLCBEZWxldGUsIEV4ZWN1dGUpIC0gfjQsMzAwIHRva2Vuc1xuICAgKiAtICdzaW5nbGUnOiAxIHRvb2wgKG1jcF9hcWwpIC0gfjM1MCB0b2tlbnMsIGlkZWFsIGZvciBtdWx0aS1zZXJ2ZXIgZGVwbG95bWVudHNcbiAgICovXG4gIE1DUF9BUUxfRU5EUE9JTlRfTU9ERTogei5lbnVtKFsnY3J1ZGUnLCAnc2luZ2xlJ10pLmRlZmF1bHQoJ2NydWRlJyksXG5cbiAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBhbGlhcyBmb3IgTUNQX0FRTF9NT0RFIChkZXByZWNhdGVkLCB1c2UgTUNQX0FRTF9FTkRQT0lOVF9NT0RFKVxuICBNQ1BfQVFMX01PREU6IHouZW51bShbJ2NydWRlJywgJ3NpbmdsZSddKS5vcHRpb25hbCgpLFxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gVW5pZmllZCBMb2dnaW5nIENvbmZpZ3VyYXRpb24gKGRvY3MvTE9HR0lORy1ERVNJR04ubWQpXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRE9MTEhPVVNFX0xPR19ESVI6IHouc3RyaW5nKCkuZGVmYXVsdCgnfi8uZG9sbGhvdXNlL2xvZ3MvJyksXG4gIERPTExIT1VTRV9MT0dfRk9STUFUOiB6LmVudW0oWyd0ZXh0JywgJ2pzb25sJ10pLmRlZmF1bHQoJ3RleHQnKSxcbiAgRE9MTEhPVVNFX0xPR19SRVRFTlRJT05fREFZUzogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgzMCksXG4gIERPTExIT1VTRV9MT0dfU0VDVVJJVFlfUkVURU5USU9OX0RBWVM6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoNyksXG4gIERPTExIT1VTRV9MT0dfRkxVU0hfSU5URVJWQUxfTVM6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoNTAwMCksXG4gIC8vIEJ1ZmZlciByYWlzZWQgdG8gMjAwMCB0byBzdXBwb3J0IHRoZSB3ZWIgY29uc29sZSBsb2cgdmlld2VyIOKAlCB0aGUgaGlnaGVyIGNhcGFjaXR5XG4gIC8vIHJlZHVjZXMgZmx1c2ggZnJlcXVlbmN5IGFuZCBrZWVwcyBtb3JlIGVudHJpZXMgYXZhaWxhYmxlIGZvciBTU0UgYmFja2ZpbGwgb24gY29ubmVjdC5cbiAgRE9MTEhPVVNFX0xPR19CVUZGRVJfU0laRTogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgyMDAwKSxcbiAgRE9MTEhPVVNFX0xPR19NRU1PUllfQ0FQQUNJVFk6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoNTAwMCksXG4gIERPTExIT1VTRV9MT0dfTUVNT1JZX0FQUF9DQVBBQ0lUWTogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgxMDAwMCksXG4gIERPTExIT1VTRV9MT0dfTUVNT1JZX1NFQ1VSSVRZX0NBUEFDSVRZOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDUwMDApLFxuICBET0xMSE9VU0VfTE9HX01FTU9SWV9QRVJGX0NBUEFDSVRZOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDIwMDApLFxuICBET0xMSE9VU0VfTE9HX01FTU9SWV9URUxFTUVUUllfQ0FQQUNJVFk6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMTAwMCksXG4gIERPTExIT1VTRV9MT0dfTUFYX0VOVFJZX1NJWkU6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMTYzODQpLFxuICBET0xMSE9VU0VfTE9HX0lNTUVESUFURV9GTFVTSF9SQVRFOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDUwKSxcbiAgRE9MTEhPVVNFX0xPR19GSUxFX01BWF9TSVpFOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDEwNDg1NzYwMCksXG4gIERPTExIT1VTRV9MT0dfTUFYX0RJUl9TSVpFX0JZVEVTOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDApLFxuICBET0xMSE9VU0VfTE9HX01BWF9GSUxFU19QRVJfQ0FURUdPUlk6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMTAwKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBlcm1pc3Npb24gU2VydmVyIENvbmZpZ3VyYXRpb25cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvKipcbiAgICogRW5hYmxlIHRoZSBIVFRQIHBlcm1pc3Npb24gZXZhbHVhdGlvbiBzZXJ2ZXIgZm9yIFByZVRvb2xVc2UgaG9va3MuXG4gICAqIFdoZW4gdHJ1ZSwgc3RhcnRzIGFuIEhUVFAgZW5kcG9pbnQgb24gYSBkeW5hbWljIHBvcnQgYWZ0ZXIgZGVmZXJyZWRcbiAgICogc2V0dXAgY29tcGxldGVzLiBXcml0ZXMgcG9ydCB0byB+Ly5kb2xsaG91c2UvcnVuL3Blcm1pc3Npb24tc2VydmVyLnBvcnRcbiAgICogZm9yIGhvb2sgc2NyaXB0IGRpc2NvdmVyeS4gUmVxdWlyZWQgZm9yIGF1dG9ub21vdXMgYWdlbnQgcGVybWlzc2lvblxuICAgKiBtYW5hZ2VtZW50IHZpYSBDbGF1ZGUgQ29kZSBob29rcy5cbiAgICovXG4gIERPTExIT1VTRV9QRVJNSVNTSU9OX1NFUlZFUjogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG5cbiAgLy8gV2ViIENvbnNvbGUgQ29uZmlndXJhdGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8qKiBFbmFibGUgdGhlIHVuaWZpZWQgd2ViIGNvbnNvbGUgKGxvZ3MgKyBtZXRyaWNzIHRhYnMpICovXG4gIERPTExIT1VTRV9XRUJfQ09OU09MRTogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG5cbiAgLyoqXG4gICAqIFBvcnQgdGhlIHdlYiBjb25zb2xlIGxlYWRlciBiaW5kcyB0byAoIzE3OTQsICMxNzk4KS5cbiAgICpcbiAgICogRGVmYXVsdDogNDE3MTUg4oCUIFwiQUlMSVNcIiBvbiBhIHBob25lIGtleXBhZCwgYWZ0ZXIgdGhlIEFJIExheWVyXG4gICAqIEludGVyZmFjZSBTcGVjaWZpY2F0aW9uIHRoYXQgRG9sbGhvdXNlTUNQIGltcGxlbWVudHMuIEFsc28gXCJBbGljZVwiXG4gICAqIGluIEdhZWxpYy5cbiAgICpcbiAgICogUG9ydCBzZWxlY3Rpb24gY3JpdGVyaWEgKHZlcmlmaWVkIDIwMjYtMDQtMDYpOlxuICAgKiAgIC0gTm90IHJlZ2lzdGVyZWQgd2l0aCBJQU5BIChubyBlbnRyeSBpbiB0aGUgc2VydmljZSBuYW1lIHJlZ2lzdHJ5KVxuICAgKiAgIC0gTm90IGluIG5tYXAgc2VydmljZXMgZGF0YWJhc2UgKG5ldmVyIG9ic2VydmVkIGluIHRoZSB3aWxkKVxuICAgKiAgIC0gTm8ga25vd24gYXBwbGljYXRpb24sIHNlY3VyaXR5IHRvb2wsIG9yIG1hbHdhcmUgYXNzb2NpYXRpb25zXG4gICAqICAgLSBCZWxvdyB0aGUgbWFjT1MgZXBoZW1lcmFsIHJhbmdlICg0OTE1Mi02NTUzNSksIHNvIGBiaW5kKClgXG4gICAqICAgICBkb2VzIG5vdCByYWNlIHdpdGgga2VybmVsLWFsbG9jYXRlZCBzb3VyY2UgcG9ydHNcbiAgICogICAtIEluIHRoZSBJQU5BIHVzZXIgcG9ydCByYW5nZSAoMTAyNC00OTE1MSlcbiAgICogICAtIE5vdCBhZGphY2VudCB0byB0aGUgcHJlLWF1dGhlbnRpY2F0aW9uIGRlZmF1bHQgKDM5MzkpXG4gICAqXG4gICAqIFByZXZpb3VzIGRlZmF1bHQgd2FzIDU5MDcgKFwiTE9HU1wiIHVwc2lkZSBkb3duIG9uIGEgY2FsY3VsYXRvciksXG4gICAqIHdoaWNoIGNvbmZsaWN0ZWQgd2l0aCBTdGVsbGFyIEN5YmVyJ3MgSFRUUCBHS0UgbG9nIHBhcnNlci5cbiAgICpcbiAgICogT3ZlcnJpZGUgdmlhIGVudiB2YXIgaWYgNDE3MTUgY29sbGlkZXMgd2l0aCBzb21ldGhpbmcgaW4geW91clxuICAgKiBlbnZpcm9ubWVudCDigJQgZXZlcnkgcnVudGltZSByZWZlcmVuY2UgcmVhZHMgZnJvbSB0aGlzIHNpbmdsZSB2YWx1ZS5cbiAgICovXG4gIERPTExIT1VTRV9XRUJfQ09OU09MRV9QT1JUOiB6LmNvZXJjZS5udW1iZXIoKS5pbnQoKS5taW4oMTAyNCkubWF4KDY1NTM1KS5kZWZhdWx0KDQxNzE1KSxcblxuICAvKipcbiAgICogSXNzdWUgIzE3ODA6IEVuZm9yY2UgQmVhcmVyIHRva2VuIGF1dGhlbnRpY2F0aW9uIG9uIHRoZSB3ZWIgY29uc29sZSBBUEkuXG4gICAqIFdoZW4gdHJ1ZSwgYWxsIHByb3RlY3RlZCBlbmRwb2ludHMgcmVxdWlyZSBhIHZhbGlkIHRva2VuIGZyb20gdGhlXG4gICAqIGNvbnNvbGUgdG9rZW4gZmlsZS4gV2hlbiBmYWxzZSAodGhlIHByZS1QaGFzZS0yIGRlZmF1bHQpLCB0aGUgdG9rZW5cbiAgICogZmlsZSBpcyBzdGlsbCBnZW5lcmF0ZWQgYnV0IHRoZSBtaWRkbGV3YXJlIGRvZXMgbm90IGVuZm9yY2Ug4oCUIHRoaXNcbiAgICogbGV0cyB0aGUgaW5mcmFzdHJ1Y3R1cmUgbGFuZCB3aXRob3V0IGJyZWFraW5nIGV4aXN0aW5nIGNvbnN1bWVycy5cbiAgICogV2lsbCBmbGlwIHRvIGRlZmF1bHQgYHRydWVgIGluIGEgZm9sbG93LXVwIFBSIG9uY2UgYWxsIGNvbnN1bWVyc1xuICAgKiAoYnJvd3NlciwgZm9sbG93ZXJzLCBicmlkZ2UpIGhhdmUgYmVlbiB1cGRhdGVkIHRvIGF0dGFjaCB0b2tlbnMuXG4gICAqL1xuICBET0xMSE9VU0VfV0VCX0FVVEhfRU5BQkxFRDogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuXG4gIC8qKlxuICAgKiBJc3N1ZSAjMTc4MDogT3B0aW9uYWwgb3ZlcnJpZGUgZm9yIHRoZSBjb25zb2xlIHRva2VuIGZpbGUgbG9jYXRpb24uXG4gICAqIFdoZW4gdW5zZXQsIGBDb25zb2xlVG9rZW5TdG9yZWAgZmFsbHMgYmFjayB0byBpdHMgYnVpbHQtaW4gZGVmYXVsdFxuICAgKiB1bmRlciBgfi8uZG9sbGhvdXNlL3J1bi9gLiBNYWlubHkgdXNlZnVsIGZvciB0ZXN0cyBhbmQgZm9yIGVudGVycHJpc2VcbiAgICogZGVwbG95bWVudHMgdGhhdCBtb3VudCBhIHNoYXJlZCB0b2tlbiBmaWxlIGZyb20gYSBzZWNyZXRzIHZvbHVtZS5cbiAgICovXG4gIERPTExIT1VTRV9DT05TT0xFX1RPS0VOX0ZJTEU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcblxuICAvKipcbiAgICogT3B0aW9uYWwgb3ZlcnJpZGUgZm9yIHRoZSBjb25zb2xlIGxlYWRlciBsb2NrIGZpbGUgbG9jYXRpb24gKCMxNzk0KS5cbiAgICogV2hlbiB1bnNldCwgYExlYWRlckVsZWN0aW9uYCBmYWxscyBiYWNrIHRvIGl0cyBidWlsdC1pbiBkZWZhdWx0IHVuZGVyXG4gICAqIGB+Ly5kb2xsaG91c2UvcnVuL2AuIFByaW1hcmlseSB1c2VmdWwgZm9yIHRlc3RzIHRoYXQgbmVlZCBpc29sYXRpb25cbiAgICogYmV0d2VlbiBydW5zIGFuZCBmb3IgZGVwbG95bWVudHMgdGhhdCBzcGxpdCBydW50aW1lIHN0YXRlIGFjcm9zc1xuICAgKiBtdWx0aXBsZSBpbnN0YWxsYXRpb25zIG9uIHRoZSBzYW1lIG1hY2hpbmUuXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9MRUFERVJfTE9DS19GSUxFOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLy8gTGVhZGVyL0ZvbGxvd2VyIFJlY292ZXJ5ICgjMTg1MClcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBJc3N1ZSAjMTg1MDogUmV0cnkgZGVsYXlzIChpbiBtcykgd2hlbiB0aGUgbGVhZGVyIGZhaWxzIHRvIGJpbmQgdGhlIGNvbnNvbGVcbiAgICogcG9ydCBkdWUgdG8gRUFERFJJTlVTRS4gRWFjaCB2YWx1ZSBpcyBhIHN1Y2Nlc3NpdmUgYmFja29mZiBkZWxheS5cbiAgICogRGVmYXVsdDogMXMsIDJzLCA0cyAoN3MgdG90YWwpLiBJbmNyZWFzZSBmb3Igc2xvdyBvciByZW1vdGUgZW52aXJvbm1lbnRzLlxuICAgKi9cbiAgRE9MTEhPVVNFX0NPTlNPTEVfQklORF9SRVRSWV9ERUxBWVM6IHouc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC50cmFuc2Zvcm0odiA9PiB2ID8gdi5zcGxpdCgnLCcpLm1hcChOdW1iZXIpLmZpbHRlcihuID0+ICFOdW1iZXIuaXNOYU4obikgJiYgbiA+IDApIDogdW5kZWZpbmVkKSxcblxuICAvKipcbiAgICogSXNzdWUgIzE4NTA6IE51bWJlciBvZiBjb25zZWN1dGl2ZSBmb3J3YXJkaW5nIGZhaWx1cmVzIGJlZm9yZSBhIGZvbGxvd2VyXG4gICAqIGRlY2xhcmVzIHRoZSBsZWFkZXIgZGVhZCBhbmQgYXR0ZW1wdHMgc2VsZi1wcm9tb3Rpb24uIEhpZ2hlciB2YWx1ZXMgcmVkdWNlXG4gICAqIGZhbHNlIHBvc2l0aXZlcyBpbiBoaWdoLWxhdGVuY3kgZW52aXJvbm1lbnRzIGJ1dCBkZWxheSByZWNvdmVyeS5cbiAgICogRGVmYXVsdDogMTAuXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9NQVhfRk9SV0FSRF9GQUlMVVJFUzogei5jb2VyY2UubnVtYmVyKCkuaW50KCkubWluKDEpLm1heCgxMDApLmRlZmF1bHQoMTApLFxuXG4gIC8qKlxuICAgKiBJc3N1ZSAjMTc4MDogUGhhc2UgMiDigJQgcmVxdWlyZSBhIGNvbmZpcm1hdGlvbiBjb2RlIChPUyBkaWFsb2cgb3IgVE9UUClcbiAgICogZm9yIHByaXZpbGVnZWQgYWN0aW9ucyBsaWtlIHRva2VuIHJvdGF0aW9uLiBEZWZhdWx0IGlzIHRydWUgZm9yIHNhZmV0eTtcbiAgICogc2V0IHRvIGZhbHNlIGZvciBoZWFkbGVzcyBDSSBhbmQgc2NyaXB0ZWQgZGVwbG95bWVudHMgdGhhdCBuZWVkIHRvIHJvdGF0ZVxuICAgKiB3aXRob3V0IGh1bWFuIGludGVyYWN0aW9uLlxuICAgKi9cbiAgRE9MTEhPVVNFX0NPTlNPTEVfUk9UQVRJT05fUkVRVUlSRV9DT05GSVJNQVRJT046IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU2VjdXJpdHkgQ29uZmlndXJhdGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8qKlxuICAgKiBJc3N1ZSAjNDUyOiBHYXRla2VlcGVyIHBvbGljeSBlbmZvcmNlbWVudC5cbiAgICogV2hlbiB0cnVlIChkZWZhdWx0KSwgYWxsIE1DUC1BUUwgb3BlcmF0aW9ucyBnbyB0aHJvdWdoIHRoZSA0LWxheWVyIEdhdGVrZWVwZXJcbiAgICogZW5mb3JjZSgpIHBpcGVsaW5lLiBXaGVuIGZhbHNlLCBmYWxscyBiYWNrIHRvIHJvdXRlIHZhbGlkYXRpb24gb25seS5cbiAgICogVGhpcyBpcyBhIHVzZXIvb3BlcmF0b3Igc2V0dGluZyDigJQgdGhlIExMTSBjYW5ub3QgYnlwYXNzIGl0LlxuICAgKi9cbiAgRE9MTEhPVVNFX0dBVEVLRUVQRVJfRU5BQkxFRDogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gIC8qKlxuICAgKiBJc3N1ZSAjNjc5OiBFbGVtZW50IHBvbGljeSBsYXllciBraWxsIHN3aXRjaC5cbiAgICogV2hlbiB0cnVlIChkZWZhdWx0KSwgYWN0aXZlIGVsZW1lbnQgZ2F0ZWtlZXBlciBwb2xpY2llcyAoYWxsb3cvY29uZmlybS9kZW55L3Njb3BlUmVzdHJpY3Rpb25zKVxuICAgKiBjYW4gb3ZlcnJpZGUgZGVmYXVsdCBvcGVyYXRpb24gcGVybWlzc2lvbiBsZXZlbHMuIFdoZW4gZmFsc2UsIExheWVyIDIgb2YgR2F0ZWtlZXBlci5lbmZvcmNlKClcbiAgICogaXMgYnlwYXNzZWQgZW50aXJlbHkg4oCUIG9ubHkgcm91dGUgdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCBwZXJtaXNzaW9uIGxldmVscyBhcHBseS5cbiAgICogVXNlIGZvciBlbWVyZ2VuY3kgbG9ja2Rvd24sIGhhcmRlbmVkIGRlcGxveW1lbnRzLCBvciBwb2xpY3kgZGVidWdnaW5nLlxuICAgKiBUaGlzIGlzIGFuIG9wZXJhdG9yL2luZnJhc3RydWN0dXJlIHNldHRpbmcg4oCUIHRoZSBMTE0gY2Fubm90IGJ5cGFzcyBpdC5cbiAgICovXG4gIERPTExIT1VTRV9HQVRFS0VFUEVSX0VMRU1FTlRfUE9MSUNZX09WRVJSSURFUzogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gIC8qKlxuICAgKiBJc3N1ZSAjNzk5OiBQb2xpY3kgZXhwb3J0IG9wdC1pbiBmbGFnLlxuICAgKiBXaGVuIHRydWUgKGRlZmF1bHQpLCBQb2xpY3lFeHBvcnRTZXJ2aWNlIHdyaXRlcyB0aGUgc2VjdXJpdHkgcG9saWN5IGJsdWVwcmludCB0b1xuICAgKiB+Ly5kb2xsaG91c2UvYnJpZGdlL2ltcG9ydHMvcG9saWNpZXMvIG9uIGFjdGl2YXRpb24gY2hhbmdlcy4gVGhlIERvbGxob3VzZUJyaWRnZVxuICAgKiBwZXJtaXNzaW9uLXByb21wdCBzZXJ2ZXIgd2F0Y2hlcyB0aGlzIGZpbGUgdG8gZXZhbHVhdGUgcGVybWlzc2lvbnMgbG9jYWxseS5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgcG9saWN5IGZpbGUgZXhwb3J0IGVudGlyZWx5LlxuICAgKi9cbiAgRE9MTEhPVVNFX1BPTElDWV9FWFBPUlRfRU5BQkxFRDogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTdG9yYWdlIExheWVyIENvbmZpZ3VyYXRpb25cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBET0xMSE9VU0VfU0NBTl9DT09MRE9XTl9NUzogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgxMDAwKSxcbiAgRE9MTEhPVVNFX0lOREVYX0RFQk9VTkNFX01TOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDIwMDApLFxuICBET0xMSE9VU0VfRUxFTUVOVF9DQUNIRV9UVExfTVM6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMzYwMDAwMCksXG4gIERPTExIT1VTRV9QQVRIX0NBQ0hFX1RUTF9NUzogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgzNjAwMDAwKSxcbiAgRE9MTEhPVVNFX1RPT0xfQ0FDSEVfVFRMX01TOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDYwMDAwKSxcbiAgRE9MTEhPVVNFX0dMT0JBTF9DQUNIRV9NRU1PUllfTUI6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMTUwKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBlcm1pc3Npb24gUHJvbXB0IENvbmZpZ3VyYXRpb24gKElzc3VlICM2MjUpXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogTWF4aW11bSBDTEkgYXBwcm92YWwgcmVjb3JkcyBiZWZvcmUgTFJVIGV2aWN0aW9uIChkZWZhdWx0OiA1MCkgKi9cbiAgRE9MTEhPVVNFX0NMSV9BUFBST1ZBTF9NQVg6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoNTApLFxuXG4gIC8qKiBEZWZhdWx0IFRUTCBmb3IgQ0xJIGFwcHJvdmFsIHJlY29yZHMgaW4gbXMgKGRlZmF1bHQ6IDMwMDAwMCA9IDUgbWluKSAqL1xuICBET0xMSE9VU0VfQ0xJX0FQUFJPVkFMX1RUTF9NUzogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgzMDBfMDAwKSxcblxuICAvKiogUGVybWlzc2lvbiBwcm9tcHQgcmF0ZSBsaW1pdDogbWF4IHJlcXVlc3RzIHBlciB3aW5kb3cgKGRlZmF1bHQ6IDEwMCkgKi9cbiAgRE9MTEhPVVNFX1BFUk1JU1NJT05fUFJPTVBUX1JBVEVfTElNSVQ6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMTAwKSxcblxuICAvKiogQ0xJIGFwcHJvdmFsIGNyZWF0aW9uIHJhdGUgbGltaXQ6IG1heCByZXF1ZXN0cyBwZXIgd2luZG93IChkZWZhdWx0OiAyMCkgKi9cbiAgRE9MTEhPVVNFX0NMSV9BUFBST1ZBTF9SQVRFX0xJTUlUOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDIwKSxcblxuICAvKiogUmF0ZSBsaW1pdCB3aW5kb3cgaW4gbXMgZm9yIHBlcm1pc3Npb24gcHJvbXB0IGFuZCBDTEkgYXBwcm92YWxzIChkZWZhdWx0OiA2MDAwMCA9IDYwcykgKi9cbiAgRE9MTEhPVVNFX1BFUk1JU1NJT05fUkFURV9XSU5ET1dfTVM6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoNjBfMDAwKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIE1ldHJpY3MgQ29sbGVjdGlvbiBDb25maWd1cmF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRE9MTEhPVVNFX01FVFJJQ1NfRU5BQkxFRDogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gIERPTExIT1VTRV9NRVRSSUNTX0NPTExFQ1RJT05fSU5URVJWQUxfTVM6IHouY29lcmNlLm51bWJlcigpLm1pbigxMDAwKS5tYXgoMzAwMDAwKS5kZWZhdWx0KDE1MDAwKSxcbiAgRE9MTEhPVVNFX01FVFJJQ1NfTUFYX1NOQVBTSE9UX1NJWkU6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMTAyNDAwKSxcbiAgRE9MTEhPVVNFX01FVFJJQ1NfQ09MTEVDVE9SX0ZBSUxVUkVfVEhSRVNIT0xEOiB6LmNvZXJjZS5udW1iZXIoKS5taW4oMSkubWF4KDEwMCkuZGVmYXVsdCgxMCksXG4gIERPTExIT1VTRV9NRVRSSUNTX0NPTExFQ1RJT05fRFVSQVRJT05fV0FSTl9NUzogei5jb2VyY2UubnVtYmVyKCkubWluKDEwMCkubWF4KDYwMDAwKS5kZWZhdWx0KDUwMDApLFxuICBET0xMSE9VU0VfTUVUUklDU19NRU1PUllfU05BUFNIT1RfQ0FQQUNJVFk6IHouY29lcmNlLm51bWJlcigpLm1pbigxMCkubWF4KDEwMDAwKS5kZWZhdWx0KDI0MCksXG5cbiAgLy8gUGF0dGVybiBlbmNyeXB0aW9uIHNldHRpbmdzIGZvciBNZW1vcnkgU2VjdXJpdHkgKElzc3VlICMxMzIxKVxuICBET0xMSE9VU0VfRElTQUJMRV9FTkNSWVBUSU9OOiB6LmNvZXJjZS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIERPTExIT1VTRV9FTkNSWVBUSU9OX1NFQ1JFVDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBET0xMSE9VU0VfRU5DUllQVElPTl9TQUxUOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLy8gVG9rZW4gZW5jcnlwdGlvbiBzZWNyZXQgKFNFQy0wMSwgIzE3MzUpXG4gIC8vIFdoZW4gc2V0LCByZXBsYWNlcyB0aGUgcHJlZGljdGFibGUgbWFjaGluZS1kZXJpdmVkIHBhc3NwaHJhc2UgZm9yIHRva2VuIGVuY3J5cHRpb24uXG4gIC8vIFN0cm9uZ2x5IHJlY29tbWVuZGVkIGZvciBhbnkgc2hhcmVkIG9yIG11bHRpLXVzZXIgZW52aXJvbm1lbnQuXG4gIC8vIE1pbmltdW0gMzIgY2hhcmFjdGVycyBlbmZvcmNlZCB0byBwcmV2ZW50IHdlYWsgcGFzc3BocmFzZXMuXG4gIERPTExIT1VTRV9UT0tFTl9TRUNSRVQ6IHouc3RyaW5nKCkubWluKDMyKS5vcHRpb25hbCgpLFxufSk7XG5cbi8qKlxuICogVmFsaWRhdGVkIGVudmlyb25tZW50IHZhcmlhYmxlc1xuICogVHlwZSBpcyBhdXRvbWF0aWNhbGx5IGluZmVycmVkIGZyb20gdGhlIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgZW52ID0gZW52U2NoZW1hLnBhcnNlKHByb2Nlc3MuZW52KTtcblxuLyoqXG4gKiBFbnZpcm9ubWVudCB0eXBlIChpbmZlcnJlZCBmcm9tIHNjaGVtYSlcbiAqL1xuZXhwb3J0IHR5cGUgRW52ID0gei5pbmZlcjx0eXBlb2YgZW52U2NoZW1hPjtcblxuLyoqXG4gKiBDb252ZW5pZW5jZSBoZWxwZXJzIGZvciBlbnZpcm9ubWVudCBkZXRlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGlzVGVzdCA9IGVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnO1xuZXhwb3J0IGNvbnN0IGlzRGV2ZWxvcG1lbnQgPSBlbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCc7XG5leHBvcnQgY29uc3QgaXNQcm9kdWN0aW9uID0gZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbic7XG5cbi8qKlxuICogTG9nIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb24gKHdpdGhvdXQgc2VjcmV0cylcbiAqL1xuaWYgKGlzRGV2ZWxvcG1lbnQgfHwgaXNUZXN0KSB7XG4gIGxvZ2dlci5kZWJ1ZygnRW52aXJvbm1lbnQgY29uZmlndXJhdGlvbiBsb2FkZWQ6Jywge1xuICAgIE5PREVfRU5WOiBlbnYuTk9ERV9FTlYsXG4gICAgUE9SVDogZW52LlBPUlQsXG4gICAgTE9HX0xFVkVMOiBlbnYuTE9HX0xFVkVMLFxuICAgIEhBU19HSVRIVUJfVE9LRU46ICEhZW52LkdJVEhVQl9UT0tFTixcbiAgICBIQVNfR0lUSFVCX1RFU1RfVE9LRU46ICEhZW52LkdJVEhVQl9URVNUX1RPS0VOLFxuICB9KTtcbn1cbiJdfQ==
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUN4QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVDLGdGQUFnRjtBQUNoRiw2REFBNkQ7QUFDN0QsRUFBRTtBQUNGLDJEQUEyRDtBQUMzRCxzRUFBc0U7QUFDdEUsb0ZBQW9GO0FBQ3BGLGdGQUFnRjtBQUNoRiwyRUFBMkU7QUFDM0UsaUZBQWlGO0FBQ2pGLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztPQUM3QyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7QUFDL0QsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0RSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBUSxDQUFDO0FBQ3ZHLElBQUksV0FBVztJQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMs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LENBQUMsUUFBUSxFQUFFO0NBQ3RELENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQU9oRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQztBQUM5QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsSUFBSSxhQUFhLElBQUksTUFBTSxFQUFFLENBQUM7SUFDNUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRTtRQUNoRCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDdEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1FBQ2QsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO1FBQ3hCLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWTtRQUNwQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQjtLQUMvQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDZW50cmFsaXplZCBFbnZpcm9ubWVudCBDb25maWd1cmF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdHlwZS1zYWZlIGFjY2VzcyB0byBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCB2YWxpZGF0aW9uLlxuICogQWxsIGVudmlyb25tZW50IHZhcmlhYmxlcyBzaG91bGQgYmUgYWNjZXNzZWQgdGhyb3VnaCB0aGlzIG1vZHVsZSByYXRoZXIgdGhhblxuICogZGlyZWN0bHkgdmlhIHByb2Nlc3MuZW52IHRvIGVuc3VyZSB0eXBlIHNhZmV0eSBhbmQgdmFsaWRhdGlvbi5cbiAqXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGVudiB9IGZyb20gJy4vY29uZmlnL2Vudic7XG4gKiBjb25zdCB0b2tlbiA9IGVudi5HSVRIVUJfVE9LRU47ICAvLyBUeXBlOiBzdHJpbmdcbiAqIGBgYFxuICovXG5cbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IGRvdGVudiBmcm9tICdkb3RlbnYnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvbG9nZ2VyLmpzJztcblxuLy8gTG9hZCAuZW52IGZpbGVzIHdpdGggcHJpb3JpdHk6IC5lbnYubG9jYWwgKHBlcnNvbmFsKSA+IC5lbnYgKHNoYXJlZCBkZWZhdWx0cylcbi8vIEJvdGggZmlsZXMgYXJlIG9wdGlvbmFsIC0gbm8gZXJyb3IgaWYgZWl0aGVyIGRvZXNuJ3QgZXhpc3Rcbi8vXG4vLyBNQ1AgUHJvdG9jb2wgQ29tcGxpYW5jZTogU3VwcHJlc3MgZG90ZW52J3Mgc3Rkb3V0IG91dHB1dFxuLy8gVGhlIE1DUCBwcm90b2NvbCByZXF1aXJlcyB0aGF0IE9OTFkgSlNPTi1SUEMgbWVzc2FnZXMgZ28gdG8gc3Rkb3V0LlxuLy8gZG90ZW52IG1heSBvdXRwdXQgdmVyc2lvbiBpbmZvIHRvIHN0ZG91dCwgd2hpY2ggYnJlYWtzIENsYXVkZSBEZXNrdG9wIGNvbm5lY3Rpb24uXG4vLyBTb2x1dGlvbjogVGVtcG9yYXJpbHkgcmVkaXJlY3Qgc3Rkb3V0IHRvIHN0ZGVyciBkdXJpbmcgZG90ZW52IGluaXRpYWxpemF0aW9uLlxuLy8gSW4gLS13ZWIgbW9kZSwgc3VwcHJlc3MgYm90aCBzdGRvdXQgQU5EIHN0ZGVyciDigJQgdGhlIHVzZXIgb25seSBuZWVkcyB0aGVcbi8vIGNvbnNvbGUgVVJMIGJhbm5lciwgbm90IGRvdGVudidzIGluamVjdGlvbiBzdW1tYXJ5LiBMb2dzIGdvIHRvIHRoZSB3ZWIgdmlld2VyLlxuY29uc3QgaXNXZWJTaWxlbnQgPSBwcm9jZXNzLmFyZ3YuaW5jbHVkZXMoJy0td2ViJylcbiAgJiYgIXByb2Nlc3MuZW52LkRPTExIT1VTRV9ERUJVRyAmJiAhcHJvY2Vzcy5lbnYuRU5BQkxFX0RFQlVHO1xuY29uc3Qgb3JpZ2luYWxTdGRvdXRXcml0ZSA9IHByb2Nlc3Muc3Rkb3V0LndyaXRlLmJpbmQocHJvY2Vzcy5zdGRvdXQpO1xuY29uc3Qgb3JpZ2luYWxTdGRlcnJXcml0ZSA9IHByb2Nlc3Muc3RkZXJyLndyaXRlLmJpbmQocHJvY2Vzcy5zdGRlcnIpO1xucHJvY2Vzcy5zdGRvdXQud3JpdGUgPSAoaXNXZWJTaWxlbnQgPyAoKCkgPT4gdHJ1ZSkgOiBwcm9jZXNzLnN0ZGVyci53cml0ZS5iaW5kKHByb2Nlc3Muc3RkZXJyKSkgYXMgYW55O1xuaWYgKGlzV2ViU2lsZW50KSBwcm9jZXNzLnN0ZGVyci53cml0ZSA9ICgoKSA9PiB0cnVlKSBhcyBhbnk7XG5kb3RlbnYuY29uZmlnKHsgcGF0aDogWycuZW52LmxvY2FsJywgJy5lbnYnXSB9KTtcbnByb2Nlc3Muc3Rkb3V0LndyaXRlID0gb3JpZ2luYWxTdGRvdXRXcml0ZTtcbmlmIChpc1dlYlNpbGVudCkgcHJvY2Vzcy5zdGRlcnIud3JpdGUgPSBvcmlnaW5hbFN0ZGVycldyaXRlO1xuXG4vKipcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlIHNjaGVtYSB3aXRoIHZhbGlkYXRpb25cbiAqL1xuY29uc3QgZW52U2NoZW1hID0gei5vYmplY3Qoe1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEVudmlyb25tZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTk9ERV9FTlY6IHouZW51bShbJ2RldmVsb3BtZW50JywgJ3Rlc3QnLCAncHJvZHVjdGlvbiddKS5kZWZhdWx0KCdkZXZlbG9wbWVudCcpLFxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUHJvZHVjdGlvbiBHaXRIdWIgQ3JlZGVudGlhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBVc2VkIGJ5IHByb2R1Y3Rpb24gY29kZSAoc3JjLykgZm9yIHJlYWwgR2l0SHViIG9wZXJhdGlvbnNcbiAgLy8gT3B0aW9uYWw6IEZlYXR1cmVzIHJlcXVpcmluZyBHaXRIdWIgd2lsbCBmYWlsIGdyYWNlZnVsbHkgaWYgbm90IHNldFxuICBHSVRIVUJfVE9LRU46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgR0lUSFVCX1VTRVJOQU1FOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIEdJVEhVQl9SRVBPU0lUT1JZOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBUZXN0IEdpdEh1YiBDcmVkZW50aWFscyAoU0VQQVJBVEUgYWNjb3VudCEpXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gVXNlZCBieSB0ZXN0IGNvZGUgKHRlc3RzLykgLSB0ZXN0cyB3aWxsIHNraXAgaWYgbm90IHByb3ZpZGVkXG4gIC8vIElNUE9SVEFOVDogVXNlIGEgZGlmZmVyZW50IEdpdEh1YiBhY2NvdW50IGZvciB0ZXN0aW5nIVxuICBHSVRIVUJfVEVTVF9UT0tFTjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBHSVRIVUJfVEVTVF9VU0VSTkFNRTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBHSVRIVUJfVEVTVF9SRVBPU0lUT1JZOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTZXJ2ZXIgQ29uZmlndXJhdGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFBPUlQ6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMzAwMCksXG4gIExPR19MRVZFTDogei5lbnVtKFsnZXJyb3InLCAnd2FybicsICdpbmZvJywgJ2RlYnVnJ10pLmRlZmF1bHQoJ2luZm8nKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFRlc3QgQ29uZmlndXJhdGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFRFU1RfQkFTRV9ESVI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgVEVTVF9QRVJTT05BU19ESVI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgVEVTVF9DQUNIRV9ESVI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgVEVTVF9DT05GSUdfRElSOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBGZWF0dXJlIEZsYWdzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRE9MTEhPVVNFX0FVVE9fU1VCTUlUX1RPX0NPTExFQ1RJT046IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgRU5BQkxFX0RFQlVHOiB6LmNvZXJjZS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIFRFU1RfVkVSQk9TRV9MT0dHSU5HOiB6LmNvZXJjZS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBNQ1AgSW50ZXJmYWNlIENvbmZpZ3VyYXRpb24gKElzc3VlICMyMzcpXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLyoqXG4gICAqIE1DUCBpbnRlcmZhY2UgbW9kZSAtIGNvbnRyb2xzIHdoaWNoIHRvb2wgaW50ZXJmYWNlIGlzIGV4cG9zZWQgdG8gTExNczpcbiAgICogLSAnZGlzY3JldGUnOiB+NDAgaW5kaXZpZHVhbCB0b29scyAobGlzdF9lbGVtZW50cywgY3JlYXRlX2VsZW1lbnQsIGV0Yy4pIC0gfjMsMDAwIHRva2Vuc1xuICAgKiAtICdtY3BhcWwnOiBDb25zb2xpZGF0ZWQgTUNQLUFRTCBpbnRlcmZhY2UgLSB1c2VzIE1DUF9BUUxfRU5EUE9JTlRfTU9ERSBmb3Igc3R5bGVcbiAgICpcbiAgICogRGVmYXVsdDogJ21jcGFxbCcgLSByZWNvbW1lbmRlZCBmb3IgdG9rZW4gZWZmaWNpZW5jeSBhbmQgY2xlYW5lciB0b29sIGRpc2NvdmVyeVxuICAgKi9cbiAgTUNQX0lOVEVSRkFDRV9NT0RFOiB6LmVudW0oWydkaXNjcmV0ZScsICdtY3BhcWwnXSkuZGVmYXVsdCgnbWNwYXFsJyksXG5cbiAgLyoqXG4gICAqIE1DUC1BUUwgZW5kcG9pbnQgbW9kZSAob25seSBhcHBsaWVzIHdoZW4gTUNQX0lOVEVSRkFDRV9NT0RFPSdtY3BhcWwnKTpcbiAgICogLSAnY3J1ZGUnOiA1IENSVURFIHRvb2xzIChDcmVhdGUsIFJlYWQsIFVwZGF0ZSwgRGVsZXRlLCBFeGVjdXRlKSAtIH40LDMwMCB0b2tlbnNcbiAgICogLSAnc2luZ2xlJzogMSB0b29sIChtY3BfYXFsKSAtIH4zNTAgdG9rZW5zLCBpZGVhbCBmb3IgbXVsdGktc2VydmVyIGRlcGxveW1lbnRzXG4gICAqL1xuICBNQ1BfQVFMX0VORFBPSU5UX01PREU6IHouZW51bShbJ2NydWRlJywgJ3NpbmdsZSddKS5kZWZhdWx0KCdjcnVkZScpLFxuXG4gIC8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYWxpYXMgZm9yIE1DUF9BUUxfTU9ERSAoZGVwcmVjYXRlZCwgdXNlIE1DUF9BUUxfRU5EUE9JTlRfTU9ERSlcbiAgTUNQX0FRTF9NT0RFOiB6LmVudW0oWydjcnVkZScsICdzaW5nbGUnXSkub3B0aW9uYWwoKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFVuaWZpZWQgTG9nZ2luZyBDb25maWd1cmF0aW9uIChkb2NzL0xPR0dJTkctREVTSUdOLm1kKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIERPTExIT1VTRV9MT0dfRElSOiB6LnN0cmluZygpLmRlZmF1bHQoJ34vLmRvbGxob3VzZS9sb2dzLycpLFxuICBET0xMSE9VU0VfTE9HX0ZPUk1BVDogei5lbnVtKFsndGV4dCcsICdqc29ubCddKS5kZWZhdWx0KCd0ZXh0JyksXG4gIERPTExIT1VTRV9MT0dfUkVURU5USU9OX0RBWVM6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMzApLFxuICBET0xMSE9VU0VfTE9HX1NFQ1VSSVRZX1JFVEVOVElPTl9EQVlTOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDcpLFxuICBET0xMSE9VU0VfTE9HX0ZMVVNIX0lOVEVSVkFMX01TOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDUwMDApLFxuICAvLyBCdWZmZXIgcmFpc2VkIHRvIDIwMDAgdG8gc3VwcG9ydCB0aGUgd2ViIGNvbnNvbGUgbG9nIHZpZXdlciDigJQgdGhlIGhpZ2hlciBjYXBhY2l0eVxuICAvLyByZWR1Y2VzIGZsdXNoIGZyZXF1ZW5jeSBhbmQga2VlcHMgbW9yZSBlbnRyaWVzIGF2YWlsYWJsZSBmb3IgU1NFIGJhY2tmaWxsIG9uIGNvbm5lY3QuXG4gIERPTExIT1VTRV9MT0dfQlVGRkVSX1NJWkU6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMjAwMCksXG4gIERPTExIT1VTRV9MT0dfTUVNT1JZX0NBUEFDSVRZOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDUwMDApLFxuICBET0xMSE9VU0VfTE9HX01FTU9SWV9BUFBfQ0FQQUNJVFk6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMTAwMDApLFxuICBET0xMSE9VU0VfTE9HX01FTU9SWV9TRUNVUklUWV9DQVBBQ0lUWTogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCg1MDAwKSxcbiAgRE9MTEhPVVNFX0xPR19NRU1PUllfUEVSRl9DQVBBQ0lUWTogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgyMDAwKSxcbiAgRE9MTEhPVVNFX0xPR19NRU1PUllfVEVMRU1FVFJZX0NBUEFDSVRZOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDEwMDApLFxuICBET0xMSE9VU0VfTE9HX01BWF9FTlRSWV9TSVpFOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDE2Mzg0KSxcbiAgRE9MTEhPVVNFX0xPR19JTU1FRElBVEVfRkxVU0hfUkFURTogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCg1MCksXG4gIERPTExIT1VTRV9MT0dfRklMRV9NQVhfU0laRTogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgxMDQ4NTc2MDApLFxuICBET0xMSE9VU0VfTE9HX01BWF9ESVJfU0laRV9CWVRFUzogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgwKSxcbiAgRE9MTEhPVVNFX0xPR19NQVhfRklMRVNfUEVSX0NBVEVHT1JZOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDEwMCksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQZXJtaXNzaW9uIFNlcnZlciBDb25maWd1cmF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLyoqXG4gICAqIEVuYWJsZSB0aGUgSFRUUCBwZXJtaXNzaW9uIGV2YWx1YXRpb24gc2VydmVyIGZvciBQcmVUb29sVXNlIGhvb2tzLlxuICAgKiBXaGVuIHRydWUsIHN0YXJ0cyBhbiBIVFRQIGVuZHBvaW50IG9uIGEgZHluYW1pYyBwb3J0IGFmdGVyIGRlZmVycmVkXG4gICAqIHNldHVwIGNvbXBsZXRlcy4gV3JpdGVzIHBvcnQgdG8gfi8uZG9sbGhvdXNlL3J1bi9wZXJtaXNzaW9uLXNlcnZlci5wb3J0XG4gICAqIGZvciBob29rIHNjcmlwdCBkaXNjb3ZlcnkuIFJlcXVpcmVkIGZvciBhdXRvbm9tb3VzIGFnZW50IHBlcm1pc3Npb25cbiAgICogbWFuYWdlbWVudCB2aWEgQ2xhdWRlIENvZGUgaG9va3MuXG4gICAqL1xuICBET0xMSE9VU0VfUEVSTUlTU0lPTl9TRVJWRVI6IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxuXG4gIC8vIFdlYiBDb25zb2xlIENvbmZpZ3VyYXRpb25cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvKiogRW5hYmxlIHRoZSB1bmlmaWVkIHdlYiBjb25zb2xlIChsb2dzICsgbWV0cmljcyB0YWJzKSAqL1xuICBET0xMSE9VU0VfV0VCX0NPTlNPTEU6IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxuXG4gIC8qKlxuICAgKiBQb3J0IHRoZSB3ZWIgY29uc29sZSBsZWFkZXIgYmluZHMgdG8gKCMxNzk0LCAjMTc5OCkuXG4gICAqXG4gICAqIERlZmF1bHQ6IDQxNzE1IOKAlCBcIkFJTElTXCIgb24gYSBwaG9uZSBrZXlwYWQsIGFmdGVyIHRoZSBBSSBMYXllclxuICAgKiBJbnRlcmZhY2UgU3BlY2lmaWNhdGlvbiB0aGF0IERvbGxob3VzZU1DUCBpbXBsZW1lbnRzLiBBbHNvIFwiQWxpY2VcIlxuICAgKiBpbiBHYWVsaWMuXG4gICAqXG4gICAqIFBvcnQgc2VsZWN0aW9uIGNyaXRlcmlhICh2ZXJpZmllZCAyMDI2LTA0LTA2KTpcbiAgICogICAtIE5vdCByZWdpc3RlcmVkIHdpdGggSUFOQSAobm8gZW50cnkgaW4gdGhlIHNlcnZpY2UgbmFtZSByZWdpc3RyeSlcbiAgICogICAtIE5vdCBpbiBubWFwIHNlcnZpY2VzIGRhdGFiYXNlIChuZXZlciBvYnNlcnZlZCBpbiB0aGUgd2lsZClcbiAgICogICAtIE5vIGtub3duIGFwcGxpY2F0aW9uLCBzZWN1cml0eSB0b29sLCBvciBtYWx3YXJlIGFzc29jaWF0aW9uc1xuICAgKiAgIC0gQmVsb3cgdGhlIG1hY09TIGVwaGVtZXJhbCByYW5nZSAoNDkxNTItNjU1MzUpLCBzbyBgYmluZCgpYFxuICAgKiAgICAgZG9lcyBub3QgcmFjZSB3aXRoIGtlcm5lbC1hbGxvY2F0ZWQgc291cmNlIHBvcnRzXG4gICAqICAgLSBJbiB0aGUgSUFOQSB1c2VyIHBvcnQgcmFuZ2UgKDEwMjQtNDkxNTEpXG4gICAqICAgLSBOb3QgYWRqYWNlbnQgdG8gdGhlIHByZS1hdXRoZW50aWNhdGlvbiBkZWZhdWx0ICgzOTM5KVxuICAgKlxuICAgKiBQcmV2aW91cyBkZWZhdWx0IHdhcyA1OTA3IChcIkxPR1NcIiB1cHNpZGUgZG93biBvbiBhIGNhbGN1bGF0b3IpLFxuICAgKiB3aGljaCBjb25mbGljdGVkIHdpdGggU3RlbGxhciBDeWJlcidzIEhUVFAgR0tFIGxvZyBwYXJzZXIuXG4gICAqXG4gICAqIE92ZXJyaWRlIHZpYSBlbnYgdmFyIGlmIDQxNzE1IGNvbGxpZGVzIHdpdGggc29tZXRoaW5nIGluIHlvdXJcbiAgICogZW52aXJvbm1lbnQg4oCUIGV2ZXJ5IHJ1bnRpbWUgcmVmZXJlbmNlIHJlYWRzIGZyb20gdGhpcyBzaW5nbGUgdmFsdWUuXG4gICAqL1xuICBET0xMSE9VU0VfV0VCX0NPTlNPTEVfUE9SVDogei5jb2VyY2UubnVtYmVyKCkuaW50KCkubWluKDEwMjQpLm1heCg2NTUzNSkuZGVmYXVsdCg0MTcxNSksXG5cbiAgLyoqXG4gICAqIElzc3VlICMxNzgwOiBFbmZvcmNlIEJlYXJlciB0b2tlbiBhdXRoZW50aWNhdGlvbiBvbiB0aGUgd2ViIGNvbnNvbGUgQVBJLlxuICAgKiBXaGVuIHRydWUsIGFsbCBwcm90ZWN0ZWQgZW5kcG9pbnRzIHJlcXVpcmUgYSB2YWxpZCB0b2tlbiBmcm9tIHRoZVxuICAgKiBjb25zb2xlIHRva2VuIGZpbGUuIFdoZW4gZmFsc2UgKHRoZSBwcmUtUGhhc2UtMiBkZWZhdWx0KSwgdGhlIHRva2VuXG4gICAqIGZpbGUgaXMgc3RpbGwgZ2VuZXJhdGVkIGJ1dCB0aGUgbWlkZGxld2FyZSBkb2VzIG5vdCBlbmZvcmNlIOKAlCB0aGlzXG4gICAqIGxldHMgdGhlIGluZnJhc3RydWN0dXJlIGxhbmQgd2l0aG91dCBicmVha2luZyBleGlzdGluZyBjb25zdW1lcnMuXG4gICAqIFdpbGwgZmxpcCB0byBkZWZhdWx0IGB0cnVlYCBpbiBhIGZvbGxvdy11cCBQUiBvbmNlIGFsbCBjb25zdW1lcnNcbiAgICogKGJyb3dzZXIsIGZvbGxvd2VycywgYnJpZGdlKSBoYXZlIGJlZW4gdXBkYXRlZCB0byBhdHRhY2ggdG9rZW5zLlxuICAgKi9cbiAgRE9MTEhPVVNFX1dFQl9BVVRIX0VOQUJMRUQ6IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcblxuICAvKipcbiAgICogSXNzdWUgIzE3ODA6IE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgY29uc29sZSB0b2tlbiBmaWxlIGxvY2F0aW9uLlxuICAgKiBXaGVuIHVuc2V0LCBgQ29uc29sZVRva2VuU3RvcmVgIGZhbGxzIGJhY2sgdG8gaXRzIGJ1aWx0LWluIGRlZmF1bHRcbiAgICogdW5kZXIgYH4vLmRvbGxob3VzZS9ydW4vYC4gTWFpbmx5IHVzZWZ1bCBmb3IgdGVzdHMgYW5kIGZvciBlbnRlcnByaXNlXG4gICAqIGRlcGxveW1lbnRzIHRoYXQgbW91bnQgYSBzaGFyZWQgdG9rZW4gZmlsZSBmcm9tIGEgc2VjcmV0cyB2b2x1bWUuXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9UT0tFTl9GSUxFOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgY29uc29sZSBsZWFkZXIgbG9jayBmaWxlIGxvY2F0aW9uICgjMTc5NCkuXG4gICAqIFdoZW4gdW5zZXQsIGBMZWFkZXJFbGVjdGlvbmAgZmFsbHMgYmFjayB0byBpdHMgYnVpbHQtaW4gZGVmYXVsdCB1bmRlclxuICAgKiBgfi8uZG9sbGhvdXNlL3J1bi9gLiBQcmltYXJpbHkgdXNlZnVsIGZvciB0ZXN0cyB0aGF0IG5lZWQgaXNvbGF0aW9uXG4gICAqIGJldHdlZW4gcnVucyBhbmQgZm9yIGRlcGxveW1lbnRzIHRoYXQgc3BsaXQgcnVudGltZSBzdGF0ZSBhY3Jvc3NcbiAgICogbXVsdGlwbGUgaW5zdGFsbGF0aW9ucyBvbiB0aGUgc2FtZSBtYWNoaW5lLlxuICAgKi9cbiAgRE9MTEhPVVNFX0NPTlNPTEVfTEVBREVSX0xPQ0tfRklMRTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuXG4gIC8vIExlYWRlci9Gb2xsb3dlciBSZWNvdmVyeSAoIzE4NTApXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogSXNzdWUgIzE4NTA6IFJldHJ5IGRlbGF5cyAoaW4gbXMpIHdoZW4gdGhlIGxlYWRlciBmYWlscyB0byBiaW5kIHRoZSBjb25zb2xlXG4gICAqIHBvcnQgZHVlIHRvIEVBRERSSU5VU0UuIEVhY2ggdmFsdWUgaXMgYSBzdWNjZXNzaXZlIGJhY2tvZmYgZGVsYXkuXG4gICAqIERlZmF1bHQ6IDFzLCAycywgNHMgKDdzIHRvdGFsKS4gSW5jcmVhc2UgZm9yIHNsb3cgb3IgcmVtb3RlIGVudmlyb25tZW50cy5cbiAgICovXG4gIERPTExIT1VTRV9DT05TT0xFX0JJTkRfUkVUUllfREVMQVlTOiB6LnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAudHJhbnNmb3JtKHYgPT4gdiA/IHYuc3BsaXQoJywnKS5tYXAoTnVtYmVyKS5maWx0ZXIobiA9PiAhTnVtYmVyLmlzTmFOKG4pICYmIG4gPiAwKSA6IHVuZGVmaW5lZCksXG5cbiAgLyoqXG4gICAqIElzc3VlICMxODUwOiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgZm9yd2FyZGluZyBmYWlsdXJlcyBiZWZvcmUgYSBmb2xsb3dlclxuICAgKiBkZWNsYXJlcyB0aGUgbGVhZGVyIGRlYWQgYW5kIGF0dGVtcHRzIHNlbGYtcHJvbW90aW9uLiBIaWdoZXIgdmFsdWVzIHJlZHVjZVxuICAgKiBmYWxzZSBwb3NpdGl2ZXMgaW4gaGlnaC1sYXRlbmN5IGVudmlyb25tZW50cyBidXQgZGVsYXkgcmVjb3ZlcnkuXG4gICAqIERlZmF1bHQ6IDEwLlxuICAgKi9cbiAgRE9MTEhPVVNFX0NPTlNPTEVfTUFYX0ZPUldBUkRfRkFJTFVSRVM6IHouY29lcmNlLm51bWJlcigpLmludCgpLm1pbigxKS5tYXgoMTAwKS5kZWZhdWx0KDEwKSxcblxuICAvKipcbiAgICogSG93IG9mdGVuIGEgZm9sbG93ZXIgcmUtZXZhbHVhdGVzIHdoZXRoZXIgaXQgc2hvdWxkIHRha2Ugb3ZlciBjb25zb2xlXG4gICAqIGxlYWRlcnNoaXAgaW4gYSBoZXRlcm9nZW5lb3VzIG1peGVkLXZlcnNpb24gZW52aXJvbm1lbnQuXG4gICAqIERlZmF1bHQ6IDE1MDAwbXMuXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9BVVRIT1JJVFlfUkVDSEVDS19NUzogei5jb2VyY2UubnVtYmVyKCkuaW50KCkubWluKDFfMDAwKS5tYXgoMzAwXzAwMCkuZGVmYXVsdCgxNV8wMDApLFxuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBlci1zZXNzaW9uIGppdHRlciBhZGRlZCB0byBhdXRob3JpdHkgcmVjaGVja3Mgc28gbGFyZ2UgbWl4ZWRcbiAgICogZmxlZXRzIGRvIG5vdCBhbGwgd2FrZSB1cCBpbiB0aGUgc2FtZSBpbnN0YW50LlxuICAgKiBEZWZhdWx0OiA1MDAwbXMuXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9BVVRIT1JJVFlfUkVDSEVDS19KSVRURVJfTVM6IHouY29lcmNlLm51bWJlcigpLmludCgpLm1pbigwKS5tYXgoNjBfMDAwKS5kZWZhdWx0KDVfMDAwKSxcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGF1dGhvcml0eSByZWNoZWNrIGZhaWx1cmVzIGJlZm9yZSB0aGUgZm9sbG93ZXIgb3BlbnNcbiAgICogaXRzIGxvY2FsIGNpcmN1aXQgYnJlYWtlciBhbmQgc3RvcHMgcmV0cnlpbmcgdW50aWwgdGhlIGNvb2xkb3duIGV4cGlyZXMuXG4gICAqIERlZmF1bHQ6IDMuXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9BVVRIT1JJVFlfUkVDSEVDS19GQUlMVVJFX1RIUkVTSE9MRDogei5jb2VyY2UubnVtYmVyKCkuaW50KCkubWluKDEpLm1heCgxMDApLmRlZmF1bHQoMyksXG5cbiAgLyoqXG4gICAqIENvb2xkb3duIHBlcmlvZCBhZnRlciB0aGUgZm9sbG93ZXIgYXV0aG9yaXR5IG1vbml0b3Igb3BlbnMgaXRzIGNpcmN1aXRcbiAgICogYnJlYWtlciBkdWUgdG8gcmVwZWF0ZWQgZmFpbHVyZXMuXG4gICAqIERlZmF1bHQ6IDYwMDAwbXMuXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9BVVRIT1JJVFlfUkVDSEVDS19GQUlMVVJFX0NPT0xET1dOX01TOiB6LmNvZXJjZS5udW1iZXIoKS5pbnQoKS5taW4oMV8wMDApLm1heCg5MDBfMDAwKS5kZWZhdWx0KDYwXzAwMCksXG5cbiAgLyoqXG4gICAqIElzc3VlICMxNzgwOiBQaGFzZSAyIOKAlCByZXF1aXJlIGEgY29uZmlybWF0aW9uIGNvZGUgKE9TIGRpYWxvZyBvciBUT1RQKVxuICAgKiBmb3IgcHJpdmlsZWdlZCBhY3Rpb25zIGxpa2UgdG9rZW4gcm90YXRpb24uIERlZmF1bHQgaXMgdHJ1ZSBmb3Igc2FmZXR5O1xuICAgKiBzZXQgdG8gZmFsc2UgZm9yIGhlYWRsZXNzIENJIGFuZCBzY3JpcHRlZCBkZXBsb3ltZW50cyB0aGF0IG5lZWQgdG8gcm90YXRlXG4gICAqIHdpdGhvdXQgaHVtYW4gaW50ZXJhY3Rpb24uXG4gICAqL1xuICBET0xMSE9VU0VfQ09OU09MRV9ST1RBVElPTl9SRVFVSVJFX0NPTkZJUk1BVElPTjogei5jb2VyY2UuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTZWN1cml0eSBDb25maWd1cmF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLyoqXG4gICAqIElzc3VlICM0NTI6IEdhdGVrZWVwZXIgcG9saWN5IGVuZm9yY2VtZW50LlxuICAgKiBXaGVuIHRydWUgKGRlZmF1bHQpLCBhbGwgTUNQLUFRTCBvcGVyYXRpb25zIGdvIHRocm91Z2ggdGhlIDQtbGF5ZXIgR2F0ZWtlZXBlclxuICAgKiBlbmZvcmNlKCkgcGlwZWxpbmUuIFdoZW4gZmFsc2UsIGZhbGxzIGJhY2sgdG8gcm91dGUgdmFsaWRhdGlvbiBvbmx5LlxuICAgKiBUaGlzIGlzIGEgdXNlci9vcGVyYXRvciBzZXR0aW5nIOKAlCB0aGUgTExNIGNhbm5vdCBieXBhc3MgaXQuXG4gICAqL1xuICBET0xMSE9VU0VfR0FURUtFRVBFUl9FTkFCTEVEOiB6LmNvZXJjZS5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgLyoqXG4gICAqIElzc3VlICM2Nzk6IEVsZW1lbnQgcG9saWN5IGxheWVyIGtpbGwgc3dpdGNoLlxuICAgKiBXaGVuIHRydWUgKGRlZmF1bHQpLCBhY3RpdmUgZWxlbWVudCBnYXRla2VlcGVyIHBvbGljaWVzIChhbGxvdy9jb25maXJtL2Rlbnkvc2NvcGVSZXN0cmljdGlvbnMpXG4gICAqIGNhbiBvdmVycmlkZSBkZWZhdWx0IG9wZXJhdGlvbiBwZXJtaXNzaW9uIGxldmVscy4gV2hlbiBmYWxzZSwgTGF5ZXIgMiBvZiBHYXRla2VlcGVyLmVuZm9yY2UoKVxuICAgKiBpcyBieXBhc3NlZCBlbnRpcmVseSDigJQgb25seSByb3V0ZSB2YWxpZGF0aW9uIGFuZCBkZWZhdWx0IHBlcm1pc3Npb24gbGV2ZWxzIGFwcGx5LlxuICAgKiBVc2UgZm9yIGVtZXJnZW5jeSBsb2NrZG93biwgaGFyZGVuZWQgZGVwbG95bWVudHMsIG9yIHBvbGljeSBkZWJ1Z2dpbmcuXG4gICAqIFRoaXMgaXMgYW4gb3BlcmF0b3IvaW5mcmFzdHJ1Y3R1cmUgc2V0dGluZyDigJQgdGhlIExMTSBjYW5ub3QgYnlwYXNzIGl0LlxuICAgKi9cbiAgRE9MTEhPVVNFX0dBVEVLRUVQRVJfRUxFTUVOVF9QT0xJQ1lfT1ZFUlJJREVTOiB6LmNvZXJjZS5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgLyoqXG4gICAqIElzc3VlICM3OTk6IFBvbGljeSBleHBvcnQgb3B0LWluIGZsYWcuXG4gICAqIFdoZW4gdHJ1ZSAoZGVmYXVsdCksIFBvbGljeUV4cG9ydFNlcnZpY2Ugd3JpdGVzIHRoZSBzZWN1cml0eSBwb2xpY3kgYmx1ZXByaW50IHRvXG4gICAqIH4vLmRvbGxob3VzZS9icmlkZ2UvaW1wb3J0cy9wb2xpY2llcy8gb24gYWN0aXZhdGlvbiBjaGFuZ2VzLiBUaGUgRG9sbGhvdXNlQnJpZGdlXG4gICAqIHBlcm1pc3Npb24tcHJvbXB0IHNlcnZlciB3YXRjaGVzIHRoaXMgZmlsZSB0byBldmFsdWF0ZSBwZXJtaXNzaW9ucyBsb2NhbGx5LlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBwb2xpY3kgZmlsZSBleHBvcnQgZW50aXJlbHkuXG4gICAqL1xuICBET0xMSE9VU0VfUE9MSUNZX0VYUE9SVF9FTkFCTEVEOiB6LmNvZXJjZS5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFN0b3JhZ2UgTGF5ZXIgQ29uZmlndXJhdGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIERPTExIT1VTRV9TQ0FOX0NPT0xET1dOX01TOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDEwMDApLFxuICBET0xMSE9VU0VfSU5ERVhfREVCT1VOQ0VfTVM6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMjAwMCksXG4gIERPTExIT1VTRV9FTEVNRU5UX0NBQ0hFX1RUTF9NUzogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgzNjAwMDAwKSxcbiAgRE9MTEhPVVNFX1BBVEhfQ0FDSEVfVFRMX01TOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDM2MDAwMDApLFxuICBET0xMSE9VU0VfVE9PTF9DQUNIRV9UVExfTVM6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoNjAwMDApLFxuICBET0xMSE9VU0VfR0xPQkFMX0NBQ0hFX01FTU9SWV9NQjogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgxNTApLFxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUGVybWlzc2lvbiBQcm9tcHQgQ29uZmlndXJhdGlvbiAoSXNzdWUgIzYyNSlcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKiBNYXhpbXVtIENMSSBhcHByb3ZhbCByZWNvcmRzIGJlZm9yZSBMUlUgZXZpY3Rpb24gKGRlZmF1bHQ6IDUwKSAqL1xuICBET0xMSE9VU0VfQ0xJX0FQUFJPVkFMX01BWDogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCg1MCksXG5cbiAgLyoqIERlZmF1bHQgVFRMIGZvciBDTEkgYXBwcm92YWwgcmVjb3JkcyBpbiBtcyAoZGVmYXVsdDogMzAwMDAwID0gNSBtaW4pICovXG4gIERPTExIT1VTRV9DTElfQVBQUk9WQUxfVFRMX01TOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDMwMF8wMDApLFxuXG4gIC8qKiBQZXJtaXNzaW9uIHByb21wdCByYXRlIGxpbWl0OiBtYXggcmVxdWVzdHMgcGVyIHdpbmRvdyAoZGVmYXVsdDogMTAwKSAqL1xuICBET0xMSE9VU0VfUEVSTUlTU0lPTl9QUk9NUFRfUkFURV9MSU1JVDogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgxMDApLFxuXG4gIC8qKiBDTEkgYXBwcm92YWwgY3JlYXRpb24gcmF0ZSBsaW1pdDogbWF4IHJlcXVlc3RzIHBlciB3aW5kb3cgKGRlZmF1bHQ6IDIwKSAqL1xuICBET0xMSE9VU0VfQ0xJX0FQUFJPVkFMX1JBVEVfTElNSVQ6IHouY29lcmNlLm51bWJlcigpLmRlZmF1bHQoMjApLFxuXG4gIC8qKiBSYXRlIGxpbWl0IHdpbmRvdyBpbiBtcyBmb3IgcGVybWlzc2lvbiBwcm9tcHQgYW5kIENMSSBhcHByb3ZhbHMgKGRlZmF1bHQ6IDYwMDAwID0gNjBzKSAqL1xuICBET0xMSE9VU0VfUEVSTUlTU0lPTl9SQVRFX1dJTkRPV19NUzogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCg2MF8wMDApLFxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gTWV0cmljcyBDb2xsZWN0aW9uIENvbmZpZ3VyYXRpb25cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBET0xMSE9VU0VfTUVUUklDU19FTkFCTEVEOiB6LmNvZXJjZS5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgRE9MTEhPVVNFX01FVFJJQ1NfQ09MTEVDVElPTl9JTlRFUlZBTF9NUzogei5jb2VyY2UubnVtYmVyKCkubWluKDEwMDApLm1heCgzMDAwMDApLmRlZmF1bHQoMTUwMDApLFxuICBET0xMSE9VU0VfTUVUUklDU19NQVhfU05BUFNIT1RfU0laRTogei5jb2VyY2UubnVtYmVyKCkuZGVmYXVsdCgxMDI0MDApLFxuICBET0xMSE9VU0VfTUVUUklDU19DT0xMRUNUT1JfRkFJTFVSRV9USFJFU0hPTEQ6IHouY29lcmNlLm51bWJlcigpLm1pbigxKS5tYXgoMTAwKS5kZWZhdWx0KDEwKSxcbiAgRE9MTEhPVVNFX01FVFJJQ1NfQ09MTEVDVElPTl9EVVJBVElPTl9XQVJOX01TOiB6LmNvZXJjZS5udW1iZXIoKS5taW4oMTAwKS5tYXgoNjAwMDApLmRlZmF1bHQoNTAwMCksXG4gIERPTExIT1VTRV9NRVRSSUNTX01FTU9SWV9TTkFQU0hPVF9DQVBBQ0lUWTogei5jb2VyY2UubnVtYmVyKCkubWluKDEwKS5tYXgoMTAwMDApLmRlZmF1bHQoMjQwKSxcblxuICAvLyBQYXR0ZXJuIGVuY3J5cHRpb24gc2V0dGluZ3MgZm9yIE1lbW9yeSBTZWN1cml0eSAoSXNzdWUgIzEzMjEpXG4gIERPTExIT1VTRV9ESVNBQkxFX0VOQ1JZUFRJT046IHouY29lcmNlLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgRE9MTEhPVVNFX0VOQ1JZUFRJT05fU0VDUkVUOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIERPTExIT1VTRV9FTkNSWVBUSU9OX1NBTFQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcblxuICAvLyBUb2tlbiBlbmNyeXB0aW9uIHNlY3JldCAoU0VDLTAxLCAjMTczNSlcbiAgLy8gV2hlbiBzZXQsIHJlcGxhY2VzIHRoZSBwcmVkaWN0YWJsZSBtYWNoaW5lLWRlcml2ZWQgcGFzc3BocmFzZSBmb3IgdG9rZW4gZW5jcnlwdGlvbi5cbiAgLy8gU3Ryb25nbHkgcmVjb21tZW5kZWQgZm9yIGFueSBzaGFyZWQgb3IgbXVsdGktdXNlciBlbnZpcm9ubWVudC5cbiAgLy8gTWluaW11bSAzMiBjaGFyYWN0ZXJzIGVuZm9yY2VkIHRvIHByZXZlbnQgd2VhayBwYXNzcGhyYXNlcy5cbiAgRE9MTEhPVVNFX1RPS0VOX1NFQ1JFVDogei5zdHJpbmcoKS5taW4oMzIpLm9wdGlvbmFsKCksXG59KTtcblxuLyoqXG4gKiBWYWxpZGF0ZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gKiBUeXBlIGlzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQgZnJvbSB0aGUgc2NoZW1hXG4gKi9cbmV4cG9ydCBjb25zdCBlbnYgPSBlbnZTY2hlbWEucGFyc2UocHJvY2Vzcy5lbnYpO1xuXG4vKipcbiAqIEVudmlyb25tZW50IHR5cGUgKGluZmVycmVkIGZyb20gc2NoZW1hKVxuICovXG5leHBvcnQgdHlwZSBFbnYgPSB6LmluZmVyPHR5cGVvZiBlbnZTY2hlbWE+O1xuXG4vKipcbiAqIENvbnZlbmllbmNlIGhlbHBlcnMgZm9yIGVudmlyb25tZW50IGRldGVjdGlvblxuICovXG5leHBvcnQgY29uc3QgaXNUZXN0ID0gZW52Lk5PREVfRU5WID09PSAndGVzdCc7XG5leHBvcnQgY29uc3QgaXNEZXZlbG9wbWVudCA9IGVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JztcbmV4cG9ydCBjb25zdCBpc1Byb2R1Y3Rpb24gPSBlbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcblxuLyoqXG4gKiBMb2cgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvbiAod2l0aG91dCBzZWNyZXRzKVxuICovXG5pZiAoaXNEZXZlbG9wbWVudCB8fCBpc1Rlc3QpIHtcbiAgbG9nZ2VyLmRlYnVnKCdFbnZpcm9ubWVudCBjb25maWd1cmF0aW9uIGxvYWRlZDonLCB7XG4gICAgTk9ERV9FTlY6IGVudi5OT0RFX0VOVixcbiAgICBQT1JUOiBlbnYuUE9SVCxcbiAgICBMT0dfTEVWRUw6IGVudi5MT0dfTEVWRUwsXG4gICAgSEFTX0dJVEhVQl9UT0tFTjogISFlbnYuR0lUSFVCX1RPS0VOLFxuICAgIEhBU19HSVRIVUJfVEVTVF9UT0tFTjogISFlbnYuR0lUSFVCX1RFU1RfVE9LRU4sXG4gIH0pO1xufVxuIl19
@@ -2,8 +2,8 @@
2
2
  * Auto-generated file - DO NOT EDIT
3
3
  * Generated at build time by scripts/generate-version.js
4
4
  */
5
- export declare const PACKAGE_VERSION = "2.0.27-rc.3";
6
- export declare const BUILD_TIMESTAMP = "2026-04-19T16:39:50.436Z";
5
+ export declare const PACKAGE_VERSION = "2.0.27-rc.5";
6
+ export declare const BUILD_TIMESTAMP = "2026-04-19T18:04:08.471Z";
7
7
  export declare const BUILD_TYPE: 'npm' | 'git';
8
8
  export declare const PACKAGE_NAME = "@dollhousemcp/mcp-server";
9
9
  //# sourceMappingURL=version.d.ts.map
@@ -2,8 +2,8 @@
2
2
  * Auto-generated file - DO NOT EDIT
3
3
  * Generated at build time by scripts/generate-version.js
4
4
  */
5
- export const PACKAGE_VERSION = '2.0.27-rc.3';
6
- export const BUILD_TIMESTAMP = '2026-04-19T16:39:50.436Z';
5
+ export const PACKAGE_VERSION = '2.0.27-rc.5';
6
+ export const BUILD_TIMESTAMP = '2026-04-19T18:04:08.471Z';
7
7
  export const BUILD_TYPE = 'npm';
8
8
  export const PACKAGE_NAME = '@dollhousemcp/mcp-server';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF1dG8tZ2VuZXJhdGVkIGZpbGUgLSBETyBOT1QgRURJVFxuICogR2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUgYnkgc2NyaXB0cy9nZW5lcmF0ZS12ZXJzaW9uLmpzXG4gKi9cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9ICcyLjAuMjctcmMuMyc7XG5leHBvcnQgY29uc3QgQlVJTERfVElNRVNUQU1QID0gJzIwMjYtMDQtMTlUMTY6Mzk6NTAuNDM2Wic7XG5leHBvcnQgY29uc3QgQlVJTERfVFlQRTogJ25wbScgfCAnZ2l0JyA9ICducG0nO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfTkFNRSA9ICdAZG9sbGhvdXNlbWNwL21jcC1zZXJ2ZXInO1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF1dG8tZ2VuZXJhdGVkIGZpbGUgLSBETyBOT1QgRURJVFxuICogR2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUgYnkgc2NyaXB0cy9nZW5lcmF0ZS12ZXJzaW9uLmpzXG4gKi9cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9ICcyLjAuMjctcmMuNSc7XG5leHBvcnQgY29uc3QgQlVJTERfVElNRVNUQU1QID0gJzIwMjYtMDQtMTlUMTg6MDQ6MDguNDcxWic7XG5leHBvcnQgY29uc3QgQlVJTERfVFlQRTogJ25wbScgfCAnZ2l0JyA9ICducG0nO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfTkFNRSA9ICdAZG9sbGhvdXNlbWNwL21jcC1zZXJ2ZXInO1xuIl19
@@ -88,6 +88,8 @@ export interface IngestRoutesResult {
88
88
  router: Router;
89
89
  /** Get all tracked sessions */
90
90
  getSessions: () => SessionInfo[];
91
+ /** Import active follower sessions from a displaced leader during takeover. */
92
+ importSessions: (sessions: SessionInfo[]) => void;
91
93
  /** Register the leader as a session */
92
94
  registerLeaderSession: (sessionId: string, pid: number) => void;
93
95
  /** Register the web console as a session so the indicator is never empty (#1805) */
@@ -1 +1 @@
1
- {"version":3,"file":"IngestRoutes.d.ts","sourceRoot":"","sources":["../../../src/web/console/IngestRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA+B7D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,aAAa,EAAE,OAAO,CAAC;IACvB,iGAAiG;IACjG,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IACxB,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,WAAW,EAAE,CAAC;IACjC,uCAAuC;IACvC,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,oFAAoF;IACpF,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC;AAqBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,kBAAkB,CAucnF"}
1
+ {"version":3,"file":"IngestRoutes.d.ts","sourceRoot":"","sources":["../../../src/web/console/IngestRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAgC7D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,aAAa,EAAE,OAAO,CAAC;IACvB,iGAAiG;IACjG,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IACxB,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,WAAW,EAAE,CAAC;IACjC,+EAA+E;IAC/E,cAAc,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAClD,uCAAuC;IACvC,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,oFAAoF;IACpF,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC;AAqBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,kBAAkB,CAwfnF"}