@angular/compiler 17.0.0-next.7 → 17.0.0-next.8
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/esm2022/src/compiler.mjs +4 -3
- package/esm2022/src/config.mjs +2 -4
- package/esm2022/src/ml_parser/lexer.mjs +18 -10
- package/esm2022/src/ml_parser/parser.mjs +28 -10
- package/esm2022/src/ml_parser/tokens.mjs +1 -1
- package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
- package/esm2022/src/render3/partial/directive.mjs +1 -1
- package/esm2022/src/render3/partial/factory.mjs +1 -1
- package/esm2022/src/render3/partial/injectable.mjs +1 -1
- package/esm2022/src/render3/partial/injector.mjs +1 -1
- package/esm2022/src/render3/partial/ng_module.mjs +1 -1
- package/esm2022/src/render3/partial/pipe.mjs +1 -1
- package/esm2022/src/render3/r3_ast.mjs +37 -19
- package/esm2022/src/render3/r3_class_debug_info_compiler.mjs +36 -0
- package/esm2022/src/render3/r3_control_flow.mjs +40 -23
- package/esm2022/src/render3/r3_deferred_blocks.mjs +13 -3
- package/esm2022/src/render3/r3_identifiers.mjs +3 -1
- package/esm2022/src/render3/r3_template_transform.mjs +5 -2
- package/esm2022/src/render3/view/t2_binder.mjs +8 -7
- package/esm2022/src/render3/view/template.mjs +35 -24
- package/esm2022/src/template/pipeline/ir/src/expression.mjs +1 -1
- package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +6 -3
- package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +4 -3
- package/esm2022/src/template/pipeline/ir/src/traits.mjs +1 -1
- package/esm2022/src/template/pipeline/src/emit.mjs +7 -1
- package/esm2022/src/template/pipeline/src/ingest.mjs +8 -6
- package/esm2022/src/template/pipeline/src/instruction.mjs +13 -5
- package/esm2022/src/template/pipeline/src/phases/apply_i18n_expressions.mjs +3 -3
- package/esm2022/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs +33 -0
- package/esm2022/src/template/pipeline/src/phases/generate_advance.mjs +1 -19
- package/esm2022/src/template/pipeline/src/phases/i18n_const_collection.mjs +3 -4
- package/esm2022/src/template/pipeline/src/phases/i18n_message_extraction.mjs +14 -11
- package/esm2022/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs +57 -0
- package/esm2022/src/template/pipeline/src/phases/propagate_i18n_placeholders.mjs +39 -0
- package/esm2022/src/template/pipeline/src/phases/reify.mjs +3 -3
- package/esm2022/src/template/pipeline/src/phases/resolve_i18n_placeholders.mjs +131 -46
- package/esm2022/src/version.mjs +1 -1
- package/fesm2022/compiler.mjs +495 -205
- package/fesm2022/compiler.mjs.map +1 -1
- package/index.d.ts +77 -12
- package/package.json +2 -8
- package/esm2022/src/render3/view/block_syntax_switch.mjs +0 -13
- package/esm2022/testing/index.mjs +0 -13
- package/esm2022/testing/public_api.mjs +0 -16
- package/esm2022/testing/src/testing.mjs +0 -29
- package/esm2022/testing/testing.mjs +0 -5
- package/fesm2022/testing.mjs +0 -39
- package/fesm2022/testing.mjs.map +0 -1
- package/testing/index.d.ts +0 -25
|
@@ -172,10 +172,11 @@ export function createConditionalOp(target, test, conditions, sourceSpan) {
|
|
|
172
172
|
/**
|
|
173
173
|
* Create an i18n expression op.
|
|
174
174
|
*/
|
|
175
|
-
export function createI18nExpressionOp(
|
|
175
|
+
export function createI18nExpressionOp(owner, expression, i18nPlaceholder, sourceSpan) {
|
|
176
176
|
return {
|
|
177
177
|
kind: OpKind.I18nExpression,
|
|
178
|
-
|
|
178
|
+
owner,
|
|
179
|
+
target: owner,
|
|
179
180
|
expression,
|
|
180
181
|
i18nPlaceholder,
|
|
181
182
|
sourceSpan,
|
|
@@ -196,4 +197,4 @@ export function createI18nApplyOp(target, sourceSpan) {
|
|
|
196
197
|
...TRAIT_USES_SLOT_INDEX,
|
|
197
198
|
};
|
|
198
199
|
}
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy9vcHMvdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQU1ILE9BQU8sRUFBYyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHN0MsT0FBTyxFQUFpRCxtQkFBbUIsRUFBRSw2QkFBNkIsRUFBRSxxQkFBcUIsRUFBcUIsTUFBTSxXQUFXLENBQUM7QUFHeEssT0FBTyxFQUFZLE1BQU0sRUFBMEIsTUFBTSxVQUFVLENBQUM7QUFzQ3BFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxJQUFZLEVBQUUsYUFBNEIsRUFBRSxnQkFBb0MsRUFDaEYsVUFBMkI7SUFDN0IsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsZUFBZTtRQUM1QixNQUFNLEVBQUUsSUFBSTtRQUNaLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsbUJBQW1CO1FBQ3RCLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBcUIsT0FBaUIsRUFBVyxXQUEyQjtRQUF2RCxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQVcsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQUcsQ0FBQztDQUNqRjtBQXNERDs7R0FFRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzNCLE1BQWMsRUFBRSxJQUFpQixFQUFFLElBQVksRUFBRSxVQUFzQyxFQUN2RixJQUFpQixFQUFFLGVBQWdDLEVBQUUsZUFBd0IsRUFDN0UsVUFBbUIsRUFBRSxVQUEyQjtJQUNsRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3BCLFdBQVcsRUFBRSxJ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LEtBQUs7UUFDTCxVQUFVO1FBQ1YsR0FBRyxNQUFNO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUE4Q0Q7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE1BQWMsRUFBRSxJQUF1QixFQUFFLFVBQXNDLEVBQy9FLFVBQTJCO0lBQzdCLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDeEIsTUFBTTtRQUNOLElBQUk7UUFDSixVQUFVO1FBQ1YsU0FBUyxFQUFFLElBQUk7UUFDZixVQUFVO1FBQ1YsWUFBWSxFQUFFLElBQUk7UUFDbEIsR0FBRyxNQUFNO1FBQ1QsR0FBRyxxQkFBcUI7UUFDeEIsR0FBRyw2QkFBNkI7UUFDaEMsR0FBRyxtQkFBbUI7S0FDdkIsQ0FBQztBQUNKLENBQUM7QUEyQkQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ2xDLE1BQWMsRUFBRSxVQUF3QixFQUFFLGVBQWlDLEVBQzNFLFVBQTJCO0lBQzdCLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWM7UUFDM0IsTUFBTTtRQUNOLFVBQVU7UUFDVixlQUFlO1FBQ2YsVUFBVTtRQUNWLEdBQUcsTUFBTTtRQUNULEdBQUcsbUJBQW1CO1FBQ3RCLEdBQUcsNkJBQTZCO0tBQ2pDLENBQUM7QUFDSixDQUFDO0FBZ0JEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxVQUEyQjtJQUMzRSxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTO1FBQ3RCLE1BQU07UUFDTixVQUFVO1FBQ1YsR0FBRyxNQUFNO1FBQ1QsR0FBRyxxQkFBcUI7S0FDekIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtTZWN1cml0eUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0ICogYXMgaTE4biBmcm9tICcuLi8uLi8uLi8uLi8uLi9pMThuL2kxOG5fYXN0JztcbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuaW1wb3J0IHtQYXJzZVNvdXJjZVNwYW59IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BhcnNlX3V0aWwnO1xuaW1wb3J0IHtCaW5kaW5nS2luZCwgT3BLaW5kfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgdHlwZSB7Q29uZGl0aW9uYWxDYXNlRXhwcn0gZnJvbSAnLi4vZXhwcmVzc2lvbic7XG5pbXBvcnQge09wLCBYcmVmSWR9IGZyb20gJy4uL29wZXJhdGlvbnMnO1xuaW1wb3J0IHtDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0LCBUUkFJVF9DT05TVU1FU19WQVJTLCBUUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCwgVFJBSVRfVVNFU19TTE9UX0lOREVYLCBVc2VzU2xvdEluZGV4VHJhaXR9IGZyb20gJy4uL3RyYWl0cyc7XG5cbmltcG9ydCB0eXBlIHtIb3N0UHJvcGVydHlPcH0gZnJvbSAnLi9ob3N0JztcbmltcG9ydCB7TGlzdEVuZE9wLCBORVdfT1AsIFN0YXRlbWVudE9wLCBWYXJpYWJsZU9wfSBmcm9tICcuL3NoYXJlZCc7XG5cblxuLyoqXG4gKiBBbiBvcGVyYXRpb24gdXNhYmxlIG9uIHRoZSB1cGRhdGUgc2lkZSBvZiB0aGUgSVIuXG4gKi9cbmV4cG9ydCB0eXBlIFVwZGF0ZU9wID0gTGlzdEVuZE9wPFVwZGF0ZU9wPnxTdGF0ZW1lbnRPcDxVcGRhdGVPcD58UHJvcGVydHlPcHxBdHRyaWJ1dGVPcHxTdHlsZVByb3BPcHxcbiAgICBDbGFzc1Byb3BPcHxTdHlsZU1hcE9wfENsYXNzTWFwT3B8SW50ZXJwb2xhdGVUZXh0T3B8QWR2YW5jZU9wfFZhcmlhYmxlT3A8VXBkYXRlT3A+fEJpbmRpbmdPcHxcbiAgICBIb3N0UHJvcGVydHlPcHxDb25kaXRpb25hbE9wfEkxOG5FeHByZXNzaW9uT3B8STE4bkFwcGx5T3A7XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiB0byBwZXJmb3JtIHN0cmluZyBpbnRlcnBvbGF0aW9uIG9uIGEgdGV4dCBub2RlLlxuICpcbiAqIEludGVycG9sYXRpb24gaW5wdXRzIGFyZSBzdG9yZWQgYXMgc3RhdGljIGBzdHJpbmdgcyBhbmQgZHluYW1pYyBgby5FeHByZXNzaW9uYHMsIGluIHNlcGFyYXRlXG4gKiBhcnJheXMuIFRodXMsIHRoZSBpbnRlcnBvbGF0aW9uIGBBe3tifX1De3tkfX1FYCBpcyBzdG9yZWQgYXMgMyBzdGF0aWMgc3RyaW5ncyBgWydBJywgJ0MnLCAnRSddYFxuICogYW5kIDIgZHluYW1pYyBleHByZXNzaW9ucyBgW2IsIGRdYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlcnBvbGF0ZVRleHRPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQge1xuICBraW5kOiBPcEtpbmQuSW50ZXJwb2xhdGVUZXh0O1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIHRleHQgbm9kZSB0byB3aGljaCB0aGUgaW50ZXJwb2xhdGlvbiBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgaW50ZXJwb2xhdGVkIHZhbHVlLlxuICAgKi9cbiAgaW50ZXJwb2xhdGlvbjogSW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGkxOG4gcGxhY2Vob2xkZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGludGVycG9sYXRpb24uXG4gICAqL1xuICBpMThuUGxhY2Vob2xkZXJzOiBpMThuLlBsYWNlaG9sZGVyW107XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBgSW50ZXJwb2xhdGlvblRleHRPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnRlcnBvbGF0ZVRleHRPcChcbiAgICB4cmVmOiBYcmVmSWQsIGludGVycG9sYXRpb246IEludGVycG9sYXRpb24sIGkxOG5QbGFjZWhvbGRlcnM6IGkxOG4uUGxhY2Vob2xkZXJbXSxcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBJbnRlcnBvbGF0ZVRleHRPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkludGVycG9sYXRlVGV4dCxcbiAgICB0YXJnZXQ6IHhyZWYsXG4gICAgaW50ZXJwb2xhdGlvbixcbiAgICBpMThuUGxhY2Vob2xkZXJzLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBJbnRlcnBvbGF0aW9uIHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgc3RyaW5nczogc3RyaW5nW10sIHJlYWRvbmx5IGV4cHJlc3Npb25zOiBvLkV4cHJlc3Npb25bXSkge31cbn1cblxuLyoqXG4gKiBBbiBpbnRlcm1lZGlhdGUgYmluZGluZyBvcCwgdGhhdCBoYXMgbm90IHlldCBiZWVuIHByb2Nlc3NlZCBpbnRvIGFuIGluZGl2aWR1YWwgcHJvcGVydHksXG4gKiBhdHRyaWJ1dGUsIHN0eWxlLCBldGMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZGluZ09wIGV4dGVuZHMgT3A8VXBkYXRlT3A+IHtcbiAga2luZDogT3BLaW5kLkJpbmRpbmc7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgcHJvcGVydHkgaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogIFRoZSBraW5kIG9mIGJpbmRpbmcgcmVwcmVzZW50ZWQgYnkgdGhpcyBvcC5cbiAgICovXG4gIGJpbmRpbmdLaW5kOiBCaW5kaW5nS2luZDtcblxuICAvKipcbiAgICogIFRoZSBuYW1lIG9mIHRoaXMgYmluZGluZy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHVuaXQgb2YgdGhlIGJvdW5kIHZhbHVlLlxuICAgKi9cbiAgdW5pdDogc3RyaW5nfG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBjb250ZXh0IG9mIHRoZSBiaW5kaW5nLlxuICAgKi9cbiAgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJpbmRpbmcgaXMgYSBUZXh0QXR0cmlidXRlIChlLmcuIGBzb21lLWF0dHI9XCJzb21lLXZhbHVlXCJgKS4gVGhpcyBuZWVkcyB0byBiZVxuICAgKiB0cmFja2VkIGZvciBjb21wYXRpYmxpdHkgd2l0aCBgVGVtcGxhdGVEZWZpbml0aW9uQnVpbGRlcmAgd2hpY2ggdHJlYXRzIGBzdHlsZWAgYW5kIGBjbGFzc2BcbiAgICogVGV4dEF0dHJpYnV0ZXMgZGlmZmVyZW50bHkgZnJvbSBgW2F0dHIuc3R5bGVdYCBhbmQgYFthdHRyLmNsYXNzXWAuXG4gICAqL1xuICBpc1RleHRBdHRyaWJ1dGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBiaW5kaW5nIGlzIG9uIGEgdGVtcGxhdGUuXG4gICAqL1xuICBpc1RlbXBsYXRlOiBib29sZWFuO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBgQmluZGluZ09wYCwgbm90IHlldCB0cmFuc2Zvcm1lZCBpbnRvIGEgcGFydGljdWxhciB0eXBlIG9mIGJpbmRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCaW5kaW5nT3AoXG4gICAgdGFyZ2V0OiBYcmVmSWQsIGtpbmQ6IEJpbmRpbmdLaW5kLCBuYW1lOiBzdHJpbmcsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLFxuICAgIHVuaXQ6IHN0cmluZ3xudWxsLCBzZWN1cml0eUNvbnRleHQ6IFNlY3VyaXR5Q29udGV4dCwgaXNUZXh0QXR0cmlidXRlOiBib29sZWFuLFxuICAgIGlzVGVtcGxhdGU6IGJvb2xlYW4sIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEJpbmRpbmdPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkJpbmRpbmcsXG4gICAgYmluZGluZ0tpbmQ6IGtpbmQsXG4gICAgdGFyZ2V0LFxuICAgIG5hbWUsXG4gICAgZXhwcmVzc2lvbixcbiAgICB1bml0LFxuICAgIHNlY3VyaXR5Q29udGV4dCxcbiAgICBpc1RleHRBdHRyaWJ1dGUsXG4gICAgaXNUZW1wbGF0ZSxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBiaW5kaW5nIHRvIGEgcHJvcGVydHkgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9wZXJ0eU9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLlByb3BlcnR5O1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJvdW5kIHByb3BlcnR5LlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgcHJvcGVydHkgaXMgYW4gYW5pbWF0aW9uIHRyaWdnZXIuXG4gICAqL1xuICBpc0FuaW1hdGlvblRyaWdnZXI6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBjb250ZXh0IG9mIHRoZSBiaW5kaW5nLlxuICAgKi9cbiAgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzYW5pdGl6ZXIgZm9yIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBzYW5pdGl6ZXI6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYmluZGluZyBpcyBvbiBhIHRlbXBsYXRlLlxuICAgKi9cbiAgaXNUZW1wbGF0ZTogYm9vbGVhbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYFByb3BlcnR5T3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvcGVydHlPcChcbiAgICB0YXJnZXQ6IFhyZWZJZCwgbmFtZTogc3RyaW5nLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbixcbiAgICBpc0FuaW1hdGlvblRyaWdnZXI6IGJvb2xlYW4sIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0LCBpc1RlbXBsYXRlOiBib29sZWFuLFxuXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogUHJvcGVydHlPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLlByb3BlcnR5LFxuICAgIHRhcmdldCxcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgaXNBbmltYXRpb25UcmlnZ2VyLFxuICAgIHNlY3VyaXR5Q29udGV4dCxcbiAgICBzYW5pdGl6ZXI6IG51bGwsXG4gICAgaXNUZW1wbGF0ZSxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBzdHlsZSBwcm9wZXJ0eSBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlUHJvcE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLlN0eWxlUHJvcDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBib3VuZCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHVuaXQgb2YgdGhlIGJvdW5kIHZhbHVlLlxuICAgKi9cbiAgdW5pdDogc3RyaW5nfG51bGw7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKiogQ3JlYXRlIGEgYFN0eWxlUHJvcE9wYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdHlsZVByb3BPcChcbiAgICB4cmVmOiBYcmVmSWQsIG5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sIHVuaXQ6IHN0cmluZ3xudWxsLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IFN0eWxlUHJvcE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuU3R5bGVQcm9wLFxuICAgIHRhcmdldDogeHJlZixcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgdW5pdCxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBjbGFzcyBwcm9wZXJ0eSBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsYXNzUHJvcE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLkNsYXNzUHJvcDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBib3VuZCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb247XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGBDbGFzc1Byb3BPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDbGFzc1Byb3BPcChcbiAgICB4cmVmOiBYcmVmSWQsIG5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogby5FeHByZXNzaW9uLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IENsYXNzUHJvcE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuQ2xhc3NQcm9wLFxuICAgIHRhcmdldDogeHJlZixcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBiaW5kaW5nIHRvIGEgc3R5bGUgbWFwIGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVNYXBPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQsIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5TdHlsZU1hcDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqIENyZWF0ZSBhIGBTdHlsZU1hcE9wYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdHlsZU1hcE9wKFxuICAgIHhyZWY6IFhyZWZJZCwgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IFN0eWxlTWFwT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5TdHlsZU1hcCxcbiAgICB0YXJnZXQ6IHhyZWYsXG4gICAgZXhwcmVzc2lvbixcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBzdHlsZSBtYXAgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGFzc01hcE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLkNsYXNzTWFwO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIEV4cHJlc3Npb24gd2hpY2ggaXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb247XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGBDbGFzc01hcE9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNsYXNzTWFwT3AoXG4gICAgeHJlZjogWHJlZklkLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbiwgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQ2xhc3NNYXBPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkNsYXNzTWFwLFxuICAgIHRhcmdldDogeHJlZixcbiAgICBleHByZXNzaW9uLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgc2V0dGluZyBhbiBhdHRyaWJ1dGUgb24gYW4gZWxlbWVudCBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZU9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+IHtcbiAga2luZDogT3BLaW5kLkF0dHJpYnV0ZTtcblxuICAvKipcbiAgICogVGhlIGBYcmVmSWRgIG9mIHRoZSB0ZW1wbGF0ZS1saWtlIGVsZW1lbnQgdGhlIGF0dHJpYnV0ZSB3aWxsIGJlbG9uZyB0by5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjdXJpdHkgY29udGV4dCBvZiB0aGUgYmluZGluZy5cbiAgICovXG4gIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2FuaXRpemVyIGZvciB0aGlzIGF0dHJpYnV0ZS5cbiAgICovXG4gIHNhbml0aXplcjogby5FeHByZXNzaW9ufG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJpbmRpbmcgaXMgYSBUZXh0QXR0cmlidXRlIChlLmcuIGBzb21lLWF0dHI9XCJzb21lLXZhbHVlXCJgKS4gVGhpcyBuZWVkcyBvdCBiZVxuICAgKiB0cmFja2VkIGZvciBjb21wYXRpYmxpdHkgd2l0aCBgVGVtcGxhdGVEZWZpbml0aW9uQnVpbGRlcmAgd2hpY2ggdHJlYXRzIGBzdHlsZWAgYW5kIGBjbGFzc2BcbiAgICogVGV4dEF0dHJpYnV0ZXMgZGlmZmVyZW50bHkgZnJvbSBgW2F0dHIuc3R5bGVdYCBhbmQgYFthdHRyLmNsYXNzXWAuXG4gICAqL1xuICBpc1RleHRBdHRyaWJ1dGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBiaW5kaW5nIGlzIG9uIGEgdGVtcGxhdGUuXG4gICAqL1xuICBpc1RlbXBsYXRlOiBib29sZWFuO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gYEF0dHJpYnV0ZU9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUF0dHJpYnV0ZU9wKFxuICAgIHRhcmdldDogWHJlZklkLCBuYW1lOiBzdHJpbmcsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLFxuICAgIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0LCBpc1RleHRBdHRyaWJ1dGU6IGJvb2xlYW4sIGlzVGVtcGxhdGU6IGJvb2xlYW4sXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQXR0cmlidXRlT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5BdHRyaWJ1dGUsXG4gICAgdGFyZ2V0LFxuICAgIG5hbWUsXG4gICAgZXhwcmVzc2lvbixcbiAgICBzZWN1cml0eUNvbnRleHQsXG4gICAgc2FuaXRpemVyOiBudWxsLFxuICAgIGlzVGV4dEF0dHJpYnV0ZSxcbiAgICBpc1RlbXBsYXRlLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogTG9naWNhbCBvcGVyYXRpb24gdG8gYWR2YW5jZSB0aGUgcnVudGltZSdzIGludGVybmFsIHNsb3QgcG9pbnRlciBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFkdmFuY2VPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiB7XG4gIGtpbmQ6IE9wS2luZC5BZHZhbmNlO1xuXG4gIC8qKlxuICAgKiBEZWx0YSBieSB3aGljaCB0byBhZHZhbmNlIHRoZSBwb2ludGVyLlxuICAgKi9cbiAgZGVsdGE6IG51bWJlcjtcblxuICAvLyBTb3VyY2Ugc3BhbiBvZiB0aGUgYmluZGluZyB0aGF0IGNhdXNlZCB0aGUgYWR2YW5jZVxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIGBBZHZhbmNlT3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWR2YW5jZU9wKGRlbHRhOiBudW1iZXIsIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEFkdmFuY2VPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkFkdmFuY2UsXG4gICAgZGVsdGEsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogTG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbmFsT3AgZXh0ZW5kcyBPcDxDb25kaXRpb25hbE9wPiwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlc1Nsb3RJbmRleFRyYWl0LCBDb25zdW1lc1ZhcnNUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5Db25kaXRpb25hbDtcblxuICAvKipcbiAgICogVGhlIGluc2VydGlvbiBwb2ludCwgd2hpY2ggaXMgdGhlIGZpcnN0IHRlbXBsYXRlIGluIHRoZSBjcmVhdGlvbiBibG9jayBiZWxvbmdpbmcgdG8gdGhpc1xuICAgKiBjb25kaXRpb24uXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIHNsb3Qgb2YgdGhlIHRhcmdldCwgdG8gYmUgcG9wdWxhdGVkIGR1cmluZyBzbG90IGFsbG9jYXRpb24uXG4gICAqL1xuICB0YXJnZXRTbG90OiBudW1iZXJ8bnVsbDtcblxuICAvKipcbiAgICogVGhlIG1haW4gdGVzdCBleHByZXNzaW9uIChmb3IgYSBzd2l0Y2gpLCBvciBgbnVsbGAgKGZvciBhbiBpZiwgd2hpY2ggaGFzIG5vIHRlc3QgZXhwcmVzc2lvbikuXG4gICAqL1xuICB0ZXN0OiBvLkV4cHJlc3Npb258bnVsbDtcblxuICAvKipcbiAgICogRWFjaCBwb3NzaWJsZSBlbWJlZGRlZCB2aWV3IHRoYXQgY291bGQgYmUgZGlzcGxheWVkIGhhcyBhIGNvbmRpdGlvbiAob3IgaXMgZGVmYXVsdCkuIFRoaXNcbiAgICogc3RydWN0dXJlIG1hcHMgZWFjaCB2aWV3IHhyZWYgdG8gaXRzIGNvcnJlc3BvbmRpbmcgY29uZGl0aW9uLlxuICAgKi9cbiAgY29uZGl0aW9uczogQXJyYXk8Q29uZGl0aW9uYWxDYXNlRXhwcj47XG5cbiAgLyoqXG4gICAqIEFmdGVyIHByb2Nlc3NpbmcsIHRoaXMgd2lsbCBiZSBhIHNpbmdsZSBjb2xsYXBzZWQgSm9vc3QtZXhwcmVzc2lvbiB0aGF0IGV2YWx1YXRlcyB0aGVcbiAgICogY29uZGl0aW9ucywgYW5kIHlpZWxkcyB0aGUgc2xvdCBudW1iZXIgb2YgdGhlIHRlbXBsYXRlIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBwcm9jZXNzZWQ6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIC8qKlxuICAgKiBDb250cm9sIGZsb3cgY29uZGl0aW9uYWxzIGNhbiBhY2NlcHQgYSBjb250ZXh0IHZhbHVlICh0aGlzIGlzIGEgcmVzdWx0IG9mIHNwZWNpZnlpbmcgYW4gYWxpYXMpLlxuICAgKiBUaGlzIGV4cHJlc3Npb24gd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbmRpdGlvbmFsIGluc3RydWN0aW9uJ3MgY29udGV4dCBwYXJhbWV0ZXIuXG4gICAqL1xuICBjb250ZXh0VmFsdWU6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBjb25kaXRpb25hbCBvcCwgd2hpY2ggd2lsbCBkaXNwbGF5IGFuIGVtYmVkZGVkIHZpZXcgYWNjb3JkaW5nIHRvIGEgY29uZHRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb25kaXRpb25hbE9wKFxuICAgIHRhcmdldDogWHJlZklkLCB0ZXN0OiBvLkV4cHJlc3Npb258bnVsbCwgY29uZGl0aW9uczogQXJyYXk8Q29uZGl0aW9uYWxDYXNlRXhwcj4sXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQ29uZGl0aW9uYWxPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkNvbmRpdGlvbmFsLFxuICAgIHRhcmdldCxcbiAgICB0ZXN0LFxuICAgIGNvbmRpdGlvbnMsXG4gICAgcHJvY2Vzc2VkOiBudWxsLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgY29udGV4dFZhbHVlOiBudWxsLFxuICAgIC4uLk5FV19PUCxcbiAgICAuLi5UUkFJVF9VU0VTX1NMT1RfSU5ERVgsXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgfTtcbn1cblxuLyoqXG4gKiBBbiBvcCB0aGF0IHJlcHJlc2VudHMgYW4gZXhwcmVzc2lvbiBpbiBhbiBpMThuIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkV4cHJlc3Npb25PcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICBraW5kOiBPcEtpbmQuSTE4bkV4cHJlc3Npb247XG5cbiAgLyoqXG4gICAqIFRoZSBpMThuIGJsb2NrIHRoYXQgdGhpcyBleHByZXNzaW9uIGJlbG9uZ3MgdG8uXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIGV4cHJlc3Npb24gdmFsdWUuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb247XG5cbiAgLyoqXG4gICAqIFRoZSBpMThuIHBsYWNlaG9sZGVyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV4cHJlc3Npb24uXG4gICAqL1xuICBpMThuUGxhY2Vob2xkZXI6IGkxOG4uUGxhY2Vob2xkZXI7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBpMThuIGV4cHJlc3Npb24gb3AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJMThuRXhwcmVzc2lvbk9wKFxuICAgIHRhcmdldDogWHJlZklkLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb24sIGkxOG5QbGFjZWhvbGRlcjogaTE4bi5QbGFjZWhvbGRlcixcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBJMThuRXhwcmVzc2lvbk9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuSTE4bkV4cHJlc3Npb24sXG4gICAgdGFyZ2V0LFxuICAgIGV4cHJlc3Npb24sXG4gICAgaTE4blBsYWNlaG9sZGVyLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uTkVXX09QLFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gIH07XG59XG5cbi8qKlxuICogQW4gb3AgdGhhdCByZXByZXNlbnRzIGFwcGx5aW5nIGEgc2V0IG9mIGkxOG4gZXhwcmVzc2lvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkFwcGx5T3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIFVzZXNTbG90SW5kZXhUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5JMThuQXBwbHk7XG5cbiAgLyoqXG4gICAqIFRoZSBpMThuIGJsb2NrIHRvIHdoaWNoIGV4cHJlc3Npb25zIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gb3AgdG8gYXBwbHkgaTE4biBleHByZXNzaW9uIG9wcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUkxOG5BcHBseU9wKHRhcmdldDogWHJlZklkLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBJMThuQXBwbHlPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkkxOG5BcHBseSxcbiAgICB0YXJnZXQsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gICAgLi4uVFJBSVRfVVNFU19TTE9UX0lOREVYLFxuICB9O1xufVxuIl19
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy9vcHMvdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQU1ILE9BQU8sRUFBYyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHN0MsT0FBTyxFQUFpRCxtQkFBbUIsRUFBRSw2QkFBNkIsRUFBRSxxQkFBcUIsRUFBcUIsTUFBTSxXQUFXLENBQUM7QUFHeEssT0FBTyxFQUFZLE1BQU0sRUFBMEIsTUFBTSxVQUFVLENBQUM7QUFzQ3BFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxJQUFZLEVBQUUsYUFBNEIsRUFBRSxnQkFBb0MsRUFDaEYsVUFBMkI7SUFDN0IsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsZUFBZTtRQUM1QixNQUFNLEVBQUUsSUFBSTtRQUNaLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsbUJBQW1CO1FBQ3RCLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBcUIsT0FBaUIsRUFBVyxXQUEyQjtRQUF2RCxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQVcsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQUcsQ0FBQztDQUNqRjtBQXNERDs7R0FFRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzNCLE1BQWMsRUFBRSxJQUFpQixFQUFFLElBQVksRUFBRSxVQUFzQyxFQUN2RixJQUFpQixFQUFFLGVBQWdDLEVBQUUsZUFBd0IsRUFDN0UsVUFBbUIsRUFBRSxVQUEyQjtJQUNsRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3BCLFdBQVcsRUFBRSxJ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LEtBQUs7UUFDTCxVQUFVO1FBQ1YsR0FBRyxNQUFNO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUE4Q0Q7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE1BQWMsRUFBRSxJQUF1QixFQUFFLFVBQXNDLEVBQy9FLFVBQTJCO0lBQzdCLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDeEIsTUFBTTtRQUNOLElBQUk7UUFDSixVQUFVO1FBQ1YsU0FBUyxFQUFFLElBQUk7UUFDZixVQUFVO1FBQ1YsWUFBWSxFQUFFLElBQUk7UUFDbEIsR0FBRyxNQUFNO1FBQ1QsR0FBRyxxQkFBcUI7UUFDeEIsR0FBRyw2QkFBNkI7UUFDaEMsR0FBRyxtQkFBbUI7S0FDdkIsQ0FBQztBQUNKLENBQUM7QUFpQ0Q7O0dBRUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ2xDLEtBQWEsRUFBRSxVQUF3QixFQUFFLGVBQWlDLEVBQzFFLFVBQTJCO0lBQzdCLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWM7UUFDM0IsS0FBSztRQUNMLE1BQU0sRUFBRSxLQUFLO1FBQ2IsVUFBVTtRQUNWLGVBQWU7UUFDZixVQUFVO1FBQ1YsR0FBRyxNQUFNO1FBQ1QsR0FBRyxtQkFBbUI7UUFDdEIsR0FBRyw2QkFBNkI7S0FDakMsQ0FBQztBQUNKLENBQUM7QUFnQkQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYyxFQUFFLFVBQTJCO0lBQzNFLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVM7UUFDdEIsTUFBTTtRQUNOLFVBQVU7UUFDVixHQUFHLE1BQU07UUFDVCxHQUFHLHFCQUFxQjtLQUN6QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1NlY3VyaXR5Q29udGV4dH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgKiBhcyBpMThuIGZyb20gJy4uLy4uLy4uLy4uLy4uL2kxOG4vaTE4bl9hc3QnO1xuaW1wb3J0ICogYXMgbyBmcm9tICcuLi8uLi8uLi8uLi8uLi9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQge1BhcnNlU291cmNlU3Bhbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vcGFyc2VfdXRpbCc7XG5pbXBvcnQge0JpbmRpbmdLaW5kLCBPcEtpbmR9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB0eXBlIHtDb25kaXRpb25hbENhc2VFeHByfSBmcm9tICcuLi9leHByZXNzaW9uJztcbmltcG9ydCB7T3AsIFhyZWZJZH0gZnJvbSAnLi4vb3BlcmF0aW9ucyc7XG5pbXBvcnQge0NvbnN1bWVzVmFyc1RyYWl0LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQsIFRSQUlUX0NPTlNVTUVTX1ZBUlMsIFRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULCBUUkFJVF9VU0VTX1NMT1RfSU5ERVgsIFVzZXNTbG90SW5kZXhUcmFpdH0gZnJvbSAnLi4vdHJhaXRzJztcblxuaW1wb3J0IHR5cGUge0hvc3RQcm9wZXJ0eU9wfSBmcm9tICcuL2hvc3QnO1xuaW1wb3J0IHtMaXN0RW5kT3AsIE5FV19PUCwgU3RhdGVtZW50T3AsIFZhcmlhYmxlT3B9IGZyb20gJy4vc2hhcmVkJztcblxuXG4vKipcbiAqIEFuIG9wZXJhdGlvbiB1c2FibGUgb24gdGhlIHVwZGF0ZSBzaWRlIG9mIHRoZSBJUi5cbiAqL1xuZXhwb3J0IHR5cGUgVXBkYXRlT3AgPSBMaXN0RW5kT3A8VXBkYXRlT3A+fFN0YXRlbWVudE9wPFVwZGF0ZU9wPnxQcm9wZXJ0eU9wfEF0dHJpYnV0ZU9wfFN0eWxlUHJvcE9wfFxuICAgIENsYXNzUHJvcE9wfFN0eWxlTWFwT3B8Q2xhc3NNYXBPcHxJbnRlcnBvbGF0ZVRleHRPcHxBZHZhbmNlT3B8VmFyaWFibGVPcDxVcGRhdGVPcD58QmluZGluZ09wfFxuICAgIEhvc3RQcm9wZXJ0eU9wfENvbmRpdGlvbmFsT3B8STE4bkV4cHJlc3Npb25PcHxJMThuQXBwbHlPcDtcblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHRvIHBlcmZvcm0gc3RyaW5nIGludGVycG9sYXRpb24gb24gYSB0ZXh0IG5vZGUuXG4gKlxuICogSW50ZXJwb2xhdGlvbiBpbnB1dHMgYXJlIHN0b3JlZCBhcyBzdGF0aWMgYHN0cmluZ2BzIGFuZCBkeW5hbWljIGBvLkV4cHJlc3Npb25gcywgaW4gc2VwYXJhdGVcbiAqIGFycmF5cy4gVGh1cywgdGhlIGludGVycG9sYXRpb24gYEF7e2J9fUN7e2R9fUVgIGlzIHN0b3JlZCBhcyAzIHN0YXRpYyBzdHJpbmdzIGBbJ0EnLCAnQycsICdFJ11gXG4gKiBhbmQgMiBkeW5hbWljIGV4cHJlc3Npb25zIGBbYiwgZF1gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVycG9sYXRlVGV4dE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5JbnRlcnBvbGF0ZVRleHQ7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgdGV4dCBub2RlIHRvIHdoaWNoIHRoZSBpbnRlcnBvbGF0aW9uIGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlcnBvbGF0ZWQgdmFsdWUuXG4gICAqL1xuICBpbnRlcnBvbGF0aW9uOiBJbnRlcnBvbGF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgaTE4biBwbGFjZWhvbGRlcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaW50ZXJwb2xhdGlvbi5cbiAgICovXG4gIGkxOG5QbGFjZWhvbGRlcnM6IGkxOG4uUGxhY2Vob2xkZXJbXTtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIGBJbnRlcnBvbGF0aW9uVGV4dE9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUludGVycG9sYXRlVGV4dE9wKFxuICAgIHhyZWY6IFhyZWZJZCwgaW50ZXJwb2xhdGlvbjogSW50ZXJwb2xhdGlvbiwgaTE4blBsYWNlaG9sZGVyczogaTE4bi5QbGFjZWhvbGRlcltdLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEludGVycG9sYXRlVGV4dE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuSW50ZXJwb2xhdGVUZXh0LFxuICAgIHRhcmdldDogeHJlZixcbiAgICBpbnRlcnBvbGF0aW9uLFxuICAgIGkxOG5QbGFjZWhvbGRlcnMsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEludGVycG9sYXRpb24ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBzdHJpbmdzOiBzdHJpbmdbXSwgcmVhZG9ubHkgZXhwcmVzc2lvbnM6IG8uRXhwcmVzc2lvbltdKSB7fVxufVxuXG4vKipcbiAqIEFuIGludGVybWVkaWF0ZSBiaW5kaW5nIG9wLCB0aGF0IGhhcyBub3QgeWV0IGJlZW4gcHJvY2Vzc2VkIGludG8gYW4gaW5kaXZpZHVhbCBwcm9wZXJ0eSxcbiAqIGF0dHJpYnV0ZSwgc3R5bGUsIGV0Yy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaW5kaW5nT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4ge1xuICBraW5kOiBPcEtpbmQuQmluZGluZztcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiAgVGhlIGtpbmQgb2YgYmluZGluZyByZXByZXNlbnRlZCBieSB0aGlzIG9wLlxuICAgKi9cbiAgYmluZGluZ0tpbmQ6IEJpbmRpbmdLaW5kO1xuXG4gIC8qKlxuICAgKiAgVGhlIG5hbWUgb2YgdGhpcyBiaW5kaW5nLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdCBvZiB0aGUgYm91bmQgdmFsdWUuXG4gICAqL1xuICB1bml0OiBzdHJpbmd8bnVsbDtcblxuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IGNvbnRleHQgb2YgdGhlIGJpbmRpbmcuXG4gICAqL1xuICBzZWN1cml0eUNvbnRleHQ6IFNlY3VyaXR5Q29udGV4dDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYmluZGluZyBpcyBhIFRleHRBdHRyaWJ1dGUgKGUuZy4gYHNvbWUtYXR0cj1cInNvbWUtdmFsdWVcImApLiBUaGlzIG5lZWRzIHRvIGJlXG4gICAqIHRyYWNrZWQgZm9yIGNvbXBhdGlibGl0eSB3aXRoIGBUZW1wbGF0ZURlZmluaXRpb25CdWlsZGVyYCB3aGljaCB0cmVhdHMgYHN0eWxlYCBhbmQgYGNsYXNzYFxuICAgKiBUZXh0QXR0cmlidXRlcyBkaWZmZXJlbnRseSBmcm9tIGBbYXR0ci5zdHlsZV1gIGFuZCBgW2F0dHIuY2xhc3NdYC5cbiAgICovXG4gIGlzVGV4dEF0dHJpYnV0ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGJpbmRpbmcgaXMgb24gYSB0ZW1wbGF0ZS5cbiAgICovXG4gIGlzVGVtcGxhdGU6IGJvb2xlYW47XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGBCaW5kaW5nT3BgLCBub3QgeWV0IHRyYW5zZm9ybWVkIGludG8gYSBwYXJ0aWN1bGFyIHR5cGUgb2YgYmluZGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJpbmRpbmdPcChcbiAgICB0YXJnZXQ6IFhyZWZJZCwga2luZDogQmluZGluZ0tpbmQsIG5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sXG4gICAgdW5pdDogc3RyaW5nfG51bGwsIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0LCBpc1RleHRBdHRyaWJ1dGU6IGJvb2xlYW4sXG4gICAgaXNUZW1wbGF0ZTogYm9vbGVhbiwgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQmluZGluZ09wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuQmluZGluZyxcbiAgICBiaW5kaW5nS2luZDoga2luZCxcbiAgICB0YXJnZXQsXG4gICAgbmFtZSxcbiAgICBleHByZXNzaW9uLFxuICAgIHVuaXQsXG4gICAgc2VjdXJpdHlDb250ZXh0LFxuICAgIGlzVGV4dEF0dHJpYnV0ZSxcbiAgICBpc1RlbXBsYXRlLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBwcm9wZXJ0eSBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3BlcnR5T3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIENvbnN1bWVzVmFyc1RyYWl0LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICBraW5kOiBPcEtpbmQuUHJvcGVydHk7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgcHJvcGVydHkgaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYm91bmQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4cHJlc3Npb24gd2hpY2ggaXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb247XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBwcm9wZXJ0eSBpcyBhbiBhbmltYXRpb24gdHJpZ2dlci5cbiAgICovXG4gIGlzQW5pbWF0aW9uVHJpZ2dlcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IGNvbnRleHQgb2YgdGhlIGJpbmRpbmcuXG4gICAqL1xuICBzZWN1cml0eUNvbnRleHQ6IFNlY3VyaXR5Q29udGV4dDtcblxuICAvKipcbiAgICogVGhlIHNhbml0aXplciBmb3IgdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIHNhbml0aXplcjogby5FeHByZXNzaW9ufG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBiaW5kaW5nIGlzIG9uIGEgdGVtcGxhdGUuXG4gICAqL1xuICBpc1RlbXBsYXRlOiBib29sZWFuO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBgUHJvcGVydHlPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eU9wKFxuICAgIHRhcmdldDogWHJlZklkLCBuYW1lOiBzdHJpbmcsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLFxuICAgIGlzQW5pbWF0aW9uVHJpZ2dlcjogYm9vbGVhbiwgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQsIGlzVGVtcGxhdGU6IGJvb2xlYW4sXG5cbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBQcm9wZXJ0eU9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuUHJvcGVydHksXG4gICAgdGFyZ2V0LFxuICAgIG5hbWUsXG4gICAgZXhwcmVzc2lvbixcbiAgICBpc0FuaW1hdGlvblRyaWdnZXIsXG4gICAgc2VjdXJpdHlDb250ZXh0LFxuICAgIHNhbml0aXplcjogbnVsbCxcbiAgICBpc1RlbXBsYXRlLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgYmluZGluZyB0byBhIHN0eWxlIHByb3BlcnR5IGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVQcm9wT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIENvbnN1bWVzVmFyc1RyYWl0LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICBraW5kOiBPcEtpbmQuU3R5bGVQcm9wO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJvdW5kIHByb3BlcnR5LlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdCBvZiB0aGUgYm91bmQgdmFsdWUuXG4gICAqL1xuICB1bml0OiBzdHJpbmd8bnVsbDtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKiBDcmVhdGUgYSBgU3R5bGVQcm9wT3BgLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0eWxlUHJvcE9wKFxuICAgIHhyZWY6IFhyZWZJZCwgbmFtZTogc3RyaW5nLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbiwgdW5pdDogc3RyaW5nfG51bGwsXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogU3R5bGVQcm9wT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5TdHlsZVByb3AsXG4gICAgdGFyZ2V0OiB4cmVmLFxuICAgIG5hbWUsXG4gICAgZXhwcmVzc2lvbixcbiAgICB1bml0LFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgYmluZGluZyB0byBhIGNsYXNzIHByb3BlcnR5IGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NQcm9wT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIENvbnN1bWVzVmFyc1RyYWl0LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICBraW5kOiBPcEtpbmQuQ2xhc3NQcm9wO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJvdW5kIHByb3BlcnR5LlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYENsYXNzUHJvcE9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNsYXNzUHJvcE9wKFxuICAgIHhyZWY6IFhyZWZJZCwgbmFtZTogc3RyaW5nLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb24sXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQ2xhc3NQcm9wT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5DbGFzc1Byb3AsXG4gICAgdGFyZ2V0OiB4cmVmLFxuICAgIG5hbWUsXG4gICAgZXhwcmVzc2lvbixcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBzdHlsZSBtYXAgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHlsZU1hcE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLlN0eWxlTWFwO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIEV4cHJlc3Npb24gd2hpY2ggaXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb247XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKiogQ3JlYXRlIGEgYFN0eWxlTWFwT3BgLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0eWxlTWFwT3AoXG4gICAgeHJlZjogWHJlZklkLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbiwgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogU3R5bGVNYXBPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLlN0eWxlTWFwLFxuICAgIHRhcmdldDogeHJlZixcbiAgICBleHByZXNzaW9uLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgYmluZGluZyB0byBhIHN0eWxlIG1hcCBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsYXNzTWFwT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIENvbnN1bWVzVmFyc1RyYWl0LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICBraW5kOiBPcEtpbmQuQ2xhc3NNYXA7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgcHJvcGVydHkgaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYENsYXNzTWFwT3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2xhc3NNYXBPcChcbiAgICB4cmVmOiBYcmVmSWQsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBDbGFzc01hcE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuQ2xhc3NNYXAsXG4gICAgdGFyZ2V0OiB4cmVmLFxuICAgIGV4cHJlc3Npb24sXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBzZXR0aW5nIGFuIGF0dHJpYnV0ZSBvbiBhbiBlbGVtZW50IGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4ge1xuICBraW5kOiBPcEtpbmQuQXR0cmlidXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgYFhyZWZJZGAgb2YgdGhlIHRlbXBsYXRlLWxpa2UgZWxlbWVudCB0aGUgYXR0cmlidXRlIHdpbGwgYmVsb25nIHRvLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlLlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBjb250ZXh0IG9mIHRoZSBiaW5kaW5nLlxuICAgKi9cbiAgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzYW5pdGl6ZXIgZm9yIHRoaXMgYXR0cmlidXRlLlxuICAgKi9cbiAgc2FuaXRpemVyOiBvLkV4cHJlc3Npb258bnVsbDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYmluZGluZyBpcyBhIFRleHRBdHRyaWJ1dGUgKGUuZy4gYHNvbWUtYXR0cj1cInNvbWUtdmFsdWVcImApLiBUaGlzIG5lZWRzIG90IGJlXG4gICAqIHRyYWNrZWQgZm9yIGNvbXBhdGlibGl0eSB3aXRoIGBUZW1wbGF0ZURlZmluaXRpb25CdWlsZGVyYCB3aGljaCB0cmVhdHMgYHN0eWxlYCBhbmQgYGNsYXNzYFxuICAgKiBUZXh0QXR0cmlidXRlcyBkaWZmZXJlbnRseSBmcm9tIGBbYXR0ci5zdHlsZV1gIGFuZCBgW2F0dHIuY2xhc3NdYC5cbiAgICovXG4gIGlzVGV4dEF0dHJpYnV0ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGJpbmRpbmcgaXMgb24gYSB0ZW1wbGF0ZS5cbiAgICovXG4gIGlzVGVtcGxhdGU6IGJvb2xlYW47XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBgQXR0cmlidXRlT3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXR0cmlidXRlT3AoXG4gICAgdGFyZ2V0OiBYcmVmSWQsIG5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sXG4gICAgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQsIGlzVGV4dEF0dHJpYnV0ZTogYm9vbGVhbiwgaXNUZW1wbGF0ZTogYm9vbGVhbixcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBBdHRyaWJ1dGVPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkF0dHJpYnV0ZSxcbiAgICB0YXJnZXQsXG4gICAgbmFtZSxcbiAgICBleHByZXNzaW9uLFxuICAgIHNlY3VyaXR5Q29udGV4dCxcbiAgICBzYW5pdGl6ZXI6IG51bGwsXG4gICAgaXNUZXh0QXR0cmlidXRlLFxuICAgIGlzVGVtcGxhdGUsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2dpY2FsIG9wZXJhdGlvbiB0byBhZHZhbmNlIHRoZSBydW50aW1lJ3MgaW50ZXJuYWwgc2xvdCBwb2ludGVyIGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWR2YW5jZU9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+IHtcbiAga2luZDogT3BLaW5kLkFkdmFuY2U7XG5cbiAgLyoqXG4gICAqIERlbHRhIGJ5IHdoaWNoIHRvIGFkdmFuY2UgdGhlIHBvaW50ZXIuXG4gICAqL1xuICBkZWx0YTogbnVtYmVyO1xuXG4gIC8vIFNvdXJjZSBzcGFuIG9mIHRoZSBiaW5kaW5nIHRoYXQgY2F1c2VkIHRoZSBhZHZhbmNlXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gYEFkdmFuY2VPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBZHZhbmNlT3AoZGVsdGE6IG51bWJlciwgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQWR2YW5jZU9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuQWR2YW5jZSxcbiAgICBkZWx0YSxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgYSBjb25kaXRpb25hbCBleHByZXNzaW9uIGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uYWxPcCBleHRlbmRzIE9wPENvbmRpdGlvbmFsT3A+LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VzU2xvdEluZGV4VHJhaXQsIENvbnN1bWVzVmFyc1RyYWl0IHtcbiAga2luZDogT3BLaW5kLkNvbmRpdGlvbmFsO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zZXJ0aW9uIHBvaW50LCB3aGljaCBpcyB0aGUgZmlyc3QgdGVtcGxhdGUgaW4gdGhlIGNyZWF0aW9uIGJsb2NrIGJlbG9uZ2luZyB0byB0aGlzXG4gICAqIGNvbmRpdGlvbi5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBvZiB0aGUgdGFyZ2V0LCB0byBiZSBwb3B1bGF0ZWQgZHVyaW5nIHNsb3QgYWxsb2NhdGlvbi5cbiAgICovXG4gIHRhcmdldFNsb3Q6IG51bWJlcnxudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbWFpbiB0ZXN0IGV4cHJlc3Npb24gKGZvciBhIHN3aXRjaCksIG9yIGBudWxsYCAoZm9yIGFuIGlmLCB3aGljaCBoYXMgbm8gdGVzdCBleHByZXNzaW9uKS5cbiAgICovXG4gIHRlc3Q6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIC8qKlxuICAgKiBFYWNoIHBvc3NpYmxlIGVtYmVkZGVkIHZpZXcgdGhhdCBjb3VsZCBiZSBkaXNwbGF5ZWQgaGFzIGEgY29uZGl0aW9uIChvciBpcyBkZWZhdWx0KS4gVGhpc1xuICAgKiBzdHJ1Y3R1cmUgbWFwcyBlYWNoIHZpZXcgeHJlZiB0byBpdHMgY29ycmVzcG9uZGluZyBjb25kaXRpb24uXG4gICAqL1xuICBjb25kaXRpb25zOiBBcnJheTxDb25kaXRpb25hbENhc2VFeHByPjtcblxuICAvKipcbiAgICogQWZ0ZXIgcHJvY2Vzc2luZywgdGhpcyB3aWxsIGJlIGEgc2luZ2xlIGNvbGxhcHNlZCBKb29zdC1leHByZXNzaW9uIHRoYXQgZXZhbHVhdGVzIHRoZVxuICAgKiBjb25kaXRpb25zLCBhbmQgeWllbGRzIHRoZSBzbG90IG51bWJlciBvZiB0aGUgdGVtcGxhdGUgd2hpY2ggc2hvdWxkIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIHByb2Nlc3NlZDogby5FeHByZXNzaW9ufG51bGw7XG5cbiAgLyoqXG4gICAqIENvbnRyb2wgZmxvdyBjb25kaXRpb25hbHMgY2FuIGFjY2VwdCBhIGNvbnRleHQgdmFsdWUgKHRoaXMgaXMgYSByZXN1bHQgb2Ygc3BlY2lmeWluZyBhbiBhbGlhcykuXG4gICAqIFRoaXMgZXhwcmVzc2lvbiB3aWxsIGJlIHBhc3NlZCB0byB0aGUgY29uZGl0aW9uYWwgaW5zdHJ1Y3Rpb24ncyBjb250ZXh0IHBhcmFtZXRlci5cbiAgICovXG4gIGNvbnRleHRWYWx1ZTogby5FeHByZXNzaW9ufG51bGw7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGNvbmRpdGlvbmFsIG9wLCB3aGljaCB3aWxsIGRpc3BsYXkgYW4gZW1iZWRkZWQgdmlldyBhY2NvcmRpbmcgdG8gYSBjb25kdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbmRpdGlvbmFsT3AoXG4gICAgdGFyZ2V0OiBYcmVmSWQsIHRlc3Q6IG8uRXhwcmVzc2lvbnxudWxsLCBjb25kaXRpb25zOiBBcnJheTxDb25kaXRpb25hbENhc2VFeHByPixcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBDb25kaXRpb25hbE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuQ29uZGl0aW9uYWwsXG4gICAgdGFyZ2V0LFxuICAgIHRlc3QsXG4gICAgY29uZGl0aW9ucyxcbiAgICBwcm9jZXNzZWQ6IG51bGwsXG4gICAgc291cmNlU3BhbixcbiAgICBjb250ZXh0VmFsdWU6IG51bGwsXG4gICAgLi4uTkVXX09QLFxuICAgIC4uLlRSQUlUX1VTRVNfU0xPVF9JTkRFWCxcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICB9O1xufVxuXG4vKipcbiAqIEFuIG9wIHRoYXQgcmVwcmVzZW50cyBhbiBleHByZXNzaW9uIGluIGFuIGkxOG4gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJMThuRXhwcmVzc2lvbk9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5JMThuRXhwcmVzc2lvbjtcblxuICAvKipcbiAgICogVGhlIGkxOG4gYmxvY2sgdGhhdCB0aGlzIGV4cHJlc3Npb24gYmVsb25ncyB0by5cbiAgICovXG4gIG93bmVyOiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBYcmVmIG9mIHRoZSBvcCB0aGF0IHdlIG5lZWQgdG8gYGFkdmFuY2VgIHRvLiBUaGlzIHNob3VsZCBiZSB0aGUgZmluYWwgb3AgaW4gdGhlIG93bmluZyBpMThuXG4gICAqIGJsb2NrLiBUaGlzIGlzIG5lY2Vzc2FyeSBzbyB0aGF0IHdlIHJ1biBhbGwgbGlmZWN5Y2xlIGhvb2tzLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBleHByZXNzaW9uIHZhbHVlLlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgaTE4biBwbGFjZWhvbGRlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleHByZXNzaW9uLlxuICAgKi9cbiAgaTE4blBsYWNlaG9sZGVyOiBpMThuLlBsYWNlaG9sZGVyO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gaTE4biBleHByZXNzaW9uIG9wLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSTE4bkV4cHJlc3Npb25PcChcbiAgICBvd25lcjogWHJlZklkLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb24sIGkxOG5QbGFjZWhvbGRlcjogaTE4bi5QbGFjZWhvbGRlcixcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBJMThuRXhwcmVzc2lvbk9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuSTE4bkV4cHJlc3Npb24sXG4gICAgb3duZXIsXG4gICAgdGFyZ2V0OiBvd25lcixcbiAgICBleHByZXNzaW9uLFxuICAgIGkxOG5QbGFjZWhvbGRlcixcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLk5FV19PUCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICB9O1xufVxuXG4vKipcbiAqIEFuIG9wIHRoYXQgcmVwcmVzZW50cyBhcHBseWluZyBhIHNldCBvZiBpMThuIGV4cHJlc3Npb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5BcHBseU9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBVc2VzU2xvdEluZGV4VHJhaXQge1xuICBraW5kOiBPcEtpbmQuSTE4bkFwcGx5O1xuXG4gIC8qKlxuICAgKiBUaGUgaTE4biBibG9jayB0byB3aGljaCBleHByZXNzaW9ucyBhcmUgYXBwbGllZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9wIHRvIGFwcGx5IGkxOG4gZXhwcmVzc2lvbiBvcHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJMThuQXBwbHlPcCh0YXJnZXQ6IFhyZWZJZCwgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogSTE4bkFwcGx5T3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5JMThuQXBwbHksXG4gICAgdGFyZ2V0LFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uTkVXX09QLFxuICAgIC4uLlRSQUlUX1VTRVNfU0xPVF9JTkRFWCxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -103,4 +103,4 @@ export function hasUsesSlotIndexTrait(value) {
|
|
|
103
103
|
export function hasConstTrait(value) {
|
|
104
104
|
return value[HasConst] === true;
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy90cmFpdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBT0g7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7QUFrSDNDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFzQztJQUNwRSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUk7SUFDcEIsSUFBSSxFQUFFLElBQUk7SUFDVixZQUFZLEVBQUUsQ0FBQztDQUNQLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBdUM7SUFDdkUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0lBQ3JCLFVBQVUsRUFBRSxJQUFJO0NBQ1IsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUNxQjtJQUN6RCxDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSTtDQUNwQixDQUFDO0FBRWY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXNCO0lBQ3BELENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJO0NBQ2pCLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBdUI7SUFDdkQsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0lBQ3JCLFNBQVMsRUFBRSxJQUFJO0NBQ1AsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBdUQ7SUFDakYsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxJQUFJO0NBQ1IsQ0FBQztBQUVYOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFzQixFQUFPO0lBQy9ELE9BQVEsRUFBbUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFzQixFQUFPO0lBRXZFLE9BQVEsRUFBMkMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUNyRixDQUFDO0FBUUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQVU7SUFDN0MsT0FBUSxLQUFvQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBMkIsSUFBVztJQUV6RSxPQUFRLElBQW9DLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3ZFLENBQUM7QUFRRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBVTtJQUM5QyxPQUFRLEtBQXFDLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3hFLENBQUM7QUFPRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQVU7SUFDdEMsT0FBUSxLQUFnQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB0eXBlIHtQYXJzZVNvdXJjZVNwYW59IGZyb20gJy4uLy4uLy4uLy4uL3BhcnNlX3V0aWwnO1xuaW1wb3J0IHR5cGUge09wLCBYcmVmSWR9IGZyb20gJy4vb3BlcmF0aW9ucyc7XG5pbXBvcnQgdHlwZSB7RXhwcmVzc2lvbn0gZnJvbSAnLi9leHByZXNzaW9uJztcbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBDb25zdW1lc1Nsb3RPcFRyYWl0YC5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbnN1bWVzU2xvdCA9IFN5bWJvbCgnQ29uc3VtZXNTbG90Jyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdGAuXG4gKi9cbmV4cG9ydCBjb25zdCBEZXBlbmRzT25TbG90Q29udGV4dCA9IFN5bWJvbCgnRGVwZW5kc09uU2xvdENvbnRleHQnKTtcblxuLyoqXG4gKiBNYXJrZXIgc3ltYm9sIGZvciBgVXNlc1Nsb3RJbmRleGAgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBVc2VzU2xvdEluZGV4ID0gU3ltYm9sKCdVc2VzU2xvdEluZGV4Jyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYENvbnN1bWVzVmFyc2AgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBDb25zdW1lc1ZhcnNUcmFpdCA9IFN5bWJvbCgnQ29uc3VtZXNWYXJzJyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYFVzZXNWYXJPZmZzZXRgIHRyYWl0LlxuICovXG5leHBvcnQgY29uc3QgVXNlc1Zhck9mZnNldCA9IFN5bWJvbCgnVXNlc1Zhck9mZnNldCcpO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBIYXNDb25zdGAgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBIYXNDb25zdCA9IFN5bWJvbCgnSGFzQ29uc3QnKTtcblxuLyoqXG4gKiBNYXJrcyBhbiBvcGVyYXRpb24gYXMgcmVxdWlyaW5nIGFsbG9jYXRpb24gb2Ygb25lIG9yIG1vcmUgZGF0YSBzbG90cyBmb3Igc3RvcmFnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdW1lc1Nsb3RPcFRyYWl0IHtcbiAgcmVhZG9ubHlbQ29uc3VtZXNTbG90XTogdHJ1ZTtcblxuICAvKipcbiAgICogQXNzaWduZWQgZGF0YSBzbG90ICh0aGUgc3RhcnRpbmcgaW5kZXgsIGlmIG1vcmUgdGhhbiBvbmUgc2xvdCBpcyBuZWVkZWQpIGZvciB0aGlzIG9wZXJhdGlvbiwgb3JcbiAgICogYG51bGxgIGlmIHNsb3RzIGhhdmUgbm90IHlldCBiZWVuIGFzc2lnbmVkLlxuICAgKi9cbiAgc2xvdDogbnVtYmVyfG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2xvdHMgd2hpY2ggd2lsbCBiZSB1c2VkIGJ5IHRoaXMgb3BlcmF0aW9uLiBCeSBkZWZhdWx0IDEsIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIGlmXG4gICAqIG5lY2Vzc2FyeS5cbiAgICovXG4gIG51bVNsb3RzVXNlZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBgWHJlZklkYCBvZiB0aGlzIG9wZXJhdGlvbiAoZS5nLiB0aGUgZWxlbWVudCBzdG9yZWQgaW4gdGhlIGFzc2lnbmVkIHNsb3QpLiBUaGlzIGBYcmVmSWRgIGlzXG4gICAqIHVzZWQgdG8gbGluayB0aGlzIGBDb25zdW1lc1Nsb3RPcFRyYWl0YCBvcGVyYXRpb24gd2l0aCBgRGVwZW5kc09uU2xvdENvbnRleHRUcmFpdGAgb3JcbiAgICogYFVzZXNTbG90SW5kZXhFeHByVHJhaXRgIGltcGxlbWVudG9ycyBhbmQgZW5zdXJlIHRoYXQgdGhlIGFzc2lnbmVkIHNsb3QgaXMgcHJvcGFnYXRlZCB0aHJvdWdoXG4gICAqIHRoZSBJUiB0byBhbGwgY29uc3VtZXJzLlxuICAgKi9cbiAgeHJlZjogWHJlZklkO1xufVxuXG5cbi8qKlxuICogTWFya3MgYW4gb3BlcmF0aW9uIGFzIGRlcGVuZGluZyBvbiB0aGUgcnVudGltZSdzIGltcGxpY2l0IHNsb3QgY29udGV4dCBiZWluZyBzZXQgdG8gYSBwYXJ0aWN1bGFyXG4gKiBzbG90LlxuICpcbiAqIFRoZSBydW50aW1lIGhhcyBhbiBpbXBsaWNpdCBzbG90IGNvbnRleHQgd2hpY2ggaXMgYWRqdXN0ZWQgdXNpbmcgdGhlIGBhZHZhbmNlKClgIGluc3RydWN0aW9uXG4gKiBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiB0ZW1wbGF0ZSB1cGRhdGUgZnVuY3Rpb25zLiBUaGlzIHRyYWl0IG1hcmtzIGFuIG9wZXJhdGlvbiBhcyByZXF1aXJpbmdcbiAqIHRoaXMgaW1wbGljaXQgY29udGV4dCB0byBiZSBgYWR2YW5jZSgpYCdkIHRvIHBvaW50IGF0IGEgcGFydGljdWxhciBzbG90IHByaW9yIHRvIGV4ZWN1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICByZWFkb25seVtEZXBlbmRzT25TbG90Q29udGV4dF06IHRydWU7XG5cbiAgLyoqXG4gICAqIGBYcmVmSWRgIG9mIHRoZSBgQ29uc3VtZXNTbG90T3BUcmFpdGAgd2hpY2ggdGhlIGltcGxpY2l0IHNsb3QgY29udGV4dCBtdXN0IHJlZmVyZW5jZSBiZWZvcmVcbiAgICogdGhpcyBvcGVyYXRpb24gY2FuIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG5cbi8qKlxuICogTWFya3MgYW4gZXhwcmVzc2lvbiB3aGljaCByZXF1aXJlcyBrbm93bGVkZ2Ugb2YgdGhlIGFzc2lnbmVkIHNsb3Qgb2YgYSBnaXZlblxuICogYENvbnN1bWVzU2xvdE9wVHJhaXRgIGltcGxlbWVudG9yIChlLmcuIGFuIGVsZW1lbnQgc2xvdCkuXG4gKlxuICogRHVyaW5nIElSIHByb2Nlc3NpbmcsIGFzc2lnbmVkIHNsb3RzIG9mIGBDb25zdW1lc1Nsb3RPcFRyYWl0YCBpbXBsZW1lbnRvcnMgd2lsbCBiZSBwcm9wYWdhdGVkIHRvXG4gKiBgVXNlc1Nsb3RJbmRleFRyYWl0YCBpbXBsZW1lbnRvcnMgYnkgbWF0Y2hpbmcgdGhlaXIgYFhyZWZJZGBzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXNTbG90SW5kZXhUcmFpdCB7XG4gIHJlYWRvbmx5W1VzZXNTbG90SW5kZXhdOiB0cnVlO1xuXG4gIC8qKlxuICAgKiBgWHJlZklkYCBvZiB0aGUgYENvbnN1bWVzU2xvdE9wVHJhaXRgIHdoaWNoIHRoaXMgZXhwcmVzc2lvbiBuZWVkcyB0byByZWZlcmVuY2UgYnkgaXRzIGFzc2lnbmVkXG4gICAqIHNsb3QgaW5kZXguXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIHNsb3QgaW5kZXggb2YgYHRhcmdldGAsIG9yIGBudWxsYCBpZiBzbG90cyBoYXZlIG5vdCB5ZXQgYmVlbiBhc3NpZ25lZC5cbiAgICovXG4gIHRhcmdldFNsb3Q6IG51bWJlcnxudWxsO1xufVxuXG4vKipcbiAqIE1hcmtlciB0cmFpdCBpbmRpY2F0aW5nIHRoYXQgYW4gb3BlcmF0aW9uIG9yIGV4cHJlc3Npb24gY29uc3VtZXMgdmFyaWFibGUgc3RvcmFnZSBzcGFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdW1lc1ZhcnNUcmFpdCB7XG4gIFtDb25zdW1lc1ZhcnNUcmFpdF06IHRydWU7XG59XG5cbi8qKlxuICogTWFya2VyIHRyYWl0IGluZGljYXRpbmcgdGhhdCBhbiBleHByZXNzaW9uIHJlcXVpcmVzIGtub3dsZWRnZSBvZiB0aGUgbnVtYmVyIG9mIHZhcmlhYmxlIHN0b3JhZ2VcbiAqIHNsb3RzIHVzZWQgcHJpb3IgdG8gaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlc1Zhck9mZnNldFRyYWl0IHtcbiAgW1VzZXNWYXJPZmZzZXRdOiB0cnVlO1xuXG4gIHZhck9mZnNldDogbnVtYmVyfG51bGw7XG59XG5cbi8qKlxuICogTWFya2VyIHRyYWl0IGluZGljYXRpbmcgdGhhdCBhbiBvcCBvciBleHByZXNzaW9uIGhhcyBzb21lIGRhdGEgd2hpY2ggc2hvdWxkIGJlIGNvbGxlY3RlZCBpbnRvIHRoZVxuICogY29tcG9uZW50IGNvbnN0YW50IGFycmF5LlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNDb25zdFRyYWl0IHtcbiAgW0hhc0NvbnN0XTogdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IHRvIGJlIGNvbGxlY3RlZCBpbnRvIHRoZSBjb25zdCBhcnJheSwgaWYgbm9uLW51bGwuXG4gICAqL1xuICBjb25zdFZhbHVlOiB1bmtub3dufG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgY29sbGVjdGVkIGNvbnN0YW50LCBhZnRlciBwcm9jZXNzaW5nLlxuICAgKi9cbiAgY29uc3RJbmRleDogbnVtYmVyfG51bGw7XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgd2hpY2ggY29udmVydHMgdGhlIGNvbnN0VmFsdWUgaW50byBhbiBvLkV4cHJlc3Npb24gZm9yIHRoZSBjb25zdCBhcnJheS5cbiAgICovXG4gIG1ha2VFeHByZXNzaW9uOiAodmFsdWU6IHVua25vd24pID0+IG8uRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgbW9zdCBgQ29uc3VtZXNTbG90T3BUcmFpdGAgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0NPTlNVTUVTX1NMT1Q6IE9taXQ8Q29uc3VtZXNTbG90T3BUcmFpdCwgJ3hyZWYnPiA9IHtcbiAgW0NvbnN1bWVzU2xvdF06IHRydWUsXG4gIHNsb3Q6IG51bGwsXG4gIG51bVNsb3RzVXNlZDogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRGVmYXVsdCB2YWx1ZXMgZm9yIG1vc3QgYFVzZXNTbG90SW5kZXhUcmFpdGAgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX1VTRVNfU0xPVF9JTkRFWDogT21pdDxVc2VzU2xvdEluZGV4VHJhaXQsICd0YXJnZXQnPiA9IHtcbiAgW1VzZXNTbG90SW5kZXhdOiB0cnVlLFxuICB0YXJnZXRTbG90OiBudWxsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgbW9zdCBgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvXG4gKiBpbml0aWFsaXplIGltcGxlbWVudG9ycyBvZiB0aGUgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQ6XG4gICAgT21pdDxEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQsICd0YXJnZXQnfCdzb3VyY2VTcGFuJz4gPSB7XG4gICAgICBbRGVwZW5kc09uU2xvdENvbnRleHRdOiB0cnVlLFxuICAgIH0gYXMgY29uc3Q7XG5cbi8qKlxuICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBVc2VzVmFyc2AgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0NPTlNVTUVTX1ZBUlM6IENvbnN1bWVzVmFyc1RyYWl0ID0ge1xuICBbQ29uc3VtZXNWYXJzVHJhaXRdOiB0cnVlLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgYFVzZXNWYXJPZmZzZXRgIGZpZWxkcyAodXNlZCB3aXRoIHRoZSBzcHJlYWQgb3BlcmF0b3IgdG8gaW5pdGlhbGl6ZVxuICogaW1wbGVtZW50b3JzIG9mIHRoaXMgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfVVNFU19WQVJfT0ZGU0VUOiBVc2VzVmFyT2Zmc2V0VHJhaXQgPSB7XG4gIFtVc2VzVmFyT2Zmc2V0XTogdHJ1ZSxcbiAgdmFyT2Zmc2V0OiBudWxsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgYEhhc0NvbnN0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvIGluaXRpYWxpemVcbiAqIGltcGxlbWVudG9ycyBvZiB0aGlzIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0hBU19DT05TVDogT21pdDxIYXNDb25zdFRyYWl0LCAnY29uc3RWYWx1ZSd8J21ha2VFeHByZXNzaW9uJz4gPSB7XG4gIFtIYXNDb25zdF06IHRydWUsXG4gIGNvbnN0SW5kZXg6IG51bGwsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBvcGVyYXRpb24gaW1wbGVtZW50cyBgQ29uc3VtZXNTbG90T3BUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1Nsb3RUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJkNvbnN1bWVzU2xvdE9wVHJhaXQge1xuICByZXR1cm4gKG9wIGFzIFBhcnRpYWw8Q29uc3VtZXNTbG90T3BUcmFpdD4pW0NvbnN1bWVzU2xvdF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBpbXBsZW1lbnRzIGBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzRGVwZW5kc09uU2xvdENvbnRleHRUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJlxuICAgIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIHJldHVybiAob3AgYXMgUGFydGlhbDxEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQ+KVtEZXBlbmRzT25TbG90Q29udGV4dF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBpbXBsZW1lbnRzIGBDb25zdW1lc1ZhcnNUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1ZhcnNUcmFpdDxFeHByVCBleHRlbmRzIEV4cHJlc3Npb24+KGV4cHI6IEV4cHJUKTogZXhwciBpcyBFeHByVCZcbiAgICBDb25zdW1lc1ZhcnNUcmFpdDtcbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1ZhcnNUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJkNvbnN1bWVzVmFyc1RyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN1bWVzVmFyc1RyYWl0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuICh2YWx1ZSBhcyBQYXJ0aWFsPENvbnN1bWVzVmFyc1RyYWl0PilbQ29uc3VtZXNWYXJzVHJhaXRdID09PSB0cnVlO1xufVxuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBleHByZXNzaW9uIGltcGxlbWVudHMgYFVzZXNWYXJPZmZzZXRUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzVmFyT2Zmc2V0VHJhaXQ8RXhwclQgZXh0ZW5kcyBFeHByZXNzaW9uPihleHByOiBFeHByVCk6IGV4cHIgaXMgRXhwclQmXG4gICAgVXNlc1Zhck9mZnNldFRyYWl0IHtcbiAgcmV0dXJuIChleHByIGFzIFBhcnRpYWw8VXNlc1Zhck9mZnNldFRyYWl0PilbVXNlc1Zhck9mZnNldF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBvciBleHByZXNzaW9uIGltcGxlbWVudHMgYFVzZXNTbG90SW5kZXhUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzU2xvdEluZGV4VHJhaXQ8RXhwclQgZXh0ZW5kcyBFeHByZXNzaW9uPihleHByOiBFeHByVCk6IGV4cHIgaXMgRXhwclQmXG4gICAgVXNlc1Nsb3RJbmRleFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1VzZXNTbG90SW5kZXhUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJlVzZXNTbG90SW5kZXhUcmFpdDtcbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzU2xvdEluZGV4VHJhaXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8VXNlc1Nsb3RJbmRleFRyYWl0PilbVXNlc1Nsb3RJbmRleF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBvciBleHByZXNzaW9uIGltcGxlbWVudHMgYEhhc0NvbnN0VHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29uc3RUcmFpdDxFeHByVCBleHRlbmRzIEV4cHJlc3Npb24+KGV4cHI6IEV4cHJUKTogZXhwciBpcyBFeHByVCZIYXNDb25zdFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN0VHJhaXQ8T3BUIGV4dGVuZHMgT3A8T3BUPj4ob3A6IE9wVCk6IG9wIGlzIE9wVCZIYXNDb25zdFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN0VHJhaXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8SGFzQ29uc3RUcmFpdD4pW0hhc0NvbnN0XSA9PT0gdHJ1ZTtcbn1cbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy90cmFpdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBT0g7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7QUFrSDNDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFzQztJQUNwRSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUk7SUFDcEIsSUFBSSxFQUFFLElBQUk7SUFDVixZQUFZLEVBQUUsQ0FBQztDQUNQLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBdUM7SUFDdkUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0lBQ3JCLFVBQVUsRUFBRSxJQUFJO0NBQ1IsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUNxQjtJQUN6RCxDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSTtDQUNwQixDQUFDO0FBRWY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXNCO0lBQ3BELENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJO0NBQ2pCLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBdUI7SUFDdkQsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0lBQ3JCLFNBQVMsRUFBRSxJQUFJO0NBQ1AsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBdUQ7SUFDakYsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxJQUFJO0NBQ1IsQ0FBQztBQUVYOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFzQixFQUFPO0lBQy9ELE9BQVEsRUFBbUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFzQixFQUFPO0lBRXZFLE9BQVEsRUFBMkMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUNyRixDQUFDO0FBUUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQVU7SUFDN0MsT0FBUSxLQUFvQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBMkIsSUFBVztJQUV6RSxPQUFRLElBQW9DLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3ZFLENBQUM7QUFRRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBVTtJQUM5QyxPQUFRLEtBQXFDLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3hFLENBQUM7QUFPRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQVU7SUFDdEMsT0FBUSxLQUFnQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuaW1wb3J0IHR5cGUge1BhcnNlU291cmNlU3Bhbn0gZnJvbSAnLi4vLi4vLi4vLi4vcGFyc2VfdXRpbCc7XG5pbXBvcnQgdHlwZSB7RXhwcmVzc2lvbn0gZnJvbSAnLi9leHByZXNzaW9uJztcbmltcG9ydCB0eXBlIHtPcCwgWHJlZklkfSBmcm9tICcuL29wZXJhdGlvbnMnO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBDb25zdW1lc1Nsb3RPcFRyYWl0YC5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbnN1bWVzU2xvdCA9IFN5bWJvbCgnQ29uc3VtZXNTbG90Jyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdGAuXG4gKi9cbmV4cG9ydCBjb25zdCBEZXBlbmRzT25TbG90Q29udGV4dCA9IFN5bWJvbCgnRGVwZW5kc09uU2xvdENvbnRleHQnKTtcblxuLyoqXG4gKiBNYXJrZXIgc3ltYm9sIGZvciBgVXNlc1Nsb3RJbmRleGAgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBVc2VzU2xvdEluZGV4ID0gU3ltYm9sKCdVc2VzU2xvdEluZGV4Jyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYENvbnN1bWVzVmFyc2AgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBDb25zdW1lc1ZhcnNUcmFpdCA9IFN5bWJvbCgnQ29uc3VtZXNWYXJzJyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYFVzZXNWYXJPZmZzZXRgIHRyYWl0LlxuICovXG5leHBvcnQgY29uc3QgVXNlc1Zhck9mZnNldCA9IFN5bWJvbCgnVXNlc1Zhck9mZnNldCcpO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBIYXNDb25zdGAgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBIYXNDb25zdCA9IFN5bWJvbCgnSGFzQ29uc3QnKTtcblxuLyoqXG4gKiBNYXJrcyBhbiBvcGVyYXRpb24gYXMgcmVxdWlyaW5nIGFsbG9jYXRpb24gb2Ygb25lIG9yIG1vcmUgZGF0YSBzbG90cyBmb3Igc3RvcmFnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdW1lc1Nsb3RPcFRyYWl0IHtcbiAgcmVhZG9ubHlbQ29uc3VtZXNTbG90XTogdHJ1ZTtcblxuICAvKipcbiAgICogQXNzaWduZWQgZGF0YSBzbG90ICh0aGUgc3RhcnRpbmcgaW5kZXgsIGlmIG1vcmUgdGhhbiBvbmUgc2xvdCBpcyBuZWVkZWQpIGZvciB0aGlzIG9wZXJhdGlvbiwgb3JcbiAgICogYG51bGxgIGlmIHNsb3RzIGhhdmUgbm90IHlldCBiZWVuIGFzc2lnbmVkLlxuICAgKi9cbiAgc2xvdDogbnVtYmVyfG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2xvdHMgd2hpY2ggd2lsbCBiZSB1c2VkIGJ5IHRoaXMgb3BlcmF0aW9uLiBCeSBkZWZhdWx0IDEsIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIGlmXG4gICAqIG5lY2Vzc2FyeS5cbiAgICovXG4gIG51bVNsb3RzVXNlZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBgWHJlZklkYCBvZiB0aGlzIG9wZXJhdGlvbiAoZS5nLiB0aGUgZWxlbWVudCBzdG9yZWQgaW4gdGhlIGFzc2lnbmVkIHNsb3QpLiBUaGlzIGBYcmVmSWRgIGlzXG4gICAqIHVzZWQgdG8gbGluayB0aGlzIGBDb25zdW1lc1Nsb3RPcFRyYWl0YCBvcGVyYXRpb24gd2l0aCBgRGVwZW5kc09uU2xvdENvbnRleHRUcmFpdGAgb3JcbiAgICogYFVzZXNTbG90SW5kZXhFeHByVHJhaXRgIGltcGxlbWVudG9ycyBhbmQgZW5zdXJlIHRoYXQgdGhlIGFzc2lnbmVkIHNsb3QgaXMgcHJvcGFnYXRlZCB0aHJvdWdoXG4gICAqIHRoZSBJUiB0byBhbGwgY29uc3VtZXJzLlxuICAgKi9cbiAgeHJlZjogWHJlZklkO1xufVxuXG5cbi8qKlxuICogTWFya3MgYW4gb3BlcmF0aW9uIGFzIGRlcGVuZGluZyBvbiB0aGUgcnVudGltZSdzIGltcGxpY2l0IHNsb3QgY29udGV4dCBiZWluZyBzZXQgdG8gYSBwYXJ0aWN1bGFyXG4gKiBzbG90LlxuICpcbiAqIFRoZSBydW50aW1lIGhhcyBhbiBpbXBsaWNpdCBzbG90IGNvbnRleHQgd2hpY2ggaXMgYWRqdXN0ZWQgdXNpbmcgdGhlIGBhZHZhbmNlKClgIGluc3RydWN0aW9uXG4gKiBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiB0ZW1wbGF0ZSB1cGRhdGUgZnVuY3Rpb25zLiBUaGlzIHRyYWl0IG1hcmtzIGFuIG9wZXJhdGlvbiBhcyByZXF1aXJpbmdcbiAqIHRoaXMgaW1wbGljaXQgY29udGV4dCB0byBiZSBgYWR2YW5jZSgpYCdkIHRvIHBvaW50IGF0IGEgcGFydGljdWxhciBzbG90IHByaW9yIHRvIGV4ZWN1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICByZWFkb25seVtEZXBlbmRzT25TbG90Q29udGV4dF06IHRydWU7XG5cbiAgLyoqXG4gICAqIGBYcmVmSWRgIG9mIHRoZSBgQ29uc3VtZXNTbG90T3BUcmFpdGAgd2hpY2ggdGhlIGltcGxpY2l0IHNsb3QgY29udGV4dCBtdXN0IHJlZmVyZW5jZSBiZWZvcmVcbiAgICogdGhpcyBvcGVyYXRpb24gY2FuIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG5cbi8qKlxuICogTWFya3MgYW4gZXhwcmVzc2lvbiB3aGljaCByZXF1aXJlcyBrbm93bGVkZ2Ugb2YgdGhlIGFzc2lnbmVkIHNsb3Qgb2YgYSBnaXZlblxuICogYENvbnN1bWVzU2xvdE9wVHJhaXRgIGltcGxlbWVudG9yIChlLmcuIGFuIGVsZW1lbnQgc2xvdCkuXG4gKlxuICogRHVyaW5nIElSIHByb2Nlc3NpbmcsIGFzc2lnbmVkIHNsb3RzIG9mIGBDb25zdW1lc1Nsb3RPcFRyYWl0YCBpbXBsZW1lbnRvcnMgd2lsbCBiZSBwcm9wYWdhdGVkIHRvXG4gKiBgVXNlc1Nsb3RJbmRleFRyYWl0YCBpbXBsZW1lbnRvcnMgYnkgbWF0Y2hpbmcgdGhlaXIgYFhyZWZJZGBzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXNTbG90SW5kZXhUcmFpdCB7XG4gIHJlYWRvbmx5W1VzZXNTbG90SW5kZXhdOiB0cnVlO1xuXG4gIC8qKlxuICAgKiBgWHJlZklkYCBvZiB0aGUgYENvbnN1bWVzU2xvdE9wVHJhaXRgIHdoaWNoIHRoaXMgZXhwcmVzc2lvbiBuZWVkcyB0byByZWZlcmVuY2UgYnkgaXRzIGFzc2lnbmVkXG4gICAqIHNsb3QgaW5kZXguXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIHNsb3QgaW5kZXggb2YgYHRhcmdldGAsIG9yIGBudWxsYCBpZiBzbG90cyBoYXZlIG5vdCB5ZXQgYmVlbiBhc3NpZ25lZC5cbiAgICovXG4gIHRhcmdldFNsb3Q6IG51bWJlcnxudWxsO1xufVxuXG4vKipcbiAqIE1hcmtlciB0cmFpdCBpbmRpY2F0aW5nIHRoYXQgYW4gb3BlcmF0aW9uIG9yIGV4cHJlc3Npb24gY29uc3VtZXMgdmFyaWFibGUgc3RvcmFnZSBzcGFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdW1lc1ZhcnNUcmFpdCB7XG4gIFtDb25zdW1lc1ZhcnNUcmFpdF06IHRydWU7XG59XG5cbi8qKlxuICogTWFya2VyIHRyYWl0IGluZGljYXRpbmcgdGhhdCBhbiBleHByZXNzaW9uIHJlcXVpcmVzIGtub3dsZWRnZSBvZiB0aGUgbnVtYmVyIG9mIHZhcmlhYmxlIHN0b3JhZ2VcbiAqIHNsb3RzIHVzZWQgcHJpb3IgdG8gaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlc1Zhck9mZnNldFRyYWl0IHtcbiAgW1VzZXNWYXJPZmZzZXRdOiB0cnVlO1xuXG4gIHZhck9mZnNldDogbnVtYmVyfG51bGw7XG59XG5cbi8qKlxuICogTWFya2VyIHRyYWl0IGluZGljYXRpbmcgdGhhdCBhbiBvcCBvciBleHByZXNzaW9uIGhhcyBzb21lIGRhdGEgd2hpY2ggc2hvdWxkIGJlIGNvbGxlY3RlZCBpbnRvIHRoZVxuICogY29tcG9uZW50IGNvbnN0YW50IGFycmF5LlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNDb25zdFRyYWl0IHtcbiAgW0hhc0NvbnN0XTogdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IHRvIGJlIGNvbGxlY3RlZCBpbnRvIHRoZSBjb25zdCBhcnJheSwgaWYgbm9uLW51bGwuXG4gICAqL1xuICBjb25zdFZhbHVlOiB1bmtub3dufG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgY29sbGVjdGVkIGNvbnN0YW50LCBhZnRlciBwcm9jZXNzaW5nLlxuICAgKi9cbiAgY29uc3RJbmRleDogbnVtYmVyfG51bGw7XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgd2hpY2ggY29udmVydHMgdGhlIGNvbnN0VmFsdWUgaW50byBhbiBvLkV4cHJlc3Npb24gZm9yIHRoZSBjb25zdCBhcnJheS5cbiAgICovXG4gIG1ha2VFeHByZXNzaW9uOiAodmFsdWU6IHVua25vd24pID0+IG8uRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgbW9zdCBgQ29uc3VtZXNTbG90T3BUcmFpdGAgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0NPTlNVTUVTX1NMT1Q6IE9taXQ8Q29uc3VtZXNTbG90T3BUcmFpdCwgJ3hyZWYnPiA9IHtcbiAgW0NvbnN1bWVzU2xvdF06IHRydWUsXG4gIHNsb3Q6IG51bGwsXG4gIG51bVNsb3RzVXNlZDogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRGVmYXVsdCB2YWx1ZXMgZm9yIG1vc3QgYFVzZXNTbG90SW5kZXhUcmFpdGAgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX1VTRVNfU0xPVF9JTkRFWDogT21pdDxVc2VzU2xvdEluZGV4VHJhaXQsICd0YXJnZXQnPiA9IHtcbiAgW1VzZXNTbG90SW5kZXhdOiB0cnVlLFxuICB0YXJnZXRTbG90OiBudWxsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgbW9zdCBgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvXG4gKiBpbml0aWFsaXplIGltcGxlbWVudG9ycyBvZiB0aGUgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQ6XG4gICAgT21pdDxEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQsICd0YXJnZXQnfCdzb3VyY2VTcGFuJz4gPSB7XG4gICAgICBbRGVwZW5kc09uU2xvdENvbnRleHRdOiB0cnVlLFxuICAgIH0gYXMgY29uc3Q7XG5cbi8qKlxuICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBVc2VzVmFyc2AgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0NPTlNVTUVTX1ZBUlM6IENvbnN1bWVzVmFyc1RyYWl0ID0ge1xuICBbQ29uc3VtZXNWYXJzVHJhaXRdOiB0cnVlLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgYFVzZXNWYXJPZmZzZXRgIGZpZWxkcyAodXNlZCB3aXRoIHRoZSBzcHJlYWQgb3BlcmF0b3IgdG8gaW5pdGlhbGl6ZVxuICogaW1wbGVtZW50b3JzIG9mIHRoaXMgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfVVNFU19WQVJfT0ZGU0VUOiBVc2VzVmFyT2Zmc2V0VHJhaXQgPSB7XG4gIFtVc2VzVmFyT2Zmc2V0XTogdHJ1ZSxcbiAgdmFyT2Zmc2V0OiBudWxsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgYEhhc0NvbnN0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvIGluaXRpYWxpemVcbiAqIGltcGxlbWVudG9ycyBvZiB0aGlzIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0hBU19DT05TVDogT21pdDxIYXNDb25zdFRyYWl0LCAnY29uc3RWYWx1ZSd8J21ha2VFeHByZXNzaW9uJz4gPSB7XG4gIFtIYXNDb25zdF06IHRydWUsXG4gIGNvbnN0SW5kZXg6IG51bGwsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBvcGVyYXRpb24gaW1wbGVtZW50cyBgQ29uc3VtZXNTbG90T3BUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1Nsb3RUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJkNvbnN1bWVzU2xvdE9wVHJhaXQge1xuICByZXR1cm4gKG9wIGFzIFBhcnRpYWw8Q29uc3VtZXNTbG90T3BUcmFpdD4pW0NvbnN1bWVzU2xvdF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBpbXBsZW1lbnRzIGBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzRGVwZW5kc09uU2xvdENvbnRleHRUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJlxuICAgIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIHJldHVybiAob3AgYXMgUGFydGlhbDxEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQ+KVtEZXBlbmRzT25TbG90Q29udGV4dF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBpbXBsZW1lbnRzIGBDb25zdW1lc1ZhcnNUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1ZhcnNUcmFpdDxFeHByVCBleHRlbmRzIEV4cHJlc3Npb24+KGV4cHI6IEV4cHJUKTogZXhwciBpcyBFeHByVCZcbiAgICBDb25zdW1lc1ZhcnNUcmFpdDtcbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1ZhcnNUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJkNvbnN1bWVzVmFyc1RyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN1bWVzVmFyc1RyYWl0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuICh2YWx1ZSBhcyBQYXJ0aWFsPENvbnN1bWVzVmFyc1RyYWl0PilbQ29uc3VtZXNWYXJzVHJhaXRdID09PSB0cnVlO1xufVxuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBleHByZXNzaW9uIGltcGxlbWVudHMgYFVzZXNWYXJPZmZzZXRUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzVmFyT2Zmc2V0VHJhaXQ8RXhwclQgZXh0ZW5kcyBFeHByZXNzaW9uPihleHByOiBFeHByVCk6IGV4cHIgaXMgRXhwclQmXG4gICAgVXNlc1Zhck9mZnNldFRyYWl0IHtcbiAgcmV0dXJuIChleHByIGFzIFBhcnRpYWw8VXNlc1Zhck9mZnNldFRyYWl0PilbVXNlc1Zhck9mZnNldF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBvciBleHByZXNzaW9uIGltcGxlbWVudHMgYFVzZXNTbG90SW5kZXhUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzU2xvdEluZGV4VHJhaXQ8RXhwclQgZXh0ZW5kcyBFeHByZXNzaW9uPihleHByOiBFeHByVCk6IGV4cHIgaXMgRXhwclQmXG4gICAgVXNlc1Nsb3RJbmRleFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1VzZXNTbG90SW5kZXhUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJlVzZXNTbG90SW5kZXhUcmFpdDtcbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzU2xvdEluZGV4VHJhaXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8VXNlc1Nsb3RJbmRleFRyYWl0PilbVXNlc1Nsb3RJbmRleF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBvciBleHByZXNzaW9uIGltcGxlbWVudHMgYEhhc0NvbnN0VHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29uc3RUcmFpdDxFeHByVCBleHRlbmRzIEV4cHJlc3Npb24+KGV4cHI6IEV4cHJUKTogZXhwciBpcyBFeHByVCZIYXNDb25zdFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN0VHJhaXQ8T3BUIGV4dGVuZHMgT3A8T3BUPj4ob3A6IE9wVCk6IG9wIGlzIE9wVCZIYXNDb25zdFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN0VHJhaXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8SGFzQ29uc3RUcmFpdD4pW0hhc0NvbnN0XSA9PT0gdHJ1ZTtcbn1cbiJdfQ==
|
|
@@ -11,6 +11,7 @@ import { CompilationJobKind as Kind } from './compilation';
|
|
|
11
11
|
import { phaseAlignPipeVariadicVarOffset } from './phases/align_pipe_variadic_var_offset';
|
|
12
12
|
import { phaseFindAnyCasts } from './phases/any_cast';
|
|
13
13
|
import { phaseApplyI18nExpressions } from './phases/apply_i18n_expressions';
|
|
14
|
+
import { phaseAssignI18nSlotDependencies } from './phases/assign_i18n_slot_dependencies';
|
|
14
15
|
import { phaseAttributeExtraction } from './phases/attribute_extraction';
|
|
15
16
|
import { phaseBindingSpecialization } from './phases/binding_specialization';
|
|
16
17
|
import { phaseChaining } from './phases/chaining';
|
|
@@ -38,6 +39,8 @@ import { phaseParseExtractedStyles } from './phases/parse_extracted_styles';
|
|
|
38
39
|
import { phaseRemoveContentSelectors } from './phases/phase_remove_content_selectors';
|
|
39
40
|
import { phasePipeCreation } from './phases/pipe_creation';
|
|
40
41
|
import { phasePipeVariadic } from './phases/pipe_variadic';
|
|
42
|
+
import { phasePropagateI18nBlocks } from './phases/propagate_i18n_blocks';
|
|
43
|
+
import { phasePropagateI18nPlaceholders } from './phases/propagate_i18n_placeholders';
|
|
41
44
|
import { phasePureFunctionExtraction } from './phases/pure_function_extraction';
|
|
42
45
|
import { phasePureLiteralStructures } from './phases/pure_literal_structures';
|
|
43
46
|
import { phaseReify } from './phases/reify';
|
|
@@ -59,6 +62,7 @@ const phases = [
|
|
|
59
62
|
{ kind: Kind.Tmpl, fn: phaseNamespace },
|
|
60
63
|
{ kind: Kind.Both, fn: phaseStyleBindingSpecialization },
|
|
61
64
|
{ kind: Kind.Both, fn: phaseBindingSpecialization },
|
|
65
|
+
{ kind: Kind.Tmpl, fn: phasePropagateI18nBlocks },
|
|
62
66
|
{ kind: Kind.Both, fn: phaseAttributeExtraction },
|
|
63
67
|
{ kind: Kind.Both, fn: phaseParseExtractedStyles },
|
|
64
68
|
{ kind: Kind.Tmpl, fn: phaseRemoveEmptyBindings },
|
|
@@ -82,10 +86,12 @@ const phases = [
|
|
|
82
86
|
{ kind: Kind.Both, fn: phaseTemporaryVariables },
|
|
83
87
|
{ kind: Kind.Tmpl, fn: phaseSlotAllocation },
|
|
84
88
|
{ kind: Kind.Tmpl, fn: phaseResolveI18nPlaceholders },
|
|
89
|
+
{ kind: Kind.Tmpl, fn: phasePropagateI18nPlaceholders },
|
|
85
90
|
{ kind: Kind.Tmpl, fn: phaseI18nMessageExtraction },
|
|
86
91
|
{ kind: Kind.Tmpl, fn: phaseI18nConstCollection },
|
|
87
92
|
{ kind: Kind.Tmpl, fn: phaseConstTraitCollection },
|
|
88
93
|
{ kind: Kind.Both, fn: phaseConstCollection },
|
|
94
|
+
{ kind: Kind.Tmpl, fn: phaseAssignI18nSlotDependencies },
|
|
89
95
|
{ kind: Kind.Both, fn: phaseVarCounting },
|
|
90
96
|
{ kind: Kind.Tmpl, fn: phaseGenerateAdvance },
|
|
91
97
|
{ kind: Kind.Both, fn: phaseVariableOptimization },
|
|
@@ -206,4 +212,4 @@ export function emitHostBindingFunction(job) {
|
|
|
206
212
|
],
|
|
207
213
|
/* type */ undefined, /* sourceSpan */ undefined, job.root.fnName);
|
|
208
214
|
}
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy90ZW1wbGF0ZS9waXBlbGluZS9zcmMvZW1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssQ0FBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXZELE9BQU8sS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTVCLE9BQU8sRUFBaUIsa0JBQWtCLElBQUksSUFBSSxFQUF5RixNQUFNLGVBQWUsQ0FBQztBQUVqSyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxF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QUUsd0JBQXdCLEVBQUM7SUFDL0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUseUJBQXlCLEVBQUM7SUFDaEQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsd0JBQXdCLEVBQUM7SUFDL0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFDeEMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFDeEMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsdUJBQXVCLEVBQUM7SUFDOUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUseUJBQXlCLEVBQUM7SUFDaEQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFDeEMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsMEJBQTBCLEVBQUM7SUFDakQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsMEJBQTBCLEVBQUM7SUFDakQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEVBQUM7SUFDN0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUM7SUFDM0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFDeEMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsdUJBQXVCLEVBQUM7SUFDOUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFD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LENBQUM7S0FDckM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNsRSxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUNQO1FBQ0UsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0tBQ3JCLEVBQ0Q7UUFDRSxHQUFHLFVBQVU7UUFDYixHQUFHLFVBQVU7S0FDZDtJQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBvIGZyb20gJy4uLy4uLy4uLy4uL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQge0NvbnN0YW50UG9vbH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRfcG9vbCc7XG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi9pcic7XG5cbmltcG9ydCB7Q29tcGlsYXRpb25Kb2IsIENvbXBpbGF0aW9uSm9iS2luZCBhcyBLaW5kLCB0eXBlIENvbXBvbmVudENvbXBpbGF0aW9uSm9iLCB0eXBlIEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Kb2IsIHR5cGUgVmlld0NvbXBpbGF0aW9uVW5pdH0gZnJvbSAnLi9jb21waWxhdGlvbic7XG5cbmltcG9ydCB7cGhhc2VBbGlnblBpcGVWYXJpYWRpY1Zhck9mZnNldH0gZnJvbSAnLi9waGFzZXMvYWxpZ25fcGlwZV92YXJpYWRpY192YXJfb2Zmc2V0JztcbmltcG9ydCB7cGhhc2VGaW5kQW55Q2FzdHN9IGZyb20gJy4vcGhhc2VzL2FueV9jYXN0JztcbmltcG9ydCB7cGhhc2VBcHBseUkxOG5FeHByZXNzaW9uc30gZnJvbSAnLi9waGFzZXMvYXBwbHlfaTE4bl9leHByZXNzaW9ucyc7XG5pbXBvcnQge3BoYXNlQXR0cmlidXRlRXh0cmFjdGlvbn0gZnJvbSAnLi9waGFzZXMvYXR0cmlidXRlX2V4dHJhY3Rpb24nO1xuaW1wb3J0IHtwaGFzZUJpbmRpbmdTcGVjaWFsaXphdGlvbn0gZnJvbSAnLi9waGFzZXMvYmluZGluZ19zcGVjaWFsaXphdGlvbic7XG5pbXBvcnQge3BoYXNlQ2hhaW5pbmd9IGZyb20gJy4vcGhhc2VzL2NoYWluaW5nJztcbmltcG9ydCB7cGhhc2VDb25kaXRpb25hbHN9IGZyb20gJy4vcGhhc2VzL2NvbmRpdGlvbmFscyc7XG5pbXBvcnQge3BoYXNlQ29uc3RDb2xsZWN0aW9ufSBmcm9tICcuL3BoYXNlcy9jb25zdF9jb2xsZWN0aW9uJztcbmltcG9ydCB7cGhhc2VFbXB0eUVsZW1lbnRzfSBmcm9tICcuL3BoYXNlcy9lbXB0eV9lbGVtZW50cyc7XG5pbXBvcnQge3BoYXNlRXhwYW5kU2FmZVJlYWRzfSBmcm9tICcuL3BoYXNlcy9leHBhbmRfc2FmZV9yZWFkcyc7XG5pbXBvcnQge3BoYXNlR2VuZXJhdGVBZHZhbmNlfSBmcm9tICcuL3BoYXNlcy9nZW5lcmF0ZV9hZHZhbmNlJztcbmltcG9ydCB7cGhhc2VHZW5lcmF0ZVByb2plY3Rpb25EZWZ9IGZyb20gJy4vcGhhc2VzL2dlbmVyYXRlX3Byb2plY3Rpb25fZGVmJztcbmltcG9ydCB7cGhhc2VHZW5lcmF0ZVZhcmlhYmxlc30gZnJvbSAnLi9waGFzZXMvZ2VuZXJhdGVfdmFyaWFibGVzJztcbmltcG9ydCB7cGhhc2VDb25zdFRyYWl0Q29sbGVjdGlvbn0gZnJvbSAnLi9waGFzZXMvaGFzX2NvbnN0X3RyYWl0X2NvbGxlY3Rpb24nO1xuaW1wb3J0IHtwaGFzZUhvc3RTdHlsZVByb3BlcnR5UGFyc2luZ30gZnJvbSAnLi9waGFzZXMvaG9zdF9zdHlsZV9wcm9wZXJ0eV9wYXJzaW5nJztcbmltcG9ydCB7cGhhc2VJMThuQ29uc3RDb2xsZWN0aW9ufSBmcm9tICcuL3BoYXNlcy9pMThuX2NvbnN0X2NvbGxlY3Rpb24nO1xuaW1wb3J0IHtwaGFzZUkxOG5NZXNzYWdlRXh0cmFjdGlvbn0gZnJvbSAnLi9waGFzZXMvaTE4bl9tZXNzYWdlX2V4dHJhY3Rpb24nO1xuaW1wb3J0IHtwaGFzZUkxOG5UZXh0RXh0cmFjdGlvbn0gZnJvbSAnLi9waGFzZXMvaTE4bl90ZXh0X2V4dHJhY3Rpb24nO1xuaW1wb3J0IHtwaGFzZUxvY2FsUmVmc30gZnJvbSAnLi9waGFzZXMvbG9jYWxfcmVmcyc7XG5pbXBvcnQge3BoYXNlTmFtZXNwYWNlfSBmcm9tICcuL3BoYXNlcy9uYW1lc3BhY2UnO1xuaW1wb3J0IHtwaGFzZU5hbWluZ30gZnJvbSAnLi9waGFzZXMvbmFtaW5nJztcbmltcG9ydCB7cGhhc2VNZXJnZU5leHRDb250ZXh0fSBmcm9tICcuL3BoYXNlcy9uZXh0X2NvbnRleHRfbWVyZ2luZyc7XG5pbXBvcnQge3BoYXNlTmdDb250YWluZXJ9IGZyb20gJy4vcGhhc2VzL25nX2NvbnRhaW5lcic7XG5pbXBvcnQge3BoYXNlTm9uYmluZGFibGV9IGZyb20gJy4vcGhhc2VzL25vbmJpbmRhYmxlJztcbmltcG9ydCB7cGhhc2VOdWxsaXNoQ29hbGVzY2luZ30gZnJvbSAnLi9waGFzZXMvbnVsbGlzaF9jb2FsZXNjaW5nJztcbmltcG9ydCB7cGhhc2VPcmRlcmluZ30gZnJvbSAnLi9waGFzZXMvb3JkZXJpbmcnO1xuaW1wb3J0IHtwaGFzZVBhcnNlRXh0cmFjdGVkU3R5bGVzfSBmcm9tICcuL3BoYXNlcy9wYXJzZV9leHRyYWN0ZWRfc3R5bGVzJztcbmltcG9ydCB7cGhhc2VSZW1vdmVDb250ZW50U2VsZWN0b3JzfSBmcm9tICcuL3BoYXNlcy9waGFzZV9yZW1vdmVfY29udGVudF9zZWxlY3RvcnMnO1xuaW1wb3J0IHtwaGFzZVBpcGVDcmVhdGlvbn0gZnJvbSAnLi9waGFzZXMvcGlwZV9jcmVhdGlvbic7XG5pbXBvcnQge3BoYXNlUGlwZVZhcmlhZGljfSBmcm9tICcuL3BoYXNlcy9waXBlX3ZhcmlhZGljJztcbmltcG9ydCB7cGhhc2VQdXJlRnVuY3Rpb25FeHRyYWN0aW9ufSBmcm9tICcuL3BoYXNlcy9wdXJlX2Z1bmN0aW9uX2V4dHJhY3Rpb24nO1xuaW1wb3J0IHtwaGFzZVB1cmVMaXRlcmFsU3RydWN0dXJlc30gZnJvbSAnLi9waGFzZXMvcHVyZV9saXRlcmFsX3N0cnVjdHVyZXMnO1xuaW1wb3J0IHtwaGFzZVJlaWZ5fSBmcm9tICcuL3BoYXNlcy9yZWlmeSc7XG5pbXBvcnQge3BoYXNlUmVtb3ZlRW1wdHlCaW5kaW5nc30gZnJvbSAnLi9waGFzZXMvcmVtb3ZlX2VtcHR5X2JpbmRpbmdzJztcbmltcG9ydCB7cGhhc2VSZXNvbHZlQ29udGV4dHN9IGZyb20gJy4vcGhhc2VzL3Jlc29sdmVfY29udGV4dHMnO1xuaW1wb3J0IHtwaGFzZVJlc29sdmVEb2xsYXJFdmVudH0gZnJvbSAnLi9waGFzZXMvcmVzb2x2ZV9kb2xsYXJfZXZlbnQnO1xuaW1wb3J0IHtwaGFzZVJlc29sdmVJMThuUGxhY2Vob2xkZXJzfSBmcm9tICcuL3BoYXNlcy9yZXNvbHZlX2kxOG5fcGxhY2Vob2xkZXJzJztcbmltcG9ydCB7cGhhc2VSZXNvbHZlTmFtZXN9IGZyb20gJy4vcGhhc2VzL3Jlc29sdmVfbmFtZXMnO1xuaW1wb3J0IHtwaGFzZVJlc29sdmVTYW5pdGl6ZXJzfSBmcm9tICcuL3BoYXNlcy9yZXNvbHZlX3Nhbml0aXplcnMnO1xuaW1wb3J0IHtwaGFzZVNhdmVSZXN0b3JlVmlld30gZnJvbSAnLi9waGFzZXMvc2F2ZV9yZXN0b3JlX3ZpZXcnO1xuaW1wb3J0IHtwaGFzZVNsb3RBbGxvY2F0aW9ufSBmcm9tICcuL3BoYXNlcy9zbG90X2FsbG9jYXRpb24nO1xuaW1wb3J0IHtwaGFzZVN0eWxlQmluZGluZ1NwZWNpYWxpemF0aW9ufSBmcm9tICcuL3BoYXNlcy9zdHlsZV9iaW5kaW5nX3NwZWNpYWxpemF0aW9uJztcbmltcG9ydCB7cGhhc2VUZW1wb3JhcnlWYXJpYWJsZXN9IGZyb20gJy4vcGhhc2VzL3RlbXBvcmFyeV92YXJpYWJsZXMnO1xuaW1wb3J0IHtwaGFzZVZhckNvdW50aW5nfSBmcm9tICcuL3BoYXNlcy92YXJfY291bnRpbmcnO1xuaW1wb3J0IHtwaGFzZVZhcmlhYmxlT3B0aW1pemF0aW9ufSBmcm9tICcuL3BoYXNlcy92YXJpYWJsZV9vcHRpbWl6YXRpb24nO1xuXG50eXBlIFBoYXNlID0ge1xuICBmbjogKGpvYjogQ29tcGlsYXRpb25Kb2IpID0+IHZvaWQ7IGtpbmQ6IEtpbmQuQm90aCB8IEtpbmQuSG9zdCB8IEtpbmQuVG1wbDtcbn18e1xuICBmbjogKGpvYjogQ29tcG9uZW50Q29tcGlsYXRpb25Kb2IpID0+IHZvaWQ7XG4gIGtpbmQ6IEtpbmQuVG1wbDtcbn1cbnx7XG4gIGZuOiAoam9iOiBIb3N0QmluZGluZ0NvbXBpbGF0aW9uSm9iKSA9PiB2b2lkO1xuICBraW5kOiBLaW5kLkhvc3Q7XG59O1xuXG5jb25zdCBwaGFzZXM6IFBoYXNlW10gPSBbXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVJlbW92ZUNvbnRlbnRTZWxlY3RvcnN9LFxuICB7a2luZDogS2luZC5Ib3N0LCBmbjogcGhhc2VIb3N0U3R5bGVQcm9wZXJ0eVBhcnNpbmd9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VOYW1lc3BhY2V9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VTdHlsZUJpbmRpbmdTcGVjaWFsaXphdGlvbn0sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZUJpbmRpbmdTcGVjaWFsaXphdGlvbn0sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZUF0dHJpYnV0ZUV4dHJhY3Rpb259LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VQYXJzZUV4dHJhY3RlZFN0eWxlc30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVJlbW92ZUVtcHR5QmluZGluZ3N9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VDb25kaXRpb25hbHN9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VQaXBlQ3JlYXRpb259LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VJMThuVGV4dEV4dHJhY3Rpb259LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VBcHBseUkxOG5FeHByZXNzaW9uc30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVBpcGVWYXJpYWRpY30sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZVB1cmVMaXRlcmFsU3RydWN0dXJlc30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZUdlbmVyYXRlUHJvamVjdGlvbkRlZn0sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZUdlbmVyYXRlVmFyaWFibGVzfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlU2F2ZVJlc3RvcmVWaWV3fSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlRmluZEFueUNhc3RzfSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlUmVzb2x2ZURvbGxhckV2ZW50fSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlUmVzb2x2ZU5hbWVzfSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlUmVzb2x2ZUNvbnRleHRzfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlUmVzb2x2ZVNhbml0aXplcnN9LCAgLy8gVE9ETzogcnVuIGluIGJvdGhcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlTG9jYWxSZWZzfSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlTnVsbGlzaENvYWxlc2Npbmd9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VFeHBhbmRTYWZlUmVhZHN9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VUZW1wb3JhcnlWYXJpYWJsZXN9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VTbG90QWxsb2NhdGlvbn0sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVJlc29sdmVJMThuUGxhY2Vob2xkZXJzfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlSTE4bk1lc3NhZ2VFeHRyYWN0aW9ufSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlSTE4bkNvbnN0Q29sbGVjdGlvbn0sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZUNvbnN0VHJhaXRDb2xsZWN0aW9ufSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlQ29uc3RDb2xsZWN0aW9ufSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlVmFyQ291bnRpbmd9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VHZW5lcmF0ZUFkdmFuY2V9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VWYXJpYWJsZU9wdGltaXphdGlvbn0sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZU5hbWluZ30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZU1lcmdlTmV4dENvbnRleHR9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VOZ0NvbnRhaW5lcn0sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZUVtcHR5RWxlbWVudHN9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VOb25iaW5kYWJsZX0sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZVB1cmVGdW5jdGlvbkV4dHJhY3Rpb259LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VBbGlnblBpcGVWYXJpYWRpY1Zhck9mZnNldH0sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZU9yZGVyaW5nfSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlUmVpZnl9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VDaGFpbmluZ30sXG5dO1xuXG4vKipcbiAqIFJ1biBhbGwgdHJhbnNmb3JtYXRpb24gcGhhc2VzIGluIHRoZSBjb3JyZWN0IG9yZGVyIGFnYWluc3QgYSBjb21waWxhdGlvbiBqb2IuIEFmdGVyIHRoaXNcbiAqIHByb2Nlc3NpbmcsIHRoZSBjb21waWxhdGlvbiBzaG91bGQgYmUgaW4gYSBzdGF0ZSB3aGVyZSBpdCBjYW4gYmUgZW1pdHRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybShqb2I6IENvbXBpbGF0aW9uSm9iLCBraW5kOiBLaW5kKTogdm9pZCB7XG4gIGZvciAoY29uc3QgcGhhc2Ugb2YgcGhhc2VzKSB7XG4gICAgaWYgKHBoYXNlLmtpbmQgPT09IGtpbmQgfHwgcGhhc2Uua2luZCA9PT0gS2luZC5Cb3RoKSB7XG4gICAgICAvLyBUaGUgdHlwZSBvZiBgUGhhc2VgIGFib3ZlIGVuc3VyZXMgaXQgaXMgaW1wb3NzaWJsZSB0byBjYWxsIGEgcGhhc2UgdGhhdCBkb2Vzbid0IHN1cHBvcnQgdGhlXG4gICAgICAvLyBqb2Iga2luZC5cbiAgICAgIHBoYXNlLmZuKGpvYiBhcyBDb21waWxhdGlvbkpvYiAmIENvbXBvbmVudENvbXBpbGF0aW9uSm9iICYgSG9zdEJpbmRpbmdDb21waWxhdGlvbkpvYik7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ29tcGlsZSBhbGwgdmlld3MgaW4gdGhlIGdpdmVuIGBDb21wb25lbnRDb21waWxhdGlvbmAgaW50byB0aGUgZmluYWwgdGVtcGxhdGUgZnVuY3Rpb24sIHdoaWNoIG1heVxuICogcmVmZXJlbmNlIGNvbnN0YW50cyBkZWZpbmVkIGluIGEgYENvbnN0YW50UG9vbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbWl0VGVtcGxhdGVGbih0cGw6IENvbXBvbmVudENvbXBpbGF0aW9uSm9iLCBwb29sOiBDb25zdGFudFBvb2wpOiBvLkZ1bmN0aW9uRXhwciB7XG4gIGNvbnN0IHJvb3RGbiA9IGVtaXRWaWV3KHRwbC5yb290KTtcbiAgZW1pdENoaWxkVmlld3ModHBsLnJvb3QsIHBvb2wpO1xuICByZXR1cm4gcm9vdEZuO1xufVxuXG5mdW5jdGlvbiBlbWl0Q2hpbGRWaWV3cyhwYXJlbnQ6IFZpZXdDb21waWxhdGlvblVuaXQsIHBvb2w6IENvbnN0YW50UG9vbCk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHVuaXQgb2YgcGFyZW50LmpvYi51bml0cykge1xuICAgIGlmICh1bml0LnBhcmVudCAhPT0gcGFyZW50LnhyZWYpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIENoaWxkIHZpZXdzIGFyZSBlbWl0dGVkIGRlcHRoLWZpcnN0LlxuICAgIGVtaXRDaGlsZFZpZXdzKHVuaXQsIHBvb2wpO1xuXG4gICAgY29uc3Qgdmlld0ZuID0gZW1pdFZpZXcodW5pdCk7XG4gICAgcG9vbC5zdGF0ZW1lbnRzLnB1c2godmlld0ZuLnRvRGVjbFN0bXQodmlld0ZuLm5hbWUhKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBFbWl0IGEgdGVtcGxhdGUgZnVuY3Rpb24gZm9yIGFuIGluZGl2aWR1YWwgYFZpZXdDb21waWxhdGlvbmAgKHdoaWNoIG1heSBiZSBlaXRoZXIgdGhlIHJvb3Qgdmlld1xuICogb3IgYW4gZW1iZWRkZWQgdmlldykuXG4gKi9cbmZ1bmN0aW9uIGVtaXRWaWV3KHZpZXc6IFZpZXdDb21waWxhdGlvblVuaXQpOiBvLkZ1bmN0aW9uRXhwciB7XG4gIGlmICh2aWV3LmZuTmFtZSA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQXNzZXJ0aW9uRXJyb3I6IHZpZXcgJHt2aWV3LnhyZWZ9IGlzIHVubmFtZWRgKTtcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZVN0YXRlbWVudHM6IG8uU3RhdGVtZW50W10gPSBbXTtcbiAgZm9yIChjb25zdCBvcCBvZiB2aWV3LmNyZWF0ZSkge1xuICAgIGlmIChvcC5raW5kICE9PSBpci5PcEtpbmQuU3RhdGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFzc2VydGlvbkVycm9yOiBleHBlY3RlZCBhbGwgY3JlYXRlIG9wcyB0byBoYXZlIGJlZW4gY29tcGlsZWQsIGJ1dCBnb3QgJHtcbiAgICAgICAgICBpci5PcEtpbmRbb3Aua2luZF19YCk7XG4gICAgfVxuICAgIGNyZWF0ZVN0YXRlbWVudHMucHVzaChvcC5zdGF0ZW1lbnQpO1xuICB9XG4gIGNvbnN0IHVwZGF0ZVN0YXRlbWVudHM6IG8uU3RhdGVtZW50W10gPSBbXTtcbiAgZm9yIChjb25zdCBvcCBvZiB2aWV3LnVwZGF0ZSkge1xuICAgIGlmIChvcC5raW5kICE9PSBpci5PcEtpbmQuU3RhdGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFzc2VydGlvbkVycm9yOiBleHBlY3RlZCBhbGwgdXBkYXRlIG9wcyB0byBoYXZlIGJlZW4gY29tcGlsZWQsIGJ1dCBnb3QgJHtcbiAgICAgICAgICBpci5PcEtpbmRbb3Aua2luZF19YCk7XG4gICAgfVxuICAgIHVwZGF0ZVN0YXRlbWVudHMucHVzaChvcC5zdGF0ZW1lbnQpO1xuICB9XG5cbiAgY29uc3QgY3JlYXRlQ29uZCA9IG1heWJlR2VuZXJhdGVSZkJsb2NrKDEsIGNyZWF0ZVN0YXRlbWVudHMpO1xuICBjb25zdCB1cGRhdGVDb25kID0gbWF5YmVHZW5lcmF0ZVJmQmxvY2soMiwgdXBkYXRlU3RhdGVtZW50cyk7XG4gIHJldHVybiBvLmZuKFxuICAgICAgW1xuICAgICAgICBuZXcgby5GblBhcmFtKCdyZicpLFxuICAgICAgICBuZXcgby5GblBhcmFtKCdjdHgnKSxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIC4uLmNyZWF0ZUNvbmQsXG4gICAgICAgIC4uLnVwZGF0ZUNvbmQsXG4gICAgICBdLFxuICAgICAgLyogdHlwZSAqLyB1bmRlZmluZWQsIC8qIHNvdXJjZVNwYW4gKi8gdW5kZWZpbmVkLCB2aWV3LmZuTmFtZSk7XG59XG5cbmZ1bmN0aW9uIG1heWJlR2VuZXJhdGVSZkJsb2NrKGZsYWc6IG51bWJlciwgc3RhdGVtZW50czogby5TdGF0ZW1lbnRbXSk6IG8uU3RhdGVtZW50W10ge1xuICBpZiAoc3RhdGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gW1xuICAgIG8uaWZTdG10KFxuICAgICAgICBuZXcgby5CaW5hcnlPcGVyYXRvckV4cHIoby5CaW5hcnlPcGVyYXRvci5CaXR3aXNlQW5kLCBvLnZhcmlhYmxlKCdyZicpLCBvLmxpdGVyYWwoZmxhZykpLFxuICAgICAgICBzdGF0ZW1lbnRzKSxcbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtaXRIb3N0QmluZGluZ0Z1bmN0aW9uKGpvYjogSG9zdEJpbmRpbmdDb21waWxhdGlvbkpvYik6IG8uRnVuY3Rpb25FeHByfG51bGwge1xuICBpZiAoam9iLnJvb3QuZm5OYW1lID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBc3NlcnRpb25FcnJvcjogaG9zdCBiaW5kaW5nIGZ1bmN0aW9uIGlzIHVubmFtZWRgKTtcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZVN0YXRlbWVudHM6IG8uU3RhdGVtZW50W10gPSBbXTtcbiAgZm9yIChjb25zdCBvcCBvZiBqb2Iucm9vdC5jcmVhdGUpIHtcbiAgICBpZiAob3Aua2luZCAhPT0gaXIuT3BLaW5kLlN0YXRlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBc3NlcnRpb25FcnJvcjogZXhwZWN0ZWQgYWxsIGNyZWF0ZSBvcHMgdG8gaGF2ZSBiZWVuIGNvbXBpbGVkLCBidXQgZ290ICR7XG4gICAgICAgICAgaXIuT3BLaW5kW29wLmtpbmRdfWApO1xuICAgIH1cbiAgICBjcmVhdGVTdGF0ZW1lbnRzLnB1c2gob3Auc3RhdGVtZW50KTtcbiAgfVxuICBjb25zdCB1cGRhdGVTdGF0ZW1lbnRzOiBvLlN0YXRlbWVudFtdID0gW107XG4gIGZvciAoY29uc3Qgb3Agb2Ygam9iLnJvb3QudXBkYXRlKSB7XG4gICAgaWYgKG9wLmtpbmQgIT09IGlyLk9wS2luZC5TdGF0ZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXNzZXJ0aW9uRXJyb3I6IGV4cGVjdGVkIGFsbCB1cGRhdGUgb3BzIHRvIGhhdmUgYmVlbiBjb21waWxlZCwgYnV0IGdvdCAke1xuICAgICAgICAgIGlyLk9wS2luZFtvcC5raW5kXX1gKTtcbiAgICB9XG4gICAgdXBkYXRlU3RhdGVtZW50cy5wdXNoKG9wLnN0YXRlbWVudCk7XG4gIH1cblxuICBpZiAoY3JlYXRlU3RhdGVtZW50cy5sZW5ndGggPT09IDAgJiYgdXBkYXRlU3RhdGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZUNvbmQgPSBtYXliZUdlbmVyYXRlUmZCbG9jaygxLCBjcmVhdGVTdGF0ZW1lbnRzKTtcbiAgY29uc3QgdXBkYXRlQ29uZCA9IG1heWJlR2VuZXJhdGVSZkJsb2NrKDIsIHVwZGF0ZVN0YXRlbWVudHMpO1xuICByZXR1cm4gby5mbihcbiAgICAgIFtcbiAgICAgICAgbmV3IG8uRm5QYXJhbSgncmYnKSxcbiAgICAgICAgbmV3IG8uRm5QYXJhbSgnY3R4JyksXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAuLi5jcmVhdGVDb25kLFxuICAgICAgICAuLi51cGRhdGVDb25kLFxuICAgICAgXSxcbiAgICAgIC8qIHR5cGUgKi8gdW5kZWZpbmVkLCAvKiBzb3VyY2VTcGFuICovIHVuZGVmaW5lZCwgam9iLnJvb3QuZm5OYW1lKTtcbn1cbiJdfQ==
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy90ZW1wbGF0ZS9waXBlbGluZS9zcmMvZW1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssQ0FBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXZELE9BQU8sS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTVCLE9BQU8sRUFBaUIsa0JBQWtCLElBQUksSUFBSSxFQUF5RixNQUFNLGVBQWUsQ0FBQztBQUVqSyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxF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RSxFQUFFLEVBQUUsK0JBQStCLEVBQUM7SUFDdEQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsMEJBQTBCLEVBQUM7SUFDakQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsd0JBQXdCLEVBQUM7SUFDL0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsd0JBQXdCLEVBQUM7SUFDL0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUseUJBQXlCLEVBQUM7SUFDaEQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsd0JBQXdCLEVBQUM7SUFDL0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFDeEMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFDeEMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsdUJBQXVCLEVBQUM7SUFDOUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUseUJBQXlCLEVBQUM7SUFDaEQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUM7SUFDeEMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsMEJBQTBCLEVBQUM7SUFDakQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsMEJBQTBCLEVBQUM7SUFDakQsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEVBQUM7SUFDN0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsb0JBQW9C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QUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUNyQztJQUNELE1BQU0sZ0JBQWdCLEdBQWtCLEVBQUUsQ0FBQztJQUMzQyxLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ2hDLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDBFQUNaLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzQjtRQUNELGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDckM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNsRSxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUNQO1FBQ0UsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0tBQ3JCLEVBQ0Q7UUFDRSxHQUFHLFVBQVU7UUFDYixHQUFHLFVBQVU7S0FDZDtJQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBvIGZyb20gJy4uLy4uLy4uLy4uL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQge0NvbnN0YW50UG9vbH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRfcG9vbCc7XG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi9pcic7XG5cbmltcG9ydCB7Q29tcGlsYXRpb25Kb2IsIENvbXBpbGF0aW9uSm9iS2luZCBhcyBLaW5kLCB0eXBlIENvbXBvbmVudENvbXBpbGF0aW9uSm9iLCB0eXBlIEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Kb2IsIHR5cGUgVmlld0NvbXBpbGF0aW9uVW5pdH0gZnJvbSAnLi9jb21waWxhdGlvbic7XG5cbmltcG9ydCB7cGhhc2VBbGlnblBpcGVWYXJpYWRpY1Zhck9mZnNldH0gZnJvbSAnLi9waGFzZXMvYWxpZ25fcGlwZV92YXJpYWRpY192YXJfb2Zmc2V0JztcbmltcG9ydCB7cGhhc2VGaW5kQW55Q2FzdHN9IGZyb20gJy4vcGhhc2VzL2FueV9jYXN0JztcbmltcG9ydCB7cGhhc2VBcHBseUkxOG5FeHByZXNzaW9uc30gZnJvbSAnLi9waGFzZXMvYXBwbHlfaTE4bl9leHByZXNzaW9ucyc7XG5pbXBvcnQge3BoYXNlQXNzaWduSTE4blNsb3REZXBlbmRlbmNpZXN9IGZyb20gJy4vcGhhc2VzL2Fzc2lnbl9pMThuX3Nsb3RfZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7cGhhc2VBdHRyaWJ1dGVFeHRyYWN0aW9ufSBmcm9tICcuL3BoYXNlcy9hdHRyaWJ1dGVfZXh0cmFjdGlvbic7XG5pbXBvcnQge3BoYXNlQmluZGluZ1NwZWNpYWxpemF0aW9ufSBmcm9tICcuL3BoYXNlcy9iaW5kaW5nX3NwZWNpYWxpemF0aW9uJztcbmltcG9ydCB7cGhhc2VDaGFpbmluZ30gZnJvbSAnLi9waGFzZXMvY2hhaW5pbmcnO1xuaW1wb3J0IHtwaGFzZUNvbmRpdGlvbmFsc30gZnJvbSAnLi9waGFzZXMvY29uZGl0aW9uYWxzJztcbmltcG9ydCB7cGhhc2VDb25zdENvbGxlY3Rpb259IGZyb20gJy4vcGhhc2VzL2NvbnN0X2NvbGxlY3Rpb24nO1xuaW1wb3J0IHtwaGFzZUVtcHR5RWxlbWVudHN9IGZyb20gJy4vcGhhc2VzL2VtcHR5X2VsZW1lbnRzJztcbmltcG9ydCB7cGhhc2VFeHBhbmRTYWZlUmVhZHN9IGZyb20gJy4vcGhhc2VzL2V4cGFuZF9zYWZlX3JlYWRzJztcbmltcG9ydCB7cGhhc2VHZW5lcmF0ZUFkdmFuY2V9IGZyb20gJy4vcGhhc2VzL2dlbmVyYXRlX2FkdmFuY2UnO1xuaW1wb3J0IHtwaGFzZUdlbmVyYXRlUHJvamVjdGlvbkRlZn0gZnJvbSAnLi9waGFzZXMvZ2VuZXJhdGVfcHJvamVjdGlvbl9kZWYnO1xuaW1wb3J0IHtwaGFzZUdlbmVyYXRlVmFyaWFibGVzfSBmcm9tICcuL3BoYXNlcy9nZW5lcmF0ZV92YXJpYWJsZXMnO1xuaW1wb3J0IHtwaGFzZUNvbnN0VHJhaXRDb2xsZWN0aW9ufSBmcm9tICcuL3BoYXNlcy9oYXNfY29uc3RfdHJhaXRfY29sbGVjdGlvbic7XG5pbXBvcnQge3BoYXNlSG9zdFN0eWxlUHJvcGVydHlQYXJzaW5nfSBmcm9tICcuL3BoYXNlcy9ob3N0X3N0eWxlX3Byb3BlcnR5X3BhcnNpbmcnO1xuaW1wb3J0IHtwaGFzZUkxOG5Db25zdENvbGxlY3Rpb259IGZyb20gJy4vcGhhc2VzL2kxOG5fY29uc3RfY29sbGVjdGlvbic7XG5pbXBvcnQge3BoYXNlSTE4bk1lc3NhZ2VFeHRyYWN0aW9ufSBmcm9tICcuL3BoYXNlcy9pMThuX21lc3NhZ2VfZXh0cmFjdGlvbic7XG5pbXBvcnQge3BoYXNlSTE4blRleHRFeHRyYWN0aW9ufSBmcm9tICcuL3BoYXNlcy9pMThuX3RleHRfZXh0cmFjdGlvbic7XG5pbXBvcnQge3BoYXNlTG9jYWxSZWZzfSBmcm9tICcuL3BoYXNlcy9sb2NhbF9yZWZzJztcbmltcG9ydCB7cGhhc2VOYW1lc3BhY2V9IGZyb20gJy4vcGhhc2VzL25hbWVzcGFjZSc7XG5pbXBvcnQge3BoYXNlTmFtaW5nfSBmcm9tICcuL3BoYXNlcy9uYW1pbmcnO1xuaW1wb3J0IHtwaGFzZU1lcmdlTmV4dENvbnRleHR9IGZyb20gJy4vcGhhc2VzL25leHRfY29udGV4dF9tZXJnaW5nJztcbmltcG9ydCB7cGhhc2VOZ0NvbnRhaW5lcn0gZnJvbSAnLi9waGFzZXMvbmdfY29udGFpbmVyJztcbmltcG9ydCB7cGhhc2VOb25iaW5kYWJsZX0gZnJvbSAnLi9waGFzZXMvbm9uYmluZGFibGUnO1xuaW1wb3J0IHtwaGFzZU51bGxpc2hDb2FsZXNjaW5nfSBmcm9tICcuL3BoYXNlcy9udWxsaXNoX2NvYWxlc2NpbmcnO1xuaW1wb3J0IHtwaGFzZU9yZGVyaW5nfSBmcm9tICcuL3BoYXNlcy9vcmRlcmluZyc7XG5pbXBvcnQge3BoYXNlUGFyc2VFeHRyYWN0ZWRTdHlsZXN9IGZyb20gJy4vcGhhc2VzL3BhcnNlX2V4dHJhY3RlZF9zdHlsZXMnO1xuaW1wb3J0IHtwaGFzZVJlbW92ZUNvbnRlbnRTZWxlY3RvcnN9IGZyb20gJy4vcGhhc2VzL3BoYXNlX3JlbW92ZV9jb250ZW50X3NlbGVjdG9ycyc7XG5pbXBvcnQge3BoYXNlUGlwZUNyZWF0aW9ufSBmcm9tICcuL3BoYXNlcy9waXBlX2NyZWF0aW9uJztcbmltcG9ydCB7cGhhc2VQaXBlVmFyaWFkaWN9IGZyb20gJy4vcGhhc2VzL3BpcGVfdmFyaWFkaWMnO1xuaW1wb3J0IHtwaGFzZVByb3BhZ2F0ZUkxOG5CbG9ja3N9IGZyb20gJy4vcGhhc2VzL3Byb3BhZ2F0ZV9pMThuX2Jsb2Nrcyc7XG5pbXBvcnQge3BoYXNlUHJvcGFnYXRlSTE4blBsYWNlaG9sZGVyc30gZnJvbSAnLi9waGFzZXMvcHJvcGFnYXRlX2kxOG5fcGxhY2Vob2xkZXJzJztcbmltcG9ydCB7cGhhc2VQdXJlRnVuY3Rpb25FeHRyYWN0aW9ufSBmcm9tICcuL3BoYXNlcy9wdXJlX2Z1bmN0aW9uX2V4dHJhY3Rpb24nO1xuaW1wb3J0IHtwaGFzZVB1cmVMaXRlcmFsU3RydWN0dXJlc30gZnJvbSAnLi9waGFzZXMvcHVyZV9saXRlcmFsX3N0cnVjdHVyZXMnO1xuaW1wb3J0IHtwaGFzZVJlaWZ5fSBmcm9tICcuL3BoYXNlcy9yZWlmeSc7XG5pbXBvcnQge3BoYXNlUmVtb3ZlRW1wdHlCaW5kaW5nc30gZnJvbSAnLi9waGFzZXMvcmVtb3ZlX2VtcHR5X2JpbmRpbmdzJztcbmltcG9ydCB7cGhhc2VSZXNvbHZlQ29udGV4dHN9IGZyb20gJy4vcGhhc2VzL3Jlc29sdmVfY29udGV4dHMnO1xuaW1wb3J0IHtwaGFzZVJlc29sdmVEb2xsYXJFdmVudH0gZnJvbSAnLi9waGFzZXMvcmVzb2x2ZV9kb2xsYXJfZXZlbnQnO1xuaW1wb3J0IHtwaGFzZVJlc29sdmVJMThuUGxhY2Vob2xkZXJzfSBmcm9tICcuL3BoYXNlcy9yZXNvbHZlX2kxOG5fcGxhY2Vob2xkZXJzJztcbmltcG9ydCB7cGhhc2VSZXNvbHZlTmFtZXN9IGZyb20gJy4vcGhhc2VzL3Jlc29sdmVfbmFtZXMnO1xuaW1wb3J0IHtwaGFzZVJlc29sdmVTYW5pdGl6ZXJzfSBmcm9tICcuL3BoYXNlcy9yZXNvbHZlX3Nhbml0aXplcnMnO1xuaW1wb3J0IHtwaGFzZVNhdmVSZXN0b3JlVmlld30gZnJvbSAnLi9waGFzZXMvc2F2ZV9yZXN0b3JlX3ZpZXcnO1xuaW1wb3J0IHtwaGFzZVNsb3RBbGxvY2F0aW9ufSBmcm9tICcuL3BoYXNlcy9zbG90X2FsbG9jYXRpb24nO1xuaW1wb3J0IHtwaGFzZVN0eWxlQmluZGluZ1NwZWNpYWxpemF0aW9ufSBmcm9tICcuL3BoYXNlcy9zdHlsZV9iaW5kaW5nX3NwZWNpYWxpemF0aW9uJztcbmltcG9ydCB7cGhhc2VUZW1wb3JhcnlWYXJpYWJsZXN9IGZyb20gJy4vcGhhc2VzL3RlbXBvcmFyeV92YXJpYWJsZXMnO1xuaW1wb3J0IHtwaGFzZVZhckNvdW50aW5nfSBmcm9tICcuL3BoYXNlcy92YXJfY291bnRpbmcnO1xuaW1wb3J0IHtwaGFzZVZhcmlhYmxlT3B0aW1pemF0aW9ufSBmcm9tICcuL3BoYXNlcy92YXJpYWJsZV9vcHRpbWl6YXRpb24nO1xuXG50eXBlIFBoYXNlID0ge1xuICBmbjogKGpvYjogQ29tcGlsYXRpb25Kb2IpID0+IHZvaWQ7IGtpbmQ6IEtpbmQuQm90aCB8IEtpbmQuSG9zdCB8IEtpbmQuVG1wbDtcbn18e1xuICBmbjogKGpvYjogQ29tcG9uZW50Q29tcGlsYXRpb25Kb2IpID0+IHZvaWQ7XG4gIGtpbmQ6IEtpbmQuVG1wbDtcbn1cbnx7XG4gIGZuOiAoam9iOiBIb3N0QmluZGluZ0NvbXBpbGF0aW9uSm9iKSA9PiB2b2lkO1xuICBraW5kOiBLaW5kLkhvc3Q7XG59O1xuXG5jb25zdCBwaGFzZXM6IFBoYXNlW10gPSBbXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVJlbW92ZUNvbnRlbnRTZWxlY3RvcnN9LFxuICB7a2luZDogS2luZC5Ib3N0LCBmbjogcGhhc2VIb3N0U3R5bGVQcm9wZXJ0eVBhcnNpbmd9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VOYW1lc3BhY2V9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VTdHlsZUJpbmRpbmdTcGVjaWFsaXphdGlvbn0sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZUJpbmRpbmdTcGVjaWFsaXphdGlvbn0sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVByb3BhZ2F0ZUkxOG5CbG9ja3N9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VBdHRyaWJ1dGVFeHRyYWN0aW9ufSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlUGFyc2VFeHRyYWN0ZWRTdHlsZXN9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VSZW1vdmVFbXB0eUJpbmRpbmdzfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlQ29uZGl0aW9uYWxzfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlUGlwZUNyZWF0aW9ufSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlSTE4blRleHRFeHRyYWN0aW9ufSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlQXBwbHlJMThuRXhwcmVzc2lvbnN9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VQaXBlVmFyaWFkaWN9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VQdXJlTGl0ZXJhbFN0cnVjdHVyZXN9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VHZW5lcmF0ZVByb2plY3Rpb25EZWZ9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VHZW5lcmF0ZVZhcmlhYmxlc30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVNhdmVSZXN0b3JlVmlld30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZUZpbmRBbnlDYXN0c30sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZVJlc29sdmVEb2xsYXJFdmVudH0sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZVJlc29sdmVOYW1lc30sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZVJlc29sdmVDb250ZXh0c30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVJlc29sdmVTYW5pdGl6ZXJzfSwgIC8vIFRPRE86IHJ1biBpbiBib3RoXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZUxvY2FsUmVmc30sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZU51bGxpc2hDb2FsZXNjaW5nfSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlRXhwYW5kU2FmZVJlYWRzfSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlVGVtcG9yYXJ5VmFyaWFibGVzfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlU2xvdEFsbG9jYXRpb259LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VSZXNvbHZlSTE4blBsYWNlaG9sZGVyc30sXG4gIHtraW5kOiBLaW5kLlRtcGwsIGZuOiBwaGFzZVByb3BhZ2F0ZUkxOG5QbGFjZWhvbGRlcnN9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VJMThuTWVzc2FnZUV4dHJhY3Rpb259LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VJMThuQ29uc3RDb2xsZWN0aW9ufSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlQ29uc3RUcmFpdENvbGxlY3Rpb259LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VDb25zdENvbGxlY3Rpb259LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VBc3NpZ25JMThuU2xvdERlcGVuZGVuY2llc30sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZVZhckNvdW50aW5nfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlR2VuZXJhdGVBZHZhbmNlfSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlVmFyaWFibGVPcHRpbWl6YXRpb259LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VOYW1pbmd9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VNZXJnZU5leHRDb250ZXh0fSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlTmdDb250YWluZXJ9LFxuICB7a2luZDogS2luZC5UbXBsLCBmbjogcGhhc2VFbXB0eUVsZW1lbnRzfSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlTm9uYmluZGFibGV9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VQdXJlRnVuY3Rpb25FeHRyYWN0aW9ufSxcbiAge2tpbmQ6IEtpbmQuVG1wbCwgZm46IHBoYXNlQWxpZ25QaXBlVmFyaWFkaWNWYXJPZmZzZXR9LFxuICB7a2luZDogS2luZC5Cb3RoLCBmbjogcGhhc2VPcmRlcmluZ30sXG4gIHtraW5kOiBLaW5kLkJvdGgsIGZuOiBwaGFzZVJlaWZ5fSxcbiAge2tpbmQ6IEtpbmQuQm90aCwgZm46IHBoYXNlQ2hhaW5pbmd9LFxuXTtcblxuLyoqXG4gKiBSdW4gYWxsIHRyYW5zZm9ybWF0aW9uIHBoYXNlcyBpbiB0aGUgY29ycmVjdCBvcmRlciBhZ2FpbnN0IGEgY29tcGlsYXRpb24gam9iLiBBZnRlciB0aGlzXG4gKiBwcm9jZXNzaW5nLCB0aGUgY29tcGlsYXRpb24gc2hvdWxkIGJlIGluIGEgc3RhdGUgd2hlcmUgaXQgY2FuIGJlIGVtaXR0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm0oam9iOiBDb21waWxhdGlvbkpvYiwga2luZDogS2luZCk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHBoYXNlIG9mIHBoYXNlcykge1xuICAgIGlmIChwaGFzZS5raW5kID09PSBraW5kIHx8IHBoYXNlLmtpbmQgPT09IEtpbmQuQm90aCkge1xuICAgICAgLy8gVGhlIHR5cGUgb2YgYFBoYXNlYCBhYm92ZSBlbnN1cmVzIGl0IGlzIGltcG9zc2libGUgdG8gY2FsbCBhIHBoYXNlIHRoYXQgZG9lc24ndCBzdXBwb3J0IHRoZVxuICAgICAgLy8gam9iIGtpbmQuXG4gICAgICBwaGFzZS5mbihqb2IgYXMgQ29tcGlsYXRpb25Kb2IgJiBDb21wb25lbnRDb21waWxhdGlvbkpvYiAmIEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Kb2IpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENvbXBpbGUgYWxsIHZpZXdzIGluIHRoZSBnaXZlbiBgQ29tcG9uZW50Q29tcGlsYXRpb25gIGludG8gdGhlIGZpbmFsIHRlbXBsYXRlIGZ1bmN0aW9uLCB3aGljaCBtYXlcbiAqIHJlZmVyZW5jZSBjb25zdGFudHMgZGVmaW5lZCBpbiBhIGBDb25zdGFudFBvb2xgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1pdFRlbXBsYXRlRm4odHBsOiBDb21wb25lbnRDb21waWxhdGlvbkpvYiwgcG9vbDogQ29uc3RhbnRQb29sKTogby5GdW5jdGlvbkV4cHIge1xuICBjb25zdCByb290Rm4gPSBlbWl0Vmlldyh0cGwucm9vdCk7XG4gIGVtaXRDaGlsZFZpZXdzKHRwbC5yb290LCBwb29sKTtcbiAgcmV0dXJuIHJvb3RGbjtcbn1cblxuZnVuY3Rpb24gZW1pdENoaWxkVmlld3MocGFyZW50OiBWaWV3Q29tcGlsYXRpb25Vbml0LCBwb29sOiBDb25zdGFudFBvb2wpOiB2b2lkIHtcbiAgZm9yIChjb25zdCB1bml0IG9mIHBhcmVudC5qb2IudW5pdHMpIHtcbiAgICBpZiAodW5pdC5wYXJlbnQgIT09IHBhcmVudC54cmVmKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBDaGlsZCB2aWV3cyBhcmUgZW1pdHRlZCBkZXB0aC1maXJzdC5cbiAgICBlbWl0Q2hpbGRWaWV3cyh1bml0LCBwb29sKTtcblxuICAgIGNvbnN0IHZpZXdGbiA9IGVtaXRWaWV3KHVuaXQpO1xuICAgIHBvb2wuc3RhdGVtZW50cy5wdXNoKHZpZXdGbi50b0RlY2xTdG10KHZpZXdGbi5uYW1lISkpO1xuICB9XG59XG5cbi8qKlxuICogRW1pdCBhIHRlbXBsYXRlIGZ1bmN0aW9uIGZvciBhbiBpbmRpdmlkdWFsIGBWaWV3Q29tcGlsYXRpb25gICh3aGljaCBtYXkgYmUgZWl0aGVyIHRoZSByb290IHZpZXdcbiAqIG9yIGFuIGVtYmVkZGVkIHZpZXcpLlxuICovXG5mdW5jdGlvbiBlbWl0Vmlldyh2aWV3OiBWaWV3Q29tcGlsYXRpb25Vbml0KTogby5GdW5jdGlvbkV4cHIge1xuICBpZiAodmlldy5mbk5hbWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEFzc2VydGlvbkVycm9yOiB2aWV3ICR7dmlldy54cmVmfSBpcyB1bm5hbWVkYCk7XG4gIH1cblxuICBjb25zdCBjcmVhdGVTdGF0ZW1lbnRzOiBvLlN0YXRlbWVudFtdID0gW107XG4gIGZvciAoY29uc3Qgb3Agb2Ygdmlldy5jcmVhdGUpIHtcbiAgICBpZiAob3Aua2luZCAhPT0gaXIuT3BLaW5kLlN0YXRlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBc3NlcnRpb25FcnJvcjogZXhwZWN0ZWQgYWxsIGNyZWF0ZSBvcHMgdG8gaGF2ZSBiZWVuIGNvbXBpbGVkLCBidXQgZ290ICR7XG4gICAgICAgICAgaXIuT3BLaW5kW29wLmtpbmRdfWApO1xuICAgIH1cbiAgICBjcmVhdGVTdGF0ZW1lbnRzLnB1c2gob3Auc3RhdGVtZW50KTtcbiAgfVxuICBjb25zdCB1cGRhdGVTdGF0ZW1lbnRzOiBvLlN0YXRlbWVudFtdID0gW107XG4gIGZvciAoY29uc3Qgb3Agb2Ygdmlldy51cGRhdGUpIHtcbiAgICBpZiAob3Aua2luZCAhPT0gaXIuT3BLaW5kLlN0YXRlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBc3NlcnRpb25FcnJvcjogZXhwZWN0ZWQgYWxsIHVwZGF0ZSBvcHMgdG8gaGF2ZSBiZWVuIGNvbXBpbGVkLCBidXQgZ290ICR7XG4gICAgICAgICAgaXIuT3BLaW5kW29wLmtpbmRdfWApO1xuICAgIH1cbiAgICB1cGRhdGVTdGF0ZW1lbnRzLnB1c2gob3Auc3RhdGVtZW50KTtcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZUNvbmQgPSBtYXliZUdlbmVyYXRlUmZCbG9jaygxLCBjcmVhdGVTdGF0ZW1lbnRzKTtcbiAgY29uc3QgdXBkYXRlQ29uZCA9IG1heWJlR2VuZXJhdGVSZkJsb2NrKDIsIHVwZGF0ZVN0YXRlbWVudHMpO1xuICByZXR1cm4gby5mbihcbiAgICAgIFtcbiAgICAgICAgbmV3IG8uRm5QYXJhbSgncmYnKSxcbiAgICAgICAgbmV3IG8uRm5QYXJhbSgnY3R4JyksXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAuLi5jcmVhdGVDb25kLFxuICAgICAgICAuLi51cGRhdGVDb25kLFxuICAgICAgXSxcbiAgICAgIC8qIHR5cGUgKi8gdW5kZWZpbmVkLCAvKiBzb3VyY2VTcGFuICovIHVuZGVmaW5lZCwgdmlldy5mbk5hbWUpO1xufVxuXG5mdW5jdGlvbiBtYXliZUdlbmVyYXRlUmZCbG9jayhmbGFnOiBudW1iZXIsIHN0YXRlbWVudHM6IG8uU3RhdGVtZW50W10pOiBvLlN0YXRlbWVudFtdIHtcbiAgaWYgKHN0YXRlbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcmV0dXJuIFtcbiAgICBvLmlmU3RtdChcbiAgICAgICAgbmV3IG8uQmluYXJ5T3BlcmF0b3JFeHByKG8uQmluYXJ5T3BlcmF0b3IuQml0d2lzZUFuZCwgby52YXJpYWJsZSgncmYnKSwgby5saXRlcmFsKGZsYWcpKSxcbiAgICAgICAgc3RhdGVtZW50cyksXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbWl0SG9zdEJpbmRpbmdGdW5jdGlvbihqb2I6IEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Kb2IpOiBvLkZ1bmN0aW9uRXhwcnxudWxsIHtcbiAgaWYgKGpvYi5yb290LmZuTmFtZSA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQXNzZXJ0aW9uRXJyb3I6IGhvc3QgYmluZGluZyBmdW5jdGlvbiBpcyB1bm5hbWVkYCk7XG4gIH1cblxuICBjb25zdCBjcmVhdGVTdGF0ZW1lbnRzOiBvLlN0YXRlbWVudFtdID0gW107XG4gIGZvciAoY29uc3Qgb3Agb2Ygam9iLnJvb3QuY3JlYXRlKSB7XG4gICAgaWYgKG9wLmtpbmQgIT09IGlyLk9wS2luZC5TdGF0ZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXNzZXJ0aW9uRXJyb3I6IGV4cGVjdGVkIGFsbCBjcmVhdGUgb3BzIHRvIGhhdmUgYmVlbiBjb21waWxlZCwgYnV0IGdvdCAke1xuICAgICAgICAgIGlyLk9wS2luZFtvcC5raW5kXX1gKTtcbiAgICB9XG4gICAgY3JlYXRlU3RhdGVtZW50cy5wdXNoKG9wLnN0YXRlbWVudCk7XG4gIH1cbiAgY29uc3QgdXBkYXRlU3RhdGVtZW50czogby5TdGF0ZW1lbnRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IG9wIG9mIGpvYi5yb290LnVwZGF0ZSkge1xuICAgIGlmIChvcC5raW5kICE9PSBpci5PcEtpbmQuU3RhdGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFzc2VydGlvbkVycm9yOiBleHBlY3RlZCBhbGwgdXBkYXRlIG9wcyB0byBoYXZlIGJlZW4gY29tcGlsZWQsIGJ1dCBnb3QgJHtcbiAgICAgICAgICBpci5PcEtpbmRbb3Aua2luZF19YCk7XG4gICAgfVxuICAgIHVwZGF0ZVN0YXRlbWVudHMucHVzaChvcC5zdGF0ZW1lbnQpO1xuICB9XG5cbiAgaWYgKGNyZWF0ZVN0YXRlbWVudHMubGVuZ3RoID09PSAwICYmIHVwZGF0ZVN0YXRlbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjcmVhdGVDb25kID0gbWF5YmVHZW5lcmF0ZVJmQmxvY2soMSwgY3JlYXRlU3RhdGVtZW50cyk7XG4gIGNvbnN0IHVwZGF0ZUNvbmQgPSBtYXliZUdlbmVyYXRlUmZCbG9jaygyLCB1cGRhdGVTdGF0ZW1lbnRzKTtcbiAgcmV0dXJuIG8uZm4oXG4gICAgICBbXG4gICAgICAgIG5ldyBvLkZuUGFyYW0oJ3JmJyksXG4gICAgICAgIG5ldyBvLkZuUGFyYW0oJ2N0eCcpLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgLi4uY3JlYXRlQ29uZCxcbiAgICAgICAgLi4udXBkYXRlQ29uZCxcbiAgICAgIF0sXG4gICAgICAvKiB0eXBlICovIHVuZGVmaW5lZCwgLyogc291cmNlU3BhbiAqLyB1bmRlZmluZWQsIGpvYi5yb290LmZuTmFtZSk7XG59XG4iXX0=
|