import { newInvariantError, invariant } from "/_nuxt/node_modules/@apollo/client/utilities/globals/index.js?v=e4f18c29"; import { Observable } from "/_nuxt/node_modules/@apollo/client/utilities/index.js?v=e4f18c29"; import { validateOperation, createOperation, transformOperation, } from "/_nuxt/node_modules/@apollo/client/link/utils/index.js?v=e4f18c29"; function passthrough(op, forward) { return (forward ? forward(op) : Observable.of()); } function toLink(handler) { return typeof handler === "function" ? new ApolloLink(handler) : handler; } function isTerminating(link) { return link.request.length <= 1; } var ApolloLink = /** @class */ (function () { function ApolloLink(request) { if (request) this.request = request; } ApolloLink.empty = function () { return new ApolloLink(function () { return Observable.of(); }); }; ApolloLink.from = function (links) { if (links.length === 0) return ApolloLink.empty(); return links.map(toLink).reduce(function (x, y) { return x.concat(y); }); }; ApolloLink.split = function (test, left, right) { var leftLink = toLink(left); var rightLink = toLink(right || new ApolloLink(passthrough)); var ret; if (isTerminating(leftLink) && isTerminating(rightLink)) { ret = new ApolloLink(function (operation) { return test(operation) ? leftLink.request(operation) || Observable.of() : rightLink.request(operation) || Observable.of(); }); } else { ret = new ApolloLink(function (operation, forward) { return test(operation) ? leftLink.request(operation, forward) || Observable.of() : rightLink.request(operation, forward) || Observable.of(); }); } return Object.assign(ret, { left: leftLink, right: rightLink }); }; ApolloLink.execute = function (link, operation) { return (link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of()); }; ApolloLink.concat = function (first, second) { var firstLink = toLink(first); if (isTerminating(firstLink)) { globalThis.__DEV__ !== false && invariant.warn(38, firstLink); return firstLink; } var nextLink = toLink(second); var ret; if (isTerminating(nextLink)) { ret = new ApolloLink(function (operation) { return firstLink.request(operation, function (op) { return nextLink.request(op) || Observable.of(); }) || Observable.of(); }); } else { ret = new ApolloLink(function (operation, forward) { return (firstLink.request(operation, function (op) { return nextLink.request(op, forward) || Observable.of(); }) || Observable.of()); }); } return Object.assign(ret, { left: firstLink, right: nextLink }); }; ApolloLink.prototype.split = function (test, left, right) { return this.concat(ApolloLink.split(test, left, right || new ApolloLink(passthrough))); }; ApolloLink.prototype.concat = function (next) { return ApolloLink.concat(this, next); }; ApolloLink.prototype.request = function (operation, forward) { throw newInvariantError(39); }; ApolloLink.prototype.onError = function (error, observer) { if (observer && observer.error) { observer.error(error); // Returning false indicates that observer.error does not need to be // called again, since it was already called (on the previous line). // Calling observer.error again would not cause any real problems, // since only the first call matters, but custom onError functions // might have other reasons for wanting to prevent the default // behavior by returning false. return false; } // Throw errors will be passed to observer.error. throw error; }; ApolloLink.prototype.setOnError = function (fn) { this.onError = fn; return this; }; return ApolloLink; }()); export { ApolloLink }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBvbGxvTGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saW5rL2NvcmUvQXBvbGxvTGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBUXRELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGtCQUFrQixHQUNuQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLFNBQVMsV0FBVyxDQUFDLEVBQWEsRUFBRSxPQUFpQjtJQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBNEIsQ0FBQztBQUM5RSxDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsT0FBb0M7SUFDbEQsT0FBTyxPQUFPLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDM0UsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLElBQWdCO0lBQ3JDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRDtJQW9GRSxvQkFBWSxPQUF3QjtRQUNsQyxJQUFJLE9BQU87WUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBckZhLGdCQUFLLEdBQW5CO1FBQ0UsT0FBTyxJQUFJLFVBQVUsQ0FBQyxjQUFNLE9BQUEsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFmLENBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFYSxlQUFJLEdBQWxCLFVBQW1CLEtBQXNDO1FBQ3ZELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFYLENBQVcsQ0FBZSxDQUFDO0lBQ3ZFLENBQUM7SUFFYSxnQkFBSyxHQUFuQixVQUNFLElBQWdDLEVBQ2hDLElBQWlDLEVBQ2pDLEtBQW1DO1FBRW5DLElBQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFL0QsSUFBSSxHQUFlLENBQUM7UUFDcEIsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDeEQsR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQUMsU0FBUztnQkFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztvQkFDcEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxFQUFFO29CQUNoRCxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFDLFNBQVMsRUFBRSxPQUFPO2dCQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUNwQixRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxFQUFFO29CQUN6RCxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFYSxrQkFBTyxHQUFyQixVQUNFLElBQWdCLEVBQ2hCLFNBQXlCO1FBRXpCLE9BQU8sQ0FDTCxJQUFJLENBQUMsT0FBTyxDQUNWLGVBQWUsQ0FDYixTQUFTLENBQUMsT0FBTyxFQUNqQixrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUNqRCxDQUNGLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVhLGlCQUFNLEdBQXBCLFVBQ0UsS0FBa0MsRUFDbEMsTUFBbUM7UUFFbkMsSUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsU0FBUyxDQUFDLElBQUksQ0FDWiw0RUFBNEUsRUFDNUUsU0FBUyxDQUNWLENBQUM7WUFDRixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLElBQUksR0FBZSxDQUFDO1FBQ3BCLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxHQUFHLElBQUksVUFBVSxDQUNsQixVQUFDLFNBQVM7Z0JBQ1IsT0FBQSxTQUFTLENBQUMsT0FBTyxDQUNmLFNBQVMsRUFDVCxVQUFDLEVBQUUsSUFBSyxPQUFBLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUF2QyxDQUF1QyxDQUNoRCxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFIcEIsQ0FHb0IsQ0FDdkIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQUMsU0FBUyxFQUFFLE9BQU87Z0JBQ3RDLE9BQU8sQ0FDTCxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFDLEVBQUU7b0JBQzlCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMxRCxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQ3RCLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBTU0sMEJBQUssR0FBWixVQUNFLElBQWdDLEVBQ2hDLElBQWlDLEVBQ2pDLEtBQW1DO1FBRW5DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVNLDJCQUFNLEdBQWIsVUFBYyxJQUFpQztRQUM3QyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSw0QkFBTyxHQUFkLFVBQ0UsU0FBb0IsRUFDcEIsT0FBa0I7UUFFbEIsTUFBTSxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyw0QkFBTyxHQUFqQixVQUNFLEtBQVUsRUFDVixRQUFnQztRQUVoQyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDL0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixvRUFBb0U7WUFDcEUsb0VBQW9FO1lBQ3BFLGtFQUFrRTtZQUNsRSxrRUFBa0U7WUFDbEUsOERBQThEO1lBQzlELCtCQUErQjtZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxpREFBaUQ7UUFDakQsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRU0sK0JBQVUsR0FBakIsVUFBa0IsRUFBeUI7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBa0JILGlCQUFDO0FBQUQsQ0FBQyxBQXBKRCxJQW9KQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5ld0ludmFyaWFudEVycm9yLCBpbnZhcmlhbnQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2dsb2JhbHMvaW5kZXguanNcIjtcblxuaW1wb3J0IHR5cGUgeyBPYnNlcnZlciB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIE5leHRMaW5rLFxuICBPcGVyYXRpb24sXG4gIFJlcXVlc3RIYW5kbGVyLFxuICBGZXRjaFJlc3VsdCxcbiAgR3JhcGhRTFJlcXVlc3QsXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5pbXBvcnQge1xuICB2YWxpZGF0ZU9wZXJhdGlvbixcbiAgY3JlYXRlT3BlcmF0aW9uLFxuICB0cmFuc2Zvcm1PcGVyYXRpb24sXG59IGZyb20gXCIuLi91dGlscy9pbmRleC5qc1wiO1xuXG5mdW5jdGlvbiBwYXNzdGhyb3VnaChvcDogT3BlcmF0aW9uLCBmb3J3YXJkOiBOZXh0TGluaykge1xuICByZXR1cm4gKGZvcndhcmQgPyBmb3J3YXJkKG9wKSA6IE9ic2VydmFibGUub2YoKSkgYXMgT2JzZXJ2YWJsZTxGZXRjaFJlc3VsdD47XG59XG5cbmZ1bmN0aW9uIHRvTGluayhoYW5kbGVyOiBSZXF1ZXN0SGFuZGxlciB8IEFwb2xsb0xpbmspIHtcbiAgcmV0dXJuIHR5cGVvZiBoYW5kbGVyID09PSBcImZ1bmN0aW9uXCIgPyBuZXcgQXBvbGxvTGluayhoYW5kbGVyKSA6IGhhbmRsZXI7XG59XG5cbmZ1bmN0aW9uIGlzVGVybWluYXRpbmcobGluazogQXBvbGxvTGluayk6IGJvb2xlYW4ge1xuICByZXR1cm4gbGluay5yZXF1ZXN0Lmxlbmd0aCA8PSAxO1xufVxuXG5leHBvcnQgY2xhc3MgQXBvbGxvTGluayB7XG4gIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogQXBvbGxvTGluayB7XG4gICAgcmV0dXJuIG5ldyBBcG9sbG9MaW5rKCgpID0+IE9ic2VydmFibGUub2YoKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb20obGlua3M6IChBcG9sbG9MaW5rIHwgUmVxdWVzdEhhbmRsZXIpW10pOiBBcG9sbG9MaW5rIHtcbiAgICBpZiAobGlua3MubGVuZ3RoID09PSAwKSByZXR1cm4gQXBvbGxvTGluay5lbXB0eSgpO1xuICAgIHJldHVybiBsaW5rcy5tYXAodG9MaW5rKS5yZWR1Y2UoKHgsIHkpID0+IHguY29uY2F0KHkpKSBhcyBBcG9sbG9MaW5rO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzcGxpdChcbiAgICB0ZXN0OiAob3A6IE9wZXJhdGlvbikgPT4gYm9vbGVhbixcbiAgICBsZWZ0OiBBcG9sbG9MaW5rIHwgUmVxdWVzdEhhbmRsZXIsXG4gICAgcmlnaHQ/OiBBcG9sbG9MaW5rIHwgUmVxdWVzdEhhbmRsZXJcbiAgKTogQXBvbGxvTGluayB7XG4gICAgY29uc3QgbGVmdExpbmsgPSB0b0xpbmsobGVmdCk7XG4gICAgY29uc3QgcmlnaHRMaW5rID0gdG9MaW5rKHJpZ2h0IHx8IG5ldyBBcG9sbG9MaW5rKHBhc3N0aHJvdWdoKSk7XG5cbiAgICBsZXQgcmV0OiBBcG9sbG9MaW5rO1xuICAgIGlmIChpc1Rlcm1pbmF0aW5nKGxlZnRMaW5rKSAmJiBpc1Rlcm1pbmF0aW5nKHJpZ2h0TGluaykpIHtcbiAgICAgIHJldCA9IG5ldyBBcG9sbG9MaW5rKChvcGVyYXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHRlc3Qob3BlcmF0aW9uKSA/XG4gICAgICAgICAgICBsZWZ0TGluay5yZXF1ZXN0KG9wZXJhdGlvbikgfHwgT2JzZXJ2YWJsZS5vZigpXG4gICAgICAgICAgOiByaWdodExpbmsucmVxdWVzdChvcGVyYXRpb24pIHx8IE9ic2VydmFibGUub2YoKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXQgPSBuZXcgQXBvbGxvTGluaygob3BlcmF0aW9uLCBmb3J3YXJkKSA9PiB7XG4gICAgICAgIHJldHVybiB0ZXN0KG9wZXJhdGlvbikgP1xuICAgICAgICAgICAgbGVmdExpbmsucmVxdWVzdChvcGVyYXRpb24sIGZvcndhcmQpIHx8IE9ic2VydmFibGUub2YoKVxuICAgICAgICAgIDogcmlnaHRMaW5rLnJlcXVlc3Qob3BlcmF0aW9uLCBmb3J3YXJkKSB8fCBPYnNlcnZhYmxlLm9mKCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocmV0LCB7IGxlZnQ6IGxlZnRMaW5rLCByaWdodDogcmlnaHRMaW5rIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBleGVjdXRlKFxuICAgIGxpbms6IEFwb2xsb0xpbmssXG4gICAgb3BlcmF0aW9uOiBHcmFwaFFMUmVxdWVzdFxuICApOiBPYnNlcnZhYmxlPEZldGNoUmVzdWx0PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxpbmsucmVxdWVzdChcbiAgICAgICAgY3JlYXRlT3BlcmF0aW9uKFxuICAgICAgICAgIG9wZXJhdGlvbi5jb250ZXh0LFxuICAgICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbih2YWxpZGF0ZU9wZXJhdGlvbihvcGVyYXRpb24pKVxuICAgICAgICApXG4gICAgICApIHx8IE9ic2VydmFibGUub2YoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbmNhdChcbiAgICBmaXJzdDogQXBvbGxvTGluayB8IFJlcXVlc3RIYW5kbGVyLFxuICAgIHNlY29uZDogQXBvbGxvTGluayB8IFJlcXVlc3RIYW5kbGVyXG4gICkge1xuICAgIGNvbnN0IGZpcnN0TGluayA9IHRvTGluayhmaXJzdCk7XG4gICAgaWYgKGlzVGVybWluYXRpbmcoZmlyc3RMaW5rKSkge1xuICAgICAgaW52YXJpYW50Lndhcm4oXG4gICAgICAgIGBZb3UgYXJlIGNhbGxpbmcgY29uY2F0IG9uIGEgdGVybWluYXRpbmcgbGluaywgd2hpY2ggd2lsbCBoYXZlIG5vIGVmZmVjdCAlb2AsXG4gICAgICAgIGZpcnN0TGlua1xuICAgICAgKTtcbiAgICAgIHJldHVybiBmaXJzdExpbms7XG4gICAgfVxuICAgIGNvbnN0IG5leHRMaW5rID0gdG9MaW5rKHNlY29uZCk7XG5cbiAgICBsZXQgcmV0OiBBcG9sbG9MaW5rO1xuICAgIGlmIChpc1Rlcm1pbmF0aW5nKG5leHRMaW5rKSkge1xuICAgICAgcmV0ID0gbmV3IEFwb2xsb0xpbmsoXG4gICAgICAgIChvcGVyYXRpb24pID0+XG4gICAgICAgICAgZmlyc3RMaW5rLnJlcXVlc3QoXG4gICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAob3ApID0+IG5leHRMaW5rLnJlcXVlc3Qob3ApIHx8IE9ic2VydmFibGUub2YoKVxuICAgICAgICAgICkgfHwgT2JzZXJ2YWJsZS5vZigpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXQgPSBuZXcgQXBvbGxvTGluaygob3BlcmF0aW9uLCBmb3J3YXJkKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgZmlyc3RMaW5rLnJlcXVlc3Qob3BlcmF0aW9uLCAob3ApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0TGluay5yZXF1ZXN0KG9wLCBmb3J3YXJkKSB8fCBPYnNlcnZhYmxlLm9mKCk7XG4gICAgICAgICAgfSkgfHwgT2JzZXJ2YWJsZS5vZigpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocmV0LCB7IGxlZnQ6IGZpcnN0TGluaywgcmlnaHQ6IG5leHRMaW5rIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocmVxdWVzdD86IFJlcXVlc3RIYW5kbGVyKSB7XG4gICAgaWYgKHJlcXVlc3QpIHRoaXMucmVxdWVzdCA9IHJlcXVlc3Q7XG4gIH1cblxuICBwdWJsaWMgc3BsaXQoXG4gICAgdGVzdDogKG9wOiBPcGVyYXRpb24pID0+IGJvb2xlYW4sXG4gICAgbGVmdDogQXBvbGxvTGluayB8IFJlcXVlc3RIYW5kbGVyLFxuICAgIHJpZ2h0PzogQXBvbGxvTGluayB8IFJlcXVlc3RIYW5kbGVyXG4gICk6IEFwb2xsb0xpbmsge1xuICAgIHJldHVybiB0aGlzLmNvbmNhdChcbiAgICAgIEFwb2xsb0xpbmsuc3BsaXQodGVzdCwgbGVmdCwgcmlnaHQgfHwgbmV3IEFwb2xsb0xpbmsocGFzc3Rocm91Z2gpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29uY2F0KG5leHQ6IEFwb2xsb0xpbmsgfCBSZXF1ZXN0SGFuZGxlcik6IEFwb2xsb0xpbmsge1xuICAgIHJldHVybiBBcG9sbG9MaW5rLmNvbmNhdCh0aGlzLCBuZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0KFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGZvcndhcmQ/OiBOZXh0TGlua1xuICApOiBPYnNlcnZhYmxlPEZldGNoUmVzdWx0PiB8IG51bGwge1xuICAgIHRocm93IG5ld0ludmFyaWFudEVycm9yKFwicmVxdWVzdCBpcyBub3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25FcnJvcihcbiAgICBlcnJvcjogYW55LFxuICAgIG9ic2VydmVyPzogT2JzZXJ2ZXI8RmV0Y2hSZXN1bHQ+XG4gICk6IGZhbHNlIHwgdm9pZCB7XG4gICAgaWYgKG9ic2VydmVyICYmIG9ic2VydmVyLmVycm9yKSB7XG4gICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XG4gICAgICAvLyBSZXR1cm5pbmcgZmFsc2UgaW5kaWNhdGVzIHRoYXQgb2JzZXJ2ZXIuZXJyb3IgZG9lcyBub3QgbmVlZCB0byBiZVxuICAgICAgLy8gY2FsbGVkIGFnYWluLCBzaW5jZSBpdCB3YXMgYWxyZWFkeSBjYWxsZWQgKG9uIHRoZSBwcmV2aW91cyBsaW5lKS5cbiAgICAgIC8vIENhbGxpbmcgb2JzZXJ2ZXIuZXJyb3IgYWdhaW4gd291bGQgbm90IGNhdXNlIGFueSByZWFsIHByb2JsZW1zLFxuICAgICAgLy8gc2luY2Ugb25seSB0aGUgZmlyc3QgY2FsbCBtYXR0ZXJzLCBidXQgY3VzdG9tIG9uRXJyb3IgZnVuY3Rpb25zXG4gICAgICAvLyBtaWdodCBoYXZlIG90aGVyIHJlYXNvbnMgZm9yIHdhbnRpbmcgdG8gcHJldmVudCB0aGUgZGVmYXVsdFxuICAgICAgLy8gYmVoYXZpb3IgYnkgcmV0dXJuaW5nIGZhbHNlLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBUaHJvdyBlcnJvcnMgd2lsbCBiZSBwYXNzZWQgdG8gb2JzZXJ2ZXIuZXJyb3IuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cblxuICBwdWJsaWMgc2V0T25FcnJvcihmbjogQXBvbGxvTGlua1tcIm9uRXJyb3JcIl0pOiB0aGlzIHtcbiAgICB0aGlzLm9uRXJyb3IgPSBmbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogVXNlZCB0byBpdGVyYXRlIHRocm91Z2ggYWxsIGxpbmtzIHRoYXQgYXJlIGNvbmNhdGVuYXRpb25zIG9yIGBzcGxpdGAgbGlua3MuXG4gICAqL1xuICByZWFkb25seSBsZWZ0PzogQXBvbGxvTGluaztcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBVc2VkIHRvIGl0ZXJhdGUgdGhyb3VnaCBhbGwgbGlua3MgdGhhdCBhcmUgY29uY2F0ZW5hdGlvbnMgb3IgYHNwbGl0YCBsaW5rcy5cbiAgICovXG4gIHJlYWRvbmx5IHJpZ2h0PzogQXBvbGxvTGluaztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIENhbiBiZSBwcm92aWRlZCBieSBhIGxpbmsgdGhhdCBoYXMgYW4gaW50ZXJuYWwgY2FjaGUgdG8gcmVwb3J0IGl0J3MgbWVtb3J5IGRldGFpbHMuXG4gICAqL1xuICBnZXRNZW1vcnlJbnRlcm5hbHM/OiAoKSA9PiB1bmtub3duO1xufVxuIl0sInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswXX0=