@horietakehiro/aws-cdk-utul 0.35.3 → 0.35.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/lib/types/cfn-resource-types/aws-athena-workgroup.d.ts +15 -0
  2. package/lib/types/cfn-resource-types/aws-athena-workgroup.js +1 -1
  3. package/lib/types/cfn-resource-types/aws-ec2-egressonlyinternetgateway.d.ts +8 -0
  4. package/lib/types/cfn-resource-types/aws-ec2-egressonlyinternetgateway.js +1 -1
  5. package/lib/types/cfn-resource-types/aws-eks-podidentityassociation.d.ts +24 -12
  6. package/lib/types/cfn-resource-types/aws-eks-podidentityassociation.js +1 -1
  7. package/lib/types/cfn-resource-types/aws-kms-key.d.ts +1 -1
  8. package/lib/types/cfn-resource-types/aws-kms-key.js +1 -1
  9. package/lib/types/cfn-resource-types/aws-lambda-eventsourcemapping.d.ts +0 -29
  10. package/lib/types/cfn-resource-types/aws-lambda-eventsourcemapping.js +1 -1
  11. package/lib/types/cfn-resource-types/aws-mwaa-environment.d.ts +5 -0
  12. package/lib/types/cfn-resource-types/aws-mwaa-environment.js +1 -1
  13. package/lib/types/cfn-resource-types/aws-networkfirewall-loggingconfiguration.d.ts +1 -0
  14. package/lib/types/cfn-resource-types/aws-networkfirewall-loggingconfiguration.js +1 -1
  15. package/lib/types/cfn-resource-types/aws-rds-dbcluster.d.ts +2 -2
  16. package/lib/types/cfn-resource-types/aws-rds-dbcluster.js +1 -1
  17. package/lib/types/cfn-resource-types/aws-rds-dbinstance.d.ts +1 -1
  18. package/lib/types/cfn-resource-types/aws-rds-dbinstance.js +1 -1
  19. package/lib/types/cfn-resource-types/aws-sagemaker-domain.d.ts +40 -0
  20. package/lib/types/cfn-resource-types/aws-sagemaker-domain.js +1 -1
  21. package/lib/types/cfn-resource-types/aws-wafv2-rulegroup.d.ts +12 -0
  22. package/lib/types/cfn-resource-types/aws-wafv2-rulegroup.js +1 -1
  23. package/lib/types/cfn-resource-types/aws-wafv2-webacl.d.ts +483 -432
  24. package/lib/types/cfn-resource-types/aws-wafv2-webacl.js +1 -1
  25. package/package.json +1 -1
@@ -108,6 +108,7 @@ export interface WorkGroupConfiguration {
108
108
  AdditionalConfiguration?: AdditionalConfiguration;
109
109
  ExecutionRole?: ExecutionRole;
110
110
  CustomerContentEncryptionConfiguration?: CustomerContentEncryptionConfiguration;
111
+ ManagedQueryResultsConfiguration?: ManagedQueryResultsConfiguration;
111
112
  }
112
113
  /**
113
114
  * The location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. These are known as "client-side settings". If workgroup settings override client-side settings, then the query uses the workgroup settings.
@@ -145,6 +146,19 @@ export interface EngineVersion {
145
146
  export interface CustomerContentEncryptionConfiguration {
146
147
  KmsKey: KmsKey;
147
148
  }
149
+ /**
150
+ * The configuration for the managed query results and encryption option. ResultConfiguration and ManagedQueryResultsConfiguration cannot be set at the same time
151
+ */
152
+ export interface ManagedQueryResultsConfiguration {
153
+ EncryptionConfiguration?: ManagedStorageEncryptionConfiguration;
154
+ Enabled?: boolean;
155
+ }
156
+ /**
157
+ * Indicates the encryption configuration for Athena Managed Storage. If not setting this field, Managed Storage will encrypt the query results with Athena's encryption key
158
+ */
159
+ export interface ManagedStorageEncryptionConfiguration {
160
+ KmsKey?: KmsKey;
161
+ }
148
162
  /**
149
163
  * The workgroup configuration update object
150
164
  */
@@ -160,6 +174,7 @@ export interface WorkGroupConfigurationUpdates {
160
174
  ExecutionRole?: ExecutionRole;
161
175
  CustomerContentEncryptionConfiguration?: CustomerContentEncryptionConfiguration;
162
176
  RemoveCustomerContentEncryptionConfiguration?: RemoveCustomerContentEncryptionConfiguration;
177
+ ManagedQueryResultsConfiguration?: ManagedQueryResultsConfiguration;
163
178
  }
164
179
  /**
165
180
  * The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWF0aGVuYS13b3JrZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtYXRoZW5hLXdvcmtncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPbmUgb3IgbW9yZSB0YWdzLCBzZXBhcmF0ZWQgYnkgY29tbWFzLCB0aGF0IHlvdSB3YW50IHRvIGF0dGFjaCB0byB0aGUgd29ya2dyb3VwIGFzIHlvdSBjcmVhdGUgaXRcbiAqL1xuZXhwb3J0IHR5cGUgVGFncyA9IFRhZ1tdXG4vKipcbiAqIFRoZSB1cHBlciBkYXRhIHVzYWdlIGxpbWl0IChjdXRvZmYpIGZvciB0aGUgYW1vdW50IG9mIGJ5dGVzIGEgc2luZ2xlIHF1ZXJ5IGluIGEgd29ya2dyb3VwIGlzIGFsbG93ZWQgdG8gc2Nhbi5cbiAqL1xuZXhwb3J0IHR5cGUgQnl0ZXNTY2FubmVkQ3V0b2ZmUGVyUXVlcnkgPSBudW1iZXJcbi8qKlxuICogSWYgc2V0IHRvIFwidHJ1ZVwiLCB0aGUgc2V0dGluZ3MgZm9yIHRoZSB3b3JrZ3JvdXAgb3ZlcnJpZGUgY2xpZW50LXNpZGUgc2V0dGluZ3MuIElmIHNldCB0byBcImZhbHNlXCIsIGNsaWVudC1zaWRlIHNldHRpbmdzIGFyZSB1c2VkXG4gKi9cbmV4cG9ydCB0eXBlIEVuZm9yY2VXb3JrR3JvdXBDb25maWd1cmF0aW9uID0gYm9vbGVhblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCB0aGUgQW1hem9uIENsb3VkV2F0Y2ggbWV0cmljcyBhcmUgZW5hYmxlZCBmb3IgdGhlIHdvcmtncm91cC5cbiAqL1xuZXhwb3J0IHR5cGUgUHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzRW5hYmxlZCA9IGJvb2xlYW5cbi8qKlxuICogSWYgc2V0IHRvIHRydWUsIGFsbG93cyBtZW1iZXJzIGFzc2lnbmVkIHRvIGEgd29ya2dyb3VwIHRvIHJlZmVyZW5jZSBBbWF6b24gUzMgUmVxdWVzdGVyIFBheXMgYnVja2V0cyBpbiBxdWVyaWVzLiBJZiBzZXQgdG8gZmFsc2UsIHdvcmtncm91cCBtZW1iZXJzIGNhbm5vdCBxdWVyeSBkYXRhIGZyb20gUmVxdWVzdGVyIFBheXMgYnVja2V0cywgYW5kIHF1ZXJpZXMgdGhhdCByZXRyaWV2ZSBkYXRhIGZyb20gUmVxdWVzdGVyIFBheXMgYnVja2V0cyBjYXVzZSBhbiBlcnJvci4gXG4gKi9cbmV4cG9ydCB0eXBlIFJlcXVlc3RlclBheXNFbmFibGVkID0gYm9vbGVhblxuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBBbWF6b24gUzMgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiB3aXRoIEFtYXpvbiBTMy1tYW5hZ2VkIGtleXMgKFNTRS1TMyksIHNlcnZlci1zaWRlIGVuY3J5cHRpb24gd2l0aCBLTVMtbWFuYWdlZCBrZXlzIChTU0UtS01TKSwgb3IgY2xpZW50LXNpZGUgZW5jcnlwdGlvbiB3aXRoIEtNUy1tYW5hZ2VkIGtleXMgKENTRS1LTVMpIGlzIHVzZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEVuY3J5cHRpb25PcHRpb24gPSAoXCJTU0VfUzNcIiB8IFwiU1NFX0tNU1wiIHwgXCJDU0VfS01TXCIpXG4vKipcbiAqIEZvciBTU0UtS01TIGFuZCBDU0UtS01TLCB0aGlzIGlzIHRoZSBLTVMga2V5IEFSTiBvciBJRC4gXG4gKi9cbmV4cG9ydCB0eXBlIEttc0tleSA9IHN0cmluZ1xuLyoqXG4gKiBUaGUgbG9jYXRpb24gaW4gQW1hem9uIFMzIHdoZXJlIHlvdXIgcXVlcnkgcmVzdWx0cyBhcmUgc3RvcmVkLCBzdWNoIGFzIHMzOi8vcGF0aC90by9xdWVyeS9idWNrZXQvLiBUbyBydW4gdGhlIHF1ZXJ5LCB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBxdWVyeSByZXN1bHRzIGxvY2F0aW9uIHVzaW5nIG9uZSBvZiB0aGUgd2F5czogZWl0aGVyIGZvciBpbmRpdmlkdWFsIHF1ZXJpZXMgdXNpbmcgZWl0aGVyIHRoaXMgc2V0dGluZyAoY2xpZW50LXNpZGUpLCBvciBpbiB0aGUgd29ya2dyb3VwLCB1c2luZyBXb3JrR3JvdXBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIE91dHB1dExvY2F0aW9uID0gc3RyaW5nXG4vKipcbiAqIFRoZSBBV1MgYWNjb3VudCBJRCBvZiB0aGUgb3duZXIgb2YgUzMgYnVja2V0IHdoZXJlIHF1ZXJ5IHJlc3VsdHMgYXJlIHN0b3JlZFxuICovXG5leHBvcnQgdHlwZSBFeHBlY3RlZEJ1Y2tldE93bmVyID0gc3RyaW5nXG4vKipcbiAqIFRoZSBBbWF6b24gUzMgY2FubmVkIEFDTCB0aGF0IEF0aGVuYSBzaG91bGQgc3BlY2lmeSB3aGVuIHN0b3JpbmcgcXVlcnkgcmVzdWx0cy4gQ3VycmVudGx5IHRoZSBvbmx5IHN1cHBvcnRlZCBjYW5uZWQgQUNMIGlzIEJVQ0tFVF9PV05FUl9GVUxMX0NPTlRST0xcbiAqL1xuZXhwb3J0IHR5cGUgUzNBY2xPcHRpb24gPSBcIkJVQ0tFVF9PV05FUl9GVUxMX0NPTlRST0xcIlxuLyoqXG4gKiBUaGUgZW5naW5lIHZlcnNpb24gcmVxdWVzdGVkIGJ5IHRoZSB1c2VyLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgdGhlIG91dHB1dCBvZiBMaXN0RW5naW5lVmVyc2lvbnMsIGluY2x1ZGluZyBBdXRvLiBUaGUgZGVmYXVsdCBpcyBBdXRvLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RlZEVuZ2luZVZlcnNpb24gPSBzdHJpbmdcbi8qKlxuICogUmVhZCBvbmx5LiBUaGUgZW5naW5lIHZlcnNpb24gb24gd2hpY2ggdGhlIHF1ZXJ5IHJ1bnMuIElmIHRoZSB1c2VyIHJlcXVlc3RzIGEgdmFsaWQgZW5naW5lIHZlcnNpb24gb3RoZXIgdGhhbiBBdXRvLCB0aGUgZWZmZWN0aXZlIGVuZ2luZSB2ZXJzaW9uIGlzIHRoZSBzYW1lIGFzIHRoZSBlbmdpbmUgdmVyc2lvbiB0aGF0IHRoZSB1c2VyIHJlcXVlc3RlZC4gSWYgdGhlIHVzZXIgcmVxdWVzdHMgQXV0bywgdGhlIGVmZmVjdGl2ZSBlbmdpbmUgdmVyc2lvbiBpcyBjaG9zZW4gYnkgQXRoZW5hLiBXaGVuIGEgcmVxdWVzdCB0byB1cGRhdGUgdGhlIGVuZ2luZSB2ZXJzaW9uIGlzIG1hZGUgYnkgYSBDcmVhdGVXb3JrR3JvdXAgb3IgVXBkYXRlV29ya0dyb3VwIG9wZXJhdGlvbiwgdGhlIEVmZmVjdGl2ZUVuZ2luZVZlcnNpb24gZmllbGQgaXMgaWdub3JlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRWZmZWN0aXZlRW5naW5lVmVyc2lvbiA9IHN0cmluZ1xuLyoqXG4gKiBBZGRpdGlvbmFsIENvbmZpZ3VyYXRpb24gdGhhdCBhcmUgcGFzc2VkIHRvIEF0aGVuYSBTcGFyayBDYWxjdWxhdGlvbnMgcnVubmluZyBpbiB0aGlzIHdvcmtncm91cFxuICovXG5leHBvcnQgdHlwZSBBZGRpdGlvbmFsQ29uZmlndXJhdGlvbiA9IHN0cmluZ1xuLyoqXG4gKiBFeGVjdXRpb24gUm9sZSBBUk4gcmVxdWlyZWQgdG8gcnVuIEF0aGVuYSBTcGFyayBDYWxjdWxhdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgRXhlY3V0aW9uUm9sZSA9IHN0cmluZ1xuZXhwb3J0IHR5cGUgUmVtb3ZlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24gPSBib29sZWFuXG5leHBvcnQgdHlwZSBSZW1vdmVPdXRwdXRMb2NhdGlvbiA9IGJvb2xlYW5cbmV4cG9ydCB0eXBlIFJlbW92ZUV4cGVjdGVkQnVja2V0T3duZXIgPSBib29sZWFuXG5leHBvcnQgdHlwZSBSZW1vdmVBY2xDb25maWd1cmF0aW9uID0gYm9vbGVhblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZGF0YSB1c2FnZSBjb250cm9sIGxpbWl0IHBlciBxdWVyeSBpcyByZW1vdmVkLlxuICovXG5leHBvcnQgdHlwZSBSZW1vdmVCeXRlc1NjYW5uZWRDdXRvZmZQZXJRdWVyeSA9IGJvb2xlYW5cbmV4cG9ydCB0eXBlIFJlbW92ZUN1c3RvbWVyQ29udGVudEVuY3J5cHRpb25Db25maWd1cmF0aW9uID0gYm9vbGVhblxuXG4vKipcbiAqIFJlc291cmNlIHNjaGVtYSBmb3IgQVdTOjpBdGhlbmE6OldvcmtHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfQVRIRU5BX1dPUktHUk9VUCB7XG4vKipcbiAqIFRoZSB3b3JrR3JvdXAgbmFtZS5cbiAqL1xuTmFtZTogc3RyaW5nXG4vKipcbiAqIFRoZSB3b3JrZ3JvdXAgZGVzY3JpcHRpb24uXG4gKi9cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG5UYWdzPzogVGFnc1xuV29ya0dyb3VwQ29uZmlndXJhdGlvbj86IFdvcmtHcm91cENvbmZpZ3VyYXRpb25cbldvcmtHcm91cENvbmZpZ3VyYXRpb25VcGRhdGVzPzogV29ya0dyb3VwQ29uZmlndXJhdGlvblVwZGF0ZXNcbi8qKlxuICogVGhlIGRhdGUgYW5kIHRpbWUgdGhlIHdvcmtncm91cCB3YXMgY3JlYXRlZC5cbiAqL1xuQ3JlYXRpb25UaW1lPzogc3RyaW5nXG4vKipcbiAqIFRoZSBzdGF0ZSBvZiB0aGUgd29ya2dyb3VwOiBFTkFCTEVEIG9yIERJU0FCTEVELlxuICovXG5TdGF0ZT86IChcIkVOQUJMRURcIiB8IFwiRElTQUJMRURcIilcbi8qKlxuICogVGhlIG9wdGlvbiB0byBkZWxldGUgdGhlIHdvcmtncm91cCBhbmQgaXRzIGNvbnRlbnRzIGV2ZW4gaWYgdGhlIHdvcmtncm91cCBjb250YWlucyBhbnkgbmFtZWQgcXVlcmllcy5cbiAqL1xuUmVjdXJzaXZlRGVsZXRlT3B0aW9uPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuS2V5OiBzdHJpbmdcblZhbHVlOiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIHdvcmtncm91cCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya0dyb3VwQ29uZmlndXJhdGlvbiB7XG5CeXRlc1NjYW5uZWRDdXRvZmZQZXJRdWVyeT86IEJ5dGVzU2Nhbm5lZEN1dG9mZlBlclF1ZXJ5XG5FbmZvcmNlV29ya0dyb3VwQ29uZmlndXJhdGlvbj86IEVuZm9yY2VXb3JrR3JvdXBDb25maWd1cmF0aW9uXG5QdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3NFbmFibGVkPzogUHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzRW5hYmxlZFxuUmVxdWVzdGVyUGF5c0VuYWJsZWQ/OiBSZXF1ZXN0ZXJQYXlzRW5hYmxlZFxuUmVzdWx0Q29uZmlndXJhdGlvbj86IFJlc3VsdENvbmZpZ3VyYXRpb25cbkVuZ2luZVZlcnNpb24/OiBFbmdpbmVWZXJzaW9uXG5BZGRpdGlvbmFsQ29uZmlndXJhdGlvbj86IEFkZGl0aW9uYWxDb25maWd1cmF0aW9uXG5FeGVjdXRpb25Sb2xlPzogRXhlY3V0aW9uUm9sZVxuQ3VzdG9tZXJDb250ZW50RW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24/OiBDdXN0b21lckNvbnRlbnRFbmNyeXB0aW9uQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgbG9jYXRpb24gaW4gQW1hem9uIFMzIHdoZXJlIHF1ZXJ5IHJlc3VsdHMgYXJlIHN0b3JlZCBhbmQgdGhlIGVuY3J5cHRpb24gb3B0aW9uLCBpZiBhbnksIHVzZWQgZm9yIHF1ZXJ5IHJlc3VsdHMuIFRoZXNlIGFyZSBrbm93biBhcyBcImNsaWVudC1zaWRlIHNldHRpbmdzXCIuIElmIHdvcmtncm91cCBzZXR0aW5ncyBvdmVycmlkZSBjbGllbnQtc2lkZSBzZXR0aW5ncywgdGhlbiB0aGUgcXVlcnkgdXNlcyB0aGUgd29ya2dyb3VwIHNldHRpbmdzLlxuICogXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdWx0Q29uZmlndXJhdGlvbiB7XG5FbmNyeXB0aW9uQ29uZmlndXJhdGlvbj86IEVuY3J5cHRpb25Db25maWd1cmF0aW9uXG5PdXRwdXRMb2NhdGlvbj86IE91dHB1dExvY2F0aW9uXG5FeHBlY3RlZEJ1Y2tldE93bmVyPzogRXhwZWN0ZWRCdWNrZXRPd25lclxuQWNsQ29uZmlndXJhdGlvbj86IEFjbENvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogSWYgcXVlcnkgcmVzdWx0cyBhcmUgZW5jcnlwdGVkIGluIEFtYXpvbiBTMywgaW5kaWNhdGVzIHRoZSBlbmNyeXB0aW9uIG9wdGlvbiB1c2VkIChmb3IgZXhhbXBsZSwgU1NFLUtNUyBvciBDU0UtS01TKSBhbmQga2V5IGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuY3J5cHRpb25Db25maWd1cmF0aW9uIHtcbkVuY3J5cHRpb25PcHRpb246IEVuY3J5cHRpb25PcHRpb25cbkttc0tleT86IEttc0tleVxufVxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCBhbiBBbWF6b24gUzMgY2FubmVkIEFDTCBzaG91bGQgYmUgc2V0IHRvIGNvbnRyb2wgb3duZXJzaGlwIG9mIHN0b3JlZCBxdWVyeSByZXN1bHRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWNsQ29uZmlndXJhdGlvbiB7XG5TM0FjbE9wdGlvbjogUzNBY2xPcHRpb25cbn1cbi8qKlxuICogVGhlIEF0aGVuYSBlbmdpbmUgdmVyc2lvbiBmb3IgcnVubmluZyBxdWVyaWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuZ2luZVZlcnNpb24ge1xuU2VsZWN0ZWRFbmdpbmVWZXJzaW9uPzogU2VsZWN0ZWRFbmdpbmVWZXJzaW9uXG5FZmZlY3RpdmVFbmdpbmVWZXJzaW9uPzogRWZmZWN0aXZlRW5naW5lVmVyc2lvblxufVxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhlIEtNUyBrZXkgZm9yIGVuY3J5cHRpbmcgbm90ZWJvb2sgY29udGVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lckNvbnRlbnRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbiB7XG5LbXNLZXk6IEttc0tleVxufVxuLyoqXG4gKiBUaGUgd29ya2dyb3VwIGNvbmZpZ3VyYXRpb24gdXBkYXRlIG9iamVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtHcm91cENvbmZpZ3VyYXRpb25VcGRhdGVzIHtcbkJ5dGVzU2Nhbm5lZEN1dG9mZlBlclF1ZXJ5PzogQnl0ZXNTY2FubmVkQ3V0b2ZmUGVyUXVlcnlcbkVuZm9yY2VXb3JrR3JvdXBDb25maWd1cmF0aW9uPzogRW5mb3JjZVdvcmtHcm91cENvbmZpZ3VyYXRpb25cblB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljc0VuYWJsZWQ/OiBQdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3NFbmFibGVkXG5SZXF1ZXN0ZXJQYXlzRW5hYmxlZD86IFJlcXVlc3RlclBheXNFbmFibGVkXG5SZXN1bHRDb25maWd1cmF0aW9uVXBkYXRlcz86IFJlc3VsdENvbmZpZ3VyYXRpb25VcGRhdGVzXG5SZW1vdmVCeXRlc1NjYW5uZWRDdXRvZmZQZXJRdWVyeT86IFJlbW92ZUJ5dGVzU2Nhbm5lZEN1dG9mZlBlclF1ZXJ5XG5FbmdpbmVWZXJzaW9uPzogRW5naW5lVmVyc2lvblxuQWRkaXRpb25hbENvbmZpZ3VyYXRpb24/OiBBZGRpdGlvbmFsQ29uZmlndXJhdGlvblxuRXhlY3V0aW9uUm9sZT86IEV4ZWN1dGlvblJvbGVcbkN1c3RvbWVyQ29udGVudEVuY3J5cHRpb25Db25maWd1cmF0aW9uPzogQ3VzdG9tZXJDb250ZW50RW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25cblJlbW92ZUN1c3RvbWVyQ29udGVudEVuY3J5cHRpb25Db25maWd1cmF0aW9uPzogUmVtb3ZlQ3VzdG9tZXJDb250ZW50RW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogVGhlIHJlc3VsdCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGFib3V0IHRoZSBxdWVyaWVzIGluIHRoaXMgd29ya2dyb3VwIHRoYXQgd2lsbCBiZSB1cGRhdGVkLiBJbmNsdWRlcyB0aGUgdXBkYXRlZCByZXN1bHRzIGxvY2F0aW9uIGFuZCBhbiB1cGRhdGVkIG9wdGlvbiBmb3IgZW5jcnlwdGluZyBxdWVyeSByZXN1bHRzLiBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXN1bHRDb25maWd1cmF0aW9uVXBkYXRlcyB7XG5FbmNyeXB0aW9uQ29uZmlndXJhdGlvbj86IEVuY3J5cHRpb25Db25maWd1cmF0aW9uXG5PdXRwdXRMb2NhdGlvbj86IE91dHB1dExvY2F0aW9uXG5FeHBlY3RlZEJ1Y2tldE93bmVyPzogRXhwZWN0ZWRCdWNrZXRPd25lclxuQWNsQ29uZmlndXJhdGlvbj86IEFjbENvbmZpZ3VyYXRpb25cblJlbW92ZUVuY3J5cHRpb25Db25maWd1cmF0aW9uPzogUmVtb3ZlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25cblJlbW92ZU91dHB1dExvY2F0aW9uPzogUmVtb3ZlT3V0cHV0TG9jYXRpb25cblJlbW92ZUV4cGVjdGVkQnVja2V0T3duZXI/OiBSZW1vdmVFeHBlY3RlZEJ1Y2tldE93bmVyXG5SZW1vdmVBY2xDb25maWd1cmF0aW9uPzogUmVtb3ZlQWNsQ29uZmlndXJhdGlvblxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWF0aGVuYS13b3JrZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtYXRoZW5hLXdvcmtncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPbmUgb3IgbW9yZSB0YWdzLCBzZXBhcmF0ZWQgYnkgY29tbWFzLCB0aGF0IHlvdSB3YW50IHRvIGF0dGFjaCB0byB0aGUgd29ya2dyb3VwIGFzIHlvdSBjcmVhdGUgaXRcbiAqL1xuZXhwb3J0IHR5cGUgVGFncyA9IFRhZ1tdXG4vKipcbiAqIFRoZSB1cHBlciBkYXRhIHVzYWdlIGxpbWl0IChjdXRvZmYpIGZvciB0aGUgYW1vdW50IG9mIGJ5dGVzIGEgc2luZ2xlIHF1ZXJ5IGluIGEgd29ya2dyb3VwIGlzIGFsbG93ZWQgdG8gc2Nhbi5cbiAqL1xuZXhwb3J0IHR5cGUgQnl0ZXNTY2FubmVkQ3V0b2ZmUGVyUXVlcnkgPSBudW1iZXJcbi8qKlxuICogSWYgc2V0IHRvIFwidHJ1ZVwiLCB0aGUgc2V0dGluZ3MgZm9yIHRoZSB3b3JrZ3JvdXAgb3ZlcnJpZGUgY2xpZW50LXNpZGUgc2V0dGluZ3MuIElmIHNldCB0byBcImZhbHNlXCIsIGNsaWVudC1zaWRlIHNldHRpbmdzIGFyZSB1c2VkXG4gKi9cbmV4cG9ydCB0eXBlIEVuZm9yY2VXb3JrR3JvdXBDb25maWd1cmF0aW9uID0gYm9vbGVhblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCB0aGUgQW1hem9uIENsb3VkV2F0Y2ggbWV0cmljcyBhcmUgZW5hYmxlZCBmb3IgdGhlIHdvcmtncm91cC5cbiAqL1xuZXhwb3J0IHR5cGUgUHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzRW5hYmxlZCA9IGJvb2xlYW5cbi8qKlxuICogSWYgc2V0IHRvIHRydWUsIGFsbG93cyBtZW1iZXJzIGFzc2lnbmVkIHRvIGEgd29ya2dyb3VwIHRvIHJlZmVyZW5jZSBBbWF6b24gUzMgUmVxdWVzdGVyIFBheXMgYnVja2V0cyBpbiBxdWVyaWVzLiBJZiBzZXQgdG8gZmFsc2UsIHdvcmtncm91cCBtZW1iZXJzIGNhbm5vdCBxdWVyeSBkYXRhIGZyb20gUmVxdWVzdGVyIFBheXMgYnVja2V0cywgYW5kIHF1ZXJpZXMgdGhhdCByZXRyaWV2ZSBkYXRhIGZyb20gUmVxdWVzdGVyIFBheXMgYnVja2V0cyBjYXVzZSBhbiBlcnJvci4gXG4gKi9cbmV4cG9ydCB0eXBlIFJlcXVlc3RlclBheXNFbmFibGVkID0gYm9vbGVhblxuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBBbWF6b24gUzMgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiB3aXRoIEFtYXpvbiBTMy1tYW5hZ2VkIGtleXMgKFNTRS1TMyksIHNlcnZlci1zaWRlIGVuY3J5cHRpb24gd2l0aCBLTVMtbWFuYWdlZCBrZXlzIChTU0UtS01TKSwgb3IgY2xpZW50LXNpZGUgZW5jcnlwdGlvbiB3aXRoIEtNUy1tYW5hZ2VkIGtleXMgKENTRS1LTVMpIGlzIHVzZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEVuY3J5cHRpb25PcHRpb24gPSAoXCJTU0VfUzNcIiB8IFwiU1NFX0tNU1wiIHwgXCJDU0VfS01TXCIpXG4vKipcbiAqIEZvciBTU0UtS01TIGFuZCBDU0UtS01TLCB0aGlzIGlzIHRoZSBLTVMga2V5IEFSTiBvciBJRC4gXG4gKi9cbmV4cG9ydCB0eXBlIEttc0tleSA9IHN0cmluZ1xuLyoqXG4gKiBUaGUgbG9jYXRpb24gaW4gQW1hem9uIFMzIHdoZXJlIHlvdXIgcXVlcnkgcmVzdWx0cyBhcmUgc3RvcmVkLCBzdWNoIGFzIHMzOi8vcGF0aC90by9xdWVyeS9idWNrZXQvLiBUbyBydW4gdGhlIHF1ZXJ5LCB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBxdWVyeSByZXN1bHRzIGxvY2F0aW9uIHVzaW5nIG9uZSBvZiB0aGUgd2F5czogZWl0aGVyIGZvciBpbmRpdmlkdWFsIHF1ZXJpZXMgdXNpbmcgZWl0aGVyIHRoaXMgc2V0dGluZyAoY2xpZW50LXNpZGUpLCBvciBpbiB0aGUgd29ya2dyb3VwLCB1c2luZyBXb3JrR3JvdXBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIE91dHB1dExvY2F0aW9uID0gc3RyaW5nXG4vKipcbiAqIFRoZSBBV1MgYWNjb3VudCBJRCBvZiB0aGUgb3duZXIgb2YgUzMgYnVja2V0IHdoZXJlIHF1ZXJ5IHJlc3VsdHMgYXJlIHN0b3JlZFxuICovXG5leHBvcnQgdHlwZSBFeHBlY3RlZEJ1Y2tldE93bmVyID0gc3RyaW5nXG4vKipcbiAqIFRoZSBBbWF6b24gUzMgY2FubmVkIEFDTCB0aGF0IEF0aGVuYSBzaG91bGQgc3BlY2lmeSB3aGVuIHN0b3JpbmcgcXVlcnkgcmVzdWx0cy4gQ3VycmVudGx5IHRoZSBvbmx5IHN1cHBvcnRlZCBjYW5uZWQgQUNMIGlzIEJVQ0tFVF9PV05FUl9GVUxMX0NPTlRST0xcbiAqL1xuZXhwb3J0IHR5cGUgUzNBY2xPcHRpb24gPSBcIkJVQ0tFVF9PV05FUl9GVUxMX0NPTlRST0xcIlxuLyoqXG4gKiBUaGUgZW5naW5lIHZlcnNpb24gcmVxdWVzdGVkIGJ5IHRoZSB1c2VyLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgdGhlIG91dHB1dCBvZiBMaXN0RW5naW5lVmVyc2lvbnMsIGluY2x1ZGluZyBBdXRvLiBUaGUgZGVmYXVsdCBpcyBBdXRvLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RlZEVuZ2luZVZlcnNpb24gPSBzdHJpbmdcbi8qKlxuICogUmVhZCBvbmx5LiBUaGUgZW5naW5lIHZlcnNpb24gb24gd2hpY2ggdGhlIHF1ZXJ5IHJ1bnMuIElmIHRoZSB1c2VyIHJlcXVlc3RzIGEgdmFsaWQgZW5naW5lIHZlcnNpb24gb3RoZXIgdGhhbiBBdXRvLCB0aGUgZWZmZWN0aXZlIGVuZ2luZSB2ZXJzaW9uIGlzIHRoZSBzYW1lIGFzIHRoZSBlbmdpbmUgdmVyc2lvbiB0aGF0IHRoZSB1c2VyIHJlcXVlc3RlZC4gSWYgdGhlIHVzZXIgcmVxdWVzdHMgQXV0bywgdGhlIGVmZmVjdGl2ZSBlbmdpbmUgdmVyc2lvbiBpcyBjaG9zZW4gYnkgQXRoZW5hLiBXaGVuIGEgcmVxdWVzdCB0byB1cGRhdGUgdGhlIGVuZ2luZSB2ZXJzaW9uIGlzIG1hZGUgYnkgYSBDcmVhdGVXb3JrR3JvdXAgb3IgVXBkYXRlV29ya0dyb3VwIG9wZXJhdGlvbiwgdGhlIEVmZmVjdGl2ZUVuZ2luZVZlcnNpb24gZmllbGQgaXMgaWdub3JlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRWZmZWN0aXZlRW5naW5lVmVyc2lvbiA9IHN0cmluZ1xuLyoqXG4gKiBBZGRpdGlvbmFsIENvbmZpZ3VyYXRpb24gdGhhdCBhcmUgcGFzc2VkIHRvIEF0aGVuYSBTcGFyayBDYWxjdWxhdGlvbnMgcnVubmluZyBpbiB0aGlzIHdvcmtncm91cFxuICovXG5leHBvcnQgdHlwZSBBZGRpdGlvbmFsQ29uZmlndXJhdGlvbiA9IHN0cmluZ1xuLyoqXG4gKiBFeGVjdXRpb24gUm9sZSBBUk4gcmVxdWlyZWQgdG8gcnVuIEF0aGVuYSBTcGFyayBDYWxjdWxhdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgRXhlY3V0aW9uUm9sZSA9IHN0cmluZ1xuZXhwb3J0IHR5cGUgUmVtb3ZlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24gPSBib29sZWFuXG5leHBvcnQgdHlwZSBSZW1vdmVPdXRwdXRMb2NhdGlvbiA9IGJvb2xlYW5cbmV4cG9ydCB0eXBlIFJlbW92ZUV4cGVjdGVkQnVja2V0T3duZXIgPSBib29sZWFuXG5leHBvcnQgdHlwZSBSZW1vdmVBY2xDb25maWd1cmF0aW9uID0gYm9vbGVhblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZGF0YSB1c2FnZSBjb250cm9sIGxpbWl0IHBlciBxdWVyeSBpcyByZW1vdmVkLlxuICovXG5leHBvcnQgdHlwZSBSZW1vdmVCeXRlc1NjYW5uZWRDdXRvZmZQZXJRdWVyeSA9IGJvb2xlYW5cbmV4cG9ydCB0eXBlIFJlbW92ZUN1c3RvbWVyQ29udGVudEVuY3J5cHRpb25Db25maWd1cmF0aW9uID0gYm9vbGVhblxuXG4vKipcbiAqIFJlc291cmNlIHNjaGVtYSBmb3IgQVdTOjpBdGhlbmE6OldvcmtHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfQVRIRU5BX1dPUktHUk9VUCB7XG4vKipcbiAqIFRoZSB3b3JrR3JvdXAgbmFtZS5cbiAqL1xuTmFtZTogc3RyaW5nXG4vKipcbiAqIFRoZSB3b3JrZ3JvdXAgZGVzY3JpcHRpb24uXG4gKi9cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG5UYWdzPzogVGFnc1xuV29ya0dyb3VwQ29uZmlndXJhdGlvbj86IFdvcmtHcm91cENvbmZpZ3VyYXRpb25cbldvcmtHcm91cENvbmZpZ3VyYXRpb25VcGRhdGVzPzogV29ya0dyb3VwQ29uZmlndXJhdGlvblVwZGF0ZXNcbi8qKlxuICogVGhlIGRhdGUgYW5kIHRpbWUgdGhlIHdvcmtncm91cCB3YXMgY3JlYXRlZC5cbiAqL1xuQ3JlYXRpb25UaW1lPzogc3RyaW5nXG4vKipcbiAqIFRoZSBzdGF0ZSBvZiB0aGUgd29ya2dyb3VwOiBFTkFCTEVEIG9yIERJU0FCTEVELlxuICovXG5TdGF0ZT86IChcIkVOQUJMRURcIiB8IFwiRElTQUJMRURcIilcbi8qKlxuICogVGhlIG9wdGlvbiB0byBkZWxldGUgdGhlIHdvcmtncm91cCBhbmQgaXRzIGNvbnRlbnRzIGV2ZW4gaWYgdGhlIHdvcmtncm91cCBjb250YWlucyBhbnkgbmFtZWQgcXVlcmllcy5cbiAqL1xuUmVjdXJzaXZlRGVsZXRlT3B0aW9uPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuS2V5OiBzdHJpbmdcblZhbHVlOiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIHdvcmtncm91cCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya0dyb3VwQ29uZmlndXJhdGlvbiB7XG5CeXRlc1NjYW5uZWRDdXRvZmZQZXJRdWVyeT86IEJ5dGVzU2Nhbm5lZEN1dG9mZlBlclF1ZXJ5XG5FbmZvcmNlV29ya0dyb3VwQ29uZmlndXJhdGlvbj86IEVuZm9yY2VXb3JrR3JvdXBDb25maWd1cmF0aW9uXG5QdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3NFbmFibGVkPzogUHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzRW5hYmxlZFxuUmVxdWVzdGVyUGF5c0VuYWJsZWQ/OiBSZXF1ZXN0ZXJQYXlzRW5hYmxlZFxuUmVzdWx0Q29uZmlndXJhdGlvbj86IFJlc3VsdENvbmZpZ3VyYXRpb25cbkVuZ2luZVZlcnNpb24/OiBFbmdpbmVWZXJzaW9uXG5BZGRpdGlvbmFsQ29uZmlndXJhdGlvbj86IEFkZGl0aW9uYWxDb25maWd1cmF0aW9uXG5FeGVjdXRpb25Sb2xlPzogRXhlY3V0aW9uUm9sZVxuQ3VzdG9tZXJDb250ZW50RW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24/OiBDdXN0b21lckNvbnRlbnRFbmNyeXB0aW9uQ29uZmlndXJhdGlvblxuTWFuYWdlZFF1ZXJ5UmVzdWx0c0NvbmZpZ3VyYXRpb24/OiBNYW5hZ2VkUXVlcnlSZXN1bHRzQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgbG9jYXRpb24gaW4gQW1hem9uIFMzIHdoZXJlIHF1ZXJ5IHJlc3VsdHMgYXJlIHN0b3JlZCBhbmQgdGhlIGVuY3J5cHRpb24gb3B0aW9uLCBpZiBhbnksIHVzZWQgZm9yIHF1ZXJ5IHJlc3VsdHMuIFRoZXNlIGFyZSBrbm93biBhcyBcImNsaWVudC1zaWRlIHNldHRpbmdzXCIuIElmIHdvcmtncm91cCBzZXR0aW5ncyBvdmVycmlkZSBjbGllbnQtc2lkZSBzZXR0aW5ncywgdGhlbiB0aGUgcXVlcnkgdXNlcyB0aGUgd29ya2dyb3VwIHNldHRpbmdzLlxuICogXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdWx0Q29uZmlndXJhdGlvbiB7XG5FbmNyeXB0aW9uQ29uZmlndXJhdGlvbj86IEVuY3J5cHRpb25Db25maWd1cmF0aW9uXG5PdXRwdXRMb2NhdGlvbj86IE91dHB1dExvY2F0aW9uXG5FeHBlY3RlZEJ1Y2tldE93bmVyPzogRXhwZWN0ZWRCdWNrZXRPd25lclxuQWNsQ29uZmlndXJhdGlvbj86IEFjbENvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogSWYgcXVlcnkgcmVzdWx0cyBhcmUgZW5jcnlwdGVkIGluIEFtYXpvbiBTMywgaW5kaWNhdGVzIHRoZSBlbmNyeXB0aW9uIG9wdGlvbiB1c2VkIChmb3IgZXhhbXBsZSwgU1NFLUtNUyBvciBDU0UtS01TKSBhbmQga2V5IGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuY3J5cHRpb25Db25maWd1cmF0aW9uIHtcbkVuY3J5cHRpb25PcHRpb246IEVuY3J5cHRpb25PcHRpb25cbkttc0tleT86IEttc0tleVxufVxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCBhbiBBbWF6b24gUzMgY2FubmVkIEFDTCBzaG91bGQgYmUgc2V0IHRvIGNvbnRyb2wgb3duZXJzaGlwIG9mIHN0b3JlZCBxdWVyeSByZXN1bHRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWNsQ29uZmlndXJhdGlvbiB7XG5TM0FjbE9wdGlvbjogUzNBY2xPcHRpb25cbn1cbi8qKlxuICogVGhlIEF0aGVuYSBlbmdpbmUgdmVyc2lvbiBmb3IgcnVubmluZyBxdWVyaWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuZ2luZVZlcnNpb24ge1xuU2VsZWN0ZWRFbmdpbmVWZXJzaW9uPzogU2VsZWN0ZWRFbmdpbmVWZXJzaW9uXG5FZmZlY3RpdmVFbmdpbmVWZXJzaW9uPzogRWZmZWN0aXZlRW5naW5lVmVyc2lvblxufVxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhlIEtNUyBrZXkgZm9yIGVuY3J5cHRpbmcgbm90ZWJvb2sgY29udGVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lckNvbnRlbnRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbiB7XG5LbXNLZXk6IEttc0tleVxufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIG1hbmFnZWQgcXVlcnkgcmVzdWx0cyBhbmQgZW5jcnlwdGlvbiBvcHRpb24uIFJlc3VsdENvbmZpZ3VyYXRpb24gYW5kIE1hbmFnZWRRdWVyeVJlc3VsdHNDb25maWd1cmF0aW9uIGNhbm5vdCBiZSBzZXQgYXQgdGhlIHNhbWUgdGltZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZWRRdWVyeVJlc3VsdHNDb25maWd1cmF0aW9uIHtcbkVuY3J5cHRpb25Db25maWd1cmF0aW9uPzogTWFuYWdlZFN0b3JhZ2VFbmNyeXB0aW9uQ29uZmlndXJhdGlvblxuRW5hYmxlZD86IGJvb2xlYW5cbn1cbi8qKlxuICogSW5kaWNhdGVzIHRoZSBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIEF0aGVuYSBNYW5hZ2VkIFN0b3JhZ2UuIElmIG5vdCBzZXR0aW5nIHRoaXMgZmllbGQsIE1hbmFnZWQgU3RvcmFnZSB3aWxsIGVuY3J5cHQgdGhlIHF1ZXJ5IHJlc3VsdHMgd2l0aCBBdGhlbmEncyBlbmNyeXB0aW9uIGtleVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZWRTdG9yYWdlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24ge1xuS21zS2V5PzogS21zS2V5XG59XG4vKipcbiAqIFRoZSB3b3JrZ3JvdXAgY29uZmlndXJhdGlvbiB1cGRhdGUgb2JqZWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya0dyb3VwQ29uZmlndXJhdGlvblVwZGF0ZXMge1xuQnl0ZXNTY2FubmVkQ3V0b2ZmUGVyUXVlcnk/OiBCeXRlc1NjYW5uZWRDdXRvZmZQZXJRdWVyeVxuRW5mb3JjZVdvcmtHcm91cENvbmZpZ3VyYXRpb24/OiBFbmZvcmNlV29ya0dyb3VwQ29uZmlndXJhdGlvblxuUHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzRW5hYmxlZD86IFB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljc0VuYWJsZWRcblJlcXVlc3RlclBheXNFbmFibGVkPzogUmVxdWVzdGVyUGF5c0VuYWJsZWRcblJlc3VsdENvbmZpZ3VyYXRpb25VcGRhdGVzPzogUmVzdWx0Q29uZmlndXJhdGlvblVwZGF0ZXNcblJlbW92ZUJ5dGVzU2Nhbm5lZEN1dG9mZlBlclF1ZXJ5PzogUmVtb3ZlQnl0ZXNTY2FubmVkQ3V0b2ZmUGVyUXVlcnlcbkVuZ2luZVZlcnNpb24/OiBFbmdpbmVWZXJzaW9uXG5BZGRpdGlvbmFsQ29uZmlndXJhdGlvbj86IEFkZGl0aW9uYWxDb25maWd1cmF0aW9uXG5FeGVjdXRpb25Sb2xlPzogRXhlY3V0aW9uUm9sZVxuQ3VzdG9tZXJDb250ZW50RW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24/OiBDdXN0b21lckNvbnRlbnRFbmNyeXB0aW9uQ29uZmlndXJhdGlvblxuUmVtb3ZlQ3VzdG9tZXJDb250ZW50RW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24/OiBSZW1vdmVDdXN0b21lckNvbnRlbnRFbmNyeXB0aW9uQ29uZmlndXJhdGlvblxuTWFuYWdlZFF1ZXJ5UmVzdWx0c0NvbmZpZ3VyYXRpb24/OiBNYW5hZ2VkUXVlcnlSZXN1bHRzQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgcmVzdWx0IGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gYWJvdXQgdGhlIHF1ZXJpZXMgaW4gdGhpcyB3b3JrZ3JvdXAgdGhhdCB3aWxsIGJlIHVwZGF0ZWQuIEluY2x1ZGVzIHRoZSB1cGRhdGVkIHJlc3VsdHMgbG9jYXRpb24gYW5kIGFuIHVwZGF0ZWQgb3B0aW9uIGZvciBlbmNyeXB0aW5nIHF1ZXJ5IHJlc3VsdHMuIFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3VsdENvbmZpZ3VyYXRpb25VcGRhdGVzIHtcbkVuY3J5cHRpb25Db25maWd1cmF0aW9uPzogRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25cbk91dHB1dExvY2F0aW9uPzogT3V0cHV0TG9jYXRpb25cbkV4cGVjdGVkQnVja2V0T3duZXI/OiBFeHBlY3RlZEJ1Y2tldE93bmVyXG5BY2xDb25maWd1cmF0aW9uPzogQWNsQ29uZmlndXJhdGlvblxuUmVtb3ZlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24/OiBSZW1vdmVFbmNyeXB0aW9uQ29uZmlndXJhdGlvblxuUmVtb3ZlT3V0cHV0TG9jYXRpb24/OiBSZW1vdmVPdXRwdXRMb2NhdGlvblxuUmVtb3ZlRXhwZWN0ZWRCdWNrZXRPd25lcj86IFJlbW92ZUV4cGVjdGVkQnVja2V0T3duZXJcblJlbW92ZUFjbENvbmZpZ3VyYXRpb24/OiBSZW1vdmVBY2xDb25maWd1cmF0aW9uXG59XG4iXX0=
@@ -10,4 +10,12 @@ export interface _AWS_EC2_EGRESSONLYINTERNETGATEWAY {
10
10
  * The ID of the VPC for which to create the egress-only internet gateway.
11
11
  */
12
12
  VpcId: string;
13
+ /**
14
+ * Any tags assigned to the egress only internet gateway.
15
+ */
16
+ Tags?: Tag[];
17
+ }
18
+ export interface Tag {
19
+ Key: string;
20
+ Value: string;
13
21
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1lZ3Jlc3Nvbmx5aW50ZXJuZXRnYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVjMi1lZ3Jlc3Nvbmx5aW50ZXJuZXRnYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlc291cmNlIFR5cGUgZGVmaW5pdGlvbiBmb3IgQVdTOjpFQzI6OkVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0VDMl9FR1JFU1NPTkxZSU5URVJORVRHQVRFV0FZIHtcbi8qKlxuICogU2VydmljZSBHZW5lcmF0ZWQgSUQgb2YgdGhlIEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcbiAqL1xuSWQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIElEIG9mIHRoZSBWUEMgZm9yIHdoaWNoIHRvIGNyZWF0ZSB0aGUgZWdyZXNzLW9ubHkgaW50ZXJuZXQgZ2F0ZXdheS5cbiAqL1xuVnBjSWQ6IHN0cmluZ1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1lZ3Jlc3Nvbmx5aW50ZXJuZXRnYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVjMi1lZ3Jlc3Nvbmx5aW50ZXJuZXRnYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlc291cmNlIFR5cGUgZGVmaW5pdGlvbiBmb3IgQVdTOjpFQzI6OkVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0VDMl9FR1JFU1NPTkxZSU5URVJORVRHQVRFV0FZIHtcbi8qKlxuICogU2VydmljZSBHZW5lcmF0ZWQgSUQgb2YgdGhlIEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcbiAqL1xuSWQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIElEIG9mIHRoZSBWUEMgZm9yIHdoaWNoIHRvIGNyZWF0ZSB0aGUgZWdyZXNzLW9ubHkgaW50ZXJuZXQgZ2F0ZXdheS5cbiAqL1xuVnBjSWQ6IHN0cmluZ1xuLyoqXG4gKiBBbnkgdGFncyBhc3NpZ25lZCB0byB0aGUgZWdyZXNzIG9ubHkgaW50ZXJuZXQgZ2F0ZXdheS5cbiAqL1xuVGFncz86IFRhZ1tdXG59XG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG5LZXk6IHN0cmluZ1xuVmFsdWU6IHN0cmluZ1xufVxuIl19
@@ -2,14 +2,6 @@
2
2
  * An object representing an Amazon EKS PodIdentityAssociation.
3
3
  */
4
4
  export interface _AWS_EKS_PODIDENTITYASSOCIATION {
5
- /**
6
- * The ARN of the pod identity association.
7
- */
8
- AssociationArn?: string;
9
- /**
10
- * The Kubernetes service account that the pod identity association is created for.
11
- */
12
- ServiceAccount: string;
13
5
  /**
14
6
  * The cluster that the pod identity association is created for.
15
7
  */
@@ -22,10 +14,30 @@ export interface _AWS_EKS_PODIDENTITYASSOCIATION {
22
14
  * The Kubernetes namespace that the pod identity association is created for.
23
15
  */
24
16
  Namespace: string;
17
+ /**
18
+ * The Kubernetes service account that the pod identity association is created for.
19
+ */
20
+ ServiceAccount: string;
21
+ /**
22
+ * The ARN of the pod identity association.
23
+ */
24
+ AssociationArn?: string;
25
25
  /**
26
26
  * The ID of the pod identity association.
27
27
  */
28
28
  AssociationId?: string;
29
+ /**
30
+ * The Target Role Arn of the pod identity association.
31
+ */
32
+ TargetRoleArn?: string;
33
+ /**
34
+ * The External Id of the pod identity association.
35
+ */
36
+ ExternalId?: string;
37
+ /**
38
+ * The Disable Session Tags of the pod identity association.
39
+ */
40
+ DisableSessionTags?: boolean;
29
41
  /**
30
42
  * An array of key-value pairs to apply to this resource.
31
43
  */
@@ -35,12 +47,12 @@ export interface _AWS_EKS_PODIDENTITYASSOCIATION {
35
47
  * A key-value pair to associate with a resource.
36
48
  */
37
49
  export interface Tag {
38
- /**
39
- * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.
40
- */
41
- Value: string;
42
50
  /**
43
51
  * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.
44
52
  */
45
53
  Key: string;
54
+ /**
55
+ * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.
56
+ */
57
+ Value: string;
46
58
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVrcy1wb2RpZGVudGl0eWFzc29jaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVrcy1wb2RpZGVudGl0eWFzc29jaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuIG9iamVjdCByZXByZXNlbnRpbmcgYW4gQW1hem9uIEVLUyBQb2RJZGVudGl0eUFzc29jaWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfRUtTX1BPRElERU5USVRZQVNTT0NJQVRJT04ge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBwb2QgaWRlbnRpdHkgYXNzb2NpYXRpb24uXG4gKi9cbkFzc29jaWF0aW9uQXJuPzogc3RyaW5nXG4vKipcbiAqIFRoZSBLdWJlcm5ldGVzIHNlcnZpY2UgYWNjb3VudCB0aGF0IHRoZSBwb2QgaWRlbnRpdHkgYXNzb2NpYXRpb24gaXMgY3JlYXRlZCBmb3IuXG4gKi9cblNlcnZpY2VBY2NvdW50OiBzdHJpbmdcbi8qKlxuICogVGhlIGNsdXN0ZXIgdGhhdCB0aGUgcG9kIGlkZW50aXR5IGFzc29jaWF0aW9uIGlzIGNyZWF0ZWQgZm9yLlxuICovXG5DbHVzdGVyTmFtZTogc3RyaW5nXG4vKipcbiAqIFRoZSBJQU0gcm9sZSBBUk4gdGhhdCB0aGUgcG9kIGlkZW50aXR5IGFzc29jaWF0aW9uIGlzIGNyZWF0ZWQgZm9yLlxuICovXG5Sb2xlQXJuOiBzdHJpbmdcbi8qKlxuICogVGhlIEt1YmVybmV0ZXMgbmFtZXNwYWNlIHRoYXQgdGhlIHBvZCBpZGVudGl0eSBhc3NvY2lhdGlvbiBpcyBjcmVhdGVkIGZvci5cbiAqL1xuTmFtZXNwYWNlOiBzdHJpbmdcbi8qKlxuICogVGhlIElEIG9mIHRoZSBwb2QgaWRlbnRpdHkgYXNzb2NpYXRpb24uXG4gKi9cbkFzc29jaWF0aW9uSWQ/OiBzdHJpbmdcbi8qKlxuICogQW4gYXJyYXkgb2Yga2V5LXZhbHVlIHBhaXJzIHRvIGFwcGx5IHRvIHRoaXMgcmVzb3VyY2UuXG4gKi9cblRhZ3M/OiBUYWdbXVxufVxuLyoqXG4gKiBBIGtleS12YWx1ZSBwYWlyIHRvIGFzc29jaWF0ZSB3aXRoIGEgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbi8qKlxuICogVGhlIHZhbHVlIGZvciB0aGUgdGFnLiBZb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSB0aGF0IGlzIDAgdG8gMjU2IFVuaWNvZGUgY2hhcmFjdGVycyBpbiBsZW5ndGggYW5kIGNhbm5vdCBiZSBwcmVmaXhlZCB3aXRoIGF3czouIFlvdSBjYW4gdXNlIGFueSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6IHRoZSBzZXQgb2YgVW5pY29kZSBsZXR0ZXJzLCBkaWdpdHMsIHdoaXRlc3BhY2UsIF8sIC4sIC8sID0sICssIGFuZCAtLlxuICovXG5WYWx1ZTogc3RyaW5nXG4vKipcbiAqIFRoZSBrZXkgbmFtZSBvZiB0aGUgdGFnLiBZb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSB0aGF0IGlzIDEgdG8gMTI4IFVuaWNvZGUgY2hhcmFjdGVycyBpbiBsZW5ndGggYW5kIGNhbm5vdCBiZSBwcmVmaXhlZCB3aXRoIGF3czouIFlvdSBjYW4gdXNlIGFueSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6IHRoZSBzZXQgb2YgVW5pY29kZSBsZXR0ZXJzLCBkaWdpdHMsIHdoaXRlc3BhY2UsIF8sIC4sIC8sID0sICssIGFuZCAtLlxuICovXG5LZXk6IHN0cmluZ1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVrcy1wb2RpZGVudGl0eWFzc29jaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVrcy1wb2RpZGVudGl0eWFzc29jaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuIG9iamVjdCByZXByZXNlbnRpbmcgYW4gQW1hem9uIEVLUyBQb2RJZGVudGl0eUFzc29jaWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfRUtTX1BPRElERU5USVRZQVNTT0NJQVRJT04ge1xuLyoqXG4gKiBUaGUgY2x1c3RlciB0aGF0IHRoZSBwb2QgaWRlbnRpdHkgYXNzb2NpYXRpb24gaXMgY3JlYXRlZCBmb3IuXG4gKi9cbkNsdXN0ZXJOYW1lOiBzdHJpbmdcbi8qKlxuICogVGhlIElBTSByb2xlIEFSTiB0aGF0IHRoZSBwb2QgaWRlbnRpdHkgYXNzb2NpYXRpb24gaXMgY3JlYXRlZCBmb3IuXG4gKi9cblJvbGVBcm46IHN0cmluZ1xuLyoqXG4gKiBUaGUgS3ViZXJuZXRlcyBuYW1lc3BhY2UgdGhhdCB0aGUgcG9kIGlkZW50aXR5IGFzc29jaWF0aW9uIGlzIGNyZWF0ZWQgZm9yLlxuICovXG5OYW1lc3BhY2U6IHN0cmluZ1xuLyoqXG4gKiBUaGUgS3ViZXJuZXRlcyBzZXJ2aWNlIGFjY291bnQgdGhhdCB0aGUgcG9kIGlkZW50aXR5IGFzc29jaWF0aW9uIGlzIGNyZWF0ZWQgZm9yLlxuICovXG5TZXJ2aWNlQWNjb3VudDogc3RyaW5nXG4vKipcbiAqIFRoZSBBUk4gb2YgdGhlIHBvZCBpZGVudGl0eSBhc3NvY2lhdGlvbi5cbiAqL1xuQXNzb2NpYXRpb25Bcm4/OiBzdHJpbmdcbi8qKlxuICogVGhlIElEIG9mIHRoZSBwb2QgaWRlbnRpdHkgYXNzb2NpYXRpb24uXG4gKi9cbkFzc29jaWF0aW9uSWQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIFRhcmdldCBSb2xlIEFybiBvZiB0aGUgcG9kIGlkZW50aXR5IGFzc29jaWF0aW9uLlxuICovXG5UYXJnZXRSb2xlQXJuPzogc3RyaW5nXG4vKipcbiAqIFRoZSBFeHRlcm5hbCBJZCBvZiB0aGUgcG9kIGlkZW50aXR5IGFzc29jaWF0aW9uLlxuICovXG5FeHRlcm5hbElkPzogc3RyaW5nXG4vKipcbiAqIFRoZSBEaXNhYmxlIFNlc3Npb24gVGFncyBvZiB0aGUgcG9kIGlkZW50aXR5IGFzc29jaWF0aW9uLlxuICovXG5EaXNhYmxlU2Vzc2lvblRhZ3M/OiBib29sZWFuXG4vKipcbiAqIEFuIGFycmF5IG9mIGtleS12YWx1ZSBwYWlycyB0byBhcHBseSB0byB0aGlzIHJlc291cmNlLlxuICovXG5UYWdzPzogVGFnW11cbn1cbi8qKlxuICogQSBrZXktdmFsdWUgcGFpciB0byBhc3NvY2lhdGUgd2l0aCBhIHJlc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG4vKipcbiAqIFRoZSBrZXkgbmFtZSBvZiB0aGUgdGFnLiBZb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSB0aGF0IGlzIDEgdG8gMTI4IFVuaWNvZGUgY2hhcmFjdGVycyBpbiBsZW5ndGggYW5kIGNhbm5vdCBiZSBwcmVmaXhlZCB3aXRoIGF3czouIFlvdSBjYW4gdXNlIGFueSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6IHRoZSBzZXQgb2YgVW5pY29kZSBsZXR0ZXJzLCBkaWdpdHMsIHdoaXRlc3BhY2UsIF8sIC4sIC8sID0sICssIGFuZCAtLlxuICovXG5LZXk6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdmFsdWUgZm9yIHRoZSB0YWcuIFlvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIHRoYXQgaXMgMCB0byAyNTYgVW5pY29kZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCBhbmQgY2Fubm90IGJlIHByZWZpeGVkIHdpdGggYXdzOi4gWW91IGNhbiB1c2UgYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogdGhlIHNldCBvZiBVbmljb2RlIGxldHRlcnMsIGRpZ2l0cywgd2hpdGVzcGFjZSwgXywgLiwgLywgPSwgKywgYW5kIC0uXG4gKi9cblZhbHVlOiBzdHJpbmdcbn1cbiJdfQ==
@@ -97,7 +97,7 @@ export interface _AWS_KMS_KEY {
97
97
  * + SM2 key pairs (encryption and decryption *or* signing and verification *or* deriving shared secrets)
98
98
  * + ``SM2`` (China Regions only)
99
99
  */
100
- KeySpec?: ("SYMMETRIC_DEFAULT" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521" | "ECC_SECG_P256K1" | "HMAC_224" | "HMAC_256" | "HMAC_384" | "HMAC_512" | "SM2");
100
+ KeySpec?: ("SYMMETRIC_DEFAULT" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521" | "ECC_SECG_P256K1" | "HMAC_224" | "HMAC_256" | "HMAC_384" | "HMAC_512" | "SM2" | "ML_DSA_44" | "ML_DSA_65" | "ML_DSA_87");
101
101
  /**
102
102
  * Creates a multi-Region primary key that you can replicate in other AWS-Regions. You can't change the ``MultiRegion`` value after the KMS key is created.
103
103
  * For a list of AWS-Regions in which multi-Region keys are supported, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the **.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWttcy1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3Mta21zLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgYGBBV1M6OktNUzo6S2V5YGAgcmVzb3VyY2Ugc3BlY2lmaWVzIGFuIFtLTVMga2V5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI2ttc19rZXlzKSBpbiBLTVNsb25nLiBZb3UgY2FuIHVzZSB0aGlzIHJlc291cmNlIHRvIGNyZWF0ZSBzeW1tZXRyaWMgZW5jcnlwdGlvbiBLTVMga2V5cywgYXN5bW1ldHJpYyBLTVMga2V5cyBmb3IgZW5jcnlwdGlvbiBvciBzaWduaW5nLCBhbmQgc3ltbWV0cmljIEhNQUMgS01TIGtleXMuIFlvdSBjYW4gdXNlIGBgQVdTOjpLTVM6OktleWBgIHRvIGNyZWF0ZSBbbXVsdGktUmVnaW9uIHByaW1hcnkga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbXVsdGktcmVnaW9uLWtleXMtb3ZlcnZpZXcuaHRtbCNtcmstcHJpbWFyeS1rZXkpIG9mIGFsbCBzdXBwb3J0ZWQgdHlwZXMuIFRvIHJlcGxpY2F0ZSBhIG11bHRpLVJlZ2lvbiBrZXksIHVzZSB0aGUgYGBBV1M6OktNUzo6UmVwbGljYUtleWBgIHJlc291cmNlLlxuICogICBJZiB5b3UgY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUgYGBLZXlTcGVjYGAsIGBgS2V5VXNhZ2VgYCwgYGBPcmlnaW5gYCwgb3IgYGBNdWx0aVJlZ2lvbmBgIHByb3BlcnRpZXMgb2YgYW4gZXhpc3RpbmcgS01TIGtleSwgdGhlIHVwZGF0ZSByZXF1ZXN0IGZhaWxzLCByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiB0aGUgW1VwZGF0ZVJlcGxhY2VQb2xpY3kgYXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtYXR0cmlidXRlLXVwZGF0ZXJlcGxhY2Vwb2xpY3kuaHRtbCkuIFRoaXMgcHJldmVudHMgeW91IGZyb20gYWNjaWRlbnRhbGx5IGRlbGV0aW5nIGEgS01TIGtleSBieSBjaGFuZ2luZyBhbnkgb2YgaXRzIGltbXV0YWJsZSBwcm9wZXJ0eSB2YWx1ZXMuXG4gKiAgICBLTVMgcmVwbGFjZWQgdGhlIHRlcm0gKmN1c3RvbWVyIG1hc3RlciBrZXkgKENNSykqIHdpdGggKiogYW5kICpLTVMga2V5Ki4gVGhlIGNvbmNlcHQgaGFzIG5vdCBjaGFuZ2VkLiBUbyBwcmV2ZW50IGJyZWFraW5nIGNoYW5nZXMsIEtNUyBpcyBrZWVwaW5nIHNvbWUgdmFyaWF0aW9ucyBvZiB0aGlzIHRlcm0uXG4gKiAgIFlvdSBjYW4gdXNlIHN5bW1ldHJpYyBlbmNyeXB0aW9uIEtNUyBrZXlzIHRvIGVuY3J5cHQgYW5kIGRlY3J5cHQgc21hbGwgYW1vdW50cyBvZiBkYXRhLCBidXQgdGhleSBhcmUgbW9yZSBjb21tb25seSB1c2VkIHRvIGdlbmVyYXRlIGRhdGEga2V5cyBhbmQgZGF0YSBrZXkgcGFpcnMuIFlvdSBjYW4gYWxzbyB1c2UgYSBzeW1tZXRyaWMgZW5jcnlwdGlvbiBLTVMga2V5IHRvIGVuY3J5cHQgZGF0YSBzdG9yZWQgaW4gQVdTIHNlcnZpY2VzIHRoYXQgYXJlIFtpbnRlZ3JhdGVkIHdpdGhdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS8va21zL2ZlYXR1cmVzLyNBV1NfU2VydmljZV9JbnRlZ3JhdGlvbikuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1N5bW1ldHJpYyBlbmNyeXB0aW9uIEtNUyBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI3N5bW1ldHJpYy1jbWtzKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiB1c2UgYXN5bW1ldHJpYyBLTVMga2V5cyB0byBlbmNyeXB0IGFuZCBkZWNyeXB0IGRhdGEgb3Igc2lnbiBtZXNzYWdlcyBhbmQgdmVyaWZ5IHNpZ25hdHVyZXMuIFRvIGNyZWF0ZSBhbiBhc3ltbWV0cmljIGtleSwgeW91IG11c3Qgc3BlY2lmeSBhbiBhc3ltbWV0cmljIGBgS2V5U3BlY2BgIHZhbHVlIGFuZCBhIGBgS2V5VXNhZ2VgYCB2YWx1ZS4gRm9yIGRldGFpbHMsIHNlZSBbQXN5bW1ldHJpYyBrZXlzIGluXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9zeW1tZXRyaWMtYXN5bW1ldHJpYy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiB1c2UgSE1BQyBLTVMga2V5cyAod2hpY2ggYXJlIGFsc28gc3ltbWV0cmljIGtleXMpIHRvIGdlbmVyYXRlIGFuZCB2ZXJpZnkgaGFzaC1iYXNlZCBtZXNzYWdlIGF1dGhlbnRpY2F0aW9uIGNvZGVzLiBUbyBjcmVhdGUgYW4gSE1BQyBrZXksIHlvdSBtdXN0IHNwZWNpZnkgYW4gSE1BQyBgYEtleVNwZWNgYCB2YWx1ZSBhbmQgYSBgYEtleVVzYWdlYGAgdmFsdWUgb2YgYGBHRU5FUkFURV9WRVJJRllfTUFDYGAuIEZvciBkZXRhaWxzLCBzZWUgW0hNQUMga2V5cyBpbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaG1hYy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiBhbHNvIGNyZWF0ZSBzeW1tZXRyaWMgZW5jcnlwdGlvbiwgYXN5bW1ldHJpYywgYW5kIEhNQUMgbXVsdGktUmVnaW9uIHByaW1hcnkga2V5cy4gVG8gY3JlYXRlIGEgbXVsdGktUmVnaW9uIHByaW1hcnkga2V5LCBzZXQgdGhlIGBgTXVsdGlSZWdpb25gYCBwcm9wZXJ0eSB0byBgYHRydWVgYC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IG11bHRpLVJlZ2lvbiBrZXlzLCBzZWUgW011bHRpLVJlZ2lvbiBrZXlzIGluXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1vdmVydmlldy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbm5vdCB1c2UgdGhlIGBgQVdTOjpLTVM6OktleWBgIHJlc291cmNlIHRvIHNwZWNpZnkgYSBLTVMga2V5IHdpdGggW2ltcG9ydGVkIGtleSBtYXRlcmlhbF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaW1wb3J0aW5nLWtleXMuaHRtbCkgb3IgYSBLTVMga2V5IGluIGEgW2N1c3RvbSBrZXkgc3RvcmVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2N1c3RvbS1rZXktc3RvcmUtb3ZlcnZpZXcuaHRtbCkuXG4gKiAgICpSZWdpb25zKiBcbiAqICBLTVMgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2VzIGFyZSBhdmFpbGFibGUgaW4gYWxsIFJlZ2lvbnMgaW4gd2hpY2ggS01TIGFuZCBDRk4gYXJlIHN1cHBvcnRlZC4gWW91IGNhbiB1c2UgdGhlIGBgQVdTOjpLTVM6OktleWBgIHJlc291cmNlIHRvIGNyZWF0ZSBhbmQgbWFuYWdlIGFsbCBLTVMga2V5IHR5cGVzIHRoYXQgYXJlIHN1cHBvcnRlZCBpbiBhIFJlZ2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0tNU19LRVkge1xuLyoqXG4gKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBLTVMga2V5LiBVc2UgYSBkZXNjcmlwdGlvbiB0aGF0IGhlbHBzIHlvdSB0byBkaXN0aW5ndWlzaCB0aGlzIEtNUyBrZXkgZnJvbSBvdGhlcnMgaW4gdGhlIGFjY291bnQsIHN1Y2ggYXMgaXRzIGludGVuZGVkIHVzZS5cbiAqL1xuRGVzY3JpcHRpb24/OiBzdHJpbmdcbi8qKlxuICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIEtNUyBrZXkgaXMgZW5hYmxlZC4gRGlzYWJsZWQgS01TIGtleXMgY2Fubm90IGJlIHVzZWQgaW4gY3J5cHRvZ3JhcGhpYyBvcGVyYXRpb25zLlxuICogIFdoZW4gYGBFbmFibGVkYGAgaXMgYGB0cnVlYGAsIHRoZSAqa2V5IHN0YXRlKiBvZiB0aGUgS01TIGtleSBpcyBgYEVuYWJsZWRgYC4gV2hlbiBgYEVuYWJsZWRgYCBpcyBgYGZhbHNlYGAsIHRoZSBrZXkgc3RhdGUgb2YgdGhlIEtNUyBrZXkgaXMgYGBEaXNhYmxlZGBgLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgYHRydWVgYC5cbiAqICBUaGUgYWN0dWFsIGtleSBzdGF0ZSBvZiB0aGUgS01TIGtleSBtaWdodCBiZSBhZmZlY3RlZCBieSBhY3Rpb25zIHRha2VuIG91dHNpZGUgb2YgQ2xvdWRGb3JtYXRpb24sIHN1Y2ggYXMgcnVubmluZyB0aGUgW0VuYWJsZUtleV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9FbmFibGVLZXkuaHRtbCksIFtEaXNhYmxlS2V5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rpc2FibGVLZXkuaHRtbCksIG9yIFtTY2hlZHVsZUtleURlbGV0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NjaGVkdWxlS2V5RGVsZXRpb24uaHRtbCkgb3BlcmF0aW9ucy5cbiAqICBGb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGtleSBzdGF0ZXMgb2YgYSBLTVMga2V5LCBzZWUgW0tleSBzdGF0ZTogRWZmZWN0IG9uIHlvdXIgS01TIGtleV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUva2V5LXN0YXRlLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqL1xuRW5hYmxlZD86IGJvb2xlYW5cbi8qKlxuICogRW5hYmxlcyBhdXRvbWF0aWMgcm90YXRpb24gb2YgdGhlIGtleSBtYXRlcmlhbCBmb3IgdGhlIHNwZWNpZmllZCBLTVMga2V5LiBCeSBkZWZhdWx0LCBhdXRvbWF0aWMga2V5IHJvdGF0aW9uIGlzIG5vdCBlbmFibGVkLlxuICogIEtNUyBzdXBwb3J0cyBhdXRvbWF0aWMgcm90YXRpb24gb25seSBmb3Igc3ltbWV0cmljIGVuY3J5cHRpb24gS01TIGtleXMgKGBgS2V5U3BlY2BgID0gYGBTWU1NRVRSSUNfREVGQVVMVGBgKS4gRm9yIGFzeW1tZXRyaWMgS01TIGtleXMsIEhNQUMgS01TIGtleXMsIGFuZCBLTVMga2V5cyB3aXRoIE9yaWdpbiBgYEVYVEVSTkFMYGAsIG9taXQgdGhlIGBgRW5hYmxlS2V5Um90YXRpb25gYCBwcm9wZXJ0eSBvciBzZXQgaXQgdG8gYGBmYWxzZWBgLlxuICogIFRvIGVuYWJsZSBhdXRvbWF0aWMga2V5IHJvdGF0aW9uIG9mIHRoZSBrZXkgbWF0ZXJpYWwgZm9yIGEgbXVsdGktUmVnaW9uIEtNUyBrZXksIHNldCBgYEVuYWJsZUtleVJvdGF0aW9uYGAgdG8gYGB0cnVlYGAgb24gdGhlIHByaW1hcnkga2V5IChjcmVhdGVkIGJ5IHVzaW5nIGBgQVdTOjpLTVM6OktleWBgKS4gS01TIGNvcGllcyB0aGUgcm90YXRpb24gc3RhdHVzIHRvIGFsbCByZXBsaWNhIGtleXMuIEZvciBkZXRhaWxzLCBzZWUgW1JvdGF0aW5nIG11bHRpLVJlZ2lvbiBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1tYW5hZ2UuaHRtbCNtdWx0aS1yZWdpb24tcm90YXRlKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgV2hlbiB5b3UgZW5hYmxlIGF1dG9tYXRpYyByb3RhdGlvbiwgS01TIGF1dG9tYXRpY2FsbHkgY3JlYXRlcyBuZXcga2V5IG1hdGVyaWFsIGZvciB0aGUgS01TIGtleSBvbmUgeWVhciBhZnRlciB0aGUgZW5hYmxlIGRhdGUgYW5kIGV2ZXJ5IHllYXIgdGhlcmVhZnRlci4gS01TIHJldGFpbnMgYWxsIGtleSBtYXRlcmlhbCB1bnRpbCB5b3UgZGVsZXRlIHRoZSBLTVMga2V5LiBGb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYXV0b21hdGljIGtleSByb3RhdGlvbiwgc2VlIFtSb3RhdGluZyBLTVMga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcm90YXRlLWtleXMuaHRtbCkgaW4gdGhlICpEZXZlbG9wZXIgR3VpZGUqLlxuICovXG5FbmFibGVLZXlSb3RhdGlvbj86IGJvb2xlYW5cbi8qKlxuICogVGhlIGtleSBwb2xpY3kgdG8gYXR0YWNoIHRvIHRoZSBLTVMga2V5LlxuICogIElmIHlvdSBwcm92aWRlIGEga2V5IHBvbGljeSwgaXQgbXVzdCBtZWV0IHRoZSBmb2xsb3dpbmcgY3JpdGVyaWE6XG4gKiAgICsgIFRoZSBrZXkgcG9saWN5IG11c3QgYWxsb3cgdGhlIGNhbGxlciB0byBtYWtlIGEgc3Vic2VxdWVudCBbUHV0S2V5UG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dEtleVBvbGljeS5odG1sKSByZXF1ZXN0IG9uIHRoZSBLTVMga2V5LiBUaGlzIHJlZHVjZXMgdGhlIHJpc2sgdGhhdCB0aGUgS01TIGtleSBiZWNvbWVzIHVubWFuYWdlYWJsZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbRGVmYXVsdCBrZXkgcG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9rZXktcG9saWNpZXMuaHRtbCNrZXktcG9saWN5LWRlZmF1bHQtYWxsb3ctcm9vdC1lbmFibGUtaWFtKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouIChUbyBvbWl0IHRoaXMgY29uZGl0aW9uLCBzZXQgYGBCeXBhc3NQb2xpY3lMb2Nrb3V0U2FmZXR5Q2hlY2tgYCB0byB0cnVlLilcbiAqICAgKyAgRWFjaCBzdGF0ZW1lbnQgaW4gdGhlIGtleSBwb2xpY3kgbXVzdCBjb250YWluIG9uZSBvciBtb3JlIHByaW5jaXBhbHMuIFRoZSBwcmluY2lwYWxzIGluIHRoZSBrZXkgcG9saWN5IG11c3QgZXhpc3QgYW5kIGJlIHZpc2libGUgdG8gS01TLiBXaGVuIHlvdSBjcmVhdGUgYSBuZXcgQVdTIHByaW5jaXBhbCAoZm9yIGV4YW1wbGUsIGFuIElBTSB1c2VyIG9yIHJvbGUpLCB5b3UgbWlnaHQgbmVlZCB0byBlbmZvcmNlIGEgZGVsYXkgYmVmb3JlIGluY2x1ZGluZyB0aGUgbmV3IHByaW5jaXBhbCBpbiBhIGtleSBwb2xpY3kgYmVjYXVzZSB0aGUgbmV3IHByaW5jaXBhbCBtaWdodCBub3QgYmUgaW1tZWRpYXRlbHkgdmlzaWJsZSB0byBLTVMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0NoYW5nZXMgdGhhdCBJIG1ha2UgYXJlIG5vdCBhbHdheXMgaW1tZWRpYXRlbHkgdmlzaWJsZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3Ryb3VibGVzaG9vdF9nZW5lcmFsLmh0bWwjdHJvdWJsZXNob290X2dlbmVyYWxfZXZlbnR1YWwtY29uc2lzdGVuY3kpIGluIHRoZSAqVXNlciBHdWlkZSouXG4gKiAgIFxuICogIElmIHlvdSBkbyBub3QgcHJvdmlkZSBhIGtleSBwb2xpY3ksIEtNUyBhdHRhY2hlcyBhIGRlZmF1bHQga2V5IHBvbGljeSB0byB0aGUgS01TIGtleS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbRGVmYXVsdCBrZXkgcG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9rZXktcG9saWNpZXMuaHRtbCNrZXktcG9saWN5LWRlZmF1bHQpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBBIGtleSBwb2xpY3kgZG9jdW1lbnQgY2FuIGluY2x1ZGUgb25seSB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6XG4gKiAgICsgIFByaW50YWJsZSBBU0NJSSBjaGFyYWN0ZXJzXG4gKiAgICsgIFByaW50YWJsZSBjaGFyYWN0ZXJzIGluIHRoZSBCYXNpYyBMYXRpbiBhbmQgTGF0aW4tMSBTdXBwbGVtZW50IGNoYXJhY3RlciBzZXRcbiAqICAgKyAgVGhlIHRhYiAoYGBcXHUwMDA5YGApLCBsaW5lIGZlZWQgKGBgXFx1MDAwQWBgKSwgYW5kIGNhcnJpYWdlIHJldHVybiAoYGBcXHUwMDBEYGApIHNwZWNpYWwgY2hhcmFjdGVyc1xuICogICBcbiAqICAqTWluaW11bSo6IGBgMWBgXG4gKiAgKk1heGltdW0qOiBgYDMyNzY4YGBcbiAqL1xuS2V5UG9saWN5PzogKHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59IHwgc3RyaW5nKVxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBbY3J5cHRvZ3JhcGhpYyBvcGVyYXRpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI2NyeXB0b2dyYXBoaWMtb3BlcmF0aW9ucykgZm9yIHdoaWNoIHlvdSBjYW4gdXNlIHRoZSBLTVMga2V5LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgYEVOQ1JZUFRfREVDUllQVGBgLiBUaGlzIHByb3BlcnR5IGlzIHJlcXVpcmVkIGZvciBhc3ltbWV0cmljIEtNUyBrZXlzIGFuZCBITUFDIEtNUyBrZXlzLiBZb3UgY2FuJ3QgY2hhbmdlIHRoZSBgYEtleVVzYWdlYGAgdmFsdWUgYWZ0ZXIgdGhlIEtNUyBrZXkgaXMgY3JlYXRlZC5cbiAqICAgSWYgeW91IGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlIGBgS2V5VXNhZ2VgYCBwcm9wZXJ0eSBvbiBhbiBleGlzdGluZyBLTVMga2V5LCB0aGUgdXBkYXRlIHJlcXVlc3QgZmFpbHMsIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoZSBbVXBkYXRlUmVwbGFjZVBvbGljeSBhdHRyaWJ1dGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1hdHRyaWJ1dGUtdXBkYXRlcmVwbGFjZXBvbGljeS5odG1sKS4gVGhpcyBwcmV2ZW50cyB5b3UgZnJvbSBhY2NpZGVudGFsbHkgZGVsZXRpbmcgYSBLTVMga2V5IGJ5IGNoYW5naW5nIGFuIGltbXV0YWJsZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqICAgU2VsZWN0IG9ubHkgb25lIHZhbGlkIHZhbHVlLlxuICogICArICBGb3Igc3ltbWV0cmljIGVuY3J5cHRpb24gS01TIGtleXMsIG9taXQgdGhlIHBhcmFtZXRlciBvciBzcGVjaWZ5IGBgRU5DUllQVF9ERUNSWVBUYGAuXG4gKiAgICsgIEZvciBITUFDIEtNUyBrZXlzIChzeW1tZXRyaWMpLCBzcGVjaWZ5IGBgR0VORVJBVEVfVkVSSUZZX01BQ2BgLlxuICogICArICBGb3IgYXN5bW1ldHJpYyBLTVMga2V5cyB3aXRoIFJTQSBrZXkgcGFpcnMsIHNwZWNpZnkgYGBFTkNSWVBUX0RFQ1JZUFRgYCBvciBgYFNJR05fVkVSSUZZYGAuXG4gKiAgICsgIEZvciBhc3ltbWV0cmljIEtNUyBrZXlzIHdpdGggTklTVC1yZWNvbW1lbmRlZCBlbGxpcHRpYyBjdXJ2ZSBrZXkgcGFpcnMsIHNwZWNpZnkgYGBTSUdOX1ZFUklGWWBgIG9yIGBgS0VZX0FHUkVFTUVOVGBgLlxuICogICArICBGb3IgYXN5bW1ldHJpYyBLTVMga2V5cyB3aXRoIGBgRUNDX1NFQ0dfUDI1NksxYGAga2V5IHBhaXJzIHNwZWNpZnkgYGBTSUdOX1ZFUklGWWBgLlxuICogICArICBGb3IgYXN5bW1ldHJpYyBLTVMga2V5cyB3aXRoIFNNMiBrZXkgcGFpcnMgKENoaW5hIFJlZ2lvbnMgb25seSksIHNwZWNpZnkgYGBFTkNSWVBUX0RFQ1JZUFRgYCwgYGBTSUdOX1ZFUklGWWBgLCBvciBgYEtFWV9BR1JFRU1FTlRgYC5cbiAqL1xuS2V5VXNhZ2U/OiAoXCJFTkNSWVBUX0RFQ1JZUFRcIiB8IFwiU0lHTl9WRVJJRllcIiB8IFwiR0VORVJBVEVfVkVSSUZZX01BQ1wiIHwgXCJLRVlfQUdSRUVNRU5UXCIpXG4vKipcbiAqIFRoZSBzb3VyY2Ugb2YgdGhlIGtleSBtYXRlcmlhbCBmb3IgdGhlIEtNUyBrZXkuIFlvdSBjYW5ub3QgY2hhbmdlIHRoZSBvcmlnaW4gYWZ0ZXIgeW91IGNyZWF0ZSB0aGUgS01TIGtleS4gVGhlIGRlZmF1bHQgaXMgYGBBV1NfS01TYGAsIHdoaWNoIG1lYW5zIHRoYXQgS01TIGNyZWF0ZXMgdGhlIGtleSBtYXRlcmlhbC5cbiAqICBUbyBbY3JlYXRlIGEgS01TIGtleSB3aXRoIG5vIGtleSBtYXRlcmlhbF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaW1wb3J0aW5nLWtleXMtY3JlYXRlLWNtay5odG1sKSAoZm9yIGltcG9ydGVkIGtleSBtYXRlcmlhbCksIHNldCB0aGlzIHZhbHVlIHRvIGBgRVhURVJOQUxgYC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgaW1wb3J0aW5nIGtleSBtYXRlcmlhbCBpbnRvIEtNUywgc2VlIFtJbXBvcnRpbmcgS2V5IE1hdGVyaWFsXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9pbXBvcnRpbmcta2V5cy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiBpZ25vcmUgYGBFTkFCTEVEYGAgd2hlbiBPcmlnaW4gaXMgYGBFWFRFUk5BTGBgLiBXaGVuIGEgS01TIGtleSB3aXRoIE9yaWdpbiBgYEVYVEVSTkFMYGAgaXMgY3JlYXRlZCwgdGhlIGtleSBzdGF0ZSBpcyBgYFBFTkRJTkdfSU1QT1JUYGAgYW5kIGBgRU5BQkxFRGBgIGlzIGBgZmFsc2VgYC4gQWZ0ZXIgeW91IGltcG9ydCB0aGUga2V5IG1hdGVyaWFsLCBgYEVOQUJMRURgYCB1cGRhdGVkIHRvIGBgdHJ1ZWBgLiBUaGUgS01TIGtleSBjYW4gdGhlbiBiZSB1c2VkIGZvciBDcnlwdG9ncmFwaGljIE9wZXJhdGlvbnMuIFxuICogICBDRk4gZG9lc24ndCBzdXBwb3J0IGNyZWF0aW5nIGFuIGBgT3JpZ2luYGAgcGFyYW1ldGVyIG9mIHRoZSBgYEFXU19DTE9VREhTTWBgIG9yIGBgRVhURVJOQUxfS0VZX1NUT1JFYGAgdmFsdWVzLlxuICovXG5PcmlnaW4/OiAoXCJBV1NfS01TXCIgfCBcIkVYVEVSTkFMXCIpXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBLTVMga2V5IHRvIGNyZWF0ZS4gVGhlIGRlZmF1bHQgdmFsdWUsIGBgU1lNTUVUUklDX0RFRkFVTFRgYCwgY3JlYXRlcyBhIEtNUyBrZXkgd2l0aCBhIDI1Ni1iaXQgc3ltbWV0cmljIGtleSBmb3IgZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbi4gSW4gQ2hpbmEgUmVnaW9ucywgYGBTWU1NRVRSSUNfREVGQVVMVGBgIGNyZWF0ZXMgYSAxMjgtYml0IHN5bW1ldHJpYyBrZXkgdGhhdCB1c2VzIFNNNCBlbmNyeXB0aW9uLiBZb3UgY2FuJ3QgY2hhbmdlIHRoZSBgYEtleVNwZWNgYCB2YWx1ZSBhZnRlciB0aGUgS01TIGtleSBpcyBjcmVhdGVkLiBGb3IgaGVscCBjaG9vc2luZyBhIGtleSBzcGVjIGZvciB5b3VyIEtNUyBrZXksIHNlZSBbQ2hvb3NpbmcgYSBLTVMga2V5IHR5cGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3N5bW0tYXN5bW0tY2hvb3NlLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBUaGUgYGBLZXlTcGVjYGAgcHJvcGVydHkgZGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiBrZXkgbWF0ZXJpYWwgaW4gdGhlIEtNUyBrZXkgYW5kIHRoZSBhbGdvcml0aG1zIHRoYXQgdGhlIEtNUyBrZXkgc3VwcG9ydHMuIFRvIGZ1cnRoZXIgcmVzdHJpY3QgdGhlIGFsZ29yaXRobXMgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBLTVMga2V5LCB1c2UgYSBjb25kaXRpb24ga2V5IGluIGl0cyBrZXkgcG9saWN5IG9yIElBTSBwb2xpY3kuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW2NvbmRpdGlvbiBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9wb2xpY3ktY29uZGl0aW9ucy5odG1sI2NvbmRpdGlvbnMta21zKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgIElmIHlvdSBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoZSBgYEtleVNwZWNgYCBwcm9wZXJ0eSBvbiBhbiBleGlzdGluZyBLTVMga2V5LCB0aGUgdXBkYXRlIHJlcXVlc3QgZmFpbHMsIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoZSBbVXBkYXRlUmVwbGFjZVBvbGljeSBhdHRyaWJ1dGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1hdHRyaWJ1dGUtdXBkYXRlcmVwbGFjZXBvbGljeS5odG1sKS4gVGhpcyBwcmV2ZW50cyB5b3UgZnJvbSBhY2NpZGVudGFsbHkgZGVsZXRpbmcgYSBLTVMga2V5IGJ5IGNoYW5naW5nIGFuIGltbXV0YWJsZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqICAgIFtzZXJ2aWNlcyB0aGF0IGFyZSBpbnRlZ3JhdGVkIHdpdGhdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvZmVhdHVyZXMvI0FXU19TZXJ2aWNlX0ludGVncmF0aW9uKSB1c2Ugc3ltbWV0cmljIGVuY3J5cHRpb24gS01TIGtleXMgdG8gcHJvdGVjdCB5b3VyIGRhdGEuIFRoZXNlIHNlcnZpY2VzIGRvIG5vdCBzdXBwb3J0IGVuY3J5cHRpb24gd2l0aCBhc3ltbWV0cmljIEtNUyBrZXlzLiBGb3IgaGVscCBkZXRlcm1pbmluZyB3aGV0aGVyIGEgS01TIGtleSBpcyBhc3ltbWV0cmljLCBzZWUgW0lkZW50aWZ5aW5nIGFzeW1tZXRyaWMgS01TIGtleXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2ZpbmQtc3ltbS1hc3ltbS5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgIEtNUyBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGtleSBzcGVjcyBmb3IgS01TIGtleXM6XG4gKiAgICsgIFN5bW1ldHJpYyBlbmNyeXB0aW9uIGtleSAoZGVmYXVsdClcbiAqICAgKyAgYGBTWU1NRVRSSUNfREVGQVVMVGBgIChBRVMtMjU2LUdDTSlcbiAqICAgXG4gKiAgICsgIEhNQUMga2V5cyAoc3ltbWV0cmljKVxuICogICArICAgYGBITUFDXzIyNGBgIFxuICogICArICAgYGBITUFDXzI1NmBgIFxuICogICArICAgYGBITUFDXzM4NGBgIFxuICogICArICAgYGBITUFDXzUxMmBgIFxuICogICBcbiAqICAgKyAgQXN5bW1ldHJpYyBSU0Ega2V5IHBhaXJzIChlbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uICpvciogc2lnbmluZyBhbmQgdmVyaWZpY2F0aW9uKVxuICogICArICAgYGBSU0FfMjA0OGBgIFxuICogICArICAgYGBSU0FfMzA3MmBgIFxuICogICArICAgYGBSU0FfNDA5NmBgIFxuICogICBcbiAqICAgKyAgQXN5bW1ldHJpYyBOSVNULXJlY29tbWVuZGVkIGVsbGlwdGljIGN1cnZlIGtleSBwYWlycyAoc2lnbmluZyBhbmQgdmVyaWZpY2F0aW9uICpvciogZGVyaXZpbmcgc2hhcmVkIHNlY3JldHMpXG4gKiAgICsgIGBgRUNDX05JU1RfUDI1NmBgIChzZWNwMjU2cjEpXG4gKiAgICsgIGBgRUNDX05JU1RfUDM4NGBgIChzZWNwMzg0cjEpXG4gKiAgICsgIGBgRUNDX05JU1RfUDUyMWBgIChzZWNwNTIxcjEpXG4gKiAgIFxuICogICArICBPdGhlciBhc3ltbWV0cmljIGVsbGlwdGljIGN1cnZlIGtleSBwYWlycyAoc2lnbmluZyBhbmQgdmVyaWZpY2F0aW9uKVxuICogICArICBgYEVDQ19TRUNHX1AyNTZLMWBgIChzZWNwMjU2azEpLCBjb21tb25seSB1c2VkIGZvciBjcnlwdG9jdXJyZW5jaWVzLlxuICogICBcbiAqICAgKyAgU00yIGtleSBwYWlycyAoZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiAqb3IqIHNpZ25pbmcgYW5kIHZlcmlmaWNhdGlvbiAqb3IqIGRlcml2aW5nIHNoYXJlZCBzZWNyZXRzKVxuICogICArICBgYFNNMmBgIChDaGluYSBSZWdpb25zIG9ubHkpXG4gKi9cbktleVNwZWM/OiAoXCJTWU1NRVRSSUNfREVGQVVMVFwiIHwgXCJSU0FfMjA0OFwiIHwgXCJSU0FfMzA3MlwiIHwgXCJSU0FfNDA5NlwiIHwgXCJFQ0NfTklTVF9QMjU2XCIgfCBcIkVDQ19OSVNUX1AzODRcIiB8IFwiRUNDX05JU1RfUDUyMVwiIHwgXCJFQ0NfU0VDR19QMjU2SzFcIiB8IFwiSE1BQ18yMjRcIiB8IFwiSE1BQ18yNTZcIiB8IFwiSE1BQ18zODRcIiB8IFwiSE1BQ181MTJcIiB8IFwiU00yXCIpXG4vKipcbiAqIENyZWF0ZXMgYSBtdWx0aS1SZWdpb24gcHJpbWFyeSBrZXkgdGhhdCB5b3UgY2FuIHJlcGxpY2F0ZSBpbiBvdGhlciBBV1MtUmVnaW9ucy4gWW91IGNhbid0IGNoYW5nZSB0aGUgYGBNdWx0aVJlZ2lvbmBgIHZhbHVlIGFmdGVyIHRoZSBLTVMga2V5IGlzIGNyZWF0ZWQuXG4gKiAgRm9yIGEgbGlzdCBvZiBBV1MtUmVnaW9ucyBpbiB3aGljaCBtdWx0aS1SZWdpb24ga2V5cyBhcmUgc3VwcG9ydGVkLCBzZWUgW011bHRpLVJlZ2lvbiBrZXlzIGluXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1vdmVydmlldy5odG1sKSBpbiB0aGUgKiouXG4gKiAgIElmIHlvdSBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoZSBgYE11bHRpUmVnaW9uYGAgcHJvcGVydHkgb24gYW4gZXhpc3RpbmcgS01TIGtleSwgdGhlIHVwZGF0ZSByZXF1ZXN0IGZhaWxzLCByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiB0aGUgW1VwZGF0ZVJlcGxhY2VQb2xpY3kgYXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtYXR0cmlidXRlLXVwZGF0ZXJlcGxhY2Vwb2xpY3kuaHRtbCkuIFRoaXMgcHJldmVudHMgeW91IGZyb20gYWNjaWRlbnRhbGx5IGRlbGV0aW5nIGEgS01TIGtleSBieSBjaGFuZ2luZyBhbiBpbW11dGFibGUgcHJvcGVydHkgdmFsdWUuXG4gKiAgIEZvciBhIG11bHRpLVJlZ2lvbiBrZXksIHNldCB0byB0aGlzIHByb3BlcnR5IHRvIGBgdHJ1ZWBgLiBGb3IgYSBzaW5nbGUtUmVnaW9uIGtleSwgb21pdCB0aGlzIHByb3BlcnR5IG9yIHNldCBpdCB0byBgYGZhbHNlYGAuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBgZmFsc2VgYC5cbiAqICAqTXVsdGktUmVnaW9uIGtleXMqIGFyZSBhbiBLTVMgZmVhdHVyZSB0aGF0IGxldHMgeW91IGNyZWF0ZSBtdWx0aXBsZSBpbnRlcm9wZXJhYmxlIEtNUyBrZXlzIGluIGRpZmZlcmVudCBBV1MtUmVnaW9ucy4gQmVjYXVzZSB0aGVzZSBLTVMga2V5cyBoYXZlIHRoZSBzYW1lIGtleSBJRCwga2V5IG1hdGVyaWFsLCBhbmQgb3RoZXIgbWV0YWRhdGEsIHlvdSBjYW4gdXNlIHRoZW0gdG8gZW5jcnlwdCBkYXRhIGluIG9uZSBBV1MtUmVnaW9uIGFuZCBkZWNyeXB0IGl0IGluIGEgZGlmZmVyZW50IEFXUy1SZWdpb24gd2l0aG91dCBtYWtpbmcgYSBjcm9zcy1SZWdpb24gY2FsbCBvciBleHBvc2luZyB0aGUgcGxhaW50ZXh0IGRhdGEuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW011bHRpLVJlZ2lvbiBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1vdmVydmlldy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiBjcmVhdGUgYSBzeW1tZXRyaWMgZW5jcnlwdGlvbiwgSE1BQywgb3IgYXN5bW1ldHJpYyBtdWx0aS1SZWdpb24gS01TIGtleSwgYW5kIHlvdSBjYW4gY3JlYXRlIGEgbXVsdGktUmVnaW9uIGtleSB3aXRoIGltcG9ydGVkIGtleSBtYXRlcmlhbC4gSG93ZXZlciwgeW91IGNhbm5vdCBjcmVhdGUgYSBtdWx0aS1SZWdpb24ga2V5IGluIGEgY3VzdG9tIGtleSBzdG9yZS5cbiAqICBUbyBjcmVhdGUgYSByZXBsaWNhIG9mIHRoaXMgcHJpbWFyeSBrZXkgaW4gYSBkaWZmZXJlbnQgQVdTLVJlZ2lvbiAsIGNyZWF0ZSBhbiBbQVdTOjpLTVM6OlJlcGxpY2FLZXldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1rbXMtcmVwbGljYWtleS5odG1sKSByZXNvdXJjZSBpbiBhIENsb3VkRm9ybWF0aW9uIHN0YWNrIGluIHRoZSByZXBsaWNhIFJlZ2lvbi4gU3BlY2lmeSB0aGUga2V5IEFSTiBvZiB0aGlzIHByaW1hcnkga2V5LlxuICovXG5NdWx0aVJlZ2lvbj86IGJvb2xlYW5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGUgd2FpdGluZyBwZXJpb2QgYmVmb3JlIEtNUyBkZWxldGVzIGEgS01TIGtleSB0aGF0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBhIENsb3VkRm9ybWF0aW9uIHN0YWNrLiBFbnRlciBhIHZhbHVlIGJldHdlZW4gNyBhbmQgMzAgZGF5cy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMzAgZGF5cy5cbiAqICBXaGVuIHlvdSByZW1vdmUgYSBLTVMga2V5IGZyb20gYSBDbG91ZEZvcm1hdGlvbiBzdGFjaywgS01TIHNjaGVkdWxlcyB0aGUgS01TIGtleSBmb3IgZGVsZXRpb24gYW5kIHN0YXJ0cyB0aGUgbWFuZGF0b3J5IHdhaXRpbmcgcGVyaW9kLiBUaGUgYGBQZW5kaW5nV2luZG93SW5EYXlzYGAgcHJvcGVydHkgZGV0ZXJtaW5lcyB0aGUgbGVuZ3RoIG9mIHdhaXRpbmcgcGVyaW9kLiBEdXJpbmcgdGhlIHdhaXRpbmcgcGVyaW9kLCB0aGUga2V5IHN0YXRlIG9mIEtNUyBrZXkgaXMgYGBQZW5kaW5nIERlbGV0aW9uYGAgb3IgYGBQZW5kaW5nIFJlcGxpY2EgRGVsZXRpb25gYCwgd2hpY2ggcHJldmVudHMgdGhlIEtNUyBrZXkgZnJvbSBiZWluZyB1c2VkIGluIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9ucy4gV2hlbiB0aGUgd2FpdGluZyBwZXJpb2QgZXhwaXJlcywgS01TIHBlcm1hbmVudGx5IGRlbGV0ZXMgdGhlIEtNUyBrZXkuXG4gKiAgS01TIHdpbGwgbm90IGRlbGV0ZSBhIFttdWx0aS1SZWdpb24gcHJpbWFyeSBrZXldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL211bHRpLXJlZ2lvbi1rZXlzLW92ZXJ2aWV3Lmh0bWwpIHRoYXQgaGFzIHJlcGxpY2Ega2V5cy4gSWYgeW91IHJlbW92ZSBhIG11bHRpLVJlZ2lvbiBwcmltYXJ5IGtleSBmcm9tIGEgQ2xvdWRGb3JtYXRpb24gc3RhY2ssIGl0cyBrZXkgc3RhdGUgY2hhbmdlcyB0byBgYFBlbmRpbmdSZXBsaWNhRGVsZXRpb25gYCBzbyBpdCBjYW5ub3QgYmUgcmVwbGljYXRlZCBvciB1c2VkIGluIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9ucy4gVGhpcyBzdGF0ZSBjYW4gcGVyc2lzdCBpbmRlZmluaXRlbHkuIFdoZW4gdGhlIGxhc3Qgb2YgaXRzIHJlcGxpY2Ega2V5cyBpcyBkZWxldGVkLCB0aGUga2V5IHN0YXRlIG9mIHRoZSBwcmltYXJ5IGtleSBjaGFuZ2VzIHRvIGBgUGVuZGluZ0RlbGV0aW9uYGAgYW5kIHRoZSB3YWl0aW5nIHBlcmlvZCBzcGVjaWZpZWQgYnkgYGBQZW5kaW5nV2luZG93SW5EYXlzYGAgYmVnaW5zLiBXaGVuIHRoaXMgd2FpdGluZyBwZXJpb2QgZXhwaXJlcywgS01TIGRlbGV0ZXMgdGhlIHByaW1hcnkga2V5LiBGb3IgZGV0YWlscywgc2VlIFtEZWxldGluZyBtdWx0aS1SZWdpb24ga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbXVsdGktcmVnaW9uLWtleXMtZGVsZXRlLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBZb3UgY2Fubm90IHVzZSBhIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIHRvIGNhbmNlbCBkZWxldGlvbiBvZiB0aGUgS01TIGtleSBhZnRlciB5b3UgcmVtb3ZlIGl0IGZyb20gdGhlIHN0YWNrLCByZWdhcmRsZXNzIG9mIHRoZSB3YWl0aW5nIHBlcmlvZC4gSWYgeW91IHNwZWNpZnkgYSBLTVMga2V5IGluIHlvdXIgdGVtcGxhdGUsIGV2ZW4gb25lIHdpdGggdGhlIHNhbWUgbmFtZSwgQ2xvdWRGb3JtYXRpb24gY3JlYXRlcyBhIG5ldyBLTVMga2V5LiBUbyBjYW5jZWwgZGVsZXRpb24gb2YgYSBLTVMga2V5LCB1c2UgdGhlIEtNUyBjb25zb2xlIG9yIHRoZSBbQ2FuY2VsS2V5RGVsZXRpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ2FuY2VsS2V5RGVsZXRpb24uaHRtbCkgb3BlcmF0aW9uLlxuICogIEZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGBQZW5kaW5nIERlbGV0aW9uYGAgYW5kIGBgUGVuZGluZyBSZXBsaWNhIERlbGV0aW9uYGAga2V5IHN0YXRlcywgc2VlIFtLZXkgc3RhdGU6IEVmZmVjdCBvbiB5b3VyIEtNUyBrZXldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2tleS1zdGF0ZS5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGRlbGV0aW5nIEtNUyBrZXlzLCBzZWUgdGhlIFtTY2hlZHVsZUtleURlbGV0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NjaGVkdWxlS2V5RGVsZXRpb24uaHRtbCkgb3BlcmF0aW9uIGluIHRoZSAqQVBJIFJlZmVyZW5jZSogYW5kIFtEZWxldGluZyBLTVMga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZGVsZXRpbmcta2V5cy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKi9cblBlbmRpbmdXaW5kb3dJbkRheXM/OiBudW1iZXJcbi8qKlxuICogQXNzaWducyBvbmUgb3IgbW9yZSB0YWdzIHRvIHRoZSByZXBsaWNhIGtleS5cbiAqICAgVGFnZ2luZyBvciB1bnRhZ2dpbmcgYSBLTVMga2V5IGNhbiBhbGxvdyBvciBkZW55IHBlcm1pc3Npb24gdG8gdGhlIEtNUyBrZXkuIEZvciBkZXRhaWxzLCBzZWUgW0FCQUMgZm9yXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9hYmFjLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICAgRm9yIGluZm9ybWF0aW9uIGFib3V0IHRhZ3MgaW4gS01TLCBzZWUgW1RhZ2dpbmcga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdGFnZ2luZy1rZXlzLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRhZ3MgaW4gQ2xvdWRGb3JtYXRpb24sIHNlZSBbVGFnXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1yZXNvdXJjZS10YWdzLmh0bWwpLlxuICovXG5UYWdzPzogVGFnW11cbkFybj86IHN0cmluZ1xuS2V5SWQ/OiBzdHJpbmdcbi8qKlxuICogU2tpcHMgKFwiYnlwYXNzZXNcIikgdGhlIGtleSBwb2xpY3kgbG9ja291dCBzYWZldHkgY2hlY2suIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICogICBTZXR0aW5nIHRoaXMgdmFsdWUgdG8gdHJ1ZSBpbmNyZWFzZXMgdGhlIHJpc2sgdGhhdCB0aGUgS01TIGtleSBiZWNvbWVzIHVubWFuYWdlYWJsZS4gRG8gbm90IHNldCB0aGlzIHZhbHVlIHRvIHRydWUgaW5kaXNjcmltaW5hdGVseS5cbiAqICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtEZWZhdWx0IGtleSBwb2xpY3ldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2tleS1wb2xpY3ktZGVmYXVsdC5odG1sI3ByZXZlbnQtdW5tYW5hZ2VhYmxlLWtleSkgaW4gdGhlICpEZXZlbG9wZXIgR3VpZGUqLlxuICogICBVc2UgdGhpcyBwYXJhbWV0ZXIgb25seSB3aGVuIHlvdSBpbnRlbmQgdG8gcHJldmVudCB0aGUgcHJpbmNpcGFsIHRoYXQgaXMgbWFraW5nIHRoZSByZXF1ZXN0IGZyb20gbWFraW5nIGEgc3Vic2VxdWVudCBbUHV0S2V5UG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dEtleVBvbGljeS5odG1sKSByZXF1ZXN0IG9uIHRoZSBLTVMga2V5LlxuICovXG5CeXBhc3NQb2xpY3lMb2Nrb3V0U2FmZXR5Q2hlY2s/OiBib29sZWFuXG4vKipcbiAqIFNwZWNpZmllcyBhIGN1c3RvbSBwZXJpb2Qgb2YgdGltZSBiZXR3ZWVuIGVhY2ggcm90YXRpb24gZGF0ZS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAzNjUgZGF5cy5cbiAqICBUaGUgcm90YXRpb24gcGVyaW9kIGRlZmluZXMgdGhlIG51bWJlciBvZiBkYXlzIGFmdGVyIHlvdSBlbmFibGUgYXV0b21hdGljIGtleSByb3RhdGlvbiB0aGF0IEtNUyB3aWxsIHJvdGF0ZSB5b3VyIGtleSBtYXRlcmlhbCwgYW5kIHRoZSBudW1iZXIgb2YgZGF5cyBiZXR3ZWVuIGVhY2ggYXV0b21hdGljIHJvdGF0aW9uIHRoZXJlYWZ0ZXIuXG4gKiAgWW91IGNhbiB1c2UgdGhlIFtrbXM6Um90YXRpb25QZXJpb2RJbkRheXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2NvbmRpdGlvbnMta21zLmh0bWwjY29uZGl0aW9ucy1rbXMtcm90YXRpb24tcGVyaW9kLWluLWRheXMpIGNvbmRpdGlvbiBrZXkgdG8gZnVydGhlciBjb25zdHJhaW4gdGhlIHZhbHVlcyB0aGF0IHByaW5jaXBhbHMgY2FuIHNwZWNpZnkgaW4gdGhlIGBgUm90YXRpb25QZXJpb2RJbkRheXNgYCBwYXJhbWV0ZXIuXG4gKiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgcm90YXRpbmcgS01TIGtleXMgYW5kIGF1dG9tYXRpYyByb3RhdGlvbiwgc2VlIFtSb3RhdGluZyBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yb3RhdGUta2V5cy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKi9cblJvdGF0aW9uUGVyaW9kSW5EYXlzPzogbnVtYmVyXG59XG4vKipcbiAqIEEga2V5LXZhbHVlIHBhaXIuIEEgdGFnIGNvbnNpc3RzIG9mIGEgdGFnIGtleSBhbmQgYSB0YWcgdmFsdWUuIFRhZyBrZXlzIGFuZCB0YWcgdmFsdWVzIGFyZSBib3RoIHJlcXVpcmVkLCBidXQgdGFnIHZhbHVlcyBjYW4gYmUgZW1wdHkgKG51bGwpIHN0cmluZ3MuXG4gKiAgIERvIG5vdCBpbmNsdWRlIGNvbmZpZGVudGlhbCBvciBzZW5zaXRpdmUgaW5mb3JtYXRpb24gaW4gdGhpcyBmaWVsZC4gVGhpcyBmaWVsZCBtYXkgYmUgZGlzcGxheWVkIGluIHBsYWludGV4dCBpbiBDbG91ZFRyYWlsIGxvZ3MgYW5kIG90aGVyIG91dHB1dC5cbiAqICAgRm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBydWxlcyB0aGF0IGFwcGx5IHRvIHRhZyBrZXlzIGFuZCB0YWcgdmFsdWVzLCBzZWUgW1VzZXItRGVmaW5lZCBUYWcgUmVzdHJpY3Rpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzYWNjb3VudGJpbGxpbmcvbGF0ZXN0L2Fib3V0djIvYWxsb2NhdGlvbi10YWctcmVzdHJpY3Rpb25zLmh0bWwpIGluIHRoZSAqQmlsbGluZyBhbmQgQ29zdCBNYW5hZ2VtZW50IFVzZXIgR3VpZGUqLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG4vKipcbiAqIFRoZSBrZXkgbmFtZSBvZiB0aGUgdGFnLiBZb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSB0aGF0J3MgMSB0byAxMjggVW5pY29kZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCBhbmQgY2FuJ3QgYmUgcHJlZml4ZWQgd2l0aCBgYGF3czpgYC4gZGlnaXRzLCB3aGl0ZXNwYWNlLCBgYF9gYCwgYGAuYGAsIGBgOmBgLCBgYC9gYCwgYGA9YGAsIGBgK2BgLCBgYEBgYCwgYGAtYGAsIGFuZCBgYFwiYGAuXG4gKiAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbVGFnXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1yZXNvdXJjZS10YWdzLmh0bWwpLlxuICovXG5LZXk6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdmFsdWUgZm9yIHRoZSB0YWcuIFlvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIHRoYXQncyAxIHRvIDI1NiBjaGFyYWN0ZXJzIGluIGxlbmd0aC4gWW91IGNhbiB1c2UgYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogdGhlIHNldCBvZiBVbmljb2RlIGxldHRlcnMsIGRpZ2l0cywgd2hpdGVzcGFjZSwgYGBfYGAsIGBgLmBgLCBgYC9gYCwgYGA9YGAsIGBgK2BgLCBhbmQgYGAtYGAuXG4gKiAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbVGFnXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1yZXNvdXJjZS10YWdzLmh0bWwpLlxuICovXG5WYWx1ZTogc3RyaW5nXG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWttcy1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3Mta21zLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgYGBBV1M6OktNUzo6S2V5YGAgcmVzb3VyY2Ugc3BlY2lmaWVzIGFuIFtLTVMga2V5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI2ttc19rZXlzKSBpbiBLTVNsb25nLiBZb3UgY2FuIHVzZSB0aGlzIHJlc291cmNlIHRvIGNyZWF0ZSBzeW1tZXRyaWMgZW5jcnlwdGlvbiBLTVMga2V5cywgYXN5bW1ldHJpYyBLTVMga2V5cyBmb3IgZW5jcnlwdGlvbiBvciBzaWduaW5nLCBhbmQgc3ltbWV0cmljIEhNQUMgS01TIGtleXMuIFlvdSBjYW4gdXNlIGBgQVdTOjpLTVM6OktleWBgIHRvIGNyZWF0ZSBbbXVsdGktUmVnaW9uIHByaW1hcnkga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbXVsdGktcmVnaW9uLWtleXMtb3ZlcnZpZXcuaHRtbCNtcmstcHJpbWFyeS1rZXkpIG9mIGFsbCBzdXBwb3J0ZWQgdHlwZXMuIFRvIHJlcGxpY2F0ZSBhIG11bHRpLVJlZ2lvbiBrZXksIHVzZSB0aGUgYGBBV1M6OktNUzo6UmVwbGljYUtleWBgIHJlc291cmNlLlxuICogICBJZiB5b3UgY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUgYGBLZXlTcGVjYGAsIGBgS2V5VXNhZ2VgYCwgYGBPcmlnaW5gYCwgb3IgYGBNdWx0aVJlZ2lvbmBgIHByb3BlcnRpZXMgb2YgYW4gZXhpc3RpbmcgS01TIGtleSwgdGhlIHVwZGF0ZSByZXF1ZXN0IGZhaWxzLCByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiB0aGUgW1VwZGF0ZVJlcGxhY2VQb2xpY3kgYXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtYXR0cmlidXRlLXVwZGF0ZXJlcGxhY2Vwb2xpY3kuaHRtbCkuIFRoaXMgcHJldmVudHMgeW91IGZyb20gYWNjaWRlbnRhbGx5IGRlbGV0aW5nIGEgS01TIGtleSBieSBjaGFuZ2luZyBhbnkgb2YgaXRzIGltbXV0YWJsZSBwcm9wZXJ0eSB2YWx1ZXMuXG4gKiAgICBLTVMgcmVwbGFjZWQgdGhlIHRlcm0gKmN1c3RvbWVyIG1hc3RlciBrZXkgKENNSykqIHdpdGggKiogYW5kICpLTVMga2V5Ki4gVGhlIGNvbmNlcHQgaGFzIG5vdCBjaGFuZ2VkLiBUbyBwcmV2ZW50IGJyZWFraW5nIGNoYW5nZXMsIEtNUyBpcyBrZWVwaW5nIHNvbWUgdmFyaWF0aW9ucyBvZiB0aGlzIHRlcm0uXG4gKiAgIFlvdSBjYW4gdXNlIHN5bW1ldHJpYyBlbmNyeXB0aW9uIEtNUyBrZXlzIHRvIGVuY3J5cHQgYW5kIGRlY3J5cHQgc21hbGwgYW1vdW50cyBvZiBkYXRhLCBidXQgdGhleSBhcmUgbW9yZSBjb21tb25seSB1c2VkIHRvIGdlbmVyYXRlIGRhdGEga2V5cyBhbmQgZGF0YSBrZXkgcGFpcnMuIFlvdSBjYW4gYWxzbyB1c2UgYSBzeW1tZXRyaWMgZW5jcnlwdGlvbiBLTVMga2V5IHRvIGVuY3J5cHQgZGF0YSBzdG9yZWQgaW4gQVdTIHNlcnZpY2VzIHRoYXQgYXJlIFtpbnRlZ3JhdGVkIHdpdGhdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS8va21zL2ZlYXR1cmVzLyNBV1NfU2VydmljZV9JbnRlZ3JhdGlvbikuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1N5bW1ldHJpYyBlbmNyeXB0aW9uIEtNUyBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI3N5bW1ldHJpYy1jbWtzKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiB1c2UgYXN5bW1ldHJpYyBLTVMga2V5cyB0byBlbmNyeXB0IGFuZCBkZWNyeXB0IGRhdGEgb3Igc2lnbiBtZXNzYWdlcyBhbmQgdmVyaWZ5IHNpZ25hdHVyZXMuIFRvIGNyZWF0ZSBhbiBhc3ltbWV0cmljIGtleSwgeW91IG11c3Qgc3BlY2lmeSBhbiBhc3ltbWV0cmljIGBgS2V5U3BlY2BgIHZhbHVlIGFuZCBhIGBgS2V5VXNhZ2VgYCB2YWx1ZS4gRm9yIGRldGFpbHMsIHNlZSBbQXN5bW1ldHJpYyBrZXlzIGluXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9zeW1tZXRyaWMtYXN5bW1ldHJpYy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiB1c2UgSE1BQyBLTVMga2V5cyAod2hpY2ggYXJlIGFsc28gc3ltbWV0cmljIGtleXMpIHRvIGdlbmVyYXRlIGFuZCB2ZXJpZnkgaGFzaC1iYXNlZCBtZXNzYWdlIGF1dGhlbnRpY2F0aW9uIGNvZGVzLiBUbyBjcmVhdGUgYW4gSE1BQyBrZXksIHlvdSBtdXN0IHNwZWNpZnkgYW4gSE1BQyBgYEtleVNwZWNgYCB2YWx1ZSBhbmQgYSBgYEtleVVzYWdlYGAgdmFsdWUgb2YgYGBHRU5FUkFURV9WRVJJRllfTUFDYGAuIEZvciBkZXRhaWxzLCBzZWUgW0hNQUMga2V5cyBpbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaG1hYy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiBhbHNvIGNyZWF0ZSBzeW1tZXRyaWMgZW5jcnlwdGlvbiwgYXN5bW1ldHJpYywgYW5kIEhNQUMgbXVsdGktUmVnaW9uIHByaW1hcnkga2V5cy4gVG8gY3JlYXRlIGEgbXVsdGktUmVnaW9uIHByaW1hcnkga2V5LCBzZXQgdGhlIGBgTXVsdGlSZWdpb25gYCBwcm9wZXJ0eSB0byBgYHRydWVgYC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IG11bHRpLVJlZ2lvbiBrZXlzLCBzZWUgW011bHRpLVJlZ2lvbiBrZXlzIGluXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1vdmVydmlldy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbm5vdCB1c2UgdGhlIGBgQVdTOjpLTVM6OktleWBgIHJlc291cmNlIHRvIHNwZWNpZnkgYSBLTVMga2V5IHdpdGggW2ltcG9ydGVkIGtleSBtYXRlcmlhbF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaW1wb3J0aW5nLWtleXMuaHRtbCkgb3IgYSBLTVMga2V5IGluIGEgW2N1c3RvbSBrZXkgc3RvcmVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2N1c3RvbS1rZXktc3RvcmUtb3ZlcnZpZXcuaHRtbCkuXG4gKiAgICpSZWdpb25zKiBcbiAqICBLTVMgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2VzIGFyZSBhdmFpbGFibGUgaW4gYWxsIFJlZ2lvbnMgaW4gd2hpY2ggS01TIGFuZCBDRk4gYXJlIHN1cHBvcnRlZC4gWW91IGNhbiB1c2UgdGhlIGBgQVdTOjpLTVM6OktleWBgIHJlc291cmNlIHRvIGNyZWF0ZSBhbmQgbWFuYWdlIGFsbCBLTVMga2V5IHR5cGVzIHRoYXQgYXJlIHN1cHBvcnRlZCBpbiBhIFJlZ2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0tNU19LRVkge1xuLyoqXG4gKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBLTVMga2V5LiBVc2UgYSBkZXNjcmlwdGlvbiB0aGF0IGhlbHBzIHlvdSB0byBkaXN0aW5ndWlzaCB0aGlzIEtNUyBrZXkgZnJvbSBvdGhlcnMgaW4gdGhlIGFjY291bnQsIHN1Y2ggYXMgaXRzIGludGVuZGVkIHVzZS5cbiAqL1xuRGVzY3JpcHRpb24/OiBzdHJpbmdcbi8qKlxuICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIEtNUyBrZXkgaXMgZW5hYmxlZC4gRGlzYWJsZWQgS01TIGtleXMgY2Fubm90IGJlIHVzZWQgaW4gY3J5cHRvZ3JhcGhpYyBvcGVyYXRpb25zLlxuICogIFdoZW4gYGBFbmFibGVkYGAgaXMgYGB0cnVlYGAsIHRoZSAqa2V5IHN0YXRlKiBvZiB0aGUgS01TIGtleSBpcyBgYEVuYWJsZWRgYC4gV2hlbiBgYEVuYWJsZWRgYCBpcyBgYGZhbHNlYGAsIHRoZSBrZXkgc3RhdGUgb2YgdGhlIEtNUyBrZXkgaXMgYGBEaXNhYmxlZGBgLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgYHRydWVgYC5cbiAqICBUaGUgYWN0dWFsIGtleSBzdGF0ZSBvZiB0aGUgS01TIGtleSBtaWdodCBiZSBhZmZlY3RlZCBieSBhY3Rpb25zIHRha2VuIG91dHNpZGUgb2YgQ2xvdWRGb3JtYXRpb24sIHN1Y2ggYXMgcnVubmluZyB0aGUgW0VuYWJsZUtleV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9FbmFibGVLZXkuaHRtbCksIFtEaXNhYmxlS2V5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rpc2FibGVLZXkuaHRtbCksIG9yIFtTY2hlZHVsZUtleURlbGV0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NjaGVkdWxlS2V5RGVsZXRpb24uaHRtbCkgb3BlcmF0aW9ucy5cbiAqICBGb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGtleSBzdGF0ZXMgb2YgYSBLTVMga2V5LCBzZWUgW0tleSBzdGF0ZTogRWZmZWN0IG9uIHlvdXIgS01TIGtleV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUva2V5LXN0YXRlLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqL1xuRW5hYmxlZD86IGJvb2xlYW5cbi8qKlxuICogRW5hYmxlcyBhdXRvbWF0aWMgcm90YXRpb24gb2YgdGhlIGtleSBtYXRlcmlhbCBmb3IgdGhlIHNwZWNpZmllZCBLTVMga2V5LiBCeSBkZWZhdWx0LCBhdXRvbWF0aWMga2V5IHJvdGF0aW9uIGlzIG5vdCBlbmFibGVkLlxuICogIEtNUyBzdXBwb3J0cyBhdXRvbWF0aWMgcm90YXRpb24gb25seSBmb3Igc3ltbWV0cmljIGVuY3J5cHRpb24gS01TIGtleXMgKGBgS2V5U3BlY2BgID0gYGBTWU1NRVRSSUNfREVGQVVMVGBgKS4gRm9yIGFzeW1tZXRyaWMgS01TIGtleXMsIEhNQUMgS01TIGtleXMsIGFuZCBLTVMga2V5cyB3aXRoIE9yaWdpbiBgYEVYVEVSTkFMYGAsIG9taXQgdGhlIGBgRW5hYmxlS2V5Um90YXRpb25gYCBwcm9wZXJ0eSBvciBzZXQgaXQgdG8gYGBmYWxzZWBgLlxuICogIFRvIGVuYWJsZSBhdXRvbWF0aWMga2V5IHJvdGF0aW9uIG9mIHRoZSBrZXkgbWF0ZXJpYWwgZm9yIGEgbXVsdGktUmVnaW9uIEtNUyBrZXksIHNldCBgYEVuYWJsZUtleVJvdGF0aW9uYGAgdG8gYGB0cnVlYGAgb24gdGhlIHByaW1hcnkga2V5IChjcmVhdGVkIGJ5IHVzaW5nIGBgQVdTOjpLTVM6OktleWBgKS4gS01TIGNvcGllcyB0aGUgcm90YXRpb24gc3RhdHVzIHRvIGFsbCByZXBsaWNhIGtleXMuIEZvciBkZXRhaWxzLCBzZWUgW1JvdGF0aW5nIG11bHRpLVJlZ2lvbiBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1tYW5hZ2UuaHRtbCNtdWx0aS1yZWdpb24tcm90YXRlKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgV2hlbiB5b3UgZW5hYmxlIGF1dG9tYXRpYyByb3RhdGlvbiwgS01TIGF1dG9tYXRpY2FsbHkgY3JlYXRlcyBuZXcga2V5IG1hdGVyaWFsIGZvciB0aGUgS01TIGtleSBvbmUgeWVhciBhZnRlciB0aGUgZW5hYmxlIGRhdGUgYW5kIGV2ZXJ5IHllYXIgdGhlcmVhZnRlci4gS01TIHJldGFpbnMgYWxsIGtleSBtYXRlcmlhbCB1bnRpbCB5b3UgZGVsZXRlIHRoZSBLTVMga2V5LiBGb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYXV0b21hdGljIGtleSByb3RhdGlvbiwgc2VlIFtSb3RhdGluZyBLTVMga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcm90YXRlLWtleXMuaHRtbCkgaW4gdGhlICpEZXZlbG9wZXIgR3VpZGUqLlxuICovXG5FbmFibGVLZXlSb3RhdGlvbj86IGJvb2xlYW5cbi8qKlxuICogVGhlIGtleSBwb2xpY3kgdG8gYXR0YWNoIHRvIHRoZSBLTVMga2V5LlxuICogIElmIHlvdSBwcm92aWRlIGEga2V5IHBvbGljeSwgaXQgbXVzdCBtZWV0IHRoZSBmb2xsb3dpbmcgY3JpdGVyaWE6XG4gKiAgICsgIFRoZSBrZXkgcG9saWN5IG11c3QgYWxsb3cgdGhlIGNhbGxlciB0byBtYWtlIGEgc3Vic2VxdWVudCBbUHV0S2V5UG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dEtleVBvbGljeS5odG1sKSByZXF1ZXN0IG9uIHRoZSBLTVMga2V5LiBUaGlzIHJlZHVjZXMgdGhlIHJpc2sgdGhhdCB0aGUgS01TIGtleSBiZWNvbWVzIHVubWFuYWdlYWJsZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbRGVmYXVsdCBrZXkgcG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9rZXktcG9saWNpZXMuaHRtbCNrZXktcG9saWN5LWRlZmF1bHQtYWxsb3ctcm9vdC1lbmFibGUtaWFtKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouIChUbyBvbWl0IHRoaXMgY29uZGl0aW9uLCBzZXQgYGBCeXBhc3NQb2xpY3lMb2Nrb3V0U2FmZXR5Q2hlY2tgYCB0byB0cnVlLilcbiAqICAgKyAgRWFjaCBzdGF0ZW1lbnQgaW4gdGhlIGtleSBwb2xpY3kgbXVzdCBjb250YWluIG9uZSBvciBtb3JlIHByaW5jaXBhbHMuIFRoZSBwcmluY2lwYWxzIGluIHRoZSBrZXkgcG9saWN5IG11c3QgZXhpc3QgYW5kIGJlIHZpc2libGUgdG8gS01TLiBXaGVuIHlvdSBjcmVhdGUgYSBuZXcgQVdTIHByaW5jaXBhbCAoZm9yIGV4YW1wbGUsIGFuIElBTSB1c2VyIG9yIHJvbGUpLCB5b3UgbWlnaHQgbmVlZCB0byBlbmZvcmNlIGEgZGVsYXkgYmVmb3JlIGluY2x1ZGluZyB0aGUgbmV3IHByaW5jaXBhbCBpbiBhIGtleSBwb2xpY3kgYmVjYXVzZSB0aGUgbmV3IHByaW5jaXBhbCBtaWdodCBub3QgYmUgaW1tZWRpYXRlbHkgdmlzaWJsZSB0byBLTVMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0NoYW5nZXMgdGhhdCBJIG1ha2UgYXJlIG5vdCBhbHdheXMgaW1tZWRpYXRlbHkgdmlzaWJsZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3Ryb3VibGVzaG9vdF9nZW5lcmFsLmh0bWwjdHJvdWJsZXNob290X2dlbmVyYWxfZXZlbnR1YWwtY29uc2lzdGVuY3kpIGluIHRoZSAqVXNlciBHdWlkZSouXG4gKiAgIFxuICogIElmIHlvdSBkbyBub3QgcHJvdmlkZSBhIGtleSBwb2xpY3ksIEtNUyBhdHRhY2hlcyBhIGRlZmF1bHQga2V5IHBvbGljeSB0byB0aGUgS01TIGtleS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbRGVmYXVsdCBrZXkgcG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9rZXktcG9saWNpZXMuaHRtbCNrZXktcG9saWN5LWRlZmF1bHQpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBBIGtleSBwb2xpY3kgZG9jdW1lbnQgY2FuIGluY2x1ZGUgb25seSB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6XG4gKiAgICsgIFByaW50YWJsZSBBU0NJSSBjaGFyYWN0ZXJzXG4gKiAgICsgIFByaW50YWJsZSBjaGFyYWN0ZXJzIGluIHRoZSBCYXNpYyBMYXRpbiBhbmQgTGF0aW4tMSBTdXBwbGVtZW50IGNoYXJhY3RlciBzZXRcbiAqICAgKyAgVGhlIHRhYiAoYGBcXHUwMDA5YGApLCBsaW5lIGZlZWQgKGBgXFx1MDAwQWBgKSwgYW5kIGNhcnJpYWdlIHJldHVybiAoYGBcXHUwMDBEYGApIHNwZWNpYWwgY2hhcmFjdGVyc1xuICogICBcbiAqICAqTWluaW11bSo6IGBgMWBgXG4gKiAgKk1heGltdW0qOiBgYDMyNzY4YGBcbiAqL1xuS2V5UG9saWN5PzogKHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59IHwgc3RyaW5nKVxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBbY3J5cHRvZ3JhcGhpYyBvcGVyYXRpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI2NyeXB0b2dyYXBoaWMtb3BlcmF0aW9ucykgZm9yIHdoaWNoIHlvdSBjYW4gdXNlIHRoZSBLTVMga2V5LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgYEVOQ1JZUFRfREVDUllQVGBgLiBUaGlzIHByb3BlcnR5IGlzIHJlcXVpcmVkIGZvciBhc3ltbWV0cmljIEtNUyBrZXlzIGFuZCBITUFDIEtNUyBrZXlzLiBZb3UgY2FuJ3QgY2hhbmdlIHRoZSBgYEtleVVzYWdlYGAgdmFsdWUgYWZ0ZXIgdGhlIEtNUyBrZXkgaXMgY3JlYXRlZC5cbiAqICAgSWYgeW91IGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlIGBgS2V5VXNhZ2VgYCBwcm9wZXJ0eSBvbiBhbiBleGlzdGluZyBLTVMga2V5LCB0aGUgdXBkYXRlIHJlcXVlc3QgZmFpbHMsIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoZSBbVXBkYXRlUmVwbGFjZVBvbGljeSBhdHRyaWJ1dGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1hdHRyaWJ1dGUtdXBkYXRlcmVwbGFjZXBvbGljeS5odG1sKS4gVGhpcyBwcmV2ZW50cyB5b3UgZnJvbSBhY2NpZGVudGFsbHkgZGVsZXRpbmcgYSBLTVMga2V5IGJ5IGNoYW5naW5nIGFuIGltbXV0YWJsZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqICAgU2VsZWN0IG9ubHkgb25lIHZhbGlkIHZhbHVlLlxuICogICArICBGb3Igc3ltbWV0cmljIGVuY3J5cHRpb24gS01TIGtleXMsIG9taXQgdGhlIHBhcmFtZXRlciBvciBzcGVjaWZ5IGBgRU5DUllQVF9ERUNSWVBUYGAuXG4gKiAgICsgIEZvciBITUFDIEtNUyBrZXlzIChzeW1tZXRyaWMpLCBzcGVjaWZ5IGBgR0VORVJBVEVfVkVSSUZZX01BQ2BgLlxuICogICArICBGb3IgYXN5bW1ldHJpYyBLTVMga2V5cyB3aXRoIFJTQSBrZXkgcGFpcnMsIHNwZWNpZnkgYGBFTkNSWVBUX0RFQ1JZUFRgYCBvciBgYFNJR05fVkVSSUZZYGAuXG4gKiAgICsgIEZvciBhc3ltbWV0cmljIEtNUyBrZXlzIHdpdGggTklTVC1yZWNvbW1lbmRlZCBlbGxpcHRpYyBjdXJ2ZSBrZXkgcGFpcnMsIHNwZWNpZnkgYGBTSUdOX1ZFUklGWWBgIG9yIGBgS0VZX0FHUkVFTUVOVGBgLlxuICogICArICBGb3IgYXN5bW1ldHJpYyBLTVMga2V5cyB3aXRoIGBgRUNDX1NFQ0dfUDI1NksxYGAga2V5IHBhaXJzIHNwZWNpZnkgYGBTSUdOX1ZFUklGWWBgLlxuICogICArICBGb3IgYXN5bW1ldHJpYyBLTVMga2V5cyB3aXRoIFNNMiBrZXkgcGFpcnMgKENoaW5hIFJlZ2lvbnMgb25seSksIHNwZWNpZnkgYGBFTkNSWVBUX0RFQ1JZUFRgYCwgYGBTSUdOX1ZFUklGWWBgLCBvciBgYEtFWV9BR1JFRU1FTlRgYC5cbiAqL1xuS2V5VXNhZ2U/OiAoXCJFTkNSWVBUX0RFQ1JZUFRcIiB8IFwiU0lHTl9WRVJJRllcIiB8IFwiR0VORVJBVEVfVkVSSUZZX01BQ1wiIHwgXCJLRVlfQUdSRUVNRU5UXCIpXG4vKipcbiAqIFRoZSBzb3VyY2Ugb2YgdGhlIGtleSBtYXRlcmlhbCBmb3IgdGhlIEtNUyBrZXkuIFlvdSBjYW5ub3QgY2hhbmdlIHRoZSBvcmlnaW4gYWZ0ZXIgeW91IGNyZWF0ZSB0aGUgS01TIGtleS4gVGhlIGRlZmF1bHQgaXMgYGBBV1NfS01TYGAsIHdoaWNoIG1lYW5zIHRoYXQgS01TIGNyZWF0ZXMgdGhlIGtleSBtYXRlcmlhbC5cbiAqICBUbyBbY3JlYXRlIGEgS01TIGtleSB3aXRoIG5vIGtleSBtYXRlcmlhbF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaW1wb3J0aW5nLWtleXMtY3JlYXRlLWNtay5odG1sKSAoZm9yIGltcG9ydGVkIGtleSBtYXRlcmlhbCksIHNldCB0aGlzIHZhbHVlIHRvIGBgRVhURVJOQUxgYC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgaW1wb3J0aW5nIGtleSBtYXRlcmlhbCBpbnRvIEtNUywgc2VlIFtJbXBvcnRpbmcgS2V5IE1hdGVyaWFsXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9pbXBvcnRpbmcta2V5cy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiBpZ25vcmUgYGBFTkFCTEVEYGAgd2hlbiBPcmlnaW4gaXMgYGBFWFRFUk5BTGBgLiBXaGVuIGEgS01TIGtleSB3aXRoIE9yaWdpbiBgYEVYVEVSTkFMYGAgaXMgY3JlYXRlZCwgdGhlIGtleSBzdGF0ZSBpcyBgYFBFTkRJTkdfSU1QT1JUYGAgYW5kIGBgRU5BQkxFRGBgIGlzIGBgZmFsc2VgYC4gQWZ0ZXIgeW91IGltcG9ydCB0aGUga2V5IG1hdGVyaWFsLCBgYEVOQUJMRURgYCB1cGRhdGVkIHRvIGBgdHJ1ZWBgLiBUaGUgS01TIGtleSBjYW4gdGhlbiBiZSB1c2VkIGZvciBDcnlwdG9ncmFwaGljIE9wZXJhdGlvbnMuIFxuICogICBDRk4gZG9lc24ndCBzdXBwb3J0IGNyZWF0aW5nIGFuIGBgT3JpZ2luYGAgcGFyYW1ldGVyIG9mIHRoZSBgYEFXU19DTE9VREhTTWBgIG9yIGBgRVhURVJOQUxfS0VZX1NUT1JFYGAgdmFsdWVzLlxuICovXG5PcmlnaW4/OiAoXCJBV1NfS01TXCIgfCBcIkVYVEVSTkFMXCIpXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBLTVMga2V5IHRvIGNyZWF0ZS4gVGhlIGRlZmF1bHQgdmFsdWUsIGBgU1lNTUVUUklDX0RFRkFVTFRgYCwgY3JlYXRlcyBhIEtNUyBrZXkgd2l0aCBhIDI1Ni1iaXQgc3ltbWV0cmljIGtleSBmb3IgZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbi4gSW4gQ2hpbmEgUmVnaW9ucywgYGBTWU1NRVRSSUNfREVGQVVMVGBgIGNyZWF0ZXMgYSAxMjgtYml0IHN5bW1ldHJpYyBrZXkgdGhhdCB1c2VzIFNNNCBlbmNyeXB0aW9uLiBZb3UgY2FuJ3QgY2hhbmdlIHRoZSBgYEtleVNwZWNgYCB2YWx1ZSBhZnRlciB0aGUgS01TIGtleSBpcyBjcmVhdGVkLiBGb3IgaGVscCBjaG9vc2luZyBhIGtleSBzcGVjIGZvciB5b3VyIEtNUyBrZXksIHNlZSBbQ2hvb3NpbmcgYSBLTVMga2V5IHR5cGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3N5bW0tYXN5bW0tY2hvb3NlLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBUaGUgYGBLZXlTcGVjYGAgcHJvcGVydHkgZGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiBrZXkgbWF0ZXJpYWwgaW4gdGhlIEtNUyBrZXkgYW5kIHRoZSBhbGdvcml0aG1zIHRoYXQgdGhlIEtNUyBrZXkgc3VwcG9ydHMuIFRvIGZ1cnRoZXIgcmVzdHJpY3QgdGhlIGFsZ29yaXRobXMgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBLTVMga2V5LCB1c2UgYSBjb25kaXRpb24ga2V5IGluIGl0cyBrZXkgcG9saWN5IG9yIElBTSBwb2xpY3kuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW2NvbmRpdGlvbiBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9wb2xpY3ktY29uZGl0aW9ucy5odG1sI2NvbmRpdGlvbnMta21zKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgIElmIHlvdSBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoZSBgYEtleVNwZWNgYCBwcm9wZXJ0eSBvbiBhbiBleGlzdGluZyBLTVMga2V5LCB0aGUgdXBkYXRlIHJlcXVlc3QgZmFpbHMsIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoZSBbVXBkYXRlUmVwbGFjZVBvbGljeSBhdHRyaWJ1dGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1hdHRyaWJ1dGUtdXBkYXRlcmVwbGFjZXBvbGljeS5odG1sKS4gVGhpcyBwcmV2ZW50cyB5b3UgZnJvbSBhY2NpZGVudGFsbHkgZGVsZXRpbmcgYSBLTVMga2V5IGJ5IGNoYW5naW5nIGFuIGltbXV0YWJsZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqICAgIFtzZXJ2aWNlcyB0aGF0IGFyZSBpbnRlZ3JhdGVkIHdpdGhdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvZmVhdHVyZXMvI0FXU19TZXJ2aWNlX0ludGVncmF0aW9uKSB1c2Ugc3ltbWV0cmljIGVuY3J5cHRpb24gS01TIGtleXMgdG8gcHJvdGVjdCB5b3VyIGRhdGEuIFRoZXNlIHNlcnZpY2VzIGRvIG5vdCBzdXBwb3J0IGVuY3J5cHRpb24gd2l0aCBhc3ltbWV0cmljIEtNUyBrZXlzLiBGb3IgaGVscCBkZXRlcm1pbmluZyB3aGV0aGVyIGEgS01TIGtleSBpcyBhc3ltbWV0cmljLCBzZWUgW0lkZW50aWZ5aW5nIGFzeW1tZXRyaWMgS01TIGtleXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2ZpbmQtc3ltbS1hc3ltbS5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgIEtNUyBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGtleSBzcGVjcyBmb3IgS01TIGtleXM6XG4gKiAgICsgIFN5bW1ldHJpYyBlbmNyeXB0aW9uIGtleSAoZGVmYXVsdClcbiAqICAgKyAgYGBTWU1NRVRSSUNfREVGQVVMVGBgIChBRVMtMjU2LUdDTSlcbiAqICAgXG4gKiAgICsgIEhNQUMga2V5cyAoc3ltbWV0cmljKVxuICogICArICAgYGBITUFDXzIyNGBgIFxuICogICArICAgYGBITUFDXzI1NmBgIFxuICogICArICAgYGBITUFDXzM4NGBgIFxuICogICArICAgYGBITUFDXzUxMmBgIFxuICogICBcbiAqICAgKyAgQXN5bW1ldHJpYyBSU0Ega2V5IHBhaXJzIChlbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uICpvciogc2lnbmluZyBhbmQgdmVyaWZpY2F0aW9uKVxuICogICArICAgYGBSU0FfMjA0OGBgIFxuICogICArICAgYGBSU0FfMzA3MmBgIFxuICogICArICAgYGBSU0FfNDA5NmBgIFxuICogICBcbiAqICAgKyAgQXN5bW1ldHJpYyBOSVNULXJlY29tbWVuZGVkIGVsbGlwdGljIGN1cnZlIGtleSBwYWlycyAoc2lnbmluZyBhbmQgdmVyaWZpY2F0aW9uICpvciogZGVyaXZpbmcgc2hhcmVkIHNlY3JldHMpXG4gKiAgICsgIGBgRUNDX05JU1RfUDI1NmBgIChzZWNwMjU2cjEpXG4gKiAgICsgIGBgRUNDX05JU1RfUDM4NGBgIChzZWNwMzg0cjEpXG4gKiAgICsgIGBgRUNDX05JU1RfUDUyMWBgIChzZWNwNTIxcjEpXG4gKiAgIFxuICogICArICBPdGhlciBhc3ltbWV0cmljIGVsbGlwdGljIGN1cnZlIGtleSBwYWlycyAoc2lnbmluZyBhbmQgdmVyaWZpY2F0aW9uKVxuICogICArICBgYEVDQ19TRUNHX1AyNTZLMWBgIChzZWNwMjU2azEpLCBjb21tb25seSB1c2VkIGZvciBjcnlwdG9jdXJyZW5jaWVzLlxuICogICBcbiAqICAgKyAgU00yIGtleSBwYWlycyAoZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiAqb3IqIHNpZ25pbmcgYW5kIHZlcmlmaWNhdGlvbiAqb3IqIGRlcml2aW5nIHNoYXJlZCBzZWNyZXRzKVxuICogICArICBgYFNNMmBgIChDaGluYSBSZWdpb25zIG9ubHkpXG4gKi9cbktleVNwZWM/OiAoXCJTWU1NRVRSSUNfREVGQVVMVFwiIHwgXCJSU0FfMjA0OFwiIHwgXCJSU0FfMzA3MlwiIHwgXCJSU0FfNDA5NlwiIHwgXCJFQ0NfTklTVF9QMjU2XCIgfCBcIkVDQ19OSVNUX1AzODRcIiB8IFwiRUNDX05JU1RfUDUyMVwiIHwgXCJFQ0NfU0VDR19QMjU2SzFcIiB8IFwiSE1BQ18yMjRcIiB8IFwiSE1BQ18yNTZcIiB8IFwiSE1BQ18zODRcIiB8IFwiSE1BQ181MTJcIiB8IFwiU00yXCIgfCBcIk1MX0RTQV80NFwiIHwgXCJNTF9EU0FfNjVcIiB8IFwiTUxfRFNBXzg3XCIpXG4vKipcbiAqIENyZWF0ZXMgYSBtdWx0aS1SZWdpb24gcHJpbWFyeSBrZXkgdGhhdCB5b3UgY2FuIHJlcGxpY2F0ZSBpbiBvdGhlciBBV1MtUmVnaW9ucy4gWW91IGNhbid0IGNoYW5nZSB0aGUgYGBNdWx0aVJlZ2lvbmBgIHZhbHVlIGFmdGVyIHRoZSBLTVMga2V5IGlzIGNyZWF0ZWQuXG4gKiAgRm9yIGEgbGlzdCBvZiBBV1MtUmVnaW9ucyBpbiB3aGljaCBtdWx0aS1SZWdpb24ga2V5cyBhcmUgc3VwcG9ydGVkLCBzZWUgW011bHRpLVJlZ2lvbiBrZXlzIGluXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1vdmVydmlldy5odG1sKSBpbiB0aGUgKiouXG4gKiAgIElmIHlvdSBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoZSBgYE11bHRpUmVnaW9uYGAgcHJvcGVydHkgb24gYW4gZXhpc3RpbmcgS01TIGtleSwgdGhlIHVwZGF0ZSByZXF1ZXN0IGZhaWxzLCByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiB0aGUgW1VwZGF0ZVJlcGxhY2VQb2xpY3kgYXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtYXR0cmlidXRlLXVwZGF0ZXJlcGxhY2Vwb2xpY3kuaHRtbCkuIFRoaXMgcHJldmVudHMgeW91IGZyb20gYWNjaWRlbnRhbGx5IGRlbGV0aW5nIGEgS01TIGtleSBieSBjaGFuZ2luZyBhbiBpbW11dGFibGUgcHJvcGVydHkgdmFsdWUuXG4gKiAgIEZvciBhIG11bHRpLVJlZ2lvbiBrZXksIHNldCB0byB0aGlzIHByb3BlcnR5IHRvIGBgdHJ1ZWBgLiBGb3IgYSBzaW5nbGUtUmVnaW9uIGtleSwgb21pdCB0aGlzIHByb3BlcnR5IG9yIHNldCBpdCB0byBgYGZhbHNlYGAuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBgZmFsc2VgYC5cbiAqICAqTXVsdGktUmVnaW9uIGtleXMqIGFyZSBhbiBLTVMgZmVhdHVyZSB0aGF0IGxldHMgeW91IGNyZWF0ZSBtdWx0aXBsZSBpbnRlcm9wZXJhYmxlIEtNUyBrZXlzIGluIGRpZmZlcmVudCBBV1MtUmVnaW9ucy4gQmVjYXVzZSB0aGVzZSBLTVMga2V5cyBoYXZlIHRoZSBzYW1lIGtleSBJRCwga2V5IG1hdGVyaWFsLCBhbmQgb3RoZXIgbWV0YWRhdGEsIHlvdSBjYW4gdXNlIHRoZW0gdG8gZW5jcnlwdCBkYXRhIGluIG9uZSBBV1MtUmVnaW9uIGFuZCBkZWNyeXB0IGl0IGluIGEgZGlmZmVyZW50IEFXUy1SZWdpb24gd2l0aG91dCBtYWtpbmcgYSBjcm9zcy1SZWdpb24gY2FsbCBvciBleHBvc2luZyB0aGUgcGxhaW50ZXh0IGRhdGEuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW011bHRpLVJlZ2lvbiBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tdWx0aS1yZWdpb24ta2V5cy1vdmVydmlldy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKiAgWW91IGNhbiBjcmVhdGUgYSBzeW1tZXRyaWMgZW5jcnlwdGlvbiwgSE1BQywgb3IgYXN5bW1ldHJpYyBtdWx0aS1SZWdpb24gS01TIGtleSwgYW5kIHlvdSBjYW4gY3JlYXRlIGEgbXVsdGktUmVnaW9uIGtleSB3aXRoIGltcG9ydGVkIGtleSBtYXRlcmlhbC4gSG93ZXZlciwgeW91IGNhbm5vdCBjcmVhdGUgYSBtdWx0aS1SZWdpb24ga2V5IGluIGEgY3VzdG9tIGtleSBzdG9yZS5cbiAqICBUbyBjcmVhdGUgYSByZXBsaWNhIG9mIHRoaXMgcHJpbWFyeSBrZXkgaW4gYSBkaWZmZXJlbnQgQVdTLVJlZ2lvbiAsIGNyZWF0ZSBhbiBbQVdTOjpLTVM6OlJlcGxpY2FLZXldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1rbXMtcmVwbGljYWtleS5odG1sKSByZXNvdXJjZSBpbiBhIENsb3VkRm9ybWF0aW9uIHN0YWNrIGluIHRoZSByZXBsaWNhIFJlZ2lvbi4gU3BlY2lmeSB0aGUga2V5IEFSTiBvZiB0aGlzIHByaW1hcnkga2V5LlxuICovXG5NdWx0aVJlZ2lvbj86IGJvb2xlYW5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGUgd2FpdGluZyBwZXJpb2QgYmVmb3JlIEtNUyBkZWxldGVzIGEgS01TIGtleSB0aGF0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBhIENsb3VkRm9ybWF0aW9uIHN0YWNrLiBFbnRlciBhIHZhbHVlIGJldHdlZW4gNyBhbmQgMzAgZGF5cy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMzAgZGF5cy5cbiAqICBXaGVuIHlvdSByZW1vdmUgYSBLTVMga2V5IGZyb20gYSBDbG91ZEZvcm1hdGlvbiBzdGFjaywgS01TIHNjaGVkdWxlcyB0aGUgS01TIGtleSBmb3IgZGVsZXRpb24gYW5kIHN0YXJ0cyB0aGUgbWFuZGF0b3J5IHdhaXRpbmcgcGVyaW9kLiBUaGUgYGBQZW5kaW5nV2luZG93SW5EYXlzYGAgcHJvcGVydHkgZGV0ZXJtaW5lcyB0aGUgbGVuZ3RoIG9mIHdhaXRpbmcgcGVyaW9kLiBEdXJpbmcgdGhlIHdhaXRpbmcgcGVyaW9kLCB0aGUga2V5IHN0YXRlIG9mIEtNUyBrZXkgaXMgYGBQZW5kaW5nIERlbGV0aW9uYGAgb3IgYGBQZW5kaW5nIFJlcGxpY2EgRGVsZXRpb25gYCwgd2hpY2ggcHJldmVudHMgdGhlIEtNUyBrZXkgZnJvbSBiZWluZyB1c2VkIGluIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9ucy4gV2hlbiB0aGUgd2FpdGluZyBwZXJpb2QgZXhwaXJlcywgS01TIHBlcm1hbmVudGx5IGRlbGV0ZXMgdGhlIEtNUyBrZXkuXG4gKiAgS01TIHdpbGwgbm90IGRlbGV0ZSBhIFttdWx0aS1SZWdpb24gcHJpbWFyeSBrZXldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL211bHRpLXJlZ2lvbi1rZXlzLW92ZXJ2aWV3Lmh0bWwpIHRoYXQgaGFzIHJlcGxpY2Ega2V5cy4gSWYgeW91IHJlbW92ZSBhIG11bHRpLVJlZ2lvbiBwcmltYXJ5IGtleSBmcm9tIGEgQ2xvdWRGb3JtYXRpb24gc3RhY2ssIGl0cyBrZXkgc3RhdGUgY2hhbmdlcyB0byBgYFBlbmRpbmdSZXBsaWNhRGVsZXRpb25gYCBzbyBpdCBjYW5ub3QgYmUgcmVwbGljYXRlZCBvciB1c2VkIGluIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9ucy4gVGhpcyBzdGF0ZSBjYW4gcGVyc2lzdCBpbmRlZmluaXRlbHkuIFdoZW4gdGhlIGxhc3Qgb2YgaXRzIHJlcGxpY2Ega2V5cyBpcyBkZWxldGVkLCB0aGUga2V5IHN0YXRlIG9mIHRoZSBwcmltYXJ5IGtleSBjaGFuZ2VzIHRvIGBgUGVuZGluZ0RlbGV0aW9uYGAgYW5kIHRoZSB3YWl0aW5nIHBlcmlvZCBzcGVjaWZpZWQgYnkgYGBQZW5kaW5nV2luZG93SW5EYXlzYGAgYmVnaW5zLiBXaGVuIHRoaXMgd2FpdGluZyBwZXJpb2QgZXhwaXJlcywgS01TIGRlbGV0ZXMgdGhlIHByaW1hcnkga2V5LiBGb3IgZGV0YWlscywgc2VlIFtEZWxldGluZyBtdWx0aS1SZWdpb24ga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbXVsdGktcmVnaW9uLWtleXMtZGVsZXRlLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBZb3UgY2Fubm90IHVzZSBhIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIHRvIGNhbmNlbCBkZWxldGlvbiBvZiB0aGUgS01TIGtleSBhZnRlciB5b3UgcmVtb3ZlIGl0IGZyb20gdGhlIHN0YWNrLCByZWdhcmRsZXNzIG9mIHRoZSB3YWl0aW5nIHBlcmlvZC4gSWYgeW91IHNwZWNpZnkgYSBLTVMga2V5IGluIHlvdXIgdGVtcGxhdGUsIGV2ZW4gb25lIHdpdGggdGhlIHNhbWUgbmFtZSwgQ2xvdWRGb3JtYXRpb24gY3JlYXRlcyBhIG5ldyBLTVMga2V5LiBUbyBjYW5jZWwgZGVsZXRpb24gb2YgYSBLTVMga2V5LCB1c2UgdGhlIEtNUyBjb25zb2xlIG9yIHRoZSBbQ2FuY2VsS2V5RGVsZXRpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ2FuY2VsS2V5RGVsZXRpb24uaHRtbCkgb3BlcmF0aW9uLlxuICogIEZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGBQZW5kaW5nIERlbGV0aW9uYGAgYW5kIGBgUGVuZGluZyBSZXBsaWNhIERlbGV0aW9uYGAga2V5IHN0YXRlcywgc2VlIFtLZXkgc3RhdGU6IEVmZmVjdCBvbiB5b3VyIEtNUyBrZXldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2tleS1zdGF0ZS5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGRlbGV0aW5nIEtNUyBrZXlzLCBzZWUgdGhlIFtTY2hlZHVsZUtleURlbGV0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NjaGVkdWxlS2V5RGVsZXRpb24uaHRtbCkgb3BlcmF0aW9uIGluIHRoZSAqQVBJIFJlZmVyZW5jZSogYW5kIFtEZWxldGluZyBLTVMga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZGVsZXRpbmcta2V5cy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKi9cblBlbmRpbmdXaW5kb3dJbkRheXM/OiBudW1iZXJcbi8qKlxuICogQXNzaWducyBvbmUgb3IgbW9yZSB0YWdzIHRvIHRoZSByZXBsaWNhIGtleS5cbiAqICAgVGFnZ2luZyBvciB1bnRhZ2dpbmcgYSBLTVMga2V5IGNhbiBhbGxvdyBvciBkZW55IHBlcm1pc3Npb24gdG8gdGhlIEtNUyBrZXkuIEZvciBkZXRhaWxzLCBzZWUgW0FCQUMgZm9yXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9hYmFjLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICAgRm9yIGluZm9ybWF0aW9uIGFib3V0IHRhZ3MgaW4gS01TLCBzZWUgW1RhZ2dpbmcga2V5c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2ttcy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdGFnZ2luZy1rZXlzLmh0bWwpIGluIHRoZSAqRGV2ZWxvcGVyIEd1aWRlKi4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRhZ3MgaW4gQ2xvdWRGb3JtYXRpb24sIHNlZSBbVGFnXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1yZXNvdXJjZS10YWdzLmh0bWwpLlxuICovXG5UYWdzPzogVGFnW11cbkFybj86IHN0cmluZ1xuS2V5SWQ/OiBzdHJpbmdcbi8qKlxuICogU2tpcHMgKFwiYnlwYXNzZXNcIikgdGhlIGtleSBwb2xpY3kgbG9ja291dCBzYWZldHkgY2hlY2suIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICogICBTZXR0aW5nIHRoaXMgdmFsdWUgdG8gdHJ1ZSBpbmNyZWFzZXMgdGhlIHJpc2sgdGhhdCB0aGUgS01TIGtleSBiZWNvbWVzIHVubWFuYWdlYWJsZS4gRG8gbm90IHNldCB0aGlzIHZhbHVlIHRvIHRydWUgaW5kaXNjcmltaW5hdGVseS5cbiAqICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtEZWZhdWx0IGtleSBwb2xpY3ldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2tleS1wb2xpY3ktZGVmYXVsdC5odG1sI3ByZXZlbnQtdW5tYW5hZ2VhYmxlLWtleSkgaW4gdGhlICpEZXZlbG9wZXIgR3VpZGUqLlxuICogICBVc2UgdGhpcyBwYXJhbWV0ZXIgb25seSB3aGVuIHlvdSBpbnRlbmQgdG8gcHJldmVudCB0aGUgcHJpbmNpcGFsIHRoYXQgaXMgbWFraW5nIHRoZSByZXF1ZXN0IGZyb20gbWFraW5nIGEgc3Vic2VxdWVudCBbUHV0S2V5UG9saWN5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dEtleVBvbGljeS5odG1sKSByZXF1ZXN0IG9uIHRoZSBLTVMga2V5LlxuICovXG5CeXBhc3NQb2xpY3lMb2Nrb3V0U2FmZXR5Q2hlY2s/OiBib29sZWFuXG4vKipcbiAqIFNwZWNpZmllcyBhIGN1c3RvbSBwZXJpb2Qgb2YgdGltZSBiZXR3ZWVuIGVhY2ggcm90YXRpb24gZGF0ZS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAzNjUgZGF5cy5cbiAqICBUaGUgcm90YXRpb24gcGVyaW9kIGRlZmluZXMgdGhlIG51bWJlciBvZiBkYXlzIGFmdGVyIHlvdSBlbmFibGUgYXV0b21hdGljIGtleSByb3RhdGlvbiB0aGF0IEtNUyB3aWxsIHJvdGF0ZSB5b3VyIGtleSBtYXRlcmlhbCwgYW5kIHRoZSBudW1iZXIgb2YgZGF5cyBiZXR3ZWVuIGVhY2ggYXV0b21hdGljIHJvdGF0aW9uIHRoZXJlYWZ0ZXIuXG4gKiAgWW91IGNhbiB1c2UgdGhlIFtrbXM6Um90YXRpb25QZXJpb2RJbkRheXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2NvbmRpdGlvbnMta21zLmh0bWwjY29uZGl0aW9ucy1rbXMtcm90YXRpb24tcGVyaW9kLWluLWRheXMpIGNvbmRpdGlvbiBrZXkgdG8gZnVydGhlciBjb25zdHJhaW4gdGhlIHZhbHVlcyB0aGF0IHByaW5jaXBhbHMgY2FuIHNwZWNpZnkgaW4gdGhlIGBgUm90YXRpb25QZXJpb2RJbkRheXNgYCBwYXJhbWV0ZXIuXG4gKiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgcm90YXRpbmcgS01TIGtleXMgYW5kIGF1dG9tYXRpYyByb3RhdGlvbiwgc2VlIFtSb3RhdGluZyBrZXlzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yb3RhdGUta2V5cy5odG1sKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKi9cblJvdGF0aW9uUGVyaW9kSW5EYXlzPzogbnVtYmVyXG59XG4vKipcbiAqIEEga2V5LXZhbHVlIHBhaXIuIEEgdGFnIGNvbnNpc3RzIG9mIGEgdGFnIGtleSBhbmQgYSB0YWcgdmFsdWUuIFRhZyBrZXlzIGFuZCB0YWcgdmFsdWVzIGFyZSBib3RoIHJlcXVpcmVkLCBidXQgdGFnIHZhbHVlcyBjYW4gYmUgZW1wdHkgKG51bGwpIHN0cmluZ3MuXG4gKiAgIERvIG5vdCBpbmNsdWRlIGNvbmZpZGVudGlhbCBvciBzZW5zaXRpdmUgaW5mb3JtYXRpb24gaW4gdGhpcyBmaWVsZC4gVGhpcyBmaWVsZCBtYXkgYmUgZGlzcGxheWVkIGluIHBsYWludGV4dCBpbiBDbG91ZFRyYWlsIGxvZ3MgYW5kIG90aGVyIG91dHB1dC5cbiAqICAgRm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBydWxlcyB0aGF0IGFwcGx5IHRvIHRhZyBrZXlzIGFuZCB0YWcgdmFsdWVzLCBzZWUgW1VzZXItRGVmaW5lZCBUYWcgUmVzdHJpY3Rpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzYWNjb3VudGJpbGxpbmcvbGF0ZXN0L2Fib3V0djIvYWxsb2NhdGlvbi10YWctcmVzdHJpY3Rpb25zLmh0bWwpIGluIHRoZSAqQmlsbGluZyBhbmQgQ29zdCBNYW5hZ2VtZW50IFVzZXIgR3VpZGUqLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG4vKipcbiAqIFRoZSBrZXkgbmFtZSBvZiB0aGUgdGFnLiBZb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSB0aGF0J3MgMSB0byAxMjggVW5pY29kZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCBhbmQgY2FuJ3QgYmUgcHJlZml4ZWQgd2l0aCBgYGF3czpgYC4gZGlnaXRzLCB3aGl0ZXNwYWNlLCBgYF9gYCwgYGAuYGAsIGBgOmBgLCBgYC9gYCwgYGA9YGAsIGBgK2BgLCBgYEBgYCwgYGAtYGAsIGFuZCBgYFwiYGAuXG4gKiAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbVGFnXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1yZXNvdXJjZS10YWdzLmh0bWwpLlxuICovXG5LZXk6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdmFsdWUgZm9yIHRoZSB0YWcuIFlvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIHRoYXQncyAxIHRvIDI1NiBjaGFyYWN0ZXJzIGluIGxlbmd0aC4gWW91IGNhbiB1c2UgYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogdGhlIHNldCBvZiBVbmljb2RlIGxldHRlcnMsIGRpZ2l0cywgd2hpdGVzcGFjZSwgYGBfYGAsIGBgLmBgLCBgYC9gYCwgYGA9YGAsIGBgK2BgLCBhbmQgYGAtYGAuXG4gKiAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbVGFnXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1yZXNvdXJjZS10YWdzLmh0bWwpLlxuICovXG5WYWx1ZTogc3RyaW5nXG59XG4iXX0=
@@ -236,42 +236,23 @@ export interface AmazonManagedKafkaEventSourceConfig {
236
236
  SchemaRegistryConfig?: SchemaRegistryConfig;
237
237
  }
238
238
  export interface SchemaRegistryConfig {
239
- /**
240
- * The URI for your schema registry. The correct URI format depends on the type of schema registry you're using.
241
- */
242
239
  SchemaRegistryURI?: string;
243
- /**
244
- * The record format that Lambda delivers to your function after schema validation.
245
- */
246
240
  EventRecordFormat?: ("JSON" | "SOURCE");
247
241
  /**
248
- * An array of access configuration objects that tell Lambda how to authenticate with your schema registry.
249
- *
250
242
  * @maxItems 2
251
243
  */
252
244
  AccessConfigs?: SchemaRegistryAccessConfig[];
253
245
  /**
254
- * An array of schema validation configuration objects, which tell Lambda the message attributes you want to validate and filter using your schema registry.
255
- *
256
246
  * @minItems 1
257
247
  * @maxItems 2
258
248
  */
259
249
  SchemaValidationConfigs?: SchemaValidationConfig[];
260
250
  }
261
251
  export interface SchemaRegistryAccessConfig {
262
- /**
263
- * The type of authentication Lambda uses to access your schema registry.
264
- */
265
252
  Type?: ("BASIC_AUTH" | "CLIENT_CERTIFICATE_TLS_AUTH" | "SERVER_ROOT_CA_CERTIFICATE");
266
- /**
267
- * The URI of the secret (Secrets Manager secret ARN) to authenticate with your schema registry.
268
- */
269
253
  URI?: string;
270
254
  }
271
255
  export interface SchemaValidationConfig {
272
- /**
273
- * The attribute you want your schema registry to validate and filter for.
274
- */
275
256
  Attribute?: ("KEY" | "VALUE");
276
257
  }
277
258
  /**
@@ -285,23 +266,13 @@ export interface SelfManagedKafkaEventSourceConfig {
285
266
  SchemaRegistryConfig?: SchemaRegistryConfig1;
286
267
  }
287
268
  export interface SchemaRegistryConfig1 {
288
- /**
289
- * The URI for your schema registry. The correct URI format depends on the type of schema registry you're using.
290
- */
291
269
  SchemaRegistryURI?: string;
292
- /**
293
- * The record format that Lambda delivers to your function after schema validation.
294
- */
295
270
  EventRecordFormat?: ("JSON" | "SOURCE");
296
271
  /**
297
- * An array of access configuration objects that tell Lambda how to authenticate with your schema registry.
298
- *
299
272
  * @maxItems 2
300
273
  */
301
274
  AccessConfigs?: SchemaRegistryAccessConfig[];
302
275
  /**
303
- * An array of schema validation configuration objects, which tell Lambda the message attributes you want to validate and filter using your schema registry.
304
- *
305
276
  * @minItems 1
306
277
  * @maxItems 2
307
278
  */
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWxhbWJkYS1ldmVudHNvdXJjZW1hcHBpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtbGFtYmRhLWV2ZW50c291cmNlbWFwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgYGBBV1M6OkxhbWJkYTo6RXZlbnRTb3VyY2VNYXBwaW5nYGAgcmVzb3VyY2UgY3JlYXRlcyBhIG1hcHBpbmcgYmV0d2VlbiBhbiBldmVudCBzb3VyY2UgYW5kIGFuIExBTWxvbmcgZnVuY3Rpb24uIExBTSByZWFkcyBpdGVtcyBmcm9tIHRoZSBldmVudCBzb3VyY2UgYW5kIHRyaWdnZXJzIHRoZSBmdW5jdGlvbi5cbiAqICBGb3IgZGV0YWlscyBhYm91dCBlYWNoIGV2ZW50IHNvdXJjZSB0eXBlLCBzZWUgdGhlIGZvbGxvd2luZyB0b3BpY3MuIEluIHBhcnRpY3VsYXIsIGVhY2ggb2YgdGhlIHRvcGljcyBkZXNjcmliZXMgdGhlIHJlcXVpcmVkIGFuZCBvcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgc3BlY2lmaWMgZXZlbnQgc291cmNlLiBcbiAqICAgKyAgIFtDb25maWd1cmluZyBhIER5bmFtbyBEQiBzdHJlYW0gYXMgYW4gZXZlbnQgc291cmNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLWRkYi5odG1sI3NlcnZpY2VzLWR5bmFtb2RiLWV2ZW50c291cmNlbWFwcGluZykgXG4gKiAgICsgICBbQ29uZmlndXJpbmcgYSBLaW5lc2lzIHN0cmVhbSBhcyBhbiBldmVudCBzb3VyY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgta2luZXNpcy5odG1sI3NlcnZpY2VzLWtpbmVzaXMtZXZlbnRzb3VyY2VtYXBwaW5nKSBcbiAqICAgKyAgIFtDb25maWd1cmluZyBhbiBTUVMgcXVldWUgYXMgYW4gZXZlbnQgc291cmNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLXNxcy5odG1sI2V2ZW50cy1zcXMtZXZlbnRzb3VyY2UpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIGFuIE1RIGJyb2tlciBhcyBhbiBldmVudCBzb3VyY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtbXEuaHRtbCNzZXJ2aWNlcy1tcS1ldmVudHNvdXJjZW1hcHBpbmcpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIE1TSyBhcyBhbiBldmVudCBzb3VyY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtbXNrLmh0bWwpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIFNlbGYtTWFuYWdlZCBBcGFjaGUgS2Fma2EgYXMgYW4gZXZlbnQgc291cmNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9rYWZrYS1zbWFhLmh0bWwpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIEFtYXpvbiBEb2N1bWVudERCIGFzIGFuIGV2ZW50IHNvdXJjZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1kb2N1bWVudGRiLmh0bWwpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0FXU19MQU1CREFfRVZFTlRTT1VSQ0VNQVBQSU5HIHtcbklkPzogc3RyaW5nXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiByZWNvcmRzIGluIGVhY2ggYmF0Y2ggdGhhdCBMYW1iZGEgcHVsbHMgZnJvbSB5b3VyIHN0cmVhbSBvciBxdWV1ZSBhbmQgc2VuZHMgdG8geW91ciBmdW5jdGlvbi4gTGFtYmRhIHBhc3NlcyBhbGwgb2YgdGhlIHJlY29yZHMgaW4gdGhlIGJhdGNoIHRvIHRoZSBmdW5jdGlvbiBpbiBhIHNpbmdsZSBjYWxsLCB1cCB0byB0aGUgcGF5bG9hZCBsaW1pdCBmb3Igc3luY2hyb25vdXMgaW52b2NhdGlvbiAoNiBNQikuXG4gKiAgICsgICpBbWF6b24gS2luZXNpcyog4oCTIERlZmF1bHQgMTAwLiBNYXggMTAsMDAwLlxuICogICArICAqQW1hem9uIER5bmFtb0RCIFN0cmVhbXMqIOKAkyBEZWZhdWx0IDEwMC4gTWF4IDEwLDAwMC5cbiAqICAgKyAgKkFtYXpvbiBTaW1wbGUgUXVldWUgU2VydmljZSog4oCTIERlZmF1bHQgMTAuIEZvciBzdGFuZGFyZCBxdWV1ZXMgdGhlIG1heCBpcyAxMCwwMDAuIEZvciBGSUZPIHF1ZXVlcyB0aGUgbWF4IGlzIDEwLlxuICogICArICAqQW1hem9uIE1hbmFnZWQgU3RyZWFtaW5nIGZvciBBcGFjaGUgS2Fma2EqIOKAkyBEZWZhdWx0IDEwMC4gTWF4IDEwLDAwMC5cbiAqICAgKyAgKlNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EqIOKAkyBEZWZhdWx0IDEwMC4gTWF4IDEwLDAwMC5cbiAqICAgKyAgKkFtYXpvbiBNUSAoQWN0aXZlTVEgYW5kIFJhYmJpdE1RKSog4oCTIERlZmF1bHQgMTAwLiBNYXggMTAsMDAwLlxuICogICArICAqRG9jdW1lbnREQiog4oCTIERlZmF1bHQgMTAwLiBNYXggMTAsMDAwLlxuICovXG5CYXRjaFNpemU/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMgYW5kIER5bmFtb0RCIFN0cmVhbXMgb25seSkgSWYgdGhlIGZ1bmN0aW9uIHJldHVybnMgYW4gZXJyb3IsIHNwbGl0IHRoZSBiYXRjaCBpbiB0d28gYW5kIHJldHJ5LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAqICAgV2hlbiB1c2luZyBgYEJpc2VjdEJhdGNoT25GdW5jdGlvbkVycm9yYGAsIGNoZWNrIHRoZSBgYEJhdGNoU2l6ZWBgIHBhcmFtZXRlciBpbiB0aGUgYGBPbkZhaWx1cmVgYCBkZXN0aW5hdGlvbiBtZXNzYWdlJ3MgbWV0YWRhdGEuIFRoZSBgYEJhdGNoU2l6ZWBgIGNvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxIHNpbmNlIExBTSBjb25zb2xpZGF0ZXMgZmFpbGVkIG1lc3NhZ2VzIG1ldGFkYXRhIHdoZW4gd3JpdGluZyB0byB0aGUgYGBPbkZhaWx1cmVgYCBkZXN0aW5hdGlvbi5cbiAqL1xuQmlzZWN0QmF0Y2hPbkZ1bmN0aW9uRXJyb3I/OiBib29sZWFuXG5EZXN0aW5hdGlvbkNvbmZpZz86IERlc3RpbmF0aW9uQ29uZmlnXG4vKipcbiAqIFdoZW4gdHJ1ZSwgdGhlIGV2ZW50IHNvdXJjZSBtYXBwaW5nIGlzIGFjdGl2ZS4gV2hlbiBmYWxzZSwgTGFtYmRhIHBhdXNlcyBwb2xsaW5nIGFuZCBpbnZvY2F0aW9uLlxuICogIERlZmF1bHQ6IFRydWVcbiAqL1xuRW5hYmxlZD86IGJvb2xlYW5cbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBldmVudCBzb3VyY2UuXG4gKiAgICsgICpBbWF6b24gS2luZXNpcyog4oCTIFRoZSBBUk4gb2YgdGhlIGRhdGEgc3RyZWFtIG9yIGEgc3RyZWFtIGNvbnN1bWVyLlxuICogICArICAqQW1hem9uIER5bmFtb0RCIFN0cmVhbXMqIOKAkyBUaGUgQVJOIG9mIHRoZSBzdHJlYW0uXG4gKiAgICsgICpBbWF6b24gU2ltcGxlIFF1ZXVlIFNlcnZpY2UqIOKAkyBUaGUgQVJOIG9mIHRoZSBxdWV1ZS5cbiAqICAgKyAgKkFtYXpvbiBNYW5hZ2VkIFN0cmVhbWluZyBmb3IgQXBhY2hlIEthZmthKiDigJMgVGhlIEFSTiBvZiB0aGUgY2x1c3RlciBvciB0aGUgQVJOIG9mIHRoZSBWUEMgY29ubmVjdGlvbiAoZm9yIFtjcm9zcy1hY2NvdW50IGV2ZW50IHNvdXJjZSBtYXBwaW5nc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1tc2suaHRtbCNtc2stbXVsdGktdnBjKSkuXG4gKiAgICsgICpBbWF6b24gTVEqIOKAkyBUaGUgQVJOIG9mIHRoZSBicm9rZXIuXG4gKiAgICsgICpBbWF6b24gRG9jdW1lbnREQiog4oCTIFRoZSBBUk4gb2YgdGhlIERvY3VtZW50REIgY2hhbmdlIHN0cmVhbS5cbiAqL1xuRXZlbnRTb3VyY2VBcm4/OiBzdHJpbmdcbkV2ZW50U291cmNlTWFwcGluZ0Fybj86IHN0cmluZ1xuRmlsdGVyQ3JpdGVyaWE/OiBGaWx0ZXJDcml0ZXJpYVxuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBLTVNsb25nIChLTVMpIGN1c3RvbWVyIG1hbmFnZWQga2V5IHRoYXQgTGFtYmRhIHVzZXMgdG8gZW5jcnlwdCB5b3VyIGZ1bmN0aW9uJ3MgW2ZpbHRlciBjcml0ZXJpYV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudGZpbHRlcmluZy5odG1sI2ZpbHRlcmluZy1iYXNpY3MpLlxuICovXG5LbXNLZXlBcm4/OiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb3IgQVJOIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gKiAgICoqTmFtZSBmb3JtYXRzKipcbiAqICArICAqRnVuY3Rpb24gbmFtZSog4oCTIGBgTXlGdW5jdGlvbmBgLlxuICogICArICAqRnVuY3Rpb24gQVJOKiDigJMgYGBhcm46YXdzOmxhbWJkYTp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOmZ1bmN0aW9uOk15RnVuY3Rpb25gYC5cbiAqICAgKyAgKlZlcnNpb24gb3IgQWxpYXMgQVJOKiDigJMgYGBhcm46YXdzOmxhbWJkYTp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOmZ1bmN0aW9uOk15RnVuY3Rpb246UFJPRGBgLlxuICogICArICAqUGFydGlhbCBBUk4qIOKAkyBgYDEyMzQ1Njc4OTAxMjpmdW5jdGlvbjpNeUZ1bmN0aW9uYGAuXG4gKiAgIFxuICogIFRoZSBsZW5ndGggY29uc3RyYWludCBhcHBsaWVzIG9ubHkgdG8gdGhlIGZ1bGwgQVJOLiBJZiB5b3Ugc3BlY2lmeSBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lLCBpdCdzIGxpbWl0ZWQgdG8gNjQgY2hhcmFjdGVycyBpbiBsZW5ndGguXG4gKi9cbkZ1bmN0aW9uTmFtZTogc3RyaW5nXG4vKipcbiAqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lLCBpbiBzZWNvbmRzLCB0aGF0IExhbWJkYSBzcGVuZHMgZ2F0aGVyaW5nIHJlY29yZHMgYmVmb3JlIGludm9raW5nIHRoZSBmdW5jdGlvbi5cbiAqICAqRGVmYXVsdCAoLCAsIGV2ZW50IHNvdXJjZXMpKjogMFxuICogICpEZWZhdWx0ICgsIEthZmthLCAsIGV2ZW50IHNvdXJjZXMpKjogNTAwIG1zXG4gKiAgKlJlbGF0ZWQgc2V0dGluZzoqIEZvciBTUVMgZXZlbnQgc291cmNlcywgd2hlbiB5b3Ugc2V0IGBgQmF0Y2hTaXplYGAgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gMTAsIHlvdSBtdXN0IHNldCBgYE1heGltdW1CYXRjaGluZ1dpbmRvd0luU2Vjb25kc2BgIHRvIGF0IGxlYXN0IDEuXG4gKi9cbk1heGltdW1CYXRjaGluZ1dpbmRvd0luU2Vjb25kcz86IG51bWJlclxuLyoqXG4gKiAoS2luZXNpcyBhbmQgRHluYW1vREIgU3RyZWFtcyBvbmx5KSBEaXNjYXJkIHJlY29yZHMgb2xkZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGFnZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgLTEsIHdoaWNoIHNldHMgdGhlIG1heGltdW0gYWdlIHRvIGluZmluaXRlLiBXaGVuIHRoZSB2YWx1ZSBpcyBzZXQgdG8gaW5maW5pdGUsIExhbWJkYSBuZXZlciBkaXNjYXJkcyBvbGQgcmVjb3Jkcy5cbiAqICAgVGhlIG1pbmltdW0gdmFsaWQgdmFsdWUgZm9yIG1heGltdW0gcmVjb3JkIGFnZSBpcyA2MHMuIEFsdGhvdWdoIHZhbHVlcyBsZXNzIHRoYW4gNjAgYW5kIGdyZWF0ZXIgdGhhbiAtMSBmYWxsIHdpdGhpbiB0aGUgcGFyYW1ldGVyJ3MgYWJzb2x1dGUgcmFuZ2UsIHRoZXkgYXJlIG5vdCBhbGxvd2VkXG4gKi9cbk1heGltdW1SZWNvcmRBZ2VJblNlY29uZHM/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMgYW5kIER5bmFtb0RCIFN0cmVhbXMgb25seSkgRGlzY2FyZCByZWNvcmRzIGFmdGVyIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldHJpZXMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC0xLCB3aGljaCBzZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyaWVzIHRvIGluZmluaXRlLiBXaGVuIE1heGltdW1SZXRyeUF0dGVtcHRzIGlzIGluZmluaXRlLCBMYW1iZGEgcmV0cmllcyBmYWlsZWQgcmVjb3JkcyB1bnRpbCB0aGUgcmVjb3JkIGV4cGlyZXMgaW4gdGhlIGV2ZW50IHNvdXJjZS5cbiAqL1xuTWF4aW11bVJldHJ5QXR0ZW1wdHM/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMgYW5kIER5bmFtb0RCIFN0cmVhbXMgb25seSkgVGhlIG51bWJlciBvZiBiYXRjaGVzIHRvIHByb2Nlc3MgY29uY3VycmVudGx5IGZyb20gZWFjaCBzaGFyZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMS5cbiAqL1xuUGFyYWxsZWxpemF0aW9uRmFjdG9yPzogbnVtYmVyXG4vKipcbiAqIFRoZSBwb3NpdGlvbiBpbiBhIHN0cmVhbSBmcm9tIHdoaWNoIHRvIHN0YXJ0IHJlYWRpbmcuIFJlcXVpcmVkIGZvciBBbWF6b24gS2luZXNpcyBhbmQgQW1hem9uIER5bmFtb0RCLlxuICogICArICAqTEFURVNUKiAtIFJlYWQgb25seSBuZXcgcmVjb3Jkcy5cbiAqICAgKyAgKlRSSU1fSE9SSVpPTiogLSBQcm9jZXNzIGFsbCBhdmFpbGFibGUgcmVjb3Jkcy5cbiAqICAgKyAgKkFUX1RJTUVTVEFNUCogLSBTcGVjaWZ5IGEgdGltZSBmcm9tIHdoaWNoIHRvIHN0YXJ0IHJlYWRpbmcgcmVjb3Jkcy5cbiAqL1xuU3RhcnRpbmdQb3NpdGlvbj86IHN0cmluZ1xuLyoqXG4gKiBXaXRoIGBgU3RhcnRpbmdQb3NpdGlvbmBgIHNldCB0byBgYEFUX1RJTUVTVEFNUGBgLCB0aGUgdGltZSBmcm9tIHdoaWNoIHRvIHN0YXJ0IHJlYWRpbmcsIGluIFVuaXggdGltZSBzZWNvbmRzLiBgYFN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXBgYCBjYW5ub3QgYmUgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuU3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcD86IG51bWJlclxuLyoqXG4gKiBBIGxpc3Qgb2YgdGFncyB0byBhZGQgdG8gdGhlIGV2ZW50IHNvdXJjZSBtYXBwaW5nLlxuICogICBZb3UgbXVzdCBoYXZlIHRoZSBgYGxhbWJkYTpUYWdSZXNvdXJjZWBgLCBgYGxhbWJkYTpVbnRhZ1Jlc291cmNlYGAsIGFuZCBgYGxhbWJkYTpMaXN0VGFnc2BgIHBlcm1pc3Npb25zIGZvciB5b3VyIFtwcmluY2lwYWxdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9pZF9yb2xlc190ZXJtcy1hbmQtY29uY2VwdHMuaHRtbCkgdG8gbWFuYWdlIHRoZSBDRk4gc3RhY2suIElmIHlvdSBkb24ndCBoYXZlIHRoZXNlIHBlcm1pc3Npb25zLCB0aGVyZSBtaWdodCBiZSB1bmV4cGVjdGVkIGJlaGF2aW9yIHdpdGggc3RhY2stbGV2ZWwgdGFncyBwcm9wYWdhdGluZyB0byB0aGUgcmVzb3VyY2UgZHVyaW5nIHJlc291cmNlIGNyZWF0aW9uIGFuZCB1cGRhdGUuXG4gKi9cblRhZ3M/OiBUYWdbXVxuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgS2Fma2EgdG9waWMuXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMVxuICovXG5Ub3BpY3M/OiBzdHJpbmdbXVxuLyoqXG4gKiAoQW1hem9uIE1RKSBUaGUgbmFtZSBvZiB0aGUgQW1hem9uIE1RIGJyb2tlciBkZXN0aW5hdGlvbiBxdWV1ZSB0byBjb25zdW1lLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDFcbiAqL1xuUXVldWVzPzogc3RyaW5nW11cbi8qKlxuICogQW4gYXJyYXkgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHByb3RvY29sLCBWUEMgY29tcG9uZW50cywgb3IgdmlydHVhbCBob3N0IHRvIHNlY3VyZSBhbmQgZGVmaW5lIHlvdXIgZXZlbnQgc291cmNlLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDIyXG4gKi9cblNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb25zPzogU291cmNlQWNjZXNzQ29uZmlndXJhdGlvbltdXG4vKipcbiAqIChLaW5lc2lzIGFuZCBEeW5hbW9EQiBTdHJlYW1zIG9ubHkpIFRoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIG9mIGEgcHJvY2Vzc2luZyB3aW5kb3cgZm9yIER5bmFtb0RCIGFuZCBLaW5lc2lzIFN0cmVhbXMgZXZlbnQgc291cmNlcy4gQSB2YWx1ZSBvZiAwIHNlY29uZHMgaW5kaWNhdGVzIG5vIHR1bWJsaW5nIHdpbmRvdy5cbiAqL1xuVHVtYmxpbmdXaW5kb3dJblNlY29uZHM/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMsIER5bmFtb0RCIFN0cmVhbXMsIGFuZCBTUVMpIEEgbGlzdCBvZiBjdXJyZW50IHJlc3BvbnNlIHR5cGUgZW51bXMgYXBwbGllZCB0byB0aGUgZXZlbnQgc291cmNlIG1hcHBpbmcuXG4gKiAgVmFsaWQgVmFsdWVzOiBgYFJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzYGBcbiAqL1xuRnVuY3Rpb25SZXNwb25zZVR5cGVzPzogKFwiUmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNcIilbXVxuU2VsZk1hbmFnZWRFdmVudFNvdXJjZT86IFNlbGZNYW5hZ2VkRXZlbnRTb3VyY2VcbkFtYXpvbk1hbmFnZWRLYWZrYUV2ZW50U291cmNlQ29uZmlnPzogQW1hem9uTWFuYWdlZEthZmthRXZlbnRTb3VyY2VDb25maWdcblNlbGZNYW5hZ2VkS2Fma2FFdmVudFNvdXJjZUNvbmZpZz86IFNlbGZNYW5hZ2VkS2Fma2FFdmVudFNvdXJjZUNvbmZpZ1xuU2NhbGluZ0NvbmZpZz86IFNjYWxpbmdDb25maWdcbkRvY3VtZW50REJFdmVudFNvdXJjZUNvbmZpZz86IERvY3VtZW50REJFdmVudFNvdXJjZUNvbmZpZ1xuUHJvdmlzaW9uZWRQb2xsZXJDb25maWc/OiBQcm92aXNpb25lZFBvbGxlckNvbmZpZ1xuTWV0cmljc0NvbmZpZz86IE1ldHJpY3NDb25maWdcbn1cbi8qKlxuICogKEtpbmVzaXMsIER5bmFtb0RCIFN0cmVhbXMsIEFtYXpvbiBNU0ssIGFuZCBzZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthIGV2ZW50IHNvdXJjZXMgb25seSkgQSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IHNwZWNpZmllcyB0aGUgZGVzdGluYXRpb24gb2YgYW4gZXZlbnQgYWZ0ZXIgTGFtYmRhIHByb2Nlc3NlcyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXN0aW5hdGlvbkNvbmZpZyB7XG5PbkZhaWx1cmU/OiBPbkZhaWx1cmVcbn1cbi8qKlxuICogVGhlIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGZhaWxlZCBpbnZvY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbkZhaWx1cmUge1xuLyoqXG4gKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGRlc3RpbmF0aW9uIHJlc291cmNlLlxuICogIFRvIHJldGFpbiByZWNvcmRzIG9mIHVuc3VjY2Vzc2Z1bCBbYXN5bmNocm9ub3VzIGludm9jYXRpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9pbnZvY2F0aW9uLWFzeW5jLmh0bWwjaW52b2NhdGlvbi1hc3luYy1kZXN0aW5hdGlvbnMpLCB5b3UgY2FuIGNvbmZpZ3VyZSBhbiBBbWF6b24gU05TIHRvcGljLCBBbWF6b24gU1FTIHF1ZXVlLCBBbWF6b24gUzMgYnVja2V0LCBMYW1iZGEgZnVuY3Rpb24sIG9yIEFtYXpvbiBFdmVudEJyaWRnZSBldmVudCBidXMgYXMgdGhlIGRlc3RpbmF0aW9uLlxuICogIFRvIHJldGFpbiByZWNvcmRzIG9mIGZhaWxlZCBpbnZvY2F0aW9ucyBmcm9tIFtLaW5lc2lzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLWtpbmVzaXMuaHRtbCksIFtEeW5hbW9EQl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1kZGIuaHRtbCksIFtzZWxmLW1hbmFnZWQgS2Fma2FdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgta2Fma2EuaHRtbCNzZXJ2aWNlcy1zbWFhLW9uZmFpbHVyZS1kZXN0aW5hdGlvbikgb3IgW0FtYXpvbiBNU0tdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtbXNrLmh0bWwjc2VydmljZXMtbXNrLW9uZmFpbHVyZS1kZXN0aW5hdGlvbiksIHlvdSBjYW4gY29uZmlndXJlIGFuIEFtYXpvbiBTTlMgdG9waWMsIEFtYXpvbiBTUVMgcXVldWUsIG9yIEFtYXpvbiBTMyBidWNrZXQgYXMgdGhlIGRlc3RpbmF0aW9uLlxuICovXG5EZXN0aW5hdGlvbj86IHN0cmluZ1xufVxuLyoqXG4gKiBBbiBvYmplY3QgdGhhdCBkZWZpbmVzIHRoZSBmaWx0ZXIgY3JpdGVyaWEgdGhhdCBkZXRlcm1pbmUgd2hldGhlciBMYW1iZGEgc2hvdWxkIHByb2Nlc3MgYW4gZXZlbnQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0xhbWJkYSBldmVudCBmaWx0ZXJpbmddKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2ludm9jYXRpb24tZXZlbnRmaWx0ZXJpbmcuaHRtbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ3JpdGVyaWEge1xuLyoqXG4gKiBBIGxpc3Qgb2YgZmlsdGVycy5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyMFxuICovXG5GaWx0ZXJzPzogRmlsdGVyW11cbn1cbi8qKlxuICogQSBzdHJ1Y3R1cmUgd2l0aGluIGEgYGBGaWx0ZXJDcml0ZXJpYWBgIG9iamVjdCB0aGF0IGRlZmluZXMgYW4gZXZlbnQgZmlsdGVyaW5nIHBhdHRlcm4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbi8qKlxuICogQSBmaWx0ZXIgcGF0dGVybi4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIHN5bnRheCBvZiBhIGZpbHRlciBwYXR0ZXJuLCBzZWUgW0ZpbHRlciBydWxlIHN5bnRheF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudGZpbHRlcmluZy5odG1sI2ZpbHRlcmluZy1zeW50YXgpLlxuICovXG5QYXR0ZXJuPzogc3RyaW5nXG59XG4vKipcbiAqIEEgW3RhZ10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvdGFnZ2luZy5odG1sKSB0byBhcHBseSB0byB0aGUgZXZlbnQgc291cmNlIG1hcHBpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbi8qKlxuICogVGhlIGtleSBmb3IgdGhpcyB0YWcuXG4gKi9cbktleTogc3RyaW5nXG4vKipcbiAqIFRoZSB2YWx1ZSBmb3IgdGhpcyB0YWcuXG4gKi9cblZhbHVlPzogc3RyaW5nXG59XG4vKipcbiAqIEFuIGFycmF5IG9mIHRoZSBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCwgVlBDIGNvbXBvbmVudHMsIG9yIHZpcnR1YWwgaG9zdCB0byBzZWN1cmUgYW5kIGRlZmluZSB5b3VyIGV2ZW50IHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIHR5cGUgb2YgYXV0aGVudGljYXRpb24gcHJvdG9jb2wsIFZQQyBjb21wb25lbnRzLCBvciB2aXJ0dWFsIGhvc3QgZm9yIHlvdXIgZXZlbnQgc291cmNlLiBGb3IgZXhhbXBsZTogYGBcIlR5cGVcIjpcIlNBU0xfU0NSQU1fNTEyX0FVVEhcImBgLlxuICogICArICBgYEJBU0lDX0FVVEhgYCDigJMgKEFtYXpvbiBNUSkgVGhlIEFTTWxvbmcgc2VjcmV0IHRoYXQgc3RvcmVzIHlvdXIgYnJva2VyIGNyZWRlbnRpYWxzLlxuICogICArICBgYEJBU0lDX0FVVEhgYCDigJMgKFNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EpIFRoZSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9mIHlvdXIgc2VjcmV0IGtleSB1c2VkIGZvciBTQVNML1BMQUlOIGF1dGhlbnRpY2F0aW9uIG9mIHlvdXIgQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gKiAgICsgIGBgVlBDX1NVQk5FVGBgIOKAkyAoU2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSkgVGhlIHN1Ym5ldHMgYXNzb2NpYXRlZCB3aXRoIHlvdXIgVlBDLiBMYW1iZGEgY29ubmVjdHMgdG8gdGhlc2Ugc3VibmV0cyB0byBmZXRjaCBkYXRhIGZyb20geW91ciBzZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthIGNsdXN0ZXIuXG4gKiAgICsgIGBgVlBDX1NFQ1VSSVRZX0dST1VQYGAg4oCTIChTZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthKSBUaGUgVlBDIHNlY3VyaXR5IGdyb3VwIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byB5b3VyIHNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EgYnJva2Vycy5cbiAqICAgKyAgYGBTQVNMX1NDUkFNXzI1Nl9BVVRIYGAg4oCTIChTZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthKSBUaGUgU2VjcmV0cyBNYW5hZ2VyIEFSTiBvZiB5b3VyIHNlY3JldCBrZXkgdXNlZCBmb3IgU0FTTCBTQ1JBTS0yNTYgYXV0aGVudGljYXRpb24gb2YgeW91ciBzZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gKiAgICsgIGBgU0FTTF9TQ1JBTV81MTJfQVVUSGBgIOKAkyAoQW1hem9uIE1TSywgU2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSkgVGhlIFNlY3JldHMgTWFuYWdlciBBUk4gb2YgeW91ciBzZWNyZXQga2V5IHVzZWQgZm9yIFNBU0wgU0NSQU0tNTEyIGF1dGhlbnRpY2F0aW9uIG9mIHlvdXIgc2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSBicm9rZXJzLlxuICogICArICBgYFZJUlRVQUxfSE9TVGBgIOKAky0gKFJhYmJpdE1RKSBUaGUgbmFtZSBvZiB0aGUgdmlydHVhbCBob3N0IGluIHlvdXIgUmFiYml0TVEgYnJva2VyLiBMYW1iZGEgdXNlcyB0aGlzIFJhYmJpdE1RIGhvc3QgYXMgdGhlIGV2ZW50IHNvdXJjZS4gVGhpcyBwcm9wZXJ0eSBjYW5ub3QgYmUgc3BlY2lmaWVkIGluIGFuIFVwZGF0ZUV2ZW50U291cmNlTWFwcGluZyBBUEkgY2FsbC5cbiAqICAgKyAgYGBDTElFTlRfQ0VSVElGSUNBVEVfVExTX0FVVEhgYCDigJMgKEFtYXpvbiBNU0ssIHNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EpIFRoZSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9mIHlvdXIgc2VjcmV0IGtleSBjb250YWluaW5nIHRoZSBjZXJ0aWZpY2F0ZSBjaGFpbiAoWC41MDkgUEVNKSwgcHJpdmF0ZSBrZXkgKFBLQ1MjOCBQRU0pLCBhbmQgcHJpdmF0ZSBrZXkgcGFzc3dvcmQgKG9wdGlvbmFsKSB1c2VkIGZvciBtdXR1YWwgVExTIGF1dGhlbnRpY2F0aW9uIG9mIHlvdXIgTVNLL0FwYWNoZSBLYWZrYSBicm9rZXJzLlxuICogICArICBgYFNFUlZFUl9ST09UX0NBX0NFUlRJRklDQVRFYGAg4oCTIChTZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthKSBUaGUgU2VjcmV0cyBNYW5hZ2VyIEFSTiBvZiB5b3VyIHNlY3JldCBrZXkgY29udGFpbmluZyB0aGUgcm9vdCBDQSBjZXJ0aWZpY2F0ZSAoWC41MDkgUEVNKSB1c2VkIGZvciBUTFMgZW5jcnlwdGlvbiBvZiB5b3VyIEFwYWNoZSBLYWZrYSBicm9rZXJzLlxuICovXG5UeXBlPzogKFwiQkFTSUNfQVVUSFwiIHwgXCJWUENfU1VCTkVUXCIgfCBcIlZQQ19TRUNVUklUWV9HUk9VUFwiIHwgXCJTQVNMX1NDUkFNXzUxMl9BVVRIXCIgfCBcIlNBU0xfU0NSQU1fMjU2X0FVVEhcIiB8IFwiVklSVFVBTF9IT1NUXCIgfCBcIkNMSUVOVF9DRVJUSUZJQ0FURV9UTFNfQVVUSFwiIHwgXCJTRVJWRVJfUk9PVF9DQV9DRVJUSUZJQ0FURVwiKVxuLyoqXG4gKiBUaGUgdmFsdWUgZm9yIHlvdXIgY2hvc2VuIGNvbmZpZ3VyYXRpb24gaW4gYGBUeXBlYGAuIEZvciBleGFtcGxlOiBgYFwiVVJJXCI6IFwiYXJuOmF3czpzZWNyZXRzbWFuYWdlcjp1cy1lYXN0LTE6MDEyMzQ1Njc4OTA6c2VjcmV0Ok15QnJva2VyU2VjcmV0TmFtZVwiYGAuXG4gKi9cblVSST86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgc2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSBjbHVzdGVyIGZvciB5b3VyIGV2ZW50IHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxmTWFuYWdlZEV2ZW50U291cmNlIHtcbkVuZHBvaW50cz86IEVuZHBvaW50c1xufVxuLyoqXG4gKiBUaGUgbGlzdCBvZiBib290c3RyYXAgc2VydmVycyBmb3IgeW91ciBLYWZrYSBicm9rZXJzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgYFwiS2Fma2FCb290c3RyYXBTZXJ2ZXJzXCI6IFtcImFiYy54eXouY29tOnh4eHhcIixcImFiYzIueHl6LmNvbTp4eHh4XCJdYGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5kcG9pbnRzIHtcbi8qKlxuICogVGhlIGxpc3Qgb2YgYm9vdHN0cmFwIHNlcnZlcnMgZm9yIHlvdXIgS2Fma2EgYnJva2VycyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDogYGBcIkthZmthQm9vdHN0cmFwU2VydmVyc1wiOiBbXCJhYmMueHl6LmNvbTp4eHh4XCIsXCJhYmMyLnh5ei5jb206eHh4eFwiXWBgLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDEwXG4gKi9cbkthZmthQm9vdHN0cmFwU2VydmVycz86IHN0cmluZ1tdXG59XG4vKipcbiAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIGFuIEFtYXpvbiBNYW5hZ2VkIFN0cmVhbWluZyBmb3IgQXBhY2hlIEthZmthIChBbWF6b24gTVNLKSBldmVudCBzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uTWFuYWdlZEthZmthRXZlbnRTb3VyY2VDb25maWcge1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBmb3IgdGhlIEthZmthIGNvbnN1bWVyIGdyb3VwIHRvIGpvaW4uIFRoZSBjb25zdW1lciBncm91cCBJRCBtdXN0IGJlIHVuaXF1ZSBhbW9uZyBhbGwgeW91ciBLYWZrYSBldmVudCBzb3VyY2VzLiBBZnRlciBjcmVhdGluZyBhIEthZmthIGV2ZW50IHNvdXJjZSBtYXBwaW5nIHdpdGggdGhlIGNvbnN1bWVyIGdyb3VwIElEIHNwZWNpZmllZCwgeW91IGNhbm5vdCB1cGRhdGUgdGhpcyB2YWx1ZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbQ3VzdG9taXphYmxlIGNvbnN1bWVyIGdyb3VwIElEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLW1zay5odG1sI3NlcnZpY2VzLW1zay1jb25zdW1lci1ncm91cC1pZCkuXG4gKi9cbkNvbnN1bWVyR3JvdXBJZD86IHN0cmluZ1xuU2NoZW1hUmVnaXN0cnlDb25maWc/OiBTY2hlbWFSZWdpc3RyeUNvbmZpZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTY2hlbWFSZWdpc3RyeUNvbmZpZyB7XG4vKipcbiAqIFRoZSBVUkkgZm9yIHlvdXIgc2NoZW1hIHJlZ2lzdHJ5LiBUaGUgY29ycmVjdCBVUkkgZm9ybWF0IGRlcGVuZHMgb24gdGhlIHR5cGUgb2Ygc2NoZW1hIHJlZ2lzdHJ5IHlvdSdyZSB1c2luZy5cbiAqL1xuU2NoZW1hUmVnaXN0cnlVUkk/OiBzdHJpbmdcbi8qKlxuICogVGhlIHJlY29yZCBmb3JtYXQgdGhhdCBMYW1iZGEgZGVsaXZlcnMgdG8geW91ciBmdW5jdGlvbiBhZnRlciBzY2hlbWEgdmFsaWRhdGlvbi5cbiAqL1xuRXZlbnRSZWNvcmRGb3JtYXQ/OiAoXCJKU09OXCIgfCBcIlNPVVJDRVwiKVxuLyoqXG4gKiBBbiBhcnJheSBvZiBhY2Nlc3MgY29uZmlndXJhdGlvbiBvYmplY3RzIHRoYXQgdGVsbCBMYW1iZGEgaG93IHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHlvdXIgc2NoZW1hIHJlZ2lzdHJ5LlxuICogXG4gKiBAbWF4SXRlbXMgMlxuICovXG5BY2Nlc3NDb25maWdzPzogU2NoZW1hUmVnaXN0cnlBY2Nlc3NDb25maWdbXVxuLyoqXG4gKiBBbiBhcnJheSBvZiBzY2hlbWEgdmFsaWRhdGlvbiBjb25maWd1cmF0aW9uIG9iamVjdHMsIHdoaWNoIHRlbGwgTGFtYmRhIHRoZSBtZXNzYWdlIGF0dHJpYnV0ZXMgeW91IHdhbnQgdG8gdmFsaWRhdGUgYW5kIGZpbHRlciB1c2luZyB5b3VyIHNjaGVtYSByZWdpc3RyeS5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyXG4gKi9cblNjaGVtYVZhbGlkYXRpb25Db25maWdzPzogU2NoZW1hVmFsaWRhdGlvbkNvbmZpZ1tdXG59XG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVJlZ2lzdHJ5QWNjZXNzQ29uZmlnIHtcbi8qKlxuICogVGhlIHR5cGUgb2YgYXV0aGVudGljYXRpb24gTGFtYmRhIHVzZXMgdG8gYWNjZXNzIHlvdXIgc2NoZW1hIHJlZ2lzdHJ5LlxuICovXG5UeXBlPzogKFwiQkFTSUNfQVVUSFwiIHwgXCJDTElFTlRfQ0VSVElGSUNBVEVfVExTX0FVVEhcIiB8IFwiU0VSVkVSX1JPT1RfQ0FfQ0VSVElGSUNBVEVcIilcbi8qKlxuICogVGhlIFVSSSBvZiB0aGUgc2VjcmV0IChTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IEFSTikgdG8gYXV0aGVudGljYXRlIHdpdGggeW91ciBzY2hlbWEgcmVnaXN0cnkuXG4gKi9cblVSST86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTY2hlbWFWYWxpZGF0aW9uQ29uZmlnIHtcbi8qKlxuICogVGhlIGF0dHJpYnV0ZSB5b3Ugd2FudCB5b3VyIHNjaGVtYSByZWdpc3RyeSB0byB2YWxpZGF0ZSBhbmQgZmlsdGVyIGZvci5cbiAqL1xuQXR0cmlidXRlPzogKFwiS0VZXCIgfCBcIlZBTFVFXCIpXG59XG4vKipcbiAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIGEgc2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSBldmVudCBzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZk1hbmFnZWRLYWZrYUV2ZW50U291cmNlQ29uZmlnIHtcbi8qKlxuICogVGhlIGlkZW50aWZpZXIgZm9yIHRoZSBLYWZrYSBjb25zdW1lciBncm91cCB0byBqb2luLiBUaGUgY29uc3VtZXIgZ3JvdXAgSUQgbXVzdCBiZSB1bmlxdWUgYW1vbmcgYWxsIHlvdXIgS2Fma2EgZXZlbnQgc291cmNlcy4gQWZ0ZXIgY3JlYXRpbmcgYSBLYWZrYSBldmVudCBzb3VyY2UgbWFwcGluZyB3aXRoIHRoZSBjb25zdW1lciBncm91cCBJRCBzcGVjaWZpZWQsIHlvdSBjYW5ub3QgdXBkYXRlIHRoaXMgdmFsdWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0N1c3RvbWl6YWJsZSBjb25zdW1lciBncm91cCBJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1rYWZrYS1wcm9jZXNzLmh0bWwjc2VydmljZXMtc21hYS10b3BpYy1hZGQpLlxuICovXG5Db25zdW1lckdyb3VwSWQ/OiBzdHJpbmdcblNjaGVtYVJlZ2lzdHJ5Q29uZmlnPzogU2NoZW1hUmVnaXN0cnlDb25maWcxXG59XG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVJlZ2lzdHJ5Q29uZmlnMSB7XG4vKipcbiAqIFRoZSBVUkkgZm9yIHlvdXIgc2NoZW1hIHJlZ2lzdHJ5LiBUaGUgY29ycmVjdCBVUkkgZm9ybWF0IGRlcGVuZHMgb24gdGhlIHR5cGUgb2Ygc2NoZW1hIHJlZ2lzdHJ5IHlvdSdyZSB1c2luZy5cbiAqL1xuU2NoZW1hUmVnaXN0cnlVUkk/OiBzdHJpbmdcbi8qKlxuICogVGhlIHJlY29yZCBmb3JtYXQgdGhhdCBMYW1iZGEgZGVsaXZlcnMgdG8geW91ciBmdW5jdGlvbiBhZnRlciBzY2hlbWEgdmFsaWRhdGlvbi5cbiAqL1xuRXZlbnRSZWNvcmRGb3JtYXQ/OiAoXCJKU09OXCIgfCBcIlNPVVJDRVwiKVxuLyoqXG4gKiBBbiBhcnJheSBvZiBhY2Nlc3MgY29uZmlndXJhdGlvbiBvYmplY3RzIHRoYXQgdGVsbCBMYW1iZGEgaG93IHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHlvdXIgc2NoZW1hIHJlZ2lzdHJ5LlxuICogXG4gKiBAbWF4SXRlbXMgMlxuICovXG5BY2Nlc3NDb25maWdzPzogU2NoZW1hUmVnaXN0cnlBY2Nlc3NDb25maWdbXVxuLyoqXG4gKiBBbiBhcnJheSBvZiBzY2hlbWEgdmFsaWRhdGlvbiBjb25maWd1cmF0aW9uIG9iamVjdHMsIHdoaWNoIHRlbGwgTGFtYmRhIHRoZSBtZXNzYWdlIGF0dHJpYnV0ZXMgeW91IHdhbnQgdG8gdmFsaWRhdGUgYW5kIGZpbHRlciB1c2luZyB5b3VyIHNjaGVtYSByZWdpc3RyeS5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyXG4gKi9cblNjaGVtYVZhbGlkYXRpb25Db25maWdzPzogU2NoZW1hVmFsaWRhdGlvbkNvbmZpZ1tdXG59XG4vKipcbiAqIChBbWF6b24gU1FTIG9ubHkpIFRoZSBzY2FsaW5nIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBldmVudCBzb3VyY2UuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0NvbmZpZ3VyaW5nIG1heGltdW0gY29uY3VycmVuY3kgZm9yIEFtYXpvbiBTUVMgZXZlbnQgc291cmNlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1zcXMuaHRtbCNldmVudHMtc3FzLW1heC1jb25jdXJyZW5jeSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NhbGluZ0NvbmZpZyB7XG4vKipcbiAqIExpbWl0cyB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgaW5zdGFuY2VzIHRoYXQgdGhlIFNRUyBldmVudCBzb3VyY2UgY2FuIGludm9rZS5cbiAqL1xuTWF4aW11bUNvbmN1cnJlbmN5PzogbnVtYmVyXG59XG4vKipcbiAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIGEgRG9jdW1lbnREQiBldmVudCBzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnREQkV2ZW50U291cmNlQ29uZmlnIHtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIHRvIGNvbnN1bWUgd2l0aGluIHRoZSBEb2N1bWVudERCIGNsdXN0ZXIuXG4gKi9cbkRhdGFiYXNlTmFtZT86IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgY29sbGVjdGlvbiB0byBjb25zdW1lIHdpdGhpbiB0aGUgZGF0YWJhc2UuIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIGNvbGxlY3Rpb24sIExhbWJkYSBjb25zdW1lcyBhbGwgY29sbGVjdGlvbnMuXG4gKi9cbkNvbGxlY3Rpb25OYW1lPzogc3RyaW5nXG4vKipcbiAqIERldGVybWluZXMgd2hhdCBEb2N1bWVudERCIHNlbmRzIHRvIHlvdXIgZXZlbnQgc3RyZWFtIGR1cmluZyBkb2N1bWVudCB1cGRhdGUgb3BlcmF0aW9ucy4gSWYgc2V0IHRvIFVwZGF0ZUxvb2t1cCwgRG9jdW1lbnREQiBzZW5kcyBhIGRlbHRhIGRlc2NyaWJpbmcgdGhlIGNoYW5nZXMsIGFsb25nIHdpdGggYSBjb3B5IG9mIHRoZSBlbnRpcmUgZG9jdW1lbnQuIE90aGVyd2lzZSwgRG9jdW1lbnREQiBzZW5kcyBvbmx5IGEgcGFydGlhbCBkb2N1bWVudCB0aGF0IGNvbnRhaW5zIHRoZSBjaGFuZ2VzLlxuICovXG5GdWxsRG9jdW1lbnQ/OiAoXCJVcGRhdGVMb29rdXBcIiB8IFwiRGVmYXVsdFwiKVxufVxuLyoqXG4gKiAoQW1hem9uIE1TSyBhbmQgc2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSBvbmx5KSBUaGUgcHJvdmlzaW9uZWQgbW9kZSBjb25maWd1cmF0aW9uIGZvciB0aGUgZXZlbnQgc291cmNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtwcm92aXNpb25lZCBtb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9pbnZvY2F0aW9uLWV2ZW50c291cmNlbWFwcGluZy5odG1sI2ludm9jYXRpb24tZXZlbnRzb3VyY2VtYXBwaW5nLXByb3Zpc2lvbmVkLW1vZGUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3Zpc2lvbmVkUG9sbGVyQ29uZmlnIHtcbi8qKlxuICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGV2ZW50IHBvbGxlcnMgdGhpcyBldmVudCBzb3VyY2UgY2FuIHNjYWxlIGRvd24gdG8uXG4gKi9cbk1pbmltdW1Qb2xsZXJzPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBldmVudCBwb2xsZXJzIHRoaXMgZXZlbnQgc291cmNlIGNhbiBzY2FsZSB1cCB0by5cbiAqL1xuTWF4aW11bVBvbGxlcnM/OiBudW1iZXJcbn1cbi8qKlxuICogVGhlIG1ldHJpY3MgY29uZmlndXJhdGlvbiBmb3IgeW91ciBldmVudCBzb3VyY2UuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0V2ZW50IHNvdXJjZSBtYXBwaW5nIG1ldHJpY3NdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL21vbml0b3JpbmctbWV0cmljcy10eXBlcy5odG1sI2V2ZW50LXNvdXJjZS1tYXBwaW5nLW1ldHJpY3MpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY3NDb25maWcge1xuLyoqXG4gKiBUaGUgbWV0cmljcyB5b3Ugd2FudCB5b3VyIGV2ZW50IHNvdXJjZSBtYXBwaW5nIHRvIHByb2R1Y2UuIEluY2x1ZGUgYGBFdmVudENvdW50YGAgdG8gcmVjZWl2ZSBldmVudCBzb3VyY2UgbWFwcGluZyBtZXRyaWNzIHJlbGF0ZWQgdG8gdGhlIG51bWJlciBvZiBldmVudHMgcHJvY2Vzc2VkIGJ5IHlvdXIgZXZlbnQgc291cmNlIG1hcHBpbmcuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZXNlIG1ldHJpY3MsIHNlZSBbRXZlbnQgc291cmNlIG1hcHBpbmcgbWV0cmljc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvbW9uaXRvcmluZy1tZXRyaWNzLXR5cGVzLmh0bWwjZXZlbnQtc291cmNlLW1hcHBpbmctbWV0cmljcykuXG4gKiBcbiAqIEBtaW5JdGVtcyAwXG4gKiBAbWF4SXRlbXMgMVxuICovXG5NZXRyaWNzPzogKFwiRXZlbnRDb3VudFwiKVtdXG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWxhbWJkYS1ldmVudHNvdXJjZW1hcHBpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtbGFtYmRhLWV2ZW50c291cmNlbWFwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgYGBBV1M6OkxhbWJkYTo6RXZlbnRTb3VyY2VNYXBwaW5nYGAgcmVzb3VyY2UgY3JlYXRlcyBhIG1hcHBpbmcgYmV0d2VlbiBhbiBldmVudCBzb3VyY2UgYW5kIGFuIExBTWxvbmcgZnVuY3Rpb24uIExBTSByZWFkcyBpdGVtcyBmcm9tIHRoZSBldmVudCBzb3VyY2UgYW5kIHRyaWdnZXJzIHRoZSBmdW5jdGlvbi5cbiAqICBGb3IgZGV0YWlscyBhYm91dCBlYWNoIGV2ZW50IHNvdXJjZSB0eXBlLCBzZWUgdGhlIGZvbGxvd2luZyB0b3BpY3MuIEluIHBhcnRpY3VsYXIsIGVhY2ggb2YgdGhlIHRvcGljcyBkZXNjcmliZXMgdGhlIHJlcXVpcmVkIGFuZCBvcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgc3BlY2lmaWMgZXZlbnQgc291cmNlLiBcbiAqICAgKyAgIFtDb25maWd1cmluZyBhIER5bmFtbyBEQiBzdHJlYW0gYXMgYW4gZXZlbnQgc291cmNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLWRkYi5odG1sI3NlcnZpY2VzLWR5bmFtb2RiLWV2ZW50c291cmNlbWFwcGluZykgXG4gKiAgICsgICBbQ29uZmlndXJpbmcgYSBLaW5lc2lzIHN0cmVhbSBhcyBhbiBldmVudCBzb3VyY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgta2luZXNpcy5odG1sI3NlcnZpY2VzLWtpbmVzaXMtZXZlbnRzb3VyY2VtYXBwaW5nKSBcbiAqICAgKyAgIFtDb25maWd1cmluZyBhbiBTUVMgcXVldWUgYXMgYW4gZXZlbnQgc291cmNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLXNxcy5odG1sI2V2ZW50cy1zcXMtZXZlbnRzb3VyY2UpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIGFuIE1RIGJyb2tlciBhcyBhbiBldmVudCBzb3VyY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtbXEuaHRtbCNzZXJ2aWNlcy1tcS1ldmVudHNvdXJjZW1hcHBpbmcpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIE1TSyBhcyBhbiBldmVudCBzb3VyY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtbXNrLmh0bWwpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIFNlbGYtTWFuYWdlZCBBcGFjaGUgS2Fma2EgYXMgYW4gZXZlbnQgc291cmNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9rYWZrYS1zbWFhLmh0bWwpIFxuICogICArICAgW0NvbmZpZ3VyaW5nIEFtYXpvbiBEb2N1bWVudERCIGFzIGFuIGV2ZW50IHNvdXJjZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1kb2N1bWVudGRiLmh0bWwpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0FXU19MQU1CREFfRVZFTlRTT1VSQ0VNQVBQSU5HIHtcbklkPzogc3RyaW5nXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiByZWNvcmRzIGluIGVhY2ggYmF0Y2ggdGhhdCBMYW1iZGEgcHVsbHMgZnJvbSB5b3VyIHN0cmVhbSBvciBxdWV1ZSBhbmQgc2VuZHMgdG8geW91ciBmdW5jdGlvbi4gTGFtYmRhIHBhc3NlcyBhbGwgb2YgdGhlIHJlY29yZHMgaW4gdGhlIGJhdGNoIHRvIHRoZSBmdW5jdGlvbiBpbiBhIHNpbmdsZSBjYWxsLCB1cCB0byB0aGUgcGF5bG9hZCBsaW1pdCBmb3Igc3luY2hyb25vdXMgaW52b2NhdGlvbiAoNiBNQikuXG4gKiAgICsgICpBbWF6b24gS2luZXNpcyog4oCTIERlZmF1bHQgMTAwLiBNYXggMTAsMDAwLlxuICogICArICAqQW1hem9uIER5bmFtb0RCIFN0cmVhbXMqIOKAkyBEZWZhdWx0IDEwMC4gTWF4IDEwLDAwMC5cbiAqICAgKyAgKkFtYXpvbiBTaW1wbGUgUXVldWUgU2VydmljZSog4oCTIERlZmF1bHQgMTAuIEZvciBzdGFuZGFyZCBxdWV1ZXMgdGhlIG1heCBpcyAxMCwwMDAuIEZvciBGSUZPIHF1ZXVlcyB0aGUgbWF4IGlzIDEwLlxuICogICArICAqQW1hem9uIE1hbmFnZWQgU3RyZWFtaW5nIGZvciBBcGFjaGUgS2Fma2EqIOKAkyBEZWZhdWx0IDEwMC4gTWF4IDEwLDAwMC5cbiAqICAgKyAgKlNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EqIOKAkyBEZWZhdWx0IDEwMC4gTWF4IDEwLDAwMC5cbiAqICAgKyAgKkFtYXpvbiBNUSAoQWN0aXZlTVEgYW5kIFJhYmJpdE1RKSog4oCTIERlZmF1bHQgMTAwLiBNYXggMTAsMDAwLlxuICogICArICAqRG9jdW1lbnREQiog4oCTIERlZmF1bHQgMTAwLiBNYXggMTAsMDAwLlxuICovXG5CYXRjaFNpemU/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMgYW5kIER5bmFtb0RCIFN0cmVhbXMgb25seSkgSWYgdGhlIGZ1bmN0aW9uIHJldHVybnMgYW4gZXJyb3IsIHNwbGl0IHRoZSBiYXRjaCBpbiB0d28gYW5kIHJldHJ5LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAqICAgV2hlbiB1c2luZyBgYEJpc2VjdEJhdGNoT25GdW5jdGlvbkVycm9yYGAsIGNoZWNrIHRoZSBgYEJhdGNoU2l6ZWBgIHBhcmFtZXRlciBpbiB0aGUgYGBPbkZhaWx1cmVgYCBkZXN0aW5hdGlvbiBtZXNzYWdlJ3MgbWV0YWRhdGEuIFRoZSBgYEJhdGNoU2l6ZWBgIGNvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxIHNpbmNlIExBTSBjb25zb2xpZGF0ZXMgZmFpbGVkIG1lc3NhZ2VzIG1ldGFkYXRhIHdoZW4gd3JpdGluZyB0byB0aGUgYGBPbkZhaWx1cmVgYCBkZXN0aW5hdGlvbi5cbiAqL1xuQmlzZWN0QmF0Y2hPbkZ1bmN0aW9uRXJyb3I/OiBib29sZWFuXG5EZXN0aW5hdGlvbkNvbmZpZz86IERlc3RpbmF0aW9uQ29uZmlnXG4vKipcbiAqIFdoZW4gdHJ1ZSwgdGhlIGV2ZW50IHNvdXJjZSBtYXBwaW5nIGlzIGFjdGl2ZS4gV2hlbiBmYWxzZSwgTGFtYmRhIHBhdXNlcyBwb2xsaW5nIGFuZCBpbnZvY2F0aW9uLlxuICogIERlZmF1bHQ6IFRydWVcbiAqL1xuRW5hYmxlZD86IGJvb2xlYW5cbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBldmVudCBzb3VyY2UuXG4gKiAgICsgICpBbWF6b24gS2luZXNpcyog4oCTIFRoZSBBUk4gb2YgdGhlIGRhdGEgc3RyZWFtIG9yIGEgc3RyZWFtIGNvbnN1bWVyLlxuICogICArICAqQW1hem9uIER5bmFtb0RCIFN0cmVhbXMqIOKAkyBUaGUgQVJOIG9mIHRoZSBzdHJlYW0uXG4gKiAgICsgICpBbWF6b24gU2ltcGxlIFF1ZXVlIFNlcnZpY2UqIOKAkyBUaGUgQVJOIG9mIHRoZSBxdWV1ZS5cbiAqICAgKyAgKkFtYXpvbiBNYW5hZ2VkIFN0cmVhbWluZyBmb3IgQXBhY2hlIEthZmthKiDigJMgVGhlIEFSTiBvZiB0aGUgY2x1c3RlciBvciB0aGUgQVJOIG9mIHRoZSBWUEMgY29ubmVjdGlvbiAoZm9yIFtjcm9zcy1hY2NvdW50IGV2ZW50IHNvdXJjZSBtYXBwaW5nc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1tc2suaHRtbCNtc2stbXVsdGktdnBjKSkuXG4gKiAgICsgICpBbWF6b24gTVEqIOKAkyBUaGUgQVJOIG9mIHRoZSBicm9rZXIuXG4gKiAgICsgICpBbWF6b24gRG9jdW1lbnREQiog4oCTIFRoZSBBUk4gb2YgdGhlIERvY3VtZW50REIgY2hhbmdlIHN0cmVhbS5cbiAqL1xuRXZlbnRTb3VyY2VBcm4/OiBzdHJpbmdcbkV2ZW50U291cmNlTWFwcGluZ0Fybj86IHN0cmluZ1xuRmlsdGVyQ3JpdGVyaWE/OiBGaWx0ZXJDcml0ZXJpYVxuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBLTVNsb25nIChLTVMpIGN1c3RvbWVyIG1hbmFnZWQga2V5IHRoYXQgTGFtYmRhIHVzZXMgdG8gZW5jcnlwdCB5b3VyIGZ1bmN0aW9uJ3MgW2ZpbHRlciBjcml0ZXJpYV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudGZpbHRlcmluZy5odG1sI2ZpbHRlcmluZy1iYXNpY3MpLlxuICovXG5LbXNLZXlBcm4/OiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb3IgQVJOIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gKiAgICoqTmFtZSBmb3JtYXRzKipcbiAqICArICAqRnVuY3Rpb24gbmFtZSog4oCTIGBgTXlGdW5jdGlvbmBgLlxuICogICArICAqRnVuY3Rpb24gQVJOKiDigJMgYGBhcm46YXdzOmxhbWJkYTp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOmZ1bmN0aW9uOk15RnVuY3Rpb25gYC5cbiAqICAgKyAgKlZlcnNpb24gb3IgQWxpYXMgQVJOKiDigJMgYGBhcm46YXdzOmxhbWJkYTp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOmZ1bmN0aW9uOk15RnVuY3Rpb246UFJPRGBgLlxuICogICArICAqUGFydGlhbCBBUk4qIOKAkyBgYDEyMzQ1Njc4OTAxMjpmdW5jdGlvbjpNeUZ1bmN0aW9uYGAuXG4gKiAgIFxuICogIFRoZSBsZW5ndGggY29uc3RyYWludCBhcHBsaWVzIG9ubHkgdG8gdGhlIGZ1bGwgQVJOLiBJZiB5b3Ugc3BlY2lmeSBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lLCBpdCdzIGxpbWl0ZWQgdG8gNjQgY2hhcmFjdGVycyBpbiBsZW5ndGguXG4gKi9cbkZ1bmN0aW9uTmFtZTogc3RyaW5nXG4vKipcbiAqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lLCBpbiBzZWNvbmRzLCB0aGF0IExhbWJkYSBzcGVuZHMgZ2F0aGVyaW5nIHJlY29yZHMgYmVmb3JlIGludm9raW5nIHRoZSBmdW5jdGlvbi5cbiAqICAqRGVmYXVsdCAoLCAsIGV2ZW50IHNvdXJjZXMpKjogMFxuICogICpEZWZhdWx0ICgsIEthZmthLCAsIGV2ZW50IHNvdXJjZXMpKjogNTAwIG1zXG4gKiAgKlJlbGF0ZWQgc2V0dGluZzoqIEZvciBTUVMgZXZlbnQgc291cmNlcywgd2hlbiB5b3Ugc2V0IGBgQmF0Y2hTaXplYGAgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gMTAsIHlvdSBtdXN0IHNldCBgYE1heGltdW1CYXRjaGluZ1dpbmRvd0luU2Vjb25kc2BgIHRvIGF0IGxlYXN0IDEuXG4gKi9cbk1heGltdW1CYXRjaGluZ1dpbmRvd0luU2Vjb25kcz86IG51bWJlclxuLyoqXG4gKiAoS2luZXNpcyBhbmQgRHluYW1vREIgU3RyZWFtcyBvbmx5KSBEaXNjYXJkIHJlY29yZHMgb2xkZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGFnZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgLTEsIHdoaWNoIHNldHMgdGhlIG1heGltdW0gYWdlIHRvIGluZmluaXRlLiBXaGVuIHRoZSB2YWx1ZSBpcyBzZXQgdG8gaW5maW5pdGUsIExhbWJkYSBuZXZlciBkaXNjYXJkcyBvbGQgcmVjb3Jkcy5cbiAqICAgVGhlIG1pbmltdW0gdmFsaWQgdmFsdWUgZm9yIG1heGltdW0gcmVjb3JkIGFnZSBpcyA2MHMuIEFsdGhvdWdoIHZhbHVlcyBsZXNzIHRoYW4gNjAgYW5kIGdyZWF0ZXIgdGhhbiAtMSBmYWxsIHdpdGhpbiB0aGUgcGFyYW1ldGVyJ3MgYWJzb2x1dGUgcmFuZ2UsIHRoZXkgYXJlIG5vdCBhbGxvd2VkXG4gKi9cbk1heGltdW1SZWNvcmRBZ2VJblNlY29uZHM/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMgYW5kIER5bmFtb0RCIFN0cmVhbXMgb25seSkgRGlzY2FyZCByZWNvcmRzIGFmdGVyIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldHJpZXMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC0xLCB3aGljaCBzZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyaWVzIHRvIGluZmluaXRlLiBXaGVuIE1heGltdW1SZXRyeUF0dGVtcHRzIGlzIGluZmluaXRlLCBMYW1iZGEgcmV0cmllcyBmYWlsZWQgcmVjb3JkcyB1bnRpbCB0aGUgcmVjb3JkIGV4cGlyZXMgaW4gdGhlIGV2ZW50IHNvdXJjZS5cbiAqL1xuTWF4aW11bVJldHJ5QXR0ZW1wdHM/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMgYW5kIER5bmFtb0RCIFN0cmVhbXMgb25seSkgVGhlIG51bWJlciBvZiBiYXRjaGVzIHRvIHByb2Nlc3MgY29uY3VycmVudGx5IGZyb20gZWFjaCBzaGFyZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMS5cbiAqL1xuUGFyYWxsZWxpemF0aW9uRmFjdG9yPzogbnVtYmVyXG4vKipcbiAqIFRoZSBwb3NpdGlvbiBpbiBhIHN0cmVhbSBmcm9tIHdoaWNoIHRvIHN0YXJ0IHJlYWRpbmcuIFJlcXVpcmVkIGZvciBBbWF6b24gS2luZXNpcyBhbmQgQW1hem9uIER5bmFtb0RCLlxuICogICArICAqTEFURVNUKiAtIFJlYWQgb25seSBuZXcgcmVjb3Jkcy5cbiAqICAgKyAgKlRSSU1fSE9SSVpPTiogLSBQcm9jZXNzIGFsbCBhdmFpbGFibGUgcmVjb3Jkcy5cbiAqICAgKyAgKkFUX1RJTUVTVEFNUCogLSBTcGVjaWZ5IGEgdGltZSBmcm9tIHdoaWNoIHRvIHN0YXJ0IHJlYWRpbmcgcmVjb3Jkcy5cbiAqL1xuU3RhcnRpbmdQb3NpdGlvbj86IHN0cmluZ1xuLyoqXG4gKiBXaXRoIGBgU3RhcnRpbmdQb3NpdGlvbmBgIHNldCB0byBgYEFUX1RJTUVTVEFNUGBgLCB0aGUgdGltZSBmcm9tIHdoaWNoIHRvIHN0YXJ0IHJlYWRpbmcsIGluIFVuaXggdGltZSBzZWNvbmRzLiBgYFN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXBgYCBjYW5ub3QgYmUgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuU3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcD86IG51bWJlclxuLyoqXG4gKiBBIGxpc3Qgb2YgdGFncyB0byBhZGQgdG8gdGhlIGV2ZW50IHNvdXJjZSBtYXBwaW5nLlxuICogICBZb3UgbXVzdCBoYXZlIHRoZSBgYGxhbWJkYTpUYWdSZXNvdXJjZWBgLCBgYGxhbWJkYTpVbnRhZ1Jlc291cmNlYGAsIGFuZCBgYGxhbWJkYTpMaXN0VGFnc2BgIHBlcm1pc3Npb25zIGZvciB5b3VyIFtwcmluY2lwYWxdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9pZF9yb2xlc190ZXJtcy1hbmQtY29uY2VwdHMuaHRtbCkgdG8gbWFuYWdlIHRoZSBDRk4gc3RhY2suIElmIHlvdSBkb24ndCBoYXZlIHRoZXNlIHBlcm1pc3Npb25zLCB0aGVyZSBtaWdodCBiZSB1bmV4cGVjdGVkIGJlaGF2aW9yIHdpdGggc3RhY2stbGV2ZWwgdGFncyBwcm9wYWdhdGluZyB0byB0aGUgcmVzb3VyY2UgZHVyaW5nIHJlc291cmNlIGNyZWF0aW9uIGFuZCB1cGRhdGUuXG4gKi9cblRhZ3M/OiBUYWdbXVxuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgS2Fma2EgdG9waWMuXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMVxuICovXG5Ub3BpY3M/OiBzdHJpbmdbXVxuLyoqXG4gKiAoQW1hem9uIE1RKSBUaGUgbmFtZSBvZiB0aGUgQW1hem9uIE1RIGJyb2tlciBkZXN0aW5hdGlvbiBxdWV1ZSB0byBjb25zdW1lLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDFcbiAqL1xuUXVldWVzPzogc3RyaW5nW11cbi8qKlxuICogQW4gYXJyYXkgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHByb3RvY29sLCBWUEMgY29tcG9uZW50cywgb3IgdmlydHVhbCBob3N0IHRvIHNlY3VyZSBhbmQgZGVmaW5lIHlvdXIgZXZlbnQgc291cmNlLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDIyXG4gKi9cblNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb25zPzogU291cmNlQWNjZXNzQ29uZmlndXJhdGlvbltdXG4vKipcbiAqIChLaW5lc2lzIGFuZCBEeW5hbW9EQiBTdHJlYW1zIG9ubHkpIFRoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIG9mIGEgcHJvY2Vzc2luZyB3aW5kb3cgZm9yIER5bmFtb0RCIGFuZCBLaW5lc2lzIFN0cmVhbXMgZXZlbnQgc291cmNlcy4gQSB2YWx1ZSBvZiAwIHNlY29uZHMgaW5kaWNhdGVzIG5vIHR1bWJsaW5nIHdpbmRvdy5cbiAqL1xuVHVtYmxpbmdXaW5kb3dJblNlY29uZHM/OiBudW1iZXJcbi8qKlxuICogKEtpbmVzaXMsIER5bmFtb0RCIFN0cmVhbXMsIGFuZCBTUVMpIEEgbGlzdCBvZiBjdXJyZW50IHJlc3BvbnNlIHR5cGUgZW51bXMgYXBwbGllZCB0byB0aGUgZXZlbnQgc291cmNlIG1hcHBpbmcuXG4gKiAgVmFsaWQgVmFsdWVzOiBgYFJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzYGBcbiAqL1xuRnVuY3Rpb25SZXNwb25zZVR5cGVzPzogKFwiUmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNcIilbXVxuU2VsZk1hbmFnZWRFdmVudFNvdXJjZT86IFNlbGZNYW5hZ2VkRXZlbnRTb3VyY2VcbkFtYXpvbk1hbmFnZWRLYWZrYUV2ZW50U291cmNlQ29uZmlnPzogQW1hem9uTWFuYWdlZEthZmthRXZlbnRTb3VyY2VDb25maWdcblNlbGZNYW5hZ2VkS2Fma2FFdmVudFNvdXJjZUNvbmZpZz86IFNlbGZNYW5hZ2VkS2Fma2FFdmVudFNvdXJjZUNvbmZpZ1xuU2NhbGluZ0NvbmZpZz86IFNjYWxpbmdDb25maWdcbkRvY3VtZW50REJFdmVudFNvdXJjZUNvbmZpZz86IERvY3VtZW50REJFdmVudFNvdXJjZUNvbmZpZ1xuUHJvdmlzaW9uZWRQb2xsZXJDb25maWc/OiBQcm92aXNpb25lZFBvbGxlckNvbmZpZ1xuTWV0cmljc0NvbmZpZz86IE1ldHJpY3NDb25maWdcbn1cbi8qKlxuICogKEtpbmVzaXMsIER5bmFtb0RCIFN0cmVhbXMsIEFtYXpvbiBNU0ssIGFuZCBzZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthIGV2ZW50IHNvdXJjZXMgb25seSkgQSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IHNwZWNpZmllcyB0aGUgZGVzdGluYXRpb24gb2YgYW4gZXZlbnQgYWZ0ZXIgTGFtYmRhIHByb2Nlc3NlcyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXN0aW5hdGlvbkNvbmZpZyB7XG5PbkZhaWx1cmU/OiBPbkZhaWx1cmVcbn1cbi8qKlxuICogVGhlIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGZhaWxlZCBpbnZvY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbkZhaWx1cmUge1xuLyoqXG4gKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGRlc3RpbmF0aW9uIHJlc291cmNlLlxuICogIFRvIHJldGFpbiByZWNvcmRzIG9mIHVuc3VjY2Vzc2Z1bCBbYXN5bmNocm9ub3VzIGludm9jYXRpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9pbnZvY2F0aW9uLWFzeW5jLmh0bWwjaW52b2NhdGlvbi1hc3luYy1kZXN0aW5hdGlvbnMpLCB5b3UgY2FuIGNvbmZpZ3VyZSBhbiBBbWF6b24gU05TIHRvcGljLCBBbWF6b24gU1FTIHF1ZXVlLCBBbWF6b24gUzMgYnVja2V0LCBMYW1iZGEgZnVuY3Rpb24sIG9yIEFtYXpvbiBFdmVudEJyaWRnZSBldmVudCBidXMgYXMgdGhlIGRlc3RpbmF0aW9uLlxuICogIFRvIHJldGFpbiByZWNvcmRzIG9mIGZhaWxlZCBpbnZvY2F0aW9ucyBmcm9tIFtLaW5lc2lzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLWtpbmVzaXMuaHRtbCksIFtEeW5hbW9EQl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1kZGIuaHRtbCksIFtzZWxmLW1hbmFnZWQgS2Fma2FdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgta2Fma2EuaHRtbCNzZXJ2aWNlcy1zbWFhLW9uZmFpbHVyZS1kZXN0aW5hdGlvbikgb3IgW0FtYXpvbiBNU0tdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtbXNrLmh0bWwjc2VydmljZXMtbXNrLW9uZmFpbHVyZS1kZXN0aW5hdGlvbiksIHlvdSBjYW4gY29uZmlndXJlIGFuIEFtYXpvbiBTTlMgdG9waWMsIEFtYXpvbiBTUVMgcXVldWUsIG9yIEFtYXpvbiBTMyBidWNrZXQgYXMgdGhlIGRlc3RpbmF0aW9uLlxuICovXG5EZXN0aW5hdGlvbj86IHN0cmluZ1xufVxuLyoqXG4gKiBBbiBvYmplY3QgdGhhdCBkZWZpbmVzIHRoZSBmaWx0ZXIgY3JpdGVyaWEgdGhhdCBkZXRlcm1pbmUgd2hldGhlciBMYW1iZGEgc2hvdWxkIHByb2Nlc3MgYW4gZXZlbnQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0xhbWJkYSBldmVudCBmaWx0ZXJpbmddKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2ludm9jYXRpb24tZXZlbnRmaWx0ZXJpbmcuaHRtbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ3JpdGVyaWEge1xuLyoqXG4gKiBBIGxpc3Qgb2YgZmlsdGVycy5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyMFxuICovXG5GaWx0ZXJzPzogRmlsdGVyW11cbn1cbi8qKlxuICogQSBzdHJ1Y3R1cmUgd2l0aGluIGEgYGBGaWx0ZXJDcml0ZXJpYWBgIG9iamVjdCB0aGF0IGRlZmluZXMgYW4gZXZlbnQgZmlsdGVyaW5nIHBhdHRlcm4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbi8qKlxuICogQSBmaWx0ZXIgcGF0dGVybi4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIHN5bnRheCBvZiBhIGZpbHRlciBwYXR0ZXJuLCBzZWUgW0ZpbHRlciBydWxlIHN5bnRheF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudGZpbHRlcmluZy5odG1sI2ZpbHRlcmluZy1zeW50YXgpLlxuICovXG5QYXR0ZXJuPzogc3RyaW5nXG59XG4vKipcbiAqIEEgW3RhZ10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvdGFnZ2luZy5odG1sKSB0byBhcHBseSB0byB0aGUgZXZlbnQgc291cmNlIG1hcHBpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbi8qKlxuICogVGhlIGtleSBmb3IgdGhpcyB0YWcuXG4gKi9cbktleTogc3RyaW5nXG4vKipcbiAqIFRoZSB2YWx1ZSBmb3IgdGhpcyB0YWcuXG4gKi9cblZhbHVlPzogc3RyaW5nXG59XG4vKipcbiAqIEFuIGFycmF5IG9mIHRoZSBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCwgVlBDIGNvbXBvbmVudHMsIG9yIHZpcnR1YWwgaG9zdCB0byBzZWN1cmUgYW5kIGRlZmluZSB5b3VyIGV2ZW50IHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIHR5cGUgb2YgYXV0aGVudGljYXRpb24gcHJvdG9jb2wsIFZQQyBjb21wb25lbnRzLCBvciB2aXJ0dWFsIGhvc3QgZm9yIHlvdXIgZXZlbnQgc291cmNlLiBGb3IgZXhhbXBsZTogYGBcIlR5cGVcIjpcIlNBU0xfU0NSQU1fNTEyX0FVVEhcImBgLlxuICogICArICBgYEJBU0lDX0FVVEhgYCDigJMgKEFtYXpvbiBNUSkgVGhlIEFTTWxvbmcgc2VjcmV0IHRoYXQgc3RvcmVzIHlvdXIgYnJva2VyIGNyZWRlbnRpYWxzLlxuICogICArICBgYEJBU0lDX0FVVEhgYCDigJMgKFNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EpIFRoZSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9mIHlvdXIgc2VjcmV0IGtleSB1c2VkIGZvciBTQVNML1BMQUlOIGF1dGhlbnRpY2F0aW9uIG9mIHlvdXIgQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gKiAgICsgIGBgVlBDX1NVQk5FVGBgIOKAkyAoU2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSkgVGhlIHN1Ym5ldHMgYXNzb2NpYXRlZCB3aXRoIHlvdXIgVlBDLiBMYW1iZGEgY29ubmVjdHMgdG8gdGhlc2Ugc3VibmV0cyB0byBmZXRjaCBkYXRhIGZyb20geW91ciBzZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthIGNsdXN0ZXIuXG4gKiAgICsgIGBgVlBDX1NFQ1VSSVRZX0dST1VQYGAg4oCTIChTZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthKSBUaGUgVlBDIHNlY3VyaXR5IGdyb3VwIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byB5b3VyIHNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EgYnJva2Vycy5cbiAqICAgKyAgYGBTQVNMX1NDUkFNXzI1Nl9BVVRIYGAg4oCTIChTZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthKSBUaGUgU2VjcmV0cyBNYW5hZ2VyIEFSTiBvZiB5b3VyIHNlY3JldCBrZXkgdXNlZCBmb3IgU0FTTCBTQ1JBTS0yNTYgYXV0aGVudGljYXRpb24gb2YgeW91ciBzZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gKiAgICsgIGBgU0FTTF9TQ1JBTV81MTJfQVVUSGBgIOKAkyAoQW1hem9uIE1TSywgU2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSkgVGhlIFNlY3JldHMgTWFuYWdlciBBUk4gb2YgeW91ciBzZWNyZXQga2V5IHVzZWQgZm9yIFNBU0wgU0NSQU0tNTEyIGF1dGhlbnRpY2F0aW9uIG9mIHlvdXIgc2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSBicm9rZXJzLlxuICogICArICBgYFZJUlRVQUxfSE9TVGBgIOKAky0gKFJhYmJpdE1RKSBUaGUgbmFtZSBvZiB0aGUgdmlydHVhbCBob3N0IGluIHlvdXIgUmFiYml0TVEgYnJva2VyLiBMYW1iZGEgdXNlcyB0aGlzIFJhYmJpdE1RIGhvc3QgYXMgdGhlIGV2ZW50IHNvdXJjZS4gVGhpcyBwcm9wZXJ0eSBjYW5ub3QgYmUgc3BlY2lmaWVkIGluIGFuIFVwZGF0ZUV2ZW50U291cmNlTWFwcGluZyBBUEkgY2FsbC5cbiAqICAgKyAgYGBDTElFTlRfQ0VSVElGSUNBVEVfVExTX0FVVEhgYCDigJMgKEFtYXpvbiBNU0ssIHNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2EpIFRoZSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9mIHlvdXIgc2VjcmV0IGtleSBjb250YWluaW5nIHRoZSBjZXJ0aWZpY2F0ZSBjaGFpbiAoWC41MDkgUEVNKSwgcHJpdmF0ZSBrZXkgKFBLQ1MjOCBQRU0pLCBhbmQgcHJpdmF0ZSBrZXkgcGFzc3dvcmQgKG9wdGlvbmFsKSB1c2VkIGZvciBtdXR1YWwgVExTIGF1dGhlbnRpY2F0aW9uIG9mIHlvdXIgTVNLL0FwYWNoZSBLYWZrYSBicm9rZXJzLlxuICogICArICBgYFNFUlZFUl9ST09UX0NBX0NFUlRJRklDQVRFYGAg4oCTIChTZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthKSBUaGUgU2VjcmV0cyBNYW5hZ2VyIEFSTiBvZiB5b3VyIHNlY3JldCBrZXkgY29udGFpbmluZyB0aGUgcm9vdCBDQSBjZXJ0aWZpY2F0ZSAoWC41MDkgUEVNKSB1c2VkIGZvciBUTFMgZW5jcnlwdGlvbiBvZiB5b3VyIEFwYWNoZSBLYWZrYSBicm9rZXJzLlxuICovXG5UeXBlPzogKFwiQkFTSUNfQVVUSFwiIHwgXCJWUENfU1VCTkVUXCIgfCBcIlZQQ19TRUNVUklUWV9HUk9VUFwiIHwgXCJTQVNMX1NDUkFNXzUxMl9BVVRIXCIgfCBcIlNBU0xfU0NSQU1fMjU2X0FVVEhcIiB8IFwiVklSVFVBTF9IT1NUXCIgfCBcIkNMSUVOVF9DRVJUSUZJQ0FURV9UTFNfQVVUSFwiIHwgXCJTRVJWRVJfUk9PVF9DQV9DRVJUSUZJQ0FURVwiKVxuLyoqXG4gKiBUaGUgdmFsdWUgZm9yIHlvdXIgY2hvc2VuIGNvbmZpZ3VyYXRpb24gaW4gYGBUeXBlYGAuIEZvciBleGFtcGxlOiBgYFwiVVJJXCI6IFwiYXJuOmF3czpzZWNyZXRzbWFuYWdlcjp1cy1lYXN0LTE6MDEyMzQ1Njc4OTA6c2VjcmV0Ok15QnJva2VyU2VjcmV0TmFtZVwiYGAuXG4gKi9cblVSST86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgc2VsZi1tYW5hZ2VkIEFwYWNoZSBLYWZrYSBjbHVzdGVyIGZvciB5b3VyIGV2ZW50IHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxmTWFuYWdlZEV2ZW50U291cmNlIHtcbkVuZHBvaW50cz86IEVuZHBvaW50c1xufVxuLyoqXG4gKiBUaGUgbGlzdCBvZiBib290c3RyYXAgc2VydmVycyBmb3IgeW91ciBLYWZrYSBicm9rZXJzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgYFwiS2Fma2FCb290c3RyYXBTZXJ2ZXJzXCI6IFtcImFiYy54eXouY29tOnh4eHhcIixcImFiYzIueHl6LmNvbTp4eHh4XCJdYGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5kcG9pbnRzIHtcbi8qKlxuICogVGhlIGxpc3Qgb2YgYm9vdHN0cmFwIHNlcnZlcnMgZm9yIHlvdXIgS2Fma2EgYnJva2VycyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDogYGBcIkthZmthQm9vdHN0cmFwU2VydmVyc1wiOiBbXCJhYmMueHl6LmNvbTp4eHh4XCIsXCJhYmMyLnh5ei5jb206eHh4eFwiXWBgLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDEwXG4gKi9cbkthZmthQm9vdHN0cmFwU2VydmVycz86IHN0cmluZ1tdXG59XG4vKipcbiAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIGFuIEFtYXpvbiBNYW5hZ2VkIFN0cmVhbWluZyBmb3IgQXBhY2hlIEthZmthIChBbWF6b24gTVNLKSBldmVudCBzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uTWFuYWdlZEthZmthRXZlbnRTb3VyY2VDb25maWcge1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBmb3IgdGhlIEthZmthIGNvbnN1bWVyIGdyb3VwIHRvIGpvaW4uIFRoZSBjb25zdW1lciBncm91cCBJRCBtdXN0IGJlIHVuaXF1ZSBhbW9uZyBhbGwgeW91ciBLYWZrYSBldmVudCBzb3VyY2VzLiBBZnRlciBjcmVhdGluZyBhIEthZmthIGV2ZW50IHNvdXJjZSBtYXBwaW5nIHdpdGggdGhlIGNvbnN1bWVyIGdyb3VwIElEIHNwZWNpZmllZCwgeW91IGNhbm5vdCB1cGRhdGUgdGhpcyB2YWx1ZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbQ3VzdG9taXphYmxlIGNvbnN1bWVyIGdyb3VwIElEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLW1zay5odG1sI3NlcnZpY2VzLW1zay1jb25zdW1lci1ncm91cC1pZCkuXG4gKi9cbkNvbnN1bWVyR3JvdXBJZD86IHN0cmluZ1xuU2NoZW1hUmVnaXN0cnlDb25maWc/OiBTY2hlbWFSZWdpc3RyeUNvbmZpZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTY2hlbWFSZWdpc3RyeUNvbmZpZyB7XG5TY2hlbWFSZWdpc3RyeVVSST86IHN0cmluZ1xuRXZlbnRSZWNvcmRGb3JtYXQ/OiAoXCJKU09OXCIgfCBcIlNPVVJDRVwiKVxuLyoqXG4gKiBAbWF4SXRlbXMgMlxuICovXG5BY2Nlc3NDb25maWdzPzogU2NoZW1hUmVnaXN0cnlBY2Nlc3NDb25maWdbXVxuLyoqXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDJcbiAqL1xuU2NoZW1hVmFsaWRhdGlvbkNvbmZpZ3M/OiBTY2hlbWFWYWxpZGF0aW9uQ29uZmlnW11cbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hUmVnaXN0cnlBY2Nlc3NDb25maWcge1xuVHlwZT86IChcIkJBU0lDX0FVVEhcIiB8IFwiQ0xJRU5UX0NFUlRJRklDQVRFX1RMU19BVVRIXCIgfCBcIlNFUlZFUl9ST09UX0NBX0NFUlRJRklDQVRFXCIpXG5VUkk/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hVmFsaWRhdGlvbkNvbmZpZyB7XG5BdHRyaWJ1dGU/OiAoXCJLRVlcIiB8IFwiVkFMVUVcIilcbn1cbi8qKlxuICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgYSBzZWxmLW1hbmFnZWQgQXBhY2hlIEthZmthIGV2ZW50IHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxmTWFuYWdlZEthZmthRXZlbnRTb3VyY2VDb25maWcge1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBmb3IgdGhlIEthZmthIGNvbnN1bWVyIGdyb3VwIHRvIGpvaW4uIFRoZSBjb25zdW1lciBncm91cCBJRCBtdXN0IGJlIHVuaXF1ZSBhbW9uZyBhbGwgeW91ciBLYWZrYSBldmVudCBzb3VyY2VzLiBBZnRlciBjcmVhdGluZyBhIEthZmthIGV2ZW50IHNvdXJjZSBtYXBwaW5nIHdpdGggdGhlIGNvbnN1bWVyIGdyb3VwIElEIHNwZWNpZmllZCwgeW91IGNhbm5vdCB1cGRhdGUgdGhpcyB2YWx1ZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbQ3VzdG9taXphYmxlIGNvbnN1bWVyIGdyb3VwIElEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLWthZmthLXByb2Nlc3MuaHRtbCNzZXJ2aWNlcy1zbWFhLXRvcGljLWFkZCkuXG4gKi9cbkNvbnN1bWVyR3JvdXBJZD86IHN0cmluZ1xuU2NoZW1hUmVnaXN0cnlDb25maWc/OiBTY2hlbWFSZWdpc3RyeUNvbmZpZzFcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hUmVnaXN0cnlDb25maWcxIHtcblNjaGVtYVJlZ2lzdHJ5VVJJPzogc3RyaW5nXG5FdmVudFJlY29yZEZvcm1hdD86IChcIkpTT05cIiB8IFwiU09VUkNFXCIpXG4vKipcbiAqIEBtYXhJdGVtcyAyXG4gKi9cbkFjY2Vzc0NvbmZpZ3M/OiBTY2hlbWFSZWdpc3RyeUFjY2Vzc0NvbmZpZ1tdXG4vKipcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMlxuICovXG5TY2hlbWFWYWxpZGF0aW9uQ29uZmlncz86IFNjaGVtYVZhbGlkYXRpb25Db25maWdbXVxufVxuLyoqXG4gKiAoQW1hem9uIFNRUyBvbmx5KSBUaGUgc2NhbGluZyBjb25maWd1cmF0aW9uIGZvciB0aGUgZXZlbnQgc291cmNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtDb25maWd1cmluZyBtYXhpbXVtIGNvbmN1cnJlbmN5IGZvciBBbWF6b24gU1FTIGV2ZW50IHNvdXJjZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtc3FzLmh0bWwjZXZlbnRzLXNxcy1tYXgtY29uY3VycmVuY3kpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWxpbmdDb25maWcge1xuLyoqXG4gKiBMaW1pdHMgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IGluc3RhbmNlcyB0aGF0IHRoZSBTUVMgZXZlbnQgc291cmNlIGNhbiBpbnZva2UuXG4gKi9cbk1heGltdW1Db25jdXJyZW5jeT86IG51bWJlclxufVxuLyoqXG4gKiBTcGVjaWZpYyBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciBhIERvY3VtZW50REIgZXZlbnQgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50REJFdmVudFNvdXJjZUNvbmZpZyB7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSB0byBjb25zdW1lIHdpdGhpbiB0aGUgRG9jdW1lbnREQiBjbHVzdGVyLlxuICovXG5EYXRhYmFzZU5hbWU/OiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGNvbGxlY3Rpb24gdG8gY29uc3VtZSB3aXRoaW4gdGhlIGRhdGFiYXNlLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgYSBjb2xsZWN0aW9uLCBMYW1iZGEgY29uc3VtZXMgYWxsIGNvbGxlY3Rpb25zLlxuICovXG5Db2xsZWN0aW9uTmFtZT86IHN0cmluZ1xuLyoqXG4gKiBEZXRlcm1pbmVzIHdoYXQgRG9jdW1lbnREQiBzZW5kcyB0byB5b3VyIGV2ZW50IHN0cmVhbSBkdXJpbmcgZG9jdW1lbnQgdXBkYXRlIG9wZXJhdGlvbnMuIElmIHNldCB0byBVcGRhdGVMb29rdXAsIERvY3VtZW50REIgc2VuZHMgYSBkZWx0YSBkZXNjcmliaW5nIHRoZSBjaGFuZ2VzLCBhbG9uZyB3aXRoIGEgY29weSBvZiB0aGUgZW50aXJlIGRvY3VtZW50LiBPdGhlcndpc2UsIERvY3VtZW50REIgc2VuZHMgb25seSBhIHBhcnRpYWwgZG9jdW1lbnQgdGhhdCBjb250YWlucyB0aGUgY2hhbmdlcy5cbiAqL1xuRnVsbERvY3VtZW50PzogKFwiVXBkYXRlTG9va3VwXCIgfCBcIkRlZmF1bHRcIilcbn1cbi8qKlxuICogKEFtYXpvbiBNU0sgYW5kIHNlbGYtbWFuYWdlZCBBcGFjaGUgS2Fma2Egb25seSkgVGhlIHByb3Zpc2lvbmVkIG1vZGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGV2ZW50IHNvdXJjZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbcHJvdmlzaW9uZWQgbW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudHNvdXJjZW1hcHBpbmcuaHRtbCNpbnZvY2F0aW9uLWV2ZW50c291cmNlbWFwcGluZy1wcm92aXNpb25lZC1tb2RlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm92aXNpb25lZFBvbGxlckNvbmZpZyB7XG4vKipcbiAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBldmVudCBwb2xsZXJzIHRoaXMgZXZlbnQgc291cmNlIGNhbiBzY2FsZSBkb3duIHRvLlxuICovXG5NaW5pbXVtUG9sbGVycz86IG51bWJlclxuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZXZlbnQgcG9sbGVycyB0aGlzIGV2ZW50IHNvdXJjZSBjYW4gc2NhbGUgdXAgdG8uXG4gKi9cbk1heGltdW1Qb2xsZXJzPzogbnVtYmVyXG59XG4vKipcbiAqIFRoZSBtZXRyaWNzIGNvbmZpZ3VyYXRpb24gZm9yIHlvdXIgZXZlbnQgc291cmNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtFdmVudCBzb3VyY2UgbWFwcGluZyBtZXRyaWNzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9tb25pdG9yaW5nLW1ldHJpY3MtdHlwZXMuaHRtbCNldmVudC1zb3VyY2UtbWFwcGluZy1tZXRyaWNzKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNzQ29uZmlnIHtcbi8qKlxuICogVGhlIG1ldHJpY3MgeW91IHdhbnQgeW91ciBldmVudCBzb3VyY2UgbWFwcGluZyB0byBwcm9kdWNlLiBJbmNsdWRlIGBgRXZlbnRDb3VudGBgIHRvIHJlY2VpdmUgZXZlbnQgc291cmNlIG1hcHBpbmcgbWV0cmljcyByZWxhdGVkIHRvIHRoZSBudW1iZXIgb2YgZXZlbnRzIHByb2Nlc3NlZCBieSB5b3VyIGV2ZW50IHNvdXJjZSBtYXBwaW5nLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRyaWNzLCBzZWUgW0V2ZW50IHNvdXJjZSBtYXBwaW5nIG1ldHJpY3NdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL21vbml0b3JpbmctbWV0cmljcy10eXBlcy5odG1sI2V2ZW50LXNvdXJjZS1tYXBwaW5nLW1ldHJpY3MpLlxuICogXG4gKiBAbWluSXRlbXMgMFxuICogQG1heEl0ZW1zIDFcbiAqL1xuTWV0cmljcz86IChcIkV2ZW50Q291bnRcIilbXVxufVxuIl19
@@ -99,6 +99,10 @@ export type DatabaseVpcEndpointService = string;
99
99
  * The webserver VPC endpoint service name, applicable if private webserver access mode selected.
100
100
  */
101
101
  export type WebserverVpcEndpointService = string;
102
+ /**
103
+ * The worker replacement strategy to use when updating the environment. Valid values: `FORCED`, `GRACEFUL`. FORCED means Apache Airflow workers will be stopped and replaced without waiting for tasks to complete before an update. GRACEFUL means Apache Airflow workers will be able to complete running tasks for up to 12 hours during an update before being stopped and replaced.
104
+ */
105
+ export type WorkerReplacementStrategy = ("FORCED" | "GRACEFUL");
102
106
  /**
103
107
  * Resource schema for AWS::MWAA::Environment
104
108
  */
@@ -151,6 +155,7 @@ export interface _AWS_MWAA_ENVIRONMENT {
151
155
  CeleryExecutorQueue?: CeleryExecutorQueue;
152
156
  DatabaseVpcEndpointService?: DatabaseVpcEndpointService;
153
157
  WebserverVpcEndpointService?: WebserverVpcEndpointService;
158
+ WorkerReplacementStrategy?: WorkerReplacementStrategy;
154
159
  }
155
160
  /**
156
161
  * Configures the network resources of the environment.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLW13YWEtZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtbXdhYS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXN0b21lci1kZWZpbmVkIGlkZW50aWZpZXIgZm9yIHRoZSBlbnZpcm9ubWVudCwgdW5pcXVlIHBlciBjdXN0b21lciByZWdpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50TmFtZSA9IHN0cmluZ1xuLyoqXG4gKiBBUk4gZm9yIHRoZSBNV0FBIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudEFybiA9IHN0cmluZ1xuLyoqXG4gKiBVcmwgZW5kcG9pbnQgZm9yIHRoZSBlbnZpcm9ubWVudCdzIEFpcmZsb3cgVUkuXG4gKi9cbmV4cG9ydCB0eXBlIFdlYnNlcnZlclVybCA9IHN0cmluZ1xuLyoqXG4gKiBJQU0gcm9sZSB0byBiZSB1c2VkIGJ5IHRhc2tzLlxuICovXG5leHBvcnQgdHlwZSBFeGVjdXRpb25Sb2xlQXJuID0gc3RyaW5nXG4vKipcbiAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBBV1MgS2V5IE1hbmFnZW1lbnQgU2VydmljZSAoQVdTIEtNUykgY3VzdG9tZXIgbWFzdGVyIGtleSAoQ01LKSB0byB1c2UgZm9yIE1XQUEgZGF0YSBlbmNyeXB0aW9uLlxuICogXG4gKiAgICAgWW91IGNhbiBzcGVjaWZ5IHRoZSBDTUsgdXNpbmcgYW55IG9mIHRoZSBmb2xsb3dpbmc6XG4gKiBcbiAqICAgICBLZXkgSUQuIEZvciBleGFtcGxlLCBrZXkvMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MGFiLlxuICogXG4gKiAgICAgS2V5IGFsaWFzLiBGb3IgZXhhbXBsZSwgYWxpYXMvRXhhbXBsZUFsaWFzLlxuICogXG4gKiAgICAgS2V5IEFSTi4gRm9yIGV4YW1wbGUsIGFybjphd3M6a21zOnVzLWVhc3QtMTowMTIzNDU2Nzg5MTA6a2V5L2FiY2QxMjM0LWExMjMtNDU2YS1hMTJiLWExMjNiNGNkNTZlZi5cbiAqIFxuICogICAgIEFsaWFzIEFSTi4gRm9yIGV4YW1wbGUsIGFybjphd3M6a21zOnVzLWVhc3QtMTowMTIzNDU2Nzg5MTA6YWxpYXMvRXhhbXBsZUFsaWFzLlxuICogXG4gKiAgICAgQVdTIGF1dGhlbnRpY2F0ZXMgdGhlIENNSyBhc3luY2hyb25vdXNseS4gVGhlcmVmb3JlLCBpZiB5b3Ugc3BlY2lmeSBhbiBJRCwgYWxpYXMsIG9yIEFSTiB0aGF0IGlzIG5vdCB2YWxpZCwgdGhlIGFjdGlvbiBjYW4gYXBwZWFyIHRvIGNvbXBsZXRlLCBidXQgZXZlbnR1YWxseSBmYWlscy5cbiAqL1xuZXhwb3J0IHR5cGUgS21zS2V5ID0gc3RyaW5nXG4vKipcbiAqIFZlcnNpb24gb2YgYWlyZmxvdyB0byBkZXBsb3kgdG8gdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgdHlwZSBBaXJmbG93VmVyc2lvbiA9IHN0cmluZ1xuLyoqXG4gKiBBUk4gZm9yIHRoZSBBV1MgUzMgYnVja2V0IHRvIHVzZSBhcyB0aGUgc291cmNlIG9mIERBR3MgYW5kIHBsdWdpbnMgZm9yIHRoZSBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUzNCdWNrZXRBcm4gPSBzdHJpbmdcbi8qKlxuICogUmVwcmVzZW50cyBhbiBTMyBwcmVmaXggcmVsYXRpdmUgdG8gdGhlIHJvb3Qgb2YgYW4gUzMgYnVja2V0LlxuICovXG5leHBvcnQgdHlwZSBSZWxhdGl2ZVBhdGggPSBzdHJpbmdcbi8qKlxuICogUmVwcmVzZW50cyBhbiB2ZXJzaW9uIElEIGZvciBhbiBTMyBvYmplY3QuXG4gKi9cbmV4cG9ydCB0eXBlIFMzT2JqZWN0VmVyc2lvbiA9IHN0cmluZ1xuLyoqXG4gKiBUZW1wbGF0ZWQgY29uZmlndXJhdGlvbiBmb3IgYWlyZmxvdyBwcm9jZXNzZXMgYW5kIGJhY2tpbmcgaW5mcmFzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50Q2xhc3MgPSBzdHJpbmdcbi8qKlxuICogTWF4aW11bSB3b3JrZXIgY29tcHV0ZSB1bml0cy5cbiAqL1xuZXhwb3J0IHR5cGUgTWF4V29ya2VycyA9IG51bWJlclxuLyoqXG4gKiBNaW5pbXVtIHdvcmtlciBjb21wdXRlIHVuaXRzLlxuICovXG5leHBvcnQgdHlwZSBNaW5Xb3JrZXJzID0gbnVtYmVyXG4vKipcbiAqIE1heGltdW0gd2Vic2VydmVyIGNvbXB1dGUgdW5pdHMuXG4gKi9cbmV4cG9ydCB0eXBlIE1heFdlYnNlcnZlcnMgPSBudW1iZXJcbi8qKlxuICogTWluaW11bSB3ZWJzZXJ2ZXIgY29tcHV0ZSB1bml0cy5cbiAqL1xuZXhwb3J0IHR5cGUgTWluV2Vic2VydmVycyA9IG51bWJlclxuLyoqXG4gKiBTY2hlZHVsZXIgY29tcHV0ZSB1bml0cy5cbiAqL1xuZXhwb3J0IHR5cGUgU2NoZWR1bGVycyA9IG51bWJlclxuZXhwb3J0IHR5cGUgU3VibmV0SWQgPSBzdHJpbmdcbmV4cG9ydCB0eXBlIFNlY3VyaXR5R3JvdXBJZCA9IHN0cmluZ1xuZXhwb3J0IHR5cGUgTG9nZ2luZ0VuYWJsZWQgPSBib29sZWFuXG5leHBvcnQgdHlwZSBMb2dnaW5nTGV2ZWwgPSAoXCJDUklUSUNBTFwiIHwgXCJFUlJPUlwiIHwgXCJXQVJOSU5HXCIgfCBcIklORk9cIiB8IFwiREVCVUdcIilcbmV4cG9ydCB0eXBlIENsb3VkV2F0Y2hMb2dHcm91cEFybiA9IHN0cmluZ1xuLyoqXG4gKiBTdGFydCB0aW1lIGZvciB0aGUgd2Vla2x5IG1haW50ZW5hbmNlIHdpbmRvdy5cbiAqL1xuZXhwb3J0IHR5cGUgV2Vla2x5TWFpbnRlbmFuY2VXaW5kb3dTdGFydCA9IHN0cmluZ1xuLyoqXG4gKiBDaG9pY2UgZm9yIG1vZGUgb2Ygd2Vic2VydmVyIGFjY2VzcyBpbmNsdWRpbmcgb3ZlciBwdWJsaWMgaW50ZXJuZXQgb3IgdmlhIHByaXZhdGUgVlBDIGVuZHBvaW50LlxuICovXG5leHBvcnQgdHlwZSBXZWJzZXJ2ZXJBY2Nlc3NNb2RlID0gKFwiUFJJVkFURV9PTkxZXCIgfCBcIlBVQkxJQ19PTkxZXCIpXG4vKipcbiAqIERlZmluZXMgd2hldGhlciB0aGUgVlBDIGVuZHBvaW50cyBjb25maWd1cmVkIGZvciB0aGUgZW52aXJvbm1lbnQgYXJlIGNyZWF0ZWQsIGFuZCBtYW5hZ2VkLCBieSB0aGUgY3VzdG9tZXIgb3IgYnkgQW1hem9uIE1XQUEuXG4gKi9cbmV4cG9ydCB0eXBlIEVuZHBvaW50TWFuYWdlbWVudCA9IChcIkNVU1RPTUVSXCIgfCBcIlNFUlZJQ0VcIilcbi8qKlxuICogVGhlIGNlbGVyeSBleGVjdXRvciBxdWV1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgdHlwZSBDZWxlcnlFeGVjdXRvclF1ZXVlID0gc3RyaW5nXG4vKipcbiAqIFRoZSBkYXRhYmFzZSBWUEMgZW5kcG9pbnQgc2VydmljZSBuYW1lLlxuICovXG5leHBvcnQgdHlwZSBEYXRhYmFzZVZwY0VuZHBvaW50U2VydmljZSA9IHN0cmluZ1xuLyoqXG4gKiBUaGUgd2Vic2VydmVyIFZQQyBlbmRwb2ludCBzZXJ2aWNlIG5hbWUsIGFwcGxpY2FibGUgaWYgcHJpdmF0ZSB3ZWJzZXJ2ZXIgYWNjZXNzIG1vZGUgc2VsZWN0ZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFdlYnNlcnZlclZwY0VuZHBvaW50U2VydmljZSA9IHN0cmluZ1xuXG4vKipcbiAqIFJlc291cmNlIHNjaGVtYSBmb3IgQVdTOjpNV0FBOjpFbnZpcm9ubWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfTVdBQV9FTlZJUk9OTUVOVCB7XG5OYW1lOiBFbnZpcm9ubWVudE5hbWVcbkFybj86IEVudmlyb25tZW50QXJuXG5XZWJzZXJ2ZXJVcmw/OiBXZWJzZXJ2ZXJVcmxcbkV4ZWN1dGlvblJvbGVBcm4/OiBFeGVjdXRpb25Sb2xlQXJuXG5LbXNLZXk/OiBLbXNLZXlcbkFpcmZsb3dWZXJzaW9uPzogQWlyZmxvd1ZlcnNpb25cblNvdXJjZUJ1Y2tldEFybj86IFMzQnVja2V0QXJuXG5EYWdTM1BhdGg/OiBSZWxhdGl2ZVBhdGhcblBsdWdpbnNTM1BhdGg/OiBSZWxhdGl2ZVBhdGhcblBsdWdpbnNTM09iamVjdFZlcnNpb24/OiBTM09iamVjdFZlcnNpb25cblJlcXVpcmVtZW50c1MzUGF0aD86IFJlbGF0aXZlUGF0aFxuUmVxdWlyZW1lbnRzUzNPYmplY3RWZXJzaW9uPzogUzNPYmplY3RWZXJzaW9uXG5TdGFydHVwU2NyaXB0UzNQYXRoPzogUmVsYXRpdmVQYXRoXG5TdGFydHVwU2NyaXB0UzNPYmplY3RWZXJzaW9uPzogUzNPYmplY3RWZXJzaW9uXG4vKipcbiAqIEtleS92YWx1ZSBwYWlycyByZXByZXNlbnRpbmcgQWlyZmxvdyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy5cbiAqICAgICBLZXlzIGFyZSBwcmVmaXhlZCBieSB0aGVpciBzZWN0aW9uOlxuICogXG4gKiAgICAgW2NvcmVdXG4gKiAgICAgZGFnc19mb2xkZXI9e0FJUkZMT1dfSE9NRX0vZGFnc1xuICogXG4gKiAgICAgV291bGQgYmUgcmVwcmVzZW50ZWQgYXNcbiAqIFxuICogICAgIFwiY29yZS5kYWdzX2ZvbGRlclwiOiBcIntBSVJGTE9XX0hPTUV9L2RhZ3NcIlxuICovXG5BaXJmbG93Q29uZmlndXJhdGlvbk9wdGlvbnM/OiB7XG5bazogc3RyaW5nXTogdW5rbm93blxufVxuRW52aXJvbm1lbnRDbGFzcz86IEVudmlyb25tZW50Q2xhc3Ncbk1heFdvcmtlcnM/OiBNYXhXb3JrZXJzXG5NaW5Xb3JrZXJzPzogTWluV29ya2Vyc1xuTWF4V2Vic2VydmVycz86IE1heFdlYnNlcnZlcnNcbk1pbldlYnNlcnZlcnM/OiBNaW5XZWJzZXJ2ZXJzXG5TY2hlZHVsZXJzPzogU2NoZWR1bGVyc1xuTmV0d29ya0NvbmZpZ3VyYXRpb24/OiBOZXR3b3JrQ29uZmlndXJhdGlvblxuTG9nZ2luZ0NvbmZpZ3VyYXRpb24/OiBMb2dnaW5nQ29uZmlndXJhdGlvblxuV2Vla2x5TWFpbnRlbmFuY2VXaW5kb3dTdGFydD86IFdlZWtseU1haW50ZW5hbmNlV2luZG93U3RhcnRcbi8qKlxuICogQSBtYXAgb2YgdGFncyBmb3IgdGhlIGVudmlyb25tZW50LlxuICovXG5UYWdzPzoge1xuW2s6IHN0cmluZ106IHVua25vd25cbn1cbldlYnNlcnZlckFjY2Vzc01vZGU/OiBXZWJzZXJ2ZXJBY2Nlc3NNb2RlXG5FbmRwb2ludE1hbmFnZW1lbnQ/OiBFbmRwb2ludE1hbmFnZW1lbnRcbkNlbGVyeUV4ZWN1dG9yUXVldWU/OiBDZWxlcnlFeGVjdXRvclF1ZXVlXG5EYXRhYmFzZVZwY0VuZHBvaW50U2VydmljZT86IERhdGFiYXNlVnBjRW5kcG9pbnRTZXJ2aWNlXG5XZWJzZXJ2ZXJWcGNFbmRwb2ludFNlcnZpY2U/OiBXZWJzZXJ2ZXJWcGNFbmRwb2ludFNlcnZpY2Vcbn1cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgbmV0d29yayByZXNvdXJjZXMgb2YgdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtDb25maWd1cmF0aW9uIHtcbi8qKlxuICogQSBsaXN0IG9mIHN1Ym5ldHMgdG8gdXNlIGZvciB0aGUgZW52aXJvbm1lbnQuIFRoZXNlIG11c3QgYmUgcHJpdmF0ZSBzdWJuZXRzLCBpbiB0aGUgc2FtZSBWUEMsIGluIHR3byBkaWZmZXJlbnQgYXZhaWxhYmlsaXR5IHpvbmVzLlxuICogXG4gKiBAbWluSXRlbXMgMlxuICogQG1heEl0ZW1zIDJcbiAqL1xuU3VibmV0SWRzPzogU3VibmV0SWRbXVxuLyoqXG4gKiBBIGxpc3Qgb2Ygc2VjdXJpdHkgZ3JvdXBzIHRvIHVzZSBmb3IgdGhlIGVudmlyb25tZW50LlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDVcbiAqL1xuU2VjdXJpdHlHcm91cElkcz86IFNlY3VyaXR5R3JvdXBJZFtdXG59XG4vKipcbiAqIExvZ2dpbmcgY29uZmlndXJhdGlvbiBmb3IgdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dpbmdDb25maWd1cmF0aW9uIHtcbkRhZ1Byb2Nlc3NpbmdMb2dzPzogTW9kdWxlTG9nZ2luZ0NvbmZpZ3VyYXRpb25cblNjaGVkdWxlckxvZ3M/OiBNb2R1bGVMb2dnaW5nQ29uZmlndXJhdGlvblxuV2Vic2VydmVyTG9ncz86IE1vZHVsZUxvZ2dpbmdDb25maWd1cmF0aW9uXG5Xb3JrZXJMb2dzPzogTW9kdWxlTG9nZ2luZ0NvbmZpZ3VyYXRpb25cblRhc2tMb2dzPzogTW9kdWxlTG9nZ2luZ0NvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogTG9nZ2luZyBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGFpcmZsb3cgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUxvZ2dpbmdDb25maWd1cmF0aW9uIHtcbkVuYWJsZWQ/OiBMb2dnaW5nRW5hYmxlZFxuTG9nTGV2ZWw/OiBMb2dnaW5nTGV2ZWxcbkNsb3VkV2F0Y2hMb2dHcm91cEFybj86IENsb3VkV2F0Y2hMb2dHcm91cEFyblxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLW13YWEtZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtbXdhYS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXN0b21lci1kZWZpbmVkIGlkZW50aWZpZXIgZm9yIHRoZSBlbnZpcm9ubWVudCwgdW5pcXVlIHBlciBjdXN0b21lciByZWdpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50TmFtZSA9IHN0cmluZ1xuLyoqXG4gKiBBUk4gZm9yIHRoZSBNV0FBIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudEFybiA9IHN0cmluZ1xuLyoqXG4gKiBVcmwgZW5kcG9pbnQgZm9yIHRoZSBlbnZpcm9ubWVudCdzIEFpcmZsb3cgVUkuXG4gKi9cbmV4cG9ydCB0eXBlIFdlYnNlcnZlclVybCA9IHN0cmluZ1xuLyoqXG4gKiBJQU0gcm9sZSB0byBiZSB1c2VkIGJ5IHRhc2tzLlxuICovXG5leHBvcnQgdHlwZSBFeGVjdXRpb25Sb2xlQXJuID0gc3RyaW5nXG4vKipcbiAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBBV1MgS2V5IE1hbmFnZW1lbnQgU2VydmljZSAoQVdTIEtNUykgY3VzdG9tZXIgbWFzdGVyIGtleSAoQ01LKSB0byB1c2UgZm9yIE1XQUEgZGF0YSBlbmNyeXB0aW9uLlxuICogXG4gKiAgICAgWW91IGNhbiBzcGVjaWZ5IHRoZSBDTUsgdXNpbmcgYW55IG9mIHRoZSBmb2xsb3dpbmc6XG4gKiBcbiAqICAgICBLZXkgSUQuIEZvciBleGFtcGxlLCBrZXkvMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MGFiLlxuICogXG4gKiAgICAgS2V5IGFsaWFzLiBGb3IgZXhhbXBsZSwgYWxpYXMvRXhhbXBsZUFsaWFzLlxuICogXG4gKiAgICAgS2V5IEFSTi4gRm9yIGV4YW1wbGUsIGFybjphd3M6a21zOnVzLWVhc3QtMTowMTIzNDU2Nzg5MTA6a2V5L2FiY2QxMjM0LWExMjMtNDU2YS1hMTJiLWExMjNiNGNkNTZlZi5cbiAqIFxuICogICAgIEFsaWFzIEFSTi4gRm9yIGV4YW1wbGUsIGFybjphd3M6a21zOnVzLWVhc3QtMTowMTIzNDU2Nzg5MTA6YWxpYXMvRXhhbXBsZUFsaWFzLlxuICogXG4gKiAgICAgQVdTIGF1dGhlbnRpY2F0ZXMgdGhlIENNSyBhc3luY2hyb25vdXNseS4gVGhlcmVmb3JlLCBpZiB5b3Ugc3BlY2lmeSBhbiBJRCwgYWxpYXMsIG9yIEFSTiB0aGF0IGlzIG5vdCB2YWxpZCwgdGhlIGFjdGlvbiBjYW4gYXBwZWFyIHRvIGNvbXBsZXRlLCBidXQgZXZlbnR1YWxseSBmYWlscy5cbiAqL1xuZXhwb3J0IHR5cGUgS21zS2V5ID0gc3RyaW5nXG4vKipcbiAqIFZlcnNpb24gb2YgYWlyZmxvdyB0byBkZXBsb3kgdG8gdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgdHlwZSBBaXJmbG93VmVyc2lvbiA9IHN0cmluZ1xuLyoqXG4gKiBBUk4gZm9yIHRoZSBBV1MgUzMgYnVja2V0IHRvIHVzZSBhcyB0aGUgc291cmNlIG9mIERBR3MgYW5kIHBsdWdpbnMgZm9yIHRoZSBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUzNCdWNrZXRBcm4gPSBzdHJpbmdcbi8qKlxuICogUmVwcmVzZW50cyBhbiBTMyBwcmVmaXggcmVsYXRpdmUgdG8gdGhlIHJvb3Qgb2YgYW4gUzMgYnVja2V0LlxuICovXG5leHBvcnQgdHlwZSBSZWxhdGl2ZVBhdGggPSBzdHJpbmdcbi8qKlxuICogUmVwcmVzZW50cyBhbiB2ZXJzaW9uIElEIGZvciBhbiBTMyBvYmplY3QuXG4gKi9cbmV4cG9ydCB0eXBlIFMzT2JqZWN0VmVyc2lvbiA9IHN0cmluZ1xuLyoqXG4gKiBUZW1wbGF0ZWQgY29uZmlndXJhdGlvbiBmb3IgYWlyZmxvdyBwcm9jZXNzZXMgYW5kIGJhY2tpbmcgaW5mcmFzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50Q2xhc3MgPSBzdHJpbmdcbi8qKlxuICogTWF4aW11bSB3b3JrZXIgY29tcHV0ZSB1bml0cy5cbiAqL1xuZXhwb3J0IHR5cGUgTWF4V29ya2VycyA9IG51bWJlclxuLyoqXG4gKiBNaW5pbXVtIHdvcmtlciBjb21wdXRlIHVuaXRzLlxuICovXG5leHBvcnQgdHlwZSBNaW5Xb3JrZXJzID0gbnVtYmVyXG4vKipcbiAqIE1heGltdW0gd2Vic2VydmVyIGNvbXB1dGUgdW5pdHMuXG4gKi9cbmV4cG9ydCB0eXBlIE1heFdlYnNlcnZlcnMgPSBudW1iZXJcbi8qKlxuICogTWluaW11bSB3ZWJzZXJ2ZXIgY29tcHV0ZSB1bml0cy5cbiAqL1xuZXhwb3J0IHR5cGUgTWluV2Vic2VydmVycyA9IG51bWJlclxuLyoqXG4gKiBTY2hlZHVsZXIgY29tcHV0ZSB1bml0cy5cbiAqL1xuZXhwb3J0IHR5cGUgU2NoZWR1bGVycyA9IG51bWJlclxuZXhwb3J0IHR5cGUgU3VibmV0SWQgPSBzdHJpbmdcbmV4cG9ydCB0eXBlIFNlY3VyaXR5R3JvdXBJZCA9IHN0cmluZ1xuZXhwb3J0IHR5cGUgTG9nZ2luZ0VuYWJsZWQgPSBib29sZWFuXG5leHBvcnQgdHlwZSBMb2dnaW5nTGV2ZWwgPSAoXCJDUklUSUNBTFwiIHwgXCJFUlJPUlwiIHwgXCJXQVJOSU5HXCIgfCBcIklORk9cIiB8IFwiREVCVUdcIilcbmV4cG9ydCB0eXBlIENsb3VkV2F0Y2hMb2dHcm91cEFybiA9IHN0cmluZ1xuLyoqXG4gKiBTdGFydCB0aW1lIGZvciB0aGUgd2Vla2x5IG1haW50ZW5hbmNlIHdpbmRvdy5cbiAqL1xuZXhwb3J0IHR5cGUgV2Vla2x5TWFpbnRlbmFuY2VXaW5kb3dTdGFydCA9IHN0cmluZ1xuLyoqXG4gKiBDaG9pY2UgZm9yIG1vZGUgb2Ygd2Vic2VydmVyIGFjY2VzcyBpbmNsdWRpbmcgb3ZlciBwdWJsaWMgaW50ZXJuZXQgb3IgdmlhIHByaXZhdGUgVlBDIGVuZHBvaW50LlxuICovXG5leHBvcnQgdHlwZSBXZWJzZXJ2ZXJBY2Nlc3NNb2RlID0gKFwiUFJJVkFURV9PTkxZXCIgfCBcIlBVQkxJQ19PTkxZXCIpXG4vKipcbiAqIERlZmluZXMgd2hldGhlciB0aGUgVlBDIGVuZHBvaW50cyBjb25maWd1cmVkIGZvciB0aGUgZW52aXJvbm1lbnQgYXJlIGNyZWF0ZWQsIGFuZCBtYW5hZ2VkLCBieSB0aGUgY3VzdG9tZXIgb3IgYnkgQW1hem9uIE1XQUEuXG4gKi9cbmV4cG9ydCB0eXBlIEVuZHBvaW50TWFuYWdlbWVudCA9IChcIkNVU1RPTUVSXCIgfCBcIlNFUlZJQ0VcIilcbi8qKlxuICogVGhlIGNlbGVyeSBleGVjdXRvciBxdWV1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgdHlwZSBDZWxlcnlFeGVjdXRvclF1ZXVlID0gc3RyaW5nXG4vKipcbiAqIFRoZSBkYXRhYmFzZSBWUEMgZW5kcG9pbnQgc2VydmljZSBuYW1lLlxuICovXG5leHBvcnQgdHlwZSBEYXRhYmFzZVZwY0VuZHBvaW50U2VydmljZSA9IHN0cmluZ1xuLyoqXG4gKiBUaGUgd2Vic2VydmVyIFZQQyBlbmRwb2ludCBzZXJ2aWNlIG5hbWUsIGFwcGxpY2FibGUgaWYgcHJpdmF0ZSB3ZWJzZXJ2ZXIgYWNjZXNzIG1vZGUgc2VsZWN0ZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFdlYnNlcnZlclZwY0VuZHBvaW50U2VydmljZSA9IHN0cmluZ1xuLyoqXG4gKiBUaGUgd29ya2VyIHJlcGxhY2VtZW50IHN0cmF0ZWd5IHRvIHVzZSB3aGVuIHVwZGF0aW5nIHRoZSBlbnZpcm9ubWVudC4gVmFsaWQgdmFsdWVzOiBgRk9SQ0VEYCwgYEdSQUNFRlVMYC4gRk9SQ0VEIG1lYW5zIEFwYWNoZSBBaXJmbG93IHdvcmtlcnMgd2lsbCBiZSBzdG9wcGVkIGFuZCByZXBsYWNlZCB3aXRob3V0IHdhaXRpbmcgZm9yIHRhc2tzIHRvIGNvbXBsZXRlIGJlZm9yZSBhbiB1cGRhdGUuIEdSQUNFRlVMIG1lYW5zIEFwYWNoZSBBaXJmbG93IHdvcmtlcnMgd2lsbCBiZSBhYmxlIHRvIGNvbXBsZXRlIHJ1bm5pbmcgdGFza3MgZm9yIHVwIHRvIDEyIGhvdXJzIGR1cmluZyBhbiB1cGRhdGUgYmVmb3JlIGJlaW5nIHN0b3BwZWQgYW5kIHJlcGxhY2VkLlxuICovXG5leHBvcnQgdHlwZSBXb3JrZXJSZXBsYWNlbWVudFN0cmF0ZWd5ID0gKFwiRk9SQ0VEXCIgfCBcIkdSQUNFRlVMXCIpXG5cbi8qKlxuICogUmVzb3VyY2Ugc2NoZW1hIGZvciBBV1M6Ok1XQUE6OkVudmlyb25tZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0FXU19NV0FBX0VOVklST05NRU5UIHtcbk5hbWU6IEVudmlyb25tZW50TmFtZVxuQXJuPzogRW52aXJvbm1lbnRBcm5cbldlYnNlcnZlclVybD86IFdlYnNlcnZlclVybFxuRXhlY3V0aW9uUm9sZUFybj86IEV4ZWN1dGlvblJvbGVBcm5cbkttc0tleT86IEttc0tleVxuQWlyZmxvd1ZlcnNpb24/OiBBaXJmbG93VmVyc2lvblxuU291cmNlQnVja2V0QXJuPzogUzNCdWNrZXRBcm5cbkRhZ1MzUGF0aD86IFJlbGF0aXZlUGF0aFxuUGx1Z2luc1MzUGF0aD86IFJlbGF0aXZlUGF0aFxuUGx1Z2luc1MzT2JqZWN0VmVyc2lvbj86IFMzT2JqZWN0VmVyc2lvblxuUmVxdWlyZW1lbnRzUzNQYXRoPzogUmVsYXRpdmVQYXRoXG5SZXF1aXJlbWVudHNTM09iamVjdFZlcnNpb24/OiBTM09iamVjdFZlcnNpb25cblN0YXJ0dXBTY3JpcHRTM1BhdGg/OiBSZWxhdGl2ZVBhdGhcblN0YXJ0dXBTY3JpcHRTM09iamVjdFZlcnNpb24/OiBTM09iamVjdFZlcnNpb25cbi8qKlxuICogS2V5L3ZhbHVlIHBhaXJzIHJlcHJlc2VudGluZyBBaXJmbG93IGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLlxuICogICAgIEtleXMgYXJlIHByZWZpeGVkIGJ5IHRoZWlyIHNlY3Rpb246XG4gKiBcbiAqICAgICBbY29yZV1cbiAqICAgICBkYWdzX2ZvbGRlcj17QUlSRkxPV19IT01FfS9kYWdzXG4gKiBcbiAqICAgICBXb3VsZCBiZSByZXByZXNlbnRlZCBhc1xuICogXG4gKiAgICAgXCJjb3JlLmRhZ3NfZm9sZGVyXCI6IFwie0FJUkZMT1dfSE9NRX0vZGFnc1wiXG4gKi9cbkFpcmZsb3dDb25maWd1cmF0aW9uT3B0aW9ucz86IHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59XG5FbnZpcm9ubWVudENsYXNzPzogRW52aXJvbm1lbnRDbGFzc1xuTWF4V29ya2Vycz86IE1heFdvcmtlcnNcbk1pbldvcmtlcnM/OiBNaW5Xb3JrZXJzXG5NYXhXZWJzZXJ2ZXJzPzogTWF4V2Vic2VydmVyc1xuTWluV2Vic2VydmVycz86IE1pbldlYnNlcnZlcnNcblNjaGVkdWxlcnM/OiBTY2hlZHVsZXJzXG5OZXR3b3JrQ29uZmlndXJhdGlvbj86IE5ldHdvcmtDb25maWd1cmF0aW9uXG5Mb2dnaW5nQ29uZmlndXJhdGlvbj86IExvZ2dpbmdDb25maWd1cmF0aW9uXG5XZWVrbHlNYWludGVuYW5jZVdpbmRvd1N0YXJ0PzogV2Vla2x5TWFpbnRlbmFuY2VXaW5kb3dTdGFydFxuLyoqXG4gKiBBIG1hcCBvZiB0YWdzIGZvciB0aGUgZW52aXJvbm1lbnQuXG4gKi9cblRhZ3M/OiB7XG5bazogc3RyaW5nXTogdW5rbm93blxufVxuV2Vic2VydmVyQWNjZXNzTW9kZT86IFdlYnNlcnZlckFjY2Vzc01vZGVcbkVuZHBvaW50TWFuYWdlbWVudD86IEVuZHBvaW50TWFuYWdlbWVudFxuQ2VsZXJ5RXhlY3V0b3JRdWV1ZT86IENlbGVyeUV4ZWN1dG9yUXVldWVcbkRhdGFiYXNlVnBjRW5kcG9pbnRTZXJ2aWNlPzogRGF0YWJhc2VWcGNFbmRwb2ludFNlcnZpY2VcbldlYnNlcnZlclZwY0VuZHBvaW50U2VydmljZT86IFdlYnNlcnZlclZwY0VuZHBvaW50U2VydmljZVxuV29ya2VyUmVwbGFjZW1lbnRTdHJhdGVneT86IFdvcmtlclJlcGxhY2VtZW50U3RyYXRlZ3lcbn1cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgbmV0d29yayByZXNvdXJjZXMgb2YgdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtDb25maWd1cmF0aW9uIHtcbi8qKlxuICogQSBsaXN0IG9mIHN1Ym5ldHMgdG8gdXNlIGZvciB0aGUgZW52aXJvbm1lbnQuIFRoZXNlIG11c3QgYmUgcHJpdmF0ZSBzdWJuZXRzLCBpbiB0aGUgc2FtZSBWUEMsIGluIHR3byBkaWZmZXJlbnQgYXZhaWxhYmlsaXR5IHpvbmVzLlxuICogXG4gKiBAbWluSXRlbXMgMlxuICogQG1heEl0ZW1zIDJcbiAqL1xuU3VibmV0SWRzPzogU3VibmV0SWRbXVxuLyoqXG4gKiBBIGxpc3Qgb2Ygc2VjdXJpdHkgZ3JvdXBzIHRvIHVzZSBmb3IgdGhlIGVudmlyb25tZW50LlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDVcbiAqL1xuU2VjdXJpdHlHcm91cElkcz86IFNlY3VyaXR5R3JvdXBJZFtdXG59XG4vKipcbiAqIExvZ2dpbmcgY29uZmlndXJhdGlvbiBmb3IgdGhlIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dpbmdDb25maWd1cmF0aW9uIHtcbkRhZ1Byb2Nlc3NpbmdMb2dzPzogTW9kdWxlTG9nZ2luZ0NvbmZpZ3VyYXRpb25cblNjaGVkdWxlckxvZ3M/OiBNb2R1bGVMb2dnaW5nQ29uZmlndXJhdGlvblxuV2Vic2VydmVyTG9ncz86IE1vZHVsZUxvZ2dpbmdDb25maWd1cmF0aW9uXG5Xb3JrZXJMb2dzPzogTW9kdWxlTG9nZ2luZ0NvbmZpZ3VyYXRpb25cblRhc2tMb2dzPzogTW9kdWxlTG9nZ2luZ0NvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogTG9nZ2luZyBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGFpcmZsb3cgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUxvZ2dpbmdDb25maWd1cmF0aW9uIHtcbkVuYWJsZWQ/OiBMb2dnaW5nRW5hYmxlZFxuTG9nTGV2ZWw/OiBMb2dnaW5nTGV2ZWxcbkNsb3VkV2F0Y2hMb2dHcm91cEFybj86IENsb3VkV2F0Y2hMb2dHcm91cEFyblxufVxuIl19
@@ -9,6 +9,7 @@ export interface _AWS_NETWORKFIREWALL_LOGGINGCONFIGURATION {
9
9
  FirewallName?: string;
10
10
  FirewallArn: ResourceArn;
11
11
  LoggingConfiguration: LoggingConfiguration;
12
+ EnableMonitoringDashboard?: boolean;
12
13
  }
13
14
  export interface LoggingConfiguration {
14
15
  /**
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLW5ldHdvcmtmaXJld2FsbC1sb2dnaW5nY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1uZXR3b3JrZmlyZXdhbGwtbG9nZ2luZ2NvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSByZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCB0eXBlIFJlc291cmNlQXJuID0gc3RyaW5nXG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBkZWZpbml0aW9uIGZvciBBV1M6Ok5ldHdvcmtGaXJld2FsbDo6TG9nZ2luZ0NvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX05FVFdPUktGSVJFV0FMTF9MT0dHSU5HQ09ORklHVVJBVElPTiB7XG5GaXJld2FsbE5hbWU/OiBzdHJpbmdcbkZpcmV3YWxsQXJuOiBSZXNvdXJjZUFyblxuTG9nZ2luZ0NvbmZpZ3VyYXRpb246IExvZ2dpbmdDb25maWd1cmF0aW9uXG59XG5leHBvcnQgaW50ZXJmYWNlIExvZ2dpbmdDb25maWd1cmF0aW9uIHtcbi8qKlxuICogQG1pbkl0ZW1zIDFcbiAqL1xuTG9nRGVzdGluYXRpb25Db25maWdzOiBMb2dEZXN0aW5hdGlvbkNvbmZpZ1tdXG59XG5leHBvcnQgaW50ZXJmYWNlIExvZ0Rlc3RpbmF0aW9uQ29uZmlnIHtcbkxvZ1R5cGU6IChcIkFMRVJUXCIgfCBcIkZMT1dcIiB8IFwiVExTXCIpXG5Mb2dEZXN0aW5hdGlvblR5cGU6IChcIlMzXCIgfCBcIkNsb3VkV2F0Y2hMb2dzXCIgfCBcIktpbmVzaXNEYXRhRmlyZWhvc2VcIilcbi8qKlxuICogQSBrZXktdmFsdWUgcGFpciB0byBjb25maWd1cmUgdGhlIGxvZ0Rlc3RpbmF0aW9ucy5cbiAqL1xuTG9nRGVzdGluYXRpb246IHtcbi8qKlxuICogVGhpcyBpbnRlcmZhY2Ugd2FzIHJlZmVyZW5jZWQgYnkgYHVuZGVmaW5lZGAncyBKU09OLVNjaGVtYSBkZWZpbml0aW9uXG4gKiB2aWEgdGhlIGBwYXR0ZXJuUHJvcGVydHlgIFwiXlswLTlBLVphLXouXFwtX0BcXC9dKyRcIi5cbiAqL1xuW2s6IHN0cmluZ106IHN0cmluZ1xufVxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLW5ldHdvcmtmaXJld2FsbC1sb2dnaW5nY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1uZXR3b3JrZmlyZXdhbGwtbG9nZ2luZ2NvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSByZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCB0eXBlIFJlc291cmNlQXJuID0gc3RyaW5nXG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBkZWZpbml0aW9uIGZvciBBV1M6Ok5ldHdvcmtGaXJld2FsbDo6TG9nZ2luZ0NvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX05FVFdPUktGSVJFV0FMTF9MT0dHSU5HQ09ORklHVVJBVElPTiB7XG5GaXJld2FsbE5hbWU/OiBzdHJpbmdcbkZpcmV3YWxsQXJuOiBSZXNvdXJjZUFyblxuTG9nZ2luZ0NvbmZpZ3VyYXRpb246IExvZ2dpbmdDb25maWd1cmF0aW9uXG5FbmFibGVNb25pdG9yaW5nRGFzaGJvYXJkPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBMb2dnaW5nQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIEBtaW5JdGVtcyAxXG4gKi9cbkxvZ0Rlc3RpbmF0aW9uQ29uZmlnczogTG9nRGVzdGluYXRpb25Db25maWdbXVxufVxuZXhwb3J0IGludGVyZmFjZSBMb2dEZXN0aW5hdGlvbkNvbmZpZyB7XG5Mb2dUeXBlOiAoXCJBTEVSVFwiIHwgXCJGTE9XXCIgfCBcIlRMU1wiKVxuTG9nRGVzdGluYXRpb25UeXBlOiAoXCJTM1wiIHwgXCJDbG91ZFdhdGNoTG9nc1wiIHwgXCJLaW5lc2lzRGF0YUZpcmVob3NlXCIpXG4vKipcbiAqIEEga2V5LXZhbHVlIHBhaXIgdG8gY29uZmlndXJlIHRoZSBsb2dEZXN0aW5hdGlvbnMuXG4gKi9cbkxvZ0Rlc3RpbmF0aW9uOiB7XG4vKipcbiAqIFRoaXMgaW50ZXJmYWNlIHdhcyByZWZlcmVuY2VkIGJ5IGB1bmRlZmluZWRgJ3MgSlNPTi1TY2hlbWEgZGVmaW5pdGlvblxuICogdmlhIHRoZSBgcGF0dGVyblByb3BlcnR5YCBcIl5bMC05QS1aYS16LlxcLV9AXFwvXSskXCIuXG4gKi9cbltrOiBzdHJpbmddOiBzdHJpbmdcbn1cbn1cbiJdfQ==