@creator.co/creatorco-prisma-client 1.0.9 → 1.0.11
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/edge.js
CHANGED
|
@@ -1173,6 +1173,14 @@ const config = {
|
|
|
1173
1173
|
{
|
|
1174
1174
|
"fromEnvVar": null,
|
|
1175
1175
|
"value": "debian-openssl-3.0.x"
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
"fromEnvVar": null,
|
|
1179
|
+
"value": "linux-musl-arm64-openssl-3.0.x"
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"fromEnvVar": null,
|
|
1183
|
+
"value": "linux-arm64-openssl-1.0.x"
|
|
1176
1184
|
}
|
|
1177
1185
|
],
|
|
1178
1186
|
"previewFeatures": [
|
|
@@ -1201,8 +1209,8 @@ const config = {
|
|
|
1201
1209
|
}
|
|
1202
1210
|
}
|
|
1203
1211
|
},
|
|
1204
|
-
"inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KCiAgICAvLyBmb3IgYWdlbmNpZXMKICBwYXJlbnRCcmFuZElkICAgICAgIEludD8KICBwYXJlbnRCcmFuZCAgICAgICAgIEJyYW5kPyBAcmVsYXRpb24oIkNoaWxkQnJhbmRzIiwgZmllbGRzOiBbcGFyZW50QnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hpbGRCcmFuZHMgICAgICAgICBCcmFuZFtdIEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiKQoKICBAQG1hcCgiYnJhbmQiKQp9Cgptb2RlbCBTZWFyY2hDb250YWN0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlYXJjaGNvbnRhY3RzIikKfQoKbW9kZWwgUmVwb3J0Q3JlZGl0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgIEB1bmlxdWUKICBwcmV2UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiLCBmaWVsZHM6IFtwcmV2UXR5UG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiKQoKICBicmFuZElkIEludAogIGJyYW5kICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmVwb3J0Y3JlZGl0cyIpCn0KCm1vZGVsIEJyYW5kVG9JbWFnZSB7CiAgaWQgICAgICAgICAgSW50ICAgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBicmFuZElkICAgICBJbnQKICB0eXBlICAgICAgICBTdHJpbmcKCiAgYnJhbmQgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgc2l6ZXMgICAgICAgQnJhbmRJbWFnZVtdCgogIEBAbWFwKCJicmFuZHRvaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZFRvQ2F0ZWdvcnkgewogIGJyYW5kSWQgICAgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQnJhbmQgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2JyYW5kSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJicmFuZHRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDcmVhdG9yVG9DYXRlZ29yeSB7CiAgY3JlYXRvclByb2ZpbGVJZCBJbnQKICBjYXRlZ29yeUlkICAgICAgIEludAoKICBjcmVhdG9yUHJvZmlsZSBDcmVhdG9yUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvclByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhdGVnb3J5ICAgICAgIENhdGVnb3J5ICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY3JlYXRvclByb2ZpbGVJZCwgY2F0ZWdvcnlJZF0pCn0KCm1vZGVsIENoYXQgewogIGlkICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKICBjb252ZXJzYXRpb25JZCBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICBvcHRJbklkIEludD8gQHVuaXF1ZQoKICBvcHRJbiAgICBPcHRJbj8gICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1lc3NhZ2VzIE1lc3NhZ2VbXQoKICBAQG1hcCgiY2hhdCIpCn0KCm1vZGVsIE1lc3NhZ2UgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgc2VuZGVyICAgICBTdHJpbmcKICBjb250ZW50ICAgIFN0cmluZyAgICBAZGIuVGV4dAogIHJlYWQgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIHR5cGUgICAgICAgU3RyaW5nICAgIEBkZWZhdWx0KCJ0ZXh0IikKICBtZXNzYWdlU2lkIFN0cmluZz8KCiAgdXNlcklkIEludD8KICBjaGF0SWQgSW50CgogIHVzZXIgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hhdCBDaGF0ICBAcmVsYXRpb24oZmllbGRzOiBbY2hhdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJtZXNzYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ24gewogIGlkICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICAgICAgICAgU3RyaW5nCiAgc2x1ZyAgICAgICAgICAgICAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgc3RhdHVzICAgICAgICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgiZHJhZnQiKSAvLyBkcmFmdCwgcGF1c2VkLCBwZW5kaW5nLCBwcml2YXRlLCBwdWJsaXNoLCB0cmFzaAogIGRhdGUgICAgICAgICAgICAgICAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgcHVibGlzaERhdGUgICAgICAgICAgIERhdGVUaW1lPwogIGRlc2NyaXB0aW9uICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwcm9kdWN0RGVzY3JpcHRpb24gICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJpemVEZXNjcmlwdGlvbiAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHN0cmF0ZWd5ICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInNob3V0b3V0IikKICBzb2NpYWxDaGFubmVsICAgICAgICAgU3RyaW5nPwogIHNvY2lhbENoYW5uZWxzICAgICAgICBKc29uPwogIGZhY2Vib29rUmVhY2ggICAgICAgICBJbnQ/CiAgZmFjZWJvb2tFbmdhZ2VtZW50ICAgIEZsb2F0PwogIGluc3RhZ3JhbVJlYWNoICAgICAgICBJbnQ/CiAgaW5zdGFncmFtRW5nYWdlbWVudCAgIEZsb2F0PwogIHlvdXR1YmVSZWFjaCAgICAgICAgICBJbnQ/CiAgeW91dHViZUVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHR3aXR0ZXJSZWFjaCAgICAgICAgICBJbnQ/CiAgdHdpdHRlckVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHRpa3Rva1JlYWNoICAgICAgICAgICBJbnQ/CiAgdGlrdG9rRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHR3aXRjaFJlYWNoICAgICAgICAgICBJbnQ/CiAgdHdpdGNoRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHF1YW50aXR5ICAgICAgICAgICAgICBJbnQgICAgICAgQGRlZmF1bHQoMCkKICBob2xkQ29zdCAgICAgICAgICAgICAgRmxvYXQ/CiAgdmFsdWUgICAgICAgICAgICAgICAgIEZsb2F0PwogIHBhaWRBbW91bnQgICAgICAgICAgICBGbG9hdD8KICBtaW5BZ2UgICAgICAgICAgICAgICAgSW50PwogIG1heEFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgdmlzdWFscyAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHBob3RvVGFncyAgICAgICAgICAgICBKc29uPwogIGhhc2h0YWdzICAgICAgICAgICAgICBKc29uPwogIHN0b3J5SGFzaHRhZ3MgICAgICAgICBKc29uPwogIHN0b3J5TWVudGlvbnMgICAgICAgICBKc29uPwogIGNhcHRpb24gICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXNzd29yZCAgICAgICAgICAgICAgU3RyaW5nPwogIGNvbnRlbnRGb3JtYXRzICAgICAgICBKc29uPwogIHBhaWRDYW1wYWlnbiAgICAgICAgICBCb29sZWFuPwogIG1pblBhaWRBbW91bnQgICAgICAgICBGbG9hdD8KICBtYXhQYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgcGF5bWVudFR5cGUgICAgICAgICAgIFN0cmluZz8KICBtb250aGx5QWN0aXZhdGVkR29hbCAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGV4cGVjdGVkT3B0SW5zICAgICAgICBJbnQ/IC8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgZ29hbEFjdGl2YXRpb25zICAgICAgIEZsb2F0PwogIGdvYWxPcHRJbnMgICAgICAgICAgICBGbG9hdD8KICByZXF1aXJlc1NoaXBwaW5nICAgICAgQm9vbGVhbj8KICBkaXNhYmxlUXVhbGlmaWNhdGlvbnMgQm9vbGVhbj8KICBkaXNhYmxlQWN0aXZhdGlvbnMgICAgQm9vbGVhbj8KICBhZmZpbGlhdGVMaW5rUGF0aCAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgICAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgc3RlcHMgICAgICAgIENhbXBhaWduU3RlcFtdCiAgY2F0ZWdvcmllcyAgIENhbXBhaWduVG9DYXRlZ29yeVtdCiAgb3B0SW5zICAgICAgIE9wdEluW10KICBpbWFnZXMgICAgICAgQ2FtcGFpZ25Ub0ltYWdlW10KICB2YXJpYWJsZXMgICAgVmFyaWFibGVbXQogIGNvdW50cmllcyAgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgY2FtcGFpZ25QaW5zIENhbXBhaWduUGluW10KICBzb2NpYWxQb3N0cyAgU29jaWFsUG9zdFtdCiAgY2FtcGFpZ25JbnZpdGVzIENhbXBhaWduSW52aXRlW10KCiAgYnJhbmRJZCAgICAgIEludAogIGJyYW5kICAgICAgICBCcmFuZCAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3JlYXRvckxpc3RzIENyZWF0b3JMaXN0W10KICBvcHRJblZpZXdzICAgT3B0SW5WaWV3W10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGlzU3RhbGUpCiAgQEBtYXAoInNvY2lhbHBvc3QiKQp9Cgptb2RlbCBTb2NpYWxQb3N0VGFnIHsKICBpZCAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSBTdHJpbmcKICB0eXBlICBTdHJpbmcKCiAgc29jaWFsUG9zdElkIEludAoKICBzb2NpYWxQb3N0IFNvY2lhbFBvc3QgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgoW3RpdGxlLCB0eXBlXSkKICBAQG1hcCgic29jaWFscG9zdHRhZyIpCn0KCm1vZGVsIEltYWdlIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBjYW1wYWlnbkltYWdlSWQgSW50CgogIGNhbXBhaWduSW1hZ2UgQ2FtcGFpZ25Ub0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbkltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImltYWdlIikKfQoKbW9kZWwgQnJhbmRJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBicmFuZEltYWdlSWQgICAgSW50CgogIGJyYW5kSW1hZ2UgICAgICBCcmFuZFRvSW1hZ2UgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSW1hZ2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIEBAbWFwKCJicmFuZGltYWdlIikKfQoKbW9kZWwgQ291bnRyeSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlDb2RlIFN0cmluZyAgQHVuaXF1ZSBAZGIuVmFyQ2hhcigyKQogIGNvdW50cnlOYW1lIFN0cmluZyAgQGRiLlZhckNoYXIoNTAwKQogIHRlbGVDb2RlICAgIFN0cmluZyAgQGRiLlZhckNoYXIoMTApCiAgc3RhdGVzICAgICAgU3RhdGVbXQoKICBjYW1wYWlnbnMgQ2FtcGFpZ25Ub0NvdW50cnlbXQoKICBAQG1hcCgiY291bnRyeSIpCn0KCm1vZGVsIFN0YXRlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeUlkIEludAogIHN0YXRlQ29kZSBTdHJpbmcgQGRiLlZhckNoYXIoNTApCiAgc3RhdGVOYW1lIFN0cmluZyBAZGIuVmFyQ2hhcig1MDApCgogIGNvdW50cnkgQ291bnRyeSBAcmVsYXRpb24oZmllbGRzOiBbY291bnRyeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInN0YXRlIikKfQoKbW9kZWwgUGF5bWVudFRyYW5zYWN0aW9uIHsKICBpZCAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBhbW91bnQgICAgRmxvYXQKICBiYWxhbmNlICAgRmxvYXQKICB0eXBlICAgICAgU3RyaW5nCiAgZGF0ZSAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG5vdGVzICAgICBTdHJpbmc/ICBAZGIuVGV4dAogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGFjY291bnRJZCBJbnQKCiAgYnJhbmRJZCAgICAgICAgICAgSW50PwogIGNyZWF0b3JJZCAgICAgICAgIEludD8KICBwcmV2VHJhbnNhY3Rpb25JZCBJbnQ/IEB1bmlxdWUKCiAgYnJhbmQgICAgICAgICAgIEJyYW5kPyAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3IgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9ySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IiwgZmllbGRzOiBbcHJldlRyYW5zYWN0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IikKfQoKbW9kZWwgQnJhbmRBZmZpbGlhdGVMaW5rIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGRlc2NyaXB0aW9uIFN0cmluZz8KICB1cmxQYXRoICAgICBTdHJpbmcKICBjb21taXNzaW9uICBGbG9hdCAgICBAZGVmYXVsdCgwLjIpCiAgbWV0YURhdGEgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgYnJhbmRJZCAgICAgICAgSW50CiAgYWZmaWxpYXRlTGlua3MgQWZmaWxpYXRlTGlua1tdCgogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgICAgICAgICBJbnQKICBicmFuZEFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVDbGlja3MgICAgICBBZmZpbGlhdGVDbGlja1tdCgogIGFmZmlsaWF0ZSAgICAgICAgICBVc2VyICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmRBZmZpbGlhdGVMaW5rIEJyYW5kQWZmaWxpYXRlTGluayBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRBZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVDbGljayB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIHZpc2l0b3JJcCBTdHJpbmc/CiAgbWV0YURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUxpbmtJZCBJbnQKCiAgYWZmaWxpYXRlTGluayAgQWZmaWxpYXRlTGluayAgICBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKICBhZmZpbGlhdGVFdmVudCBBZmZpbGlhdGVFdmVudFtdCn0KCm1vZGVsIEFmZmlsaWF0ZUV2ZW50IHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGV2ZW50ICAgICAgICAgICAgIFN0cmluZyAvLyBjbGljaywgcHVyY2hhc2UsIGV0Yy4KICBjcmVhdGVkICAgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgICAgU3RyaW5nPwogIHJldmVudWUgICAgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb25BbW91bnQgIEZsb2F0PwogIGNvbW1pc3Npb25QZXJjZW50IEZsb2F0PwogIG1ldGFEYXRhICAgICAgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUNsaWNrSWQgSW50CgogIGFmZmlsaWF0ZUNsaWNrIEFmZmlsaWF0ZUNsaWNrPyBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlQ2xpY2tJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIFNhdmVkRmlsZSB7CiAgaWQgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICBTdHJpbmc/CiAgdHlwZSAgICAgIFN0cmluZz8gLy8gYXVkaWVuY2UtcmVwb3J0LCBzZWFyY2gtZXhwb3J0LCBjYW1wYWlnbi1pbnZpdGUKICB1cmwgICAgICAgU3RyaW5nPwogIHNhdmVkRGF0ZSBEYXRlVGltZT8KICBtZXRhRGF0YSAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgSW50PwogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNhdmVkZmlsZSIpCn0KCm1vZGVsIENhbXBhaWduSW52aXRlIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBzb2NpYWxQcm9maWxlSWQgICBJbnQ/IAogIGJyYW5kSWQgICAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICAgIEludD8KICBvcHRJbklkICAgICAgICAgICBJbnQ/IEB1bmlxdWUKICBjb2RlICAgICAgICAgICAgICBTdHJpbmc/IEB1bmlxdWUKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZWNsaW5lRGF0ZSAgICAgIERhdGVUaW1lPwogIGRlY2xpbmVSZWFzb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICAKICBtZXRhRGF0YSAgICAgICAgICBKc29uPyBAZGVmYXVsdCgie30iKQoKICBicmFuZCAgICAgICAgICAgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUHJvZmlsZSAgICAgU29jaWFsUHJvZmlsZT8gQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgb3B0SW4gICAgICAgICAgICAgT3B0SW4/IEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICAKfQoKbW9kZWwgQ3JlYXRvckxpc3QgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICBJbnQKICBjYW1wYWlnbklkIEludD8KICBjcmVhdGVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhcmNoaXZlZCAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgU3RyaW5nCiAgbWV0YURhdGEgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikKCiAgY3JlYXRvcnMgQ3JlYXRvckxpc3RJdGVtW10KICBicmFuZCAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwp9Cgptb2RlbCBTb2NpYWxMaXN0ZW5pbmdMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/ICAgICAgQHVuaXF1ZSAvLyBvcHRpb25hbGx5IGxpbmtlZCB0byBhIGNhbXBhaWduCiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIHBvc3RUeXBlICAgU3RyaW5nIC8vIHNwb25zb3JlZCBwb3N0cywgdG9wIHBvc3RzLCBvciByZWNlbnQgcG9zdHMKICBmaWx0ZXJzICAgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKSAvLyBmaWx0ZXJzIHRvIHNlYXJjaCBwb3N0cyBieSAobG9jYXRpb24sIGRhdGUsIGhhc2h0YWdzLCBtZW50aW9ucywgZXRjLikKCiAgbGFzdEZldGNoZWQgRGF0ZVRpbWU/IC8vIGxhc3QgdGltZSBwb3N0cyB3ZXJlIGZldGNoZWQKCiAgYnJhbmQgQnJhbmQgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgcG9zdHMgTGlzdFRvU29jaWFsUG9zdFtdCgogIEBAbWFwKCJzb2NpYWxsaXN0ZW5pbmdsaXN0IikKfQoKbW9kZWwgTGlzdFRvU29jaWFsUG9zdCB7CiAgaWQgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxpc3RJZCBJbnQKICBwb3N0SWQgSW50CgogIGxpc3QgICAgICAgU29jaWFsTGlzdGVuaW5nTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtwb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImxpc3R0b3NvY2lhbHBvc3QiKQp9Cgptb2RlbCBPcHRJblZpZXcgewogIGlkICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICBTdHJpbmcKICBmaWx0ZXJzIEpzb24gICBAZGVmYXVsdCgie30iKQoKICBjYW1wYWlnbklkIEludD8KICBjYW1wYWlnbiAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJvcHRpbnZpZXciKQp9Cgptb2RlbCBSYWt1dGVuQWN0aXZpdHkgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG9yZGVySWQgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNsaWNrcyAgICAgICBJbnQ/CiAgb3JkZXJzICAgICAgIEludD8KICBzYWxlcyAgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIGFkdmVydGlzZXJJZCBJbnQ/CgogIHVzZXJJZCBJbnQKCiAgdXNlciBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmFrdXRlbmFjdGl2aXR5IikKfQoKbW9kZWwgU2xvd1F1ZXJpZXMgewogIGlkICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbW9kZWwgICAgICAgU3RyaW5nICAgQGRiLlZhckNoYXIoMjU1KQogIG9wZXJhdGlvbiAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICB0aW1lICAgICAgICBJbnQKICBhcmdzICAgICAgICBKc29uCiAgY3JlYXRlZF9hdCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgQm9vbGVhbgogIGVudmlyb25tZW50IFN0cmluZz8gIEBkYi5WYXJDaGFyKDMyKQoKICBAQG1hcCgic2xvd19xdWVyaWVzIikKfQo=",
|
|
1205
|
-
"inlineSchemaHash": "
|
|
1212
|
+
"inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiLCAibGludXgtYXJtNjQtb3BlbnNzbC0xLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KCiAgICAvLyBmb3IgYWdlbmNpZXMKICBwYXJlbnRCcmFuZElkICAgICAgIEludD8KICBwYXJlbnRCcmFuZCAgICAgICAgIEJyYW5kPyBAcmVsYXRpb24oIkNoaWxkQnJhbmRzIiwgZmllbGRzOiBbcGFyZW50QnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hpbGRCcmFuZHMgICAgICAgICBCcmFuZFtdIEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiKQoKICBAQG1hcCgiYnJhbmQiKQp9Cgptb2RlbCBTZWFyY2hDb250YWN0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlYXJjaGNvbnRhY3RzIikKfQoKbW9kZWwgUmVwb3J0Q3JlZGl0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgIEB1bmlxdWUKICBwcmV2UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiLCBmaWVsZHM6IFtwcmV2UXR5UG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiKQoKICBicmFuZElkIEludAogIGJyYW5kICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmVwb3J0Y3JlZGl0cyIpCn0KCm1vZGVsIEJyYW5kVG9JbWFnZSB7CiAgaWQgICAgICAgICAgSW50ICAgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBicmFuZElkICAgICBJbnQKICB0eXBlICAgICAgICBTdHJpbmcKCiAgYnJhbmQgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgc2l6ZXMgICAgICAgQnJhbmRJbWFnZVtdCgogIEBAbWFwKCJicmFuZHRvaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZFRvQ2F0ZWdvcnkgewogIGJyYW5kSWQgICAgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQnJhbmQgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2JyYW5kSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJicmFuZHRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDcmVhdG9yVG9DYXRlZ29yeSB7CiAgY3JlYXRvclByb2ZpbGVJZCBJbnQKICBjYXRlZ29yeUlkICAgICAgIEludAoKICBjcmVhdG9yUHJvZmlsZSBDcmVhdG9yUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvclByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhdGVnb3J5ICAgICAgIENhdGVnb3J5ICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY3JlYXRvclByb2ZpbGVJZCwgY2F0ZWdvcnlJZF0pCn0KCm1vZGVsIENoYXQgewogIGlkICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKICBjb252ZXJzYXRpb25JZCBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICBvcHRJbklkIEludD8gQHVuaXF1ZQoKICBvcHRJbiAgICBPcHRJbj8gICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1lc3NhZ2VzIE1lc3NhZ2VbXQoKICBAQG1hcCgiY2hhdCIpCn0KCm1vZGVsIE1lc3NhZ2UgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgc2VuZGVyICAgICBTdHJpbmcKICBjb250ZW50ICAgIFN0cmluZyAgICBAZGIuVGV4dAogIHJlYWQgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIHR5cGUgICAgICAgU3RyaW5nICAgIEBkZWZhdWx0KCJ0ZXh0IikKICBtZXNzYWdlU2lkIFN0cmluZz8KCiAgdXNlcklkIEludD8KICBjaGF0SWQgSW50CgogIHVzZXIgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hhdCBDaGF0ICBAcmVsYXRpb24oZmllbGRzOiBbY2hhdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJtZXNzYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ24gewogIGlkICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICAgICAgICAgU3RyaW5nCiAgc2x1ZyAgICAgICAgICAgICAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgc3RhdHVzICAgICAgICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgiZHJhZnQiKSAvLyBkcmFmdCwgcGF1c2VkLCBwZW5kaW5nLCBwcml2YXRlLCBwdWJsaXNoLCB0cmFzaAogIGRhdGUgICAgICAgICAgICAgICAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgcHVibGlzaERhdGUgICAgICAgICAgIERhdGVUaW1lPwogIGRlc2NyaXB0aW9uICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwcm9kdWN0RGVzY3JpcHRpb24gICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJpemVEZXNjcmlwdGlvbiAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHN0cmF0ZWd5ICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInNob3V0b3V0IikKICBzb2NpYWxDaGFubmVsICAgICAgICAgU3RyaW5nPwogIHNvY2lhbENoYW5uZWxzICAgICAgICBKc29uPwogIGZhY2Vib29rUmVhY2ggICAgICAgICBJbnQ/CiAgZmFjZWJvb2tFbmdhZ2VtZW50ICAgIEZsb2F0PwogIGluc3RhZ3JhbVJlYWNoICAgICAgICBJbnQ/CiAgaW5zdGFncmFtRW5nYWdlbWVudCAgIEZsb2F0PwogIHlvdXR1YmVSZWFjaCAgICAgICAgICBJbnQ/CiAgeW91dHViZUVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHR3aXR0ZXJSZWFjaCAgICAgICAgICBJbnQ/CiAgdHdpdHRlckVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHRpa3Rva1JlYWNoICAgICAgICAgICBJbnQ/CiAgdGlrdG9rRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHR3aXRjaFJlYWNoICAgICAgICAgICBJbnQ/CiAgdHdpdGNoRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHF1YW50aXR5ICAgICAgICAgICAgICBJbnQgICAgICAgQGRlZmF1bHQoMCkKICBob2xkQ29zdCAgICAgICAgICAgICAgRmxvYXQ/CiAgdmFsdWUgICAgICAgICAgICAgICAgIEZsb2F0PwogIHBhaWRBbW91bnQgICAgICAgICAgICBGbG9hdD8KICBtaW5BZ2UgICAgICAgICAgICAgICAgSW50PwogIG1heEFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgdmlzdWFscyAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHBob3RvVGFncyAgICAgICAgICAgICBKc29uPwogIGhhc2h0YWdzICAgICAgICAgICAgICBKc29uPwogIHN0b3J5SGFzaHRhZ3MgICAgICAgICBKc29uPwogIHN0b3J5TWVudGlvbnMgICAgICAgICBKc29uPwogIGNhcHRpb24gICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXNzd29yZCAgICAgICAgICAgICAgU3RyaW5nPwogIGNvbnRlbnRGb3JtYXRzICAgICAgICBKc29uPwogIHBhaWRDYW1wYWlnbiAgICAgICAgICBCb29sZWFuPwogIG1pblBhaWRBbW91bnQgICAgICAgICBGbG9hdD8KICBtYXhQYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgcGF5bWVudFR5cGUgICAgICAgICAgIFN0cmluZz8KICBtb250aGx5QWN0aXZhdGVkR29hbCAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGV4cGVjdGVkT3B0SW5zICAgICAgICBJbnQ/IC8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgZ29hbEFjdGl2YXRpb25zICAgICAgIEZsb2F0PwogIGdvYWxPcHRJbnMgICAgICAgICAgICBGbG9hdD8KICByZXF1aXJlc1NoaXBwaW5nICAgICAgQm9vbGVhbj8KICBkaXNhYmxlUXVhbGlmaWNhdGlvbnMgQm9vbGVhbj8KICBkaXNhYmxlQWN0aXZhdGlvbnMgICAgQm9vbGVhbj8KICBhZmZpbGlhdGVMaW5rUGF0aCAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgICAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgc3RlcHMgICAgICAgIENhbXBhaWduU3RlcFtdCiAgY2F0ZWdvcmllcyAgIENhbXBhaWduVG9DYXRlZ29yeVtdCiAgb3B0SW5zICAgICAgIE9wdEluW10KICBpbWFnZXMgICAgICAgQ2FtcGFpZ25Ub0ltYWdlW10KICB2YXJpYWJsZXMgICAgVmFyaWFibGVbXQogIGNvdW50cmllcyAgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgY2FtcGFpZ25QaW5zIENhbXBhaWduUGluW10KICBzb2NpYWxQb3N0cyAgU29jaWFsUG9zdFtdCiAgY2FtcGFpZ25JbnZpdGVzIENhbXBhaWduSW52aXRlW10KCiAgYnJhbmRJZCAgICAgIEludAogIGJyYW5kICAgICAgICBCcmFuZCAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3JlYXRvckxpc3RzIENyZWF0b3JMaXN0W10KICBvcHRJblZpZXdzICAgT3B0SW5WaWV3W10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGlzU3RhbGUpCiAgQEBtYXAoInNvY2lhbHBvc3QiKQp9Cgptb2RlbCBTb2NpYWxQb3N0VGFnIHsKICBpZCAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSBTdHJpbmcKICB0eXBlICBTdHJpbmcKCiAgc29jaWFsUG9zdElkIEludAoKICBzb2NpYWxQb3N0IFNvY2lhbFBvc3QgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgoW3RpdGxlLCB0eXBlXSkKICBAQG1hcCgic29jaWFscG9zdHRhZyIpCn0KCm1vZGVsIEltYWdlIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBjYW1wYWlnbkltYWdlSWQgSW50CgogIGNhbXBhaWduSW1hZ2UgQ2FtcGFpZ25Ub0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbkltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImltYWdlIikKfQoKbW9kZWwgQnJhbmRJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBicmFuZEltYWdlSWQgICAgSW50CgogIGJyYW5kSW1hZ2UgICAgICBCcmFuZFRvSW1hZ2UgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSW1hZ2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIEBAbWFwKCJicmFuZGltYWdlIikKfQoKbW9kZWwgQ291bnRyeSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlDb2RlIFN0cmluZyAgQHVuaXF1ZSBAZGIuVmFyQ2hhcigyKQogIGNvdW50cnlOYW1lIFN0cmluZyAgQGRiLlZhckNoYXIoNTAwKQogIHRlbGVDb2RlICAgIFN0cmluZyAgQGRiLlZhckNoYXIoMTApCiAgc3RhdGVzICAgICAgU3RhdGVbXQoKICBjYW1wYWlnbnMgQ2FtcGFpZ25Ub0NvdW50cnlbXQoKICBAQG1hcCgiY291bnRyeSIpCn0KCm1vZGVsIFN0YXRlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeUlkIEludAogIHN0YXRlQ29kZSBTdHJpbmcgQGRiLlZhckNoYXIoNTApCiAgc3RhdGVOYW1lIFN0cmluZyBAZGIuVmFyQ2hhcig1MDApCgogIGNvdW50cnkgQ291bnRyeSBAcmVsYXRpb24oZmllbGRzOiBbY291bnRyeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInN0YXRlIikKfQoKbW9kZWwgUGF5bWVudFRyYW5zYWN0aW9uIHsKICBpZCAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBhbW91bnQgICAgRmxvYXQKICBiYWxhbmNlICAgRmxvYXQKICB0eXBlICAgICAgU3RyaW5nCiAgZGF0ZSAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG5vdGVzICAgICBTdHJpbmc/ICBAZGIuVGV4dAogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGFjY291bnRJZCBJbnQKCiAgYnJhbmRJZCAgICAgICAgICAgSW50PwogIGNyZWF0b3JJZCAgICAgICAgIEludD8KICBwcmV2VHJhbnNhY3Rpb25JZCBJbnQ/IEB1bmlxdWUKCiAgYnJhbmQgICAgICAgICAgIEJyYW5kPyAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3IgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9ySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IiwgZmllbGRzOiBbcHJldlRyYW5zYWN0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IikKfQoKbW9kZWwgQnJhbmRBZmZpbGlhdGVMaW5rIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGRlc2NyaXB0aW9uIFN0cmluZz8KICB1cmxQYXRoICAgICBTdHJpbmcKICBjb21taXNzaW9uICBGbG9hdCAgICBAZGVmYXVsdCgwLjIpCiAgbWV0YURhdGEgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgYnJhbmRJZCAgICAgICAgSW50CiAgYWZmaWxpYXRlTGlua3MgQWZmaWxpYXRlTGlua1tdCgogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgICAgICAgICBJbnQKICBicmFuZEFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVDbGlja3MgICAgICBBZmZpbGlhdGVDbGlja1tdCgogIGFmZmlsaWF0ZSAgICAgICAgICBVc2VyICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmRBZmZpbGlhdGVMaW5rIEJyYW5kQWZmaWxpYXRlTGluayBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRBZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVDbGljayB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIHZpc2l0b3JJcCBTdHJpbmc/CiAgbWV0YURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUxpbmtJZCBJbnQKCiAgYWZmaWxpYXRlTGluayAgQWZmaWxpYXRlTGluayAgICBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKICBhZmZpbGlhdGVFdmVudCBBZmZpbGlhdGVFdmVudFtdCn0KCm1vZGVsIEFmZmlsaWF0ZUV2ZW50IHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGV2ZW50ICAgICAgICAgICAgIFN0cmluZyAvLyBjbGljaywgcHVyY2hhc2UsIGV0Yy4KICBjcmVhdGVkICAgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgICAgU3RyaW5nPwogIHJldmVudWUgICAgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb25BbW91bnQgIEZsb2F0PwogIGNvbW1pc3Npb25QZXJjZW50IEZsb2F0PwogIG1ldGFEYXRhICAgICAgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUNsaWNrSWQgSW50CgogIGFmZmlsaWF0ZUNsaWNrIEFmZmlsaWF0ZUNsaWNrPyBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlQ2xpY2tJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIFNhdmVkRmlsZSB7CiAgaWQgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICBTdHJpbmc/CiAgdHlwZSAgICAgIFN0cmluZz8gLy8gYXVkaWVuY2UtcmVwb3J0LCBzZWFyY2gtZXhwb3J0LCBjYW1wYWlnbi1pbnZpdGUKICB1cmwgICAgICAgU3RyaW5nPwogIHNhdmVkRGF0ZSBEYXRlVGltZT8KICBtZXRhRGF0YSAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgSW50PwogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNhdmVkZmlsZSIpCn0KCm1vZGVsIENhbXBhaWduSW52aXRlIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBzb2NpYWxQcm9maWxlSWQgICBJbnQ/IAogIGJyYW5kSWQgICAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICAgIEludD8KICBvcHRJbklkICAgICAgICAgICBJbnQ/IEB1bmlxdWUKICBjb2RlICAgICAgICAgICAgICBTdHJpbmc/IEB1bmlxdWUKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZWNsaW5lRGF0ZSAgICAgIERhdGVUaW1lPwogIGRlY2xpbmVSZWFzb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICAKICBtZXRhRGF0YSAgICAgICAgICBKc29uPyBAZGVmYXVsdCgie30iKQoKICBicmFuZCAgICAgICAgICAgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUHJvZmlsZSAgICAgU29jaWFsUHJvZmlsZT8gQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgb3B0SW4gICAgICAgICAgICAgT3B0SW4/IEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICAKfQoKbW9kZWwgQ3JlYXRvckxpc3QgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICBJbnQKICBjYW1wYWlnbklkIEludD8KICBjcmVhdGVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhcmNoaXZlZCAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgU3RyaW5nCiAgbWV0YURhdGEgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikKCiAgY3JlYXRvcnMgQ3JlYXRvckxpc3RJdGVtW10KICBicmFuZCAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwp9Cgptb2RlbCBTb2NpYWxMaXN0ZW5pbmdMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/ICAgICAgQHVuaXF1ZSAvLyBvcHRpb25hbGx5IGxpbmtlZCB0byBhIGNhbXBhaWduCiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIHBvc3RUeXBlICAgU3RyaW5nIC8vIHNwb25zb3JlZCBwb3N0cywgdG9wIHBvc3RzLCBvciByZWNlbnQgcG9zdHMKICBmaWx0ZXJzICAgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKSAvLyBmaWx0ZXJzIHRvIHNlYXJjaCBwb3N0cyBieSAobG9jYXRpb24sIGRhdGUsIGhhc2h0YWdzLCBtZW50aW9ucywgZXRjLikKCiAgbGFzdEZldGNoZWQgRGF0ZVRpbWU/IC8vIGxhc3QgdGltZSBwb3N0cyB3ZXJlIGZldGNoZWQKCiAgYnJhbmQgQnJhbmQgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgcG9zdHMgTGlzdFRvU29jaWFsUG9zdFtdCgogIEBAbWFwKCJzb2NpYWxsaXN0ZW5pbmdsaXN0IikKfQoKbW9kZWwgTGlzdFRvU29jaWFsUG9zdCB7CiAgaWQgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxpc3RJZCBJbnQKICBwb3N0SWQgSW50CgogIGxpc3QgICAgICAgU29jaWFsTGlzdGVuaW5nTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtwb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImxpc3R0b3NvY2lhbHBvc3QiKQp9Cgptb2RlbCBPcHRJblZpZXcgewogIGlkICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICBTdHJpbmcKICBmaWx0ZXJzIEpzb24gICBAZGVmYXVsdCgie30iKQoKICBjYW1wYWlnbklkIEludD8KICBjYW1wYWlnbiAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJvcHRpbnZpZXciKQp9Cgptb2RlbCBSYWt1dGVuQWN0aXZpdHkgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG9yZGVySWQgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNsaWNrcyAgICAgICBJbnQ/CiAgb3JkZXJzICAgICAgIEludD8KICBzYWxlcyAgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIGFkdmVydGlzZXJJZCBJbnQ/CgogIHVzZXJJZCBJbnQKCiAgdXNlciBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmFrdXRlbmFjdGl2aXR5IikKfQoKbW9kZWwgU2xvd1F1ZXJpZXMgewogIGlkICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbW9kZWwgICAgICAgU3RyaW5nICAgQGRiLlZhckNoYXIoMjU1KQogIG9wZXJhdGlvbiAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICB0aW1lICAgICAgICBJbnQKICBhcmdzICAgICAgICBKc29uCiAgY3JlYXRlZF9hdCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgQm9vbGVhbgogIGVudmlyb25tZW50IFN0cmluZz8gIEBkYi5WYXJDaGFyKDMyKQoKICBAQG1hcCgic2xvd19xdWVyaWVzIikKfQo=",
|
|
1213
|
+
"inlineSchemaHash": "78e13efd96dd650f65b057a0fbdf75a803deaf453fc86b51f80d84895f81251d",
|
|
1206
1214
|
"noEngine": false
|
|
1207
1215
|
}
|
|
1208
1216
|
config.dirname = '/'
|
package/index.js
CHANGED
|
@@ -1174,6 +1174,14 @@ const config = {
|
|
|
1174
1174
|
{
|
|
1175
1175
|
"fromEnvVar": null,
|
|
1176
1176
|
"value": "debian-openssl-3.0.x"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"fromEnvVar": null,
|
|
1180
|
+
"value": "linux-musl-arm64-openssl-3.0.x"
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"fromEnvVar": null,
|
|
1184
|
+
"value": "linux-arm64-openssl-1.0.x"
|
|
1177
1185
|
}
|
|
1178
1186
|
],
|
|
1179
1187
|
"previewFeatures": [
|
|
@@ -1202,8 +1210,8 @@ const config = {
|
|
|
1202
1210
|
}
|
|
1203
1211
|
}
|
|
1204
1212
|
},
|
|
1205
|
-
"inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KCiAgICAvLyBmb3IgYWdlbmNpZXMKICBwYXJlbnRCcmFuZElkICAgICAgIEludD8KICBwYXJlbnRCcmFuZCAgICAgICAgIEJyYW5kPyBAcmVsYXRpb24oIkNoaWxkQnJhbmRzIiwgZmllbGRzOiBbcGFyZW50QnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hpbGRCcmFuZHMgICAgICAgICBCcmFuZFtdIEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiKQoKICBAQG1hcCgiYnJhbmQiKQp9Cgptb2RlbCBTZWFyY2hDb250YWN0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlYXJjaGNvbnRhY3RzIikKfQoKbW9kZWwgUmVwb3J0Q3JlZGl0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgIEB1bmlxdWUKICBwcmV2UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiLCBmaWVsZHM6IFtwcmV2UXR5UG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiKQoKICBicmFuZElkIEludAogIGJyYW5kICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmVwb3J0Y3JlZGl0cyIpCn0KCm1vZGVsIEJyYW5kVG9JbWFnZSB7CiAgaWQgICAgICAgICAgSW50ICAgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBicmFuZElkICAgICBJbnQKICB0eXBlICAgICAgICBTdHJpbmcKCiAgYnJhbmQgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgc2l6ZXMgICAgICAgQnJhbmRJbWFnZVtdCgogIEBAbWFwKCJicmFuZHRvaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZFRvQ2F0ZWdvcnkgewogIGJyYW5kSWQgICAgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQnJhbmQgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2JyYW5kSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJicmFuZHRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDcmVhdG9yVG9DYXRlZ29yeSB7CiAgY3JlYXRvclByb2ZpbGVJZCBJbnQKICBjYXRlZ29yeUlkICAgICAgIEludAoKICBjcmVhdG9yUHJvZmlsZSBDcmVhdG9yUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvclByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhdGVnb3J5ICAgICAgIENhdGVnb3J5ICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY3JlYXRvclByb2ZpbGVJZCwgY2F0ZWdvcnlJZF0pCn0KCm1vZGVsIENoYXQgewogIGlkICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKICBjb252ZXJzYXRpb25JZCBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICBvcHRJbklkIEludD8gQHVuaXF1ZQoKICBvcHRJbiAgICBPcHRJbj8gICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1lc3NhZ2VzIE1lc3NhZ2VbXQoKICBAQG1hcCgiY2hhdCIpCn0KCm1vZGVsIE1lc3NhZ2UgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgc2VuZGVyICAgICBTdHJpbmcKICBjb250ZW50ICAgIFN0cmluZyAgICBAZGIuVGV4dAogIHJlYWQgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIHR5cGUgICAgICAgU3RyaW5nICAgIEBkZWZhdWx0KCJ0ZXh0IikKICBtZXNzYWdlU2lkIFN0cmluZz8KCiAgdXNlcklkIEludD8KICBjaGF0SWQgSW50CgogIHVzZXIgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hhdCBDaGF0ICBAcmVsYXRpb24oZmllbGRzOiBbY2hhdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJtZXNzYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ24gewogIGlkICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICAgICAgICAgU3RyaW5nCiAgc2x1ZyAgICAgICAgICAgICAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgc3RhdHVzICAgICAgICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgiZHJhZnQiKSAvLyBkcmFmdCwgcGF1c2VkLCBwZW5kaW5nLCBwcml2YXRlLCBwdWJsaXNoLCB0cmFzaAogIGRhdGUgICAgICAgICAgICAgICAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgcHVibGlzaERhdGUgICAgICAgICAgIERhdGVUaW1lPwogIGRlc2NyaXB0aW9uICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwcm9kdWN0RGVzY3JpcHRpb24gICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJpemVEZXNjcmlwdGlvbiAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHN0cmF0ZWd5ICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInNob3V0b3V0IikKICBzb2NpYWxDaGFubmVsICAgICAgICAgU3RyaW5nPwogIHNvY2lhbENoYW5uZWxzICAgICAgICBKc29uPwogIGZhY2Vib29rUmVhY2ggICAgICAgICBJbnQ/CiAgZmFjZWJvb2tFbmdhZ2VtZW50ICAgIEZsb2F0PwogIGluc3RhZ3JhbVJlYWNoICAgICAgICBJbnQ/CiAgaW5zdGFncmFtRW5nYWdlbWVudCAgIEZsb2F0PwogIHlvdXR1YmVSZWFjaCAgICAgICAgICBJbnQ/CiAgeW91dHViZUVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHR3aXR0ZXJSZWFjaCAgICAgICAgICBJbnQ/CiAgdHdpdHRlckVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHRpa3Rva1JlYWNoICAgICAgICAgICBJbnQ/CiAgdGlrdG9rRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHR3aXRjaFJlYWNoICAgICAgICAgICBJbnQ/CiAgdHdpdGNoRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHF1YW50aXR5ICAgICAgICAgICAgICBJbnQgICAgICAgQGRlZmF1bHQoMCkKICBob2xkQ29zdCAgICAgICAgICAgICAgRmxvYXQ/CiAgdmFsdWUgICAgICAgICAgICAgICAgIEZsb2F0PwogIHBhaWRBbW91bnQgICAgICAgICAgICBGbG9hdD8KICBtaW5BZ2UgICAgICAgICAgICAgICAgSW50PwogIG1heEFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgdmlzdWFscyAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHBob3RvVGFncyAgICAgICAgICAgICBKc29uPwogIGhhc2h0YWdzICAgICAgICAgICAgICBKc29uPwogIHN0b3J5SGFzaHRhZ3MgICAgICAgICBKc29uPwogIHN0b3J5TWVudGlvbnMgICAgICAgICBKc29uPwogIGNhcHRpb24gICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXNzd29yZCAgICAgICAgICAgICAgU3RyaW5nPwogIGNvbnRlbnRGb3JtYXRzICAgICAgICBKc29uPwogIHBhaWRDYW1wYWlnbiAgICAgICAgICBCb29sZWFuPwogIG1pblBhaWRBbW91bnQgICAgICAgICBGbG9hdD8KICBtYXhQYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgcGF5bWVudFR5cGUgICAgICAgICAgIFN0cmluZz8KICBtb250aGx5QWN0aXZhdGVkR29hbCAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGV4cGVjdGVkT3B0SW5zICAgICAgICBJbnQ/IC8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgZ29hbEFjdGl2YXRpb25zICAgICAgIEZsb2F0PwogIGdvYWxPcHRJbnMgICAgICAgICAgICBGbG9hdD8KICByZXF1aXJlc1NoaXBwaW5nICAgICAgQm9vbGVhbj8KICBkaXNhYmxlUXVhbGlmaWNhdGlvbnMgQm9vbGVhbj8KICBkaXNhYmxlQWN0aXZhdGlvbnMgICAgQm9vbGVhbj8KICBhZmZpbGlhdGVMaW5rUGF0aCAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgICAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgc3RlcHMgICAgICAgIENhbXBhaWduU3RlcFtdCiAgY2F0ZWdvcmllcyAgIENhbXBhaWduVG9DYXRlZ29yeVtdCiAgb3B0SW5zICAgICAgIE9wdEluW10KICBpbWFnZXMgICAgICAgQ2FtcGFpZ25Ub0ltYWdlW10KICB2YXJpYWJsZXMgICAgVmFyaWFibGVbXQogIGNvdW50cmllcyAgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgY2FtcGFpZ25QaW5zIENhbXBhaWduUGluW10KICBzb2NpYWxQb3N0cyAgU29jaWFsUG9zdFtdCiAgY2FtcGFpZ25JbnZpdGVzIENhbXBhaWduSW52aXRlW10KCiAgYnJhbmRJZCAgICAgIEludAogIGJyYW5kICAgICAgICBCcmFuZCAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3JlYXRvckxpc3RzIENyZWF0b3JMaXN0W10KICBvcHRJblZpZXdzICAgT3B0SW5WaWV3W10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGlzU3RhbGUpCiAgQEBtYXAoInNvY2lhbHBvc3QiKQp9Cgptb2RlbCBTb2NpYWxQb3N0VGFnIHsKICBpZCAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSBTdHJpbmcKICB0eXBlICBTdHJpbmcKCiAgc29jaWFsUG9zdElkIEludAoKICBzb2NpYWxQb3N0IFNvY2lhbFBvc3QgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgoW3RpdGxlLCB0eXBlXSkKICBAQG1hcCgic29jaWFscG9zdHRhZyIpCn0KCm1vZGVsIEltYWdlIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBjYW1wYWlnbkltYWdlSWQgSW50CgogIGNhbXBhaWduSW1hZ2UgQ2FtcGFpZ25Ub0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbkltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImltYWdlIikKfQoKbW9kZWwgQnJhbmRJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBicmFuZEltYWdlSWQgICAgSW50CgogIGJyYW5kSW1hZ2UgICAgICBCcmFuZFRvSW1hZ2UgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSW1hZ2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIEBAbWFwKCJicmFuZGltYWdlIikKfQoKbW9kZWwgQ291bnRyeSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlDb2RlIFN0cmluZyAgQHVuaXF1ZSBAZGIuVmFyQ2hhcigyKQogIGNvdW50cnlOYW1lIFN0cmluZyAgQGRiLlZhckNoYXIoNTAwKQogIHRlbGVDb2RlICAgIFN0cmluZyAgQGRiLlZhckNoYXIoMTApCiAgc3RhdGVzICAgICAgU3RhdGVbXQoKICBjYW1wYWlnbnMgQ2FtcGFpZ25Ub0NvdW50cnlbXQoKICBAQG1hcCgiY291bnRyeSIpCn0KCm1vZGVsIFN0YXRlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeUlkIEludAogIHN0YXRlQ29kZSBTdHJpbmcgQGRiLlZhckNoYXIoNTApCiAgc3RhdGVOYW1lIFN0cmluZyBAZGIuVmFyQ2hhcig1MDApCgogIGNvdW50cnkgQ291bnRyeSBAcmVsYXRpb24oZmllbGRzOiBbY291bnRyeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInN0YXRlIikKfQoKbW9kZWwgUGF5bWVudFRyYW5zYWN0aW9uIHsKICBpZCAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBhbW91bnQgICAgRmxvYXQKICBiYWxhbmNlICAgRmxvYXQKICB0eXBlICAgICAgU3RyaW5nCiAgZGF0ZSAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG5vdGVzICAgICBTdHJpbmc/ICBAZGIuVGV4dAogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGFjY291bnRJZCBJbnQKCiAgYnJhbmRJZCAgICAgICAgICAgSW50PwogIGNyZWF0b3JJZCAgICAgICAgIEludD8KICBwcmV2VHJhbnNhY3Rpb25JZCBJbnQ/IEB1bmlxdWUKCiAgYnJhbmQgICAgICAgICAgIEJyYW5kPyAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3IgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9ySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IiwgZmllbGRzOiBbcHJldlRyYW5zYWN0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IikKfQoKbW9kZWwgQnJhbmRBZmZpbGlhdGVMaW5rIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGRlc2NyaXB0aW9uIFN0cmluZz8KICB1cmxQYXRoICAgICBTdHJpbmcKICBjb21taXNzaW9uICBGbG9hdCAgICBAZGVmYXVsdCgwLjIpCiAgbWV0YURhdGEgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgYnJhbmRJZCAgICAgICAgSW50CiAgYWZmaWxpYXRlTGlua3MgQWZmaWxpYXRlTGlua1tdCgogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgICAgICAgICBJbnQKICBicmFuZEFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVDbGlja3MgICAgICBBZmZpbGlhdGVDbGlja1tdCgogIGFmZmlsaWF0ZSAgICAgICAgICBVc2VyICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmRBZmZpbGlhdGVMaW5rIEJyYW5kQWZmaWxpYXRlTGluayBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRBZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVDbGljayB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIHZpc2l0b3JJcCBTdHJpbmc/CiAgbWV0YURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUxpbmtJZCBJbnQKCiAgYWZmaWxpYXRlTGluayAgQWZmaWxpYXRlTGluayAgICBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKICBhZmZpbGlhdGVFdmVudCBBZmZpbGlhdGVFdmVudFtdCn0KCm1vZGVsIEFmZmlsaWF0ZUV2ZW50IHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGV2ZW50ICAgICAgICAgICAgIFN0cmluZyAvLyBjbGljaywgcHVyY2hhc2UsIGV0Yy4KICBjcmVhdGVkICAgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgICAgU3RyaW5nPwogIHJldmVudWUgICAgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb25BbW91bnQgIEZsb2F0PwogIGNvbW1pc3Npb25QZXJjZW50IEZsb2F0PwogIG1ldGFEYXRhICAgICAgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUNsaWNrSWQgSW50CgogIGFmZmlsaWF0ZUNsaWNrIEFmZmlsaWF0ZUNsaWNrPyBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlQ2xpY2tJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIFNhdmVkRmlsZSB7CiAgaWQgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICBTdHJpbmc/CiAgdHlwZSAgICAgIFN0cmluZz8gLy8gYXVkaWVuY2UtcmVwb3J0LCBzZWFyY2gtZXhwb3J0LCBjYW1wYWlnbi1pbnZpdGUKICB1cmwgICAgICAgU3RyaW5nPwogIHNhdmVkRGF0ZSBEYXRlVGltZT8KICBtZXRhRGF0YSAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgSW50PwogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNhdmVkZmlsZSIpCn0KCm1vZGVsIENhbXBhaWduSW52aXRlIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBzb2NpYWxQcm9maWxlSWQgICBJbnQ/IAogIGJyYW5kSWQgICAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICAgIEludD8KICBvcHRJbklkICAgICAgICAgICBJbnQ/IEB1bmlxdWUKICBjb2RlICAgICAgICAgICAgICBTdHJpbmc/IEB1bmlxdWUKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZWNsaW5lRGF0ZSAgICAgIERhdGVUaW1lPwogIGRlY2xpbmVSZWFzb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICAKICBtZXRhRGF0YSAgICAgICAgICBKc29uPyBAZGVmYXVsdCgie30iKQoKICBicmFuZCAgICAgICAgICAgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUHJvZmlsZSAgICAgU29jaWFsUHJvZmlsZT8gQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgb3B0SW4gICAgICAgICAgICAgT3B0SW4/IEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICAKfQoKbW9kZWwgQ3JlYXRvckxpc3QgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICBJbnQKICBjYW1wYWlnbklkIEludD8KICBjcmVhdGVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhcmNoaXZlZCAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgU3RyaW5nCiAgbWV0YURhdGEgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikKCiAgY3JlYXRvcnMgQ3JlYXRvckxpc3RJdGVtW10KICBicmFuZCAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwp9Cgptb2RlbCBTb2NpYWxMaXN0ZW5pbmdMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/ICAgICAgQHVuaXF1ZSAvLyBvcHRpb25hbGx5IGxpbmtlZCB0byBhIGNhbXBhaWduCiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIHBvc3RUeXBlICAgU3RyaW5nIC8vIHNwb25zb3JlZCBwb3N0cywgdG9wIHBvc3RzLCBvciByZWNlbnQgcG9zdHMKICBmaWx0ZXJzICAgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKSAvLyBmaWx0ZXJzIHRvIHNlYXJjaCBwb3N0cyBieSAobG9jYXRpb24sIGRhdGUsIGhhc2h0YWdzLCBtZW50aW9ucywgZXRjLikKCiAgbGFzdEZldGNoZWQgRGF0ZVRpbWU/IC8vIGxhc3QgdGltZSBwb3N0cyB3ZXJlIGZldGNoZWQKCiAgYnJhbmQgQnJhbmQgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgcG9zdHMgTGlzdFRvU29jaWFsUG9zdFtdCgogIEBAbWFwKCJzb2NpYWxsaXN0ZW5pbmdsaXN0IikKfQoKbW9kZWwgTGlzdFRvU29jaWFsUG9zdCB7CiAgaWQgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxpc3RJZCBJbnQKICBwb3N0SWQgSW50CgogIGxpc3QgICAgICAgU29jaWFsTGlzdGVuaW5nTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtwb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImxpc3R0b3NvY2lhbHBvc3QiKQp9Cgptb2RlbCBPcHRJblZpZXcgewogIGlkICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICBTdHJpbmcKICBmaWx0ZXJzIEpzb24gICBAZGVmYXVsdCgie30iKQoKICBjYW1wYWlnbklkIEludD8KICBjYW1wYWlnbiAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJvcHRpbnZpZXciKQp9Cgptb2RlbCBSYWt1dGVuQWN0aXZpdHkgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG9yZGVySWQgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNsaWNrcyAgICAgICBJbnQ/CiAgb3JkZXJzICAgICAgIEludD8KICBzYWxlcyAgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIGFkdmVydGlzZXJJZCBJbnQ/CgogIHVzZXJJZCBJbnQKCiAgdXNlciBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmFrdXRlbmFjdGl2aXR5IikKfQoKbW9kZWwgU2xvd1F1ZXJpZXMgewogIGlkICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbW9kZWwgICAgICAgU3RyaW5nICAgQGRiLlZhckNoYXIoMjU1KQogIG9wZXJhdGlvbiAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICB0aW1lICAgICAgICBJbnQKICBhcmdzICAgICAgICBKc29uCiAgY3JlYXRlZF9hdCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgQm9vbGVhbgogIGVudmlyb25tZW50IFN0cmluZz8gIEBkYi5WYXJDaGFyKDMyKQoKICBAQG1hcCgic2xvd19xdWVyaWVzIikKfQo=",
|
|
1206
|
-
"inlineSchemaHash": "
|
|
1213
|
+
"inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiLCAibGludXgtYXJtNjQtb3BlbnNzbC0xLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KCiAgICAvLyBmb3IgYWdlbmNpZXMKICBwYXJlbnRCcmFuZElkICAgICAgIEludD8KICBwYXJlbnRCcmFuZCAgICAgICAgIEJyYW5kPyBAcmVsYXRpb24oIkNoaWxkQnJhbmRzIiwgZmllbGRzOiBbcGFyZW50QnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hpbGRCcmFuZHMgICAgICAgICBCcmFuZFtdIEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiKQoKICBAQG1hcCgiYnJhbmQiKQp9Cgptb2RlbCBTZWFyY2hDb250YWN0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlYXJjaGNvbnRhY3RzIikKfQoKbW9kZWwgUmVwb3J0Q3JlZGl0cyB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgRmxvYXQKICBjaGFuZ2VRdHkgIEZsb2F0CiAgY3VycmVudFF0eSBGbG9hdAogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQoKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgIEB1bmlxdWUKICBwcmV2UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiLCBmaWVsZHM6IFtwcmV2UXR5UG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0UXR5UG9zdCAgIFJlcG9ydENyZWRpdHM/IEByZWxhdGlvbigicHJldlJlcG9ydHNRdHlQb3N0SWQiKQoKICBicmFuZElkIEludAogIGJyYW5kICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmVwb3J0Y3JlZGl0cyIpCn0KCm1vZGVsIEJyYW5kVG9JbWFnZSB7CiAgaWQgICAgICAgICAgSW50ICAgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBicmFuZElkICAgICBJbnQKICB0eXBlICAgICAgICBTdHJpbmcKCiAgYnJhbmQgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgc2l6ZXMgICAgICAgQnJhbmRJbWFnZVtdCgogIEBAbWFwKCJicmFuZHRvaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZFRvQ2F0ZWdvcnkgewogIGJyYW5kSWQgICAgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQnJhbmQgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2JyYW5kSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJicmFuZHRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDcmVhdG9yVG9DYXRlZ29yeSB7CiAgY3JlYXRvclByb2ZpbGVJZCBJbnQKICBjYXRlZ29yeUlkICAgICAgIEludAoKICBjcmVhdG9yUHJvZmlsZSBDcmVhdG9yUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvclByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhdGVnb3J5ICAgICAgIENhdGVnb3J5ICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY3JlYXRvclByb2ZpbGVJZCwgY2F0ZWdvcnlJZF0pCn0KCm1vZGVsIENoYXQgewogIGlkICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKICBjb252ZXJzYXRpb25JZCBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICBvcHRJbklkIEludD8gQHVuaXF1ZQoKICBvcHRJbiAgICBPcHRJbj8gICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1lc3NhZ2VzIE1lc3NhZ2VbXQoKICBAQG1hcCgiY2hhdCIpCn0KCm1vZGVsIE1lc3NhZ2UgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgc2VuZGVyICAgICBTdHJpbmcKICBjb250ZW50ICAgIFN0cmluZyAgICBAZGIuVGV4dAogIHJlYWQgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIHR5cGUgICAgICAgU3RyaW5nICAgIEBkZWZhdWx0KCJ0ZXh0IikKICBtZXNzYWdlU2lkIFN0cmluZz8KCiAgdXNlcklkIEludD8KICBjaGF0SWQgSW50CgogIHVzZXIgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY2hhdCBDaGF0ICBAcmVsYXRpb24oZmllbGRzOiBbY2hhdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJtZXNzYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ24gewogIGlkICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICAgICAgICAgU3RyaW5nCiAgc2x1ZyAgICAgICAgICAgICAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgc3RhdHVzICAgICAgICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgiZHJhZnQiKSAvLyBkcmFmdCwgcGF1c2VkLCBwZW5kaW5nLCBwcml2YXRlLCBwdWJsaXNoLCB0cmFzaAogIGRhdGUgICAgICAgICAgICAgICAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgcHVibGlzaERhdGUgICAgICAgICAgIERhdGVUaW1lPwogIGRlc2NyaXB0aW9uICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwcm9kdWN0RGVzY3JpcHRpb24gICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJpemVEZXNjcmlwdGlvbiAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHN0cmF0ZWd5ICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInNob3V0b3V0IikKICBzb2NpYWxDaGFubmVsICAgICAgICAgU3RyaW5nPwogIHNvY2lhbENoYW5uZWxzICAgICAgICBKc29uPwogIGZhY2Vib29rUmVhY2ggICAgICAgICBJbnQ/CiAgZmFjZWJvb2tFbmdhZ2VtZW50ICAgIEZsb2F0PwogIGluc3RhZ3JhbVJlYWNoICAgICAgICBJbnQ/CiAgaW5zdGFncmFtRW5nYWdlbWVudCAgIEZsb2F0PwogIHlvdXR1YmVSZWFjaCAgICAgICAgICBJbnQ/CiAgeW91dHViZUVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHR3aXR0ZXJSZWFjaCAgICAgICAgICBJbnQ/CiAgdHdpdHRlckVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHRpa3Rva1JlYWNoICAgICAgICAgICBJbnQ/CiAgdGlrdG9rRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHR3aXRjaFJlYWNoICAgICAgICAgICBJbnQ/CiAgdHdpdGNoRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHF1YW50aXR5ICAgICAgICAgICAgICBJbnQgICAgICAgQGRlZmF1bHQoMCkKICBob2xkQ29zdCAgICAgICAgICAgICAgRmxvYXQ/CiAgdmFsdWUgICAgICAgICAgICAgICAgIEZsb2F0PwogIHBhaWRBbW91bnQgICAgICAgICAgICBGbG9hdD8KICBtaW5BZ2UgICAgICAgICAgICAgICAgSW50PwogIG1heEFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgdmlzdWFscyAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHBob3RvVGFncyAgICAgICAgICAgICBKc29uPwogIGhhc2h0YWdzICAgICAgICAgICAgICBKc29uPwogIHN0b3J5SGFzaHRhZ3MgICAgICAgICBKc29uPwogIHN0b3J5TWVudGlvbnMgICAgICAgICBKc29uPwogIGNhcHRpb24gICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXNzd29yZCAgICAgICAgICAgICAgU3RyaW5nPwogIGNvbnRlbnRGb3JtYXRzICAgICAgICBKc29uPwogIHBhaWRDYW1wYWlnbiAgICAgICAgICBCb29sZWFuPwogIG1pblBhaWRBbW91bnQgICAgICAgICBGbG9hdD8KICBtYXhQYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgcGF5bWVudFR5cGUgICAgICAgICAgIFN0cmluZz8KICBtb250aGx5QWN0aXZhdGVkR29hbCAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGV4cGVjdGVkT3B0SW5zICAgICAgICBJbnQ/IC8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgZ29hbEFjdGl2YXRpb25zICAgICAgIEZsb2F0PwogIGdvYWxPcHRJbnMgICAgICAgICAgICBGbG9hdD8KICByZXF1aXJlc1NoaXBwaW5nICAgICAgQm9vbGVhbj8KICBkaXNhYmxlUXVhbGlmaWNhdGlvbnMgQm9vbGVhbj8KICBkaXNhYmxlQWN0aXZhdGlvbnMgICAgQm9vbGVhbj8KICBhZmZpbGlhdGVMaW5rUGF0aCAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgICAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgc3RlcHMgICAgICAgIENhbXBhaWduU3RlcFtdCiAgY2F0ZWdvcmllcyAgIENhbXBhaWduVG9DYXRlZ29yeVtdCiAgb3B0SW5zICAgICAgIE9wdEluW10KICBpbWFnZXMgICAgICAgQ2FtcGFpZ25Ub0ltYWdlW10KICB2YXJpYWJsZXMgICAgVmFyaWFibGVbXQogIGNvdW50cmllcyAgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgY2FtcGFpZ25QaW5zIENhbXBhaWduUGluW10KICBzb2NpYWxQb3N0cyAgU29jaWFsUG9zdFtdCiAgY2FtcGFpZ25JbnZpdGVzIENhbXBhaWduSW52aXRlW10KCiAgYnJhbmRJZCAgICAgIEludAogIGJyYW5kICAgICAgICBCcmFuZCAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3JlYXRvckxpc3RzIENyZWF0b3JMaXN0W10KICBvcHRJblZpZXdzICAgT3B0SW5WaWV3W10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGlzU3RhbGUpCiAgQEBtYXAoInNvY2lhbHBvc3QiKQp9Cgptb2RlbCBTb2NpYWxQb3N0VGFnIHsKICBpZCAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSBTdHJpbmcKICB0eXBlICBTdHJpbmcKCiAgc29jaWFsUG9zdElkIEludAoKICBzb2NpYWxQb3N0IFNvY2lhbFBvc3QgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgoW3RpdGxlLCB0eXBlXSkKICBAQG1hcCgic29jaWFscG9zdHRhZyIpCn0KCm1vZGVsIEltYWdlIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBjYW1wYWlnbkltYWdlSWQgSW50CgogIGNhbXBhaWduSW1hZ2UgQ2FtcGFpZ25Ub0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbkltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImltYWdlIikKfQoKbW9kZWwgQnJhbmRJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgdXJsICAgICAgICAgICAgIFN0cmluZyBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBicmFuZEltYWdlSWQgICAgSW50CgogIGJyYW5kSW1hZ2UgICAgICBCcmFuZFRvSW1hZ2UgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSW1hZ2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIEBAbWFwKCJicmFuZGltYWdlIikKfQoKbW9kZWwgQ291bnRyeSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlDb2RlIFN0cmluZyAgQHVuaXF1ZSBAZGIuVmFyQ2hhcigyKQogIGNvdW50cnlOYW1lIFN0cmluZyAgQGRiLlZhckNoYXIoNTAwKQogIHRlbGVDb2RlICAgIFN0cmluZyAgQGRiLlZhckNoYXIoMTApCiAgc3RhdGVzICAgICAgU3RhdGVbXQoKICBjYW1wYWlnbnMgQ2FtcGFpZ25Ub0NvdW50cnlbXQoKICBAQG1hcCgiY291bnRyeSIpCn0KCm1vZGVsIFN0YXRlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeUlkIEludAogIHN0YXRlQ29kZSBTdHJpbmcgQGRiLlZhckNoYXIoNTApCiAgc3RhdGVOYW1lIFN0cmluZyBAZGIuVmFyQ2hhcig1MDApCgogIGNvdW50cnkgQ291bnRyeSBAcmVsYXRpb24oZmllbGRzOiBbY291bnRyeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInN0YXRlIikKfQoKbW9kZWwgUGF5bWVudFRyYW5zYWN0aW9uIHsKICBpZCAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBhbW91bnQgICAgRmxvYXQKICBiYWxhbmNlICAgRmxvYXQKICB0eXBlICAgICAgU3RyaW5nCiAgZGF0ZSAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG5vdGVzICAgICBTdHJpbmc/ICBAZGIuVGV4dAogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGFjY291bnRJZCBJbnQKCiAgYnJhbmRJZCAgICAgICAgICAgSW50PwogIGNyZWF0b3JJZCAgICAgICAgIEludD8KICBwcmV2VHJhbnNhY3Rpb25JZCBJbnQ/IEB1bmlxdWUKCiAgYnJhbmQgICAgICAgICAgIEJyYW5kPyAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3IgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9ySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IiwgZmllbGRzOiBbcHJldlRyYW5zYWN0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRUcmFuc2FjdGlvbiBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IikKfQoKbW9kZWwgQnJhbmRBZmZpbGlhdGVMaW5rIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGRlc2NyaXB0aW9uIFN0cmluZz8KICB1cmxQYXRoICAgICBTdHJpbmcKICBjb21taXNzaW9uICBGbG9hdCAgICBAZGVmYXVsdCgwLjIpCiAgbWV0YURhdGEgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgYnJhbmRJZCAgICAgICAgSW50CiAgYWZmaWxpYXRlTGlua3MgQWZmaWxpYXRlTGlua1tdCgogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgICAgICAgICBJbnQKICBicmFuZEFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVDbGlja3MgICAgICBBZmZpbGlhdGVDbGlja1tdCgogIGFmZmlsaWF0ZSAgICAgICAgICBVc2VyICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmRBZmZpbGlhdGVMaW5rIEJyYW5kQWZmaWxpYXRlTGluayBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRBZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVDbGljayB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIHZpc2l0b3JJcCBTdHJpbmc/CiAgbWV0YURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUxpbmtJZCBJbnQKCiAgYWZmaWxpYXRlTGluayAgQWZmaWxpYXRlTGluayAgICBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKICBhZmZpbGlhdGVFdmVudCBBZmZpbGlhdGVFdmVudFtdCn0KCm1vZGVsIEFmZmlsaWF0ZUV2ZW50IHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGV2ZW50ICAgICAgICAgICAgIFN0cmluZyAvLyBjbGljaywgcHVyY2hhc2UsIGV0Yy4KICBjcmVhdGVkICAgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgICAgU3RyaW5nPwogIHJldmVudWUgICAgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb25BbW91bnQgIEZsb2F0PwogIGNvbW1pc3Npb25QZXJjZW50IEZsb2F0PwogIG1ldGFEYXRhICAgICAgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGFmZmlsaWF0ZUNsaWNrSWQgSW50CgogIGFmZmlsaWF0ZUNsaWNrIEFmZmlsaWF0ZUNsaWNrPyBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlQ2xpY2tJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIFNhdmVkRmlsZSB7CiAgaWQgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICBTdHJpbmc/CiAgdHlwZSAgICAgIFN0cmluZz8gLy8gYXVkaWVuY2UtcmVwb3J0LCBzZWFyY2gtZXhwb3J0LCBjYW1wYWlnbi1pbnZpdGUKICB1cmwgICAgICAgU3RyaW5nPwogIHNhdmVkRGF0ZSBEYXRlVGltZT8KICBtZXRhRGF0YSAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgSW50PwogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNhdmVkZmlsZSIpCn0KCm1vZGVsIENhbXBhaWduSW52aXRlIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBzb2NpYWxQcm9maWxlSWQgICBJbnQ/IAogIGJyYW5kSWQgICAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICAgIEludD8KICBvcHRJbklkICAgICAgICAgICBJbnQ/IEB1bmlxdWUKICBjb2RlICAgICAgICAgICAgICBTdHJpbmc/IEB1bmlxdWUKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZWNsaW5lRGF0ZSAgICAgIERhdGVUaW1lPwogIGRlY2xpbmVSZWFzb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICAKICBtZXRhRGF0YSAgICAgICAgICBKc29uPyBAZGVmYXVsdCgie30iKQoKICBicmFuZCAgICAgICAgICAgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUHJvZmlsZSAgICAgU29jaWFsUHJvZmlsZT8gQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgb3B0SW4gICAgICAgICAgICAgT3B0SW4/IEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICAKfQoKbW9kZWwgQ3JlYXRvckxpc3QgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICBJbnQKICBjYW1wYWlnbklkIEludD8KICBjcmVhdGVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhcmNoaXZlZCAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgU3RyaW5nCiAgbWV0YURhdGEgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikKCiAgY3JlYXRvcnMgQ3JlYXRvckxpc3RJdGVtW10KICBicmFuZCAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwp9Cgptb2RlbCBTb2NpYWxMaXN0ZW5pbmdMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/ICAgICAgQHVuaXF1ZSAvLyBvcHRpb25hbGx5IGxpbmtlZCB0byBhIGNhbXBhaWduCiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIHBvc3RUeXBlICAgU3RyaW5nIC8vIHNwb25zb3JlZCBwb3N0cywgdG9wIHBvc3RzLCBvciByZWNlbnQgcG9zdHMKICBmaWx0ZXJzICAgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKSAvLyBmaWx0ZXJzIHRvIHNlYXJjaCBwb3N0cyBieSAobG9jYXRpb24sIGRhdGUsIGhhc2h0YWdzLCBtZW50aW9ucywgZXRjLikKCiAgbGFzdEZldGNoZWQgRGF0ZVRpbWU/IC8vIGxhc3QgdGltZSBwb3N0cyB3ZXJlIGZldGNoZWQKCiAgYnJhbmQgQnJhbmQgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgcG9zdHMgTGlzdFRvU29jaWFsUG9zdFtdCgogIEBAbWFwKCJzb2NpYWxsaXN0ZW5pbmdsaXN0IikKfQoKbW9kZWwgTGlzdFRvU29jaWFsUG9zdCB7CiAgaWQgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxpc3RJZCBJbnQKICBwb3N0SWQgSW50CgogIGxpc3QgICAgICAgU29jaWFsTGlzdGVuaW5nTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtwb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImxpc3R0b3NvY2lhbHBvc3QiKQp9Cgptb2RlbCBPcHRJblZpZXcgewogIGlkICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICBTdHJpbmcKICBmaWx0ZXJzIEpzb24gICBAZGVmYXVsdCgie30iKQoKICBjYW1wYWlnbklkIEludD8KICBjYW1wYWlnbiAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJvcHRpbnZpZXciKQp9Cgptb2RlbCBSYWt1dGVuQWN0aXZpdHkgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG9yZGVySWQgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNsaWNrcyAgICAgICBJbnQ/CiAgb3JkZXJzICAgICAgIEludD8KICBzYWxlcyAgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIGFkdmVydGlzZXJJZCBJbnQ/CgogIHVzZXJJZCBJbnQKCiAgdXNlciBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmFrdXRlbmFjdGl2aXR5IikKfQoKbW9kZWwgU2xvd1F1ZXJpZXMgewogIGlkICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbW9kZWwgICAgICAgU3RyaW5nICAgQGRiLlZhckNoYXIoMjU1KQogIG9wZXJhdGlvbiAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICB0aW1lICAgICAgICBJbnQKICBhcmdzICAgICAgICBKc29uCiAgY3JlYXRlZF9hdCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgQm9vbGVhbgogIGVudmlyb25tZW50IFN0cmluZz8gIEBkYi5WYXJDaGFyKDMyKQoKICBAQG1hcCgic2xvd19xdWVyaWVzIikKfQo=",
|
|
1214
|
+
"inlineSchemaHash": "78e13efd96dd650f65b057a0fbdf75a803deaf453fc86b51f80d84895f81251d",
|
|
1207
1215
|
"noEngine": false
|
|
1208
1216
|
}
|
|
1209
1217
|
|
|
@@ -1259,6 +1267,14 @@ path.join(process.cwd(), "client/creatorco/client/query_engine-windows.dll.node"
|
|
|
1259
1267
|
// file annotations for bundling tools to include these files
|
|
1260
1268
|
path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node");
|
|
1261
1269
|
path.join(process.cwd(), "client/creatorco/client/libquery_engine-debian-openssl-3.0.x.so.node")
|
|
1270
|
+
|
|
1271
|
+
// file annotations for bundling tools to include these files
|
|
1272
|
+
path.join(__dirname, "libquery_engine-linux-musl-arm64-openssl-3.0.x.so.node");
|
|
1273
|
+
path.join(process.cwd(), "client/creatorco/client/libquery_engine-linux-musl-arm64-openssl-3.0.x.so.node")
|
|
1274
|
+
|
|
1275
|
+
// file annotations for bundling tools to include these files
|
|
1276
|
+
path.join(__dirname, "libquery_engine-linux-arm64-openssl-1.0.x.so.node");
|
|
1277
|
+
path.join(process.cwd(), "client/creatorco/client/libquery_engine-linux-arm64-openssl-1.0.x.so.node")
|
|
1262
1278
|
// file annotations for bundling tools to include these files
|
|
1263
1279
|
path.join(__dirname, "schema.prisma");
|
|
1264
1280
|
path.join(process.cwd(), "client/creatorco/client/schema.prisma")
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/schema.prisma
CHANGED
|
@@ -18,7 +18,7 @@ generator client {
|
|
|
18
18
|
output = "../../client/creatorco/client"
|
|
19
19
|
previewFeatures = ["fullTextIndex", "fullTextSearch"]
|
|
20
20
|
// macos (arm or x86), native, linux arm64 ssl3.x, windows
|
|
21
|
-
binaryTargets = ["native", "darwin", "darwin-arm64", "linux-arm64-openssl-3.0.x", "windows", "debian-openssl-3.0.x"]
|
|
21
|
+
binaryTargets = ["native", "darwin", "darwin-arm64", "linux-arm64-openssl-3.0.x", "windows", "debian-openssl-3.0.x", "linux-musl-arm64-openssl-3.0.x", "linux-arm64-openssl-1.0.x"]
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
datasource db {
|