source: trip-planner-front/node_modules/@angular/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.js@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 18.0 KB
Line 
1/**
2 * @license
3 * Copyright Google LLC All Rights Reserved.
4 *
5 * Use of this source code is governed by an MIT-style license that can be
6 * found in the LICENSE file at https://angular.io/license
7 */
8(function (factory) {
9 if (typeof module === "object" && typeof module.exports === "object") {
10 var v = factory(require, exports);
11 if (v !== undefined) module.exports = v;
12 }
13 else if (typeof define === "function" && define.amd) {
14 define("@angular/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic", ["require", "exports"], factory);
15 }
16})(function (require, exports) {
17 "use strict";
18 Object.defineProperty(exports, "__esModule", { value: true });
19 exports.DynamicValue = void 0;
20 /**
21 * Represents a value which cannot be determined statically.
22 */
23 var DynamicValue = /** @class */ (function () {
24 function DynamicValue(node, reason, code) {
25 this.node = node;
26 this.reason = reason;
27 this.code = code;
28 }
29 DynamicValue.fromDynamicInput = function (node, input) {
30 return new DynamicValue(node, input, 0 /* DYNAMIC_INPUT */);
31 };
32 DynamicValue.fromDynamicString = function (node) {
33 return new DynamicValue(node, undefined, 1 /* DYNAMIC_STRING */);
34 };
35 DynamicValue.fromExternalReference = function (node, ref) {
36 return new DynamicValue(node, ref, 2 /* EXTERNAL_REFERENCE */);
37 };
38 DynamicValue.fromUnsupportedSyntax = function (node) {
39 return new DynamicValue(node, undefined, 3 /* UNSUPPORTED_SYNTAX */);
40 };
41 DynamicValue.fromUnknownIdentifier = function (node) {
42 return new DynamicValue(node, undefined, 4 /* UNKNOWN_IDENTIFIER */);
43 };
44 DynamicValue.fromInvalidExpressionType = function (node, value) {
45 return new DynamicValue(node, value, 5 /* INVALID_EXPRESSION_TYPE */);
46 };
47 DynamicValue.fromComplexFunctionCall = function (node, fn) {
48 return new DynamicValue(node, fn, 6 /* COMPLEX_FUNCTION_CALL */);
49 };
50 DynamicValue.fromDynamicType = function (node) {
51 return new DynamicValue(node, undefined, 7 /* DYNAMIC_TYPE */);
52 };
53 DynamicValue.fromUnknown = function (node) {
54 return new DynamicValue(node, undefined, 8 /* UNKNOWN */);
55 };
56 DynamicValue.prototype.isFromDynamicInput = function () {
57 return this.code === 0 /* DYNAMIC_INPUT */;
58 };
59 DynamicValue.prototype.isFromDynamicString = function () {
60 return this.code === 1 /* DYNAMIC_STRING */;
61 };
62 DynamicValue.prototype.isFromExternalReference = function () {
63 return this.code === 2 /* EXTERNAL_REFERENCE */;
64 };
65 DynamicValue.prototype.isFromUnsupportedSyntax = function () {
66 return this.code === 3 /* UNSUPPORTED_SYNTAX */;
67 };
68 DynamicValue.prototype.isFromUnknownIdentifier = function () {
69 return this.code === 4 /* UNKNOWN_IDENTIFIER */;
70 };
71 DynamicValue.prototype.isFromInvalidExpressionType = function () {
72 return this.code === 5 /* INVALID_EXPRESSION_TYPE */;
73 };
74 DynamicValue.prototype.isFromComplexFunctionCall = function () {
75 return this.code === 6 /* COMPLEX_FUNCTION_CALL */;
76 };
77 DynamicValue.prototype.isFromDynamicType = function () {
78 return this.code === 7 /* DYNAMIC_TYPE */;
79 };
80 DynamicValue.prototype.isFromUnknown = function () {
81 return this.code === 8 /* UNKNOWN */;
82 };
83 DynamicValue.prototype.accept = function (visitor) {
84 switch (this.code) {
85 case 0 /* DYNAMIC_INPUT */:
86 return visitor.visitDynamicInput(this);
87 case 1 /* DYNAMIC_STRING */:
88 return visitor.visitDynamicString(this);
89 case 2 /* EXTERNAL_REFERENCE */:
90 return visitor.visitExternalReference(this);
91 case 3 /* UNSUPPORTED_SYNTAX */:
92 return visitor.visitUnsupportedSyntax(this);
93 case 4 /* UNKNOWN_IDENTIFIER */:
94 return visitor.visitUnknownIdentifier(this);
95 case 5 /* INVALID_EXPRESSION_TYPE */:
96 return visitor.visitInvalidExpressionType(this);
97 case 6 /* COMPLEX_FUNCTION_CALL */:
98 return visitor.visitComplexFunctionCall(this);
99 case 7 /* DYNAMIC_TYPE */:
100 return visitor.visitDynamicType(this);
101 case 8 /* UNKNOWN */:
102 return visitor.visitUnknown(this);
103 }
104 };
105 return DynamicValue;
106 }());
107 exports.DynamicValue = DynamicValue;
108});
109//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvcGFydGlhbF9ldmFsdWF0b3Ivc3JjL2R5bmFtaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBK0VIOztPQUVHO0lBQ0g7UUFDRSxzQkFDYSxJQUFhLEVBQVcsTUFBUyxFQUFVLElBQXdCO1lBQW5FLFNBQUksR0FBSixJQUFJLENBQVM7WUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFHO1lBQVUsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFBRyxDQUFDO1FBRTdFLDZCQUFnQixHQUF2QixVQUF3QixJQUFhLEVBQUUsS0FBbUI7WUFDeEQsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyx3QkFBbUMsQ0FBQztRQUN6RSxDQUFDO1FBRU0sOEJBQWlCLEdBQXhCLFVBQXlCLElBQWE7WUFDcEMsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyx5QkFBb0MsQ0FBQztRQUM5RSxDQUFDO1FBRU0sa0NBQXFCLEdBQTVCLFVBQTZCLElBQWEsRUFBRSxHQUE4QjtZQUV4RSxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLDZCQUF3QyxDQUFDO1FBQzVFLENBQUM7UUFFTSxrQ0FBcUIsR0FBNUIsVUFBNkIsSUFBYTtZQUN4QyxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLDZCQUF3QyxDQUFDO1FBQ2xGLENBQUM7UUFFTSxrQ0FBcUIsR0FBNUIsVUFBNkIsSUFBbUI7WUFDOUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyw2QkFBd0MsQ0FBQztRQUNsRixDQUFDO1FBRU0sc0NBQXlCLEdBQWhDLFVBQWlDLElBQWEsRUFBRSxLQUFjO1lBQzVELE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssa0NBQTZDLENBQUM7UUFDbkYsQ0FBQztRQUVNLG9DQUF1QixHQUE5QixVQUErQixJQUFhLEVBQUUsRUFBc0I7WUFFbEUsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxnQ0FBMkMsQ0FBQztRQUM5RSxDQUFDO1FBRU0sNEJBQWUsR0FBdEIsVUFBdUIsSUFBaUI7WUFDdEMsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyx1QkFBa0MsQ0FBQztRQUM1RSxDQUFDO1FBRU0sd0JBQVcsR0FBbEIsVUFBbUIsSUFBYTtZQUM5QixPQUFPLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLGtCQUE2QixDQUFDO1FBQ3ZFLENBQUM7UUFFRCx5Q0FBa0IsR0FBbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLDBCQUFxQyxDQUFDO1FBQ3hELENBQUM7UUFFRCwwQ0FBbUIsR0FBbkI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLDJCQUFzQyxDQUFDO1FBQ3pELENBQUM7UUFFRCw4Q0FBdUIsR0FBdkI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLCtCQUEwQyxDQUFDO1FBQzdELENBQUM7UUFFRCw4Q0FBdUIsR0FBdkI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLCtCQUEwQyxDQUFDO1FBQzdELENBQUM7UUFFRCw4Q0FBdUIsR0FBdkI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLCtCQUEwQyxDQUFDO1FBQzdELENBQUM7UUFFRCxrREFBMkIsR0FBM0I7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLG9DQUErQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxnREFBeUIsR0FBekI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLGtDQUE2QyxDQUFDO1FBQ2hFLENBQUM7UUFFRCx3Q0FBaUIsR0FBakI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLHlCQUFvQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxvQ0FBYSxHQUFiO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxvQkFBK0IsQ0FBQztRQUNsRCxDQUFDO1FBRUQsNkJBQU0sR0FBTixVQUFVLE9BQStCO1lBQ3ZDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDakI7b0JBQ0UsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBNkMsQ0FBQyxDQUFDO2dCQUNsRjtvQkFDRSxPQUFPLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDMUM7b0JBQ0UsT0FBTyxPQUFPLENBQUMsc0JBQXNCLENBQ2pDLElBQTBELENBQUMsQ0FBQztnQkFDbEU7b0JBQ0UsT0FBTyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlDO29CQUNFLE9BQU8sT0FBTyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QztvQkFDRSxPQUFPLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEQ7b0JBQ0UsT0FBTyxPQUFPLENBQUMsd0JBQXdCLENBQ25DLElBQW1ELENBQUMsQ0FBQztnQkFDM0Q7b0JBQ0UsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hDO29CQUNFLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNyQztRQUNILENBQUM7UUFDSCxtQkFBQztJQUFELENBQUMsQUF0R0QsSUFzR0M7SUF0R1ksb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7UmVmZXJlbmNlfSBmcm9tICcuLi8uLi9pbXBvcnRzJztcbmltcG9ydCB7RnVuY3Rpb25EZWZpbml0aW9ufSBmcm9tICcuLi8uLi9yZWZsZWN0aW9uJztcblxuLyoqXG4gKiBUaGUgcmVhc29uIHdoeSBhIHZhbHVlIGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN0YXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIER5bmFtaWNWYWx1ZVJlYXNvbiB7XG4gIC8qKlxuICAgKiBBIHZhbHVlIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkIHN0YXRpY2FsbHksIGJlY2F1c2UgaXQgY29udGFpbnMgYSB0ZXJtIHRoYXQgY291bGQgbm90IGJlXG4gICAqIGRldGVybWluZWQgc3RhdGljYWxseS5cbiAgICogKEUuZy4gYSBwcm9wZXJ0eSBhc3NpZ25tZW50IG9yIGNhbGwgZXhwcmVzc2lvbiB3aGVyZSB0aGUgbGhzIGlzIGEgYER5bmFtaWNWYWx1ZWAsIGEgdGVtcGxhdGVcbiAgICogbGl0ZXJhbCB3aXRoIGEgZHluYW1pYyBleHByZXNzaW9uLCBhbiBvYmplY3QgbGl0ZXJhbCB3aXRoIGEgc3ByZWFkIGFzc2lnbm1lbnQgd2hpY2ggY291bGQgbm90XG4gICAqIGJlIGRldGVybWluZWQgc3RhdGljYWxseSwgZXRjLilcbiAgICovXG4gIERZTkFNSUNfSU5QVVQsXG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIGNvdWxkIG5vdCBiZSBzdGF0aWNhbGx5IGV2YWx1YXRlZC5cbiAgICogKEUuZy4gYSBkeW5hbWljYWxseSBjb25zdHJ1Y3RlZCBvYmplY3QgcHJvcGVydHkgbmFtZSBvciBhIHRlbXBsYXRlIGxpdGVyYWwgZXhwcmVzc2lvbiB0aGF0XG4gICAqIGNvdWxkIG5vdCBiZSBzdGF0aWNhbGx5IHJlc29sdmVkIHRvIGEgcHJpbWl0aXZlIHZhbHVlLilcbiAgICovXG4gIERZTkFNSUNfU1RSSU5HLFxuXG4gIC8qKlxuICAgKiBBbiBleHRlcm5hbCByZWZlcmVuY2UgY291bGQgbm90IGJlIHJlc29sdmVkIHRvIGEgdmFsdWUgd2hpY2ggY2FuIGJlIGV2YWx1YXRlZC5cbiAgICogRm9yIGV4YW1wbGUgYSBjYWxsIGV4cHJlc3Npb24gZm9yIGEgZnVuY3Rpb24gZGVjbGFyZWQgaW4gYC5kLnRzYCwgb3IgYWNjZXNzaW5nIG5hdGl2ZSBnbG9iYWxzXG4gICAqIHN1Y2ggYXMgYHdpbmRvd2AuXG4gICAqL1xuICBFWFRFUk5BTF9SRUZFUkVOQ0UsXG5cbiAgLyoqXG4gICAqIFN5bnRheCB0aGF0IGBTdGF0aWNJbnRlcnByZXRlcmAgZG9lc24ndCBrbm93IGhvdyB0byBldmFsdWF0ZSwgZm9yIGV4YW1wbGUgYSB0eXBlIG9mXG4gICAqIGB0cy5FeHByZXNzaW9uYCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQuXG4gICAqL1xuICBVTlNVUFBPUlRFRF9TWU5UQVgsXG5cbiAgLyoqXG4gICAqIEEgZGVjbGFyYXRpb24gb2YgYSBgdHMuSWRlbnRpZmllcmAgY291bGQgbm90IGJlIGZvdW5kLlxuICAgKi9cbiAgVU5LTk9XTl9JREVOVElGSUVSLFxuXG4gIC8qKlxuICAgKiBBIHZhbHVlIGNvdWxkIGJlIHJlc29sdmVkLCBidXQgaXMgbm90IGFuIGFjY2VwdGFibGUgdHlwZSBmb3IgdGhlIG9wZXJhdGlvbiBiZWluZyBwZXJmb3JtZWQuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBhdHRlbXB0aW5nIHRvIGNhbGwgYSBub24tY2FsbGFibGUgZXhwcmVzc2lvbi5cbiAgICovXG4gIElOVkFMSURfRVhQUkVTU0lPTl9UWVBFLFxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIGNhbGwgY291bGQgbm90IGJlIGV2YWx1YXRlZCBhcyB0aGUgZnVuY3Rpb24ncyBib2R5IGlzIG5vdCBhIHNpbmdsZSByZXR1cm4gc3RhdGVtZW50LlxuICAgKi9cbiAgQ09NUExFWF9GVU5DVElPTl9DQUxMLFxuXG4gIC8qKlxuICAgKiBBIHZhbHVlIHRoYXQgY291bGQgbm90IGJlIGRldGVybWluZWQgYmVjYXVzZSBpdCBjb250YWlucyB0eXBlIGluZm9ybWF0aW9uIHRoYXQgY2Fubm90IGJlXG4gICAqIHN0YXRpY2FsbHkgZXZhbHVhdGVkLiBUaGlzIGhhcHBlbnMgd2hlbiBwcm9kdWNpbmcgYSB2YWx1ZSBmcm9tIHR5cGUgaW5mb3JtYXRpb24sIGJ1dCB0aGUgdmFsdWVcbiAgICogb2YgdGhlIGdpdmVuIHR5cGUgY2Fubm90IGJlIGRldGVybWluZWQgc3RhdGljYWxseS5cbiAgICpcbiAgICogRS5nLiBldmFsdWF0aW5nIGEgdHVwbGUuXG4gICAqXG4gICAqICAgYGRlY2xhcmUgY29uc3QgZm9vOiBbc3RyaW5nXTtgXG4gICAqXG4gICAqICBFdmFsdWF0aW5nIGBmb29gIGdpdmVzIGEgRHluYW1pY1ZhbHVlIHdyYXBwZWQgaW4gYW4gYXJyYXkgd2l0aCBhIHJlYXNvbiBvZiBEWU5BTUlDX1RZUEUuIFRoaXNcbiAgICogaXMgYmVjYXVzZSB0aGUgc3RhdGljIGV2YWx1YXRvciBoYXMgYSBgc3RyaW5nYCB0eXBlIGZvciB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGlzIHR1cGxlLCBhbmRcbiAgICogdGhlIHZhbHVlIG9mIHRoYXQgc3RyaW5nIGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN0YXRpY2FsbHkuIFRoZSB0eXBlIGBzdHJpbmdgIHBlcm1pdHMgaXQgdG8gYmVcbiAgICogJ2ZvbycsICdiYXInIG9yIGFueSBhcmJpdHJhcnkgc3RyaW5nLCBzbyB3ZSBldmFsdWF0ZSBpdCB0byBhIER5bmFtaWNWYWx1ZS5cbiAgICovXG4gIERZTkFNSUNfVFlQRSxcblxuICAvKipcbiAgICogQSB2YWx1ZSBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCBzdGF0aWNhbGx5IGZvciBhbnkgcmVhc29uIG90aGVyIHRoZSBhYm92ZS5cbiAgICovXG4gIFVOS05PV04sXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHZhbHVlIHdoaWNoIGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN0YXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBEeW5hbWljVmFsdWU8UiA9IHVua25vd24+IHtcbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICAgIHJlYWRvbmx5IG5vZGU6IHRzLk5vZGUsIHJlYWRvbmx5IHJlYXNvbjogUiwgcHJpdmF0ZSBjb2RlOiBEeW5hbWljVmFsdWVSZWFzb24pIHt9XG5cbiAgc3RhdGljIGZyb21EeW5hbWljSW5wdXQobm9kZTogdHMuTm9kZSwgaW5wdXQ6IER5bmFtaWNWYWx1ZSk6IER5bmFtaWNWYWx1ZTxEeW5hbWljVmFsdWU+IHtcbiAgICByZXR1cm4gbmV3IER5bmFtaWNWYWx1ZShub2RlLCBpbnB1dCwgRHluYW1pY1ZhbHVlUmVhc29uLkRZTkFNSUNfSU5QVVQpO1xuICB9XG5cbiAgc3RhdGljIGZyb21EeW5hbWljU3RyaW5nKG5vZGU6IHRzLk5vZGUpOiBEeW5hbWljVmFsdWUge1xuICAgIHJldHVybiBuZXcgRHluYW1pY1ZhbHVlKG5vZGUsIHVuZGVmaW5lZCwgRHluYW1pY1ZhbHVlUmVhc29uLkRZTkFNSUNfU1RSSU5HKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRXh0ZXJuYWxSZWZlcmVuY2Uobm9kZTogdHMuTm9kZSwgcmVmOiBSZWZlcmVuY2U8dHMuRGVjbGFyYXRpb24+KTpcbiAgICAgIER5bmFtaWNWYWx1ZTxSZWZlcmVuY2U8dHMuRGVjbGFyYXRpb24+PiB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljVmFsdWUobm9kZSwgcmVmLCBEeW5hbWljVmFsdWVSZWFzb24uRVhURVJOQUxfUkVGRVJFTkNFKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVW5zdXBwb3J0ZWRTeW50YXgobm9kZTogdHMuTm9kZSk6IER5bmFtaWNWYWx1ZSB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljVmFsdWUobm9kZSwgdW5kZWZpbmVkLCBEeW5hbWljVmFsdWVSZWFzb24uVU5TVVBQT1JURURfU1lOVEFYKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVW5rbm93bklkZW50aWZpZXIobm9kZTogdHMuSWRlbnRpZmllcik6IER5bmFtaWNWYWx1ZSB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljVmFsdWUobm9kZSwgdW5kZWZpbmVkLCBEeW5hbWljVmFsdWVSZWFzb24uVU5LTk9XTl9JREVOVElGSUVSKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSW52YWxpZEV4cHJlc3Npb25UeXBlKG5vZGU6IHRzLk5vZGUsIHZhbHVlOiB1bmtub3duKTogRHluYW1pY1ZhbHVlPHVua25vd24+IHtcbiAgICByZXR1cm4gbmV3IER5bmFtaWNWYWx1ZShub2RlLCB2YWx1ZSwgRHluYW1pY1ZhbHVlUmVhc29uLklOVkFMSURfRVhQUkVTU0lPTl9UWVBFKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29tcGxleEZ1bmN0aW9uQ2FsbChub2RlOiB0cy5Ob2RlLCBmbjogRnVuY3Rpb25EZWZpbml0aW9uKTpcbiAgICAgIER5bmFtaWNWYWx1ZTxGdW5jdGlvbkRlZmluaXRpb24+IHtcbiAgICByZXR1cm4gbmV3IER5bmFtaWNWYWx1ZShub2RlLCBmbiwgRHluYW1pY1ZhbHVlUmVhc29uLkNPTVBMRVhfRlVOQ1RJT05fQ0FMTCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUR5bmFtaWNUeXBlKG5vZGU6IHRzLlR5cGVOb2RlKTogRHluYW1pY1ZhbHVlIHtcbiAgICByZXR1cm4gbmV3IER5bmFtaWNWYWx1ZShub2RlLCB1bmRlZmluZWQsIER5bmFtaWNWYWx1ZVJlYXNvbi5EWU5BTUlDX1RZUEUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21Vbmtub3duKG5vZGU6IHRzLk5vZGUpOiBEeW5hbWljVmFsdWUge1xuICAgIHJldHVybiBuZXcgRHluYW1pY1ZhbHVlKG5vZGUsIHVuZGVmaW5lZCwgRHluYW1pY1ZhbHVlUmVhc29uLlVOS05PV04pO1xuICB9XG5cbiAgaXNGcm9tRHluYW1pY0lucHV0KHRoaXM6IER5bmFtaWNWYWx1ZTxSPik6IHRoaXMgaXMgRHluYW1pY1ZhbHVlPER5bmFtaWNWYWx1ZT4ge1xuICAgIHJldHVybiB0aGlzLmNvZGUgPT09IER5bmFtaWNWYWx1ZVJlYXNvbi5EWU5BTUlDX0lOUFVUO1xuICB9XG5cbiAgaXNGcm9tRHluYW1pY1N0cmluZyh0aGlzOiBEeW5hbWljVmFsdWU8Uj4pOiB0aGlzIGlzIER5bmFtaWNWYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29kZSA9PT0gRHluYW1pY1ZhbHVlUmVhc29uLkRZTkFNSUNfU1RSSU5HO1xuICB9XG5cbiAgaXNGcm9tRXh0ZXJuYWxSZWZlcmVuY2UodGhpczogRHluYW1pY1ZhbHVlPFI+KTogdGhpcyBpcyBEeW5hbWljVmFsdWU8UmVmZXJlbmNlPHRzLkRlY2xhcmF0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmNvZGUgPT09IER5bmFtaWNWYWx1ZVJlYXNvbi5FWFRFUk5BTF9SRUZFUkVOQ0U7XG4gIH1cblxuICBpc0Zyb21VbnN1cHBvcnRlZFN5bnRheCh0aGlzOiBEeW5hbWljVmFsdWU8Uj4pOiB0aGlzIGlzIER5bmFtaWNWYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29kZSA9PT0gRHluYW1pY1ZhbHVlUmVhc29uLlVOU1VQUE9SVEVEX1NZTlRBWDtcbiAgfVxuXG4gIGlzRnJvbVVua25vd25JZGVudGlmaWVyKHRoaXM6IER5bmFtaWNWYWx1ZTxSPik6IHRoaXMgaXMgRHluYW1pY1ZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5jb2RlID09PSBEeW5hbWljVmFsdWVSZWFzb24uVU5LTk9XTl9JREVOVElGSUVSO1xuICB9XG5cbiAgaXNGcm9tSW52YWxpZEV4cHJlc3Npb25UeXBlKHRoaXM6IER5bmFtaWNWYWx1ZTxSPik6IHRoaXMgaXMgRHluYW1pY1ZhbHVlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5jb2RlID09PSBEeW5hbWljVmFsdWVSZWFzb24uSU5WQUxJRF9FWFBSRVNTSU9OX1RZUEU7XG4gIH1cblxuICBpc0Zyb21Db21wbGV4RnVuY3Rpb25DYWxsKHRoaXM6IER5bmFtaWNWYWx1ZTxSPik6IHRoaXMgaXMgRHluYW1pY1ZhbHVlPEZ1bmN0aW9uRGVmaW5pdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmNvZGUgPT09IER5bmFtaWNWYWx1ZVJlYXNvbi5DT01QTEVYX0ZVTkNUSU9OX0NBTEw7XG4gIH1cblxuICBpc0Zyb21EeW5hbWljVHlwZSh0aGlzOiBEeW5hbWljVmFsdWU8Uj4pOiB0aGlzIGlzIER5bmFtaWNWYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29kZSA9PT0gRHluYW1pY1ZhbHVlUmVhc29uLkRZTkFNSUNfVFlQRTtcbiAgfVxuXG4gIGlzRnJvbVVua25vd24odGhpczogRHluYW1pY1ZhbHVlPFI+KTogdGhpcyBpcyBEeW5hbWljVmFsdWUge1xuICAgIHJldHVybiB0aGlzLmNvZGUgPT09IER5bmFtaWNWYWx1ZVJlYXNvbi5VTktOT1dOO1xuICB9XG5cbiAgYWNjZXB0PFI+KHZpc2l0b3I6IER5bmFtaWNWYWx1ZVZpc2l0b3I8Uj4pOiBSIHtcbiAgICBzd2l0Y2ggKHRoaXMuY29kZSkge1xuICAgICAgY2FzZSBEeW5hbWljVmFsdWVSZWFzb24uRFlOQU1JQ19JTlBVVDpcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IudmlzaXREeW5hbWljSW5wdXQodGhpcyBhcyB1bmtub3duIGFzIER5bmFtaWNWYWx1ZTxEeW5hbWljVmFsdWU+KTtcbiAgICAgIGNhc2UgRHluYW1pY1ZhbHVlUmVhc29uLkRZTkFNSUNfU1RSSU5HOlxuICAgICAgICByZXR1cm4gdmlzaXRvci52aXNpdER5bmFtaWNTdHJpbmcodGhpcyk7XG4gICAgICBjYXNlIER5bmFtaWNWYWx1ZVJlYXNvbi5FWFRFUk5BTF9SRUZFUkVOQ0U6XG4gICAgICAgIHJldHVybiB2aXNpdG9yLnZpc2l0RXh0ZXJuYWxSZWZlcmVuY2UoXG4gICAgICAgICAgICB0aGlzIGFzIHVua25vd24gYXMgRHluYW1pY1ZhbHVlPFJlZmVyZW5jZTx0cy5EZWNsYXJhdGlvbj4+KTtcbiAgICAgIGNhc2UgRHluYW1pY1ZhbHVlUmVhc29uLlVOU1VQUE9SVEVEX1NZTlRBWDpcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IudmlzaXRVbnN1cHBvcnRlZFN5bnRheCh0aGlzKTtcbiAgICAgIGNhc2UgRHluYW1pY1ZhbHVlUmVhc29uLlVOS05PV05fSURFTlRJRklFUjpcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IudmlzaXRVbmtub3duSWRlbnRpZmllcih0aGlzKTtcbiAgICAgIGNhc2UgRHluYW1pY1ZhbHVlUmVhc29uLklOVkFMSURfRVhQUkVTU0lPTl9UWVBFOlxuICAgICAgICByZXR1cm4gdmlzaXRvci52aXNpdEludmFsaWRFeHByZXNzaW9uVHlwZSh0aGlzKTtcbiAgICAgIGNhc2UgRHluYW1pY1ZhbHVlUmVhc29uLkNPTVBMRVhfRlVOQ1RJT05fQ0FMTDpcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IudmlzaXRDb21wbGV4RnVuY3Rpb25DYWxsKFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIER5bmFtaWNWYWx1ZTxGdW5jdGlvbkRlZmluaXRpb24+KTtcbiAgICAgIGNhc2UgRHluYW1pY1ZhbHVlUmVhc29uLkRZTkFNSUNfVFlQRTpcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IudmlzaXREeW5hbWljVHlwZSh0aGlzKTtcbiAgICAgIGNhc2UgRHluYW1pY1ZhbHVlUmVhc29uLlVOS05PV046XG4gICAgICAgIHJldHVybiB2aXNpdG9yLnZpc2l0VW5rbm93bih0aGlzKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljVmFsdWVWaXNpdG9yPFI+IHtcbiAgdmlzaXREeW5hbWljSW5wdXQodmFsdWU6IER5bmFtaWNWYWx1ZTxEeW5hbWljVmFsdWU+KTogUjtcbiAgdmlzaXREeW5hbWljU3RyaW5nKHZhbHVlOiBEeW5hbWljVmFsdWUpOiBSO1xuICB2aXNpdEV4dGVybmFsUmVmZXJlbmNlKHZhbHVlOiBEeW5hbWljVmFsdWU8UmVmZXJlbmNlPHRzLkRlY2xhcmF0aW9uPj4pOiBSO1xuICB2aXNpdFVuc3VwcG9ydGVkU3ludGF4KHZhbHVlOiBEeW5hbWljVmFsdWUpOiBSO1xuICB2aXNpdFVua25vd25JZGVudGlmaWVyKHZhbHVlOiBEeW5hbWljVmFsdWUpOiBSO1xuICB2aXNpdEludmFsaWRFeHByZXNzaW9uVHlwZSh2YWx1ZTogRHluYW1pY1ZhbHVlKTogUjtcbiAgdmlzaXRDb21wbGV4RnVuY3Rpb25DYWxsKHZhbHVlOiBEeW5hbWljVmFsdWU8RnVuY3Rpb25EZWZpbml0aW9uPik6IFI7XG4gIHZpc2l0RHluYW1pY1R5cGUodmFsdWU6IER5bmFtaWNWYWx1ZSk6IFI7XG4gIHZpc2l0VW5rbm93bih2YWx1ZTogRHluYW1pY1ZhbHVlKTogUjtcbn1cbiJdfQ==
Note: See TracBrowser for help on using the repository browser.