@creator.co/creatorco-prisma-client 1.0.10 → 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 +7 -3
- package/index.js +11 -3
- package/libquery_engine-linux-arm64-openssl-1.0.x.so.node +0 -0
- package/package.json +1 -1
- package/schema.prisma +1 -1
package/edge.js
CHANGED
|
@@ -1142,7 +1142,7 @@ const config = {
|
|
|
1142
1142
|
"value": "prisma-client-js"
|
|
1143
1143
|
},
|
|
1144
1144
|
"output": {
|
|
1145
|
-
"value": "/home/runner/github-runner-
|
|
1145
|
+
"value": "/home/runner/github-runner-r7WZLbPpVptp9/creator-database/creator-database/client/creatorco/client",
|
|
1146
1146
|
"fromEnvVar": null
|
|
1147
1147
|
},
|
|
1148
1148
|
"config": {
|
|
@@ -1177,6 +1177,10 @@ const config = {
|
|
|
1177
1177
|
{
|
|
1178
1178
|
"fromEnvVar": null,
|
|
1179
1179
|
"value": "linux-musl-arm64-openssl-3.0.x"
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"fromEnvVar": null,
|
|
1183
|
+
"value": "linux-arm64-openssl-1.0.x"
|
|
1180
1184
|
}
|
|
1181
1185
|
],
|
|
1182
1186
|
"previewFeatures": [
|
|
@@ -1205,8 +1209,8 @@ const config = {
|
|
|
1205
1209
|
}
|
|
1206
1210
|
}
|
|
1207
1211
|
},
|
|
1208
|
-
"inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiXQp9CgpkYXRhc291cmNlIGRiIHsKICBwcm92aWRlciA9ICJwb3N0Z3Jlc3FsIgogIHVybCAgICAgID0gZW52KCJEQVRBQkFTRV9VUkwiKQp9Cgptb2RlbCBVc2VyIHsKICBpZCAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHJvbGUgICAgICAgICAgICAgICAgU3RyaW5nCiAgZW1haWwgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIHBhc3N3b3JkICAgICAgICAgICAgU3RyaW5nPwogIHJlZ2lzdGVyZWQgICAgICAgICAgRGF0ZVRpbWUgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGxhc3RMb2dpbkRhdGUgICAgICAgRGF0ZVRpbWU/IAogIGZpcnN0TmFtZSAgICAgICAgICAgU3RyaW5nPwogIGxhc3ROYW1lICAgICAgICAgICAgU3RyaW5nPwogIHBob25lICAgICAgICAgICAgICAgU3RyaW5nPwogIHBob25lQ29kZSAgICAgICAgICAgSW50PwogIHBob25lU2hvcnQgICAgICAgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgICAgICAgU3RyaW5nPyAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9yZ290UGFzc3dvcmRLZXkgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGFmZmlsaWF0ZVNsdWcgICAgICAgU3RyaW5nPyAgICAgICAgIEB1bmlxdWUKICBjbG9zZWQgICAgICAgICAgICAgIERhdGVUaW1lPwogIGNsb3NlZFJlYXNvbiAgICAgICAgU3RyaW5nPwogIHVzZXJjb21MYXN0U3luY2VkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICAgICAgICBKc29uICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKCiAgcmVmZXJyZXJJZCBJbnQ/CgogIHJlZmVycmVyICAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiLCBmaWVsZHM6IFtyZWZlcnJlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICByZWZlcnJlZFVzZXJzICAgICAgIFVzZXJbXSAgICAgICAgICAgICAgIEByZWxhdGlvbigiUmVmZXJyYWxzIikKICBsb2dzICAgICAgICAgICAgICAgIExvZ1tdCiAgY3JlYXRvclByb2ZpbGUgICAgICBDcmVhdG9yUHJvZmlsZT8KICBpbnN0YWdyYW1Qcm9maWxlICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgeW91dHViZVByb2ZpbGUgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgIFRpa3Rva1Byb2ZpbGU/CiAgZmFjZWJvb2tQcm9maWxlICAgICBGYWNlYm9va1Byb2ZpbGU/CiAgdHdpdHRlclByb2ZpbGUgICAgICBUd2l0dGVyUHJvZmlsZT8KICB0d2l0Y2hQcm9maWxlICAgICAgIFR3aXRjaFByb2ZpbGU/CiAgYnJhbmRQcm9maWxlcyAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBvcHRJbnMgICAgICAgICAgICAgIE9wdEluW10KICBhc3NpZ25lZEJyYW5kcyAgICAgIEJyYW5kW10KICBtZXNzYWdlcyAgICAgICAgICAgIE1lc3NhZ2VbXQogIHNvY2lhbFBvc3RzICAgICAgICAgU29jaWFsUG9zdFtdCiAgcGF5bWVudFRyYW5zYWN0aW9ucyBQYXltZW50VHJhbnNhY3Rpb25bXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgQWZmaWxpYXRlTGlua1tdCiAgY2FtcGFpZ25QaW5zICAgICAgICBDYW1wYWlnblBpbltdCiAgc29jaWFsUHJvZmlsZXMgICAgICBTb2NpYWxQcm9maWxlW10KICByYWt1dGVuQWN0aXZpdHkgICAgIFJha3V0ZW5BY3Rpdml0eVtdCgogIEBAbWFwKCJ1c2VyIikKICAvLyBAQGZ1bGx0ZXh0KFtmaXJzdE5hbWUsIGxhc3ROYW1lXSkKfQoKbW9kZWwgTG9nIHsKICBpZCBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKCiAgdXNlcklkIEludD8KICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBkYXRhIEpzb24/Cn0KCm1vZGVsIENyZWF0b3JQcm9maWxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnkgICAgICAgICAgU3RyaW5nPwogIHJlZ2lvbiAgICAgICAgICAgU3RyaW5nPwogIGJpcnRoRGF0ZSAgICAgICAgRGF0ZVRpbWU/CiAgaW50ZXJlc3RzICAgICAgICBKc29uPyAvLyBkZXByZWNhdGVkCiAgZ2VuZGVyICAgICAgICAgICBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMSBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMiBTdHJpbmc/CiAgc2hpcHBpbmdDaXR5ICAgICBTdHJpbmc/CiAgc2hpcHBpbmdSZWdpb24gICBTdHJpbmc/CiAgc2hpcHBpbmdDb3VudHJ5ICBTdHJpbmc/CiAgc2hpcHBpbmdQb3N0Y29kZSBTdHJpbmc/CiAgcGh5bGxvVXNlcklkICAgICBTdHJpbmc/CiAgcHJvZmlsZVNsdWcgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHByb2ZpbGVTZXR0aW5ncyAgSnNvbj8KICB3YWxsZXRBZGRyZXNzICAgIFN0cmluZz8gICBAdW5pcXVlCgogIG5pY2hlcyBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIHVzZXJJZCBJbnQgIEB1bmlxdWUKICB1c2VyICAgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgocGh5bGxvVXNlcklkKQogIEBAbWFwKCJjcmVhdG9ycHJvZmlsZSIpCn0KCm1vZGVsIEluc3RhZ3JhbVByb2ZpbGUgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBpbnN0YWdyYW1JZCBTdHJpbmc/CgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGZ1bGxOYW1lICAgICAgICAgIFN0cmluZz8gQGRiLlZhckNoYXIoMTAyNCkKICBpc0J1c2luZXNzICAgICAgICBCb29sZWFuPwogIGlzUHJpdmF0ZSAgICAgICAgIEJvb2xlYW4/CiAgaXNWZXJpZmllZCAgICAgICAgQm9vbGVhbj8KICBtZWRpYUNvdW50ICAgICAgICBJbnQ/CiAgZm9sbG93aW5nQ291bnQgICAgSW50PwogIHRvdGFsQ29tbWVudHMgICAgIEludD8KICB0b3RhbExpa2VzICAgICAgICBJbnQ/CiAgYXZnQ29tbWVudHMgICAgICAgRmxvYXQ/CiAgYXZnTGlrZXMgICAgICAgICAgRmxvYXQ/CiAgYmlvICAgICAgICAgICAgICAgU3RyaW5nPwogIGV4dGVybmFsVXJsICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGhhc0hpZ2hsaWdodFJlZWxzIEJvb2xlYW4/CiAgY2F0ZWdvcnkgICAgICAgICAgU3RyaW5nPwogIGhhc0NsaXBzICAgICAgICAgIEJvb2xlYW4/CiAgaGFzR3VpZGVzICAgICAgICAgQm9vbGVhbj8KICBoYXNDaGFubmVsICAgICAgICBCb29sZWFuPwogIHRvdGFsSWd0dlZpZGVvcyAgIEludD8KICBwcm9maWxlUGljVXJsSGQgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykgLy8gREVQUkVDQVRFRAogIGxhc3RTdG9yaWVzVXBkYXRlIERhdGVUaW1lPwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAaW5kZXgoaW5zdGFncmFtSWQpCiAgQEBtYXAoImluc3RhZ3JhbXByb2ZpbGUiKQp9Cgptb2RlbCBUaWt0b2tQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aWt0b2tJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmc/CiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgaGFuZGxlICAgICAgICAgU3RyaW5nPwogIG5pY2tuYW1lICAgICAgIFN0cmluZz8KICBmb2xsb3dpbmdDb3VudCBJbnQ/CiAgdG90YWxDb21tZW50cyAgSW50PwogIHRvdGFsTGlrZXMgICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgidGlrdG9rcHJvZmlsZSIpCn0KCm1vZGVsIFlvdXR1YmVQcm9maWxlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgeW91dHViZUlkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGZvbGxvd2luZ0NvdW50IEludD8KICBmdWxsTmFtZSAgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIGlzVmVyaWZpZWQgICAgIEJvb2xlYW4/CiAgc3Vic2NyaWJlcnMgICAgSW50PwogIGRlc2NyaXB0aW9uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgY291bnRyeSAgICAgICAgU3RyaW5nPwogIHRvdGFsVmlld3MgICAgIEludD8KICB0b3RhbFZpZGVvcyAgICBJbnQ/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBtYXAoInlvdXR1YmVwcm9maWxlIikKfQoKbW9kZWwgVHdpdGNoUHJvZmlsZSB7CiAgaWQgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHdpdGNoSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdGNocHJvZmlsZSIpCn0KCm1vZGVsIEZhY2Vib29rUHJvZmlsZSB7CiAgaWQgICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBmYWNlYm9va0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZXh0cmFEYXRhICBKc29uPwogIHBoeWxsb0RhdGEgSnNvbj8KICB2aXNpYmlsaXR5IFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCBJbnQ/ICBAdW5pcXVlCiAgdXNlciAgIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImZhY2Vib29rcHJvZmlsZSIpCn0KCm1vZGVsIFR3aXR0ZXJQcm9maWxlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHdpdHRlcklkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZXh0cmFEYXRhICBKc29uPwogIHBoeWxsb0RhdGEgSnNvbj8KICB2aXNpYmlsaXR5IFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCBJbnQ/ICBAdW5pcXVlCiAgdXNlciAgIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoInR3aXR0ZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmRVc2VyUHJvZmlsZSB7CiAgaWQgICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1c2VySWQgIEludAogIGJyYW5kSWQgSW50CgogIHVzZXIgIFVzZXIgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiYnJhbmR1c2VycHJvZmlsZSIpCn0KCm1vZGVsIEJyYW5kIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBuYW1lICAgICAgICAgICAgICAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICB3ZWJzaXRlICAgICAgICAgICAgICAgICBTdHJpbmcKICBtb250aGx5Q29udGFjdHMgICAgICAgICBJbnQ/CiAgbW9udGhseVJlcG9ydHMgICAgICAgICAgSW50PwogIGxhc3RDb250YWN0RGlzdHJpYnV0aW9uIERhdGVUaW1lPwogIGxvZ29VcmwgICAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUJhc2VVcmwgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUNvbW1pc3Npb24gICAgIEZsb2F0PwogIGV4dHJhRGF0YSAgICAgICAgICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICBzcGVjaWFsaXN0SWQgICAgICAgIEludD8KICBkZWRpY2F0ZWRTcGVjaWFsaXN0IFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFtzcGVjaWFsaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGluc3RhZ3JhbVByb2ZpbGUgICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgeW91dHViZVByb2ZpbGUgICAgICAgWW91dHViZVByb2ZpbGU/CiAgdGlrdG9rUHJvZmlsZSAgICAgICAgVGlrdG9rUHJvZmlsZT8KICBjYW1wYWlnbnMgICAgICAgICAgICBDYW1wYWlnbltdCiAgYnJhbmRVc2VycyAgICAgICAgICAgQnJhbmRVc2VyUHJvZmlsZVtdCiAgc2VhcmNoQ29udGFjdHMgICAgICAgU2VhcmNoQ29udGFjdHNbXQogIHJlcG9ydENyZWRpdHMgICAgICAgIFJlcG9ydENyZWRpdHNbXQogIGNhdGVnb3JpZXMgICAgICAgICAgIEJyYW5kVG9DYXRlZ29yeVtdCiAgcGF5bWVudFRyYW5zYWN0aW9ucyAgUGF5bWVudFRyYW5zYWN0aW9uW10KICBzYXZlZGZpbGVzICAgICAgICAgICBTYXZlZEZpbGVbXQogIGNyZWF0b3JMaXN0cyAgICAgICAgIENyZWF0b3JMaXN0W10KICBhZmZpbGlhdGVMaW5rcyAgICAgICBCcmFuZEFmZmlsaWF0ZUxpbmtbXQogIG1lc3NhZ2VUZW1wbGF0ZSAgICAgIE1lc3NhZ2VUZW1wbGF0ZVtdCiAgZW1haWxUZW1wbGF0ZXMgICAgICAgRW1haWxUZW1wbGF0ZVtdCiAgc29jaWFsTGlzdGVuaW5nTGlzdHMgU29jaWFsTGlzdGVuaW5nTGlzdFtdCiAgY2FtcGFpZ25JbnZpdGVzICAgICAgQ2FtcGFpZ25JbnZpdGVbXQogIGltYWdlcyAgICAgICAgICAgICAgIEJyYW5kVG9JbWFnZVtdCgogICAgLy8gZm9yIGFnZW5jaWVzCiAgcGFyZW50QnJhbmRJZCAgICAgICBJbnQ/CiAgcGFyZW50QnJhbmQgICAgICAgICBCcmFuZD8gQHJlbGF0aW9uKCJDaGlsZEJyYW5kcyIsIGZpZWxkczogW3BhcmVudEJyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoaWxkQnJhbmRzICAgICAgICAgQnJhbmRbXSBAcmVsYXRpb24oIkNoaWxkQnJhbmRzIikKCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICAgQHVuaXF1ZQogIHByZXZRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIpCgogIGJyYW5kSWQgSW50CiAgYnJhbmQgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzZWFyY2hjb250YWN0cyIpCn0KCm1vZGVsIFJlcG9ydENyZWRpdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgYnJhbmRJZCAgICAgSW50CiAgdHlwZSAgICAgICAgU3RyaW5nCgogIGJyYW5kICAgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIHNpemVzICAgICAgIEJyYW5kSW1hZ2VbXQoKICBAQG1hcCgiYnJhbmR0b2ltYWdlIikKfQoKbW9kZWwgQnJhbmRUb0NhdGVnb3J5IHsKICBicmFuZElkICAgIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFticmFuZElkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiYnJhbmR0b2NhdGVnb3J5IikKfQoKbW9kZWwgQ3JlYXRvclRvQ2F0ZWdvcnkgewogIGNyZWF0b3JQcm9maWxlSWQgSW50CiAgY2F0ZWdvcnlJZCAgICAgICBJbnQKCiAgY3JlYXRvclByb2ZpbGUgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NyZWF0b3JQcm9maWxlSWQsIGNhdGVnb3J5SWRdKQp9Cgptb2RlbCBDaGF0IHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgY29udmVyc2F0aW9uSWQgU3RyaW5nPyAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgb3B0SW5JZCBJbnQ/IEB1bmlxdWUKCiAgb3B0SW4gICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcgICAgQGRiLlRleHQKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CgogIHVzZXJJZCBJbnQ/CiAgY2hhdElkIEludAoKICB1c2VyIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoYXQgQ2hhdCAgQHJlbGF0aW9uKGZpZWxkczogW2NoYXRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgibWVzc2FnZSIpCn0KCm1vZGVsIENhbXBhaWduIHsKICBpZCAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoImRyYWZ0IikgLy8gZHJhZnQsIHBhdXNlZCwgcGVuZGluZywgcHJpdmF0ZSwgcHVibGlzaCwgdHJhc2gKICBkYXRlICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJvZHVjdERlc2NyaXB0aW9uICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgIEBkZWZhdWx0KDApCiAgaG9sZENvc3QgICAgICAgICAgICAgIEZsb2F0PwogIHZhbHVlICAgICAgICAgICAgICAgICBGbG9hdD8KICBwYWlkQW1vdW50ICAgICAgICAgICAgRmxvYXQ/CiAgbWluQWdlICAgICAgICAgICAgICAgIEludD8KICBtYXhBZ2UgICAgICAgICAgICAgICAgSW50PwogIHZpc3VhbHMgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8gLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHN0ZXBzICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIG9wdElucyAgICAgICBPcHRJbltdCiAgaW1hZ2VzICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgdmFyaWFibGVzICAgIFZhcmlhYmxlW10KICBjb3VudHJpZXMgICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIGNhbXBhaWduUGlucyBDYW1wYWlnblBpbltdCiAgc29jaWFsUG9zdHMgIFNvY2lhbFBvc3RbXQogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIGJyYW5kSWQgICAgICBJbnQKICBicmFuZCAgICAgICAgQnJhbmQgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNyZWF0b3JMaXN0cyBDcmVhdG9yTGlzdFtdCiAgb3B0SW5WaWV3cyAgIE9wdEluVmlld1tdCgogIEBAbWFwKCJjYW1wYWlnbiIpCn0KCm1vZGVsIENhbXBhaWduUGluIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQKICBjcmVhdGVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBub3RpZmllZCAgIERhdGVUaW1lPwoKICB1c2VyICAgICBVc2VyICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNhbXBhaWducGluIikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0ltYWdlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNhbXBhaWduSWQgSW50CiAgdHlwZSAgICAgICBTdHJpbmcKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgc2l6ZXMgSW1hZ2VbXQoKICBAQG1hcCgiY2FtcGFpZ250b2ltYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0NhdGVnb3J5IHsKICBjYW1wYWlnbklkIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiY2FtcGFpZ250b2NhdGVnb3J5IikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0NvdW50cnkgewogIGNhbXBhaWduSWQgSW50CiAgY291bnRyeUlkICBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjb3VudHJ5ICBDb3VudHJ5ICBAcmVsYXRpb24oZmllbGRzOiBbY291bnRyeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY2FtcGFpZ25JZCwgY291bnRyeUlkXSkKICBAQG1hcCgiY2FtcGFpZ250b2NvdW50cnkiKQp9Cgptb2RlbCBWYXJpYWJsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNhbXBhaWduSWQgSW50CgogIGNhbXBhaWduIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdGlvbnMgICAgICAgIFZhcmlhYmxlT3B0aW9uW10KICBvcHRJblZhcmlhYmxlcyBPcHRJblZhcmlhYmxlW10KfQoKbW9kZWwgVmFyaWFibGVPcHRpb24gewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiBTdHJpbmc/IEBkYi5UZXh0CiAgbWV0YURhdGEgICAgSnNvbiAgICBAZGVmYXVsdCgie30iKQoKICB2YXJpYWJsZUlkIEludAoKICB2YXJpYWJsZSBWYXJpYWJsZSBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBvcHRJblZhcmlhYmxlcyBPcHRJblZhcmlhYmxlW10KfQoKbW9kZWwgU3RlcCB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgICAgICAgIFN0cmluZyAgQHVuaXF1ZQogIHRpdGxlICAgICAgIFN0cmluZz8KICBkZXNjcmlwdGlvbiBTdHJpbmc/IEBkYi5UZXh0CiAgZGF0YSAgICAgICAgSnNvbj8KCiAgY2FtcGFpZ25TdGVwcyBDYW1wYWlnblN0ZXBbXQoKICBAQG1hcCgic3RlcCIpCn0KCm1vZGVsIENhbXBhaWduU3RlcCB7CiAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcGxhY2VtZW50ICAgICAgICAgICAgICAgICAgICAgSW50CiAgc3RlcFNldHRpbmdzICAgICAgICAgICAgICAgICAgSnNvbj8KICBhY3Rpb25lZSAgICAgICAgICAgICAgICAgICAgICBTdHJpbmc/CiAgaW5zdHJ1Y3Rpb25zICAgICAgICAgICAgICAgICAgU3RyaW5nPyBAZGIuVGV4dAogIGN1c3RvbVN0ZXBUaXRsZSAgICAgICAgICAgICAgIFN0cmluZz8KICBjdXN0b21Gb3JtICAgICAgICAgICAgICAgICAgICBKc29uPwogIG1ldGFEYXRhICAgICAgICAgICAgICAgICAgICAgIEpzb24gQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkICAgIEludAogIHN0ZXBJZCAgICAgICAgSW50PwoKICBjYW1wYWlnbiAgICAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc3RlcCAgICAgICAgICBTdGVwPyAgICBAcmVsYXRpb24oZmllbGRzOiBbc3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjdXJyZW50T3B0SW5zIE9wdEluW10KCiAgb3B0SW5TdGVwcyBPcHRJblN0ZXBbXQoKICBAQG1hcCgiY2FtcGFpZ25zdGVwIikKfQoKbW9kZWwgT3B0SW5TdGVwIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY29tcGxldGVkIERhdGVUaW1lPwogIGRhdGEgICAgICBKc29uPwoKICBvcHRJbklkICAgICAgICBJbnQKICBjYW1wYWlnblN0ZXBJZCBJbnQKICBzb2NpYWxQb3N0SWQgICBJbnQ/IC8vIHRlbXBvcmFyeSBmb3IgbW92aW5nIHNob3V0b3V0RGF0YSB0byBzb2NpYWxQb3N0cwoKICBvcHRJbiAgICAgICAgT3B0SW4gICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2FtcGFpZ25TdGVwIENhbXBhaWduU3RlcCBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25TdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoIm9wdGluc3RlcCIpCn0KCm1vZGVsIENhdGVnb3J5IHsKICBpZCAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzbHVnICBTdHJpbmcgQHVuaXF1ZQogIHRpdGxlIFN0cmluZwoKICBjYW1wYWlnbnMgQ2FtcGFpZ25Ub0NhdGVnb3J5W10KICBicmFuZHMgICAgQnJhbmRUb0NhdGVnb3J5W10KICBjcmVhdG9ycyAgQ3JlYXRvclRvQ2F0ZWdvcnlbXQoKICBAQG1hcCgiY2F0ZWdvcnkiKQp9Cgptb2RlbCBPcHRJbiB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHN0YXR1cyAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGNyZWF0ZWQgICAgICAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYWN0aXZhdGVkICAgICAgIERhdGVUaW1lPwogIGNvbXBsZXRlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWQgICAgICAgRGF0ZVRpbWU/CiAgY2FuY2VsbGVkRGF0YSAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIGNhbmNlbFJlcXVlc3RlZCBEYXRlVGltZT8KICByZWludml0ZWQgICAgICAgRGF0ZVRpbWU/CiAgc2VlbiAgICAgICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICBpbnN0cnVjdGlvbnMgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGF5bWVudEFtb3VudCAgIEZsb2F0PwogIHBheW1lbnRTdGF0dXMgICBTdHJpbmcgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGV4dHJhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgIEludAogIGN1cnJlbnRTdGVwSWQgSW50PwoKICB1c2VyICAgICAgICBVc2VyICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICBDYW1wYWlnbiAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3VycmVudFN0ZXAgQ2FtcGFpZ25TdGVwPyBAcmVsYXRpb24oZmllbGRzOiBbY3VycmVudFN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIHZhcmlhYmxlcyAgT3B0SW5WYXJpYWJsZVtdCiAgb3B0SW5TdGVwcyBPcHRJblN0ZXBbXQogIGNoYXQgICAgICAgQ2hhdD8KICBjYW1wYWlnbkludml0ZXMgQ2FtcGFpZ25JbnZpdGVbXQoKICBAQG1hcCgib3B0aW4iKQp9Cgptb2RlbCBPcHRJblZhcmlhYmxlIHsKICBpZCBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKCiAgb3B0SW5JZCAgICAgICAgICBJbnQKICB2YXJpYWJsZUlkICAgICAgIEludAogIHNlbGVjdGVkT3B0aW9uSWQgSW50CgogIG9wdEluICAgICAgICAgIE9wdEluICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgdmFyaWFibGUgICAgICAgVmFyaWFibGUgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3ZhcmlhYmxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzZWxlY3RlZE9wdGlvbiBWYXJpYWJsZU9wdGlvbiBAcmVsYXRpb24oZmllbGRzOiBbc2VsZWN0ZWRPcHRpb25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQp9Cgptb2RlbCBTb2NpYWxQb3N0IHsKICBpZCAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBwaHlsbG9JZCAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIGRhdGEgICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKSAvLyBERVBSRUNBVEVELCBVU0UgbWV0YURhdGEgaW5zdGVhZCwgc2VlbXMgdG8gYmUgYW4gZXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHJlbW92ZSB0aGlzIGZpZWxkLCBwcm9hYmFibHkgZHVlIHRvIHRhYmxlIHNpemUKICBsYXN0RmV0Y2hlZCBEYXRlVGltZT8KICBsYXN0V2ViaG9vayBEYXRlVGltZT8KICBpc1N0YWxlICAgICBCb29sZWFuPyAvLyBUT0RPOiB0aGlzIGZpZWxkIGlzIGhlcmUgYmVjYXVzZSBwcmlzbWEgZG9lc24ndCBzdXBwb3J0IGNvbXBhcmluZyBvbmUgY29sdW1uIHRvIGFub3RoZXIsIGlkZWFsbHkgd2UgY291bGQganVzdCBjaGVjayBpZiBsYXN0RmV0Y2hlZCA+IGxhc3RXZWJob29rIGJ1dCBmb3Igbm93IHdlIG5lZWQgdG8gY29udHJvbC9jaGVjayB0aGlzIGZpZWxkCgogIC8vIEJBU0lDIElORk8KICBwb3N0ZWQgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIGRlc2NyaXB0aW9uICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICB1cmwgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgdXJsUGF0aCAgICAgICAgICAgIFN0cmluZz8gICBAdW5pcXVlIC8vIFRoaXMgaXMgaGVyZSBzbyB3ZSBoYXZlIHNvbWUgZXh0ZXJuYWwgaWRlbnRpZmllciB0byBxdWlja2x5IHNlYXJjaCBieQogIGZvcm1hdCAgICAgICAgICAgICBTdHJpbmc/CiAgdHlwZSAgICAgICAgICAgICAgIFN0cmluZz8KICBwbGF0Zm9ybSAgICAgICAgICAgU3RyaW5nPwogIHZpc2liaWxpdHkgICAgICAgICBTdHJpbmc/CiAgaXNTcG9uc29yZWQgICAgICAgIEJvb2xlYW4/CiAgaGFzQ29sbGFib3JhdG9ycyAgIEJvb2xlYW4/CiAgaXNPd25lZEJ5VXNlciAgICAgIEJvb2xlYW4/CiAgLy8gTUVUUklDUwogIHZpZXdzICAgICAgICAgICAgICBJbnQ/CiAgaW1wcmVzc2lvbnMgICAgICAgIEludD8KICBpbXByZXNzaW9uc09yZ2FuaWMgSW50PwogIGltcHJlc3Npb25zUGFpZCAgICBJbnQ/CiAgcmVhY2ggICAgICAgICAgICAgIEludD8KICByZWFjaE9yZ2FuaWMgICAgICAgSW50PwogIHJlYWNoUGFpZCAgICAgICAgICBJbnQ/CiAgd2F0Y2hIb3VycyAgICAgICAgIEZsb2F0PwogIC8vIEVOR0FHRU1FTlQgTUVUUklDUwogIGxpa2VzICAgICAgICAgICAgICBJbnQ/CiAgZGlzbGlrZXMgICAgICAgICAgIEludD8KICBjb21tZW50cyAgICAgICAgICAgSW50PwogIHNhdmVzICAgICAgICAgICAgICBJbnQ/CiAgc2hhcmVzICAgICAgICAgICAgIEludD8KCiAgdXNlcklkICAgICBJbnQ/CiAgY2FtcGFpZ25JZCBJbnQ/CgogIHVzZXIgICAgIFVzZXI/ICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjYW1wYWlnbiBDYW1wYWlnbj8gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGxpc3RzICAgIExpc3RUb1NvY2lhbFBvc3RbXQoKICBzb2NpYWxQb3N0VGFncyBTb2NpYWxQb3N0VGFnW10KCiAgQEBpbmRleChpc1N0YWxlKQogIEBAbWFwKCJzb2NpYWxwb3N0IikKfQoKbW9kZWwgU29jaWFsUG9zdFRhZyB7CiAgaWQgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgU3RyaW5nCiAgdHlwZSAgU3RyaW5nCgogIHNvY2lhbFBvc3RJZCBJbnQKCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAoKICBjYW1wYWlnbkltYWdlIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICAgICBJbnQgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgYnJhbmRJbWFnZUlkICAgIEludAoKICBicmFuZEltYWdlICAgICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBAQG1hcCgiYnJhbmRpbWFnZSIpCn0KCm1vZGVsIENvdW50cnkgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5Q29kZSBTdHJpbmcgIEB1bmlxdWUgQGRiLlZhckNoYXIoMikKICBjb3VudHJ5TmFtZSBTdHJpbmcgIEBkYi5WYXJDaGFyKDUwMCkKICB0ZWxlQ29kZSAgICBTdHJpbmcgIEBkYi5WYXJDaGFyKDEwKQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgY2FtcGFpZ25zIENhbXBhaWduVG9Db3VudHJ5W10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nIEBkYi5WYXJDaGFyKDUwKQogIHN0YXRlTmFtZSBTdHJpbmcgQGRiLlZhckNoYXIoNTAwKQoKICBjb3VudHJ5IENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYW1vdW50ICAgIEZsb2F0CiAgYmFsYW5jZSAgIEZsb2F0CiAgdHlwZSAgICAgIFN0cmluZwogIGRhdGUgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgU3RyaW5nPyAgQGRiLlRleHQKICBtZXRhRGF0YSAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhY2NvdW50SWQgSW50CgogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyBAdW5pcXVlCgogIGJyYW5kICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIsIGZpZWxkczogW3ByZXZUcmFuc2FjdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiBTdHJpbmc/CiAgdXJsUGF0aCAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgRmxvYXQgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQoKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQoKICBhZmZpbGlhdGUgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGJyYW5kQWZmaWxpYXRlTGluayBCcmFuZEFmZmlsaWF0ZUxpbmsgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kQWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgU3RyaW5nPwogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVMaW5rSWQgSW50CgogIGFmZmlsaWF0ZUxpbmsgIEFmZmlsaWF0ZUxpbmsgICAgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlRXZlbnQgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBldmVudCAgICAgICAgICAgICBTdHJpbmcgLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVDbGlja0lkIEludAoKICBhZmZpbGlhdGVDbGljayBBZmZpbGlhdGVDbGljaz8gQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIHR5cGUgICAgICBTdHJpbmc/IC8vIGF1ZGllbmNlLXJlcG9ydCwgc2VhcmNoLWV4cG9ydCwgY2FtcGFpZ24taW52aXRlCiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBicmFuZElkIEludD8KICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgc29jaWFsUHJvZmlsZUlkICAgSW50PyAKICBicmFuZElkICAgICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgICAgSW50PyBAdW5pcXVlCiAgY29kZSAgICAgICAgICAgICAgU3RyaW5nPyBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZGVjbGluZURhdGUgICAgICBEYXRlVGltZT8KICBkZWNsaW5lUmVhc29uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgCiAgbWV0YURhdGEgICAgICAgICAgSnNvbj8gQGRlZmF1bHQoInt9IikKCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFByb2ZpbGUgICAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICAgIE9wdEluPyBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYXJjaGl2ZWQgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIG1ldGFEYXRhICAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JzIENyZWF0b3JMaXN0SXRlbVtdCiAgYnJhbmQgICAgQnJhbmQgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJjcmVhdG9ybGlzdCIpCn0KCm1vZGVsIENyZWF0b3JMaXN0SXRlbSB7CiAgaWQgICAgICAgICAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNvY2lhbFByb2ZpbGVJZCBJbnQKICBjcmVhdG9yTGlzdElkICAgSW50CgogIHNhdmVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBpbnZpdGVkICBEYXRlVGltZT8KICB0YWdzICAgICBKc29uPwogIGZlZWRiYWNrIFN0cmluZz8gICBAZGIuVGV4dAogIGFyY2hpdmVkIERhdGVUaW1lPwogIG1ldGFEYXRhIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdG9yTGlzdCAgIENyZWF0b3JMaXN0ICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUHJvZmlsZSBTb2NpYWxQcm9maWxlPyBAcmVsYXRpb24oZmllbGRzOiBbc29jaWFsUHJvZmlsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJjcmVhdG9ybGlzdGl0ZW0iKQp9Cgptb2RlbCBTb2NpYWxQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsSWQgU3RyaW5nPyBAdW5pcXVlIC8vIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgY2FuIG5ldmVyIG92ZXJsYXAgYWNyb3NzIG11bHRpcGxlIHBsYXRmb3Jtcywgd2Ugc2hvdWxkIGFwcGVuZCB0aGUgcGxhdGZvcm0gdG8gdGhlIGJlZ2lubmluZyB0byBlbnN1cmUgaXTigJlzIGFsd2F5cyB1bmlxdWUKICB1c2VySWQgICBJbnQ/IC8vIHJlZ2lzdGVyZWQgdXNlciBpZCwgaWYgYXZhaWxhYmxlCgogIC8vIHNvY2lhbCBkYXRhCiAgcGxhdGZvcm0gICAgICBTdHJpbmcKICB1c2VybmFtZSAgICAgIFN0cmluZwogIGZ1bGxuYW1lICAgICAgU3RyaW5nPyAgQGRiLlZhckNoYXIoMTAyNCkKICBwcm9maWxlVXJsICAgIFN0cmluZz8KICBwcm9maWxlUGljVXJsIFN0cmluZz8gIEBkYi5WYXJDaGFyKDIwODMpIC8vIG5lZWQgdG8gc3BlY2lmeSBsZW5ndGgsIGRlZmF1bHQgc2l6ZSBpcyB0b28gc21hbGwKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGF2Z1ZpZXdzICAgICAgSW50PwogIHZlcmlmaWVkICAgICAgQm9vbGVhbj8KICBtZXRhRGF0YSAgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgYXVkaWVuY2VEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIHBoeWxsb0RhdGEgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgY3JlYXRlZCBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCBEYXRlVGltZT8KCiAgY3JlYXRvckxpc3RJdGVtcyAgQ3JlYXRvckxpc3RJdGVtW10KICBjYW1wYWlnbkludml0ZXMgICBDYW1wYWlnbkludml0ZVtdCiAgdXNlciAgICAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBtYXAoInNvY2lhbHByb2ZpbGUiKQp9Cgptb2RlbCBNZXNzYWdlVGVtcGxhdGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsYWJlbCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgU3RyaW5nICBAZGIuVGV4dAogIGJyYW5kSWQgIEludD8KICBicmFuZCAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpIC8vIHRvIHNhdmUgYW55IGFkZGl0aW9uYWwgZGF0YSBzdWNoIGFzIHVzZXIgZGVmaW5lZCB2YXJpYWJsZXMKCiAgQEBtYXAoIm1lc3NhZ2V0ZW1wbGF0ZSIpCn0KCm1vZGVsIEVtYWlsVGVtcGxhdGUgewogIGlkICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgICAgU3RyaW5nPwogIHN1YmplY3QgICAgU3RyaW5nPwogIHRlbXBsYXRlICAgU3RyaW5nICBAZGIuVGV4dAogIGJyYW5kSWQgICAgSW50PwogIAogIGJyYW5kICAgICAgQnJhbmQ/ICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbWV0YURhdGEgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpIC8vIHRvIHNhdmUgYW55IGFkZGl0aW9uYWwgZGF0YSBzdWNoIGFzIHVzZXIgZGVmaW5lZCB2YXJpYWJsZXMKfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgIEludAogIGNhbXBhaWduSWQgSW50PyAgICAgIEB1bmlxdWUgLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBwb3N0VHlwZSAgIFN0cmluZyAvLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgZmlsdGVycyAgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikgLy8gZmlsdGVycyB0byBzZWFyY2ggcG9zdHMgYnkgKGxvY2F0aW9uLCBkYXRlLCBoYXNodGFncywgbWVudGlvbnMsIGV0Yy4pCgogIGxhc3RGZXRjaGVkIERhdGVUaW1lPyAvLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCgogIGJyYW5kIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHBvc3RzIExpc3RUb1NvY2lhbFBvc3RbXQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsaXN0SWQgSW50CiAgcG9zdElkIEludAoKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgU3RyaW5nCiAgZmlsdGVycyBKc29uICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQ/CiAgY2FtcGFpZ24gICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgib3B0aW52aWV3IikKfQoKbW9kZWwgUmFrdXRlbkFjdGl2aXR5IHsKICBpZCAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcmRlcklkICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjbGlja3MgICAgICAgSW50PwogIG9yZGVycyAgICAgICBJbnQ/CiAgc2FsZXMgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb24gICBGbG9hdD8KICBhZHZlcnRpc2VySWQgSW50PwoKICB1c2VySWQgSW50CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KCm1vZGVsIFNsb3dRdWVyaWVzIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG1vZGVsICAgICAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICBvcGVyYXRpb24gICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgdGltZSAgICAgICAgSW50CiAgYXJncyAgICAgICAgSnNvbgogIGNyZWF0ZWRfYXQgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNvbXBsZXRlZCAgIEJvb2xlYW4KICBlbnZpcm9ubWVudCBTdHJpbmc/ICBAZGIuVmFyQ2hhcigzMikKCiAgQEBtYXAoInNsb3dfcXVlcmllcyIpCn0K",
|
|
1209
|
-
"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",
|
|
1210
1214
|
"noEngine": false
|
|
1211
1215
|
}
|
|
1212
1216
|
config.dirname = '/'
|
package/index.js
CHANGED
|
@@ -1143,7 +1143,7 @@ const config = {
|
|
|
1143
1143
|
"value": "prisma-client-js"
|
|
1144
1144
|
},
|
|
1145
1145
|
"output": {
|
|
1146
|
-
"value": "/home/runner/github-runner-
|
|
1146
|
+
"value": "/home/runner/github-runner-r7WZLbPpVptp9/creator-database/creator-database/client/creatorco/client",
|
|
1147
1147
|
"fromEnvVar": null
|
|
1148
1148
|
},
|
|
1149
1149
|
"config": {
|
|
@@ -1178,6 +1178,10 @@ const config = {
|
|
|
1178
1178
|
{
|
|
1179
1179
|
"fromEnvVar": null,
|
|
1180
1180
|
"value": "linux-musl-arm64-openssl-3.0.x"
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"fromEnvVar": null,
|
|
1184
|
+
"value": "linux-arm64-openssl-1.0.x"
|
|
1181
1185
|
}
|
|
1182
1186
|
],
|
|
1183
1187
|
"previewFeatures": [
|
|
@@ -1206,8 +1210,8 @@ const config = {
|
|
|
1206
1210
|
}
|
|
1207
1211
|
}
|
|
1208
1212
|
},
|
|
1209
|
-
"inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiXQp9CgpkYXRhc291cmNlIGRiIHsKICBwcm92aWRlciA9ICJwb3N0Z3Jlc3FsIgogIHVybCAgICAgID0gZW52KCJEQVRBQkFTRV9VUkwiKQp9Cgptb2RlbCBVc2VyIHsKICBpZCAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHJvbGUgICAgICAgICAgICAgICAgU3RyaW5nCiAgZW1haWwgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIHBhc3N3b3JkICAgICAgICAgICAgU3RyaW5nPwogIHJlZ2lzdGVyZWQgICAgICAgICAgRGF0ZVRpbWUgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGxhc3RMb2dpbkRhdGUgICAgICAgRGF0ZVRpbWU/IAogIGZpcnN0TmFtZSAgICAgICAgICAgU3RyaW5nPwogIGxhc3ROYW1lICAgICAgICAgICAgU3RyaW5nPwogIHBob25lICAgICAgICAgICAgICAgU3RyaW5nPwogIHBob25lQ29kZSAgICAgICAgICAgSW50PwogIHBob25lU2hvcnQgICAgICAgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgICAgICAgU3RyaW5nPyAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9yZ290UGFzc3dvcmRLZXkgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGFmZmlsaWF0ZVNsdWcgICAgICAgU3RyaW5nPyAgICAgICAgIEB1bmlxdWUKICBjbG9zZWQgICAgICAgICAgICAgIERhdGVUaW1lPwogIGNsb3NlZFJlYXNvbiAgICAgICAgU3RyaW5nPwogIHVzZXJjb21MYXN0U3luY2VkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICAgICAgICBKc29uICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKCiAgcmVmZXJyZXJJZCBJbnQ/CgogIHJlZmVycmVyICAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiLCBmaWVsZHM6IFtyZWZlcnJlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICByZWZlcnJlZFVzZXJzICAgICAgIFVzZXJbXSAgICAgICAgICAgICAgIEByZWxhdGlvbigiUmVmZXJyYWxzIikKICBsb2dzICAgICAgICAgICAgICAgIExvZ1tdCiAgY3JlYXRvclByb2ZpbGUgICAgICBDcmVhdG9yUHJvZmlsZT8KICBpbnN0YWdyYW1Qcm9maWxlICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgeW91dHViZVByb2ZpbGUgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgIFRpa3Rva1Byb2ZpbGU/CiAgZmFjZWJvb2tQcm9maWxlICAgICBGYWNlYm9va1Byb2ZpbGU/CiAgdHdpdHRlclByb2ZpbGUgICAgICBUd2l0dGVyUHJvZmlsZT8KICB0d2l0Y2hQcm9maWxlICAgICAgIFR3aXRjaFByb2ZpbGU/CiAgYnJhbmRQcm9maWxlcyAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBvcHRJbnMgICAgICAgICAgICAgIE9wdEluW10KICBhc3NpZ25lZEJyYW5kcyAgICAgIEJyYW5kW10KICBtZXNzYWdlcyAgICAgICAgICAgIE1lc3NhZ2VbXQogIHNvY2lhbFBvc3RzICAgICAgICAgU29jaWFsUG9zdFtdCiAgcGF5bWVudFRyYW5zYWN0aW9ucyBQYXltZW50VHJhbnNhY3Rpb25bXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgQWZmaWxpYXRlTGlua1tdCiAgY2FtcGFpZ25QaW5zICAgICAgICBDYW1wYWlnblBpbltdCiAgc29jaWFsUHJvZmlsZXMgICAgICBTb2NpYWxQcm9maWxlW10KICByYWt1dGVuQWN0aXZpdHkgICAgIFJha3V0ZW5BY3Rpdml0eVtdCgogIEBAbWFwKCJ1c2VyIikKICAvLyBAQGZ1bGx0ZXh0KFtmaXJzdE5hbWUsIGxhc3ROYW1lXSkKfQoKbW9kZWwgTG9nIHsKICBpZCBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKCiAgdXNlcklkIEludD8KICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBkYXRhIEpzb24/Cn0KCm1vZGVsIENyZWF0b3JQcm9maWxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnkgICAgICAgICAgU3RyaW5nPwogIHJlZ2lvbiAgICAgICAgICAgU3RyaW5nPwogIGJpcnRoRGF0ZSAgICAgICAgRGF0ZVRpbWU/CiAgaW50ZXJlc3RzICAgICAgICBKc29uPyAvLyBkZXByZWNhdGVkCiAgZ2VuZGVyICAgICAgICAgICBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMSBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMiBTdHJpbmc/CiAgc2hpcHBpbmdDaXR5ICAgICBTdHJpbmc/CiAgc2hpcHBpbmdSZWdpb24gICBTdHJpbmc/CiAgc2hpcHBpbmdDb3VudHJ5ICBTdHJpbmc/CiAgc2hpcHBpbmdQb3N0Y29kZSBTdHJpbmc/CiAgcGh5bGxvVXNlcklkICAgICBTdHJpbmc/CiAgcHJvZmlsZVNsdWcgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHByb2ZpbGVTZXR0aW5ncyAgSnNvbj8KICB3YWxsZXRBZGRyZXNzICAgIFN0cmluZz8gICBAdW5pcXVlCgogIG5pY2hlcyBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIHVzZXJJZCBJbnQgIEB1bmlxdWUKICB1c2VyICAgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgocGh5bGxvVXNlcklkKQogIEBAbWFwKCJjcmVhdG9ycHJvZmlsZSIpCn0KCm1vZGVsIEluc3RhZ3JhbVByb2ZpbGUgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBpbnN0YWdyYW1JZCBTdHJpbmc/CgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGZ1bGxOYW1lICAgICAgICAgIFN0cmluZz8gQGRiLlZhckNoYXIoMTAyNCkKICBpc0J1c2luZXNzICAgICAgICBCb29sZWFuPwogIGlzUHJpdmF0ZSAgICAgICAgIEJvb2xlYW4/CiAgaXNWZXJpZmllZCAgICAgICAgQm9vbGVhbj8KICBtZWRpYUNvdW50ICAgICAgICBJbnQ/CiAgZm9sbG93aW5nQ291bnQgICAgSW50PwogIHRvdGFsQ29tbWVudHMgICAgIEludD8KICB0b3RhbExpa2VzICAgICAgICBJbnQ/CiAgYXZnQ29tbWVudHMgICAgICAgRmxvYXQ/CiAgYXZnTGlrZXMgICAgICAgICAgRmxvYXQ/CiAgYmlvICAgICAgICAgICAgICAgU3RyaW5nPwogIGV4dGVybmFsVXJsICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGhhc0hpZ2hsaWdodFJlZWxzIEJvb2xlYW4/CiAgY2F0ZWdvcnkgICAgICAgICAgU3RyaW5nPwogIGhhc0NsaXBzICAgICAgICAgIEJvb2xlYW4/CiAgaGFzR3VpZGVzICAgICAgICAgQm9vbGVhbj8KICBoYXNDaGFubmVsICAgICAgICBCb29sZWFuPwogIHRvdGFsSWd0dlZpZGVvcyAgIEludD8KICBwcm9maWxlUGljVXJsSGQgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykgLy8gREVQUkVDQVRFRAogIGxhc3RTdG9yaWVzVXBkYXRlIERhdGVUaW1lPwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAaW5kZXgoaW5zdGFncmFtSWQpCiAgQEBtYXAoImluc3RhZ3JhbXByb2ZpbGUiKQp9Cgptb2RlbCBUaWt0b2tQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aWt0b2tJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmc/CiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgaGFuZGxlICAgICAgICAgU3RyaW5nPwogIG5pY2tuYW1lICAgICAgIFN0cmluZz8KICBmb2xsb3dpbmdDb3VudCBJbnQ/CiAgdG90YWxDb21tZW50cyAgSW50PwogIHRvdGFsTGlrZXMgICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgidGlrdG9rcHJvZmlsZSIpCn0KCm1vZGVsIFlvdXR1YmVQcm9maWxlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgeW91dHViZUlkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGZvbGxvd2luZ0NvdW50IEludD8KICBmdWxsTmFtZSAgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIGlzVmVyaWZpZWQgICAgIEJvb2xlYW4/CiAgc3Vic2NyaWJlcnMgICAgSW50PwogIGRlc2NyaXB0aW9uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgY291bnRyeSAgICAgICAgU3RyaW5nPwogIHRvdGFsVmlld3MgICAgIEludD8KICB0b3RhbFZpZGVvcyAgICBJbnQ/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBtYXAoInlvdXR1YmVwcm9maWxlIikKfQoKbW9kZWwgVHdpdGNoUHJvZmlsZSB7CiAgaWQgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHdpdGNoSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdGNocHJvZmlsZSIpCn0KCm1vZGVsIEZhY2Vib29rUHJvZmlsZSB7CiAgaWQgICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBmYWNlYm9va0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZXh0cmFEYXRhICBKc29uPwogIHBoeWxsb0RhdGEgSnNvbj8KICB2aXNpYmlsaXR5IFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCBJbnQ/ICBAdW5pcXVlCiAgdXNlciAgIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImZhY2Vib29rcHJvZmlsZSIpCn0KCm1vZGVsIFR3aXR0ZXJQcm9maWxlIHsKICBpZCAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHdpdHRlcklkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZXh0cmFEYXRhICBKc29uPwogIHBoeWxsb0RhdGEgSnNvbj8KICB2aXNpYmlsaXR5IFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCBJbnQ/ICBAdW5pcXVlCiAgdXNlciAgIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoInR3aXR0ZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmRVc2VyUHJvZmlsZSB7CiAgaWQgICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1c2VySWQgIEludAogIGJyYW5kSWQgSW50CgogIHVzZXIgIFVzZXIgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiYnJhbmR1c2VycHJvZmlsZSIpCn0KCm1vZGVsIEJyYW5kIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBuYW1lICAgICAgICAgICAgICAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICB3ZWJzaXRlICAgICAgICAgICAgICAgICBTdHJpbmcKICBtb250aGx5Q29udGFjdHMgICAgICAgICBJbnQ/CiAgbW9udGhseVJlcG9ydHMgICAgICAgICAgSW50PwogIGxhc3RDb250YWN0RGlzdHJpYnV0aW9uIERhdGVUaW1lPwogIGxvZ29VcmwgICAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUJhc2VVcmwgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUNvbW1pc3Npb24gICAgIEZsb2F0PwogIGV4dHJhRGF0YSAgICAgICAgICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICBzcGVjaWFsaXN0SWQgICAgICAgIEludD8KICBkZWRpY2F0ZWRTcGVjaWFsaXN0IFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFtzcGVjaWFsaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGluc3RhZ3JhbVByb2ZpbGUgICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgeW91dHViZVByb2ZpbGUgICAgICAgWW91dHViZVByb2ZpbGU/CiAgdGlrdG9rUHJvZmlsZSAgICAgICAgVGlrdG9rUHJvZmlsZT8KICBjYW1wYWlnbnMgICAgICAgICAgICBDYW1wYWlnbltdCiAgYnJhbmRVc2VycyAgICAgICAgICAgQnJhbmRVc2VyUHJvZmlsZVtdCiAgc2VhcmNoQ29udGFjdHMgICAgICAgU2VhcmNoQ29udGFjdHNbXQogIHJlcG9ydENyZWRpdHMgICAgICAgIFJlcG9ydENyZWRpdHNbXQogIGNhdGVnb3JpZXMgICAgICAgICAgIEJyYW5kVG9DYXRlZ29yeVtdCiAgcGF5bWVudFRyYW5zYWN0aW9ucyAgUGF5bWVudFRyYW5zYWN0aW9uW10KICBzYXZlZGZpbGVzICAgICAgICAgICBTYXZlZEZpbGVbXQogIGNyZWF0b3JMaXN0cyAgICAgICAgIENyZWF0b3JMaXN0W10KICBhZmZpbGlhdGVMaW5rcyAgICAgICBCcmFuZEFmZmlsaWF0ZUxpbmtbXQogIG1lc3NhZ2VUZW1wbGF0ZSAgICAgIE1lc3NhZ2VUZW1wbGF0ZVtdCiAgZW1haWxUZW1wbGF0ZXMgICAgICAgRW1haWxUZW1wbGF0ZVtdCiAgc29jaWFsTGlzdGVuaW5nTGlzdHMgU29jaWFsTGlzdGVuaW5nTGlzdFtdCiAgY2FtcGFpZ25JbnZpdGVzICAgICAgQ2FtcGFpZ25JbnZpdGVbXQogIGltYWdlcyAgICAgICAgICAgICAgIEJyYW5kVG9JbWFnZVtdCgogICAgLy8gZm9yIGFnZW5jaWVzCiAgcGFyZW50QnJhbmRJZCAgICAgICBJbnQ/CiAgcGFyZW50QnJhbmQgICAgICAgICBCcmFuZD8gQHJlbGF0aW9uKCJDaGlsZEJyYW5kcyIsIGZpZWxkczogW3BhcmVudEJyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoaWxkQnJhbmRzICAgICAgICAgQnJhbmRbXSBAcmVsYXRpb24oIkNoaWxkQnJhbmRzIikKCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICAgQHVuaXF1ZQogIHByZXZRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIpCgogIGJyYW5kSWQgSW50CiAgYnJhbmQgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzZWFyY2hjb250YWN0cyIpCn0KCm1vZGVsIFJlcG9ydENyZWRpdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgYnJhbmRJZCAgICAgSW50CiAgdHlwZSAgICAgICAgU3RyaW5nCgogIGJyYW5kICAgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIHNpemVzICAgICAgIEJyYW5kSW1hZ2VbXQoKICBAQG1hcCgiYnJhbmR0b2ltYWdlIikKfQoKbW9kZWwgQnJhbmRUb0NhdGVnb3J5IHsKICBicmFuZElkICAgIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFticmFuZElkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiYnJhbmR0b2NhdGVnb3J5IikKfQoKbW9kZWwgQ3JlYXRvclRvQ2F0ZWdvcnkgewogIGNyZWF0b3JQcm9maWxlSWQgSW50CiAgY2F0ZWdvcnlJZCAgICAgICBJbnQKCiAgY3JlYXRvclByb2ZpbGUgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NyZWF0b3JQcm9maWxlSWQsIGNhdGVnb3J5SWRdKQp9Cgptb2RlbCBDaGF0IHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgY29udmVyc2F0aW9uSWQgU3RyaW5nPyAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgb3B0SW5JZCBJbnQ/IEB1bmlxdWUKCiAgb3B0SW4gICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcgICAgQGRiLlRleHQKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CgogIHVzZXJJZCBJbnQ/CiAgY2hhdElkIEludAoKICB1c2VyIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoYXQgQ2hhdCAgQHJlbGF0aW9uKGZpZWxkczogW2NoYXRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgibWVzc2FnZSIpCn0KCm1vZGVsIENhbXBhaWduIHsKICBpZCAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoImRyYWZ0IikgLy8gZHJhZnQsIHBhdXNlZCwgcGVuZGluZywgcHJpdmF0ZSwgcHVibGlzaCwgdHJhc2gKICBkYXRlICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJvZHVjdERlc2NyaXB0aW9uICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgIEBkZWZhdWx0KDApCiAgaG9sZENvc3QgICAgICAgICAgICAgIEZsb2F0PwogIHZhbHVlICAgICAgICAgICAgICAgICBGbG9hdD8KICBwYWlkQW1vdW50ICAgICAgICAgICAgRmxvYXQ/CiAgbWluQWdlICAgICAgICAgICAgICAgIEludD8KICBtYXhBZ2UgICAgICAgICAgICAgICAgSW50PwogIHZpc3VhbHMgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8gLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHN0ZXBzICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIG9wdElucyAgICAgICBPcHRJbltdCiAgaW1hZ2VzICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgdmFyaWFibGVzICAgIFZhcmlhYmxlW10KICBjb3VudHJpZXMgICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIGNhbXBhaWduUGlucyBDYW1wYWlnblBpbltdCiAgc29jaWFsUG9zdHMgIFNvY2lhbFBvc3RbXQogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIGJyYW5kSWQgICAgICBJbnQKICBicmFuZCAgICAgICAgQnJhbmQgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNyZWF0b3JMaXN0cyBDcmVhdG9yTGlzdFtdCiAgb3B0SW5WaWV3cyAgIE9wdEluVmlld1tdCgogIEBAbWFwKCJjYW1wYWlnbiIpCn0KCm1vZGVsIENhbXBhaWduUGluIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQKICBjcmVhdGVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBub3RpZmllZCAgIERhdGVUaW1lPwoKICB1c2VyICAgICBVc2VyICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNhbXBhaWducGluIikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0ltYWdlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNhbXBhaWduSWQgSW50CiAgdHlwZSAgICAgICBTdHJpbmcKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgc2l6ZXMgSW1hZ2VbXQoKICBAQG1hcCgiY2FtcGFpZ250b2ltYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0NhdGVnb3J5IHsKICBjYW1wYWlnbklkIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiY2FtcGFpZ250b2NhdGVnb3J5IikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0NvdW50cnkgewogIGNhbXBhaWduSWQgSW50CiAgY291bnRyeUlkICBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjb3VudHJ5ICBDb3VudHJ5ICBAcmVsYXRpb24oZmllbGRzOiBbY291bnRyeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY2FtcGFpZ25JZCwgY291bnRyeUlkXSkKICBAQG1hcCgiY2FtcGFpZ250b2NvdW50cnkiKQp9Cgptb2RlbCBWYXJpYWJsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNhbXBhaWduSWQgSW50CgogIGNhbXBhaWduIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdGlvbnMgICAgICAgIFZhcmlhYmxlT3B0aW9uW10KICBvcHRJblZhcmlhYmxlcyBPcHRJblZhcmlhYmxlW10KfQoKbW9kZWwgVmFyaWFibGVPcHRpb24gewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiBTdHJpbmc/IEBkYi5UZXh0CiAgbWV0YURhdGEgICAgSnNvbiAgICBAZGVmYXVsdCgie30iKQoKICB2YXJpYWJsZUlkIEludAoKICB2YXJpYWJsZSBWYXJpYWJsZSBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBvcHRJblZhcmlhYmxlcyBPcHRJblZhcmlhYmxlW10KfQoKbW9kZWwgU3RlcCB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgICAgICAgIFN0cmluZyAgQHVuaXF1ZQogIHRpdGxlICAgICAgIFN0cmluZz8KICBkZXNjcmlwdGlvbiBTdHJpbmc/IEBkYi5UZXh0CiAgZGF0YSAgICAgICAgSnNvbj8KCiAgY2FtcGFpZ25TdGVwcyBDYW1wYWlnblN0ZXBbXQoKICBAQG1hcCgic3RlcCIpCn0KCm1vZGVsIENhbXBhaWduU3RlcCB7CiAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcGxhY2VtZW50ICAgICAgICAgICAgICAgICAgICAgSW50CiAgc3RlcFNldHRpbmdzICAgICAgICAgICAgICAgICAgSnNvbj8KICBhY3Rpb25lZSAgICAgICAgICAgICAgICAgICAgICBTdHJpbmc/CiAgaW5zdHJ1Y3Rpb25zICAgICAgICAgICAgICAgICAgU3RyaW5nPyBAZGIuVGV4dAogIGN1c3RvbVN0ZXBUaXRsZSAgICAgICAgICAgICAgIFN0cmluZz8KICBjdXN0b21Gb3JtICAgICAgICAgICAgICAgICAgICBKc29uPwogIG1ldGFEYXRhICAgICAgICAgICAgICAgICAgICAgIEpzb24gQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkICAgIEludAogIHN0ZXBJZCAgICAgICAgSW50PwoKICBjYW1wYWlnbiAgICAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc3RlcCAgICAgICAgICBTdGVwPyAgICBAcmVsYXRpb24oZmllbGRzOiBbc3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjdXJyZW50T3B0SW5zIE9wdEluW10KCiAgb3B0SW5TdGVwcyBPcHRJblN0ZXBbXQoKICBAQG1hcCgiY2FtcGFpZ25zdGVwIikKfQoKbW9kZWwgT3B0SW5TdGVwIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY29tcGxldGVkIERhdGVUaW1lPwogIGRhdGEgICAgICBKc29uPwoKICBvcHRJbklkICAgICAgICBJbnQKICBjYW1wYWlnblN0ZXBJZCBJbnQKICBzb2NpYWxQb3N0SWQgICBJbnQ/IC8vIHRlbXBvcmFyeSBmb3IgbW92aW5nIHNob3V0b3V0RGF0YSB0byBzb2NpYWxQb3N0cwoKICBvcHRJbiAgICAgICAgT3B0SW4gICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2FtcGFpZ25TdGVwIENhbXBhaWduU3RlcCBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25TdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoIm9wdGluc3RlcCIpCn0KCm1vZGVsIENhdGVnb3J5IHsKICBpZCAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzbHVnICBTdHJpbmcgQHVuaXF1ZQogIHRpdGxlIFN0cmluZwoKICBjYW1wYWlnbnMgQ2FtcGFpZ25Ub0NhdGVnb3J5W10KICBicmFuZHMgICAgQnJhbmRUb0NhdGVnb3J5W10KICBjcmVhdG9ycyAgQ3JlYXRvclRvQ2F0ZWdvcnlbXQoKICBAQG1hcCgiY2F0ZWdvcnkiKQp9Cgptb2RlbCBPcHRJbiB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHN0YXR1cyAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGNyZWF0ZWQgICAgICAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYWN0aXZhdGVkICAgICAgIERhdGVUaW1lPwogIGNvbXBsZXRlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWQgICAgICAgRGF0ZVRpbWU/CiAgY2FuY2VsbGVkRGF0YSAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIGNhbmNlbFJlcXVlc3RlZCBEYXRlVGltZT8KICByZWludml0ZWQgICAgICAgRGF0ZVRpbWU/CiAgc2VlbiAgICAgICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICBpbnN0cnVjdGlvbnMgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGF5bWVudEFtb3VudCAgIEZsb2F0PwogIHBheW1lbnRTdGF0dXMgICBTdHJpbmcgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGV4dHJhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgIEludAogIGN1cnJlbnRTdGVwSWQgSW50PwoKICB1c2VyICAgICAgICBVc2VyICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICBDYW1wYWlnbiAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3VycmVudFN0ZXAgQ2FtcGFpZ25TdGVwPyBAcmVsYXRpb24oZmllbGRzOiBbY3VycmVudFN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIHZhcmlhYmxlcyAgT3B0SW5WYXJpYWJsZVtdCiAgb3B0SW5TdGVwcyBPcHRJblN0ZXBbXQogIGNoYXQgICAgICAgQ2hhdD8KICBjYW1wYWlnbkludml0ZXMgQ2FtcGFpZ25JbnZpdGVbXQoKICBAQG1hcCgib3B0aW4iKQp9Cgptb2RlbCBPcHRJblZhcmlhYmxlIHsKICBpZCBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKCiAgb3B0SW5JZCAgICAgICAgICBJbnQKICB2YXJpYWJsZUlkICAgICAgIEludAogIHNlbGVjdGVkT3B0aW9uSWQgSW50CgogIG9wdEluICAgICAgICAgIE9wdEluICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgdmFyaWFibGUgICAgICAgVmFyaWFibGUgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3ZhcmlhYmxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzZWxlY3RlZE9wdGlvbiBWYXJpYWJsZU9wdGlvbiBAcmVsYXRpb24oZmllbGRzOiBbc2VsZWN0ZWRPcHRpb25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQp9Cgptb2RlbCBTb2NpYWxQb3N0IHsKICBpZCAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBwaHlsbG9JZCAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIGRhdGEgICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKSAvLyBERVBSRUNBVEVELCBVU0UgbWV0YURhdGEgaW5zdGVhZCwgc2VlbXMgdG8gYmUgYW4gZXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHJlbW92ZSB0aGlzIGZpZWxkLCBwcm9hYmFibHkgZHVlIHRvIHRhYmxlIHNpemUKICBsYXN0RmV0Y2hlZCBEYXRlVGltZT8KICBsYXN0V2ViaG9vayBEYXRlVGltZT8KICBpc1N0YWxlICAgICBCb29sZWFuPyAvLyBUT0RPOiB0aGlzIGZpZWxkIGlzIGhlcmUgYmVjYXVzZSBwcmlzbWEgZG9lc24ndCBzdXBwb3J0IGNvbXBhcmluZyBvbmUgY29sdW1uIHRvIGFub3RoZXIsIGlkZWFsbHkgd2UgY291bGQganVzdCBjaGVjayBpZiBsYXN0RmV0Y2hlZCA+IGxhc3RXZWJob29rIGJ1dCBmb3Igbm93IHdlIG5lZWQgdG8gY29udHJvbC9jaGVjayB0aGlzIGZpZWxkCgogIC8vIEJBU0lDIElORk8KICBwb3N0ZWQgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIGRlc2NyaXB0aW9uICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICB1cmwgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgdXJsUGF0aCAgICAgICAgICAgIFN0cmluZz8gICBAdW5pcXVlIC8vIFRoaXMgaXMgaGVyZSBzbyB3ZSBoYXZlIHNvbWUgZXh0ZXJuYWwgaWRlbnRpZmllciB0byBxdWlja2x5IHNlYXJjaCBieQogIGZvcm1hdCAgICAgICAgICAgICBTdHJpbmc/CiAgdHlwZSAgICAgICAgICAgICAgIFN0cmluZz8KICBwbGF0Zm9ybSAgICAgICAgICAgU3RyaW5nPwogIHZpc2liaWxpdHkgICAgICAgICBTdHJpbmc/CiAgaXNTcG9uc29yZWQgICAgICAgIEJvb2xlYW4/CiAgaGFzQ29sbGFib3JhdG9ycyAgIEJvb2xlYW4/CiAgaXNPd25lZEJ5VXNlciAgICAgIEJvb2xlYW4/CiAgLy8gTUVUUklDUwogIHZpZXdzICAgICAgICAgICAgICBJbnQ/CiAgaW1wcmVzc2lvbnMgICAgICAgIEludD8KICBpbXByZXNzaW9uc09yZ2FuaWMgSW50PwogIGltcHJlc3Npb25zUGFpZCAgICBJbnQ/CiAgcmVhY2ggICAgICAgICAgICAgIEludD8KICByZWFjaE9yZ2FuaWMgICAgICAgSW50PwogIHJlYWNoUGFpZCAgICAgICAgICBJbnQ/CiAgd2F0Y2hIb3VycyAgICAgICAgIEZsb2F0PwogIC8vIEVOR0FHRU1FTlQgTUVUUklDUwogIGxpa2VzICAgICAgICAgICAgICBJbnQ/CiAgZGlzbGlrZXMgICAgICAgICAgIEludD8KICBjb21tZW50cyAgICAgICAgICAgSW50PwogIHNhdmVzICAgICAgICAgICAgICBJbnQ/CiAgc2hhcmVzICAgICAgICAgICAgIEludD8KCiAgdXNlcklkICAgICBJbnQ/CiAgY2FtcGFpZ25JZCBJbnQ/CgogIHVzZXIgICAgIFVzZXI/ICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjYW1wYWlnbiBDYW1wYWlnbj8gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGxpc3RzICAgIExpc3RUb1NvY2lhbFBvc3RbXQoKICBzb2NpYWxQb3N0VGFncyBTb2NpYWxQb3N0VGFnW10KCiAgQEBpbmRleChpc1N0YWxlKQogIEBAbWFwKCJzb2NpYWxwb3N0IikKfQoKbW9kZWwgU29jaWFsUG9zdFRhZyB7CiAgaWQgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgU3RyaW5nCiAgdHlwZSAgU3RyaW5nCgogIHNvY2lhbFBvc3RJZCBJbnQKCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAoKICBjYW1wYWlnbkltYWdlIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICAgICBJbnQgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgYnJhbmRJbWFnZUlkICAgIEludAoKICBicmFuZEltYWdlICAgICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBAQG1hcCgiYnJhbmRpbWFnZSIpCn0KCm1vZGVsIENvdW50cnkgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5Q29kZSBTdHJpbmcgIEB1bmlxdWUgQGRiLlZhckNoYXIoMikKICBjb3VudHJ5TmFtZSBTdHJpbmcgIEBkYi5WYXJDaGFyKDUwMCkKICB0ZWxlQ29kZSAgICBTdHJpbmcgIEBkYi5WYXJDaGFyKDEwKQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgY2FtcGFpZ25zIENhbXBhaWduVG9Db3VudHJ5W10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nIEBkYi5WYXJDaGFyKDUwKQogIHN0YXRlTmFtZSBTdHJpbmcgQGRiLlZhckNoYXIoNTAwKQoKICBjb3VudHJ5IENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYW1vdW50ICAgIEZsb2F0CiAgYmFsYW5jZSAgIEZsb2F0CiAgdHlwZSAgICAgIFN0cmluZwogIGRhdGUgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgU3RyaW5nPyAgQGRiLlRleHQKICBtZXRhRGF0YSAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhY2NvdW50SWQgSW50CgogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyBAdW5pcXVlCgogIGJyYW5kICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIsIGZpZWxkczogW3ByZXZUcmFuc2FjdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiBTdHJpbmc/CiAgdXJsUGF0aCAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgRmxvYXQgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQoKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQoKICBhZmZpbGlhdGUgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGJyYW5kQWZmaWxpYXRlTGluayBCcmFuZEFmZmlsaWF0ZUxpbmsgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kQWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgU3RyaW5nPwogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVMaW5rSWQgSW50CgogIGFmZmlsaWF0ZUxpbmsgIEFmZmlsaWF0ZUxpbmsgICAgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlRXZlbnQgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBldmVudCAgICAgICAgICAgICBTdHJpbmcgLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVDbGlja0lkIEludAoKICBhZmZpbGlhdGVDbGljayBBZmZpbGlhdGVDbGljaz8gQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIHR5cGUgICAgICBTdHJpbmc/IC8vIGF1ZGllbmNlLXJlcG9ydCwgc2VhcmNoLWV4cG9ydCwgY2FtcGFpZ24taW52aXRlCiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBicmFuZElkIEludD8KICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgc29jaWFsUHJvZmlsZUlkICAgSW50PyAKICBicmFuZElkICAgICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgICAgSW50PyBAdW5pcXVlCiAgY29kZSAgICAgICAgICAgICAgU3RyaW5nPyBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZGVjbGluZURhdGUgICAgICBEYXRlVGltZT8KICBkZWNsaW5lUmVhc29uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgCiAgbWV0YURhdGEgICAgICAgICAgSnNvbj8gQGRlZmF1bHQoInt9IikKCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFByb2ZpbGUgICAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICAgIE9wdEluPyBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYXJjaGl2ZWQgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIG1ldGFEYXRhICAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JzIENyZWF0b3JMaXN0SXRlbVtdCiAgYnJhbmQgICAgQnJhbmQgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJjcmVhdG9ybGlzdCIpCn0KCm1vZGVsIENyZWF0b3JMaXN0SXRlbSB7CiAgaWQgICAgICAgICAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNvY2lhbFByb2ZpbGVJZCBJbnQKICBjcmVhdG9yTGlzdElkICAgSW50CgogIHNhdmVkICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBpbnZpdGVkICBEYXRlVGltZT8KICB0YWdzICAgICBKc29uPwogIGZlZWRiYWNrIFN0cmluZz8gICBAZGIuVGV4dAogIGFyY2hpdmVkIERhdGVUaW1lPwogIG1ldGFEYXRhIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdG9yTGlzdCAgIENyZWF0b3JMaXN0ICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUHJvZmlsZSBTb2NpYWxQcm9maWxlPyBAcmVsYXRpb24oZmllbGRzOiBbc29jaWFsUHJvZmlsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJjcmVhdG9ybGlzdGl0ZW0iKQp9Cgptb2RlbCBTb2NpYWxQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsSWQgU3RyaW5nPyBAdW5pcXVlIC8vIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgY2FuIG5ldmVyIG92ZXJsYXAgYWNyb3NzIG11bHRpcGxlIHBsYXRmb3Jtcywgd2Ugc2hvdWxkIGFwcGVuZCB0aGUgcGxhdGZvcm0gdG8gdGhlIGJlZ2lubmluZyB0byBlbnN1cmUgaXTigJlzIGFsd2F5cyB1bmlxdWUKICB1c2VySWQgICBJbnQ/IC8vIHJlZ2lzdGVyZWQgdXNlciBpZCwgaWYgYXZhaWxhYmxlCgogIC8vIHNvY2lhbCBkYXRhCiAgcGxhdGZvcm0gICAgICBTdHJpbmcKICB1c2VybmFtZSAgICAgIFN0cmluZwogIGZ1bGxuYW1lICAgICAgU3RyaW5nPyAgQGRiLlZhckNoYXIoMTAyNCkKICBwcm9maWxlVXJsICAgIFN0cmluZz8KICBwcm9maWxlUGljVXJsIFN0cmluZz8gIEBkYi5WYXJDaGFyKDIwODMpIC8vIG5lZWQgdG8gc3BlY2lmeSBsZW5ndGgsIGRlZmF1bHQgc2l6ZSBpcyB0b28gc21hbGwKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGF2Z1ZpZXdzICAgICAgSW50PwogIHZlcmlmaWVkICAgICAgQm9vbGVhbj8KICBtZXRhRGF0YSAgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgYXVkaWVuY2VEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIHBoeWxsb0RhdGEgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgY3JlYXRlZCBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCBEYXRlVGltZT8KCiAgY3JlYXRvckxpc3RJdGVtcyAgQ3JlYXRvckxpc3RJdGVtW10KICBjYW1wYWlnbkludml0ZXMgICBDYW1wYWlnbkludml0ZVtdCiAgdXNlciAgICAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBtYXAoInNvY2lhbHByb2ZpbGUiKQp9Cgptb2RlbCBNZXNzYWdlVGVtcGxhdGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsYWJlbCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgU3RyaW5nICBAZGIuVGV4dAogIGJyYW5kSWQgIEludD8KICBicmFuZCAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpIC8vIHRvIHNhdmUgYW55IGFkZGl0aW9uYWwgZGF0YSBzdWNoIGFzIHVzZXIgZGVmaW5lZCB2YXJpYWJsZXMKCiAgQEBtYXAoIm1lc3NhZ2V0ZW1wbGF0ZSIpCn0KCm1vZGVsIEVtYWlsVGVtcGxhdGUgewogIGlkICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgICAgU3RyaW5nPwogIHN1YmplY3QgICAgU3RyaW5nPwogIHRlbXBsYXRlICAgU3RyaW5nICBAZGIuVGV4dAogIGJyYW5kSWQgICAgSW50PwogIAogIGJyYW5kICAgICAgQnJhbmQ/ICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbWV0YURhdGEgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpIC8vIHRvIHNhdmUgYW55IGFkZGl0aW9uYWwgZGF0YSBzdWNoIGFzIHVzZXIgZGVmaW5lZCB2YXJpYWJsZXMKfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgIEludAogIGNhbXBhaWduSWQgSW50PyAgICAgIEB1bmlxdWUgLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBwb3N0VHlwZSAgIFN0cmluZyAvLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgZmlsdGVycyAgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikgLy8gZmlsdGVycyB0byBzZWFyY2ggcG9zdHMgYnkgKGxvY2F0aW9uLCBkYXRlLCBoYXNodGFncywgbWVudGlvbnMsIGV0Yy4pCgogIGxhc3RGZXRjaGVkIERhdGVUaW1lPyAvLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCgogIGJyYW5kIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHBvc3RzIExpc3RUb1NvY2lhbFBvc3RbXQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsaXN0SWQgSW50CiAgcG9zdElkIEludAoKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgU3RyaW5nCiAgZmlsdGVycyBKc29uICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQ/CiAgY2FtcGFpZ24gICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgib3B0aW52aWV3IikKfQoKbW9kZWwgUmFrdXRlbkFjdGl2aXR5IHsKICBpZCAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcmRlcklkICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjbGlja3MgICAgICAgSW50PwogIG9yZGVycyAgICAgICBJbnQ/CiAgc2FsZXMgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb24gICBGbG9hdD8KICBhZHZlcnRpc2VySWQgSW50PwoKICB1c2VySWQgSW50CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KCm1vZGVsIFNsb3dRdWVyaWVzIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG1vZGVsICAgICAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICBvcGVyYXRpb24gICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgdGltZSAgICAgICAgSW50CiAgYXJncyAgICAgICAgSnNvbgogIGNyZWF0ZWRfYXQgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNvbXBsZXRlZCAgIEJvb2xlYW4KICBlbnZpcm9ubWVudCBTdHJpbmc/ICBAZGIuVmFyQ2hhcigzMikKCiAgQEBtYXAoInNsb3dfcXVlcmllcyIpCn0K",
|
|
1210
|
-
"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",
|
|
1211
1215
|
"noEngine": false
|
|
1212
1216
|
}
|
|
1213
1217
|
|
|
@@ -1267,6 +1271,10 @@ path.join(process.cwd(), "client/creatorco/client/libquery_engine-debian-openssl
|
|
|
1267
1271
|
// file annotations for bundling tools to include these files
|
|
1268
1272
|
path.join(__dirname, "libquery_engine-linux-musl-arm64-openssl-3.0.x.so.node");
|
|
1269
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")
|
|
1270
1278
|
// file annotations for bundling tools to include these files
|
|
1271
1279
|
path.join(__dirname, "schema.prisma");
|
|
1272
1280
|
path.join(process.cwd(), "client/creatorco/client/schema.prisma")
|
|
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", "linux-musl-arm64-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 {
|