@openelement/adapter-vite 0.41.0-alpha.2 → 0.41.0-alpha.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openelement/adapter-vite",
3
- "version": "0.41.0-alpha.2",
3
+ "version": "0.41.0-alpha.3",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -83,10 +83,10 @@
83
83
  "sanitize-html": "^2.17.4",
84
84
  "@types/sanitize-html": "^2",
85
85
  "vite": "^8.0.10",
86
- "@openelement/protocol": "^0.41.0-alpha.2",
87
- "@openelement/content": "^0.41.0-alpha.2",
88
- "@openelement/app": "^0.41.0-alpha.2",
89
- "@openelement/core": "^0.41.0-alpha.2",
90
- "@openelement/ssg": "^0.41.0-alpha.2"
86
+ "@openelement/protocol": "^0.41.0-alpha.3",
87
+ "@openelement/content": "^0.41.0-alpha.3",
88
+ "@openelement/app": "^0.41.0-alpha.3",
89
+ "@openelement/core": "^0.41.0-alpha.3",
90
+ "@openelement/ssg": "^0.41.0-alpha.3"
91
91
  }
92
92
  }
@@ -54,7 +54,9 @@ export declare class Phase3Meta {
54
54
  /** Whether headExtras scripts were produced by structured injection APIs. */ allowHeadExtrasScripts: boolean;
55
55
  /** Application shell rendered around routes. */ appShell: FrameworkOptions['appShell'];
56
56
  /** Named route layouts selected by route meta. */ layouts: FrameworkOptions['layouts'];
57
- /** SSR noExternal patterns (serialized) */ ssrNoExternal: (string | {
57
+ /** SSR noExternal patterns. Accept strings or serialized RegExp objects.
58
+ * Callers should use the plain-object form `{ __type: 'RegExp', source, flags }`
59
+ * rather than passing RegExp instances directly. */ ssrNoExternal: (string | {
58
60
  __type: 'RegExp';
59
61
  source: string;
60
62
  flags: string;
@@ -81,6 +83,7 @@ export declare class OpenElementBuildContext {
81
83
  /** Resolved framework options with defaults applied (read-only after construction) */ readonly options: FrameworkOptions;
82
84
  /** Tracks which build phases have completed. */ private completed: any;
83
85
  constructor(options: FrameworkOptions);
86
+ /** Register plugin data by name. */ registerPlugin<K extends keyof OpenElementBuildContext['plugins']>(name: K, instance: OpenElementBuildContext['plugins'][K]): void;
84
87
  /** Mark a phase as complete, enforcing ordering constraints. */ markComplete(phase: Phase): void;
85
88
  /** Check whether a phase has been completed. */ isComplete(phase: Phase): boolean;
86
89
  /** Populate Phase 3 invariants from resolved Vite config and framework options. */ populatePhase3(options: FrameworkOptions & {
@@ -46,7 +46,9 @@ export class Phase3Meta {
46
46
  /** Whether headExtras scripts were produced by structured injection APIs. */ allowHeadExtrasScripts = false;
47
47
  /** Application shell rendered around routes. */ appShell = undefined;
48
48
  /** Named route layouts selected by route meta. */ layouts = undefined;
49
- /** SSR noExternal patterns (serialized) */ ssrNoExternal = [];
49
+ /** SSR noExternal patterns. Accept strings or serialized RegExp objects.
50
+ * Callers should use the plain-object form `{ __type: 'RegExp', source, flags }`
51
+ * rather than passing RegExp instances directly. */ ssrNoExternal = [];
50
52
  /** SSR deps to keep as external (resolved by Deno import() at runtime per ADR-0043) */ ssrExternal = [];
51
53
  /** Routes directory */ routesDir = 'app/routes';
52
54
  /** Islands directory */ islandsDir = 'app/islands';
@@ -70,10 +72,12 @@ export class OpenElementBuildContext {
70
72
  constructor(options){
71
73
  this.options = options;
72
74
  }
75
+ /** Register plugin data by name. */ registerPlugin(name, instance) {
76
+ this.plugins[name] = instance;
77
+ }
73
78
  /** Mark a phase as complete, enforcing ordering constraints. */ markComplete(phase) {
74
- if (phase === 2 && !this.completed.has(3)) {
75
- throw new Error('Phase 2 requires Phase 3 to be completed first');
76
- }
79
+ // Phase 2 (client build) requires Phase 1 (route scanning) only.
80
+ // Phase 2 runs after Phase 3 (SSG) per ADR 0023; it does NOT require Phase 3.
77
81
  if (phase === 2 && !this.completed.has(1)) {
78
82
  throw new Error('Phase 2 requires Phase 1 to be completed first');
79
83
  }
@@ -128,4 +132,4 @@ export class OpenElementBuildContext {
128
132
  });
129
133
  }
130
134
  }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hZGFwdGVyLXZpdGUvc3JjL2J1aWxkLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAb3BlbmVsZW1lbnQvYWRhcHRlci12aXRlIC0gb3BlbkVsZW1lbnQgQnVpbGQgQ29udGV4dFxuICpcbiAqIFNoYXJlZCBtdXRhYmxlIHN0YXRlIGZvciBhbGwgb3BlbkVsZW1lbnQgVml0ZSBwbHVnaW5zLlxuICogUmVwbGFjZXMgdGhlIGNsb3N1cmUtY2FwdHVyZWQgdmFyaWFibGVzIChob25vRW50cnlDb2RlLCBzY2FubmVkSXNsYW5kVGFnTmFtZXMsIGV0Yy4pXG4gKiB3aXRoIGEgc2luZ2xlIG9iamVjdCB0aGF0J3MgZXhwbGljaXRseSBwYXNzZWQgYXJvdW5kLlxuICpcbiAqIEFsc28gcmVwbGFjZXMgdGhlIC5vcGVuRWxlbWVudC8gdGVtcCBkaXJlY3RvcnkgYXMgSVBDIGJldHdlZW4gYnVpbGQgcGhhc2VzOlxuICogLSBQaGFzZSAxIChvcGVuOmJ1aWxkKSB3cml0ZXMgbWV0YWRhdGEgLT4gY3R4IGZpZWxkc1xuICogLSBQaGFzZSAyIChidWlsZC1jbGllbnQpIHJlYWRzIG1ldGFkYXRhIC0+IGN0eCBmaWVsZHNcbiAqIC0gUGhhc2UgMyAoYnVpbGQtc3NnKSByZWFkcyBtZXRhZGF0YSAtPiBjdHggZmllbGRzXG4gKiAtIFN1Yi1wbHVnaW5zIChvcGVuQ29udGVudCwgb3BlbkkxOG4pIHdyaXRlIHRoZWlyIGRhdGEgLT4gY3R4IGZpZWxkc1xuICpcbiAqIGN0eCBpcyBwYXNzZWQgdmlhIGV4cGxpY2l0IHBhcmFtZXRlciAtIG5vIGdsb2JhbFRoaXMgb3IgbW9kdWxlLWxldmVsIGRpc2NvdmVyeS5cbiAqIHVzZSBvcGVuRWxlbWVudCgpIGZyb20gQG9wZW5lbGVtZW50L2FkYXB0ZXItdml0ZSBmb3IgdGhlIHJlY29tbWVuZGVkIHVuaWZpZWQgZW50cnkuXG4gKlxuICogRmllbGRzIGFyZSBncm91cGVkIGJ5IFBoYXNlIHRvIGltcHJvdmUgdHlwZSBzYWZldHkgYW5kIG1haW50YWluYWJpbGl0eS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFsaWFzLCBSZXNvbHZlZENvbmZpZyB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHR5cGUge1xuICBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb24sXG4gIEZyYW1ld29ya09wdGlvbnMsXG4gIEh5ZHJhdGlvblN0cmF0ZWd5LFxuICBPcGVuRWxlbWVudEJsb2dPcHRpb25zLFxuICBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmssXG4gIE9wZW5FbGVtZW50STE4bkNvbnRleHRPcHRpb25zLFxuICBPcGVuRWxlbWVudE5hdlNlY3Rpb24sXG4gIFJvdXRlRW50cnksXG59IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9mcmFtZXdvcmsnO1xuaW1wb3J0IHR5cGUgeyBPcGVuRWxlbWVudFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9tYW5pZmVzdCc7XG5pbXBvcnQgdHlwZSB7IElzbGFuZERlY2wsIFNzckFkbWlzc2lvblBsYW4gfSBmcm9tICdAb3BlbmVsZW1lbnQvcHJvdG9jb2wvc3NnJztcblxuZXhwb3J0IHR5cGUgUGhhc2UgPSAxIHwgMiB8IDM7XG5cbmV4cG9ydCBjbGFzcyBQaGFzZTFNZXRhIHtcbiAgLyoqIFRoZSBnZW5lcmF0ZWQgSG9ubyBlbnRyeSBtb2R1bGUgY29kZSAodmlydHVhbCBtb2R1bGUgY29udGVudCkgKi9cbiAgaG9ub0VudHJ5Q29kZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqIENhY2hlZCByb3V0ZXMgZnJvbSBidWlsZFN0YXJ0KCkgZm9yIHZpcnR1YWwgZW50cnkgcmVnZW5lcmF0aW9uICovXG4gIGNhY2hlZFJvdXRlczogUm91dGVFbnRyeVtdID0gW107XG5cbiAgLyoqIElzbGFuZCB0YWcgbmFtZXMgZGlzY292ZXJlZCBkdXJpbmcgcm91dGUgc2Nhbm5pbmcgKGxvY2FsIGlzbGFuZHMpICovXG4gIGlzbGFuZFRhZ05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBSZWxhdGl2ZSBmaWxlIHBhdGhzIGZvciBsb2NhbCBpc2xhbmRzICovXG4gIGlzbGFuZEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBMb2NhbCBpc2xhbmQgbWV0YWRhdGEgaW5kZXhlZCBieSB0YWcgbmFtZS4gKi9cbiAgaXNsYW5kTWV0YTogUmVjb3JkPHN0cmluZywgUGFydGlhbDxJc2xhbmREZWNsPj4gPSB7fTtcblxuICAvKiogUGFja2FnZSBtYW5pZmVzdHMgZGlzY292ZXJlZCBmcm9tIG5wbS9KU1IgcGFja2FnZXMgKi9cbiAgcGFja2FnZU1hbmlmZXN0czogT3BlbkVsZW1lbnRQYWNrYWdlTWFuaWZlc3RbXSA9IFtdO1xuXG4gIC8qKiBQYWNrYWdlIGlzbGFuZCBkZWNsYXJhdGlvbnMgZXh0cmFjdGVkIGZyb20gbWFuaWZlc3RzICovXG4gIHBhY2thZ2VJc2xhbmREZWNsczogSXNsYW5kRGVjbFtdID0gW107XG5cbiAgLyoqIFNTUiBhZG1pc3Npb24gcGxhbiBwcm9kdWNlZCBiZWZvcmUgU1NSIGVudHJ5IGdlbmVyYXRpb24uICovXG4gIHNzckFkbWlzc2lvblBsYW46IFNzckFkbWlzc2lvblBsYW4gfCBudWxsID0gbnVsbDtcblxuICAvKiogdjAuMTguMDogQ0VNLWRlcml2ZWQgY29tcGF0aWJpbGl0eSBjbGFzc2lmaWNhdGlvbnMgZnJvbSB0aGUgY2xhc3NpZmllci4gKi9cbiAgY2VtQ2xhc3NpZmljYXRpb25zOiBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb25bXSA9IFtdO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBTU1IrY2xpZW50IGJ1aWxkIGhhcyBjb21wbGV0ZWQgKi9cbiAgYnVpbGRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVml0ZSByZXNvbHZlZCBjb25maWcgKHNldCBpbiBjb25maWdSZXNvbHZlZCBob29rKSAqL1xuICByZXNvbHZlZENvbmZpZzogUmVzb2x2ZWRDb25maWcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVXNlci1wcm92aWRlZCByZXNvbHZlLmFsaWFzIGluIGl0cyBvcmlnaW5hbCBmb3JtYXQgKi9cbiAgdXNlclJlc29sdmVBbGlhczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IEFsaWFzW10gfCBudWxsID0gbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIFBoYXNlMk1ldGEge1xuICAvKiogR2VuZXJhdGVkIGNsaWVudCBpc2xhbmQgZW50cnkgY29kZSAqL1xuICBjbGllbnRFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xufVxuXG5leHBvcnQgY2xhc3MgUGhhc2UzTWV0YSB7XG4gIC8qKiBHZW5lcmF0ZWQgU1NHIGVudHJ5IGNvZGUgKGZvciB2aXRlQnVpbGQgU1NSIGlucHV0KSAqL1xuICBzc2dFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBQcm9qZWN0IHJvb3QgZGlyZWN0b3J5ICovXG4gIHJvb3Q6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBPdXRwdXQgZGlyZWN0b3J5IChkZWZhdWx0OiAnZGlzdCcpICovXG4gIG91dERpcjogc3RyaW5nID0gJ2Rpc3QnO1xuXG4gIC8qKiBCYXNlIFVSTCBwYXRoIChkZWZhdWx0OiAnLycpICovXG4gIGJhc2U6IHN0cmluZyA9ICcvJztcblxuICAvKiogTWlkZGxld2FyZSBjb25maWcgZnJvbSBjcmVhdGVPcGVuUGx1Z2luKCkgb3B0aW9ucyAqL1xuICBtaWRkbGV3YXJlOiBGcmFtZXdvcmtPcHRpb25zWydtaWRkbGV3YXJlJ10gfCBudWxsID0gbnVsbDtcblxuICAvKiogSFRNTCBkb2N1bWVudCBvcHRpb25zIGZyb20gY3JlYXRlT3BlblBsdWdpbigpIG9wdGlvbnMgKi9cbiAgaHRtbDogeyBsYW5nPzogc3RyaW5nOyB0aXRsZT86IHN0cmluZyB9IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIElzbGFuZCBoeWRyYXRpb24gc3RyYXRlZ3kgKGRlZmF1bHQ6ICdpZGxlJykgKi9cbiAgdXBncmFkZVN0cmF0ZWd5OiBIeWRyYXRpb25TdHJhdGVneSA9ICdpZGxlJztcblxuICAvKiogVmlldyBUcmFuc2l0aW9ucyBlbmFibGVkIChkZWZhdWx0OiB0cnVlKSAqL1xuICB2aWV3VHJhbnNpdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIFNwZWN1bGF0aW9uIFJ1bGVzIGNvbmZpZyBmcm9tIGNyZWF0ZU9wZW5QbHVnaW4oKSBvcHRpb25zICovXG4gIHNwZWN1bGF0aW9uOiBGcmFtZXdvcmtPcHRpb25zWydzcGVjdWxhdGlvbiddIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEV4dHJhIEhUTUwgdG8gaW5qZWN0IGludG8gPGhlYWQ+ICovXG4gIGhlYWRFeHRyYXM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIGhlYWRFeHRyYXMgc2NyaXB0cyB3ZXJlIHByb2R1Y2VkIGJ5IHN0cnVjdHVyZWQgaW5qZWN0aW9uIEFQSXMuICovXG4gIGFsbG93SGVhZEV4dHJhc1NjcmlwdHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQXBwbGljYXRpb24gc2hlbGwgcmVuZGVyZWQgYXJvdW5kIHJvdXRlcy4gKi9cbiAgYXBwU2hlbGw6IEZyYW1ld29ya09wdGlvbnNbJ2FwcFNoZWxsJ10gPSB1bmRlZmluZWQ7XG5cbiAgLyoqIE5hbWVkIHJvdXRlIGxheW91dHMgc2VsZWN0ZWQgYnkgcm91dGUgbWV0YS4gKi9cbiAgbGF5b3V0czogRnJhbWV3b3JrT3B0aW9uc1snbGF5b3V0cyddID0gdW5kZWZpbmVkO1xuXG4gIC8qKiBTU1Igbm9FeHRlcm5hbCBwYXR0ZXJucyAoc2VyaWFsaXplZCkgKi9cbiAgc3NyTm9FeHRlcm5hbDogKHN0cmluZyB8IHsgX190eXBlOiAnUmVnRXhwJzsgc291cmNlOiBzdHJpbmc7IGZsYWdzOiBzdHJpbmcgfSlbXSA9IFtdO1xuXG4gIC8qKiBTU1IgZGVwcyB0byBrZWVwIGFzIGV4dGVybmFsIChyZXNvbHZlZCBieSBEZW5vIGltcG9ydCgpIGF0IHJ1bnRpbWUgcGVyIEFEUi0wMDQzKSAqL1xuICBzc3JFeHRlcm5hbDogc3RyaW5nW10gPSBbXTtcblxuICAvKiogUm91dGVzIGRpcmVjdG9yeSAqL1xuICByb3V0ZXNEaXI6IHN0cmluZyA9ICdhcHAvcm91dGVzJztcblxuICAvKiogSXNsYW5kcyBkaXJlY3RvcnkgKi9cbiAgaXNsYW5kc0Rpcjogc3RyaW5nID0gJ2FwcC9pc2xhbmRzJztcblxuICAvKiogQ29tcG9uZW50cyBkaXJlY3RvcnkgKi9cbiAgY29tcG9uZW50c0Rpcjogc3RyaW5nID0gJ2FwcC9jb21wb25lbnRzJztcblxuICAvKiogQURSLTAwNDc6IFByZS1yZXNvbHZlZCBleHRlcm5hbCBkZXBlbmRlbmN5IG1hbmlmZXN0IChhdXRvLWdlbmVyYXRlZCBmcm9tIGRlbm8gaW5mbykuICovXG4gIGV4dGVybmFsTWFuaWZlc3Q/OiBpbXBvcnQoJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9zc2cnKS5FeHRlcm5hbE1hbmlmZXN0O1xuXG4gIC8qKiBTa2lwIERlbm8gcHJlLXJlc29sdXRpb24sIHVzZSByZWdleCBmYWxsYmFjay4gKi9cbiAgc2tpcFByZVJlc29sdXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgT3BlbkVsZW1lbnRCdWlsZENvbnRleHQge1xuICAvKiogUGhhc2UgMTogUm91dGUgc2Nhbm5pbmcgJiBidWlsZCBtZXRhZGF0YSAqL1xuICByZWFkb25seSBwaGFzZTE6IFBoYXNlMU1ldGEgPSBuZXcgUGhhc2UxTWV0YSgpO1xuXG4gIC8qKiBQaGFzZSAyOiBDbGllbnQgaXNsYW5kIGJ1aWxkIHN0YXRlICovXG4gIHJlYWRvbmx5IHBoYXNlMjogUGhhc2UyTWV0YSA9IG5ldyBQaGFzZTJNZXRhKCk7XG5cbiAgLyoqIFBoYXNlIDM6IFNTRyByZW5kZXJpbmcgc3RhdGUgKi9cbiAgcmVhZG9ubHkgcGhhc2UzOiBQaGFzZTNNZXRhID0gbmV3IFBoYXNlM01ldGEoKTtcblxuICAvKiogUGx1Z2luIGRhdGEgZnJvbSBjb250ZW50L2kxOG4gc3ViLXBsdWdpbnMgKi9cbiAgcmVhZG9ubHkgcGx1Z2luczoge1xuICAgIGJsb2dPcHRpb25zOiBPcGVuRWxlbWVudEJsb2dPcHRpb25zIHwgbnVsbDtcbiAgICBuYXZTZWN0aW9uczogT3BlbkVsZW1lbnROYXZTZWN0aW9uW107XG4gICAgaGVhZGVyTmF2OiBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmtbXTtcbiAgICBzaXRlbWFwT3B0aW9uczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsO1xuICAgIGkxOG5PcHRpb25zOiBPcGVuRWxlbWVudEkxOG5Db250ZXh0T3B0aW9ucyB8IG51bGw7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSA9IHtcbiAgICBibG9nT3B0aW9uczogbnVsbCxcbiAgICBuYXZTZWN0aW9uczogW10sXG4gICAgaGVhZGVyTmF2OiBbXSxcbiAgICBzaXRlbWFwT3B0aW9uczogbnVsbCxcbiAgICBpMThuT3B0aW9uczogbnVsbCxcbiAgfTtcblxuICAvKiogUmVzb2x2ZWQgZnJhbWV3b3JrIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkIChyZWFkLW9ubHkgYWZ0ZXIgY29uc3RydWN0aW9uKSAqL1xuICByZWFkb25seSBvcHRpb25zOiBGcmFtZXdvcmtPcHRpb25zO1xuXG4gIC8qKiBUcmFja3Mgd2hpY2ggYnVpbGQgcGhhc2VzIGhhdmUgY29tcGxldGVkLiAqL1xuICBwcml2YXRlIGNvbXBsZXRlZCA9IG5ldyBTZXQ8UGhhc2U+KCk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRnJhbWV3b3JrT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICAvKiogTWFyayBhIHBoYXNlIGFzIGNvbXBsZXRlLCBlbmZvcmNpbmcgb3JkZXJpbmcgY29uc3RyYWludHMuICovXG4gIG1hcmtDb21wbGV0ZShwaGFzZTogUGhhc2UpOiB2b2lkIHtcbiAgICBpZiAocGhhc2UgPT09IDIgJiYgIXRoaXMuY29tcGxldGVkLmhhcygzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQaGFzZSAyIHJlcXVpcmVzIFBoYXNlIDMgdG8gYmUgY29tcGxldGVkIGZpcnN0Jyk7XG4gICAgfVxuICAgIGlmIChwaGFzZSA9PT0gMiAmJiAhdGhpcy5jb21wbGV0ZWQuaGFzKDEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BoYXNlIDIgcmVxdWlyZXMgUGhhc2UgMSB0byBiZSBjb21wbGV0ZWQgZmlyc3QnKTtcbiAgICB9XG4gICAgaWYgKHBoYXNlID09PSAzICYmICF0aGlzLmNvbXBsZXRlZC5oYXMoMSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGhhc2UgMyByZXF1aXJlcyBQaGFzZSAxIHRvIGJlIGNvbXBsZXRlZCBmaXJzdCcpO1xuICAgIH1cbiAgICB0aGlzLmNvbXBsZXRlZC5hZGQocGhhc2UpO1xuICB9XG5cbiAgLyoqIENoZWNrIHdoZXRoZXIgYSBwaGFzZSBoYXMgYmVlbiBjb21wbGV0ZWQuICovXG4gIGlzQ29tcGxldGUocGhhc2U6IFBoYXNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcGxldGVkLmhhcyhwaGFzZSk7XG4gIH1cblxuICAvKiogUG9wdWxhdGUgUGhhc2UgMyBpbnZhcmlhbnRzIGZyb20gcmVzb2x2ZWQgVml0ZSBjb25maWcgYW5kIGZyYW1ld29yayBvcHRpb25zLiAqL1xuICBwb3B1bGF0ZVBoYXNlMyhcbiAgICBvcHRpb25zOiBGcmFtZXdvcmtPcHRpb25zICYgeyBhbGxvd0hlYWRFeHRyYXNTY3JpcHRzPzogYm9vbGVhbiB9LFxuICAgIGNvbmZpZzogUmVzb2x2ZWRDb25maWcsXG4gICAgc3NyTm9FeHRlcm5hbDogKHN0cmluZyB8IHsgX190eXBlOiAnUmVnRXhwJzsgc291cmNlOiBzdHJpbmc7IGZsYWdzOiBzdHJpbmcgfSlbXSxcbiAgKTogdm9pZCB7XG4gICAgbGV0IGJhc2UgPSBjb25maWcuYmFzZSB8fCAnLyc7XG4gICAgaWYgKCFiYXNlLmVuZHNXaXRoKCcvJykpIGJhc2UgKz0gJy8nO1xuXG4gICAgdGhpcy5waGFzZTMucm9vdCA9IGNvbmZpZy5yb290O1xuICAgIHRoaXMucGhhc2UzLm91dERpciA9IG9wdGlvbnMuYnVpbGQ/Lm91dERpciB8fCAnZGlzdCc7XG4gICAgdGhpcy5waGFzZTMuYmFzZSA9IGJhc2U7XG4gICAgdGhpcy5waGFzZTMuc3NyTm9FeHRlcm5hbCA9IHNzck5vRXh0ZXJuYWw7XG4gICAgdGhpcy5waGFzZTMucm91dGVzRGlyID0gb3B0aW9ucy5yb3V0ZXNEaXIgfHwgJ2FwcC9yb3V0ZXMnO1xuICAgIHRoaXMucGhhc2UzLmlzbGFuZHNEaXIgPSBvcHRpb25zLmlzbGFuZHNEaXIgfHwgJ2FwcC9pc2xhbmRzJztcbiAgICB0aGlzLnBoYXNlMy5jb21wb25lbnRzRGlyID0gb3B0aW9ucy5jb21wb25lbnRzRGlyIHx8ICdhcHAvY29tcG9uZW50cyc7XG4gICAgdGhpcy5waGFzZTMubWlkZGxld2FyZSA9IG9wdGlvbnMubWlkZGxld2FyZSB8fCBudWxsO1xuICAgIHRoaXMucGhhc2UzLmh0bWwgPSBvcHRpb25zLmh0bWwgfHwgbnVsbDtcbiAgICB0aGlzLnBoYXNlMy51cGdyYWRlU3RyYXRlZ3kgPSBvcHRpb25zLmlzbGFuZD8udXBncmFkZVN0cmF0ZWd5IHx8ICdpZGxlJztcbiAgICB0aGlzLnBoYXNlMy52aWV3VHJhbnNpdGlvbiA9IG9wdGlvbnMudmlld1RyYW5zaXRpb24gPz8gdHJ1ZTtcbiAgICB0aGlzLnBoYXNlMy5zcGVjdWxhdGlvbiA9IG9wdGlvbnMuc3BlY3VsYXRpb24gPz8gbnVsbDtcbiAgICB0aGlzLnBoYXNlMy5oZWFkRXh0cmFzID0gb3B0aW9ucy5oZWFkRXh0cmFzIHx8ICcnO1xuICAgIHRoaXMucGhhc2UzLmFsbG93SGVhZEV4dHJhc1NjcmlwdHMgPSBvcHRpb25zLmFsbG93SGVhZEV4dHJhc1NjcmlwdHMgfHwgZmFsc2U7XG4gICAgdGhpcy5waGFzZTMuYXBwU2hlbGwgPSBvcHRpb25zLmFwcFNoZWxsO1xuICAgIHRoaXMucGhhc2UzLmxheW91dHMgPSBvcHRpb25zLmxheW91dHM7XG4gIH1cblxuICAvKiogUmV0dXJuIGEgcmVhZC1vbmx5IHZpZXcgb2YgUGhhc2UgMyBtZXRhZGF0YS4gKi9cbiAgZ2V0UGhhc2UzTWV0YSgpOiBSZWFkb25seTxQaGFzZTNNZXRhPiB7XG4gICAgcmV0dXJuIHRoaXMucGhhc2UzO1xuICB9XG5cbiAgLyoqIFJlc2V0IGFsbCBtdXRhYmxlIHN0YXRlIChmb3Igd2F0Y2ggbW9kZSAvIHRlc3RpbmcpICovXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuY29tcGxldGVkLmNsZWFyKCk7XG5cbiAgICBjb25zdCB1c2VyUmVzb2x2ZUFsaWFzID0gdGhpcy5waGFzZTEudXNlclJlc29sdmVBbGlhcztcbiAgICAvLyBOT1RFOiB1c2VyUmVzb2x2ZUFsaWFzIGlzIE5PVCByZXNldCAtIGl0J3MgdXNlciBjb25maWd1cmF0aW9uLCBub3RcbiAgICAvLyBidWlsZCBzdGF0ZS4gSXQncyBzZXQgaW4gY29uZmlnKCkvY29uZmlnUmVzb2x2ZWQoKSBhbmQgbXVzdCBwZXJzaXN0XG4gICAgLy8gdGhyb3VnaCBidWlsZFN0YXJ0KCkgZm9yIFBoYXNlIDIgYW5kIDMgdG8gdXNlLlxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5waGFzZTEsIG5ldyBQaGFzZTFNZXRhKCksIHsgdXNlclJlc29sdmVBbGlhcyB9KTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGhhc2UyLCBuZXcgUGhhc2UyTWV0YSgpKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGhhc2UzLCBuZXcgUGhhc2UzTWV0YSgpKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGx1Z2lucywge1xuICAgICAgYmxvZ09wdGlvbnM6IG51bGwsXG4gICAgICBuYXZTZWN0aW9uczogW10sXG4gICAgICBoZWFkZXJOYXY6IFtdLFxuICAgICAgc2l0ZW1hcE9wdGlvbnM6IG51bGwsXG4gICAgICBpMThuT3B0aW9uczogbnVsbCxc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
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hZGFwdGVyLXZpdGUvc3JjL2J1aWxkLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAb3BlbmVsZW1lbnQvYWRhcHRlci12aXRlIC0gb3BlbkVsZW1lbnQgQnVpbGQgQ29udGV4dFxuICpcbiAqIFNoYXJlZCBtdXRhYmxlIHN0YXRlIGZvciBhbGwgb3BlbkVsZW1lbnQgVml0ZSBwbHVnaW5zLlxuICogUmVwbGFjZXMgdGhlIGNsb3N1cmUtY2FwdHVyZWQgdmFyaWFibGVzIChob25vRW50cnlDb2RlLCBzY2FubmVkSXNsYW5kVGFnTmFtZXMsIGV0Yy4pXG4gKiB3aXRoIGEgc2luZ2xlIG9iamVjdCB0aGF0J3MgZXhwbGljaXRseSBwYXNzZWQgYXJvdW5kLlxuICpcbiAqIEFsc28gcmVwbGFjZXMgdGhlIC5vcGVuRWxlbWVudC8gdGVtcCBkaXJlY3RvcnkgYXMgSVBDIGJldHdlZW4gYnVpbGQgcGhhc2VzOlxuICogLSBQaGFzZSAxIChvcGVuOmJ1aWxkKSB3cml0ZXMgbWV0YWRhdGEgLT4gY3R4IGZpZWxkc1xuICogLSBQaGFzZSAyIChidWlsZC1jbGllbnQpIHJlYWRzIG1ldGFkYXRhIC0+IGN0eCBmaWVsZHNcbiAqIC0gUGhhc2UgMyAoYnVpbGQtc3NnKSByZWFkcyBtZXRhZGF0YSAtPiBjdHggZmllbGRzXG4gKiAtIFN1Yi1wbHVnaW5zIChvcGVuQ29udGVudCwgb3BlbkkxOG4pIHdyaXRlIHRoZWlyIGRhdGEgLT4gY3R4IGZpZWxkc1xuICpcbiAqIGN0eCBpcyBwYXNzZWQgdmlhIGV4cGxpY2l0IHBhcmFtZXRlciAtIG5vIGdsb2JhbFRoaXMgb3IgbW9kdWxlLWxldmVsIGRpc2NvdmVyeS5cbiAqIHVzZSBvcGVuRWxlbWVudCgpIGZyb20gQG9wZW5lbGVtZW50L2FkYXB0ZXItdml0ZSBmb3IgdGhlIHJlY29tbWVuZGVkIHVuaWZpZWQgZW50cnkuXG4gKlxuICogRmllbGRzIGFyZSBncm91cGVkIGJ5IFBoYXNlIHRvIGltcHJvdmUgdHlwZSBzYWZldHkgYW5kIG1haW50YWluYWJpbGl0eS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFsaWFzLCBSZXNvbHZlZENvbmZpZyB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHR5cGUge1xuICBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb24sXG4gIEZyYW1ld29ya09wdGlvbnMsXG4gIEh5ZHJhdGlvblN0cmF0ZWd5LFxuICBPcGVuRWxlbWVudEJsb2dPcHRpb25zLFxuICBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmssXG4gIE9wZW5FbGVtZW50STE4bkNvbnRleHRPcHRpb25zLFxuICBPcGVuRWxlbWVudE5hdlNlY3Rpb24sXG4gIFJvdXRlRW50cnksXG59IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9mcmFtZXdvcmsnO1xuaW1wb3J0IHR5cGUgeyBPcGVuRWxlbWVudFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9tYW5pZmVzdCc7XG5pbXBvcnQgdHlwZSB7IElzbGFuZERlY2wsIFNzckFkbWlzc2lvblBsYW4gfSBmcm9tICdAb3BlbmVsZW1lbnQvcHJvdG9jb2wvc3NnJztcblxuZXhwb3J0IHR5cGUgUGhhc2UgPSAxIHwgMiB8IDM7XG5cbmV4cG9ydCBjbGFzcyBQaGFzZTFNZXRhIHtcbiAgLyoqIFRoZSBnZW5lcmF0ZWQgSG9ubyBlbnRyeSBtb2R1bGUgY29kZSAodmlydHVhbCBtb2R1bGUgY29udGVudCkgKi9cbiAgaG9ub0VudHJ5Q29kZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqIENhY2hlZCByb3V0ZXMgZnJvbSBidWlsZFN0YXJ0KCkgZm9yIHZpcnR1YWwgZW50cnkgcmVnZW5lcmF0aW9uICovXG4gIGNhY2hlZFJvdXRlczogUm91dGVFbnRyeVtdID0gW107XG5cbiAgLyoqIElzbGFuZCB0YWcgbmFtZXMgZGlzY292ZXJlZCBkdXJpbmcgcm91dGUgc2Nhbm5pbmcgKGxvY2FsIGlzbGFuZHMpICovXG4gIGlzbGFuZFRhZ05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBSZWxhdGl2ZSBmaWxlIHBhdGhzIGZvciBsb2NhbCBpc2xhbmRzICovXG4gIGlzbGFuZEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBMb2NhbCBpc2xhbmQgbWV0YWRhdGEgaW5kZXhlZCBieSB0YWcgbmFtZS4gKi9cbiAgaXNsYW5kTWV0YTogUmVjb3JkPHN0cmluZywgUGFydGlhbDxJc2xhbmREZWNsPj4gPSB7fTtcblxuICAvKiogUGFja2FnZSBtYW5pZmVzdHMgZGlzY292ZXJlZCBmcm9tIG5wbS9KU1IgcGFja2FnZXMgKi9cbiAgcGFja2FnZU1hbmlmZXN0czogT3BlbkVsZW1lbnRQYWNrYWdlTWFuaWZlc3RbXSA9IFtdO1xuXG4gIC8qKiBQYWNrYWdlIGlzbGFuZCBkZWNsYXJhdGlvbnMgZXh0cmFjdGVkIGZyb20gbWFuaWZlc3RzICovXG4gIHBhY2thZ2VJc2xhbmREZWNsczogSXNsYW5kRGVjbFtdID0gW107XG5cbiAgLyoqIFNTUiBhZG1pc3Npb24gcGxhbiBwcm9kdWNlZCBiZWZvcmUgU1NSIGVudHJ5IGdlbmVyYXRpb24uICovXG4gIHNzckFkbWlzc2lvblBsYW46IFNzckFkbWlzc2lvblBsYW4gfCBudWxsID0gbnVsbDtcblxuICAvKiogdjAuMTguMDogQ0VNLWRlcml2ZWQgY29tcGF0aWJpbGl0eSBjbGFzc2lmaWNhdGlvbnMgZnJvbSB0aGUgY2xhc3NpZmllci4gKi9cbiAgY2VtQ2xhc3NpZmljYXRpb25zOiBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb25bXSA9IFtdO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBTU1IrY2xpZW50IGJ1aWxkIGhhcyBjb21wbGV0ZWQgKi9cbiAgYnVpbGRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVml0ZSByZXNvbHZlZCBjb25maWcgKHNldCBpbiBjb25maWdSZXNvbHZlZCBob29rKSAqL1xuICByZXNvbHZlZENvbmZpZzogUmVzb2x2ZWRDb25maWcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVXNlci1wcm92aWRlZCByZXNvbHZlLmFsaWFzIGluIGl0cyBvcmlnaW5hbCBmb3JtYXQgKi9cbiAgdXNlclJlc29sdmVBbGlhczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IEFsaWFzW10gfCBudWxsID0gbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIFBoYXNlMk1ldGEge1xuICAvKiogR2VuZXJhdGVkIGNsaWVudCBpc2xhbmQgZW50cnkgY29kZSAqL1xuICBjbGllbnRFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xufVxuXG5leHBvcnQgY2xhc3MgUGhhc2UzTWV0YSB7XG4gIC8qKiBHZW5lcmF0ZWQgU1NHIGVudHJ5IGNvZGUgKGZvciB2aXRlQnVpbGQgU1NSIGlucHV0KSAqL1xuICBzc2dFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBQcm9qZWN0IHJvb3QgZGlyZWN0b3J5ICovXG4gIHJvb3Q6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBPdXRwdXQgZGlyZWN0b3J5IChkZWZhdWx0OiAnZGlzdCcpICovXG4gIG91dERpcjogc3RyaW5nID0gJ2Rpc3QnO1xuXG4gIC8qKiBCYXNlIFVSTCBwYXRoIChkZWZhdWx0OiAnLycpICovXG4gIGJhc2U6IHN0cmluZyA9ICcvJztcblxuICAvKiogTWlkZGxld2FyZSBjb25maWcgZnJvbSBjcmVhdGVPcGVuUGx1Z2luKCkgb3B0aW9ucyAqL1xuICBtaWRkbGV3YXJlOiBGcmFtZXdvcmtPcHRpb25zWydtaWRkbGV3YXJlJ10gfCBudWxsID0gbnVsbDtcblxuICAvKiogSFRNTCBkb2N1bWVudCBvcHRpb25zIGZyb20gY3JlYXRlT3BlblBsdWdpbigpIG9wdGlvbnMgKi9cbiAgaHRtbDogeyBsYW5nPzogc3RyaW5nOyB0aXRsZT86IHN0cmluZyB9IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIElzbGFuZCBoeWRyYXRpb24gc3RyYXRlZ3kgKGRlZmF1bHQ6ICdpZGxlJykgKi9cbiAgdXBncmFkZVN0cmF0ZWd5OiBIeWRyYXRpb25TdHJhdGVneSA9ICdpZGxlJztcblxuICAvKiogVmlldyBUcmFuc2l0aW9ucyBlbmFibGVkIChkZWZhdWx0OiB0cnVlKSAqL1xuICB2aWV3VHJhbnNpdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIFNwZWN1bGF0aW9uIFJ1bGVzIGNvbmZpZyBmcm9tIGNyZWF0ZU9wZW5QbHVnaW4oKSBvcHRpb25zICovXG4gIHNwZWN1bGF0aW9uOiBGcmFtZXdvcmtPcHRpb25zWydzcGVjdWxhdGlvbiddIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEV4dHJhIEhUTUwgdG8gaW5qZWN0IGludG8gPGhlYWQ+ICovXG4gIGhlYWRFeHRyYXM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIGhlYWRFeHRyYXMgc2NyaXB0cyB3ZXJlIHByb2R1Y2VkIGJ5IHN0cnVjdHVyZWQgaW5qZWN0aW9uIEFQSXMuICovXG4gIGFsbG93SGVhZEV4dHJhc1NjcmlwdHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQXBwbGljYXRpb24gc2hlbGwgcmVuZGVyZWQgYXJvdW5kIHJvdXRlcy4gKi9cbiAgYXBwU2hlbGw6IEZyYW1ld29ya09wdGlvbnNbJ2FwcFNoZWxsJ10gPSB1bmRlZmluZWQ7XG5cbiAgLyoqIE5hbWVkIHJvdXRlIGxheW91dHMgc2VsZWN0ZWQgYnkgcm91dGUgbWV0YS4gKi9cbiAgbGF5b3V0czogRnJhbWV3b3JrT3B0aW9uc1snbGF5b3V0cyddID0gdW5kZWZpbmVkO1xuXG4gIC8qKiBTU1Igbm9FeHRlcm5hbCBwYXR0ZXJucy4gQWNjZXB0IHN0cmluZ3Mgb3Igc2VyaWFsaXplZCBSZWdFeHAgb2JqZWN0cy5cbiAgICogQ2FsbGVycyBzaG91bGQgdXNlIHRoZSBwbGFpbi1vYmplY3QgZm9ybSBgeyBfX3R5cGU6ICdSZWdFeHAnLCBzb3VyY2UsIGZsYWdzIH1gXG4gICAqIHJhdGhlciB0aGFuIHBhc3NpbmcgUmVnRXhwIGluc3RhbmNlcyBkaXJlY3RseS4gKi9cbiAgc3NyTm9FeHRlcm5hbDogKHN0cmluZyB8IHsgX190eXBlOiAnUmVnRXhwJzsgc291cmNlOiBzdHJpbmc7IGZsYWdzOiBzdHJpbmcgfSlbXSA9IFtdO1xuXG4gIC8qKiBTU1IgZGVwcyB0byBrZWVwIGFzIGV4dGVybmFsIChyZXNvbHZlZCBieSBEZW5vIGltcG9ydCgpIGF0IHJ1bnRpbWUgcGVyIEFEUi0wMDQzKSAqL1xuICBzc3JFeHRlcm5hbDogc3RyaW5nW10gPSBbXTtcblxuICAvKiogUm91dGVzIGRpcmVjdG9yeSAqL1xuICByb3V0ZXNEaXI6IHN0cmluZyA9ICdhcHAvcm91dGVzJztcblxuICAvKiogSXNsYW5kcyBkaXJlY3RvcnkgKi9cbiAgaXNsYW5kc0Rpcjogc3RyaW5nID0gJ2FwcC9pc2xhbmRzJztcblxuICAvKiogQ29tcG9uZW50cyBkaXJlY3RvcnkgKi9cbiAgY29tcG9uZW50c0Rpcjogc3RyaW5nID0gJ2FwcC9jb21wb25lbnRzJztcblxuICAvKiogQURSLTAwNDc6IFByZS1yZXNvbHZlZCBleHRlcm5hbCBkZXBlbmRlbmN5IG1hbmlmZXN0IChhdXRvLWdlbmVyYXRlZCBmcm9tIGRlbm8gaW5mbykuICovXG4gIGV4dGVybmFsTWFuaWZlc3Q/OiBpbXBvcnQoJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9zc2cnKS5FeHRlcm5hbE1hbmlmZXN0O1xuXG4gIC8qKiBTa2lwIERlbm8gcHJlLXJlc29sdXRpb24sIHVzZSByZWdleCBmYWxsYmFjay4gKi9cbiAgc2tpcFByZVJlc29sdXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgT3BlbkVsZW1lbnRCdWlsZENvbnRleHQge1xuICAvKiogUGhhc2UgMTogUm91dGUgc2Nhbm5pbmcgJiBidWlsZCBtZXRhZGF0YSAqL1xuICByZWFkb25seSBwaGFzZTE6IFBoYXNlMU1ldGEgPSBuZXcgUGhhc2UxTWV0YSgpO1xuXG4gIC8qKiBQaGFzZSAyOiBDbGllbnQgaXNsYW5kIGJ1aWxkIHN0YXRlICovXG4gIHJlYWRvbmx5IHBoYXNlMjogUGhhc2UyTWV0YSA9IG5ldyBQaGFzZTJNZXRhKCk7XG5cbiAgLyoqIFBoYXNlIDM6IFNTRyByZW5kZXJpbmcgc3RhdGUgKi9cbiAgcmVhZG9ubHkgcGhhc2UzOiBQaGFzZTNNZXRhID0gbmV3IFBoYXNlM01ldGEoKTtcblxuICAvKiogUGx1Z2luIGRhdGEgZnJvbSBjb250ZW50L2kxOG4gc3ViLXBsdWdpbnMgKi9cbiAgcmVhZG9ubHkgcGx1Z2luczoge1xuICAgIGJsb2dPcHRpb25zOiBPcGVuRWxlbWVudEJsb2dPcHRpb25zIHwgbnVsbDtcbiAgICBuYXZTZWN0aW9uczogT3BlbkVsZW1lbnROYXZTZWN0aW9uW107XG4gICAgaGVhZGVyTmF2OiBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmtbXTtcbiAgICBzaXRlbWFwT3B0aW9uczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsO1xuICAgIGkxOG5PcHRpb25zOiBPcGVuRWxlbWVudEkxOG5Db250ZXh0T3B0aW9ucyB8IG51bGw7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSA9IHtcbiAgICBibG9nT3B0aW9uczogbnVsbCxcbiAgICBuYXZTZWN0aW9uczogW10sXG4gICAgaGVhZGVyTmF2OiBbXSxcbiAgICBzaXRlbWFwT3B0aW9uczogbnVsbCxcbiAgICBpMThuT3B0aW9uczogbnVsbCxcbiAgfTtcblxuICAvKiogUmVzb2x2ZWQgZnJhbWV3b3JrIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkIChyZWFkLW9ubHkgYWZ0ZXIgY29uc3RydWN0aW9uKSAqL1xuICByZWFkb25seSBvcHRpb25zOiBGcmFtZXdvcmtPcHRpb25zO1xuXG4gIC8qKiBUcmFja3Mgd2hpY2ggYnVpbGQgcGhhc2VzIGhhdmUgY29tcGxldGVkLiAqL1xuICBwcml2YXRlIGNvbXBsZXRlZCA9IG5ldyBTZXQ8UGhhc2U+KCk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRnJhbWV3b3JrT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICAvKiogUmVnaXN0ZXIgcGx1Z2luIGRhdGEgYnkgbmFtZS4gKi9cbiAgcmVnaXN0ZXJQbHVnaW48SyBleHRlbmRzIGtleW9mIE9wZW5FbGVtZW50QnVpbGRDb250ZXh0WydwbHVnaW5zJ10+KFxuICAgIG5hbWU6IEssXG4gICAgaW5zdGFuY2U6IE9wZW5FbGVtZW50QnVpbGRDb250ZXh0WydwbHVnaW5zJ11bS10sXG4gICk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luc1tuYW1lXSA9IGluc3RhbmNlO1xuICB9XG5cbiAgLyoqIE1hcmsgYSBwaGFzZSBhcyBjb21wbGV0ZSwgZW5mb3JjaW5nIG9yZGVyaW5nIGNvbnN0cmFpbnRzLiAqL1xuICBtYXJrQ29tcGxldGUocGhhc2U6IFBoYXNlKTogdm9pZCB7XG4gICAgLy8gUGhhc2UgMiAoY2xpZW50IGJ1aWxkKSByZXF1aXJlcyBQaGFzZSAxIChyb3V0ZSBzY2FubmluZykgb25seS5cbiAgICAvLyBQaGFzZSAyIHJ1bnMgYWZ0ZXIgUGhhc2UgMyAoU1NHKSBwZXIgQURSIDAwMjM7IGl0IGRvZXMgTk9UIHJlcXVpcmUgUGhhc2UgMy5cbiAgICBpZiAocGhhc2UgPT09IDIgJiYgIXRoaXMuY29tcGxldGVkLmhhcygxKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQaGFzZSAyIHJlcXVpcmVzIFBoYXNlIDEgdG8gYmUgY29tcGxldGVkIGZpcnN0Jyk7XG4gICAgfVxuICAgIGlmIChwaGFzZSA9PT0gMyAmJiAhdGhpcy5jb21wbGV0ZWQuaGFzKDEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BoYXNlIDMgcmVxdWlyZXMgUGhhc2UgMSB0byBiZSBjb21wbGV0ZWQgZmlyc3QnKTtcbiAgICB9XG4gICAgdGhpcy5jb21wbGV0ZWQuYWRkKHBoYXNlKTtcbiAgfVxuXG4gIC8qKiBDaGVjayB3aGV0aGVyIGEgcGhhc2UgaGFzIGJlZW4gY29tcGxldGVkLiAqL1xuICBpc0NvbXBsZXRlKHBoYXNlOiBQaGFzZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbXBsZXRlZC5oYXMocGhhc2UpO1xuICB9XG5cbiAgLyoqIFBvcHVsYXRlIFBoYXNlIDMgaW52YXJpYW50cyBmcm9tIHJlc29sdmVkIFZpdGUgY29uZmlnIGFuZCBmcmFtZXdvcmsgb3B0aW9ucy4gKi9cbiAgcG9wdWxhdGVQaGFzZTMoXG4gICAgb3B0aW9uczogRnJhbWV3b3JrT3B0aW9ucyAmIHsgYWxsb3dIZWFkRXh0cmFzU2NyaXB0cz86IGJvb2xlYW4gfSxcbiAgICBjb25maWc6IFJlc29sdmVkQ29uZmlnLFxuICAgIHNzck5vRXh0ZXJuYWw6IChzdHJpbmcgfCB7IF9fdHlwZTogJ1JlZ0V4cCc7IHNvdXJjZTogc3RyaW5nOyBmbGFnczogc3RyaW5nIH0pW10sXG4gICk6IHZvaWQge1xuICAgIGxldCBiYXNlID0gY29uZmlnLmJhc2UgfHwgJy8nO1xuICAgIGlmICghYmFzZS5lbmRzV2l0aCgnLycpKSBiYXNlICs9ICcvJztcblxuICAgIHRoaXMucGhhc2UzLnJvb3QgPSBjb25maWcucm9vdDtcbiAgICB0aGlzLnBoYXNlMy5vdXREaXIgPSBvcHRpb25zLmJ1aWxkPy5vdXREaXIgfHwgJ2Rpc3QnO1xuICAgIHRoaXMucGhhc2UzLmJhc2UgPSBiYXNlO1xuICAgIHRoaXMucGhhc2UzLnNzck5vRXh0ZXJuYWwgPSBzc3JOb0V4dGVybmFsO1xuICAgIHRoaXMucGhhc2UzLnJvdXRlc0RpciA9IG9wdGlvbnMucm91dGVzRGlyIHx8ICdhcHAvcm91dGVzJztcbiAgICB0aGlzLnBoYXNlMy5pc2xhbmRzRGlyID0gb3B0aW9ucy5pc2xhbmRzRGlyIHx8ICdhcHAvaXNsYW5kcyc7XG4gICAgdGhpcy5waGFzZTMuY29tcG9uZW50c0RpciA9IG9wdGlvbnMuY29tcG9uZW50c0RpciB8fCAnYXBwL2NvbXBvbmVudHMnO1xuICAgIHRoaXMucGhhc2UzLm1pZGRsZXdhcmUgPSBvcHRpb25zLm1pZGRsZXdhcmUgfHwgbnVsbDtcbiAgICB0aGlzLnBoYXNlMy5odG1sID0gb3B0aW9ucy5odG1sIHx8IG51bGw7XG4gICAgdGhpcy5waGFzZTMudXBncmFkZVN0cmF0ZWd5ID0gb3B0aW9ucy5pc2xhbmQ/LnVwZ3JhZGVTdHJhdGVneSB8fCAnaWRsZSc7XG4gICAgdGhpcy5waGFzZTMudmlld1RyYW5zaXRpb24gPSBvcHRpb25zLnZpZXdUcmFuc2l0aW9uID8/IHRydWU7XG4gICAgdGhpcy5waGFzZTMuc3BlY3VsYXRpb24gPSBvcHRpb25zLnNwZWN1bGF0aW9uID8/IG51bGw7XG4gICAgdGhpcy5waGFzZTMuaGVhZEV4dHJhcyA9IG9wdGlvbnMuaGVhZEV4dHJhcyB8fCAnJztcbiAgICB0aGlzLnBoYXNlMy5hbGxvd0hlYWRFeHRyYXNTY3JpcHRzID0gb3B0aW9ucy5hbGxvd0hlYWRFeHRyYXNTY3JpcHRzIHx8IGZhbHNlO1xuICAgIHRoaXMucGhhc2UzLmFwcFNoZWxsID0gb3B0aW9ucy5hcHBTaGVsbDtcbiAgICB0aGlzLnBoYXNlMy5sYXlvdXRzID0gb3B0aW9ucy5sYXlvdXRzO1xuICB9XG5cbiAgLyoqIFJldHVybiBhIHJlYWQtb25seSB2aWV3IG9mIFBoYXNlIDMgbWV0YWRhdGEuICovXG4gIGdldFBoYXNlM01ldGEoKTogUmVhZG9ubHk8UGhhc2UzTWV0YT4ge1xuICAgIHJldHVybiB0aGlzLnBoYXNlMztcbiAgfVxuXG4gIC8qKiBSZXNldCBhbGwgbXV0YWJsZSBzdGF0ZSAoZm9yIHdhdGNoIG1vZGUgLyB0ZXN0aW5nKSAqL1xuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBsZXRlZC5jbGVhcigpO1xuXG4gICAgY29uc3QgdXNlclJlc29sdmVBbGlhcyA9IHRoaXMucGhhc2UxLnVzZXJSZXNvbHZlQWxpYXM7XG4gICAgLy8gTk9URTogdXNlclJlc29sdmVBbGlhcyBpcyBOT1QgcmVzZXQgLSBpdCdzIHVzZXIgY29uZmlndXJhdGlvbiwgbm90XG4gICAgLy8gYnVpbGQgc3RhdGUuIEl0J3Mgc2V0IGluIGNvbmZpZygpL2NvbmZpZ1Jlc29sdmVkKCkgYW5kIG11c3QgcGVyc2lzdFxuICAgIC8vIHRocm91Z2ggYnVpbGRTdGFydCgpIGZvciBQaGFzZSAyIGFuZCAzIHRvIHVzZS5cbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGhhc2UxLCBuZXcgUGhhc2UxTWV0YSgpLCB7IHVzZXJSZXNvbHZlQWxpYXMgfSk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnBoYXNlMiwgbmV3IFBoYXNlMk1ldGEoKSk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnBoYXNlMywgbmV3IFBoYXNlM01ldGEoKSk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnBsdWdpbnMsIHtcbiAgICAgIGJsb2dPcHRpb25zOiBudWxsLFxuICAgICAgbmF2U2VjdGlvbnM6IFtdLFxuICAgICAgaGVhZGVyTmF2OiBbXSxcbiAgICAgIHNpdGVtYXBPcHRpb25zOiBudWxsLFxuICAgICAgaTE4bk9wdGlvbnM6IG51bGwsXG4gICAgfSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpQkMsR0FrQkQsT0FBTyxNQUFNO0VBQ1gsa0VBQWtFLEdBQ2xFLGdCQUF3QixHQUFHO0VBRTNCLG1FQUFtRSxHQUNuRSxlQUE2QixFQUFFLENBQUM7RUFFaEMsc0VBQXNFLEdBQ3RFLGlCQUEyQixFQUFFLENBQUM7RUFFOUIsMENBQTBDLEdBQzFDLGNBQXdCLEVBQUUsQ0FBQztFQUUzQiwrQ0FBK0MsR0FDL0MsYUFBa0QsQ0FBQyxFQUFFO0VBRXJELHVEQUF1RCxHQUN2RCxtQkFBaUQsRUFBRSxDQUFDO0VBRXBELHlEQUF5RCxHQUN6RCxxQkFBbUMsRUFBRSxDQUFDO0VBRXRDLDZEQUE2RCxHQUM3RCxtQkFBNEMsS0FBSztFQUVqRCw0RUFBNEUsR0FDNUUscUJBQW9ELEVBQUUsQ0FBQztFQUV2RCwrQ0FBK0MsR0FDL0MsaUJBQTBCLE1BQU07RUFFaEMsc0RBQXNELEdBQ3RELGlCQUF3QyxLQUFLO0VBRTdDLHVEQUF1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
@@ -4,12 +4,13 @@
4
4
  * Reads Deno workspace deno.json exports and generates
5
5
  * Vite resolve.alias entries. Uses sync Deno APIs so it
6
6
  * can run in synchronous plugin hooks (config, configResolved).
7
- */ import { resolve } from 'node:path';
7
+ */ import { readFileSync } from 'node:fs';
8
+ import { resolve } from 'node:path';
8
9
  function tryReadJson(path) {
9
10
  try {
10
11
  // H-12 fix: Use platform-appropriate file reading API
11
12
  // Deno.readTextFileSync in Deno environments, node:fs in Node.js (Vite)
12
- const content = typeof Deno !== 'undefined' ? Deno.readTextFileSync(path) : require('node:fs').readFileSync(path, 'utf-8');
13
+ const content = typeof Deno !== 'undefined' ? Deno.readTextFileSync(path) : readFileSync(path, 'utf-8');
13
14
  // deno.json files may contain comments - strip them before JSON.parse.
14
15
  // Naive regex breaks URLs (https:// -> https:), so we walk character by character,
15
16
  // tracking whether we're inside a string literal.
@@ -109,4 +110,4 @@ function tryReadJson(path) {
109
110
  }
110
111
  return aliases;
111
112
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hZGFwdGVyLXZpdGUvc3JjL3dvcmtzcGFjZS1hbGlhcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBvcGVuZWxlbWVudC9hZGFwdGVyLXZpdGUgLSBXb3Jrc3BhY2UgYWxpYXMgYXV0by1nZW5lcmF0aW9uXG4gKlxuICogUmVhZHMgRGVubyB3b3Jrc3BhY2UgZGVuby5qc29uIGV4cG9ydHMgYW5kIGdlbmVyYXRlc1xuICogVml0ZSByZXNvbHZlLmFsaWFzIGVudHJpZXMuIFVzZXMgc3luYyBEZW5vIEFQSXMgc28gaXRcbiAqIGNhbiBydW4gaW4gc3luY2hyb25vdXMgcGx1Z2luIGhvb2tzIChjb25maWcsIGNvbmZpZ1Jlc29sdmVkKS5cbiAqL1xuXG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSAnbm9kZTpwYXRoJztcblxuZXhwb3J0IGludGVyZmFjZSBBbGlhc0VudHJ5IHtcbiAgZmluZDogc3RyaW5nO1xuICByZXBsYWNlbWVudDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiB0cnlSZWFkSnNvbihwYXRoOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwge1xuICB0cnkge1xuICAgIC8vIEgtMTIgZml4OiBVc2UgcGxhdGZvcm0tYXBwcm9wcmlhdGUgZmlsZSByZWFkaW5nIEFQSVxuICAgIC8vIERlbm8ucmVhZFRleHRGaWxlU3luYyBpbiBEZW5vIGVudmlyb25tZW50cywgbm9kZTpmcyBpbiBOb2RlLmpzIChWaXRlKVxuICAgIGNvbnN0IGNvbnRlbnQgPSB0eXBlb2YgRGVubyAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgID8gRGVuby5yZWFkVGV4dEZpbGVTeW5jKHBhdGgpXG4gICAgICA6IHJlcXVpcmUoJ25vZGU6ZnMnKS5yZWFkRmlsZVN5bmMocGF0aCwgJ3V0Zi04Jyk7XG4gICAgLy8gZGVuby5qc29uIGZpbGVzIG1heSBjb250YWluIGNvbW1lbnRzIC0gc3RyaXAgdGhlbSBiZWZvcmUgSlNPTi5wYXJzZS5cbiAgICAvLyBOYWl2ZSByZWdleCBicmVha3MgVVJMcyAoaHR0cHM6Ly8gLT4gaHR0cHM6KSwgc28gd2Ugd2FsayBjaGFyYWN0ZXIgYnkgY2hhcmFjdGVyLFxuICAgIC8vIHRyYWNraW5nIHdoZXRoZXIgd2UncmUgaW5zaWRlIGEgc3RyaW5nIGxpdGVyYWwuXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGxldCBpblN0cmluZyA9IGZhbHNlO1xuICAgIGxldCBlc2NhcGUgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRlbnQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoID0gY29udGVudFtpXTtcbiAgICAgIGlmIChlc2NhcGUpIHtcbiAgICAgICAgcmVzdWx0ICs9IGNoO1xuICAgICAgICBlc2NhcGUgPSBmYWxzZTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoY2ggPT09ICdcXFxcJykge1xuICAgICAgICByZXN1bHQgKz0gY2g7XG4gICAgICAgIGVzY2FwZSA9IHRydWU7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGNoID09PSAnXCInKSB7XG4gICAgICAgIGluU3RyaW5nID0gIWluU3RyaW5nO1xuICAgICAgICByZXN1bHQgKz0gY2g7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFpblN0cmluZyAmJiBjaCA9PT0gJy8nICYmIGNvbnRlbnRbaSArIDFdID09PSAnLycpIHtcbiAgICAgICAgLy8gU2tpcCB1bnRpbCBlbmQgb2YgbGluZVxuICAgICAgICB3aGlsZSAoaSA8IGNvbnRlbnQubGVuZ3RoICYmIGNvbnRlbnRbaV0gIT09ICdcXG4nKSBpKys7XG4gICAgICAgIHJlc3VsdCArPSAnXFxuJztcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoIWluU3RyaW5nICYmIGNoID09PSAnLycgJiYgY29udGVudFtpICsgMV0gPT09ICcqJykge1xuICAgICAgICAvLyBTa2lwIHVudGlsICovXG4gICAgICAgIGkgKz0gMjtcbiAgICAgICAgd2hpbGUgKGkgPCBjb250ZW50Lmxlbmd0aCAmJiAhKGNvbnRlbnRbaV0gPT09ICcqJyAmJiBjb250ZW50W2kgKyAxXSA9PT0gJy8nKSkgaSsrO1xuICAgICAgICBpKys7IC8vIHNraXAgcGFzdCAqL1xuICAgICAgICByZXN1bHQgKz0gJyAnO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHJlc3VsdCArPSBjaDtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0KTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBXYWxrIHVwIGZyb20gc3RhcnREaXIgdG8gZmluZCBhIGRlbm8uanNvbiB3aXRoIGEgXCJ3b3Jrc3BhY2VcIiBmaWVsZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRXb3Jrc3BhY2VSb290KHN0YXJ0RGlyOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgbGV0IGRpciA9IHJlc29sdmUoc3RhcnREaXIpO1xuICBjb25zdCBmc1Jvb3QgPSByZXNvbHZlKCcvJyk7XG4gIHdoaWxlIChkaXIgIT09IGZzUm9vdCAmJiBkaXIgIT09IHJlc29sdmUoZGlyLCAnLi4nKSkge1xuICAgIGNvbnN0IGNmZyA9IHRyeVJlYWRKc29uKHJlc29sdmUoZGlyLCAnZGVuby5qc29uJykpO1xuICAgIGlmIChjZmc/LndvcmtzcGFjZSAmJiBBcnJheS5pc0FycmF5KGNmZy53b3Jrc3BhY2UpKSByZXR1cm4gZGlyO1xuICAgIGRpciA9IHJlc29sdmUoZGlyLCAnLi4nKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBWaXRlIHJlc29sdmUuYWxpYXMgZnJvbSB3b3Jrc3BhY2UgcGFja2FnZXMnIGRlbm8uanNvbiBleHBvcnRzLlxuICogU3VicGF0aCBhbGlhc2VzIGNvbWUgYmVmb3JlIHBhcmVudCAoVml0ZSBwcmVmaXggbWF0Y2hpbmcgcnVsZSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdvcmtzcGFjZUFsaWFzZXMod29ya3NwYWNlUm9vdDogc3RyaW5nKTogQWxpYXNFbnRyeVtdIHtcbiAgY29uc3Qgcm9vdENmZyA9IHRyeVJlYWRKc29uKHJlc29sdmUod29ya3NwYWNlUm9vdCwgJ2Rlbm8uanNvbicpKTtcbiAgaWYgKCFyb290Q2ZnKSByZXR1cm4gW107XG5cbiAgY29uc3QgbWVtYmVyczogc3RyaW5nW10gPSAocm9vdENmZy53b3Jrc3BhY2UgYXMgc3RyaW5nW10pIHx8IFtdO1xuICBjb25zdCBhbGlhc2VzOiBBbGlhc0VudHJ5W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IG1lbWJlciBvZiBtZW1iZXJzKSB7XG4gICAgY29uc3QgbWVtYmVyRGlyID0gcmVzb2x2ZSh3b3Jrc3BhY2VSb290LCBtZW1iZXIpO1xuICAgIGNvbnN0IG1lbWJlckNmZyA9IHRyeVJlYWRKc29uKHJlc29sdmUobWVtYmVyRGlyLCAnZGVuby5qc29uJykpO1xuICAgIGlmICghbWVtYmVyQ2ZnKSBjb250aW51ZTtcblxuICAgIGNvbnN0IG5hbWUgPSBtZW1iZXJDZmcubmFtZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgZXhwb3J0cyA9IG1lbWJlckNmZy5leHBvcnRzIGFzXG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIW5hbWUgfHwgIWV4cG9ydHMpIGNvbnRpbnVlO1xuXG4gICAgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnc3RyaW5nJykge1xuICAgICAgYWxpYXNlcy5wdXNoKHsgZmluZDogbmFtZSwgcmVwbGFjZW1lbnQ6IHJlc29sdmUobWVtYmVyRGlyLCBleHBvcnRzKSB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIFN1YnBhdGggYWxpYXNlcyBmaXJzdCAoVml0ZSBwcmVmaXggbWF0Y2hpbmcpXG4gICAgZm9yIChjb25zdCBbZXhwb3J0UGF0aCwgc291cmNlUGF0aF0gb2YgT2JqZWN0LmVudHJpZXMoZXhwb3J0cykpIHtcbiAgICAgIGlmIChleHBvcnRQYXRoID09PSAnLicpIGNvbnRpbnVlO1xuICAgICAgY29uc3Qgc3VicGF0aCA9IGV4cG9ydFBhdGgucmVwbGFjZSgvXlxcLlxcLy8sICcvJyk7XG4gICAgICBhbGlhc2VzLnB1c2goe1xuICAgICAgICBmaW5kOiBgJHtuYW1lfSR7c3VicGF0aH1gLFxuICAgICAgICByZXBsYWNlbWVudDogcmVzb2x2ZShtZW1iZXJEaXIsIHNvdXJjZVBhdGggYXMgc3RyaW5nKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBQYXJlbnQgYWxpYXMgbGFzdC4gU3VicGF0aCBhbGlhc2VzIGFib3ZlIGFscmVhZHkgaGFuZGxlIGV2ZXJ5IGV4cG9ydGVkXG4gICAgLy8gc3VicGF0aCwgc28gYSBkaXJlY3QgaW1wb3J0IG9mIHRoZSBwYWNrYWdlIG5hbWUgcmVzb2x2ZXMgdG8gdGhlIFwiLi9cIlxuICAgIC8vIGV4cG9ydCBlbnRyeSB3aXRob3V0IGZhbGxpbmcgdGhyb3VnaCB0byBkaXJlY3RvcnktaW5kZXggaGV1cmlzdGljcy5cbiAgICBpZiAoZXhwb3J0c1snLiddKSB7XG4gICAgICBhbGlhc2VzLnB1c2goe1xuICAgICAgICBmaW5kOiBuYW1lLFxuICAgICAgICByZXBsYWNlbWVudDogcmVzb2x2ZShtZW1iZXJEaXIsIGV4cG9ydHNbJy4nXSBhcyBzdHJpbmcpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbGlhc2VzO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Q0FNQyxHQUVELFNBQVMsT0FBTyxRQUFRLFlBQVk7QUFPcEMsU0FBUyxZQUFZLElBQVk7RUFDL0IsSUFBSTtJQUNGLHNEQUFzRDtJQUN0RCx3RUFB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
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hZGFwdGVyLXZpdGUvc3JjL3dvcmtzcGFjZS1hbGlhcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBvcGVuZWxlbWVudC9hZGFwdGVyLXZpdGUgLSBXb3Jrc3BhY2UgYWxpYXMgYXV0by1nZW5lcmF0aW9uXG4gKlxuICogUmVhZHMgRGVubyB3b3Jrc3BhY2UgZGVuby5qc29uIGV4cG9ydHMgYW5kIGdlbmVyYXRlc1xuICogVml0ZSByZXNvbHZlLmFsaWFzIGVudHJpZXMuIFVzZXMgc3luYyBEZW5vIEFQSXMgc28gaXRcbiAqIGNhbiBydW4gaW4gc3luY2hyb25vdXMgcGx1Z2luIGhvb2tzIChjb25maWcsIGNvbmZpZ1Jlc29sdmVkKS5cbiAqL1xuXG5pbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsaWFzRW50cnkge1xuICBmaW5kOiBzdHJpbmc7XG4gIHJlcGxhY2VtZW50OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHRyeVJlYWRKc29uKHBhdGg6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgLy8gSC0xMiBmaXg6IFVzZSBwbGF0Zm9ybS1hcHByb3ByaWF0ZSBmaWxlIHJlYWRpbmcgQVBJXG4gICAgLy8gRGVuby5yZWFkVGV4dEZpbGVTeW5jIGluIERlbm8gZW52aXJvbm1lbnRzLCBub2RlOmZzIGluIE5vZGUuanMgKFZpdGUpXG4gICAgY29uc3QgY29udGVudCA9IHR5cGVvZiBEZW5vICE9PSAndW5kZWZpbmVkJ1xuICAgICAgPyBEZW5vLnJlYWRUZXh0RmlsZVN5bmMocGF0aClcbiAgICAgIDogcmVhZEZpbGVTeW5jKHBhdGgsICd1dGYtOCcpO1xuICAgIC8vIGRlbm8uanNvbiBmaWxlcyBtYXkgY29udGFpbiBjb21tZW50cyAtIHN0cmlwIHRoZW0gYmVmb3JlIEpTT04ucGFyc2UuXG4gICAgLy8gTmFpdmUgcmVnZXggYnJlYWtzIFVSTHMgKGh0dHBzOi8vIC0+IGh0dHBzOiksIHNvIHdlIHdhbGsgY2hhcmFjdGVyIGJ5IGNoYXJhY3RlcixcbiAgICAvLyB0cmFja2luZyB3aGV0aGVyIHdlJ3JlIGluc2lkZSBhIHN0cmluZyBsaXRlcmFsLlxuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgaW5TdHJpbmcgPSBmYWxzZTtcbiAgICBsZXQgZXNjYXBlID0gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250ZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjaCA9IGNvbnRlbnRbaV07XG4gICAgICBpZiAoZXNjYXBlKSB7XG4gICAgICAgIHJlc3VsdCArPSBjaDtcbiAgICAgICAgZXNjYXBlID0gZmFsc2U7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGNoID09PSAnXFxcXCcpIHtcbiAgICAgICAgcmVzdWx0ICs9IGNoO1xuICAgICAgICBlc2NhcGUgPSB0cnVlO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChjaCA9PT0gJ1wiJykge1xuICAgICAgICBpblN0cmluZyA9ICFpblN0cmluZztcbiAgICAgICAgcmVzdWx0ICs9IGNoO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICghaW5TdHJpbmcgJiYgY2ggPT09ICcvJyAmJiBjb250ZW50W2kgKyAxXSA9PT0gJy8nKSB7XG4gICAgICAgIC8vIFNraXAgdW50aWwgZW5kIG9mIGxpbmVcbiAgICAgICAgd2hpbGUgKGkgPCBjb250ZW50Lmxlbmd0aCAmJiBjb250ZW50W2ldICE9PSAnXFxuJykgaSsrO1xuICAgICAgICByZXN1bHQgKz0gJ1xcbic7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFpblN0cmluZyAmJiBjaCA9PT0gJy8nICYmIGNvbnRlbnRbaSArIDFdID09PSAnKicpIHtcbiAgICAgICAgLy8gU2tpcCB1bnRpbCAqL1xuICAgICAgICBpICs9IDI7XG4gICAgICAgIHdoaWxlIChpIDwgY29udGVudC5sZW5ndGggJiYgIShjb250ZW50W2ldID09PSAnKicgJiYgY29udGVudFtpICsgMV0gPT09ICcvJykpIGkrKztcbiAgICAgICAgaSsrOyAvLyBza2lwIHBhc3QgKi9cbiAgICAgICAgcmVzdWx0ICs9ICcgJztcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICByZXN1bHQgKz0gY2g7XG4gICAgfVxuICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogV2FsayB1cCBmcm9tIHN0YXJ0RGlyIHRvIGZpbmQgYSBkZW5vLmpzb24gd2l0aCBhIFwid29ya3NwYWNlXCIgZmllbGQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kV29ya3NwYWNlUm9vdChzdGFydERpcjogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGxldCBkaXIgPSByZXNvbHZlKHN0YXJ0RGlyKTtcbiAgY29uc3QgZnNSb290ID0gcmVzb2x2ZSgnLycpO1xuICB3aGlsZSAoZGlyICE9PSBmc1Jvb3QgJiYgZGlyICE9PSByZXNvbHZlKGRpciwgJy4uJykpIHtcbiAgICBjb25zdCBjZmcgPSB0cnlSZWFkSnNvbihyZXNvbHZlKGRpciwgJ2Rlbm8uanNvbicpKTtcbiAgICBpZiAoY2ZnPy53b3Jrc3BhY2UgJiYgQXJyYXkuaXNBcnJheShjZmcud29ya3NwYWNlKSkgcmV0dXJuIGRpcjtcbiAgICBkaXIgPSByZXNvbHZlKGRpciwgJy4uJyk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgVml0ZSByZXNvbHZlLmFsaWFzIGZyb20gd29ya3NwYWNlIHBhY2thZ2VzJyBkZW5vLmpzb24gZXhwb3J0cy5cbiAqIFN1YnBhdGggYWxpYXNlcyBjb21lIGJlZm9yZSBwYXJlbnQgKFZpdGUgcHJlZml4IG1hdGNoaW5nIHJ1bGUpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXb3Jrc3BhY2VBbGlhc2VzKHdvcmtzcGFjZVJvb3Q6IHN0cmluZyk6IEFsaWFzRW50cnlbXSB7XG4gIGNvbnN0IHJvb3RDZmcgPSB0cnlSZWFkSnNvbihyZXNvbHZlKHdvcmtzcGFjZVJvb3QsICdkZW5vLmpzb24nKSk7XG4gIGlmICghcm9vdENmZykgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IG1lbWJlcnM6IHN0cmluZ1tdID0gKHJvb3RDZmcud29ya3NwYWNlIGFzIHN0cmluZ1tdKSB8fCBbXTtcbiAgY29uc3QgYWxpYXNlczogQWxpYXNFbnRyeVtdID0gW107XG5cbiAgZm9yIChjb25zdCBtZW1iZXIgb2YgbWVtYmVycykge1xuICAgIGNvbnN0IG1lbWJlckRpciA9IHJlc29sdmUod29ya3NwYWNlUm9vdCwgbWVtYmVyKTtcbiAgICBjb25zdCBtZW1iZXJDZmcgPSB0cnlSZWFkSnNvbihyZXNvbHZlKG1lbWJlckRpciwgJ2Rlbm8uanNvbicpKTtcbiAgICBpZiAoIW1lbWJlckNmZykgY29udGludWU7XG5cbiAgICBjb25zdCBuYW1lID0gbWVtYmVyQ2ZnLm5hbWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGV4cG9ydHMgPSBtZW1iZXJDZmcuZXhwb3J0cyBhc1xuICAgICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICB8IHN0cmluZ1xuICAgICAgfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFuYW1lIHx8ICFleHBvcnRzKSBjb250aW51ZTtcblxuICAgIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGFsaWFzZXMucHVzaCh7IGZpbmQ6IG5hbWUsIHJlcGxhY2VtZW50OiByZXNvbHZlKG1lbWJlckRpciwgZXhwb3J0cykgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBTdWJwYXRoIGFsaWFzZXMgZmlyc3QgKFZpdGUgcHJlZml4IG1hdGNoaW5nKVxuICAgIGZvciAoY29uc3QgW2V4cG9ydFBhdGgsIHNvdXJjZVBhdGhdIG9mIE9iamVjdC5lbnRyaWVzKGV4cG9ydHMpKSB7XG4gICAgICBpZiAoZXhwb3J0UGF0aCA9PT0gJy4nKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHN1YnBhdGggPSBleHBvcnRQYXRoLnJlcGxhY2UoL15cXC5cXC8vLCAnLycpO1xuICAgICAgYWxpYXNlcy5wdXNoKHtcbiAgICAgICAgZmluZDogYCR7bmFtZX0ke3N1YnBhdGh9YCxcbiAgICAgICAgcmVwbGFjZW1lbnQ6IHJlc29sdmUobWVtYmVyRGlyLCBzb3VyY2VQYXRoIGFzIHN0cmluZyksXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gUGFyZW50IGFsaWFzIGxhc3QuIFN1YnBhdGggYWxpYXNlcyBhYm92ZSBhbHJlYWR5IGhhbmRsZSBldmVyeSBleHBvcnRlZFxuICAgIC8vIHN1YnBhdGgsIHNvIGEgZGlyZWN0IGltcG9ydCBvZiB0aGUgcGFja2FnZSBuYW1lIHJlc29sdmVzIHRvIHRoZSBcIi4vXCJcbiAgICAvLyBleHBvcnQgZW50cnkgd2l0aG91dCBmYWxsaW5nIHRocm91Z2ggdG8gZGlyZWN0b3J5LWluZGV4IGhldXJpc3RpY3MuXG4gICAgaWYgKGV4cG9ydHNbJy4nXSkge1xuICAgICAgYWxpYXNlcy5wdXNoKHtcbiAgICAgICAgZmluZDogbmFtZSxcbiAgICAgICAgcmVwbGFjZW1lbnQ6IHJlc29sdmUobWVtYmVyRGlyLCBleHBvcnRzWycuJ10gYXMgc3RyaW5nKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpYXNlcztcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FFRCxTQUFTLFlBQVksUUFBUSxVQUFVO0FBQ3ZDLFNBQVMsT0FBTyxRQUFRLFlBQVk7QUFPcEMs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