iptdevs-design-system 3.1.896 → 3.1.898
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/budget/budget.model.mjs +1 -1
- package/esm2020/lib/core/models/transfer/transfer.model.mjs +2 -0
- package/esm2020/lib/core/services/budget-service/budget-service.mjs +16 -1
- package/fesm2015/iptdevs-design-system.mjs +15 -0
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +15 -0
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/core/models/budget/budget.model.d.ts +3 -3
- package/lib/core/models/transfer/transfer.model.d.ts +20 -0
- package/lib/core/services/budget-service/budget-service.d.ts +4 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudENvdXJzZVJxIH0gZnJvbSBcIi4uL2NsYXNzcm9vbS9jbGFzc3Jvb20tcnEubW9kZWxcIjtcbmltcG9ydCB7IENvdXJzZVR5cGVDUnEgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZS1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgRW5nbGlzaF9MZXZlbHMgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZXMubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBnZXRkaXNjb3VudEFsbFJxe1xuICB0b2tlbjpzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ291cG9uIHtcbiAgY29kZT86ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfcmVmOiAgICAgICAgICAgc3RyaW5nO1xuICBuYW1lOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIHR5cGU6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfdHlwZTogICAgICAgICAgc3RyaW5nO1xuICBwZXJjZW50YWdlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgICAgICAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgICAgICAgIERhdGU7XG4gIHN0YXRlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGVzY3JpcHRpb246ICAgICAgICAgICAgc3RyaW5nO1xuICBkaXNjb3VudF9hY2FkZW1pY19wbGFuOiBEaXNjb3VudEFjYWRlbWljUGxhbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvdW50QWNhZGVtaWNQbGFuIHtcbiAgY29kZTogIG51bWJlcjtcbiAgbmFtZTogIHN0cmluZztcblxufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGRpc2NvdW50X3JlZjpzdHJpbmc7XG4gIG5hbWU6c3RyaW5nO1xuICB0eXBlOm51bWJlcjtcbiAgZGlzY291bnRfdHlwZTpudW1iZXI7XG4gIHBlcmNlbnRhZ2U6bnVtYmVyO1xuICBzdGFydF9kYXRlOkRhdGU7XG4gIGVuZF9kYXRlOkRhdGU7XG4gIHN0YXRlOm51bWJlcjtcbiAgZGVzY3JpcHRpb246c3RyaW5nO1xuICBwbGFuOm51bWJlcltdO1xufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFVwZGF0ZVJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGNvZGU/Om51bWJlcjtcbiAgc3RhcnRfZGF0ZTpEYXRlO1xuICBlbmRfZGF0ZTpEYXRlO1xuICBzdGF0ZTpudW1iZXI7XG4gIGRlc2NyaXB0aW9uOnN0cmluZztcbiAgcGxhbjpudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlQ291cG9ue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURpc2NvdW50e1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVN0YXRle1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudHtcbiAgbmFtZTogc3RyaW5nO1xuICBkb2N1bWVudDogbnVtYmVyO1xuICBwaG9uZTpudW1iZXI7XG4gIHBsYW46IHN0cmluZztcbiAgc3RhdGU6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGV7XG4gIGNvZGU/Om51bWJlcjtcbiAgbmFtZT86c3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBQbGFue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cblxuLy8vLy8vLy8vLy8vLy9cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkFsbENvdXJzZXdhbGxldHtcbiAgdG9rZW46c3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogICAgICAgbnVtYmVyO1xuICBtZXNzYWdlOiAgICAgIElNZXNzYWdlUnE7XG4gIGRhdGE6ICAgICAgICAgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgY291cnNlX3dhbGxldF9jb2RlOiAgICAgICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgICAgICAgICAgICBJVXNlckNvZGVScTtcbiAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgSUNvdXJzZUNvZGVScTtcbiAgY291cnNlX3dhbGxldF9zdGF0dXNfY29kZTogSUNvdXJzZVdhbGxldFN0YXR1c0NvZGVScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9zY2hlZHVsZTogc3RyaW5nW107XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIENvdXJzZVR5cGVDUnE7XG4gIHRvX3N0YXJ0OiAgICAgICAgRGF0ZTtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBmaW5pc2hfZGF0ZTogICAgIERhdGU7XG4gIGNhcGFjaXR5OiAgICAgICAgbnVtYmVyO1xuICBtb3JlX2RheXM6ICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgc3RyaW5nO1xuICBhZ3JlZW1lbnQ6ICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBJQ291cnNlTW9kYWxpdHlScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlTW9kYWxpdHlScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VXYWxsZXRTdGF0dXNDb2RlUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgc3RhdHVzOiAgICAgICBzdHJpbmc7XG4gIGNvbG9yX3N0YXR1czogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIHN0cmluZztcbiAgcm9sZTogICAgICAgICAgICAgbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlOiBudW1iZXI7XG4gIHBob25lX251bWJlcjogICAgIHN0cmluZztcbiAgZ2VuZGVyOiAgICAgICAgICAgbnVtYmVyO1xuICBiaXJ0aGRhdGU6ICAgICAgICBEYXRlIHwgbnVsbDtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlUnEge1xuICBjb2RlOiAgICBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnblJlcXVlc3RScXtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlckNvZGU6IG51bWJlcjtcbiAgY29kZUNvdXJzZTogbnVtYmVyIHwgbnVsbDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzIHtcbiAgdG9rZW46ICAgICAgc3RyaW5nO1xuICBjb2RfY29kZTogICBudW1iZXI7XG4gIG5hbWVfZXZlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxDb3Vyc2VBdmFpbGFibGVCeVN0dWRlbnRScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBJTWVzc2FnZVJxO1xuICBkYXRhOiAgICAgICAgIElBdmFpbGFibGVDb3Vyc2VzUnE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF2YWlsYWJsZUNvdXJzZXNScSB7XG4gIGF2YWlsYWJsZUNvdXJzZXM6IElDb3Vyc2VBdmFpbGFibGVScVtdIHwgYW55W107XG4gIG92ZXJkdWU6ICAgICAgICAgIElPdmVyZHVlUnEgfCBhbnlbXTtcbiAgdW5pdEFkdmFuY2U6ICAgICAgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQXZhaWxhYmxlUnEge1xuICBudW1iZXJDbGFzZXM6IG51bWJlcjtcbiAgY3VycmVudEV2ZW50OiBJRXZlbnRDb3Vyc2VScTtcbiAgY291cnNlRGF0YTogICBJQ291cnNlRGF0YU5hbWVzUnE7XG4gIGNsYXNzcm9vbTogICAgSUNsYXNzcm9vbUVsZW1lbnRScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGFzc3Jvb21FbGVtZW50UnEge1xuICBjbGFzc3Jvb206ICBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnE7XG4gIHRpbWVfc3RhcnQ6IHN0cmluZztcbiAgdGltZV9lbmQ6ICAgc3RyaW5nO1xuICBkYXlzOiAgICAgICBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgaWRfY2FsZW5kYXI6ICAgICBzdHJpbmc7XG4gIGFkcmVzczogICAgICAgICAgc3RyaW5nO1xuICB1cGRhdGVkX2F0OiAgICAgIERhdGU7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlRGF0YU5hbWVzUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIHN0cmluZztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcmR1ZVJxIHtcbiAgY29kZVN0dWRlbnQ6ICAgICBudW1iZXI7XG4gIG51bUR1ZXM6ICAgICAgICAgbnVtYmVyO1xuICBuYW1lU3R1ZGVudDogICAgIHN0cmluZztcbiAgbGFzdG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIGRvY3VtZW50U3R1ZGVudDogc3RyaW5nO1xuICBkdWVBbW91bnQ6ICAgICAgIG51bWJlcjtcbiAgY29sb3JEYXk6ICAgICAgICBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Q29kQnlQYXltZW50UGxhblJxIHtcbiAgdG9rZW46ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudENvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSB7XG4gIHRva2VuOiAgICAgICAgICBzdHJpbmc7XG4gIHZhbHVlQW1vdW50OiAgICBudW1iZXI7XG4gIGNvZGVDb2RQYXltZW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvZFN0dWRlbnRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBJU3R1ZGVudFJzO1xuICBwYXJlbnQ6ICAgICAgICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgICAgIG51bWJlcjtcbiAgYmlydGhkYXRlOiAgICAgICAgRGF0ZTtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEge1xuICB0b2tlbjogICAgICBzdHJpbmc7XG4gIFBheW1lbkRhdGU6IERhdGU7XG4gIGNvZGVDb2Q6ICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsU3R1ZGVudEZlZVBheW1lbnRScSB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBxdW90YXNfYWZmZWN0ZWQ6IElRdW90YXNBZmZlY3RlZFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1b3Rhc0FmZmVjdGVkUnEge1xuICBjb2RfY29kZTogICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgIG51bWJlcjtcbiAgcmVjZWlwdF9jb2RlOiAgICAgbnVtYmVyO1xuICBxdW90YV9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNyZWRpdF9jb2RlOiAgICAgIG51bWJlcjtcbiAgY3JlZGl0X2Ftb3VudDogICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fdHlwZTogbnVtYmVyO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblN0dWRlbnRQYXltZW50c0J5R3JvdXBpbmdDb2RScyB7XG4gIGNvZF9jb2RlOiAgICAgICAgICBudW1iZXI7XG4gIHJlY2VpcHRfY29kZTogICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgICBudW1iZXI7XG4gIGFtb3VudF9wYXk6ICAgICAgICBudW1iZXI7XG4gIGRpc2NvdW50X3BheTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfY29kZTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfbmFtZTogICAgICBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIGZ1bGxfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIGRhdGVfcGF5OiAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYW5jZWxTdHVkZW50UmVjZWlwdFJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIHF1b3Rhc19hZmZlY3RlZDogSVF1b3Rhc0FmZmVjdGVkUnFbXSB8IG51bGw7XG4gIHJlY2VpcHQgICAgICAgIDogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgIERhdGUgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogICAgICAgIERhdGUgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDogbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICAgIERhdGU7XG4gIHVzZXJfY29kZTogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgICAgIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnNbXTtcbiAgdG90YWxfYW1vdW50X2J5X21ldGhvZDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJzIHtcbiAgcGF5bWVudF9tZXRob2Q6ICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICBudW1iZXIgfCBudWxsO1xuICByZWNlaXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2NvZGU6ICAgICAgbnVtYmVyO1xuICBhbW91bnRfcGF5OiAgICAgICAgbnVtYmVyO1xuICBkaXNjb3VudF9wYXk6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X25hbWU6ICAgICAgc3RyaW5nO1xuICBpbnZvaWNlX2NhbmNlbGxlZDogbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgc3RyaW5nO1xuICBkYXRlX3BheTogICAgICAgICAgRGF0ZTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbENhc2hSZWNlaXB0c0J5RGF0ZUFuZFVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgIElQYXltZW50QmlsbEdyYXBoUnNbXTtcbiAgdG90YWxfYnlfbWV0aG9kOiAgICAgSVRvdGFsQnlNZXRob2RSc1tdO1xuICBudW1iZXJfdHJhbnNhY3Rpb25zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRCaWxsR3JhcGhScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBwYXllcl9uYW1lOiAgICAgICAgIHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ6ICAgICBzdHJpbmc7XG4gIGFjYWRlbWljX3BsYW46ICAgICAgbnVtYmVyO1xuICBwYXltZW50X3JlZmVyZW5jZTogIG51bGwgfCBzdHJpbmc7XG4gIHBheW1lbnRfZGF0ZTogICAgICAgRGF0ZSB8IG51bGw7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgaW52b2ljZV9jYW5jZWxsZWQ6ICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxCeU1ldGhvZFJzIHtcbiAgY29kZTogICBudW1iZXI7XG4gIG5hbWU6ICAgc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEge1xuICB0b2tlbjogICAgICAgICBzdHJpbmc7XG4gIG1vZGFsaXR5OiAgICAgIG51bWJlcjtcbiAgY291cnNlX3N0YXR1czogbnVtYmVyO1xuICBjb29yZGluYXRvcjogICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6IElFbmdsaXNoTGV2ZWxScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbmdsaXNoTGV2ZWxScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVDb21tb25FeHBlbnNlcyAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxICB7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfY29kZTogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGRhdGFDb3Vyc2U6ICAgICAgICBJRnVsZGF0YUNvdXJzZVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGdWxkYXRhQ291cnNlUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBzdHJpbmdbXTtcbiAgdGVhY2hlcjogICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgSUNvdXJzZVR5cGVDbHVBbmRUaGVScztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IElDb3Vyc2VNb2RhbGl0eVJxO1xuICBpc19yZW5vdmF0aW9uOiAgIG51bWJlcjtcbiAgaXNfZnJvbTogICAgICAgICBudWxsO1xuICBpc19jbHViOiAgICAgICAgIG51bWJlcjtcbiAgaXNfdmlzaWJsZTogICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlVHlwZUNsdUFuZFRoZVJzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICAgIHN0cmluZztcbiAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgbnVtYmVyX2NsYXNzOiAgICAgIG51bWJlcjtcbiAgbnVtYmVyX2NsYXNzX2NsdWI6IG51bWJlcjtcbiAgYWNhZGVtaWNfcGxhbjogICAgIHN0cmluZztcbiAgdGhlb3J5X2NsYXNzZXM6ICAgIG51bWJlcjtcbiAgY2x1Yl9jbGFzc2VzOiAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5QnlDb2RScSAge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY291cnNlX2NvZGU6ICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEgIHtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIHVzZXI6ICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvdXNfY291cnNlOiAgICAgIG51bGw7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxkYXRhQ291cnNlOiAgICAgICBJQWxsQ291cnNlc1ZpZXdlZFJzO1xuICBjdXJyZW50X2NvZDogICAgICAgICAgSUN1cnJlbnRDb2RScztcbiAgYWxsX2NvdXJzZXNfdmlld2VkOiAgIElBbGxDb3Vyc2VzVmlld2VkUnNbXTtcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgIElVc2VyV2FsbGV0UnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZXNWaWV3ZWRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2Vfc2NoZWR1bGU6IHN0cmluZ1tdO1xuICB0ZWFjaGVyOiAgICAgICAgIHN0cmluZztcbiAgY291cnNlX3R5cGU6ICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICB0b19zdGFydDogICAgICAgIERhdGU7XG4gIHN0YXJ0X2RhdGU6ICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICBEYXRlO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgbW9yZV9kYXlzOiAgICAgICBudWxsO1xuICBlbmdsaXNoX2xldmVsOiAgIHN0cmluZztcbiAgYWdyZWVtZW50OiAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogSUNvdXJzZU1vZGFsaXR5UnE7XG4gIGlzX3Jlbm92YXRpb246ICAgbnVtYmVyO1xuICBpc19mcm9tOiAgICAgICAgIG51bGw7XG4gIGlzX2NsdWI6ICAgICAgICAgbnVtYmVyO1xuICBpc192aXNpYmxlOiAgICAgIG51bWJlcjtcbiAgdXBkYXRlZF9hdD86ICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUN1cnJlbnRDb2RScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBudW1iZXI7XG4gIHBhcmVudDogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBhZGl0aW9uYWxfaW5mb3JtYXRpb246IG51bWJlcjtcbiAgYWR2aXNlcjogICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9zdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcHJpY2U6ICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3BhaWQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXBheW1lbnRCaWxsRWdyZXNzUnEge1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbms6IG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogbnVtYmVyO1xuICBnZW5lcmF0ZWRfYnk6IHN0cmluZztcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZT86IHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ/OiBudW1iZXI7XG4gIGNvZGVBY2FkZW1pY19wbGFuOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gIHJlZl9wYXltZW50PzpzdHJpbmc7XG4gIGRhdGVfcGF5bWVudDpEYXRlO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdHlwZV9tb3ZlbWVudHM6bnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nUnEge1xuICB0b2tlbjpzdHJpbmdcbiAgfVxuZXhwb3J0IGludGVyZmFjZSBJbmZvQ2FzaENsb3NpbmdScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6IG51bWJlcjtcbiAgY29kZV91c2VyOm51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nRGF0ZVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogc3RyaW5nO1xuICBjb2RlX3VzZXI6bnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgSVBheW1lbnRXYWxsZXRScyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2FudGlkYWQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY2FzaENsb3NpbmdEYXRhUnMge1xuICB0b3RhbEluY29tZTogbnVtYmVyO1xuICB0b3RhbEVncmVzczogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kSW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50TWV0aG9kRWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0RWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0SW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJbmNvbWVzQW5kRWdyZXNzUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDpudW1iZXI7XG4gIGNvZGVfdHlwZV9tb3ZlbWVudDpudW1iZXI7XG4gIHN0YXJ0X2RhdGU/OnN0cmluZztcbiAgZmluaXNoX2RhdGU/OnN0cmluZztcbiAgdXNlcl9jb2RlOm51bWJlcjtcbiAgfVxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluQmFsYWNlc0J5Q29vZGluYXRvclJxe1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGNvdXJzZV9zdGF0dXM6ICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBFbmdsaXNoX0xldmVsc1tdO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnF7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBlbmRfZGF0ZTogICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZVJzIHtcbiAgaW5jb21lOiAgIFJlc3BvbnNlUGF5O1xuICBleHBlbnNlczogUmVzcG9uc2VQYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VQYXkge1xuICBsaXN0UGF5bWVudDogICBJTGlzdFBheW1lbnRSc1tdO1xuICBzdW1CeU1ldGhvZDogICBJU3VtQnlNZXRob2RQYXlSc1tdO1xuICB0b3RhbEFtb3VudDogICBudW1iZXI7XG4gIGRhdGVDb25zdWx0OiAgIElEYXRlQ29uc3VsdFJzO1xuICB1c2VyQ29uc3VsdGVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVDb25zdWx0UnMge1xuICBzdGFydERhdGU6IERhdGU7XG4gIGVuZERhdGU6ICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdFBheW1lbnRScyB7XG4gIHBheW1lbnRfY29kZTogICAgICAgbnVtYmVyO1xuICBtZXRob2RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbWV0aG9kX2NvZGU6ICAgICAgICBudW1iZXI7XG4gIHNlcnZpY2U6ICAgICAgICAgICAgc3RyaW5nO1xuICB3YWxsZXQ6ICAgICAgICAgICAgIHN0cmluZztcbiAgYmFuazogICAgICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxuYW1lX3N0dWRlbnQ6ICAgc3RyaW5nO1xuICBmdWxsbmFtZV91c2VyOiAgICAgIHN0cmluZztcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBmYXRoZXJfbmFtZTogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHBhdGhlcl9kb2N1bWVudDogICAgbnVsbCB8IHN0cmluZztcbiAgYWNhZGVtaWNfcGxhbjogICAgICBudW1iZXI7XG4gIHJlZmVyZW5lY19wYXltZW50OiAgbnVsbCB8IHN0cmluZztcbiAgY3JlYXRlX2RhdGU6ICAgICAgICBEYXRlO1xuICBvYnNlcnZhdGlvbjogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdW1CeU1ldGhvZFBheVJzIHtcbiAgTWV0b2RvX3BhZ29fY29kZTogbnVtYmVyO1xuICBNZXRvZG9fcGFnbzogICAgICBzdHJpbmc7XG4gIFRvdGFsX3Bvcl9tZXRvZG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudHNNYWRlQnlEYXRlc1JzIHtcbiAgYW1vdW50Q2FuY2VsOiAgICAgICAgICBudW1iZXI7XG4gIGNvZENvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjcmVhdGlvbl9kYXRlOiAgICAgICAgIERhdGU7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICAgICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgICAgIG51bWJlcjtcbiAgY29tbW9uX2V4cGVuc2VzOiAgICAgICBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X2Ftb3VudDogICAgICAgIG51bWJlcjtcbiAgb3V0c3RhbmRpbmdfYW1vdW50OiAgICBudW1iZXI7XG4gIHBvc2l0aXZlX2Ftb3VudDogICAgICAgbnVtYmVyO1xuICBkaXNjb3VudDogICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIHBheWVyX2RvY3VtZW50OiAgICAgICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuOiAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6ICAgICBudWxsIHwgc3RyaW5nO1xuICBwYXltZW50X2RhdGU6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICBvYnNlcnZhdGlvbjogICAgICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgICAgbnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGNvZF9jb3Vyc2U6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZF9uYW1lOiAgIHN0cmluZztcbiAgcGF5bWVudF9zZXJ2aWNlc19uYW1lOiBzdHJpbmc7XG4gIHBheW1lbnRfd2FsbGV0X25hbWU6ICAgc3RyaW5nO1xuICBiYW5rX25hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgZnVsbG5hbWVfZmF0aGVyczogICAgICBudWxsIHwgc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yX25hbWU6ICAgIHN0cmluZztcbiAgZ2VuZXJhdGVkX2J5X25hbWU6ICAgICBzdHJpbmc7XG4gIHR5cGVfbW92ZW1lbnRzX25hbWU6ICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuX25hbWU6ICAgIHN0cmluZztcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgICBJVXNlcldhbGxldFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIHBob25lU3R1ZGVudDogc3RyaW5nO1xuICBwYXltZW50RGF0ZTogc3RyaW5nO1xuICBhY2FkZW1pY1BsYW46IHN0cmluZztcbiAgcGF5ZXJEb2N1bWVudDogc3RyaW5nO1xuICB0b3RhbEFtb3VudDogbnVtYmVyO1xuICBwYXltZW50QW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nQW1vdW50OiBudW1iZXI7XG4gIGRpc2NvdW50PzogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kOiBzdHJpbmc7XG4gIGJhbms/OiBudW1iZXI7XG4gIG9ic2VydmF0aW9uPzogc3RyaW5nO1xuICBjb2Rlc1JlZmVyczogbnVtYmVyW107XG4gIGNvZGVEaXNjb3VudDogbnVtYmVyO1xuICBjb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudENhbmNlbGxhdGlvblJTIHtcbiAgZW1haWw6IHN0cmluZztcbiAgc3R1ZGVudE5hbWU6IHN0cmluZztcbiAgcmVjZWlwdENvZGU6IG51bWJlcjtcbiAgY2FuY2VsbGF0aW9uRGF0ZTogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgY29uY2VwdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50Q29ycmVsYXRpdmVScSB7XG4gIHRva2VuOnN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xuICBzdGFydF9kYXRlOiBEYXRlO1xuICBlbmRfZGF0ZTogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudENvcnJlbGF0aXZlUnF7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiBudW1iZXIgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogRGF0ZTtcbiAgc3RhcnRfZGF0ZTogRGF0ZTtcbiAgdG9rZW46IHN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5HYXRld2F5UGF5bWVudFJlY29yZFJxIHtcbiAgY29kOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZUVwYXljb1BheW1lbnRScXtcbiAgcmVmX3ZhbGlkYXRpb246IHN0cmluZztcbiAgcGF5bWVudF9yZWY6ICAgIHN0cmluZztcbiAgeF9yZWZfcGF5Y286ICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZztcbiAgc3RhdHVzX2NvZGU6ICAgIG51bWJlcjtcbiAgc3RhdHVzX25hbWU6ICAgIHN0cmluZztcbiAgYW1vdW50OiAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9wYXltZW50OiAgIHN0cmluZztcbiAgYmFua19uYW1lOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3BpbjogICAgIHN0cmluZztcbiAgY3VycmVuY3lfY29kZTogIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBheWNvUGF5bWVudFVwZGF0ZVJzIHtcbiAgZ2F0ZVBheW1lbnQ6IElHYXRlUGF5bWVudFJzO1xuICBzZWxmTWFuYWc6ICAgSVNlbGZNYW5hZ1JzO1xuICBlcGFCaWxsbDogICAgSUVwYUJpbGxsUnM7XG4gIHVwZFVzZXI6ICAgICBJVXBkVXNlclJzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBhQmlsbGxScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgICAgc3RyaW5nO1xuICBhbW91bnQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGVwYXljb19iYW5rOiAgICAgICAgIHN0cmluZztcbiAgZXBheWNvX3BheW1lbnRfdHlwZTogc3RyaW5nO1xuICBlcGF5Y29fcGluOiAgICAgICAgICBzdHJpbmc7XG4gIGVwYXljb19zdGF0dXM6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHYXRlUGF5bWVudFJzIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfc2VydmljZTogbnVtYmVyO1xuICBjb2Q6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9hbW91bnQ6ICBudW1iZXI7XG4gIHBheW1lbnRfcmVmOiAgICAgc3RyaW5nO1xuICBlcGF5Y29fcmVmOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3N0YXR1czogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGZNYW5hZ1JzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlOiAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZWxlY3Rpb246IG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgIHN0cmluZztcbiAgbmVlZF9wYXk6ICAgICAgICAgIG51bWJlcjtcbiAgaXNfcGF5OiAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkVXNlclJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgbnVsbDtcbiAgZW1haWw6ICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbF9pcHQ6ICAgICAgICBudWxsO1xuICByb2xlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmU6IG51bWJlcjtcbiAgcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICBnZW5kZXI6ICAgICAgICAgICBudW1iZXI7XG4gIGJpcnRoZGF0ZTogICAgICAgIERhdGU7XG4gIGNpdHk6ICAgICAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZF90eXBlOiAgICAgbnVtYmVyO1xuICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gIHN0YXR1c19hc2luZzogICAgIG51bWJlcjtcbiAgZm9vdHByaW50OiAgICAgICAgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnEge1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjb3Vyc2Vfc3RhdHVzOiAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBJRW5nbGlzaExldmVsUnFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnMge1xuICBjb3Vyc2VDb2RlOiAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBFbmdsaXNoTGV2ZWw6ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICBTdGFydERhdGU6ICAgICAgICAgICAgICAgICAgICAgRGF0ZTtcbiAgRmluaXNoRGF0ZTogICAgICAgICAgICAgICAgICAgIERhdGU7XG4gIENvdXJzZVR5cGU6ICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZU1vZGFsaXR5OiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZVJlbm92YXRpb246ICAgICAgICAgICAgICBzdHJpbmc7XG4gIHRvdGFsX3N0dWRlbnQ6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIEFjdGl2ZVN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFN0dWRlbnRzU3VzcGVuZGVkUGF5OiAgICAgICAgICBudW1iZXI7XG4gIEZyb3plblN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFdpdGhkcmF3blN0dWRlbnRzOiAgICAgICAgICAgICBudW1iZXI7XG4gIHNjaG9sYXJzaGlwU3R1ZGVudHM6ICAgICAgICAgICBJU2Nob2xhcnNoaXBTdHVkZW50UnNbXTtcbiAgc3R1ZGVudHNXaXRoQ2FzaFBheW1lbnRzOiAgICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoQ3JlZGl0UGF5bWVudHM6ICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoU2Nob2xhcnNoaXBzOiAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVBheW1lbnRzVG9SZWNlaXZlZDogICAgIG51bWJlcjtcbiAgbHVtcFN1bVBhaWQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgb3ZlcmR1ZUx1bXBTdW06ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVJlY2VpdmFibGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYXltZW50c1RvUmVjZWl2ZWQ6IG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUGF1c2VkOiAgICAgIG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUmV0aXJlZXM6ICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYWlkOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgU3R1ZGVudHNBY3RpdmU6ICAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xuICBTdHVkZW50c1N1c3BlbmRlZFBheW1lbnQ6ICAgICAgSVN0dWRlbnRzUGF5UnM7XG4gIFN0dWRlbnRzUGF1c2VkUHJvY2VzczogICAgICAgICBJU3R1ZGVudHNQYXlScztcbiAgU3R1ZGVudHNSZXRpcmVkOiAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHVkZW50c1BheVJzIHtcbiAgY291bnQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdG90YWxfb3Zlckluc3RhbGxtZW50czogIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X2V4cGVjdGVkOiAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3BhaWQ6ICAgICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3JlY2VpdmFibGU6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50X292ZXJkdWU6ICAgIG51bWJlcjtcbiAgZGF0YTogICAgICAgICAgICAgICAgICAgIElTdHVkZW50c0FjdGl2ZVJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0dWRlbnRzQWN0aXZlUnMge1xuICBjb2RfY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgbnVtYmVyO1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIElQYXltZW50c01hZGVScztcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU91dHN0YW5kaW5nUGF5bWVudHNScyB7XG4gIG91dHN0YW5kaW5nX3BheW1lbnRzOiBudW1iZXI7XG4gIG51bWJlcl9pbnN0YWxsbWVudHM6ICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRzTWFkZVJzIHtcbiAgbWFkZV9wYXltZW50czogICAgICAgbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjaG9sYXJzaGlwU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfdHlwZTogICAgICAgICAgIG51bWJlcjtcbiAgYWdyZWVtZW50OiAgICAgICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGFyZW50OiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcGFpZDogICAgICAgICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgIG51bWJlcjtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElFbGVjdHJvbmljSW52b2ljZVJTIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogRGF0ZSB8IG51bGw7XG4gIGVuZF9kYXRlOiBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgcGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICBtZXNzYWdlOiBJTWVzc2FnZVJxO1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50QmlsbEZ1bGxEYXRhUnMge1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsUnNbXTtcbiAgcGFnaW5hdGlvbjogSVBhZ2luYXRpb25Scztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudEJpbGxGdWxsUnMge1xuICBwYXltZW50X2JpbGxfY29kZTogbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbmtfbmFtZTogc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yOiBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogbnVtYmVyO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcGF5ZXJfZG9jdW1lbnQ6IHN0cmluZyB8IG51bGw7XG4gIGFjYWRlbWljX3BsYW46IG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6IHN0cmluZyB8IG51bGw7XG4gIHBheW1lbnRfZGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgb2JzZXJ2YXRpb246IHN0cmluZyB8IG51bGw7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIG1hbnVhbF9yZWNlaXB0OiBzdHJpbmcgfCBudWxsO1xuICBjb3JyZWxhdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgZWxlY3Ryb25pY19pbnZvaWNlOiBzdHJpbmcgfCBudWxsO1xuICBwYXltZW50X2JpbGxfY3JlYXRlZF9hdDogc3RyaW5nO1xuICBwYXltZW50X2JpbGxfdXBkYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSB0cmFuc2ZlcnNcbiAgdHJhbnNmZXJfYW1vdW50OiBudW1iZXIgfCBudWxsO1xuICBpbml0aWFsX2Ftb3VudDogbnVtYmVyIHwgbnVsbDtcbiAgdHJhbnNmZXJfYmFua19uYW1lOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9kYXRlOiBzdHJpbmcgfCBudWxsO1xuICByZWZlcmVuY2VfbnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9zdGF0dXM6IHN0cmluZyB8IG51bGw7XG4gIHRyYW5zZmVyX2NyZWF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIHRyYW5zZmVyX3VwZGF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIGltYWdlX3VybDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfdXBkYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcblxuICAvLyBDYW1wb3MgZGUgcGF5ZXIgKHVzZXIpXG4gIHBheWVyX2NvZGU6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZV91c2VyOiBzdHJpbmc7XG4gIHBheWVyX2xhc3RfbmFtZTogc3RyaW5nO1xuICBwYXllcl9lbWFpbDogc3RyaW5nO1xuICBwYXllcl9yb2xlOiBudW1iZXI7XG4gIHBheWVyX3Bob25lOiBzdHJpbmc7XG4gIHBheWVyX2NyZWF0ZWRfYXQ6IHN0cmluZztcblxuICAvLyBDYW1wb3MgZGUgY3JlYXRvciAodXNlcilcbiAgY3JlYXRvcl9jb2RlOiBudW1iZXI7XG4gIGNyZWF0b3JfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2xhc3RfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2VtYWlsOiBzdHJpbmc7XG4gIGNyZWF0b3Jfcm9sZTogbnVtYmVyO1xuICBjcmVhdG9yX3Bob25lOiBzdHJpbmc7XG4gIGNyZWF0b3JfY3JlYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSBjb2RcbiAgY29kX2NvZGU6IG51bWJlcjtcbiAgY291cnNlOiBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiBudW1iZXI7XG4gIGFncmVlbWVudDogbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiBudW1iZXI7XG4gIHN0dWRlbnQ6IG51bWJlcjtcbiAgY29kX3BhcmVudDogbnVtYmVyIHwgbnVsbDtcbiAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gIGFkdmlzZXI6IG51bWJlcjtcbiAgY29kX3N0YXR1czogbnVtYmVyO1xuICBjb2RfcHJpY2U6IG51bWJlciB8IG51bGw7XG4gIGNvZF9wYWlkOiBudW1iZXI7XG4gIGNvZF9jcmVhdGVkX2F0OiBzdHJpbmc7XG4gIGNvZF91cGRhdGVkX2F0OiBzdHJpbmc7XG5cbiAgLy8gQ2FtcG9zIGRlIHBhcmVudFxuICBwYXJlbnRfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgcGFyZW50X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9sYXN0X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9pZF9jYXJkOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfcGhvbmU6IHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246IHN0cmluZyB8IG51bGw7XG4gIG9mZmljZV9hZHJyZXNzOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X3VwZGF0ZWRfYXQ6IHN0cmluZyB8IG51bGw7XG59XG5cbi8vIFBhZ2luYWNpw7NuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uUnMge1xuICB0b3RhbDogbnVtYmVyO1xuICBwZXJfcGFnZTogbnVtYmVyO1xuICBjdXJyZW50X3BhZ2U6IG51bWJlcjtcbiAgbGFzdF9wYWdlOiBudW1iZXI7XG4gIGZyb206IG51bWJlcjtcbiAgdG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoUGF5bWVudEJpbGxScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHJlZmVyZW5jZV9udW1iZXI/OiBzdHJpbmc7XG4gIHBheWVyX25hbWU/OiBzdHJpbmc7XG4gIGVsZWN0cm9uaWNfaW52b2ljZT86IHN0cmluZztcbiAgLy9wYXltZW50X2JpbGxfY29kZT86IG51bWJlcjtcbiAgcGF5bWVudF9iaWxsX2NvZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaFBheW1lbnRCaWxsUnMge1xuICBpcF9hcHBsaWNhbnQ6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICB9O1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRTdW1tYXJ5QnlDb29yZGluYXRvclJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnREYXRlPzogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xuICBncmFjZVBlcmlvZERheXM/OiBudW1iZXI7XG59XG5cbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudENvdXJzZVJxIH0gZnJvbSBcIi4uL2NsYXNzcm9vbS9jbGFzc3Jvb20tcnEubW9kZWxcIjtcbmltcG9ydCB7IENvdXJzZVR5cGVDUnEgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZS1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgRW5nbGlzaF9MZXZlbHMgfSBmcm9tIFwiLi4vY291cnNlL2NvdXJzZXMubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBnZXRkaXNjb3VudEFsbFJxe1xuICB0b2tlbjpzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ291cG9uIHtcbiAgY29kZT86ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfcmVmOiAgICAgICAgICAgc3RyaW5nO1xuICBuYW1lOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIHR5cGU6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGlzY291bnRfdHlwZTogICAgICAgICAgc3RyaW5nO1xuICBwZXJjZW50YWdlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgICAgICAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgICAgICAgIERhdGU7XG4gIHN0YXRlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZGVzY3JpcHRpb246ICAgICAgICAgICAgc3RyaW5nO1xuICBkaXNjb3VudF9hY2FkZW1pY19wbGFuOiBEaXNjb3VudEFjYWRlbWljUGxhbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvdW50QWNhZGVtaWNQbGFuIHtcbiAgY29kZTogIG51bWJlcjtcbiAgbmFtZTogIHN0cmluZztcblxufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGRpc2NvdW50X3JlZjpzdHJpbmc7XG4gIG5hbWU6c3RyaW5nO1xuICB0eXBlOm51bWJlcjtcbiAgZGlzY291bnRfdHlwZTpudW1iZXI7XG4gIHBlcmNlbnRhZ2U6bnVtYmVyO1xuICBzdGFydF9kYXRlOkRhdGU7XG4gIGVuZF9kYXRlOkRhdGU7XG4gIHN0YXRlOm51bWJlcjtcbiAgZGVzY3JpcHRpb246c3RyaW5nO1xuICBwbGFuOm51bWJlcltdO1xufVxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3VudFVwZGF0ZVJxe1xuICB0b2tlbjpzdHJpbmc7XG4gIGNvZGU/Om51bWJlcjtcbiAgc3RhcnRfZGF0ZTpEYXRlO1xuICBlbmRfZGF0ZTpEYXRlO1xuICBzdGF0ZTpudW1iZXI7XG4gIGRlc2NyaXB0aW9uOnN0cmluZztcbiAgcGxhbjpudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlQ291cG9ue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURpc2NvdW50e1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVN0YXRle1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3R1ZGVudHtcbiAgbmFtZTogc3RyaW5nO1xuICBkb2N1bWVudDogbnVtYmVyO1xuICBwaG9uZTpudW1iZXI7XG4gIHBsYW46IHN0cmluZztcbiAgc3RhdGU6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGV7XG4gIGNvZGU/Om51bWJlcjtcbiAgbmFtZT86c3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBQbGFue1xuICBjb2RlPzpudW1iZXI7XG4gIG5hbWU/OnN0cmluZztcbn1cblxuLy8vLy8vLy8vLy8vLy9cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkFsbENvdXJzZXdhbGxldHtcbiAgdG9rZW46c3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogICAgICAgbnVtYmVyO1xuICBtZXNzYWdlOiAgICAgIElNZXNzYWdlUnE7XG4gIGRhdGE6ICAgICAgICAgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVdhbGxldEJ5Q29vZGluYXRvclJzIHtcbiAgY291cnNlX3dhbGxldF9jb2RlOiAgICAgICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgICAgICAgICAgICBJVXNlckNvZGVScTtcbiAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgSUNvdXJzZUNvZGVScTtcbiAgY291cnNlX3dhbGxldF9zdGF0dXNfY29kZTogSUNvdXJzZVdhbGxldFN0YXR1c0NvZGVScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9zY2hlZHVsZTogc3RyaW5nW107XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIENvdXJzZVR5cGVDUnE7XG4gIHRvX3N0YXJ0OiAgICAgICAgRGF0ZTtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBmaW5pc2hfZGF0ZTogICAgIERhdGU7XG4gIGNhcGFjaXR5OiAgICAgICAgbnVtYmVyO1xuICBtb3JlX2RheXM6ICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgc3RyaW5nO1xuICBhZ3JlZW1lbnQ6ICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBJQ291cnNlTW9kYWxpdHlScTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlTW9kYWxpdHlScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VXYWxsZXRTdGF0dXNDb2RlUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgc3RhdHVzOiAgICAgICBzdHJpbmc7XG4gIGNvbG9yX3N0YXR1czogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyQ29kZVJxIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIHN0cmluZztcbiAgcm9sZTogICAgICAgICAgICAgbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlOiBudW1iZXI7XG4gIHBob25lX251bWJlcjogICAgIHN0cmluZztcbiAgZ2VuZGVyOiAgICAgICAgICAgbnVtYmVyO1xuICBiaXJ0aGRhdGU6ICAgICAgICBEYXRlIHwgbnVsbDtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlUnEge1xuICBjb2RlOiAgICBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnblJlcXVlc3RScXtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlckNvZGU6IG51bWJlcjtcbiAgY29kZUNvdXJzZTogbnVtYmVyIHwgbnVsbDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzIHtcbiAgdG9rZW46ICAgICAgc3RyaW5nO1xuICBjb2RfY29kZTogICBudW1iZXI7XG4gIG5hbWVfZXZlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxDb3Vyc2VBdmFpbGFibGVCeVN0dWRlbnRScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBJTWVzc2FnZVJxO1xuICBkYXRhOiAgICAgICAgIElBdmFpbGFibGVDb3Vyc2VzUnE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF2YWlsYWJsZUNvdXJzZXNScSB7XG4gIGF2YWlsYWJsZUNvdXJzZXM6IElDb3Vyc2VBdmFpbGFibGVScVtdIHwgYW55W107XG4gIG92ZXJkdWU6ICAgICAgICAgIElPdmVyZHVlUnEgfCBhbnlbXTtcbiAgdW5pdEFkdmFuY2U6ICAgICAgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQXZhaWxhYmxlUnEge1xuICBudW1iZXJDbGFzZXM6IG51bWJlcjtcbiAgY3VycmVudEV2ZW50OiBJRXZlbnRDb3Vyc2VScTtcbiAgY291cnNlRGF0YTogICBJQ291cnNlRGF0YU5hbWVzUnE7XG4gIGNsYXNzcm9vbTogICAgSUNsYXNzcm9vbUVsZW1lbnRScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGFzc3Jvb21FbGVtZW50UnEge1xuICBjbGFzc3Jvb206ICBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnE7XG4gIHRpbWVfc3RhcnQ6IHN0cmluZztcbiAgdGltZV9lbmQ6ICAgc3RyaW5nO1xuICBkYXlzOiAgICAgICBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xhc3Nyb29tQ2xhc3Nyb29tUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgaWRfY2FsZW5kYXI6ICAgICBzdHJpbmc7XG4gIGFkcmVzczogICAgICAgICAgc3RyaW5nO1xuICB1cGRhdGVkX2F0OiAgICAgIERhdGU7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlRGF0YU5hbWVzUnEge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIHN0cmluZztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcmR1ZVJxIHtcbiAgY29kZVN0dWRlbnQ6ICAgICBudW1iZXI7XG4gIG51bUR1ZXM6ICAgICAgICAgbnVtYmVyO1xuICBuYW1lU3R1ZGVudDogICAgIHN0cmluZztcbiAgbGFzdG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIGRvY3VtZW50U3R1ZGVudDogc3RyaW5nO1xuICBkdWVBbW91bnQ6ICAgICAgIG51bWJlcjtcbiAgY29sb3JEYXk6ICAgICAgICBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0Q29kQnlQYXltZW50UGxhblJxIHtcbiAgdG9rZW46ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudENvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSB7XG4gIHRva2VuOiAgICAgICAgICBzdHJpbmc7XG4gIHZhbHVlQW1vdW50OiAgICBudW1iZXI7XG4gIGNvZGVDb2RQYXltZW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvZFN0dWRlbnRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBJU3R1ZGVudFJzO1xuICBwYXJlbnQ6ICAgICAgICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgICAgIG51bWJlcjtcbiAgYmlydGhkYXRlOiAgICAgICAgRGF0ZTtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEge1xuICB0b2tlbjogICAgICBzdHJpbmc7XG4gIFBheW1lbkRhdGU6IERhdGU7XG4gIGNvZGVDb2Q6ICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsU3R1ZGVudEZlZVBheW1lbnRScSB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBxdW90YXNfYWZmZWN0ZWQ6IElRdW90YXNBZmZlY3RlZFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1b3Rhc0FmZmVjdGVkUnEge1xuICBjb2RfY29kZTogICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgIG51bWJlcjtcbiAgcmVjZWlwdF9jb2RlOiAgICAgbnVtYmVyO1xuICBxdW90YV9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNyZWRpdF9jb2RlOiAgICAgIG51bWJlcjtcbiAgY3JlZGl0X2Ftb3VudDogICAgbnVtYmVyO1xuICBmZWVfbnVtYmVyOiAgICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fdHlwZTogbnVtYmVyO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblN0dWRlbnRQYXltZW50c0J5R3JvdXBpbmdDb2RScyB7XG4gIGNvZF9jb2RlOiAgICAgICAgICBudW1iZXI7XG4gIHJlY2VpcHRfY29kZTogICAgICBudW1iZXI7XG4gIHN0dWRlbnRfY29kZTogICAgICBudW1iZXI7XG4gIGFtb3VudF9wYXk6ICAgICAgICBudW1iZXI7XG4gIGRpc2NvdW50X3BheTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfY29kZTogICAgICBudW1iZXI7XG4gIGNvbmNlcHRfbmFtZTogICAgICBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIGZ1bGxfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIGRhdGVfcGF5OiAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYW5jZWxTdHVkZW50UmVjZWlwdFJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIHF1b3Rhc19hZmZlY3RlZDogSVF1b3Rhc0FmZmVjdGVkUnFbXSB8IG51bGw7XG4gIHJlY2VpcHQgICAgICAgIDogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgIERhdGUgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogICAgICAgIERhdGUgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgICAgICAgc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDogbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICAgIERhdGU7XG4gIHVzZXJfY29kZTogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgICAgIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnNbXTtcbiAgdG90YWxfYW1vdW50X2J5X21ldGhvZDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJzIHtcbiAgcGF5bWVudF9tZXRob2Q6ICAgIG51bWJlcjtcbiAgY29kX2NvZGU6ICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICBudW1iZXIgfCBudWxsO1xuICByZWNlaXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2NvZGU6ICAgICAgbnVtYmVyO1xuICBhbW91bnRfcGF5OiAgICAgICAgbnVtYmVyO1xuICBkaXNjb3VudF9wYXk6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X2NvZGU6ICAgICAgbnVtYmVyO1xuICBjb25jZXB0X25hbWU6ICAgICAgc3RyaW5nO1xuICBpbnZvaWNlX2NhbmNlbGxlZDogbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgc3RyaW5nO1xuICBkYXRlX3BheTogICAgICAgICAgRGF0ZTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbENhc2hSZWNlaXB0c0J5RGF0ZUFuZFVzZXJScyB7XG4gIHBheW1lbnRzOiAgICAgICAgICAgIElQYXltZW50QmlsbEdyYXBoUnNbXTtcbiAgdG90YWxfYnlfbWV0aG9kOiAgICAgSVRvdGFsQnlNZXRob2RSc1tdO1xuICBudW1iZXJfdHJhbnNhY3Rpb25zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRCaWxsR3JhcGhScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBwYXllcl9uYW1lOiAgICAgICAgIHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ6ICAgICBzdHJpbmc7XG4gIGFjYWRlbWljX3BsYW46ICAgICAgbnVtYmVyO1xuICBwYXltZW50X3JlZmVyZW5jZTogIG51bGwgfCBzdHJpbmc7XG4gIHBheW1lbnRfZGF0ZTogICAgICAgRGF0ZSB8IG51bGw7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgaW52b2ljZV9jYW5jZWxsZWQ6ICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxCeU1ldGhvZFJzIHtcbiAgY29kZTogICBudW1iZXI7XG4gIG5hbWU6ICAgc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEge1xuICB0b2tlbjogICAgICAgICBzdHJpbmc7XG4gIG1vZGFsaXR5OiAgICAgIG51bWJlcjtcbiAgY291cnNlX3N0YXR1czogbnVtYmVyO1xuICBjb29yZGluYXRvcjogICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6IElFbmdsaXNoTGV2ZWxScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFbmdsaXNoTGV2ZWxScSB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVDb21tb25FeHBlbnNlcyAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxICB7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfY29kZTogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGRhdGFDb3Vyc2U6ICAgICAgICBJRnVsZGF0YUNvdXJzZVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGdWxkYXRhQ291cnNlUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBzdHJpbmdbXTtcbiAgdGVhY2hlcjogICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgSUNvdXJzZVR5cGVDbHVBbmRUaGVScztcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBzdHJpbmc7XG4gIGFncmVlbWVudDogICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfbW9kYWxpdHk6IElDb3Vyc2VNb2RhbGl0eVJxO1xuICBpc19yZW5vdmF0aW9uOiAgIG51bWJlcjtcbiAgaXNfZnJvbTogICAgICAgICBudWxsO1xuICBpc19jbHViOiAgICAgICAgIG51bWJlcjtcbiAgaXNfdmlzaWJsZTogICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlVHlwZUNsdUFuZFRoZVJzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICAgIHN0cmluZztcbiAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgbnVtYmVyX2NsYXNzOiAgICAgIG51bWJlcjtcbiAgbnVtYmVyX2NsYXNzX2NsdWI6IG51bWJlcjtcbiAgYWNhZGVtaWNfcGxhbjogICAgIHN0cmluZztcbiAgdGhlb3J5X2NsYXNzZXM6ICAgIG51bWJlcjtcbiAgY2x1Yl9jbGFzc2VzOiAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5QnlDb2RScSAge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY291cnNlX2NvZGU6ICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEgIHtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIHVzZXI6ICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIG51bWJlcjtcbiAgcHJldmlvdXNfY291cnNlOiAgICAgIG51bGw7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxkYXRhQ291cnNlOiAgICAgICBJQWxsQ291cnNlc1ZpZXdlZFJzO1xuICBjdXJyZW50X2NvZDogICAgICAgICAgSUN1cnJlbnRDb2RScztcbiAgYWxsX2NvdXJzZXNfdmlld2VkOiAgIElBbGxDb3Vyc2VzVmlld2VkUnNbXTtcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgIElVc2VyV2FsbGV0UnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsbENvdXJzZXNWaWV3ZWRScyB7XG4gIGNvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2Vfc2NoZWR1bGU6IHN0cmluZ1tdO1xuICB0ZWFjaGVyOiAgICAgICAgIHN0cmluZztcbiAgY291cnNlX3R5cGU6ICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICB0b19zdGFydDogICAgICAgIERhdGU7XG4gIHN0YXJ0X2RhdGU6ICAgICAgRGF0ZTtcbiAgZmluaXNoX2RhdGU6ICAgICBEYXRlO1xuICBjYXBhY2l0eTogICAgICAgIG51bWJlcjtcbiAgbW9yZV9kYXlzOiAgICAgICBudWxsO1xuICBlbmdsaXNoX2xldmVsOiAgIHN0cmluZztcbiAgYWdyZWVtZW50OiAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogSUNvdXJzZU1vZGFsaXR5UnE7XG4gIGlzX3Jlbm92YXRpb246ICAgbnVtYmVyO1xuICBpc19mcm9tOiAgICAgICAgIG51bGw7XG4gIGlzX2NsdWI6ICAgICAgICAgbnVtYmVyO1xuICBpc192aXNpYmxlOiAgICAgIG51bWJlcjtcbiAgdXBkYXRlZF9hdD86ICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUN1cnJlbnRDb2RScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgICAgICAgbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudDogICAgICAgICAgICAgICBudW1iZXI7XG4gIHBhcmVudDogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBhZGl0aW9uYWxfaW5mb3JtYXRpb246IG51bWJlcjtcbiAgYWR2aXNlcjogICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9zdGF0dXM6ICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcHJpY2U6ICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3BhaWQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgICAgRGF0ZTtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdXRzdGFuZGluZ1BheW1lbnRzUnMge1xuICBvdXRzdGFuZGluZ19wYXltZW50czogbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVyZHVlUGF5bWVudHNScyB7XG4gIE92ZXJkdWVfcGF5bWVudHM6ICAgIG51bWJlcjtcbiAgbnVtYmVyX2luc3RhbGxtZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXBheW1lbnRCaWxsRWdyZXNzUnEge1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbms6IG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogbnVtYmVyO1xuICBnZW5lcmF0ZWRfYnk6IHN0cmluZztcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZT86IHN0cmluZztcbiAgcGF5ZXJfZG9jdW1lbnQ/OiBudW1iZXI7XG4gIGNvZGVBY2FkZW1pY19wbGFuOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gIHJlZl9wYXltZW50PzpzdHJpbmc7XG4gIGRhdGVfcGF5bWVudDpEYXRlO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdHlwZV9tb3ZlbWVudHM6bnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nUnEge1xuICB0b2tlbjpzdHJpbmdcbiAgfVxuZXhwb3J0IGludGVyZmFjZSBJbmZvQ2FzaENsb3NpbmdScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6IG51bWJlcjtcbiAgY29kZV91c2VyOm51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWNhc2hDbG9zaW5nRGF0ZVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogc3RyaW5nO1xuICBjb2RlX3VzZXI6bnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgSVBheW1lbnRXYWxsZXRScyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2FudGlkYWQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY2FzaENsb3NpbmdEYXRhUnMge1xuICB0b3RhbEluY29tZTogbnVtYmVyO1xuICB0b3RhbEVncmVzczogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kSW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50TWV0aG9kRWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0RWdyZXNzSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xuICBwYXltZW50V2FsbGV0SW5jb21lSW5mbzogSVBheW1lbnRXYWxsZXRSc1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJbmNvbWVzQW5kRWdyZXNzUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb2RlX3R5cGVfY29uc3VsdDpudW1iZXI7XG4gIGNvZGVfdHlwZV9tb3ZlbWVudDpudW1iZXI7XG4gIHN0YXJ0X2RhdGU/OnN0cmluZztcbiAgZmluaXNoX2RhdGU/OnN0cmluZztcbiAgdXNlcl9jb2RlOm51bWJlcjtcbiAgfVxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluQmFsYWNlc0J5Q29vZGluYXRvclJxe1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGNvdXJzZV9zdGF0dXM6ICAgbnVtYmVyO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBFbmdsaXNoX0xldmVsc1tdO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGVuZF9kYXRlOiAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnF7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICB1c2VyX2NvZGU6ICAgICAgIG51bWJlcjtcbiAgc3RhcnRfZGF0ZTogICAgICBEYXRlO1xuICBlbmRfZGF0ZTogICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZVJzIHtcbiAgaW5jb21lOiAgIFJlc3BvbnNlUGF5O1xuICBleHBlbnNlczogUmVzcG9uc2VQYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VQYXkge1xuICBsaXN0UGF5bWVudDogICBJTGlzdFBheW1lbnRSc1tdO1xuICBzdW1CeU1ldGhvZDogICBJU3VtQnlNZXRob2RQYXlSc1tdO1xuICB0b3RhbEFtb3VudDogICBudW1iZXI7XG4gIGRhdGVDb25zdWx0OiAgIElEYXRlQ29uc3VsdFJzO1xuICB1c2VyQ29uc3VsdGVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVDb25zdWx0UnMge1xuICBzdGFydERhdGU6IERhdGU7XG4gIGVuZERhdGU6ICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdFBheW1lbnRScyB7XG4gIHBheW1lbnRfY29kZTogICAgICAgbnVtYmVyO1xuICBtZXRob2RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbWV0aG9kX2NvZGU6ICAgICAgICBudW1iZXI7XG4gIHNlcnZpY2U6ICAgICAgICAgICAgc3RyaW5nO1xuICB3YWxsZXQ6ICAgICAgICAgICAgIHN0cmluZztcbiAgYmFuazogICAgICAgICAgICAgICBzdHJpbmc7XG4gIGZ1bGxuYW1lX3N0dWRlbnQ6ICAgc3RyaW5nO1xuICBmdWxsbmFtZV91c2VyOiAgICAgIHN0cmluZztcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBmYXRoZXJfbmFtZTogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIHBhdGhlcl9kb2N1bWVudDogICAgbnVsbCB8IHN0cmluZztcbiAgYWNhZGVtaWNfcGxhbjogICAgICBudW1iZXI7XG4gIHJlZmVyZW5lY19wYXltZW50OiAgbnVsbCB8IHN0cmluZztcbiAgY3JlYXRlX2RhdGU6ICAgICAgICBEYXRlO1xuICBvYnNlcnZhdGlvbjogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdW1CeU1ldGhvZFBheVJzIHtcbiAgTWV0b2RvX3BhZ29fY29kZTogbnVtYmVyO1xuICBNZXRvZG9fcGFnbzogICAgICBzdHJpbmc7XG4gIFRvdGFsX3Bvcl9tZXRvZG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUGF5bWVudHNNYWRlQnlEYXRlc1JzIHtcbiAgYW1vdW50Q2FuY2VsOiAgICAgICAgICBudW1iZXI7XG4gIGNvZENvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjcmVhdGlvbl9kYXRlOiAgICAgICAgIERhdGU7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZXJ2aWNlczogICAgICBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiAgICAgICAgbnVtYmVyO1xuICBiYW5rOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgICAgIG51bWJlcjtcbiAgY29tbW9uX2V4cGVuc2VzOiAgICAgICBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X2Ftb3VudDogICAgICAgIG51bWJlcjtcbiAgb3V0c3RhbmRpbmdfYW1vdW50OiAgICBudW1iZXI7XG4gIHBvc2l0aXZlX2Ftb3VudDogICAgICAgbnVtYmVyO1xuICBkaXNjb3VudDogICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gIHBheWVyX2RvY3VtZW50OiAgICAgICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuOiAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6ICAgICBudWxsIHwgc3RyaW5nO1xuICBwYXltZW50X2RhdGU6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICBvYnNlcnZhdGlvbjogICAgICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGludm9pY2VfY2FuY2VsbGVkOiAgICAgbnVtYmVyO1xuICBtYW51YWxfcmVjZWlwdDogICAgICAgIG51bGwgfCBzdHJpbmc7XG4gIGNvZF9jb3Vyc2U6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X21ldGhvZF9uYW1lOiAgIHN0cmluZztcbiAgcGF5bWVudF9zZXJ2aWNlc19uYW1lOiBzdHJpbmc7XG4gIHBheW1lbnRfd2FsbGV0X25hbWU6ICAgc3RyaW5nO1xuICBiYW5rX25hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgZnVsbG5hbWVfZmF0aGVyczogICAgICBudWxsIHwgc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yX25hbWU6ICAgIHN0cmluZztcbiAgZ2VuZXJhdGVkX2J5X25hbWU6ICAgICBzdHJpbmc7XG4gIHR5cGVfbW92ZW1lbnRzX25hbWU6ICAgc3RyaW5nO1xuICBhY2FkZW1pY19wbGFuX25hbWU6ICAgIHN0cmluZztcbiAgdXNlcl93YWxsZXQ6ICAgICAgICAgICBJVXNlcldhbGxldFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyV2FsbGV0UnMge1xuICB1c2VyX2NvZGU6ICAgIG51bWJlcjtcbiAgZnVsbF9uYW1lOiAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgc3RyaW5nO1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgaXNfdmlzaWJsZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWVTdHVkZW50OiBzdHJpbmc7XG4gIHBob25lU3R1ZGVudDogc3RyaW5nO1xuICBwYXltZW50RGF0ZTogc3RyaW5nO1xuICBhY2FkZW1pY1BsYW46IHN0cmluZztcbiAgcGF5ZXJEb2N1bWVudDogc3RyaW5nO1xuICB0b3RhbEFtb3VudDogbnVtYmVyO1xuICBwYXltZW50QW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nQW1vdW50OiBudW1iZXI7XG4gIGRpc2NvdW50PzogbnVtYmVyO1xuICBwYXltZW50TWV0aG9kOiBzdHJpbmc7XG4gIGJhbms/OiBudW1iZXI7XG4gIG9ic2VydmF0aW9uPzogc3RyaW5nO1xuICBjb2Rlc1JlZmVyczogbnVtYmVyW107XG4gIGNvZGVEaXNjb3VudDogbnVtYmVyO1xuICBjb2RlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEVtYWlsUGF5bWVudENhbmNlbGxhdGlvblJTIHtcbiAgZW1haWw6IHN0cmluZztcbiAgc3R1ZGVudE5hbWU6IHN0cmluZztcbiAgcmVjZWlwdENvZGU6IG51bWJlcjtcbiAgY2FuY2VsbGF0aW9uRGF0ZTogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgY29uY2VwdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50Q29ycmVsYXRpdmVScSB7XG4gIHRva2VuOnN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xuICBzdGFydF9kYXRlOiBEYXRlO1xuICBlbmRfZGF0ZTogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudENvcnJlbGF0aXZlUnF7XG4gIGNvZGVfdHlwZV9jb25zdWx0OiBudW1iZXIgfCBudWxsO1xuICBmaW5pc2hfZGF0ZTogRGF0ZTtcbiAgc3RhcnRfZGF0ZTogRGF0ZTtcbiAgdG9rZW46IHN0cmluZztcbiAgdHlwZV9jYXRlZ29yeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5HYXRld2F5UGF5bWVudFJlY29yZFJxIHtcbiAgY29kOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZUVwYXljb1BheW1lbnRScXtcbiAgcmVmX3ZhbGlkYXRpb246IHN0cmluZztcbiAgcGF5bWVudF9yZWY6ICAgIHN0cmluZztcbiAgeF9yZWZfcGF5Y286ICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZztcbiAgc3RhdHVzX2NvZGU6ICAgIG51bWJlcjtcbiAgc3RhdHVzX25hbWU6ICAgIHN0cmluZztcbiAgYW1vdW50OiAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9wYXltZW50OiAgIHN0cmluZztcbiAgYmFua19uYW1lOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3BpbjogICAgIHN0cmluZztcbiAgY3VycmVuY3lfY29kZTogIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBheWNvUGF5bWVudFVwZGF0ZVJzIHtcbiAgZ2F0ZVBheW1lbnQ6IElHYXRlUGF5bWVudFJzO1xuICBzZWxmTWFuYWc6ICAgSVNlbGZNYW5hZ1JzO1xuICBlcGFCaWxsbDogICAgSUVwYUJpbGxsUnM7XG4gIHVwZFVzZXI6ICAgICBJVXBkVXNlclJzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRXBhQmlsbGxScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgICAgc3RyaW5nO1xuICBhbW91bnQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGVwYXljb19iYW5rOiAgICAgICAgIHN0cmluZztcbiAgZXBheWNvX3BheW1lbnRfdHlwZTogc3RyaW5nO1xuICBlcGF5Y29fcGluOiAgICAgICAgICBzdHJpbmc7XG4gIGVwYXljb19zdGF0dXM6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHYXRlUGF5bWVudFJzIHtcbiAgY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfc2VydmljZTogbnVtYmVyO1xuICBjb2Q6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9hbW91bnQ6ICBudW1iZXI7XG4gIHBheW1lbnRfcmVmOiAgICAgc3RyaW5nO1xuICBlcGF5Y29fcmVmOiAgICAgIHN0cmluZztcbiAgZXBheWNvX3N0YXR1czogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGZNYW5hZ1JzIHtcbiAgY29kZTogICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlOiAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zZWxlY3Rpb246IG51bWJlcjtcbiAgcGF5bWVudF9yZWY6ICAgICAgIHN0cmluZztcbiAgZXBheWNvX3JlZjogICAgICAgIHN0cmluZztcbiAgbmVlZF9wYXk6ICAgICAgICAgIG51bWJlcjtcbiAgaXNfcGF5OiAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXBkVXNlclJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgbnVsbDtcbiAgZW1haWw6ICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbF9pcHQ6ICAgICAgICBudWxsO1xuICByb2xlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmU6IG51bWJlcjtcbiAgcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICBnZW5kZXI6ICAgICAgICAgICBudW1iZXI7XG4gIGJpcnRoZGF0ZTogICAgICAgIERhdGU7XG4gIGNpdHk6ICAgICAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZF90eXBlOiAgICAgbnVtYmVyO1xuICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gIHN0YXR1c19hc2luZzogICAgIG51bWJlcjtcbiAgZm9vdHByaW50OiAgICAgICAgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnEge1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9jb2RlOiAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjb3Vyc2Vfc3RhdHVzOiAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICBJRW5nbGlzaExldmVsUnFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWNjb3VudHNCYWxhbmNlUnMge1xuICBjb3Vyc2VDb2RlOiAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBFbmdsaXNoTGV2ZWw6ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICBTdGFydERhdGU6ICAgICAgICAgICAgICAgICAgICAgRGF0ZTtcbiAgRmluaXNoRGF0ZTogICAgICAgICAgICAgICAgICAgIERhdGU7XG4gIENvdXJzZVR5cGU6ICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZU1vZGFsaXR5OiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIENvdXJzZVJlbm92YXRpb246ICAgICAgICAgICAgICBzdHJpbmc7XG4gIHRvdGFsX3N0dWRlbnQ6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIEFjdGl2ZVN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFN0dWRlbnRzU3VzcGVuZGVkUGF5OiAgICAgICAgICBudW1iZXI7XG4gIEZyb3plblN0dWRlbnRzOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIFdpdGhkcmF3blN0dWRlbnRzOiAgICAgICAgICAgICBudW1iZXI7XG4gIHNjaG9sYXJzaGlwU3R1ZGVudHM6ICAgICAgICAgICBJU2Nob2xhcnNoaXBTdHVkZW50UnNbXTtcbiAgc3R1ZGVudHNXaXRoQ2FzaFBheW1lbnRzOiAgICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoQ3JlZGl0UGF5bWVudHM6ICAgIG51bWJlcjtcbiAgc3R1ZGVudHNXaXRoU2Nob2xhcnNoaXBzOiAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVBheW1lbnRzVG9SZWNlaXZlZDogICAgIG51bWJlcjtcbiAgbHVtcFN1bVBhaWQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgb3ZlcmR1ZUx1bXBTdW06ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgbHVtcFN1bVJlY2VpdmFibGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYXltZW50c1RvUmVjZWl2ZWQ6IG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUGF1c2VkOiAgICAgIG51bWJlcjtcbiAgb3ZlcmFsbFRvdGFsTG9zc09mUmV0aXJlZXM6ICAgIG51bWJlcjtcbiAgbG9zc0x1bXBTdW1QYWlkOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgU3R1ZGVudHNBY3RpdmU6ICAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xuICBTdHVkZW50c1N1c3BlbmRlZFBheW1lbnQ6ICAgICAgSVN0dWRlbnRzUGF5UnM7XG4gIFN0dWRlbnRzUGF1c2VkUHJvY2VzczogICAgICAgICBJU3R1ZGVudHNQYXlScztcbiAgU3R1ZGVudHNSZXRpcmVkOiAgICAgICAgICAgICAgIElTdHVkZW50c1BheVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHVkZW50c1BheVJzIHtcbiAgY291bnQ6ICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdG90YWxfb3Zlckluc3RhbGxtZW50czogIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X2V4cGVjdGVkOiAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3BhaWQ6ICAgICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50X3JlY2VpdmFibGU6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50X292ZXJkdWU6ICAgIG51bWJlcjtcbiAgZGF0YTogICAgICAgICAgICAgICAgICAgIElTdHVkZW50c0FjdGl2ZVJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0dWRlbnRzQWN0aXZlUnMge1xuICBjb2RfY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgbnVtYmVyO1xuICBjb2RlOiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBkb2N1bWVudDogICAgICAgICAgICAgc3RyaW5nO1xuICBmdWxsX25hbWU6ICAgICAgICAgICAgc3RyaW5nO1xuICBwaG9uZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBvdmVyZHVlX3BheW1lbnRzOiAgICAgSU92ZXJkdWVQYXltZW50c1JzO1xuICBvdXRzdGFuZGluZ19wYXltZW50czogSU91dHN0YW5kaW5nUGF5bWVudHNScztcbiAgcGF5bWVudHNfbWFkZTogICAgICAgIElQYXltZW50c01hZGVScztcbiAgcHJldmlvc19jb3Vyc2U6ICAgICAgIG51bGwgfCBudW1iZXI7XG4gIGNvbG9yX2R1ZTogICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU91dHN0YW5kaW5nUGF5bWVudHNScyB7XG4gIG91dHN0YW5kaW5nX3BheW1lbnRzOiBudW1iZXI7XG4gIG51bWJlcl9pbnN0YWxsbWVudHM6ICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRzTWFkZVJzIHtcbiAgbWFkZV9wYXltZW50czogICAgICAgbnVtYmVyO1xuICBudW1iZXJfaW5zdGFsbG1lbnRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjaG9sYXJzaGlwU3R1ZGVudFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfdHlwZTogICAgICAgICAgIG51bWJlcjtcbiAgYWdyZWVtZW50OiAgICAgICAgICAgICBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50OiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGFyZW50OiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGFkaXRpb25hbF9pbmZvcm1hdGlvbjogbnVtYmVyO1xuICBhZHZpc2VyOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wcmljZTogICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfcGFpZDogICAgICAgICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgICBEYXRlO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgIG51bWJlcjtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElFbGVjdHJvbmljSW52b2ljZVJTIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogRGF0ZSB8IG51bGw7XG4gIGVuZF9kYXRlOiBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgcGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICBtZXNzYWdlOiBJTWVzc2FnZVJxO1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50QmlsbEZ1bGxEYXRhUnMge1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsUnNbXTtcbiAgcGFnaW5hdGlvbjogSVBhZ2luYXRpb25Scztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudEJpbGxGdWxsUnMge1xuICBwYXltZW50X2JpbGxfY29kZTogbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiBudW1iZXI7XG4gIHBheW1lbnRfd2FsbGV0OiBudW1iZXI7XG4gIGJhbmtfbmFtZTogc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yOiBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogbnVtYmVyO1xuICBjb21tb25fZXhwZW5zZXM6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiBudW1iZXI7XG4gIG91dHN0YW5kaW5nX2Ftb3VudDogbnVtYmVyO1xuICBwb3NpdGl2ZV9hbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnQ6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcGF5ZXJfZG9jdW1lbnQ6IHN0cmluZyB8IG51bGw7XG4gIGFjYWRlbWljX3BsYW46IG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6IHN0cmluZyB8IG51bGw7XG4gIHBheW1lbnRfZGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgb2JzZXJ2YXRpb246IHN0cmluZyB8IG51bGw7XG4gIGludm9pY2VfY2FuY2VsbGVkOiBudW1iZXI7XG4gIG1hbnVhbF9yZWNlaXB0OiBzdHJpbmcgfCBudWxsO1xuICBjb3JyZWxhdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgZWxlY3Ryb25pY19pbnZvaWNlOiBzdHJpbmcgfCBudWxsO1xuICBwYXltZW50X2JpbGxfY3JlYXRlZF9hdDogc3RyaW5nO1xuICBwYXltZW50X2JpbGxfdXBkYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSB0cmFuc2ZlcnNcbiAgdHJhbnNmZXJfYW1vdW50OiBudW1iZXIgfCBudWxsO1xuICBpbml0aWFsX2Ftb3VudDogbnVtYmVyIHwgbnVsbDtcbiAgdHJhbnNmZXJfYmFua19uYW1lOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9kYXRlOiBzdHJpbmcgfCBudWxsO1xuICByZWZlcmVuY2VfbnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zlcl9zdGF0dXM6IHN0cmluZyB8IG51bGw7XG4gIHRyYW5zZmVyX2NyZWF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIHRyYW5zZmVyX3VwZGF0ZWRfYnk6IG51bWJlciB8IG51bGw7XG4gIGltYWdlX3VybDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgdHJhbnNmZXJfdXBkYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcblxuICAvLyBDYW1wb3MgZGUgcGF5ZXIgKHVzZXIpXG4gIHBheWVyX2NvZGU6IG51bWJlcjtcbiAgcGF5ZXJfbmFtZV91c2VyOiBzdHJpbmc7XG4gIHBheWVyX2xhc3RfbmFtZTogc3RyaW5nO1xuICBwYXllcl9lbWFpbDogc3RyaW5nO1xuICBwYXllcl9yb2xlOiBudW1iZXI7XG4gIHBheWVyX3Bob25lOiBzdHJpbmc7XG4gIHBheWVyX2NyZWF0ZWRfYXQ6IHN0cmluZztcblxuICAvLyBDYW1wb3MgZGUgY3JlYXRvciAodXNlcilcbiAgY3JlYXRvcl9jb2RlOiBudW1iZXI7XG4gIGNyZWF0b3JfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2xhc3RfbmFtZTogc3RyaW5nO1xuICBjcmVhdG9yX2VtYWlsOiBzdHJpbmc7XG4gIGNyZWF0b3Jfcm9sZTogbnVtYmVyO1xuICBjcmVhdG9yX3Bob25lOiBzdHJpbmc7XG4gIGNyZWF0b3JfY3JlYXRlZF9hdDogc3RyaW5nO1xuXG4gIC8vIENhbXBvcyBkZSBjb2RcbiAgY29kX2NvZGU6IG51bWJlcjtcbiAgY291cnNlOiBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiBudW1iZXI7XG4gIGFncmVlbWVudDogbnVtYmVyO1xuICBlbmdsaXNoX2xldmVsOiBudW1iZXI7XG4gIHN0dWRlbnQ6IG51bWJlcjtcbiAgY29kX3BhcmVudDogbnVtYmVyIHwgbnVsbDtcbiAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gIGFkdmlzZXI6IG51bWJlcjtcbiAgY29kX3N0YXR1czogbnVtYmVyO1xuICBjb2RfcHJpY2U6IG51bWJlciB8IG51bGw7XG4gIGNvZF9wYWlkOiBudW1iZXI7XG4gIGNvZF9jcmVhdGVkX2F0OiBzdHJpbmc7XG4gIGNvZF91cGRhdGVkX2F0OiBzdHJpbmc7XG5cbiAgLy8gQ2FtcG9zIGRlIHBhcmVudFxuICBwYXJlbnRfY29kZTogbnVtYmVyIHwgbnVsbDtcbiAgcGFyZW50X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9sYXN0X25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBhcmVudF9pZF9jYXJkOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfcGhvbmU6IHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246IHN0cmluZyB8IG51bGw7XG4gIG9mZmljZV9hZHJyZXNzOiBzdHJpbmcgfCBudWxsO1xuICBwYXJlbnRfY3JlYXRlZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X3VwZGF0ZWRfYXQ6IHN0cmluZyB8IG51bGw7XG59XG5cbi8vIFBhZ2luYWNpw7NuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uUnMge1xuICB0b3RhbDogbnVtYmVyO1xuICBwZXJfcGFnZTogbnVtYmVyO1xuICBjdXJyZW50X3BhZ2U6IG51bWJlcjtcbiAgbGFzdF9wYWdlOiBudW1iZXI7XG4gIGZyb206IG51bWJlcjtcbiAgdG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoUGF5bWVudEJpbGxScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHJlZmVyZW5jZV9udW1iZXI/OiBzdHJpbmc7XG4gIHBheWVyX25hbWU/OiBzdHJpbmc7XG4gIGVsZWN0cm9uaWNfaW52b2ljZT86IHN0cmluZztcbiAgLy9wYXltZW50X2JpbGxfY29kZT86IG51bWJlcjtcbiAgcGF5bWVudF9iaWxsX2NvZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaFBheW1lbnRCaWxsUnMge1xuICBpcF9hcHBsaWNhbnQ6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICB9O1xuICBkYXRhOiBJUGF5bWVudEJpbGxGdWxsRGF0YVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRTdW1tYXJ5QnlDb29yZGluYXRvclJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZT86IHN0cmluZztcbiAgZW5kX2RhdGU/OiBzdHJpbmc7XG4gIGdyYWNlX3BlcmlvZF9kYXlzPzogbnVtYmVyO1xufVxuXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9tb2RlbHMvdHJhbnNmZXIvdHJhbnNmZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZVRyYW5zZmVyUnEge1xuICB0b2tlbjogICAgICAgICAgICBzdHJpbmc7XG4gIHJlZmVyZW5jZV9udW1iZXI6IHN0cmluZztcbiAgdHJhbnNmZXJfYW1vdW50OiAgbnVtYmVyO1xuICBjb2RlX2Jhbms6ICAgICAgICBudW1iZXI7XG4gIHRyYW5zZmVyX2RhdGU6ICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZVRyYW5zZmVyUnEge1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgdHJhbnNmZXJfY29kZTogICBudW1iZXI7XG4gIGluaXRpYWxfYW1vdW50OiAgbnVtYmVyO1xuICBjb2RlX2Jhbms6ICAgICAgIG51bWJlcjtcbiAgdHJhbnNmZXJfZGF0ZTogICBEYXRlO1xuICBzdGF0dXNfdHJhbnNmZXI6IHN0cmluZztcbiAgaW1hZ2VfdHJhbnNmZXI6ICBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTZWFyY2hUcmFuc2ZlclJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcmVuY2VfbnVtYmVyOiBzdHJpbmc7XG59Il19
|
|
@@ -498,6 +498,21 @@ export class BudgetService extends IPTGeneralService {
|
|
|
498
498
|
this.generateRequestParams(params);
|
|
499
499
|
return this.http.post(serviceUrl, this.httpOptions);
|
|
500
500
|
}
|
|
501
|
+
createTransferValidate(params) {
|
|
502
|
+
const serviceUrl = this.SERVICE_URL + 'create/transfer/validate';
|
|
503
|
+
this.generateRequestParams(params);
|
|
504
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
505
|
+
}
|
|
506
|
+
searchTransferByReference(params) {
|
|
507
|
+
const serviceUrl = this.SERVICE_URL + 'search/transfer/by/reference';
|
|
508
|
+
this.generateRequestParams(params);
|
|
509
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
510
|
+
}
|
|
511
|
+
updateTransferData(params) {
|
|
512
|
+
const serviceUrl = this.SERVICE_URL + 'update/transfer/data';
|
|
513
|
+
this.generateRequestParams(params);
|
|
514
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
515
|
+
}
|
|
501
516
|
}
|
|
502
517
|
BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
503
518
|
BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, providedIn: 'root' });
|
|
@@ -507,4 +522,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
507
522
|
providedIn: 'root'
|
|
508
523
|
}]
|
|
509
524
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
510
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9idWRnZXQtc2VydmljZS9idWRnZXQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFNM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBSWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFzQjtRQUNuQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGNBQWMsQ0FBQyxN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LGdDQUFnQyxDQUFDLE1BQXdDO1FBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsdUNBQXVDLENBQUM7UUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXVCLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELHVCQUF1QixDQUFDLE1BQWtDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsNEJBQTRCLENBQUM7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDOzswR0Fya0JVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0ZGlzY291bnRBbGxScSwgRGlzY291bnRScSwgRGlzY291bnRVcGRhdGVScSwgSU9idGFpbkFsbENvdXJzZXdhbGxldCwgSUFzc2lnblJlcXVlc3RScSwgSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzLCBJR2V0Q29kQnlQYXltZW50UGxhblJxLCBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSwgSVBhcmFtc1VwZGF0ZURhdGVDb2RQYXltZW50c1JxLCBJQ2FuY2VsU3R1ZGVudFJlY2VpcHRScSwgSUNhbmNlbGxlZFJlY2VpcHRCeURhdGVScSwgSVBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScSwgSU9idGFpbkNvdXJzZUJ5Q29vZERpZmZQYXJhbVJxLCBOYW1lQ29tbW9uRXhwZW5zZXMsIElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSwgSU9idGFpblN0dWRlbnRQYXltZW50QnlEaWZmUGFyYW1ScSwgSW5mb0Nhc2hDbG9zaW5nUnEsIEljYXNoQ2xvc2luZ0RhdGVScSwgSWNhc2hDbG9zaW5nUnEsIElwYXltZW50QmlsbEVncmVzc1JxLCBJbmNvbWVzQW5kRWdyZXNzUnEsIElPYmF0aW5EZXRhaWxlZEluY29tZUJ5VXNlckFuZERhdGVScSwgSU9iYXRpbkJhbGFjZXNCeUNvb2RpbmF0b3JScSwgU2VuZEVtYWlsUGF5bWVudCxTZW5kRW1haWxQYXltZW50Q2FuY2VsbGF0aW9uUlMsIElQYXltZW50Q29ycmVsYXRpdmVScSwgSU9idGFpbkdhdGV3YXlQYXltZW50UmVjb3JkUnEsIElVcGRhdGVFcGF5Y29QYXltZW50UnEsIElFbGVjdHJvbmljSW52b2ljZVJTLCBJQWNjb3VudHNCYWxhbmNlUnEsIElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnEsIElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnMsIElTZWFyY2hQYXltZW50QmlsbFJxLCBJU2VhcmNoUGF5bWVudEJpbGxScywgSUdldFN1bW1hcnlCeUNvb3JkaW5hdG9yUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnVkZ2V0L2J1ZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxLCBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yQ291cnNlUnEsIElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSwgSVBheW1lbnRSZWZlcmVuY2VScSwgSVRyYW5zZmVyLCBJVHJhbnNmZXJBc3NpZ25JbWFnZSwgSVRyYW5zZmVyQ3JlYXRlUnEsIElUcmFuc2ZlckRlbGV0ZVJxLCBJVHJhbnNmZXJHZXRBbGxScSwgSVRyYW5zZmVyR2V0UnEsIElUcmFuc2ZlclNlYXJjaFJxLCBJVHJhbnNmZXJTaG93SW1hZ2VScSwgSVRyYW5zZmVyU3RhdHVzVXBkYXRlUnEsIElUcmFuc2ZlclVwZGF0ZVJxLCBQYXltZW50QmlsbFJxLCBQYXltZW50QmlsbFJxMiwgUHJpY2VCeVR5cGVTZXJ2aWNlUnEsSURlbGV0ZUNvZFBheW1lbnRzUnEsSUNyZWF0ZUNvZFBheW1lbnRzUnEsIElUcmFuc2ZlclN0YXR1c1VwZGF0ZVJlcXVlc3RScSwgSVVwZGF0ZUVsZWN0cm9uaWNJbnZvaWNlUnEsIElWYWxpZGF0aW9uT2ZUcmFuc2ZlcnNCeU51bWJlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BheW1lbnQvcGF5bWVudC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4uLy4uL21vZGVscy9yZXBvcnRzL3JlcG9ydHMubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IElDb2RQYXltZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJ1ZGdldFNlcnZpY2UgZXh0ZW5kcyBJUFRHZW5lcmFsU2VydmljZXtcblxuICBwcml2YXRlIFNFUlZJQ0VfVVJMID0gJ2J1ZGdldC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBnZXRBbGxEaXNjb3VudCh1c2VyOiBnZXRkaXNjb3VudEFsbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudHMvY291cG9uL2FsbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgY3JlYXRlRGlzY291bnQocGFyYW1zOiBEaXNjb3VudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vY3JlYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVEaXNjb3VudChwYXJhbXM6IERpc2NvdW50VXBkYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50L2NvdXBvbi91cGRhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudFN0dWRlbnRzQnlDb2RlKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9jb2Qvc3R1ZGVudC9ieS9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRXYWxsZXRCeUNhbXB1cyhjb2RlQ2FtcHVzOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC93YWxsZXQvYnkvY2FtcHVzLycgKyBjb2RlQ2FtcHVzO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgcGF5bWVudEJpbGxEdWVzKHBhcmFtczogUGF5bWVudEJpbGxScTIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9yZWdpc3Rlci9kdWVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheW1lbnRCaWxsU2VydmljZXMocGFyYW1zOiBQYXltZW50QmlsbFJxMik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3JlZ2lzdGVyL3NlcnZpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQWxsKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L2JpbGwvY2FuY2VsZWQvYWxsJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQnlDb2RlKGNvZGVQYXltZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAnZ2V0L3BheW1lbnQvYmlsbC9jYW5jZWxlZC9ieS9jb2RlLycgKyBjb2RlUGF5bWVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQnlTdHVkZW50KGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAnZ2V0L3BheW1lbnQvYmlsbC9jYW5jZWxlZC9ieS9zdHVkZW50LycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRCaWxsQnlSZWZlcmVuY2UocmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2J5L3JlZmVyZW5jZS8nICsgcmVmZXJlbmNlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cblxuICBnZXRQcmljZUJ5VHlwZVNlcnZpY2UocGFyYW1zOiBQcmljZUJ5VHlwZVNlcnZpY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3ByaWNlL2J5L3R5cGUvc2VydmljZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQnlDb29yZGluYXRvcihwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS93YWxsZXQvdXNlci9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRXYWxsZXRCeUNvZGVVc2VyIChjb2RlVXNlcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3dhbGxldC9ieS9jb2RlL3VzZXIvJyArIGNvZGVVc2VyO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsQnlXYWxsZXRDb2RlIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnQvYmlsbC9ieS93YWxsZXRzL2J5LycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsSW5jb21lIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL3dhbGxldHMvY29kZS9maWx0ZXIvaW5jb21lLycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsRWdyZXNzIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL3dhbGxldHMvY29kZS9maWx0ZXIvZWdyZXNzLycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudE92ZXJkdWVTdHVkZW50KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdnZXQvcGF5bWVudC9vdmVyZHVlL2FsbC9zdHVkZW50JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldERheVBheW1lbnRPdmVyZHVlU3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RheS9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlQ291cnNlQnlDb29yZGluYXRvcihwYXJhbXM6IElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9vdmVyZHVlL2NvdXJzZS9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZVN0dWRlbnRCeUNvb3JkaW5hdG9yKHBhcmFtczogSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb29kaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlU3R1ZGVudEJ5Q29vcmRpbmF0b3JBbmRDb3Vyc2VDb2RlKHBhcmFtczogSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvckNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb29kaW5hdG9yY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldE9idGFpbkNvZFN0dWRlbnRCeUNvb3JkaW5hdG9yKHBhcmFtczogSUZ1bGxDb2RTdHVkZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zdHVuZGVudC9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZChwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY291cnNlL2J5L3VzZXIvYnVkZ2V0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIC8vIEFzc2luZ0NvdXJzZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gIC8vICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL2J5L2NvZGUvdXNlci9idWRnZXQvYXNzaWduJztcbiAgLy8gICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgLy8gfVxuICBBc3NpbmdDb3Vyc2UocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlL2Fzc2lnbi9kZXRhaWwvYnkvYWR2aXNlci9idWRnZXQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgQXNzaW5nQ291cnNlcyhwYXJhbXM6IElBc3NpZ25SZXF1ZXN0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS9ieS91c2VyL2J1ZGdldC9hc3NpZ24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsQXZhaWxhYmxlQ291cnNlc0J5U3R1ZGVudChwYXJhbXM6IElPYnRhaW5BdmFpbGFibGVDb3Vyc2VScyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2FsbC9hdmFpbGFibGUvY291cnNlcy9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbk9ic2VydmF0aW9uQnlDb2RTdHVkZW50KHBhcmFtczogSUZ1bGxDb2RTdHVkZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL29ic2VydmFyaW9uL2J5L2NvZC9zdHVkZXQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYWRtaW5TdHVkZW50QnlDb29yZGluYXRvcihwYXJhbXM6IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2FkbWluL3N0dWRlbnQvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kYnlQYXltZW50UGxhblJxKHBhcmFtczogSUdldENvZEJ5UGF5bWVudFBsYW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zdHVuZGVudC9wYXltZW50cy9ieS9jb2RlL3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgVXBkYXRlQW1vdW50Q29kUGF5bWVudHMocGFyYW1zOiBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL2Ftb3VudC9jb2QvcGF5bWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgVXBkYXRlRGF0ZUNvZFBheW1lbnRzKHBhcmFtczogSVBhcmFtc1VwZGF0ZURhdGVDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncHV0L2NoYW5nZS9kYXRlL3BheW1lbnQvY29kL2J5L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgVXBkYXRlRGF0ZUNvZFBheW1lbnRzRm9yUGF5bWVudFBsYW4ocGFyYW1zOiBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NoYW5nZS9kYXRlL3BheW1lbnQvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRSZWNlaXB0QnlDb2RlIChjb2RlUmVjZWlwdDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50L3JlY2VpcHQvYnkvY29kZS8nICsgY29kZVJlY2VpcHQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50c0ZvclN0dWRlbnRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50cy9mb3Ivc3R1ZGVudC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRQYXltZW50c0J5R3JvdXBpbmdDb2QgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvc3R1ZGVudC9wYXltZW50cy9ieS9ncm91cGluZy9jb2QvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUmVjZWlwdEJ5Q29kZSAoY29kZVJlY2VpcHQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9yZWNlaXB0L2J5L2NvZGUvJyArIGNvZGVSZWNlaXB0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNGb3JSZWNlaXB0Q29kZSAoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9vYnRhaW4vcGF5bWVudHMvZm9yL3JlY2VpcHQvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjYW5lbFN0dWRlbnRSZWNlaXB0KHBhcmFtczogSUNhbmNlbFN0dWRlbnRSZWNlaXB0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NhbmNlbC9zdHVkZW50L3JlY2VpcHQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q2FuY2VsbGVkUmVjZWlwdHNCeURhdGUocGFyYW1zOiBJQ2FuY2VsbGVkUmVjZWlwdEJ5RGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jYW5jZWxsZWQvcmVjZWlwdHMvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50cmVjZWl2ZWRCeVVzZXIocGFyYW1zOiBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcGF5bWVudHMvcmVjZWl2ZWQvYnkvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRUb3RhbENhc2hSZWNlaXB0c0J5RGF0ZUFuZFVzZXIocGFyYW1zOiBJUGF5bWVudHNSZWNlaXZlZEJ5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90b3RhbC9jYXNoL3JlY2VpcHRzL2J5L2RhdGUvYW5kL3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ291cnNlc0J5Q29vcmRBbmREaWZmUGFyYW0ocGFyYW1zOiBJT2J0YWluQ291cnNlQnlDb29kRGlmZlBhcmFtUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlL3dhbGxldC9ieS9jb29yZGluYXRvci9kaWZmZXRlbnQvcGFyYW0nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQ29tbW9uRXhwZW5zZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvbW1vbi9leHBlbnNlcy9hbGwnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGNyZWF0ZUNvbW1tb25FeHBlbnNlcyhwYXJhbTogTmFtZUNvbW1vbkV4cGVuc2VzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb21tb24vZXhwZW5zZXMvY3JlYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIG9idGFpbkNvZEFuZFN0YXR1c0FwcHJvdmVkTGV2ZWxCeUdyb3VwKHBhcmFtOiBOYW1lQ29tbW9uRXhwZW5zZXMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3R1ZGVudC9zdGF0dXMvYXBwcm92ZWQvYnkvZ3JvdXAnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5TdHVkZW50UGF5bWVudFRyYW5zYWN0aW9uSGlzdG9yeUJ5Q291cnNlKHBhcmFtOiBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3R1ZGVudC9wYXltZW50L3RyYW5zYWN0aW9uL2hpc3RvcnkvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudFRyYW5zYWN0aW9uSGlzdG9yeUJ5Q29kKHBhcmFtOiBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcGF5bWVudC90cmFuc2FjdGlvbi9oaXN0b3J5L2J5L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRQYXltZW50QnlEaWZmZXJlbnRQYXJhbWV0ZXIocGFyYW06IElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3R1ZGVudC9wYXltZW50L2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlRWdyZXNzKHBhcmFtOiBJcGF5bWVudEJpbGxFZ3Jlc3NScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvcmVnaXN0ZXIvZWdyZXNzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldENhdGVnb3J5KCk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3R5cGUvc3VwcGxpZXIvYWxsJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBjcmVhdGVDYXNoQ2xvc2luZyhwYXJhbTogSWNhc2hDbG9zaW5nUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBzZWFyY2hDb21tb25FeHBlbnNlcyhuYW1lOnN0cmluZyk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKydnZXQvc2VhcmNoL2NvbW1vbi9leHBlbnNlcy8nICsgbmFtZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBnZXRVc2Vyc0Nhc2hDbG9zaW5nKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvdXNlcic7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRDYXNoQ2xvc2luZ0RheShjb2RlOm51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9kYXkvY29kZXVzZXIvJyArIGNvZGU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0Q2FzaENsb3NpbmdNb250aChjb2RlOm51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9tb250aC9jb2RldXNlci8nICsgY29kZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBnZXRDYXNoQ2xvc2luZ1llYXIoY29kZTpudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L3llYXIvY29kZXVzZXIvJyArIGNvZGU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0SW5mb0Nhc2hDbG9zaW5nQnlDb2RlKHBhcmFtOkluZm9DYXNoQ2xvc2luZ1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q2FzaENsb3NpbmdEYXRlKHBhcmFtOkljYXNoQ2xvc2luZ0RhdGVScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS9kYXRlL3JhbmdlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGV4cG9ydE9idGFpblN0dWRlbnRQYXltZW50VHJhbnNhY3Rpb25IaXN0b3J5QnlDb3Vyc2UocGFyYW06IElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXhwb3J0L2V4Y2VsL2RhdGEvcGF5bWVudC90cmFuc2FjdGlvbi9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRUb3RhbENhc2hJbmNvbWVFZ3Jlc3MocGFyYW06IEluY29tZXNBbmRFZ3Jlc3NScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90b3RhbC9jYXNoL3JlY2VpcHRzL2luY29tZXMvZWdyZXNzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2JhdGluQmFsYWNlc0J5Q29vZGluYXRvcihwYXJhbXM6IElBY2NvdW50c0JhbGFuY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hY2NvdW50cy9hbmQvYmFsYW5jZXMvYnkvY29vZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYmF0aW5EZXRhaWxlZEluY29tZUJ5VXNlckFuZERhdGUocGFyYW1zOiBJT2JhdGluRGV0YWlsZWRJbmNvbWVCeVVzZXJBbmREYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vZGV0YWlsZWQvaW5jb21lL3JlcG9ydC9ieS9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEluY29tZUV4cGVuc2VIaXN0b3J5RGF0YShwYXJhbXM6IElPYmF0aW5EZXRhaWxlZEluY29tZUJ5VXNlckFuZERhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9pbmNvbWUvZXhwZW5zZS9oaXN0b3J5L2RhdGEnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsUGF5bWVudEJpbGxDYW5jZWxlZEJ5U3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9wYXltZW50L2JpbGwvY2FuY2VsbGVkL2J5L3N0dWRlbnQvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEluZm9CeVJlZmVyZW5jZShwYXJhbXM6IElQYXltZW50UmVmZXJlbmNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9ieS9yZWZlcmVuY2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNCeUNvZChwYXJhbTpJQ29kUGF5bWVudFJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcGF5bWVudHMvYnkvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNNYWRlQnlEYXRlcyhwYXJhbXM6IElDYW5jZWxsZWRSZWNlaXB0QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcGF5bWVudHMvbWFkZS9ieS9kYXRlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzZW5kRW1haWxQYXltZW50KHBhcmFtczogU2VuZEVtYWlsUGF5bWVudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvc2VuZC9lbWFpbC9wYXltZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlbmRFbWFpbFBheW1lbnRDYW5jZWxsYXRpb24ocGFyYW1zOiBTZW5kRW1haWxQYXltZW50Q2FuY2VsbGF0aW9uUlMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3NlbmQvZW1haWwvcGF5bWVudC9jYW5jZWxsYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG4gIGdldEFsbFRyYW5zZmVycyhwYXJhbXM6IElUcmFuc2ZlckdldEFsbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBnZXRUcmFuc2ZlckJ5Q29kZShwYXJhbXM6IElUcmFuc2ZlckdldFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9zcGVjaWZpYyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICAvLyBjcmVhdGVUcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckNyZWF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgLy8gICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9jcmVhdGUnO1xuICAvLyAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICAvLyB9XG5cbiAgY3JlYXRlVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJDcmVhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvY3JlYXRlJztcblxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbdG9rZW5dJywgcGFyYW1zLnRva2VuKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1t0cmFuc2Zlcl9hbW91bnRdJywgcGFyYW1zLnRyYW5zZmVyX2Ftb3VudC50b1N0cmluZygpKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1tiYW5rX2NvZGVdJywgcGFyYW1zLmJhbmtfY29kZS50b1N0cmluZygpKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1t0cmFuc2Zlcl9kYXRlXScsIHBhcmFtcy50cmFuc2Zlcl9kYXRlKTsgLy8gYWhvcmEgc3RyaW5nXG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbcmVmZXJlbmNlX251bWJlcl0nLCBwYXJhbXMucmVmZXJlbmNlX251bWJlcik7XG5cblxuICAgIGlmIChwYXJhbXMuaW1hZ2UpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW2ltYWdlXScsIHBhcmFtcy5pbWFnZSwgcGFyYW1zLmltYWdlLm5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgZm9ybURhdGEpO1xuICB9XG4vKlxuICBzaG93VHJhbnNmZXJJbWFnZShwYXJhbXM6IElUcmFuc2ZlclNob3dJbWFnZVJxKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci9zaG93LWltYWdlJztcbiAgICBjb25zdCBib2R5ID0geyBjb2RlOiBwYXJhbXMuY29kZSB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEJsb2I+KHNlcnZpY2VVcmwsIGJvZHksIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICB9KTtcbiAgfVxuXG4gIGFzc2lnbkltYWdlVG9UcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckFzc2lnbkltYWdlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVyL2Fzc2lnbi1pbWFnZSc7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3Rva2VuJywgcGFyYW1zLnRva2VuKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvZGUnLCBwYXJhbXMuY29kZS50b1N0cmluZygpKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ltYWdlJywgcGFyYW1zLmltYWdlLCBwYXJhbXMuaW1hZ2UubmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgZm9ybURhdGEpO1xuICB9ICAgKi9cblxuICAgIGFzc2lnbkltYWdlVG9UcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckFzc2lnbkltYWdlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvYXNzaWduLWltYWdlJztcbiAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1t0b2tlbl0nLCBwYXJhbXMudG9rZW4pO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbY29kZV0nLCBwYXJhbXMuY29kZS50b1N0cmluZygpKTtcbiAgICAgIGlmIChwYXJhbXMuaW1hZ2UpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdpbWFnZScsIHBhcmFtcy5pbWFnZSwgcGFyYW1zLmltYWdlLm5hbWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgICB9XG5cbiAgICBzaG93VHJhbnNmZXJJbWFnZShwYXJhbXM6IElUcmFuc2ZlclNob3dJbWFnZVJxKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcbiAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvc2hvdy1pbWFnZSc7XG4gICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBjb2RlOiBwYXJhbXMuY29kZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGJvZHksIHtcbiAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICAgIH0pO1xuICAgIH1cblxuXG5cbiAgdXBkYXRlVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJVcGRhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvdXBkYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVRyYW5zZmVyU3RhdHVzKHBhcmFtczogSVRyYW5zZmVyU3RhdHVzVXBkYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL3VwZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBkZWxldGVUcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckRlbGV0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9kZWxldGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VhcmNoVHJhbnNmZXIocGFyYW1zOiBJVHJhbnNmZXJTZWFyY2hScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci9zZWFyY2gnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZXhwb3J0UGF5bWVudENvcnJlbGF0aXZlZUhpc3RvcnlEYXRhKHBhcmFtOklQYXltZW50Q29ycmVsYXRpdmVScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvcGF5bWVudHMvY29ycmVsYXRpdmUvaGlzdG9yeS9kYXRhJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNNYWRlQnlGaWx0ZXIocGFyYW06IElQYXltZW50Q29ycmVsYXRpdmVScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3BheW1lbnQvY29ycmVsYXRpdmVzL2J5L2ZpbHRlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkdhdGV3YXlQYXltZW50UmVjb3JkKHBhcmFtOiBJT2J0YWluR2F0ZXdheVBheW1lbnRSZWNvcmRScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2dhdGV3YXkvcGF5bWVudC9yZWNvcmQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBlcGF5Y29QYXltZW50VXBkYXRlKHBhcmFtOiBJVXBkYXRlRXBheWNvUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdlcGF5Y28vcGF5bWVudC91cGRhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHBvcnRFbGVjdHJvbmljSW52b2ljZUhpc3RvcnlEYXRhKHBhcmFtOklFbGVjdHJvbmljSW52b2ljZVJTKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvZWxlY3Ryb25pYy9pbnZvaWNlL2hpc3RvcnkvZGF0YSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEFjY291bnRzQW5kQmFsYW5jZXNCeUNvb2RpbmF0b3IocGFyYW06SUFjY291bnRzQmFsYW5jZVJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvYWNjb3VudHMvYW5kL2JhbGFuY2VzL2J5L2Nvb2RpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVDb2RQYXltZW50cyhwYXJhbXM6IElDcmVhdGVDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvY29kL3BheW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZUNvZFBheW1lbnRzKHBhcmFtczogSURlbGV0ZUNvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2RlbGV0ZS9jb2QvcGF5bWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBnZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uKHBhcmFtczogSUdldEZ1bGxQYXltZW50SW5mb3JtYXRpb25ScSk6IE9ic2VydmFibGU8SUdldEZ1bGxQYXltZW50SW5mb3JtYXRpb25Scz4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Z1bGwtaW5mb3JtYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnM+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlVHJhbnNmZXJTdGF0dXNCeUNvZGUocGFyYW1zOiBJVHJhbnNmZXJTdGF0dXNVcGRhdGVSZXF1ZXN0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvdXBkYXRlLXN0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVFbGVjdHJvbmljSW52b2ljZShwYXJhbXM6IElVcGRhdGVFbGVjdHJvbmljSW52b2ljZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC91cGRhdGUtZWxlY3Ryb25pYy1pbnZvaWNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlYXJjaFBheW1lbnRCaWxsKHBhcmFtczogSVNlYXJjaFBheW1lbnRCaWxsUnEpOiBPYnNlcnZhYmxlPElTZWFyY2hQYXltZW50QmlsbFJzPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvc2VhcmNoLWluZm9ybWF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJU2VhcmNoUGF5bWVudEJpbGxScz4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRWYWxpZGF0aW9uT2ZUcmFuc2ZlcnNCeU51bWJlcihwYXJhbXM6IElWYWxpZGF0aW9uT2ZUcmFuc2ZlcnNCeU51bWJlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdmFsaWRhdGlvbi9vZi90cmFuc2ZlcnMvYnkvbnVtYmVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJU2VhcmNoUGF5bWVudEJpbGxScz4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdW1tYXJ5QnlDb29yZGluYXRvcihwYXJhbXM6IElHZXRTdW1tYXJ5QnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvc3VtbWFyeS9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxufVxuXG4iXX0=
|
|
525
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9idWRnZXQtc2VydmljZS9idWRnZXQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFPM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBSWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFzQjtRQUNuQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGNBQWMsQ0FBQyxN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N0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDOzswR0F4bEJVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0ZGlzY291bnRBbGxScSwgRGlzY291bnRScSwgRGlzY291bnRVcGRhdGVScSwgSU9idGFpbkFsbENvdXJzZXdhbGxldCwgSUFzc2lnblJlcXVlc3RScSwgSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzLCBJR2V0Q29kQnlQYXltZW50UGxhblJxLCBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSwgSVBhcmFtc1VwZGF0ZURhdGVDb2RQYXltZW50c1JxLCBJQ2FuY2VsU3R1ZGVudFJlY2VpcHRScSwgSUNhbmNlbGxlZFJlY2VpcHRCeURhdGVScSwgSVBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScSwgSU9idGFpbkNvdXJzZUJ5Q29vZERpZmZQYXJhbVJxLCBOYW1lQ29tbW9uRXhwZW5zZXMsIElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSwgSU9idGFpblN0dWRlbnRQYXltZW50QnlEaWZmUGFyYW1ScSwgSW5mb0Nhc2hDbG9zaW5nUnEsIEljYXNoQ2xvc2luZ0RhdGVScSwgSWNhc2hDbG9zaW5nUnEsIElwYXltZW50QmlsbEVncmVzc1JxLCBJbmNvbWVzQW5kRWdyZXNzUnEsIElPYmF0aW5EZXRhaWxlZEluY29tZUJ5VXNlckFuZERhdGVScSwgSU9iYXRpbkJhbGFjZXNCeUNvb2RpbmF0b3JScSwgU2VuZEVtYWlsUGF5bWVudCxTZW5kRW1haWxQYXltZW50Q2FuY2VsbGF0aW9uUlMsIElQYXltZW50Q29ycmVsYXRpdmVScSwgSU9idGFpbkdhdGV3YXlQYXltZW50UmVjb3JkUnEsIElVcGRhdGVFcGF5Y29QYXltZW50UnEsIElFbGVjdHJvbmljSW52b2ljZVJTLCBJQWNjb3VudHNCYWxhbmNlUnEsIElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnEsIElHZXRGdWxsUGF5bWVudEluZm9ybWF0aW9uUnMsIElTZWFyY2hQYXltZW50QmlsbFJxLCBJU2VhcmNoUGF5bWVudEJpbGxScywgSUdldFN1bW1hcnlCeUNvb3JkaW5hdG9yUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnVkZ2V0L2J1ZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxLCBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yQ291cnNlUnEsIElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSwgSVBheW1lbnRSZWZlcmVuY2VScSwgSVRyYW5zZmVyLCBJVHJhbnNmZXJBc3NpZ25JbWFnZSwgSVRyYW5zZmVyQ3JlYXRlUnEsIElUcmFuc2ZlckRlbGV0ZVJxLCBJVHJhbnNmZXJHZXRBbGxScSwgSVRyYW5zZmVyR2V0UnEsIElUcmFuc2ZlclNlYXJjaFJxLCBJVHJhbnNmZXJTaG93SW1hZ2VScSwgSVRyYW5zZmVyU3RhdHVzVXBkYXRlUnEsIElUcmFuc2ZlclVwZGF0ZVJxLCBQYXltZW50QmlsbFJxLCBQYXltZW50QmlsbFJxMiwgUHJpY2VCeVR5cGVTZXJ2aWNlUnEsSURlbGV0ZUNvZFBheW1lbnRzUnEsSUNyZWF0ZUNvZFBheW1lbnRzUnEsIElUcmFuc2ZlclN0YXR1c1VwZGF0ZVJlcXVlc3RScSwgSVVwZGF0ZUVsZWN0cm9uaWNJbnZvaWNlUnEsIElWYWxpZGF0aW9uT2ZUcmFuc2ZlcnNCeU51bWJlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BheW1lbnQvcGF5bWVudC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4uLy4uL21vZGVscy9yZXBvcnRzL3JlcG9ydHMubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IElDb2RQYXltZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJQ3JlYXRlVHJhbnNmZXJScSwgSVNlYXJjaFRyYW5zZmVyUnEsIElVcGRhdGVUcmFuc2ZlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zZmVyL3RyYW5zZmVyLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQnVkZ2V0U2VydmljZSBleHRlbmRzIElQVEdlbmVyYWxTZXJ2aWNle1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYnVkZ2V0L2FwaS8nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5TRVJWSUNFX1VSTCA9IHRoaXMuYmFzZVVybCgpICsgdGhpcy5TRVJWSUNFX1VSTDtcbiAgfVxuXG4gIGdldEFsbERpc2NvdW50KHVzZXI6IGdldGRpc2NvdW50QWxsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50cy9jb3Vwb24vYWxsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh1c2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVEaXNjb3VudChwYXJhbXM6IERpc2NvdW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50L2NvdXBvbi9jcmVhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZURpc2NvdW50KHBhcmFtczogRGlzY291bnRVcGRhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGlzY291bnQvY291cG9uL3VwZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50U3R1ZGVudHNCeUNvZGUoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L2NvZC9zdHVkZW50L2J5L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudFdhbGxldEJ5Q2FtcHVzKGNvZGVDYW1wdXM6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L3dhbGxldC9ieS9jYW1wdXMvJyArIGNvZGVDYW1wdXM7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBwYXltZW50QmlsbER1ZXMocGFyYW1zOiBQYXltZW50QmlsbFJxMik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3JlZ2lzdGVyL2R1ZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcGF5bWVudEJpbGxTZXJ2aWNlcyhwYXJhbXM6IFBheW1lbnRCaWxsUnEyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvcmVnaXN0ZXIvc2VydmljZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEJpbGxBbGwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvYmlsbC9jYW5jZWxlZC9hbGwnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEJpbGxCeUNvZGUoY29kZVBheW1lbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2J5L2NvZGUvJyArIGNvZGVQYXltZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEJpbGxCeVN0dWRlbnQoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2J5L3N0dWRlbnQvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEJpbGxCeVJlZmVyZW5jZShyZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L2JpbGwvY2FuY2VsZWQvYnkvcmVmZXJlbmNlLycgKyByZWZlcmVuY2U7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuXG4gIGdldFByaWNlQnlUeXBlU2VydmljZShwYXJhbXM6IFByaWNlQnlUeXBlU2VydmljZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcHJpY2UvYnkvdHlwZS9zZXJ2aWNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZXNCeUNvb3JkaW5hdG9yKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL3dhbGxldC91c2VyL2J5L2Nvb3JkaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFdhbGxldEJ5Q29kZVVzZXIgKGNvZGVVc2VyOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvd2FsbGV0L2J5L2NvZGUvdXNlci8nICsgY29kZVVzZXI7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0cGF5bWVudEJpbGxCeVdhbGxldENvZGUgKGNvZGVXYWxsZXQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9vYnRhaW4vcGF5bWVudC9iaWxsL2J5L3dhbGxldHMvYnkvJyArIGNvZGVXYWxsZXQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0cGF5bWVudEJpbGxJbmNvbWUgKGNvZGVXYWxsZXQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L2JpbGwvd2FsbGV0cy9jb2RlL2ZpbHRlci9pbmNvbWUvJyArIGNvZGVXYWxsZXQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0cGF5bWVudEJpbGxFZ3Jlc3MgKGNvZGVXYWxsZXQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L2JpbGwvd2FsbGV0cy9jb2RlL2ZpbHRlci9lZ3Jlc3MvJyArIGNvZGVXYWxsZXQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZVN0dWRlbnQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAgJ2dldC9wYXltZW50L292ZXJkdWUvYWxsL3N0dWRlbnQnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0RGF5UGF5bWVudE92ZXJkdWVTdHVkZW50KGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvZGF5L3BheW1lbnQvb3ZlcmR1ZS9zdHVkZW50L2J5L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudE92ZXJkdWVDb3Vyc2VCeUNvb3JkaW5hdG9yKHBhcmFtczogSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L292ZXJkdWUvY291cnNlL2J5L2Nvb3JkaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlU3R1ZGVudEJ5Q29vcmRpbmF0b3IocGFyYW1zOiBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvb3ZlcmR1ZS9zdHVkZW50L2J5L2Nvb2RpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudE92ZXJkdWVTdHVkZW50QnlDb29yZGluYXRvckFuZENvdXJzZUNvZGUocGFyYW1zOiBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yQ291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvb3ZlcmR1ZS9zdHVkZW50L2J5L2Nvb2RpbmF0b3Jjb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0T2J0YWluQ29kU3R1ZGVudEJ5Q29vcmRpbmF0b3IocGFyYW1zOiBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3N0dW5kZW50L2J5L2Nvb3JkaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb3Vyc2UvYnkvdXNlci9idWRnZXQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgLy8gQXNzaW5nQ291cnNlKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgLy8gICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb3Vyc2UvYnkvY29kZS91c2VyL2J1ZGdldC9hc3NpZ24nO1xuICAvLyAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICAvLyB9XG4gIEFzc2luZ0NvdXJzZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2UvYXNzaWduL2RldGFpbC9ieS9hZHZpc2VyL2J1ZGdldCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBBc3NpbmdDb3Vyc2VzKHBhcmFtczogSUFzc2lnblJlcXVlc3RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL2J5L3VzZXIvYnVkZ2V0L2Fzc2lnbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5BbGxBdmFpbGFibGVDb3Vyc2VzQnlTdHVkZW50KHBhcmFtczogSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vYWxsL2F2YWlsYWJsZS9jb3Vyc2VzL2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluT2JzZXJ2YXRpb25CeUNvZFN0dWRlbnQocGFyYW1zOiBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vb2JzZXJ2YXJpb24vYnkvY29kL3N0dWRldCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBhZG1pblN0dWRlbnRCeUNvb3JkaW5hdG9yKHBhcmFtczogSUZ1bGxDb2RTdHVkZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYWRtaW4vc3R1ZGVudC9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RieVBheW1lbnRQbGFuUnEocGFyYW1zOiBJR2V0Q29kQnlQYXltZW50UGxhblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3N0dW5kZW50L3BheW1lbnRzL2J5L2NvZGUvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBVcGRhdGVBbW91bnRDb2RQYXltZW50cyhwYXJhbXM6IElVcGRhdGVBbW91bnRDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvYW1vdW50L2NvZC9wYXltZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBVcGRhdGVEYXRlQ29kUGF5bWVudHMocGFyYW1zOiBJUGFyYW1zVXBkYXRlRGF0ZUNvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwdXQvY2hhbmdlL2RhdGUvcGF5bWVudC9jb2QvYnkvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBVcGRhdGVEYXRlQ29kUGF5bWVudHNGb3JQYXltZW50UGxhbihwYXJhbXM6IElQYXJhbXNVcGRhdGVEYXRlQ29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL2RhdGUvcGF5bWVudC9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudFJlY2VpcHRCeUNvZGUgKGNvZGVSZWNlaXB0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnQvcmVjZWlwdC9ieS9jb2RlLycgKyBjb2RlUmVjZWlwdDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRzRm9yU3R1ZGVudENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnRzL2Zvci9zdHVkZW50L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluU3R1ZGVudFBheW1lbnRzQnlHcm91cGluZ0NvZCAoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9zdHVkZW50L3BheW1lbnRzL2J5L2dyb3VwaW5nL2NvZC8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5SZWNlaXB0QnlDb2RlIChjb2RlUmVjZWlwdDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3JlY2VpcHQvYnkvY29kZS8nICsgY29kZVJlY2VpcHQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50c0ZvclJlY2VpcHRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50cy9mb3IvcmVjZWlwdC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNhbmVsU3R1ZGVudFJlY2VpcHQocGFyYW1zOiBJQ2FuY2VsU3R1ZGVudFJlY2VpcHRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2FuY2VsL3N0dWRlbnQvcmVjZWlwdCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDYW5jZWxsZWRSZWNlaXB0c0J5RGF0ZShwYXJhbXM6IElDYW5jZWxsZWRSZWNlaXB0QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NhbmNlbGxlZC9yZWNlaXB0cy9ieS9kYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRyZWNlaXZlZEJ5VXNlcihwYXJhbXM6IElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wYXltZW50cy9yZWNlaXZlZC9ieS91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFRvdGFsQ2FzaFJlY2VpcHRzQnlEYXRlQW5kVXNlcihwYXJhbXM6IElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RvdGFsL2Nhc2gvcmVjZWlwdHMvYnkvZGF0ZS9hbmQvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQnlDb29yZEFuZERpZmZQYXJhbShwYXJhbXM6IElPYnRhaW5Db3Vyc2VCeUNvb2REaWZmUGFyYW1ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2Uvd2FsbGV0L2J5L2Nvb3JkaW5hdG9yL2RpZmZldGVudC9wYXJhbSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxDb21tb25FeHBlbnNlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29tbW9uL2V4cGVuc2VzL2FsbCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgY3JlYXRlQ29tbW1vbkV4cGVuc2VzKHBhcmFtOiBOYW1lQ29tbW9uRXhwZW5zZXMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbW1vbi9leHBlbnNlcy9jcmVhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgb2J0YWluQ29kQW5kU3RhdHVzQXBwcm92ZWRMZXZlbEJ5R3JvdXAocGFyYW06IE5hbWVDb21tb25FeHBlbnNlcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdHVkZW50L3N0YXR1cy9hcHByb3ZlZC9ieS9ncm91cCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRQYXltZW50VHJhbnNhY3Rpb25IaXN0b3J5QnlDb3Vyc2UocGFyYW06IElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdHVkZW50L3BheW1lbnQvdHJhbnNhY3Rpb24vaGlzdG9yeS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50VHJhbnNhY3Rpb25IaXN0b3J5QnlDb2QocGFyYW06IElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wYXltZW50L3RyYW5zYWN0aW9uL2hpc3RvcnkvYnkvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluU3R1ZGVudFBheW1lbnRCeURpZmZlcmVudFBhcmFtZXRlcihwYXJhbTogSU9idGFpblN0dWRlbnRQYXltZW50QnlEaWZmUGFyYW1ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdHVkZW50L3BheW1lbnQvYnkvZGlmZmVyZW50L3BhcmFtZXRlcnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVFZ3Jlc3MocGFyYW06IElwYXltZW50QmlsbEVncmVzc1JxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9yZWdpc3Rlci9lZ3Jlc3MnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0Q2F0ZWdvcnkoKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdHlwZS9zdXBwbGllci9hbGwnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGNyZWF0ZUNhc2hDbG9zaW5nKHBhcmFtOiBJY2FzaENsb3NpbmdScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHNlYXJjaENvbW1vbkV4cGVuc2VzKG5hbWU6c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArJ2dldC9zZWFyY2gvY29tbW9uL2V4cGVuc2VzLycgKyBuYW1lO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGdldFVzZXJzQ2FzaENsb3NpbmcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS91c2VyJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENhc2hDbG9zaW5nRGF5KGNvZGU6bnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKydwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L2RheS9jb2RldXNlci8nICsgY29kZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBnZXRDYXNoQ2xvc2luZ01vbnRoKGNvZGU6bnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwrICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L21vbnRoL2NvZGV1c2VyLycgKyBjb2RlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGdldENhc2hDbG9zaW5nWWVhcihjb2RlOm51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkveWVhci9jb2RldXNlci8nICsgY29kZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBnZXRJbmZvQ2FzaENsb3NpbmdCeUNvZGUocGFyYW06SW5mb0Nhc2hDbG9zaW5nUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDYXNoQ2xvc2luZ0RhdGUocGFyYW06SWNhc2hDbG9zaW5nRGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L2RhdGUvcmFuZ2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZXhwb3J0T2J0YWluU3R1ZGVudFBheW1lbnRUcmFuc2FjdGlvbkhpc3RvcnlCeUNvdXJzZShwYXJhbTogSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHBvcnQvZXhjZWwvZGF0YS9wYXltZW50L3RyYW5zYWN0aW9uL2hpc3RvcnkvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldFRvdGFsQ2FzaEluY29tZUVncmVzcyhwYXJhbTogSW5jb21lc0FuZEVncmVzc1JxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RvdGFsL2Nhc2gvcmVjZWlwdHMvaW5jb21lcy9lZ3Jlc3MnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYmF0aW5CYWxhY2VzQnlDb29kaW5hdG9yKHBhcmFtczogSUFjY291bnRzQmFsYW5jZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FjY291bnRzL2FuZC9iYWxhbmNlcy9ieS9jb29kaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZShwYXJhbXM6IElPYmF0aW5EZXRhaWxlZEluY29tZUJ5VXNlckFuZERhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9kZXRhaWxlZC9pbmNvbWUvcmVwb3J0L2J5L2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZXhwb3J0SW5jb21lRXhwZW5zZUhpc3RvcnlEYXRhKHBhcmFtczogSU9iYXRpbkRldGFpbGVkSW5jb21lQnlVc2VyQW5kRGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXhwb3J0L2luY29tZS9leHBlbnNlL2hpc3RvcnkvZGF0YSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5BbGxQYXltZW50QmlsbENhbmNlbGVkQnlTdHVkZW50KGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vYWxsL3BheW1lbnQvYmlsbC9jYW5jZWxsZWQvYnkvc3R1ZGVudC8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50SW5mb0J5UmVmZXJlbmNlKHBhcmFtczogSVBheW1lbnRSZWZlcmVuY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL2J5L3JlZmVyZW5jZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50c0J5Q29kKHBhcmFtOklDb2RQYXltZW50UnEpOk9ic2VydmFibGU8YW55PntcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wYXltZW50cy9ieS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50c01hZGVCeURhdGVzKHBhcmFtczogSUNhbmNlbGxlZFJlY2VpcHRCeURhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wYXltZW50cy9tYWRlL2J5L2RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHNlbmRFbWFpbFBheW1lbnQocGFyYW1zOiBTZW5kRW1haWxQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9zZW5kL2VtYWlsL3BheW1lbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VuZEVtYWlsUGF5bWVudENhbmNlbGxhdGlvbihwYXJhbXM6IFNlbmRFbWFpbFBheW1lbnRDYW5jZWxsYXRpb25SUyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvc2VuZC9lbWFpbC9wYXltZW50L2NhbmNlbGxhdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbiAgZ2V0QWxsVHJhbnNmZXJzKHBhcmFtczogSVRyYW5zZmVyR2V0QWxsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL2FsbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGdldFRyYW5zZmVyQnlDb2RlKHBhcmFtczogSVRyYW5zZmVyR2V0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL3NwZWNpZmljJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIC8vIGNyZWF0ZVRyYW5zZmVyKHBhcmFtczogSVRyYW5zZmVyQ3JlYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAvLyAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL2NyZWF0ZSc7XG4gIC8vICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIC8vIH1cblxuICBjcmVhdGVUcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlckNyZWF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy9jcmVhdGUnO1xuXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1t0b2tlbl0nLCBwYXJhbXMudG9rZW4pO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW3RyYW5zZmVyX2Ftb3VudF0nLCBwYXJhbXMudHJhbnNmZXJfYW1vdW50LnRvU3RyaW5nKCkpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW2JhbmtfY29kZV0nLCBwYXJhbXMuYmFua19jb2RlLnRvU3RyaW5nKCkpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW3RyYW5zZmVyX2RhdGVdJywgcGFyYW1zLnRyYW5zZmVyX2RhdGUpOyAvLyBhaG9yYSBzdHJpbmdcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1tyZWZlcmVuY2VfbnVtYmVyXScsIHBhcmFtcy5yZWZlcmVuY2VfbnVtYmVyKTtcblxuXG4gICAgaWYgKHBhcmFtcy5pbWFnZSkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdwYXJhbXNbaW1hZ2VdJywgcGFyYW1zLmltYWdlLCBwYXJhbXMuaW1hZ2UubmFtZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBmb3JtRGF0YSk7XG4gIH1cbi8qXG4gIHNob3dUcmFuc2ZlckltYWdlKHBhcmFtczogSVRyYW5zZmVyU2hvd0ltYWdlUnEpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVyL3Nob3ctaW1hZ2UnO1xuICAgIGNvbnN0IGJvZHkgPSB7IGNvZGU6IHBhcmFtcy5jb2RlIH07XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QmxvYj4oc2VydmljZVVybCwgYm9keSwge1xuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nLFxuICAgIH0pO1xuICB9XG5cbiAgYXNzaWduSW1hZ2VUb1RyYW5zZmVyKHBhcmFtczogSVRyYW5zZmVyQXNzaWduSW1hZ2UpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXIvYXNzaWduLWltYWdlJztcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndG9rZW4nLCBwYXJhbXMudG9rZW4pO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29kZScsIHBhcmFtcy5jb2RlLnRvU3RyaW5nKCkpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnaW1hZ2UnLCBwYXJhbXMuaW1hZ2UsIHBhcmFtcy5pbWFnZS5uYW1lKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBmb3JtRGF0YSk7XG4gIH0gICAqL1xuXG4gICAgYXNzaWduSW1hZ2VUb1RyYW5zZmVyKHBhcmFtczogSVRyYW5zZmVyQXNzaWduSW1hZ2UpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci9hc3NpZ24taW1hZ2UnO1xuICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGFyYW1zW3Rva2VuXScsIHBhcmFtcy50b2tlbik7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmFtc1tjb2RlXScsIHBhcmFtcy5jb2RlLnRvU3RyaW5nKCkpO1xuICAgICAgaWYgKHBhcmFtcy5pbWFnZSkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ltYWdlJywgcGFyYW1zLmltYWdlLCBwYXJhbXMuaW1hZ2UubmFtZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgZm9ybURhdGEpO1xuICAgIH1cblxuICAgIHNob3dUcmFuc2ZlckltYWdlKHBhcmFtczogSVRyYW5zZmVyU2hvd0ltYWdlUnEpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj4ge1xuICAgICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci9zaG93LWltYWdlJztcbiAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGNvZGU6IHBhcmFtcy5jb2RlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgYm9keSwge1xuICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgICAgfSk7XG4gICAgfVxuXG5cblxuICB1cGRhdGVUcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlclVwZGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVycy91cGRhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlVHJhbnNmZXJTdGF0dXMocGFyYW1zOiBJVHJhbnNmZXJTdGF0dXNVcGRhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2ZlcnMvdXBkYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZVRyYW5zZmVyKHBhcmFtczogSVRyYW5zZmVyRGVsZXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdHJhbnNmZXJzL2RlbGV0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBzZWFyY2hUcmFuc2ZlcihwYXJhbXM6IElUcmFuc2ZlclNlYXJjaFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RyYW5zZmVyL3NlYXJjaCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHBvcnRQYXltZW50Q29ycmVsYXRpdmVlSGlzdG9yeURhdGEocGFyYW06SVBheW1lbnRDb3JyZWxhdGl2ZVJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9wYXltZW50cy9jb3JyZWxhdGl2ZS9oaXN0b3J5L2RhdGEnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50c01hZGVCeUZpbHRlcihwYXJhbTogSVBheW1lbnRDb3JyZWxhdGl2ZVJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcGF5bWVudC9jb3JyZWxhdGl2ZXMvYnkvZmlsdGVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluR2F0ZXdheVBheW1lbnRSZWNvcmQocGFyYW06IElPYnRhaW5HYXRld2F5UGF5bWVudFJlY29yZFJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vZ2F0ZXdheS9wYXltZW50L3JlY29yZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGVwYXljb1BheW1lbnRVcGRhdGUocGFyYW06IElVcGRhdGVFcGF5Y29QYXltZW50UnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2VwYXljby9wYXltZW50L3VwZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEVsZWN0cm9uaWNJbnZvaWNlSGlzdG9yeURhdGEocGFyYW06SUVsZWN0cm9uaWNJbnZvaWNlUlMpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9lbGVjdHJvbmljL2ludm9pY2UvaGlzdG9yeS9kYXRhJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZXhwb3J0QWNjb3VudHNBbmRCYWxhbmNlc0J5Q29vZGluYXRvcihwYXJhbTpJQWNjb3VudHNCYWxhbmNlUnEpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4cG9ydC9hY2NvdW50cy9hbmQvYmFsYW5jZXMvYnkvY29vZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUNvZFBheW1lbnRzKHBhcmFtczogSUNyZWF0ZUNvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS9jb2QvcGF5bWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZGVsZXRlQ29kUGF5bWVudHMocGFyYW1zOiBJRGVsZXRlQ29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGVsZXRlL2NvZC9wYXltZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGdldEZ1bGxQYXltZW50SW5mb3JtYXRpb24ocGFyYW1zOiBJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJxKTogT2JzZXJ2YWJsZTxJR2V0RnVsbFBheW1lbnRJbmZvcm1hdGlvblJzPiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvZnVsbC1pbmZvcm1hdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SUdldEZ1bGxQYXltZW50SW5mb3JtYXRpb25Scz4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVUcmFuc2ZlclN0YXR1c0J5Q29kZShwYXJhbXM6IElUcmFuc2ZlclN0YXR1c1VwZGF0ZVJlcXVlc3RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC90cmFuc2Zlci91cGRhdGUtc3RhdHVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZUVsZWN0cm9uaWNJbnZvaWNlKHBhcmFtczogSVVwZGF0ZUVsZWN0cm9uaWNJbnZvaWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3VwZGF0ZS1lbGVjdHJvbmljLWludm9pY2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VhcmNoUGF5bWVudEJpbGwocGFyYW1zOiBJU2VhcmNoUGF5bWVudEJpbGxScSk6IE9ic2VydmFibGU8SVNlYXJjaFBheW1lbnRCaWxsUnM+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9zZWFyY2gtaW5mb3JtYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElTZWFyY2hQYXltZW50QmlsbFJzPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFZhbGlkYXRpb25PZlRyYW5zZmVyc0J5TnVtYmVyKHBhcmFtczogSVZhbGlkYXRpb25PZlRyYW5zZmVyc0J5TnVtYmVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC92YWxpZGF0aW9uL29mL3RyYW5zZmVycy9ieS9udW1iZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElTZWFyY2hQYXltZW50QmlsbFJzPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN1bW1hcnlCeUNvb3JkaW5hdG9yKHBhcmFtczogSUdldFN1bW1hcnlCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9zdW1tYXJ5L2J5L2Nvb3JkaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5cbiAgY3JlYXRlVHJhbnNmZXJWYWxpZGF0ZShwYXJhbXM6IElDcmVhdGVUcmFuc2ZlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjcmVhdGUvdHJhbnNmZXIvdmFsaWRhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VhcmNoVHJhbnNmZXJCeVJlZmVyZW5jZShwYXJhbXM6IElTZWFyY2hUcmFuc2ZlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdzZWFyY2gvdHJhbnNmZXIvYnkvcmVmZXJlbmNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVRyYW5zZmVyRGF0YShwYXJhbXM6IElVcGRhdGVUcmFuc2ZlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICd1cGRhdGUvdHJhbnNmZXIvZGF0YSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxufVxuXG4iXX0=
|
|
@@ -6604,6 +6604,21 @@ class BudgetService extends IPTGeneralService {
|
|
|
6604
6604
|
this.generateRequestParams(params);
|
|
6605
6605
|
return this.http.post(serviceUrl, this.httpOptions);
|
|
6606
6606
|
}
|
|
6607
|
+
createTransferValidate(params) {
|
|
6608
|
+
const serviceUrl = this.SERVICE_URL + 'create/transfer/validate';
|
|
6609
|
+
this.generateRequestParams(params);
|
|
6610
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
6611
|
+
}
|
|
6612
|
+
searchTransferByReference(params) {
|
|
6613
|
+
const serviceUrl = this.SERVICE_URL + 'search/transfer/by/reference';
|
|
6614
|
+
this.generateRequestParams(params);
|
|
6615
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
6616
|
+
}
|
|
6617
|
+
updateTransferData(params) {
|
|
6618
|
+
const serviceUrl = this.SERVICE_URL + 'update/transfer/data';
|
|
6619
|
+
this.generateRequestParams(params);
|
|
6620
|
+
return this.http.post(serviceUrl, this.httpOptions);
|
|
6621
|
+
}
|
|
6607
6622
|
}
|
|
6608
6623
|
BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6609
6624
|
BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, providedIn: 'root' });
|