cdklabs-projen-project-types 0.2.3 → 0.2.4

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/API.md CHANGED
@@ -15022,8 +15022,6 @@ const cdkConstructLibraryOptions: CdkConstructLibraryOptions = { ... }
15022
15022
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
15023
15023
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
15024
15024
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
15025
- | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.depsUpgrade">depsUpgrade</a></code> | <code>boolean</code> | Use tasks and github workflows to handle dependency upgrades. |
15026
- | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.depsUpgradeOptions">depsUpgradeOptions</a></code> | <code>projen.javascript.UpgradeDependenciesOptions</code> | Options for `UpgradeDependencies`. |
15027
15025
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.description">description</a></code> | <code>string</code> | The description is just a string that helps people understand the purpose of the package. |
15028
15026
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
15029
15027
  | <code><a href="#cdklabs-projen-project-types.CdkConstructLibraryOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | Build dependencies for this module. |
@@ -15871,34 +15869,6 @@ this will be what you `package.json` will eventually include.
15871
15869
 
15872
15870
  ---
15873
15871
 
15874
- ##### `depsUpgrade`<sup>Optional</sup> <a name="depsUpgrade" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.depsUpgrade"></a>
15875
-
15876
- ```typescript
15877
- public readonly depsUpgrade: boolean;
15878
- ```
15879
-
15880
- - *Type:* boolean
15881
- - *Default:* true
15882
-
15883
- Use tasks and github workflows to handle dependency upgrades.
15884
-
15885
- Cannot be used in conjunction with `dependabot`.
15886
-
15887
- ---
15888
-
15889
- ##### `depsUpgradeOptions`<sup>Optional</sup> <a name="depsUpgradeOptions" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.depsUpgradeOptions"></a>
15890
-
15891
- ```typescript
15892
- public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
15893
- ```
15894
-
15895
- - *Type:* projen.javascript.UpgradeDependenciesOptions
15896
- - *Default:* default options
15897
-
15898
- Options for `UpgradeDependencies`.
15899
-
15900
- ---
15901
-
15902
15872
  ##### `description`<sup>Optional</sup> <a name="description" id="cdklabs-projen-project-types.CdkConstructLibraryOptions.property.description"></a>
15903
15873
 
15904
15874
  ```typescript
@@ -20505,8 +20475,6 @@ const cdklabsConstructLibraryOptions: CdklabsConstructLibraryOptions = { ... }
20505
20475
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.dependabot">dependabot</a></code> | <code>boolean</code> | Use dependabot to handle dependency upgrades. |
20506
20476
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.dependabotOptions">dependabotOptions</a></code> | <code>projen.github.DependabotOptions</code> | Options for dependabot. |
20507
20477
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.deps">deps</a></code> | <code>string[]</code> | Runtime dependencies of this module. |
20508
- | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.depsUpgrade">depsUpgrade</a></code> | <code>boolean</code> | Use tasks and github workflows to handle dependency upgrades. |
20509
- | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.depsUpgradeOptions">depsUpgradeOptions</a></code> | <code>projen.javascript.UpgradeDependenciesOptions</code> | Options for `UpgradeDependencies`. |
20510
20478
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.description">description</a></code> | <code>string</code> | The description is just a string that helps people understand the purpose of the package. |
20511
20479
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.devContainer">devContainer</a></code> | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces). |
20512
20480
  | <code><a href="#cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.devDeps">devDeps</a></code> | <code>string[]</code> | Build dependencies for this module. |
@@ -21356,34 +21324,6 @@ this will be what you `package.json` will eventually include.
21356
21324
 
21357
21325
  ---
21358
21326
 
21359
- ##### `depsUpgrade`<sup>Optional</sup> <a name="depsUpgrade" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.depsUpgrade"></a>
21360
-
21361
- ```typescript
21362
- public readonly depsUpgrade: boolean;
21363
- ```
21364
-
21365
- - *Type:* boolean
21366
- - *Default:* true
21367
-
21368
- Use tasks and github workflows to handle dependency upgrades.
21369
-
21370
- Cannot be used in conjunction with `dependabot`.
21371
-
21372
- ---
21373
-
21374
- ##### `depsUpgradeOptions`<sup>Optional</sup> <a name="depsUpgradeOptions" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.depsUpgradeOptions"></a>
21375
-
21376
- ```typescript
21377
- public readonly depsUpgradeOptions: UpgradeDependenciesOptions;
21378
- ```
21379
-
21380
- - *Type:* projen.javascript.UpgradeDependenciesOptions
21381
- - *Default:* default options
21382
-
21383
- Options for `UpgradeDependencies`.
21384
-
21385
- ---
21386
-
21387
21327
  ##### `description`<sup>Optional</sup> <a name="description" id="cdklabs-projen-project-types.CdklabsConstructLibraryOptions.property.description"></a>
21388
21328
 
21389
21329
  ```typescript
@@ -348,5 +348,5 @@ class CdkCliIntegTestsWorkflow extends projen_1.Component {
348
348
  }
349
349
  exports.CdkCliIntegTestsWorkflow = CdkCliIntegTestsWorkflow;
350
350
  _a = JSII_RTTI_SYMBOL_1;
351
- CdkCliIntegTestsWorkflow[_a] = { fqn: "cdklabs-projen-project-types.CdkCliIntegTestsWorkflow", version: "0.2.3" };
351
+ CdkCliIntegTestsWorkflow[_a] = { fqn: "cdklabs-projen-project-types.CdkCliIntegTestsWorkflow", version: "0.2.4" };
352
352
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNsaS1pbnRlZy10ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZGstY2xpLWludGVnLXRlc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQXVEO0FBRXZELE1BQU0sZ0JBQWdCLEdBQUcsNEVBQTRFLENBQUM7QUFtRHRHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0gsTUFBYSx3QkFBeUIsU0FBUSxrQkFBUztJQUNyRCxZQUFZLElBQTRCLEVBQUUsS0FBb0M7UUFDNUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0MsYUFBcUIsQ0FBQyxRQUFrQyxDQUFDO1FBRTNELEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN4RixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbEIsaUJBQWlCLEVBQUU7Z0JBQ2pCLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQzthQUNuQjtZQUNELG9FQUFvRTtZQUNwRSxVQUFVLEVBQUUsRUFBRTtZQUNkLDhDQUE4QztZQUM5QyxnQkFBZ0IsRUFBRSxFQUFF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LGNBQWM7b0JBQzVLLElBQUksRUFBRSxnQ0FBZ0M7b0JBQ3RDLEdBQUcsRUFBRSxRQUFRO2lCQUNkO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWpVSCw0REFrVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGdpdGh1YiwgamF2YXNjcmlwdCB9IGZyb20gJ3Byb2plbic7XG5cbmNvbnN0IE5PVF9GTEFHR0VEX0VYUFIgPSBcIiFjb250YWlucyhnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0LmxhYmVscy4qLm5hbWUsICdwci9leGVtcHQtaW50ZWctdGVzdCcpXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ2xpSW50ZWdUZXN0c1dvcmtmbG93UHJvcHMge1xuICAvKipcbiAgICogUnVubmVycyBmb3IgdGhlIHdvcmtmbG93XG4gICAqL1xuICByZWFkb25seSBidWlsZFJ1bnNPbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSdW5uZXJzIGZvciB0aGUgd29ya2Zsb3dcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RSdW5zT246IHN0cmluZztcblxuICAvKipcbiAgICogR2l0SHViIGVudmlyb25tZW50IG5hbWUgZm9yIGFwcHJvdmFsc1xuICAgKlxuICAgKiBNVVNUIGJlIGNvbmZpZ3VyZWQgdG8gcmVxdWlyZSBtYW51YWwgYXBwcm92YWwuXG4gICAqL1xuICByZWFkb25seSBhcHByb3ZhbEVudmlyb25tZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBlbnZpcm9ubWVudCBuYW1lIGZvciBydW5uaW5nIHRoZSB0ZXN0c1xuICAgKlxuICAgKiBNVVNUIGJlIGNvbmZpZ3VyZWQgd2l0aG91dCBhcHByb3ZhbHMsIGFuZCB3aXRoIHRoZSBmb2xsb3dpbmcgdmFycyBhbmQgc2VjcmV0czpcbiAgICpcbiAgICogLSB2YXJzOiBBV1NfUk9MRV9UT19BU1NVTUVfRk9SX1RFU1RJTkdcbiAgICpcbiAgICogQW5kIHRoZSByb2xlIG5lZWRzIHRvIGJlIGNvbmZpZ3VyZWQgdG8gYWxsb3cgdGhlIEFzc3VtZVJvbGUgb3BlcmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdEVudmlyb25tZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2VzIHRoYXQgYXJlIGxvY2FsbHkgdHJhbnNmZXJlZCAod2Ugd2lsbCBuZXZlciB1c2UgdGhlIHVwc3RyZWFtIHZlcnNpb25zKVxuICAgKlxuICAgKiBUYWtlcyBwYWNrYWdlIG5hbWVzOyB0aGVzZSBhcmUgZXhwZWN0ZWQgdG8gbGl2ZSBpbiBgcGFja2FnZXMvPE5BTUU+L2Rpc3QvanNgLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxQYWNrYWdlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBvZmZpY2lhbCByZXBvIHRoaXMgd29ya2Zsb3cgaXMgdXNlZCBmb3JcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgZ2l2ZW4sIGFsbG93cyBhY2Nlc3NpbmcgdXBzdHJlYW0gdmVyc2lvbnMgb2YgdGhlc2UgcGFja2FnZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyB1cHN0cmVhbSB2ZXJzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dVcHN0cmVhbVZlcnNpb25zPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQWRkIGEgd29ya2Zsb3cgZm9yIHJ1bm5pbmcgdGhlIHRlc3RzXG4gKlxuICogVGhpcyBNVVNUIGJlIGEgc2VwYXJhdGUgd29ya2Zsb3cgdGhhdCBydW5zIGluIHByaXZpbGVnZWQgY29udGV4dC4gV2UgaGF2ZSBhIGNvdXBsZVxuICogb2Ygb3B0aW9uczpcbiAqXG4gKiAtIGB3b3JrZmxvd19ydW5gOiB3ZSBjYW4gdHJpZ2dlciBhIHByaXZpbGVnZWQgd29ya2Zsb3cgcnVuIGFmdGVyIHRoZSB1bnByaXZpbGVnZWRcbiAqICAgYHB1bGxfcmVxdWVzdGAgd29ya2Zsb3cgZmluaXNoZXMgYW5kIHJldXNlIGl0cyBvdXRwdXQgYXJ0aWZhY3RzLiBUaGVcbiAqICAgcHJvYmxlbSBpcyB0aGF0IHRoZSBzZWNvbmQgcnVuIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIHRoZSBQUiBzbyB3ZSB3b3VsZCBuZWVkXG4gKiAgIHRvIHNjcmlwdCBpbiB2aXNpYmlsaXR5IGZvciBhcHByb3ZhbHMgYW5kIHN1Y2Nlc3MgKGJ5IHBvc3RpbmcgY29tbWVudHMsIGZvclxuICogICBleGFtcGxlKVxuICogLSBVc2Ugb25seSBhIGBwdWxsX3JlcXVlc3RfdGFyZ2V0YCB3b3JrZmxvdyBvbiB0aGUgUFI6IHRoaXMgZWl0aGVyIHdvdWxkIHJ1blxuICogICBhIHByaXZpbGVnZWQgd29ya2Zsb3cgb24gYW55IHVzZXIgY29kZSBzdWJtaXNzaW9uIChtaWdodCBiZSBmaW5lIGdpdmVuIHRoZVxuICogICB3b3JrZmxvdydzIGBwZXJtaXNzaW9uc2AsIGJ1dCBJJ20gc3VyZSB0aGlzIHdpbGwgbWFrZSBvdXIgc2VjdXJpdHkgdGVhbSB1bmVhc3lcbiAqICAgYW55d2F5KSwgT1IgdGhpcyB3b3VsZCBtZWFuIGFueSBidWlsZCBuZWVkcyBodW1hbiBjb25maXJtYXRpb24gd2hpY2ggbWVhbnMgc2xvd1xuICogICBmZWVkYmFjay5cbiAqIC0gVXNlIGEgYHB1bGxfcmVxdWVzdGAgZm9yIGEgcmVndWxhciBmYXN0LWZlZWRiYWNrIGJ1aWxkLCBhbmQgYSBzZXBhcmF0ZVxuICogICBgcHVsbF9yZXF1ZXN0X3RhcmdldGAgZm9yIHRoZSBpbnRlZyB0ZXN0cy4gVGhpcyBtZWFucyB3ZSdyZSBidWlsZGluZyB0d2ljZS5cbiAqXG4gKiBVbHRpbWF0ZWx5LCBvdXIgYnVpbGQgaXNuJ3QgaGVhdnkgZW5vdWdoIHRvIHB1dCBpbiBhIGxvdCBvZiBlZmZvcnQgZGVkdXBpbmdcbiAqIGl0LCBzbyB3ZSdsbCBnbyB3aXRoIHRoZSBzaW1wbGVzdCBzb2x1dGlvbiB3aGljaCBpcyB0aGUgbGFzdCBvbmU6IDJcbiAqIGluZGVwZW5kZW50IHdvcmtmbG93cy5cbiAqXG4gKiBwcm9qZW4gZG9lc24ndCBtYWtlIGl0IGVhc3kgdG8gY29weSB0aGUgcmVsZXZhbnQgcGFydHMgb2YgdGhlICdidWlsZCcgd29ya2Zsb3csXG4gKiBzbyB0aGV5J3JlIHVuZm9ydHVuYXRlbHkgZHVwbGljYXRlZCBoZXJlLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrQ2xpSW50ZWdUZXN0c1dvcmtmbG93IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocmVwbzogamF2YXNjcmlwdC5Ob2RlUHJvamVjdCwgcHJvcHM6IENka0NsaUludGVnVGVzdHNXb3JrZmxvd1Byb3BzKSB7XG4gICAgc3VwZXIocmVwbyk7XG5cbiAgICBjb25zdCBidWlsZFdvcmtmbG93ID0gcmVwby5idWlsZFdvcmtmbG93O1xuICAgIGNvbnN0IHJ1blRlc3RzV29ya2Zsb3cgPSByZXBvLmdpdGh1Yj8uYWRkV29ya2Zsb3coJ2ludGVnJyk7XG4gICAgaWYgKCFidWlsZFdvcmtmbG93IHx8ICFydW5UZXN0c1dvcmtmbG93KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGJ1aWxkIGFuZCBydW4gdGVzdHMgd29ya2Zsb3cnKTtcbiAgICB9XG4gICAgKChidWlsZFdvcmtmbG93IGFzIGFueSkud29ya2Zsb3cgYXMgZ2l0aHViLkdpdGh1YldvcmtmbG93KTtcblxuICAgIHByb3BzLmFsbG93VXBzdHJlYW1WZXJzaW9ucz8uZm9yRWFjaCgocGFjaykgPT4ge1xuICAgICAgaWYgKCFwcm9wcy5sb2NhbFBhY2thZ2VzLmluY2x1ZGVzKHBhY2spKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFja2FnZSBpbiBhbGxvd1Vwc3RyZWFtVmVyc2lvbnMgYnV0IG5vdCBpbiBsb2NhbFBhY2thZ2VzOiAke3BhY2t9YCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBydW5UZXN0c1dvcmtmbG93Lm9uKHtcbiAgICAgIHB1bGxSZXF1ZXN0VGFyZ2V0OiB7XG4gICAgICAgIGJyYW5jaGVzOiBbJ21haW4nXSxcbiAgICAgIH0sXG4gICAgICAvLyBOZWVkcyB0byB0cmlnZ2VyIGFuZCByZXBvcnQgc3VjY2VzcyBvbiBtZXJnZSBxdWV1ZSBidWlsZHMgYXMgd2VsbFxuICAgICAgbWVyZ2VHcm91cDoge30sXG4gICAgICAvLyBOZXZlciBodXJ0cyB0byBiZSBhYmxlIHRvIHJ1biB0aGlzIG1hbnVhbGx5XG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSxcbiAgICB9KTtcbiAgICAvLyBUaGUgJ2J1aWxkJyBwYXJ0IHJ1bnMgb24gdGhlICdpbnRlZy1hcHByb3ZhbCcgZW52aXJvbm1lbnQsIHdoaWNoIHJlcXVpcmVzXG4gICAgLy8gYXBwcm92YWwuIFRoZSBhY3R1YWwgcnVucyBhY2Nlc3MgdGhlIHJlYWwgZW52aXJvbm1lbnQsIG5vdCByZXF1aXJpbmcgYXBwcm92YWxcbiAgICAvLyBhbnltb3JlLlxuICAgIC8vXG4gICAgLy8gVGhpcyBpcyBmb3IgMiByZWFzb25zOlxuICAgIC8vIC0gVGhlIGJ1aWxkIGpvYiBpcyB0aGUgZmlyc3Qgb25lIHRoYXQgcnVucy4gVGhhdCBtZWFucyB5b3UgZ2V0IGFza2VkIGFwcHJvdmFsXG4gICAgLy8gICBpbW1lZGlhdGVseSBhZnRlciBwdXNoLCBpbnN0ZWFkIG9mIDUgbWludXRlcyBsYXRlciBhZnRlciB0aGUgYnVpbGQgY29tcGxldGVzLlxuICAgIC8vIC0gVGhlIGJ1aWxkIGpvYiBpcyBvbmx5IG9uZSBqb2IsIHZlcnN1cyB0aGUgdGVzdHMgd2hpY2ggYXJlIGEgbWF0cml4IGJ1aWxkLlxuICAgIC8vICAgSWYgdGhlIG1hdHJpeCB0ZXN0IGpvYiBuZWVkcyBhcHByb3ZhbCwgdGhlIFB1bGwgUmVxdWVzdCB0aW1lbGluZSBnZXRzIHNwYW1tZWRcbiAgICAvLyAgIHdpdGggYW4gYXBwcm92YWwgcmVxdWVzdCBmb3IgZXZlcnkgaW5kaXZpZHVhbCBydW4uXG4gICAgY29uc3QgSk9CX1BSRVBBUkUgPSAncHJlcGFyZSc7XG4gICAgcnVuVGVzdHNXb3JrZmxvdy5hZGRKb2IoSk9CX1BSRVBBUkUsIHtcbiAgICAgIGVudmlyb25tZW50OiBwcm9wcy5hcHByb3ZhbEVudmlyb25tZW50LFxuICAgICAgcnVuc09uOiBbcHJvcHMuYnVpbGRSdW5zT25dLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSxcbiAgICAgIGVudjoge1xuICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgfSxcbiAgICAgIC8vIERvbid0IHJ1biBhZ2FpbiBvbiB0aGUgbWVyZ2UgcXVldWUsIHdlIGFscmVhZHkgZ290IGNvbmZpcm1hdGlvbiB0aGF0IGl0IHdvcmtzIGFuZCB0aGVcbiAgICAgIC8vIHRlc3RzIGFyZSBxdWl0ZSBleHBlbnNpdmUuXG4gICAgICBpZjogYGdpdGh1Yi5ldmVudF9uYW1lICE9ICdtZXJnZV9ncm91cCcgJiYgJHtOT1RfRkxBR0dFRF9FWFBSfWAsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2NCcsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgLy8gSU1QT1JUQU5UISBUaGlzIG11c3QgYmUgYGhlYWQuc2hhYCBub3QgYGhlYWQucmVmYCwgb3RoZXJ3aXNlIHdlXG4gICAgICAgICAgICAvLyBhcmUgdnVsbmVyYWJsZSB0byBhIFRPQ1RPVSBhdHRhY2suXG4gICAgICAgICAgICByZWY6ICcke3sgZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC5oZWFkLnNoYSB9fScsXG4gICAgICAgICAgICByZXBvc2l0b3J5OiAnJHt7IGdpdGh1Yi5ldmVudC5wdWxsX3JlcXVlc3QuaGVhZC5yZXBvLmZ1bGxfbmFtZSB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gV2UgdXNlZCB0byBmZXRjaCB0YWdzIGZyb20gdGhlIHJlcG8gdXNpbmcgJ2NoZWNrb3V0JywgYnV0IGlmIGl0J3MgYSBmb3JrXG4gICAgICAgIC8vIHRoZSB0YWdzIHdvbid0IGJlIHRoZXJlLCBzbyB3ZSBoYXZlIHRvIGZldGNoIHRoZW0gZnJvbSB1cHN0cmVhbS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gVGhlIHRhZ3MgYXJlIG5lY2Vzc2FyeSB0byByZWFsaXN0aWNhbGx5IGJ1bXAgdmVyc2lvbnNcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdGZXRjaCB0YWdzIGZyb20gb3JpZ2luIHJlcG8nLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgLy8gQ2FuIGJlIGVpdGhlciBhd3MvYXdzLWNkay1jbGkgb3IgYXdzL2F3cy1jZGstY2xpLXRlc3RpbmdcbiAgICAgICAgICAgIC8vIChNdXN0IGNsb25lIG92ZXIgSFRUUFMgYmVjYXVzZSB3ZSBoYXZlIG5vIFNTSCBhdXRoIHNldCB1cClcbiAgICAgICAgICAgIGBnaXQgcmVtb3RlIGFkZCB1cHN0cmVhbSBodHRwczovL2dpdGh1Yi5jb20vJHtwcm9wcy5zb3VyY2VSZXBvfS5naXRgLFxuICAgICAgICAgICAgJ2dpdCBmZXRjaCB1cHN0cmVhbSBcXCdyZWZzL3RhZ3MvKjpyZWZzL3RhZ3MvKlxcJycsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1ub2RlQHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogJ2x0cy8qJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0luc3RhbGwgZGVwZW5kZW5jaWVzJyxcbiAgICAgICAgICBydW46ICd5YXJuIGluc3RhbGwgLS1jaGVjay1maWxlcycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQnVtcCB0byByZWFsaXN0aWMgdmVyc2lvbnMnLFxuICAgICAgICAgIHJ1bjogJ3lhcm4gd29ya3NwYWNlcyBydW4gYnVtcCcsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBURVNUSU5HX0NBTkRJREFURTogJ3RydWUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYnVpbGQnLFxuICAgICAgICAgIHJ1bjogJ25weCBwcm9qZW4gYnVpbGQnLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgdG8gcHJldmVudCBwcm9qZW4gZnJvbSByZXNldHRpbmcgdGhlIHZlcnNpb24gbnVtYmVycyB0b1xuICAgICAgICAgICAgLy8gMC4wLjAgZHVyaW5nIGl0cyBzeW50aGVzaXMuXG4gICAgICAgICAgICBSRUxFQVNFOiAndHJ1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdVcGxvYWQgYXJ0aWZhY3QnLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2NC40LjAnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIG5hbWU6ICdidWlsZC1hcnRpZmFjdCcsXG4gICAgICAgICAgICBwYXRoOiAncGFja2FnZXMvKiovZGlzdC9qcy8qLnRneicsXG4gICAgICAgICAgICBvdmVyd3JpdGU6ICd0cnVlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZlcmRhY2Npb0NvbmZpZyA9IHtcbiAgICAgIHN0b3JhZ2U6ICcuL3N0b3JhZ2UnLFxuICAgICAgYXV0aDogeyBodHBhc3N3ZDogeyBmaWxlOiAnLi9odHBhc3N3ZCcgfSB9LFxuICAgICAgdXBsaW5rczogeyBucG1qczogeyB1cmw6ICdodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy8nIH0gfSxcbiAgICAgIHBhY2thZ2VzOiB7fSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBwYWNrIG9mIHByb3BzLmxvY2FsUGFja2FnZXMpIHtcbiAgICAgIGNvbnN0IGFsbG93VXBzdHJlYW0gPSBwcm9wcy5hbGxvd1Vwc3RyZWFtVmVyc2lvbnM/LmluY2x1ZGVzKHBhY2spO1xuXG4gICAgICB2ZXJkYWNjaW9Db25maWcucGFja2FnZXNbcGFja10gPSB7XG4gICAgICAgIGFjY2VzczogJyRhbGwnLFxuICAgICAgICBwdWJsaXNoOiAnJGFsbCcsXG4gICAgICAgIHByb3h5OiBhbGxvd1Vwc3RyZWFtID8gJ25wbWpzJyA6ICdub25lJyxcbiAgICAgIH07XG4gICAgfTtcbiAgICB2ZXJkYWNjaW9Db25maWcucGFja2FnZXNbJyoqJ10gPSB7XG4gICAgICBhY2Nlc3M6ICckYWxsJyxcbiAgICAgIHByb3h5OiAnbnBtanMnLFxuICAgIH07XG5cbiAgICAvLyBiYXNoIG9ubHkgZXhwYW5kcyB7Li4ufSBpZiB0aGVyZSdzIGEgLCBpbiB0aGVyZSwgb3RoZXJ3aXNlIGl0IHdpbGwgbGVhdmUgdGhlXG4gICAgLy8gYnJhY2VzIGluIGxpdGVyYWxseS4gU28gd2UgbmVlZCB0byBkbyBjYXNlIGFuYWx5c2lzIGhlcmUuIFRoYW5rcywgSSBoYXRlIGl0LlxuICAgIGNvbnN0IHRhcmJhbGxCYXNoRXhwciA9IHByb3BzLmxvY2FsUGFja2FnZXMubGVuZ3RoID09PSAxXG4gICAgICA/IGBwYWNrYWdlcy8ke3Byb3BzLmxvY2FsUGFja2FnZXNbMF19L2Rpc3QvanMvKi50Z3pgXG4gICAgICA6IGBwYWNrYWdlcy97JHtwcm9wcy5sb2NhbFBhY2thZ2VzLmpvaW4oJywnKX19L2Rpc3QvanMvKi50Z3pgO1xuXG4gICAgLy8gV2UgY3JlYXRlIGEgbWF0cml4IGpvYiBmb3IgdGhlIHRlc3QuXG4gICAgLy8gVGhpcyBqb2Igd2lsbCBydW4gYWxsIHRoZSBkaWZmZXJlbnQgdGVzdCBzdWl0ZXMgaW4gcGFyYWxsZWwuXG4gICAgY29uc3QgSk9CX0lOVEVHX01BVFJJWCA9ICdpbnRlZ19tYXRyaXgnO1xuICAgIHJ1blRlc3RzV29ya2Zsb3cuYWRkSm9iKEpPQl9JTlRFR19NQVRSSVgsIHtcbiAgICAgIGVudmlyb25tZW50OiBwcm9wcy50ZXN0RW52aXJvbm1lbnQsXG4gICAgICBydW5zT246IFtwcm9wcy50ZXN0UnVuc09uXSxcbiAgICAgIG5lZWRzOiBbSk9CX1BSRVBBUkVdLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICBpZFRva2VuOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICB9LFxuICAgICAgZW52OiB7XG4gICAgICAgIC8vIE90aGVyd2lzZSBNYXZlbiBpcyB0b28gbm9pc3lcbiAgICAgICAgTUFWRU5fQVJHUzogJy0tbm8tdHJhbnNmZXItcHJvZ3Jlc3MnLFxuICAgICAgICAvLyBUaGlzIGlzIG5vdCBhY3R1YWxseSBhIGNhbmFyeSwgYnV0IHRoaXMgcHJldmVudHMgdGhlIHRlc3RzIGZyb20gbWFraW5nXG4gICAgICAgIC8vIGFzc3VtcHRpb25zIGFib3V0IHRoZSBhdmFpbGFiaWxpdHkgb2Ygc291cmNlIHBhY2thZ2VzLlxuICAgICAgICBJU19DQU5BUlk6ICd0cnVlJyxcbiAgICAgICAgQ0k6ICd0cnVlJyxcbiAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgbmV3IHZlcnNpb25pbmcgb2YgQGF3cy1jZGsvY2xpLWxpYi1hbHBoYVxuICAgICAgICAvLyBtYXRjaGVzIHRoZSBDTEkgYW5kIG5vdCB0aGUgZnJhbWV3b3JrLlxuICAgICAgICBDTElfTElCX1ZFUlNJT05fTUlSUk9SU19DTEk6ICd0cnVlJyxcbiAgICAgIH0sXG4gICAgICAvLyBEb24ndCBydW4gYWdhaW4gb24gdGhlIG1lcmdlIHF1ZXVlLCB3ZSBhbHJlYWR5IGdvdCBjb25maXJtYXRpb24gdGhhdCBpdCB3b3JrcyBhbmQgdGhlXG4gICAgICAvLyB0ZXN0cyBhcmUgcXVpdGUgZXhwZW5zaXZlLlxuICAgICAgaWY6IGBnaXRodWIuZXZlbnRfbmFtZSAhPSAnbWVyZ2VfZ3JvdXAnICYmICR7Tk9UX0ZMQUdHRURfRVhQUn1gLFxuICAgICAgc3RyYXRlZ3k6IHtcbiAgICAgICAgZmFpbEZhc3Q6IGZhbHNlLFxuICAgICAgICBtYXRyaXg6IHtcbiAgICAgICAgICBkb21haW46IHtcbiAgICAgICAgICAgIHN1aXRlOiBbXG4gICAgICAgICAgICAgICdjbGktaW50ZWctdGVzdHMnLFxuICAgICAgICAgICAgICAnaW5pdC1jc2hhcnAnLFxuICAgICAgICAgICAgICAnaW5pdC1mc2hhcnAnLFxuICAgICAgICAgICAgICAnaW5pdC1nbycsXG4gICAgICAgICAgICAgICdpbml0LWphdmEnLFxuICAgICAgICAgICAgICAnaW5pdC1qYXZhc2NyaXB0JyxcbiAgICAgICAgICAgICAgJ2luaXQtcHl0aG9uJyxcbiAgICAgICAgICAgICAgJ2luaXQtdHlwZXNjcmlwdC1hcHAnLFxuICAgICAgICAgICAgICAnaW5pdC10eXBlc2NyaXB0LWxpYicsXG4gICAgICAgICAgICAgICd0b29sLWludGVncmF0aW9ucycsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdEb3dubG9hZCBidWlsZCBhcnRpZmFjdHMnLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBuYW1lOiAnYnVpbGQtYXJ0aWZhY3QnLFxuICAgICAgICAgICAgcGF0aDogJ3BhY2thZ2VzJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1NldCB1cCBKREsgMTgnLFxuICAgICAgICAgIGlmOiAnbWF0cml4LnN1aXRlID09IFxcJ2luaXQtamF2YVxcJyB8fCBtYXRyaXguc3VpdGUgPT0gXFwnY2xpLWludGVnLXRlc3RzXFwnJyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1qYXZhQHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnamF2YS12ZXJzaW9uJzogJzE4JyxcbiAgICAgICAgICAgICdkaXN0cmlidXRpb24nOiAnY29ycmV0dG8nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQXV0aGVudGljYXRlIFZpYSBPSURDIFJvbGUnLFxuICAgICAgICAgIGlkOiAnY3JlZHMnLFxuICAgICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnYXdzLXJlZ2lvbic6ICd1cy1lYXN0LTEnLFxuICAgICAgICAgICAgJ3JvbGUtZHVyYXRpb24tc2Vjb25kcyc6IDQgKiA2MCAqIDYwLFxuICAgICAgICAgICAgLy8gRXhwZWN0IHRoaXMgaW4gRW52aXJvbm1lbnQgVmFyaWFibGVzXG4gICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiAnJHt7IHZhcnMuQVdTX1JPTEVfVE9fQVNTVU1FX0ZPUl9URVNUSU5HIH19JyxcbiAgICAgICAgICAgICdyb2xlLXNlc3Npb24tbmFtZSc6ICdydW4tdGVzdHNAYXdzLWNkay1jbGktaW50ZWcnLFxuICAgICAgICAgICAgJ291dHB1dC1jcmVkZW50aWFscyc6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHRoZSBpbml0IHRlc3RzIHRvIHN1Y2NlZWQsIHRoZXkgc2V0IHVwIGEgZ2l0IHJlcG8uXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnU2V0IGdpdCBpZGVudGl0eScsXG4gICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAnZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJhd3MtY2RrLWNsaS1pbnRlZ1wiJyxcbiAgICAgICAgICAgICdnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJub3JlcGx5QGV4YW1wbGUuY29tXCInLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBWZXJkYWNjaW8nLFxuICAgICAgICAgIHJ1bjogJ25wbSBpbnN0YWxsIC1nIHZlcmRhY2NpbyBwbTInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NyZWF0ZSBWZXJkYWNjaW8gY29uZmlnJyxcbiAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICdta2RpciAtcCAkSE9NRS8uY29uZmlnL3ZlcmRhY2NpbycsXG4gICAgICAgICAgICBgZWNobyAnJHtKU09OLnN0cmluZ2lmeSh2ZXJkYWNjaW9Db25maWcpfScgPiAkSE9NRS8uY29uZmlnL3ZlcmRhY2Npby9jb25maWcueWFtbGAsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdTdGFydCBWZXJkYWNjaW8nLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ3BtMiBzdGFydCB2ZXJkYWNjaW8gLS0gLS1jb25maWcgJEhPTUUvLmNvbmZpZy92ZXJkYWNjaW8vY29uZmlnLnlhbWwnLFxuICAgICAgICAgICAgJ3NsZWVwIDUgIyBXYWl0IGZvciBWZXJkYWNjaW8gdG8gc3RhcnQnLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ29uZmlndXJlIG5wbSB0byB1c2UgbG9jYWwgcmVnaXN0cnknLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgLy8gVGhpcyB0b2tlbiBpcyBhIGJvZ3VzIHRva2VuLiBJdCBkb2Vzbid0IHJlcHJlc2VudCBhbnkgYWN0dWFsIHNlY3JldCwgaXQganVzdCBuZWVkcyB0byBleGlzdC5cbiAgICAgICAgICAgICdlY2hvIFxcJy8vbG9jYWxob3N0OjQ4NzMvOl9hdXRoVG9rZW49XCJNV1JqTkRVM09URTFOVGxqWVdVeU9URmtNV0prT0dVeVlUSXdaV013TlRJNllUZ3daamt5TkRFME56Z3dZV1F6TlE9PVwiXFwnID4gfi8ubnBtcmMnLFxuICAgICAgICAgICAgJ2VjaG8gXFwncmVnaXN0cnk9aHR0cDovL2xvY2FsaG9zdDo0ODczL1xcJyA+PiB+Ly5ucG1yYycsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdGaW5kIGFuIGxvY2FsbHkgcHVibGlzaCBhbGwgdGFyYmFsbHMnLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgYGZvciBwa2cgaW4gJHt0YXJiYWxsQmFzaEV4cHJ9OyBkb2AsXG4gICAgICAgICAgICAnICBucG0gcHVibGlzaCAkcGtnJyxcbiAgICAgICAgICAgICdkb25lJyxcbiAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0Rvd25sb2FkIGFuZCBpbnN0YWxsIHRoZSB0ZXN0IGFydGlmYWN0JyxcbiAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICducG0gaW5zdGFsbCBAYXdzLWNkay10ZXN0aW5nL2NsaS1pbnRlZycsXG4gICAgICAgICAgICAvLyBNb3ZlIHRoZSBpbnN0YWxsZWQgZmlsZXMgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBiZWNhdXNlIGFzXG4gICAgICAgICAgICAvLyBjdXJyZW50bHkgY29uZmlndXJlZCB0aGUgdGVzdHMgd29uJ3QgcnVuIGZyb20gYW4gaW5zdGFsbGVkXG4gICAgICAgICAgICAvLyBub2RlX21vZHVsZXMgZGlyZWN0b3J5LlxuICAgICAgICAgICAgJ212IC4vbm9kZV9tb2R1bGVzL0Bhd3MtY2RrLXRlc3RpbmcvY2xpLWludGVnLyogLicsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdEZXRlcm1pbmUgbGF0ZXN0IHBhY2thZ2UgdmVyc2lvbnMnLFxuICAgICAgICAgIGlkOiAndmVyc2lvbnMnLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ0NMSV9WRVJTSU9OPSQoY2QgJHtUTVBESVI6LS90bXB9ICYmIG5wbSB2aWV3IGF3cy1jZGsgdmVyc2lvbiknLFxuICAgICAgICAgICAgJ2VjaG8gXCJDTEkgdmVyc2lvbjogJHtDTElfVkVSU0lPTn1cIicsXG4gICAgICAgICAgICAnZWNobyBcImNsaV92ZXJzaW9uPSR7Q0xJX1ZFUlNJT059XCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICAgICAgICAgJ0xJQl9WRVJTSU9OPSQoY2QgJHtUTVBESVI6LS90bXB9ICYmIG5wbSB2aWV3IGF3cy1jZGstbGliIHZlcnNpb24pJyxcbiAgICAgICAgICAgICdlY2hvIFwibGliIHZlcnNpb246ICR7TElCX1ZFUlNJT059XCInLFxuICAgICAgICAgICAgJ2VjaG8gXCJsaWJfdmVyc2lvbj0ke0xJQl9WRVJTSU9OfVwiID4+ICRHSVRIVUJfT1VUUFVUJyxcbiAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1J1biB0aGUgdGVzdCBzdWl0ZTogJHt7IG1hdHJpeC5zdWl0ZSB9fScsXG4gICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAnYmluL3J1bi1zdWl0ZSAtLXVzZS1jbGktcmVsZWFzZT0ke3sgc3RlcHMudmVyc2lvbnMub3V0cHV0cy5jbGlfdmVyc2lvbiB9fSAtLWZyYW1ld29yay12ZXJzaW9uPSR7eyBzdGVwcy52ZXJzaW9ucy5vdXRwdXRzLmxpYl92ZXJzaW9uIH19ICR7eyBtYXRyaXguc3VpdGUgfX0nLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICAvLyBDb25jdXJyZW5jeSBvbmx5IGZvciBsb25nLXJ1bm5pbmcgY2xpLWludGVnLXRlc3RzXG4gICAgICAgICAgICBKRVNUX1RFU1RfQ09OQ1VSUkVOVDogXCIke3sgbWF0cml4LnN1aXRlID09ICdjbGktaW50ZWctdGVzdHMnICYmICd0cnVlJyB8fCAnZmFsc2UnIH19XCIsXG4gICAgICAgICAgICBKU0lJX1NJTEVOQ0VfV0FSTklOR19ERVBSRUNBVEVEX05PREVfVkVSU0lPTjogJ3RydWUnLFxuICAgICAgICAgICAgSlNJSV9TSUxFTkNFX1dBUk5JTkdfVU5URVNURURfTk9ERV9WRVJTSU9OOiAndHJ1ZScsXG4gICAgICAgICAgICBKU0lJX1NJTEVOQ0VfV0FSTklOR19LTk9XTl9CUk9LRU5fTk9ERV9WRVJTSU9OOiAndHJ1ZScsXG4gICAgICAgICAgICBET0NLRVJIVUJfRElTQUJMRUQ6ICd0cnVlJyxcbiAgICAgICAgICAgIEFXU19SRUdJT05TOiBbJ3VzLWVhc3QtMicsICdldS13ZXN0LTEnLCAnZXUtbm9ydGgtMScsICdhcC1ub3J0aGVhc3QtMScsICdhcC1zb3V0aC0xJ10uam9pbignLCcpLFxuICAgICAgICAgICAgQ0RLX01BSk9SX1ZFUlNJT046ICcyJyxcbiAgICAgICAgICAgIFJFTEVBU0VfVEFHOiAnbGF0ZXN0JyxcbiAgICAgICAgICAgIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYSBqb2IgdGhhdCBjb2xsYXRlcyBhbGwgbWF0cml4IGpvYnMgaW50byBhIHNpbmdsZSBzdGF0dXNcbiAgICAvLyBUaGlzIGlzIHJlcXVpcmVkIHNvIHRoYXQgd2UgY2FuIHNldHVwIHJlcXVpcmVkIHN0YXR1cyBjaGVja3NcbiAgICAvLyBhbmQgaWYgd2UgZXZlciBjaGFuZ2UgdGhlIHRlc3QgbWF0cml4LCB3ZSBkb24ndCBuZWVkIHRvIHVwZGF0ZVxuICAgIC8vIHRoZSBzdGF0dXMgY2hlY2sgY29uZmlndXJhdGlvbi5cbiAgICBydW5UZXN0c1dvcmtmbG93LmFkZEpvYignaW50ZWcnLCB7XG4gICAgICBwZXJtaXNzaW9uczoge30sXG4gICAgICBydW5zT246IFtwcm9wcy50ZXN0UnVuc09uXSxcbiAgICAgIG5lZWRzOiBbSk9CX1BSRVBBUkUsIEpPQl9JTlRFR19NQVRSSVhdLFxuICAgICAgaWY6ICdhbHdheXMoKScsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0ludGVnIHRlc3QgcmVzdWx0JyxcbiAgICAgICAgICBydW46IGBlY2hvIFxcJHt7IG5lZWRzLiR7Sk9CX0lOVEVHX01BVFJJWH0ucmVzdWx0IH19YCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIC8vIERvbid0IGZhaWwgdGhlIGpvYiBpZiB0aGUgdGVzdCB3YXMgc3VjY2Vzc2Z1bCBvciBpbnRlbnRpb25hbGx5IHNraXBwZWRcbiAgICAgICAgICBpZjogYFxcJHt7ICEoY29udGFpbnMoZnJvbUpTT04oJ1tcInN1Y2Nlc3NcIiwgXCJza2lwcGVkXCJdJyksIG5lZWRzLiR7Sk9CX1BSRVBBUkV9LnJlc3VsdCkgJiYgY29udGFpbnMoZnJvbUpTT04oJ1tcInN1Y2Nlc3NcIiwgXCJza2lwcGVkXCJdJyksIG5lZWRzLiR7Sk9CX0lOVEVHX01BVFJJWH0ucmVzdWx0KSkgfX1gLFxuICAgICAgICAgIG5hbWU6ICdTZXQgc3RhdHVzIGJhc2VkIG9uIG1hdHJpeCBqb2InLFxuICAgICAgICAgIHJ1bjogJ2V4aXQgMScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -292,17 +292,6 @@ export interface CdkConstructLibraryOptions {
292
292
  * @default []
293
293
  */
294
294
  readonly deps?: Array<string>;
295
- /**
296
- * Use tasks and github workflows to handle dependency upgrades.
297
- * Cannot be used in conjunction with `dependabot`.
298
- * @default true
299
- */
300
- readonly depsUpgrade?: boolean;
301
- /**
302
- * Options for `UpgradeDependencies`.
303
- * @default - default options
304
- */
305
- readonly depsUpgradeOptions?: javascript.UpgradeDependenciesOptions;
306
295
  /**
307
296
  * The description is just a string that helps people understand the purpose of the package.
308
297
  * It can be used when searching for packages in a package manager as well.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCB7IGdpdGh1YiwgamF2YXNjcmlwdCwgY2RrLCBJZ25vcmVGaWxlT3B0aW9ucywgR2l0T3B0aW9ucywgYXdzY2RrLCBMb2dnZXJPcHRpb25zLCBQcm9qZWN0LCBQcm9qZWN0VHlwZSwgUHJvamVucmNKc29uT3B0aW9ucywgdHlwZXNjcmlwdCwgU2FtcGxlUmVhZG1lUHJvcHMsIFJlbGVhc2FibGVDb21taXRzLCByZWxlYXNlLCBSZW5vdmF0ZWJvdE9wdGlvbnMsIEdyb3VwUnVubmVyT3B0aW9ucyB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBSb3NldHRhT3B0aW9ucywgT3JnVGVuYW5jeSB9IGZyb20gJy4vJztcblxuLyoqXG4gKiBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFsbG93IHRoZSBwcm9qZWN0IHRvIGluY2x1ZGUgYHBlZXJEZXBlbmRlbmNpZXNgIGFuZCBgYnVuZGxlZERlcGVuZGVuY2llc2AuXG4gICAqIFRoaXMgaXMgbm9ybWFsbHkgb25seSBhbGxvd2VkIGZvciBsaWJyYXJpZXMuIEZvciBhcHBzLCB0aGVyZSdzIG5vIG1lYW5pbmdcbiAgICogZm9yIHNwZWNpZnlpbmcgdGhlc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93TGlicmFyeURlcGVuZGVuY2llcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGRpcmVjdG9yeSB3aGljaCB3aWxsIGNvbnRhaW4gYnVpbGQgYXJ0aWZhY3RzLlxuICAgKiBAZGVmYXVsdCBcImRpc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RzRGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgYXV0aG9yLlxuICAgKiBAZGVmYXVsdCAkR0lUX1VTRVJfTkFNRVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbWFpbCBvciBVUkwgb2YgdGhlIGxpYnJhcnkgYXV0aG9yLlxuICAgKiBAZGVmYXVsdCAkR0lUX1VTRVJfRU1BSUxcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckFkZHJlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dGhvcidzIGUtbWFpbC5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckVtYWlsPzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0aG9yJ3MgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvck5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJcyB0aGUgYXV0aG9yIGFuIG9yZ2FuaXphdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvck9yZ2FuaXphdGlvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRob3IncyBVUkwgLyBXZWJzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yVXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogRW5hYmxlIGFuZCBjb25maWd1cmUgdGhlICdhdXRvIGFwcHJvdmUnIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCAtIGF1dG8gYXBwcm92ZSBpcyBkaXNhYmxlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0FwcHJvdmVPcHRpb25zPzogZ2l0aHViLkF1dG9BcHByb3ZlT3B0aW9ucztcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYXBwcm92ZSBkZXBzIHVwZ3JhZGUgUFJzLCBhbGxvd2luZyB0aGVtIHRvIGJlIG1lcmdlZCBieSBtZXJnaWZ5IChpZiBjb25maWd1ZWQpLlxuICAgKiBUaHJvdyBpZiBzZXQgdG8gdHJ1ZSBidXQgYGF1dG9BcHByb3ZlT3B0aW9uc2AgYXJlIG5vdCBkZWZpbmVkLlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9BcHByb3ZlVXBncmFkZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgYWxsIGV4ZWN1dGFibGVzIHVuZGVyIHRoZSBgYmluYCBkaXJlY3RvcnkgdG8geW91ciBgcGFja2FnZS5qc29uYCBmaWxlIHVuZGVyIHRoZSBgYmluYCBzZWN0aW9uLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhdXRvRGV0ZWN0QmluPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAqIEhhcyBubyBlZmZlY3QgaWYgYGdpdGh1Yi5tZXJnaWZ5YFxuICAgKiBpcyBzZXQgdG8gZmFsc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgb3B0aW9ucyBmb3IgYXV0b21hdGljIG1lcmdpbmcgb24gR2l0SHViLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmXG4gICAqIGBnaXRodWIubWVyZ2lmeWAgb3IgYGF1dG9NZXJnZWAgaXMgc2V0IHRvIGZhbHNlLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgQXV0b01lcmdlT3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZU9wdGlvbnM/OiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucztcbiAgLyoqXG4gICAqIEJpbmFyeSBwcm9ncmFtcyB2ZW5kZWQgd2l0aCB5b3VyIG1vZHVsZS5cbiAgICogWW91IGNhbiB1c2UgdGhpcyBvcHRpb24gdG8gYWRkL2N1c3RvbWl6ZSBob3cgYmluYXJpZXMgYXJlIHJlcHJlc2VudGVkIGluXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAsIGJ1dCB1bmxlc3MgYGF1dG9EZXRlY3RCaW5gIGlzIGBmYWxzZWAsIGV2ZXJ5XG4gICAqIGV4ZWN1dGFibGUgZmlsZSB1bmRlciBgYmluYCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgYWRkZWQgdG8gdGhpcyBzZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYmluPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHRvIHdoaWNoIGlzc3VlcyBzaG91bGQgYmUgcmVwb3J0ZWQuXG4gICAqL1xuICByZWFkb25seSBidWdzRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdXJsIHRvIHlvdXIgcHJvamVjdCdzIGlzc3VlIHRyYWNrZXIuXG4gICAqL1xuICByZWFkb25seSBidWdzVXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lIGEgR2l0SHViIHdvcmtmbG93IGZvciBidWlsZGluZyBQUnMuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBub3QgYSBzdWJwcm9qZWN0XG4gICAqL1xuICByZWFkb25seSBidWlsZFdvcmtmbG93PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIFBSIGJ1aWxkIHdvcmtmbG93LlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvd09wdGlvbnM/OiBqYXZhc2NyaXB0LkJ1aWxkV29ya2Zsb3dPcHRpb25zO1xuICAvKipcbiAgICogQnVpbGQgd29ya2Zsb3cgdHJpZ2dlcnMuXG4gICAqIEBkZWZhdWx0IFwieyBwdWxsUmVxdWVzdDoge30sIHdvcmtmbG93RGlzcGF0Y2g6IHt9IH1cIlxuICAgKiBAZGVwcmVjYXRlZCAtIFVzZSBgYnVpbGRXb3JrZmxvd09wdGlvbnMud29ya2Zsb3dUcmlnZ2Vyc2BcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3dUcmlnZ2Vycz86IGdpdGh1Yi53b3JrZmxvd3MuVHJpZ2dlcnM7XG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqIEBkZWZhdWx0IC0gQSByZWNlbnQgdmVyc2lvbiBvZiBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25cIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGRlcGVuZGVuY2llcyB0byBidW5kbGUgaW50byB0aGlzIG1vZHVsZS5cbiAgICogVGhlc2UgbW9kdWxlcyB3aWxsIGJlXG4gICAqIGFkZGVkIGJvdGggdG8gdGhlIGBkZXBlbmRlbmNpZXNgIHNlY3Rpb24gYW5kIGBidW5kbGVkRGVwZW5kZW5jaWVzYCBzZWN0aW9uIG9mXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAuXG4gICAqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICovXG4gIHJlYWRvbmx5IGJ1bmRsZWREZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGBCdW5kbGVyYC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1bmRsZXJPcHRpb25zPzogamF2YXNjcmlwdC5CdW5kbGVyT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIEJ1biB0byB1c2UgaWYgdXNpbmcgQnVuIGFzIGEgcGFja2FnZSBtYW5hZ2VyLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSBidW5WZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogTGlicmFyaWVzIHdpbGwgYmUgcGlja2VkIHVwIGJ5IHRoZSBjb25zdHJ1Y3QgY2F0YWxvZyB3aGVuIHRoZXkgYXJlIHB1Ymxpc2hlZCB0byBucG0gYXMganNpaSBtb2R1bGVzIGFuZCB3aWxsIGJlIHB1Ymxpc2hlZCB1bmRlcjouXG4gICAqIGh0dHBzOi8vYXdzY2RrLmlvL3BhY2thZ2VzL1tAU0NPUEUvXVBBQ0tBR0VAVkVSU0lPTlxuICAgKlxuICAgKiBUaGUgY2F0YWxvZyB3aWxsIGFsc28gcG9zdCBhIHR3ZWV0IHRvIGh0dHBzOi8vdHdpdHRlci5jb20vYXdzY2RraW8gd2l0aCB0aGVcbiAgICogcGFja2FnZSBuYW1lLCBkZXNjcmlwdGlvbiBhbmQgdGhlIGFib3ZlIGxpbmsuIFlvdSBjYW4gZGlzYWJsZSB0aGVzZSB0d2VldHNcbiAgICogdGhyb3VnaCBgeyBhbm5vdW5jZTogZmFsc2UgfWAuXG4gICAqXG4gICAqIFlvdSBjYW4gYWxzbyBhZGQgYSBUd2l0dGVyIGhhbmRsZSB0aHJvdWdoIGB7IHR3aXR0ZXI6ICd4eCcgfWAgd2hpY2ggd2lsbCBiZVxuICAgKiBtZW50aW9uZWQgaW4gdGhlIHR3ZWV0LlxuICAgKiBAZGVmYXVsdCAtIG5ldyB2ZXJzaW9uIHdpbGwgYmUgYW5ub3VuY2VkXG4gICAqL1xuICByZWFkb25seSBjYXRhbG9nPzogY2RrLkNhdGFsb2c7XG4gIC8qKlxuICAgKiBXYXJuaW5nOiBOb2RlSlMgb25seS5cbiAgICogSW5zdGFsbCB0aGVcbiAgICogQGRlZmF1bHQgLSB3aWxsIGJlIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yIEFXUyBDREsgPj0gMS4wLjAgPCAyLjAuMFxuICAgKiBAZGVwcmVjYXRlZCBUaGVcbiAgICovXG4gIHJlYWRvbmx5IGNka0Fzc2VydD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbnN0YWxsIHRoZSBhc3NlcnRpb25zIGxpYnJhcnk/XG4gICAqIE9ubHkgbmVlZGVkIGZvciBDREsgMS54LiBJZiB1c2luZyBDREsgMi54IHRoZW5cbiAgICogYXNzZXJ0aW9ucyBpcyBhbHJlYWR5IGluY2x1ZGVkIGluICdhd3MtY2RrLWxpYidcbiAgICogQGRlZmF1bHQgLSB3aWxsIGJlIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yIEFXUyBDREsgPj0gMS4xMTEuMCA8IDIuMC4wXG4gICAqL1xuICByZWFkb25seSBjZGtBc3NlcnRpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFZlcnNpb24gcmFuZ2Ugb2YgdGhlIEFXUyBDREsgQ0xJIHRvIGRlcGVuZCBvbi5cbiAgICogQ2FuIGJlIGVpdGhlciBhIHNwZWNpZmljIHZlcnNpb24sIG9yIGFuIE5QTSB2ZXJzaW9uIHJhbmdlLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGF0ZXN0IDIueCB2ZXJzaW9uIHdpbGwgYmUgaW5zdGFsbGVkOyB5b3UgY2FuIHVzZSB0aGlzXG4gICAqIG9wdGlvbiB0byByZXN0cmljdCBpdCB0byBhIHNwZWNpZmljIHZlcnNpb24gb3IgdmVyc2lvbiByYW5nZS5cbiAgICogQGRlZmF1bHQgXCJeMlwiXG4gICAqL1xuICByZWFkb25seSBjZGtDbGlWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hpY2ggQVdTIENES3YxIG1vZHVsZXMgdGhpcyBwcm9qZWN0IHJlcXVpcmVzLlxuICAgKiBAZGVwcmVjYXRlZCBGb3IgQ0RLIDIueCB1c2UgXCJkZXBzXCIgaW5zdGVhZC4gKG9yIFwicGVlckRlcHNcIiBpZiB5b3UncmUgYnVpbGRpbmcgYSBsaWJyYXJ5KVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIElmIHRoaXMgaXMgZW5hYmxlZCAoZGVmYXVsdCksIGFsbCBtb2R1bGVzIGRlY2xhcmVkIGluIGBjZGtEZXBlbmRlbmNpZXNgIHdpbGwgYmUgYWxzbyBhZGRlZCBhcyBub3JtYWwgYGRlcGVuZGVuY2llc2AgKGFzIHdlbGwgYXMgYHBlZXJEZXBlbmRlbmNpZXNgKS5cbiAgICogVGhpcyBpcyB0byBlbnN1cmUgdGhhdCBkb3duc3RyZWFtIGNvbnN1bWVycyBhY3R1YWxseSBoYXZlIHlvdXIgQ0RLIGRlcGVuZGVuY2llcyBpbnN0YWxsZWRcbiAgICogd2hlbiB1c2luZyBucG0gPCA3IG9yIHlhcm4sIHdoZXJlIHBlZXIgZGVwZW5kZW5jaWVzIGFyZSBub3QgYXV0b21hdGljYWxseSBpbnN0YWxsZWQuXG4gICAqIElmIHRoaXMgaXMgZGlzYWJsZWQsIGBjZGtEZXBlbmRlbmNpZXNgIHdpbGwgYmUgYWRkZWQgdG8gYGRldkRlcGVuZGVuY2llc2AgdG8gZW5zdXJlXG4gICAqIHRoZXkgYXJlIHByZXNlbnQgZHVyaW5nIGRldmVsb3BtZW50LlxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHNldHRpbmcgb25seSBhcHBsaWVzIHRvIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3RzXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGRlcHJlY2F0ZWQgTm90IHN1cHBvcnRlZCBpbiBDREsgdjIuXG4gICAqL1xuICByZWFkb25seSBjZGtEZXBlbmRlbmNpZXNBc0RlcHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQVdTIENESyBtb2R1bGVzIHJlcXVpcmVkIGZvciB0ZXN0aW5nLlxuICAgKiBAZGVwcmVjYXRlZCBGb3IgQ0RLIDIueCB1c2UgJ2RldkRlcHMnIChpbiBub2RlLmpzIHByb2plY3RzKSBvciAndGVzdERlcHMnIChpbiBqYXZhIHByb2plY3RzKSBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBjZGtUZXN0RGVwZW5kZW5jaWVzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIE1pbmltdW0gdmVyc2lvbiBvZiB0aGUgQVdTIENESyB0byBkZXBlbmQgb24uXG4gICAqIEBkZWZhdWx0IFwiMi4xLjBcIlxuICAgKi9cbiAgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgQ0RLLlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgbWl4ZWQgdmVyc2lvbnMgZm9yIHlvdXIgQ0RLIGRlcGVuZGVuY2llcyBhbmQgdG8gcHJldmVudCBhdXRvLXVwZGF0ZXMuXG4gICAqIElmIHlvdSB1c2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIHRoaXMgd2lsbCBsZXQgeW91IGRlZmluZSB0aGUgbW9tZW50IHlvdSBpbmNsdWRlIGJyZWFraW5nIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBjZGtWZXJzaW9uUGlubmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgd2hpY2ggbGljZW5zZXMgc2hvdWxkIGJlIGRlZW1lZCBhY2NlcHRhYmxlIGZvciB1c2UgYnkgZGVwZW5kZW5jaWVzLlxuICAgKiBUaGlzIHNldHRpbmcgd2lsbCBjYXVzZSB0aGUgYnVpbGQgdG8gZmFpbCwgaWYgYW55IHByb2hpYml0ZWQgb3Igbm90IGFsbG93ZWQgbGljZW5zZXMgYXJlcyBlbmNvdW50ZXJlZC5cbiAgICogQGRlZmF1bHQgLSBubyBsaWNlbnNlIGNoZWNrcyBhcmUgcnVuIGR1cmluZyB0aGUgYnVpbGQgYW5kIGFsbCBsaWNlbnNlcyB3aWxsIGJlIGFjY2VwdGVkXG4gICAqL1xuICByZWFkb25seSBjaGVja0xpY2Vuc2VzPzogamF2YXNjcmlwdC5MaWNlbnNlQ2hlY2tlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBBZGQgYSBgY2xvYmJlcmAgdGFzayB3aGljaCByZXNldHMgdGhlIHJlcG8gdG8gb3JpZ2luLlxuICAgKiBAZGVmYXVsdCAtIHRydWUsIGJ1dCBmYWxzZSBmb3Igc3VicHJvamVjdHNcbiAgICovXG4gIHJlYWRvbmx5IGNsb2JiZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgbnBtIHBhY2thZ2VzIHVzaW5nIEFXUyBDb2RlQXJ0aWZhY3QuXG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgaWYgcHVibGlzaGluZyBwYWNrYWdlcyB0bywgb3IgaW5zdGFsbGluZyBzY29wZWQgcGFja2FnZXMgZnJvbSBBV1MgQ29kZUFydGlmYWN0XG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBjb2RlQXJ0aWZhY3RPcHRpb25zPzogamF2YXNjcmlwdC5Db2RlQXJ0aWZhY3RPcHRpb25zO1xuICAvKipcbiAgICogRGVmaW5lIGEgR2l0SHViIHdvcmtmbG93IHN0ZXAgZm9yIHNlbmRpbmcgY29kZSBjb3ZlcmFnZSBtZXRyaWNzIHRvIGh0dHBzOi8vY29kZWNvdi5pby8gVXNlcyBjb2RlY292L2NvZGVjb3YtYWN0aW9uQHY0IEEgc2VjcmV0IGlzIHJlcXVpcmVkIGZvciBwcml2YXRlIHJlcG9zLiBDb25maWd1cmVkIHdpdGggYEBjb2RlQ292VG9rZW5TZWNyZXRgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUNvdj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHNlY3JldCBuYW1lIGZvciBhIHNwZWNpZmllZCBodHRwczovL2NvZGVjb3YuaW8vIHRva2VuIEEgc2VjcmV0IGlzIHJlcXVpcmVkIHRvIHNlbmQgY292ZXJhZ2UgZm9yIHByaXZhdGUgcmVwb3NpdG9yaWVzLlxuICAgKiBAZGVmYXVsdCAtIGlmIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQsIG9ubHkgcHVibGljIHJlcG9zaXRvcmllcyBhcmUgc3VwcG9ydGVkXG4gICAqL1xuICByZWFkb25seSBjb2RlQ292VG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbW1pdCB0aGUgbWFuYWdlZCBmaWxlcyBieSBkZWZhdWx0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjb21taXRHZW5lcmF0ZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBydW4gQVBJIGNvbXBhdGliaWxpdHkgdGVzdCBhZ2FpbnN0IHRoZSBsYXRlc3QgdmVyc2lvbiBwdWJsaXNoZWQgdG8gbnBtIGFmdGVyIGNvbXBpbGF0aW9uLlxuICAgKiAtIFlvdSBjYW4gbWFudWFsbHkgcnVuIGNvbXBhdGliaWxpdHkgdGVzdHMgdXNpbmcgYHlhcm4gY29tcGF0YCBpZiB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQuXG4gICAqIC0gWW91IGNhbiBpZ25vcmUgY29tcGF0aWJpbGl0eSBmYWlsdXJlcyBieSBhZGRpbmcgbGluZXMgdG8gYSBcIi5jb21wYXRpZ25vcmVcIiBmaWxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGlnbm9yZSBmaWxlIGZvciBBUEkgY29tcGF0aWJpbGl0eSB0ZXN0cy5cbiAgICogQGRlZmF1bHQgXCIuY29tcGF0aWdub3JlXCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbXBhdElnbm9yZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEVtaXQgYSBjb21wcmVzc2VkIHZlcnNpb24gb2YgdGhlIGFzc2VtYmx5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3NBc3NlbWJseT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNaW5pbXVtIHZlcnNpb24gb2YgdGhlIGBjb25zdHJ1Y3RzYCBsaWJyYXJ5IHRvIGRlcGVuZCBvbi5cbiAgICogQGRlZmF1bHQgLSBmb3IgQ0RLIDEueCB0aGUgZGVmYXVsdCBpcyBcIjMuMi4yN1wiLCBmb3IgQ0RLIDIueCB0aGUgZGVmYXVsdCBpc1xuXCIxMC4wLjVcIi5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogTGljZW5zZSBjb3B5cmlnaHQgb3duZXIuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHMgdG8gdGhlIHZhbHVlIG9mIGF1dGhvck5hbWUgb3IgXCJcIiBpZiBgYXV0aG9yTmFtZWAgaXMgdW5kZWZpbmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0T3duZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY29weXJpZ2h0IHllYXJzIHRvIHB1dCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuICAgKiBAZGVmYXVsdCAtIGN1cnJlbnQgeWVhclxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0UGVyaW9kPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1haW4gcmVsZWFzZSBicmFuY2guXG4gICAqIEBkZWZhdWx0IFwibWFpblwiXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0UmVsZWFzZUJyYW5jaDogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIGRlcGVuZGFib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIENhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRlcHNVcGdyYWRlYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgZGVwZW5kYWJvdC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3RPcHRpb25zPzogZ2l0aHViLkRlcGVuZGFib3RPcHRpb25zO1xuICAvKipcbiAgICogUnVudGltZSBkZXBlbmRlbmNpZXMgb2YgdGhpcyBtb2R1bGUuXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVXNlIHRhc2tzIGFuZCBnaXRodWIgd29ya2Zsb3dzIHRvIGhhbmRsZSBkZXBlbmRlbmN5IHVwZ3JhZGVzLlxuICAgKiBDYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBkZXBlbmRhYm90YC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwc1VwZ3JhZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYFVwZ3JhZGVEZXBlbmRlbmNpZXNgLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwc1VwZ3JhZGVPcHRpb25zPzogamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBpcyBqdXN0IGEgc3RyaW5nIHRoYXQgaGVscHMgcGVvcGxlIHVuZGVyc3RhbmQgdGhlIHB1cnBvc2Ugb2YgdGhlIHBhY2thZ2UuXG4gICAqIEl0IGNhbiBiZSB1c2VkIHdoZW4gc2VhcmNoaW5nIGZvciBwYWNrYWdlcyBpbiBhIHBhY2thZ2UgbWFuYWdlciBhcyB3ZWxsLlxuICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkIGEgVlNDb2RlIGRldmVsb3BtZW50IGVudmlyb25tZW50ICh1c2VkIGZvciBHaXRIdWIgQ29kZXNwYWNlcykuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXZDb250YWluZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogQnVpbGQgZGVwZW5kZW5jaWVzIGZvciB0aGlzIG1vZHVsZS5cbiAgICogVGhlc2UgZGVwZW5kZW5jaWVzIHdpbGwgb25seSBiZVxuICAgKiBhdmFpbGFibGUgaW4geW91ciBidWlsZCBlbnZpcm9ubWVudCBidXQgd2lsbCBub3QgYmUgZmV0Y2hlZCB3aGVuIHRoaXNcbiAgICogbW9kdWxlIGlzIGNvbnN1bWVkLlxuICAgKlxuICAgKiBUaGUgcmVjb21tZW5kYXRpb24gaXMgdG8gb25seSBzcGVjaWZ5IHRoZSBtb2R1bGUgbmFtZSBoZXJlIChlLmcuXG4gICAqIGBleHByZXNzYCkuIFRoaXMgd2lsbCBiZWhhdmUgc2ltaWxhciB0byBgeWFybiBhZGRgIG9yIGBucG0gaW5zdGFsbGAgaW4gdGhlXG4gICAqIHNlbnNlIHRoYXQgaXQgd2lsbCBhZGQgdGhlIG1vZHVsZSBhcyBhIGRlcGVuZGVuY3kgdG8geW91ciBgcGFja2FnZS5qc29uYFxuICAgKiBmaWxlIHdpdGggdGhlIGxhdGVzdCB2ZXJzaW9uIChgXmApLiBZb3UgY2FuIHNwZWNpZnkgc2VtdmVyIHJlcXVpcmVtZW50cyBpblxuICAgKiB0aGUgc2FtZSBzeW50YXggcGFzc2VkIHRvIGBucG0gaWAgb3IgYHlhcm4gYWRkYCAoZS5nLiBgZXhwcmVzc0BeMmApIGFuZFxuICAgKiB0aGlzIHdpbGwgYmUgd2hhdCB5b3UgYHBhY2thZ2UuanNvbmAgd2lsbCBldmVudHVhbGx5IGluY2x1ZGUuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBkZXZEZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIERvIG5vdCBnZW5lcmF0ZSBhIGB0c2NvbmZpZy5qc29uYCBmaWxlICh1c2VkIGJ5IGpzaWkgcHJvamVjdHMgc2luY2UgdHNjb25maWcuanNvbiBpcyBnZW5lcmF0ZWQgYnkgdGhlIGpzaWkgY29tcGlsZXIpLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvIG5vdCBnZW5lcmF0ZSBhIGB0c2NvbmZpZy5kZXYuanNvbmAgZmlsZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVUc2NvbmZpZ0Rldj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEb2NnZW4gYnkgVHlwZWRvYy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRvY2dlbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGaWxlIHBhdGggZm9yIGdlbmVyYXRlZCBkb2NzLlxuICAgKiBAZGVmYXVsdCBcIkFQSS5tZFwiXG4gICAqL1xuICByZWFkb25seSBkb2NnZW5GaWxlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcImRvY3NcIlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHVibGlzaFRvTnVnZXRgXG4gICAqL1xuICByZWFkb25seSBkb3RuZXQ/OiBjZGsuSnNpaURvdE5ldFRhcmdldDtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgY2xvdWRmcm9udC5leHBlcmltZW50YWwuRWRnZUZ1bmN0aW9uYCBmb3IgZWFjaCBgLmVkZ2UtbGFtYmRhLnRzYCBoYW5kbGVyIGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW4gbWFudWFsbHkgYWRkIGFuIGBhd3NjZGsuQXV0b0Rpc2NvdmVyYCBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlZGdlTGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIHRoZSBhdXRvIG1lcmdlIHdvcmtmbG93IGZvciBQUnMuXG4gICAqIFRoaXMgd2lsbCBlbmFibGUgdGhlIGF1dG8gbWVyZ2Ugd29ya2Zsb3cgYXMgd2VsbCBhcyB0aGUgbWVyZ2UgcXVldWVcbiAgICogQGRlZmF1bHQgLSB0cnVlIGZvciBwcml2YXRlIHByb2plY3RzLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVBSQXV0b01lcmdlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1vZHVsZSBlbnRyeXBvaW50IChgbWFpbmAgaW4gYHBhY2thZ2UuanNvbmApLlxuICAgKiBTZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIG5vdCBpbmNsdWRlIGBtYWluYCBpbiB5b3VyIHBhY2thZ2UuanNvblxuICAgKiBAZGVmYXVsdCBcImxpYi9pbmRleC5qc1wiXG4gICAqL1xuICByZWFkb25seSBlbnRyeXBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIC5kLnRzIGZpbGUgdGhhdCBpbmNsdWRlcyB0aGUgdHlwZSBkZWNsYXJhdGlvbnMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBAZGVmYXVsdCAtIC5kLnRzIGZpbGUgZGVyaXZlZCBmcm9tIHRoZSBwcm9qZWN0J3MgZW50cnlwb2ludCAodXN1YWxseSBsaWIvaW5kZXguZC50cylcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnRUeXBlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldHVwIGVzbGludC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXNsaW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVzbGludCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIG9waW5pb25hdGVkIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZXNsaW50T3B0aW9ucz86IGphdmFzY3JpcHQuRXNsaW50T3B0aW9ucztcbiAgLyoqXG4gICAqIEFjY2VwdHMgYSBsaXN0IG9mIGdsb2IgcGF0dGVybnMuXG4gICAqIEZpbGVzIG1hdGNoaW5nIGFueSBvZiB0aG9zZSBwYXR0ZXJucyB3aWxsIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIgaW5wdXQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGpzaWkgd2lsbCBpbmNsdWRlIGFsbCAqLnRzIGZpbGVzIChleGNlcHQgLmQudHMgZmlsZXMpIGluIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKiBUaGlzIGNhbiBiZSBwcm9ibGVtYXRpYyBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYWNrYWdlJ3MgYnVpbGQgb3IgdGVzdCBwcm9jZWR1cmUgZ2VuZXJhdGVzIC50cyBmaWxlc1xuICAgKiB0aGF0IGNhbm5vdCBiZSBjb21waWxlZCB3aXRoIGpzaWkncyBjb21waWxlciBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGVUeXBlc2NyaXB0PzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEVuYWJsZSBleHBlcmltZW50YWwgc3VwcG9ydCBmb3IgdGhlIEFXUyBDREsgaW50ZWctcnVubmVyLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhwZXJpbWVudGFsSW50ZWdSdW5uZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdGhlIEdpdEh1YiBhdXRvIG1lcmdlIHdvcmtmbG93LlxuICAgKiBUaGF0IGlzIHRoZSB3b3JrZmxvdyB0aGF0IHR1cm5zIG9uIGF1dG8gbWVyZ2Ugb24gYWxsIFBScy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGdoQXV0b01lcmdlT3B0aW9ucz86IGdpdGh1Yi5BdXRvUXVldWVPcHRpb25zO1xuICAvKipcbiAgICogRW5hYmxlIEdpdEh1YiBpbnRlZ3JhdGlvbi5cbiAgICogRW5hYmxlZCBieSBkZWZhdWx0IGZvciByb290IHByb2plY3RzLiBEaXNhYmxlZCBmb3Igbm9uLXJvb3QgcHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1Yj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBHaXRIdWIgaW50ZWdyYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gc2VlIEdpdEh1Yk9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1Yk9wdGlvbnM/OiBnaXRodWIuR2l0SHViT3B0aW9ucztcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZW50cmllcyB0byAuZ2l0aWdub3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aWdub3JlPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgLmdpdGlnbm9yZSBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0SWdub3JlT3B0aW9ucz86IElnbm9yZUZpbGVPcHRpb25zO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBnaXQuXG4gICAqL1xuICByZWFkb25seSBnaXRPcHRpb25zPzogR2l0T3B0aW9ucztcbiAgLyoqXG4gICAqIEFkZCBhIEdpdHBvZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGdpdHBvZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYWNrYWdlJ3MgSG9tZXBhZ2UgLyBXZWJzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaG9tZXBhZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGRpc2NvdmVycyBhbmQgY3JlYXRlcyBpbnRlZ3JhdGlvbiB0ZXN0cyBmb3IgZWFjaCBgLmludGVnLnRzYCBmaWxlIHVuZGVyIHlvdXIgdGVzdCBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZXR1cCBqZXN0IHVuaXQgdGVzdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGplc3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogSmVzdCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgamVzdE9wdGlvbnM/OiBqYXZhc2NyaXB0Lkplc3RPcHRpb25zO1xuICAvKipcbiAgICogVmVyc2lvbiByZXF1aXJlbWVudCBvZiBgcHVibGliYCB3aGljaCBpcyB1c2VkIHRvIHB1Ymxpc2ggbW9kdWxlcyB0byBucG0uXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlSZWxlYXNlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIGpzaWkgY29tcGlsZXIgdG8gdXNlLlxuICAgKiBTZXQgdG8gXCIqXCIgaWYgeW91IHdhbnQgdG8gbWFudWFsbHkgbWFuYWdlIHRoZSB2ZXJzaW9uIG9mIGpzaWkgaW4geW91clxuICAgKiBwcm9qZWN0IGJ5IG1hbmFnaW5nIHVwZGF0ZXMgdG8gYHBhY2thZ2UuanNvbmAgb24geW91ciBvd24uXG4gICAqXG4gICAqIE5PVEU6IFRoZSBqc2lpIGNvbXBpbGVyIHJlbGVhc2VzIHNpbmNlIDUuMC4wIGFyZSBub3Qgc2VtYW50aWNhbGx5IHZlcnNpb25lZFxuICAgKiBhbmQgc2hvdWxkIHJlbWFpbiBvbiB0aGUgc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3lcbiAgICogKGUuZy4gYH41LjAuMGApLlxuICAgKiBAZGVmYXVsdCBcIn41LjYuMFwiXG4gICAqL1xuICByZWFkb25seSBqc2lpVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEtleXdvcmRzIHRvIGluY2x1ZGUgaW4gYHBhY2thZ2UuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBrZXl3b3Jkcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGF3c19sYW1iZGEuRnVuY3Rpb25gIGZvciBlYWNoIGAubGFtYmRhLnRzYCBoYW5kbGVyIGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBlaXRoZXIgbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgYGF3c19sYW1iZGEuRnVuY3Rpb24uYXV0b0Rpc2NvdmVyKClgIG9yIGRlZmluZSBhIGBuZXcgYXdzX2xhbWJkYS5GdW5jdGlvbigpYCBmb3IgZWFjaCBoYW5kbGVyLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGRzIGFuIGBhd3NjZGsuTGFtYmRhRXh0ZW5zaW9uYCBmb3IgZWFjaCBgLmxhbWJkYS1leHRlbnNpb24udHNgIGVudHJ5cG9pbnQgaW4geW91ciBzb3VyY2UgdHJlZS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGNhbiBtYW51YWxseSBhZGQgYW4gYGF3c2Nkay5BdXRvRGlzY292ZXJgIGNvbXBvbmVudCB0byB5b3VyIHByb2plY3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb21tb24gb3B0aW9ucyBmb3IgYWxsIEFXUyBMYW1iZGEgZnVuY3Rpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IGF3c2Nkay5MYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBUeXBlc2NyaXB0ICBhcnRpZmFjdHMgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICogQGRlZmF1bHQgXCJsaWJcIlxuICAgKi9cbiAgcmVhZG9ubHkgbGliZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogTGljZW5zZSdzIFNQRFggaWRlbnRpZmllci5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL3RyZWUvbWFpbi9saWNlbnNlLXRleHQgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGljZW5zZXMuXG4gICAqIFVzZSB0aGUgYGxpY2Vuc2VkYCBvcHRpb24gaWYgeW91IHdhbnQgdG8gbm8gbGljZW5zZSB0byBiZSBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IFwiQXBhY2hlLTIuMFwiXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGEgbGljZW5zZSBzaG91bGQgYmUgYWRkZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBsb2dnaW5nIG9wdGlvbnMgc3VjaCBhcyB2ZXJib3NpdHkuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nPzogTG9nZ2VyT3B0aW9ucztcbiAgLyoqXG4gICAqIE1ham9yIHZlcnNpb24gdG8gcmVsZWFzZSBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogSWYgdGhpcyBpcyBzcGVjaWZpZWQsIHdlIGJ1bXAgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbWFqb3IgdmVyc2lvbiBsaW5lLlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkLCB3ZSBidW1wIHRoZSBnbG9iYWwgbGF0ZXN0IHZlcnNpb24uXG4gICAqIEBkZWZhdWx0IC0gTWFqb3IgdmVyc2lvbiBpcyBub3QgZW5mb3JjZWQuXG4gICAqL1xuICByZWFkb25seSBtYWpvclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBub2RlIHZlcnNpb24gc3VwcG9ydGVkIGJ5IHRoaXMgcGFja2FnZS4gTW9zdCBwcm9qZWN0cyBzaG91bGQgbm90IHVzZSB0aGlzIG9wdGlvbi5cbiAgICogVGhlIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwYWNrYWdlIGlzIGluY29tcGF0aWJsZSB3aXRoIGFueSBuZXdlciB2ZXJzaW9ucyBvZiBub2RlLlxuICAgKiBUaGlzIHJlcXVpcmVtZW50IGlzIGVuZm9yY2VkIHZpYSB0aGUgZW5naW5lcyBmaWVsZC5cbiAgICpcbiAgICogWW91IHdpbGwgbm9ybWFsbHkgbm90IG5lZWQgdG8gc2V0IHRoaXMgb3B0aW9uLlxuICAgKiBDb25zaWRlciB0aGlzIG9wdGlvbiBvbmx5IGlmIHlvdXIgcGFja2FnZSBpcyBrbm93biB0byBub3QgZnVuY3Rpb24gd2l0aCBuZXdlciB2ZXJzaW9ucyBvZiBub2RlLlxuICAgKiBAZGVmYXVsdCAtIG5vIG1heGltdW0gdmVyc2lvbiBpcyBlbmZvcmNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG1lcmdpZnkgc2hvdWxkIGJlIGVuYWJsZWQgb24gdGhpcyByZXBvc2l0b3J5IG9yIG5vdC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGdpdGh1Yk9wdGlvbnMubWVyZ2lmeWAgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgbWVyZ2lmeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBtZXJnaWZ5LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGdpdGh1Yk9wdGlvbnMubWVyZ2lmeU9wdGlvbnNgIGluc3RlYWRcbiAgICovXG4gIHJlYWRvbmx5IG1lcmdpZnlPcHRpb25zPzogZ2l0aHViLk1lcmdpZnlPcHRpb25zO1xuICAvKipcbiAgICogTWluaW1hbCBNYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBzZXQgdG8gMSwgYXMgYnJlYWtpbmcgY2hhbmdlcyBiZWZvcmUgdGhlIDEueCBtYWpvclxuICAgKiByZWxlYXNlIGFyZSBub3QgaW5jcmVtZW50aW5nIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlci5cbiAgICpcbiAgICogQ2FuIG5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbWFqb3JWZXJzaW9uYC5cbiAgICogQGRlZmF1bHQgLSBObyBtaW5pbXVtIHZlcnNpb24gaXMgYmVpbmcgZW5mb3JjZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbk1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIE1pbmltdW0gTm9kZS5qcyB2ZXJzaW9uIHRvIHJlcXVpcmUgdmlhIHBhY2thZ2UuanNvbiBgZW5naW5lc2AgKGluY2x1c2l2ZSkuXG4gICAqXG4gICAqIE9ubHkgc2V0IHRoaXMgaWYgeW91ciBwYWNrYWdlIHdpbGwgbm90IHdvcmsgcHJvcGVybHkgb24gc3BlY2lmaWMgKG9sZGVyPylcbiAgICogTm9kZSB2ZXJzaW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBcImVuZ2luZXNcIiBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbk5vZGVWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSB1cGRhdGUgZmlsZXMgbW9kaWZpZWQgZHVyaW5nIGJ1aWxkcyB0byBwdWxsLXJlcXVlc3QgYnJhbmNoZXMuXG4gICAqIFRoaXMgbWVhbnNcbiAgICogdGhhdCBhbnkgZmlsZXMgc3ludGhlc2l6ZWQgYnkgcHJvamVuIG9yIGUuZy4gdGVzdCBzbmFwc2hvdHMgd2lsbCBhbHdheXMgYmUgdXAtdG8tZGF0ZVxuICAgKiBiZWZvcmUgYSBQUiBpcyBtZXJnZWQuXG4gICAqXG4gICAqIEltcGxpZXMgdGhhdCBQUiBidWlsZHMgZG8gbm90IGhhdmUgYW50aS10YW1wZXIgY2hlY2tzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBkZXByZWNhdGVkIC0gVXNlIGBidWlsZFdvcmtmbG93T3B0aW9ucy5tdXRhYmxlQnVpbGRgXG4gICAqL1xuICByZWFkb25seSBtdXRhYmxlQnVpbGQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhpcyBpcyB0aGUgbmFtZSBvZiB5b3VyIHByb2plY3QuXG4gICAqIEBkZWZhdWx0ICRCQVNFRElSXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgbmV4dCB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqIElmIHByZXNlbnQsIHRoaXMgc2hlbGwgY29tbWFuZCB3aWxsIGJlIHJ1biBiZWZvcmUgdGhlIGJ1bXAgaXMgZXhlY3V0ZWQsIGFuZFxuICAgKiBpdCBkZXRlcm1pbmVzIHdoYXQgdmVyc2lvbiB0byByZWxlYXNlLiBJdCB3aWxsIGJlIGV4ZWN1dGVkIGluIHRoZSBmb2xsb3dpbmdcbiAgICogZW52aXJvbm1lbnQ6XG4gICAqXG4gICAqIC0gV29ya2luZyBkaXJlY3Rvcnk6IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS5cbiAgICogLSBgJFZFUlNJT05gOiB0aGUgY3VycmVudCB2ZXJzaW9uLiBMb29rcyBsaWtlIGAxLjIuM2AuXG4gICAqIC0gYCRMQVRFU1RfVEFHYDogdGhlIG1vc3QgcmVjZW50IHRhZy4gTG9va3MgbGlrZSBgcHJlZml4LXYxLjIuM2AsIG9yIG1heSBiZSB1bnNldC5cbiAgICpcbiAgICogVGhlIGNvbW1hbmQgc2hvdWxkIHByaW50IG9uZSBvZiB0aGUgZm9sbG93aW5nIHRvIGBzdGRvdXRgOlxuICAgKlxuICAgKiAtIE5vdGhpbmc6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiBjb21taXQgaGlzdG9yeS5cbiAgICogLSBgeC55LnpgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGB4LnkuemAuXG4gICAqIC0gYG1ham9yfG1pbm9yfHBhdGNoYDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSB0aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlclxuICAgKiAgIHdpdGggdGhlIGluZGljYXRlZCBjb21wb25lbnQgYnVtcGVkLlxuICAgKlxuICAgKiBUaGlzIHNldHRpbmcgY2Fubm90IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIGBtaW5NYWpvclZlcnNpb25gOyB0aGUgaW52b2tlZFxuICAgKiBzY3JpcHQgY2FuIGJlIHVzZWQgdG8gYWNoaWV2ZSB0aGUgZWZmZWN0cyBvZiBgbWluTWFqb3JWZXJzaW9uYC5cbiAgICogQGRlZmF1bHQgLSBUaGUgbmV4dCB2ZXJzaW9uIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgY29tbWl0IGhpc3RvcnkgYW5kIHByb2plY3Qgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBuZXh0VmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBY2Nlc3MgbGV2ZWwgb2YgdGhlIG5wbSBwYWNrYWdlLlxuICAgKiBAZGVmYXVsdCAtIGZvciBzY29wZWQgcGFja2FnZXMgKGUuZy4gYGZvb0BiYXJgKSwgdGhlIGRlZmF1bHQgaXNcbmBOcG1BY2Nlc3MuUkVTVFJJQ1RFRGAsIGZvciBub24tc2NvcGVkIHBhY2thZ2VzLCB0aGUgZGVmYXVsdCBpc1xuYE5wbUFjY2Vzcy5QVUJMSUNgLlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtQWNjZXNzPzogamF2YXNjcmlwdC5OcG1BY2Nlc3M7XG4gIC8qKlxuICAgKiBUaGUgbnBtRGlzdFRhZyB0byB1c2Ugd2hlbiBwdWJsaXNoaW5nIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKiBUbyBzZXQgdGhlIG5wbSBkaXN0LXRhZyBmb3IgcmVsZWFzZSBicmFuY2hlcywgc2V0IHRoZSBgbnBtRGlzdFRhZ2AgcHJvcGVydHlcbiAgICogZm9yIGVhY2ggYnJhbmNoLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSBucG1EaXN0VGFnPzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnRyaWVzIHRvIC5ucG1pZ25vcmUuXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGBwcm9qZWN0LmFkZFBhY2thZ2VJZ25vcmVgXG4gICAqL1xuICByZWFkb25seSBucG1pZ25vcmU/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogRGVmaW5lcyBhbiAubnBtaWdub3JlIGZpbGUuIE5vcm1hbGx5IHRoaXMgaXMgb25seSBuZWVkZWQgZm9yIGxpYnJhcmllcyB0aGF0IGFyZSBwYWNrYWdlZCBhcyB0YXJiYWxscy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtaWdub3JlRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIC5ucG1pZ25vcmUgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IG5wbUlnbm9yZU9wdGlvbnM/OiBJZ25vcmVGaWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIFNob3VsZCBwcm92ZW5hbmNlIHN0YXRlbWVudHMgYmUgZ2VuZXJhdGVkIHdoZW4gdGhlIHBhY2thZ2UgaXMgcHVibGlzaGVkLlxuICAgKiBBIHN1cHBvcnRlZCBwYWNrYWdlIG1hbmFnZXIgaXMgcmVxdWlyZWQgdG8gcHVibGlzaCBhIHBhY2thZ2Ugd2l0aCBucG0gcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGFuZFxuICAgKiB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBhIHN1cHBvcnRlZCBDSS9DRCBwcm92aWRlci5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBwcm9qZW4gYFJlbGVhc2VgIGFuZCBgUHVibGlzaGVyYCBjb21wb25lbnRzIGFyZSB1c2luZyBgcHVibGliYCB0byBwdWJsaXNoIHBhY2thZ2VzLFxuICAgKiB3aGljaCBpcyB1c2luZyBucG0gaW50ZXJuYWxseSBhbmQgc3VwcG9ydHMgcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGluZGVwZW5kZW50bHkgb2YgdGhlIHBhY2thZ2UgbWFuYWdlciB1c2VkLlxuICAgKiBAZGVmYXVsdCAtIHRydWUgZm9yIHB1YmxpYyBwYWNrYWdlcywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICByZWFkb25seSBucG1Qcm92ZW5hbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBob3N0IG5hbWUgb2YgdGhlIG5wbSByZWdpc3RyeSB0byBwdWJsaXNoIHRvLlxuICAgKiBDYW5ub3QgYmUgc2V0IHRvZ2V0aGVyIHdpdGggYG5wbVJlZ2lzdHJ5VXJsYC5cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBucG1SZWdpc3RyeVVybGAgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgbnBtUmVnaXN0cnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYmFzZSBVUkwgb2YgdGhlIG5wbSBwYWNrYWdlIHJlZ2lzdHJ5LlxuICAgKiBNdXN0IGJlIGEgVVJMIChlLmcuIHN0YXJ0IHdpdGggXCJodHRwczovL1wiIG9yIFwiaHR0cDovL1wiKVxuICAgKiBAZGVmYXVsdCBcImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnXCJcbiAgICovXG4gIHJlYWRvbmx5IG5wbVJlZ2lzdHJ5VXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogR2l0SHViIHNlY3JldCB3aGljaCBjb250YWlucyB0aGUgTlBNIHRva2VuIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgcGFja2FnZXMuXG4gICAqIEBkZWZhdWx0IFwiTlBNX1RPS0VOXCJcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRva2VuU2VjcmV0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBwcm9qZWN0LlxuICAgKiBSZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSwgYWxsIGZpbGVzIGFyZSBzeW50aGVzaXplZC5cbiAgICpcbiAgICogSWYgdGhpcyBwcm9qZWN0IGhhcyBhIHBhcmVudCwgdGhpcyBkaXJlY3RvcnkgaXMgcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICAgKiBkaXJlY3RvcnkgYW5kIGl0IGNhbm5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgcGFyZW50IG9yIGFueSBvZiBpdCdzIG90aGVyXG4gICAqIHN1YnByb2plY3RzLlxuICAgKiBAZGVmYXVsdCBcIi5cIlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0ZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyBhIGBwYWNrYWdlYCB0YXNrIHRoYXQgd2lsbCBwcm9kdWNlIGFuIG5wbSB0YXJiYWxsIHVuZGVyIHRoZSBhcnRpZmFjdHMgZGlyZWN0b3J5IChlLmcuIGBkaXN0YCkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2U/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIE5vZGUgUGFja2FnZSBNYW5hZ2VyIHVzZWQgdG8gZXhlY3V0ZSBzY3JpcHRzLlxuICAgKiBAZGVmYXVsdCBOb2RlUGFja2FnZU1hbmFnZXIuWUFSTl9DTEFTU0lDXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcj86IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyO1xuICAvKipcbiAgICogVGhlIFwibmFtZVwiIGluIHBhY2thZ2UuanNvbi5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0cyB0byBwcm9qZWN0IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHBhcmVudCBwcm9qZWN0LCBpZiB0aGlzIHByb2plY3QgaXMgcGFydCBvZiBhIGJpZ2dlciBwcm9qZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyZW50PzogUHJvamVjdDtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGBwZWVyRGVwc2AuXG4gICAqL1xuICByZWFkb25seSBwZWVyRGVwZW5kZW5jeU9wdGlvbnM/OiBqYXZhc2NyaXB0LlBlZXJEZXBlbmRlbmN5T3B0aW9ucztcbiAgLyoqXG4gICAqIFBlZXIgZGVwZW5kZW5jaWVzIGZvciB0aGlzIG1vZHVsZS5cbiAgICogRGVwZW5kZW5jaWVzIGxpc3RlZCBoZXJlIGFyZSByZXF1aXJlZCB0b1xuICAgKiBiZSBpbnN0YWxsZWQgKGFuZCBzYXRpc2ZpZWQpIGJ5IHRoZSBfY29uc3VtZXJfIG9mIHRoaXMgbGlicmFyeS4gVXNpbmcgcGVlclxuICAgKiBkZXBlbmRlbmNpZXMgYWxsb3dzIHlvdSB0byBlbnN1cmUgdGhhdCBvbmx5IGEgc2luZ2xlIG1vZHVsZSBvZiBhIGNlcnRhaW5cbiAgICogbGlicmFyeSBleGlzdHMgaW4gdGhlIGBub2RlX21vZHVsZXNgIHRyZWUgb2YgeW91ciBjb25zdW1lcnMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBwcmlvciB0byBucG1ANywgcGVlciBkZXBlbmRlbmNpZXMgYXJlIF9ub3RfIGF1dG9tYXRpY2FsbHlcbiAgICogaW5zdGFsbGVkLCB3aGljaCBtZWFucyB0aGF0IGFkZGluZyBwZWVyIGRlcGVuZGVuY2llcyB0byBhIGxpYnJhcnkgd2lsbCBiZSBhXG4gICAqIGJyZWFraW5nIGNoYW5nZSBmb3IgeW91ciBjdXN0b21lcnMuXG4gICAqXG4gICAqIFVubGVzcyBgcGVlckRlcGVuZGVuY3lPcHRpb25zLnBpbm5lZERldkRlcGVuZGVuY3lgIGlzIGRpc2FibGVkIChpdCBpc1xuICAgKiBlbmFibGVkIGJ5IGRlZmF1bHQpLCBwcm9qZW4gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIGRldiBkZXBlbmRlbmN5IHdpdGggYVxuICAgKiBwaW5uZWQgdmVyc2lvbiBmb3IgZWFjaCBwZWVyIGRlcGVuZGVuY3kuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCB5b3UgYnVpbGQgJlxuICAgKiB0ZXN0IHlvdXIgbW9kdWxlIGFnYWluc3QgdGhlIGxvd2VzdCBwZWVyIHZlcnNpb24gcmVxdWlyZWQuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwZWVyRGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBQTlBNIHRvIHVzZSBpZiB1c2luZyBQTlBNIGFzIGEgcGFja2FnZSBtYW5hZ2VyLlxuICAgKiBAZGVmYXVsdCBcIjlcIlxuICAgKi9cbiAgcmVhZG9ubHkgcG5wbVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdGVwcyB0byBleGVjdXRlIGFmdGVyIGJ1aWxkIGFzIHBhcnQgb2YgdGhlIHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwb3N0QnVpbGRTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBCdW1wIHZlcnNpb25zIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoIGFzIHByZS1yZWxlYXNlcyAoZS5nLiBcImJldGFcIiwgXCJhbHBoYVwiLCBcInByZVwiKS5cbiAgICogQGRlZmF1bHQgLSBub3JtYWwgc2VtYW50aWMgdmVyc2lvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXR1cCBwcmV0dGllci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByZXR0aWVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByZXR0aWVyIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcmV0dGllck9wdGlvbnM/OiBqYXZhc2NyaXB0LlByZXR0aWVyT3B0aW9ucztcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgcGFja2FnZSBpcyBwcml2YXRlLlxuICAgKiBTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gdHJ1ZSBtZWFucyB0aGF0IHlvdXIgcHJvamVjdCBpcyBjcmVhdGVkIHdpdGggc2FuZSBkZWZhdWx0cyBmb3IgcHJpdmF0ZSByZXBvc2l0b3JpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGU/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hpY2ggdHlwZSBvZiBwcm9qZWN0IHRoaXMgaXMgKGxpYnJhcnkvYXBwKS5cbiAgICogQGRlZmF1bHQgUHJvamVjdFR5cGUuVU5LTk9XTlxuICAgKiBAZGVwcmVjYXRlZCBubyBsb25nZXIgc3VwcG9ydGVkIGF0IHRoZSBiYXNlIHByb2plY3QgbGV2ZWxcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RUeXBlPzogUHJvamVjdFR5cGU7XG4gIC8qKlxuICAgKiBUaGUgc2hlbGwgY29tbWFuZCB0byB1c2UgaW4gb3JkZXIgdG8gcnVuIHRoZSBwcm9qZW4gQ0xJLlxuICAgKiBDYW4gYmUgdXNlZCB0byBjdXN0b21pemUgaW4gc3BlY2lhbCBlbnZpcm9ubWVudHMuXG4gICAqIEBkZWZhdWx0IFwibnB4IHByb2plblwiXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Db21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogQ2hvb3NlIGEgbWV0aG9kIG9mIHByb3ZpZGluZyBHaXRIdWIgQVBJIGFjY2VzcyBmb3IgcHJvamVuIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSB1c2UgYSBwZXJzb25hbCBhY2Nlc3MgdG9rZW4gbmFtZWQgUFJPSkVOX0dJVEhVQl9UT0tFTlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuQ3JlZGVudGlhbHM/OiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHM7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgb2YgXCJwcm9qZW5cIiBzaG91bGQgYmUgaW5zdGFsbGVkIGFzIGEgZGV2RGVwZW5kZW5jeS5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIG5vdCBhIHN1YnByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkRldkRlcGVuZGVuY3k/OiBib29sZWFuO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qcyAoaW4gSmF2YVNjcmlwdCkuIFNldCB0byBgZmFsc2VgIGluIG9yZGVyIHRvIGRpc2FibGUgLnByb2plbnJjLmpzIGdlbmVyYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBwcm9qZW5yY0pzb24gaXMgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnM/OiBib29sZWFuO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qc29uIChpbiBKU09OKS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanNvbiBnZW5lcmF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy5qc29uLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uT3B0aW9ucz86IFByb2plbnJjSnNvbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMuanMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzT3B0aW9ucz86IGphdmFzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogVXNlIFR5cGVTY3JpcHQgZm9yIHlvdXIgcHJvamVucmMgZmlsZSAoYC5wcm9qZW5yYy50c2ApLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNUcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMudHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY1RzT3B0aW9ucz86IHR5cGVzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYSBzZWNyZXQgd2hpY2ggaW5jbHVkZXMgYSBHaXRIdWIgUGVyc29uYWwgQWNjZXNzIFRva2VuIHRvIGJlIHVzZWQgYnkgcHJvamVuIHdvcmtmbG93cy5cbiAgICogVGhpcyB0b2tlbiBuZWVkcyB0byBoYXZlIHRoZSBgcmVwb2AsIGB3b3JrZmxvd3NgXG4gICAqIGFuZCBgcGFja2FnZXNgIHNjb3BlLlxuICAgKiBAZGVmYXVsdCBcIlBST0pFTl9HSVRIVUJfVE9LRU5cIlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYHByb2plbkNyZWRlbnRpYWxzYFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuVG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHByb2plbiB0byBpbnN0YWxsLlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHRzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plblZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbnN0ZWFkIG9mIGFjdHVhbGx5IHB1Ymxpc2hpbmcgdG8gcGFja2FnZSBtYW5hZ2VycywganVzdCBwcmludCB0aGUgcHVibGlzaGluZyBjb21tYW5kLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaERyeVJ1bj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmUgcHVibGlzaGluZyB0YXNrcyB0aGF0IGNhbiBiZSBleGVjdXRlZCBtYW51YWxseSBhcyB3ZWxsIGFzIHdvcmtmbG93cy5cbiAgICogTm9ybWFsbHksIHB1Ymxpc2hpbmcgb25seSBoYXBwZW5zIHdpdGhpbiBhdXRvbWF0ZWQgd29ya2Zsb3dzLiBFbmFibGUgdGhpc1xuICAgKiBpbiBvcmRlciB0byBjcmVhdGUgYSBwdWJsaXNoaW5nIHRhc2sgZm9yIGVhY2ggcHVibGlzaGluZyBhY3Rpdml0eS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUYXNrcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQdWJsaXNoIEdvIGJpbmRpbmdzIHRvIGEgZ2l0IHJlcG9zaXRvcnkuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvR28/OiBjZGsuSnNpaUdvVGFyZ2V0O1xuICAvKipcbiAgICogUHVibGlzaCB0byBtYXZlbi5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9NYXZlbj86IGNkay5Kc2lpSmF2YVRhcmdldDtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gTnVHZXQuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvTnVnZXQ/OiBjZGsuSnNpaURvdE5ldFRhcmdldDtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gcHlwaS5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9QeXBpPzogY2RrLkpzaWlQeXRob25UYXJnZXQ7XG4gIC8qKlxuICAgKiBJbmNsdWRlIGEgR2l0SHViIHB1bGwgcmVxdWVzdCB0ZW1wbGF0ZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbFJlcXVlc3RUZW1wbGF0ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgY29udGVudHMgb2YgdGhlIHB1bGwgcmVxdWVzdCB0ZW1wbGF0ZS5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGNvbnRlbnRcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0VGVtcGxhdGVDb250ZW50cz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYHB1Ymxpc2hUb1B5UGlgXG4gICAqL1xuICByZWFkb25seSBweXRob24/OiBjZGsuSnNpaVB5dGhvblRhcmdldDtcbiAgLyoqXG4gICAqIFRoZSBSRUFETUUgc2V0dXAuXG4gICAqIEBkZWZhdWx0IC0geyBmaWxlbmFtZTogJ1JFQURNRS5tZCcsIGNvbnRlbnRzOiAnIyByZXBsYWNlIHRoaXMnIH1cbiAgICovXG4gIHJlYWRvbmx5IHJlYWRtZT86IFNhbXBsZVJlYWRtZVByb3BzO1xuICAvKipcbiAgICogRmluZCBjb21taXRzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgcmVsZWFzYWJsZSBVc2VkIHRvIGRlY2lkZSBpZiBhIHJlbGVhc2UgaXMgcmVxdWlyZWQuXG4gICAqIEBkZWZhdWx0IFJlbGVhc2FibGVDb21taXRzLmV2ZXJ5Q29tbWl0KClcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2FibGVDb21taXRzPzogUmVsZWFzYWJsZUNvbW1pdHM7XG4gIC8qKlxuICAgKiBBZGQgcmVsZWFzZSBtYW5hZ2VtZW50IHRvIHRoaXMgcHJvamVjdC5cbiAgICogQGRlZmF1bHQgLSB0cnVlIChmYWxzZSBmb3Igc3VicHJvamVjdHMpXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERlZmluZXMgYWRkaXRpb25hbCByZWxlYXNlIGJyYW5jaGVzLlxuICAgKiBBIHdvcmtmbG93IHdpbGwgYmUgY3JlYXRlZCBmb3IgZWFjaFxuICAgKiByZWxlYXNlIGJyYW5jaCB3aGljaCB3aWxsIHB1Ymxpc2ggcmVsZWFzZXMgZnJvbSBjb21taXRzIGluIHRoaXMgYnJhbmNoLlxuICAgKiBFYWNoIHJlbGVhc2UgYnJhbmNoIF9tdXN0XyBiZSBhc3NpZ25lZCBhIG1ham9yIHZlcnNpb24gbnVtYmVyIHdoaWNoIGlzIHVzZWRcbiAgICogdG8gZW5mb3JjZSB0aGF0IHZlcnNpb25zIHB1Ymxpc2hlZCBmcm9tIHRoYXQgYnJhbmNoIGFsd2F5cyB1c2UgdGhhdCBtYWpvclxuICAgKiB2ZXJzaW9uLiBJZiBtdWx0aXBsZSBicmFuY2hlcyBhcmUgdXNlZCwgdGhlIGBtYWpvclZlcnNpb25gIGZpZWxkIG11c3QgYWxzb1xuICAgKiBiZSBwcm92aWRlZCBmb3IgdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYnJhbmNoZXMgYXJlIHVzZWQgZm9yIHJlbGVhc2UuIHlvdSBjYW4gdXNlXG5gYWRkQnJhbmNoKClgIHRvIGFkZCBhZGRpdGlvbmFsIGJyYW5jaGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUJyYW5jaGVzPzogUmVjb3JkPHN0cmluZywgcmVsZWFzZS5CcmFuY2hPcHRpb25zPjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgcmVsZWFzZSBuZXcgdmVyc2lvbnMgZXZlcnkgY29tbWl0IHRvIG9uZSBvZiBicmFuY2hlcyBpbiBgcmVsZWFzZUJyYW5jaGVzYC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHJlbGVhc2VUcmlnZ2VyOiBSZWxlYXNlVHJpZ2dlci5jb250aW51b3VzKClgIGluc3RlYWRcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VFdmVyeUNvbW1pdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBnaXRodWIgaXNzdWUgb24gZXZlcnkgZmFpbGVkIHB1Ymxpc2hpbmcgdGFzay5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VGYWlsdXJlSXNzdWU/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGFwcGx5IHRvIGlzc3VlcyBpbmRpY2F0aW5nIHB1Ymxpc2ggZmFpbHVyZXMuXG4gICAqIE9ubHkgYXBwbGllcyBpZiBgcmVsZWFzZUZhaWx1cmVJc3N1ZWAgaXMgdHJ1ZS5cbiAgICogQGRlZmF1bHQgXCJmYWlsZWQtcmVsZWFzZVwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlRmFpbHVyZUlzc3VlTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDUk9OIHNjaGVkdWxlIHRvIHRyaWdnZXIgbmV3IHJlbGVhc2VzLlxuICAgKiBAZGVmYXVsdCAtIG5vIHNjaGVkdWxlZCByZWxlYXNlc1xuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHJlbGVhc2VUcmlnZ2VyOiBSZWxlYXNlVHJpZ2dlci5zY2hlZHVsZWQoKWAgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVNjaGVkdWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgdGhlIGdpdmVuIHByZWZpeCB0byByZWxlYXNlIHRhZ3MuIFVzZWZ1bCBpZiB5b3UgYXJlIHJlbGVhc2luZyBvbiBtdWx0aXBsZSBicmFuY2hlcyB3aXRoIG92ZXJsYXBwaW5nIHZlcnNpb24gbnVtYmVycy5cbiAgICogTm90ZTogdGhpcyBwcmVmaXggaXMgdXNlZCB0byBkZXRlY3QgdGhlIGxhdGVzdCB0YWdnZWQgdmVyc2lvblxuICAgKiB3aGVuIGJ1bXBpbmcsIHNvIGlmIHlvdSBjaGFuZ2UgdGhpcyBvbiBhIHByb2plY3Qgd2l0aCBhbiBleGlzdGluZyB2ZXJzaW9uXG4gICAqIGhpc3RvcnksIHlvdSBtYXkgbmVlZCB0byBtYW51YWxseSB0YWcgeW91ciBsYXRlc3QgcmVsZWFzZVxuICAgKiB3aXRoIHRoZSBuZXcgcHJlZml4LlxuICAgKiBAZGVmYXVsdCBcInZcIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVRhZ1ByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgcmVsZWFzZSB0byBucG0gd2hlbiBuZXcgdmVyc2lvbnMgYXJlIGludHJvZHVjZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVG9OcG0/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHJlbGVhc2UgdHJpZ2dlciB0byB1c2UuXG4gICAqIEBkZWZhdWx0IC0gQ29udGludW91cyByZWxlYXNlcyAoYFJlbGVhc2VUcmlnZ2VyLmNvbnRpbnVvdXMoKWApXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVHJpZ2dlcj86IHJlbGVhc2UuUmVsZWFzZVRyaWdnZXI7XG4gIC8qKlxuICAgKiBERVBSRUNBVEVEOiByZW5hbWVkIHRvIGByZWxlYXNlYC5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIG5vdCBhIHN1YnByb2plY3RcbiAgICogQGRlcHJlY2F0ZWQgc2VlIGByZWxlYXNlYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VXb3JrZmxvdz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGVmYXVsdCByZWxlYXNlIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCBcInJlbGVhc2VcIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgc2V0IG9mIHdvcmtmbG93IHN0ZXBzIHRvIGV4ZWN1dGUgaW4gb3JkZXIgdG8gc2V0dXAgdGhlIHdvcmtmbG93IGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VXb3JrZmxvd1NldHVwU3RlcHM/OiBBcnJheTxnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXA+O1xuICAvKipcbiAgICogVXNlIHJlbm92YXRlYm90IHRvIGhhbmRsZSBkZXBlbmRlbmN5IHVwZ3JhZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVub3ZhdGVib3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcmVub3ZhdGVib3QuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSByZW5vdmF0ZWJvdE9wdGlvbnM/OiBSZW5vdmF0ZWJvdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIGdlbmVyYXRlZCBmcm9tIG9yZyB0ZW5hbmN5IGFuZCBwYWNrYWdlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiB0aGUgcGFja2FnZS5qc29uIGZvciB5b3VyIHBhY2thZ2UgaXMgbm90IGluIHRoZSByb290IGRpcmVjdG9yeSAoZm9yIGV4YW1wbGUgaWYgaXQgaXMgcGFydCBvZiBhIG1vbm9yZXBvKSwgeW91IGNhbiBzcGVjaWZ5IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggaXQgbGl2ZXMuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5RGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlZmF1bHQgLSBnZW5lcmF0ZWQgZnJvbSBvcmcgdGVuYW5jeSBhbmQgcGFja2FnZSBuYW1lXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcmVwb3NpdG9yeWBcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnlVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCBcIi5cIlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdGRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHJvc2V0dGE6ZXh0cmFjdCB0YXNrXG4gICAqL1xuICByZWFkb25seSByb3NldHRhT3B0aW9ucz86IFJvc2V0dGFPcHRpb25zO1xuICAvKipcbiAgICogR2VuZXJhdGUgb25lLXRpbWUgc2FtcGxlIGluIGBzcmMvYCBhbmQgYHRlc3QvYCBpZiB0aGVyZSBhcmUgbm8gZmlsZXMgdGhlcmUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNhbXBsZUNvZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcHJpdmF0ZWx5IGhvc3RlZCBzY29wZWQgcGFja2FnZXMuXG4gICAqIEBkZWZhdWx0IC0gZmV0Y2ggYWxsIHNjb3BlZCBwYWNrYWdlcyBmcm9tIHRoZSBwdWJsaWMgbnBtIHJlZ2lzdHJ5XG4gICAqL1xuICByZWFkb25seSBzY29wZWRQYWNrYWdlc09wdGlvbnM/OiBBcnJheTxqYXZhc2NyaXB0LlNjb3BlZFBhY2thZ2VzT3B0aW9ucz47XG4gIC8qKlxuICAgKiBucG0gc2NyaXB0cyB0byBpbmNsdWRlLlxuICAgKiBJZiBhIHNjcmlwdCBoYXMgdGhlIHNhbWUgbmFtZSBhcyBhIHN0YW5kYXJkIHNjcmlwdCxcbiAgICogdGhlIHN0YW5kYXJkIHNjcmlwdCB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuICAgKiBBbHNvIGFkZHMgdGhlIHNjcmlwdCBhcyBhIHRhc2suXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHJvamVjdC5hZGRUYXNrKClgIG9yIGBwYWNrYWdlLnNldFNjcmlwdCgpYFxuICAgKi9cbiAgcmVhZG9ubHkgc2NyaXB0cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBTZXQgYSBtaW5pbWFsIG5vZGUgdmVyc2lvbiB2aWEgdGhlIGVuZ2luZXMgZmllbGRcbiAgICogU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiBhIHBhY2thZ2UgZGlkIG5vdCBlbmZvcmNlIHRoaXMgcHJldmlvdXNseSBhbmQgd2UgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgdGhpcyBmb3Igbm93LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZXROb2RlRW5naW5lVmVyc2lvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUeXBlc2NyaXB0IHNvdXJjZXMgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcInNyY1wiXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWNrYWdlJ3MgU3RhYmlsaXR5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhYmlsaXR5Pzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0by1jbG9zZSBvZiBzdGFsZSBpc3N1ZXMgYW5kIHB1bGwgcmVxdWVzdC5cbiAgICogU2VlIGBzdGFsZU9wdGlvbnNgIGZvciBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbGU/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0by1jbG9zZSBzdGFsZSBpc3N1ZXMgYW5kIHB1bGwgcmVxdWVzdHMuXG4gICAqIFRvIGRpc2FibGUgc2V0IGBzdGFsZWAgdG8gYGZhbHNlYC5cbiAgICogQGRlZmF1bHQgLSBzZWUgZGVmYXVsdHMgaW4gYFN0YWxlT3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IHN0YWxlT3B0aW9ucz86IGdpdGh1Yi5TdGFsZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgb3JnYW5pemF0aW9uIHRoaXMgcHJvamVjdCBpcyBwYXJ0IG9mLlxuICAgKiBAZGVmYXVsdCAtIEF1dG8gZGV0ZWN0ZWQgZnJvbSBwYWNrYWdlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHRlbmFuY3k/OiBPcmdUZW5hbmN5O1xuICAvKipcbiAgICogSmVzdCB0ZXN0cyBkaXJlY3RvcnkuIFRlc3RzIGZpbGVzIHNob3VsZCBiZSBuYW1lZCBgeHh4LnRlc3QudHNgLlxuICAgKiBJZiB0aGlzIGRpcmVjdG9yeSBpcyB1bmRlciBgc3JjZGlyYCAoZS5nLiBgc3JjL3Rlc3RgLCBgc3JjL19fdGVzdHNfX2ApLFxuICAgKiB0aGVuIHRlc3RzIGFyZSBnb2luZyB0byBiZSBjb21waWxlZCBpbnRvIGBsaWIvYCBhbmQgZXhlY3V0ZWQgYXMgamF2YXNjcmlwdC5cbiAgICogSWYgdGhlIHRlc3QgZGlyZWN0b3J5IGlzIG91dHNpZGUgb2YgYHNyY2AsIHRoZW4gd2UgY29uZmlndXJlIGplc3QgdG9cbiAgICogY29tcGlsZSB0aGUgY29kZSBpbi1tZW1vcnkuXG4gICAqIEBkZWZhdWx0IFwidGVzdFwiXG4gICAqL1xuICByZWFkb25seSB0ZXN0ZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIFRTQ29uZmlnLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBqYXZhc2NyaXB0LlR5cGVzY3JpcHRDb25maWdPcHRpb25zO1xuICAvKipcbiAgICogQ3VzdG9tIHRzY29uZmlnIG9wdGlvbnMgZm9yIHRoZSBkZXZlbG9wbWVudCB0c2NvbmZpZy5qc29uIGZpbGUgKHVzZWQgZm9yIHRlc3RpbmcpLlxuICAgKiBAZGVmYXVsdCAtIHVzZSB0aGUgcHJvZHVjdGlvbiB0c2NvbmZpZyBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ0Rldj86IGphdmFzY3JpcHQuVHlwZXNjcmlwdENvbmZpZ09wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGV2ZWxvcG1lbnQgdHNjb25maWcuanNvbiBmaWxlLlxuICAgKiBAZGVmYXVsdCBcInRzY29uZmlnLmRldi5qc29uXCJcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnRGV2RmlsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRzLWplc3QuXG4gICAqL1xuICByZWFkb25seSB0c0plc3RPcHRpb25zPzogdHlwZXNjcmlwdC5Uc0plc3RPcHRpb25zO1xuICAvKipcbiAgICogVHlwZVNjcmlwdCB2ZXJzaW9uIHRvIHVzZS5cbiAgICogTk9URTogVHlwZXNjcmlwdCBpcyBub3Qgc2VtYW50aWNhbGx5IHZlcnNpb25lZCBhbmQgc2hvdWxkIHJlbWFpbiBvbiB0aGVcbiAgICogc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3kgKGUuZy4gYH4xLjIuM2ApLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSB0eXBlc2NyaXB0VmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIHRoZSBzZXBhcmF0ZSB3b3JrZmxvdyB0byB1cGdyYWRlIHRoZSBjZGtsYWJzLXByb2plbi1wcm9qZWN0LXR5cGVzIGRlcGVuZGVuY2llcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXBncmFkZUNka2xhYnNQcm9qZW5Qcm9qZWN0VHlwZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBoYXZlIGEgc2VwYXJhdGUgd29ya2Zsb3cgdG8gdXBncmFkZSBydW50aW1lIGRlcHMgYW5kIG1hcmsgdGhpcyBQUiBhcyBmaXguXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHVwZ3JhZGVSdW50aW1lRGVwc0FzRml4PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEN1c3RvbSBjb25maWd1cmF0aW9uIHVzZWQgd2hlbiBjcmVhdGluZyBjaGFuZ2Vsb2cgd2l0aCBjb21taXQtYW5kLXRhZy12ZXJzaW9uIHBhY2thZ2UuXG4gICAqIEdpdmVuIHZhbHVlcyBlaXRoZXIgYXBwZW5kIHRvIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvciBvdmVyd3JpdGUgdmFsdWVzIGluIGl0LlxuICAgKiBAZGVmYXVsdCAtIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gYXBwbGljYWJsZSBmb3IgR2l0SHViIHJlcG9zaXRvcmllc1xuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbnJjT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBFbmFibGUgVlNDb2RlIGludGVncmF0aW9uLlxuICAgKiBFbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHJvb3QgcHJvamVjdHMuIERpc2FibGVkIGZvciBub24tcm9vdCBwcm9qZWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdnNjb2RlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdvcmtmbG93IHN0ZXBzIHRvIHVzZSBpbiBvcmRlciB0byBib290c3RyYXAgdGhpcyByZXBvLlxuICAgKiBAZGVmYXVsdCBcInlhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZSAmJiB5YXJuIHByb2plblwiXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Jvb3RzdHJhcFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIENvbnRhaW5lciBpbWFnZSB0byB1c2UgZm9yIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dDb250YWluZXJJbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBnaXQgaWRlbnRpdHkgdG8gdXNlIGluIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSBHaXRIdWIgQWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dHaXRJZGVudGl0eT86IGdpdGh1Yi5HaXRJZGVudGl0eTtcbiAgLyoqXG4gICAqIFRoZSBub2RlIHZlcnNpb24gdG8gdXNlIGluIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0ICdsdHMvKidcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgTm9kZS5qcyBwYWNrYWdlIGNhY2hlIGluIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1BhY2thZ2VDYWNoZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHMuXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgR3JvdXAgc2VsZWN0aW9uIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1J1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgWWFybiBCZXJyeS5cbiAgICogQGRlZmF1bHQgLSBZYXJuIEJlcnJ5IHY0IHdpdGggYWxsIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgeWFybkJlcnJ5T3B0aW9ucz86IGphdmFzY3JpcHQuWWFybkJlcnJ5T3B0aW9ucztcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCB7IGdpdGh1YiwgamF2YXNjcmlwdCwgY2RrLCBJZ25vcmVGaWxlT3B0aW9ucywgR2l0T3B0aW9ucywgYXdzY2RrLCBMb2dnZXJPcHRpb25zLCBQcm9qZWN0LCBQcm9qZWN0VHlwZSwgUHJvamVucmNKc29uT3B0aW9ucywgdHlwZXNjcmlwdCwgU2FtcGxlUmVhZG1lUHJvcHMsIFJlbGVhc2FibGVDb21taXRzLCByZWxlYXNlLCBSZW5vdmF0ZWJvdE9wdGlvbnMsIEdyb3VwUnVubmVyT3B0aW9ucyB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBSb3NldHRhT3B0aW9ucywgT3JnVGVuYW5jeSB9IGZyb20gJy4vJztcblxuLyoqXG4gKiBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFsbG93IHRoZSBwcm9qZWN0IHRvIGluY2x1ZGUgYHBlZXJEZXBlbmRlbmNpZXNgIGFuZCBgYnVuZGxlZERlcGVuZGVuY2llc2AuXG4gICAqIFRoaXMgaXMgbm9ybWFsbHkgb25seSBhbGxvd2VkIGZvciBsaWJyYXJpZXMuIEZvciBhcHBzLCB0aGVyZSdzIG5vIG1lYW5pbmdcbiAgICogZm9yIHNwZWNpZnlpbmcgdGhlc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93TGlicmFyeURlcGVuZGVuY2llcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGRpcmVjdG9yeSB3aGljaCB3aWxsIGNvbnRhaW4gYnVpbGQgYXJ0aWZhY3RzLlxuICAgKiBAZGVmYXVsdCBcImRpc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RzRGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgYXV0aG9yLlxuICAgKiBAZGVmYXVsdCAkR0lUX1VTRVJfTkFNRVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbWFpbCBvciBVUkwgb2YgdGhlIGxpYnJhcnkgYXV0aG9yLlxuICAgKiBAZGVmYXVsdCAkR0lUX1VTRVJfRU1BSUxcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckFkZHJlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dGhvcidzIGUtbWFpbC5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckVtYWlsPzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0aG9yJ3MgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvck5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJcyB0aGUgYXV0aG9yIGFuIG9yZ2FuaXphdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvck9yZ2FuaXphdGlvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRob3IncyBVUkwgLyBXZWJzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yVXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogRW5hYmxlIGFuZCBjb25maWd1cmUgdGhlICdhdXRvIGFwcHJvdmUnIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCAtIGF1dG8gYXBwcm92ZSBpcyBkaXNhYmxlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0FwcHJvdmVPcHRpb25zPzogZ2l0aHViLkF1dG9BcHByb3ZlT3B0aW9ucztcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYXBwcm92ZSBkZXBzIHVwZ3JhZGUgUFJzLCBhbGxvd2luZyB0aGVtIHRvIGJlIG1lcmdlZCBieSBtZXJnaWZ5IChpZiBjb25maWd1ZWQpLlxuICAgKiBUaHJvdyBpZiBzZXQgdG8gdHJ1ZSBidXQgYGF1dG9BcHByb3ZlT3B0aW9uc2AgYXJlIG5vdCBkZWZpbmVkLlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9BcHByb3ZlVXBncmFkZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgYWxsIGV4ZWN1dGFibGVzIHVuZGVyIHRoZSBgYmluYCBkaXJlY3RvcnkgdG8geW91ciBgcGFja2FnZS5qc29uYCBmaWxlIHVuZGVyIHRoZSBgYmluYCBzZWN0aW9uLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhdXRvRGV0ZWN0QmluPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAqIEhhcyBubyBlZmZlY3QgaWYgYGdpdGh1Yi5tZXJnaWZ5YFxuICAgKiBpcyBzZXQgdG8gZmFsc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgb3B0aW9ucyBmb3IgYXV0b21hdGljIG1lcmdpbmcgb24gR2l0SHViLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmXG4gICAqIGBnaXRodWIubWVyZ2lmeWAgb3IgYGF1dG9NZXJnZWAgaXMgc2V0IHRvIGZhbHNlLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgQXV0b01lcmdlT3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZU9wdGlvbnM/OiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucztcbiAgLyoqXG4gICAqIEJpbmFyeSBwcm9ncmFtcyB2ZW5kZWQgd2l0aCB5b3VyIG1vZHVsZS5cbiAgICogWW91IGNhbiB1c2UgdGhpcyBvcHRpb24gdG8gYWRkL2N1c3RvbWl6ZSBob3cgYmluYXJpZXMgYXJlIHJlcHJlc2VudGVkIGluXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAsIGJ1dCB1bmxlc3MgYGF1dG9EZXRlY3RCaW5gIGlzIGBmYWxzZWAsIGV2ZXJ5XG4gICAqIGV4ZWN1dGFibGUgZmlsZSB1bmRlciBgYmluYCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgYWRkZWQgdG8gdGhpcyBzZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYmluPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHRvIHdoaWNoIGlzc3VlcyBzaG91bGQgYmUgcmVwb3J0ZWQuXG4gICAqL1xuICByZWFkb25seSBidWdzRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdXJsIHRvIHlvdXIgcHJvamVjdCdzIGlzc3VlIHRyYWNrZXIuXG4gICAqL1xuICByZWFkb25seSBidWdzVXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lIGEgR2l0SHViIHdvcmtmbG93IGZvciBidWlsZGluZyBQUnMuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBub3QgYSBzdWJwcm9qZWN0XG4gICAqL1xuICByZWFkb25seSBidWlsZFdvcmtmbG93PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIFBSIGJ1aWxkIHdvcmtmbG93LlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvd09wdGlvbnM/OiBqYXZhc2NyaXB0LkJ1aWxkV29ya2Zsb3dPcHRpb25zO1xuICAvKipcbiAgICogQnVpbGQgd29ya2Zsb3cgdHJpZ2dlcnMuXG4gICAqIEBkZWZhdWx0IFwieyBwdWxsUmVxdWVzdDoge30sIHdvcmtmbG93RGlzcGF0Y2g6IHt9IH1cIlxuICAgKiBAZGVwcmVjYXRlZCAtIFVzZSBgYnVpbGRXb3JrZmxvd09wdGlvbnMud29ya2Zsb3dUcmlnZ2Vyc2BcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3dUcmlnZ2Vycz86IGdpdGh1Yi53b3JrZmxvd3MuVHJpZ2dlcnM7XG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqIEBkZWZhdWx0IC0gQSByZWNlbnQgdmVyc2lvbiBvZiBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25cIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGRlcGVuZGVuY2llcyB0byBidW5kbGUgaW50byB0aGlzIG1vZHVsZS5cbiAgICogVGhlc2UgbW9kdWxlcyB3aWxsIGJlXG4gICAqIGFkZGVkIGJvdGggdG8gdGhlIGBkZXBlbmRlbmNpZXNgIHNlY3Rpb24gYW5kIGBidW5kbGVkRGVwZW5kZW5jaWVzYCBzZWN0aW9uIG9mXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAuXG4gICAqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICovXG4gIHJlYWRvbmx5IGJ1bmRsZWREZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGBCdW5kbGVyYC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1bmRsZXJPcHRpb25zPzogamF2YXNjcmlwdC5CdW5kbGVyT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIEJ1biB0byB1c2UgaWYgdXNpbmcgQnVuIGFzIGEgcGFja2FnZSBtYW5hZ2VyLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSBidW5WZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogTGlicmFyaWVzIHdpbGwgYmUgcGlja2VkIHVwIGJ5IHRoZSBjb25zdHJ1Y3QgY2F0YWxvZyB3aGVuIHRoZXkgYXJlIHB1Ymxpc2hlZCB0byBucG0gYXMganNpaSBtb2R1bGVzIGFuZCB3aWxsIGJlIHB1Ymxpc2hlZCB1bmRlcjouXG4gICAqIGh0dHBzOi8vYXdzY2RrLmlvL3BhY2thZ2VzL1tAU0NPUEUvXVBBQ0tBR0VAVkVSU0lPTlxuICAgKlxuICAgKiBUaGUgY2F0YWxvZyB3aWxsIGFsc28gcG9zdCBhIHR3ZWV0IHRvIGh0dHBzOi8vdHdpdHRlci5jb20vYXdzY2RraW8gd2l0aCB0aGVcbiAgICogcGFja2FnZSBuYW1lLCBkZXNjcmlwdGlvbiBhbmQgdGhlIGFib3ZlIGxpbmsuIFlvdSBjYW4gZGlzYWJsZSB0aGVzZSB0d2VldHNcbiAgICogdGhyb3VnaCBgeyBhbm5vdW5jZTogZmFsc2UgfWAuXG4gICAqXG4gICAqIFlvdSBjYW4gYWxzbyBhZGQgYSBUd2l0dGVyIGhhbmRsZSB0aHJvdWdoIGB7IHR3aXR0ZXI6ICd4eCcgfWAgd2hpY2ggd2lsbCBiZVxuICAgKiBtZW50aW9uZWQgaW4gdGhlIHR3ZWV0LlxuICAgKiBAZGVmYXVsdCAtIG5ldyB2ZXJzaW9uIHdpbGwgYmUgYW5ub3VuY2VkXG4gICAqL1xuICByZWFkb25seSBjYXRhbG9nPzogY2RrLkNhdGFsb2c7XG4gIC8qKlxuICAgKiBXYXJuaW5nOiBOb2RlSlMgb25seS5cbiAgICogSW5zdGFsbCB0aGVcbiAgICogQGRlZmF1bHQgLSB3aWxsIGJlIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yIEFXUyBDREsgPj0gMS4wLjAgPCAyLjAuMFxuICAgKiBAZGVwcmVjYXRlZCBUaGVcbiAgICovXG4gIHJlYWRvbmx5IGNka0Fzc2VydD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbnN0YWxsIHRoZSBhc3NlcnRpb25zIGxpYnJhcnk/XG4gICAqIE9ubHkgbmVlZGVkIGZvciBDREsgMS54LiBJZiB1c2luZyBDREsgMi54IHRoZW5cbiAgICogYXNzZXJ0aW9ucyBpcyBhbHJlYWR5IGluY2x1ZGVkIGluICdhd3MtY2RrLWxpYidcbiAgICogQGRlZmF1bHQgLSB3aWxsIGJlIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yIEFXUyBDREsgPj0gMS4xMTEuMCA8IDIuMC4wXG4gICAqL1xuICByZWFkb25seSBjZGtBc3NlcnRpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFZlcnNpb24gcmFuZ2Ugb2YgdGhlIEFXUyBDREsgQ0xJIHRvIGRlcGVuZCBvbi5cbiAgICogQ2FuIGJlIGVpdGhlciBhIHNwZWNpZmljIHZlcnNpb24sIG9yIGFuIE5QTSB2ZXJzaW9uIHJhbmdlLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGF0ZXN0IDIueCB2ZXJzaW9uIHdpbGwgYmUgaW5zdGFsbGVkOyB5b3UgY2FuIHVzZSB0aGlzXG4gICAqIG9wdGlvbiB0byByZXN0cmljdCBpdCB0byBhIHNwZWNpZmljIHZlcnNpb24gb3IgdmVyc2lvbiByYW5nZS5cbiAgICogQGRlZmF1bHQgXCJeMlwiXG4gICAqL1xuICByZWFkb25seSBjZGtDbGlWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hpY2ggQVdTIENES3YxIG1vZHVsZXMgdGhpcyBwcm9qZWN0IHJlcXVpcmVzLlxuICAgKiBAZGVwcmVjYXRlZCBGb3IgQ0RLIDIueCB1c2UgXCJkZXBzXCIgaW5zdGVhZC4gKG9yIFwicGVlckRlcHNcIiBpZiB5b3UncmUgYnVpbGRpbmcgYSBsaWJyYXJ5KVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIElmIHRoaXMgaXMgZW5hYmxlZCAoZGVmYXVsdCksIGFsbCBtb2R1bGVzIGRlY2xhcmVkIGluIGBjZGtEZXBlbmRlbmNpZXNgIHdpbGwgYmUgYWxzbyBhZGRlZCBhcyBub3JtYWwgYGRlcGVuZGVuY2llc2AgKGFzIHdlbGwgYXMgYHBlZXJEZXBlbmRlbmNpZXNgKS5cbiAgICogVGhpcyBpcyB0byBlbnN1cmUgdGhhdCBkb3duc3RyZWFtIGNvbnN1bWVycyBhY3R1YWxseSBoYXZlIHlvdXIgQ0RLIGRlcGVuZGVuY2llcyBpbnN0YWxsZWRcbiAgICogd2hlbiB1c2luZyBucG0gPCA3IG9yIHlhcm4sIHdoZXJlIHBlZXIgZGVwZW5kZW5jaWVzIGFyZSBub3QgYXV0b21hdGljYWxseSBpbnN0YWxsZWQuXG4gICAqIElmIHRoaXMgaXMgZGlzYWJsZWQsIGBjZGtEZXBlbmRlbmNpZXNgIHdpbGwgYmUgYWRkZWQgdG8gYGRldkRlcGVuZGVuY2llc2AgdG8gZW5zdXJlXG4gICAqIHRoZXkgYXJlIHByZXNlbnQgZHVyaW5nIGRldmVsb3BtZW50LlxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHNldHRpbmcgb25seSBhcHBsaWVzIHRvIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3RzXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGRlcHJlY2F0ZWQgTm90IHN1cHBvcnRlZCBpbiBDREsgdjIuXG4gICAqL1xuICByZWFkb25seSBjZGtEZXBlbmRlbmNpZXNBc0RlcHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQVdTIENESyBtb2R1bGVzIHJlcXVpcmVkIGZvciB0ZXN0aW5nLlxuICAgKiBAZGVwcmVjYXRlZCBGb3IgQ0RLIDIueCB1c2UgJ2RldkRlcHMnIChpbiBub2RlLmpzIHByb2plY3RzKSBvciAndGVzdERlcHMnIChpbiBqYXZhIHByb2plY3RzKSBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBjZGtUZXN0RGVwZW5kZW5jaWVzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIE1pbmltdW0gdmVyc2lvbiBvZiB0aGUgQVdTIENESyB0byBkZXBlbmQgb24uXG4gICAqIEBkZWZhdWx0IFwiMi4xLjBcIlxuICAgKi9cbiAgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgQ0RLLlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgbWl4ZWQgdmVyc2lvbnMgZm9yIHlvdXIgQ0RLIGRlcGVuZGVuY2llcyBhbmQgdG8gcHJldmVudCBhdXRvLXVwZGF0ZXMuXG4gICAqIElmIHlvdSB1c2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIHRoaXMgd2lsbCBsZXQgeW91IGRlZmluZSB0aGUgbW9tZW50IHlvdSBpbmNsdWRlIGJyZWFraW5nIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBjZGtWZXJzaW9uUGlubmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgd2hpY2ggbGljZW5zZXMgc2hvdWxkIGJlIGRlZW1lZCBhY2NlcHRhYmxlIGZvciB1c2UgYnkgZGVwZW5kZW5jaWVzLlxuICAgKiBUaGlzIHNldHRpbmcgd2lsbCBjYXVzZSB0aGUgYnVpbGQgdG8gZmFpbCwgaWYgYW55IHByb2hpYml0ZWQgb3Igbm90IGFsbG93ZWQgbGljZW5zZXMgYXJlcyBlbmNvdW50ZXJlZC5cbiAgICogQGRlZmF1bHQgLSBubyBsaWNlbnNlIGNoZWNrcyBhcmUgcnVuIGR1cmluZyB0aGUgYnVpbGQgYW5kIGFsbCBsaWNlbnNlcyB3aWxsIGJlIGFjY2VwdGVkXG4gICAqL1xuICByZWFkb25seSBjaGVja0xpY2Vuc2VzPzogamF2YXNjcmlwdC5MaWNlbnNlQ2hlY2tlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBBZGQgYSBgY2xvYmJlcmAgdGFzayB3aGljaCByZXNldHMgdGhlIHJlcG8gdG8gb3JpZ2luLlxuICAgKiBAZGVmYXVsdCAtIHRydWUsIGJ1dCBmYWxzZSBmb3Igc3VicHJvamVjdHNcbiAgICovXG4gIHJlYWRvbmx5IGNsb2JiZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgbnBtIHBhY2thZ2VzIHVzaW5nIEFXUyBDb2RlQXJ0aWZhY3QuXG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgaWYgcHVibGlzaGluZyBwYWNrYWdlcyB0bywgb3IgaW5zdGFsbGluZyBzY29wZWQgcGFja2FnZXMgZnJvbSBBV1MgQ29kZUFydGlmYWN0XG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBjb2RlQXJ0aWZhY3RPcHRpb25zPzogamF2YXNjcmlwdC5Db2RlQXJ0aWZhY3RPcHRpb25zO1xuICAvKipcbiAgICogRGVmaW5lIGEgR2l0SHViIHdvcmtmbG93IHN0ZXAgZm9yIHNlbmRpbmcgY29kZSBjb3ZlcmFnZSBtZXRyaWNzIHRvIGh0dHBzOi8vY29kZWNvdi5pby8gVXNlcyBjb2RlY292L2NvZGVjb3YtYWN0aW9uQHY0IEEgc2VjcmV0IGlzIHJlcXVpcmVkIGZvciBwcml2YXRlIHJlcG9zLiBDb25maWd1cmVkIHdpdGggYEBjb2RlQ292VG9rZW5TZWNyZXRgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUNvdj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHNlY3JldCBuYW1lIGZvciBhIHNwZWNpZmllZCBodHRwczovL2NvZGVjb3YuaW8vIHRva2VuIEEgc2VjcmV0IGlzIHJlcXVpcmVkIHRvIHNlbmQgY292ZXJhZ2UgZm9yIHByaXZhdGUgcmVwb3NpdG9yaWVzLlxuICAgKiBAZGVmYXVsdCAtIGlmIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQsIG9ubHkgcHVibGljIHJlcG9zaXRvcmllcyBhcmUgc3VwcG9ydGVkXG4gICAqL1xuICByZWFkb25seSBjb2RlQ292VG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbW1pdCB0aGUgbWFuYWdlZCBmaWxlcyBieSBkZWZhdWx0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjb21taXRHZW5lcmF0ZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBydW4gQVBJIGNvbXBhdGliaWxpdHkgdGVzdCBhZ2FpbnN0IHRoZSBsYXRlc3QgdmVyc2lvbiBwdWJsaXNoZWQgdG8gbnBtIGFmdGVyIGNvbXBpbGF0aW9uLlxuICAgKiAtIFlvdSBjYW4gbWFudWFsbHkgcnVuIGNvbXBhdGliaWxpdHkgdGVzdHMgdXNpbmcgYHlhcm4gY29tcGF0YCBpZiB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQuXG4gICAqIC0gWW91IGNhbiBpZ25vcmUgY29tcGF0aWJpbGl0eSBmYWlsdXJlcyBieSBhZGRpbmcgbGluZXMgdG8gYSBcIi5jb21wYXRpZ25vcmVcIiBmaWxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGlnbm9yZSBmaWxlIGZvciBBUEkgY29tcGF0aWJpbGl0eSB0ZXN0cy5cbiAgICogQGRlZmF1bHQgXCIuY29tcGF0aWdub3JlXCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbXBhdElnbm9yZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEVtaXQgYSBjb21wcmVzc2VkIHZlcnNpb24gb2YgdGhlIGFzc2VtYmx5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3NBc3NlbWJseT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNaW5pbXVtIHZlcnNpb24gb2YgdGhlIGBjb25zdHJ1Y3RzYCBsaWJyYXJ5IHRvIGRlcGVuZCBvbi5cbiAgICogQGRlZmF1bHQgLSBmb3IgQ0RLIDEueCB0aGUgZGVmYXVsdCBpcyBcIjMuMi4yN1wiLCBmb3IgQ0RLIDIueCB0aGUgZGVmYXVsdCBpc1xuXCIxMC4wLjVcIi5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogTGljZW5zZSBjb3B5cmlnaHQgb3duZXIuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHMgdG8gdGhlIHZhbHVlIG9mIGF1dGhvck5hbWUgb3IgXCJcIiBpZiBgYXV0aG9yTmFtZWAgaXMgdW5kZWZpbmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0T3duZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY29weXJpZ2h0IHllYXJzIHRvIHB1dCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuICAgKiBAZGVmYXVsdCAtIGN1cnJlbnQgeWVhclxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0UGVyaW9kPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1haW4gcmVsZWFzZSBicmFuY2guXG4gICAqIEBkZWZhdWx0IFwibWFpblwiXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0UmVsZWFzZUJyYW5jaDogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIGRlcGVuZGFib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIENhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRlcHNVcGdyYWRlYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgZGVwZW5kYWJvdC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3RPcHRpb25zPzogZ2l0aHViLkRlcGVuZGFib3RPcHRpb25zO1xuICAvKipcbiAgICogUnVudGltZSBkZXBlbmRlbmNpZXMgb2YgdGhpcyBtb2R1bGUuXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIGlzIGp1c3QgYSBzdHJpbmcgdGhhdCBoZWxwcyBwZW9wbGUgdW5kZXJzdGFuZCB0aGUgcHVycG9zZSBvZiB0aGUgcGFja2FnZS5cbiAgICogSXQgY2FuIGJlIHVzZWQgd2hlbiBzZWFyY2hpbmcgZm9yIHBhY2thZ2VzIGluIGEgcGFja2FnZSBtYW5hZ2VyIGFzIHdlbGwuXG4gICAqIFNlZSBodHRwczovL2NsYXNzaWMueWFybnBrZy5jb20vZW4vZG9jcy9wYWNrYWdlLWpzb24vI3RvYy1kZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGQgYSBWU0NvZGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgKHVzZWQgZm9yIEdpdEh1YiBDb2Rlc3BhY2VzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRldkNvbnRhaW5lcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCdWlsZCBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBUaGVzZSBkZXBlbmRlbmNpZXMgd2lsbCBvbmx5IGJlXG4gICAqIGF2YWlsYWJsZSBpbiB5b3VyIGJ1aWxkIGVudmlyb25tZW50IGJ1dCB3aWxsIG5vdCBiZSBmZXRjaGVkIHdoZW4gdGhpc1xuICAgKiBtb2R1bGUgaXMgY29uc3VtZWQuXG4gICAqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGRldkRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogRG8gbm90IGdlbmVyYXRlIGEgYHRzY29uZmlnLmpzb25gIGZpbGUgKHVzZWQgYnkganNpaSBwcm9qZWN0cyBzaW5jZSB0c2NvbmZpZy5qc29uIGlzIGdlbmVyYXRlZCBieSB0aGUganNpaSBjb21waWxlcikuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlVHNjb25maWc/OiBib29sZWFuO1xuICAvKipcbiAgICogRG8gbm90IGdlbmVyYXRlIGEgYHRzY29uZmlnLmRldi5qc29uYCBmaWxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnRGV2PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvY2dlbiBieSBUeXBlZG9jLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZpbGUgcGF0aCBmb3IgZ2VuZXJhdGVkIGRvY3MuXG4gICAqIEBkZWZhdWx0IFwiQVBJLm1kXCJcbiAgICovXG4gIHJlYWRvbmx5IGRvY2dlbkZpbGVQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwiZG9jc1wiXG4gICAqL1xuICByZWFkb25seSBkb2NzRGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBwdWJsaXNoVG9OdWdldGBcbiAgICovXG4gIHJlYWRvbmx5IGRvdG5ldD86IGNkay5Kc2lpRG90TmV0VGFyZ2V0O1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGRzIGFuIGBjbG91ZGZyb250LmV4cGVyaW1lbnRhbC5FZGdlRnVuY3Rpb25gIGZvciBlYWNoIGAuZWRnZS1sYW1iZGEudHNgIGhhbmRsZXIgaW4geW91ciBzb3VyY2UgdHJlZS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGNhbiBtYW51YWxseSBhZGQgYW4gYGF3c2Nkay5BdXRvRGlzY292ZXJgIGNvbXBvbmVudCB0byB5b3VyIHByb2plY3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVkZ2VMYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGhlIGF1dG8gbWVyZ2Ugd29ya2Zsb3cgZm9yIFBScy5cbiAgICogVGhpcyB3aWxsIGVuYWJsZSB0aGUgYXV0byBtZXJnZSB3b3JrZmxvdyBhcyB3ZWxsIGFzIHRoZSBtZXJnZSBxdWV1ZVxuICAgKiBAZGVmYXVsdCAtIHRydWUgZm9yIHByaXZhdGUgcHJvamVjdHMsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlUFJBdXRvTWVyZ2U/OiBib29sZWFuO1xuICAvKipcbiAgICogTW9kdWxlIGVudHJ5cG9pbnQgKGBtYWluYCBpbiBgcGFja2FnZS5qc29uYCkuXG4gICAqIFNldCB0byBhbiBlbXB0eSBzdHJpbmcgdG8gbm90IGluY2x1ZGUgYG1haW5gIGluIHlvdXIgcGFja2FnZS5qc29uXG4gICAqIEBkZWZhdWx0IFwibGliL2luZGV4LmpzXCJcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgLmQudHMgZmlsZSB0aGF0IGluY2x1ZGVzIHRoZSB0eXBlIGRlY2xhcmF0aW9ucyBmb3IgdGhpcyBtb2R1bGUuXG4gICAqIEBkZWZhdWx0IC0gLmQudHMgZmlsZSBkZXJpdmVkIGZyb20gdGhlIHByb2plY3QncyBlbnRyeXBvaW50ICh1c3VhbGx5IGxpYi9pbmRleC5kLnRzKVxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludFR5cGVzPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0dXAgZXNsaW50LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlc2xpbnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRXNsaW50IG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gb3BpbmlvbmF0ZWQgZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBlc2xpbnRPcHRpb25zPzogamF2YXNjcmlwdC5Fc2xpbnRPcHRpb25zO1xuICAvKipcbiAgICogQWNjZXB0cyBhIGxpc3Qgb2YgZ2xvYiBwYXR0ZXJucy5cbiAgICogRmlsZXMgbWF0Y2hpbmcgYW55IG9mIHRob3NlIHBhdHRlcm5zIHdpbGwgYmUgZXhjbHVkZWQgZnJvbSB0aGUgVHlwZVNjcmlwdCBjb21waWxlciBpbnB1dC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwganNpaSB3aWxsIGluY2x1ZGUgYWxsICoudHMgZmlsZXMgKGV4Y2VwdCAuZC50cyBmaWxlcykgaW4gdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIgaW5wdXQuXG4gICAqIFRoaXMgY2FuIGJlIHByb2JsZW1hdGljIGZvciBleGFtcGxlIHdoZW4gdGhlIHBhY2thZ2UncyBidWlsZCBvciB0ZXN0IHByb2NlZHVyZSBnZW5lcmF0ZXMgLnRzIGZpbGVzXG4gICAqIHRoYXQgY2Fubm90IGJlIGNvbXBpbGVkIHdpdGgganNpaSdzIGNvbXBpbGVyIHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVkZVR5cGVzY3JpcHQ/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogRW5hYmxlIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciB0aGUgQVdTIENESyBpbnRlZy1ydW5uZXIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBleHBlcmltZW50YWxJbnRlZ1J1bm5lcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciB0aGUgR2l0SHViIGF1dG8gbWVyZ2Ugd29ya2Zsb3cuXG4gICAqIFRoYXQgaXMgdGhlIHdvcmtmbG93IHRoYXQgdHVybnMgb24gYXV0byBtZXJnZSBvbiBhbGwgUFJzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZ2hBdXRvTWVyZ2VPcHRpb25zPzogZ2l0aHViLkF1dG9RdWV1ZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBFbmFibGUgR2l0SHViIGludGVncmF0aW9uLlxuICAgKiBFbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHJvb3QgcHJvamVjdHMuIERpc2FibGVkIGZvciBub24tcm9vdCBwcm9qZWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIEdpdEh1YiBpbnRlZ3JhdGlvbi5cbiAgICogQGRlZmF1bHQgLSBzZWUgR2l0SHViT3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViT3B0aW9ucz86IGdpdGh1Yi5HaXRIdWJPcHRpb25zO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnRyaWVzIHRvIC5naXRpZ25vcmUuXG4gICAqL1xuICByZWFkb25seSBnaXRpZ25vcmU/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciAuZ2l0aWdub3JlIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBnaXRJZ25vcmVPcHRpb25zPzogSWdub3JlRmlsZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGdpdC5cbiAgICovXG4gIHJlYWRvbmx5IGdpdE9wdGlvbnM/OiBHaXRPcHRpb25zO1xuICAvKipcbiAgICogQWRkIGEgR2l0cG9kIGRldmVsb3BtZW50IGVudmlyb25tZW50LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0cG9kPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBhY2thZ2UncyBIb21lcGFnZSAvIFdlYnNpdGUuXG4gICAqL1xuICByZWFkb25seSBob21lcGFnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZGlzY292ZXJzIGFuZCBjcmVhdGVzIGludGVncmF0aW9uIHRlc3RzIGZvciBlYWNoIGAuaW50ZWcudHNgIGZpbGUgdW5kZXIgeW91ciB0ZXN0IGRpcmVjdG9yeS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHVwIGplc3QgdW5pdCB0ZXN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgamVzdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBKZXN0IG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBqZXN0T3B0aW9ucz86IGphdmFzY3JpcHQuSmVzdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBWZXJzaW9uIHJlcXVpcmVtZW50IG9mIGBwdWJsaWJgIHdoaWNoIGlzIHVzZWQgdG8gcHVibGlzaCBtb2R1bGVzIHRvIG5wbS5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkganNpaVJlbGVhc2VWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVmVyc2lvbiBvZiB0aGUganNpaSBjb21waWxlciB0byB1c2UuXG4gICAqIFNldCB0byBcIipcIiBpZiB5b3Ugd2FudCB0byBtYW51YWxseSBtYW5hZ2UgdGhlIHZlcnNpb24gb2YganNpaSBpbiB5b3VyXG4gICAqIHByb2plY3QgYnkgbWFuYWdpbmcgdXBkYXRlcyB0byBgcGFja2FnZS5qc29uYCBvbiB5b3VyIG93bi5cbiAgICpcbiAgICogTk9URTogVGhlIGpzaWkgY29tcGlsZXIgcmVsZWFzZXMgc2luY2UgNS4wLjAgYXJlIG5vdCBzZW1hbnRpY2FsbHkgdmVyc2lvbmVkXG4gICAqIGFuZCBzaG91bGQgcmVtYWluIG9uIHRoZSBzYW1lIG1pbm9yLCBzbyB3ZSByZWNvbW1lbmQgdXNpbmcgYSBgfmAgZGVwZW5kZW5jeVxuICAgKiAoZS5nLiBgfjUuMC4wYCkuXG4gICAqIEBkZWZhdWx0IFwifjUuNi4wXCJcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogS2V5d29yZHMgdG8gaW5jbHVkZSBpbiBgcGFja2FnZS5qc29uYC5cbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmRzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgYXdzX2xhbWJkYS5GdW5jdGlvbmAgZm9yIGVhY2ggYC5sYW1iZGEudHNgIGhhbmRsZXIgaW4geW91ciBzb3VyY2UgdHJlZS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGVpdGhlciBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCBgYXdzX2xhbWJkYS5GdW5jdGlvbi5hdXRvRGlzY292ZXIoKWAgb3IgZGVmaW5lIGEgYG5ldyBhd3NfbGFtYmRhLkZ1bmN0aW9uKClgIGZvciBlYWNoIGhhbmRsZXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGF3c2Nkay5MYW1iZGFFeHRlbnNpb25gIGZvciBlYWNoIGAubGFtYmRhLWV4dGVuc2lvbi50c2AgZW50cnlwb2ludCBpbiB5b3VyIHNvdXJjZSB0cmVlLiBJZiB0aGlzIGlzIGRpc2FibGVkLCB5b3UgY2FuIG1hbnVhbGx5IGFkZCBhbiBgYXdzY2RrLkF1dG9EaXNjb3ZlcmAgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbW1vbiBvcHRpb25zIGZvciBhbGwgQVdTIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogYXdzY2RrLkxhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbiAgLyoqXG4gICAqIFR5cGVzY3JpcHQgIGFydGlmYWN0cyBvdXRwdXQgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcImxpYlwiXG4gICAqL1xuICByZWFkb25seSBsaWJkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaWNlbnNlJ3MgU1BEWCBpZGVudGlmaWVyLlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vdHJlZS9tYWluL2xpY2Vuc2UtdGV4dCBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBsaWNlbnNlcy5cbiAgICogVXNlIHRoZSBgbGljZW5zZWRgIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBubyBsaWNlbnNlIHRvIGJlIHNwZWNpZmllZC5cbiAgICogQGRlZmF1bHQgXCJBcGFjaGUtMi4wXCJcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgYSBsaWNlbnNlIHNob3VsZCBiZSBhZGRlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbGljZW5zZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29uZmlndXJlIGxvZ2dpbmcgb3B0aW9ucyBzdWNoIGFzIHZlcmJvc2l0eS5cbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmc/OiBMb2dnZXJPcHRpb25zO1xuICAvKipcbiAgICogTWFqb3IgdmVyc2lvbiB0byByZWxlYXNlIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKiBJZiB0aGlzIGlzIHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtYWpvciB2ZXJzaW9uIGxpbmUuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHdlIGJ1bXAgdGhlIGdsb2JhbCBsYXRlc3QgdmVyc2lvbi5cbiAgICogQGRlZmF1bHQgLSBNYWpvciB2ZXJzaW9uIGlzIG5vdCBlbmZvcmNlZC5cbiAgICovXG4gIHJlYWRvbmx5IG1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG5vZGUgdmVyc2lvbiBzdXBwb3J0ZWQgYnkgdGhpcyBwYWNrYWdlLiBNb3N0IHByb2plY3RzIHNob3VsZCBub3QgdXNlIHRoaXMgb3B0aW9uLlxuICAgKiBUaGUgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggYW55IG5ld2VyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIFRoaXMgcmVxdWlyZW1lbnQgaXMgZW5mb3JjZWQgdmlhIHRoZSBlbmdpbmVzIGZpZWxkLlxuICAgKlxuICAgKiBZb3Ugd2lsbCBub3JtYWxseSBub3QgbmVlZCB0byBzZXQgdGhpcyBvcHRpb24uXG4gICAqIENvbnNpZGVyIHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91ciBwYWNrYWdlIGlzIGtub3duIHRvIG5vdCBmdW5jdGlvbiB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIEBkZWZhdWx0IC0gbm8gbWF4aW11bSB2ZXJzaW9uIGlzIGVuZm9yY2VkXG4gICAqL1xuICByZWFkb25seSBtYXhOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgbWVyZ2lmeSBzaG91bGQgYmUgZW5hYmxlZCBvbiB0aGlzIHJlcG9zaXRvcnkgb3Igbm90LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgZ2l0aHViT3B0aW9ucy5tZXJnaWZ5YCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBtZXJnaWZ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIG1lcmdpZnkuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgZ2l0aHViT3B0aW9ucy5tZXJnaWZ5T3B0aW9uc2AgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgbWVyZ2lmeU9wdGlvbnM/OiBnaXRodWIuTWVyZ2lmeU9wdGlvbnM7XG4gIC8qKlxuICAgKiBNaW5pbWFsIE1ham9yIHZlcnNpb24gdG8gcmVsZWFzZS5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHNldCB0byAxLCBhcyBicmVha2luZyBjaGFuZ2VzIGJlZm9yZSB0aGUgMS54IG1ham9yXG4gICAqIHJlbGVhc2UgYXJlIG5vdCBpbmNyZW1lbnRpbmcgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyLlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0b2dldGhlciB3aXRoIGBtYWpvclZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gdmVyc2lvbiBpcyBiZWluZyBlbmZvcmNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogTWluaW11bSBOb2RlLmpzIHZlcnNpb24gdG8gcmVxdWlyZSB2aWEgcGFja2FnZS5qc29uIGBlbmdpbmVzYCAoaW5jbHVzaXZlKS5cbiAgICpcbiAgICogT25seSBzZXQgdGhpcyBpZiB5b3VyIHBhY2thZ2Ugd2lsbCBub3Qgd29yayBwcm9wZXJseSBvbiBzcGVjaWZpYyAob2xkZXI/KVxuICAgKiBOb2RlIHZlcnNpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIFwiZW5naW5lc1wiIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgbWluTm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHVwZGF0ZSBmaWxlcyBtb2RpZmllZCBkdXJpbmcgYnVpbGRzIHRvIHB1bGwtcmVxdWVzdCBicmFuY2hlcy5cbiAgICogVGhpcyBtZWFuc1xuICAgKiB0aGF0IGFueSBmaWxlcyBzeW50aGVzaXplZCBieSBwcm9qZW4gb3IgZS5nLiB0ZXN0IHNuYXBzaG90cyB3aWxsIGFsd2F5cyBiZSB1cC10by1kYXRlXG4gICAqIGJlZm9yZSBhIFBSIGlzIG1lcmdlZC5cbiAgICpcbiAgICogSW1wbGllcyB0aGF0IFBSIGJ1aWxkcyBkbyBub3QgaGF2ZSBhbnRpLXRhbXBlciBjaGVja3MuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGRlcHJlY2F0ZWQgLSBVc2UgYGJ1aWxkV29ya2Zsb3dPcHRpb25zLm11dGFibGVCdWlsZGBcbiAgICovXG4gIHJlYWRvbmx5IG11dGFibGVCdWlsZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHlvdXIgcHJvamVjdC5cbiAgICogQGRlZmF1bHQgJEJBU0VESVJcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB0byBjb250cm9sIHRoZSBuZXh0IHZlcnNpb24gdG8gcmVsZWFzZS5cbiAgICogSWYgcHJlc2VudCwgdGhpcyBzaGVsbCBjb21tYW5kIHdpbGwgYmUgcnVuIGJlZm9yZSB0aGUgYnVtcCBpcyBleGVjdXRlZCwgYW5kXG4gICAqIGl0IGRldGVybWluZXMgd2hhdCB2ZXJzaW9uIHRvIHJlbGVhc2UuIEl0IHdpbGwgYmUgZXhlY3V0ZWQgaW4gdGhlIGZvbGxvd2luZ1xuICAgKiBlbnZpcm9ubWVudDpcbiAgICpcbiAgICogLSBXb3JraW5nIGRpcmVjdG9yeTogdGhlIHByb2plY3QgZGlyZWN0b3J5LlxuICAgKiAtIGAkVkVSU0lPTmA6IHRoZSBjdXJyZW50IHZlcnNpb24uIExvb2tzIGxpa2UgYDEuMi4zYC5cbiAgICogLSBgJExBVEVTVF9UQUdgOiB0aGUgbW9zdCByZWNlbnQgdGFnLiBMb29rcyBsaWtlIGBwcmVmaXgtdjEuMi4zYCwgb3IgbWF5IGJlIHVuc2V0LlxuICAgKlxuICAgKiBUaGUgY29tbWFuZCBzaG91bGQgcHJpbnQgb25lIG9mIHRoZSBmb2xsb3dpbmcgdG8gYHN0ZG91dGA6XG4gICAqXG4gICAqIC0gTm90aGluZzogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIGNvbW1pdCBoaXN0b3J5LlxuICAgKiAtIGB4LnkuemA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgYHgueS56YC5cbiAgICogLSBgbWFqb3J8bWlub3J8cGF0Y2hgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIHRoZSBjdXJyZW50IHZlcnNpb24gbnVtYmVyXG4gICAqICAgd2l0aCB0aGUgaW5kaWNhdGVkIGNvbXBvbmVudCBidW1wZWQuXG4gICAqXG4gICAqIFRoaXMgc2V0dGluZyBjYW5ub3QgYmUgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGggYG1pbk1ham9yVmVyc2lvbmA7IHRoZSBpbnZva2VkXG4gICAqIHNjcmlwdCBjYW4gYmUgdXNlZCB0byBhY2hpZXZlIHRoZSBlZmZlY3RzIG9mIGBtaW5NYWpvclZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIFRoZSBuZXh0IHZlcnNpb24gd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBjb21taXQgaGlzdG9yeSBhbmQgcHJvamVjdCBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IG5leHRWZXJzaW9uQ29tbWFuZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFjY2VzcyBsZXZlbCBvZiB0aGUgbnBtIHBhY2thZ2UuXG4gICAqIEBkZWZhdWx0IC0gZm9yIHNjb3BlZCBwYWNrYWdlcyAoZS5nLiBgZm9vQGJhcmApLCB0aGUgZGVmYXVsdCBpc1xuYE5wbUFjY2Vzcy5SRVNUUklDVEVEYCwgZm9yIG5vbi1zY29wZWQgcGFja2FnZXMsIHRoZSBkZWZhdWx0IGlzXG5gTnBtQWNjZXNzLlBVQkxJQ2AuXG4gICAqL1xuICByZWFkb25seSBucG1BY2Nlc3M/OiBqYXZhc2NyaXB0Lk5wbUFjY2VzcztcbiAgLyoqXG4gICAqIFRoZSBucG1EaXN0VGFnIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIFRvIHNldCB0aGUgbnBtIGRpc3QtdGFnIGZvciByZWxlYXNlIGJyYW5jaGVzLCBzZXQgdGhlIGBucG1EaXN0VGFnYCBwcm9wZXJ0eVxuICAgKiBmb3IgZWFjaCBicmFuY2guXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IG5wbURpc3RUYWc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudHJpZXMgdG8gLm5wbWlnbm9yZS5cbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgYHByb2plY3QuYWRkUGFja2FnZUlnbm9yZWBcbiAgICovXG4gIHJlYWRvbmx5IG5wbWlnbm9yZT86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBEZWZpbmVzIGFuIC5ucG1pZ25vcmUgZmlsZS4gTm9ybWFsbHkgdGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgbGlicmFyaWVzIHRoYXQgYXJlIHBhY2thZ2VkIGFzIHRhcmJhbGxzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBucG1pZ25vcmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgLm5wbWlnbm9yZSBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtSWdub3JlT3B0aW9ucz86IElnbm9yZUZpbGVPcHRpb25zO1xuICAvKipcbiAgICogU2hvdWxkIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBiZSBnZW5lcmF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBwdWJsaXNoZWQuXG4gICAqIEEgc3VwcG9ydGVkIHBhY2thZ2UgbWFuYWdlciBpcyByZXF1aXJlZCB0byBwdWJsaXNoIGEgcGFja2FnZSB3aXRoIG5wbSBwcm92ZW5hbmNlIHN0YXRlbWVudHMgYW5kXG4gICAqIHlvdSB3aWxsIG5lZWQgdG8gdXNlIGEgc3VwcG9ydGVkIENJL0NEIHByb3ZpZGVyLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIHByb2plbiBgUmVsZWFzZWAgYW5kIGBQdWJsaXNoZXJgIGNvbXBvbmVudHMgYXJlIHVzaW5nIGBwdWJsaWJgIHRvIHB1Ymxpc2ggcGFja2FnZXMsXG4gICAqIHdoaWNoIGlzIHVzaW5nIG5wbSBpbnRlcm5hbGx5IGFuZCBzdXBwb3J0cyBwcm92ZW5hbmNlIHN0YXRlbWVudHMgaW5kZXBlbmRlbnRseSBvZiB0aGUgcGFja2FnZSBtYW5hZ2VyIHVzZWQuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBmb3IgcHVibGljIHBhY2thZ2VzLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHJlYWRvbmx5IG5wbVByb3ZlbmFuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGhvc3QgbmFtZSBvZiB0aGUgbnBtIHJlZ2lzdHJ5IHRvIHB1Ymxpc2ggdG8uXG4gICAqIENhbm5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbnBtUmVnaXN0cnlVcmxgLlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG5wbVJlZ2lzdHJ5VXJsYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBucG1SZWdpc3RyeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBiYXNlIFVSTCBvZiB0aGUgbnBtIHBhY2thZ2UgcmVnaXN0cnkuXG4gICAqIE11c3QgYmUgYSBVUkwgKGUuZy4gc3RhcnQgd2l0aCBcImh0dHBzOi8vXCIgb3IgXCJodHRwOi8vXCIpXG4gICAqIEBkZWZhdWx0IFwiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmdcIlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtUmVnaXN0cnlVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBHaXRIdWIgc2VjcmV0IHdoaWNoIGNvbnRhaW5zIHRoZSBOUE0gdG9rZW4gdG8gdXNlIHdoZW4gcHVibGlzaGluZyBwYWNrYWdlcy5cbiAgICogQGRlZmF1bHQgXCJOUE1fVE9LRU5cIlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtVG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHByb2plY3QuXG4gICAqIFJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LCBhbGwgZmlsZXMgYXJlIHN5bnRoZXNpemVkLlxuICAgKlxuICAgKiBJZiB0aGlzIHByb2plY3QgaGFzIGEgcGFyZW50LCB0aGlzIGRpcmVjdG9yeSBpcyByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gICAqIGRpcmVjdG9yeSBhbmQgaXQgY2Fubm90IGJlIHRoZSBzYW1lIGFzIHRoZSBwYXJlbnQgb3IgYW55IG9mIGl0J3Mgb3RoZXJcbiAgICogc3VicHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgYHBhY2thZ2VgIHRhc2sgdGhhdCB3aWxsIHByb2R1Y2UgYW4gbnBtIHRhcmJhbGwgdW5kZXIgdGhlIGFydGlmYWN0cyBkaXJlY3RvcnkgKGUuZy4gYGRpc3RgKS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgTm9kZSBQYWNrYWdlIE1hbmFnZXIgdXNlZCB0byBleGVjdXRlIHNjcmlwdHMuXG4gICAqIEBkZWZhdWx0IE5vZGVQYWNrYWdlTWFuYWdlci5ZQVJOX0NMQVNTSUNcbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXI7XG4gIC8qKlxuICAgKiBUaGUgXCJuYW1lXCIgaW4gcGFja2FnZS5qc29uLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHByb2plY3QgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IHByb2plY3QsIGlmIHRoaXMgcHJvamVjdCBpcyBwYXJ0IG9mIGEgYmlnZ2VyIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBwYXJlbnQ/OiBQcm9qZWN0O1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYHBlZXJEZXBzYC5cbiAgICovXG4gIHJlYWRvbmx5IHBlZXJEZXBlbmRlbmN5T3B0aW9ucz86IGphdmFzY3JpcHQuUGVlckRlcGVuZGVuY3lPcHRpb25zO1xuICAvKipcbiAgICogUGVlciBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBEZXBlbmRlbmNpZXMgbGlzdGVkIGhlcmUgYXJlIHJlcXVpcmVkIHRvXG4gICAqIGJlIGluc3RhbGxlZCAoYW5kIHNhdGlzZmllZCkgYnkgdGhlIF9jb25zdW1lcl8gb2YgdGhpcyBsaWJyYXJ5LiBVc2luZyBwZWVyXG4gICAqIGRlcGVuZGVuY2llcyBhbGxvd3MgeW91IHRvIGVuc3VyZSB0aGF0IG9ubHkgYSBzaW5nbGUgbW9kdWxlIG9mIGEgY2VydGFpblxuICAgKiBsaWJyYXJ5IGV4aXN0cyBpbiB0aGUgYG5vZGVfbW9kdWxlc2AgdHJlZSBvZiB5b3VyIGNvbnN1bWVycy5cbiAgICpcbiAgICogTm90ZSB0aGF0IHByaW9yIHRvIG5wbUA3LCBwZWVyIGRlcGVuZGVuY2llcyBhcmUgX25vdF8gYXV0b21hdGljYWxseVxuICAgKiBpbnN0YWxsZWQsIHdoaWNoIG1lYW5zIHRoYXQgYWRkaW5nIHBlZXIgZGVwZW5kZW5jaWVzIHRvIGEgbGlicmFyeSB3aWxsIGJlIGFcbiAgICogYnJlYWtpbmcgY2hhbmdlIGZvciB5b3VyIGN1c3RvbWVycy5cbiAgICpcbiAgICogVW5sZXNzIGBwZWVyRGVwZW5kZW5jeU9wdGlvbnMucGlubmVkRGV2RGVwZW5kZW5jeWAgaXMgZGlzYWJsZWQgKGl0IGlzXG4gICAqIGVuYWJsZWQgYnkgZGVmYXVsdCksIHByb2plbiB3aWxsIGF1dG9tYXRpY2FsbHkgYWRkIGEgZGV2IGRlcGVuZGVuY3kgd2l0aCBhXG4gICAqIHBpbm5lZCB2ZXJzaW9uIGZvciBlYWNoIHBlZXIgZGVwZW5kZW5jeS4gVGhpcyB3aWxsIGVuc3VyZSB0aGF0IHlvdSBidWlsZCAmXG4gICAqIHRlc3QgeW91ciBtb2R1bGUgYWdhaW5zdCB0aGUgbG93ZXN0IHBlZXIgdmVyc2lvbiByZXF1aXJlZC5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHBlZXJEZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIFBOUE0gdG8gdXNlIGlmIHVzaW5nIFBOUE0gYXMgYSBwYWNrYWdlIG1hbmFnZXIuXG4gICAqIEBkZWZhdWx0IFwiOVwiXG4gICAqL1xuICByZWFkb25seSBwbnBtVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFN0ZXBzIHRvIGV4ZWN1dGUgYWZ0ZXIgYnVpbGQgYXMgcGFydCBvZiB0aGUgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHBvc3RCdWlsZFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIEJ1bXAgdmVyc2lvbnMgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2ggYXMgcHJlLXJlbGVhc2VzIChlLmcuIFwiYmV0YVwiLCBcImFscGhhXCIsIFwicHJlXCIpLlxuICAgKiBAZGVmYXVsdCAtIG5vcm1hbCBzZW1hbnRpYyB2ZXJzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldHVwIHByZXR0aWVyLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJldHRpZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJldHRpZXIgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByZXR0aWVyT3B0aW9ucz86IGphdmFzY3JpcHQuUHJldHRpZXJPcHRpb25zO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBwYWNrYWdlIGlzIHByaXZhdGUuXG4gICAqIFNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byB0cnVlIG1lYW5zIHRoYXQgeW91ciBwcm9qZWN0IGlzIGNyZWF0ZWQgd2l0aCBzYW5lIGRlZmF1bHRzIGZvciBwcml2YXRlIHJlcG9zaXRvcmllcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGljaCB0eXBlIG9mIHByb2plY3QgdGhpcyBpcyAobGlicmFyeS9hcHApLlxuICAgKiBAZGVmYXVsdCBQcm9qZWN0VHlwZS5VTktOT1dOXG4gICAqIEBkZXByZWNhdGVkIG5vIGxvbmdlciBzdXBwb3J0ZWQgYXQgdGhlIGJhc2UgcHJvamVjdCBsZXZlbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdFR5cGU/OiBQcm9qZWN0VHlwZTtcbiAgLyoqXG4gICAqIFRoZSBzaGVsbCBjb21tYW5kIHRvIHVzZSBpbiBvcmRlciB0byBydW4gdGhlIHByb2plbiBDTEkuXG4gICAqIENhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSBpbiBzcGVjaWFsIGVudmlyb25tZW50cy5cbiAgICogQGRlZmF1bHQgXCJucHggcHJvamVuXCJcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkNvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDaG9vc2UgYSBtZXRob2Qgb2YgcHJvdmlkaW5nIEdpdEh1YiBBUEkgYWNjZXNzIGZvciBwcm9qZW4gd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAtIHVzZSBhIHBlcnNvbmFsIGFjY2VzcyB0b2tlbiBuYW1lZCBQUk9KRU5fR0lUSFVCX1RPS0VOXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5DcmVkZW50aWFscz86IGdpdGh1Yi5HaXRodWJDcmVkZW50aWFscztcbiAgLyoqXG4gICAqIEluZGljYXRlcyBvZiBcInByb2plblwiIHNob3VsZCBiZSBpbnN0YWxsZWQgYXMgYSBkZXZEZXBlbmRlbmN5LlxuICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgbm90IGEgc3VicHJvamVjdFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuRGV2RGVwZW5kZW5jeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSAob25jZSkgLnByb2plbnJjLmpzIChpbiBKYXZhU2NyaXB0KS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanMgZ2VuZXJhdGlvbi5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIHByb2plbnJjSnNvbiBpcyBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSAob25jZSkgLnByb2plbnJjLmpzb24gKGluIEpTT04pLiBTZXQgdG8gYGZhbHNlYCBpbiBvcmRlciB0byBkaXNhYmxlIC5wcm9qZW5yYy5qc29uIGdlbmVyYXRpb24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzb24/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgLnByb2plbnJjLmpzb24uXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzb25PcHRpb25zPzogUHJvamVucmNKc29uT3B0aW9ucztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy5qcy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnNPcHRpb25zPzogamF2YXNjcmlwdC5Qcm9qZW5yY09wdGlvbnM7XG4gIC8qKlxuICAgKiBVc2UgVHlwZVNjcmlwdCBmb3IgeW91ciBwcm9qZW5yYyBmaWxlIChgLnByb2plbnJjLnRzYCkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY1RzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy50cy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjVHNPcHRpb25zPzogdHlwZXNjcmlwdC5Qcm9qZW5yY09wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIHNlY3JldCB3aGljaCBpbmNsdWRlcyBhIEdpdEh1YiBQZXJzb25hbCBBY2Nlc3MgVG9rZW4gdG8gYmUgdXNlZCBieSBwcm9qZW4gd29ya2Zsb3dzLlxuICAgKiBUaGlzIHRva2VuIG5lZWRzIHRvIGhhdmUgdGhlIGByZXBvYCwgYHdvcmtmbG93c2BcbiAgICogYW5kIGBwYWNrYWdlc2Agc2NvcGUuXG4gICAqIEBkZWZhdWx0IFwiUFJPSkVOX0dJVEhVQl9UT0tFTlwiXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHJvamVuQ3JlZGVudGlhbHNgXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Ub2tlblNlY3JldD86IHN0cmluZztcbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgcHJvamVuIHRvIGluc3RhbGwuXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdHMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEluc3RlYWQgb2YgYWN0dWFsbHkgcHVibGlzaGluZyB0byBwYWNrYWdlIG1hbmFnZXJzLCBqdXN0IHByaW50IHRoZSBwdWJsaXNoaW5nIGNvbW1hbmQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoRHJ5UnVuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERlZmluZSBwdWJsaXNoaW5nIHRhc2tzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIG1hbnVhbGx5IGFzIHdlbGwgYXMgd29ya2Zsb3dzLlxuICAgKiBOb3JtYWxseSwgcHVibGlzaGluZyBvbmx5IGhhcHBlbnMgd2l0aGluIGF1dG9tYXRlZCB3b3JrZmxvd3MuIEVuYWJsZSB0aGlzXG4gICAqIGluIG9yZGVyIHRvIGNyZWF0ZSBhIHB1Ymxpc2hpbmcgdGFzayBmb3IgZWFjaCBwdWJsaXNoaW5nIGFjdGl2aXR5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRhc2tzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggR28gYmluZGluZ3MgdG8gYSBnaXQgcmVwb3NpdG9yeS5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9Hbz86IGNkay5Kc2lpR29UYXJnZXQ7XG4gIC8qKlxuICAgKiBQdWJsaXNoIHRvIG1hdmVuLlxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb01hdmVuPzogY2RrLkpzaWlKYXZhVGFyZ2V0O1xuICAvKipcbiAgICogUHVibGlzaCB0byBOdUdldC5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9OdWdldD86IGNkay5Kc2lpRG90TmV0VGFyZ2V0O1xuICAvKipcbiAgICogUHVibGlzaCB0byBweXBpLlxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb1B5cGk/OiBjZGsuSnNpaVB5dGhvblRhcmdldDtcbiAgLyoqXG4gICAqIEluY2x1ZGUgYSBHaXRIdWIgcHVsbCByZXF1ZXN0IHRlbXBsYXRlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdFRlbXBsYXRlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50cyBvZiB0aGUgcHVsbCByZXF1ZXN0IHRlbXBsYXRlLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgY29udGVudFxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbFJlcXVlc3RUZW1wbGF0ZUNvbnRlbnRzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHVibGlzaFRvUHlQaWBcbiAgICovXG4gIHJlYWRvbmx5IHB5dGhvbj86IGNkay5Kc2lpUHl0aG9uVGFyZ2V0O1xuICAvKipcbiAgICogVGhlIFJFQURNRSBzZXR1cC5cbiAgICogQGRlZmF1bHQgLSB7IGZpbGVuYW1lOiAnUkVBRE1FLm1kJywgY29udGVudHM6ICcjIHJlcGxhY2UgdGhpcycgfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZG1lPzogU2FtcGxlUmVhZG1lUHJvcHM7XG4gIC8qKlxuICAgKiBGaW5kIGNvbW1pdHMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCByZWxlYXNhYmxlIFVzZWQgdG8gZGVjaWRlIGlmIGEgcmVsZWFzZSBpcyByZXF1aXJlZC5cbiAgICogQGRlZmF1bHQgUmVsZWFzYWJsZUNvbW1pdHMuZXZlcnlDb21taXQoKVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBSZWxlYXNhYmxlQ29tbWl0cztcbiAgLyoqXG4gICAqIEFkZCByZWxlYXNlIG1hbmFnZW1lbnQgdG8gdGhpcyBwcm9qZWN0LlxuICAgKiBAZGVmYXVsdCAtIHRydWUgKGZhbHNlIGZvciBzdWJwcm9qZWN0cylcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2U/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmaW5lcyBhZGRpdGlvbmFsIHJlbGVhc2UgYnJhbmNoZXMuXG4gICAqIEEgd29ya2Zsb3cgd2lsbCBiZSBjcmVhdGVkIGZvciBlYWNoXG4gICAqIHJlbGVhc2UgYnJhbmNoIHdoaWNoIHdpbGwgcHVibGlzaCByZWxlYXNlcyBmcm9tIGNvbW1pdHMgaW4gdGhpcyBicmFuY2guXG4gICAqIEVhY2ggcmVsZWFzZSBicmFuY2ggX211c3RfIGJlIGFzc2lnbmVkIGEgbWFqb3IgdmVyc2lvbiBudW1iZXIgd2hpY2ggaXMgdXNlZFxuICAgKiB0byBlbmZvcmNlIHRoYXQgdmVyc2lvbnMgcHVibGlzaGVkIGZyb20gdGhhdCBicmFuY2ggYWx3YXlzIHVzZSB0aGF0IG1ham9yXG4gICAqIHZlcnNpb24uIElmIG11bHRpcGxlIGJyYW5jaGVzIGFyZSB1c2VkLCB0aGUgYG1ham9yVmVyc2lvbmAgZmllbGQgbXVzdCBhbHNvXG4gICAqIGJlIHByb3ZpZGVkIGZvciB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBicmFuY2hlcyBhcmUgdXNlZCBmb3IgcmVsZWFzZS4geW91IGNhbiB1c2VcbmBhZGRCcmFuY2goKWAgdG8gYWRkIGFkZGl0aW9uYWwgYnJhbmNoZXMuXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlQnJhbmNoZXM/OiBSZWNvcmQ8c3RyaW5nLCByZWxlYXNlLkJyYW5jaE9wdGlvbnM+O1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSByZWxlYXNlIG5ldyB2ZXJzaW9ucyBldmVyeSBjb21taXQgdG8gb25lIG9mIGJyYW5jaGVzIGluIGByZWxlYXNlQnJhbmNoZXNgLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgcmVsZWFzZVRyaWdnZXI6IFJlbGVhc2VUcmlnZ2VyLmNvbnRpbnVvdXMoKWAgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUV2ZXJ5Q29tbWl0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGdpdGh1YiBpc3N1ZSBvbiBldmVyeSBmYWlsZWQgcHVibGlzaGluZyB0YXNrLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUZhaWx1cmVJc3N1ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgdG8gYXBwbHkgdG8gaXNzdWVzIGluZGljYXRpbmcgcHVibGlzaCBmYWlsdXJlcy5cbiAgICogT25seSBhcHBsaWVzIGlmIGByZWxlYXNlRmFpbHVyZUlzc3VlYCBpcyB0cnVlLlxuICAgKiBAZGVmYXVsdCBcImZhaWxlZC1yZWxlYXNlXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VGYWlsdXJlSXNzdWVMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIENST04gc2NoZWR1bGUgdG8gdHJpZ2dlciBuZXcgcmVsZWFzZXMuXG4gICAqIEBkZWZhdWx0IC0gbm8gc2NoZWR1bGVkIHJlbGVhc2VzXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgcmVsZWFzZVRyaWdnZXI6IFJlbGVhc2VUcmlnZ2VyLnNjaGVkdWxlZCgpYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlU2NoZWR1bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgZ2l2ZW4gcHJlZml4IHRvIHJlbGVhc2UgdGFncy4gVXNlZnVsIGlmIHlvdSBhcmUgcmVsZWFzaW5nIG9uIG11bHRpcGxlIGJyYW5jaGVzIHdpdGggb3ZlcmxhcHBpbmcgdmVyc2lvbiBudW1iZXJzLlxuICAgKiBOb3RlOiB0aGlzIHByZWZpeCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGF0ZXN0IHRhZ2dlZCB2ZXJzaW9uXG4gICAqIHdoZW4gYnVtcGluZywgc28gaWYgeW91IGNoYW5nZSB0aGlzIG9uIGEgcHJvamVjdCB3aXRoIGFuIGV4aXN0aW5nIHZlcnNpb25cbiAgICogaGlzdG9yeSwgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHRhZyB5b3VyIGxhdGVzdCByZWxlYXNlXG4gICAqIHdpdGggdGhlIG5ldyBwcmVmaXguXG4gICAqIEBkZWZhdWx0IFwidlwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnUHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSByZWxlYXNlIHRvIG5wbSB3aGVuIG5ldyB2ZXJzaW9ucyBhcmUgaW50cm9kdWNlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUb05wbT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcmVsZWFzZSB0cmlnZ2VyIHRvIHVzZS5cbiAgICogQGRlZmF1bHQgLSBDb250aW51b3VzIHJlbGVhc2VzIChgUmVsZWFzZVRyaWdnZXIuY29udGludW91cygpYClcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUcmlnZ2VyPzogcmVsZWFzZS5SZWxlYXNlVHJpZ2dlcjtcbiAgLyoqXG4gICAqIERFUFJFQ0FURUQ6IHJlbmFtZWQgdG8gYHJlbGVhc2VgLlxuICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgbm90IGEgc3VicHJvamVjdFxuICAgKiBAZGVwcmVjYXRlZCBzZWUgYHJlbGVhc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkZWZhdWx0IHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IFwicmVsZWFzZVwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBzZXQgb2Ygd29ya2Zsb3cgc3RlcHMgdG8gZXhlY3V0ZSBpbiBvcmRlciB0byBzZXR1cCB0aGUgd29ya2Zsb3cgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93U2V0dXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBVc2UgcmVub3ZhdGVib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZW5vdmF0ZWJvdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciByZW5vdmF0ZWJvdC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHJlbm92YXRlYm90T3B0aW9ucz86IFJlbm92YXRlYm90T3B0aW9ucztcbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gZ2VuZXJhdGVkIGZyb20gb3JnIHRlbmFuY3kgYW5kIHBhY2thZ2UgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIElmIHRoZSBwYWNrYWdlLmpzb24gZm9yIHlvdXIgcGFja2FnZSBpcyBub3QgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IChmb3IgZXhhbXBsZSBpZiBpdCBpcyBwYXJ0IG9mIGEgbW9ub3JlcG8pLCB5b3UgY2FuIHNwZWNpZnkgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCBpdCBsaXZlcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnlEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIGdlbmVyYXRlZCBmcm9tIG9yZyB0ZW5hbmN5IGFuZCBwYWNrYWdlIG5hbWVcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGByZXBvc2l0b3J5YFxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqL1xuICByZWFkb25seSByb290ZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3Igcm9zZXR0YTpleHRyYWN0IHRhc2tcbiAgICovXG4gIHJlYWRvbmx5IHJvc2V0dGFPcHRpb25zPzogUm9zZXR0YU9wdGlvbnM7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBvbmUtdGltZSBzYW1wbGUgaW4gYHNyYy9gIGFuZCBgdGVzdC9gIGlmIHRoZXJlIGFyZSBubyBmaWxlcyB0aGVyZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlQ29kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBwcml2YXRlbHkgaG9zdGVkIHNjb3BlZCBwYWNrYWdlcy5cbiAgICogQGRlZmF1bHQgLSBmZXRjaCBhbGwgc2NvcGVkIHBhY2thZ2VzIGZyb20gdGhlIHB1YmxpYyBucG0gcmVnaXN0cnlcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlZFBhY2thZ2VzT3B0aW9ucz86IEFycmF5PGphdmFzY3JpcHQuU2NvcGVkUGFja2FnZXNPcHRpb25zPjtcbiAgLyoqXG4gICAqIG5wbSBzY3JpcHRzIHRvIGluY2x1ZGUuXG4gICAqIElmIGEgc2NyaXB0IGhhcyB0aGUgc2FtZSBuYW1lIGFzIGEgc3RhbmRhcmQgc2NyaXB0LFxuICAgKiB0aGUgc3RhbmRhcmQgc2NyaXB0IHdpbGwgYmUgb3ZlcndyaXR0ZW4uXG4gICAqIEFsc28gYWRkcyB0aGUgc2NyaXB0IGFzIGEgdGFzay5cbiAgICogQGRlZmF1bHQge31cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBwcm9qZWN0LmFkZFRhc2soKWAgb3IgYHBhY2thZ2Uuc2V0U2NyaXB0KClgXG4gICAqL1xuICByZWFkb25seSBzY3JpcHRzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFNldCBhIG1pbmltYWwgbm9kZSB2ZXJzaW9uIHZpYSB0aGUgZW5naW5lcyBmaWVsZFxuICAgKiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIGEgcGFja2FnZSBkaWQgbm90IGVuZm9yY2UgdGhpcyBwcmV2aW91c2x5IGFuZCB3ZSBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGlzIGZvciBub3cuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNldE5vZGVFbmdpbmVWZXJzaW9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFR5cGVzY3JpcHQgc291cmNlcyBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwic3JjXCJcbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhY2thZ2UncyBTdGFiaWxpdHkuXG4gICAqL1xuICByZWFkb25seSBzdGFiaWxpdHk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIG9mIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0LlxuICAgKiBTZWUgYHN0YWxlT3B0aW9uc2AgZm9yIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGFsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0cy5cbiAgICogVG8gZGlzYWJsZSBzZXQgYHN0YWxlYCB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgU3RhbGVPcHRpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbGVPcHRpb25zPzogZ2l0aHViLlN0YWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBvcmdhbml6YXRpb24gdGhpcyBwcm9qZWN0IGlzIHBhcnQgb2YuXG4gICAqIEBkZWZhdWx0IC0gQXV0byBkZXRlY3RlZCBmcm9tIHBhY2thZ2UgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgdGVuYW5jeT86IE9yZ1RlbmFuY3k7XG4gIC8qKlxuICAgKiBKZXN0IHRlc3RzIGRpcmVjdG9yeS4gVGVzdHMgZmlsZXMgc2hvdWxkIGJlIG5hbWVkIGB4eHgudGVzdC50c2AuXG4gICAqIElmIHRoaXMgZGlyZWN0b3J5IGlzIHVuZGVyIGBzcmNkaXJgIChlLmcuIGBzcmMvdGVzdGAsIGBzcmMvX190ZXN0c19fYCksXG4gICAqIHRoZW4gdGVzdHMgYXJlIGdvaW5nIHRvIGJlIGNvbXBpbGVkIGludG8gYGxpYi9gIGFuZCBleGVjdXRlZCBhcyBqYXZhc2NyaXB0LlxuICAgKiBJZiB0aGUgdGVzdCBkaXJlY3RvcnkgaXMgb3V0c2lkZSBvZiBgc3JjYCwgdGhlbiB3ZSBjb25maWd1cmUgamVzdCB0b1xuICAgKiBjb21waWxlIHRoZSBjb2RlIGluLW1lbW9yeS5cbiAgICogQGRlZmF1bHQgXCJ0ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gVFNDb25maWcuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZz86IGphdmFzY3JpcHQuVHlwZXNjcmlwdENvbmZpZ09wdGlvbnM7XG4gIC8qKlxuICAgKiBDdXN0b20gdHNjb25maWcgb3B0aW9ucyBmb3IgdGhlIGRldmVsb3BtZW50IHRzY29uZmlnLmpzb24gZmlsZSAodXNlZCBmb3IgdGVzdGluZykuXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBwcm9kdWN0aW9uIHRzY29uZmlnIG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnRGV2PzogamF2YXNjcmlwdC5UeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkZXZlbG9wbWVudCB0c2NvbmZpZy5qc29uIGZpbGUuXG4gICAqIEBkZWZhdWx0IFwidHNjb25maWcuZGV2Lmpzb25cIlxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdEZXZGaWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdHMtamVzdC5cbiAgICovXG4gIHJlYWRvbmx5IHRzSmVzdE9wdGlvbnM/OiB0eXBlc2NyaXB0LlRzSmVzdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBUeXBlU2NyaXB0IHZlcnNpb24gdG8gdXNlLlxuICAgKiBOT1RFOiBUeXBlc2NyaXB0IGlzIG5vdCBzZW1hbnRpY2FsbHkgdmVyc2lvbmVkIGFuZCBzaG91bGQgcmVtYWluIG9uIHRoZVxuICAgKiBzYW1lIG1pbm9yLCBzbyB3ZSByZWNvbW1lbmQgdXNpbmcgYSBgfmAgZGVwZW5kZW5jeSAoZS5nLiBgfjEuMi4zYCkuXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IHR5cGVzY3JpcHRWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGhlIHNlcGFyYXRlIHdvcmtmbG93IHRvIHVwZ3JhZGUgdGhlIGNka2xhYnMtcHJvamVuLXByb2plY3QtdHlwZXMgZGVwZW5kZW5jaWVzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1cGdyYWRlQ2RrbGFic1Byb2plblByb2plY3RUeXBlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhhdmUgYSBzZXBhcmF0ZSB3b3JrZmxvdyB0byB1cGdyYWRlIHJ1bnRpbWUgZGVwcyBhbmQgbWFyayB0aGlzIFBSIGFzIGZpeC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXBncmFkZVJ1bnRpbWVEZXBzQXNGaXg/OiBib29sZWFuO1xuICAvKipcbiAgICogQ3VzdG9tIGNvbmZpZ3VyYXRpb24gdXNlZCB3aGVuIGNyZWF0aW5nIGNoYW5nZWxvZyB3aXRoIGNvbW1pdC1hbmQtdGFnLXZlcnNpb24gcGFja2FnZS5cbiAgICogR2l2ZW4gdmFsdWVzIGVpdGhlciBhcHBlbmQgdG8gZGVmYXVsdCBjb25maWd1cmF0aW9uIG9yIG92ZXJ3cml0ZSB2YWx1ZXMgaW4gaXQuXG4gICAqIEBkZWZhdWx0IC0gc3RhbmRhcmQgY29uZmlndXJhdGlvbiBhcHBsaWNhYmxlIGZvciBHaXRIdWIgcmVwb3NpdG9yaWVzXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9ucmNPcHRpb25zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgLyoqXG4gICAqIEVuYWJsZSBWU0NvZGUgaW50ZWdyYXRpb24uXG4gICAqIEVuYWJsZWQgYnkgZGVmYXVsdCBmb3Igcm9vdCBwcm9qZWN0cy4gRGlzYWJsZWQgZm9yIG5vbi1yb290IHByb2plY3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB2c2NvZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogV29ya2Zsb3cgc3RlcHMgdG8gdXNlIGluIG9yZGVyIHRvIGJvb3RzdHJhcCB0aGlzIHJlcG8uXG4gICAqIEBkZWZhdWx0IFwieWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlICYmIHlhcm4gcHJvamVuXCJcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Qm9vdHN0cmFwU3RlcHM/OiBBcnJheTxnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXA+O1xuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIHRvIHVzZSBmb3IgR2l0SHViIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGltYWdlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0NvbnRhaW5lckltYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGdpdCBpZGVudGl0eSB0byB1c2UgaW4gd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAtIEdpdEh1YiBBY3Rpb25zXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0dpdElkZW50aXR5PzogZ2l0aHViLkdpdElkZW50aXR5O1xuICAvKipcbiAgICogVGhlIG5vZGUgdmVyc2lvbiB0byB1c2UgaW4gR2l0SHViIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgJ2x0cy8qJ1xuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEVuYWJsZSBOb2RlLmpzIHBhY2thZ2UgY2FjaGUgaW4gR2l0SHViIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UGFja2FnZUNhY2hlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgc2VsZWN0aW9uIGxhYmVscy5cbiAgICogQGRlZmF1bHQgW1widWJ1bnR1LWxhdGVzdFwiXVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dSdW5zT24/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBZYXJuIEJlcnJ5LlxuICAgKiBAZGVmYXVsdCAtIFlhcm4gQmVycnkgdjQgd2l0aCBhbGwgZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSB5YXJuQmVycnlPcHRpb25zPzogamF2YXNjcmlwdC5ZYXJuQmVycnlPcHRpb25zO1xufVxuIl19
package/lib/cdk.js CHANGED
@@ -55,7 +55,7 @@ class CdkConstructLibrary extends projen_1.awscdk.AwsCdkConstructLibrary {
55
55
  }
56
56
  exports.CdkConstructLibrary = CdkConstructLibrary;
57
57
  _a = JSII_RTTI_SYMBOL_1;
58
- CdkConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdkConstructLibrary", version: "0.2.3" };
58
+ CdkConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdkConstructLibrary", version: "0.2.4" };
59
59
  /**
60
60
  * Create a Cdk TypeScript Project
61
61
  *
@@ -71,5 +71,5 @@ class CdkTypeScriptProject extends projen_1.typescript.TypeScriptProject {
71
71
  }
72
72
  exports.CdkTypeScriptProject = CdkTypeScriptProject;
73
73
  _b = JSII_RTTI_SYMBOL_1;
74
- CdkTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdkTypeScriptProject", version: "0.2.3" };
74
+ CdkTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdkTypeScriptProject", version: "0.2.4" };
75
75
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Nkay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFpRDtBQUdqRCxxREFBd0Y7QUFDeEYsaURBQTZDO0FBQzdDLHVDQUFvQztBQUdwQzs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxlQUFNLENBQUMsc0JBQXNCO0lBQzVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFtQztRQUN0RSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsOERBQThELENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFJRCxZQUFZLE9BQW1DO1FBQzdDLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxZQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xFLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRkFBb0YsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0gsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFBLDBDQUF5QixFQUFDO1lBQ3JDLEdBQUcsT0FBTztZQUNWLGtEQUFrRDtZQUNsRCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYTtTQUN4RCxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsWUFBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZO1lBQ3JDLHNEQUFzRDtZQUN0RCxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDOUIsR0FBRyxJQUFJO1NBQ1IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTVCLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksMEJBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFBLDBDQUF5QixFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQTdDSCxrREE4Q0M7OztBQUlEOzs7O0dBSUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLG1CQUFVLENBQUMsaUJBQWlCO0lBR3BFLFlBQVksT0FBb0M7UUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBQSwwQ0FBeUIsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFNUIsSUFBQSwwQ0FBeUIsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUFUSCxvREFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c2NkaywgY2RrLCB0eXBlc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENka0NvbW1vbk9wdGlvbnMgfSBmcm9tICcuL2Nkay1jb21tb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gJy4vY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMnO1xuaW1wb3J0IHsgY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cywgd2l0aENvbW1vbk9wdGlvbnNEZWZhdWx0cyB9IGZyb20gJy4vY29tbW9uLW9wdGlvbnMnO1xuaW1wb3J0IHsgSW50ZWdSdW5uZXIgfSBmcm9tICcuL2ludGVnLXJ1bm5lcic7XG5pbXBvcnQgeyBSb3NldHRhIH0gZnJvbSAnLi9yb3NldHRhJztcblxuXG4vKipcbiAqIENyZWF0ZSBhIENkayBDb25zdHJ1Y3QgTGlicmFyeSBQcm9qZWN0XG4gKlxuICogQHBqaWQgY2RrLWNvbnN0cnVjdC1saWJcbiAqL1xuZXhwb3J0IGNsYXNzIENka0NvbnN0cnVjdExpYnJhcnkgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7XG4gIHByaXZhdGUgc3RhdGljIHN0YWJpbGl0eVJlcXVpcmVtZW50cyhvcHRpb25zOiBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKCFvcHRpb25zLnB1Ymxpc2hUb1B5cGkpIHtcbiAgICAgIGVycm9ycy5wdXNoKCdQdWJsaXNoaW5nIEVycm9yOiBwcm9qZWN0IG5vdCBjb25maWd1cmVkIHRvIHB1Ymxpc2ggdG8gUHl0aG9uJyk7XG4gICAgfVxuICAgIGlmICghb3B0aW9ucy5wdWJsaXNoVG9NYXZlbikge1xuICAgICAgZXJyb3JzLnB1c2goJ1B1Ymxpc2hpbmcgRXJyb3I6IHByb2plY3Qgbm90IGNvbmZpZ3VyZWQgdG8gcHVibGlzaCB0byBNYXZlbicpO1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMucHVibGlzaFRvTnVnZXQpIHtcbiAgICAgIGVycm9ycy5wdXNoKCdQdWJsaXNoaW5nIEVycm9yOiBwcm9qZWN0IG5vdCBjb25maWd1cmVkIHRvIHB1Ymxpc2ggdG8gTnVnZXQnKTtcbiAgICB9XG4gICAgaWYgKCFvcHRpb25zLnB1Ymxpc2hUb0dvKSB7XG4gICAgICBlcnJvcnMucHVzaCgnUHVibGlzaGluZyBFcnJvcjogcHJvamVjdCBub3QgY29uZmlndXJlZCB0byBwdWJsaXNoIHRvIEdvJyk7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgcHJpdmF0ZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zLnN0YWJpbGl0eSA9PT0gY2RrLlN0YWJpbGl0eS5TVEFCTEUpIHtcbiAgICAgIGNvbnN0IGVycm9ycyA9IENka0NvbnN0cnVjdExpYnJhcnkuc3RhYmlsaXR5UmVxdWlyZW1lbnRzKG9wdGlvbnMpO1xuICAgICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHByb2plY3QgZG9lcyBub3QgcGFzcyBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yczpcXG4gICR7ZXJyb3JzLmpvaW4oJ1xcbiAgJyl9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0cyA9IHdpdGhDb21tb25PcHRpb25zRGVmYXVsdHMoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIC8vIGFsc28gYWNjZXB0IHRoZSBkZXByZWNhdGVkIHJlcG9zaXRvcnlVcmwgb3B0aW9uXG4gICAgICByZXBvc2l0b3J5OiBvcHRpb25zLnJlcG9zaXRvcnkgPz8gb3B0aW9ucy5yZXBvc2l0b3J5VXJsLFxuICAgIH0pO1xuXG4gICAgc3VwZXIoe1xuICAgICAgc3RhYmlsaXR5OiBjZGsuU3RhYmlsaXR5LkVYUEVSSU1FTlRBTCxcbiAgICAgIC8vIHVwc3RyZWFtIEpzaWlQcm9qZWN0IHVzZXMgYSBkaWZmZXJlbnQgbmFtZSBmb3IgdGhpc1xuICAgICAgcmVwb3NpdG9yeVVybDogb3B0cy5yZXBvc2l0b3J5LFxuICAgICAgLi4ub3B0cyxcbiAgICB9KTtcbiAgICB0aGlzLnByaXZhdGUgPSBvcHRzLnByaXZhdGU7XG5cbiAgICBuZXcgUm9zZXR0YSh0aGlzLCBvcHRpb25zLnJvc2V0dGFPcHRpb25zKTtcbiAgICBuZXcgSW50ZWdSdW5uZXIodGhpcyk7XG4gICAgY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cyh0aGlzLCBvcHRzKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENka1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLCBDZGtDb21tb25PcHRpb25zIHsgfVxuXG4vKipcbiAqIENyZWF0ZSBhIENkayBUeXBlU2NyaXB0IFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGstdHMtcHJvalxuICovXG5leHBvcnQgY2xhc3MgQ2RrVHlwZVNjcmlwdFByb2plY3QgZXh0ZW5kcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHByaXZhdGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3Qgb3B0cyA9IHdpdGhDb21tb25PcHRpb25zRGVmYXVsdHMob3B0aW9ucyk7XG4gICAgc3VwZXIob3B0cyk7XG4gICAgdGhpcy5wcml2YXRlID0gb3B0cy5wcml2YXRlO1xuXG4gICAgY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cyh0aGlzLCBvcHRzKTtcbiAgfVxufVxuIl19
package/lib/cdklabs.js CHANGED
@@ -120,7 +120,7 @@ class CdklabsConstructLibrary extends cdk_1.CdkConstructLibrary {
120
120
  }
121
121
  exports.CdklabsConstructLibrary = CdklabsConstructLibrary;
122
122
  _a = JSII_RTTI_SYMBOL_1;
123
- CdklabsConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdklabsConstructLibrary", version: "0.2.3" };
123
+ CdklabsConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdklabsConstructLibrary", version: "0.2.4" };
124
124
  /**
125
125
  * Create a Cdklabs TypeScript Project
126
126
  *
@@ -140,7 +140,7 @@ class CdklabsTypeScriptProject extends cdk_1.CdkTypeScriptProject {
140
140
  }
141
141
  exports.CdklabsTypeScriptProject = CdklabsTypeScriptProject;
142
142
  _b = JSII_RTTI_SYMBOL_1;
143
- CdklabsTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdklabsTypeScriptProject", version: "0.2.3" };
143
+ CdklabsTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdklabsTypeScriptProject", version: "0.2.4" };
144
144
  /**
145
145
  * Create a Cdklabs Jsii Project
146
146
  *
@@ -163,5 +163,5 @@ class CdklabsJsiiProject extends jsii_1.CdkJsiiProject {
163
163
  }
164
164
  exports.CdklabsJsiiProject = CdklabsJsiiProject;
165
165
  _c = JSII_RTTI_SYMBOL_1;
166
- CdklabsJsiiProject[_c] = { fqn: "cdklabs-projen-project-types.CdklabsJsiiProject", version: "0.2.3" };
166
+ CdklabsJsiiProject[_c] = { fqn: "cdklabs-projen-project-types.CdklabsJsiiProject", version: "0.2.4" };
167
167
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrbGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZGtsYWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQWdDO0FBQ2hDLHNEQUF1RDtBQUN2RCwwQ0FBNEM7QUFFNUMsSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLG1EQUFNLENBQUE7SUFDTiwrQ0FBSSxDQUFBO0lBQ0osbURBQU0sQ0FBQTtJQUNOLDJDQUFFLENBQUE7QUFDSixDQUFDLEVBTFcsWUFBWSw0QkFBWixZQUFZLFFBS3ZCO0FBQUEsQ0FBQztBQUVGLCtCQUllO0FBR2YsaUNBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxtQ0FBMkM7QUFFM0Msd0VBQXdFO0FBQ3hFLE1BQU0sa0JBQWtCLEdBQUc7SUFDekIsTUFBTSxFQUFFLHFCQUFxQjtJQUM3QixVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLGFBQWEsRUFBRSx3QkFBd0I7SUFDdkMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxrQkFBa0IsRUFBRSxJQUFJO0NBQ3pCLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUE0QztJQUNuRSxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLG1CQUFtQixFQUFFLE9BQU87SUFDNUIsV0FBVyxFQUFFO1FBQ1gsY0FBYyxFQUFFLDJCQUFjLENBQUMsTUFBTTtLQUN0QztJQUNELG9CQUFvQixFQUFFLE1BQU07SUFDNUIsbUZBQW1GO0lBQ25GLHdGQUF3RjtJQUN4RixvREFBb0Q7SUFDcEQsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsZ0JBQWdCLEVBQUU7SUFDdkQsV0FBVyxFQUFFLE1BQU07Q0FDcEIsQ0FBQztBQUVGLFNBQVMsK0JBQStCLENBQUMsY0FBc0IsRUFBRSxLQUFzQjtJQUNyRixNQUFNLGVBQWUsR0FBRyxJQUFBLGVBQVEsRUFBQyxjQUFjLENBQUMsQ0FBQztJQUVqRCxPQUFPLHdCQUF3QixDQUFDLFNBQVMsRUFB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QU0sYUFBYSxHQUFHLElBQUEsZ0JBQVMsRUFBQztZQUM5QixFQUFFO1lBQ0YsbUJBQW1CO1lBQ25CLDZCQUE2QjtZQUM3QixPQUFPO1lBQ1Asa0JBQWtCO1NBQ25CLENBQThCLENBQUM7UUFFaEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7O0FBZEgsZ0RBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgVXBkYXRlU25hcHNob3QgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAncHJvamVuL2xpYi91dGlsJztcblxuZXhwb3J0IGVudW0gSnNpaUxhbmd1YWdlIHtcbiAgUFlUSE9OLFxuICBKQVZBLFxuICBET1RORVQsXG4gIEdPLFxufTtcblxuaW1wb3J0IHtcbiAgQ2RrQ29uc3RydWN0TGlicmFyeSxcbiAgQ2RrVHlwZVNjcmlwdFByb2plY3QsXG4gIENka1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyxcbn0gZnJvbSAnLi9jZGsnO1xuaW1wb3J0IHsgQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tICcuL2Nkay1jb25zdHJ1Y3QtbGlicmFyeS1vcHRpb25zJztcbmltcG9ydCB7IENka0pzaWlQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vY2RrLWpzaWktb3B0aW9ucyc7XG5pbXBvcnQgeyBDZGtKc2lpUHJvamVjdCB9IGZyb20gJy4vanNpaSc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L29yZGVyXG5pbXBvcnQgeyBSZWxlYXNhYmxlQ29tbWl0cyB9IGZyb20gJ3Byb2plbic7XG5cbi8vIG92ZXJyaWRlIHRoZXNlIHByb3BlcnRpZXMgbm8gbWF0dGVyIHdoYXQgdmFsdWVzIGFyZSBnaXZlbiBjbGllbnQtc2lkZVxuY29uc3QgY2RrbGFic0ZvcmNlZFByb3BzID0ge1xuICBhdXRob3I6ICdBbWF6b24gV2ViIFNlcnZpY2VzJyxcbiAgYXV0aG9yTmFtZTogJ0FtYXpvbiBXZWIgU2VydmljZXMnLFxuICBhdXRob3JBZGRyZXNzOiAnYXdzLWNkay1kZXZAYW1hem9uLmNvbScsXG4gIGF1dGhvckVtYWlsOiAnYXdzLWNkay1kZXZAYW1hem9uLmNvbScsXG4gIGF1dGhvck9yZ2FuaXphdGlvbjogdHJ1ZSxcbn07XG5cbmNvbnN0IGNka2xhYnNEZWZhdWx0UHJvcHM6IFBhcnRpYWw8Q2RrbGFic0NvbnN0cnVjdExpYnJhcnlPcHRpb25zPiA9IHtcbiAgYXV0b0FwcHJvdmVVcGdyYWRlczogdHJ1ZSxcbiAgbWluTm9kZVZlcnNpb246ICcxOC4xMi4wJyxcbiAgd29ya2Zsb3dOb2RlVmVyc2lvbjogJ2x0cy8qJyxcbiAgamVzdE9wdGlvbnM6IHtcbiAgICB1cGRhdGVTbmFwc2hvdDogVXBkYXRlU25hcHNob3QuQUxXQVlTLFxuICB9LFxuICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAvLyBEZWZhdWx0IGlzIHRvIHJlbGVhc2Ugb25seSBmZWF0dXJlcyBhbmQgZml4ZXMuIElmIHdlIGRvbid0IGRvIHRoaXMsIGV2ZXJ5IHByb2plblxuICAvLyBwcm9qZWN0IHdpbGwgYmFzaWNhbGx5IHJlbGVhc2UgZXZlcnkgZGF5LCBiZWNhdXNlIGl0IHdpbGwgc2VlIGRldkRlcGVuZGVuY2llcyB1cGRhdGVzXG4gIC8vIGV2ZXJ5IGRheSwgZXZlbiB0aG91Z2ggdGhvc2UgYXJlIG5vdCBpbnRlcmVzdGluZy5cbiAgcmVsZWFzYWJsZUNvbW1pdHM6IFJlbGVhc2FibGVDb21taXRzLmZlYXR1cmVzQW5kRml4ZXMoKSxcbiAganNpaVZlcnNpb246ICd+NS43Jyxcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdHMobnBtUGFja2FnZU5hbWU6IHN0cmluZywgbGFuZ3M/OiBKc2lpTGFuZ3VhZ2VbXSkge1xuICBjb25zdCBwYWNrYWdlQmFzZW5hbWUgPSBiYXNlbmFtZShucG1QYWNrYWdlTmFtZSk7XG5cbiAgcmV0dXJuIGNyZWF0ZVB1Ymxpc2hpbmdEZWZhdWx0cygnY2RrbGFicycsIHBhY2thZ2VCYXNlbmFtZSwgQm9vbGVhbihwYWNrYWdlQmFzZW5hbWUgIT09IG5wbVBhY2thZ2VOYW1lKSwgbGFuZ3MpO1xufTtcblxuZnVuY3Rpb24gY3JlYXRlUHVibGlzaGluZ0RlZmF1bHRzKG5hbWVzcGFjZTogc3RyaW5nLCBwYWNrYWdlQmFzZW5hbWU6IHN0cmluZywgYWx3YXlzVXNlTmFtZXNwYWNlID0gdHJ1ZSwgbGFuZ3M/OiBKc2lpTGFuZ3VhZ2VbXSkge1xuICBjb25zdCBwaVB5UHJlZml4ID0gYWx3YXlzVXNlTmFtZXNwYWNlID8gYCR7bmFtZXNwYWNlfS5gIDogJyc7XG4gIGNvbnN0IG51Z2V0UHJlZml4ID0gYWx3YXlzVXNlTmFtZXNwYWNlID8gYCR7dXBwZXJDYXNlTmFtZShuYW1lc3BhY2UpfS5gIDogYCR7dXBwZXJDYXNlTmFtZShuYW1lc3BhY2UpfWA7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5QWVRIT04sIHtcbiAgICAgIHB1Ymxpc2hUb1B5cGk6IHtcbiAgICAgICAgZGlzdE5hbWU6IGAke3BpUHlQcmVmaXh9JHtwYWNrYWdlQmFzZW5hbWV9YCxcbiAgICAgICAgbW9kdWxlOiBgJHtwaVB5UHJlZml4fSR7Y2hhbmdlRGVsaW1pdGVyKHBhY2thZ2VCYXNlbmFtZSwgJ18nKX1gLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5KQVZBLCB7XG4gICAgICBwdWJsaXNoVG9NYXZlbjoge1xuICAgICAgICBqYXZhUGFja2FnZTogYGlvLmdpdGh1Yi4ke25hbWVzcGFjZX0uJHtjaGFuZ2VEZWxpbWl0ZXIocGFja2FnZUJhc2VuYW1lLCAnLicpfWAsXG4gICAgICAgIG1hdmVuR3JvdXBJZDogYGlvLmdpdGh1Yi4ke25hbWVzcGFjZX1gLFxuICAgICAgICBtYXZlbkFydGlmYWN0SWQ6IHBhY2thZ2VCYXNlbmFtZSxcbiAgICAgICAgbWF2ZW5FbmRwb2ludDogJ2h0dHBzOi8vczAxLm9zcy5zb25hdHlwZS5vcmcnLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5ET1RORVQsIHtcbiAgICAgIHB1Ymxpc2hUb051Z2V0OiB7XG4gICAgICAgIGRvdE5ldE5hbWVzcGFjZTogYCR7bnVnZXRQcmVmaXh9JHt1cHBlckNhc2VOYW1lKHBhY2thZ2VCYXNlbmFtZSl9YCxcbiAgICAgICAgcGFja2FnZUlkOiBgJHtudWdldFByZWZpeH0ke3VwcGVyQ2FzZU5hbWUocGFja2FnZUJhc2VuYW1lKX1gLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5HTywge1xuICAgICAgcHVibGlzaFRvR286IHtcbiAgICAgICAgbW9kdWxlTmFtZTogYGdpdGh1Yi5jb20vJHtuYW1lc3BhY2V9LyR7cGFja2FnZUJhc2VuYW1lfS1nb2AsXG4gICAgICB9LFxuICAgIH0pLFxuICB9O1xuXG4gIGZ1bmN0aW9uIHB1Ymxpc2hMYW5ndWFnZVdyYXBwZXIobGFuZzogSnNpaUxhbmd1YWdlLCBvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICByZXR1cm4gcHVibGlzaExhbmd1YWdlKGxhbmcpID8gb2JqIDoge307XG4gIH1cblxuICBmdW5jdGlvbiBwdWJsaXNoTGFuZ3VhZ2UobGFuZzogSnNpaUxhbmd1YWdlKTogYm9vbGVhbiB7XG4gICAgLy8gbGFuZ3Mgbm90IHNwZWNpZmllZCA9PT0gYWxsIGxhbmd1YWdlcyBwdWJsaXNoZWRcbiAgICBpZiAoIWxhbmdzKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxhbmdzLmluY2x1ZGVzKGxhbmcpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBwZXJDYXNlTmFtZShzdHI6IHN0cmluZykge1xuICAgIGxldCB3b3JkcyA9IHN0ci5zcGxpdCgnLScpO1xuICAgIHdvcmRzID0gd29yZHMubWFwKCh3KSA9PiB3WzBdLnRvVXBwZXJDYXNlKCkgKyB3LnN1YnN0cmluZygxKSk7XG4gICAgcmV0dXJuIHdvcmRzLmpvaW4oJycpO1xuICB9XG5cbiAgZnVuY3Rpb24gY2hhbmdlRGVsaW1pdGVyKHN0cjogc3RyaW5nLCBkZWxpbTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0ci5zcGxpdCgnLScpLmpvaW4oZGVsaW0pO1xuICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENka2xhYnNQdWJsaXNoaW5nUHJvamVjdE9wdGlvbnMge1xuICAvKipcbiAgICogU2V0IGRlZmF1bHQgcHVibGlzaGluZyBwcm9wZXJ0aWVzLiBTZXR0aW5nIHRoaXMgcHJvcGVydHkgZ3VhcmFudGVlc1xuICAgKiB0aGF0IHlvdXIgcHJvamVjdCB3aWxsIGhhdmUgcmVhc29uYWJsZSBwdWJsaXNoaW5nIG5hbWVzLiBZb3UgY2FuIGNob29zZVxuICAgKiB0byBtb2RpZnkgdGhlbSBob3dldmVyIHlvdSB3aXNoIHdpdGggdGhlIHRyYWRpdGlvbmFsIGBwdWJsaXNoVG9QeXBpYCxcbiAgICogYHB1Ymxpc2hUb01hdmVuYCwgYHB1Ymxpc2hUb051Z2V0YCwgYW5kIGBwdWJsaXNoVG9Hb2AgcHJvcGVydGllcywgYW5kXG4gICAqIHlvdXIgY29uZmlndXJhdGlvbiB3aWxsIGJlIHJlc3BlY3RlZC5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgYmUgc2V0IHRvIGZhbHNlIG9ubHkgaWYgeW91IGRvIG5vdCBwbGFuIG9uIHJlbGVhc2luZyB0aGUgcGFja2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgc3BlY2lmaWMgbGFuZ3VhZ2VzIHRvIHB1Ymxpc2ggdG8uIFRoaXMgY2FuIGJlIHVzZWQgd2hlbiB0aGUgbGlicmFyeVxuICAgKiBpcyBleHBlcmltZW50YWwgb25seSwgYmVjYXVzZSBzdGFibGUgbGlicmFyaWVzIG11c3QgcHVibGlzaCB0byBhbGwganNpaSBsYW5ndWFnZXMuXG4gICAqIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0czogdHJ1ZWA7IG90aGVyd2lzZVxuICAgKiBpdCBpcyBhIG5vLW9wLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBqc2lpIHRhcmdldCBsYW5ndWFnZXNcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlUYXJnZXRMYW5ndWFnZXM/OiBKc2lpTGFuZ3VhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZGtsYWJzQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgZXh0ZW5kcyBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgQ2RrbGFic1B1Ymxpc2hpbmdQcm9qZWN0T3B0aW9ucyB7IH1cblxuLyoqXG4gKiBDcmVhdGUgYSBDZGtsYWJzIENvbnN0cnVjdCBMaWJyYXJ5IFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGtsYWJzLWNvbnN0cnVjdC1saWJcbiAqL1xuZXhwb3J0IGNsYXNzIENka2xhYnNDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgQ2RrQ29uc3RydWN0TGlicmFyeSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENka2xhYnNDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IGNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdFByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gKG9wdGlvbnMuY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0cyA/PyB0cnVlKSA/XG4gICAgICBjcmVhdGVDZGtsYWJzUHVibGlzaGluZ0RlZmF1bHRzKG9wdGlvbnMubmFtZSwgb3B0aW9ucy5qc2lpVGFyZ2V0TGFuZ3VhZ2VzKSA6IHt9O1xuXG4gICAgLy8gdGhlIGxlZnRtb3N0IG9iamVjdCBpcyBtdXRhdGVkIGFuZCByZXR1cm5lZCBieSBkZWVwTWVyZ2VcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gZGVlcE1lcmdlKFtcbiAgICAgIHt9LFxuICAgICAgY2RrbGFic0RlZmF1bHRQcm9wcyxcbiAgICAgIGNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdFByb3BzLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIGNka2xhYnNGb3JjZWRQcm9wcyxcbiAgICBdKSBhcyBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucztcblxuICAgIHN1cGVyKG1lcmdlZE9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrbGFic1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIENka1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB7IH1cblxuLyoqXG4gKiBDcmVhdGUgYSBDZGtsYWJzIFR5cGVTY3JpcHQgUHJvamVjdFxuICpcbiAqIEBwamlkIGNka2xhYnMtdHMtcHJvalxuICovXG5leHBvcnQgY2xhc3MgQ2RrbGFic1R5cGVTY3JpcHRQcm9qZWN0IGV4dGVuZHMgQ2RrVHlwZVNjcmlwdFByb2plY3Qge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtsYWJzVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgLy8gdGhlIGxlZnRtb3N0IG9iamVjdCBpcyBtdXRhdGVkIGFuZCByZXR1cm5lZCBieSBkZWVwTWVyZ2VcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gZGVlcE1lcmdlKFtcbiAgICAgIHt9LFxuICAgICAgY2RrbGFic0RlZmF1bHRQcm9wcyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBjZGtsYWJzRm9yY2VkUHJvcHMsXG4gICAgXSkgYXMgQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnM7XG5cbiAgICBzdXBlcihtZXJnZWRPcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENka2xhYnNKc2lpUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDZGtKc2lpUHJvamVjdE9wdGlvbnMsIENka2xhYnNQdWJsaXNoaW5nUHJvamVjdE9wdGlvbnMgeyB9XG5cbi8qKlxuICogQ3JlYXRlIGEgQ2RrbGFicyBKc2lpIFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGtsYWJzLWpzaWktcHJvalxuICovXG5leHBvcnQgY2xhc3MgQ2RrbGFic0pzaWlQcm9qZWN0IGV4dGVuZHMgQ2RrSnNpaVByb2plY3Qge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtsYWJzSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3QgY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0UHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSAob3B0aW9ucy5jZGtsYWJzUHVibGlzaGluZ0RlZmF1bHRzID8/IHRydWUpID9cbiAgICAgIGNyZWF0ZUNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdHMob3B0aW9ucy5uYW1lLCBvcHRpb25zLmpzaWlUYXJnZXRMYW5ndWFnZXMpIDoge307XG4gICAgLy8gdGhlIGxlZnRtb3N0IG9iamVjdCBpcyBtdXRhdGVkIGFuZCByZXR1cm5lZCBieSBkZWVwTWVyZ2VcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gZGVlcE1lcmdlKFtcbiAgICAgIHt9LFxuICAgICAgY2RrbGFic0RlZmF1bHRQcm9wcyxcbiAgICAgIGNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdFByb3BzLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIGNka2xhYnNGb3JjZWRQcm9wcyxcbiAgICBdKSBhcyBDZGtsYWJzSnNpaVByb2plY3RPcHRpb25zO1xuXG4gICAgc3VwZXIobWVyZ2VkT3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -62,9 +62,11 @@ function configureCommonComponents(project, opts) {
62
62
  if (opts.upgradeCdklabsProjenProjectTypes) {
63
63
  new upgrade_cdklabs_projen_project_types_1.UpgradeCdklabsProjenProjectTypes(project);
64
64
  }
65
- if ((opts.upgradeRuntimeDepsAsFix)) {
65
+ if (opts.upgradeRuntimeDepsAsFix) {
66
66
  const exclude = opts.upgradeCdklabsProjenProjectTypes ? upgrade_cdklabs_projen_project_types_1.UpgradeCdklabsProjenProjectTypes.deps : [];
67
67
  const labels = opts.autoApproveUpgrades ? [opts.autoApproveOptions?.label ?? 'auto-approve'] : [];
68
+ // Run at 18:00Z once a week (on Monday)
69
+ const upgradeSchedule = projen_1.javascript.UpgradeDependenciesSchedule.expressions(['0 18 * * 1']);
68
70
  new projen_1.javascript.UpgradeDependencies(project, {
69
71
  taskName: 'upgrade',
70
72
  // NOTE: we explicitly do NOT upgrade PEER dependencies. We want the widest range of compatibility possible,
@@ -76,7 +78,7 @@ function configureCommonComponents(project, opts) {
76
78
  semanticCommit: 'fix',
77
79
  workflowOptions: {
78
80
  labels,
79
- schedule: projen_1.javascript.UpgradeDependenciesSchedule.expressions(['0 18 * * *']),
81
+ schedule: upgradeSchedule,
80
82
  },
81
83
  });
82
84
  new projen_1.javascript.UpgradeDependencies(project, {
@@ -87,6 +89,7 @@ function configureCommonComponents(project, opts) {
87
89
  pullRequestTitle: 'upgrade dev dependencies',
88
90
  workflowOptions: {
89
91
  labels,
92
+ schedule: upgradeSchedule,
90
93
  },
91
94
  });
92
95
  }
@@ -107,4 +110,4 @@ function automationUserForOrg(tenancy) {
107
110
  return 'cdklabs-automation';
108
111
  }
109
112
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbW9uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUJBLDhEQXlDQztBQUVELDhEQXNEQztBQXhIRCxtQ0FBd0U7QUFDeEUsMENBQTRDO0FBRTVDLHVDQUFvQztBQUNwQyxpR0FBMEY7QUFFMUYsSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLGlDQUFtQixDQUFBO0lBQ25CLHlCQUFXLENBQUE7QUFDYixDQUFDLEVBSFcsVUFBVSwwQkFBVixVQUFVLFFBR3JCO0FBY0QsU0FBZ0IseUJBQXlCLENBQTJCLE9BQVU7SUFDNUUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDMUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksU0FBUyxDQUFDO0lBQ2pFLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixJQUFJO1FBQ3ZELGlCQUFpQixFQUFFLGVBQU0sQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxDQUFDO0tBQ3ZHLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBeUI7UUFDMUMsT0FBTyxFQUFFLENBQUMsaUJBQWlCO0tBQzVCLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ILE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxD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LENBQUMsWUFBWSxDQUFDLENBQUM7YUFDN0U7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLG1CQUFVLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFO1lBQzFDLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsS0FBSyxFQUFFLENBQUMsdUJBQWMsQ0FBQyxLQUFLLEVBQUUsdUJBQWMsQ0FBQyxNQUFNLEVBQUUsdUJBQWMsQ0FBQyxJQUFJLENBQUM7WUFDekUsT0FBTztZQUNQLGNBQWMsRUFBRSxPQUFPO1lBQ3ZCLGdCQUFnQixFQUFFLDBCQUEwQjtZQUM1QyxlQUFlLEVBQUU7Z0JBQ2YsTUFBTTthQUNQO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyw4QkFBOEIsQ0FBQyxFQUFFLENBQUM7UUFDL0UsT0FBTyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxPQUFtQjtJQUMvQyxRQUFRLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLEtBQUssVUFBVSxDQUFDLEdBQUc7WUFDakIsT0FBTyxvQkFBb0IsQ0FBQztRQUM5QixLQUFLLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDeEI7WUFDRSxPQUFPLG9CQUFvQixDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUsIGdpdGh1YiwgamF2YXNjcmlwdCwgdHlwZXNjcmlwdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICdwcm9qZW4vbGliL3V0aWwnO1xuaW1wb3J0IHsgQ2RrQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vY2RrLWNvbW1vbi1vcHRpb25zJztcbmltcG9ydCB7IFByaXZhdGUgfSBmcm9tICcuL3ByaXZhdGUnO1xuaW1wb3J0IHsgVXBncmFkZUNka2xhYnNQcm9qZW5Qcm9qZWN0VHlwZXMgfSBmcm9tICcuL3VwZ3JhZGUtY2RrbGFicy1wcm9qZW4tcHJvamVjdC10eXBlcyc7XG5cbmV4cG9ydCBlbnVtIE9yZ1RlbmFuY3kge1xuICBDREtMQUJTID0gJ2Nka2xhYnMnLFxuICBBV1MgPSAnYXdzJyxcbn1cblxudHlwZSBQcm9qZWN0T3B0aW9ucyA9IENka0NvbW1vbk9wdGlvbnMgJiB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucztcbnR5cGUgQ29uZmlndXJlZFR5cGVTY3JpcHRPcHRpb25zID0gUGljazx0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyxcbnwgJ2dpdGh1Yk9wdGlvbnMnXG58ICducG1BY2Nlc3MnXG58ICdhdXRvQXBwcm92ZU9wdGlvbnMnXG58ICdhdXRvQXBwcm92ZVVwZ3JhZGVzJ1xufCAnZGVwc1VwZ3JhZGUnXG58ICdyZXBvc2l0b3J5J1xufCAnd29ya2Zsb3dOb2RlVmVyc2lvbidcbj47XG50eXBlIENvbmZpZ3VyZWRDb21tb25PcHRpb25zID0gUmVxdWlyZWQ8Q2RrQ29tbW9uT3B0aW9ucyAmQ29uZmlndXJlZFR5cGVTY3JpcHRPcHRpb25zPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhDb21tb25PcHRpb25zRGVmYXVsdHM8VCBleHRlbmRzIFByb2plY3RPcHRpb25zPihvcHRpb25zOiBUKTogVCAmIENvbmZpZ3VyZWRDb21tb25PcHRpb25zIHtcbiAgY29uc3QgaXNQcml2YXRlID0gb3B0aW9ucy5wcml2YXRlID8/IHRydWU7XG4gIGNvbnN0IGVuYWJsZVBSQXV0b01lcmdlID0gb3B0aW9ucy5lbmFibGVQUkF1dG9NZXJnZSA/PyBpc1ByaXZhdGU7XG4gIGNvbnN0IGdoQXV0b01lcmdlT3B0aW9ucyA9IG9wdGlvbnMuZ2hBdXRvTWVyZ2VPcHRpb25zID8/IHtcbiAgICBwcm9qZW5DcmVkZW50aWFsczogZ2l0aHViLkdpdGh1YkNyZWRlbnRpYWxzLmZyb21QZXJzb25hbEFjY2Vzc1Rva2VuKHsgc2VjcmV0OiAnUFJPSkVOX0dJVEhVQl9UT0tFTicgfSksXG4gIH07XG4gIGNvbnN0IGdpdGh1Yk9wdGlvbnM6IGdpdGh1Yi5HaXRIdWJPcHRpb25zID0ge1xuICAgIG1lcmdpZnk6ICFlbmFibGVQUkF1dG9NZXJnZSxcbiAgfTtcbiAgY29uc3QgbnBtQWNjZXNzID0gb3B0aW9ucy5ucG1BY2Nlc3MgPz8gKGlzUHJpdmF0ZSA/IGphdmFzY3JpcHQuTnBtQWNjZXNzLlJFU1RSSUNURUQgOiBqYXZhc2NyaXB0Lk5wbUFjY2Vzcy5QVUJMSUMpO1xuICBjb25zdCB0ZW5hbmN5ID0gb3B0aW9ucy50ZW5hbmN5ID8/IChvcHRpb25zLm5hbWUuc3RhcnRzV2l0aCgnQGF3cy1jZGsvJykgPyBPcmdUZW5hbmN5LkFXUyA6IE9yZ1RlbmFuY3kuQ0RLTEFCUyk7XG4gIGNvbnN0IHNob3J0bmFtZSA9IChvcHRpb25zLm5hbWUuc3RhcnRzV2l0aCgnQCcpICYmIG9wdGlvbnMubmFtZS5zcGxpdCgnLycpWzFdKSB8fCBvcHRpb25zLm5hbWU7XG4gIGNvbnN0IHJlcG9zaXRvcnkgPSBvcHRpb25zLnJlcG9zaXRvcnkgPz8gYGh0dHBzOi8vZ2l0aHViLmNvbS8ke3RlbmFuY3l9LyR7c2hvcnRuYW1lfS5naXRgO1xuICBjb25zdCBhdXRvQXBwcm92ZU9wdGlvbnMgPSB7XG4gICAgYWxsb3dlZFVzZXJuYW1lczogW2F1dG9tYXRpb25Vc2VyRm9yT3JnKHRlbmFuY3kpLCAnZGVwZW5kYWJvdFtib3RdJ10sXG4gICAgc2VjcmV0OiAnR0lUSFVCX1RPS0VOJyxcbiAgfTtcbiAgY29uc3QgdXBncmFkZVJ1bnRpbWVEZXBzQXNGaXggPSBvcHRpb25zLnVwZ3JhZGVSdW50aW1lRGVwc0FzRml4ID8/IHRydWU7XG5cbiAgY29uc3QgY29tbW9uOiBDb25maWd1cmVkQ29tbW9uT3B0aW9ucyA9IHtcbiAgICBwcml2YXRlOiBpc1ByaXZhdGUsXG4gICAgZW5hYmxlUFJBdXRvTWVyZ2UsXG4gICAgZ2hBdXRvTWVyZ2VPcHRpb25zLFxuICAgIGdpdGh1Yk9wdGlvbnMsXG4gICAgc2V0Tm9kZUVuZ2luZVZlcnNpb246IG9wdGlvbnMuc2V0Tm9kZUVuZ2luZVZlcnNpb24gPz8gdHJ1ZSxcbiAgICBucG1BY2Nlc3MsXG4gICAgdGVuYW5jeSxcbiAgICBhdXRvQXBwcm92ZU9wdGlvbnMsXG4gICAgYXV0b0FwcHJvdmVVcGdyYWRlczogb3B0aW9ucy5hdXRvQXBwcm92ZVVwZ3JhZGVzID8/IHRydWUsXG4gICAgZGVwc1VwZ3JhZGU6ICF1cGdyYWRlUnVudGltZURlcHNBc0ZpeCxcbiAgICB1cGdyYWRlUnVudGltZURlcHNBc0ZpeCxcbiAgICByZXBvc2l0b3J5LFxuICAgIHVwZ3JhZGVDZGtsYWJzUHJvamVuUHJvamVjdFR5cGVzOlxuICAgICAgb3B0aW9ucy51cGdyYWRlQ2RrbGFic1Byb2plblByb2plY3RUeXBlcyA/PyB0cnVlLFxuXG4gICAgLy8gRGV2aWF0aW9uIGZyb20gdXBzdHJlYW0gcHJvamVuOiB1cHN0cmVhbSBwcm9qZW4gZGVmYXVsdHMgdG8gbWluTm9kZVZlcnNpb24sIGJ1dCB3ZSBoYXZlIHRvbyBtYW55IHdvcmtmbG93c1xuICAgIC8vIHRoYXQgdXNlIHRvb2xzIHRoYXQgd2FudCBhIHJlY2VudCBOb2RlIHZlcnNpb24sIHNvIGRlZmF1bHQgdG8gYSByZWFzb25hYmxlIGZsb2F0aW5nIHZlcnNpb24uXG4gICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICdsdHMvKicsXG4gIH07XG5cbiAgcmV0dXJuIGRlZXBNZXJnZShbe30sIG9wdGlvbnMsIGNvbW1vbl0pIGFzIFQgJiBDb25maWd1cmVkQ29tbW9uT3B0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZUNvbW1vbkNvbXBvbmVudHMocHJvamVjdDogdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdCwgb3B0czogQ2RrQ29tbW9uT3B0aW9ucyAmIFBpY2s8amF2YXNjcmlwdC5Ob2RlUHJvamVjdE9wdGlvbnMsICdhdXRvQXBwcm92ZVVwZ3JhZGVzJyB8ICdhdXRvQXBwcm92ZU9wdGlvbnMnPikge1xuICBpZiAob3B0cy5wcml2YXRlKSB7XG4gICAgbmV3IFByaXZhdGUocHJvamVjdCk7XG4gIH1cblxuICBpZiAob3B0cy5lbmFibGVQUkF1dG9NZXJnZSkge1xuICAgIG5ldyBnaXRodWIuTWVyZ2VRdWV1ZShwcm9qZWN0LCB7XG4gICAgICBhdXRvUXVldWVPcHRpb25zOiBvcHRzLmdoQXV0b01lcmdlT3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcHRzLnVwZ3JhZGVDZGtsYWJzUHJvamVuUHJvamVjdFR5cGVzKSB7XG4gICAgbmV3IFVwZ3JhZGVDZGtsYWJzUHJvamVuUHJvamVjdFR5cGVzKHByb2plY3QpO1xuICB9XG5cbiAgaWYgKChvcHRzLnVwZ3JhZGVSdW50aW1lRGVwc0FzRml4KSkge1xuICAgIGNvbnN0IGV4Y2x1ZGUgPSBvcHRzLnVwZ3JhZGVDZGtsYWJzUHJvamVuUHJvamVjdFR5cGVzID8gVXBncmFkZUNka2xhYnNQcm9qZW5Qcm9qZWN0VHlwZXMuZGVwcyA6IFtdO1xuICAgIGNvbnN0IGxhYmVscyA9IG9wdHMuYXV0b0FwcHJvdmVVcGdyYWRlcyA/IFtvcHRzLmF1dG9BcHByb3ZlT3B0aW9ucz8ubGFiZWwgPz8gJ2F1dG8tYXBwcm92ZSddIDogW107XG5cbiAgICBuZXcgamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzKHByb2plY3QsIHtcbiAgICAgIHRhc2tOYW1lOiAndXBncmFkZScsXG4gICAgICAvLyBOT1RFOiB3ZSBleHBsaWNpdGx5IGRvIE5PVCB1cGdyYWRlIFBFRVIgZGVwZW5kZW5jaWVzLiBXZSB3YW50IHRoZSB3aWRlc3QgcmFuZ2Ugb2YgY29tcGF0aWJpbGl0eSBwb3NzaWJsZSxcbiAgICAgIC8vIGFuZCBieSBidW1waW5nIHBlZXIgZGVwZW5kZW5jaWVzIHdlIGZvcmNlIHRoZSBjdXN0b21lciB0byBhbHNvIHVubmVjZXNzYXJpbHkgdXBncmFkZSwgd2hpY2ggdGhleSBtYXkgbm90IHdhbnRcbiAgICAgIC8vIHRvIGRvLiBOZXZlciBtaW5kIHRoYXQgcGVlckRlcGVuZGVuY2llcyBhcmUgdXN1YWxseSBhbHNvIGRldkRlcGVuZGVuY2llcywgc28gaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHVwZ3JhZGVcbiAgICAgIC8vIHRoZW0gd2l0aG91dCBhbHNvIHVwZ3JhZGluZyBkZXZEZXBlbmRlbmNpZXMuXG4gICAgICB0eXBlczogW0RlcGVuZGVuY3lUeXBlLlJVTlRJTUUsIERlcGVuZGVuY3lUeXBlLkJVTkRMRURdLFxuICAgICAgZXhjbHVkZSxcbiAgICAgIHNlbWFudGljQ29tbWl0OiAnZml4JyxcbiAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICBsYWJlbHMsXG4gICAgICAgIHNjaGVkdWxlOiBqYXZhc2NyaXB0LlVwZ3JhZGVEZXBlbmRlbmNpZXNTY2hlZHVsZS5leHByZXNzaW9ucyhbJzAgMTggKiAqIConXSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IGphdmFzY3JpcHQuVXBncmFkZURlcGVuZGVuY2llcyhwcm9qZWN0LCB7XG4gICAgICB0YXNrTmFtZTogJ3VwZ3JhZGUtZGV2LWRlcHMnLFxuICAgICAgdHlwZXM6IFtEZXBlbmRlbmN5VHlwZS5CVUlMRCwgRGVwZW5kZW5jeVR5cGUuREVWRU5WLCBEZXBlbmRlbmN5VHlwZS5URVNUXSxcbiAgICAgIGV4Y2x1ZGUsXG4gICAgICBzZW1hbnRpY0NvbW1pdDogJ2Nob3JlJyxcbiAgICAgIHB1bGxSZXF1ZXN0VGl0bGU6ICd1cGdyYWRlIGRldiBkZXBlbmRlbmNpZXMnLFxuICAgICAgd29ya2Zsb3dPcHRpb25zOiB7XG4gICAgICAgIGxhYmVscyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5zZXROb2RlRW5naW5lVmVyc2lvbiA9PT0gZmFsc2UpIHtcbiAgICBwcm9qZWN0LnBhY2thZ2UuZmlsZS5hZGRPdmVycmlkZSgnZW5naW5lcy5ub2RlJywgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8vIElmIGNka2xhYnMtcHJvamVuLXByb2plY3QtdHlwZXMgaXMgbm90IGFkZGVkIGV4cGxpY2l0bHksIGFkZCBpdCBub3dcbiAgaWYgKCFwcm9qZWN0LmRlcHMuYWxsLnNvbWUoZGVwID0+IGRlcC5uYW1lID09PSAnY2RrbGFicy1wcm9qZW4tcHJvamVjdC10eXBlcycpKSB7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKCdjZGtsYWJzLXByb2plbi1wcm9qZWN0LXR5cGVzJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXV0b21hdGlvblVzZXJGb3JPcmcodGVuYW5jeTogT3JnVGVuYW5jeSkge1xuICBzd2l0Y2ggKHRlbmFuY3kpIHtcbiAgICBjYXNlIE9yZ1RlbmFuY3kuQVdTOlxuICAgICAgcmV0dXJuICdhd3MtY2RrLWF1dG9tYXRpb24nO1xuICAgIGNhc2UgT3JnVGVuYW5jeS5DREtMQUJTOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ2Nka2xhYnMtYXV0b21hdGlvbic7XG4gIH1cbn1cbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbW9uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUJBLDhEQXlDQztBQUVELDhEQTBEQztBQTVIRCxtQ0FBd0U7QUFDeEUsMENBQTRDO0FBRTVDLHVDQUFvQztBQUNwQyxpR0FBMEY7QUFFMUYsSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLGlDQUFtQixDQUFBO0lBQ25CLHlCQUFXLENBQUE7QUFDYixDQUFDLEVBSFcsVUFBVSwwQkFBVixVQUFVLFFBR3JCO0FBY0QsU0FBZ0IseUJBQXlCLENBQTJCLE9BQVU7SUFDNUUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDMUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksU0FBUyxDQUFDO0lBQ2pFLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixJQUFJO1FBQ3ZELGlCQUFpQixFQUFFLGVBQU0sQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxDQUFDO0tBQ3ZHLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBeUI7UUFDMUMsT0FBTyxFQUFFLENBQUMsaUJBQWlCO0tBQzVCLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ILE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxD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bmRlbmN5VHlwZSwgZ2l0aHViLCBqYXZhc2NyaXB0LCB0eXBlc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gJ3Byb2plbi9saWIvdXRpbCc7XG5pbXBvcnQgeyBDZGtDb21tb25PcHRpb25zIH0gZnJvbSAnLi9jZGstY29tbW9uLW9wdGlvbnMnO1xuaW1wb3J0IHsgUHJpdmF0ZSB9IGZyb20gJy4vcHJpdmF0ZSc7XG5pbXBvcnQgeyBVcGdyYWRlQ2RrbGFic1Byb2plblByb2plY3RUeXBlcyB9IGZyb20gJy4vdXBncmFkZS1jZGtsYWJzLXByb2plbi1wcm9qZWN0LXR5cGVzJztcblxuZXhwb3J0IGVudW0gT3JnVGVuYW5jeSB7XG4gIENES0xBQlMgPSAnY2RrbGFicycsXG4gIEFXUyA9ICdhd3MnLFxufVxuXG50eXBlIFByb2plY3RPcHRpb25zID0gQ2RrQ29tbW9uT3B0aW9ucyAmIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zO1xudHlwZSBDb25maWd1cmVkVHlwZVNjcmlwdE9wdGlvbnMgPSBQaWNrPHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLFxufCAnZ2l0aHViT3B0aW9ucydcbnwgJ25wbUFjY2VzcydcbnwgJ2F1dG9BcHByb3ZlT3B0aW9ucydcbnwgJ2F1dG9BcHByb3ZlVXBncmFkZXMnXG58ICdkZXBzVXBncmFkZSdcbnwgJ3JlcG9zaXRvcnknXG58ICd3b3JrZmxvd05vZGVWZXJzaW9uJ1xuPjtcbnR5cGUgQ29uZmlndXJlZENvbW1vbk9wdGlvbnMgPSBSZXF1aXJlZDxDZGtDb21tb25PcHRpb25zICZDb25maWd1cmVkVHlwZVNjcmlwdE9wdGlvbnM+O1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aENvbW1vbk9wdGlvbnNEZWZhdWx0czxUIGV4dGVuZHMgUHJvamVjdE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBUICYgQ29uZmlndXJlZENvbW1vbk9wdGlvbnMge1xuICBjb25zdCBpc1ByaXZhdGUgPSBvcHRpb25zLnByaXZhdGUgPz8gdHJ1ZTtcbiAgY29uc3QgZW5hYmxlUFJBdXRvTWVyZ2UgPSBvcHRpb25zLmVuYWJsZVBSQXV0b01lcmdlID8/IGlzUHJpdmF0ZTtcbiAgY29uc3QgZ2hBdXRvTWVyZ2VPcHRpb25zID0gb3B0aW9ucy5naEF1dG9NZXJnZU9wdGlvbnMgPz8ge1xuICAgIHByb2plbkNyZWRlbnRpYWxzOiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHMuZnJvbVBlcnNvbmFsQWNjZXNzVG9rZW4oeyBzZWNyZXQ6ICdQUk9KRU5fR0lUSFVCX1RPS0VOJyB9KSxcbiAgfTtcbiAgY29uc3QgZ2l0aHViT3B0aW9uczogZ2l0aHViLkdpdEh1Yk9wdGlvbnMgPSB7XG4gICAgbWVyZ2lmeTogIWVuYWJsZVBSQXV0b01lcmdlLFxuICB9O1xuICBjb25zdCBucG1BY2Nlc3MgPSBvcHRpb25zLm5wbUFjY2VzcyA/PyAoaXNQcml2YXRlID8gamF2YXNjcmlwdC5OcG1BY2Nlc3MuUkVTVFJJQ1RFRCA6IGphdmFzY3JpcHQuTnBtQWNjZXNzLlBVQkxJQyk7XG4gIGNvbnN0IHRlbmFuY3kgPSBvcHRpb25zLnRlbmFuY3kgPz8gKG9wdGlvbnMubmFtZS5zdGFydHNXaXRoKCdAYXdzLWNkay8nKSA/IE9yZ1RlbmFuY3kuQVdTIDogT3JnVGVuYW5jeS5DREtMQUJTKTtcbiAgY29uc3Qgc2hvcnRuYW1lID0gKG9wdGlvbnMubmFtZS5zdGFydHNXaXRoKCdAJykgJiYgb3B0aW9ucy5uYW1lLnNwbGl0KCcvJylbMV0pIHx8IG9wdGlvbnMubmFtZTtcbiAgY29uc3QgcmVwb3NpdG9yeSA9IG9wdGlvbnMucmVwb3NpdG9yeSA/PyBgaHR0cHM6Ly9naXRodWIuY29tLyR7dGVuYW5jeX0vJHtzaG9ydG5hbWV9LmdpdGA7XG4gIGNvbnN0IGF1dG9BcHByb3ZlT3B0aW9ucyA9IHtcbiAgICBhbGxvd2VkVXNlcm5hbWVzOiBbYXV0b21hdGlvblVzZXJGb3JPcmcodGVuYW5jeSksICdkZXBlbmRhYm90W2JvdF0nXSxcbiAgICBzZWNyZXQ6ICdHSVRIVUJfVE9LRU4nLFxuICB9O1xuICBjb25zdCB1cGdyYWRlUnVudGltZURlcHNBc0ZpeCA9IG9wdGlvbnMudXBncmFkZVJ1bnRpbWVEZXBzQXNGaXggPz8gdHJ1ZTtcblxuICBjb25zdCBjb21tb246IENvbmZpZ3VyZWRDb21tb25PcHRpb25zID0ge1xuICAgIHByaXZhdGU6IGlzUHJpdmF0ZSxcbiAgICBlbmFibGVQUkF1dG9NZXJnZSxcbiAgICBnaEF1dG9NZXJnZU9wdGlvbnMsXG4gICAgZ2l0aHViT3B0aW9ucyxcbiAgICBzZXROb2RlRW5naW5lVmVyc2lvbjogb3B0aW9ucy5zZXROb2RlRW5naW5lVmVyc2lvbiA/PyB0cnVlLFxuICAgIG5wbUFjY2VzcyxcbiAgICB0ZW5hbmN5LFxuICAgIGF1dG9BcHByb3ZlT3B0aW9ucyxcbiAgICBhdXRvQXBwcm92ZVVwZ3JhZGVzOiBvcHRpb25zLmF1dG9BcHByb3ZlVXBncmFkZXMgPz8gdHJ1ZSxcbiAgICBkZXBzVXBncmFkZTogIXVwZ3JhZGVSdW50aW1lRGVwc0FzRml4LFxuICAgIHVwZ3JhZGVSdW50aW1lRGVwc0FzRml4LFxuICAgIHJlcG9zaXRvcnksXG4gICAgdXBncmFkZUNka2xhYnNQcm9qZW5Qcm9qZWN0VHlwZXM6XG4gICAgICBvcHRpb25zLnVwZ3JhZGVDZGtsYWJzUHJvamVuUHJvamVjdFR5cGVzID8/IHRydWUsXG5cbiAgICAvLyBEZXZpYXRpb24gZnJvbSB1cHN0cmVhbSBwcm9qZW46IHVwc3RyZWFtIHByb2plbiBkZWZhdWx0cyB0byBtaW5Ob2RlVmVyc2lvbiwgYnV0IHdlIGhhdmUgdG9vIG1hbnkgd29ya2Zsb3dzXG4gICAgLy8gdGhhdCB1c2UgdG9vbHMgdGhhdCB3YW50IGEgcmVjZW50IE5vZGUgdmVyc2lvbiwgc28gZGVmYXVsdCB0byBhIHJlYXNvbmFibGUgZmxvYXRpbmcgdmVyc2lvbi5cbiAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiBvcHRpb25zLndvcmtmbG93Tm9kZVZlcnNpb24gPz8gJ2x0cy8qJyxcbiAgfTtcblxuICByZXR1cm4gZGVlcE1lcmdlKFt7fSwgb3B0aW9ucywgY29tbW9uXSkgYXMgVCAmIENvbmZpZ3VyZWRDb21tb25PcHRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cyhwcm9qZWN0OiB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0LCBvcHRzOiBDZGtDb21tb25PcHRpb25zICYgUGljazxqYXZhc2NyaXB0Lk5vZGVQcm9qZWN0T3B0aW9ucywgJ2F1dG9BcHByb3ZlVXBncmFkZXMnIHwgJ2F1dG9BcHByb3ZlT3B0aW9ucyc+KSB7XG4gIGlmIChvcHRzLnByaXZhdGUpIHtcbiAgICBuZXcgUHJpdmF0ZShwcm9qZWN0KTtcbiAgfVxuXG4gIGlmIChvcHRzLmVuYWJsZVBSQXV0b01lcmdlKSB7XG4gICAgbmV3IGdpdGh1Yi5NZXJnZVF1ZXVlKHByb2plY3QsIHtcbiAgICAgIGF1dG9RdWV1ZU9wdGlvbnM6IG9wdHMuZ2hBdXRvTWVyZ2VPcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9wdHMudXBncmFkZUNka2xhYnNQcm9qZW5Qcm9qZWN0VHlwZXMpIHtcbiAgICBuZXcgVXBncmFkZUNka2xhYnNQcm9qZW5Qcm9qZWN0VHlwZXMocHJvamVjdCk7XG4gIH1cblxuICBpZiAob3B0cy51cGdyYWRlUnVudGltZURlcHNBc0ZpeCkge1xuICAgIGNvbnN0IGV4Y2x1ZGUgPSBvcHRzLnVwZ3JhZGVDZGtsYWJzUHJvamVuUHJvamVjdFR5cGVzID8gVXBncmFkZUNka2xhYnNQcm9qZW5Qcm9qZWN0VHlwZXMuZGVwcyA6IFtdO1xuICAgIGNvbnN0IGxhYmVscyA9IG9wdHMuYXV0b0FwcHJvdmVVcGdyYWRlcyA/IFtvcHRzLmF1dG9BcHByb3ZlT3B0aW9ucz8ubGFiZWwgPz8gJ2F1dG8tYXBwcm92ZSddIDogW107XG5cbiAgICAvLyBSdW4gYXQgMTg6MDBaIG9uY2UgYSB3ZWVrIChvbiBNb25kYXkpXG4gICAgY29uc3QgdXBncmFkZVNjaGVkdWxlID0gamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzU2NoZWR1bGUuZXhwcmVzc2lvbnMoWycwIDE4ICogKiAxJ10pO1xuXG4gICAgbmV3IGphdmFzY3JpcHQuVXBncmFkZURlcGVuZGVuY2llcyhwcm9qZWN0LCB7XG4gICAgICB0YXNrTmFtZTogJ3VwZ3JhZGUnLFxuICAgICAgLy8gTk9URTogd2UgZXhwbGljaXRseSBkbyBOT1QgdXBncmFkZSBQRUVSIGRlcGVuZGVuY2llcy4gV2Ugd2FudCB0aGUgd2lkZXN0IHJhbmdlIG9mIGNvbXBhdGliaWxpdHkgcG9zc2libGUsXG4gICAgICAvLyBhbmQgYnkgYnVtcGluZyBwZWVyIGRlcGVuZGVuY2llcyB3ZSBmb3JjZSB0aGUgY3VzdG9tZXIgdG8gYWxzbyB1bm5lY2Vzc2FyaWx5IHVwZ3JhZGUsIHdoaWNoIHRoZXkgbWF5IG5vdCB3YW50XG4gICAgICAvLyB0byBkby4gTmV2ZXIgbWluZCB0aGF0IHBlZXJEZXBlbmRlbmNpZXMgYXJlIHVzdWFsbHkgYWxzbyBkZXZEZXBlbmRlbmNpZXMsIHNvIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byB1cGdyYWRlXG4gICAgICAvLyB0aGVtIHdpdGhvdXQgYWxzbyB1cGdyYWRpbmcgZGV2RGVwZW5kZW5jaWVzLlxuICAgICAgdHlwZXM6IFtEZXBlbmRlbmN5VHlwZS5SVU5USU1FLCBEZXBlbmRlbmN5VHlwZS5CVU5ETEVEXSxcbiAgICAgIGV4Y2x1ZGUsXG4gICAgICBzZW1hbnRpY0NvbW1pdDogJ2ZpeCcsXG4gICAgICB3b3JrZmxvd09wdGlvbnM6IHtcbiAgICAgICAgbGFiZWxzLFxuICAgICAgICBzY2hlZHVsZTogdXBncmFkZVNjaGVkdWxlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ldyBqYXZhc2NyaXB0LlVwZ3JhZGVEZXBlbmRlbmNpZXMocHJvamVjdCwge1xuICAgICAgdGFza05hbWU6ICd1cGdyYWRlLWRldi1kZXBzJyxcbiAgICAgIHR5cGVzOiBbRGVwZW5kZW5jeVR5cGUuQlVJTEQsIERlcGVuZGVuY3lUeXBlLkRFVkVOViwgRGVwZW5kZW5jeVR5cGUuVEVTVF0sXG4gICAgICBleGNsdWRlLFxuICAgICAgc2VtYW50aWNDb21taXQ6ICdjaG9yZScsXG4gICAgICBwdWxsUmVxdWVzdFRpdGxlOiAndXBncmFkZSBkZXYgZGVwZW5kZW5jaWVzJyxcbiAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICBsYWJlbHMsXG4gICAgICAgIHNjaGVkdWxlOiB1cGdyYWRlU2NoZWR1bGUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9wdHMuc2V0Tm9kZUVuZ2luZVZlcnNpb24gPT09IGZhbHNlKSB7XG4gICAgcHJvamVjdC5wYWNrYWdlLmZpbGUuYWRkT3ZlcnJpZGUoJ2VuZ2luZXMubm9kZScsIHVuZGVmaW5lZCk7XG4gIH1cblxuICAvLyBJZiBjZGtsYWJzLXByb2plbi1wcm9qZWN0LXR5cGVzIGlzIG5vdCBhZGRlZCBleHBsaWNpdGx5LCBhZGQgaXQgbm93XG4gIGlmICghcHJvamVjdC5kZXBzLmFsbC5zb21lKGRlcCA9PiBkZXAubmFtZSA9PT0gJ2Nka2xhYnMtcHJvamVuLXByb2plY3QtdHlwZXMnKSkge1xuICAgIHByb2plY3QuYWRkRGV2RGVwcygnY2RrbGFicy1wcm9qZW4tcHJvamVjdC10eXBlcycpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGF1dG9tYXRpb25Vc2VyRm9yT3JnKHRlbmFuY3k6IE9yZ1RlbmFuY3kpIHtcbiAgc3dpdGNoICh0ZW5hbmN5KSB7XG4gICAgY2FzZSBPcmdUZW5hbmN5LkFXUzpcbiAgICAgIHJldHVybiAnYXdzLWNkay1hdXRvbWF0aW9uJztcbiAgICBjYXNlIE9yZ1RlbmFuY3kuQ0RLTEFCUzpcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdjZGtsYWJzLWF1dG9tYXRpb24nO1xuICB9XG59XG4iXX0=