@creator.co/creatorco-prisma-client 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/edge.js CHANGED
@@ -1138,7 +1138,7 @@ const config = {
1138
1138
  "value": "prisma-client-js"
1139
1139
  },
1140
1140
  "output": {
1141
- "value": "/home/runner/github-runner-VC2Fh97UcBDcB/creator-database/creator-database/client/creatorco/client",
1141
+ "value": "/home/runner/github-runner-5Ad8YSShc8Mlr/creator-database/creator-database/client/creatorco/client",
1142
1142
  "fromEnvVar": null
1143
1143
  },
1144
1144
  "config": {
@@ -1147,7 +1147,7 @@ const config = {
1147
1147
  "binaryTargets": [
1148
1148
  {
1149
1149
  "fromEnvVar": null,
1150
- "value": "debian-openssl-3.0.x",
1150
+ "value": "linux-arm64-openssl-3.0.x",
1151
1151
  "native": true
1152
1152
  }
1153
1153
  ],
@@ -1177,8 +1177,8 @@ const config = {
1177
1177
  }
1178
1178
  }
1179
1179
  },
1180
- "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCAgICAgICAgICAgICAgICAgICAgPSAiLi4vLi4vZG9jcy9jcmVhdG9yY29fZXJkLnN2ZyIKfQoKZ2VuZXJhdG9yIGt5c2VseSB7CiAgcHJvdmlkZXIgICAgICAgICA9ICJwcmlzbWEta3lzZWx5IgogIG91dHB1dCAgICAgICAgICAgPSAiLi4vLi4vY2xpZW50L2NyZWF0b3Jjby9reXNlbHkiCiAgZmlsZU5hbWUgICAgICAgICA9ICJ0eXBlcy50cyIKICBlbnVtRmlsZU5hbWUgICAgID0gImVudW1zLnRzIgogIHJlYWRPbmx5SWRzICAgICAgPSB0cnVlCiAganNvblR5cGVPdmVycmlkZSA9IEpzb24KfQoKZ2VuZXJhdG9yIGNsaWVudCB7CiAgcHJvdmlkZXIgICAgICAgID0gInByaXNtYS1jbGllbnQtanMiCiAgb3V0cHV0ICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28vY2xpZW50IgogIHByZXZpZXdGZWF0dXJlcyA9IFsiZnVsbFRleHRJbmRleCIsICJmdWxsVGV4dFNlYXJjaCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCi8vLyBjb21tZW50PVRoaXMgaXMgeW91ciBQcmlzbWEgc2NoZW1hIGZpbGUsCm1vZGVsIFVzZXIgewogIC8vLyBjb21tZW50PVRoaXMgaXMgeW91ciBpZCBmaWVsZCwKICBpZCAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgIEB1bmlxdWUKICBwYXNzd29yZCAgICAgICAgICAgIFN0cmluZz8KICByZWdpc3RlcmVkICAgICAgICAgIERhdGVUaW1lICAgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGxhc3RMb2dpbkRhdGUgICAgICAgRGF0ZVRpbWU/CiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvcmdvdFBhc3N3b3JkS2V5ICAgU3RyaW5nPyAgICAgICAgICAgICAgQHVuaXF1ZQogIGFmZmlsaWF0ZVNsdWcgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgcmVmZXJyZXJJZCAgICAgICAgICBJbnQ/CiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBsb2dzICAgICAgICAgICAgICAgIExvZ1tdCiAgcGF5bWVudFRyYW5zYWN0aW9ucyBQYXltZW50VHJhbnNhY3Rpb25bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIGJyYW5kUHJvZmlsZXMgICAgICAgQnJhbmRVc2VyUHJvZmlsZVtdCiAgY2FtcGFpZ25QaW5zICAgICAgICBDYW1wYWlnblBpbltdCiAgY3JlYXRvclByb2ZpbGUgICAgICBDcmVhdG9yUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICBpbnN0YWdyYW1Qcm9maWxlICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgbWVzc2FnZXMgICAgICAgICAgICBNZXNzYWdlW10KICBvcHRJbnMgICAgICAgICAgICAgIE9wdEluW10KICByYWt1dGVuQWN0aXZpdHkgICAgIFJha3V0ZW5BY3Rpdml0eVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICB0d2l0Y2hQcm9maWxlICAgICAgIFR3aXRjaFByb2ZpbGU/CiAgdHdpdHRlclByb2ZpbGUgICAgICBUd2l0dGVyUHJvZmlsZT8KICByZWZlcnJlciAgICAgICAgICAgIFVzZXI/ICAgICAgICAgICAgICAgIEByZWxhdGlvbigiUmVmZXJyYWxzIiwgZmllbGRzOiBbcmVmZXJyZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgcmVmZXJyZWRVc2VycyAgICAgICBVc2VyW10gICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIpCiAgeW91dHViZVByb2ZpbGUgICAgICBZb3V0dWJlUHJvZmlsZT8KCiAgQEBtYXAoInVzZXIiKQp9Cgptb2RlbCBMb2cgewogIGlkICAgICBJbnQgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCBJbnQ/CiAgZGF0YSAgIEpzb24/CiAgdXNlciAgIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnkgICAgICAgICAgU3RyaW5nPwogIHJlZ2lvbiAgICAgICAgICAgU3RyaW5nPwogIGJpcnRoRGF0ZSAgICAgICAgRGF0ZVRpbWU/CiAgLy8vIGRlcHJlY2F0ZWQKICBpbnRlcmVzdHMgICAgICAgIEpzb24/CiAgZ2VuZGVyICAgICAgICAgICBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMSBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMiBTdHJpbmc/CiAgc2hpcHBpbmdDaXR5ICAgICBTdHJpbmc/CiAgc2hpcHBpbmdSZWdpb24gICBTdHJpbmc/CiAgc2hpcHBpbmdDb3VudHJ5ICBTdHJpbmc/CiAgc2hpcHBpbmdQb3N0Y29kZSBTdHJpbmc/CiAgcGh5bGxvVXNlcklkICAgICBTdHJpbmc/CiAgcHJvZmlsZVNsdWcgICAgICBTdHJpbmc/ICAgICAgICAgICAgIEB1bmlxdWUKICBwcm9maWxlU2V0dGluZ3MgIEpzb24/CiAgd2FsbGV0QWRkcmVzcyAgICBTdHJpbmc/ICAgICAgICAgICAgIEB1bmlxdWUKICB1c2VySWQgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgQHVuaXF1ZQogIG5pY2hlcyAgICAgICAgICAgQ3JlYXRvclRvQ2F0ZWdvcnlbXQogIHVzZXIgICAgICAgICAgICAgVXNlciAgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3BoeWxsb1VzZXJJZF0pCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgaW5zdGFncmFtSWQgICAgICAgU3RyaW5nPwogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCAgICAgSW50PwogIGVuZ2FnZW1lbnQgICAgICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgICAgIERhdGVUaW1lPwogIGZ1bGxOYW1lICAgICAgICAgIFN0cmluZz8KICBpc0J1c2luZXNzICAgICAgICBCb29sZWFuPwogIGlzUHJpdmF0ZSAgICAgICAgIEJvb2xlYW4/CiAgaXNWZXJpZmllZCAgICAgICAgQm9vbGVhbj8KICBtZWRpYUNvdW50ICAgICAgICBJbnQ/CiAgZm9sbG93aW5nQ291bnQgICAgSW50PwogIHRvdGFsQ29tbWVudHMgICAgIEludD8KICB0b3RhbExpa2VzICAgICAgICBJbnQ/CiAgYXZnQ29tbWVudHMgICAgICAgRmxvYXQ/CiAgYXZnTGlrZXMgICAgICAgICAgRmxvYXQ/CiAgYmlvICAgICAgICAgICAgICAgU3RyaW5nPwogIGV4dGVybmFsVXJsICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGhhc0hpZ2hsaWdodFJlZWxzIEJvb2xlYW4/CiAgY2F0ZWdvcnkgICAgICAgICAgU3RyaW5nPwogIGhhc0NsaXBzICAgICAgICAgIEJvb2xlYW4/CiAgaGFzR3VpZGVzICAgICAgICAgQm9vbGVhbj8KICBoYXNDaGFubmVsICAgICAgICBCb29sZWFuPwogIHRvdGFsSWd0dlZpZGVvcyAgIEludD8KICAvLy8gREVQUkVDQVRFRAogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGxhc3RTdG9yaWVzVXBkYXRlIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICAgICAgSnNvbj8KICBhdWRpZW5jZURhdGEgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIGJyYW5kICAgICAgICAgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3VzZXJuYW1lXSkKICBAQGluZGV4KFtpbnN0YWdyYW1JZF0pCiAgQEBtYXAoImluc3RhZ3JhbXByb2ZpbGUiKQp9Cgptb2RlbCBUaWt0b2tQcm9maWxlIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aWt0b2tJZCAgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICAgU3RyaW5nPwogIHVybCAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgIEludD8KICBlbmdhZ2VtZW50ICAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgICBEYXRlVGltZT8KICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwogIGV4dHJhRGF0YSAgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICAgSnNvbj8KICBhdWRpZW5jZURhdGEgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIGJyYW5kICAgICAgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3VzZXJuYW1lXSkKICBAQG1hcCgidGlrdG9rcHJvZmlsZSIpCn0KCm1vZGVsIFlvdXR1YmVQcm9maWxlIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCAgSW50PwogIGVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgIERhdGVUaW1lPwogIGZvbGxvd2luZ0NvdW50IEludD8KICBmdWxsTmFtZSAgICAgICBTdHJpbmc/CiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPwogIGNvdW50cnkgICAgICAgIFN0cmluZz8KICB0b3RhbFZpZXdzICAgICBJbnQ/CiAgdG90YWxWaWRlb3MgICAgSW50PwogIGV4dHJhRGF0YSAgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICAgSnNvbj8KICBhdWRpZW5jZURhdGEgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIGJyYW5kICAgICAgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3VzZXJuYW1lXSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR3aXRjaElkICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgIEpzb24/CiAgdmlzaWJpbGl0eSAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIHVzZXIgICAgICAgICAgVXNlcj8gICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoInR3aXRjaHByb2ZpbGUiKQp9Cgptb2RlbCBGYWNlYm9va1Byb2ZpbGUgewogIGlkICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgZmFjZWJvb2tJZCAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgSnNvbj8KICB2aXNpYmlsaXR5ICAgIFN0cmluZz8gICBAZGVmYXVsdCgicHVibGljIikKICB1c2VySWQgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgdXNlciAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHdpdHRlcklkICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgSnNvbj8KICB2aXNpYmlsaXR5ICAgIFN0cmluZz8gICBAZGVmYXVsdCgicHVibGljIikKICB1c2VySWQgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgdXNlciAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICBJbnQKICBicmFuZElkIEludAogIGJyYW5kICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgIFVzZXIgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImJyYW5kdXNlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZCB7CiAgaWQgICAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbmFtZSAgICAgICAgICAgICAgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gICAgICAgICAgICAgU3RyaW5nPwogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgc3BlY2lhbGlzdElkICAgICAgICAgICAgSW50PwogIGFmZmlsaWF0ZUxpbmtzICAgICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgY2FtcGFpZ25JbnZpdGVzICAgICAgICAgQ2FtcGFpZ25JbnZpdGVbXQogIGVtYWlsVGVtcGxhdGVzICAgICAgICAgIEVtYWlsVGVtcGxhdGVbXQogIHBheW1lbnRUcmFuc2FjdGlvbnMgICAgIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgZGVkaWNhdGVkU3BlY2lhbGlzdCAgICAgVXNlcj8gICAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtzcGVjaWFsaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhdGVnb3JpZXMgICAgICAgICAgICAgIEJyYW5kVG9DYXRlZ29yeVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KICBicmFuZFVzZXJzICAgICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBjYW1wYWlnbnMgICAgICAgICAgICAgICBDYW1wYWlnbltdCiAgY3JlYXRvckxpc3RzICAgICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGluc3RhZ3JhbVByb2ZpbGUgICAgICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgbWVzc2FnZVRlbXBsYXRlICAgICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICByZXBvcnRDcmVkaXRzICAgICAgICAgICBSZXBvcnRDcmVkaXRzW10KICBzYXZlZGZpbGVzICAgICAgICAgICAgICBTYXZlZEZpbGVbXQogIHNlYXJjaENvbnRhY3RzICAgICAgICAgIFNlYXJjaENvbnRhY3RzW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyAgICBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICB0aWt0b2tQcm9maWxlICAgICAgICAgICBUaWt0b2tQcm9maWxlPwogIHlvdXR1YmVQcm9maWxlICAgICAgICAgIFlvdXR1YmVQcm9maWxlPwoKICBAQG1hcCgiYnJhbmQiKQp9Cgptb2RlbCBTZWFyY2hDb250YWN0cyB7CiAgaWQgICAgICAgICAgICBJbnQgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgICAgRmxvYXQKICBjaGFuZ2VRdHkgICAgIEZsb2F0CiAgY3VycmVudFF0eSAgICBGbG9hdAogIGNyZWF0ZWQgICAgICAgRGF0ZVRpbWU/ICAgICAgIEBkZWZhdWx0KG5vdygpKQogIHByZXZRdHlQb3N0SWQgSW50PyAgICAgICAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgIEludAogIGJyYW5kICAgICAgICAgQnJhbmQgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2UXR5UG9zdCAgIFNlYXJjaENvbnRhY3RzPyBAcmVsYXRpb24oInByZXZTZWFyY2hRdHlQb3N0SWQiLCBmaWVsZHM6IFtwcmV2UXR5UG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0UXR5UG9zdCAgIFNlYXJjaENvbnRhY3RzPyBAcmVsYXRpb24oInByZXZTZWFyY2hRdHlQb3N0SWQiKQoKICBAQG1hcCgic2VhcmNoY29udGFjdHMiKQp9Cgptb2RlbCBSZXBvcnRDcmVkaXRzIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgICAgIEZsb2F0CiAgY2hhbmdlUXR5ICAgICBGbG9hdAogIGN1cnJlbnRRdHkgICAgRmxvYXQKICBjcmVhdGVkICAgICAgIERhdGVUaW1lPyAgICAgIEBkZWZhdWx0KG5vdygpKQogIHByZXZRdHlQb3N0SWQgSW50PyAgICAgICAgICAgQHVuaXF1ZQogIGJyYW5kSWQgICAgICAgSW50CiAgYnJhbmQgICAgICAgICBCcmFuZCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgSW50ICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCBJbnQKICB0eXBlICAgIFN0cmluZwogIHNpemVzICAgQnJhbmRJbWFnZVtdCiAgYnJhbmQgICBCcmFuZCAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImJyYW5kdG9pbWFnZSIpCn0KCm1vZGVsIEJyYW5kVG9DYXRlZ29yeSB7CiAgYnJhbmRJZCAgICBJbnQKICBjYXRlZ29yeUlkIEludAogIGNhbXBhaWduICAgQnJhbmQgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgIENhdGVnb3J5IEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbYnJhbmRJZCwgY2F0ZWdvcnlJZF0pCiAgQEBtYXAoImJyYW5kdG9jYXRlZ29yeSIpCn0KCm1vZGVsIENyZWF0b3JUb0NhdGVnb3J5IHsKICBjcmVhdG9yUHJvZmlsZUlkIEludAogIGNhdGVnb3J5SWQgICAgICAgSW50CiAgY2F0ZWdvcnkgICAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvclByb2ZpbGUgICBDcmVhdG9yUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvclByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGlkKFtjcmVhdG9yUHJvZmlsZUlkLCBjYXRlZ29yeUlkXSkKfQoKbW9kZWwgQ2hhdCB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICAgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIGNvbnZlcnNhdGlvbklkIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgb3B0SW5JZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBvcHRJbiAgICAgICAgICBPcHRJbj8gICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1lc3NhZ2VzICAgICAgIE1lc3NhZ2VbXQoKICBAQG1hcCgiY2hhdCIpCn0KCm1vZGVsIE1lc3NhZ2UgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgc2VuZGVyICAgICBTdHJpbmcKICBjb250ZW50ICAgIFN0cmluZwogIHJlYWQgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIHR5cGUgICAgICAgU3RyaW5nICAgIEBkZWZhdWx0KCJ0ZXh0IikKICBtZXNzYWdlU2lkIFN0cmluZz8KICB1c2VySWQgICAgIEludD8KICBjaGF0SWQgICAgIEludAogIGNoYXQgICAgICAgQ2hhdCAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjaGF0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoIm1lc3NhZ2UiKQp9Cgptb2RlbCBDYW1wYWlnbiB7CiAgaWQgICAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgICBAdW5pcXVlCiAgLy8vIGRyYWZ0LCBwYXVzZWQsIHBlbmRpbmcsIHByaXZhdGUsIHB1Ymxpc2gsIHRyYXNoCiAgc3RhdHVzICAgICAgICAgICAgICAgIFN0cmluZyAgICAgICAgICAgICAgIEBkZWZhdWx0KCJkcmFmdCIpCiAgZGF0ZSAgICAgICAgICAgICAgICAgIERhdGVUaW1lICAgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPwogIHByb2R1Y3REZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgcHJpemVEZXNjcmlwdGlvbiAgICAgIFN0cmluZz8KICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQGRlZmF1bHQoInNob3V0b3V0IikKICBzb2NpYWxDaGFubmVsICAgICAgICAgU3RyaW5nPwogIHNvY2lhbENoYW5uZWxzICAgICAgICBKc29uPwogIGZhY2Vib29rUmVhY2ggICAgICAgICBJbnQ/CiAgZmFjZWJvb2tFbmdhZ2VtZW50ICAgIEZsb2F0PwogIGluc3RhZ3JhbVJlYWNoICAgICAgICBJbnQ/CiAgaW5zdGFncmFtRW5nYWdlbWVudCAgIEZsb2F0PwogIHlvdXR1YmVSZWFjaCAgICAgICAgICBJbnQ/CiAgeW91dHViZUVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHR3aXR0ZXJSZWFjaCAgICAgICAgICBJbnQ/CiAgdHdpdHRlckVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHRpa3Rva1JlYWNoICAgICAgICAgICBJbnQ/CiAgdGlrdG9rRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHR3aXRjaFJlYWNoICAgICAgICAgICBJbnQ/CiAgdHdpdGNoRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHF1YW50aXR5ICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAZGVmYXVsdCgwKQogIGhvbGRDb3N0ICAgICAgICAgICAgICBGbG9hdD8KICB2YWx1ZSAgICAgICAgICAgICAgICAgRmxvYXQ/CiAgcGFpZEFtb3VudCAgICAgICAgICAgIEZsb2F0PwogIG1pbkFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgbWF4QWdlICAgICAgICAgICAgICAgIEludD8KICB2aXN1YWxzICAgICAgICAgICAgICAgU3RyaW5nPwogIHBob3RvVGFncyAgICAgICAgICAgICBKc29uPwogIGhhc2h0YWdzICAgICAgICAgICAgICBKc29uPwogIHN0b3J5SGFzaHRhZ3MgICAgICAgICBKc29uPwogIHN0b3J5TWVudGlvbnMgICAgICAgICBKc29uPwogIGNhcHRpb24gICAgICAgICAgICAgICBTdHJpbmc/CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgLy8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8KICAvLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PwogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZElkICAgICAgICAgICAgICAgSW50CiAgY2FtcGFpZ25JbnZpdGVzICAgICAgIENhbXBhaWduSW52aXRlW10KICB2YXJpYWJsZXMgICAgICAgICAgICAgVmFyaWFibGVbXQogIGJyYW5kICAgICAgICAgICAgICAgICBCcmFuZCAgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduUGlucyAgICAgICAgICBDYW1wYWlnblBpbltdCiAgc3RlcHMgICAgICAgICAgICAgICAgIENhbXBhaWduU3RlcFtdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgIENhbXBhaWduVG9DYXRlZ29yeVtdCiAgY291bnRyaWVzICAgICAgICAgICAgIENhbXBhaWduVG9Db3VudHJ5W10KICBpbWFnZXMgICAgICAgICAgICAgICAgQ2FtcGFpZ25Ub0ltYWdlW10KICBjcmVhdG9yTGlzdHMgICAgICAgICAgQ3JlYXRvckxpc3RbXQogIG9wdElucyAgICAgICAgICAgICAgICBPcHRJbltdCiAgb3B0SW5WaWV3cyAgICAgICAgICAgIE9wdEluVmlld1tdCiAgc29jaWFsUG9zdHMgICAgICAgICAgIFNvY2lhbFBvc3RbXQoKICBAQG1hcCgiY2FtcGFpZ24iKQp9Cgptb2RlbCBDYW1wYWlnblBpbiB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1c2VySWQgICAgIEludAogIGNhbXBhaWduSWQgSW50CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgbm90aWZpZWQgICBEYXRlVGltZT8KICBjYW1wYWlnbiAgIENhbXBhaWduICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgVXNlciAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNhbXBhaWducGluIikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0ltYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwogIGNhbXBhaWduICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzaXplcyAgICAgIEltYWdlW10KCiAgQEBtYXAoImNhbXBhaWdudG9pbWFnZSIpCn0KCm1vZGVsIENhbXBhaWduVG9DYXRlZ29yeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjYXRlZ29yeUlkIEludAogIGNhbXBhaWduICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgIENhdGVnb3J5IEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY2FtcGFpZ25JZCwgY2F0ZWdvcnlJZF0pCiAgQEBtYXAoImNhbXBhaWdudG9jYXRlZ29yeSIpCn0KCm1vZGVsIENhbXBhaWduVG9Db3VudHJ5IHsKICBjYW1wYWlnbklkIEludAogIGNvdW50cnlJZCAgSW50CiAgY2FtcGFpZ24gICBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgICAgQ291bnRyeSAgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNvdW50cnlJZF0pCiAgQEBtYXAoImNhbXBhaWdudG9jb3VudHJ5IikKfQoKbW9kZWwgVmFyaWFibGUgewogIGlkICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgSnNvbiAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgIEludAogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQogIGNhbXBhaWduICAgICAgIENhbXBhaWduICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBvcHRpb25zICAgICAgICBWYXJpYWJsZU9wdGlvbltdCn0KCm1vZGVsIFZhcmlhYmxlT3B0aW9uIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgSnNvbiAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmFyaWFibGVJZCAgICAgSW50CiAgb3B0SW5WYXJpYWJsZXMgT3B0SW5WYXJpYWJsZVtdCiAgdmFyaWFibGUgICAgICAgVmFyaWFibGUgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFN0ZXAgewogIGlkICAgICAgICAgICAgSW50ICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzbHVnICAgICAgICAgIFN0cmluZyAgICAgICAgIEB1bmlxdWUKICB0aXRsZSAgICAgICAgIFN0cmluZz8KICBkZXNjcmlwdGlvbiAgIFN0cmluZz8KICBkYXRhICAgICAgICAgIEpzb24/CiAgY2FtcGFpZ25TdGVwcyBDYW1wYWlnblN0ZXBbXQoKICBAQG1hcCgic3RlcCIpCn0KCm1vZGVsIENhbXBhaWduU3RlcCB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgcGxhY2VtZW50ICAgICAgIEludAogIHN0ZXBTZXR0aW5ncyAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICBTdHJpbmc/CiAgaW5zdHJ1Y3Rpb25zICAgIFN0cmluZz8KICBjdXN0b21TdGVwVGl0bGUgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICBKc29uPwogIG1ldGFEYXRhICAgICAgICBKc29uICAgICAgICBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgICBJbnQKICBzdGVwSWQgICAgICAgICAgSW50PwogIGNhbXBhaWduICAgICAgICBDYW1wYWlnbiAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHN0ZXAgICAgICAgICAgICBTdGVwPyAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbc3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjdXJyZW50T3B0SW5zICAgT3B0SW5bXQogIG9wdEluU3RlcHMgICAgICBPcHRJblN0ZXBbXQoKICBAQG1hcCgiY2FtcGFpZ25zdGVwIikKfQoKbW9kZWwgT3B0SW5TdGVwIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgICAgICBEYXRlVGltZT8KICBkYXRhICAgICAgICAgICBKc29uPwogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIC8vLyB0ZW1wb3JhcnkgZm9yIG1vdmluZyBzaG91dG91dERhdGEgdG8gc29jaWFsUG9zdHMKICBzb2NpYWxQb3N0SWQgICBJbnQ/CiAgY2FtcGFpZ25TdGVwICAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIG9wdEluICAgICAgICAgIE9wdEluICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgICAgICBTdHJpbmcgICAgICAgICAgICAgICBAdW5pcXVlCiAgdGl0bGUgICAgIFN0cmluZwogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCiAgYnJhbmRzICAgIEJyYW5kVG9DYXRlZ29yeVtdCiAgY2FtcGFpZ25zIENhbXBhaWduVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICAgICAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICAgICAgICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgICAgICAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/CiAgcGF5bWVudEFtb3VudCAgIEZsb2F0PwogIHBheW1lbnRTdGF0dXMgICBTdHJpbmcgICAgICAgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGV4dHJhRGF0YSAgICAgICBKc29uICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICB1c2VySWQgICAgICAgICAgSW50CiAgY2FtcGFpZ25JZCAgICAgIEludAogIGN1cnJlbnRTdGVwSWQgICBJbnQ/CiAgY2FtcGFpZ25JbnZpdGVzIENhbXBhaWduSW52aXRlPwogIHZhcmlhYmxlcyAgICAgICBPcHRJblZhcmlhYmxlW10KICBjaGF0ICAgICAgICAgICAgQ2hhdD8KICBjYW1wYWlnbiAgICAgICAgQ2FtcGFpZ24gICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3VycmVudFN0ZXAgICAgIENhbXBhaWduU3RlcD8gICBAcmVsYXRpb24oZmllbGRzOiBbY3VycmVudFN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgdXNlciAgICAgICAgICAgIFVzZXIgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgb3B0SW5TdGVwcyAgICAgIE9wdEluU3RlcFtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKICBvcHRJbiAgICAgICAgICAgIE9wdEluICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc2VsZWN0ZWRPcHRpb24gICBWYXJpYWJsZU9wdGlvbiBAcmVsYXRpb24oZmllbGRzOiBbc2VsZWN0ZWRPcHRpb25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHZhcmlhYmxlICAgICAgICAgVmFyaWFibGUgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3ZhcmlhYmxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKfQoKbW9kZWwgU29jaWFsUG9zdCB7CiAgaWQgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICAvLy8gREVQUkVDQVRFRCwgVVNFIG1ldGFEYXRhIGluc3RlYWQsIHNlZW1zIHRvIGJlIGFuIGVycm9yIHdoZW4gYXR0ZW1wdGluZyB0byByZW1vdmUgdGhpcyBmaWVsZCwgcHJvYWJhYmx5IGR1ZSB0byB0YWJsZSBzaXplCiAgZGF0YSAgICAgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGxhc3RGZXRjaGVkICAgICAgICBEYXRlVGltZT8KICBsYXN0V2ViaG9vayAgICAgICAgRGF0ZVRpbWU/CiAgLy8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKICBpc1N0YWxlICAgICAgICAgICAgQm9vbGVhbj8KICAvLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uICAgICAgICBTdHJpbmc/CiAgdXJsICAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIC8vLyBUaGlzIGlzIGhlcmUgc28gd2UgaGF2ZSBzb21lIGV4dGVybmFsIGlkZW50aWZpZXIgdG8gcXVpY2tseSBzZWFyY2ggYnkKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgIEB1bmlxdWUKICBmb3JtYXQgICAgICAgICAgICAgU3RyaW5nPwogIHR5cGUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGxhdGZvcm0gICAgICAgICAgIFN0cmluZz8KICB2aXNpYmlsaXR5ICAgICAgICAgU3RyaW5nPwogIGlzU3BvbnNvcmVkICAgICAgICBCb29sZWFuPwogIGhhc0NvbGxhYm9yYXRvcnMgICBCb29sZWFuPwogIGlzT3duZWRCeVVzZXIgICAgICBCb29sZWFuPwogIC8vLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8vIEVOR0FHRU1FTlQgTUVUUklDUwogIGxpa2VzICAgICAgICAgICAgICBJbnQ/CiAgZGlzbGlrZXMgICAgICAgICAgIEludD8KICBjb21tZW50cyAgICAgICAgICAgSW50PwogIHNhdmVzICAgICAgICAgICAgICBJbnQ/CiAgc2hhcmVzICAgICAgICAgICAgIEludD8KICB1c2VySWQgICAgICAgICAgICAgSW50PwogIGNhbXBhaWduSWQgICAgICAgICBJbnQ/CiAgbGlzdHMgICAgICAgICAgICAgIExpc3RUb1NvY2lhbFBvc3RbXQogIGNhbXBhaWduICAgICAgICAgICBDYW1wYWlnbj8gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHVzZXIgICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUG9zdFRhZ3MgICAgIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KFtpc1N0YWxlXSkKICBAQG1hcCgic29jaWFscG9zdCIpCn0KCm1vZGVsIFNvY2lhbFBvc3RUYWcgewogIGlkICAgICAgICAgICBJbnQgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgIFN0cmluZwogIHR5cGUgICAgICAgICBTdHJpbmcKICBzb2NpYWxQb3N0SWQgSW50CiAgc29jaWFsUG9zdCAgIFNvY2lhbFBvc3QgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgoW3RpdGxlLCB0eXBlXSkKICBAQG1hcCgic29jaWFscG9zdHRhZyIpCn0KCm1vZGVsIEltYWdlIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgICAgIFN0cmluZyAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBjYW1wYWlnbkltYWdlSWQgSW50CiAgY2FtcGFpZ25JbWFnZSAgIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICBJbnQgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1cmwgICAgICAgICAgU3RyaW5nICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgc2l6ZSAgICAgICAgIFN0cmluZwogIGJyYW5kSW1hZ2VJZCBJbnQKICBicmFuZEltYWdlICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImJyYW5kaW1hZ2UiKQp9Cgptb2RlbCBDb3VudHJ5IHsKICBpZCAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeUNvZGUgU3RyaW5nICAgICAgICAgICAgICBAdW5pcXVlIEBkYi5WYXJDaGFyKDIpCiAgY291bnRyeU5hbWUgU3RyaW5nICAgICAgICAgICAgICBAZGIuVmFyQ2hhcig1MDApCiAgdGVsZUNvZGUgICAgU3RyaW5nICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigxMCkKICBjYW1wYWlnbnMgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgc3RhdGVzICAgICAgU3RhdGVbXQoKICBAQG1hcCgiY291bnRyeSIpCn0KCm1vZGVsIFN0YXRlIHsKICBpZCAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nICBAZGIuVmFyQ2hhcig1MCkKICBzdGF0ZU5hbWUgU3RyaW5nICBAZGIuVmFyQ2hhcig1MDApCiAgY291bnRyeSAgIENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGFtb3VudCAgICAgICAgICAgIEZsb2F0CiAgYmFsYW5jZSAgICAgICAgICAgRmxvYXQKICB0eXBlICAgICAgICAgICAgICBTdHJpbmcKICBkYXRlICAgICAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIG5vdGVzICAgICAgICAgICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYWNjb3VudElkICAgICAgICAgSW50CiAgYnJhbmRJZCAgICAgICAgICAgSW50PwogIGNyZWF0b3JJZCAgICAgICAgIEludD8KICBwcmV2VHJhbnNhY3Rpb25JZCBJbnQ/ICAgICAgICAgICAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9ySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZUcmFuc2FjdGlvbiAgIFBheW1lbnRUcmFuc2FjdGlvbj8gQHJlbGF0aW9uKCJUcmFuc2FjdGlvbkhpc3RvcnkiLCBmaWVsZHM6IFtwcmV2VHJhbnNhY3Rpb25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFRyYW5zYWN0aW9uICAgUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICAgICAgRGF0ZVRpbWUgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGRlc2NyaXB0aW9uICAgIFN0cmluZz8KICB1cmxQYXRoICAgICAgICBTdHJpbmcKICBjb21taXNzaW9uICAgICBGbG9hdCAgICAgICAgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQogIGJyYW5kICAgICAgICAgIEJyYW5kICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgICAgICAgIERhdGVUaW1lICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSAgICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICB1c2VySWQgICAgICAgICAgICAgICBJbnQKICBicmFuZEFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVDbGlja3MgICAgICBBZmZpbGlhdGVDbGlja1tdCiAgYnJhbmRBZmZpbGlhdGVMaW5rICAgQnJhbmRBZmZpbGlhdGVMaW5rIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEFmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlICAgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVDbGljayB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICAgRGF0ZVRpbWUgICAgICAgICBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgICBKc29uICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYWZmaWxpYXRlTGlua0lkIEludAogIGFmZmlsaWF0ZUxpbmsgICBBZmZpbGlhdGVMaW5rICAgIEByZWxhdGlvbihmaWVsZHM6IFthZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGFmZmlsaWF0ZUV2ZW50ICBBZmZpbGlhdGVFdmVudFtdCn0KCm1vZGVsIEFmZmlsaWF0ZUV2ZW50IHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIC8vLyBjbGljaywgcHVyY2hhc2UsIGV0Yy4KICBldmVudCAgICAgICAgICAgICBTdHJpbmcKICBjcmVhdGVkICAgICAgICAgICBEYXRlVGltZSAgICAgICBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgICAgU3RyaW5nPwogIHJldmVudWUgICAgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb25BbW91bnQgIEZsb2F0PwogIGNvbW1pc3Npb25QZXJjZW50IEZsb2F0PwogIG1ldGFEYXRhICAgICAgICAgIEpzb24gICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYWZmaWxpYXRlQ2xpY2tJZCAgSW50CiAgYWZmaWxpYXRlQ2xpY2sgICAgQWZmaWxpYXRlQ2xpY2sgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIC8vLyBhdWRpZW5jZS1yZXBvcnQsIHNlYXJjaC1leHBvcnQsIGNhbXBhaWduLWludml0ZQogIHR5cGUgICAgICBTdHJpbmc/CiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kSWQgICBJbnQ/CiAgYnJhbmQgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludD8KICBicmFuZElkICAgICAgICAgSW50CiAgY2FtcGFpZ25JZCAgICAgIEludD8KICBvcHRJbklkICAgICAgICAgSW50PyAgICAgICAgICAgQHVuaXF1ZQogIGNvZGUgICAgICAgICAgICBTdHJpbmc/ICAgICAgICBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgIERhdGVUaW1lICAgICAgIEBkZWZhdWx0KG5vdygpKQogIG1ldGFEYXRhICAgICAgICBKc29uPyAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgICAgICAgICBCcmFuZCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgICAgICBDYW1wYWlnbj8gICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgb3B0SW4gICAgICAgICAgIE9wdEluPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBzb2NpYWxQcm9maWxlICAgU29jaWFsUHJvZmlsZT8gQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICBJbnQKICBjYW1wYWlnbklkIEludD8KICBjcmVhdGVkICAgIERhdGVUaW1lICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGFyY2hpdmVkICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBtZXRhRGF0YSAgIEpzb24/ICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYnJhbmQgICAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgQ2FtcGFpZ24/ICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JzICAgQ3JlYXRvckxpc3RJdGVtW10KCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNvY2lhbFByb2ZpbGVJZCBJbnQKICBjcmVhdG9yTGlzdElkICAgSW50CiAgc2F2ZWQgICAgICAgICAgIERhdGVUaW1lICAgICAgQGRlZmF1bHQobm93KCkpCiAgaW52aXRlZCAgICAgICAgIERhdGVUaW1lPwogIHRhZ3MgICAgICAgICAgICBKc29uPwogIGZlZWRiYWNrICAgICAgICBTdHJpbmc/CiAgYXJjaGl2ZWQgICAgICAgIERhdGVUaW1lPwogIG1ldGFEYXRhICAgICAgICBKc29uPyAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRvckxpc3QgICAgIENyZWF0b3JMaXN0ICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlICAgU29jaWFsUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbc29jaWFsUHJvZmlsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJjcmVhdG9ybGlzdGl0ZW0iKQp9Cgptb2RlbCBTb2NpYWxQcm9maWxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgLy8vIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgY2FuIG5ldmVyIG92ZXJsYXAgYWNyb3NzIG11bHRpcGxlIHBsYXRmb3Jtcywgd2Ugc2hvdWxkIGFwcGVuZCB0aGUgcGxhdGZvcm0gdG8gdGhlIGJlZ2lubmluZyB0byBlbnN1cmUgaXTigJlzIGFsd2F5cyB1bmlxdWUKICBzb2NpYWxJZCAgICAgICAgIFN0cmluZz8gICAgICAgICAgIEB1bmlxdWUKICAvLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKICB1c2VySWQgICAgICAgICAgIEludD8KICAvLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVVybCAgICAgICBTdHJpbmc/CiAgLy8vIG5lZWQgdG8gc3BlY2lmeSBsZW5ndGgsIGRlZmF1bHQgc2l6ZSBpcyB0b28gc21hbGwKICBwcm9maWxlUGljVXJsICAgIFN0cmluZz8gICAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCAgICBJbnQ/CiAgZW5nYWdlbWVudCAgICAgICBGbG9hdD8KICBhdmdWaWV3cyAgICAgICAgIEludD8KICB2ZXJpZmllZCAgICAgICAgIEJvb2xlYW4/CiAgbWV0YURhdGEgICAgICAgICBKc29uICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGF1ZGllbmNlRGF0YSAgICAgSnNvbiAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBwaHlsbG9EYXRhICAgICAgIEpzb24gICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkICAgICAgICAgIERhdGVUaW1lPwogIGNhbXBhaWduSW52aXRlcyAgQ2FtcGFpZ25JbnZpdGVbXQogIGNyZWF0b3JMaXN0SXRlbXMgQ3JlYXRvckxpc3RJdGVtW10KICB1c2VyICAgICAgICAgICAgIFVzZXI/ICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBtYXAoInNvY2lhbHByb2ZpbGUiKQp9Cgptb2RlbCBNZXNzYWdlVGVtcGxhdGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsYWJlbCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgU3RyaW5nCiAgYnJhbmRJZCAgSW50PwogIC8vLyB0byBzYXZlIGFueSBhZGRpdGlvbmFsIGRhdGEgc3VjaCBhcyB1c2VyIGRlZmluZWQgdmFyaWFibGVzCiAgbWV0YURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICBzdWJqZWN0ICBTdHJpbmc/CiAgdGVtcGxhdGUgU3RyaW5nCiAgYnJhbmRJZCAgSW50PwogIC8vLyB0byBzYXZlIGFueSBhZGRpdGlvbmFsIGRhdGEgc3VjaCBhcyB1c2VyIGRlZmluZWQgdmFyaWFibGVzCiAgbWV0YURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTb2NpYWxMaXN0ZW5pbmdMaXN0IHsKICBpZCAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgICBJbnQKICAvLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNhbXBhaWduSWQgIEludD8gICAgICAgICAgICAgICBAdW5pcXVlCiAgY3JlYXRlZCAgICAgRGF0ZVRpbWUgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgIFN0cmluZwogIC8vLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgcG9zdFR5cGUgICAgU3RyaW5nCiAgLy8vIGZpbHRlcnMgdG8gc2VhcmNoIHBvc3RzIGJ5IChsb2NhdGlvbiwgZGF0ZSwgaGFzaHRhZ3MsIG1lbnRpb25zLCBldGMuKQogIGZpbHRlcnMgICAgIEpzb24/ICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIC8vLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCiAgbGFzdEZldGNoZWQgRGF0ZVRpbWU/CiAgcG9zdHMgICAgICAgTGlzdFRvU29jaWFsUG9zdFtdCiAgYnJhbmQgICAgICAgQnJhbmQgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJzb2NpYWxsaXN0ZW5pbmdsaXN0IikKfQoKbW9kZWwgTGlzdFRvU29jaWFsUG9zdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGlzdElkICAgICBJbnQKICBwb3N0SWQgICAgIEludAogIGxpc3QgICAgICAgU29jaWFsTGlzdGVuaW5nTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtwb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImxpc3R0b3NvY2lhbHBvc3QiKQp9Cgptb2RlbCBPcHRJblZpZXcgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICBTdHJpbmcKICBmaWx0ZXJzICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgSW50PwogIGNhbXBhaWduICAgQ2FtcGFpZ24/IEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoIm9wdGludmlldyIpCn0KCm1vZGVsIFJha3V0ZW5BY3Rpdml0eSB7CiAgaWQgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgb3JkZXJJZCAgICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBjcmVhdGVkICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY2xpY2tzICAgICAgIEludD8KICBvcmRlcnMgICAgICAgSW50PwogIHNhbGVzICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uICAgRmxvYXQ/CiAgYWR2ZXJ0aXNlcklkIEludD8KICB1c2VySWQgICAgICAgSW50CiAgdXNlciAgICAgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmFrdXRlbmFjdGl2aXR5IikKfQoKbW9kZWwgU2xvd1F1ZXJpZXMgewogIGlkICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbW9kZWwgICAgICAgU3RyaW5nICAgQGRiLlZhckNoYXIoMjU1KQogIG9wZXJhdGlvbiAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICB0aW1lICAgICAgICBJbnQKICBhcmdzICAgICAgICBKc29uCiAgY3JlYXRlZF9hdCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgQm9vbGVhbgogIGVudmlyb25tZW50IFN0cmluZz8gIEBkYi5WYXJDaGFyKDMyKQoKICBAQG1hcCgic2xvd19xdWVyaWVzIikKfQo=",
1181
- "inlineSchemaHash": "6029081b66b22b33e85dcf690605d363e0fa6ec290f2a8a41ee0e032e8d7205d",
1180
+ "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQp9CgpkYXRhc291cmNlIGRiIHsKICBwcm92aWRlciA9ICJwb3N0Z3Jlc3FsIgogIHVybCAgICAgID0gZW52KCJEQVRBQkFTRV9VUkwiKQp9CgovLy8gY29tbWVudD1UaGlzIGlzIHlvdXIgUHJpc21hIHNjaGVtYSBmaWxlLAptb2RlbCBVc2VyIHsKICAvLy8gY29tbWVudD1UaGlzIGlzIHlvdXIgaWQgZmllbGQsCiAgaWQgICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHJvbGUgICAgICAgICAgICAgICAgU3RyaW5nCiAgZW1haWwgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBsYXN0TG9naW5EYXRlICAgICAgIERhdGVUaW1lPwogIGZpcnN0TmFtZSAgICAgICAgICAgU3RyaW5nPwogIGxhc3ROYW1lICAgICAgICAgICAgU3RyaW5nPwogIHBob25lICAgICAgICAgICAgICAgU3RyaW5nPwogIHBob25lQ29kZSAgICAgICAgICAgSW50PwogIHBob25lU2hvcnQgICAgICAgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICAgICAgIEB1bmlxdWUKICBhZmZpbGlhdGVTbHVnICAgICAgIFN0cmluZz8gICAgICAgICAgICAgIEB1bmlxdWUKICBjbG9zZWQgICAgICAgICAgICAgIERhdGVUaW1lPwogIGNsb3NlZFJlYXNvbiAgICAgICAgU3RyaW5nPwogIHVzZXJjb21MYXN0U3luY2VkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIHJlZmVycmVySWQgICAgICAgICAgSW50PwogIGFmZmlsaWF0ZUxpbmtzICAgICAgQWZmaWxpYXRlTGlua1tdCiAgbG9ncyAgICAgICAgICAgICAgICBMb2dbXQogIHBheW1lbnRUcmFuc2FjdGlvbnMgUGF5bWVudFRyYW5zYWN0aW9uW10KICBhc3NpZ25lZEJyYW5kcyAgICAgIEJyYW5kW10KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIGNhbXBhaWduUGlucyAgICAgICAgQ2FtcGFpZ25QaW5bXQogIGNyZWF0b3JQcm9maWxlICAgICAgQ3JlYXRvclByb2ZpbGU/CiAgZmFjZWJvb2tQcm9maWxlICAgICBGYWNlYm9va1Byb2ZpbGU/CiAgaW5zdGFncmFtUHJvZmlsZSAgICBJbnN0YWdyYW1Qcm9maWxlPwogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgb3B0SW5zICAgICAgICAgICAgICBPcHRJbltdCiAgcmFrdXRlbkFjdGl2aXR5ICAgICBSYWt1dGVuQWN0aXZpdHlbXQogIHNvY2lhbFBvc3RzICAgICAgICAgU29jaWFsUG9zdFtdCiAgc29jaWFsUHJvZmlsZXMgICAgICBTb2NpYWxQcm9maWxlW10KICB0aWt0b2tQcm9maWxlICAgICAgIFRpa3Rva1Byb2ZpbGU/CiAgdHdpdGNoUHJvZmlsZSAgICAgICBUd2l0Y2hQcm9maWxlPwogIHR3aXR0ZXJQcm9maWxlICAgICAgVHdpdHRlclByb2ZpbGU/CiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIHlvdXR1YmVQcm9maWxlICAgICAgWW91dHViZVByb2ZpbGU/CgogIEBAbWFwKCJ1c2VyIikKfQoKbW9kZWwgTG9nIHsKICBpZCAgICAgSW50ICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1c2VySWQgSW50PwogIGRhdGEgICBKc29uPwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIENyZWF0b3JQcm9maWxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5ICAgICAgICAgIFN0cmluZz8KICByZWdpb24gICAgICAgICAgIFN0cmluZz8KICBiaXJ0aERhdGUgICAgICAgIERhdGVUaW1lPwogIC8vLyBkZXByZWNhdGVkCiAgaW50ZXJlc3RzICAgICAgICBKc29uPwogIGdlbmRlciAgICAgICAgICAgU3RyaW5nPwogIHNoaXBwaW5nQWRkcmVzczEgU3RyaW5nPwogIHNoaXBwaW5nQWRkcmVzczIgU3RyaW5nPwogIHNoaXBwaW5nQ2l0eSAgICAgU3RyaW5nPwogIHNoaXBwaW5nUmVnaW9uICAgU3RyaW5nPwogIHNoaXBwaW5nQ291bnRyeSAgU3RyaW5nPwogIHNoaXBwaW5nUG9zdGNvZGUgU3RyaW5nPwogIHBoeWxsb1VzZXJJZCAgICAgU3RyaW5nPwogIHByb2ZpbGVTbHVnICAgICAgU3RyaW5nPyAgICAgICAgICAgICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgICAgICAgICAgICBAdW5pcXVlCiAgdXNlcklkICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgIEB1bmlxdWUKICBuaWNoZXMgICAgICAgICAgIENyZWF0b3JUb0NhdGVnb3J5W10KICB1c2VyICAgICAgICAgICAgIFVzZXIgICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFtwaHlsbG9Vc2VySWRdKQogIEBAbWFwKCJjcmVhdG9ycHJvZmlsZSIpCn0KCm1vZGVsIEluc3RhZ3JhbVByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkICAgICAgIFN0cmluZz8KICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgICAgIEludD8KICBlbmdhZ2VtZW50ICAgICAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgICAgICBEYXRlVGltZT8KICBmdWxsTmFtZSAgICAgICAgICBTdHJpbmc/CiAgaXNCdXNpbmVzcyAgICAgICAgQm9vbGVhbj8KICBpc1ByaXZhdGUgICAgICAgICBCb29sZWFuPwogIGlzVmVyaWZpZWQgICAgICAgIEJvb2xlYW4/CiAgbWVkaWFDb3VudCAgICAgICAgSW50PwogIGZvbGxvd2luZ0NvdW50ICAgIEludD8KICB0b3RhbENvbW1lbnRzICAgICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgICAgSW50PwogIGF2Z0NvbW1lbnRzICAgICAgIEZsb2F0PwogIGF2Z0xpa2VzICAgICAgICAgIEZsb2F0PwogIGJpbyAgICAgICAgICAgICAgIFN0cmluZz8KICBleHRlcm5hbFVybCAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBoYXNIaWdobGlnaHRSZWVscyBCb29sZWFuPwogIGNhdGVnb3J5ICAgICAgICAgIFN0cmluZz8KICBoYXNDbGlwcyAgICAgICAgICBCb29sZWFuPwogIGhhc0d1aWRlcyAgICAgICAgIEJvb2xlYW4/CiAgaGFzQ2hhbm5lbCAgICAgICAgQm9vbGVhbj8KICB0b3RhbElndHZWaWRlb3MgICBJbnQ/CiAgLy8vIERFUFJFQ0FURUQKICBwcm9maWxlUGljVXJsSGQgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBsYXN0U3Rvcmllc1VwZGF0ZSBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgICAgIEpzb24/CiAgYXVkaWVuY2VEYXRhICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBpbmRleChbaW5zdGFncmFtSWRdKQogIEBAbWFwKCJpbnN0YWdyYW1wcm9maWxlIikKfQoKbW9kZWwgVGlrdG9rUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGlrdG9rSWQgICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50ICBJbnQ/CiAgZW5nYWdlbWVudCAgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgaGFuZGxlICAgICAgICAgU3RyaW5nPwogIG5pY2tuYW1lICAgICAgIFN0cmluZz8KICBmb2xsb3dpbmdDb3VudCBJbnQ/CiAgdG90YWxDb21tZW50cyAgSW50PwogIHRvdGFsTGlrZXMgICAgIEludD8KICBleHRyYURhdGEgICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgIEpzb24/CiAgYXVkaWVuY2VEYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBtYXAoInRpa3Rva3Byb2ZpbGUiKQp9Cgptb2RlbCBZb3V0dWJlUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgeW91dHViZUlkICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgIEludD8KICBlbmdhZ2VtZW50ICAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgICBEYXRlVGltZT8KICBmb2xsb3dpbmdDb3VudCBJbnQ/CiAgZnVsbE5hbWUgICAgICAgU3RyaW5nPwogIGlzVmVyaWZpZWQgICAgIEJvb2xlYW4/CiAgc3Vic2NyaWJlcnMgICAgSW50PwogIGRlc2NyaXB0aW9uICAgIFN0cmluZz8KICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KICBleHRyYURhdGEgICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgIEpzb24/CiAgYXVkaWVuY2VEYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBtYXAoInlvdXR1YmVwcm9maWxlIikKfQoKbW9kZWwgVHdpdGNoUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgLy8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICBKc29uPwogIHZpc2liaWxpdHkgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICB1c2VyICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgIEpzb24/CiAgdmlzaWJpbGl0eSAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIHVzZXIgICAgICAgICAgVXNlcj8gICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImZhY2Vib29rcHJvZmlsZSIpCn0KCm1vZGVsIFR3aXR0ZXJQcm9maWxlIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR3aXR0ZXJJZCAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgIEpzb24/CiAgdmlzaWJpbGl0eSAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIHVzZXIgICAgICAgICAgVXNlcj8gICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoInR3aXR0ZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmRVc2VyUHJvZmlsZSB7CiAgaWQgICAgICBJbnQgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgdXNlciAgICBVc2VyICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8KICB3ZWJzaXRlICAgICAgICAgICAgICAgICBTdHJpbmcKICBtb250aGx5Q29udGFjdHMgICAgICAgICBJbnQ/CiAgbW9udGhseVJlcG9ydHMgICAgICAgICAgSW50PwogIGxhc3RDb250YWN0RGlzdHJpYnV0aW9uIERhdGVUaW1lPwogIGxvZ29VcmwgICAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUJhc2VVcmwgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUNvbW1pc3Npb24gICAgIEZsb2F0PwogIGV4dHJhRGF0YSAgICAgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIHNwZWNpYWxpc3RJZCAgICAgICAgICAgIEludD8KICBhZmZpbGlhdGVMaW5rcyAgICAgICAgICBCcmFuZEFmZmlsaWF0ZUxpbmtbXQogIGNhbXBhaWduSW52aXRlcyAgICAgICAgIENhbXBhaWduSW52aXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICAgICBFbWFpbFRlbXBsYXRlW10KICBwYXltZW50VHJhbnNhY3Rpb25zICAgICBQYXltZW50VHJhbnNhY3Rpb25bXQogIGRlZGljYXRlZFNwZWNpYWxpc3QgICAgIFVzZXI/ICAgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbc3BlY2lhbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjYXRlZ29yaWVzICAgICAgICAgICAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGltYWdlcyAgICAgICAgICAgICAgICAgIEJyYW5kVG9JbWFnZVtdCiAgYnJhbmRVc2VycyAgICAgICAgICAgICAgQnJhbmRVc2VyUHJvZmlsZVtdCiAgY2FtcGFpZ25zICAgICAgICAgICAgICAgQ2FtcGFpZ25bXQogIGNyZWF0b3JMaXN0cyAgICAgICAgICAgIENyZWF0b3JMaXN0W10KICBpbnN0YWdyYW1Qcm9maWxlICAgICAgICBJbnN0YWdyYW1Qcm9maWxlPwogIG1lc3NhZ2VUZW1wbGF0ZSAgICAgICAgIE1lc3NhZ2VUZW1wbGF0ZVtdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgc2F2ZWRmaWxlcyAgICAgICAgICAgICAgU2F2ZWRGaWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgc29jaWFsTGlzdGVuaW5nTGlzdHMgICAgU29jaWFsTGlzdGVuaW5nTGlzdFtdCiAgdGlrdG9rUHJvZmlsZSAgICAgICAgICAgVGlrdG9rUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICAgICBZb3V0dWJlUHJvZmlsZT8KCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgICAgIEZsb2F0CiAgY2hhbmdlUXR5ICAgICBGbG9hdAogIGN1cnJlbnRRdHkgICAgRmxvYXQKICBjcmVhdGVkICAgICAgIERhdGVUaW1lPyAgICAgICBAZGVmYXVsdChub3coKSkKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICBJbnQKICBicmFuZCAgICAgICAgIEJyYW5kICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgcHJldlF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIikKCiAgQEBtYXAoInNlYXJjaGNvbnRhY3RzIikKfQoKbW9kZWwgUmVwb3J0Q3JlZGl0cyB7CiAgaWQgICAgICAgICAgICBJbnQgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR5cGUgICAgICAgICAgU3RyaW5nCiAgcHJldlF0eSAgICAgICBGbG9hdAogIGNoYW5nZVF0eSAgICAgRmxvYXQKICBjdXJyZW50UXR5ICAgIEZsb2F0CiAgY3JlYXRlZCAgICAgICBEYXRlVGltZT8gICAgICBAZGVmYXVsdChub3coKSkKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgIEludAogIGJyYW5kICAgICAgICAgQnJhbmQgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZRdHlQb3N0ICAgUmVwb3J0Q3JlZGl0cz8gQHJlbGF0aW9uKCJwcmV2UmVwb3J0c1F0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgUmVwb3J0Q3JlZGl0cz8gQHJlbGF0aW9uKCJwcmV2UmVwb3J0c1F0eVBvc3RJZCIpCgogIEBAbWFwKCJyZXBvcnRjcmVkaXRzIikKfQoKbW9kZWwgQnJhbmRUb0ltYWdlIHsKICBpZCAgICAgIEludCAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgSW50CiAgdHlwZSAgICBTdHJpbmcKICBzaXplcyAgIEJyYW5kSW1hZ2VbXQogIGJyYW5kICAgQnJhbmQgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHRvaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZFRvQ2F0ZWdvcnkgewogIGJyYW5kSWQgICAgSW50CiAgY2F0ZWdvcnlJZCBJbnQKICBjYW1wYWlnbiAgIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgICBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2JyYW5kSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJicmFuZHRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDcmVhdG9yVG9DYXRlZ29yeSB7CiAgY3JlYXRvclByb2ZpbGVJZCBJbnQKICBjYXRlZ29yeUlkICAgICAgIEludAogIGNhdGVnb3J5ICAgICAgICAgQ2F0ZWdvcnkgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JQcm9maWxlICAgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpZChbY3JlYXRvclByb2ZpbGVJZCwgY2F0ZWdvcnlJZF0pCn0KCm1vZGVsIENoYXQgewogIGlkICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKICBjb252ZXJzYXRpb25JZCBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIG9wdEluSWQgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgb3B0SW4gICAgICAgICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyAgICAgICBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CiAgdXNlcklkICAgICBJbnQ/CiAgY2hhdElkICAgICBJbnQKICBjaGF0ICAgICAgIENoYXQgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2hhdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgdXNlciAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJtZXNzYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ24gewogIGlkICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgICAgICAgICAgICBTdHJpbmcKICBzbHVnICAgICAgICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQHVuaXF1ZQogIC8vLyBkcmFmdCwgcGF1c2VkLCBwZW5kaW5nLCBwcml2YXRlLCBwdWJsaXNoLCB0cmFzaAogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgICAgICAgICAgICBAZGVmYXVsdCgiZHJhZnQiKQogIGRhdGUgICAgICAgICAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBwdWJsaXNoRGF0ZSAgICAgICAgICAgRGF0ZVRpbWU/CiAgZGVzY3JpcHRpb24gICAgICAgICAgIFN0cmluZz8KICBwcm9kdWN0RGVzY3JpcHRpb24gICAgU3RyaW5nPwogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/CiAgc3RyYXRlZ3kgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICAgQGRlZmF1bHQoMCkKICBob2xkQ29zdCAgICAgICAgICAgICAgRmxvYXQ/CiAgdmFsdWUgICAgICAgICAgICAgICAgIEZsb2F0PwogIHBhaWRBbW91bnQgICAgICAgICAgICBGbG9hdD8KICBtaW5BZ2UgICAgICAgICAgICAgICAgSW50PwogIG1heEFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgdmlzdWFscyAgICAgICAgICAgICAgIFN0cmluZz8KICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPwogIHBhc3N3b3JkICAgICAgICAgICAgICBTdHJpbmc/CiAgY29udGVudEZvcm1hdHMgICAgICAgIEpzb24/CiAgcGFpZENhbXBhaWduICAgICAgICAgIEJvb2xlYW4/CiAgbWluUGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIG1heFBhaWRBbW91bnQgICAgICAgICBGbG9hdD8KICBwYXltZW50VHlwZSAgICAgICAgICAgU3RyaW5nPwogIC8vLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIG1vbnRobHlBY3RpdmF0ZWRHb2FsICBJbnQ/CiAgLy8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgZXhwZWN0ZWRPcHRJbnMgICAgICAgIEludD8KICBnb2FsQWN0aXZhdGlvbnMgICAgICAgRmxvYXQ/CiAgZ29hbE9wdElucyAgICAgICAgICAgIEZsb2F0PwogIHJlcXVpcmVzU2hpcHBpbmcgICAgICBCb29sZWFuPwogIGRpc2FibGVRdWFsaWZpY2F0aW9ucyBCb29sZWFuPwogIGRpc2FibGVBY3RpdmF0aW9ucyAgICBCb29sZWFuPwogIGFmZmlsaWF0ZUxpbmtQYXRoICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYnJhbmRJZCAgICAgICAgICAgICAgIEludAogIGNhbXBhaWduSW52aXRlcyAgICAgICBDYW1wYWlnbkludml0ZVtdCiAgdmFyaWFibGVzICAgICAgICAgICAgIFZhcmlhYmxlW10KICBicmFuZCAgICAgICAgICAgICAgICAgQnJhbmQgICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblBpbnMgICAgICAgICAgQ2FtcGFpZ25QaW5bXQogIHN0ZXBzICAgICAgICAgICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICAgICAgICAgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGNvdW50cmllcyAgICAgICAgICAgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgIENyZWF0b3JMaXN0W10KICBvcHRJbnMgICAgICAgICAgICAgICAgT3B0SW5bXQogIG9wdEluVmlld3MgICAgICAgICAgICBPcHRJblZpZXdbXQogIHNvY2lhbFBvc3RzICAgICAgICAgICBTb2NpYWxQb3N0W10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CiAgY2FtcGFpZ24gICBDYW1wYWlnbiAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgIFVzZXIgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJjYW1wYWlnbnBpbiIpCn0KCm1vZGVsIENhbXBhaWduVG9JbWFnZSB7CiAgaWQgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNhbXBhaWduSWQgSW50CiAgdHlwZSAgICAgICBTdHJpbmcKICBjYW1wYWlnbiAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc2l6ZXMgICAgICBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKICBjYW1wYWlnbiAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgICBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAogIGNhbXBhaWduICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjb3VudHJ5ICAgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkICAgICBJbnQKICBvcHRJblZhcmlhYmxlcyBPcHRJblZhcmlhYmxlW10KICBjYW1wYWlnbiAgICAgICBDYW1wYWlnbiAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIHZhcmlhYmxlSWQgICAgIEludAogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQogIHZhcmlhYmxlICAgICAgIFZhcmlhYmxlICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgICBTdHJpbmcgICAgICAgICBAdW5pcXVlCiAgdGl0bGUgICAgICAgICBTdHJpbmc/CiAgZGVzY3JpcHRpb24gICBTdHJpbmc/CiAgZGF0YSAgICAgICAgICBKc29uPwogIGNhbXBhaWduU3RlcHMgQ2FtcGFpZ25TdGVwW10KCiAgQEBtYXAoInN0ZXAiKQp9Cgptb2RlbCBDYW1wYWlnblN0ZXAgewogIGlkICAgICAgICAgICAgICBJbnQgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBsYWNlbWVudCAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgSnNvbj8KICBhY3Rpb25lZSAgICAgICAgU3RyaW5nPwogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/CiAgY3VzdG9tU3RlcFRpdGxlIFN0cmluZz8KICBjdXN0b21Gb3JtICAgICAgSnNvbj8KICBtZXRhRGF0YSAgICAgICAgSnNvbiAgICAgICAgQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkICAgICAgSW50CiAgc3RlcElkICAgICAgICAgIEludD8KICBjYW1wYWlnbiAgICAgICAgQ2FtcGFpZ24gICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgICAgU3RlcD8gICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3N0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3VycmVudE9wdElucyAgIE9wdEluW10KICBvcHRJblN0ZXBzICAgICAgT3B0SW5TdGVwW10KCiAgQEBtYXAoImNhbXBhaWduc3RlcCIpCn0KCm1vZGVsIE9wdEluU3RlcCB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY29tcGxldGVkICAgICAgRGF0ZVRpbWU/CiAgZGF0YSAgICAgICAgICAgSnNvbj8KICBvcHRJbklkICAgICAgICBJbnQKICBjYW1wYWlnblN0ZXBJZCBJbnQKICAvLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCiAgc29jaWFsUG9zdElkICAgSW50PwogIGNhbXBhaWduU3RlcCAgIENhbXBhaWduU3RlcCBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25TdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBvcHRJbiAgICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoIm9wdGluc3RlcCIpCn0KCm1vZGVsIENhdGVnb3J5IHsKICBpZCAgICAgICAgSW50ICAgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzbHVnICAgICAgU3RyaW5nICAgICAgICAgICAgICAgQHVuaXF1ZQogIHRpdGxlICAgICBTdHJpbmcKICBjcmVhdG9ycyAgQ3JlYXRvclRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQoKICBAQG1hcCgiY2F0ZWdvcnkiKQp9Cgptb2RlbCBPcHRJbiB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHN0YXR1cyAgICAgICAgICBTdHJpbmcgICAgICAgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGNyZWF0ZWQgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgYWN0aXZhdGVkICAgICAgIERhdGVUaW1lPwogIGNvbXBsZXRlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWQgICAgICAgRGF0ZVRpbWU/CiAgY2FuY2VsbGVkRGF0YSAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGNhbmNlbFJlcXVlc3RlZCBEYXRlVGltZT8KICByZWludml0ZWQgICAgICAgRGF0ZVRpbWU/CiAgc2VlbiAgICAgICAgICAgIEJvb2xlYW4gICAgICAgICBAZGVmYXVsdChmYWxzZSkKICBpbnN0cnVjdGlvbnMgICAgU3RyaW5nPwogIHBheW1lbnRBbW91bnQgICBGbG9hdD8KICBwYXltZW50U3RhdHVzICAgU3RyaW5nICAgICAgICAgIEBkZWZhdWx0KCJwZW5kaW5nIikKICBleHRyYURhdGEgICAgICAgSnNvbiAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdXNlcklkICAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICBJbnQKICBjdXJyZW50U3RlcElkICAgSW50PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZT8KICB2YXJpYWJsZXMgICAgICAgT3B0SW5WYXJpYWJsZVtdCiAgY2hhdCAgICAgICAgICAgIENoYXQ/CiAgY2FtcGFpZ24gICAgICAgIENhbXBhaWduICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGN1cnJlbnRTdGVwICAgICBDYW1wYWlnblN0ZXA/ICAgQHJlbGF0aW9uKGZpZWxkczogW2N1cnJlbnRTdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHVzZXIgICAgICAgICAgICBVc2VyICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIG9wdEluU3RlcHMgICAgICBPcHRJblN0ZXBbXQoKICBAQG1hcCgib3B0aW4iKQp9Cgptb2RlbCBPcHRJblZhcmlhYmxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgb3B0SW5JZCAgICAgICAgICBJbnQKICB2YXJpYWJsZUlkICAgICAgIEludAogIHNlbGVjdGVkT3B0aW9uSWQgSW50CiAgb3B0SW4gICAgICAgICAgICBPcHRJbiAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uICAgVmFyaWFibGVPcHRpb24gQHJlbGF0aW9uKGZpZWxkczogW3NlbGVjdGVkT3B0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICAgIFZhcmlhYmxlICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBwaHlsbG9JZCAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgLy8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGRhdGEgICAgICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBsYXN0RmV0Y2hlZCAgICAgICAgRGF0ZVRpbWU/CiAgbGFzdFdlYmhvb2sgICAgICAgIERhdGVUaW1lPwogIC8vLyBUT0RPOiB0aGlzIGZpZWxkIGlzIGhlcmUgYmVjYXVzZSBwcmlzbWEgZG9lc24ndCBzdXBwb3J0IGNvbXBhcmluZyBvbmUgY29sdW1uIHRvIGFub3RoZXIsIGlkZWFsbHkgd2UgY291bGQganVzdCBjaGVjayBpZiBsYXN0RmV0Y2hlZCA+IGxhc3RXZWJob29rIGJ1dCBmb3Igbm93IHdlIG5lZWQgdG8gY29udHJvbC9jaGVjayB0aGlzIGZpZWxkCiAgaXNTdGFsZSAgICAgICAgICAgIEJvb2xlYW4/CiAgLy8vIEJBU0lDIElORk8KICBwb3N0ZWQgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICAgICAgICAgIFN0cmluZz8KICBkZXNjcmlwdGlvbiAgICAgICAgU3RyaW5nPwogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICAvLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgdXJsUGF0aCAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICBAdW5pcXVlCiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLy8gTUVUUklDUwogIHZpZXdzICAgICAgICAgICAgICBJbnQ/CiAgaW1wcmVzc2lvbnMgICAgICAgIEludD8KICBpbXByZXNzaW9uc09yZ2FuaWMgSW50PwogIGltcHJlc3Npb25zUGFpZCAgICBJbnQ/CiAgcmVhY2ggICAgICAgICAgICAgIEludD8KICByZWFjaE9yZ2FuaWMgICAgICAgSW50PwogIHJlYWNoUGFpZCAgICAgICAgICBJbnQ/CiAgd2F0Y2hIb3VycyAgICAgICAgIEZsb2F0PwogIC8vLyBFTkdBR0VNRU5UIE1FVFJJQ1MKICBsaWtlcyAgICAgICAgICAgICAgSW50PwogIGRpc2xpa2VzICAgICAgICAgICBJbnQ/CiAgY29tbWVudHMgICAgICAgICAgIEludD8KICBzYXZlcyAgICAgICAgICAgICAgSW50PwogIHNoYXJlcyAgICAgICAgICAgICBJbnQ/CiAgdXNlcklkICAgICAgICAgICAgIEludD8KICBjYW1wYWlnbklkICAgICAgICAgSW50PwogIGxpc3RzICAgICAgICAgICAgICBMaXN0VG9Tb2NpYWxQb3N0W10KICBjYW1wYWlnbiAgICAgICAgICAgQ2FtcGFpZ24/ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICB1c2VyICAgICAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFBvc3RUYWdzICAgICBTb2NpYWxQb3N0VGFnW10KCiAgQEBpbmRleChbaXNTdGFsZV0pCiAgQEBtYXAoInNvY2lhbHBvc3QiKQp9Cgptb2RlbCBTb2NpYWxQb3N0VGFnIHsKICBpZCAgICAgICAgICAgSW50ICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgICBTdHJpbmcKICB0eXBlICAgICAgICAgU3RyaW5nCiAgc29jaWFsUG9zdElkIEludAogIHNvY2lhbFBvc3QgICBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAogIGNhbXBhaWduSW1hZ2UgICBDYW1wYWlnblRvSW1hZ2UgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSW1hZ2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZEltYWdlIHsKICBpZCAgICAgICAgICAgSW50ICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgIFN0cmluZyAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICBTdHJpbmcKICBicmFuZEltYWdlSWQgSW50CiAgYnJhbmRJbWFnZSAgIEJyYW5kVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZGltYWdlIikKfQoKbW9kZWwgQ291bnRyeSB7CiAgaWQgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlDb2RlIFN0cmluZyAgICAgICAgICAgICAgQHVuaXF1ZSBAZGIuVmFyQ2hhcigyKQogIGNvdW50cnlOYW1lIFN0cmluZyAgICAgICAgICAgICAgQGRiLlZhckNoYXIoNTAwKQogIHRlbGVDb2RlICAgIFN0cmluZyAgICAgICAgICAgICAgQGRiLlZhckNoYXIoMTApCiAgY2FtcGFpZ25zICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5SWQgSW50CiAgc3RhdGVDb2RlIFN0cmluZyAgQGRiLlZhckNoYXIoNTApCiAgc3RhdGVOYW1lIFN0cmluZyAgQGRiLlZhckNoYXIoNTAwKQogIGNvdW50cnkgICBDb3VudHJ5IEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic3RhdGUiKQp9Cgptb2RlbCBQYXltZW50VHJhbnNhY3Rpb24gewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBhbW91bnQgICAgICAgICAgICBGbG9hdAogIGJhbGFuY2UgICAgICAgICAgIEZsb2F0CiAgdHlwZSAgICAgICAgICAgICAgU3RyaW5nCiAgZGF0ZSAgICAgICAgICAgICAgRGF0ZVRpbWUgICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgICAgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGFjY291bnRJZCAgICAgICAgIEludAogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyAgICAgICAgICAgICAgICBAdW5pcXVlCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQ/ICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvciAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gICBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IiwgZmllbGRzOiBbcHJldlRyYW5zYWN0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRUcmFuc2FjdGlvbiAgIFBheW1lbnRUcmFuc2FjdGlvbj8gQHJlbGF0aW9uKCJUcmFuc2FjdGlvbkhpc3RvcnkiKQp9Cgptb2RlbCBCcmFuZEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lICAgICAgICBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgICAgRmxvYXQgICAgICAgICAgIEBkZWZhdWx0KDAuMikKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZElkICAgICAgICBJbnQKICBhZmZpbGlhdGVMaW5rcyBBZmZpbGlhdGVMaW5rW10KICBicmFuZCAgICAgICAgICBCcmFuZCAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVMaW5rIHsKICBpZCAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgICAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQogIGJyYW5kQWZmaWxpYXRlTGluayAgIEJyYW5kQWZmaWxpYXRlTGluayBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRBZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGFmZmlsaWF0ZSAgICAgICAgICAgIFVzZXIgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgSnNvbiAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVMaW5rICAgQWZmaWxpYXRlTGluayAgICBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKICBhZmZpbGlhdGVFdmVudCAgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICAvLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgZXZlbnQgICAgICAgICAgICAgU3RyaW5nCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgICAgICAgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGFmZmlsaWF0ZUNsaWNrSWQgIEludAogIGFmZmlsaWF0ZUNsaWNrICAgIEFmZmlsaWF0ZUNsaWNrIEByZWxhdGlvbihmaWVsZHM6IFthZmZpbGlhdGVDbGlja0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgU2F2ZWRGaWxlIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgIFN0cmluZz8KICAvLy8gYXVkaWVuY2UtcmVwb3J0LCBzZWFyY2gtZXhwb3J0LCBjYW1wYWlnbi1pbnZpdGUKICB0eXBlICAgICAgU3RyaW5nPwogIHVybCAgICAgICBTdHJpbmc/CiAgc2F2ZWREYXRlIERhdGVUaW1lPwogIG1ldGFEYXRhICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZElkICAgSW50PwogIGJyYW5kICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic2F2ZWRmaWxlIikKfQoKbW9kZWwgQ2FtcGFpZ25JbnZpdGUgewogIGlkICAgICAgICAgICAgICBJbnQgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNvY2lhbFByb2ZpbGVJZCBJbnQ/CiAgYnJhbmRJZCAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgIEludD8gICAgICAgICAgIEB1bmlxdWUKICBjb2RlICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgQHVuaXF1ZQogIGNyZWF0ZWRBdCAgICAgICBEYXRlVGltZSAgICAgICBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSAgICAgICAgSnNvbj8gICAgICAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZCAgICAgICAgICAgQnJhbmQgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgQ2FtcGFpZ24/ICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICBPcHRJbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUHJvZmlsZSAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBDcmVhdG9yTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBhcmNoaXZlZCAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgU3RyaW5nCiAgbWV0YURhdGEgICBKc29uPyAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgICAgQnJhbmQgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgIENhbXBhaWduPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9ycyAgIENyZWF0b3JMaXN0SXRlbVtdCgogIEBAbWFwKCJjcmVhdG9ybGlzdCIpCn0KCm1vZGVsIENyZWF0b3JMaXN0SXRlbSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxQcm9maWxlSWQgSW50CiAgY3JlYXRvckxpc3RJZCAgIEludAogIHNhdmVkICAgICAgICAgICBEYXRlVGltZSAgICAgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgICAgICAgICBEYXRlVGltZT8KICB0YWdzICAgICAgICAgICAgSnNvbj8KICBmZWVkYmFjayAgICAgICAgU3RyaW5nPwogIGFyY2hpdmVkICAgICAgICBEYXRlVGltZT8KICBtZXRhRGF0YSAgICAgICAgSnNvbj8gICAgICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0b3JMaXN0ICAgICBDcmVhdG9yTGlzdCAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUHJvZmlsZSAgIFNvY2lhbFByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY3JlYXRvcmxpc3RpdGVtIikKfQoKbW9kZWwgU29jaWFsUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIC8vLyBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzIGNhbiBuZXZlciBvdmVybGFwIGFjcm9zcyBtdWx0aXBsZSBwbGF0Zm9ybXMsIHdlIHNob3VsZCBhcHBlbmQgdGhlIHBsYXRmb3JtIHRvIHRoZSBiZWdpbm5pbmcgdG8gZW5zdXJlIGl04oCZcyBhbHdheXMgdW5pcXVlCiAgc29jaWFsSWQgICAgICAgICBTdHJpbmc/ICAgICAgICAgICBAdW5pcXVlCiAgLy8vIHJlZ2lzdGVyZWQgdXNlciBpZCwgaWYgYXZhaWxhYmxlCiAgdXNlcklkICAgICAgICAgICBJbnQ/CiAgLy8vIHNvY2lhbCBkYXRhCiAgcGxhdGZvcm0gICAgICAgICBTdHJpbmcKICB1c2VybmFtZSAgICAgICAgIFN0cmluZwogIGZ1bGxuYW1lICAgICAgICAgU3RyaW5nPwogIHByb2ZpbGVVcmwgICAgICAgU3RyaW5nPwogIC8vLyBuZWVkIHRvIHNwZWNpZnkgbGVuZ3RoLCBkZWZhdWx0IHNpemUgaXMgdG9vIHNtYWxsCiAgcHJvZmlsZVBpY1VybCAgICBTdHJpbmc/ICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgICAgSW50PwogIGVuZ2FnZW1lbnQgICAgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgICAgSnNvbiAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgICAgIEpzb24gICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICAgICBKc29uICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICAgICAgRGF0ZVRpbWUgICAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCAgICAgICAgICBEYXRlVGltZT8KICBjYW1wYWlnbkludml0ZXMgIENhbXBhaWduSW52aXRlW10KICBjcmVhdG9yTGlzdEl0ZW1zIENyZWF0b3JMaXN0SXRlbVtdCiAgdXNlciAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleChbdXNlcm5hbWVdKQogIEBAbWFwKCJzb2NpYWxwcm9maWxlIikKfQoKbW9kZWwgTWVzc2FnZVRlbXBsYXRlIHsKICBpZCAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgU3RyaW5nPwogIHRlbXBsYXRlIFN0cmluZwogIGJyYW5kSWQgIEludD8KICAvLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICBicmFuZCAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoIm1lc3NhZ2V0ZW1wbGF0ZSIpCn0KCm1vZGVsIEVtYWlsVGVtcGxhdGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsYWJlbCAgICBTdHJpbmc/CiAgc3ViamVjdCAgU3RyaW5nPwogIHRlbXBsYXRlIFN0cmluZwogIGJyYW5kSWQgIEludD8KICAvLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICBicmFuZCAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICAgSW50ICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICAgSW50CiAgLy8vIG9wdGlvbmFsbHkgbGlua2VkIHRvIGEgY2FtcGFpZ24KICBjYW1wYWlnbklkICBJbnQ/ICAgICAgICAgICAgICAgQHVuaXF1ZQogIGNyZWF0ZWQgICAgIERhdGVUaW1lICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICBTdHJpbmcKICAvLy8gc3BvbnNvcmVkIHBvc3RzLCB0b3AgcG9zdHMsIG9yIHJlY2VudCBwb3N0cwogIHBvc3RUeXBlICAgIFN0cmluZwogIC8vLyBmaWx0ZXJzIHRvIHNlYXJjaCBwb3N0cyBieSAobG9jYXRpb24sIGRhdGUsIGhhc2h0YWdzLCBtZW50aW9ucywgZXRjLikKICBmaWx0ZXJzICAgICBKc29uPyAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICAvLy8gbGFzdCB0aW1lIHBvc3RzIHdlcmUgZmV0Y2hlZAogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIHBvc3RzICAgICAgIExpc3RUb1NvY2lhbFBvc3RbXQogIGJyYW5kICAgICAgIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxpc3RJZCAgICAgSW50CiAgcG9zdElkICAgICBJbnQKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgU3RyaW5nCiAgZmlsdGVycyAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkIEludD8KICBjYW1wYWlnbiAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJvcHRpbnZpZXciKQp9Cgptb2RlbCBSYWt1dGVuQWN0aXZpdHkgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG9yZGVySWQgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNsaWNrcyAgICAgICBJbnQ/CiAgb3JkZXJzICAgICAgIEludD8KICBzYWxlcyAgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIGFkdmVydGlzZXJJZCBJbnQ/CiAgdXNlcklkICAgICAgIEludAogIHVzZXIgICAgICAgICBVc2VyICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KCm1vZGVsIFNsb3dRdWVyaWVzIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG1vZGVsICAgICAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICBvcGVyYXRpb24gICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgdGltZSAgICAgICAgSW50CiAgYXJncyAgICAgICAgSnNvbgogIGNyZWF0ZWRfYXQgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNvbXBsZXRlZCAgIEJvb2xlYW4KICBlbnZpcm9ubWVudCBTdHJpbmc/ICBAZGIuVmFyQ2hhcigzMikKCiAgQEBtYXAoInNsb3dfcXVlcmllcyIpCn0K",
1181
+ "inlineSchemaHash": "87dbf25c591fd56c6e0e48544371ec1fe17124af3913e2d55172afd76487318f",
1182
1182
  "noEngine": false
1183
1183
  }
1184
1184
  config.dirname = '/'
package/index.js CHANGED
@@ -1139,7 +1139,7 @@ const config = {
1139
1139
  "value": "prisma-client-js"
1140
1140
  },
1141
1141
  "output": {
1142
- "value": "/home/runner/github-runner-VC2Fh97UcBDcB/creator-database/creator-database/client/creatorco/client",
1142
+ "value": "/home/runner/github-runner-5Ad8YSShc8Mlr/creator-database/creator-database/client/creatorco/client",
1143
1143
  "fromEnvVar": null
1144
1144
  },
1145
1145
  "config": {
@@ -1148,7 +1148,7 @@ const config = {
1148
1148
  "binaryTargets": [
1149
1149
  {
1150
1150
  "fromEnvVar": null,
1151
- "value": "debian-openssl-3.0.x",
1151
+ "value": "linux-arm64-openssl-3.0.x",
1152
1152
  "native": true
1153
1153
  }
1154
1154
  ],
@@ -1178,8 +1178,8 @@ const config = {
1178
1178
  }
1179
1179
  }
1180
1180
  },
1181
- "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCAgICAgICAgICAgICAgICAgICAgPSAiLi4vLi4vZG9jcy9jcmVhdG9yY29fZXJkLnN2ZyIKfQoKZ2VuZXJhdG9yIGt5c2VseSB7CiAgcHJvdmlkZXIgICAgICAgICA9ICJwcmlzbWEta3lzZWx5IgogIG91dHB1dCAgICAgICAgICAgPSAiLi4vLi4vY2xpZW50L2NyZWF0b3Jjby9reXNlbHkiCiAgZmlsZU5hbWUgICAgICAgICA9ICJ0eXBlcy50cyIKICBlbnVtRmlsZU5hbWUgICAgID0gImVudW1zLnRzIgogIHJlYWRPbmx5SWRzICAgICAgPSB0cnVlCiAganNvblR5cGVPdmVycmlkZSA9IEpzb24KfQoKZ2VuZXJhdG9yIGNsaWVudCB7CiAgcHJvdmlkZXIgICAgICAgID0gInByaXNtYS1jbGllbnQtanMiCiAgb3V0cHV0ICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28vY2xpZW50IgogIHByZXZpZXdGZWF0dXJlcyA9IFsiZnVsbFRleHRJbmRleCIsICJmdWxsVGV4dFNlYXJjaCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCi8vLyBjb21tZW50PVRoaXMgaXMgeW91ciBQcmlzbWEgc2NoZW1hIGZpbGUsCm1vZGVsIFVzZXIgewogIC8vLyBjb21tZW50PVRoaXMgaXMgeW91ciBpZCBmaWVsZCwKICBpZCAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgIEB1bmlxdWUKICBwYXNzd29yZCAgICAgICAgICAgIFN0cmluZz8KICByZWdpc3RlcmVkICAgICAgICAgIERhdGVUaW1lICAgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGxhc3RMb2dpbkRhdGUgICAgICAgRGF0ZVRpbWU/CiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvcmdvdFBhc3N3b3JkS2V5ICAgU3RyaW5nPyAgICAgICAgICAgICAgQHVuaXF1ZQogIGFmZmlsaWF0ZVNsdWcgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgcmVmZXJyZXJJZCAgICAgICAgICBJbnQ/CiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBsb2dzICAgICAgICAgICAgICAgIExvZ1tdCiAgcGF5bWVudFRyYW5zYWN0aW9ucyBQYXltZW50VHJhbnNhY3Rpb25bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIGJyYW5kUHJvZmlsZXMgICAgICAgQnJhbmRVc2VyUHJvZmlsZVtdCiAgY2FtcGFpZ25QaW5zICAgICAgICBDYW1wYWlnblBpbltdCiAgY3JlYXRvclByb2ZpbGUgICAgICBDcmVhdG9yUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICBpbnN0YWdyYW1Qcm9maWxlICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgbWVzc2FnZXMgICAgICAgICAgICBNZXNzYWdlW10KICBvcHRJbnMgICAgICAgICAgICAgIE9wdEluW10KICByYWt1dGVuQWN0aXZpdHkgICAgIFJha3V0ZW5BY3Rpdml0eVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICB0d2l0Y2hQcm9maWxlICAgICAgIFR3aXRjaFByb2ZpbGU/CiAgdHdpdHRlclByb2ZpbGUgICAgICBUd2l0dGVyUHJvZmlsZT8KICByZWZlcnJlciAgICAgICAgICAgIFVzZXI/ICAgICAgICAgICAgICAgIEByZWxhdGlvbigiUmVmZXJyYWxzIiwgZmllbGRzOiBbcmVmZXJyZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgcmVmZXJyZWRVc2VycyAgICAgICBVc2VyW10gICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIpCiAgeW91dHViZVByb2ZpbGUgICAgICBZb3V0dWJlUHJvZmlsZT8KCiAgQEBtYXAoInVzZXIiKQp9Cgptb2RlbCBMb2cgewogIGlkICAgICBJbnQgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCBJbnQ/CiAgZGF0YSAgIEpzb24/CiAgdXNlciAgIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnkgICAgICAgICAgU3RyaW5nPwogIHJlZ2lvbiAgICAgICAgICAgU3RyaW5nPwogIGJpcnRoRGF0ZSAgICAgICAgRGF0ZVRpbWU/CiAgLy8vIGRlcHJlY2F0ZWQKICBpbnRlcmVzdHMgICAgICAgIEpzb24/CiAgZ2VuZGVyICAgICAgICAgICBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMSBTdHJpbmc/CiAgc2hpcHBpbmdBZGRyZXNzMiBTdHJpbmc/CiAgc2hpcHBpbmdDaXR5ICAgICBTdHJpbmc/CiAgc2hpcHBpbmdSZWdpb24gICBTdHJpbmc/CiAgc2hpcHBpbmdDb3VudHJ5ICBTdHJpbmc/CiAgc2hpcHBpbmdQb3N0Y29kZSBTdHJpbmc/CiAgcGh5bGxvVXNlcklkICAgICBTdHJpbmc/CiAgcHJvZmlsZVNsdWcgICAgICBTdHJpbmc/ICAgICAgICAgICAgIEB1bmlxdWUKICBwcm9maWxlU2V0dGluZ3MgIEpzb24/CiAgd2FsbGV0QWRkcmVzcyAgICBTdHJpbmc/ICAgICAgICAgICAgIEB1bmlxdWUKICB1c2VySWQgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgQHVuaXF1ZQogIG5pY2hlcyAgICAgICAgICAgQ3JlYXRvclRvQ2F0ZWdvcnlbXQogIHVzZXIgICAgICAgICAgICAgVXNlciAgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3BoeWxsb1VzZXJJZF0pCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgaW5zdGFncmFtSWQgICAgICAgU3RyaW5nPwogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCAgICAgSW50PwogIGVuZ2FnZW1lbnQgICAgICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgICAgIERhdGVUaW1lPwogIGZ1bGxOYW1lICAgICAgICAgIFN0cmluZz8KICBpc0J1c2luZXNzICAgICAgICBCb29sZWFuPwogIGlzUHJpdmF0ZSAgICAgICAgIEJvb2xlYW4/CiAgaXNWZXJpZmllZCAgICAgICAgQm9vbGVhbj8KICBtZWRpYUNvdW50ICAgICAgICBJbnQ/CiAgZm9sbG93aW5nQ291bnQgICAgSW50PwogIHRvdGFsQ29tbWVudHMgICAgIEludD8KICB0b3RhbExpa2VzICAgICAgICBJbnQ/CiAgYXZnQ29tbWVudHMgICAgICAgRmxvYXQ/CiAgYXZnTGlrZXMgICAgICAgICAgRmxvYXQ/CiAgYmlvICAgICAgICAgICAgICAgU3RyaW5nPwogIGV4dGVybmFsVXJsICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGhhc0hpZ2hsaWdodFJlZWxzIEJvb2xlYW4/CiAgY2F0ZWdvcnkgICAgICAgICAgU3RyaW5nPwogIGhhc0NsaXBzICAgICAgICAgIEJvb2xlYW4/CiAgaGFzR3VpZGVzICAgICAgICAgQm9vbGVhbj8KICBoYXNDaGFubmVsICAgICAgICBCb29sZWFuPwogIHRvdGFsSWd0dlZpZGVvcyAgIEludD8KICAvLy8gREVQUkVDQVRFRAogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGxhc3RTdG9yaWVzVXBkYXRlIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICAgICAgSnNvbj8KICBhdWRpZW5jZURhdGEgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIGJyYW5kICAgICAgICAgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3VzZXJuYW1lXSkKICBAQGluZGV4KFtpbnN0YWdyYW1JZF0pCiAgQEBtYXAoImluc3RhZ3JhbXByb2ZpbGUiKQp9Cgptb2RlbCBUaWt0b2tQcm9maWxlIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aWt0b2tJZCAgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICAgU3RyaW5nPwogIHVybCAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgIEludD8KICBlbmdhZ2VtZW50ICAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgICBEYXRlVGltZT8KICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwogIGV4dHJhRGF0YSAgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICAgSnNvbj8KICBhdWRpZW5jZURhdGEgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIGJyYW5kICAgICAgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3VzZXJuYW1lXSkKICBAQG1hcCgidGlrdG9rcHJvZmlsZSIpCn0KCm1vZGVsIFlvdXR1YmVQcm9maWxlIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCAgSW50PwogIGVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgIERhdGVUaW1lPwogIGZvbGxvd2luZ0NvdW50IEludD8KICBmdWxsTmFtZSAgICAgICBTdHJpbmc/CiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPwogIGNvdW50cnkgICAgICAgIFN0cmluZz8KICB0b3RhbFZpZXdzICAgICBJbnQ/CiAgdG90YWxWaWRlb3MgICAgSW50PwogIGV4dHJhRGF0YSAgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICAgSnNvbj8KICBhdWRpZW5jZURhdGEgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIGJyYW5kICAgICAgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgoW3VzZXJuYW1lXSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR3aXRjaElkICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgIEpzb24/CiAgdmlzaWJpbGl0eSAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIHVzZXIgICAgICAgICAgVXNlcj8gICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoInR3aXRjaHByb2ZpbGUiKQp9Cgptb2RlbCBGYWNlYm9va1Byb2ZpbGUgewogIGlkICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgZmFjZWJvb2tJZCAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgSnNvbj8KICB2aXNpYmlsaXR5ICAgIFN0cmluZz8gICBAZGVmYXVsdCgicHVibGljIikKICB1c2VySWQgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgdXNlciAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHdpdHRlcklkICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIC8vLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgSnNvbj8KICB2aXNpYmlsaXR5ICAgIFN0cmluZz8gICBAZGVmYXVsdCgicHVibGljIikKICB1c2VySWQgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgdXNlciAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICBJbnQKICBicmFuZElkIEludAogIGJyYW5kICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgIFVzZXIgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImJyYW5kdXNlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZCB7CiAgaWQgICAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbmFtZSAgICAgICAgICAgICAgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gICAgICAgICAgICAgU3RyaW5nPwogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgc3BlY2lhbGlzdElkICAgICAgICAgICAgSW50PwogIGFmZmlsaWF0ZUxpbmtzICAgICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgY2FtcGFpZ25JbnZpdGVzICAgICAgICAgQ2FtcGFpZ25JbnZpdGVbXQogIGVtYWlsVGVtcGxhdGVzICAgICAgICAgIEVtYWlsVGVtcGxhdGVbXQogIHBheW1lbnRUcmFuc2FjdGlvbnMgICAgIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgZGVkaWNhdGVkU3BlY2lhbGlzdCAgICAgVXNlcj8gICAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtzcGVjaWFsaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhdGVnb3JpZXMgICAgICAgICAgICAgIEJyYW5kVG9DYXRlZ29yeVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KICBicmFuZFVzZXJzICAgICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBjYW1wYWlnbnMgICAgICAgICAgICAgICBDYW1wYWlnbltdCiAgY3JlYXRvckxpc3RzICAgICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGluc3RhZ3JhbVByb2ZpbGUgICAgICAgIEluc3RhZ3JhbVByb2ZpbGU/CiAgbWVzc2FnZVRlbXBsYXRlICAgICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICByZXBvcnRDcmVkaXRzICAgICAgICAgICBSZXBvcnRDcmVkaXRzW10KICBzYXZlZGZpbGVzICAgICAgICAgICAgICBTYXZlZEZpbGVbXQogIHNlYXJjaENvbnRhY3RzICAgICAgICAgIFNlYXJjaENvbnRhY3RzW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyAgICBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICB0aWt0b2tQcm9maWxlICAgICAgICAgICBUaWt0b2tQcm9maWxlPwogIHlvdXR1YmVQcm9maWxlICAgICAgICAgIFlvdXR1YmVQcm9maWxlPwoKICBAQG1hcCgiYnJhbmQiKQp9Cgptb2RlbCBTZWFyY2hDb250YWN0cyB7CiAgaWQgICAgICAgICAgICBJbnQgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0eXBlICAgICAgICAgIFN0cmluZwogIHByZXZRdHkgICAgICAgRmxvYXQKICBjaGFuZ2VRdHkgICAgIEZsb2F0CiAgY3VycmVudFF0eSAgICBGbG9hdAogIGNyZWF0ZWQgICAgICAgRGF0ZVRpbWU/ICAgICAgIEBkZWZhdWx0KG5vdygpKQogIHByZXZRdHlQb3N0SWQgSW50PyAgICAgICAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgIEludAogIGJyYW5kICAgICAgICAgQnJhbmQgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2UXR5UG9zdCAgIFNlYXJjaENvbnRhY3RzPyBAcmVsYXRpb24oInByZXZTZWFyY2hRdHlQb3N0SWQiLCBmaWVsZHM6IFtwcmV2UXR5UG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0UXR5UG9zdCAgIFNlYXJjaENvbnRhY3RzPyBAcmVsYXRpb24oInByZXZTZWFyY2hRdHlQb3N0SWQiKQoKICBAQG1hcCgic2VhcmNoY29udGFjdHMiKQp9Cgptb2RlbCBSZXBvcnRDcmVkaXRzIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgICAgIEZsb2F0CiAgY2hhbmdlUXR5ICAgICBGbG9hdAogIGN1cnJlbnRRdHkgICAgRmxvYXQKICBjcmVhdGVkICAgICAgIERhdGVUaW1lPyAgICAgIEBkZWZhdWx0KG5vdygpKQogIHByZXZRdHlQb3N0SWQgSW50PyAgICAgICAgICAgQHVuaXF1ZQogIGJyYW5kSWQgICAgICAgSW50CiAgYnJhbmQgICAgICAgICBCcmFuZCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgSW50ICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCBJbnQKICB0eXBlICAgIFN0cmluZwogIHNpemVzICAgQnJhbmRJbWFnZVtdCiAgYnJhbmQgICBCcmFuZCAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImJyYW5kdG9pbWFnZSIpCn0KCm1vZGVsIEJyYW5kVG9DYXRlZ29yeSB7CiAgYnJhbmRJZCAgICBJbnQKICBjYXRlZ29yeUlkIEludAogIGNhbXBhaWduICAgQnJhbmQgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgIENhdGVnb3J5IEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbYnJhbmRJZCwgY2F0ZWdvcnlJZF0pCiAgQEBtYXAoImJyYW5kdG9jYXRlZ29yeSIpCn0KCm1vZGVsIENyZWF0b3JUb0NhdGVnb3J5IHsKICBjcmVhdG9yUHJvZmlsZUlkIEludAogIGNhdGVnb3J5SWQgICAgICAgSW50CiAgY2F0ZWdvcnkgICAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvclByb2ZpbGUgICBDcmVhdG9yUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvclByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGlkKFtjcmVhdG9yUHJvZmlsZUlkLCBjYXRlZ29yeUlkXSkKfQoKbW9kZWwgQ2hhdCB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICAgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIGNvbnZlcnNhdGlvbklkIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgb3B0SW5JZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBvcHRJbiAgICAgICAgICBPcHRJbj8gICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1lc3NhZ2VzICAgICAgIE1lc3NhZ2VbXQoKICBAQG1hcCgiY2hhdCIpCn0KCm1vZGVsIE1lc3NhZ2UgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgc2VuZGVyICAgICBTdHJpbmcKICBjb250ZW50ICAgIFN0cmluZwogIHJlYWQgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIHR5cGUgICAgICAgU3RyaW5nICAgIEBkZWZhdWx0KCJ0ZXh0IikKICBtZXNzYWdlU2lkIFN0cmluZz8KICB1c2VySWQgICAgIEludD8KICBjaGF0SWQgICAgIEludAogIGNoYXQgICAgICAgQ2hhdCAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjaGF0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoIm1lc3NhZ2UiKQp9Cgptb2RlbCBDYW1wYWlnbiB7CiAgaWQgICAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgICBAdW5pcXVlCiAgLy8vIGRyYWZ0LCBwYXVzZWQsIHBlbmRpbmcsIHByaXZhdGUsIHB1Ymxpc2gsIHRyYXNoCiAgc3RhdHVzICAgICAgICAgICAgICAgIFN0cmluZyAgICAgICAgICAgICAgIEBkZWZhdWx0KCJkcmFmdCIpCiAgZGF0ZSAgICAgICAgICAgICAgICAgIERhdGVUaW1lICAgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPwogIHByb2R1Y3REZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgcHJpemVEZXNjcmlwdGlvbiAgICAgIFN0cmluZz8KICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQGRlZmF1bHQoInNob3V0b3V0IikKICBzb2NpYWxDaGFubmVsICAgICAgICAgU3RyaW5nPwogIHNvY2lhbENoYW5uZWxzICAgICAgICBKc29uPwogIGZhY2Vib29rUmVhY2ggICAgICAgICBJbnQ/CiAgZmFjZWJvb2tFbmdhZ2VtZW50ICAgIEZsb2F0PwogIGluc3RhZ3JhbVJlYWNoICAgICAgICBJbnQ/CiAgaW5zdGFncmFtRW5nYWdlbWVudCAgIEZsb2F0PwogIHlvdXR1YmVSZWFjaCAgICAgICAgICBJbnQ/CiAgeW91dHViZUVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHR3aXR0ZXJSZWFjaCAgICAgICAgICBJbnQ/CiAgdHdpdHRlckVuZ2FnZW1lbnQgICAgIEZsb2F0PwogIHRpa3Rva1JlYWNoICAgICAgICAgICBJbnQ/CiAgdGlrdG9rRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHR3aXRjaFJlYWNoICAgICAgICAgICBJbnQ/CiAgdHdpdGNoRW5nYWdlbWVudCAgICAgIEZsb2F0PwogIHF1YW50aXR5ICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAZGVmYXVsdCgwKQogIGhvbGRDb3N0ICAgICAgICAgICAgICBGbG9hdD8KICB2YWx1ZSAgICAgICAgICAgICAgICAgRmxvYXQ/CiAgcGFpZEFtb3VudCAgICAgICAgICAgIEZsb2F0PwogIG1pbkFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgbWF4QWdlICAgICAgICAgICAgICAgIEludD8KICB2aXN1YWxzICAgICAgICAgICAgICAgU3RyaW5nPwogIHBob3RvVGFncyAgICAgICAgICAgICBKc29uPwogIGhhc2h0YWdzICAgICAgICAgICAgICBKc29uPwogIHN0b3J5SGFzaHRhZ3MgICAgICAgICBKc29uPwogIHN0b3J5TWVudGlvbnMgICAgICAgICBKc29uPwogIGNhcHRpb24gICAgICAgICAgICAgICBTdHJpbmc/CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgLy8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8KICAvLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PwogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZElkICAgICAgICAgICAgICAgSW50CiAgY2FtcGFpZ25JbnZpdGVzICAgICAgIENhbXBhaWduSW52aXRlW10KICB2YXJpYWJsZXMgICAgICAgICAgICAgVmFyaWFibGVbXQogIGJyYW5kICAgICAgICAgICAgICAgICBCcmFuZCAgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduUGlucyAgICAgICAgICBDYW1wYWlnblBpbltdCiAgc3RlcHMgICAgICAgICAgICAgICAgIENhbXBhaWduU3RlcFtdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgIENhbXBhaWduVG9DYXRlZ29yeVtdCiAgY291bnRyaWVzICAgICAgICAgICAgIENhbXBhaWduVG9Db3VudHJ5W10KICBpbWFnZXMgICAgICAgICAgICAgICAgQ2FtcGFpZ25Ub0ltYWdlW10KICBjcmVhdG9yTGlzdHMgICAgICAgICAgQ3JlYXRvckxpc3RbXQogIG9wdElucyAgICAgICAgICAgICAgICBPcHRJbltdCiAgb3B0SW5WaWV3cyAgICAgICAgICAgIE9wdEluVmlld1tdCiAgc29jaWFsUG9zdHMgICAgICAgICAgIFNvY2lhbFBvc3RbXQoKICBAQG1hcCgiY2FtcGFpZ24iKQp9Cgptb2RlbCBDYW1wYWlnblBpbiB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1c2VySWQgICAgIEludAogIGNhbXBhaWduSWQgSW50CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgbm90aWZpZWQgICBEYXRlVGltZT8KICBjYW1wYWlnbiAgIENhbXBhaWduICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHVzZXIgICAgICAgVXNlciAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImNhbXBhaWducGluIikKfQoKbW9kZWwgQ2FtcGFpZ25Ub0ltYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwogIGNhbXBhaWduICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzaXplcyAgICAgIEltYWdlW10KCiAgQEBtYXAoImNhbXBhaWdudG9pbWFnZSIpCn0KCm1vZGVsIENhbXBhaWduVG9DYXRlZ29yeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjYXRlZ29yeUlkIEludAogIGNhbXBhaWduICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgIENhdGVnb3J5IEByZWxhdGlvbihmaWVsZHM6IFtjYXRlZ29yeUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbY2FtcGFpZ25JZCwgY2F0ZWdvcnlJZF0pCiAgQEBtYXAoImNhbXBhaWdudG9jYXRlZ29yeSIpCn0KCm1vZGVsIENhbXBhaWduVG9Db3VudHJ5IHsKICBjYW1wYWlnbklkIEludAogIGNvdW50cnlJZCAgSW50CiAgY2FtcGFpZ24gICBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgICAgQ291bnRyeSAgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNvdW50cnlJZF0pCiAgQEBtYXAoImNhbXBhaWdudG9jb3VudHJ5IikKfQoKbW9kZWwgVmFyaWFibGUgewogIGlkICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgSnNvbiAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgIEludAogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQogIGNhbXBhaWduICAgICAgIENhbXBhaWduICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBvcHRpb25zICAgICAgICBWYXJpYWJsZU9wdGlvbltdCn0KCm1vZGVsIFZhcmlhYmxlT3B0aW9uIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgICAgICBTdHJpbmcKICBkZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgSnNvbiAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmFyaWFibGVJZCAgICAgSW50CiAgb3B0SW5WYXJpYWJsZXMgT3B0SW5WYXJpYWJsZVtdCiAgdmFyaWFibGUgICAgICAgVmFyaWFibGUgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFN0ZXAgewogIGlkICAgICAgICAgICAgSW50ICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzbHVnICAgICAgICAgIFN0cmluZyAgICAgICAgIEB1bmlxdWUKICB0aXRsZSAgICAgICAgIFN0cmluZz8KICBkZXNjcmlwdGlvbiAgIFN0cmluZz8KICBkYXRhICAgICAgICAgIEpzb24/CiAgY2FtcGFpZ25TdGVwcyBDYW1wYWlnblN0ZXBbXQoKICBAQG1hcCgic3RlcCIpCn0KCm1vZGVsIENhbXBhaWduU3RlcCB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgcGxhY2VtZW50ICAgICAgIEludAogIHN0ZXBTZXR0aW5ncyAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICBTdHJpbmc/CiAgaW5zdHJ1Y3Rpb25zICAgIFN0cmluZz8KICBjdXN0b21TdGVwVGl0bGUgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICBKc29uPwogIG1ldGFEYXRhICAgICAgICBKc29uICAgICAgICBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgICBJbnQKICBzdGVwSWQgICAgICAgICAgSW50PwogIGNhbXBhaWduICAgICAgICBDYW1wYWlnbiAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHN0ZXAgICAgICAgICAgICBTdGVwPyAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbc3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjdXJyZW50T3B0SW5zICAgT3B0SW5bXQogIG9wdEluU3RlcHMgICAgICBPcHRJblN0ZXBbXQoKICBAQG1hcCgiY2FtcGFpZ25zdGVwIikKfQoKbW9kZWwgT3B0SW5TdGVwIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgICAgICBEYXRlVGltZT8KICBkYXRhICAgICAgICAgICBKc29uPwogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIC8vLyB0ZW1wb3JhcnkgZm9yIG1vdmluZyBzaG91dG91dERhdGEgdG8gc29jaWFsUG9zdHMKICBzb2NpYWxQb3N0SWQgICBJbnQ/CiAgY2FtcGFpZ25TdGVwICAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIG9wdEluICAgICAgICAgIE9wdEluICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgICAgICBTdHJpbmcgICAgICAgICAgICAgICBAdW5pcXVlCiAgdGl0bGUgICAgIFN0cmluZwogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCiAgYnJhbmRzICAgIEJyYW5kVG9DYXRlZ29yeVtdCiAgY2FtcGFpZ25zIENhbXBhaWduVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICAgICAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICAgICAgICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgICAgICAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/CiAgcGF5bWVudEFtb3VudCAgIEZsb2F0PwogIHBheW1lbnRTdGF0dXMgICBTdHJpbmcgICAgICAgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGV4dHJhRGF0YSAgICAgICBKc29uICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICB1c2VySWQgICAgICAgICAgSW50CiAgY2FtcGFpZ25JZCAgICAgIEludAogIGN1cnJlbnRTdGVwSWQgICBJbnQ/CiAgY2FtcGFpZ25JbnZpdGVzIENhbXBhaWduSW52aXRlPwogIHZhcmlhYmxlcyAgICAgICBPcHRJblZhcmlhYmxlW10KICBjaGF0ICAgICAgICAgICAgQ2hhdD8KICBjYW1wYWlnbiAgICAgICAgQ2FtcGFpZ24gICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY3VycmVudFN0ZXAgICAgIENhbXBhaWduU3RlcD8gICBAcmVsYXRpb24oZmllbGRzOiBbY3VycmVudFN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgdXNlciAgICAgICAgICAgIFVzZXIgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgb3B0SW5TdGVwcyAgICAgIE9wdEluU3RlcFtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKICBvcHRJbiAgICAgICAgICAgIE9wdEluICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc2VsZWN0ZWRPcHRpb24gICBWYXJpYWJsZU9wdGlvbiBAcmVsYXRpb24oZmllbGRzOiBbc2VsZWN0ZWRPcHRpb25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHZhcmlhYmxlICAgICAgICAgVmFyaWFibGUgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3ZhcmlhYmxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKfQoKbW9kZWwgU29jaWFsUG9zdCB7CiAgaWQgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICAvLy8gREVQUkVDQVRFRCwgVVNFIG1ldGFEYXRhIGluc3RlYWQsIHNlZW1zIHRvIGJlIGFuIGVycm9yIHdoZW4gYXR0ZW1wdGluZyB0byByZW1vdmUgdGhpcyBmaWVsZCwgcHJvYWJhYmx5IGR1ZSB0byB0YWJsZSBzaXplCiAgZGF0YSAgICAgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGxhc3RGZXRjaGVkICAgICAgICBEYXRlVGltZT8KICBsYXN0V2ViaG9vayAgICAgICAgRGF0ZVRpbWU/CiAgLy8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKICBpc1N0YWxlICAgICAgICAgICAgQm9vbGVhbj8KICAvLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uICAgICAgICBTdHJpbmc/CiAgdXJsICAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIC8vLyBUaGlzIGlzIGhlcmUgc28gd2UgaGF2ZSBzb21lIGV4dGVybmFsIGlkZW50aWZpZXIgdG8gcXVpY2tseSBzZWFyY2ggYnkKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgIEB1bmlxdWUKICBmb3JtYXQgICAgICAgICAgICAgU3RyaW5nPwogIHR5cGUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGxhdGZvcm0gICAgICAgICAgIFN0cmluZz8KICB2aXNpYmlsaXR5ICAgICAgICAgU3RyaW5nPwogIGlzU3BvbnNvcmVkICAgICAgICBCb29sZWFuPwogIGhhc0NvbGxhYm9yYXRvcnMgICBCb29sZWFuPwogIGlzT3duZWRCeVVzZXIgICAgICBCb29sZWFuPwogIC8vLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8vIEVOR0FHRU1FTlQgTUVUUklDUwogIGxpa2VzICAgICAgICAgICAgICBJbnQ/CiAgZGlzbGlrZXMgICAgICAgICAgIEludD8KICBjb21tZW50cyAgICAgICAgICAgSW50PwogIHNhdmVzICAgICAgICAgICAgICBJbnQ/CiAgc2hhcmVzICAgICAgICAgICAgIEludD8KICB1c2VySWQgICAgICAgICAgICAgSW50PwogIGNhbXBhaWduSWQgICAgICAgICBJbnQ/CiAgbGlzdHMgICAgICAgICAgICAgIExpc3RUb1NvY2lhbFBvc3RbXQogIGNhbXBhaWduICAgICAgICAgICBDYW1wYWlnbj8gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHVzZXIgICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUG9zdFRhZ3MgICAgIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KFtpc1N0YWxlXSkKICBAQG1hcCgic29jaWFscG9zdCIpCn0KCm1vZGVsIFNvY2lhbFBvc3RUYWcgewogIGlkICAgICAgICAgICBJbnQgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgIFN0cmluZwogIHR5cGUgICAgICAgICBTdHJpbmcKICBzb2NpYWxQb3N0SWQgSW50CiAgc29jaWFsUG9zdCAgIFNvY2lhbFBvc3QgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaW5kZXgoW3RpdGxlLCB0eXBlXSkKICBAQG1hcCgic29jaWFscG9zdHRhZyIpCn0KCm1vZGVsIEltYWdlIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgICAgIFN0cmluZyAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICAgICBTdHJpbmcKICBjYW1wYWlnbkltYWdlSWQgSW50CiAgY2FtcGFpZ25JbWFnZSAgIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICBJbnQgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1cmwgICAgICAgICAgU3RyaW5nICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgc2l6ZSAgICAgICAgIFN0cmluZwogIGJyYW5kSW1hZ2VJZCBJbnQKICBicmFuZEltYWdlICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImJyYW5kaW1hZ2UiKQp9Cgptb2RlbCBDb3VudHJ5IHsKICBpZCAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeUNvZGUgU3RyaW5nICAgICAgICAgICAgICBAdW5pcXVlIEBkYi5WYXJDaGFyKDIpCiAgY291bnRyeU5hbWUgU3RyaW5nICAgICAgICAgICAgICBAZGIuVmFyQ2hhcig1MDApCiAgdGVsZUNvZGUgICAgU3RyaW5nICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigxMCkKICBjYW1wYWlnbnMgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgc3RhdGVzICAgICAgU3RhdGVbXQoKICBAQG1hcCgiY291bnRyeSIpCn0KCm1vZGVsIFN0YXRlIHsKICBpZCAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nICBAZGIuVmFyQ2hhcig1MCkKICBzdGF0ZU5hbWUgU3RyaW5nICBAZGIuVmFyQ2hhcig1MDApCiAgY291bnRyeSAgIENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGFtb3VudCAgICAgICAgICAgIEZsb2F0CiAgYmFsYW5jZSAgICAgICAgICAgRmxvYXQKICB0eXBlICAgICAgICAgICAgICBTdHJpbmcKICBkYXRlICAgICAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIG5vdGVzICAgICAgICAgICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYWNjb3VudElkICAgICAgICAgSW50CiAgYnJhbmRJZCAgICAgICAgICAgSW50PwogIGNyZWF0b3JJZCAgICAgICAgIEludD8KICBwcmV2VHJhbnNhY3Rpb25JZCBJbnQ/ICAgICAgICAgICAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9ySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZUcmFuc2FjdGlvbiAgIFBheW1lbnRUcmFuc2FjdGlvbj8gQHJlbGF0aW9uKCJUcmFuc2FjdGlvbkhpc3RvcnkiLCBmaWVsZHM6IFtwcmV2VHJhbnNhY3Rpb25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFRyYW5zYWN0aW9uICAgUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICAgICAgRGF0ZVRpbWUgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGRlc2NyaXB0aW9uICAgIFN0cmluZz8KICB1cmxQYXRoICAgICAgICBTdHJpbmcKICBjb21taXNzaW9uICAgICBGbG9hdCAgICAgICAgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQogIGJyYW5kICAgICAgICAgIEJyYW5kICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgICAgICAgIERhdGVUaW1lICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSAgICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICB1c2VySWQgICAgICAgICAgICAgICBJbnQKICBicmFuZEFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVDbGlja3MgICAgICBBZmZpbGlhdGVDbGlja1tdCiAgYnJhbmRBZmZpbGlhdGVMaW5rICAgQnJhbmRBZmZpbGlhdGVMaW5rIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEFmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlICAgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVDbGljayB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICAgRGF0ZVRpbWUgICAgICAgICBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgICBKc29uICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYWZmaWxpYXRlTGlua0lkIEludAogIGFmZmlsaWF0ZUxpbmsgICBBZmZpbGlhdGVMaW5rICAgIEByZWxhdGlvbihmaWVsZHM6IFthZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGFmZmlsaWF0ZUV2ZW50ICBBZmZpbGlhdGVFdmVudFtdCn0KCm1vZGVsIEFmZmlsaWF0ZUV2ZW50IHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIC8vLyBjbGljaywgcHVyY2hhc2UsIGV0Yy4KICBldmVudCAgICAgICAgICAgICBTdHJpbmcKICBjcmVhdGVkICAgICAgICAgICBEYXRlVGltZSAgICAgICBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgICAgICAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgICAgU3RyaW5nPwogIHJldmVudWUgICAgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb25BbW91bnQgIEZsb2F0PwogIGNvbW1pc3Npb25QZXJjZW50IEZsb2F0PwogIG1ldGFEYXRhICAgICAgICAgIEpzb24gICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYWZmaWxpYXRlQ2xpY2tJZCAgSW50CiAgYWZmaWxpYXRlQ2xpY2sgICAgQWZmaWxpYXRlQ2xpY2sgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIC8vLyBhdWRpZW5jZS1yZXBvcnQsIHNlYXJjaC1leHBvcnQsIGNhbXBhaWduLWludml0ZQogIHR5cGUgICAgICBTdHJpbmc/CiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kSWQgICBJbnQ/CiAgYnJhbmQgICAgIEJyYW5kPyAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludD8KICBicmFuZElkICAgICAgICAgSW50CiAgY2FtcGFpZ25JZCAgICAgIEludD8KICBvcHRJbklkICAgICAgICAgSW50PyAgICAgICAgICAgQHVuaXF1ZQogIGNvZGUgICAgICAgICAgICBTdHJpbmc/ICAgICAgICBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgIERhdGVUaW1lICAgICAgIEBkZWZhdWx0KG5vdygpKQogIG1ldGFEYXRhICAgICAgICBKc29uPyAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgICAgICAgICBCcmFuZCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgICAgICBDYW1wYWlnbj8gICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgb3B0SW4gICAgICAgICAgIE9wdEluPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBzb2NpYWxQcm9maWxlICAgU29jaWFsUHJvZmlsZT8gQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICBJbnQKICBjYW1wYWlnbklkIEludD8KICBjcmVhdGVkICAgIERhdGVUaW1lICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIGFyY2hpdmVkICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBtZXRhRGF0YSAgIEpzb24/ICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYnJhbmQgICAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgQ2FtcGFpZ24/ICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JzICAgQ3JlYXRvckxpc3RJdGVtW10KCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNvY2lhbFByb2ZpbGVJZCBJbnQKICBjcmVhdG9yTGlzdElkICAgSW50CiAgc2F2ZWQgICAgICAgICAgIERhdGVUaW1lICAgICAgQGRlZmF1bHQobm93KCkpCiAgaW52aXRlZCAgICAgICAgIERhdGVUaW1lPwogIHRhZ3MgICAgICAgICAgICBKc29uPwogIGZlZWRiYWNrICAgICAgICBTdHJpbmc/CiAgYXJjaGl2ZWQgICAgICAgIERhdGVUaW1lPwogIG1ldGFEYXRhICAgICAgICBKc29uPyAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRvckxpc3QgICAgIENyZWF0b3JMaXN0ICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlICAgU29jaWFsUHJvZmlsZSBAcmVsYXRpb24oZmllbGRzOiBbc29jaWFsUHJvZmlsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJjcmVhdG9ybGlzdGl0ZW0iKQp9Cgptb2RlbCBTb2NpYWxQcm9maWxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgLy8vIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgY2FuIG5ldmVyIG92ZXJsYXAgYWNyb3NzIG11bHRpcGxlIHBsYXRmb3Jtcywgd2Ugc2hvdWxkIGFwcGVuZCB0aGUgcGxhdGZvcm0gdG8gdGhlIGJlZ2lubmluZyB0byBlbnN1cmUgaXTigJlzIGFsd2F5cyB1bmlxdWUKICBzb2NpYWxJZCAgICAgICAgIFN0cmluZz8gICAgICAgICAgIEB1bmlxdWUKICAvLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKICB1c2VySWQgICAgICAgICAgIEludD8KICAvLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVVybCAgICAgICBTdHJpbmc/CiAgLy8vIG5lZWQgdG8gc3BlY2lmeSBsZW5ndGgsIGRlZmF1bHQgc2l6ZSBpcyB0b28gc21hbGwKICBwcm9maWxlUGljVXJsICAgIFN0cmluZz8gICAgICAgICAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCAgICBJbnQ/CiAgZW5nYWdlbWVudCAgICAgICBGbG9hdD8KICBhdmdWaWV3cyAgICAgICAgIEludD8KICB2ZXJpZmllZCAgICAgICAgIEJvb2xlYW4/CiAgbWV0YURhdGEgICAgICAgICBKc29uICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGF1ZGllbmNlRGF0YSAgICAgSnNvbiAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBwaHlsbG9EYXRhICAgICAgIEpzb24gICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkICAgICAgICAgIERhdGVUaW1lPwogIGNhbXBhaWduSW52aXRlcyAgQ2FtcGFpZ25JbnZpdGVbXQogIGNyZWF0b3JMaXN0SXRlbXMgQ3JlYXRvckxpc3RJdGVtW10KICB1c2VyICAgICAgICAgICAgIFVzZXI/ICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBtYXAoInNvY2lhbHByb2ZpbGUiKQp9Cgptb2RlbCBNZXNzYWdlVGVtcGxhdGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsYWJlbCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgU3RyaW5nCiAgYnJhbmRJZCAgSW50PwogIC8vLyB0byBzYXZlIGFueSBhZGRpdGlvbmFsIGRhdGEgc3VjaCBhcyB1c2VyIGRlZmluZWQgdmFyaWFibGVzCiAgbWV0YURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICBzdWJqZWN0ICBTdHJpbmc/CiAgdGVtcGxhdGUgU3RyaW5nCiAgYnJhbmRJZCAgSW50PwogIC8vLyB0byBzYXZlIGFueSBhZGRpdGlvbmFsIGRhdGEgc3VjaCBhcyB1c2VyIGRlZmluZWQgdmFyaWFibGVzCiAgbWV0YURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTb2NpYWxMaXN0ZW5pbmdMaXN0IHsKICBpZCAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgICBJbnQKICAvLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNhbXBhaWduSWQgIEludD8gICAgICAgICAgICAgICBAdW5pcXVlCiAgY3JlYXRlZCAgICAgRGF0ZVRpbWUgICAgICAgICAgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgIFN0cmluZwogIC8vLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgcG9zdFR5cGUgICAgU3RyaW5nCiAgLy8vIGZpbHRlcnMgdG8gc2VhcmNoIHBvc3RzIGJ5IChsb2NhdGlvbiwgZGF0ZSwgaGFzaHRhZ3MsIG1lbnRpb25zLCBldGMuKQogIGZpbHRlcnMgICAgIEpzb24/ICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIC8vLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCiAgbGFzdEZldGNoZWQgRGF0ZVRpbWU/CiAgcG9zdHMgICAgICAgTGlzdFRvU29jaWFsUG9zdFtdCiAgYnJhbmQgICAgICAgQnJhbmQgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJzb2NpYWxsaXN0ZW5pbmdsaXN0IikKfQoKbW9kZWwgTGlzdFRvU29jaWFsUG9zdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGlzdElkICAgICBJbnQKICBwb3N0SWQgICAgIEludAogIGxpc3QgICAgICAgU29jaWFsTGlzdGVuaW5nTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtwb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImxpc3R0b3NvY2lhbHBvc3QiKQp9Cgptb2RlbCBPcHRJblZpZXcgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICBTdHJpbmcKICBmaWx0ZXJzICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgSW50PwogIGNhbXBhaWduICAgQ2FtcGFpZ24/IEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoIm9wdGludmlldyIpCn0KCm1vZGVsIFJha3V0ZW5BY3Rpdml0eSB7CiAgaWQgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgb3JkZXJJZCAgICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBjcmVhdGVkICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY2xpY2tzICAgICAgIEludD8KICBvcmRlcnMgICAgICAgSW50PwogIHNhbGVzICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uICAgRmxvYXQ/CiAgYWR2ZXJ0aXNlcklkIEludD8KICB1c2VySWQgICAgICAgSW50CiAgdXNlciAgICAgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgicmFrdXRlbmFjdGl2aXR5IikKfQoKbW9kZWwgU2xvd1F1ZXJpZXMgewogIGlkICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbW9kZWwgICAgICAgU3RyaW5nICAgQGRiLlZhckNoYXIoMjU1KQogIG9wZXJhdGlvbiAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICB0aW1lICAgICAgICBJbnQKICBhcmdzICAgICAgICBKc29uCiAgY3JlYXRlZF9hdCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgQm9vbGVhbgogIGVudmlyb25tZW50IFN0cmluZz8gIEBkYi5WYXJDaGFyKDMyKQoKICBAQG1hcCgic2xvd19xdWVyaWVzIikKfQo=",
1182
- "inlineSchemaHash": "6029081b66b22b33e85dcf690605d363e0fa6ec290f2a8a41ee0e032e8d7205d",
1181
+ "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQp9CgpkYXRhc291cmNlIGRiIHsKICBwcm92aWRlciA9ICJwb3N0Z3Jlc3FsIgogIHVybCAgICAgID0gZW52KCJEQVRBQkFTRV9VUkwiKQp9CgovLy8gY29tbWVudD1UaGlzIGlzIHlvdXIgUHJpc21hIHNjaGVtYSBmaWxlLAptb2RlbCBVc2VyIHsKICAvLy8gY29tbWVudD1UaGlzIGlzIHlvdXIgaWQgZmllbGQsCiAgaWQgICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHJvbGUgICAgICAgICAgICAgICAgU3RyaW5nCiAgZW1haWwgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBsYXN0TG9naW5EYXRlICAgICAgIERhdGVUaW1lPwogIGZpcnN0TmFtZSAgICAgICAgICAgU3RyaW5nPwogIGxhc3ROYW1lICAgICAgICAgICAgU3RyaW5nPwogIHBob25lICAgICAgICAgICAgICAgU3RyaW5nPwogIHBob25lQ29kZSAgICAgICAgICAgSW50PwogIHBob25lU2hvcnQgICAgICAgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICAgICAgIEB1bmlxdWUKICBhZmZpbGlhdGVTbHVnICAgICAgIFN0cmluZz8gICAgICAgICAgICAgIEB1bmlxdWUKICBjbG9zZWQgICAgICAgICAgICAgIERhdGVUaW1lPwogIGNsb3NlZFJlYXNvbiAgICAgICAgU3RyaW5nPwogIHVzZXJjb21MYXN0U3luY2VkICAgRGF0ZVRpbWU/CiAgZXh0cmFEYXRhICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIHJlZmVycmVySWQgICAgICAgICAgSW50PwogIGFmZmlsaWF0ZUxpbmtzICAgICAgQWZmaWxpYXRlTGlua1tdCiAgbG9ncyAgICAgICAgICAgICAgICBMb2dbXQogIHBheW1lbnRUcmFuc2FjdGlvbnMgUGF5bWVudFRyYW5zYWN0aW9uW10KICBhc3NpZ25lZEJyYW5kcyAgICAgIEJyYW5kW10KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIGNhbXBhaWduUGlucyAgICAgICAgQ2FtcGFpZ25QaW5bXQogIGNyZWF0b3JQcm9maWxlICAgICAgQ3JlYXRvclByb2ZpbGU/CiAgZmFjZWJvb2tQcm9maWxlICAgICBGYWNlYm9va1Byb2ZpbGU/CiAgaW5zdGFncmFtUHJvZmlsZSAgICBJbnN0YWdyYW1Qcm9maWxlPwogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgb3B0SW5zICAgICAgICAgICAgICBPcHRJbltdCiAgcmFrdXRlbkFjdGl2aXR5ICAgICBSYWt1dGVuQWN0aXZpdHlbXQogIHNvY2lhbFBvc3RzICAgICAgICAgU29jaWFsUG9zdFtdCiAgc29jaWFsUHJvZmlsZXMgICAgICBTb2NpYWxQcm9maWxlW10KICB0aWt0b2tQcm9maWxlICAgICAgIFRpa3Rva1Byb2ZpbGU/CiAgdHdpdGNoUHJvZmlsZSAgICAgICBUd2l0Y2hQcm9maWxlPwogIHR3aXR0ZXJQcm9maWxlICAgICAgVHdpdHRlclByb2ZpbGU/CiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIHlvdXR1YmVQcm9maWxlICAgICAgWW91dHViZVByb2ZpbGU/CgogIEBAbWFwKCJ1c2VyIikKfQoKbW9kZWwgTG9nIHsKICBpZCAgICAgSW50ICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB1c2VySWQgSW50PwogIGRhdGEgICBKc29uPwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIENyZWF0b3JQcm9maWxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5ICAgICAgICAgIFN0cmluZz8KICByZWdpb24gICAgICAgICAgIFN0cmluZz8KICBiaXJ0aERhdGUgICAgICAgIERhdGVUaW1lPwogIC8vLyBkZXByZWNhdGVkCiAgaW50ZXJlc3RzICAgICAgICBKc29uPwogIGdlbmRlciAgICAgICAgICAgU3RyaW5nPwogIHNoaXBwaW5nQWRkcmVzczEgU3RyaW5nPwogIHNoaXBwaW5nQWRkcmVzczIgU3RyaW5nPwogIHNoaXBwaW5nQ2l0eSAgICAgU3RyaW5nPwogIHNoaXBwaW5nUmVnaW9uICAgU3RyaW5nPwogIHNoaXBwaW5nQ291bnRyeSAgU3RyaW5nPwogIHNoaXBwaW5nUG9zdGNvZGUgU3RyaW5nPwogIHBoeWxsb1VzZXJJZCAgICAgU3RyaW5nPwogIHByb2ZpbGVTbHVnICAgICAgU3RyaW5nPyAgICAgICAgICAgICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgICAgICAgICAgICBAdW5pcXVlCiAgdXNlcklkICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgIEB1bmlxdWUKICBuaWNoZXMgICAgICAgICAgIENyZWF0b3JUb0NhdGVnb3J5W10KICB1c2VyICAgICAgICAgICAgIFVzZXIgICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFtwaHlsbG9Vc2VySWRdKQogIEBAbWFwKCJjcmVhdG9ycHJvZmlsZSIpCn0KCm1vZGVsIEluc3RhZ3JhbVByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkICAgICAgIFN0cmluZz8KICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgICAgIEludD8KICBlbmdhZ2VtZW50ICAgICAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgICAgICBEYXRlVGltZT8KICBmdWxsTmFtZSAgICAgICAgICBTdHJpbmc/CiAgaXNCdXNpbmVzcyAgICAgICAgQm9vbGVhbj8KICBpc1ByaXZhdGUgICAgICAgICBCb29sZWFuPwogIGlzVmVyaWZpZWQgICAgICAgIEJvb2xlYW4/CiAgbWVkaWFDb3VudCAgICAgICAgSW50PwogIGZvbGxvd2luZ0NvdW50ICAgIEludD8KICB0b3RhbENvbW1lbnRzICAgICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgICAgSW50PwogIGF2Z0NvbW1lbnRzICAgICAgIEZsb2F0PwogIGF2Z0xpa2VzICAgICAgICAgIEZsb2F0PwogIGJpbyAgICAgICAgICAgICAgIFN0cmluZz8KICBleHRlcm5hbFVybCAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBoYXNIaWdobGlnaHRSZWVscyBCb29sZWFuPwogIGNhdGVnb3J5ICAgICAgICAgIFN0cmluZz8KICBoYXNDbGlwcyAgICAgICAgICBCb29sZWFuPwogIGhhc0d1aWRlcyAgICAgICAgIEJvb2xlYW4/CiAgaGFzQ2hhbm5lbCAgICAgICAgQm9vbGVhbj8KICB0b3RhbElndHZWaWRlb3MgICBJbnQ/CiAgLy8vIERFUFJFQ0FURUQKICBwcm9maWxlUGljVXJsSGQgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBsYXN0U3Rvcmllc1VwZGF0ZSBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgICAgIEpzb24/CiAgYXVkaWVuY2VEYXRhICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBpbmRleChbaW5zdGFncmFtSWRdKQogIEBAbWFwKCJpbnN0YWdyYW1wcm9maWxlIikKfQoKbW9kZWwgVGlrdG9rUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGlrdG9rSWQgICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50ICBJbnQ/CiAgZW5nYWdlbWVudCAgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgaGFuZGxlICAgICAgICAgU3RyaW5nPwogIG5pY2tuYW1lICAgICAgIFN0cmluZz8KICBmb2xsb3dpbmdDb3VudCBJbnQ/CiAgdG90YWxDb21tZW50cyAgSW50PwogIHRvdGFsTGlrZXMgICAgIEludD8KICBleHRyYURhdGEgICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgIEpzb24/CiAgYXVkaWVuY2VEYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBtYXAoInRpa3Rva3Byb2ZpbGUiKQp9Cgptb2RlbCBZb3V0dWJlUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgeW91dHViZUlkICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgIFN0cmluZwogIHVybCAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgIEludD8KICBlbmdhZ2VtZW50ICAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgICBEYXRlVGltZT8KICBmb2xsb3dpbmdDb3VudCBJbnQ/CiAgZnVsbE5hbWUgICAgICAgU3RyaW5nPwogIGlzVmVyaWZpZWQgICAgIEJvb2xlYW4/CiAgc3Vic2NyaWJlcnMgICAgSW50PwogIGRlc2NyaXB0aW9uICAgIFN0cmluZz8KICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KICBleHRyYURhdGEgICAgICBKc29uPwogIHBoeWxsb0RhdGEgICAgIEpzb24/CiAgYXVkaWVuY2VEYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICBicmFuZCAgICAgICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KFt1c2VybmFtZV0pCiAgQEBtYXAoInlvdXR1YmVwcm9maWxlIikKfQoKbW9kZWwgVHdpdGNoUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgLy8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZyAgICBAdW5pcXVlCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgICBKc29uPwogIHZpc2liaWxpdHkgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJwdWJsaWMiKQogIHVzZXJJZCAgICAgICAgSW50PyAgICAgIEB1bmlxdWUKICB1c2VyICAgICAgICAgIFVzZXI/ICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgIEpzb24/CiAgdmlzaWJpbGl0eSAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIHVzZXIgICAgICAgICAgVXNlcj8gICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoImZhY2Vib29rcHJvZmlsZSIpCn0KCm1vZGVsIFR3aXR0ZXJQcm9maWxlIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR3aXR0ZXJJZCAgICAgU3RyaW5nICAgIEB1bmlxdWUKICAvLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwogIGV4dHJhRGF0YSAgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgIEpzb24/CiAgdmlzaWJpbGl0eSAgICBTdHJpbmc/ICAgQGRlZmF1bHQoInB1YmxpYyIpCiAgdXNlcklkICAgICAgICBJbnQ/ICAgICAgQHVuaXF1ZQogIHVzZXIgICAgICAgICAgVXNlcj8gICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoInR3aXR0ZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmRVc2VyUHJvZmlsZSB7CiAgaWQgICAgICBJbnQgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgdXNlciAgICBVc2VyICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8KICB3ZWJzaXRlICAgICAgICAgICAgICAgICBTdHJpbmcKICBtb250aGx5Q29udGFjdHMgICAgICAgICBJbnQ/CiAgbW9udGhseVJlcG9ydHMgICAgICAgICAgSW50PwogIGxhc3RDb250YWN0RGlzdHJpYnV0aW9uIERhdGVUaW1lPwogIGxvZ29VcmwgICAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUJhc2VVcmwgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGFmZmlsaWF0ZUNvbW1pc3Npb24gICAgIEZsb2F0PwogIGV4dHJhRGF0YSAgICAgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIHNwZWNpYWxpc3RJZCAgICAgICAgICAgIEludD8KICBhZmZpbGlhdGVMaW5rcyAgICAgICAgICBCcmFuZEFmZmlsaWF0ZUxpbmtbXQogIGNhbXBhaWduSW52aXRlcyAgICAgICAgIENhbXBhaWduSW52aXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICAgICBFbWFpbFRlbXBsYXRlW10KICBwYXltZW50VHJhbnNhY3Rpb25zICAgICBQYXltZW50VHJhbnNhY3Rpb25bXQogIGRlZGljYXRlZFNwZWNpYWxpc3QgICAgIFVzZXI/ICAgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbc3BlY2lhbGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjYXRlZ29yaWVzICAgICAgICAgICAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGltYWdlcyAgICAgICAgICAgICAgICAgIEJyYW5kVG9JbWFnZVtdCiAgYnJhbmRVc2VycyAgICAgICAgICAgICAgQnJhbmRVc2VyUHJvZmlsZVtdCiAgY2FtcGFpZ25zICAgICAgICAgICAgICAgQ2FtcGFpZ25bXQogIGNyZWF0b3JMaXN0cyAgICAgICAgICAgIENyZWF0b3JMaXN0W10KICBpbnN0YWdyYW1Qcm9maWxlICAgICAgICBJbnN0YWdyYW1Qcm9maWxlPwogIG1lc3NhZ2VUZW1wbGF0ZSAgICAgICAgIE1lc3NhZ2VUZW1wbGF0ZVtdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgc2F2ZWRmaWxlcyAgICAgICAgICAgICAgU2F2ZWRGaWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgc29jaWFsTGlzdGVuaW5nTGlzdHMgICAgU29jaWFsTGlzdGVuaW5nTGlzdFtdCiAgdGlrdG9rUHJvZmlsZSAgICAgICAgICAgVGlrdG9rUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICAgICBZb3V0dWJlUHJvZmlsZT8KCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgICAgIEZsb2F0CiAgY2hhbmdlUXR5ICAgICBGbG9hdAogIGN1cnJlbnRRdHkgICAgRmxvYXQKICBjcmVhdGVkICAgICAgIERhdGVUaW1lPyAgICAgICBAZGVmYXVsdChub3coKSkKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgICBAdW5pcXVlCiAgYnJhbmRJZCAgICAgICBJbnQKICBicmFuZCAgICAgICAgIEJyYW5kICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgcHJldlF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBTZWFyY2hDb250YWN0cz8gQHJlbGF0aW9uKCJwcmV2U2VhcmNoUXR5UG9zdElkIikKCiAgQEBtYXAoInNlYXJjaGNvbnRhY3RzIikKfQoKbW9kZWwgUmVwb3J0Q3JlZGl0cyB7CiAgaWQgICAgICAgICAgICBJbnQgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR5cGUgICAgICAgICAgU3RyaW5nCiAgcHJldlF0eSAgICAgICBGbG9hdAogIGNoYW5nZVF0eSAgICAgRmxvYXQKICBjdXJyZW50UXR5ICAgIEZsb2F0CiAgY3JlYXRlZCAgICAgICBEYXRlVGltZT8gICAgICBAZGVmYXVsdChub3coKSkKICBwcmV2UXR5UG9zdElkIEludD8gICAgICAgICAgIEB1bmlxdWUKICBicmFuZElkICAgICAgIEludAogIGJyYW5kICAgICAgICAgQnJhbmQgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHByZXZRdHlQb3N0ICAgUmVwb3J0Q3JlZGl0cz8gQHJlbGF0aW9uKCJwcmV2UmVwb3J0c1F0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgUmVwb3J0Q3JlZGl0cz8gQHJlbGF0aW9uKCJwcmV2UmVwb3J0c1F0eVBvc3RJZCIpCgogIEBAbWFwKCJyZXBvcnRjcmVkaXRzIikKfQoKbW9kZWwgQnJhbmRUb0ltYWdlIHsKICBpZCAgICAgIEludCAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgSW50CiAgdHlwZSAgICBTdHJpbmcKICBzaXplcyAgIEJyYW5kSW1hZ2VbXQogIGJyYW5kICAgQnJhbmQgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHRvaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZFRvQ2F0ZWdvcnkgewogIGJyYW5kSWQgICAgSW50CiAgY2F0ZWdvcnlJZCBJbnQKICBjYW1wYWlnbiAgIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgICBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2JyYW5kSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJicmFuZHRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDcmVhdG9yVG9DYXRlZ29yeSB7CiAgY3JlYXRvclByb2ZpbGVJZCBJbnQKICBjYXRlZ29yeUlkICAgICAgIEludAogIGNhdGVnb3J5ICAgICAgICAgQ2F0ZWdvcnkgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JQcm9maWxlICAgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpZChbY3JlYXRvclByb2ZpbGVJZCwgY2F0ZWdvcnlJZF0pCn0KCm1vZGVsIENoYXQgewogIGlkICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKICBjb252ZXJzYXRpb25JZCBTdHJpbmc/ICAgQHVuaXF1ZQogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQogIG9wdEluSWQgICAgICAgIEludD8gICAgICBAdW5pcXVlCiAgb3B0SW4gICAgICAgICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyAgICAgICBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CiAgdXNlcklkICAgICBJbnQ/CiAgY2hhdElkICAgICBJbnQKICBjaGF0ICAgICAgIENoYXQgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2hhdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgdXNlciAgICAgICBVc2VyPyAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJtZXNzYWdlIikKfQoKbW9kZWwgQ2FtcGFpZ24gewogIGlkICAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgICAgICAgICAgICBTdHJpbmcKICBzbHVnICAgICAgICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgICAgQHVuaXF1ZQogIC8vLyBkcmFmdCwgcGF1c2VkLCBwZW5kaW5nLCBwcml2YXRlLCBwdWJsaXNoLCB0cmFzaAogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgICAgICAgICAgICBAZGVmYXVsdCgiZHJhZnQiKQogIGRhdGUgICAgICAgICAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBwdWJsaXNoRGF0ZSAgICAgICAgICAgRGF0ZVRpbWU/CiAgZGVzY3JpcHRpb24gICAgICAgICAgIFN0cmluZz8KICBwcm9kdWN0RGVzY3JpcHRpb24gICAgU3RyaW5nPwogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/CiAgc3RyYXRlZ3kgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICAgQGRlZmF1bHQoMCkKICBob2xkQ29zdCAgICAgICAgICAgICAgRmxvYXQ/CiAgdmFsdWUgICAgICAgICAgICAgICAgIEZsb2F0PwogIHBhaWRBbW91bnQgICAgICAgICAgICBGbG9hdD8KICBtaW5BZ2UgICAgICAgICAgICAgICAgSW50PwogIG1heEFnZSAgICAgICAgICAgICAgICBJbnQ/CiAgdmlzdWFscyAgICAgICAgICAgICAgIFN0cmluZz8KICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPwogIHBhc3N3b3JkICAgICAgICAgICAgICBTdHJpbmc/CiAgY29udGVudEZvcm1hdHMgICAgICAgIEpzb24/CiAgcGFpZENhbXBhaWduICAgICAgICAgIEJvb2xlYW4/CiAgbWluUGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIG1heFBhaWRBbW91bnQgICAgICAgICBGbG9hdD8KICBwYXltZW50VHlwZSAgICAgICAgICAgU3RyaW5nPwogIC8vLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIG1vbnRobHlBY3RpdmF0ZWRHb2FsICBJbnQ/CiAgLy8vIFJlZHVuZGFudC9EZXByZWNhdGVkCiAgZXhwZWN0ZWRPcHRJbnMgICAgICAgIEludD8KICBnb2FsQWN0aXZhdGlvbnMgICAgICAgRmxvYXQ/CiAgZ29hbE9wdElucyAgICAgICAgICAgIEZsb2F0PwogIHJlcXVpcmVzU2hpcHBpbmcgICAgICBCb29sZWFuPwogIGRpc2FibGVRdWFsaWZpY2F0aW9ucyBCb29sZWFuPwogIGRpc2FibGVBY3RpdmF0aW9ucyAgICBCb29sZWFuPwogIGFmZmlsaWF0ZUxpbmtQYXRoICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgICAgICAgIEpzb24gICAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgYnJhbmRJZCAgICAgICAgICAgICAgIEludAogIGNhbXBhaWduSW52aXRlcyAgICAgICBDYW1wYWlnbkludml0ZVtdCiAgdmFyaWFibGVzICAgICAgICAgICAgIFZhcmlhYmxlW10KICBicmFuZCAgICAgICAgICAgICAgICAgQnJhbmQgICAgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblBpbnMgICAgICAgICAgQ2FtcGFpZ25QaW5bXQogIHN0ZXBzICAgICAgICAgICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICAgICAgICAgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGNvdW50cmllcyAgICAgICAgICAgICBDYW1wYWlnblRvQ291bnRyeVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgIENyZWF0b3JMaXN0W10KICBvcHRJbnMgICAgICAgICAgICAgICAgT3B0SW5bXQogIG9wdEluVmlld3MgICAgICAgICAgICBPcHRJblZpZXdbXQogIHNvY2lhbFBvc3RzICAgICAgICAgICBTb2NpYWxQb3N0W10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CiAgY2FtcGFpZ24gICBDYW1wYWlnbiAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB1c2VyICAgICAgIFVzZXIgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJjYW1wYWlnbnBpbiIpCn0KCm1vZGVsIENhbXBhaWduVG9JbWFnZSB7CiAgaWQgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNhbXBhaWduSWQgSW50CiAgdHlwZSAgICAgICBTdHJpbmcKICBjYW1wYWlnbiAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc2l6ZXMgICAgICBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKICBjYW1wYWlnbiAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgICBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAogIGNhbXBhaWduICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjb3VudHJ5ICAgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkICAgICBJbnQKICBvcHRJblZhcmlhYmxlcyBPcHRJblZhcmlhYmxlW10KICBjYW1wYWlnbiAgICAgICBDYW1wYWlnbiAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIHZhcmlhYmxlSWQgICAgIEludAogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQogIHZhcmlhYmxlICAgICAgIFZhcmlhYmxlICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgICBTdHJpbmcgICAgICAgICBAdW5pcXVlCiAgdGl0bGUgICAgICAgICBTdHJpbmc/CiAgZGVzY3JpcHRpb24gICBTdHJpbmc/CiAgZGF0YSAgICAgICAgICBKc29uPwogIGNhbXBhaWduU3RlcHMgQ2FtcGFpZ25TdGVwW10KCiAgQEBtYXAoInN0ZXAiKQp9Cgptb2RlbCBDYW1wYWlnblN0ZXAgewogIGlkICAgICAgICAgICAgICBJbnQgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBsYWNlbWVudCAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgSnNvbj8KICBhY3Rpb25lZSAgICAgICAgU3RyaW5nPwogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/CiAgY3VzdG9tU3RlcFRpdGxlIFN0cmluZz8KICBjdXN0b21Gb3JtICAgICAgSnNvbj8KICBtZXRhRGF0YSAgICAgICAgSnNvbiAgICAgICAgQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkICAgICAgSW50CiAgc3RlcElkICAgICAgICAgIEludD8KICBjYW1wYWlnbiAgICAgICAgQ2FtcGFpZ24gICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgICAgU3RlcD8gICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3N0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3VycmVudE9wdElucyAgIE9wdEluW10KICBvcHRJblN0ZXBzICAgICAgT3B0SW5TdGVwW10KCiAgQEBtYXAoImNhbXBhaWduc3RlcCIpCn0KCm1vZGVsIE9wdEluU3RlcCB7CiAgaWQgICAgICAgICAgICAgSW50ICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY29tcGxldGVkICAgICAgRGF0ZVRpbWU/CiAgZGF0YSAgICAgICAgICAgSnNvbj8KICBvcHRJbklkICAgICAgICBJbnQKICBjYW1wYWlnblN0ZXBJZCBJbnQKICAvLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCiAgc29jaWFsUG9zdElkICAgSW50PwogIGNhbXBhaWduU3RlcCAgIENhbXBhaWduU3RlcCBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25TdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBvcHRJbiAgICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBtYXAoIm9wdGluc3RlcCIpCn0KCm1vZGVsIENhdGVnb3J5IHsKICBpZCAgICAgICAgSW50ICAgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzbHVnICAgICAgU3RyaW5nICAgICAgICAgICAgICAgQHVuaXF1ZQogIHRpdGxlICAgICBTdHJpbmcKICBjcmVhdG9ycyAgQ3JlYXRvclRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQoKICBAQG1hcCgiY2F0ZWdvcnkiKQp9Cgptb2RlbCBPcHRJbiB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHN0YXR1cyAgICAgICAgICBTdHJpbmcgICAgICAgICAgQGRlZmF1bHQoInBlbmRpbmciKQogIGNyZWF0ZWQgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgYWN0aXZhdGVkICAgICAgIERhdGVUaW1lPwogIGNvbXBsZXRlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWQgICAgICAgRGF0ZVRpbWU/CiAgY2FuY2VsbGVkRGF0YSAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGNhbmNlbFJlcXVlc3RlZCBEYXRlVGltZT8KICByZWludml0ZWQgICAgICAgRGF0ZVRpbWU/CiAgc2VlbiAgICAgICAgICAgIEJvb2xlYW4gICAgICAgICBAZGVmYXVsdChmYWxzZSkKICBpbnN0cnVjdGlvbnMgICAgU3RyaW5nPwogIHBheW1lbnRBbW91bnQgICBGbG9hdD8KICBwYXltZW50U3RhdHVzICAgU3RyaW5nICAgICAgICAgIEBkZWZhdWx0KCJwZW5kaW5nIikKICBleHRyYURhdGEgICAgICAgSnNvbiAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdXNlcklkICAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICBJbnQKICBjdXJyZW50U3RlcElkICAgSW50PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZT8KICB2YXJpYWJsZXMgICAgICAgT3B0SW5WYXJpYWJsZVtdCiAgY2hhdCAgICAgICAgICAgIENoYXQ/CiAgY2FtcGFpZ24gICAgICAgIENhbXBhaWduICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGN1cnJlbnRTdGVwICAgICBDYW1wYWlnblN0ZXA/ICAgQHJlbGF0aW9uKGZpZWxkczogW2N1cnJlbnRTdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHVzZXIgICAgICAgICAgICBVc2VyICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIG9wdEluU3RlcHMgICAgICBPcHRJblN0ZXBbXQoKICBAQG1hcCgib3B0aW4iKQp9Cgptb2RlbCBPcHRJblZhcmlhYmxlIHsKICBpZCAgICAgICAgICAgICAgIEludCAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgb3B0SW5JZCAgICAgICAgICBJbnQKICB2YXJpYWJsZUlkICAgICAgIEludAogIHNlbGVjdGVkT3B0aW9uSWQgSW50CiAgb3B0SW4gICAgICAgICAgICBPcHRJbiAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uICAgVmFyaWFibGVPcHRpb24gQHJlbGF0aW9uKGZpZWxkczogW3NlbGVjdGVkT3B0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICAgIFZhcmlhYmxlICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBwaHlsbG9JZCAgICAgICAgICAgU3RyaW5nPyAgICAgICAgICAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgLy8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGRhdGEgICAgICAgICAgICAgICBKc29uICAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBsYXN0RmV0Y2hlZCAgICAgICAgRGF0ZVRpbWU/CiAgbGFzdFdlYmhvb2sgICAgICAgIERhdGVUaW1lPwogIC8vLyBUT0RPOiB0aGlzIGZpZWxkIGlzIGhlcmUgYmVjYXVzZSBwcmlzbWEgZG9lc24ndCBzdXBwb3J0IGNvbXBhcmluZyBvbmUgY29sdW1uIHRvIGFub3RoZXIsIGlkZWFsbHkgd2UgY291bGQganVzdCBjaGVjayBpZiBsYXN0RmV0Y2hlZCA+IGxhc3RXZWJob29rIGJ1dCBmb3Igbm93IHdlIG5lZWQgdG8gY29udHJvbC9jaGVjayB0aGlzIGZpZWxkCiAgaXNTdGFsZSAgICAgICAgICAgIEJvb2xlYW4/CiAgLy8vIEJBU0lDIElORk8KICBwb3N0ZWQgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICAgICAgICAgIFN0cmluZz8KICBkZXNjcmlwdGlvbiAgICAgICAgU3RyaW5nPwogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICAvLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgdXJsUGF0aCAgICAgICAgICAgIFN0cmluZz8gICAgICAgICAgICBAdW5pcXVlCiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLy8gTUVUUklDUwogIHZpZXdzICAgICAgICAgICAgICBJbnQ/CiAgaW1wcmVzc2lvbnMgICAgICAgIEludD8KICBpbXByZXNzaW9uc09yZ2FuaWMgSW50PwogIGltcHJlc3Npb25zUGFpZCAgICBJbnQ/CiAgcmVhY2ggICAgICAgICAgICAgIEludD8KICByZWFjaE9yZ2FuaWMgICAgICAgSW50PwogIHJlYWNoUGFpZCAgICAgICAgICBJbnQ/CiAgd2F0Y2hIb3VycyAgICAgICAgIEZsb2F0PwogIC8vLyBFTkdBR0VNRU5UIE1FVFJJQ1MKICBsaWtlcyAgICAgICAgICAgICAgSW50PwogIGRpc2xpa2VzICAgICAgICAgICBJbnQ/CiAgY29tbWVudHMgICAgICAgICAgIEludD8KICBzYXZlcyAgICAgICAgICAgICAgSW50PwogIHNoYXJlcyAgICAgICAgICAgICBJbnQ/CiAgdXNlcklkICAgICAgICAgICAgIEludD8KICBjYW1wYWlnbklkICAgICAgICAgSW50PwogIGxpc3RzICAgICAgICAgICAgICBMaXN0VG9Tb2NpYWxQb3N0W10KICBjYW1wYWlnbiAgICAgICAgICAgQ2FtcGFpZ24/ICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICB1c2VyICAgICAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFBvc3RUYWdzICAgICBTb2NpYWxQb3N0VGFnW10KCiAgQEBpbmRleChbaXNTdGFsZV0pCiAgQEBtYXAoInNvY2lhbHBvc3QiKQp9Cgptb2RlbCBTb2NpYWxQb3N0VGFnIHsKICBpZCAgICAgICAgICAgSW50ICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgICBTdHJpbmcKICB0eXBlICAgICAgICAgU3RyaW5nCiAgc29jaWFsUG9zdElkIEludAogIHNvY2lhbFBvc3QgICBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAogIGNhbXBhaWduSW1hZ2UgICBDYW1wYWlnblRvSW1hZ2UgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSW1hZ2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiaW1hZ2UiKQp9Cgptb2RlbCBCcmFuZEltYWdlIHsKICBpZCAgICAgICAgICAgSW50ICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXJsICAgICAgICAgIFN0cmluZyAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIHNpemUgICAgICAgICBTdHJpbmcKICBicmFuZEltYWdlSWQgSW50CiAgYnJhbmRJbWFnZSAgIEJyYW5kVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZGltYWdlIikKfQoKbW9kZWwgQ291bnRyeSB7CiAgaWQgICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlDb2RlIFN0cmluZyAgICAgICAgICAgICAgQHVuaXF1ZSBAZGIuVmFyQ2hhcigyKQogIGNvdW50cnlOYW1lIFN0cmluZyAgICAgICAgICAgICAgQGRiLlZhckNoYXIoNTAwKQogIHRlbGVDb2RlICAgIFN0cmluZyAgICAgICAgICAgICAgQGRiLlZhckNoYXIoMTApCiAgY2FtcGFpZ25zICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5SWQgSW50CiAgc3RhdGVDb2RlIFN0cmluZyAgQGRiLlZhckNoYXIoNTApCiAgc3RhdGVOYW1lIFN0cmluZyAgQGRiLlZhckNoYXIoNTAwKQogIGNvdW50cnkgICBDb3VudHJ5IEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic3RhdGUiKQp9Cgptb2RlbCBQYXltZW50VHJhbnNhY3Rpb24gewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBhbW91bnQgICAgICAgICAgICBGbG9hdAogIGJhbGFuY2UgICAgICAgICAgIEZsb2F0CiAgdHlwZSAgICAgICAgICAgICAgU3RyaW5nCiAgZGF0ZSAgICAgICAgICAgICAgRGF0ZVRpbWUgICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgICAgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGFjY291bnRJZCAgICAgICAgIEludAogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyAgICAgICAgICAgICAgICBAdW5pcXVlCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQ/ICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvciAgICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gICBQYXltZW50VHJhbnNhY3Rpb24/IEByZWxhdGlvbigiVHJhbnNhY3Rpb25IaXN0b3J5IiwgZmllbGRzOiBbcHJldlRyYW5zYWN0aW9uSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRUcmFuc2FjdGlvbiAgIFBheW1lbnRUcmFuc2FjdGlvbj8gQHJlbGF0aW9uKCJUcmFuc2FjdGlvbkhpc3RvcnkiKQp9Cgptb2RlbCBCcmFuZEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgICAgICAgIEludCAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgICAgIERhdGVUaW1lICAgICAgICBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiAgICBTdHJpbmc/CiAgdXJsUGF0aCAgICAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgICAgRmxvYXQgICAgICAgICAgIEBkZWZhdWx0KDAuMikKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZElkICAgICAgICBJbnQKICBhZmZpbGlhdGVMaW5rcyBBZmZpbGlhdGVMaW5rW10KICBicmFuZCAgICAgICAgICBCcmFuZCAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBBZmZpbGlhdGVMaW5rIHsKICBpZCAgICAgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICAgICAgICBEYXRlVGltZSAgICAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgICAgICAgICAgICAgSnNvbiAgICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQogIGJyYW5kQWZmaWxpYXRlTGluayAgIEJyYW5kQWZmaWxpYXRlTGluayBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRBZmZpbGlhdGVMaW5rSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGFmZmlsaWF0ZSAgICAgICAgICAgIFVzZXIgICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgSnNvbiAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGFmZmlsaWF0ZUxpbmtJZCBJbnQKICBhZmZpbGlhdGVMaW5rICAgQWZmaWxpYXRlTGluayAgICBAcmVsYXRpb24oZmllbGRzOiBbYWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKICBhZmZpbGlhdGVFdmVudCAgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICAvLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgZXZlbnQgICAgICAgICAgICAgU3RyaW5nCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgICAgICAgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGFmZmlsaWF0ZUNsaWNrSWQgIEludAogIGFmZmlsaWF0ZUNsaWNrICAgIEFmZmlsaWF0ZUNsaWNrIEByZWxhdGlvbihmaWVsZHM6IFthZmZpbGlhdGVDbGlja0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgU2F2ZWRGaWxlIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgIFN0cmluZz8KICAvLy8gYXVkaWVuY2UtcmVwb3J0LCBzZWFyY2gtZXhwb3J0LCBjYW1wYWlnbi1pbnZpdGUKICB0eXBlICAgICAgU3RyaW5nPwogIHVybCAgICAgICBTdHJpbmc/CiAgc2F2ZWREYXRlIERhdGVUaW1lPwogIG1ldGFEYXRhICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZElkICAgSW50PwogIGJyYW5kICAgICBCcmFuZD8gICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic2F2ZWRmaWxlIikKfQoKbW9kZWwgQ2FtcGFpZ25JbnZpdGUgewogIGlkICAgICAgICAgICAgICBJbnQgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNvY2lhbFByb2ZpbGVJZCBJbnQ/CiAgYnJhbmRJZCAgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgIEludD8gICAgICAgICAgIEB1bmlxdWUKICBjb2RlICAgICAgICAgICAgU3RyaW5nPyAgICAgICAgQHVuaXF1ZQogIGNyZWF0ZWRBdCAgICAgICBEYXRlVGltZSAgICAgICBAZGVmYXVsdChub3coKSkKICBtZXRhRGF0YSAgICAgICAgSnNvbj8gICAgICAgICAgQGRlZmF1bHQoInt9IikKICBicmFuZCAgICAgICAgICAgQnJhbmQgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgQ2FtcGFpZ24/ICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICBPcHRJbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc29jaWFsUHJvZmlsZSAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBDcmVhdG9yTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgICAgICAgICBAZGVmYXVsdChub3coKSkKICBhcmNoaXZlZCAgIERhdGVUaW1lPwogIHRpdGxlICAgICAgU3RyaW5nCiAgbWV0YURhdGEgICBKc29uPyAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGJyYW5kICAgICAgQnJhbmQgICAgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgIENhbXBhaWduPyAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9ycyAgIENyZWF0b3JMaXN0SXRlbVtdCgogIEBAbWFwKCJjcmVhdG9ybGlzdCIpCn0KCm1vZGVsIENyZWF0b3JMaXN0SXRlbSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICAgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxQcm9maWxlSWQgSW50CiAgY3JlYXRvckxpc3RJZCAgIEludAogIHNhdmVkICAgICAgICAgICBEYXRlVGltZSAgICAgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgICAgICAgICBEYXRlVGltZT8KICB0YWdzICAgICAgICAgICAgSnNvbj8KICBmZWVkYmFjayAgICAgICAgU3RyaW5nPwogIGFyY2hpdmVkICAgICAgICBEYXRlVGltZT8KICBtZXRhRGF0YSAgICAgICAgSnNvbj8gICAgICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0b3JMaXN0ICAgICBDcmVhdG9yTGlzdCAgIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgc29jaWFsUHJvZmlsZSAgIFNvY2lhbFByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW3NvY2lhbFByb2ZpbGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY3JlYXRvcmxpc3RpdGVtIikKfQoKbW9kZWwgU29jaWFsUHJvZmlsZSB7CiAgaWQgICAgICAgICAgICAgICBJbnQgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIC8vLyBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzIGNhbiBuZXZlciBvdmVybGFwIGFjcm9zcyBtdWx0aXBsZSBwbGF0Zm9ybXMsIHdlIHNob3VsZCBhcHBlbmQgdGhlIHBsYXRmb3JtIHRvIHRoZSBiZWdpbm5pbmcgdG8gZW5zdXJlIGl04oCZcyBhbHdheXMgdW5pcXVlCiAgc29jaWFsSWQgICAgICAgICBTdHJpbmc/ICAgICAgICAgICBAdW5pcXVlCiAgLy8vIHJlZ2lzdGVyZWQgdXNlciBpZCwgaWYgYXZhaWxhYmxlCiAgdXNlcklkICAgICAgICAgICBJbnQ/CiAgLy8vIHNvY2lhbCBkYXRhCiAgcGxhdGZvcm0gICAgICAgICBTdHJpbmcKICB1c2VybmFtZSAgICAgICAgIFN0cmluZwogIGZ1bGxuYW1lICAgICAgICAgU3RyaW5nPwogIHByb2ZpbGVVcmwgICAgICAgU3RyaW5nPwogIC8vLyBuZWVkIHRvIHNwZWNpZnkgbGVuZ3RoLCBkZWZhdWx0IHNpemUgaXMgdG9vIHNtYWxsCiAgcHJvZmlsZVBpY1VybCAgICBTdHJpbmc/ICAgICAgICAgICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgICAgSW50PwogIGVuZ2FnZW1lbnQgICAgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgICAgSnNvbiAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgICAgIEpzb24gICAgICAgICAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICAgICBKc29uICAgICAgICAgICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICAgICAgRGF0ZVRpbWUgICAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgdXBkYXRlZCAgICAgICAgICBEYXRlVGltZT8KICBjYW1wYWlnbkludml0ZXMgIENhbXBhaWduSW52aXRlW10KICBjcmVhdG9yTGlzdEl0ZW1zIENyZWF0b3JMaXN0SXRlbVtdCiAgdXNlciAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleChbdXNlcm5hbWVdKQogIEBAbWFwKCJzb2NpYWxwcm9maWxlIikKfQoKbW9kZWwgTWVzc2FnZVRlbXBsYXRlIHsKICBpZCAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgU3RyaW5nPwogIHRlbXBsYXRlIFN0cmluZwogIGJyYW5kSWQgIEludD8KICAvLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICBicmFuZCAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoIm1lc3NhZ2V0ZW1wbGF0ZSIpCn0KCm1vZGVsIEVtYWlsVGVtcGxhdGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsYWJlbCAgICBTdHJpbmc/CiAgc3ViamVjdCAgU3RyaW5nPwogIHRlbXBsYXRlIFN0cmluZwogIGJyYW5kSWQgIEludD8KICAvLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICBicmFuZCAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICAgSW50ICAgICAgICAgICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgICAgSW50CiAgLy8vIG9wdGlvbmFsbHkgbGlua2VkIHRvIGEgY2FtcGFpZ24KICBjYW1wYWlnbklkICBJbnQ/ICAgICAgICAgICAgICAgQHVuaXF1ZQogIGNyZWF0ZWQgICAgIERhdGVUaW1lICAgICAgICAgICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICBTdHJpbmcKICAvLy8gc3BvbnNvcmVkIHBvc3RzLCB0b3AgcG9zdHMsIG9yIHJlY2VudCBwb3N0cwogIHBvc3RUeXBlICAgIFN0cmluZwogIC8vLyBmaWx0ZXJzIHRvIHNlYXJjaCBwb3N0cyBieSAobG9jYXRpb24sIGRhdGUsIGhhc2h0YWdzLCBtZW50aW9ucywgZXRjLikKICBmaWx0ZXJzICAgICBKc29uPyAgICAgICAgICAgICAgQGRlZmF1bHQoInt9IikKICAvLy8gbGFzdCB0aW1lIHBvc3RzIHdlcmUgZmV0Y2hlZAogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIHBvc3RzICAgICAgIExpc3RUb1NvY2lhbFBvc3RbXQogIGJyYW5kICAgICAgIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICAgICAgSW50ICAgICAgICAgICAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxpc3RJZCAgICAgSW50CiAgcG9zdElkICAgICBJbnQKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgU3RyaW5nCiAgZmlsdGVycyAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKICBjYW1wYWlnbklkIEludD8KICBjYW1wYWlnbiAgIENhbXBhaWduPyBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJvcHRpbnZpZXciKQp9Cgptb2RlbCBSYWt1dGVuQWN0aXZpdHkgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG9yZGVySWQgICAgICBTdHJpbmc/CiAgbWV0YURhdGEgICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZCAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNsaWNrcyAgICAgICBJbnQ/CiAgb3JkZXJzICAgICAgIEludD8KICBzYWxlcyAgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIGFkdmVydGlzZXJJZCBJbnQ/CiAgdXNlcklkICAgICAgIEludAogIHVzZXIgICAgICAgICBVc2VyICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KCm1vZGVsIFNsb3dRdWVyaWVzIHsKICBpZCAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG1vZGVsICAgICAgIFN0cmluZyAgIEBkYi5WYXJDaGFyKDI1NSkKICBvcGVyYXRpb24gICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgdGltZSAgICAgICAgSW50CiAgYXJncyAgICAgICAgSnNvbgogIGNyZWF0ZWRfYXQgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIGNvbXBsZXRlZCAgIEJvb2xlYW4KICBlbnZpcm9ubWVudCBTdHJpbmc/ICBAZGIuVmFyQ2hhcigzMikKCiAgQEBtYXAoInNsb3dfcXVlcmllcyIpCn0K",
1182
+ "inlineSchemaHash": "87dbf25c591fd56c6e0e48544371ec1fe17124af3913e2d55172afd76487318f",
1183
1183
  "noEngine": false
1184
1184
  }
1185
1185
 
@@ -1217,8 +1217,8 @@ exports.PrismaClient = PrismaClient
1217
1217
  Object.assign(exports, Prisma)
1218
1218
 
1219
1219
  // file annotations for bundling tools to include these files
1220
- path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node");
1221
- path.join(process.cwd(), "client/creatorco/client/libquery_engine-debian-openssl-3.0.x.so.node")
1220
+ path.join(__dirname, "libquery_engine-linux-arm64-openssl-3.0.x.so.node");
1221
+ path.join(process.cwd(), "client/creatorco/client/libquery_engine-linux-arm64-openssl-3.0.x.so.node")
1222
1222
  // file annotations for bundling tools to include these files
1223
1223
  path.join(__dirname, "schema.prisma");
1224
1224
  path.join(process.cwd(), "client/creatorco/client/schema.prisma")
package/package.json CHANGED
@@ -5,5 +5,5 @@
5
5
  "browser": "index-browser.js",
6
6
  "sideEffects": false,
7
7
  "description": "Prisma client for creatorco Database",
8
- "version": "1.0.3"
8
+ "version": "1.0.5"
9
9
  }
package/schema.prisma CHANGED
@@ -1,7 +1,7 @@
1
1
  generator erd {
2
2
  provider = "prisma-erd-generator"
3
3
  includeRelationFromFields = true
4
- output = "../../docs/creatorco_erd.svg"
4
+ output = "../../docs/creatorco_erd.md"
5
5
  }
6
6
 
7
7
  generator kysely {