@aws-cdk/aws-glue-alpha 2.246.0-alpha.0 → 2.247.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +240 -182
- package/lib/code.js +6 -6
- package/lib/connection.js +2 -2
- package/lib/data-format.js +5 -5
- package/lib/data-quality-ruleset.js +2 -2
- package/lib/database.js +4 -4
- package/lib/external-table.js +3 -3
- package/lib/jobs/job.js +5 -4
- package/lib/jobs/pyspark-etl-job.js +1 -1
- package/lib/jobs/pyspark-flex-etl-job.js +1 -1
- package/lib/jobs/pyspark-streaming-job.js +1 -1
- package/lib/jobs/python-shell-job.js +1 -1
- package/lib/jobs/ray-job.js +3 -3
- package/lib/jobs/scala-spark-etl-job.js +3 -3
- package/lib/jobs/scala-spark-flex-etl-job.js +1 -1
- package/lib/jobs/scala-spark-streaming-job.js +3 -3
- package/lib/jobs/spark-job.js +4 -3
- package/lib/partition-projection.js +16 -15
- package/lib/s3-table.js +4 -4
- package/lib/schema.js +8 -7
- package/lib/security-configuration.js +3 -3
- package/lib/storage-parameter.js +1 -1
- package/lib/table-base.js +13 -12
- package/lib/table-deprecated.js +1 -1
- package/lib/triggers/trigger-options.js +1 -1
- package/lib/triggers/workflow.js +9 -9
- package/package.json +6 -6
package/lib/s3-table.js
CHANGED
|
@@ -109,7 +109,7 @@ let S3Table = (() => {
|
|
|
109
109
|
S3Table = _classThis = _classDescriptor.value;
|
|
110
110
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
111
111
|
}
|
|
112
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Table", version: "2.
|
|
112
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Table", version: "2.247.0-alpha.0" };
|
|
113
113
|
/** Uniquely identifies this class. */
|
|
114
114
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.S3Table';
|
|
115
115
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -177,7 +177,7 @@ let S3Table = (() => {
|
|
|
177
177
|
},
|
|
178
178
|
parameters: props.storageParameters ? props.storageParameters.reduce((acc, param) => {
|
|
179
179
|
if (param.key in acc) {
|
|
180
|
-
throw new aws_cdk_lib_1.ValidationError(
|
|
180
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `DuplicateStorageParameterKey`, `Duplicate storage parameter key: ${param.key}`, this);
|
|
181
181
|
}
|
|
182
182
|
const key = param.key;
|
|
183
183
|
acc[key] = param.value;
|
|
@@ -290,7 +290,7 @@ const encryptionMappings = {
|
|
|
290
290
|
function createBucket(table, props) {
|
|
291
291
|
let bucket = props.bucket;
|
|
292
292
|
if (bucket && (props.encryption !== undefined && props.encryption !== TableEncryption.CLIENT_SIDE_KMS)) {
|
|
293
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
293
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `EncryptionWithProvidedBucket`, 'you can not specify encryption settings if you also provide a bucket');
|
|
294
294
|
}
|
|
295
295
|
const encryption = props.encryption || TableEncryption.S3_MANAGED;
|
|
296
296
|
let encryptionKey;
|
|
@@ -333,4 +333,4 @@ function renderColumns(columns) {
|
|
|
333
333
|
};
|
|
334
334
|
});
|
|
335
335
|
}
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzMy10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBdUU7QUFDdkUsbURBQWdEO0FBRWhELDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFDekMsNEVBQXVFO0FBQ3ZFLDhFQUE4RjtBQUM5RiwwRUFBMEU7QUFJMUUsNkNBQXlDO0FBRXpDOzs7O0dBSUc7QUFDSCxJQUFZLGVBMEJYO0FBMUJELFdBQVksZUFBZTtJQUN6Qjs7OztPQUlHO0lBQ0gsd0NBQXFCLENBQUE7SUFFckI7Ozs7T0FJRztJQUNILGtDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGtEQUErQixDQUFBO0lBRS9COzs7O09BSUc7SUFDSCw4Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBMUJXLGVBQWUsK0JBQWYsZUFBZSxRQTBCMUI7QUF1Q0Q7OztHQUdHO0lBRVUsT0FBTzs0QkFEbkIsb0NBQWtCOzs7O3NCQUNVLHNCQUFTOzs7Ozs7O3VCQUFqQixTQUFRLFdBQVM7Ozs7eUNBaUduQyxpQ0FBYzt3Q0FRZCxpQ0FBYztxQ0FlZCxJQUFBLGtDQUFjLEdBQUU7c0NBY2hCLElBQUEsa0NBQWMsR0FBRTswQ0FjaEIsSUFBQSxrQ0FBYyxHQUFFO1lBbERqQixrTEFBVyxTQUFTLDZEQUVuQjtZQU1ELCtLQUFXLFFBQVEsNkRBTWxCO1lBU0QsOEtBQU8sU0FBUyw2REFLZjtZQVNELGlMQUFPLFVBQVUsNkRBS2hCO1lBU0QsNkxBQU8sY0FBYyw2REFLcEI7WUExSkgsNktBK0pDOzs7OztRQTlKQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLGlDQUFpQyxDQUFDO1FBRWpGLFFBQVEsR0FKTCxtREFBTyxDQUlTO1FBRTNCOztXQUVHO1FBQ2EsTUFBTSxDQUFhO1FBRW5DOztXQUVHO1FBQ2EsUUFBUSxDQUFTO1FBRWpDOztXQUVHO1FB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QztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5UYWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB0eXBlICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgQ29sdW1uIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHR5cGUgeyBQYXJ0aXRpb25JbmRleCwgVGFibGVCYXNlUHJvcHMgfSBmcm9tICcuL3RhYmxlLWJhc2UnO1xuaW1wb3J0IHsgVGFibGVCYXNlIH0gZnJvbSAnLi90YWJsZS1iYXNlJztcblxuLyoqXG4gKiBFbmNyeXB0aW9uIG9wdGlvbnMgZm9yIGEgVGFibGUuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXRoZW5hL2xhdGVzdC91Zy9lbmNyeXB0aW9uLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gVGFibGVFbmNyeXB0aW9uIHtcbiAgLyoqXG4gICAqIFNlcnZlciBzaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBbWF6b24gUzMtbWFuYWdlZCBrZXkuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVXNpbmdTZXJ2ZXJTaWRlRW5jcnlwdGlvbi5odG1sXG4gICAqL1xuICBTM19NQU5BR0VEID0gJ1NTRS1TMycsXG5cbiAgLyoqXG4gICAqIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBV1MgS01TIGtleSBtYW5hZ2VkIGJ5IHRoZSBhY2NvdW50IG93bmVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1VzaW5nS01TRW5jcnlwdGlvbi5odG1sXG4gICAqL1xuICBLTVMgPSAnU1NFLUtNUycsXG5cbiAgLyoqXG4gICAqIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBV1MgS01TIGtleSBtYW5hZ2VkIGJ5IHRoZSBLTVMgc2VydmljZS5cbiAgICovXG4gIEtNU19NQU5BR0VEID0gJ1NTRS1LTVMtTUFOQUdFRCcsXG5cbiAgLyoqXG4gICAqIENsaWVudC1zaWRlIGVuY3J5cHRpb24gKENTRSkgd2l0aCBhbiBBV1MgS01TIGtleSBtYW5hZ2VkIGJ5IHRoZSBhY2NvdW50IG93bmVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1VzaW5nQ2xpZW50U2lkZUVuY3J5cHRpb24uaHRtbFxuICAgKi9cbiAgQ0xJRU5UX1NJREVfS01TID0gJ0NTRS1LTVMnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFMzVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFMzIGJ1Y2tldCBpbiB3aGljaCB0byBzdG9yZSBkYXRhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBvbmUgaXMgY3JlYXRlZCBmb3IgeW91XG4gICAqL1xuICByZWFkb25seSBidWNrZXQ/OiBzMy5JQnVja2V0O1xuXG4gIC8qKlxuICAgKiBTMyBwcmVmaXggdW5kZXIgd2hpY2ggdGFibGUgb2JqZWN0cyBhcmUgc3RvcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHByZWZpeC4gVGhlIGRhdGEgd2lsbCBiZSBzdG9yZWQgdW5kZXIgdGhlIHJvb3Qgb2YgdGhlIGJ1Y2tldC5cbiAgICovXG4gIHJlYWRvbmx5IHMzUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiBlbmNyeXB0aW9uIHRvIHNlY3VyZSB0aGUgZGF0YSB3aXRoLlxuICAgKlxuICAgKiBZb3UgY2FuIG9ubHkgcHJvdmlkZSB0aGlzIG9wdGlvbiBpZiB5b3UgYXJlIG5vdCBleHBsaWNpdGx5IHBhc3NpbmcgaW4gYSBidWNrZXQuXG4gICAqXG4gICAqIElmIHlvdSBjaG9vc2UgYFNTRS1LTVNgLCB5b3UgKmNhbiogcHJvdmlkZSBhbiB1bi1tYW5hZ2VkIEtNUyBrZXkgd2l0aCBgZW5jcnlwdGlvbktleWAuXG4gICAqIElmIHlvdSBjaG9vc2UgYENTRS1LTVNgLCB5b3UgKm11c3QqIHByb3ZpZGUgYW4gdW4tbWFuYWdlZCBLTVMga2V5IHdpdGggYGVuY3J5cHRpb25LZXlgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRURcbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb24/OiBUYWJsZUVuY3J5cHRpb247XG5cbiAgLyoqXG4gICAqIEV4dGVybmFsIEtNUyBrZXkgdG8gdXNlIGZvciBidWNrZXQgZW5jcnlwdGlvbi5cbiAgICpcbiAgICogVGhlIGBlbmNyeXB0aW9uYCBwcm9wZXJ0eSBtdXN0IGJlIGBTU0UtS01TYCBvciBgQ1NFLUtNU2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IGtleSBpcyBtYW5hZ2VkIGJ5IEtNUy5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcbn1cblxuLyoqXG4gKiBBIEdsdWUgdGFibGUgdGhhdCB0YXJnZXRzIGEgUzMgZGF0YXNldC5cbiAqIEByZXNvdXJjZSBBV1M6OkdsdWU6OlRhYmxlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBTM1RhYmxlIGV4dGVuZHMgVGFibGVCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5TM1RhYmxlJztcblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5UYWJsZTtcblxuICAvKipcbiAgICogUzMgYnVja2V0IGluIHdoaWNoIHRoZSB0YWJsZSdzIGRhdGEgcmVzaWRlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXQ6IHMzLklCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFMzIEtleSBQcmVmaXggdW5kZXIgd2hpY2ggdGhpcyB0YWJsZSdzIGZpbGVzIGFyZSBzdG9yZWQgaW4gUzMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNQcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgZW5jcnlwdGlvbiBlbmFibGVkIGZvciB0aGUgdGFibGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW5jcnlwdGlvbjogVGFibGVFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB1c2VkIHRvIHNlY3VyZSB0aGUgZGF0YSBpZiBgZW5jcnlwdGlvbmAgaXMgc2V0IHRvIGBDU0UtS01TYCBvciBgU1NFLUtNU2AuIE90aGVyd2lzZSwgYHVuZGVmaW5lZGAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBUaGlzIHRhYmxlJ3MgcGFydGl0aW9uIGluZGV4ZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFydGl0aW9uSW5kZXhlcz86IFBhcnRpdGlvbkluZGV4W107XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYmxlUmVzb3VyY2U6IENmblRhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTM1RhYmxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcbiAgICB0aGlzLnMzUHJlZml4ID0gcHJvcHMuczNQcmVmaXggPz8gJyc7XG4gICAgY29uc3QgeyBidWNrZXQsIGVuY3J5cHRpb24sIGVuY3J5cHRpb25LZXkgfSA9IGNyZWF0ZUJ1Y2tldCh0aGlzLCBwcm9wcyk7XG4gICAgdGhpcy5idWNrZXQgPSBidWNrZXQ7XG4gICAgdGhpcy5lbmNyeXB0aW9uID0gZW5jcnlwdGlvbjtcbiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPSBlbmNyeXB0aW9uS2V5O1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5UYWJsZSh0aGlzLCAnVGFibGUnLCB7XG4gICAgICBjYXRhbG9nSWQ6IHByb3BzLmRhdGFiYXNlLmNhdGFsb2dJZCxcblxuICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUsXG5cbiAgICAgIHRhYmxlSW5wdXQ6IHtcbiAgICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbiB8fCBgJHt0aGlzLnBoeXNpY2FsTmFtZX0gZ2VuZXJhdGVkIGJ5IENES2AsXG5cbiAgICAgICAgcGFydGl0aW9uS2V5czogcmVuZGVyQ29sdW1ucyhwcm9wcy5wYXJ0aXRpb25LZXlzKSxcblxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgJ2NsYXNzaWZpY2F0aW9uJzogcHJvcHMuZGF0YUZvcm1hdC5jbGFzc2lmaWNhdGlvblN0cmluZz8udmFsdWUsXG4gICAgICAgICAgJ2hhc19lbmNyeXB0ZWRfZGF0YSc6IHRydWUsXG4gICAgICAgICAgJ3BhcnRpdGlvbl9maWx0ZXJpbmcuZW5hYmxlZCc6IHByb3BzLmVuYWJsZVBhcnRpdGlvbkZpbHRlcmluZyxcbiAgICAgICAgICAuLi50aGlzLnBhcmFtZXRlcnMsXG4gICAgICAgIH0sXG4gICAgICAgIHN0b3JhZ2VEZXNjcmlwdG9yOiB7XG4gICAgICAgICAgbG9jYXRpb246IGBzMzovLyR7dGhpcy5idWNrZXQuYnVja2V0TmFtZX0vJHt0aGlzLnMzUHJlZml4fWAsXG4gICAgICAgICAgY29tcHJlc3NlZDogdGhpcy5jb21wcmVzc2VkLFxuICAgICAgICAgIHN0b3JlZEFzU3ViRGlyZWN0b3JpZXM6IHByb3BzLnN0b3JlZEFzU3ViRGlyZWN0b3JpZXMgPz8gZmFsc2UsXG4gICAgICAgICAgY29sdW1uczogcmVuZGVyQ29sdW1ucyhwcm9wcy5jb2x1bW5zKSxcbiAgICAgICAgICBpbnB1dEZvcm1hdDogcHJvcHMuZGF0YUZvcm1hdC5pbnB1dEZvcm1hdC5jbGFzc05hbWUsXG4gICAgICAgICAgb3V0cHV0Rm9ybWF0OiBwcm9wcy5kYXRhRm9ybWF0Lm91dHB1dEZvcm1hdC5jbGFzc05hbWUsXG4gICAgICAgICAgc2VyZGVJbmZvOiB7XG4gICAgICAgICAgICBzZXJpYWxpemF0aW9uTGlicmFyeTogcHJvcHMuZGF0YUZvcm1hdC5zZXJpYWxpemF0aW9uTGlicmFyeS5jbGFzc05hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXJhbWV0ZXJzOiBwcm9wcy5zdG9yYWdlUGFyYW1ldGVycyA/IHByb3BzLnN0b3JhZ2VQYXJhbWV0ZXJzLnJlZHVjZSgoYWNjLCBwYXJhbSkgPT4ge1xuICAgICAgICAgICAgaWYgKHBhcmFtLmtleSBpbiBhY2MpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignRHVwbGljYXRlU3RvcmFnZVBhcmFtZXRlcktleScsIGBEdXBsaWNhdGUgc3RvcmFnZSBwYXJhbWV0ZXIga2V5OiAke3BhcmFtLmtleX1gLCB0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGtleSA9IHBhcmFtLmtleTtcbiAgICAgICAgICAgIGFjY1trZXldID0gcGFyYW0udmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuXG4gICAgICAgIHRhYmxlVHlwZTogJ0VYVEVSTkFMX1RBQkxFJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnRhYmxlUmVzb3VyY2UgPSB0aGlzLnJlc291cmNlO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLnJlc291cmNlO1xuXG4gICAgLy8gUGFydGl0aW9uIGluZGV4IGNyZWF0aW9uIHJlbGllcyBvbiBjcmVhdGVkIHRhYmxlLlxuICAgIGlmIChwcm9wcy5wYXJ0aXRpb25JbmRleGVzKSB7XG4gICAgICB0aGlzLnBhcnRpdGlvbkluZGV4ZXMgPSBwcm9wcy5wYXJ0aXRpb25JbmRleGVzO1xuICAgICAgdGhpcy5wYXJ0aXRpb25JbmRleGVzLmZvckVhY2goKGluZGV4KSA9PiB0aGlzLmFkZFBhcnRpdGlvbkluZGV4KGluZGV4KSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhpcyB0YWJsZS5cbiAgICovXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHRhYmxlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICAvKipcbiAgICogQVJOIG9mIHRoaXMgdGFibGUuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCB0YWJsZUFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ3RhYmxlJyxcbiAgICAgIHJlc291cmNlTmFtZTogYCR7dGhpcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWV9LyR7dGhpcy50YWJsZU5hbWV9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCByZWFkIHBlcm1pc3Npb25zIHRvIHRoZSB0YWJsZSBhbmQgdGhlIHVuZGVybHlpbmcgZGF0YSBzdG9yZWQgaW4gUzMgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIHRoZSBwcmluY2lwYWxcbiAgICovXG4gIEBNZXRob2RNZXRhZGF0YSgpXG4gIHB1YmxpYyBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIGNvbnN0IHJldCA9IHRoaXMuZ3JhbnQoZ3JhbnRlZSwgcmVhZFBlcm1pc3Npb25zKTtcbiAgICBpZiAodGhpcy5lbmNyeXB0aW9uS2V5ICYmIHRoaXMuZW5jcnlwdGlvbiA9PT0gVGFibGVFbmNyeXB0aW9uLkNMSUVOVF9TSURFX0tNUykgeyB0aGlzLmVuY3J5cHRpb25LZXkuZ3JhbnREZWNyeXB0KGdyYW50ZWUpOyB9XG4gICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkKGdyYW50ZWUsIHRoaXMuZ2VuZXJhdGVTM1ByZWZpeEZvckdyYW50KCkpO1xuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhlIHRhYmxlIGFuZCB0aGUgdW5kZXJseWluZyBkYXRhIHN0b3JlZCBpbiBTMyB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgdGhlIHByaW5jaXBhbFxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGdyYW50V3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIGNvbnN0IHJldCA9IHRoaXMuZ3JhbnQoZ3JhbnRlZSwgd3JpdGVQZXJtaXNzaW9ucyk7XG4gICAgaWYgKHRoaXMuZW5jcnlwdGlvbktleSAmJiB0aGlzLmVuY3J5cHRpb24gPT09IFRhYmxlRW5jcnlwdGlvbi5DTElFTlRfU0lERV9LTVMpIHsgdGhpcy5lbmNyeXB0aW9uS2V5LmdyYW50RW5jcnlwdChncmFudGVlKTsgfVxuICAgIHRoaXMuYnVja2V0LmdyYW50V3JpdGUoZ3JhbnRlZSwgdGhpcy5nZW5lcmF0ZVMzUHJlZml4Rm9yR3JhbnQoKSk7XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGUgdGFibGUgYW5kIHRoZSB1bmRlcmx5aW5nIGRhdGEgc3RvcmVkIGluIFMzIHRvIGFuIElBTSBwcmluY2lwYWwuXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSB0aGUgcHJpbmNpcGFsXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgZ3JhbnRSZWFkV3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIGNvbnN0IHJldCA9IHRoaXMuZ3JhbnQoZ3JhbnRlZSwgWy4uLnJlYWRQZXJtaXNzaW9ucywgLi4ud3JpdGVQZXJtaXNzaW9uc10pO1xuICAgIGlmICh0aGlzLmVuY3J5cHRpb25LZXkgJiYgdGhpcy5lbmNyeXB0aW9uID09PSBUYWJsZUVuY3J5cHRpb24uQ0xJRU5UX1NJREVfS01TKSB7IHRoaXMuZW5jcnlwdGlvbktleS5ncmFudEVuY3J5cHREZWNyeXB0KGdyYW50ZWUpOyB9XG4gICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoZ3JhbnRlZSwgdGhpcy5nZW5lcmF0ZVMzUHJlZml4Rm9yR3JhbnQoKSk7XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZW5lcmF0ZVMzUHJlZml4Rm9yR3JhbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuczNQcmVmaXggKyAnKic7XG4gIH1cbn1cblxuY29uc3QgcmVhZFBlcm1pc3Npb25zID0gW1xuICAnZ2x1ZTpCYXRjaEdldFBhcnRpdGlvbicsXG4gICdnbHVlOkdldFBhcnRpdGlvbicsXG4gICdnbHVlOkdldFBhcnRpdGlvbnMnLFxuICAnZ2x1ZTpHZXRUYWJsZScsXG4gICdnbHVlOkdldFRhYmxlcycsXG4gICdnbHVlOkdldFRhYmxlVmVyc2lvbicsXG4gICdnbHVlOkdldFRhYmxlVmVyc2lvbnMnLFxuXTtcblxuY29uc3Qgd3JpdGVQZXJtaXNzaW9ucyA9IFtcbiAgJ2dsdWU6QmF0Y2hDcmVhdGVQYXJ0aXRpb24nLFxuICAnZ2x1ZTpCYXRjaERlbGV0ZVBhcnRpdGlvbicsXG4gICdnbHVlOkNyZWF0ZVBhcnRpdGlvbicsXG4gICdnbHVlOkRlbGV0ZVBhcnRpdGlvbicsXG4gICdnbHVlOlVwZGF0ZVBhcnRpdGlvbicsXG5dO1xuXG4vLyBtYXAgVGFibGVFbmNyeXB0aW9uIHRvIGJ1Y2tldCdzIFNTRSBjb25maWd1cmF0aW9uIChzMy5CdWNrZXRFbmNyeXB0aW9uKVxuY29uc3QgZW5jcnlwdGlvbk1hcHBpbmdzID0ge1xuICBbVGFibGVFbmNyeXB0aW9uLlMzX01BTkFHRURdOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gIFtUYWJsZUVuY3J5cHRpb24uS01TX01BTkFHRURdOiBzMy5CdWNrZXRFbmNyeXB0aW9uLktNU19NQU5BR0VELFxuICBbVGFibGVFbmNyeXB0aW9uLktNU106IHMzLkJ1Y2tldEVuY3J5cHRpb24uS01TLFxuICBbVGFibGVFbmNyeXB0aW9uLkNMSUVOVF9TSURFX0tNU106IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbn07XG5cbi8vIGNyZWF0ZSB0aGUgYnVja2V0IHRvIHN0b3JlIGEgdGFibGUncyBkYXRhIGRlcGVuZGluZyBvbiB0aGUgYGVuY3J5cHRpb25gIGFuZCBgZW5jcnlwdGlvbktleWAgcHJvcGVydGllcy5cbmZ1bmN0aW9uIGNyZWF0ZUJ1Y2tldCh0YWJsZTogUzNUYWJsZSwgcHJvcHM6IFMzVGFibGVQcm9wcykge1xuICBsZXQgYnVja2V0ID0gcHJvcHMuYnVja2V0O1xuXG4gIGlmIChidWNrZXQgJiYgKHByb3BzLmVuY3J5cHRpb24gIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5lbmNyeXB0aW9uICE9PSBUYWJsZUVuY3J5cHRpb24uQ0xJRU5UX1NJREVfS01TKSkge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcignRW5jcnlwdGlvbldpdGhQcm92aWRlZEJ1Y2tldCcsICd5b3UgY2FuIG5vdCBzcGVjaWZ5IGVuY3J5cHRpb24gc2V0dGluZ3MgaWYgeW91IGFsc28gcHJvdmlkZSBhIGJ1Y2tldCcpO1xuICB9XG5cbiAgY29uc3QgZW5jcnlwdGlvbiA9IHByb3BzLmVuY3J5cHRpb24gfHwgVGFibGVFbmNyeXB0aW9uLlMzX01BTkFHRUQ7XG5cbiAgbGV0IGVuY3J5cHRpb25LZXk6IGttcy5JS2V5IHwgdW5kZWZpbmVkO1xuICBpZiAoZW5jcnlwdGlvbiA9PT0gVGFibGVFbmNyeXB0aW9uLkNMSUVOVF9TSURFX0tNUyAmJiBwcm9wcy5lbmNyeXB0aW9uS2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAvLyBDU0UtS01TIHNob3VsZCBiZWhhdmUgdGhlIHNhbWUgYXMgU1NFLUtNUyAtIHVzZSB0aGUgcHJvdmlkZWQga2V5IG9yIGNyZWF0ZSBvbmUgYXV0b21hdGljYWxseVxuICAgIC8vIFNpbmNlIEJ1Y2tldCBvbmx5IGtub3dzIGFib3V0IFNTRSwgd2UgcmVwZWF0IHRoZSBsb2dpYyBmb3IgQ1NFLUtNUyBhdCB0aGUgVGFibGUgbGV2ZWwuXG4gICAgZW5jcnlwdGlvbktleSA9IG5ldyBrbXMuS2V5KHRhYmxlLCAnS2V5Jyk7XG4gIH0gZWxzZSB7XG4gICAgZW5jcnlwdGlvbktleSA9IHByb3BzLmVuY3J5cHRpb25LZXk7XG4gIH1cblxuICAvLyBjcmVhdGUgdGhlIGJ1Y2tldCBpZiBub25lIHdhcyBwcm92aWRlZFxuICBpZiAoIWJ1Y2tldCkge1xuICAgIGlmIChlbmNyeXB0aW9uID09PSBUYWJsZUVuY3J5cHRpb24uQ0xJRU5UX1NJREVfS01TKSB7XG4gICAgICBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRhYmxlLCAnQnVja2V0Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGFibGUsICdCdWNrZXQnLCB7XG4gICAgICAgIGVuY3J5cHRpb246IGVuY3J5cHRpb25NYXBwaW5nc1tlbmNyeXB0aW9uXSxcbiAgICAgICAgZW5jcnlwdGlvbktleSxcbiAgICAgIH0pO1xuICAgICAgZW5jcnlwdGlvbktleSA9IGJ1Y2tldC5lbmNyeXB0aW9uS2V5O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVja2V0LFxuICAgIGVuY3J5cHRpb24sXG4gICAgZW5jcnlwdGlvbktleSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyQ29sdW1ucyhjb2x1bW5zPzogQXJyYXk8Q29sdW1uIHwgQ29sdW1uPikge1xuICBpZiAoY29sdW1ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICByZXR1cm4gY29sdW1ucy5tYXAoY29sdW1uID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogY29sdW1uLm5hbWUsXG4gICAgICB0eXBlOiBjb2x1bW4udHlwZS5pbnB1dFN0cmluZyxcbiAgICAgIGNvbW1lbnQ6IGNvbHVtbi5jb21tZW50LFxuICAgIH07XG4gIH0pO1xufVxuIl19
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzMy10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBdUU7QUFDdkUsbURBQWdEO0FBRWhELDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFDekMsNEVBQTRFO0FBQzVFLDhFQUE4RjtBQUM5RiwwRUFBMEU7QUFJMUUsNkNBQXlDO0FBRXpDOzs7O0dBSUc7QUFDSCxJQUFZLGVBMEJYO0FBMUJELFdBQVksZUFBZTtJQUN6Qjs7OztPQUlHO0lBQ0gsd0NBQXFCLENBQUE7SUFFckI7Ozs7T0FJRztJQUNILGtDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGtEQUErQixDQUFBO0lBRS9COzs7O09BSUc7SUFDSCw4Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBMUJXLGVBQWUsK0JBQWYsZUFBZSxRQTBCMUI7QUF1Q0Q7OztHQUdHO0lBRVUsT0FBTzs0QkFEbkIsb0NBQWtCOzs7O3NCQUNVLHNCQUFTOzs7Ozs7O3VCQUFqQixTQUFRLFdBQVM7Ozs7eUNBaUduQyxpQ0FBYzt3Q0FRZCxpQ0FBYztxQ0FlZCxJQUFBLGtDQUFjLEdBQUU7c0NBY2hCLElBQUEsa0NBQWMsR0FBRTswQ0FjaEIsSUFBQSxrQ0FBYyxHQUFFO1lBbERqQixrTEFBVyxTQUFTLDZEQUVuQjtZQU1ELCtLQUFXLFFBQVEsNkRBTWxCO1lBU0QsOEtBQU8sU0FBUyw2REFLZjtZQVNELGlMQUFPLFVBQVUsNkRBS2hCO1lBU0QsNkxBQU8sY0FBYyw2REFLcEI7WUExSkgsNktBK0pDOzs7OztRQTlKQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLGlDQUFpQyxDQUFDO1FBRWpGLFFBQVEsR0FKTCxtREFBTyxDQUlTO1FBRTNCOztXQUVHO1FBQ2EsTUFBTSxDQUFhO1FBRW5DOztXQUVHO1FBQ2EsUUFBUSxDQUFTO1FBRWpDOztXQUVHO1FB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QU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IsIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmblRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHR5cGUgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIsIGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEsIE1ldGhvZE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IENvbHVtbiB9IGZyb20gJy4vc2NoZW1hJztcbmltcG9ydCB0eXBlIHsgUGFydGl0aW9uSW5kZXgsIFRhYmxlQmFzZVByb3BzIH0gZnJvbSAnLi90YWJsZS1iYXNlJztcbmltcG9ydCB7IFRhYmxlQmFzZSB9IGZyb20gJy4vdGFibGUtYmFzZSc7XG5cbi8qKlxuICogRW5jcnlwdGlvbiBvcHRpb25zIGZvciBhIFRhYmxlLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F0aGVuYS9sYXRlc3QvdWcvZW5jcnlwdGlvbi5odG1sXG4gKi9cbmV4cG9ydCBlbnVtIFRhYmxlRW5jcnlwdGlvbiB7XG4gIC8qKlxuICAgKiBTZXJ2ZXIgc2lkZSBlbmNyeXB0aW9uIChTU0UpIHdpdGggYW4gQW1hem9uIFMzLW1hbmFnZWQga2V5LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1VzaW5nU2VydmVyU2lkZUVuY3J5cHRpb24uaHRtbFxuICAgKi9cbiAgUzNfTUFOQUdFRCA9ICdTU0UtUzMnLFxuXG4gIC8qKlxuICAgKiBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIChTU0UpIHdpdGggYW4gQVdTIEtNUyBrZXkgbWFuYWdlZCBieSB0aGUgYWNjb3VudCBvd25lci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9Vc2luZ0tNU0VuY3J5cHRpb24uaHRtbFxuICAgKi9cbiAgS01TID0gJ1NTRS1LTVMnLFxuXG4gIC8qKlxuICAgKiBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIChTU0UpIHdpdGggYW4gQVdTIEtNUyBrZXkgbWFuYWdlZCBieSB0aGUgS01TIHNlcnZpY2UuXG4gICAqL1xuICBLTVNfTUFOQUdFRCA9ICdTU0UtS01TLU1BTkFHRUQnLFxuXG4gIC8qKlxuICAgKiBDbGllbnQtc2lkZSBlbmNyeXB0aW9uIChDU0UpIHdpdGggYW4gQVdTIEtNUyBrZXkgbWFuYWdlZCBieSB0aGUgYWNjb3VudCBvd25lci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9Vc2luZ0NsaWVudFNpZGVFbmNyeXB0aW9uLmh0bWxcbiAgICovXG4gIENMSUVOVF9TSURFX0tNUyA9ICdDU0UtS01TJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTM1RhYmxlUHJvcHMgZXh0ZW5kcyBUYWJsZUJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBTMyBidWNrZXQgaW4gd2hpY2ggdG8gc3RvcmUgZGF0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgb25lIGlzIGNyZWF0ZWQgZm9yIHlvdVxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0PzogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogUzMgcHJlZml4IHVuZGVyIHdoaWNoIHRhYmxlIG9iamVjdHMgYXJlIHN0b3JlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwcmVmaXguIFRoZSBkYXRhIHdpbGwgYmUgc3RvcmVkIHVuZGVyIHRoZSByb290IG9mIHRoZSBidWNrZXQuXG4gICAqL1xuICByZWFkb25seSBzM1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGtpbmQgb2YgZW5jcnlwdGlvbiB0byBzZWN1cmUgdGhlIGRhdGEgd2l0aC5cbiAgICpcbiAgICogWW91IGNhbiBvbmx5IHByb3ZpZGUgdGhpcyBvcHRpb24gaWYgeW91IGFyZSBub3QgZXhwbGljaXRseSBwYXNzaW5nIGluIGEgYnVja2V0LlxuICAgKlxuICAgKiBJZiB5b3UgY2hvb3NlIGBTU0UtS01TYCwgeW91ICpjYW4qIHByb3ZpZGUgYW4gdW4tbWFuYWdlZCBLTVMga2V5IHdpdGggYGVuY3J5cHRpb25LZXlgLlxuICAgKiBJZiB5b3UgY2hvb3NlIGBDU0UtS01TYCwgeW91ICptdXN0KiBwcm92aWRlIGFuIHVuLW1hbmFnZWQgS01TIGtleSB3aXRoIGBlbmNyeXB0aW9uS2V5YC5cbiAgICpcbiAgICogQGRlZmF1bHQgQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VEXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uPzogVGFibGVFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCBLTVMga2V5IHRvIHVzZSBmb3IgYnVja2V0IGVuY3J5cHRpb24uXG4gICAqXG4gICAqIFRoZSBgZW5jcnlwdGlvbmAgcHJvcGVydHkgbXVzdCBiZSBgU1NFLUtNU2Agb3IgYENTRS1LTVNgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBrZXkgaXMgbWFuYWdlZCBieSBLTVMuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG59XG5cbi8qKlxuICogQSBHbHVlIHRhYmxlIHRoYXQgdGFyZ2V0cyBhIFMzIGRhdGFzZXQuXG4gKiBAcmVzb3VyY2UgQVdTOjpHbHVlOjpUYWJsZVxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgUzNUYWJsZSBleHRlbmRzIFRhYmxlQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuUzNUYWJsZSc7XG5cbiAgcHJpdmF0ZSByZXNvdXJjZTogQ2ZuVGFibGU7XG5cbiAgLyoqXG4gICAqIFMzIGJ1Y2tldCBpbiB3aGljaCB0aGUgdGFibGUncyBkYXRhIHJlc2lkZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBzMy5JQnVja2V0O1xuXG4gIC8qKlxuICAgKiBTMyBLZXkgUHJlZml4IHVuZGVyIHdoaWNoIHRoaXMgdGFibGUncyBmaWxlcyBhcmUgc3RvcmVkIGluIFMzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHMzUHJlZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGVuY3J5cHRpb24gZW5hYmxlZCBmb3IgdGhlIHRhYmxlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVuY3J5cHRpb246IFRhYmxlRW5jcnlwdGlvbjtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdXNlZCB0byBzZWN1cmUgdGhlIGRhdGEgaWYgYGVuY3J5cHRpb25gIGlzIHNldCB0byBgQ1NFLUtNU2Agb3IgYFNTRS1LTVNgLiBPdGhlcndpc2UsIGB1bmRlZmluZWRgLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcblxuICAvKipcbiAgICogVGhpcyB0YWJsZSdzIHBhcnRpdGlvbiBpbmRleGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhcnRpdGlvbkluZGV4ZXM/OiBQYXJ0aXRpb25JbmRleFtdO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0YWJsZVJlc291cmNlOiBDZm5UYWJsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUzNUYWJsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG4gICAgdGhpcy5zM1ByZWZpeCA9IHByb3BzLnMzUHJlZml4ID8/ICcnO1xuICAgIGNvbnN0IHsgYnVja2V0LCBlbmNyeXB0aW9uLCBlbmNyeXB0aW9uS2V5IH0gPSBjcmVhdGVCdWNrZXQodGhpcywgcHJvcHMpO1xuICAgIHRoaXMuYnVja2V0ID0gYnVja2V0O1xuICAgIHRoaXMuZW5jcnlwdGlvbiA9IGVuY3J5cHRpb247XG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gZW5jcnlwdGlvbktleTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuVGFibGUodGhpcywgJ1RhYmxlJywge1xuICAgICAgY2F0YWxvZ0lkOiBwcm9wcy5kYXRhYmFzZS5jYXRhbG9nSWQsXG5cbiAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lLFxuXG4gICAgICB0YWJsZUlucHV0OiB7XG4gICAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24gfHwgYCR7dGhpcy5waHlzaWNhbE5hbWV9IGdlbmVyYXRlZCBieSBDREtgLFxuXG4gICAgICAgIHBhcnRpdGlvbktleXM6IHJlbmRlckNvbHVtbnMocHJvcHMucGFydGl0aW9uS2V5cyksXG5cbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICdjbGFzc2lmaWNhdGlvbic6IHByb3BzLmRhdGFGb3JtYXQuY2xhc3NpZmljYXRpb25TdHJpbmc/LnZhbHVlLFxuICAgICAgICAgICdoYXNfZW5jcnlwdGVkX2RhdGEnOiB0cnVlLFxuICAgICAgICAgICdwYXJ0aXRpb25fZmlsdGVyaW5nLmVuYWJsZWQnOiBwcm9wcy5lbmFibGVQYXJ0aXRpb25GaWx0ZXJpbmcsXG4gICAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICB9LFxuICAgICAgICBzdG9yYWdlRGVzY3JpcHRvcjoge1xuICAgICAgICAgIGxvY2F0aW9uOiBgczM6Ly8ke3RoaXMuYnVja2V0LmJ1Y2tldE5hbWV9LyR7dGhpcy5zM1ByZWZpeH1gLFxuICAgICAgICAgIGNvbXByZXNzZWQ6IHRoaXMuY29tcHJlc3NlZCxcbiAgICAgICAgICBzdG9yZWRBc1N1YkRpcmVjdG9yaWVzOiBwcm9wcy5zdG9yZWRBc1N1YkRpcmVjdG9yaWVzID8/IGZhbHNlLFxuICAgICAgICAgIGNvbHVtbnM6IHJlbmRlckNvbHVtbnMocHJvcHMuY29sdW1ucyksXG4gICAgICAgICAgaW5wdXRGb3JtYXQ6IHByb3BzLmRhdGFGb3JtYXQuaW5wdXRGb3JtYXQuY2xhc3NOYW1lLFxuICAgICAgICAgIG91dHB1dEZvcm1hdDogcHJvcHMuZGF0YUZvcm1hdC5vdXRwdXRGb3JtYXQuY2xhc3NOYW1lLFxuICAgICAgICAgIHNlcmRlSW5mbzoge1xuICAgICAgICAgICAgc2VyaWFsaXphdGlvbkxpYnJhcnk6IHByb3BzLmRhdGFGb3JtYXQuc2VyaWFsaXphdGlvbkxpYnJhcnkuY2xhc3NOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyYW1ldGVyczogcHJvcHMuc3RvcmFnZVBhcmFtZXRlcnMgPyBwcm9wcy5zdG9yYWdlUGFyYW1ldGVycy5yZWR1Y2UoKGFjYywgcGFyYW0pID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJhbS5rZXkgaW4gYWNjKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YER1cGxpY2F0ZVN0b3JhZ2VQYXJhbWV0ZXJLZXlgLCBgRHVwbGljYXRlIHN0b3JhZ2UgcGFyYW1ldGVyIGtleTogJHtwYXJhbS5rZXl9YCwgdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBwYXJhbS5rZXk7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IHBhcmFtLnZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcblxuICAgICAgICB0YWJsZVR5cGU6ICdFWFRFUk5BTF9UQUJMRScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy50YWJsZVJlc291cmNlID0gdGhpcy5yZXNvdXJjZTtcbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gdGhpcy5yZXNvdXJjZTtcblxuICAgIC8vIFBhcnRpdGlvbiBpbmRleCBjcmVhdGlvbiByZWxpZXMgb24gY3JlYXRlZCB0YWJsZS5cbiAgICBpZiAocHJvcHMucGFydGl0aW9uSW5kZXhlcykge1xuICAgICAgdGhpcy5wYXJ0aXRpb25JbmRleGVzID0gcHJvcHMucGFydGl0aW9uSW5kZXhlcztcbiAgICAgIHRoaXMucGFydGl0aW9uSW5kZXhlcy5mb3JFYWNoKChpbmRleCkgPT4gdGhpcy5hZGRQYXJ0aXRpb25JbmRleChpbmRleCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoaXMgdGFibGUuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCB0YWJsZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFSTiBvZiB0aGlzIHRhYmxlLlxuICAgKi9cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgdGFibGVBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjay5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dsdWUnLFxuICAgICAgcmVzb3VyY2U6ICd0YWJsZScsXG4gICAgICByZXNvdXJjZU5hbWU6IGAke3RoaXMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lfS8ke3RoaXMudGFibGVOYW1lfWAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgcmVhZCBwZXJtaXNzaW9ucyB0byB0aGUgdGFibGUgYW5kIHRoZSB1bmRlcmx5aW5nIGRhdGEgc3RvcmVkIGluIFMzIHRvIGFuIElBTSBwcmluY2lwYWwuXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSB0aGUgcHJpbmNpcGFsXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICBjb25zdCByZXQgPSB0aGlzLmdyYW50KGdyYW50ZWUsIHJlYWRQZXJtaXNzaW9ucyk7XG4gICAgaWYgKHRoaXMuZW5jcnlwdGlvbktleSAmJiB0aGlzLmVuY3J5cHRpb24gPT09IFRhYmxlRW5jcnlwdGlvbi5DTElFTlRfU0lERV9LTVMpIHsgdGhpcy5lbmNyeXB0aW9uS2V5LmdyYW50RGVjcnlwdChncmFudGVlKTsgfVxuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZChncmFudGVlLCB0aGlzLmdlbmVyYXRlUzNQcmVmaXhGb3JHcmFudCgpKTtcbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoZSB0YWJsZSBhbmQgdGhlIHVuZGVybHlpbmcgZGF0YSBzdG9yZWQgaW4gUzMgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIHRoZSBwcmluY2lwYWxcbiAgICovXG4gIEBNZXRob2RNZXRhZGF0YSgpXG4gIHB1YmxpYyBncmFudFdyaXRlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICBjb25zdCByZXQgPSB0aGlzLmdyYW50KGdyYW50ZWUsIHdyaXRlUGVybWlzc2lvbnMpO1xuICAgIGlmICh0aGlzLmVuY3J5cHRpb25LZXkgJiYgdGhpcy5lbmNyeXB0aW9uID09PSBUYWJsZUVuY3J5cHRpb24uQ0xJRU5UX1NJREVfS01TKSB7IHRoaXMuZW5jcnlwdGlvbktleS5ncmFudEVuY3J5cHQoZ3JhbnRlZSk7IH1cbiAgICB0aGlzLmJ1Y2tldC5ncmFudFdyaXRlKGdyYW50ZWUsIHRoaXMuZ2VuZXJhdGVTM1ByZWZpeEZvckdyYW50KCkpO1xuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhlIHRhYmxlIGFuZCB0aGUgdW5kZXJseWluZyBkYXRhIHN0b3JlZCBpbiBTMyB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgdGhlIHByaW5jaXBhbFxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGdyYW50UmVhZFdyaXRlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICBjb25zdCByZXQgPSB0aGlzLmdyYW50KGdyYW50ZWUsIFsuLi5yZWFkUGVybWlzc2lvbnMsIC4uLndyaXRlUGVybWlzc2lvbnNdKTtcbiAgICBpZiAodGhpcy5lbmNyeXB0aW9uS2V5ICYmIHRoaXMuZW5jcnlwdGlvbiA9PT0gVGFibGVFbmNyeXB0aW9uLkNMSUVOVF9TSURFX0tNUykgeyB0aGlzLmVuY3J5cHRpb25LZXkuZ3JhbnRFbmNyeXB0RGVjcnlwdChncmFudGVlKTsgfVxuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZFdyaXRlKGdyYW50ZWUsIHRoaXMuZ2VuZXJhdGVTM1ByZWZpeEZvckdyYW50KCkpO1xuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVTM1ByZWZpeEZvckdyYW50KCkge1xuICAgIHJldHVybiB0aGlzLnMzUHJlZml4ICsgJyonO1xuICB9XG59XG5cbmNvbnN0IHJlYWRQZXJtaXNzaW9ucyA9IFtcbiAgJ2dsdWU6QmF0Y2hHZXRQYXJ0aXRpb24nLFxuICAnZ2x1ZTpHZXRQYXJ0aXRpb24nLFxuICAnZ2x1ZTpHZXRQYXJ0aXRpb25zJyxcbiAgJ2dsdWU6R2V0VGFibGUnLFxuICAnZ2x1ZTpHZXRUYWJsZXMnLFxuICAnZ2x1ZTpHZXRUYWJsZVZlcnNpb24nLFxuICAnZ2x1ZTpHZXRUYWJsZVZlcnNpb25zJyxcbl07XG5cbmNvbnN0IHdyaXRlUGVybWlzc2lvbnMgPSBbXG4gICdnbHVlOkJhdGNoQ3JlYXRlUGFydGl0aW9uJyxcbiAgJ2dsdWU6QmF0Y2hEZWxldGVQYXJ0aXRpb24nLFxuICAnZ2x1ZTpDcmVhdGVQYXJ0aXRpb24nLFxuICAnZ2x1ZTpEZWxldGVQYXJ0aXRpb24nLFxuICAnZ2x1ZTpVcGRhdGVQYXJ0aXRpb24nLFxuXTtcblxuLy8gbWFwIFRhYmxlRW5jcnlwdGlvbiB0byBidWNrZXQncyBTU0UgY29uZmlndXJhdGlvbiAoczMuQnVja2V0RW5jcnlwdGlvbilcbmNvbnN0IGVuY3J5cHRpb25NYXBwaW5ncyA9IHtcbiAgW1RhYmxlRW5jcnlwdGlvbi5TM19NQU5BR0VEXTogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICBbVGFibGVFbmNyeXB0aW9uLktNU19NQU5BR0VEXTogczMuQnVja2V0RW5jcnlwdGlvbi5LTVNfTUFOQUdFRCxcbiAgW1RhYmxlRW5jcnlwdGlvbi5LTVNdOiBzMy5CdWNrZXRFbmNyeXB0aW9uLktNUyxcbiAgW1RhYmxlRW5jcnlwdGlvbi5DTElFTlRfU0lERV9LTVNdOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG59O1xuXG4vLyBjcmVhdGUgdGhlIGJ1Y2tldCB0byBzdG9yZSBhIHRhYmxlJ3MgZGF0YSBkZXBlbmRpbmcgb24gdGhlIGBlbmNyeXB0aW9uYCBhbmQgYGVuY3J5cHRpb25LZXlgIHByb3BlcnRpZXMuXG5mdW5jdGlvbiBjcmVhdGVCdWNrZXQodGFibGU6IFMzVGFibGUsIHByb3BzOiBTM1RhYmxlUHJvcHMpIHtcbiAgbGV0IGJ1Y2tldCA9IHByb3BzLmJ1Y2tldDtcblxuICBpZiAoYnVja2V0ICYmIChwcm9wcy5lbmNyeXB0aW9uICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZW5jcnlwdGlvbiAhPT0gVGFibGVFbmNyeXB0aW9uLkNMSUVOVF9TSURFX0tNUykpIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEVuY3J5cHRpb25XaXRoUHJvdmlkZWRCdWNrZXRgLCAneW91IGNhbiBub3Qgc3BlY2lmeSBlbmNyeXB0aW9uIHNldHRpbmdzIGlmIHlvdSBhbHNvIHByb3ZpZGUgYSBidWNrZXQnKTtcbiAgfVxuXG4gIGNvbnN0IGVuY3J5cHRpb24gPSBwcm9wcy5lbmNyeXB0aW9uIHx8IFRhYmxlRW5jcnlwdGlvbi5TM19NQU5BR0VEO1xuXG4gIGxldCBlbmNyeXB0aW9uS2V5OiBrbXMuSUtleSB8IHVuZGVmaW5lZDtcbiAgaWYgKGVuY3J5cHRpb24gPT09IFRhYmxlRW5jcnlwdGlvbi5DTElFTlRfU0lERV9LTVMgJiYgcHJvcHMuZW5jcnlwdGlvbktleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gQ1NFLUtNUyBzaG91bGQgYmVoYXZlIHRoZSBzYW1lIGFzIFNTRS1LTVMgLSB1c2UgdGhlIHByb3ZpZGVkIGtleSBvciBjcmVhdGUgb25lIGF1dG9tYXRpY2FsbHlcbiAgICAvLyBTaW5jZSBCdWNrZXQgb25seSBrbm93cyBhYm91dCBTU0UsIHdlIHJlcGVhdCB0aGUgbG9naWMgZm9yIENTRS1LTVMgYXQgdGhlIFRhYmxlIGxldmVsLlxuICAgIGVuY3J5cHRpb25LZXkgPSBuZXcga21zLktleSh0YWJsZSwgJ0tleScpO1xuICB9IGVsc2Uge1xuICAgIGVuY3J5cHRpb25LZXkgPSBwcm9wcy5lbmNyeXB0aW9uS2V5O1xuICB9XG5cbiAgLy8gY3JlYXRlIHRoZSBidWNrZXQgaWYgbm9uZSB3YXMgcHJvdmlkZWRcbiAgaWYgKCFidWNrZXQpIHtcbiAgICBpZiAoZW5jcnlwdGlvbiA9PT0gVGFibGVFbmNyeXB0aW9uLkNMSUVOVF9TSURFX0tNUykge1xuICAgICAgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0YWJsZSwgJ0J1Y2tldCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRhYmxlLCAnQnVja2V0Jywge1xuICAgICAgICBlbmNyeXB0aW9uOiBlbmNyeXB0aW9uTWFwcGluZ3NbZW5jcnlwdGlvbl0sXG4gICAgICAgIGVuY3J5cHRpb25LZXksXG4gICAgICB9KTtcbiAgICAgIGVuY3J5cHRpb25LZXkgPSBidWNrZXQuZW5jcnlwdGlvbktleTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJ1Y2tldCxcbiAgICBlbmNyeXB0aW9uLFxuICAgIGVuY3J5cHRpb25LZXksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlbmRlckNvbHVtbnMoY29sdW1ucz86IEFycmF5PENvbHVtbiB8IENvbHVtbj4pIHtcbiAgaWYgKGNvbHVtbnMgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGNvbHVtbnMubWFwKGNvbHVtbiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgdHlwZTogY29sdW1uLnR5cGUuaW5wdXRTdHJpbmcsXG4gICAgICBjb21tZW50OiBjb2x1bW4uY29tbWVudCxcbiAgICB9O1xuICB9KTtcbn1cbiJdfQ==
|
package/lib/schema.js
CHANGED
|
@@ -4,11 +4,12 @@ exports.Schema = void 0;
|
|
|
4
4
|
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
|
+
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
7
8
|
/**
|
|
8
9
|
* @see https://docs.aws.amazon.com/athena/latest/ug/data-types.html
|
|
9
10
|
*/
|
|
10
11
|
class Schema {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Schema", version: "2.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Schema", version: "2.247.0-alpha.0" };
|
|
12
13
|
static BOOLEAN = {
|
|
13
14
|
isPrimitive: true,
|
|
14
15
|
inputString: 'boolean',
|
|
@@ -95,10 +96,10 @@ class Schema {
|
|
|
95
96
|
*/
|
|
96
97
|
static char(length) {
|
|
97
98
|
if (length <= 0 || length > 255) {
|
|
98
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
99
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `CharLengthOutOfRange`, `char length must be (inclusively) between 1 and 255, but was ${length}`);
|
|
99
100
|
}
|
|
100
101
|
if (length % 1 !== 0) {
|
|
101
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
102
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `CharLengthNotInteger`, `char length must be a positive integer, was ${length}`);
|
|
102
103
|
}
|
|
103
104
|
return {
|
|
104
105
|
isPrimitive: true,
|
|
@@ -112,10 +113,10 @@ class Schema {
|
|
|
112
113
|
*/
|
|
113
114
|
static varchar(length) {
|
|
114
115
|
if (length <= 0 || length > 65535) {
|
|
115
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
116
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `VarcharLengthOutOfRange`, `varchar length must be (inclusively) between 1 and 65535, but was ${length}`);
|
|
116
117
|
}
|
|
117
118
|
if (length % 1 !== 0) {
|
|
118
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
119
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `VarcharLengthNotInteger`, `varchar length must be a positive integer, was ${length}`);
|
|
119
120
|
}
|
|
120
121
|
return {
|
|
121
122
|
isPrimitive: true,
|
|
@@ -160,7 +161,7 @@ class Schema {
|
|
|
160
161
|
throw error;
|
|
161
162
|
}
|
|
162
163
|
if (!keyType.isPrimitive) {
|
|
163
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
164
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `MapKeyTypeNotPrimitive`, `the key type of a 'map' must be a primitive, but was ${keyType.inputString}`);
|
|
164
165
|
}
|
|
165
166
|
return {
|
|
166
167
|
isPrimitive: false,
|
|
@@ -187,4 +188,4 @@ class Schema {
|
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
exports.Schema = Schema;
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXNEO0FBdUN0RDs7R0FFRztBQUNILE1BQWEsTUFBTTs7SUFDVixNQUFNLENBQVUsT0FBTyxHQUFTO1FBQ3JDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCLENBQUM7SUFFSyxNQUFNLENBQVUsTUFBTSxHQUFTO1FBQ3BDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxRQUFRO0tBQ3RCLENBQUM7SUFFRjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxPQUFPLEdBQVM7UUFDckMsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLFFBQVE7S0FDdEIsQ0FBQztJQUVLLE1BQU0sQ0FBVSxNQUFNLEdBQVM7UUFDcEMsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLFFBQVE7S0FDdEIsQ0FBQztJQUVLLE1BQU0sQ0FBVSxLQUFLLEdBQVM7UUFDbkMsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLE9BQU87S0FDckIsQ0FBQztJQUVGOztPQUVHO0lBQ0ksTUFBTSxDQUFVLE9BQU8sR0FBUztRQUNyQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDO0lBRUY7O09BRUc7SUFDSSxNQUFNLENBQVUsU0FBUyxHQUFTO1FBQ3ZDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxVQUFVO0tBQ3hCLENBQUM7SUFFRjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxRQUFRLEdBQVM7UUFDdEMsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLFNBQVM7S0FDdkIsQ0FBQztJQUVGOztPQUVHO0lBQ0ksTUFBTSxDQUFVLElBQUksR0FBUztRQUNsQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsTUFBTTtLQUNwQixDQUFDO0lB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SUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLGFBQWEsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDO2dCQUNqRixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO1NBQ2hCLENBQUM7S0FDSDs7QUE1S0gsd0JBNktDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogQSBjb2x1bW4gb2YgYSB0YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW4ge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY29sdW1uLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHRoZSBjb2x1bW4uXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBUeXBlO1xuXG4gIC8qKlxuICAgKiBDb21lbnQgZGVzY3JpYmluZyB0aGUgY29sdW1uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0eXBlIG9mIGEgY29sdW1uIGluIGEgdGFibGUgc2NoZW1hLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGUge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyB0eXBlIGlzIGEgcHJpbWl0aXZlIGRhdGEgdHlwZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzUHJpbWl0aXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHbHVlIElucHV0U3RyaW5nIGZvciB0aGlzIHR5cGUuXG4gICAqL1xuICByZWFkb25seSBpbnB1dFN0cmluZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F0aGVuYS9sYXRlc3QvdWcvZGF0YS10eXBlcy5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBTY2hlbWEge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJPT0xFQU46IFR5cGUgPSB7XG4gICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgaW5wdXRTdHJpbmc6ICdib29sZWFuJyxcbiAgfTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJJTkFSWTogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ2JpbmFyeScsXG4gIH07XG5cbiAgLyoqXG4gICAqIEEgNjQtYml0IHNpZ25lZCBJTlRFR0VSIGluIHR3b+KAmXMgY29tcGxlbWVudCBmb3JtYXQsIHdpdGggYSBtaW5pbXVtIHZhbHVlIG9mIC0yXjYzIGFuZCBhIG1heGltdW0gdmFsdWUgb2YgMl42My0xLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCSUdfSU5UOiBUeXBlID0ge1xuICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgIGlucHV0U3RyaW5nOiAnYmlnaW50JyxcbiAgfTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPVUJMRTogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ2RvdWJsZScsXG4gIH07XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGTE9BVDogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ2Zsb2F0JyxcbiAgfTtcblxuICAvKipcbiAgICogQSAzMi1iaXQgc2lnbmVkIElOVEVHRVIgaW4gdHdv4oCZcyBjb21wbGVtZW50IGZvcm1hdCwgd2l0aCBhIG1pbmltdW0gdmFsdWUgb2YgLTJeMzEgYW5kIGEgbWF4aW11bSB2YWx1ZSBvZiAyXjMxLTEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOVEVHRVI6IFR5cGUgPSB7XG4gICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgaW5wdXRTdHJpbmc6ICdpbnQnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBBIDE2LWJpdCBzaWduZWQgSU5URUdFUiBpbiB0d2/igJlzIGNvbXBsZW1lbnQgZm9ybWF0LCB3aXRoIGEgbWluaW11bSB2YWx1ZSBvZiAtMl4xNSBhbmQgYSBtYXhpbXVtIHZhbHVlIG9mIDJeMTUtMS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU01BTExfSU5UOiBUeXBlID0ge1xuICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgIGlucHV0U3RyaW5nOiAnc21hbGxpbnQnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBBIDgtYml0IHNpZ25lZCBJTlRFR0VSIGluIHR3b+KAmXMgY29tcGxlbWVudCBmb3JtYXQsIHdpdGggYSBtaW5pbXVtIHZhbHVlIG9mIC0yXjcgYW5kIGEgbWF4aW11bSB2YWx1ZSBvZiAyXjctMVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUSU5ZX0lOVDogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ3RpbnlpbnQnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBEYXRlIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBVEU6IFR5cGUgPSB7XG4gICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgaW5wdXRTdHJpbmc6ICdkYXRlJyxcbiAgfTtcblxuICAvKipcbiAgICogVGltZXN0YW1wIHR5cGUgKGRhdGUgYW5kIHRpbWUpLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUSU1FU1RBTVA6IFR5cGUgPSB7XG4gICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgaW5wdXRTdHJpbmc6ICd0aW1lc3RhbXAnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBBcmJpdHJhcnktbGVuZ3RoIHN0cmluZyB0eXBlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVFJJTkc6IFR5cGUgPSB7XG4gICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgaW5wdXRTdHJpbmc6ICdzdHJpbmcnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZGVjaW1hbCB0eXBlLlxuICAgKlxuICAgKiBUT0RPOiBCb3VuZHNcbiAgICpcbiAgICogQHBhcmFtIHByZWNpc2lvbiB0aGUgdG90YWwgbnVtYmVyIG9mIGRpZ2l0c1xuICAgKiBAcGFyYW0gc2NhbGUgdGhlIG51bWJlciBvZiBkaWdpdHMgaW4gZnJhY3Rpb25hbCBwYXJ0LCB0aGUgZGVmYXVsdCBpcyAwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlY2ltYWwocHJlY2lzaW9uOiBudW1iZXIsIHNjYWxlPzogbnVtYmVyKTogVHlwZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgICAgaW5wdXRTdHJpbmc6IHNjYWxlICE9PSB1bmRlZmluZWQgPyBgZGVjaW1hbCgke3ByZWNpc2lvbn0sJHtzY2FsZX0pYCA6IGBkZWNpbWFsKCR7cHJlY2lzaW9ufSlgLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRml4ZWQgbGVuZ3RoIGNoYXJhY3RlciBkYXRhLCB3aXRoIGEgc3BlY2lmaWVkIGxlbmd0aCBiZXR3ZWVuIDEgYW5kIDI1NS5cbiAgICpcbiAgICogQHBhcmFtIGxlbmd0aCBsZW5ndGggYmV0d2VlbiAxIGFuZCAyNTVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2hhcihsZW5ndGg6IG51bWJlcik6IFR5cGUge1xuICAgIGlmIChsZW5ndGggPD0gMCB8fCBsZW5ndGggPiAyNTUpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcignQ2hhckxlbmd0aE91dE9mUmFuZ2UnLCBgY2hhciBsZW5ndGggbXVzdCBiZSAoaW5jbHVzaXZlbHkpIGJldHdlZW4gMSBhbmQgMjU1LCBidXQgd2FzICR7bGVuZ3RofWApO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoICUgMSAhPT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKCdDaGFyTGVuZ3RoTm90SW50ZWdlcicsIGBjaGFyIGxlbmd0aCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgd2FzICR7bGVuZ3RofWApO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgICBpbnB1dFN0cmluZzogYGNoYXIoJHtsZW5ndGh9KWAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYXJpYWJsZSBsZW5ndGggY2hhcmFjdGVyIGRhdGEsIHdpdGggYSBzcGVjaWZpZWQgbGVuZ3RoIGJldHdlZW4gMSBhbmQgNjU1MzUuXG4gICAqXG4gICAqIEBwYXJhbSBsZW5ndGggbGVuZ3RoIGJldHdlZW4gMSBhbmQgNjU1MzUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZhcmNoYXIobGVuZ3RoOiBudW1iZXIpOiBUeXBlIHtcbiAgICBpZiAobGVuZ3RoIDw9IDAgfHwgbGVuZ3RoID4gNjU1MzUpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcignVmFyY2hhckxlbmd0aE91dE9mUmFuZ2UnLCBgdmFyY2hhciBsZW5ndGggbXVzdCBiZSAoaW5jbHVzaXZlbHkpIGJldHdlZW4gMSBhbmQgNjU1MzUsIGJ1dCB3YXMgJHtsZW5ndGh9YCk7XG4gICAgfVxuICAgIGlmIChsZW5ndGggJSAxICE9PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoJ1ZhcmNoYXJMZW5ndGhOb3RJbnRlZ2VyJywgYHZhcmNoYXIgbGVuZ3RoIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCB3YXMgJHtsZW5ndGh9YCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICAgIGlucHV0U3RyaW5nOiBgdmFyY2hhcigke2xlbmd0aH0pYCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygc29tZSBvdGhlciB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbVR5cGUgdHlwZSBjb250YWluZWQgYnkgdGhlIGFycmF5LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhcnJheShpdGVtVHlwZTogVHlwZSk6IFR5cGUge1xuICAgIHJldHVybiB7XG4gICAgICBpc1ByaW1pdGl2ZTogZmFsc2UsXG4gICAgICBpbnB1dFN0cmluZzogYGFycmF5PCR7aXRlbVR5cGUuaW5wdXRTdHJpbmd9PmAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbWFwIG9mIHNvbWUgcHJpbWl0aXZlIGtleSB0eXBlIHRvIHNvbWUgdmFsdWUgdHlwZS5cbiAgICpcbiAgICogQHBhcmFtIGtleVR5cGUgdHlwZSBvZiBrZXksIG11c3QgYmUgYSBwcmltaXRpdmUuXG4gICAqIEBwYXJhbSB2YWx1ZVR5cGUgdHlwZSBmbyB0aGUgdmFsdWUgaW5kZXhlZCBieSB0aGUga2V5LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYXAoa2V5VHlwZTogVHlwZSwgdmFsdWVUeXBlOiBUeXBlKTogVHlwZSB7XG4gICAgaWYgKCFrZXlUeXBlLmlzUHJpbWl0aXZlKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoJ01hcEtleVR5cGVOb3RQcmltaXRpdmUnLCBgdGhlIGtleSB0eXBlIG9mIGEgJ21hcCcgbXVzdCBiZSBhIHByaW1pdGl2ZSwgYnV0IHdhcyAke2tleVR5cGUuaW5wdXRTdHJpbmd9YCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpc1ByaW1pdGl2ZTogZmFsc2UsXG4gICAgICBpbnB1dFN0cmluZzogYG1hcDwke2tleVR5cGUuaW5wdXRTdHJpbmd9LCR7dmFsdWVUeXBlLmlucHV0U3RyaW5nfT5gLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5lc3RlZCBzdHJ1Y3R1cmUgY29udGFpbmluZyBpbmRpdmlkdWFsbHkgbmFtZWQgYW5kIHR5cGVkIGNvbHVtbnMuXG4gICAqXG4gICAqIEBwYXJhbSBjb2x1bW5zIHRoZSBjb2x1bW5zIG9mIHRoZSBzdHJ1Y3R1cmUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0cnVjdChjb2x1bW5zOiBDb2x1bW5bXSk6IFR5cGUge1xuICAgIHJldHVybiB7XG4gICAgICBpc1ByaW1pdGl2ZTogZmFsc2UsXG4gICAgICBpbnB1dFN0cmluZzogYHN0cnVjdDwke2NvbHVtbnMubWFwKGNvbHVtbiA9PiB7XG4gICAgICAgIGlmIChjb2x1bW4uY29tbWVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5uYW1lfToke2NvbHVtbi50eXBlLmlucHV0U3RyaW5nfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5uYW1lfToke2NvbHVtbi50eXBlLmlucHV0U3RyaW5nfSBDT01NRU5UICcke2NvbHVtbi5jb21tZW50fSdgO1xuICAgICAgICB9XG4gICAgICB9KS5qb2luKCcsJyl9PmAsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXNEO0FBQ3RELDRFQUE0RDtBQXVDNUQ7O0dBRUc7QUFDSCxNQUFhLE1BQU07O0lBQ1YsTUFBTSxDQUFVLE9BQU8sR0FBUztRQUNyQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsU0FBUztLQUN2QixDQUFDO0lBRUssTUFBTSxDQUFVLE1BQU0sR0FBUztRQUNwQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsUUFBUTtLQUN0QixDQUFDO0lBRUY7O09BRUc7SUFDSSxNQUFNLENBQVUsT0FBTyxHQUFTO1FBQ3JDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxRQUFRO0tBQ3RCLENBQUM7SUFFSyxNQUFNLENBQVUsTUFBTSxHQUFTO1FBQ3BDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxRQUFRO0tBQ3RCLENBQUM7SUFFSyxNQUFNLENBQVUsS0FBSyxHQUFTO1FBQ25DLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxPQUFPO0tBQ3JCLENBQUM7SUFFRjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxPQUFPLEdBQVM7UUFDckMsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztJQUVGOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFNBQVMsR0FBUztRQUN2QyxXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsVUFBVTtLQUN4QixDQUFDO0lBRUY7O09BRUc7SUFDSSxNQUFNLENBQVUsUUFBUSxHQUFTO1FBQ3RDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCLENBQUM7SUFFRjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxJQUFJLEdBQVM7UUFDbEMsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLE1BQU07S0FDcEIsQ0FBQztJQUVGOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFNBQVMsR0FBUztRQUN2QyxXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsV0FBVztLQUN6QixDQUFDO0lBRUY7O09BRUc7SUFDSSxNQUFNLENBQVUsTUFBTSxHQUFTO1FBQ3BDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxRQUFRO0tBQ3RCLENBQUM7SUFFRjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFpQixFQUFFLEtBQWM7UUFDckQsT0FBTztZQUNMLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFdBQVcsRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLFNBQVMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxTQUFTLEdBQUc7U0FDOUYsQ0FBQztLQUNIO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBYztRQUMvQixJQUFJLE1BQU0sSUFBSSxDQUFDLElBQUksTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxxQ0FBdUIsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsc0JBQXNCLEVBQUUsZ0VBQWdFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekksQ0FBQztRQUNELElBQUksTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUkscUNBQXVCLENBQUMsSUFBQSxzQkFBRyxFQUFBLHNCQUFzQixFQUFFLCtDQUErQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3hILENBQUM7UUFDRCxPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUk7WUFDakIsV0FBVyxFQUFFLFFBQVEsTUFBTSxHQUFHO1NBQy9CLENBQUM7S0FDSDtJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWM7UUFDbEMsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLE1BQU0sR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUkscUNBQXVCLENBQUMsSUFBQSxzQkFBRyxFQUFBLHlCQUF5QixFQUFFLHFFQUFxRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pKLENBQUM7UUFDRCxJQUFJLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLHFDQUF1QixDQUFDLElBQUEsc0JBQUcsRUFBQSx5QkFBeUIsRUFBRSxrREFBa0QsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM5SCxDQUFDO1FBQ0QsT0FBTztZQUNMLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFdBQVcsRUFBRSxXQUFXLE1BQU0sR0FBRztTQUNsQyxDQUFDO0tBQ0g7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFjOzs7Ozs7Ozs7O1FBQ2hDLE9BQU87WUFDTCxXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsU0FBUyxRQUFRLENBQUMsV0FBVyxHQUFHO1NBQzlDLENBQUM7S0FDSDtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFhLEVBQUUsU0FBZTs7Ozs7Ozs7Ozs7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUkscUNBQXVCLENBQUMsSUFBQSxzQkFBRyxFQUFBLHdCQUF3QixFQUFFLHdEQUF3RCxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNoSixDQUFDO1FBQ0QsT0FBTztZQUNMLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFdBQVcsRUFBRSxPQUFPLE9BQU8sQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLFdBQVcsR0FBRztTQUNwRSxDQUFDO0tBQ0g7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFpQjtRQUNwQyxPQUFPO1lBQ0wsV0FBVyxFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFLFVBQVUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUMsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNqQyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLGFBQWEsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDO2dCQUNqRixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO1NBQ2hCLENBQUM7S0FDSDs7QUE1S0gsd0JBNktDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcblxuLyoqXG4gKiBBIGNvbHVtbiBvZiBhIHRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjb2x1bW4uXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgdGhlIGNvbHVtbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFR5cGU7XG5cbiAgLyoqXG4gICAqIENvbWVudCBkZXNjcmliaW5nIHRoZSBjb2x1bW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHR5cGUgb2YgYSBjb2x1bW4gaW4gYSB0YWJsZSBzY2hlbWEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZSB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIHR5cGUgaXMgYSBwcmltaXRpdmUgZGF0YSB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNQcmltaXRpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdsdWUgSW5wdXRTdHJpbmcgZm9yIHRoaXMgdHlwZS5cbiAgICovXG4gIHJlYWRvbmx5IGlucHV0U3RyaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXRoZW5hL2xhdGVzdC91Zy9kYXRhLXR5cGVzLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNjaGVtYSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQk9PTEVBTjogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ2Jvb2xlYW4nLFxuICB9O1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQklOQVJZOiBUeXBlID0ge1xuICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgIGlucHV0U3RyaW5nOiAnYmluYXJ5JyxcbiAgfTtcblxuICAvKipcbiAgICogQSA2NC1iaXQgc2lnbmVkIElOVEVHRVIgaW4gdHdv4oCZcyBjb21wbGVtZW50IGZvcm1hdCwgd2l0aCBhIG1pbmltdW0gdmFsdWUgb2YgLTJeNjMgYW5kIGEgbWF4aW11bSB2YWx1ZSBvZiAyXjYzLTEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJJR19JTlQ6IFR5cGUgPSB7XG4gICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgaW5wdXRTdHJpbmc6ICdiaWdpbnQnLFxuICB9O1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9VQkxFOiBUeXBlID0ge1xuICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgIGlucHV0U3RyaW5nOiAnZG91YmxlJyxcbiAgfTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZMT0FUOiBUeXBlID0ge1xuICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgIGlucHV0U3RyaW5nOiAnZmxvYXQnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBBIDMyLWJpdCBzaWduZWQgSU5URUdFUiBpbiB0d2/igJlzIGNvbXBsZW1lbnQgZm9ybWF0LCB3aXRoIGEgbWluaW11bSB2YWx1ZSBvZiAtMl4zMSBhbmQgYSBtYXhpbXVtIHZhbHVlIG9mIDJeMzEtMS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5URUdFUjogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ2ludCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIEEgMTYtYml0IHNpZ25lZCBJTlRFR0VSIGluIHR3b+KAmXMgY29tcGxlbWVudCBmb3JtYXQsIHdpdGggYSBtaW5pbXVtIHZhbHVlIG9mIC0yXjE1IGFuZCBhIG1heGltdW0gdmFsdWUgb2YgMl4xNS0xLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTTUFMTF9JTlQ6IFR5cGUgPSB7XG4gICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgaW5wdXRTdHJpbmc6ICdzbWFsbGludCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIEEgOC1iaXQgc2lnbmVkIElOVEVHRVIgaW4gdHdv4oCZcyBjb21wbGVtZW50IGZvcm1hdCwgd2l0aCBhIG1pbmltdW0gdmFsdWUgb2YgLTJeNyBhbmQgYSBtYXhpbXVtIHZhbHVlIG9mIDJeNy0xXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRJTllfSU5UOiBUeXBlID0ge1xuICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgIGlucHV0U3RyaW5nOiAndGlueWludCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIERhdGUgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFURTogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ2RhdGUnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgdHlwZSAoZGF0ZSBhbmQgdGltZSkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRJTUVTVEFNUDogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ3RpbWVzdGFtcCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIEFyYml0cmFyeS1sZW5ndGggc3RyaW5nIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNUUklORzogVHlwZSA9IHtcbiAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICBpbnB1dFN0cmluZzogJ3N0cmluZycsXG4gIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBkZWNpbWFsIHR5cGUuXG4gICAqXG4gICAqIFRPRE86IEJvdW5kc1xuICAgKlxuICAgKiBAcGFyYW0gcHJlY2lzaW9uIHRoZSB0b3RhbCBudW1iZXIgb2YgZGlnaXRzXG4gICAqIEBwYXJhbSBzY2FsZSB0aGUgbnVtYmVyIG9mIGRpZ2l0cyBpbiBmcmFjdGlvbmFsIHBhcnQsIHRoZSBkZWZhdWx0IGlzIDBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGVjaW1hbChwcmVjaXNpb246IG51bWJlciwgc2NhbGU/OiBudW1iZXIpOiBUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNQcmltaXRpdmU6IHRydWUsXG4gICAgICBpbnB1dFN0cmluZzogc2NhbGUgIT09IHVuZGVmaW5lZCA/IGBkZWNpbWFsKCR7cHJlY2lzaW9ufSwke3NjYWxlfSlgIDogYGRlY2ltYWwoJHtwcmVjaXNpb259KWAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXhlZCBsZW5ndGggY2hhcmFjdGVyIGRhdGEsIHdpdGggYSBzcGVjaWZpZWQgbGVuZ3RoIGJldHdlZW4gMSBhbmQgMjU1LlxuICAgKlxuICAgKiBAcGFyYW0gbGVuZ3RoIGxlbmd0aCBiZXR3ZWVuIDEgYW5kIDI1NVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjaGFyKGxlbmd0aDogbnVtYmVyKTogVHlwZSB7XG4gICAgaWYgKGxlbmd0aCA8PSAwIHx8IGxlbmd0aCA+IDI1NSkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGxpdGBDaGFyTGVuZ3RoT3V0T2ZSYW5nZWAsIGBjaGFyIGxlbmd0aCBtdXN0IGJlIChpbmNsdXNpdmVseSkgYmV0d2VlbiAxIGFuZCAyNTUsIGJ1dCB3YXMgJHtsZW5ndGh9YCk7XG4gICAgfVxuICAgIGlmIChsZW5ndGggJSAxICE9PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YENoYXJMZW5ndGhOb3RJbnRlZ2VyYCwgYGNoYXIgbGVuZ3RoIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCB3YXMgJHtsZW5ndGh9YCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpc1ByaW1pdGl2ZTogdHJ1ZSxcbiAgICAgIGlucHV0U3RyaW5nOiBgY2hhcigke2xlbmd0aH0pYCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhcmlhYmxlIGxlbmd0aCBjaGFyYWN0ZXIgZGF0YSwgd2l0aCBhIHNwZWNpZmllZCBsZW5ndGggYmV0d2VlbiAxIGFuZCA2NTUzNS5cbiAgICpcbiAgICogQHBhcmFtIGxlbmd0aCBsZW5ndGggYmV0d2VlbiAxIGFuZCA2NTUzNS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdmFyY2hhcihsZW5ndGg6IG51bWJlcik6IFR5cGUge1xuICAgIGlmIChsZW5ndGggPD0gMCB8fCBsZW5ndGggPiA2NTUzNSkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGxpdGBWYXJjaGFyTGVuZ3RoT3V0T2ZSYW5nZWAsIGB2YXJjaGFyIGxlbmd0aCBtdXN0IGJlIChpbmNsdXNpdmVseSkgYmV0d2VlbiAxIGFuZCA2NTUzNSwgYnV0IHdhcyAke2xlbmd0aH1gKTtcbiAgICB9XG4gICAgaWYgKGxlbmd0aCAlIDEgIT09IDApIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihsaXRgVmFyY2hhckxlbmd0aE5vdEludGVnZXJgLCBgdmFyY2hhciBsZW5ndGggbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIHdhcyAke2xlbmd0aH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzUHJpbWl0aXZlOiB0cnVlLFxuICAgICAgaW5wdXRTdHJpbmc6IGB2YXJjaGFyKCR7bGVuZ3RofSlgLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBzb21lIG90aGVyIHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtVHlwZSB0eXBlIGNvbnRhaW5lZCBieSB0aGUgYXJyYXkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFycmF5KGl0ZW1UeXBlOiBUeXBlKTogVHlwZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzUHJpbWl0aXZlOiBmYWxzZSxcbiAgICAgIGlucHV0U3RyaW5nOiBgYXJyYXk8JHtpdGVtVHlwZS5pbnB1dFN0cmluZ30+YCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBtYXAgb2Ygc29tZSBwcmltaXRpdmUga2V5IHR5cGUgdG8gc29tZSB2YWx1ZSB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5VHlwZSB0eXBlIG9mIGtleSwgbXVzdCBiZSBhIHByaW1pdGl2ZS5cbiAgICogQHBhcmFtIHZhbHVlVHlwZSB0eXBlIGZvIHRoZSB2YWx1ZSBpbmRleGVkIGJ5IHRoZSBrZXkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1hcChrZXlUeXBlOiBUeXBlLCB2YWx1ZVR5cGU6IFR5cGUpOiBUeXBlIHtcbiAgICBpZiAoIWtleVR5cGUuaXNQcmltaXRpdmUpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihsaXRgTWFwS2V5VHlwZU5vdFByaW1pdGl2ZWAsIGB0aGUga2V5IHR5cGUgb2YgYSAnbWFwJyBtdXN0IGJlIGEgcHJpbWl0aXZlLCBidXQgd2FzICR7a2V5VHlwZS5pbnB1dFN0cmluZ31gKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzUHJpbWl0aXZlOiBmYWxzZSxcbiAgICAgIGlucHV0U3RyaW5nOiBgbWFwPCR7a2V5VHlwZS5pbnB1dFN0cmluZ30sJHt2YWx1ZVR5cGUuaW5wdXRTdHJpbmd9PmAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmVzdGVkIHN0cnVjdHVyZSBjb250YWluaW5nIGluZGl2aWR1YWxseSBuYW1lZCBhbmQgdHlwZWQgY29sdW1ucy5cbiAgICpcbiAgICogQHBhcmFtIGNvbHVtbnMgdGhlIGNvbHVtbnMgb2YgdGhlIHN0cnVjdHVyZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3RydWN0KGNvbHVtbnM6IENvbHVtbltdKTogVHlwZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzUHJpbWl0aXZlOiBmYWxzZSxcbiAgICAgIGlucHV0U3RyaW5nOiBgc3RydWN0PCR7Y29sdW1ucy5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbi5jb21tZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm4gYCR7Y29sdW1uLm5hbWV9OiR7Y29sdW1uLnR5cGUuaW5wdXRTdHJpbmd9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7Y29sdW1uLm5hbWV9OiR7Y29sdW1uLnR5cGUuaW5wdXRTdHJpbmd9IENPTU1FTlQgJyR7Y29sdW1uLmNvbW1lbnR9J2A7XG4gICAgICAgIH1cbiAgICAgIH0pLmpvaW4oJywnKX0+YCxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -116,7 +116,7 @@ let SecurityConfiguration = (() => {
|
|
|
116
116
|
SecurityConfiguration = _classThis = _classDescriptor.value;
|
|
117
117
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
118
118
|
}
|
|
119
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SecurityConfiguration", version: "2.
|
|
119
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SecurityConfiguration", version: "2.247.0-alpha.0" };
|
|
120
120
|
/** Uniquely identifies this class. */
|
|
121
121
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.SecurityConfiguration';
|
|
122
122
|
/**
|
|
@@ -164,7 +164,7 @@ let SecurityConfiguration = (() => {
|
|
|
164
164
|
// Enhanced CDK Analytics Telemetry
|
|
165
165
|
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
166
166
|
if (!props.s3Encryption && !props.cloudWatchEncryption && !props.jobBookmarksEncryption) {
|
|
167
|
-
throw new cdk.ValidationError(
|
|
167
|
+
throw new cdk.ValidationError((0, helpers_internal_1.lit) `EncryptionRequired`, 'One of cloudWatchEncryption, jobBookmarksEncryption or s3Encryption must be defined', this);
|
|
168
168
|
}
|
|
169
169
|
const kmsKeyCreationRequired = (props.s3Encryption && props.s3Encryption.mode === S3EncryptionMode.KMS && !props.s3Encryption.kmsKey) ||
|
|
170
170
|
(props.cloudWatchEncryption && !props.cloudWatchEncryption.kmsKey) ||
|
|
@@ -217,4 +217,4 @@ let SecurityConfiguration = (() => {
|
|
|
217
217
|
return SecurityConfiguration = _classThis;
|
|
218
218
|
})();
|
|
219
219
|
exports.SecurityConfiguration = SecurityConfiguration;
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNlY3VyaXR5LWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWdFO0FBQ2hFLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsMkNBQStDO0FBQy9DLDRFQUF1RTtBQUN2RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBYzFFOzs7R0FHRztBQUNILElBQVksZ0JBY1g7QUFkRCxXQUFZLGdCQUFnQjtJQUMxQjs7OztPQUlHO0lBQ0gseUNBQXFCLENBQUE7SUFFckI7Ozs7T0FJRztJQUNILG1DQUFlLENBQUE7QUFDakIsQ0FBQyxFQWRXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBYzNCO0FBRUQ7OztHQUdHO0FBQ0gsSUFBWSx3QkFPWDtBQVBELFdBQVksd0JBQXdCO0lBQ2xDOzs7O09BSUc7SUFDSCwyQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFQVyx3QkFBd0Isd0NBQXhCLHdCQUF3QixRQU9uQztBQUVEOzs7R0FHRztBQUNILElBQVksMEJBT1g7QUFQRCxXQUFZLDBCQUEwQjtJQUNwQzs7OztPQUlHO0lBQ0gseURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVBXLDBCQUEwQiwwQ0FBMUIsMEJBQTBCLFFBT3JDO0FBZ0ZEOzs7Ozs7OztHQVFHO0lBRVUscUJBQXFCOzRCQURqQyxvQ0FBa0I7Ozs7c0JBQ3dCLEdBQUcsQ0FBQyxRQUFROzs7cUNBQXBCLFNBQVEsV0FBWTs7Ozt5REFrR3BELGlDQUFjO1lBQ2Ysa09BQVcseUJBQXlCLDZEQUVuQztZQXJHSCw2S0FzR0M7Ozs7O1FBckdDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsK0NBQStDLENBQUM7UUFFdkc7Ozs7OztXQU1HO1FBQ0ksTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQTJCLEVBQUUsRUFB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QUFJLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksaUJBQWlCLENBQUM7Z0JBQ3hFLENBQUM7Z0JBQ0QseUdBQXlHO2dCQUN6RyxhQUFhLEdBQUcsQ0FBQzt3QkFDZixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUk7d0JBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxNQUFNO3FCQUMvQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxtQ0FBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM5RCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQ3ZCLHVCQUF1QixFQUFFO29CQUN2QixvQkFBb0I7b0JBQ3BCLHNCQUFzQjtvQkFDdEIsYUFBYTtpQkFDZDthQUNGLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQzFCO1FBR0QsSUFBVyx5QkFBeUI7WUFDbEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6RDs7WUFyR1UsdURBQXFCOzs7OztBQUFyQixzREFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5TZWN1cml0eUNvbmZpZ3VyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBMYXp5LCBOYW1lcyB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIGEgY3JlYXRlZCBvciBhbiBpbXBvcnRlZCBgU2VjdXJpdHlDb25maWd1cmF0aW9uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VjdXJpdHlDb25maWd1cmF0aW9uIGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VjdXJpdHkgY29uZmlndXJhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVuY3J5cHRpb24gbW9kZSBmb3IgUzMuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX1MzRW5jcnlwdGlvbi5odG1sI0dsdWUtVHlwZS1TM0VuY3J5cHRpb24tUzNFbmNyeXB0aW9uTW9kZVxuICovXG5leHBvcnQgZW51bSBTM0VuY3J5cHRpb25Nb2RlIHtcbiAgLyoqXG4gICAqIFNlcnZlciBzaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBbWF6b24gUzMtbWFuYWdlZCBrZXkuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVXNpbmdTZXJ2ZXJTaWRlRW5jcnlwdGlvbi5odG1sXG4gICAqL1xuICBTM19NQU5BR0VEID0gJ1NTRS1TMycsXG5cbiAgLyoqXG4gICAqIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBV1MgS01TIGtleSBtYW5hZ2VkIGJ5IHRoZSBhY2NvdW50IG93bmVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1VzaW5nS01TRW5jcnlwdGlvbi5odG1sXG4gICAqL1xuICBLTVMgPSAnU1NFLUtNUycsXG59XG5cbi8qKlxuICogRW5jcnlwdGlvbiBtb2RlIGZvciBDbG91ZFdhdGNoIExvZ3MuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX0Nsb3VkV2F0Y2hFbmNyeXB0aW9uLmh0bWwjR2x1ZS1UeXBlLUNsb3VkV2F0Y2hFbmNyeXB0aW9uLUNsb3VkV2F0Y2hFbmNyeXB0aW9uTW9kZVxuICovXG5leHBvcnQgZW51bSBDbG91ZFdhdGNoRW5jcnlwdGlvbk1vZGUge1xuICAvKipcbiAgICogU2VydmVyLXNpZGUgZW5jcnlwdGlvbiAoU1NFKSB3aXRoIGFuIEFXUyBLTVMga2V5IG1hbmFnZWQgYnkgdGhlIGFjY291bnQgb3duZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVXNpbmdLTVNFbmNyeXB0aW9uLmh0bWxcbiAgICovXG4gIEtNUyA9ICdTU0UtS01TJyxcbn1cblxuLyoqXG4gKiBFbmNyeXB0aW9uIG1vZGUgZm9yIEpvYiBCb29rbWFya3MuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX0pvYkJvb2ttYXJrc0VuY3J5cHRpb24uaHRtbCNHbHVlLVR5cGUtSm9iQm9va21hcmtzRW5jcnlwdGlvbi1Kb2JCb29rbWFya3NFbmNyeXB0aW9uTW9kZVxuICovXG5leHBvcnQgZW51bSBKb2JCb29rbWFya3NFbmNyeXB0aW9uTW9kZSB7XG4gIC8qKlxuICAgKiBDbGllbnQtc2lkZSBlbmNyeXB0aW9uIChDU0UpIHdpdGggYW4gQVdTIEtNUyBrZXkgbWFuYWdlZCBieSB0aGUgYWNjb3VudCBvd25lci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9Vc2luZ0NsaWVudFNpZGVFbmNyeXB0aW9uLmh0bWxcbiAgICovXG4gIENMSUVOVF9TSURFX0tNUyA9ICdDU0UtS01TJyxcbn1cblxuLyoqXG4gKiBTMyBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNFbmNyeXB0aW9uIHtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24gbW9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IFMzRW5jcnlwdGlvbk1vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMga2V5IHRvIGJlIHVzZWQgdG8gZW5jcnlwdCB0aGUgZGF0YS5cbiAgICogQGRlZmF1bHQgbm8ga21zIGtleSBpZiBtb2RlID0gUzNfTUFOQUdFRC4gQSBrZXkgd2lsbCBiZSBjcmVhdGVkIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQgYW5kIG1vZGUgPSBLTVMuXG4gICAqL1xuICByZWFkb25seSBrbXNLZXk/OiBrbXMuSUtleVJlZjtcbn1cblxuLyoqXG4gKiBDbG91ZFdhdGNoIExvZ3MgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkV2F0Y2hFbmNyeXB0aW9uIHtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24gbW9kZVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZTogQ2xvdWRXYXRjaEVuY3J5cHRpb25Nb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB0byBiZSB1c2VkIHRvIGVuY3J5cHQgdGhlIGRhdGEuXG4gICAqIEBkZWZhdWx0IEEga2V5IHdpbGwgYmUgY3JlYXRlZCBpZiBvbmUgaXMgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkga21zS2V5Pzoga21zLklLZXlSZWY7XG59XG5cbi8qKlxuICogSm9iIGJvb2ttYXJrcyBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSm9iQm9va21hcmtzRW5jcnlwdGlvbiB7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uIG1vZGUuXG4gICAqL1xuICByZWFkb25seSBtb2RlOiBKb2JCb29rbWFya3NFbmNyeXB0aW9uTW9kZTtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdG8gYmUgdXNlZCB0byBlbmNyeXB0IHRoZSBkYXRhLlxuICAgKiBAZGVmYXVsdCBBIGtleSB3aWxsIGJlIGNyZWF0ZWQgaWYgb25lIGlzIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGttc0tleT86IGttcy5JS2V5UmVmO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdGlvbnMgcHJvcGVydGllcyBvZiBgU2VjdXJpdHlDb25maWd1cmF0aW9uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUNvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VjdXJpdHkgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBnZW5lcmF0ZWQgYnkgQ0RLLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVuY3J5cHRpb24gY29uZmlndXJhdGlvbiBmb3IgQW1hem9uIENsb3VkV2F0Y2ggTG9ncy5cbiAgICogQGRlZmF1bHQgbm8gY2xvdWR3YXRjaCBsb2dzIGVuY3J5cHRpb24uXG4gICAqL1xuICByZWFkb25seSBjbG91ZFdhdGNoRW5jcnlwdGlvbj86IENsb3VkV2F0Y2hFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBHbHVlIEpvYiBCb29rbWFya3MuXG4gICAqIEBkZWZhdWx0IG5vIGpvYiBib29rbWFya3MgZW5jcnlwdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGpvYkJvb2ttYXJrc0VuY3J5cHRpb24/OiBKb2JCb29rbWFya3NFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBBbWF6b24gU2ltcGxlIFN0b3JhZ2UgU2VydmljZSAoQW1hem9uIFMzKSBkYXRhLlxuICAgKiBAZGVmYXVsdCBubyBzMyBlbmNyeXB0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgczNFbmNyeXB0aW9uPzogUzNFbmNyeXB0aW9uO1xufVxuXG4vKipcbiAqIEEgc2VjdXJpdHkgY29uZmlndXJhdGlvbiBpcyBhIHNldCBvZiBzZWN1cml0eSBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIHVzZWQgYnkgQVdTIEdsdWUgdG8gZW5jcnlwdCBkYXRhIGF0IHJlc3QuXG4gKlxuICogVGhlIGZvbGxvd2luZyBzY2VuYXJpb3Mgc2hvdyBzb21lIG9mIHRoZSB3YXlzIHRoYXQgeW91IGNhbiB1c2UgYSBzZWN1cml0eSBjb25maWd1cmF0aW9uLlxuICogLSBBdHRhY2ggYSBzZWN1cml0eSBjb25maWd1cmF0aW9uIHRvIGFuIEFXUyBHbHVlIGNyYXdsZXIgdG8gd3JpdGUgZW5jcnlwdGVkIEFtYXpvbiBDbG91ZFdhdGNoIExvZ3MuXG4gKiAtIEF0dGFjaCBhIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb24gdG8gYW4gZXh0cmFjdCwgdHJhbnNmb3JtLCBhbmQgbG9hZCAoRVRMKSBqb2IgdG8gd3JpdGUgZW5jcnlwdGVkIEFtYXpvbiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlIChBbWF6b24gUzMpIHRhcmdldHMgYW5kIGVuY3J5cHRlZCBDbG91ZFdhdGNoIExvZ3MuXG4gKiAtIEF0dGFjaCBhIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb24gdG8gYW4gRVRMIGpvYiB0byB3cml0ZSBpdHMgam9icyBib29rbWFya3MgYXMgZW5jcnlwdGVkIEFtYXpvbiBTMyBkYXRhLlxuICogLSBBdHRhY2ggYSBzZWN1cml0eSBjb25maWd1cmF0aW9uIHRvIGEgZGV2ZWxvcG1lbnQgZW5kcG9pbnQgdG8gd3JpdGUgZW5jcnlwdGVkIEFtYXpvbiBTMyB0YXJnZXRzLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlDb25maWd1cmF0aW9uIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSVNlY3VyaXR5Q29uZmlndXJhdGlvbiB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuU2VjdXJpdHlDb25maWd1cmF0aW9uJztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENvbm5lY3Rpb24gY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCBzZWN1cml0eSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIGlkLlxuICAgKiBAcGFyYW0gc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSBuYW1lIG9mIGV4dGVybmFsIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZyxcbiAgICBzZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmcpOiBJU2VjdXJpdHlDb25maWd1cmF0aW9uIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJU2VjdXJpdHlDb25maWd1cmF0aW9uIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lID0gc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB1c2VkIGluIENsb3VkV2F0Y2ggZW5jcnlwdGlvbiBpZiBpdCByZXF1aXJlcyBhIGttcyBrZXkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWRXYXRjaEVuY3J5cHRpb25LZXk/OiBrbXMuSUtleVJlZjtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdXNlZCBpbiBqb2IgYm9va21hcmtzIGVuY3J5cHRpb24gaWYgaXQgcmVxdWlyZXMgYSBrbXMga2V5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYkJvb2ttYXJrc0VuY3J5cHRpb25LZXk/OiBrbXMuSUtleVJlZjtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdXNlZCBpbiBTMyBlbmNyeXB0aW9uIGlmIGl0IHJlcXVpcmVzIGEga21zIGtleS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM0VuY3J5cHRpb25LZXk/OiBrbXMuSUtleVJlZjtcblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5TZWN1cml0eUNvbmZpZ3VyYXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VjdXJpdHlDb25maWd1cmF0aW9uUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lID8/XG4gICAgICAgIExhenkuc3RyaW5nKHtcbiAgICAgICAgICBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge30pLFxuICAgICAgICB9KSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGlmICghcHJvcHMuczNFbmNyeXB0aW9uICYmICFwcm9wcy5jbG91ZFdhdGNoRW5jcnlwdGlvbiAmJiAhcHJvcHMuam9iQm9va21hcmtzRW5jcnlwdGlvbikge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ0VuY3J5cHRpb25SZXF1aXJlZCcsICdPbmUgb2YgY2xvdWRXYXRjaEVuY3J5cHRpb24sIGpvYkJvb2ttYXJrc0VuY3J5cHRpb24gb3IgczNFbmNyeXB0aW9uIG11c3QgYmUgZGVmaW5lZCcsIHRoaXMpO1xuICAgIH1cblxuICAgIGNvbnN0IGttc0tleUNyZWF0aW9uUmVxdWlyZWQgPVxuICAgICAgKHByb3BzLnMzRW5jcnlwdGlvbiAmJiBwcm9wcy5zM0VuY3J5cHRpb24ubW9kZSA9PT0gUzNFbmNyeXB0aW9uTW9kZS5LTVMgJiYgIXByb3BzLnMzRW5jcnlwdGlvbi5rbXNLZXkpIHx8XG4gICAgICAocHJvcHMuY2xvdWRXYXRjaEVuY3J5cHRpb24gJiYgIXByb3BzLmNsb3VkV2F0Y2hFbmNyeXB0aW9uLmttc0tleSkgfHxcbiAgICAgIChwcm9wcy5qb2JCb29rbWFya3NFbmNyeXB0aW9uICYmICFwcm9wcy5qb2JCb29rbWFya3NFbmNyeXB0aW9uLmttc0tleSk7XG4gICAgY29uc3QgYXV0b0NyZWF0ZWRLbXNLZXkgPSBrbXNLZXlDcmVhdGlvblJlcXVpcmVkID8gbmV3IGttcy5LZXkodGhpcywgJ0tleScpIDogdW5kZWZpbmVkO1xuXG4gICAgbGV0IGNsb3VkV2F0Y2hFbmNyeXB0aW9uO1xuICAgIGlmIChwcm9wcy5jbG91ZFdhdGNoRW5jcnlwdGlvbikge1xuICAgICAgdGhpcy5jbG91ZFdhdGNoRW5jcnlwdGlvbktleSA9IHByb3BzLmNsb3VkV2F0Y2hFbmNyeXB0aW9uLmttc0tleSB8fCBhdXRvQ3JlYXRlZEttc0tleTtcbiAgICAgIGNsb3VkV2F0Y2hFbmNyeXB0aW9uID0ge1xuICAgICAgICBjbG91ZFdhdGNoRW5jcnlwdGlvbk1vZGU6IHByb3BzLmNsb3VkV2F0Y2hFbmNyeXB0aW9uLm1vZGUsXG4gICAgICAgIGttc0tleUFybjogdGhpcy5jbG91ZFdhdGNoRW5jcnlwdGlvbktleT8ua2V5UmVmLmtleUFybixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgbGV0IGpvYkJvb2ttYXJrc0VuY3J5cHRpb247XG4gICAgaWYgKHByb3BzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb24pIHtcbiAgICAgIHRoaXMuam9iQm9va21hcmtzRW5jcnlwdGlvbktleSA9IHByb3BzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb24ua21zS2V5IHx8IGF1dG9DcmVhdGVkS21zS2V5O1xuICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbiA9IHtcbiAgICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbk1vZGU6IHByb3BzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb24ubW9kZSxcbiAgICAgICAga21zS2V5QXJuOiB0aGlzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb25LZXk/LmtleVJlZi5rZXlBcm4sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGxldCBzM0VuY3J5cHRpb25zO1xuICAgIGlmIChwcm9wcy5zM0VuY3J5cHRpb24pIHtcbiAgICAgIGlmIChwcm9wcy5zM0VuY3J5cHRpb24ubW9kZSA9PT0gUzNFbmNyeXB0aW9uTW9kZS5LTVMpIHtcbiAgICAgICAgdGhpcy5zM0VuY3J5cHRpb25LZXkgPSBwcm9wcy5zM0VuY3J5cHRpb24ua21zS2V5IHx8IGF1dG9DcmVhdGVkS21zS2V5O1xuICAgICAgfVxuICAgICAgLy8gTk9URTogQ2xvdWRGb3JtYXRpb25zIGVycm9ycyBvdXQgaWYgYXJyYXkgaXMgb2YgbGVuZ3RoID4gMS4gVGhhdCdzIHdoeSB0aGUgcHJvcHMgZG9uJ3QgZXhwb3NlIGFuIGFycmF5XG4gICAgICBzM0VuY3J5cHRpb25zID0gW3tcbiAgICAgICAgczNFbmNyeXB0aW9uTW9kZTogcHJvcHMuczNFbmNyeXB0aW9uLm1vZGUsXG4gICAgICAgIGttc0tleUFybjogdGhpcy5zM0VuY3J5cHRpb25LZXk/LmtleVJlZi5rZXlBcm4sXG4gICAgICB9XTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5TZWN1cml0eUNvbmZpZ3VyYXRpb24odGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICBlbmNyeXB0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjbG91ZFdhdGNoRW5jcnlwdGlvbixcbiAgICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbixcbiAgICAgICAgczNFbmNyeXB0aW9ucyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBzZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHRoaXMucmVzb3VyY2UucmVmKTtcbiAgfVxufVxuIl19
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNlY3VyaXR5LWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWdFO0FBQ2hFLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsMkNBQStDO0FBQy9DLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBYzFFOzs7R0FHRztBQUNILElBQVksZ0JBY1g7QUFkRCxXQUFZLGdCQUFnQjtJQUMxQjs7OztPQUlHO0lBQ0gseUNBQXFCLENBQUE7SUFFckI7Ozs7T0FJRztJQUNILG1DQUFlLENBQUE7QUFDakIsQ0FBQyxFQWRXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBYzNCO0FBRUQ7OztHQUdHO0FBQ0gsSUFBWSx3QkFPWDtBQVBELFdBQVksd0JBQXdCO0lBQ2xDOzs7O09BSUc7SUFDSCwyQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFQVyx3QkFBd0Isd0NBQXhCLHdCQUF3QixRQU9uQztBQUVEOzs7R0FHRztBQUNILElBQVksMEJBT1g7QUFQRCxXQUFZLDBCQUEwQjtJQUNwQzs7OztPQUlHO0lBQ0gseURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVBXLDBCQUEwQiwwQ0FBMUIsMEJBQTBCLFFBT3JDO0FBZ0ZEOzs7Ozs7OztHQVFHO0lBRVUscUJBQXFCOzRCQURqQyxvQ0FBa0I7Ozs7c0JBQ3dCLEdBQUcsQ0FBQyxRQUFROzs7cUNBQXBCLFNBQVEsV0FBWTs7Ozt5REFrR3BELGlDQUFjO1lBQ2Ysa09BQVcseUJBQXlCLDZEQUVuQztZQXJHSCw2S0FzR0M7Ozs7O1FBckdDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsK0NBQStDLENBQUM7UUFFdkc7Ozs7OztXQU1HO1FBQ0ksTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQTJCLEVBQUUsRUFB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Q0FBQyxZQUFZLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLGlCQUFpQixDQUFDO2dCQUN4RSxDQUFDO2dCQUNELHlHQUF5RztnQkFDekcsYUFBYSxHQUFHLENBQUM7d0JBQ2YsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJO3dCQUN6QyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTTtxQkFDL0MsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLElBQUksbUNBQXdCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDOUQsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2Qix1QkFBdUIsRUFBRTtvQkFDdkIsb0JBQW9CO29CQUNwQixzQkFBc0I7b0JBQ3RCLGFBQWE7aUJBQ2Q7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUMxQjtRQUdELElBQVcseUJBQXlCO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekQ7O1lBckdVLHVEQUFxQjs7Ozs7QUFBckIsc0RBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuU2VjdXJpdHlDb25maWd1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgTGF6eSwgTmFtZXMgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyLCBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIGEgY3JlYXRlZCBvciBhbiBpbXBvcnRlZCBgU2VjdXJpdHlDb25maWd1cmF0aW9uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VjdXJpdHlDb25maWd1cmF0aW9uIGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VjdXJpdHkgY29uZmlndXJhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVuY3J5cHRpb24gbW9kZSBmb3IgUzMuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX1MzRW5jcnlwdGlvbi5odG1sI0dsdWUtVHlwZS1TM0VuY3J5cHRpb24tUzNFbmNyeXB0aW9uTW9kZVxuICovXG5leHBvcnQgZW51bSBTM0VuY3J5cHRpb25Nb2RlIHtcbiAgLyoqXG4gICAqIFNlcnZlciBzaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBbWF6b24gUzMtbWFuYWdlZCBrZXkuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVXNpbmdTZXJ2ZXJTaWRlRW5jcnlwdGlvbi5odG1sXG4gICAqL1xuICBTM19NQU5BR0VEID0gJ1NTRS1TMycsXG5cbiAgLyoqXG4gICAqIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBV1MgS01TIGtleSBtYW5hZ2VkIGJ5IHRoZSBhY2NvdW50IG93bmVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1VzaW5nS01TRW5jcnlwdGlvbi5odG1sXG4gICAqL1xuICBLTVMgPSAnU1NFLUtNUycsXG59XG5cbi8qKlxuICogRW5jcnlwdGlvbiBtb2RlIGZvciBDbG91ZFdhdGNoIExvZ3MuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX0Nsb3VkV2F0Y2hFbmNyeXB0aW9uLmh0bWwjR2x1ZS1UeXBlLUNsb3VkV2F0Y2hFbmNyeXB0aW9uLUNsb3VkV2F0Y2hFbmNyeXB0aW9uTW9kZVxuICovXG5leHBvcnQgZW51bSBDbG91ZFdhdGNoRW5jcnlwdGlvbk1vZGUge1xuICAvKipcbiAgICogU2VydmVyLXNpZGUgZW5jcnlwdGlvbiAoU1NFKSB3aXRoIGFuIEFXUyBLTVMga2V5IG1hbmFnZWQgYnkgdGhlIGFjY291bnQgb3duZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVXNpbmdLTVNFbmNyeXB0aW9uLmh0bWxcbiAgICovXG4gIEtNUyA9ICdTU0UtS01TJyxcbn1cblxuLyoqXG4gKiBFbmNyeXB0aW9uIG1vZGUgZm9yIEpvYiBCb29rbWFya3MuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX0pvYkJvb2ttYXJrc0VuY3J5cHRpb24uaHRtbCNHbHVlLVR5cGUtSm9iQm9va21hcmtzRW5jcnlwdGlvbi1Kb2JCb29rbWFya3NFbmNyeXB0aW9uTW9kZVxuICovXG5leHBvcnQgZW51bSBKb2JCb29rbWFya3NFbmNyeXB0aW9uTW9kZSB7XG4gIC8qKlxuICAgKiBDbGllbnQtc2lkZSBlbmNyeXB0aW9uIChDU0UpIHdpdGggYW4gQVdTIEtNUyBrZXkgbWFuYWdlZCBieSB0aGUgYWNjb3VudCBvd25lci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9Vc2luZ0NsaWVudFNpZGVFbmNyeXB0aW9uLmh0bWxcbiAgICovXG4gIENMSUVOVF9TSURFX0tNUyA9ICdDU0UtS01TJyxcbn1cblxuLyoqXG4gKiBTMyBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNFbmNyeXB0aW9uIHtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24gbW9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IFMzRW5jcnlwdGlvbk1vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMga2V5IHRvIGJlIHVzZWQgdG8gZW5jcnlwdCB0aGUgZGF0YS5cbiAgICogQGRlZmF1bHQgbm8ga21zIGtleSBpZiBtb2RlID0gUzNfTUFOQUdFRC4gQSBrZXkgd2lsbCBiZSBjcmVhdGVkIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQgYW5kIG1vZGUgPSBLTVMuXG4gICAqL1xuICByZWFkb25seSBrbXNLZXk/OiBrbXMuSUtleVJlZjtcbn1cblxuLyoqXG4gKiBDbG91ZFdhdGNoIExvZ3MgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkV2F0Y2hFbmNyeXB0aW9uIHtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24gbW9kZVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZTogQ2xvdWRXYXRjaEVuY3J5cHRpb25Nb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB0byBiZSB1c2VkIHRvIGVuY3J5cHQgdGhlIGRhdGEuXG4gICAqIEBkZWZhdWx0IEEga2V5IHdpbGwgYmUgY3JlYXRlZCBpZiBvbmUgaXMgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkga21zS2V5Pzoga21zLklLZXlSZWY7XG59XG5cbi8qKlxuICogSm9iIGJvb2ttYXJrcyBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSm9iQm9va21hcmtzRW5jcnlwdGlvbiB7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uIG1vZGUuXG4gICAqL1xuICByZWFkb25seSBtb2RlOiBKb2JCb29rbWFya3NFbmNyeXB0aW9uTW9kZTtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdG8gYmUgdXNlZCB0byBlbmNyeXB0IHRoZSBkYXRhLlxuICAgKiBAZGVmYXVsdCBBIGtleSB3aWxsIGJlIGNyZWF0ZWQgaWYgb25lIGlzIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGttc0tleT86IGttcy5JS2V5UmVmO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdGlvbnMgcHJvcGVydGllcyBvZiBgU2VjdXJpdHlDb25maWd1cmF0aW9uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUNvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VjdXJpdHkgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBnZW5lcmF0ZWQgYnkgQ0RLLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVuY3J5cHRpb24gY29uZmlndXJhdGlvbiBmb3IgQW1hem9uIENsb3VkV2F0Y2ggTG9ncy5cbiAgICogQGRlZmF1bHQgbm8gY2xvdWR3YXRjaCBsb2dzIGVuY3J5cHRpb24uXG4gICAqL1xuICByZWFkb25seSBjbG91ZFdhdGNoRW5jcnlwdGlvbj86IENsb3VkV2F0Y2hFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBHbHVlIEpvYiBCb29rbWFya3MuXG4gICAqIEBkZWZhdWx0IG5vIGpvYiBib29rbWFya3MgZW5jcnlwdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGpvYkJvb2ttYXJrc0VuY3J5cHRpb24/OiBKb2JCb29rbWFya3NFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBBbWF6b24gU2ltcGxlIFN0b3JhZ2UgU2VydmljZSAoQW1hem9uIFMzKSBkYXRhLlxuICAgKiBAZGVmYXVsdCBubyBzMyBlbmNyeXB0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgczNFbmNyeXB0aW9uPzogUzNFbmNyeXB0aW9uO1xufVxuXG4vKipcbiAqIEEgc2VjdXJpdHkgY29uZmlndXJhdGlvbiBpcyBhIHNldCBvZiBzZWN1cml0eSBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIHVzZWQgYnkgQVdTIEdsdWUgdG8gZW5jcnlwdCBkYXRhIGF0IHJlc3QuXG4gKlxuICogVGhlIGZvbGxvd2luZyBzY2VuYXJpb3Mgc2hvdyBzb21lIG9mIHRoZSB3YXlzIHRoYXQgeW91IGNhbiB1c2UgYSBzZWN1cml0eSBjb25maWd1cmF0aW9uLlxuICogLSBBdHRhY2ggYSBzZWN1cml0eSBjb25maWd1cmF0aW9uIHRvIGFuIEFXUyBHbHVlIGNyYXdsZXIgdG8gd3JpdGUgZW5jcnlwdGVkIEFtYXpvbiBDbG91ZFdhdGNoIExvZ3MuXG4gKiAtIEF0dGFjaCBhIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb24gdG8gYW4gZXh0cmFjdCwgdHJhbnNmb3JtLCBhbmQgbG9hZCAoRVRMKSBqb2IgdG8gd3JpdGUgZW5jcnlwdGVkIEFtYXpvbiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlIChBbWF6b24gUzMpIHRhcmdldHMgYW5kIGVuY3J5cHRlZCBDbG91ZFdhdGNoIExvZ3MuXG4gKiAtIEF0dGFjaCBhIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb24gdG8gYW4gRVRMIGpvYiB0byB3cml0ZSBpdHMgam9icyBib29rbWFya3MgYXMgZW5jcnlwdGVkIEFtYXpvbiBTMyBkYXRhLlxuICogLSBBdHRhY2ggYSBzZWN1cml0eSBjb25maWd1cmF0aW9uIHRvIGEgZGV2ZWxvcG1lbnQgZW5kcG9pbnQgdG8gd3JpdGUgZW5jcnlwdGVkIEFtYXpvbiBTMyB0YXJnZXRzLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlDb25maWd1cmF0aW9uIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSVNlY3VyaXR5Q29uZmlndXJhdGlvbiB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuU2VjdXJpdHlDb25maWd1cmF0aW9uJztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENvbm5lY3Rpb24gY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCBzZWN1cml0eSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIGlkLlxuICAgKiBAcGFyYW0gc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSBuYW1lIG9mIGV4dGVybmFsIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZyxcbiAgICBzZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmcpOiBJU2VjdXJpdHlDb25maWd1cmF0aW9uIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJU2VjdXJpdHlDb25maWd1cmF0aW9uIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lID0gc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB1c2VkIGluIENsb3VkV2F0Y2ggZW5jcnlwdGlvbiBpZiBpdCByZXF1aXJlcyBhIGttcyBrZXkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWRXYXRjaEVuY3J5cHRpb25LZXk/OiBrbXMuSUtleVJlZjtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdXNlZCBpbiBqb2IgYm9va21hcmtzIGVuY3J5cHRpb24gaWYgaXQgcmVxdWlyZXMgYSBrbXMga2V5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYkJvb2ttYXJrc0VuY3J5cHRpb25LZXk/OiBrbXMuSUtleVJlZjtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdXNlZCBpbiBTMyBlbmNyeXB0aW9uIGlmIGl0IHJlcXVpcmVzIGEga21zIGtleS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM0VuY3J5cHRpb25LZXk/OiBrbXMuSUtleVJlZjtcblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5TZWN1cml0eUNvbmZpZ3VyYXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VjdXJpdHlDb25maWd1cmF0aW9uUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lID8/XG4gICAgICAgIExhenkuc3RyaW5nKHtcbiAgICAgICAgICBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge30pLFxuICAgICAgICB9KSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGlmICghcHJvcHMuczNFbmNyeXB0aW9uICYmICFwcm9wcy5jbG91ZFdhdGNoRW5jcnlwdGlvbiAmJiAhcHJvcHMuam9iQm9va21hcmtzRW5jcnlwdGlvbikge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YEVuY3J5cHRpb25SZXF1aXJlZGAsICdPbmUgb2YgY2xvdWRXYXRjaEVuY3J5cHRpb24sIGpvYkJvb2ttYXJrc0VuY3J5cHRpb24gb3IgczNFbmNyeXB0aW9uIG11c3QgYmUgZGVmaW5lZCcsIHRoaXMpO1xuICAgIH1cblxuICAgIGNvbnN0IGttc0tleUNyZWF0aW9uUmVxdWlyZWQgPVxuICAgICAgKHByb3BzLnMzRW5jcnlwdGlvbiAmJiBwcm9wcy5zM0VuY3J5cHRpb24ubW9kZSA9PT0gUzNFbmNyeXB0aW9uTW9kZS5LTVMgJiYgIXByb3BzLnMzRW5jcnlwdGlvbi5rbXNLZXkpIHx8XG4gICAgICAocHJvcHMuY2xvdWRXYXRjaEVuY3J5cHRpb24gJiYgIXByb3BzLmNsb3VkV2F0Y2hFbmNyeXB0aW9uLmttc0tleSkgfHxcbiAgICAgIChwcm9wcy5qb2JCb29rbWFya3NFbmNyeXB0aW9uICYmICFwcm9wcy5qb2JCb29rbWFya3NFbmNyeXB0aW9uLmttc0tleSk7XG4gICAgY29uc3QgYXV0b0NyZWF0ZWRLbXNLZXkgPSBrbXNLZXlDcmVhdGlvblJlcXVpcmVkID8gbmV3IGttcy5LZXkodGhpcywgJ0tleScpIDogdW5kZWZpbmVkO1xuXG4gICAgbGV0IGNsb3VkV2F0Y2hFbmNyeXB0aW9uO1xuICAgIGlmIChwcm9wcy5jbG91ZFdhdGNoRW5jcnlwdGlvbikge1xuICAgICAgdGhpcy5jbG91ZFdhdGNoRW5jcnlwdGlvbktleSA9IHByb3BzLmNsb3VkV2F0Y2hFbmNyeXB0aW9uLmttc0tleSB8fCBhdXRvQ3JlYXRlZEttc0tleTtcbiAgICAgIGNsb3VkV2F0Y2hFbmNyeXB0aW9uID0ge1xuICAgICAgICBjbG91ZFdhdGNoRW5jcnlwdGlvbk1vZGU6IHByb3BzLmNsb3VkV2F0Y2hFbmNyeXB0aW9uLm1vZGUsXG4gICAgICAgIGttc0tleUFybjogdGhpcy5jbG91ZFdhdGNoRW5jcnlwdGlvbktleT8ua2V5UmVmLmtleUFybixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgbGV0IGpvYkJvb2ttYXJrc0VuY3J5cHRpb247XG4gICAgaWYgKHByb3BzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb24pIHtcbiAgICAgIHRoaXMuam9iQm9va21hcmtzRW5jcnlwdGlvbktleSA9IHByb3BzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb24ua21zS2V5IHx8IGF1dG9DcmVhdGVkS21zS2V5O1xuICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbiA9IHtcbiAgICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbk1vZGU6IHByb3BzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb24ubW9kZSxcbiAgICAgICAga21zS2V5QXJuOiB0aGlzLmpvYkJvb2ttYXJrc0VuY3J5cHRpb25LZXk/LmtleVJlZi5rZXlBcm4sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGxldCBzM0VuY3J5cHRpb25zO1xuICAgIGlmIChwcm9wcy5zM0VuY3J5cHRpb24pIHtcbiAgICAgIGlmIChwcm9wcy5zM0VuY3J5cHRpb24ubW9kZSA9PT0gUzNFbmNyeXB0aW9uTW9kZS5LTVMpIHtcbiAgICAgICAgdGhpcy5zM0VuY3J5cHRpb25LZXkgPSBwcm9wcy5zM0VuY3J5cHRpb24ua21zS2V5IHx8IGF1dG9DcmVhdGVkS21zS2V5O1xuICAgICAgfVxuICAgICAgLy8gTk9URTogQ2xvdWRGb3JtYXRpb25zIGVycm9ycyBvdXQgaWYgYXJyYXkgaXMgb2YgbGVuZ3RoID4gMS4gVGhhdCdzIHdoeSB0aGUgcHJvcHMgZG9uJ3QgZXhwb3NlIGFuIGFycmF5XG4gICAgICBzM0VuY3J5cHRpb25zID0gW3tcbiAgICAgICAgczNFbmNyeXB0aW9uTW9kZTogcHJvcHMuczNFbmNyeXB0aW9uLm1vZGUsXG4gICAgICAgIGttc0tleUFybjogdGhpcy5zM0VuY3J5cHRpb25LZXk/LmtleVJlZi5rZXlBcm4sXG4gICAgICB9XTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5TZWN1cml0eUNvbmZpZ3VyYXRpb24odGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICBlbmNyeXB0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjbG91ZFdhdGNoRW5jcnlwdGlvbixcbiAgICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbixcbiAgICAgICAgczNFbmNyeXB0aW9ucyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBzZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHRoaXMucmVzb3VyY2UucmVmKTtcbiAgfVxufVxuIl19
|
package/lib/storage-parameter.js
CHANGED
|
@@ -271,7 +271,7 @@ var StorageParameters;
|
|
|
271
271
|
class StorageParameter {
|
|
272
272
|
key;
|
|
273
273
|
value;
|
|
274
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.StorageParameter", version: "2.
|
|
274
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.StorageParameter", version: "2.247.0-alpha.0" };
|
|
275
275
|
/**
|
|
276
276
|
* The number of rows to skip at the top of a CSV file when the table is being created.
|
|
277
277
|
*/
|
package/lib/table-base.js
CHANGED
|
@@ -5,13 +5,14 @@ const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
7
7
|
const core_1 = require("aws-cdk-lib/core");
|
|
8
|
+
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
8
9
|
const cr = require("aws-cdk-lib/custom-resources");
|
|
9
10
|
const partition_projection_1 = require("./partition-projection");
|
|
10
11
|
/**
|
|
11
12
|
* A Glue table.
|
|
12
13
|
*/
|
|
13
14
|
class TableBase extends core_1.Resource {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TableBase", version: "2.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TableBase", version: "2.247.0-alpha.0" };
|
|
15
16
|
static fromTableArn(scope, id, tableArn) {
|
|
16
17
|
const tableName = core_1.Fn.select(1, core_1.Fn.split('/', core_1.Stack.of(scope).splitArn(tableArn, core_1.ArnFormat.SLASH_RESOURCE_NAME).resourceName));
|
|
17
18
|
return TableBase.fromTableAttributes(scope, id, {
|
|
@@ -127,7 +128,7 @@ class TableBase extends core_1.Resource {
|
|
|
127
128
|
}
|
|
128
129
|
const numPartitions = this.partitionIndexCustomResources.length;
|
|
129
130
|
if (numPartitions >= 3) {
|
|
130
|
-
throw new core_1.ValidationError(
|
|
131
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `MaxPartitionIndexesExceeded`, 'Maximum number of partition indexes allowed is 3', this);
|
|
131
132
|
}
|
|
132
133
|
this.validatePartitionIndex(index);
|
|
133
134
|
const indexName = index.indexName ?? this.generateIndexName(index.keyNames);
|
|
@@ -167,14 +168,14 @@ class TableBase extends core_1.Resource {
|
|
|
167
168
|
}
|
|
168
169
|
validatePartitionIndex(index) {
|
|
169
170
|
if (index.indexName !== undefined && (index.indexName.length < 1 || index.indexName.length > 255)) {
|
|
170
|
-
throw new core_1.ValidationError(
|
|
171
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `IndexNameLengthInvalid`, `Index name must be between 1 and 255 characters, but got ${index.indexName.length}`, this);
|
|
171
172
|
}
|
|
172
173
|
if (!this.partitionKeys || this.partitionKeys.length === 0) {
|
|
173
|
-
throw new core_1.ValidationError(
|
|
174
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `NoPartitionKeysForIndex`, 'The table must have partition keys to create a partition index', this);
|
|
174
175
|
}
|
|
175
176
|
const keyNames = this.partitionKeys.map(pk => pk.name);
|
|
176
177
|
if (!index.keyNames.every(k => keyNames.includes(k))) {
|
|
177
|
-
throw new core_1.ValidationError(
|
|
178
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `IndexKeysNotPartitionKeys`, `All index keys must also be partition keys. Got ${index.keyNames} but partition key names are ${keyNames}`, this);
|
|
178
179
|
}
|
|
179
180
|
}
|
|
180
181
|
/**
|
|
@@ -186,14 +187,14 @@ class TableBase extends core_1.Resource {
|
|
|
186
187
|
}
|
|
187
188
|
// Validate that partition keys exist
|
|
188
189
|
if (!this.partitionKeys || this.partitionKeys.length === 0) {
|
|
189
|
-
throw new core_1.ValidationError(
|
|
190
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `NoPartitionKeysForProjection`, 'The table must have partition keys to use partition projection', this);
|
|
190
191
|
}
|
|
191
192
|
const partitionKeyNames = this.partitionKeys.map(pk => pk.name);
|
|
192
193
|
// Validate each partition projection configuration
|
|
193
194
|
for (const [columnName, config] of Object.entries(this.partitionProjection)) {
|
|
194
195
|
// Validate that column is a partition key
|
|
195
196
|
if (!partitionKeyNames.includes(columnName)) {
|
|
196
|
-
throw new core_1.ValidationError(
|
|
197
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `ProjectionColumnNotPartitionKey`, `Partition projection column "${columnName}" must be a partition key. ` +
|
|
197
198
|
`Partition keys are: ${partitionKeyNames.join(', ')}`, this);
|
|
198
199
|
}
|
|
199
200
|
// Generate CloudFormation parameters
|
|
@@ -201,7 +202,7 @@ class TableBase extends core_1.Resource {
|
|
|
201
202
|
// Check for conflicts with manually specified parameters
|
|
202
203
|
const conflictingKeys = Object.keys(generatedParams).filter(key => key in this.parameters);
|
|
203
204
|
if (conflictingKeys.length > 0) {
|
|
204
|
-
throw new core_1.ValidationError(
|
|
205
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `ProjectionParametersConflict`, `Partition projection parameters conflict with manually specified parameters: ${conflictingKeys.join(', ')}. ` +
|
|
205
206
|
'Use the partitionProjection property instead of manually specifying projection parameters.', this);
|
|
206
207
|
}
|
|
207
208
|
// Merge into this.parameters
|
|
@@ -209,7 +210,7 @@ class TableBase extends core_1.Resource {
|
|
|
209
210
|
}
|
|
210
211
|
// Check for conflict with projection.enabled
|
|
211
212
|
if ('projection.enabled' in this.parameters) {
|
|
212
|
-
throw new core_1.ValidationError(
|
|
213
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `ProjectionEnabledConflict`, 'Parameter "projection.enabled" conflicts with partitionProjection configuration. ' +
|
|
213
214
|
'Use the partitionProjection property instead of manually specifying projection.enabled.', this);
|
|
214
215
|
}
|
|
215
216
|
// Enable partition projection globally
|
|
@@ -246,15 +247,15 @@ class TableBase extends core_1.Resource {
|
|
|
246
247
|
exports.TableBase = TableBase;
|
|
247
248
|
function validateSchema(columns, partitionKeys) {
|
|
248
249
|
if (columns.length === 0) {
|
|
249
|
-
throw new core_1.UnscopedValidationError(
|
|
250
|
+
throw new core_1.UnscopedValidationError((0, helpers_internal_1.lit) `NoColumnsSpecified`, 'you must specify at least one column for the table');
|
|
250
251
|
}
|
|
251
252
|
// Check there is at least one column and no duplicated column names or partition keys.
|
|
252
253
|
const names = new Set();
|
|
253
254
|
(columns.concat(partitionKeys || [])).forEach(column => {
|
|
254
255
|
if (names.has(column.name)) {
|
|
255
|
-
throw new core_1.UnscopedValidationError(
|
|
256
|
+
throw new core_1.UnscopedValidationError((0, helpers_internal_1.lit) `DuplicateColumnName`, `column names and partition keys must be unique, but \'${column.name}\' is duplicated`);
|
|
256
257
|
}
|
|
257
258
|
names.add(column.name);
|
|
258
259
|
});
|
|
259
260
|
}
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRhYmxlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwyQ0FBMkM7QUFFM0MsMkNBQXlIO0FBQ3pILG1EQUFtRDtBQUtuRCxpRUFBeUc7QUFzS3pHOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLGVBQVE7O0lBQ3ZDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBZ0I7UUFDdkUsTUFBTSxTQUFTLEdBQUcsU0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsWUFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGdCQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxZQUFhLENBQUMsQ0FBQyxDQUFDO1FBRS9ILE9BQU8sU0FBUyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDOUMsUUFBUTtZQUNSLFNBQVM7U0FDVixDQUFDLENBQUM7S0FDSjtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjs7Ozs7Ozs7OztRQUNwRixNQUFNLE1BQU8sU0FBUSxlQUFRO1lBQ1gsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDMUIsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7U0FDN0M7UUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztLQUM5QjtJQU9EOztPQUVHO0lBQ2EsUUFBUSxDQUFZO0lBRXBDOztPQUVHO0lBQ2EsVUFBVSxDQUFVO0lBRXBDOztPQUVHO0lBQ2EsVUFBVSxDQUFhO0lBRXZDOztPQUVHO0lBQ2EsT0FBTyxDQUFXO0lBRWxDOztPQUVHO0lBQ2EsYUFBYSxDQUFZ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LEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDZm5UYWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgSVJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBBcm5Gb3JtYXQsIEZuLCBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFN0YWNrLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB0eXBlIHsgQXdzQ3VzdG9tUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IERhdGFGb3JtYXQgfSBmcm9tICcuL2RhdGEtZm9ybWF0JztcbmltcG9ydCB0eXBlIHsgSURhdGFiYXNlIH0gZnJvbSAnLi9kYXRhYmFzZSc7XG5pbXBvcnQgeyBnZW5lcmF0ZVBhcnRpdGlvblByb2plY3Rpb25QYXJhbWV0ZXJzLCB0eXBlIFBhcnRpdGlvblByb2plY3Rpb24gfSBmcm9tICcuL3BhcnRpdGlvbi1wcm9qZWN0aW9uJztcbmltcG9ydCB0eXBlIHsgQ29sdW1uIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHR5cGUgeyBTdG9yYWdlUGFyYW1ldGVyIH0gZnJvbSAnLi9zdG9yYWdlLXBhcmFtZXRlcic7XG5cbi8qKlxuICogUHJvcGVydGllcyBvZiBhIFBhcnRpdGlvbiBJbmRleC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0aXRpb25JbmRleCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFydGl0aW9uIGluZGV4LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZCBmb3IgeW91LlxuICAgKi9cbiAgcmVhZG9ubHkgaW5kZXhOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFydGl0aW9uIGtleSBuYW1lcyB0aGF0IGNvbXByaXNlIHRoZSBwYXJ0aXRpb25cbiAgICogaW5kZXguIFRoZSBuYW1lcyBtdXN0IGNvcnJlc3BvbmQgdG8gYSBuYW1lIGluIHRoZVxuICAgKiB0YWJsZSdzIHBhcnRpdGlvbiBrZXlzLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5TmFtZXM6IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJVGFibGUgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBdHRyaWJ1dGVzIHtcbiAgcmVhZG9ubHkgdGFibGVBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVCYXNlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgdGFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZ2VuZXJhdGVkIGJ5IENESy5cbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gb2YgdGhlIHRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRhYmFzZSBpbiB3aGljaCB0byBzdG9yZSB0aGUgdGFibGUuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZTogSURhdGFiYXNlO1xuXG4gIC8qKlxuICAgKiBDb2x1bW5zIG9mIHRoZSB0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbHVtbnM6IENvbHVtbltdO1xuXG4gIC8qKlxuICAgKiBQYXJ0aXRpb24gY29sdW1ucyBvZiB0aGUgdGFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRhYmxlIGlzIG5vdCBwYXJ0aXRpb25lZFxuICAgKi9cbiAgcmVhZG9ubHkgcGFydGl0aW9uS2V5cz86IENvbHVtbltdO1xuXG4gIC8qKlxuICAgKiBQYXJ0aXRpb24gaW5kZXhlcyBvbiB0aGUgdGFibGUuIEEgbWF4aW11bSBvZiAzIGluZGV4ZXNcbiAgICogYXJlIGFsbG93ZWQgb24gYSB0YWJsZS4gS2V5cyBpbiB0aGUgaW5kZXggbXVzdCBiZSBwYXJ0XG4gICAqIG9mIHRoZSB0YWJsZSdzIHBhcnRpdGlvbiBrZXlzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0YWJsZSBoYXMgbm8gcGFydGl0aW9uIGluZGV4ZXNcbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpdGlvbkluZGV4ZXM/OiBQYXJ0aXRpb25JbmRleFtdO1xuXG4gIC8qKlxuICAgKiBTdG9yYWdlIHR5cGUgb2YgdGhlIHRhYmxlJ3MgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFGb3JtYXQ6IERhdGFGb3JtYXQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB0YWJsZSdzIGRhdGEgaXMgY29tcHJlc3NlZCBvciBub3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb21wcmVzc2VkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRhYmxlIGRhdGEgaXMgc3RvcmVkIGluIHN1YmRpcmVjdG9yaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmVkQXNTdWJEaXJlY3Rvcmllcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgcGFydGl0aW9uIGZpbHRlcmluZy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXRoZW5hL2xhdGVzdC91Zy9nbHVlLWJlc3QtcHJhY3RpY2VzLmh0bWwjZ2x1ZS1iZXN0LXByYWN0aWNlcy1wYXJ0aXRpb24taW5kZXhcbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgcGFyYW1ldGVyIGlzIG5vdCBkZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBlbmFibGVQYXJ0aXRpb25GaWx0ZXJpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdXNlci1zdXBwbGllZCBwcm9wZXJ0aWVzIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHBoeXNpY2FsIHN0b3JhZ2Ugb2YgdGhpcyB0YWJsZS4gVGhlc2UgcHJvcGVydGllcyBoZWxwIGRlc2NyaWJlIHRoZSBmb3JtYXQgb2YgdGhlIGRhdGEgdGhhdCBpcyBzdG9yZWQgd2l0aGluIHRoZSBjcmF3bGVkIGRhdGEgc291cmNlcy5cbiAgICpcbiAgICogVGhlIGtleS92YWx1ZSBwYWlycyB0aGF0IGFyZSBhbGxvd2VkIHRvIGJlIHN1Ym1pdHRlZCBhcmUgbm90IGxpbWl0ZWQsIGhvd2V2ZXIgdGhlaXIgZnVuY3Rpb25hbGl0eSBpcyBub3QgZ3VhcmFudGVlZC5cbiAgICpcbiAgICogU29tZSBrZXlzIHdpbGwgYmUgYXV0by1wb3B1bGF0ZWQgYnkgZ2x1ZSBjcmF3bGVycywgaG93ZXZlciwgeW91IGNhbiBvdmVycmlkZSB0aGVtIGJ5IHNwZWNpZnlpbmcgdGhlIGtleSBhbmQgdmFsdWUgaW4gdGhpcyBwcm9wZXJ0eS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvdGFibGUtcHJvcGVydGllcy1jcmF3bGVyLmh0bWxcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcmVkc2hpZnQvbGF0ZXN0L2RnL3JfQ1JFQVRFX0VYVEVSTkFMX1RBQkxFLmh0bWwjcl9DUkVBVEVfRVhURVJOQUxfVEFCTEUtcGFyYW1ldGVycyAtIHVuZGVyIF9cIlRBQkxFIFBST1BFUlRJRVNcIl9cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogICAgZGVjbGFyZSBjb25zdCBnbHVlRGF0YWJhc2U6IGdsdWUuSURhdGFiYXNlO1xuICAgKiAgICBjb25zdCB0YWJsZSA9IG5ldyBnbHVlLlRhYmxlKHRoaXMsICdUYWJsZScsIHtcbiAgICogICAgICBzdG9yYWdlUGFyYW1ldGVyczogW1xuICAgKiAgICAgICAgICBnbHVlLlN0b3JhZ2VQYXJhbWV0ZXIuc2tpcEhlYWRlckxpbmVDb3VudCgxKSxcbiAgICogICAgICAgICAgZ2x1ZS5TdG9yYWdlUGFyYW1ldGVyLmNvbXByZXNzaW9uVHlwZShnbHVlLkNvbXByZXNzaW9uVHlwZS5HWklQKSxcbiAgICogICAgICAgICAgZ2x1ZS5TdG9yYWdlUGFyYW1ldGVyLmN1c3RvbSgnZm9vJywgJ2JhcicpLCAvLyBXaWxsIGhhdmUgbm8gZWZmZWN0XG4gICAqICAgICAgICAgIGdsdWUuU3RvcmFnZVBhcmFtZXRlci5jdXN0b20oJ3NlcGFyYXRvckNoYXInLCAnLCcpLCAvLyBXaWxsIGRlc2NyaWJlIHRoZSBzZXBhcmF0b3IgY2hhciB1c2VkIGluIHRoZSBkYXRhXG4gICAqICAgICAgICAgIGdsdWUuU3RvcmFnZVBhcmFtZXRlci5jdXN0b20oZ2x1ZS5TdG9yYWdlUGFyYW1ldGVycy5XUklURV9QQVJBTExFTCwgJ29mZicpLFxuICAgKiAgICAgIF0sXG4gICAqICAgICAgLy8gLi4uXG4gICAqICAgICAgZGF0YWJhc2U6IGdsdWVEYXRhYmFzZSxcbiAgICogICAgICBjb2x1bW5zOiBbe1xuICAgKiAgICAgICAgICBuYW1lOiAnY29sMScsXG4gICAqICAgICAgICAgIHR5cGU6IGdsdWUuU2NoZW1hLlNUUklORyxcbiAgICogICAgICB9XSxcbiAgICogICAgICBkYXRhRm9ybWF0OiBnbHVlLkRhdGFGb3JtYXQuQ1NWLFxuICAgKiAgICB9KTtcbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgcGFyYW1ldGVyIGlzIG5vdCBkZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlUGFyYW1ldGVycz86IFN0b3JhZ2VQYXJhbWV0ZXJbXTtcblxuICAvKipcbiAgICogVGhlIGtleS92YWx1ZSBwYWlycyBkZWZpbmUgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYmxlLlxuICAgKiBUaGUga2V5L3ZhbHVlIHBhaXJzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgc3VibWl0dGVkIGFyZSBub3QgbGltaXRlZCwgaG93ZXZlciB0aGVpciBmdW5jdGlvbmFsaXR5IGlzIG5vdCBndWFyYW50ZWVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWdsdWUtdGFibGUtdGFibGVpbnB1dC5odG1sI2Nmbi1nbHVlLXRhYmxlLXRhYmxlaW5wdXQtcGFyYW1ldGVyc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBwYXJhbWV0ZXIgaXMgbm90IGRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBQYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uIGZvciB0aGlzIHRhYmxlLlxuICAgKlxuICAgKiBQYXJ0aXRpb24gcHJvamVjdGlvbiBhbGxvd3MgQXRoZW5hIHRvIGF1dG9tYXRpY2FsbHkgYWRkIG5ldyBwYXJ0aXRpb25zXG4gICAqIHdpdGhvdXQgcmVxdWlyaW5nIGBBTFRFUiBUQUJMRSBBREQgUEFSVElUSU9OYCBzdGF0ZW1lbnRzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdGhlbmEvbGF0ZXN0L3VnL3BhcnRpdGlvbi1wcm9qZWN0aW9uLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwYXJ0aXRpb24gcHJvamVjdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcGFydGl0aW9uUHJvamVjdGlvbj86IFBhcnRpdGlvblByb2plY3Rpb247XG59XG5cbi8qKlxuICogQSBHbHVlIHRhYmxlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFibGVCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVGFibGUge1xuICBwdWJsaWMgc3RhdGljIGZyb21UYWJsZUFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB0YWJsZUFybjogc3RyaW5nKTogSVRhYmxlIHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBGbi5zZWxlY3QoMSwgRm4uc3BsaXQoJy8nLCBTdGFjay5vZihzY29wZSkuc3BsaXRBcm4odGFibGVBcm4sIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5yZXNvdXJjZU5hbWUhKSk7XG5cbiAgICByZXR1cm4gVGFibGVCYXNlLmZyb21UYWJsZUF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB0YWJsZUFybixcbiAgICAgIHRhYmxlTmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVGFibGUgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCB0YWJsZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKS5cbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QncyBpZC5cbiAgICogQHBhcmFtIGF0dHJzIEltcG9ydCBhdHRyaWJ1dGVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21UYWJsZUF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IFRhYmxlQXR0cmlidXRlcyk6IElUYWJsZSB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVGFibGUge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRhYmxlQXJuID0gYXR0cnMudGFibGVBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdGFibGVOYW1lID0gYXR0cnMudGFibGVOYW1lO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVSZXNvdXJjZTogQ2ZuVGFibGU7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0YWJsZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRhYmxlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBwYXJ0aXRpb25JbmRleGVzPzogUGFydGl0aW9uSW5kZXhbXTtcblxuICAvKipcbiAgICogRGF0YWJhc2UgdGhpcyB0YWJsZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlOiBJRGF0YWJhc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB0YWJsZSdzIGRhdGEgaXMgY29tcHJlc3NlZCBvciBub3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29tcHJlc3NlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRm9ybWF0IG9mIHRoaXMgdGFibGUncyBkYXRhIGZpbGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFGb3JtYXQ6IERhdGFGb3JtYXQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgdGFibGUncyBjb2x1bW5zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbHVtbnM6IENvbHVtbltdO1xuXG4gIC8qKlxuICAgKiBUaGlzIHRhYmxlJ3MgcGFydGl0aW9uIGtleXMgaWYgdGhlIHRhYmxlIGlzIHBhcnRpdGlvbmVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhcnRpdGlvbktleXM/OiBDb2x1bW5bXTtcblxuICAvKipcbiAgICogVGhlIHRhYmxlcycgc3RvcmFnZSBkZXNjcmlwdG9yIHByb3BlcnRpZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RvcmFnZVBhcmFtZXRlcnM/OiBTdG9yYWdlUGFyYW1ldGVyW107XG5cbiAgLyoqXG4gICAqIFRoaXMgdGFibGUncyBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uIGlmIGVuYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFydGl0aW9uUHJvamVjdGlvbj86IFBhcnRpdGlvblByb2plY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0YWJsZXMnIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWJsZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1nbHVlLXRhYmxlLXRhYmxlaW5wdXQuaHRtbCNjZm4tZ2x1ZS10YWJsZS10YWJsZWlucHV0LXBhcmFtZXRlcnNcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBQYXJ0aXRpb24gaW5kZXhlcyBtdXN0IGJlIGNyZWF0ZWQgb25lIGF0IGEgdGltZS4gVG8gYXZvaWRcbiAgICogcmFjZSBjb25kaXRpb25zLCB3ZSBzdG9yZSB0aGUgcmVzb3VyY2UgYW5kIGFkZCBkZXBlbmRlbmNpZXNcbiAgICogZWFjaCB0aW1lIGEgbmV3IHBhcnRpdGlvbiBpbmRleCBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBwYXJ0aXRpb25JbmRleEN1c3RvbVJlc291cmNlczogQXdzQ3VzdG9tUmVzb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUYWJsZUJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy50YWJsZU5hbWUgPz9cbiAgICAgICAgTGF6eS5zdHJpbmcoe1xuICAgICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7fSkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmRhdGFiYXNlID0gcHJvcHMuZGF0YWJhc2U7XG4gICAgdGhpcy5kYXRhRm9ybWF0ID0gcHJvcHMuZGF0YUZvcm1hdDtcblxuICAgIHZhbGlkYXRlU2NoZW1hKHByb3BzLmNvbHVtbnMsIHByb3BzLnBhcnRpdGlvbktleXMpO1xuICAgIHRoaXMuY29sdW1ucyA9IHByb3BzLmNvbHVtbnM7XG4gICAgdGhpcy5wYXJ0aXRpb25LZXlzID0gcHJvcHMucGFydGl0aW9uS2V5cztcbiAgICB0aGlzLnN0b3JhZ2VQYXJhbWV0ZXJzID0gcHJvcHMuc3RvcmFnZVBhcmFtZXRlcnM7XG4gICAgdGhpcy5wYXJ0aXRpb25Qcm9qZWN0aW9uID0gcHJvcHMucGFydGl0aW9uUHJvamVjdGlvbjtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwcm9wcy5wYXJhbWV0ZXJzID8/IHt9O1xuXG4gICAgdGhpcy5jb21wcmVzc2VkID0gcHJvcHMuY29tcHJlc3NlZCA/PyBmYWxzZTtcblxuICAgIHRoaXMudmFsaWRhdGVBbmRHZW5lcmF0ZVBhcnRpdGlvblByb2plY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBncmFudFdyaXRlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuICBwdWJsaWMgYWJzdHJhY3QgZ3JhbnRSZWFkV3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEFkZCBhIHBhcnRpdGlvbiBpbmRleCB0byB0aGUgdGFibGUuIFlvdSBjYW4gaGF2ZSBhIG1heGltdW0gb2YgMyBwYXJ0aXRpb25cbiAgICogaW5kZXhlcyB0byBhIHRhYmxlLiBQYXJ0aXRpb24gaW5kZXgga2V5cyBtdXN0IGJlIGEgc3Vic2V0IG9mIHRoZSB0YWJsZSdzXG4gICAqIHBhcnRpdGlvbiBrZXlzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9wYXJ0aXRpb24taW5kZXhlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgYWRkUGFydGl0aW9uSW5kZXgoaW5kZXg6IFBhcnRpdGlvbkluZGV4KSB7XG4gICAgY29uc3QgbnVtUGFydGl0aW9ucyA9IHRoaXMucGFydGl0aW9uSW5kZXhDdXN0b21SZXNvdXJjZXMubGVuZ3RoO1xuICAgIGlmIChudW1QYXJ0aXRpb25zID49IDMpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ01heFBhcnRpdGlvbkluZGV4ZXNFeGNlZWRlZCcsICdNYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb24gaW5kZXhlcyBhbGxvd2VkIGlzIDMnLCB0aGlzKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVBhcnRpdGlvbkluZGV4KGluZGV4KTtcblxuICAgIGNvbnN0IGluZGV4TmFtZSA9IGluZGV4LmluZGV4TmFtZSA/PyB0aGlzLmdlbmVyYXRlSW5kZXhOYW1lKGluZGV4LmtleU5hbWVzKTtcbiAgICBjb25zdCBwYXJ0aXRpb25JbmRleEN1c3RvbVJlc291cmNlID0gbmV3IGNyLkF3c0N1c3RvbVJlc291cmNlKHRoaXMsIGBwYXJ0aXRpb24taW5kZXgtJHtpbmRleE5hbWV9YCwge1xuICAgICAgb25DcmVhdGU6IHtcbiAgICAgICAgc2VydmljZTogJ0dsdWUnLFxuICAgICAgICBhY3Rpb246ICdjcmVhdGVQYXJ0aXRpb25JbmRleCcsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBEYXRhYmFzZU5hbWU6IHRoaXMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lLFxuICAgICAgICAgIFRhYmxlTmFtZTogdGhpcy50YWJsZU5hbWUsXG4gICAgICAgICAgUGFydGl0aW9uSW5kZXg6IHtcbiAgICAgICAgICAgIEluZGV4TmFtZTogaW5kZXhOYW1lLFxuICAgICAgICAgICAgS2V5czogaW5kZXgua2V5TmFtZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2YoXG4gICAgICAgICAgaW5kZXhOYW1lLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHBvbGljeTogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVNka0NhbGxzKHtcbiAgICAgICAgcmVzb3VyY2VzOiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5BTllfUkVTT1VSQ0UsXG4gICAgICB9KSxcbiAgICAgIC8vIEFQSXMgYXJlIGF2YWlsYWJsZSBpbiAyLjEwNTUuMFxuICAgICAgaW5zdGFsbExhdGVzdEF3c1NkazogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5ncmFudFRvVW5kZXJseWluZ1Jlc291cmNlcyhwYXJ0aXRpb25JbmRleEN1c3RvbVJlc291cmNlLCBbJ2dsdWU6VXBkYXRlVGFibGUnXSk7XG5cbiAgICAvLyBEZXBlbmQgb24gcHJldmlvdXMgcGFydGl0aW9uIGluZGV4IGlmIHBvc3NpYmxlLCB0byBhdm9pZCByYWNlIGNvbmRpdGlvblxuICAgIGlmIChudW1QYXJ0aXRpb25zID4gMCkge1xuICAgICAgdGhpcy5wYXJ0aXRpb25JbmRleEN1c3RvbVJlc291cmNlc1tudW1QYXJ0aXRpb25zLTFdLm5vZGUuYWRkRGVwZW5kZW5jeShwYXJ0aXRpb25JbmRleEN1c3RvbVJlc291cmNlKTtcbiAgICB9XG4gICAgdGhpcy5wYXJ0aXRpb25JbmRleEN1c3RvbVJlc291cmNlcy5wdXNoKHBhcnRpdGlvbkluZGV4Q3VzdG9tUmVzb3VyY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUluZGV4TmFtZShrZXlzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0ga2V5cy5qb2luKCctJykgKyAnLSc7XG4gICAgY29uc3QgdW5pcXVlSWQgPSBOYW1lcy51bmlxdWVJZCh0aGlzKTtcbiAgICBjb25zdCBtYXhJbmRleExlbmd0aCA9IDgwOyAvLyBhcmJpdHJhcmlseSBzcGVjaWZpZWRcbiAgICBjb25zdCBzdGFydEluZGV4ID0gTWF0aC5tYXgoMCwgdW5pcXVlSWQubGVuZ3RoIC0gKG1heEluZGV4TGVuZ3RoIC0gcHJlZml4Lmxlbmd0aCkpO1xuICAgIHJldHVybiBwcmVmaXggKyB1bmlxdWVJZC5zdWJzdHJpbmcoc3RhcnRJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlUGFydGl0aW9uSW5kZXgoaW5kZXg6IFBhcnRpdGlvbkluZGV4KSB7XG4gICAgaWYgKGluZGV4LmluZGV4TmFtZSAhPT0gdW5kZWZpbmVkICYmIChpbmRleC5pbmRleE5hbWUubGVuZ3RoIDwgMSB8fCBpbmRleC5pbmRleE5hbWUubGVuZ3RoID4gMjU1KSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignSW5kZXhOYW1lTGVuZ3RoSW52YWxpZCcsIGBJbmRleCBuYW1lIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyNTUgY2hhcmFjdGVycywgYnV0IGdvdCAke2luZGV4LmluZGV4TmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5wYXJ0aXRpb25LZXlzIHx8IHRoaXMucGFydGl0aW9uS2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ05vUGFydGl0aW9uS2V5c0ZvckluZGV4JywgJ1RoZSB0YWJsZSBtdXN0IGhhdmUgcGFydGl0aW9uIGtleXMgdG8gY3JlYXRlIGEgcGFydGl0aW9uIGluZGV4JywgdGhpcyk7XG4gICAgfVxuICAgIGNvbnN0IGtleU5hbWVzID0gdGhpcy5wYXJ0aXRpb25LZXlzLm1hcChwayA9PiBway5uYW1lKTtcbiAgICBpZiAoIWluZGV4LmtleU5hbWVzLmV2ZXJ5KGsgPT4ga2V5TmFtZXMuaW5jbHVkZXMoaykpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdJbmRleEtleXNOb3RQYXJ0aXRpb25LZXlzJywgYEFsbCBpbmRleCBrZXlzIG11c3QgYWxzbyBiZSBwYXJ0aXRpb24ga2V5cy4gR290ICR7aW5kZXgua2V5TmFtZXN9IGJ1dCBwYXJ0aXRpb24ga2V5IG5hbWVzIGFyZSAke2tleU5hbWVzfWAsIHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uIGFuZCBtZXJnZSBnZW5lcmF0ZWQgcGFyYW1ldGVycyBpbnRvIHRoaXMucGFyYW1ldGVycy5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVBbmRHZW5lcmF0ZVBhcnRpdGlvblByb2plY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBhcnRpdGlvblByb2plY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHBhcnRpdGlvbiBrZXlzIGV4aXN0XG4gICAgaWYgKCF0aGlzLnBhcnRpdGlvbktleXMgfHwgdGhpcy5wYXJ0aXRpb25LZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgJ05vUGFydGl0aW9uS2V5c0ZvclByb2plY3Rpb24nLFxuICAgICAgICAnVGhlIHRhYmxlIG11c3QgaGF2ZSBwYXJ0aXRpb24ga2V5cyB0byB1c2UgcGFydGl0aW9uIHByb2plY3Rpb24nLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJ0aXRpb25LZXlOYW1lcyA9IHRoaXMucGFydGl0aW9uS2V5cy5tYXAocGsgPT4gcGsubmFtZSk7XG5cbiAgICAvLyBWYWxpZGF0ZSBlYWNoIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb25cbiAgICBmb3IgKGNvbnN0IFtjb2x1bW5OYW1lLCBjb25maWddIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMucGFydGl0aW9uUHJvamVjdGlvbikpIHtcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgY29sdW1uIGlzIGEgcGFydGl0aW9uIGtleVxuICAgICAgaWYgKCFwYXJ0aXRpb25LZXlOYW1lcy5pbmNsdWRlcyhjb2x1bW5OYW1lKSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICdQcm9qZWN0aW9uQ29sdW1uTm90UGFydGl0aW9uS2V5JyxcbiAgICAgICAgICBgUGFydGl0aW9uIHByb2plY3Rpb24gY29sdW1uIFwiJHtjb2x1bW5OYW1lfVwiIG11c3QgYmUgYSBwYXJ0aXRpb24ga2V5LiBgICtcbiAgICAgICAgICBgUGFydGl0aW9uIGtleXMgYXJlOiAke3BhcnRpdGlvbktleU5hbWVzLmpvaW4oJywgJyl9YCxcbiAgICAgICAgICB0aGlzLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBHZW5lcmF0ZSBDbG91ZEZvcm1hdGlvbiBwYXJhbWV0ZXJzXG4gICAgICBjb25zdCBnZW5lcmF0ZWRQYXJhbXMgPSBnZW5lcmF0ZVBhcnRpdGlvblByb2plY3Rpb25QYXJhbWV0ZXJzKGNvbHVtbk5hbWUsIGNvbmZpZyk7XG5cbiAgICAgIC8vIENoZWNrIGZvciBjb25mbGljdHMgd2l0aCBtYW51YWxseSBzcGVjaWZpZWQgcGFyYW1ldGVyc1xuICAgICAgY29uc3QgY29uZmxpY3RpbmdLZXlzID0gT2JqZWN0LmtleXMoZ2VuZXJhdGVkUGFyYW1zKS5maWx0ZXIoa2V5ID0+IGtleSBpbiB0aGlzLnBhcmFtZXRlcnMpO1xuICAgICAgaWYgKGNvbmZsaWN0aW5nS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgJ1Byb2plY3Rpb25QYXJhbWV0ZXJzQ29uZmxpY3QnLFxuICAgICAgICAgIGBQYXJ0aXRpb24gcHJvamVjdGlvbiBwYXJhbWV0ZXJzIGNvbmZsaWN0IHdpdGggbWFudWFsbHkgc3BlY2lmaWVkIHBhcmFtZXRlcnM6ICR7Y29uZmxpY3RpbmdLZXlzLmpvaW4oJywgJyl9LiBgICtcbiAgICAgICAgICAnVXNlIHRoZSBwYXJ0aXRpb25Qcm9qZWN0aW9uIHByb3BlcnR5IGluc3RlYWQgb2YgbWFudWFsbHkgc3BlY2lmeWluZyBwcm9qZWN0aW9uIHBhcmFtZXRlcnMuJyxcbiAgICAgICAgICB0aGlzLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBNZXJnZSBpbnRvIHRoaXMucGFyYW1ldGVyc1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnBhcmFtZXRlcnMsIGdlbmVyYXRlZFBhcmFtcyk7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIGNvbmZsaWN0IHdpdGggcHJvamVjdGlvbi5lbmFibGVkXG4gICAgaWYgKCdwcm9qZWN0aW9uLmVuYWJsZWQnIGluIHRoaXMucGFyYW1ldGVycykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgJ1Byb2plY3Rpb25FbmFibGVkQ29uZmxpY3QnLFxuICAgICAgICAnUGFyYW1ldGVyIFwicHJvamVjdGlvbi5lbmFibGVkXCIgY29uZmxpY3RzIHdpdGggcGFydGl0aW9uUHJvamVjdGlvbiBjb25maWd1cmF0aW9uLiAnICtcbiAgICAgICAgJ1VzZSB0aGUgcGFydGl0aW9uUHJvamVjdGlvbiBwcm9wZXJ0eSBpbnN0ZWFkIG9mIG1hbnVhbGx5IHNwZWNpZnlpbmcgcHJvamVjdGlvbi5lbmFibGVkLicsXG4gICAgICAgIHRoaXMsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEVuYWJsZSBwYXJ0aXRpb24gcHJvamVjdGlvbiBnbG9iYWxseVxuICAgIHRoaXMucGFyYW1ldGVyc1sncHJvamVjdGlvbi5lbmFibGVkJ10gPSAndHJ1ZSc7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIGdpdmVuIGlkZW50aXR5IGN1c3RvbSBwZXJtaXNzaW9ucy5cbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqL1xuICBwdWJsaWMgZ3JhbnQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIGFjdGlvbnM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy50YWJsZUFybl0sXG4gICAgICBhY3Rpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBnaXZlbiBpZGVudGl0eSBjdXN0b20gcGVybWlzc2lvbnMgdG8gQUxMIHVuZGVybHlpbmcgcmVzb3VyY2VzIG9mIHRoZSB0YWJsZS5cbiAgICogUGVybWlzc2lvbnMgd2lsbCBiZSBncmFudGVkIHRvIHRoZSBjYXRhbG9nLCB0aGUgZGF0YWJhc2UsIGFuZCB0aGUgdGFibGUuXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50VG9VbmRlcmx5aW5nUmVzb3VyY2VzKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCBhY3Rpb25zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIHJlc291cmNlQXJuczogW1xuICAgICAgICB0aGlzLnRhYmxlQXJuLFxuICAgICAgICB0aGlzLmRhdGFiYXNlLmNhdGFsb2dBcm4sXG4gICAgICAgIHRoaXMuZGF0YWJhc2UuZGF0YWJhc2VBcm4sXG4gICAgICBdLFxuICAgICAgYWN0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNjaGVtYShjb2x1bW5zOiBDb2x1bW5bXSwgcGFydGl0aW9uS2V5cz86IENvbHVtbltdKTogdm9pZCB7XG4gIGlmIChjb2x1bW5zLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcignTm9Db2x1bW5zU3BlY2lmaWVkJywgJ3lvdSBtdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIGNvbHVtbiBmb3IgdGhlIHRhYmxlJyk7XG4gIH1cbiAgLy8gQ2hlY2sgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNvbHVtbiBhbmQgbm8gZHVwbGljYXRlZCBjb2x1bW4gbmFtZXMgb3IgcGFydGl0aW9uIGtleXMuXG4gIGNvbnN0IG5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIChjb2x1bW5zLmNvbmNhdChwYXJ0aXRpb25LZXlzIHx8IFtdKSkuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgIGlmIChuYW1lcy5oYXMoY29sdW1uLm5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoJ0R1cGxpY2F0ZUNvbHVtbk5hbWUnLCBgY29sdW1uIG5hbWVzIGFuZCBwYXJ0aXRpb24ga2V5cyBtdXN0IGJlIHVuaXF1ZSwgYnV0IFxcJyR7Y29sdW1uLm5hbWV9XFwnIGlzIGR1cGxpY2F0ZWRgKTtcbiAgICB9XG4gICAgbmFtZXMuYWRkKGNvbHVtbi5uYW1lKTtcbiAgfSk7XG59XG4iXX0=
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRhYmxlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwyQ0FBMkM7QUFFM0MsMkNBQXlIO0FBQ3pILDRFQUE0RDtBQUM1RCxtREFBbUQ7QUFLbkQsaUVBQXlHO0FBc0t6Rzs7R0FFRztBQUNILE1BQXNCLFNBQVUsU0FBUSxlQUFROztJQUN2QyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQWdCO1FBQ3ZFLE1BQU0sU0FBUyxHQUFHLFNBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFNBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFlBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxnQkFBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBYSxDQUFDLENBQUMsQ0FBQztRQUUvSCxPQUFPLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzlDLFFBQVE7WUFDUixTQUFTO1NBQ1YsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7Ozs7Ozs7Ozs7UUFDcEYsTUFBTSxNQUFPLFNBQVEsZUFBUTtZQUNYLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQzFCLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUI7SUFPRDs7T0FFRztJQUNhLFFBQVEsQ0FBWTtJQUVwQzs7T0FFRztJQUNhLFVBQVUsQ0FBVTtJQUVwQzs7T0FFRztJQUNhLFVBQVUsQ0FBYTtJQUV2Qzs7T0FFRztJQUNhLE9BQU8sQ0FBVztJQUVsQzs7T0FFRztJ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QUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksOEJBQXVCLENBQUMsSUFBQSxzQkFBRyxFQUFBLHFCQUFxQixFQUFFLHlEQUF5RCxNQUFNLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RKLENBQUM7UUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENmblRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IEFybkZvcm1hdCwgRm4sIExhenksIE5hbWVzLCBSZXNvdXJjZSwgU3RhY2ssIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgdHlwZSB7IEF3c0N1c3RvbVJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhRm9ybWF0IH0gZnJvbSAnLi9kYXRhLWZvcm1hdCc7XG5pbXBvcnQgdHlwZSB7IElEYXRhYmFzZSB9IGZyb20gJy4vZGF0YWJhc2UnO1xuaW1wb3J0IHsgZ2VuZXJhdGVQYXJ0aXRpb25Qcm9qZWN0aW9uUGFyYW1ldGVycywgdHlwZSBQYXJ0aXRpb25Qcm9qZWN0aW9uIH0gZnJvbSAnLi9wYXJ0aXRpb24tcHJvamVjdGlvbic7XG5pbXBvcnQgdHlwZSB7IENvbHVtbiB9IGZyb20gJy4vc2NoZW1hJztcbmltcG9ydCB0eXBlIHsgU3RvcmFnZVBhcmFtZXRlciB9IGZyb20gJy4vc3RvcmFnZS1wYXJhbWV0ZXInO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgb2YgYSBQYXJ0aXRpb24gSW5kZXguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGl0aW9uSW5kZXgge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBhcnRpdGlvbiBpbmRleC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIHlvdS5cbiAgICovXG4gIHJlYWRvbmx5IGluZGV4TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhcnRpdGlvbiBrZXkgbmFtZXMgdGhhdCBjb21wcmlzZSB0aGUgcGFydGl0aW9uXG4gICAqIGluZGV4LiBUaGUgbmFtZXMgbXVzdCBjb3JyZXNwb25kIHRvIGEgbmFtZSBpbiB0aGVcbiAgICogdGFibGUncyBwYXJ0aXRpb24ga2V5cy5cbiAgICovXG4gIHJlYWRvbmx5IGtleU5hbWVzOiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQXR0cmlidXRlcyB7XG4gIHJlYWRvbmx5IHRhYmxlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGdlbmVyYXRlZCBieSBDREsuXG4gICAqL1xuICByZWFkb25seSB0YWJsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIG9mIHRoZSB0YWJsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRGF0YWJhc2UgaW4gd2hpY2ggdG8gc3RvcmUgdGhlIHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U6IElEYXRhYmFzZTtcblxuICAvKipcbiAgICogQ29sdW1ucyBvZiB0aGUgdGFibGUuXG4gICAqL1xuICByZWFkb25seSBjb2x1bW5zOiBDb2x1bW5bXTtcblxuICAvKipcbiAgICogUGFydGl0aW9uIGNvbHVtbnMgb2YgdGhlIHRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0YWJsZSBpcyBub3QgcGFydGl0aW9uZWRcbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpdGlvbktleXM/OiBDb2x1bW5bXTtcblxuICAvKipcbiAgICogUGFydGl0aW9uIGluZGV4ZXMgb24gdGhlIHRhYmxlLiBBIG1heGltdW0gb2YgMyBpbmRleGVzXG4gICAqIGFyZSBhbGxvd2VkIG9uIGEgdGFibGUuIEtleXMgaW4gdGhlIGluZGV4IG11c3QgYmUgcGFydFxuICAgKiBvZiB0aGUgdGFibGUncyBwYXJ0aXRpb24ga2V5cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdGFibGUgaGFzIG5vIHBhcnRpdGlvbiBpbmRleGVzXG4gICAqL1xuICByZWFkb25seSBwYXJ0aXRpb25JbmRleGVzPzogUGFydGl0aW9uSW5kZXhbXTtcblxuICAvKipcbiAgICogU3RvcmFnZSB0eXBlIG9mIHRoZSB0YWJsZSdzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBkYXRhRm9ybWF0OiBEYXRhRm9ybWF0O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGFibGUncyBkYXRhIGlzIGNvbXByZXNzZWQgb3Igbm90LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3NlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB0YWJsZSBkYXRhIGlzIHN0b3JlZCBpbiBzdWJkaXJlY3Rvcmllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0b3JlZEFzU3ViRGlyZWN0b3JpZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHBhcnRpdGlvbiBmaWx0ZXJpbmcuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F0aGVuYS9sYXRlc3QvdWcvZ2x1ZS1iZXN0LXByYWN0aWNlcy5odG1sI2dsdWUtYmVzdC1wcmFjdGljZXMtcGFydGl0aW9uLWluZGV4XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIHBhcmFtZXRlciBpcyBub3QgZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlUGFydGl0aW9uRmlsdGVyaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHVzZXItc3VwcGxpZWQgcHJvcGVydGllcyBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBwaHlzaWNhbCBzdG9yYWdlIG9mIHRoaXMgdGFibGUuIFRoZXNlIHByb3BlcnRpZXMgaGVscCBkZXNjcmliZSB0aGUgZm9ybWF0IG9mIHRoZSBkYXRhIHRoYXQgaXMgc3RvcmVkIHdpdGhpbiB0aGUgY3Jhd2xlZCBkYXRhIHNvdXJjZXMuXG4gICAqXG4gICAqIFRoZSBrZXkvdmFsdWUgcGFpcnMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSBzdWJtaXR0ZWQgYXJlIG5vdCBsaW1pdGVkLCBob3dldmVyIHRoZWlyIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGd1YXJhbnRlZWQuXG4gICAqXG4gICAqIFNvbWUga2V5cyB3aWxsIGJlIGF1dG8tcG9wdWxhdGVkIGJ5IGdsdWUgY3Jhd2xlcnMsIGhvd2V2ZXIsIHlvdSBjYW4gb3ZlcnJpZGUgdGhlbSBieSBzcGVjaWZ5aW5nIHRoZSBrZXkgYW5kIHZhbHVlIGluIHRoaXMgcHJvcGVydHkuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL3RhYmxlLXByb3BlcnRpZXMtY3Jhd2xlci5odG1sXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3JlZHNoaWZ0L2xhdGVzdC9kZy9yX0NSRUFURV9FWFRFUk5BTF9UQUJMRS5odG1sI3JfQ1JFQVRFX0VYVEVSTkFMX1RBQkxFLXBhcmFtZXRlcnMgLSB1bmRlciBfXCJUQUJMRSBQUk9QRVJUSUVTXCJfXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqICAgIGRlY2xhcmUgY29uc3QgZ2x1ZURhdGFiYXNlOiBnbHVlLklEYXRhYmFzZTtcbiAgICogICAgY29uc3QgdGFibGUgPSBuZXcgZ2x1ZS5UYWJsZSh0aGlzLCAnVGFibGUnLCB7XG4gICAqICAgICAgc3RvcmFnZVBhcmFtZXRlcnM6IFtcbiAgICogICAgICAgICAgZ2x1ZS5TdG9yYWdlUGFyYW1ldGVyLnNraXBIZWFkZXJMaW5lQ291bnQoMSksXG4gICAqICAgICAgICAgIGdsdWUuU3RvcmFnZVBhcmFtZXRlci5jb21wcmVzc2lvblR5cGUoZ2x1ZS5Db21wcmVzc2lvblR5cGUuR1pJUCksXG4gICAqICAgICAgICAgIGdsdWUuU3RvcmFnZVBhcmFtZXRlci5jdXN0b20oJ2ZvbycsICdiYXInKSwgLy8gV2lsbCBoYXZlIG5vIGVmZmVjdFxuICAgKiAgICAgICAgICBnbHVlLlN0b3JhZ2VQYXJhbWV0ZXIuY3VzdG9tKCdzZXBhcmF0b3JDaGFyJywgJywnKSwgLy8gV2lsbCBkZXNjcmliZSB0aGUgc2VwYXJhdG9yIGNoYXIgdXNlZCBpbiB0aGUgZGF0YVxuICAgKiAgICAgICAgICBnbHVlLlN0b3JhZ2VQYXJhbWV0ZXIuY3VzdG9tKGdsdWUuU3RvcmFnZVBhcmFtZXRlcnMuV1JJVEVfUEFSQUxMRUwsICdvZmYnKSxcbiAgICogICAgICBdLFxuICAgKiAgICAgIC8vIC4uLlxuICAgKiAgICAgIGRhdGFiYXNlOiBnbHVlRGF0YWJhc2UsXG4gICAqICAgICAgY29sdW1uczogW3tcbiAgICogICAgICAgICAgbmFtZTogJ2NvbDEnLFxuICAgKiAgICAgICAgICB0eXBlOiBnbHVlLlNjaGVtYS5TVFJJTkcsXG4gICAqICAgICAgfV0sXG4gICAqICAgICAgZGF0YUZvcm1hdDogZ2x1ZS5EYXRhRm9ybWF0LkNTVixcbiAgICogICAgfSk7XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIHBhcmFtZXRlciBpcyBub3QgZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZVBhcmFtZXRlcnM/OiBTdG9yYWdlUGFyYW1ldGVyW107XG5cbiAgLyoqXG4gICAqIFRoZSBrZXkvdmFsdWUgcGFpcnMgZGVmaW5lIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWJsZS5cbiAgICogVGhlIGtleS92YWx1ZSBwYWlycyB0aGF0IGFyZSBhbGxvd2VkIHRvIGJlIHN1Ym1pdHRlZCBhcmUgbm90IGxpbWl0ZWQsIGhvd2V2ZXIgdGhlaXIgZnVuY3Rpb25hbGl0eSBpcyBub3QgZ3VhcmFudGVlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1nbHVlLXRhYmxlLXRhYmxlaW5wdXQuaHRtbCNjZm4tZ2x1ZS10YWJsZS10YWJsZWlucHV0LXBhcmFtZXRlcnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgcGFyYW1ldGVyIGlzIG5vdCBkZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogUGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbiBmb3IgdGhpcyB0YWJsZS5cbiAgICpcbiAgICogUGFydGl0aW9uIHByb2plY3Rpb24gYWxsb3dzIEF0aGVuYSB0byBhdXRvbWF0aWNhbGx5IGFkZCBuZXcgcGFydGl0aW9uc1xuICAgKiB3aXRob3V0IHJlcXVpcmluZyBgQUxURVIgVEFCTEUgQUREIFBBUlRJVElPTmAgc3RhdGVtZW50cy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXRoZW5hL2xhdGVzdC91Zy9wYXJ0aXRpb24tcHJvamVjdGlvbi5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcGFydGl0aW9uIHByb2plY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpdGlvblByb2plY3Rpb24/OiBQYXJ0aXRpb25Qcm9qZWN0aW9uO1xufVxuXG4vKipcbiAqIEEgR2x1ZSB0YWJsZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRhYmxlQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVRhYmxlIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tVGFibGVBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgdGFibGVBcm46IHN0cmluZyk6IElUYWJsZSB7XG4gICAgY29uc3QgdGFibGVOYW1lID0gRm4uc2VsZWN0KDEsIEZuLnNwbGl0KCcvJywgU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKHRhYmxlQXJuLCBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSkucmVzb3VyY2VOYW1lISkpO1xuXG4gICAgcmV0dXJuIFRhYmxlQmFzZS5mcm9tVGFibGVBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgdGFibGVBcm4sXG4gICAgICB0YWJsZU5hbWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFRhYmxlIGNvbnN0cnVjdCB0aGF0IHJlcHJlc2VudHMgYW4gZXh0ZXJuYWwgdGFibGUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYCkuXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgaWQuXG4gICAqIEBwYXJhbSBhdHRycyBJbXBvcnQgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tVGFibGVBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBUYWJsZUF0dHJpYnV0ZXMpOiBJVGFibGUge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVRhYmxlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0YWJsZUFybiA9IGF0dHJzLnRhYmxlQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRhYmxlTmFtZSA9IGF0dHJzLnRhYmxlTmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IHRhYmxlUmVzb3VyY2U6IENmblRhYmxlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0YWJsZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcGFydGl0aW9uSW5kZXhlcz86IFBhcnRpdGlvbkluZGV4W107XG5cbiAgLyoqXG4gICAqIERhdGFiYXNlIHRoaXMgdGFibGUgYmVsb25ncyB0by5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhYmFzZTogSURhdGFiYXNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGFibGUncyBkYXRhIGlzIGNvbXByZXNzZWQgb3Igbm90LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbXByZXNzZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBvZiB0aGlzIHRhYmxlJ3MgZGF0YSBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhRm9ybWF0OiBEYXRhRm9ybWF0O1xuXG4gIC8qKlxuICAgKiBUaGlzIHRhYmxlJ3MgY29sdW1ucy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb2x1bW5zOiBDb2x1bW5bXTtcblxuICAvKipcbiAgICogVGhpcyB0YWJsZSdzIHBhcnRpdGlvbiBrZXlzIGlmIHRoZSB0YWJsZSBpcyBwYXJ0aXRpb25lZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwYXJ0aXRpb25LZXlzPzogQ29sdW1uW107XG5cbiAgLyoqXG4gICAqIFRoZSB0YWJsZXMnIHN0b3JhZ2UgZGVzY3JpcHRvciBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN0b3JhZ2VQYXJhbWV0ZXJzPzogU3RvcmFnZVBhcmFtZXRlcltdO1xuXG4gIC8qKlxuICAgKiBUaGlzIHRhYmxlJ3MgcGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbiBpZiBlbmFibGVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhcnRpdGlvblByb2plY3Rpb24/OiBQYXJ0aXRpb25Qcm9qZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGVzJyBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFibGUuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZ2x1ZS10YWJsZS10YWJsZWlucHV0Lmh0bWwjY2ZuLWdsdWUtdGFibGUtdGFibGVpbnB1dC1wYXJhbWV0ZXJzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogUGFydGl0aW9uIGluZGV4ZXMgbXVzdCBiZSBjcmVhdGVkIG9uZSBhdCBhIHRpbWUuIFRvIGF2b2lkXG4gICAqIHJhY2UgY29uZGl0aW9ucywgd2Ugc3RvcmUgdGhlIHJlc291cmNlIGFuZCBhZGQgZGVwZW5kZW5jaWVzXG4gICAqIGVhY2ggdGltZSBhIG5ldyBwYXJ0aXRpb24gaW5kZXggaXMgY3JlYXRlZC5cbiAgICovXG4gIHByaXZhdGUgcGFydGl0aW9uSW5kZXhDdXN0b21SZXNvdXJjZXM6IEF3c0N1c3RvbVJlc291cmNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVGFibGVCYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMudGFibGVOYW1lID8/XG4gICAgICAgIExhenkuc3RyaW5nKHtcbiAgICAgICAgICBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge30pLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kYXRhYmFzZSA9IHByb3BzLmRhdGFiYXNlO1xuICAgIHRoaXMuZGF0YUZvcm1hdCA9IHByb3BzLmRhdGFGb3JtYXQ7XG5cbiAgICB2YWxpZGF0ZVNjaGVtYShwcm9wcy5jb2x1bW5zLCBwcm9wcy5wYXJ0aXRpb25LZXlzKTtcbiAgICB0aGlzLmNvbHVtbnMgPSBwcm9wcy5jb2x1bW5zO1xuICAgIHRoaXMucGFydGl0aW9uS2V5cyA9IHByb3BzLnBhcnRpdGlvbktleXM7XG4gICAgdGhpcy5zdG9yYWdlUGFyYW1ldGVycyA9IHByb3BzLnN0b3JhZ2VQYXJhbWV0ZXJzO1xuICAgIHRoaXMucGFydGl0aW9uUHJvamVjdGlvbiA9IHByb3BzLnBhcnRpdGlvblByb2plY3Rpb247XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcHJvcHMucGFyYW1ldGVycyA/PyB7fTtcblxuICAgIHRoaXMuY29tcHJlc3NlZCA9IHByb3BzLmNvbXByZXNzZWQgPz8gZmFsc2U7XG5cbiAgICB0aGlzLnZhbGlkYXRlQW5kR2VuZXJhdGVQYXJ0aXRpb25Qcm9qZWN0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuICBwdWJsaWMgYWJzdHJhY3QgZ3JhbnRXcml0ZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcbiAgcHVibGljIGFic3RyYWN0IGdyYW50UmVhZFdyaXRlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBBZGQgYSBwYXJ0aXRpb24gaW5kZXggdG8gdGhlIHRhYmxlLiBZb3UgY2FuIGhhdmUgYSBtYXhpbXVtIG9mIDMgcGFydGl0aW9uXG4gICAqIGluZGV4ZXMgdG8gYSB0YWJsZS4gUGFydGl0aW9uIGluZGV4IGtleXMgbXVzdCBiZSBhIHN1YnNldCBvZiB0aGUgdGFibGUnc1xuICAgKiBwYXJ0aXRpb24ga2V5cy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvcGFydGl0aW9uLWluZGV4ZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIGFkZFBhcnRpdGlvbkluZGV4KGluZGV4OiBQYXJ0aXRpb25JbmRleCkge1xuICAgIGNvbnN0IG51bVBhcnRpdGlvbnMgPSB0aGlzLnBhcnRpdGlvbkluZGV4Q3VzdG9tUmVzb3VyY2VzLmxlbmd0aDtcbiAgICBpZiAobnVtUGFydGl0aW9ucyA+PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBNYXhQYXJ0aXRpb25JbmRleGVzRXhjZWVkZWRgLCAnTWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9uIGluZGV4ZXMgYWxsb3dlZCBpcyAzJywgdGhpcyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVQYXJ0aXRpb25JbmRleChpbmRleCk7XG5cbiAgICBjb25zdCBpbmRleE5hbWUgPSBpbmRleC5pbmRleE5hbWUgPz8gdGhpcy5nZW5lcmF0ZUluZGV4TmFtZShpbmRleC5rZXlOYW1lcyk7XG4gICAgY29uc3QgcGFydGl0aW9uSW5kZXhDdXN0b21SZXNvdXJjZSA9IG5ldyBjci5Bd3NDdXN0b21SZXNvdXJjZSh0aGlzLCBgcGFydGl0aW9uLWluZGV4LSR7aW5kZXhOYW1lfWAsIHtcbiAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgIHNlcnZpY2U6ICdHbHVlJyxcbiAgICAgICAgYWN0aW9uOiAnY3JlYXRlUGFydGl0aW9uSW5kZXgnLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgRGF0YWJhc2VOYW1lOiB0aGlzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgICBUYWJsZU5hbWU6IHRoaXMudGFibGVOYW1lLFxuICAgICAgICAgIFBhcnRpdGlvbkluZGV4OiB7XG4gICAgICAgICAgICBJbmRleE5hbWU6IGluZGV4TmFtZSxcbiAgICAgICAgICAgIEtleXM6IGluZGV4LmtleU5hbWVzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3IuUGh5c2ljYWxSZXNvdXJjZUlkLm9mKFxuICAgICAgICAgIGluZGV4TmFtZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBwb2xpY3k6IGNyLkF3c0N1c3RvbVJlc291cmNlUG9saWN5LmZyb21TZGtDYWxscyh7XG4gICAgICAgIHJlc291cmNlczogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuQU5ZX1JFU09VUkNFLFxuICAgICAgfSksXG4gICAgICAvLyBBUElzIGFyZSBhdmFpbGFibGUgaW4gMi4xMDU1LjBcbiAgICAgIGluc3RhbGxMYXRlc3RBd3NTZGs6IGZhbHNlLFxuICAgIH0pO1xuICAgIHRoaXMuZ3JhbnRUb1VuZGVybHlpbmdSZXNvdXJjZXMocGFydGl0aW9uSW5kZXhDdXN0b21SZXNvdXJjZSwgWydnbHVlOlVwZGF0ZVRhYmxlJ10pO1xuXG4gICAgLy8gRGVwZW5kIG9uIHByZXZpb3VzIHBhcnRpdGlvbiBpbmRleCBpZiBwb3NzaWJsZSwgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25cbiAgICBpZiAobnVtUGFydGl0aW9ucyA+IDApIHtcbiAgICAgIHRoaXMucGFydGl0aW9uSW5kZXhDdXN0b21SZXNvdXJjZXNbbnVtUGFydGl0aW9ucy0xXS5ub2RlLmFkZERlcGVuZGVuY3kocGFydGl0aW9uSW5kZXhDdXN0b21SZXNvdXJjZSk7XG4gICAgfVxuICAgIHRoaXMucGFydGl0aW9uSW5kZXhDdXN0b21SZXNvdXJjZXMucHVzaChwYXJ0aXRpb25JbmRleEN1c3RvbVJlc291cmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVJbmRleE5hbWUoa2V5czogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHByZWZpeCA9IGtleXMuam9pbignLScpICsgJy0nO1xuICAgIGNvbnN0IHVuaXF1ZUlkID0gTmFtZXMudW5pcXVlSWQodGhpcyk7XG4gICAgY29uc3QgbWF4SW5kZXhMZW5ndGggPSA4MDsgLy8gYXJiaXRyYXJpbHkgc3BlY2lmaWVkXG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IE1hdGgubWF4KDAsIHVuaXF1ZUlkLmxlbmd0aCAtIChtYXhJbmRleExlbmd0aCAtIHByZWZpeC5sZW5ndGgpKTtcbiAgICByZXR1cm4gcHJlZml4ICsgdW5pcXVlSWQuc3Vic3RyaW5nKHN0YXJ0SW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVBhcnRpdGlvbkluZGV4KGluZGV4OiBQYXJ0aXRpb25JbmRleCkge1xuICAgIGlmIChpbmRleC5pbmRleE5hbWUgIT09IHVuZGVmaW5lZCAmJiAoaW5kZXguaW5kZXhOYW1lLmxlbmd0aCA8IDEgfHwgaW5kZXguaW5kZXhOYW1lLmxlbmd0aCA+IDI1NSkpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEluZGV4TmFtZUxlbmd0aEludmFsaWRgLCBgSW5kZXggbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU1IGNoYXJhY3RlcnMsIGJ1dCBnb3QgJHtpbmRleC5pbmRleE5hbWUubGVuZ3RofWAsIHRoaXMpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucGFydGl0aW9uS2V5cyB8fCB0aGlzLnBhcnRpdGlvbktleXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBOb1BhcnRpdGlvbktleXNGb3JJbmRleGAsICdUaGUgdGFibGUgbXVzdCBoYXZlIHBhcnRpdGlvbiBrZXlzIHRvIGNyZWF0ZSBhIHBhcnRpdGlvbiBpbmRleCcsIHRoaXMpO1xuICAgIH1cbiAgICBjb25zdCBrZXlOYW1lcyA9IHRoaXMucGFydGl0aW9uS2V5cy5tYXAocGsgPT4gcGsubmFtZSk7XG4gICAgaWYgKCFpbmRleC5rZXlOYW1lcy5ldmVyeShrID0+IGtleU5hbWVzLmluY2x1ZGVzKGspKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgSW5kZXhLZXlzTm90UGFydGl0aW9uS2V5c2AsIGBBbGwgaW5kZXgga2V5cyBtdXN0IGFsc28gYmUgcGFydGl0aW9uIGtleXMuIEdvdCAke2luZGV4LmtleU5hbWVzfSBidXQgcGFydGl0aW9uIGtleSBuYW1lcyBhcmUgJHtrZXlOYW1lc31gLCB0aGlzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgcGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbiBhbmQgbWVyZ2UgZ2VuZXJhdGVkIHBhcmFtZXRlcnMgaW50byB0aGlzLnBhcmFtZXRlcnMuXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlQW5kR2VuZXJhdGVQYXJ0aXRpb25Qcm9qZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYXJ0aXRpb25Qcm9qZWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGhhdCBwYXJ0aXRpb24ga2V5cyBleGlzdFxuICAgIGlmICghdGhpcy5wYXJ0aXRpb25LZXlzIHx8IHRoaXMucGFydGl0aW9uS2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBOb1BhcnRpdGlvbktleXNGb3JQcm9qZWN0aW9uYCxcbiAgICAgICAgJ1RoZSB0YWJsZSBtdXN0IGhhdmUgcGFydGl0aW9uIGtleXMgdG8gdXNlIHBhcnRpdGlvbiBwcm9qZWN0aW9uJyxcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFydGl0aW9uS2V5TmFtZXMgPSB0aGlzLnBhcnRpdGlvbktleXMubWFwKHBrID0+IHBrLm5hbWUpO1xuXG4gICAgLy8gVmFsaWRhdGUgZWFjaCBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uXG4gICAgZm9yIChjb25zdCBbY29sdW1uTmFtZSwgY29uZmlnXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnBhcnRpdGlvblByb2plY3Rpb24pKSB7XG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGNvbHVtbiBpcyBhIHBhcnRpdGlvbiBrZXlcbiAgICAgIGlmICghcGFydGl0aW9uS2V5TmFtZXMuaW5jbHVkZXMoY29sdW1uTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgUHJvamVjdGlvbkNvbHVtbk5vdFBhcnRpdGlvbktleWAsXG4gICAgICAgICAgYFBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbHVtbiBcIiR7Y29sdW1uTmFtZX1cIiBtdXN0IGJlIGEgcGFydGl0aW9uIGtleS4gYCArXG4gICAgICAgICAgYFBhcnRpdGlvbiBrZXlzIGFyZTogJHtwYXJ0aXRpb25LZXlOYW1lcy5qb2luKCcsICcpfWAsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gR2VuZXJhdGUgQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVyc1xuICAgICAgY29uc3QgZ2VuZXJhdGVkUGFyYW1zID0gZ2VuZXJhdGVQYXJ0aXRpb25Qcm9qZWN0aW9uUGFyYW1ldGVycyhjb2x1bW5OYW1lLCBjb25maWcpO1xuXG4gICAgICAvLyBDaGVjayBmb3IgY29uZmxpY3RzIHdpdGggbWFudWFsbHkgc3BlY2lmaWVkIHBhcmFtZXRlcnNcbiAgICAgIGNvbnN0IGNvbmZsaWN0aW5nS2V5cyA9IE9iamVjdC5rZXlzKGdlbmVyYXRlZFBhcmFtcykuZmlsdGVyKGtleSA9PiBrZXkgaW4gdGhpcy5wYXJhbWV0ZXJzKTtcbiAgICAgIGlmIChjb25mbGljdGluZ0tleXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGxpdGBQcm9qZWN0aW9uUGFyYW1ldGVyc0NvbmZsaWN0YCxcbiAgICAgICAgICBgUGFydGl0aW9uIHByb2plY3Rpb24gcGFyYW1ldGVycyBjb25mbGljdCB3aXRoIG1hbnVhbGx5IHNwZWNpZmllZCBwYXJhbWV0ZXJzOiAke2NvbmZsaWN0aW5nS2V5cy5qb2luKCcsICcpfS4gYCArXG4gICAgICAgICAgJ1VzZSB0aGUgcGFydGl0aW9uUHJvamVjdGlvbiBwcm9wZXJ0eSBpbnN0ZWFkIG9mIG1hbnVhbGx5IHNwZWNpZnlpbmcgcHJvamVjdGlvbiBwYXJhbWV0ZXJzLicsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gTWVyZ2UgaW50byB0aGlzLnBhcmFtZXRlcnNcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5wYXJhbWV0ZXJzLCBnZW5lcmF0ZWRQYXJhbXMpO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBjb25mbGljdCB3aXRoIHByb2plY3Rpb24uZW5hYmxlZFxuICAgIGlmICgncHJvamVjdGlvbi5lbmFibGVkJyBpbiB0aGlzLnBhcmFtZXRlcnMpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBQcm9qZWN0aW9uRW5hYmxlZENvbmZsaWN0YCxcbiAgICAgICAgJ1BhcmFtZXRlciBcInByb2plY3Rpb24uZW5hYmxlZFwiIGNvbmZsaWN0cyB3aXRoIHBhcnRpdGlvblByb2plY3Rpb24gY29uZmlndXJhdGlvbi4gJyArXG4gICAgICAgICdVc2UgdGhlIHBhcnRpdGlvblByb2plY3Rpb24gcHJvcGVydHkgaW5zdGVhZCBvZiBtYW51YWxseSBzcGVjaWZ5aW5nIHByb2plY3Rpb24uZW5hYmxlZC4nLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBFbmFibGUgcGFydGl0aW9uIHByb2plY3Rpb24gZ2xvYmFsbHlcbiAgICB0aGlzLnBhcmFtZXRlcnNbJ3Byb2plY3Rpb24uZW5hYmxlZCddID0gJ3RydWUnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBnaXZlbiBpZGVudGl0eSBjdXN0b20gcGVybWlzc2lvbnMuXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCBhY3Rpb25zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMudGFibGVBcm5dLFxuICAgICAgYWN0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB0aGUgZ2l2ZW4gaWRlbnRpdHkgY3VzdG9tIHBlcm1pc3Npb25zIHRvIEFMTCB1bmRlcmx5aW5nIHJlc291cmNlcyBvZiB0aGUgdGFibGUuXG4gICAqIFBlcm1pc3Npb25zIHdpbGwgYmUgZ3JhbnRlZCB0byB0aGUgY2F0YWxvZywgdGhlIGRhdGFiYXNlLCBhbmQgdGhlIHRhYmxlLlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICovXG4gIHB1YmxpYyBncmFudFRvVW5kZXJseWluZ1Jlc291cmNlcyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgYWN0aW9uczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICByZXNvdXJjZUFybnM6IFtcbiAgICAgICAgdGhpcy50YWJsZUFybixcbiAgICAgICAgdGhpcy5kYXRhYmFzZS5jYXRhbG9nQXJuLFxuICAgICAgICB0aGlzLmRhdGFiYXNlLmRhdGFiYXNlQXJuLFxuICAgICAgXSxcbiAgICAgIGFjdGlvbnMsXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVTY2hlbWEoY29sdW1uczogQ29sdW1uW10sIHBhcnRpdGlvbktleXM/OiBDb2x1bW5bXSk6IHZvaWQge1xuICBpZiAoY29sdW1ucy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YE5vQ29sdW1uc1NwZWNpZmllZGAsICd5b3UgbXVzdCBzcGVjaWZ5IGF0IGxlYXN0IG9uZSBjb2x1bW4gZm9yIHRoZSB0YWJsZScpO1xuICB9XG4gIC8vIENoZWNrIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjb2x1bW4gYW5kIG5vIGR1cGxpY2F0ZWQgY29sdW1uIG5hbWVzIG9yIHBhcnRpdGlvbiBrZXlzLlxuICBjb25zdCBuYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAoY29sdW1ucy5jb25jYXQocGFydGl0aW9uS2V5cyB8fCBbXSkpLmZvckVhY2goY29sdW1uID0+IHtcbiAgICBpZiAobmFtZXMuaGFzKGNvbHVtbi5uYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGxpdGBEdXBsaWNhdGVDb2x1bW5OYW1lYCwgYGNvbHVtbiBuYW1lcyBhbmQgcGFydGl0aW9uIGtleXMgbXVzdCBiZSB1bmlxdWUsIGJ1dCBcXCcke2NvbHVtbi5uYW1lfVxcJyBpcyBkdXBsaWNhdGVkYCk7XG4gICAgfVxuICAgIG5hbWVzLmFkZChjb2x1bW4ubmFtZSk7XG4gIH0pO1xufVxuIl19
|
package/lib/table-deprecated.js
CHANGED
|
@@ -57,7 +57,7 @@ let Table = (() => {
|
|
|
57
57
|
Table = _classThis = _classDescriptor.value;
|
|
58
58
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
59
59
|
}
|
|
60
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Table", version: "2.
|
|
60
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Table", version: "2.247.0-alpha.0" };
|
|
61
61
|
/** Uniquely identifies this class. */
|
|
62
62
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Table';
|
|
63
63
|
static {
|