iptdevs-design-system 3.2.179 → 3.2.180
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/esm2020/lib/core/models/commercial/commercial.model.mjs +1 -1
- package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +6 -1
- package/fesm2015/iptdevs-design-system.mjs +5 -0
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +5 -0
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/core/models/commercial/commercial.model.d.ts +30 -0
- package/lib/core/services/commercial-service/comercial.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVyY2lhbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL21vZGVscy9jb21tZXJjaWFsL2NvbW1lcmNpYWwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb2RCeXN0dWRlbnRzUnMgfSBmcm9tIFwiLi4vY29kL2NvZC1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgTWVzc2FnZSwgSUNvdXJzZVR5cGVScyB9IGZyb20gXCIuLi9wYXJhbWV0ZXJzL3BhcmFtZXRlcnMtcnMubW9kZWxcIjtcbmltcG9ydCB7IElJcHRVc2VyRnVsbERhdGFScSB9IGZyb20gXCIuLi91c2VyL3VzZXItcnEubW9kZWxcIjtcbmltcG9ydCB7SVBheW1lbnRCaWxsR3JhcGhSc30gZnJvbSBcIi4uL2J1ZGdldC9idWRnZXQubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RQcmljZXMge1xuICBjb2RlOiBudW1iZXIsXG4gIG5hbWU6IHN0cmluZyxcbiAgYWdyZWVtZW50OiBudW1iZXIsXG4gIGVucm9sbG1lbnQ6IG51bWJlcixcbiAgbm9ybWFsX3ByaWNlOiBudW1iZXIsXG4gIGZpbmFuY2VkX3ByaWNlOiBudW1iZXIsXG4gIGZlZV9udW1iZXI6IG51bWJlcixcbiAgcXVvdGFfcHJpY2U6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmVudEJ5Q29kZVJxIHtcbiAgcGFyZW50X2NvZGU6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRpY0luZm9CeUNvZGVScSB7XG4gIGFkaWNfaW5mbzogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RBZGl0aW9uYWxJbmZvcm1hdGlvblJxIHtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG4gIGdyYWRlOiAgICAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcHJvZ3JhbV9uYW1lOiAgICAgICBzdHJpbmcgfCBudWxsO1xuICBpbnN0aXR1dGlvbl9uYW1lOiAgIHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246ICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X29jY3VwYXRpb246ICBzdHJpbmcgfCBudWxsO1xuICBkaXNhYmlsaXR5OiAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWx0aF9yZWdpbWVuOiAgICAgc3RyaW5nIHwgbnVsbDtcbiAgbWFya2V0aW5nX3JlYXNvbnM6ICBudW1iZXI7XG4gIHN0dWR5X3JlYXNvbnM6ICAgICAgbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWRfb2ZfdGhlX2ZhbWlseTogbnVtYmVyO1xuICBhZnJvX2Rlc2NlbmRhbnQ6ICAgIG51bWJlcjtcbiAgZGlzcGxhY2VkOiAgICAgICAgICBudW1iZXI7XG4gIGluZGlnZW5vdXM6ICAgICAgICAgbnVtYmVyO1xuICByZWluc2VydGVkOiAgICAgICAgIG51bWJlcjtcbiAgcm9tX3BvcHVsYXRpb246ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUGFyZW50UnEge1xuICBjb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUHJpY2VzUnEge1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9tZXRob2Q6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VSc3tcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyLFxuICBuYW1lOiAgICAgICAgIHN0cmluZyxcbiAgbW9udGhseV9nb2FsOiBudW1iZXIsXG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyLFxuICBkYWlseV9nb2FsOiAgIG51bWJlcixcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VScXtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR29hbEludGVyZmFjZXtcbiAgY29kZTogICAgICAgICBudW1iZXIsXG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSAgRG9jdW1lbnRzUnF7XG4gIGZpbGU6IEZpbGU7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6IG51bWJlcjtcbiAgdG9rZW46c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXREb2N1bWVudFN0dWRlbnRScXtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY3VtZW50c1Jze1xuICBjb2RlOiBudW1iZXI7XG4gIGNvZGVfbWVkaWE6IElNZWRpYVJzO1xuICBjb2RlX3VzZXI6IG51bWJlcjtcbiAgc3RhdHVzOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6SVR5cGVEb2N1bWVudHNOYW1lUnM7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWVkaWFSc3tcbiAgY29kZTogbnVtYmVyO1xuICBsaW5rOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZV9mb3JtOiBudW1iZXI7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHlwZURvY3VtZW50c05hbWVSc3tcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydEV4Y2VsUnEge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY29kZV9hZHZpc2VyOiBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWFkdmlzZXJzUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZDogICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nO1xuICBsYXN0X25hbWU6ICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICBudWxsIHwgc3RyaW5nO1xuICBlbWFpbDogICAgICAgIHN0cmluZztcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgbnVtYmVyO1xuICBjaXR5OiAgICAgICAgIHN0cmluZztcbiAgYmlydGhkYXRlOiAgICBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgc3RyaW5nO1xuICBzZXJ2aWNlX2hvdXI6IG51bWJlcjtcbiAgZW1haWxfaXB0OiAgICBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ6ICAgRGF0ZTtcbiAgaWRfY2FyZF90eXBlOiBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICB1c2VyX3N0YXR1czogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUmVmZXJzQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgc3RyaW5nO1xuICBjb2RlX3JlZmVyczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5SZWZlcnJhbHNCeVVzZXJScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBNZXNzYWdlO1xuICBkYXRhOiAgICAgICAgIElSZWZlcnJhbHNCeVVzZXJSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWZlcnJhbHNCeVVzZXJScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgYW1vdW50X3BheWFibGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudF9jb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2lkX2NhcmQ6ICAgICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcm9sZTogICAgICAgICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9uYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2xhc3RfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcGhvbmVfbnVtYmVyOiAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9lbWFpbDogICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2Vucm9sbG1lbnRfc3RhdHVzOiBzdHJpbmc7XG4gIHN0dWRlbnRfY291cnNlX3R5cGU6ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9hZHZpc2VyOiAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHJlZmVycmVkX2lkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcm9sZTogICAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9uYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIHJlZmVycmVkX2xhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9lbWFpbDogICAgICAgICAgICBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEge1xuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgY29kZUFkdmlzZXI6bnVtYmVyLFxuICAgIHZhbHVlQXNzaW5nOm51bWJlclxuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvbnRhY3RzYWR2aXNlclJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogbnVtYmVyXG4gIGNvZGVfYWR2aXNlcjogICAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgIHN0cmluZztcbiAgZmluaXNoX2RhdGU6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkNvZFByaWNlc1JxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnQ6ICAgICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIHBheW1lbnRfbWV0aG9kOiAgbnVtYmVyO1xuICBjYW1wdXM/OiAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kUHJpY2VzQnlQcm9ncmFtUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgbnVtYmVyO1xuICB0eXBlX2NvdXJzZTogICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGVucm9sbG1lbnQ6ICAgICAgbnVtYmVyO1xuICBub3JtYWxfcHJpY2U6ICAgIG51bWJlcjtcbiAgZmluYW5jZWRfcHJpY2U6ICBudW1iZXI7XG4gIGZlZV9udW1iZXI6ICAgICAgbnVtYmVyO1xuICBxdW90YV9wcmljZTogICAgIG51bWJlcjtcbiAgcGFpZF9sZXZlbDogICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVfZ29hbDogICAgICAgICAgbnVtYmVyXG4gIGFzc2lnbl9hZHZpc29yczogICAgbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnQWR2aXNvckdvYWxzUnMge1xuICB1c2VyOiAgIG51bWJlcjtcbiAgZ29hbDogICBudW1iZXI7XG4gIHN0YXR1czogbnVtYmVyO1xuICBjb2RlOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWR2aXNvckdvYWxzUnMge1xuICBjb2RlOiAgIG51bWJlcjtcbiAgdXNlcjogICBudW1iZXI7XG4gIGdvYWw6ICAgSUdvYWxScztcbiAgc3RhdHVzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxScyB7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgIHN0cmluZztcbiAgbW9udGhseV9nb2FsOiBudW1iZXI7XG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyO1xuICBkYWlseV9nb2FsOiAgIG51bWJlcjtcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyYWxHb2FsQWR2aXNvclJzIHtcbiAgdG90YWxNb250aGx5R29hbDogbnVtYmVyO1xuICBhbGxHb2Fsc0Fkdmlzb3I6ICBJQWxsR29hbHNBZHZpc29yUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWxsR29hbHNBZHZpc29yUnMge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgdXNlcjogICAgICAgICBudW1iZXI7XG4gIGdvYWw6ICAgICAgICAgbnVtYmVyO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICBzdHJpbmc7XG4gIG1vbnRobHlfZ29hbDogbnVtYmVyO1xuICB3ZWVrbHlfZ29hbDogIG51bWJlcjtcbiAgZGFpbHlfZ29hbDogICBudW1iZXI7XG4gIGdvYWxfcGVyaW9kOiAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVwb3J0Q29kRm9yQWR2aXNlclJxIHtcbiAgdG9rZW46c3RyaW5nO1xuICBjb2RlX2FkdmlzZXI6IG51bWJlcjtcbiAgY29kZVR5cGVDb25zdWx0OiBudW1iZXIsXG4gIHN0YXJ0X2RhdGU6IERhdGU7XG4gIGZpbmlzaF9kYXRlOiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxIHtcbiAgdG9rZW46ICAgICAgICAgc3RyaW5nO1xuICBjb2RlX3JlZmVycmFsOiBudW1iZXI7XG4gIGNvZGVfY29udGVzdDogIG51bWJlcjtcbiAgY29kZV9hd2FyZDogICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcml6ZXNGb3JDb250ZXN0IHtcbiAgbmV3VGlja2V0OiAgICAgIElOZXdUaWNrZXRScztcbiAgdXBkYXRlUmVmZXJyYWw6IElVcGRhdGVSZWZlcnJhbFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOZXdUaWNrZXRScyB7XG4gIGNvZGVfcmVmZXJyYWxfbWFuYWdlbWVudDogbnVtYmVyO1xuICB0eXBlX2F3YXJkOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdHlwZV90aWNrZXQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICAgICBEYXRlO1xuICBjb2RlOiAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlUmVmZXJyYWxScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICB1c2VyX3JlZmVycmVkOiAgICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfc3RhdHVzOiAgICAgbnVtYmVyO1xuICBhbW91bnRfcGF5YWJsZTogICAgIG51bWJlcjtcbiAgdHlwZV9tb3ZlbWVudDogICAgICBudWxsO1xuICB0cmFuc2FjdGlvbl9udW1iZXI6IG51bGw7XG4gIGNvZGVfdGlrZXQ6ICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdmFpbGFibGVDb250ZXN0c1JzIHtcbiAgY29udGVzdDogSUNvbnRlc3RScztcbiAgcHJpemVzOiAgSVByaXplUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVzdFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvbXBldGl0aW9uX3N0YXJ0X2RhdGU6IERhdGU7XG4gIGNvbXBldGl0aW9uX2VuZF9kYXRlOiAgIERhdGU7XG4gIHRlcm1zX2FuZF9jb25kaXRpb25zOiAgIHN0cmluZztcbiAgdXBkYXRlZF9hdDogICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJpemVScyB7XG4gIGNvZGVfYXdhcmQ6ICAgICAgICBudW1iZXI7XG4gIGNvZGVfdHlwZV90aWNrZXQ6ICBudW1iZXI7XG4gIGF3YXJkX25hbWU6ICAgICAgICBzdHJpbmc7XG4gIGF3YXJkX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByaXplUnMge1xuICBjb2RlX2F3YXJkOiAgICAgICAgbnVtYmVyO1xuICBjb2RlX3R5cGVfdGlja2V0OiAgbnVtYmVyO1xuICBhd2FyZF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBhd2FyZF9kZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2REZXRhaWxzYnlBZHZpc2VyICB7XG4gIHRva2VuOnN0cmluZztcbiAgY29kZV9hZHZpc2VyOiBudW1iZXI7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0UG9zaWJsZVN0dWRlbnRCeURhdGVScSB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlVHlwZUNvbnN1bHQ6IG51bWJlclxuICBzdGFydF9kYXRlOiAgICAgIHN0cmluZztcbiAgZmluaXNoX2RhdGU6ICAgICBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIHN0YXJ0X2RhdGU6ICAgICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogICAgIHN0cmluZztcbiAgY29kZVR5cGVDb25zdWx0OiBudW1iZXI7XG4gIHNlbGVjdGVkdHlwZUFzc2luZzpudW1iZXI7XG4gIHZhbHVlQXNpbmc6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlVHlwZUNvbnN1bHQ6ICAgIG51bWJlcjtcbiAgZmluaXNoX2RhdGU6ICAgICAgICBzdHJpbmc7XG4gIHNlbGVjdGVkdHlwZUFzc2luZzogbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgIHN0cmluZztcbiAgdmFsdWVBc2luZzogICAgICAgICBudW1iZXI7XG4gIGNvZGVBZHZpc2VyOiAgICAgICAgbnVtYmVyO1xuICBhc3NpZ25tZW50czogICAgICAgIEFzc2lnbm1lbnRScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbm1lbnRScSB7XG4gIGNvZGU6ICBudW1iZXI7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZ2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3JScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHN0YXJ0X2RhdGU6IHN0cmluZztcbiAgZW5kX2RhdGU6IHN0cmluZztcbiAgaW5jbHVkZV9kZXRhaWxzOiBmYWxzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlVHlwZVBheW1lbnRScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgY2FtcHVzPzogbnVtYmVyO1xuICBhY2FkZW1pY19wbGFuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29tbWlzc2lvbl9hcmVhX2NvZGU6IG51bWJlcjtcbiAgY291cnNlX3R5cGVfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFyZWFfY291cnNlOiBudW1iZXI7XG4gIHR5cGVfcGF5bWVudDogbnVtYmVyO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbmNlcHRfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICB0eXBlX3VzZXJfY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG4gIGdvYWxfY29kZT86IG51bWJlcjtcbiAgYm9udXNfYW1vdW50PzogbnVtYmVyO1xuICBwZXJjZW50YWdlX3JhdGU/OiBudW1iZXI7XG4gIHBhcmFtczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRBY3RpdmVDb21taXNzaW9uR29hbEZvclVzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXlDb21taXNzaW9uc1JxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcl9jb2RlczogbnVtYmVyW107XG4gIHN0YXJ0X2RhdGU6IHN0cmluZztcbiAgZW5kX2RhdGU6IHN0cmluZztcbiAgbm90ZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yUnEge1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgc3RhcnRfZGF0ZT86IHN0cmluZztcbiAgICBlbmRfZGF0ZT86IHN0cmluZztcbiAgICBjYW1wdXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBzdGFydF9kYXRlPzogc3RyaW5nO1xuICBlbmRfZGF0ZT86IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb2tlblJxIHtcbiAgICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyO1xuICB0eXBlX3BheW1lbnRfY29kZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbkNvbmRpdGlvbiB7XG4gIGNvZGU6IG51bWJlcjtcbiAga2V5OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFncmVlbWVudCB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBZGRDb25kaXRpb25Ub1J1bGVScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvbmRpdGlvbl9pZDogbnVtYmVyO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVUeXBlUGF5bWVudFJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idFByZWFzc2lnbmVkQ291cnNlc0FuZFN0dWRlbnRFbnJvbGxScyB7XG4gICAgc3R1ZGVudDogICAgICAgICAgICAgICAgSUlwdFVzZXJGdWxsRGF0YVJxO1xuICAgIHByZUFzc2lnbmVkQ291cnNlczogICAgIG51bWJlcltdO1xuICAgIHJlZ2lzdHJhdGlvbkluUHJvZ3Jlc3M6IElSZWdpc3RyYXRpb25JblByb2dyZXNzUnNbXTtcbiAgICBoYXNFbnJvbGxtZW50czogICAgICAgICBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWdpc3RyYXRpb25JblByb2dyZXNzUnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZV90eXBlOiAgICAgICAgICAgbnVtYmVyO1xuICAgIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICAgIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgbnVtYmVyO1xuICAgIHN0dWRlbnQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHBhcmVudDogICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICAgIGFkdmlzZXI6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9zdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9wYWlkOiAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFjY2VwdF90ZXJtc19jb2RlOiAgICAgbnVtYmVyIHwgbnVsbDtcbiAgICBjcmVhdGVkX2F0OiAgICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVuZXdhbFJlc3VsdFJzIHtcbiAgc3R1ZGVudF9jb2RlOiBudW1iZXI7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIGRhdGE6IGFueTsgLy8gUHVlZGVzIHRpcGFyIGVzdG8gbcOhcyBlc3BlY8OtZmljYW1lbnRlIHNpIGNvbm9jZXMgbGEgZXN0cnVjdHVyYSBkZSBkYXRhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlbmV3YWxFcnJvclJzIHtcbiAgc3R1ZGVudF9jb2RlOiBudW1iZXI7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgd2FybmluZz86IGFueTsgLy8gUHVlZGUgc2VyIHVuIG9iamV0byBvIHN0cmluZyAoc2UgcGFyc2VhIHNpIGVzIG5lY2VzYXJpbylcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXh0ZW5kZWRDb2RCeXN0dWRlbnRzUnMgZXh0ZW5kcyBJQ29kQnlzdHVkZW50c1JzIHtcbiAgaXNfcmVuZXdlZD86IGJvb2xlYW47XG4gIHJlbmV3YWxfZXJyb3I/OiBzdHJpbmcgfCBudWxsO1xuICBuZXdfY29kX2RhdGE/OiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbFJlbmV3YWxSZXN1bHRScyB7XG4gIHN0dWRlbnRfY29kZTogc3RyaW5nO1xuICBzdHVkZW50X25hbWU6IHN0cmluZztcbiAgc3R1ZGVudF9pZF9jYXJkOiBzdHJpbmc7XG4gIGRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxSZW5ld2FsRXJyb3JScyB7XG4gIHN0dWRlbnRfY29kZTogc3RyaW5nO1xuICBzdHVkZW50X25hbWU6IHN0cmluZztcbiAgc3R1ZGVudF9pZF9jYXJkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgd2FybmluZz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWduU3Vib3JkaW5hdGVScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG4gIHN1Ym9yZGluYXRlX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVtb3ZlU3Vib3JkaW5hdGVScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG4gIHN1Ym9yZGluYXRlX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbiAgc3Vib3JkaW5hdGVfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVUeXBlVXNlckNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgY29uY2VwdF9jb2RlczogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICBjb21taXNzaW9uc190b19wYXk6IElDb21taXNzaW9uc1RvUGF5UnFbXTtcbiAgb2JzZXJ2YXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbnNUb1BheVJxIHtcbiAgY29kX2NvZGU6IG51bWJlcjtcbiAgY29tbWlzc2lvbl9hbW91bnQ6IG51bWJlcjtcbiAgbW90aXZvX2RldGFsbGU6IHN0cmluZztcbiAgcnVsZV9jb2RlX2FwcGxpZWQ6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheUFkdmlzb3JCb251c2VzUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB1c2VyX2NvZGU6IG51bWJlcjtcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBlbmRfZGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRTdWJvcmRpbmF0ZXNScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmFnZVN1Ym9yZGluYXRlUnEgZXh0ZW5kcyBJVG9rZW5ScSB7XG4gIG1hbmFnZXJfY29kZTogbnVtYmVyO1xuICBzdWJvcmRpbmF0ZV9jb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURlbGV0ZVR5cGVVc2VyQ29tbWlzc2lvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uc3VsdENvbW1pc3Npb25zQnlBZHZpc2VyUnMge1xuICBjb2RzOiAgICAgICAgIElDb21taXNzaW9uTGlzdFJzW107XG4gIHRyYW5zYWN0aW9uczogSVRyYW5zYWN0aW9uUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbkxpc3RScyB7XG4gIGFkdmlzZXJfY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50X25hbWU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZF9zdGF0dXNfY29kZTogICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1c19uYW1lOiAgICAgICAgICAgc3RyaW5nO1xuICBjb2RfZGF0ZTogICAgICAgICAgICAgICAgICBEYXRlO1xuICBjb3Vyc2VfdHlwZV9uYW1lOiAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlX2xhYmVsOiAgICAgICAgIHN0cmluZztcbiAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgYWdyZWVtZW50X2NvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnRfbmFtZTogICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICBjb21taXNzaW9uX2FyZWFfbmFtZTogICAgICBzdHJpbmcgfCBudWxsO1xuICBwbGFuX2RlX3BhZ286ICAgICAgICAgICAgICBzdHJpbmc7XG4gIHBheW1lbnRfdHlwZV9uYW1lOiAgICAgICAgIHN0cmluZztcbiAgcnVsZV9jb2RlX2FwcGxpZWQ6ICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgcnVsZV9iYXNlX2Ftb3VudDogICAgICAgICAgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbDtcbiAgcnVsZV9jb25kaXRpb25zOiAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgY29tbWlzc2lvbl9zdGF0dXM6ICAgICAgICAgbnVtYmVyO1xuICBtb3Rpdm9fZGV0YWxsZTogICAgICAgICAgICBzdHJpbmc7XG4gIGNvbW1pc3Npb25fYW1vdW50OiAgICAgICAgIG51bWJlciB8IHN0cmluZztcbiAgY29kX3ByaWNlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50c19vazogICAgICAgICAgICAgICBib29sZWFuO1xuICBleGlzdGluZ19jb21taXNzaW9uOiAgICAgICBib29sZWFuO1xuICBzdHVkZW50X2lkX2NhcmQ/OiAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICBjb21taXNzaW9uX2NvZGU6ICAgICAgICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX2NvZGU6ICAgICAgICAgIG51bWJlcjtcbiAgdHlwZTogICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICBwYXltZW50X3ZhbGlkYXRpb246ICAgICAgICBQYXltZW50VmFsaWRhdGlvbjtcbiAgdmFsaWRhdGlvbjogICAgICAgICAgICAgICAgVmFsaWRhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCb251c0xpc3RScyB7XG4gIGNvbW1pc3Npb25fc3RhdHVzOiBudW1iZXI7XG4gIHR5cGU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gIG1vdGl2b19kZXRhbGxlOiAgICBzdHJpbmc7XG4gIGNvbW1pc3Npb25fYW1vdW50OiBudW1iZXI7XG4gIGNvbmZpZ3VyZWRfYW1vdW50OiBudW1iZXI7XG4gIGFjaGlldmVkX3F1YW50aXR5OiBudW1iZXI7XG4gIHRhcmdldF9xdWFudGl0eTogICBudW1iZXI7XG4gIGFkdmlzZXJfY29kZTogICAgICBudW1iZXI7XG4gIGJvbnVzX3J1bGU6ICAgICAgICBudW1iZXIgfCBudWxsO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUV4aXN0aW5nQ29tbWlzc2lvbkRhdGFScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9jb2RlOiAgICAgICAgIG51bWJlcjtcbiAgdXNlcl9jb21taXNzaW9uOiAgICAgICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX3N0YXR1czogICAgICAgbnVtYmVyO1xuICBhbW91bnQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfY29tbWlzc2lvbnM6ICAgICAgbnVtYmVyO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICAgICAgIERhdGU7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgICAgICAgRGF0ZTtcbiAgcGF5bWVudF9hcmVhX2NvbW1pc3Npb24/OiBQYXltZW50QXJlYUNvbW1pc3Npb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudEFyZWFDb21taXNzaW9uIHtcbiAgY29kZT86ICAgICAgICAgbnVtYmVyO1xuICB0eXBlX3BheW1lbnQ/OiBUeXBlUGF5bWVudDtcbiAgYXJlYV9jb3Vyc2U/OiAgbnVtYmVyO1xuICBhbW91bnQ/OiAgICAgICBzdHJpbmc7XG4gIHN0YXR1cz86ICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdD86ICAgRGF0ZTtcbiAgdXBkYXRlZF9hdD86ICAgRGF0ZTtcbiAgZGVsZXRlZF9hdD86ICAgRGF0ZSB8IG51bGw7XG4gIGNvbmRpdGlvbnM/OiBJQ29uZGl0aW9uUnNbXTtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVQYXltZW50IHtcbiAgY29kZT86ICAgICAgICBudW1iZXI7XG4gIG5hbWU/OiAgICAgICAgc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHlwZT86ICAgICAgICBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ/OiAgRGF0ZTtcbiAgdXBkYXRlZF9hdD86ICBEYXRlO1xuICBkZWxldGVkX2F0PzogIERhdGUgfCBudWxsO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudFZhbGlkYXRpb24ge1xuICBlbnJvbGxtZW50X29rOiAgICAgIGJvb2xlYW47XG4gIGZlZTFfb2s6ICAgICAgICAgICAgYm9vbGVhbjtcbiAgaW5zdGFsbG1lbnRzX3BhaWQ6ICBudW1iZXI7XG4gIHBheW1lbnRzX29rOiAgICAgICAgYm9vbGVhbjtcbiAgZW5yb2xsbWVudF9wYWlkOiAgICBudW1iZXI7XG4gIGVucm9sbG1lbnRfcGVuZGluZzogbnVtYmVyO1xuICBmZWUxX3BhaWQ6ICAgICAgICAgIG51bWJlcjtcbiAgZmVlMV9wZW5kaW5nOiAgICAgICBudW1iZXI7XG4gIHRvdGFsX3BhaWQ6ICAgICAgICAgbnVtYmVyO1xuICB0b3RhbF9wZW5kaW5nOiAgICAgIG51bWJlcjtcbiAgbnVtYmVyX3BhaWQ6ICAgICAgICBudW1iZXI7XG4gIG51bWJlcl9wZW5kaW5nOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xuICBrZXk6ICAgICAgIHN0cmluZztcbiAgb3BlcmF0b3I6ICBzdHJpbmc7XG4gIHZhbHVlOiAgICAgc3RyaW5nO1xuICBjb2RfdmFsdWU6IG51bWJlciB8IHN0cmluZztcbiAgY2hlY2s6ICAgICBib29sZWFuO1xuICBtZXNzYWdlOiAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25ScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9iaWxsX2NvZGU6ICAgbnVtYmVyIHwgbnVsbDtcbiAgZ2VuZXJhdGVkX2J5OiAgICAgICAgSVVzZXJUcmFuc2FjdGlvblJzIHwgbnVtYmVyICB8IG51bGw7XG4gIGFwcHJvdmVkX2J5OiAgICAgICAgIElVc2VyVHJhbnNhY3Rpb25ScyB8IG51bWJlciB8IG51bGw7XG4gIHVzZXJfY29tbWlzc2lvbjogICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fc3RhdHVzOiAgbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogICAgICAgICBzdHJpbmc7XG4gIHN0YXJ0X3RyYW5zYWN0aW9uOiAgIERhdGU7XG4gIGVuZF90cmFuc2FjdGlvbjogICAgIERhdGUgfCBudWxsO1xuICBkZWxldGVkX2F0OiAgICAgICAgICBEYXRlIHwgbnVsbDtcbiAgdXBkYXRlZF9hdDogICAgICAgICAgRGF0ZSB8IG51bGw7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICBtYW5hZ2VkX2NvbW1pc3Npb25zPzogSUV4aXN0aW5nQ29tbWlzc2lvbkRhdGFSc1tdIHwgSUNvbW1pc3Npb25MaXN0UnNbXTtcbiAgbWFuYWdlZF9ib251cz86ICAgICAgIElNYW5hZ2VkQm9udXNSc1tdO1xuICBwYXltZW50X2JpbGw/OiAgICAgICAgbnVtYmVyIHwgSVBheW1lbnRCaWxsR3JhcGhScyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmFnZWRCb251c1JzIHtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG4gIHVzZXJfYm9udXM6ICAgICAgICAgbnVtYmVyO1xuICBhbW91bnQ6ICAgICAgICAgICAgIG51bWJlcjtcbiAgYm9udXNfcnVsZTogICAgICAgICBudW1iZXI7XG4gIGNvZF9yZWFjaGVkOiAgICAgICAgbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9zdGF0dXM6IG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fY29kZTogICBudW1iZXI7XG4gIHBlcmlvZF9tb250aDogICAgICAgbnVtYmVyO1xuICBwZXJpb2RfeWVhcjogICAgICAgIG51bWJlcjtcbiAgZGVsZXRlZF9hdDogICAgICAgICBEYXRlIHwgbnVsbDtcbiAgY3JlYXRlZF9hdDogICAgICAgICBEYXRlO1xuICB1cGRhdGVkX2F0OiAgICAgICAgIERhdGU7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJVXNlclRyYW5zYWN0aW9uUnMge1xuICBjb2RlOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElBcHByb3ZlVHJhbnNhY3Rpb25Db21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0cmFuc2FjdGlvbl9jb2RlOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gIHdhbGxldDogIG51bWJlcjtcbiAgYmFuayA6IG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6IG51bWJlcjtcbiAgcGF5bWVudF9tZXRob2Q6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJcmVqZWN0VHJhbnNhY3Rpb25Db21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0cmFuc2FjdGlvbl9jb2RlOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVkaXRDb25kaXRpb25SdWxlUnEge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY29kZTogICAgICAgICBudW1iZXI7XG4gIG9wZXJhdG9yOiAgICAgc3RyaW5nO1xuICB2YWx1ZTogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXBwcm92ZVRyYW5zYWN0aW9uUnMge1xuICB0cmFuc2FjdGlvbjogICAgICAgIElUcmFuc2FjdGlvblJzO1xuICBiaWxsOiAgICAgICAgICAgICAgIElCaWxsQ3JlYXRlZFJzO1xuICBiaWxsX29ic2VydmF0aW9uPzogIElCaWxsT2JzZXJ2YXRpb25MaXN0UnM7XG4gIGNvbW1pc3Npb25zOiAgICAgICAgSUNvbW1pc3Npb25MaXN0UnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmlsbENyZWF0ZWRScyB7XG4gIHBheW1lbnRfbWV0aG9kOiAgICAgbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiAgIG51bWJlcjtcbiAgcGF5bWVudF93YWxsZXQ6ICAgICBudW1iZXI7XG4gIGJhbms6ICAgICAgICAgICAgICAgc3RyaW5nO1xuICBwYXltZW50X3JlZmVyZW5jZTogIHN0cmluZztcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgIG51bWJlcjtcbiAgY29tbW9uX2V4cGVuc2VzOiAgICBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICAgbnVtYmVyO1xuICBwYXltZW50X2Ftb3VudDogICAgIG51bWJlcjtcbiAgb3V0c3RhbmRpbmdfYW1vdW50OiBudW1iZXI7XG4gIHBvc2l0aXZlX2Ftb3VudDogICAgbnVtYmVyO1xuICBkaXNjb3VudDogICAgICAgICAgIG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogICAgICAgICBudWxsO1xuICBwYXllcl9kb2N1bWVudDogICAgIG51bGw7XG4gIHBheW1lbnRfZGF0ZTogICAgICAgRGF0ZTtcbiAgb2JzZXJ2YXRpb246ICAgICAgICBzdHJpbmc7XG4gIHRyYW5zZmVyX2NvZGU6ICAgICAgbnVsbDtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJpbGxPYnNlcnZhdGlvbkxpc3RScyB7XG4gIGRldGFpbHM6ICAgICAgICAgICBJRGV0YWlsQmlsbFJzW107XG4gIHRvdGFsX2NvbW1pc3Npb25zOiBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICBudW1iZXI7XG4gIHBlcmlvZDogICAgICAgICAgICBJUGVyaW9kQmlsbFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZXRhaWxCaWxsUnMge1xuICBhcmVhOiAgICAgc3RyaW5nO1xuICBxdWFudGl0eTogbnVtYmVyO1xuICBhbW91bnQ6ICAgbnVtYmVyO1xuICBzdGF0dXNlczogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZXJpb2RCaWxsUnMge1xuICBmcm9tOiBzdHJpbmc7XG4gIHRvOiAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2hvd1RyYW5zYWN0aW9uQmlsbFJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29kZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWFkZERldm9sdXRpb25Db21taXNzaW9uUnEge1xuICB0b2tlbjogICAgICAgICAgICAgIHN0cmluZztcbiAgY29tbWlzc2lvbl9jb2RlOiAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX2NvZGU6ICAgbnVtYmVyO1xuICBjb21taXNzaW9uc190b19kZXZvbHZlIDogSWNvbW1pc3Npb25zX3RvX2Rldm9sdmVScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb21taXNzaW9uc190b19kZXZvbHZlUnEge1xuICBjb21taXNzaW9uX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb2J0YWluVHJhbnNhY3Rpb25zQnlTdGF0dXNScSB7XG4gIHRva2VuOiAgICAgICBzdHJpbmc7XG4gIHN0YXR1czogICAgICBudW1iZXI7XG4gIHVzZXJfY29kZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWFkdmlzZXJSZXN1bWVScyB7XG4gIHN0YXR1czogICAgICAgc3RyaW5nO1xuICBtZXNzYWdlOiAgICAgIHN0cmluZztcbiAgcmFuZ29fZmVjaGFzOiBJUmFuZ29GZWNoYXNScztcbiAgcmVzdW1lbjogICAgICBJUmVzdW1lbkFkdmlzb3JScztcbiAgYXNlc29yZXM6ICAgICBJQXZpc29yRGV0YWlsdFJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJhbmdvRmVjaGFzUnMge1xuICBmZWNoYV9pbmljaW86IERhdGU7XG4gIGZlY2hhX2ZpbjogICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXZpc29yRGV0YWlsdFJzIHtcbiAgZ2VuZXJhbDogICAgICAgICBJQWR2aXNvckdlbmVyYWxScztcbiAgbWV0cmljYXM6ICAgICAgICBJTWV0cmljc1JzO1xuICBjb21pc2lvbmVzOiAgICAgIElCb25vc0NvbW1pc3Npb25ScztcbiAgYm9ub3M6ICAgICAgICAgICBJQm9ub3NDb21taXNzaW9uUnM7XG4gIHRyYW5zYWNjaW9uZXM6ICAgSVRyYW5zYWNjaW9uZXNMaXN0UnM7XG4gIGFkdmVydGVuY2lhczogICAgYW55W107XG4gIGFjdGl2ZV9jb25jZXB0czogc3RyaW5nW107XG4gIGV2YWx1YXRpb25zOiAgICAgSUNvbW1pc3Npb25MaXN0UnNbXSB8IElCb251c0xpc3RSc1tdIDtcbiAgZWZlY3RpdmlkYWQ6ICAgICBJRWZlY3RpdmlkYWRScztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElBZHZpc29yR2VuZXJhbFJzIHtcbiAgY29kaWdvX2FzZXNvcjogICAgICAgIG51bWJlcjtcbiAgbm9tYnJlX2FzZXNvcjogICAgICAgIHN0cmluZztcbiAgcm9sX2FzZXNvcjogICAgICAgICAgIElSb2xBc2Vzb3JScztcbiAgdGlwb19jb250cmF0b19ub21icmU6IHN0cmluZztcbiAgdGlwb19jb250cmF0bzogICAgICAgIElUaXBvQ29udHJhdG9ScztcbiAgbWF0cmljdWxhZG9zOiAgICAgICAgIG51bWJlcjtcbiAgYWN0aXZvczogICAgICAgICAgICAgIG51bWJlcjtcbiAgcmV0aXJhZG9zOiAgICAgICAgICAgIG51bWJlcjtcbiAgcGF1c2Fkb3M6ICAgICAgICAgICAgIG51bWJlcjtcbiAgY3VsbWluYWRvczogICAgICAgICAgIG51bWJlcjtcbiAgc3VzcGVuZGlkb3M6ICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUm9sQXNlc29yUnMge1xuICBjb2RlOiBudW1iZXI7XG4gIHJvbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGlwb0NvbnRyYXRvUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgc3RhdHVzOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICBEYXRlO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICBEYXRlO1xuICBjb21taXNzaW9uX2NvbmNlcHRzOiBJQ29tbWlzc2lvbkNvbmNlcHRSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uQ29uY2VwdFJzIHtcbiAgY29kZTogICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgIHN0cmluZztcbiAga2V5OiAgICAgICAgIHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcGl2b3Q6ICAgICAgIElQaXZvdFR5cGVVc2VyQ29tbWlzc2lvbkNvbmNlcHRScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RUeXBlVXNlckNvbW1pc3Npb25Db25jZXB0UnMge1xuICB0eXBlX3VzZXJfY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG4gIGNvbW1pc3Npb25fY29uY2VwdF9jb2RlOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzdW1lbkFkdmlzb3JScyB7XG4gIGdlbmVyYWw6ICAgICAgIElSZXN1bWVuR2VuZXJhbFJzO1xuICBtZXRyaWNhczogICAgICBJTWV0cmljc1JzO1xuICBjb21pc2lvbmVzOiAgICBJQm9ub3NDb21taXNzaW9uUnM7XG4gIGJvbm9zOiAgICAgICAgIElCb25vc0NvbW1pc3Npb25ScztcbiAgdHJhbnNhY2Npb25lczogSVRyYW5zYWNjaW9uZXNMaXN0UnM7XG4gIGVmZWN0aXZpZGFkOiAgIElFZmVjdGl2aWRhZFJzO1xuICBhZHZlcnRlbmNpYXM6ICBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzdW1lbkdlbmVyYWxScyB7XG4gIHRvdGFsX2FzZXNvcmVzOiBudW1iZXI7XG4gIG1hdHJpY3VsYWRvczogICBudW1iZXI7XG4gIGFjdGl2b3M6ICAgICAgICBudW1iZXI7XG4gIHJldGlyYWRvczogICAgICBudW1iZXI7XG4gIHBhdXNhZG9zOiAgICAgICBudW1iZXI7XG4gIGN1bG1pbmFkb3M6ICAgICBudW1iZXI7XG4gIHN1c3BlbmRpZG9zOiAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1ldHJpY3NScyB7XG4gIG1hdHJpY3VsYV9wYWdhZGFfY291bnQ6ICAgICAgICAgIG51bWJlcjtcbiAgbWF0cmljdWxhX3BhZ2FkYV9wZXJjZW50YWdlOiAgICAgbnVtYmVyO1xuICBwcmltZXJhX2N1b3RhX3BhZ2FkYV9jb3VudDogICAgICBudW1iZXI7XG4gIHByaW1lcmFfY3VvdGFfcGFnYWRhX3BlcmNlbnRhZ2U6IG51bWJlcjtcbiAgZWZlY3RpdmlkYWRfY291bnQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBlZmVjdGl2aWRhZF9wZXJjZW50YWdlOiAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWNjaW9uZXNMaXN0UnMge1xuICB0b3RhbF90cmFuc2FjY2lvbmVzOiBudW1iZXI7XG4gIHRvZGFzOiAgICAgICAgICAgICAgIElUcmFuc2FjdGlvblJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJvbm9zQ29tbWlzc2lvblJzIHtcbiAgcGVuZGllbnRlc19jb3VudDogbnVtYmVyO1xuICBtb250b19wZW5kaWVudGU6ICBudW1iZXI7XG4gIHBhZ2Fkb3NfY291bnQ6ICAgIG51bWJlcjtcbiAgbW9udG9fcGFnYWRvOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFZmVjdGl2aWRhZFJzIHtcbiAgcG9yY2VudGFqZTogbnVtYmVyO1xuICBjYXRlZ29yaWE6ICBzdHJpbmc7XG4gIGNvbG9yOiAgICAgIHN0cmluZztcbiAgbWVuc2FqZTogICAgc3RyaW5nO1xufVxuXG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRDb21taXNzaW9uc0J5VHJhbnNhY3Rpb25Db2RlUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0cmFuc2FjdGlvbl9jb2RlOiBudW1iZXI7XG4gIGVuZF9kYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYW5jZWxsVHJhbnNhY3Rpb25CaWxsUnEge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY29kZTogICAgICAgICBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElhZGRCb251c1J1bGVScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU/OiBudW1iZXI7XG4gIGNvZF9nb2FsPzogbnVtYmVyO1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIGRheXM/OiBudW1iZXI7XG4gIG1vbnRoPzogbnVtYmVyO1xuICB5ZWFyPzogbnVtYmVyO1xuICBlbnJvbGxtZW50PzogbnVtYmVyO1xuICBmZWVfb25lPzogbnVtYmVyO1xuICBjYXNoX3BheW1lbnQ/OiBudW1iZXI7XG4gIHN0YXR1cz86IG51bWJlcjtcbiAgdHlwZV91c2VyPzogbnVtYmVyO1xuICBjYW1wdXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXJlbW92ZUNvbW1pc3Npb25Gcm9tVHJhbnNhY3Rpb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uX2NvZGU/OiBudW1iZXI7XG4gIGNvbW1pc3Npb25fY29kZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG9rZW5DYW1wdXNScSBleHRlbmRzIElUb2tlblJxIHtcbiAgY2FtcHVzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbW1pc3Npb25Jbml0aWFsQ29uZmlnUnMge1xuICAgIGFyZWFzOiAgICAgICAgICAgICBJQXJlYVJzW107XG4gICAgY291cnNlczogICAgICAgICAgIElDb3Vyc2VUeXBlQ29tbWlzc2lvblJzW107XG4gICAgYWdyZWVtZW50czogICAgICAgIElBZ3JlZW1lbnRMaXN0UnNbXTtcbiAgICBwYXltZW50c0ZvckRpYWxvZzogVHlwZVBheW1lbnRbXTtcbiAgICBjYXRlZ29yaWVzOiAgICAgICAgSUNhdGVnb3J5UnNbXTtcbiAgICBjb250cmFjdFR5cGVzOiAgICAgSUNvbnRyYWN0VHlwZVJzW107XG4gICAgcGxhbnM6ICAgICAgICAgICAgIElBY2FkZW1pY1BsYW5MaXN0UnNbXTtcbiAgICBjYW1wdXM6ICAgICAgICAgICAgSUdldENhbXB1c0RldGFpbExpc3RSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBY2FkZW1pY1BsYW5MaXN0UnMge1xuICAgIGNvZGU6ICAgICAgIG51bWJlcjtcbiAgICBuYW1lOiAgICAgICBzdHJpbmc7XG4gICAgYWZ0ZXJfYWdlOiAgbnVtYmVyO1xuICAgIGJlZm9yZV9hZ2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWdyZWVtZW50TGlzdFJzIHtcbiAgICBjb2RlOiAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICBzdHJpbmc7XG4gICAgZW5kX3RpbWU6IERhdGU7XG4gICAgY2F0ZWdvcnk6IG51bWJlcjtcbiAgICBzdGF0dXM6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRDYW1wdXNEZXRhaWxMaXN0UnMge1xuICAgIGNvZGU/OiAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU/OiAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNpdHk/OiAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGVudGVycHJpc2U/OiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGJpbGxpbmdfcHJlZml4PzogICAgICAgICAgICAgbnVtYmVyO1xuICAgIHN0YXRlPzogICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGN1cnJlbmN5PzogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFkZHJlc3M/OiAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGVtYWlsPzogICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHBob25lX3ByZWZpeD86ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHBob25lPzogICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG1hcD86ICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGltYWdlX3VybD86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHVwZGF0ZWRfYXQ/OiAgICAgICAgICAgICAgICAgRGF0ZTtcbiAgICBjcmVhdGVkX2F0PzogICAgICAgICAgICAgICAgIERhdGU7XG4gICAgY2l0eV9uYW1lPzogICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZV9jb21wYW55X25hbWU/OiAgICBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZV9jb21tZXJjaWFsX25hbWU/OiBzdHJpbmc7XG4gICAgc3RhdGVfbmFtZT86ICAgICAgICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFyZWFScyB7XG4gICAgY29kZT86ICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU/OiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjYW1wdXM/OiAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgYWNhZGVtaWNfcGxhbj86ICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNyZWF0ZWRfYXQ/OiAgICAgICAgICAgICAgIERhdGU7XG4gICAgdXBkYXRlZF9hdD86ICAgICAgICAgICAgICAgRGF0ZTtcbiAgICBkZWxldGVkX2F0PzogICAgICAgICAgICAgICBEYXRlO1xuICAgIGNvdXJzZV90eXBlcz86ICAgICAgICAgICAgIElDb3Vyc2VUeXBlQ29tbWlzc2lvblJzW107XG4gICAgcGF5bWVudF9hcmVhX2NvbW1pc3Npb25zPzogUGF5bWVudEFyZWFDb21taXNzaW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVR5cGVDb21taXNzaW9uUnMgZXh0ZW5kcyAgSUNvdXJzZVR5cGVScyAge1xuICAgIGNhbXB1cz86ICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNhdGVnb3J5PzogICAgICAgICAgbnVtYmVyO1xuICAgIHBpdm90PzogICAgICAgICAgICBDb3Vyc2VQaXZvdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3Vyc2VQaXZvdCB7XG4gICAgY29tbWlzc2lvbl9hcmVhX2NvdXJzZV9pZDogbnVtYmVyO1xuICAgIGNvdXJzZV90eXBlX2lkOiAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZGl0aW9uUnMge1xuICAgIGNvZGU/OiAgICAgICAgIG51bWJlcjtcbiAgICBydWxlX2lkPzogICAgICBudW1iZXI7XG4gICAgY29uZGl0aW9uX2lkPzogbnVtYmVyO1xuICAgIG9wZXJhdG9yPzogICAgIHN0cmluZztcbiAgICB2YWx1ZT86ICAgICAgICBzdHJpbmc7XG4gICAgY3JlYXRlZF9hdD86ICAgRGF0ZTtcbiAgICB1cGRhdGVkX2F0PzogICBEYXRlO1xuICAgIGRlbGV0ZWRfYXQ/OiAgIERhdGU7XG4gICAgY29uZGl0aW9uPzogICAgSUNvbW1pc3Npb25Db25kaXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhdGVnb3J5UnMge1xuICAgIGNvZGU6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRyYWN0VHlwZVJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgbmFtZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHN0YXR1czogICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjcmVhdGVkX2F0OiAgICAgICAgICBEYXRlO1xuICAgIHVwZGF0ZWRfYXQ6ICAgICAgICAgIERhdGU7XG4gICAgY29tbWlzc2lvbl9jb25jZXB0czogSUNvbW1pc3Npb25Db25jZXB0UnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbkNvbmNlcHRScyB7XG4gICAgY29kZTogICAgICAgIG51bWJlcjtcbiAgICBuYW1lOiAgICAgICAgc3RyaW5nO1xuICAgIGtleTogICAgICAgICBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBwaXZvdDogICAgICAgSUNvbW1pc3Npb25Db25jZXB0UGl2b3RScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbkNvbmNlcHRQaXZvdFJzIHtcbiAgICB0eXBlX3VzZXJfY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG4gICAgY29tbWlzc2lvbl9jb25jZXB0X2NvZGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFZGl0Q29tbWlzc2lvbkFyZWFScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZT86IHN0cmluZztcbiAgY2FtcHVzPzogbnVtYmVyO1xuICBhY2FkZW1pY19wbGFuPzogbnVtYmVyO1xuICBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb2J0YWluV2FsbGV0V2l0aFByaWNlIHtcbiAgICBjYW1wdXM6IG51bWJlcjtcbiAgICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElnZXRCb251c1J1bGVDb21tZXJjaWFsQnlDYW1wdXNScSB7XG4gICAgY2FtcHVzOiBudW1iZXI7XG4gICAgdG9rZW46IHN0cmluZztcbn0iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVyY2lhbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL21vZGVscy9jb21tZXJjaWFsL2NvbW1lcmNpYWwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb2RCeXN0dWRlbnRzUnMgfSBmcm9tIFwiLi4vY29kL2NvZC1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgTWVzc2FnZSwgSUNvdXJzZVR5cGVScyB9IGZyb20gXCIuLi9wYXJhbWV0ZXJzL3BhcmFtZXRlcnMtcnMubW9kZWxcIjtcbmltcG9ydCB7IElJcHRVc2VyRnVsbERhdGFScSB9IGZyb20gXCIuLi91c2VyL3VzZXItcnEubW9kZWxcIjtcbmltcG9ydCB7SVBheW1lbnRCaWxsR3JhcGhSc30gZnJvbSBcIi4uL2J1ZGdldC9idWRnZXQubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RQcmljZXMge1xuICBjb2RlOiBudW1iZXIsXG4gIG5hbWU6IHN0cmluZyxcbiAgYWdyZWVtZW50OiBudW1iZXIsXG4gIGVucm9sbG1lbnQ6IG51bWJlcixcbiAgbm9ybWFsX3ByaWNlOiBudW1iZXIsXG4gIGZpbmFuY2VkX3ByaWNlOiBudW1iZXIsXG4gIGZlZV9udW1iZXI6IG51bWJlcixcbiAgcXVvdGFfcHJpY2U6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmVudEJ5Q29kZVJxIHtcbiAgcGFyZW50X2NvZGU6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRpY0luZm9CeUNvZGVScSB7XG4gIGFkaWNfaW5mbzogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RBZGl0aW9uYWxJbmZvcm1hdGlvblJxIHtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG4gIGdyYWRlOiAgICAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcHJvZ3JhbV9uYW1lOiAgICAgICBzdHJpbmcgfCBudWxsO1xuICBpbnN0aXR1dGlvbl9uYW1lOiAgIHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246ICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X29jY3VwYXRpb246ICBzdHJpbmcgfCBudWxsO1xuICBkaXNhYmlsaXR5OiAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWx0aF9yZWdpbWVuOiAgICAgc3RyaW5nIHwgbnVsbDtcbiAgbWFya2V0aW5nX3JlYXNvbnM6ICBudW1iZXI7XG4gIHN0dWR5X3JlYXNvbnM6ICAgICAgbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWRfb2ZfdGhlX2ZhbWlseTogbnVtYmVyO1xuICBhZnJvX2Rlc2NlbmRhbnQ6ICAgIG51bWJlcjtcbiAgZGlzcGxhY2VkOiAgICAgICAgICBudW1iZXI7XG4gIGluZGlnZW5vdXM6ICAgICAgICAgbnVtYmVyO1xuICByZWluc2VydGVkOiAgICAgICAgIG51bWJlcjtcbiAgcm9tX3BvcHVsYXRpb246ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUGFyZW50UnEge1xuICBjb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUHJpY2VzUnEge1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9tZXRob2Q6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VSc3tcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyLFxuICBuYW1lOiAgICAgICAgIHN0cmluZyxcbiAgbW9udGhseV9nb2FsOiBudW1iZXIsXG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyLFxuICBkYWlseV9nb2FsOiAgIG51bWJlcixcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VScXtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR29hbEludGVyZmFjZXtcbiAgY29kZTogICAgICAgICBudW1iZXIsXG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSAgRG9jdW1lbnRzUnF7XG4gIGZpbGU6IEZpbGU7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6IG51bWJlcjtcbiAgdG9rZW46c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXREb2N1bWVudFN0dWRlbnRScXtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY3VtZW50c1Jze1xuICBjb2RlOiBudW1iZXI7XG4gIGNvZGVfbWVkaWE6IElNZWRpYVJzO1xuICBjb2RlX3VzZXI6IG51bWJlcjtcbiAgc3RhdHVzOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6SVR5cGVEb2N1bWVudHNOYW1lUnM7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWVkaWFSc3tcbiAgY29kZTogbnVtYmVyO1xuICBsaW5rOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZV9mb3JtOiBudW1iZXI7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHlwZURvY3VtZW50c05hbWVSc3tcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydEV4Y2VsUnEge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY29kZV9hZHZpc2VyOiBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWFkdmlzZXJzUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZDogICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nO1xuICBsYXN0X25hbWU6ICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICBudWxsIHwgc3RyaW5nO1xuICBlbWFpbDogICAgICAgIHN0cmluZztcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgbnVtYmVyO1xuICBjaXR5OiAgICAgICAgIHN0cmluZztcbiAgYmlydGhkYXRlOiAgICBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgc3RyaW5nO1xuICBzZXJ2aWNlX2hvdXI6IG51bWJlcjtcbiAgZW1haWxfaXB0OiAgICBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ6ICAgRGF0ZTtcbiAgaWRfY2FyZF90eXBlOiBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICB1c2VyX3N0YXR1czogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUmVmZXJzQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgc3RyaW5nO1xuICBjb2RlX3JlZmVyczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5SZWZlcnJhbHNCeVVzZXJScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBNZXNzYWdlO1xuICBkYXRhOiAgICAgICAgIElSZWZlcnJhbHNCeVVzZXJSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWZlcnJhbHNCeVVzZXJScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgYW1vdW50X3BheWFibGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudF9jb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2lkX2NhcmQ6ICAgICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcm9sZTogICAgICAgICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9uYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2xhc3RfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcGhvbmVfbnVtYmVyOiAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9lbWFpbDogICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2Vucm9sbG1lbnRfc3RhdHVzOiBzdHJpbmc7XG4gIHN0dWRlbnRfY291cnNlX3R5cGU6ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9hZHZpc2VyOiAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHJlZmVycmVkX2lkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcm9sZTogICAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9uYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIHJlZmVycmVkX2xhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9lbWFpbDogICAgICAgICAgICBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEge1xuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgY29kZUFkdmlzZXI6bnVtYmVyLFxuICAgIHZhbHVlQXNzaW5nOm51bWJlclxuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvbnRhY3RzYWR2aXNlclJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogbnVtYmVyXG4gIGNvZGVfYWR2aXNlcjogICAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgIHN0cmluZztcbiAgZmluaXNoX2RhdGU6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkNvZFByaWNlc1JxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnQ6ICAgICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIHBheW1lbnRfbWV0aG9kOiAgbnVtYmVyO1xuICBjYW1wdXM/OiAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kUHJpY2VzQnlQcm9ncmFtUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgbnVtYmVyO1xuICB0eXBlX2NvdXJzZTogICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGVucm9sbG1lbnQ6ICAgICAgbnVtYmVyO1xuICBub3JtYWxfcHJpY2U6ICAgIG51bWJlcjtcbiAgZmluYW5jZWRfcHJpY2U6ICBudW1iZXI7XG4gIGZlZV9udW1iZXI6ICAgICAgbnVtYmVyO1xuICBxdW90YV9wcmljZTogICAgIG51bWJlcjtcbiAgcGFpZF9sZXZlbDogICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVfZ29hbDogICAgICAgICAgbnVtYmVyXG4gIGFzc2lnbl9hZHZpc29yczogICAgbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnQWR2aXNvckdvYWxzUnMge1xuICB1c2VyOiAgIG51bWJlcjtcbiAgZ29hbDogICBudW1iZXI7XG4gIHN0YXR1czogbnVtYmVyO1xuICBjb2RlOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWR2aXNvckdvYWxzUnMge1xuICBjb2RlOiAgIG51bWJlcjtcbiAgdXNlcjogICBudW1iZXI7XG4gIGdvYWw6ICAgSUdvYWxScztcbiAgc3RhdHVzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxScyB7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgIHN0cmluZztcbiAgbW9udGhseV9nb2FsOiBudW1iZXI7XG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyO1xuICBkYWlseV9nb2FsOiAgIG51bWJlcjtcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyYWxHb2FsQWR2aXNvclJzIHtcbiAgdG90YWxNb250aGx5R29hbDogbnVtYmVyO1xuICBhbGxHb2Fsc0Fkdmlzb3I6ICBJQWxsR29hbHNBZHZpc29yUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWxsR29hbHNBZHZpc29yUnMge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgdXNlcjogICAgICAgICBudW1iZXI7XG4gIGdvYWw6ICAgICAgICAgbnVtYmVyO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICBzdHJpbmc7XG4gIG1vbnRobHlfZ29hbDogbnVtYmVyO1xuICB3ZWVrbHlfZ29hbDogIG51bWJlcjtcbiAgZGFpbHlfZ29hbDogICBudW1iZXI7XG4gIGdvYWxfcGVyaW9kOiAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVwb3J0Q29kRm9yQWR2aXNlclJxIHtcbiAgdG9rZW46c3RyaW5nO1xuICBjb2RlX2FkdmlzZXI6IG51bWJlcjtcbiAgY29kZVR5cGVDb25zdWx0OiBudW1iZXIsXG4gIHN0YXJ0X2RhdGU6IERhdGU7XG4gIGZpbmlzaF9kYXRlOiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxIHtcbiAgdG9rZW46ICAgICAgICAgc3RyaW5nO1xuICBjb2RlX3JlZmVycmFsOiBudW1iZXI7XG4gIGNvZGVfY29udGVzdDogIG51bWJlcjtcbiAgY29kZV9hd2FyZDogICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcml6ZXNGb3JDb250ZXN0IHtcbiAgbmV3VGlja2V0OiAgICAgIElOZXdUaWNrZXRScztcbiAgdXBkYXRlUmVmZXJyYWw6IElVcGRhdGVSZWZlcnJhbFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOZXdUaWNrZXRScyB7XG4gIGNvZGVfcmVmZXJyYWxfbWFuYWdlbWVudDogbnVtYmVyO1xuICB0eXBlX2F3YXJkOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdHlwZV90aWNrZXQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICAgICBEYXRlO1xuICBjb2RlOiAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlUmVmZXJyYWxScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICB1c2VyX3JlZmVycmVkOiAgICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfc3RhdHVzOiAgICAgbnVtYmVyO1xuICBhbW91bnRfcGF5YWJsZTogICAgIG51bWJlcjtcbiAgdHlwZV9tb3ZlbWVudDogICAgICBudWxsO1xuICB0cmFuc2FjdGlvbl9udW1iZXI6IG51bGw7XG4gIGNvZGVfdGlrZXQ6ICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdmFpbGFibGVDb250ZXN0c1JzIHtcbiAgY29udGVzdDogSUNvbnRlc3RScztcbiAgcHJpemVzOiAgSVByaXplUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVzdFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvbXBldGl0aW9uX3N0YXJ0X2RhdGU6IERhdGU7XG4gIGNvbXBldGl0aW9uX2VuZF9kYXRlOiAgIERhdGU7XG4gIHRlcm1zX2FuZF9jb25kaXRpb25zOiAgIHN0cmluZztcbiAgdXBkYXRlZF9hdDogICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJpemVScyB7XG4gIGNvZGVfYXdhcmQ6ICAgICAgICBudW1iZXI7XG4gIGNvZGVfdHlwZV90aWNrZXQ6ICBudW1iZXI7XG4gIGF3YXJkX25hbWU6ICAgICAgICBzdHJpbmc7XG4gIGF3YXJkX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByaXplUnMge1xuICBjb2RlX2F3YXJkOiAgICAgICAgbnVtYmVyO1xuICBjb2RlX3R5cGVfdGlja2V0OiAgbnVtYmVyO1xuICBhd2FyZF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBhd2FyZF9kZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2REZXRhaWxzYnlBZHZpc2VyICB7XG4gIHRva2VuOnN0cmluZztcbiAgY29kZV9hZHZpc2VyOiBudW1iZXI7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0UG9zaWJsZVN0dWRlbnRCeURhdGVScSB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlVHlwZUNvbnN1bHQ6IG51bWJlclxuICBzdGFydF9kYXRlOiAgICAgIHN0cmluZztcbiAgZmluaXNoX2RhdGU6ICAgICBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIHN0YXJ0X2RhdGU6ICAgICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogICAgIHN0cmluZztcbiAgY29kZVR5cGVDb25zdWx0OiBudW1iZXI7XG4gIHNlbGVjdGVkdHlwZUFzc2luZzpudW1iZXI7XG4gIHZhbHVlQXNpbmc6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlVHlwZUNvbnN1bHQ6ICAgIG51bWJlcjtcbiAgZmluaXNoX2RhdGU6ICAgICAgICBzdHJpbmc7XG4gIHNlbGVjdGVkdHlwZUFzc2luZzogbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgIHN0cmluZztcbiAgdmFsdWVBc2luZzogICAgICAgICBudW1iZXI7XG4gIGNvZGVBZHZpc2VyOiAgICAgICAgbnVtYmVyO1xuICBhc3NpZ25tZW50czogICAgICAgIEFzc2lnbm1lbnRScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbm1lbnRScSB7XG4gIGNvZGU6ICBudW1iZXI7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZ2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3JScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHN0YXJ0X2RhdGU6IHN0cmluZztcbiAgZW5kX2RhdGU6IHN0cmluZztcbiAgaW5jbHVkZV9kZXRhaWxzOiBmYWxzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlVHlwZVBheW1lbnRScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgY2FtcHVzPzogbnVtYmVyO1xuICBhY2FkZW1pY19wbGFuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29tbWlzc2lvbl9hcmVhX2NvZGU6IG51bWJlcjtcbiAgY291cnNlX3R5cGVfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFyZWFfY291cnNlOiBudW1iZXI7XG4gIHR5cGVfcGF5bWVudDogbnVtYmVyO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbmNlcHRfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICB0eXBlX3VzZXJfY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG4gIGdvYWxfY29kZT86IG51bWJlcjtcbiAgYm9udXNfYW1vdW50PzogbnVtYmVyO1xuICBwZXJjZW50YWdlX3JhdGU/OiBudW1iZXI7XG4gIHBhcmFtczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRBY3RpdmVDb21taXNzaW9uR29hbEZvclVzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXlDb21taXNzaW9uc1JxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcl9jb2RlczogbnVtYmVyW107XG4gIHN0YXJ0X2RhdGU6IHN0cmluZztcbiAgZW5kX2RhdGU6IHN0cmluZztcbiAgbm90ZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yUnEge1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgc3RhcnRfZGF0ZT86IHN0cmluZztcbiAgICBlbmRfZGF0ZT86IHN0cmluZztcbiAgICBjYW1wdXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBzdGFydF9kYXRlPzogc3RyaW5nO1xuICBlbmRfZGF0ZT86IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb2tlblJxIHtcbiAgICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyO1xuICB0eXBlX3BheW1lbnRfY29kZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbkNvbmRpdGlvbiB7XG4gIGNvZGU6IG51bWJlcjtcbiAga2V5OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFncmVlbWVudCB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBZGRDb25kaXRpb25Ub1J1bGVScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvbmRpdGlvbl9pZDogbnVtYmVyO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVUeXBlUGF5bWVudFJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idFByZWFzc2lnbmVkQ291cnNlc0FuZFN0dWRlbnRFbnJvbGxScyB7XG4gICAgc3R1ZGVudDogICAgICAgICAgICAgICAgSUlwdFVzZXJGdWxsRGF0YVJxO1xuICAgIHByZUFzc2lnbmVkQ291cnNlczogICAgIG51bWJlcltdO1xuICAgIHJlZ2lzdHJhdGlvbkluUHJvZ3Jlc3M6IElSZWdpc3RyYXRpb25JblByb2dyZXNzUnNbXTtcbiAgICBoYXNFbnJvbGxtZW50czogICAgICAgICBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWdpc3RyYXRpb25JblByb2dyZXNzUnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZV90eXBlOiAgICAgICAgICAgbnVtYmVyO1xuICAgIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICAgIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgbnVtYmVyO1xuICAgIHN0dWRlbnQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHBhcmVudDogICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICAgIGFkdmlzZXI6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9zdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9wYWlkOiAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFjY2VwdF90ZXJtc19jb2RlOiAgICAgbnVtYmVyIHwgbnVsbDtcbiAgICBjcmVhdGVkX2F0OiAgICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVuZXdhbFJlc3VsdFJzIHtcbiAgc3R1ZGVudF9jb2RlOiBudW1iZXI7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIGRhdGE6IGFueTsgLy8gUHVlZGVzIHRpcGFyIGVzdG8gbcOhcyBlc3BlY8OtZmljYW1lbnRlIHNpIGNvbm9jZXMgbGEgZXN0cnVjdHVyYSBkZSBkYXRhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlbmV3YWxFcnJvclJzIHtcbiAgc3R1ZGVudF9jb2RlOiBudW1iZXI7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgd2FybmluZz86IGFueTsgLy8gUHVlZGUgc2VyIHVuIG9iamV0byBvIHN0cmluZyAoc2UgcGFyc2VhIHNpIGVzIG5lY2VzYXJpbylcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXh0ZW5kZWRDb2RCeXN0dWRlbnRzUnMgZXh0ZW5kcyBJQ29kQnlzdHVkZW50c1JzIHtcbiAgaXNfcmVuZXdlZD86IGJvb2xlYW47XG4gIHJlbmV3YWxfZXJyb3I/OiBzdHJpbmcgfCBudWxsO1xuICBuZXdfY29kX2RhdGE/OiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbFJlbmV3YWxSZXN1bHRScyB7XG4gIHN0dWRlbnRfY29kZTogc3RyaW5nO1xuICBzdHVkZW50X25hbWU6IHN0cmluZztcbiAgc3R1ZGVudF9pZF9jYXJkOiBzdHJpbmc7XG4gIGRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxSZW5ld2FsRXJyb3JScyB7XG4gIHN0dWRlbnRfY29kZTogc3RyaW5nO1xuICBzdHVkZW50X25hbWU6IHN0cmluZztcbiAgc3R1ZGVudF9pZF9jYXJkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgd2FybmluZz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWduU3Vib3JkaW5hdGVScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG4gIHN1Ym9yZGluYXRlX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVtb3ZlU3Vib3JkaW5hdGVScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG4gIHN1Ym9yZGluYXRlX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbiAgc3Vib3JkaW5hdGVfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVUeXBlVXNlckNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgY29uY2VwdF9jb2RlczogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICBjb21taXNzaW9uc190b19wYXk6IElDb21taXNzaW9uc1RvUGF5UnFbXTtcbiAgb2JzZXJ2YXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbnNUb1BheVJxIHtcbiAgY29kX2NvZGU6IG51bWJlcjtcbiAgY29tbWlzc2lvbl9hbW91bnQ6IG51bWJlcjtcbiAgbW90aXZvX2RldGFsbGU6IHN0cmluZztcbiAgcnVsZV9jb2RlX2FwcGxpZWQ6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheUFkdmlzb3JCb251c2VzUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB1c2VyX2NvZGU6IG51bWJlcjtcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBlbmRfZGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRTdWJvcmRpbmF0ZXNScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmFnZVN1Ym9yZGluYXRlUnEgZXh0ZW5kcyBJVG9rZW5ScSB7XG4gIG1hbmFnZXJfY29kZTogbnVtYmVyO1xuICBzdWJvcmRpbmF0ZV9jb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURlbGV0ZVR5cGVVc2VyQ29tbWlzc2lvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uc3VsdENvbW1pc3Npb25zQnlBZHZpc2VyUnMge1xuICBjb2RzOiAgICAgICAgIElDb21taXNzaW9uTGlzdFJzW107XG4gIHRyYW5zYWN0aW9uczogSVRyYW5zYWN0aW9uUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbkxpc3RScyB7XG4gIGFkdmlzZXJfY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50X25hbWU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZF9zdGF0dXNfY29kZTogICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1c19uYW1lOiAgICAgICAgICAgc3RyaW5nO1xuICBjb2RfZGF0ZTogICAgICAgICAgICAgICAgICBEYXRlO1xuICBjb3Vyc2VfdHlwZV9uYW1lOiAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlX2xhYmVsOiAgICAgICAgIHN0cmluZztcbiAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgYWdyZWVtZW50X2NvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnRfbmFtZTogICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICBjb21taXNzaW9uX2FyZWFfbmFtZTogICAgICBzdHJpbmcgfCBudWxsO1xuICBwbGFuX2RlX3BhZ286ICAgICAgICAgICAgICBzdHJpbmc7XG4gIHBheW1lbnRfdHlwZV9uYW1lOiAgICAgICAgIHN0cmluZztcbiAgcnVsZV9jb2RlX2FwcGxpZWQ6ICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgcnVsZV9iYXNlX2Ftb3VudDogICAgICAgICAgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbDtcbiAgcnVsZV9jb25kaXRpb25zOiAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgY29tbWlzc2lvbl9zdGF0dXM6ICAgICAgICAgbnVtYmVyO1xuICBtb3Rpdm9fZGV0YWxsZTogICAgICAgICAgICBzdHJpbmc7XG4gIGNvbW1pc3Npb25fYW1vdW50OiAgICAgICAgIG51bWJlciB8IHN0cmluZztcbiAgY29kX3ByaWNlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50c19vazogICAgICAgICAgICAgICBib29sZWFuO1xuICBleGlzdGluZ19jb21taXNzaW9uOiAgICAgICBib29sZWFuO1xuICBzdHVkZW50X2lkX2NhcmQ/OiAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICBjb21taXNzaW9uX2NvZGU6ICAgICAgICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX2NvZGU6ICAgICAgICAgIG51bWJlcjtcbiAgdHlwZTogICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICBwYXltZW50X3ZhbGlkYXRpb246ICAgICAgICBQYXltZW50VmFsaWRhdGlvbjtcbiAgdmFsaWRhdGlvbjogICAgICAgICAgICAgICAgVmFsaWRhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCb251c0xpc3RScyB7XG4gIGNvbW1pc3Npb25fc3RhdHVzOiBudW1iZXI7XG4gIHR5cGU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIG1vdGl2b19kZXRhbGxlOiAgICAgICBzdHJpbmc7XG4gIGNvbW1pc3Npb25fYW1vdW50OiAgICBudW1iZXI7XG4gIGNvbmZpZ3VyZWRfYW1vdW50OiAgICBudW1iZXI7XG4gIGFjaGlldmVkX3F1YW50aXR5OiAgICBudW1iZXI7XG4gIHRhcmdldF9xdWFudGl0eTogICAgICBudW1iZXI7XG4gIGFkdmlzZXJfY29kZTogICAgICAgICBudW1iZXI7XG4gIGJvbnVzX3J1bGU6ICAgICAgICAgICBudW1iZXIgfCBudWxsO1xuICBhcHByb3ZlZF9jb2RzPzogICAgICAgSUNvbW1pc3Npb25MaXN0UnNbXTtcbiAgbm90X2FwcHJvdmVkX2NvZHM/OiAgIElDb21taXNzaW9uTGlzdFJzW107XG4gIGRldGFpbF9ib251cz86ICAgICAgICBJRGV0YWlsQm9udXNSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZXRhaWxCb251c1JzIHtcbiAgYWdyZWVtZW50OiAgICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBtYXRjaF9jb3VudDogICAgICAgICAgIG51bWJlcjtcbiAgYm9udXNfdmFsdWU6ICAgICAgICAgICBudW1iZXI7XG4gIHJlc3VsdDogICAgICAgICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFeGlzdGluZ0NvbW1pc3Npb25EYXRhUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fY29kZTogICAgICAgICBudW1iZXI7XG4gIHVzZXJfY29tbWlzc2lvbjogICAgICAgICAgbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9zdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgYW1vdW50OiAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X2NvbW1pc3Npb25zOiAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICAgICBEYXRlO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICAgICAgIERhdGU7XG4gIHBheW1lbnRfYXJlYV9jb21taXNzaW9uPzogUGF5bWVudEFyZWFDb21taXNzaW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRBcmVhQ29tbWlzc2lvbiB7XG4gIGNvZGU/OiAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9wYXltZW50PzogVHlwZVBheW1lbnQ7XG4gIGFyZWFfY291cnNlPzogIG51bWJlcjtcbiAgYW1vdW50PzogICAgICAgc3RyaW5nO1xuICBzdGF0dXM/OiAgICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ/OiAgIERhdGU7XG4gIHVwZGF0ZWRfYXQ/OiAgIERhdGU7XG4gIGRlbGV0ZWRfYXQ/OiAgIERhdGUgfCBudWxsO1xuICBjb25kaXRpb25zPzogSUNvbmRpdGlvblJzW107XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlUGF5bWVudCB7XG4gIGNvZGU/OiAgICAgICAgbnVtYmVyO1xuICBuYW1lPzogICAgICAgIHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHR5cGU/OiAgICAgICAgc3RyaW5nO1xuICBjcmVhdGVkX2F0PzogIERhdGU7XG4gIHVwZGF0ZWRfYXQ/OiAgRGF0ZTtcbiAgZGVsZXRlZF9hdD86ICBEYXRlIHwgbnVsbDtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRWYWxpZGF0aW9uIHtcbiAgZW5yb2xsbWVudF9vazogICAgICBib29sZWFuO1xuICBmZWUxX29rOiAgICAgICAgICAgIGJvb2xlYW47XG4gIGluc3RhbGxtZW50c19wYWlkOiAgbnVtYmVyO1xuICBwYXltZW50c19vazogICAgICAgIGJvb2xlYW47XG4gIGVucm9sbG1lbnRfcGFpZDogICAgbnVtYmVyO1xuICBlbnJvbGxtZW50X3BlbmRpbmc6IG51bWJlcjtcbiAgZmVlMV9wYWlkOiAgICAgICAgICBudW1iZXI7XG4gIGZlZTFfcGVuZGluZzogICAgICAgbnVtYmVyO1xuICB0b3RhbF9wYWlkOiAgICAgICAgIG51bWJlcjtcbiAgdG90YWxfcGVuZGluZzogICAgICBudW1iZXI7XG4gIG51bWJlcl9wYWlkOiAgICAgICAgbnVtYmVyO1xuICBudW1iZXJfcGVuZGluZzogICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uIHtcbiAga2V5OiAgICAgICBzdHJpbmc7XG4gIG9wZXJhdG9yOiAgc3RyaW5nO1xuICB2YWx1ZTogICAgIHN0cmluZztcbiAgY29kX3ZhbHVlOiBudW1iZXIgfCBzdHJpbmc7XG4gIGNoZWNrOiAgICAgYm9vbGVhbjtcbiAgbWVzc2FnZTogICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYmlsbF9jb2RlOiAgIG51bWJlciB8IG51bGw7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgIElVc2VyVHJhbnNhY3Rpb25ScyB8IG51bWJlciAgfCBudWxsO1xuICBhcHByb3ZlZF9ieTogICAgICAgICBJVXNlclRyYW5zYWN0aW9uUnMgfCBudW1iZXIgfCBudWxsO1xuICB1c2VyX2NvbW1pc3Npb246ICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX3N0YXR1czogIG51bWJlcjtcbiAgb2JzZXJ2YXRpb246ICAgICAgICAgc3RyaW5nO1xuICBzdGFydF90cmFuc2FjdGlvbjogICBEYXRlO1xuICBlbmRfdHJhbnNhY3Rpb246ICAgICBEYXRlIHwgbnVsbDtcbiAgZGVsZXRlZF9hdDogICAgICAgICAgRGF0ZSB8IG51bGw7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICBEYXRlIHwgbnVsbDtcbiAgbWFuYWdlZF9jb21taXNzaW9ucz86IElFeGlzdGluZ0NvbW1pc3Npb25EYXRhUnNbXSB8IElDb21taXNzaW9uTGlzdFJzW107XG4gIG1hbmFnZWRfYm9udXM/OiAgICAgICBJTWFuYWdlZEJvbnVzUnNbXTtcbiAgcGF5bWVudF9iaWxsPzogICAgICAgIG51bWJlciB8IElQYXltZW50QmlsbEdyYXBoUnMgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblByZXZpZXdScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9iaWxsX2NvZGU6ICAgbnVtYmVyIHwgbnVsbDtcbiAgZ2VuZXJhdGVkX2J5OiAgICAgICAgSVVzZXJUcmFuc2FjdGlvblJzIHwgbnVtYmVyICB8IG51bGw7XG4gIGFwcHJvdmVkX2J5OiAgICAgICAgIElVc2VyVHJhbnNhY3Rpb25ScyB8IG51bWJlciB8IG51bGw7XG4gIHVzZXJfY29tbWlzc2lvbjogICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fc3RhdHVzOiAgbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogICAgICAgICBzdHJpbmc7XG4gIHN0YXJ0X3RyYW5zYWN0aW9uOiAgIERhdGU7XG4gIGVuZF90cmFuc2FjdGlvbjogICAgIERhdGUgfCBudWxsO1xuICBkZWxldGVkX2F0OiAgICAgICAgICBEYXRlIHwgbnVsbDtcbiAgdXBkYXRlZF9hdDogICAgICAgICAgRGF0ZSB8IG51bGw7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICBtYW5hZ2VkX2NvbW1pc3Npb25zPzogSUNvbW1pc3Npb25MaXN0UnNbXTtcbiAgbWFuYWdlZF9ib251cz86ICAgICAgIElCb251c0xpc3RSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNYW5hZ2VkQm9udXNScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICB1c2VyX2JvbnVzOiAgICAgICAgIG51bWJlcjtcbiAgYW1vdW50OiAgICAgICAgICAgICBudW1iZXI7XG4gIGJvbnVzX3J1bGU6ICAgICAgICAgbnVtYmVyO1xuICBjb2RfcmVhY2hlZDogICAgICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fc3RhdHVzOiBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX2NvZGU6ICAgbnVtYmVyO1xuICBwZXJpb2RfbW9udGg6ICAgICAgIG51bWJlcjtcbiAgcGVyaW9kX3llYXI6ICAgICAgICBudW1iZXI7XG4gIGRlbGV0ZWRfYXQ6ICAgICAgICAgRGF0ZSB8IG51bGw7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgRGF0ZTtcbiAgdXBkYXRlZF9hdDogICAgICAgICBEYXRlO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXJUcmFuc2FjdGlvblJzIHtcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJQXBwcm92ZVRyYW5zYWN0aW9uQ29tbWlzc2lvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdHJhbnNhY3Rpb25fY29kZTogbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogc3RyaW5nO1xuICB3YWxsZXQ6ICBudW1iZXI7XG4gIGJhbmsgOiBudW1iZXI7XG4gIHBheW1lbnRfcmVmZXJlbmNlOiBudW1iZXI7XG4gIHBheW1lbnRfbWV0aG9kOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXJlamVjdFRyYW5zYWN0aW9uQ29tbWlzc2lvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdHJhbnNhY3Rpb25fY29kZTogbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFZGl0Q29uZGl0aW9uUnVsZVJxIHtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyO1xuICBvcGVyYXRvcjogICAgIHN0cmluZztcbiAgdmFsdWU6ICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcHJvdmVUcmFuc2FjdGlvblJzIHtcbiAgdHJhbnNhY3Rpb246ICAgICAgICBJVHJhbnNhY3Rpb25ScztcbiAgYmlsbDogICAgICAgICAgICAgICBJQmlsbENyZWF0ZWRScztcbiAgYmlsbF9vYnNlcnZhdGlvbj86ICBJQmlsbE9ic2VydmF0aW9uTGlzdFJzO1xuICBjb21taXNzaW9uczogICAgICAgIElDb21taXNzaW9uTGlzdFJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJpbGxDcmVhdGVkUnMge1xuICBwYXltZW50X21ldGhvZDogICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgcGF5bWVudF9yZWZlcmVuY2U6ICBzdHJpbmc7XG4gIGdlbmVyYXRlZF9mb3I6ICAgICAgbnVtYmVyO1xuICBnZW5lcmF0ZWRfYnk6ICAgICAgIG51bWJlcjtcbiAgdHlwZV9tb3ZlbWVudHM6ICAgICBudW1iZXI7XG4gIGNvbW1vbl9leHBlbnNlczogICAgbnVtYmVyO1xuICB0b3RhbF9hbW91bnQ6ICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9hbW91bnQ6ICAgICBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6ICAgIG51bWJlcjtcbiAgZGlzY291bnQ6ICAgICAgICAgICBudW1iZXI7XG4gIHBheWVyX25hbWU6ICAgICAgICAgbnVsbDtcbiAgcGF5ZXJfZG9jdW1lbnQ6ICAgICBudWxsO1xuICBwYXltZW50X2RhdGU6ICAgICAgIERhdGU7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgc3RyaW5nO1xuICB0cmFuc2Zlcl9jb2RlOiAgICAgIG51bGw7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCaWxsT2JzZXJ2YXRpb25MaXN0UnMge1xuICBkZXRhaWxzOiAgICAgICAgICAgSURldGFpbEJpbGxSc1tdO1xuICB0b3RhbF9jb21taXNzaW9uczogbnVtYmVyO1xuICB0b3RhbF9hbW91bnQ6ICAgICAgbnVtYmVyO1xuICBwZXJpb2Q6ICAgICAgICAgICAgSVBlcmlvZEJpbGxScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGV0YWlsQmlsbFJzIHtcbiAgYXJlYTogICAgIHN0cmluZztcbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgYW1vdW50OiAgIG51bWJlcjtcbiAgc3RhdHVzZXM6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVyaW9kQmlsbFJzIHtcbiAgZnJvbTogc3RyaW5nO1xuICB0bzogICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNob3dUcmFuc2FjdGlvbkJpbGxScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElhZGREZXZvbHV0aW9uQ29tbWlzc2lvblJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvbW1pc3Npb25fY29kZTogICAgbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9jb2RlOiAgIG51bWJlcjtcbiAgY29tbWlzc2lvbnNfdG9fZGV2b2x2ZSA6IEljb21taXNzaW9uc190b19kZXZvbHZlUnFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY29tbWlzc2lvbnNfdG9fZGV2b2x2ZVJxIHtcbiAgY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW9idGFpblRyYW5zYWN0aW9uc0J5U3RhdHVzUnEge1xuICB0b2tlbjogICAgICAgc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElhZHZpc2VyUmVzdW1lUnMge1xuICBzdGF0dXM6ICAgICAgIHN0cmluZztcbiAgbWVzc2FnZTogICAgICBzdHJpbmc7XG4gIHJhbmdvX2ZlY2hhczogSVJhbmdvRmVjaGFzUnM7XG4gIHJlc3VtZW46ICAgICAgSVJlc3VtZW5BZHZpc29yUnM7XG4gIGFzZXNvcmVzOiAgICAgSUF2aXNvckRldGFpbHRSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSYW5nb0ZlY2hhc1JzIHtcbiAgZmVjaGFfaW5pY2lvOiBEYXRlO1xuICBmZWNoYV9maW46ICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF2aXNvckRldGFpbHRScyB7XG4gIGdlbmVyYWw6ICAgICAgICAgSUFkdmlzb3JHZW5lcmFsUnM7XG4gIG1ldHJpY2FzOiAgICAgICAgSU1ldHJpY3NScztcbiAgY29taXNpb25lczogICAgICBJQm9ub3NDb21taXNzaW9uUnM7XG4gIGJvbm9zOiAgICAgICAgICAgSUJvbm9zQ29tbWlzc2lvblJzO1xuICB0cmFuc2FjY2lvbmVzOiAgIElUcmFuc2FjY2lvbmVzTGlzdFJzO1xuICBhZHZlcnRlbmNpYXM6ICAgIGFueVtdO1xuICBhY3RpdmVfY29uY2VwdHM6IHN0cmluZ1tdO1xuICBldmFsdWF0aW9uczogICAgIElDb21taXNzaW9uTGlzdFJzW10gfCBJQm9udXNMaXN0UnNbXSA7XG4gIGVmZWN0aXZpZGFkOiAgICAgSUVmZWN0aXZpZGFkUnM7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJQWR2aXNvckdlbmVyYWxScyB7XG4gIGNvZGlnb19hc2Vzb3I6ICAgICAgICBudW1iZXI7XG4gIG5vbWJyZV9hc2Vzb3I6ICAgICAgICBzdHJpbmc7XG4gIHJvbF9hc2Vzb3I6ICAgICAgICAgICBJUm9sQXNlc29yUnM7XG4gIHRpcG9fY29udHJhdG9fbm9tYnJlOiBzdHJpbmc7XG4gIHRpcG9fY29udHJhdG86ICAgICAgICBJVGlwb0NvbnRyYXRvUnM7XG4gIG1hdHJpY3VsYWRvczogICAgICAgICBudW1iZXI7XG4gIGFjdGl2b3M6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHJldGlyYWRvczogICAgICAgICAgICBudW1iZXI7XG4gIHBhdXNhZG9zOiAgICAgICAgICAgICBudW1iZXI7XG4gIGN1bG1pbmFkb3M6ICAgICAgICAgICBudW1iZXI7XG4gIHN1c3BlbmRpZG9zOiAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJvbEFzZXNvclJzIHtcbiAgY29kZTogbnVtYmVyO1xuICByb2xlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpcG9Db250cmF0b1JzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIHN0YXR1czogICAgICAgICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgRGF0ZTtcbiAgdXBkYXRlZF9hdDogICAgICAgICAgRGF0ZTtcbiAgY29tbWlzc2lvbl9jb25jZXB0czogSUNvbW1pc3Npb25Db25jZXB0UnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWlzc2lvbkNvbmNlcHRScyB7XG4gIGNvZGU6ICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICBzdHJpbmc7XG4gIGtleTogICAgICAgICBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHBpdm90OiAgICAgICBJUGl2b3RUeXBlVXNlckNvbW1pc3Npb25Db25jZXB0UnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90VHlwZVVzZXJDb21taXNzaW9uQ29uY2VwdFJzIHtcbiAgdHlwZV91c2VyX2NvbW1pc3Npb25fY29kZTogbnVtYmVyO1xuICBjb21taXNzaW9uX2NvbmNlcHRfY29kZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc3VtZW5BZHZpc29yUnMge1xuICBnZW5lcmFsOiAgICAgICBJUmVzdW1lbkdlbmVyYWxScztcbiAgbWV0cmljYXM6ICAgICAgSU1ldHJpY3NScztcbiAgY29taXNpb25lczogICAgSUJvbm9zQ29tbWlzc2lvblJzO1xuICBib25vczogICAgICAgICBJQm9ub3NDb21taXNzaW9uUnM7XG4gIHRyYW5zYWNjaW9uZXM6IElUcmFuc2FjY2lvbmVzTGlzdFJzO1xuICBlZmVjdGl2aWRhZDogICBJRWZlY3RpdmlkYWRScztcbiAgYWR2ZXJ0ZW5jaWFzOiAgYW55W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc3VtZW5HZW5lcmFsUnMge1xuICB0b3RhbF9hc2Vzb3JlczogbnVtYmVyO1xuICBtYXRyaWN1bGFkb3M6ICAgbnVtYmVyO1xuICBhY3Rpdm9zOiAgICAgICAgbnVtYmVyO1xuICByZXRpcmFkb3M6ICAgICAgbnVtYmVyO1xuICBwYXVzYWRvczogICAgICAgbnVtYmVyO1xuICBjdWxtaW5hZG9zOiAgICAgbnVtYmVyO1xuICBzdXNwZW5kaWRvczogICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZXRyaWNzUnMge1xuICBtYXRyaWN1bGFfcGFnYWRhX2NvdW50OiAgICAgICAgICBudW1iZXI7XG4gIG1hdHJpY3VsYV9wYWdhZGFfcGVyY2VudGFnZTogICAgIG51bWJlcjtcbiAgcHJpbWVyYV9jdW90YV9wYWdhZGFfY291bnQ6ICAgICAgbnVtYmVyO1xuICBwcmltZXJhX2N1b3RhX3BhZ2FkYV9wZXJjZW50YWdlOiBudW1iZXI7XG4gIGVmZWN0aXZpZGFkX2NvdW50OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZWZlY3RpdmlkYWRfcGVyY2VudGFnZTogICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjY2lvbmVzTGlzdFJzIHtcbiAgdG90YWxfdHJhbnNhY2Npb25lczogbnVtYmVyO1xuICB0b2RhczogICAgICAgICAgICAgICBJVHJhbnNhY3Rpb25Sc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCb25vc0NvbW1pc3Npb25ScyB7XG4gIHBlbmRpZW50ZXNfY291bnQ6IG51bWJlcjtcbiAgbW9udG9fcGVuZGllbnRlOiAgbnVtYmVyO1xuICBwYWdhZG9zX2NvdW50OiAgICBudW1iZXI7XG4gIG1vbnRvX3BhZ2FkbzogICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRWZlY3RpdmlkYWRScyB7XG4gIHBvcmNlbnRhamU6IG51bWJlcjtcbiAgY2F0ZWdvcmlhOiAgc3RyaW5nO1xuICBjb2xvcjogICAgICBzdHJpbmc7XG4gIG1lbnNhamU6ICAgIHN0cmluZztcbn1cblxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Q29tbWlzc2lvbnNCeVRyYW5zYWN0aW9uQ29kZVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdHJhbnNhY3Rpb25fY29kZTogbnVtYmVyO1xuICBlbmRfZGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsbFRyYW5zYWN0aW9uQmlsbFJxIHtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJYWRkQm9udXNSdWxlUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb2RlPzogbnVtYmVyO1xuICBjb2RfZ29hbD86IG51bWJlcjtcbiAgYW1vdW50PzogbnVtYmVyO1xuICBkYXlzPzogbnVtYmVyO1xuICBtb250aD86IG51bWJlcjtcbiAgeWVhcj86IG51bWJlcjtcbiAgZW5yb2xsbWVudD86IG51bWJlcjtcbiAgZmVlX29uZT86IG51bWJlcjtcbiAgY2FzaF9wYXltZW50PzogbnVtYmVyO1xuICBzdGF0dXM/OiBudW1iZXI7XG4gIHR5cGVfdXNlcj86IG51bWJlcjtcbiAgY2FtcHVzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElyZW1vdmVDb21taXNzaW9uRnJvbVRyYW5zYWN0aW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0cmFuc2FjdGlvbl9jb2RlPzogbnVtYmVyO1xuICBjb21taXNzaW9uX2NvZGU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRva2VuQ2FtcHVzUnEgZXh0ZW5kcyBJVG9rZW5ScSB7XG4gIGNhbXB1czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uSW5pdGlhbENvbmZpZ1JzIHtcbiAgICBhcmVhczogICAgICAgICAgICAgSUFyZWFSc1tdO1xuICAgIGNvdXJzZXM6ICAgICAgICAgICBJQ291cnNlVHlwZUNvbW1pc3Npb25Sc1tdO1xuICAgIGFncmVlbWVudHM6ICAgICAgICBJQWdyZWVtZW50TGlzdFJzW107XG4gICAgcGF5bWVudHNGb3JEaWFsb2c6IFR5cGVQYXltZW50W107XG4gICAgY2F0ZWdvcmllczogICAgICAgIElDYXRlZ29yeVJzW107XG4gICAgY29udHJhY3RUeXBlczogICAgIElDb250cmFjdFR5cGVSc1tdO1xuICAgIHBsYW5zOiAgICAgICAgICAgICBJQWNhZGVtaWNQbGFuTGlzdFJzW107XG4gICAgY2FtcHVzOiAgICAgICAgICAgIElHZXRDYW1wdXNEZXRhaWxMaXN0UnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNhZGVtaWNQbGFuTGlzdFJzIHtcbiAgICBjb2RlOiAgICAgICBudW1iZXI7XG4gICAgbmFtZTogICAgICAgc3RyaW5nO1xuICAgIGFmdGVyX2FnZTogIG51bWJlcjtcbiAgICBiZWZvcmVfYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFncmVlbWVudExpc3RScyB7XG4gICAgY29kZTogICAgIG51bWJlcjtcbiAgICBuYW1lOiAgICAgc3RyaW5nO1xuICAgIGVuZF90aW1lOiBEYXRlO1xuICAgIGNhdGVnb3J5OiBudW1iZXI7XG4gICAgc3RhdHVzOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Q2FtcHVzRGV0YWlsTGlzdFJzIHtcbiAgICBjb2RlPzogICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBuYW1lPzogICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjaXR5PzogICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBlbnRlcnByaXNlPzogICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBiaWxsaW5nX3ByZWZpeD86ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBzdGF0ZT86ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjdXJyZW5jeT86ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBhZGRyZXNzPzogICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBlbWFpbD86ICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBwaG9uZV9wcmVmaXg/OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBwaG9uZT86ICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBtYXA/OiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBpbWFnZV91cmw/OiAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICB1cGRhdGVkX2F0PzogICAgICAgICAgICAgICAgIERhdGU7XG4gICAgY3JlYXRlZF9hdD86ICAgICAgICAgICAgICAgICBEYXRlO1xuICAgIGNpdHlfbmFtZT86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGVudGVycHJpc2VfY29tcGFueV9uYW1lPzogICAgc3RyaW5nO1xuICAgIGVudGVycHJpc2VfY29tbWVyY2lhbF9uYW1lPzogc3RyaW5nO1xuICAgIHN0YXRlX25hbWU/OiAgICAgICAgICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBcmVhUnMge1xuICAgIGNvZGU/OiAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBuYW1lPzogICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgY2FtcHVzPzogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFjYWRlbWljX3BsYW4/OiAgICAgICAgICAgIG51bWJlcjtcbiAgICBjcmVhdGVkX2F0PzogICAgICAgICAgICAgICBEYXRlO1xuICAgIHVwZGF0ZWRfYXQ/OiAgICAgICAgICAgICAgIERhdGU7XG4gICAgZGVsZXRlZF9hdD86ICAgICAgICAgICAgICAgRGF0ZTtcbiAgICBjb3Vyc2VfdHlwZXM/OiAgICAgICAgICAgICBJQ291cnNlVHlwZUNvbW1pc3Npb25Sc1tdO1xuICAgIHBheW1lbnRfYXJlYV9jb21taXNzaW9ucz86IFBheW1lbnRBcmVhQ29tbWlzc2lvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VUeXBlQ29tbWlzc2lvblJzIGV4dGVuZHMgIElDb3Vyc2VUeXBlUnMgIHtcbiAgICBjYW1wdXM/OiAgICAgICAgICAgIG51bWJlcjtcbiAgICBjYXRlZ29yeT86ICAgICAgICAgIG51bWJlcjtcbiAgICBwaXZvdD86ICAgICAgICAgICAgQ291cnNlUGl2b3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ291cnNlUGl2b3Qge1xuICAgIGNvbW1pc3Npb25fYXJlYV9jb3Vyc2VfaWQ6IG51bWJlcjtcbiAgICBjb3Vyc2VfdHlwZV9pZDogICAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbmRpdGlvblJzIHtcbiAgICBjb2RlPzogICAgICAgICBudW1iZXI7XG4gICAgcnVsZV9pZD86ICAgICAgbnVtYmVyO1xuICAgIGNvbmRpdGlvbl9pZD86IG51bWJlcjtcbiAgICBvcGVyYXRvcj86ICAgICBzdHJpbmc7XG4gICAgdmFsdWU/OiAgICAgICAgc3RyaW5nO1xuICAgIGNyZWF0ZWRfYXQ/OiAgIERhdGU7XG4gICAgdXBkYXRlZF9hdD86ICAgRGF0ZTtcbiAgICBkZWxldGVkX2F0PzogICBEYXRlO1xuICAgIGNvbmRpdGlvbj86ICAgIElDb21taXNzaW9uQ29uZGl0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYXRlZ29yeVJzIHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb250cmFjdFR5cGVScyB7XG4gICAgY29kZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBzdGF0dXM6ICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY3JlYXRlZF9hdDogICAgICAgICAgRGF0ZTtcbiAgICB1cGRhdGVkX2F0OiAgICAgICAgICBEYXRlO1xuICAgIGNvbW1pc3Npb25fY29uY2VwdHM6IElDb21taXNzaW9uQ29uY2VwdFJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbW1pc3Npb25Db25jZXB0UnMge1xuICAgIGNvZGU6ICAgICAgICBudW1iZXI7XG4gICAgbmFtZTogICAgICAgIHN0cmluZztcbiAgICBrZXk6ICAgICAgICAgc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcGl2b3Q6ICAgICAgIElDb21taXNzaW9uQ29uY2VwdFBpdm90UnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbW1pc3Npb25Db25jZXB0UGl2b3RScyB7XG4gICAgdHlwZV91c2VyX2NvbW1pc3Npb25fY29kZTogbnVtYmVyO1xuICAgIGNvbW1pc3Npb25fY29uY2VwdF9jb2RlOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRWRpdENvbW1pc3Npb25BcmVhUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb2RlOiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNhbXB1cz86IG51bWJlcjtcbiAgYWNhZGVtaWNfcGxhbj86IG51bWJlcjtcbiAgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW9idGFpbldhbGxldFdpdGhQcmljZSB7XG4gICAgY2FtcHVzOiBudW1iZXI7XG4gICAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ2V0Qm9udXNSdWxlQ29tbWVyY2lhbEJ5Q2FtcHVzUnEge1xuICAgIGNhbXB1czogbnVtYmVyO1xuICAgIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW9idGFpblByZXZpZXdUcmFuc2FjdGlvbkV4cG9ydERhdGFScSB7XG4gICAgdHJhbnNhY3Rpb25fY29kZTogbnVtYmVyO1xuICAgIHRva2VuOiBzdHJpbmc7XG59Il19
|
|
@@ -612,6 +612,11 @@ export class CommercialService extends IPTGeneralService {
|
|
|
612
612
|
this.generateRequestParams(params);
|
|
613
613
|
return this.http.post(serviceUrl, this.httpOptions);
|
|
614
614
|
}
|
|
615
|
+
obtainPreviewTransactionExportData(params) {
|
|
616
|
+
const serviceUrl = this.SERVICE_URL + 'preview/transaction/export/data';
|
|
617
|
+
this.generateRequestParams(params);
|
|
618
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
619
|
+
}
|
|
615
620
|
}
|
|
616
621
|
CommercialService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
617
622
|
CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });
|
|
@@ -619,4 +624,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
619
624
|
type: Injectable,
|
|
620
625
|
args: [{ providedIn: 'root' }]
|
|
621
626
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
622
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBWTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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QUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBaUM7UUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxzQ0FBc0MsQ0FBQztRQUM3RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFLQyxZQUFZLENBQUMsTUFBdUI7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUM1RCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBdUI7UUFDbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQztRQUM3RCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBdUI7UUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztRQUMvRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxNQUEwQztRQUN4RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDZCQUE2QixDQUFDLE1BQXNCO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsb0NBQW9DLENBQUM7UUFDM0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsTUFBOEI7UUFDekQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQ0FBa0MsQ0FBQztRQUN6RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxNQUF5QztRQUN0RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG1DQUFtQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7OEdBcnRCVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL3JlcG9ydHMvcmVwb3J0cy5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2V0RGlzY291bnRDb3Vwb25zUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGF5bWVudC9wYXltZW50LXJxLm1vZGVsJztcbmltcG9ydCB7IENyZWF0ZUNPRFJxLCBGdWxsRGF0YUNPRFJxLCBHZXRDb2RCeUNvdXJzZVJxLCBJVXBkYXRlQ09EUnEsIElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxLCBJQ29kUGF5bWVudFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvZC9jb2QtcnEubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IEFkaWNJbmZvQnlDb2RlUnEsIENvZFByaWNlc1JxLCBJR29hbEludGVyZmFjZVJxLCBQYXJlbnRCeUNvZGVScSwgSU9idGFpblJlZmVyc0J5VXNlclJxLCBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxLCBJR2V0Q29udGFjdHNhZHZpc2VyUnEsIElPYnRhaW5Db2RQcmljZXNScSwgSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxLCBJUmVwb3J0Q29kRm9yQWR2aXNlclJxLCBJQ3JlYXRlVGlja2V0UmVmZXJyYWxScSwgSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEsIElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxLCBBc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlclJxLElDcmVhdGVUeXBlUGF5bWVudFJxLCBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSwgSUFzc2lnbkNvdXJzZVR5cGVzVG9BcmVhUnEsXG4gIElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSwgSUNyZWF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxLCBJQXNzaWduQ29tbWlzc2lvbk1vZGVsVG9Vc2VyUnEsIElUb2tlblJxLCBJR2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3JScSwgSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEsSVVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvblJxLElBZGRDb25kaXRpb25Ub1J1bGVScSxJRWRpdENvbmRpdGlvblJ1bGVScSwgSVVwZGF0ZVR5cGVQYXltZW50UnEsSUFzc2lnblN1Ym9yZGluYXRlUnEsSVJlbW92ZVN1Ym9yZGluYXRlUnEsSVVwZGF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxLElQYXlBZHZpc29yQm9udXNlc1JxLElQYXlTZWxlY3RlZENvbW1pc3Npb25zUnEsSUFzc2lnblN1Ym9yZGluYXRlc01hc3NpdmVScSxJRGVsZXRlVHlwZVVzZXJDb21taXNzaW9uUnEsXG4gIElyZWplY3RUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSwgSUFwcHJvdmVUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSAsIElTaG93VHJhbnNhY3Rpb25CaWxsUnEsIElhZGREZXZvbHV0aW9uQ29tbWlzc2lvblJxLCBJb2J0YWluVHJhbnNhY3Rpb25zQnlTdGF0dXNScSwgSUNhbmNlbGxUcmFuc2FjdGlvbkJpbGxScSxJR2V0Q29tbWlzc2lvbnNCeVRyYW5zYWN0aW9uQ29kZVJxLCBJYWRkQm9udXNSdWxlUnEsSXJlbW92ZUNvbW1pc3Npb25Gcm9tVHJhbnNhY3Rpb25ScSwgSVRva2VuQ2FtcHVzUnEsIElvYnRhaW5XYWxsZXRXaXRoUHJpY2UsIElnZXRCb251c1J1bGVDb21tZXJjaWFsQnlDYW1wdXNScSB9IGZyb20gJy4uLy4uL21vZGVscy9jb21tZXJjaWFsL2NvbW1lcmNpYWwubW9kZWwnO1xuaW1wb3J0IHsgVXNlclRva2VuUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci91c2VyLXJxLm1vZGVsJztcbmltcG9ydCB7IElTb2NpYWxOZXR3b3Jrc1JxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21hcmtldGluZy9tYXJrZXRpbmcubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkFsbENvdXJzZXdhbGxldCB9IGZyb20gJy4uLy4uL21vZGVscy9idWRnZXQvYnVkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IElPYnRhaW5BbGxSZWZlcnJhbHNCeVVzZXJScSB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2Zlci90cmFuc2Zlci5tb2RlbCc7XG5pbXBvcnQgeyBJQ29kV2l0aFRoZWlyU3RhdGVzUnEsIElFeHRlbmRUaW1lVGVybXNScSwgSU5ld1Rlcm1zQW5kQ29uZFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Rlcm1zL3Rlcm1zLXJzLm1vZGVsJztcblxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb21tZXJjaWFsU2VydmljZSBleHRlbmRzIElQVEdlbmVyYWxTZXJ2aWNlIHtcblxuICBwcml2YXRlIFNFUlZJQ0VfVVJMID0gJ2NvbW1lcmNpYWwvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgY3JlYXRlQ09EKHJlcXVlc3Q6IENyZWF0ZUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN0dWRlbnRDb2RIaXN0b3J5KHRva2VuOiBzdHJpbmcsIHN0dWRlbnRfaWRfY2FyZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2hpc3RvcnkvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoe3Rva2VuLCBzdHVkZW50X2lkX2NhcmR9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RIaXN0b3J5QWxsKHVzZXJUb2tlbjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2hpc3RvcnkvYWxsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh1c2VyVG9rZW4pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlCeUNvdXJzZShyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlCeUNvdXJzZUV4cG9ydChyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9jb3Vyc2UvZXhwb3J0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXREaXNjb3VudENvdXBvbnMocGFyYW1zOiBHZXREaXNjb3VudENvdXBvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGlzY291bnQvY291cG9uL3NlYXJjaCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RQcmljZXNCeUFncmVlbWVudChjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29kL3ByaWNlcy9ieS9hZ3JlZW1lbnQvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RQYXJlbnRCeUNvZGUocGFyYW1zOiBQYXJlbnRCeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9wYXJlbnQvYnkvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBZGljSW5mb0J5Q29kZShwYXJhbXM6IEFkaWNJbmZvQnlDb2RlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvYWRpdGlvbmFsaW5mby9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEZ1bGxEYXRhQ29kQnlTdHVkZW50KHBhcmFtczogRnVsbERhdGFDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2Z1bGwvZGF0YS9jb2QvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRGdWxsRGF0YUNvZEJ5U3R1ZGVudEFuZENvZHNCZWZvcmUocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50L2FuZC9jb2QvYmVmb3JlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50VHlwZVBheW1lbnQocGFyYW1zOiBDb2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3ByaWNlcy9ieS9hZ3JlZW1lbnQvYW5kL3R5cGUvcGF5bWVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmFpc2VyKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvYnkvYWR2YWlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQ291cnNlc0J5QWR2aXNvcihwYXJhbXM6IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2NvdXJzZXMvYnkvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RDb3Vyc2VzQnlBZHZpc29yT3JnYW5pemVkKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvY291cnNlcy9ieS9hZHZpc29yL29yZ2FuaXplZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmlzb3JBbmRDb3Vyc2UocGFyYW1zOiBHZXRDb2RCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3N0dWRlbnQvYnkvY291cnNlL2FuZC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUdvYWwocGFyYW1zOiBJR29hbEludGVyZmFjZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L2NyZWF0ZS9nb2FsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICAgIH1cblxuICBnZXRBbGxHb2Fscyh0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L3ZpZXcvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZURvY3VtZW50KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9tZWRpYS9kb2N1bWVudCc7XG4gICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgcGFyYW1zLmZpbGUpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndXNlcl9hdXRvcicsIHBhcmFtcy51c2VyX2F1dG9yKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvZGVfdXNlcicsIHBhcmFtcy5jb2RlX3VzZXIpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZV9kb2N1bWVudCcsIHBhcmFtcy50eXBlX2RvY3VtZW50KTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3Rva2VuJywgcGFyYW1zLnRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBmb3JtRGF0YSk7XG4gIH1cblxuICBnZXREb2N1bWVudHNCeVN0dWRlbnQocGFyYW1zOmFueSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L21lZGlhL2RvY3VtZW50L3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RTdHVkZW50QnlDb2RlQWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBFeHBvcnRGaWxlRXhjZWxDb2RCeUFkdmlzZXIocGFyYW1zOiBJUmVwb3J0Q29kRm9yQWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9leHBvcnQvZXhjZWwvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBPYnRhaW5SZWZlcnJhbHNCeVVzZXIocGFyYW1zOiBJT2J0YWluUmVmZXJzQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgZ2V0UG9zaWJsZVN0dWRlbnRzQWxsKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcG9zaWJsZS9zdHVkZW50cy9hbGwvbW9kZWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBwb3N0QXNzaWduUG9zaWJsZVN0dWVudEZvclZhbHVlKHBhcmFtczogSUFzc2lnblBvc2libGVTdHVkZW50Rm9yVmFsdWVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcG9zaWJsZS9zdHVkZW50cy92YWx1ZS9hc3NpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldENvbnRhY3RzQnlBZHZpc2VyQ29tbWVyY2lhbChwYXJhbXM6IElHZXRDb250YWN0c2FkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29udGFjdHMvbWFya2V0aW5nL3N0cmF0ZWd5L2Fzc2luZy9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpbkNvZFByaWNlcyhwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9wcmljZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdENyZWF0ZWRTb2NpYWxOZXRvd3JrcyhwYXJhbXM6IElTb2NpYWxOZXR3b3Jrc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9uZXcvcmVnaXN0ZXIvc29jaWFsL25ldHdvcmsnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdEFzc2lnbmluZ0Fkdmlzb3JHb2FscyhwYXJhbXM6IElBc3NpZ25pbmdBZHZpc29yR29hbHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduaW5nL2Fkdmlzb3J5L2dvYWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc09idGFpbkFkdmlzb3JHb2FscyhwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9nb2Fscy9hc3NpZ25lZC90by9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RPYnRhaW5PdmVyYWxHb2FsQWR2aXNvKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL292ZXJhbC9nb2FsL29mL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbmluZm9Db2RBY3R1YWxseUJ5VXNlcihwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vaW5mby9jb2QvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5nTGF0ZXNDb2RCeVN0dWRlbnRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2xhdGVzdC9jb2QvYnkvc3R1ZGVudC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZUNPRChyZXF1ZXN0OiBJVXBkYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3VwZGF0ZS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9ucyhyZXF1ZXN0OiBJb2J0YWluY29kQ3VycnJlbnRBbmRMZXZlbEZ1bGxEYXRhUmVub3ZhdGlvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2Z1bGwvZGF0YS9jdXJyZW50L2NvZC9ieS9jb2RlL3N0dWRlbnQvcmVub3ZhdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldGRhdGFDdXJyZW50Q29kQnlTVHVkZW50Q29kZShyZXF1ZXN0OiBJb2J0YWluY29kQ3VycnJlbnRBbmRMZXZlbEZ1bGxEYXRhUmVub3ZhdGlvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9kYXRhL2N1cnJlbnQvZGF0YS9jb2QvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvZEN1cnJlbnRJbk9ic2VydmF0aW9uc1Jlbm92YXRpb25zKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL2NvZC9zdGF0dXMvb2JzZXJ2YXRpb25zL3Jlbm92YXRpb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RQcmV2aXVzT3JQbGFjZW1lbnRUZXN0Qnljb2RlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9yZWdpc3Rlci9wcmV2aW91cy9vci9wbGFjZW1lbnQvdGVzdC9ieS9zdGF0dXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVDb250cm9sU3RlcHNDb2RTZWxmTWFuYWdlZChyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NoYW5nZS9zdGVwL2Zvcm0vY29udHJvbC9jb2Qvc2VsZi9tYW5hZ2VkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgT2J0YWluQ29kUHJpY2VzQ29kU2VsZk1hbmFnZWQocGFyYW1zOiBJT2J0YWluQ29kUHJpY2VzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc2VsZi9tYW5hZ2VkL3ByaWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgY3JlYXRlQ29kU2VsZk1hbmFnZWQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZC9zZWxmL21hbmFnZWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcHJpemVzRm9yRHVyYXRpb25PZENvbnRlc3QoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAgJ3ByaXplcy9mb3IvZHVyYXRpb24vb2YvY29udGVzdCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBjcmVhdGVUaWNrZXRSZWZlcnJhbChwYXJhbXM6IElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY3JlYXRlL2NvbnRlc3QvcmVnaXN0cmF0aW9uL2J5L3JlZmVycmFsZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICAgIG9idGFpblN0YXR1c0FuZFJlZmVycmFsc0J5VXNlckNvZGUocGFyYW1zOiBJT2J0YWluUmVmZXJzQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3RhdHVzL2FuZC9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdlc1Bvc2libGVTdHVkZW50QWxsRm91ck1vZGVsc0J5RGF0ZShwYXJhbXM6IElHZXRQb3NpYmxlU3R1ZGVudEJ5RGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3Bvc2libGUvc3R1ZGVudHMvYWxsL2ZvdXIvbW9kZWxzL2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2VzVXNlckFkdmlzZXJDb21tZXJjaWFsQnlUeXBlQXNzaW5nQ29udGFjdChwYXJhbXM6IElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3VzZXIvY29tbWVyY2lhbC9ieS90eXBlL2Fzc2luZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBhc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlcihwYXJhbXM6IEFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L0Fzc2luZy91c2VyL3Bvc2libGUvc3R1ZGVudC9ieS9kYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFkZGl0aW9uYWxVc2VyRGF0YUJ5Q291cnNlKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vYWRkaXRpb25hbC91c2VyL2RhdGEvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbFJlZmVycmFsc0J5VXNlcihwYXJhbXM6IElPYnRhaW5BbGxSZWZlcnJhbHNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hbGwvcmVmZXJyYWxzL2J5L3VzZXIvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxDb2RJbmZvcm1hdGlvbkZvckV4cG9ydGluZyhwYXJhbXM6IElDb2RQYXltZW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL2NvZC9pbmZvcm1hdGlvbi9mb3IvZXhwb3J0aW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2aXNvcldpdGhUaGVpclN0YXRlcyhwYXJhbXM6IElDb2RXaXRoVGhlaXJTdGF0ZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb2QvYnkvYWR2aXNvci93aXRoL3RoZWlyL3N0YXRlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHRlbmRUaW1lT2ZBY2NlcHRhbmNlT2ZUZXJtcyhwYXJhbXM6IElFeHRlbmRUaW1lVGVybXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4dGVuZC90aW1lL29mL2FjY2VwdGFuY2Uvb2YvdGVybXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgbmV3VGVybXNBbmRDb25kaXRpb25zQWNjZXB0YW5jZVRva2VuKHBhcmFtczogSU5ld1Rlcm1zQW5kQ29uZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnbmV3L3Rlcm1zL2FuZC9jb25kaXRpb25zL2FjY2VwdGFuY2UvdG9rZW4nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlU3RhdHVzT2ZUZXJtc0FuZENvbmRpdGlvbnNSZWNvcmRzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3VwZGF0ZS9zdGF0dXMvb2YvdCZjL3JlY29yZHMnIDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhudWxsKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5Q29vZGluYXRvcldpdGhUaGVpclN0YXRlcyhwYXJhbXM6IElDb2RXaXRoVGhlaXJTdGF0ZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb2QvYnkvY29vZGluYXRvZS93aXRoL3RoZWlyL3N0YXRlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5BbGxJbmZvcm1hdGlvbkNvZEJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vYWxsL2luZm9ybWF0aW9uL2NvZC9ieS9jb2RlLycgKyBjb2RlO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGNvZGUpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3IocGFyYW1zOiBJR2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9zdW1tYXJ5L2J5L2NvbW1lcmNpYWwvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RTdHVkZW50RGV0YWlsc0J5QWR2aXNlcihyZXF1ZXN0OiBJR2V0Q29kU3R1ZGVudERldGFpbHNCeUFkdmlzZXJScSwgYWR2aXNlckNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L2NvZC9zdHVkZW50L2RldGFpbHMvYnkvYWR2aXNlci8ke2FkdmlzZXJDb2RlfWA7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4udGhpcy5odHRwT3B0aW9ucywgcGFyYW1zOiByZXF1ZXN0IGFzIGFueSB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlVHlwZVBheW1lbnQocGFyYW1zOiBJQ3JlYXRlVHlwZVBheW1lbnRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvdHlwZS9wYXltZW50L2NvbW1pc3Npb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbFR5cGVQYXltZW50cyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC90eXBlL3BheW1lbnQvY29tbWlzc2lvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbmNyZWF0ZUNvbW1pc3Npb25BcmVhKHBhcmFtczogSUNyZWF0ZUNvbW1pc3Npb25BcmVhUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS9jb21taXNzaW9uL2FyZWEnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbnVwZGF0ZUNvbW1pc3Npb25BcmVhKHBhcmFtczogSUNyZWF0ZUNvbW1pc3Npb25BcmVhUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwdXQvdXBkYXRlL2NvbW1pc3Npb24tYXJlYSc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRBbGxDb21taXNzaW9uQXJlYXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi9hcmVhcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuYXNzaWduQ291cnNlVHlwZXNUb0FyZWEocGFyYW1zOiBJQXNzaWduQ291cnNlVHlwZXNUb0FyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduL2NvdXJzZS10eXBlcy90by1hcmVhJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5jcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS9wYXltZW50L2FyZWEvY29tbWlzc2lvbic7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRDb21taXNzaW9uUnVsZXNCeUFyZWEocmVxdWVzdDogSVRva2VuUnEsIGFyZWFDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9jb21taXNzaW9uLXJ1bGVzL2J5LWFyZWEvJHthcmVhQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3R5cGUvdXNlci9jb21taXNzaW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbFR5cGVVc2VyQ29tbWlzc2lvbnMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvdHlwZS91c2VyL2NvbW1pc3Npb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2lnbkNvbW1pc3Npb25Nb2RlbFRvVXNlcihwYXJhbXM6IElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ24vbW9kZWwvdG8vdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBY3RpdmVDb21taXNzaW9uTW9kZWxGb3JVc2VyKHJlcXVlc3Q6IElUb2tlblJxLCB1c2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvYWN0aXZlL21vZGVsL2Zvci91c2VyLyR7dXNlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheUNvbW1pc3Npb25zKHBhcmFtczogSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvcGF5L2NvZHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgLy9yZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgcGFyYW1zLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWplY3RUcmFuc2FjdGlvbkJ5Q29kZShwYXJhbXM6IElyZWplY3RUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvcmVqZWN0L3RyYW5zYWN0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFwcHJvdmVUcmFuc2FjdGlvbkJ5Q29kZShwYXJhbXM6IElBcHByb3ZlVHJhbnNhY3Rpb25Db21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NvbW1pc3Npb25zL2FwcHJvdmUvdHJhbnNhY3Rpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYWRkRGV2b2x1dGlvbkNvbW1pc3Npb24ocGFyYW1zOiBJYWRkRGV2b2x1dGlvbkNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvYWRkL2Rldm9sdXRpb24vY29tbWlzc2lvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5UcmFuc2FjdGlvbnNCeVN0YXR1cyhyZXF1ZXN0OiBJb2J0YWluVHJhbnNhY3Rpb25zQnlTdGF0dXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L3RyYW5zYWN0aW9ucy9ieS91c2VyL2FuZC9zdGF0dXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VlVHJhbnNhY3Rpb25CaWxsKHJlcXVlc3Q6IElTaG93VHJhbnNhY3Rpb25CaWxsUnEgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBjb21taXNzaW9ucy9zZWUvdHJhbnNhY3Rpb24vYmlsbGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwYXlBZHZpc29yQm9udXNlcyhwYXJhbXM6IElQYXlBZHZpc29yQm9udXNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9wYXkvYm9udXNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgcGFyYW1zLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvbihyZXF1ZXN0OiBJVXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEsIHJ1bGVDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYHB1dC91cGRhdGUvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtydWxlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHJlcXVlc3QsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBcmVhc1dpdGhDb21taXNzaW9uUnVsZXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsLWFyZWFzLXdpdGgtY29tbWlzc2lvbi1ydWxlcyc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuZ2V0QWxsQ29uZGl0aW9ucyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi1jb25kaXRpb25zJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBZ3JlZW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9hZ3JlZW1lbnRzJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5hZGRDb25kaXRpb25Ub1J1bGUocmVxdWVzdDogSUFkZENvbmRpdGlvblRvUnVsZVJxLCBydWxlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcG9zdC9hZGQvY29uZGl0aW9uL3RvLXJ1bGUvJHtydWxlQ29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5lZGl0Q29uZGl0aW9uVG9SdWxlKHJlcXVlc3Q6IElFZGl0Q29uZGl0aW9uUnVsZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L2VkaXQvY29uZGl0aW9uL3J1bGVgO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVDb25kaXRpb25Gcm9tUnVsZShyZXF1ZXN0OiBJVG9rZW5ScSwgY29uZGl0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9ydWxlLWNvbmRpdGlvbi8ke2NvbmRpdGlvbklkfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG51cGRhdGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVXBkYXRlVHlwZVBheW1lbnRScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlLXBheW1lbnQtY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVG9rZW5ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL3R5cGUtcGF5bWVudC1jb21taXNzaW9uLyR7Y29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICBoZWFkZXJzOiB0aGlzLmh0dHBPcHRpb25zLmhlYWRlcnMsXG4gICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICB9O1xuICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbn1cblxuZGVsZXRlUGF5bWVudEFyZWFDb21taXNzaW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtjb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG4gIG9idGFpblByZWFzc2lnbmVkQ291cnNlc0FuZFN0dWRlbnRFbnJvbGxtZW50U3RhdHVzKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wcmVhc3NpZ25lZC9jb3Vyc2VzL3N0dWRlbnQvZW5yb2xsbWVudC9zdGF0dXMvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZGVsZXRlQ29uZGl0aW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9jb21taXNzaW9uLWNvbmRpdGlvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICByZW5ld1N0dWRlbnRzVG9OZXh0TGV2ZWwocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwb3N0L2NvZC9hbmQvcmVuZXdhbC9ieS9jb3Vyc2VzYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QcmVhc3NpZ25lZENvdXJzZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3ByZWFzc2lnbmVkL2NvdXJzZXMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgIGZ1bGxEYXRhQ29kQnlTdHVkZW50Q291cnNlUHJlYXNzaWduZWQoY29kZV9zdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdmdWxsZGF0YS9jb2QvYnkvc3R1ZGVudC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGNvZGVfc3R1ZGVudDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlX3N0dWRlbnQpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgc2VhcmNoU3R1ZGVudEJ5SWRjYXJkQ291cnNlUHJlYXNzaWduZWQoaWRjYXJkX3N0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3NlYXJjaC9zdHVkZW50L2J5L2lkY2FyZC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGlkY2FyZF9zdHVkZW50O1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGlkY2FyZF9zdHVkZW50KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGV4cG9ydFBvc2libGVTdHVkZW50QWxsRm91ck1vZGVsc0J5RGF0ZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wb3NpYmxlL3N0dWRlbnRzL2FsbC9mb3VyL21vZGVscy9ieS9kYXRlL2Zvci9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsR29hbHNGb3JDb21taXNzaW9uTW9kZWxzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvaGVscGVycy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGdldFRlYW1CeU1hbmFnZXIocmVxdWVzdDogSVRva2VuUnEsIG1hbmFnZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC90ZWFtL2J5L21hbmFnZXIvJHttYW5hZ2VyQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBhc3NpZ25TdWJvcmRpbmF0ZVRvTWFuYWdlcihwYXJhbXM6IElBc3NpZ25TdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RlYW0vbWVtYmVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBwYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmVtb3ZlU3Vib3JkaW5hdGVGcm9tTWFuYWdlcihwYXJhbXM6IElSZW1vdmVTdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdkZWxldGUvdGVhbS9tZW1iZXInO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmh0dHBPcHRpb25zLFxuICAgICAgYm9keTogeyBwYXJhbXMgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbm1hc3NBc3NpZ25TdWJvcmRpbmF0ZXMocGFyYW1zOiBJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdGVhbS9tZW1iZXJzL21hc3NpdmUnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbiAgZ2V0VXNlcnNGb3JDb21taXNzaW9uTWFuYWdlbWVudChyZXF1ZXN0OiBJVG9rZW5DYW1wdXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3VzZXJzL2Zvci1tYW5hZ2VtZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvbW1pc3Npb25Db25jZXB0cyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uL2NvbmNlcHRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJVXBkYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlL3VzZXIvY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3Vib3JkaW5hdGVzQnlNYW5hZ2VyKHJlcXVlc3Q6IElUb2tlblJxLCBtYW5hZ2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvdGVhbS9ieS9tYW5hZ2VyLyR7bWFuYWdlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZVR5cGVVc2VyQ29tbWlzc2lvbihwYXJhbXM6IElEZWxldGVUeXBlVXNlckNvbW1pc3Npb25ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvdHlwZS91c2VyL2NvbW1pc3Npb24vJHtjb2RlfWA7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuaHR0cE9wdGlvbnMsXG4gICAgICBib2R5OiB7IHBhcmFtcyB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgfVxuICBnZXRNb250aGx5Qm9udXNTdGF0dXMocmVxdWVzdDogYW55LCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBhZHZpc29yL21vbnRobHkvc3RhdHVzLyR7Y29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvdXJzZVR5cGVDYXRlZ29yaWVzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvYWxsL2NvdXJzZS90eXBlL2NhdGVnb3JpZXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBcblxuICAgIGdldFRyYW5zYWN0aW9uQ29tbWlzc2lvbnNCeUNvZGUocmVxdWVzdDogSUdldENvbW1pc3Npb25zQnlUcmFuc2FjdGlvbkNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L2NvbW1pc3Npb25zL2J5L3RyYW5zYWN0aW9uL2NvZGVgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY2FuY2VsbFRyYW5zYWN0aW9uQmlsbChwYXJhbXM6IElDYW5jZWxsVHJhbnNhY3Rpb25CaWxsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NvbW1pc3Npb25zL2NhbmNlbGwvdHJhbnNhY3Rpb24vYmlsbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG5cblxuICAgIGFkZEJvbnVzUnVsZShwYXJhbXM6IElhZGRCb251c1J1bGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hZGQvYm9udXMvcnVsZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBlZGl0Qm9udXNSdWxlKHBhcmFtczogSWFkZEJvbnVzUnVsZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2VkaXQvYm9udXMvcnVsZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBkZWxldGVCb251c1J1bGUocGFyYW1zOiBJYWRkQm9udXNSdWxlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGVsZXRlL2JvbnVzL3J1bGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Qm9udXNSdWxlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvYm9udXMvcnVsZXMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgcmVtb3ZlQ29tbWlzc2lvbkZyb21UcmFuc2FjdGlvbihwYXJhbXM6IElyZW1vdmVDb21taXNzaW9uRnJvbVRyYW5zYWN0aW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3JlbW92ZS9jb21taXNzaW9uL2Zyb20vdHJhbnNhY3Rpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQ29uZmlnRGF0YUZvckNvbW1pc3Npb24ocGFyYW1zOiBJVG9rZW5DYW1wdXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb25maWcvZGF0YS9mb3IvY29tbWlzc2lvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXR3YWxsZXRCeUNhbXB1c1RyYW5zYWN0aW9uKHBhcmFtczogSW9idGFpbldhbGxldFdpdGhQcmljZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3dhbGxldC9ieS9jYW1wdXMvdHJhbnNhY3Rpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Qm9udXNSdWxlQ29tbWVyY2lhbEJ5Q2FtcHVzKHBhcmFtczogSWdldEJvbnVzUnVsZUNvbW1lcmNpYWxCeUNhbXB1c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYm9udXMvcnVsZXMvY29tbWVyY2lhbC9jYW1wdXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9ICBcbiAgXG5cblxuXG59XG5cblxuIl19
|
|
627
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBWTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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QUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBaUM7UUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxzQ0FBc0MsQ0FBQztRQUM3RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFLQyxZQUFZLENBQUMsTUFBdUI7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUM1RCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBdUI7UUFDbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQztRQUM3RCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBdUI7UUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztRQUMvRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxNQUEwQztRQUN4RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDZCQUE2QixDQUFDLE1BQXNCO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsb0NBQW9DLENBQUM7UUFDM0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsTUFBOEI7UUFDekQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQ0FBa0MsQ0FBQztRQUN6RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxNQUF5QztRQUN0RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG1DQUFtQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGtDQUFrQyxDQUFDLE1BQTZDO1FBQzlFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsaUNBQWlDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs4R0EzdEJVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREwsTUFBTTsyRkFDbEIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvcmVwb3J0cy9yZXBvcnRzLm1vZGVsJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHZXREaXNjb3VudENvdXBvbnNScSB9IGZyb20gJy4uLy4uL21vZGVscy9wYXltZW50L3BheW1lbnQtcnEubW9kZWwnO1xuaW1wb3J0IHsgQ3JlYXRlQ09EUnEsIEZ1bGxEYXRhQ09EUnEsIEdldENvZEJ5Q291cnNlUnEsIElVcGRhdGVDT0RScSwgSW9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zUnEsIElDb2RQYXltZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJUFRHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UtZW52aXJvbWVudHMnO1xuaW1wb3J0IHsgQWRpY0luZm9CeUNvZGVScSwgQ29kUHJpY2VzUnEsIElHb2FsSW50ZXJmYWNlUnEsIFBhcmVudEJ5Q29kZVJxLCBJT2J0YWluUmVmZXJzQnlVc2VyUnEsIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEsIElHZXRDb250YWN0c2FkdmlzZXJScSwgSU9idGFpbkNvZFByaWNlc1JxLCBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEsIElSZXBvcnRDb2RGb3JBZHZpc2VyUnEsIElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxLCBJR2V0UG9zaWJsZVN0dWRlbnRCeURhdGVScSwgSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEsIEFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyUnEsSUNyZWF0ZVR5cGVQYXltZW50UnEsIElDcmVhdGVDb21taXNzaW9uQXJlYVJxLCBJQXNzaWduQ291cnNlVHlwZXNUb0FyZWFScSxcbiAgSUNyZWF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvblJxLCBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsIElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSwgSVRva2VuUnEsIElHZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxLCBJR2V0Q29kU3R1ZGVudERldGFpbHNCeUFkdmlzZXJScSxJVXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEsSUFkZENvbmRpdGlvblRvUnVsZVJxLElFZGl0Q29uZGl0aW9uUnVsZVJxLCBJVXBkYXRlVHlwZVBheW1lbnRScSxJQXNzaWduU3Vib3JkaW5hdGVScSxJUmVtb3ZlU3Vib3JkaW5hdGVScSxJVXBkYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsSVBheUFkdmlzb3JCb251c2VzUnEsSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSxJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxLElEZWxldGVUeXBlVXNlckNvbW1pc3Npb25ScSxcbiAgSXJlamVjdFRyYW5zYWN0aW9uQ29tbWlzc2lvblJxLCBJQXBwcm92ZVRyYW5zYWN0aW9uQ29tbWlzc2lvblJxICwgSVNob3dUcmFuc2FjdGlvbkJpbGxScSwgSWFkZERldm9sdXRpb25Db21taXNzaW9uUnEsIElvYnRhaW5UcmFuc2FjdGlvbnNCeVN0YXR1c1JxLCBJQ2FuY2VsbFRyYW5zYWN0aW9uQmlsbFJxLElHZXRDb21taXNzaW9uc0J5VHJhbnNhY3Rpb25Db2RlUnEsIElhZGRCb251c1J1bGVScSxJcmVtb3ZlQ29tbWlzc2lvbkZyb21UcmFuc2FjdGlvblJxLCBJVG9rZW5DYW1wdXNScSwgSW9idGFpbldhbGxldFdpdGhQcmljZSwgSWdldEJvbnVzUnVsZUNvbW1lcmNpYWxCeUNhbXB1c1JxLCBJb2J0YWluUHJldmlld1RyYW5zYWN0aW9uRXhwb3J0RGF0YVJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvY29tbWVyY2lhbC5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyVG9rZW5ScSB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgSVNvY2lhbE5ldHdvcmtzUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFya2V0aW5nL21hcmtldGluZy5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsQ291cnNld2FsbGV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zZmVyL3RyYW5zZmVyLm1vZGVsJztcbmltcG9ydCB7IElDb2RXaXRoVGhlaXJTdGF0ZXNScSwgSUV4dGVuZFRpbWVUZXJtc1JxLCBJTmV3VGVybXNBbmRDb25kUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVybXMvdGVybXMtcnMubW9kZWwnO1xuXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1lcmNpYWxTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnY29tbWVyY2lhbC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBjcmVhdGVDT0QocmVxdWVzdDogQ3JlYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudENvZEhpc3RvcnkodG9rZW46IHN0cmluZywgc3R1ZGVudF9pZF9jYXJkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIHN0dWRlbnRfaWRfY2FyZH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlBbGwodXNlclRva2VuOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlRXhwb3J0KHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZS9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldERpc2NvdW50Q291cG9ucyhwYXJhbXM6IEdldERpc2NvdW50Q291cG9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50KGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFBhcmVudEJ5Q29kZShwYXJhbXM6IFBhcmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3BhcmVudC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFkaWNJbmZvQnlDb2RlKHBhcmFtczogQWRpY0luZm9CeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9hZGl0aW9uYWxpbmZvL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnQocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEZ1bGxEYXRhQ29kQnlTdHVkZW50QW5kQ29kc0JlZm9yZShwYXJhbXM6IEZ1bGxEYXRhQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9mdWxsL2RhdGEvY29kL2J5L3N0dWRlbnQvYW5kL2NvZC9iZWZvcmUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChwYXJhbXM6IENvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC9hbmQvdHlwZS9wYXltZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2YWlzZXIocGFyYW1zOiBVc2VyVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9ieS9hZHZhaXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RDb3Vyc2VzQnlBZHZpc29yKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvY291cnNlcy9ieS9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZENvdXJzZXNCeUFkdmlzb3JPcmdhbml6ZWQocGFyYW1zOiBVc2VyVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9jb3Vyc2VzL2J5L2Fkdmlzb3Ivb3JnYW5pemVkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2aXNvckFuZENvdXJzZShwYXJhbXM6IEdldENvZEJ5Q291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1ZGVudC9ieS9jb3Vyc2UvYW5kL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlR29hbChwYXJhbXM6IElHb2FsSW50ZXJmYWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvY3JlYXRlL2dvYWwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gICAgfVxuXG4gIGdldEFsbEdvYWxzKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvdmlldy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModG9rZW4pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlRG9jdW1lbnQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L21lZGlhL2RvY3VtZW50JztcbiAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBwYXJhbXMuZmlsZSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd1c2VyX2F1dG9yJywgcGFyYW1zLnVzZXJfYXV0b3IpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29kZV91c2VyJywgcGFyYW1zLmNvZGVfdXNlcik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd0eXBlX2RvY3VtZW50JywgcGFyYW1zLnR5cGVfZG9jdW1lbnQpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndG9rZW4nLCBwYXJhbXMudG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgfVxuXG4gIGdldERvY3VtZW50c0J5U3R1ZGVudChwYXJhbXM6YW55KTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbWVkaWEvZG9jdW1lbnQvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFN0dWRlbnRCeUNvZGVBZHZpc2VyKHBhcmFtczogSVJlcG9ydENvZEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIEV4cG9ydEZpbGVFeGNlbENvZEJ5QWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2V4cG9ydC9leGNlbC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpblJlZmVycmFsc0J5VXNlcihwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgICBnZXRQb3NpYmxlU3R1ZGVudHNBbGwocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wb3NpYmxlL3N0dWRlbnRzL2FsbC9tb2RlbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHBvc3RBc3NpZ25Qb3NpYmxlU3R1ZW50Rm9yVmFsdWUocGFyYW1zOiBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wb3NpYmxlL3N0dWRlbnRzL3ZhbHVlL2Fzc2luZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0Q29udGFjdHNCeUFkdmlzZXJDb21tZXJjaWFsKHBhcmFtczogSUdldENvbnRhY3RzYWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0cy9tYXJrZXRpbmcvc3RyYXRlZ3kvYXNzaW5nL2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluQ29kUHJpY2VzKHBhcmFtczogSU9idGFpbkNvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3ByaWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0Q3JlYXRlZFNvY2lhbE5ldG93cmtzKHBhcmFtczogSVNvY2lhbE5ldHdvcmtzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L25ldy9yZWdpc3Rlci9zb2NpYWwvbmV0d29yayc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0QXNzaWduaW5nQWR2aXNvckdvYWxzKHBhcmFtczogSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ25pbmcvYWR2aXNvcnkvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zT2J0YWluQWR2aXNvckdvYWxzKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2dvYWxzL2Fzc2lnbmVkL3RvL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbk92ZXJhbEdvYWxBZHZpc28ocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vb3ZlcmFsL2dvYWwvb2YvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0T2J0YWluaW5mb0NvZEFjdHVhbGx5QnlVc2VyKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9pbmZvL2NvZC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbmdMYXRlc0NvZEJ5U3R1ZGVudENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbGF0ZXN0L2NvZC9ieS9zdHVkZW50L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlQ09EKHJlcXVlc3Q6IElVcGRhdGVDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdXBkYXRlL2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIG9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2N1cnJlbnQvY29kL2J5L2NvZGUvc3R1ZGVudC9yZW5vdmF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0ZGF0YUN1cnJlbnRDb2RCeVNUdWRlbnRDb2RlKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RhdGEvY3VycmVudC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29kQ3VycmVudEluT2JzZXJ2YXRpb25zUmVub3ZhdGlvbnMocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvY29kL3N0YXR1cy9vYnNlcnZhdGlvbnMvcmVub3ZhdGlvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFByZXZpdXNPclBsYWNlbWVudFRlc3RCeWNvZGUocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3JlZ2lzdGVyL3ByZXZpb3VzL29yL3BsYWNlbWVudC90ZXN0L2J5L3N0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvbnRyb2xTdGVwc0NvZFNlbGZNYW5hZ2VkKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL3N0ZXAvZm9ybS9jb250cm9sL2NvZC9zZWxmL21hbmFnZWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBPYnRhaW5Db2RQcmljZXNDb2RTZWxmTWFuYWdlZChwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zZWxmL21hbmFnZWQvcHJpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVDb2RTZWxmTWFuYWdlZChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3NlbGYvbWFuYWdlZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwcml6ZXNGb3JEdXJhdGlvbk9kQ29udGVzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAncHJpemVzL2Zvci9kdXJhdGlvbi9vZi9jb250ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGNyZWF0ZVRpY2tldFJlZmVycmFsKHBhcmFtczogSUNyZWF0ZVRpY2tldFJlZmVycmFsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjcmVhdGUvY29udGVzdC9yZWdpc3RyYXRpb24vYnkvcmVmZXJyYWxlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgb2J0YWluU3RhdHVzQW5kUmVmZXJyYWxzQnlVc2VyQ29kZShwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdGF0dXMvYW5kL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2VzUG9zaWJsZVN0dWRlbnRBbGxGb3VyTW9kZWxzQnlEYXRlKHBhcmFtczogSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcG9zaWJsZS9zdHVkZW50cy9hbGwvZm91ci9tb2RlbHMvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXNVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0KHBhcmFtczogSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdXNlci9jb21tZXJjaWFsL2J5L3R5cGUvYXNzaW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyKHBhcmFtczogQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvQXNzaW5nL3VzZXIvcG9zaWJsZS9zdHVkZW50L2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWRkaXRpb25hbFVzZXJEYXRhQnlDb3Vyc2UocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hZGRpdGlvbmFsL3VzZXIvZGF0YS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyKHBhcmFtczogSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvZEluZm9ybWF0aW9uRm9yRXhwb3J0aW5nKHBhcmFtczogSUNvZFBheW1lbnRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29kL2luZm9ybWF0aW9uL2Zvci9leHBvcnRpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlBZHZpc29yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9hZHZpc29yL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4dGVuZFRpbWVPZkFjY2VwdGFuY2VPZlRlcm1zKHBhcmFtczogSUV4dGVuZFRpbWVUZXJtc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXh0ZW5kL3RpbWUvb2YvYWNjZXB0YW5jZS9vZi90ZXJtcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBuZXdUZXJtc0FuZENvbmRpdGlvbnNBY2NlcHRhbmNlVG9rZW4ocGFyYW1zOiBJTmV3VGVybXNBbmRDb25kUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICduZXcvdGVybXMvYW5kL2NvbmRpdGlvbnMvYWNjZXB0YW5jZS90b2tlbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVTdGF0dXNPZlRlcm1zQW5kQ29uZGl0aW9uc1JlY29yZHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAndXBkYXRlL3N0YXR1cy9vZi90JmMvcmVjb3JkcycgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKG51bGwpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlDb29kaW5hdG9yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9jb29kaW5hdG9lL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbEluZm9ybWF0aW9uQ29kQnlDb2RlKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hbGwvaW5mb3JtYXRpb24vY29kL2J5L2NvZGUvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvcihwYXJhbXM6IElHZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3N1bW1hcnkvYnkvY29tbWVyY2lhbC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyKHJlcXVlc3Q6IElHZXRDb2RTdHVkZW50RGV0YWlsc0J5QWR2aXNlclJxLCBhZHZpc2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvY29kL3N0dWRlbnQvZGV0YWlscy9ieS9hZHZpc2VyLyR7YWR2aXNlckNvZGV9YDtcbiAgICBjb25zdCBvcHRpb25zID0geyAuLi50aGlzLmh0dHBPcHRpb25zLCBwYXJhbXM6IHJlcXVlc3QgYXMgYW55IH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlUGF5bWVudChwYXJhbXM6IElDcmVhdGVUeXBlUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS90eXBlL3BheW1lbnQvY29tbWlzc2lvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsVHlwZVBheW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL3R5cGUvcGF5bWVudC9jb21taXNzaW9ucyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuY3JlYXRlQ29tbWlzc2lvbkFyZWEocGFyYW1zOiBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL2NvbW1pc3Npb24vYXJlYSc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxudXBkYXRlQ29tbWlzc2lvbkFyZWEocGFyYW1zOiBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3B1dC91cGRhdGUvY29tbWlzc2lvbi1hcmVhJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG4gIGdldEFsbENvbW1pc3Npb25BcmVhcyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uL2FyZWFzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5hc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYShwYXJhbXM6IElBc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ24vY291cnNlLXR5cGVzL3RvLWFyZWEnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmNyZWF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvbihwYXJhbXM6IElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3BheW1lbnQvYXJlYS9jb21taXNzaW9uJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG4gIGdldENvbW1pc3Npb25SdWxlc0J5QXJlYShyZXF1ZXN0OiBJVG9rZW5ScSwgYXJlYUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L2NvbW1pc3Npb24tcnVsZXMvYnktYXJlYS8ke2FyZWFDb2RlfWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZVR5cGVVc2VyQ29tbWlzc2lvbihwYXJhbXM6IElDcmVhdGVUeXBlVXNlckNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvdHlwZS91c2VyL2NvbW1pc3Npb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsVHlwZVVzZXJDb21taXNzaW9ucyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC90eXBlL3VzZXIvY29tbWlzc2lvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYXNzaWduQ29tbWlzc2lvbk1vZGVsVG9Vc2VyKHBhcmFtczogSUFzc2lnbkNvbW1pc3Npb25Nb2RlbFRvVXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Fzc2lnbi9tb2RlbC90by91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFjdGl2ZUNvbW1pc3Npb25Nb2RlbEZvclVzZXIocmVxdWVzdDogSVRva2VuUnEsIHVzZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9hY3RpdmUvbW9kZWwvZm9yL3VzZXIvJHt1c2VyQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcGF5Q29tbWlzc2lvbnMocGFyYW1zOiBJUGF5U2VsZWN0ZWRDb21taXNzaW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9wYXkvY29kcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICAvL3JldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBwYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHJlamVjdFRyYW5zYWN0aW9uQnlDb2RlKHBhcmFtczogSXJlamVjdFRyYW5zYWN0aW9uQ29tbWlzc2lvblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9yZWplY3QvdHJhbnNhY3Rpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYXBwcm92ZVRyYW5zYWN0aW9uQnlDb2RlKHBhcmFtczogSUFwcHJvdmVUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvYXBwcm92ZS90cmFuc2FjdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBhZGREZXZvbHV0aW9uQ29tbWlzc2lvbihwYXJhbXM6IElhZGREZXZvbHV0aW9uQ29tbWlzc2lvblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9hZGQvZGV2b2x1dGlvbi9jb21taXNzaW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblRyYW5zYWN0aW9uc0J5U3RhdHVzKHJlcXVlc3Q6IElvYnRhaW5UcmFuc2FjdGlvbnNCeVN0YXR1c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvdHJhbnNhY3Rpb25zL2J5L3VzZXIvYW5kL3N0YXR1c2A7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzZWVUcmFuc2FjdGlvbkJpbGwocmVxdWVzdDogSVNob3dUcmFuc2FjdGlvbkJpbGxScSApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGNvbW1pc3Npb25zL3NlZS90cmFuc2FjdGlvbi9iaWxsYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheUFkdmlzb3JCb251c2VzKHBhcmFtczogSVBheUFkdmlzb3JCb251c2VzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NvbW1pc3Npb25zL3BheS9ib251c2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBwYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uKHJlcXVlc3Q6IElVcGRhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSwgcnVsZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS9wYXltZW50LWFyZWEtY29tbWlzc2lvbi8ke3J1bGVDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoc2VydmljZVVybCwgcmVxdWVzdCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmdldEFsbEFyZWFzV2l0aENvbW1pc3Npb25SdWxlcyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwtYXJlYXMtd2l0aC1jb21taXNzaW9uLXJ1bGVzJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxDb25kaXRpb25zKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uLWNvbmRpdGlvbnMnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmdldEFsbEFncmVlbWVudHMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL2FncmVlbWVudHMnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmFkZENvbmRpdGlvblRvUnVsZShyZXF1ZXN0OiBJQWRkQ29uZGl0aW9uVG9SdWxlUnEsIHJ1bGVDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwb3N0L2FkZC9jb25kaXRpb24vdG8tcnVsZS8ke3J1bGVDb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmVkaXRDb25kaXRpb25Ub1J1bGUocmVxdWVzdDogSUVkaXRDb25kaXRpb25SdWxlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwdXQvZWRpdC9jb25kaXRpb24vcnVsZWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmRlbGV0ZUNvbmRpdGlvbkZyb21SdWxlKHJlcXVlc3Q6IElUb2tlblJxLCBjb25kaXRpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL3J1bGUtY29uZGl0aW9uLyR7Y29uZGl0aW9uSWR9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgIHBhcmFtczogdGhpcy5odHRwT3B0aW9ucy5wYXJhbXNcbiAgfTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbnVwZGF0ZVR5cGVQYXltZW50KHJlcXVlc3Q6IElVcGRhdGVUeXBlUGF5bWVudFJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwdXQvdXBkYXRlL3R5cGUtcGF5bWVudC1jb21taXNzaW9uLyR7Y29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmRlbGV0ZVR5cGVQYXltZW50KHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvdHlwZS1wYXltZW50LWNvbW1pc3Npb24vJHtjb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG5kZWxldGVQYXltZW50QXJlYUNvbW1pc3Npb24ocmVxdWVzdDogSVRva2VuUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9wYXltZW50LWFyZWEtY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgIHBhcmFtczogdGhpcy5odHRwT3B0aW9ucy5wYXJhbXNcbiAgfTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbiAgb2J0YWluUHJlYXNzaWduZWRDb3Vyc2VzQW5kU3R1ZGVudEVucm9sbG1lbnRTdGF0dXMoY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3ByZWFzc2lnbmVkL2NvdXJzZXMvc3R1ZGVudC9lbnJvbGxtZW50L3N0YXR1cy8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBkZWxldGVDb25kaXRpb24ocmVxdWVzdDogSVRva2VuUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL2NvbW1pc3Npb24tY29uZGl0aW9uLyR7Y29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmh0dHBPcHRpb25zLmhlYWRlcnMsXG4gICAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJlbmV3U3R1ZGVudHNUb05leHRMZXZlbChyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYHBvc3QvY29kL2FuZC9yZW5ld2FsL2J5L2NvdXJzZXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblByZWFzc2lnbmVkQ291cnNlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcHJlYXNzaWduZWQvY291cnNlcyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICAgZnVsbERhdGFDb2RCeVN0dWRlbnRDb3Vyc2VQcmVhc3NpZ25lZChjb2RlX3N0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2Z1bGxkYXRhL2NvZC9ieS9zdHVkZW50L2NvdXJzZS9wcmVhc3NpZ25lZC8nICsgY29kZV9zdHVkZW50O1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGNvZGVfc3R1ZGVudCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBzZWFyY2hTdHVkZW50QnlJZGNhcmRDb3Vyc2VQcmVhc3NpZ25lZChpZGNhcmRfc3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnc2VhcmNoL3N0dWRlbnQvYnkvaWRjYXJkL2NvdXJzZS9wcmVhc3NpZ25lZC8nICsgaWRjYXJkX3N0dWRlbnQ7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoaWRjYXJkX3N0dWRlbnQpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZXhwb3J0UG9zaWJsZVN0dWRlbnRBbGxGb3VyTW9kZWxzQnlEYXRlKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3Bvc2libGUvc3R1ZGVudHMvYWxsL2ZvdXIvbW9kZWxzL2J5L2RhdGUvZm9yL2V4cG9ydCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxHb2Fsc0ZvckNvbW1pc3Npb25Nb2RlbHMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9oZWxwZXJzL2dvYWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5cbiAgZ2V0VGVhbUJ5TWFuYWdlcihyZXF1ZXN0OiBJVG9rZW5ScSwgbWFuYWdlckNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L3RlYW0vYnkvbWFuYWdlci8ke21hbmFnZXJDb2RlfWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGFzc2lnblN1Ym9yZGluYXRlVG9NYW5hZ2VyKHBhcmFtczogSUFzc2lnblN1Ym9yZGluYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdGVhbS9tZW1iZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHBhcmFtcywgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZW1vdmVTdWJvcmRpbmF0ZUZyb21NYW5hZ2VyKHBhcmFtczogSVJlbW92ZVN1Ym9yZGluYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2RlbGV0ZS90ZWFtL21lbWJlcic7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuaHR0cE9wdGlvbnMsXG4gICAgICBib2R5OiB7IHBhcmFtcyB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbn1cblxubWFzc0Fzc2lnblN1Ym9yZGluYXRlcyhwYXJhbXM6IElBc3NpZ25TdWJvcmRpbmF0ZXNNYXNzaXZlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90ZWFtL21lbWJlcnMvbWFzc2l2ZSc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRVc2Vyc0ZvckNvbW1pc3Npb25NYW5hZ2VtZW50KHJlcXVlc3Q6IElUb2tlbkNhbXB1c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdXNlcnMvZm9yLW1hbmFnZW1lbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQ29tbWlzc2lvbkNvbmNlcHRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL2NvbW1pc3Npb24vY29uY2VwdHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZVR5cGVVc2VyQ29tbWlzc2lvbihwYXJhbXM6IElVcGRhdGVUeXBlVXNlckNvbW1pc3Npb25ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwdXQvdXBkYXRlL3R5cGUvdXNlci9jb21taXNzaW9uLyR7Y29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdWJvcmRpbmF0ZXNCeU1hbmFnZXIocmVxdWVzdDogSVRva2VuUnEsIG1hbmFnZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC90ZWFtL2J5L21hbmFnZXIvJHttYW5hZ2VyQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZGVsZXRlVHlwZVVzZXJDb21taXNzaW9uKHBhcmFtczogSURlbGV0ZVR5cGVVc2VyQ29tbWlzc2lvblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS90eXBlL3VzZXIvY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLi4udGhpcy5odHRwT3B0aW9ucyxcbiAgICAgIGJvZHk6IHsgcGFyYW1zIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xuICB9XG4gIGdldE1vbnRobHlCb251c1N0YXR1cyhyZXF1ZXN0OiBhbnksIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGFkdmlzb3IvbW9udGhseS9zdGF0dXMvJHtjb2RlfWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQ291cnNlVHlwZUNhdGVnb3JpZXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9hbGwvY291cnNlL3R5cGUvY2F0ZWdvcmllc2A7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIFxuXG4gICAgZ2V0VHJhbnNhY3Rpb25Db21taXNzaW9uc0J5Q29kZShyZXF1ZXN0OiBJR2V0Q29tbWlzc2lvbnNCeVRyYW5zYWN0aW9uQ29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvY29tbWlzc2lvbnMvYnkvdHJhbnNhY3Rpb24vY29kZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjYW5jZWxsVHJhbnNhY3Rpb25CaWxsKHBhcmFtczogSUNhbmNlbGxUcmFuc2FjdGlvbkJpbGxScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvY2FuY2VsbC90cmFuc2FjdGlvbi9iaWxsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5cblxuXG4gICAgYWRkQm9udXNSdWxlKHBhcmFtczogSWFkZEJvbnVzUnVsZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2FkZC9ib251cy9ydWxlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGVkaXRCb251c1J1bGUocGFyYW1zOiBJYWRkQm9udXNSdWxlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZWRpdC9ib251cy9ydWxlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZUJvbnVzUnVsZShwYXJhbXM6IElhZGRCb251c1J1bGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kZWxldGUvYm9udXMvcnVsZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRCb251c1J1bGVzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9ib251cy9ydWxlcyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICByZW1vdmVDb21taXNzaW9uRnJvbVRyYW5zYWN0aW9uKHBhcmFtczogSXJlbW92ZUNvbW1pc3Npb25Gcm9tVHJhbnNhY3Rpb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncmVtb3ZlL2NvbW1pc3Npb24vZnJvbS90cmFuc2FjdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxDb25maWdEYXRhRm9yQ29tbWlzc2lvbihwYXJhbXM6IElUb2tlbkNhbXB1c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL2NvbmZpZy9kYXRhL2Zvci9jb21taXNzaW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldHdhbGxldEJ5Q2FtcHVzVHJhbnNhY3Rpb24ocGFyYW1zOiBJb2J0YWluV2FsbGV0V2l0aFByaWNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvd2FsbGV0L2J5L2NhbXB1cy90cmFuc2FjdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRCb251c1J1bGVDb21tZXJjaWFsQnlDYW1wdXMocGFyYW1zOiBJZ2V0Qm9udXNSdWxlQ29tbWVyY2lhbEJ5Q2FtcHVzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9ib251cy9ydWxlcy9jb21tZXJjaWFsL2NhbXB1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH0gIFxuXG4gIG9idGFpblByZXZpZXdUcmFuc2FjdGlvbkV4cG9ydERhdGEocGFyYW1zOiBJb2J0YWluUHJldmlld1RyYW5zYWN0aW9uRXhwb3J0RGF0YVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwcmV2aWV3L3RyYW5zYWN0aW9uL2V4cG9ydC9kYXRhJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBcbn1cblxuXG4iXX0=
|
|
@@ -4613,6 +4613,11 @@ class CommercialService extends IPTGeneralService {
|
|
|
4613
4613
|
this.generateRequestParams(params);
|
|
4614
4614
|
return this.http.post(serviceUrl, this.httpOptions);
|
|
4615
4615
|
}
|
|
4616
|
+
obtainPreviewTransactionExportData(params) {
|
|
4617
|
+
const serviceUrl = this.SERVICE_URL + 'preview/transaction/export/data';
|
|
4618
|
+
this.generateRequestParams(params);
|
|
4619
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
4620
|
+
}
|
|
4616
4621
|
}
|
|
4617
4622
|
CommercialService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4618
4623
|
CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });
|