@xeonr/upload-pool-sdk 1.0.0

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.
Files changed (402) hide show
  1. package/README.md +83 -0
  2. package/dist/errors.d.ts +14 -0
  3. package/dist/errors.d.ts.map +1 -0
  4. package/dist/errors.js +15 -0
  5. package/dist/errors.js.map +1 -0
  6. package/dist/index.d.ts +27 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +27 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/job-context.d.ts +18 -0
  11. package/dist/job-context.d.ts.map +1 -0
  12. package/dist/job-context.js +176 -0
  13. package/dist/job-context.js.map +1 -0
  14. package/dist/pool.d.ts +16 -0
  15. package/dist/pool.d.ts.map +1 -0
  16. package/dist/pool.js +111 -0
  17. package/dist/pool.js.map +1 -0
  18. package/dist/protocol/buf/validate/expression_pb.d.ts +128 -0
  19. package/dist/protocol/buf/validate/expression_pb.d.ts.map +1 -0
  20. package/dist/protocol/buf/validate/expression_pb.js +34 -0
  21. package/dist/protocol/buf/validate/expression_pb.js.map +1 -0
  22. package/dist/protocol/buf/validate/priv/private_pb.d.ts +54 -0
  23. package/dist/protocol/buf/validate/priv/private_pb.d.ts.map +1 -0
  24. package/dist/protocol/buf/validate/priv/private_pb.js +36 -0
  25. package/dist/protocol/buf/validate/priv/private_pb.js.map +1 -0
  26. package/dist/protocol/buf/validate/validate_pb.d.ts +3685 -0
  27. package/dist/protocol/buf/validate/validate_pb.d.ts.map +1 -0
  28. package/dist/protocol/buf/validate/validate_pb.js +223 -0
  29. package/dist/protocol/buf/validate/validate_pb.js.map +1 -0
  30. package/dist/protocol/gnostic/discovery/v1/discovery_pb.d.ts +816 -0
  31. package/dist/protocol/gnostic/discovery/v1/discovery_pb.d.ts.map +1 -0
  32. package/dist/protocol/gnostic/discovery/v1/discovery_pb.js +160 -0
  33. package/dist/protocol/gnostic/discovery/v1/discovery_pb.js.map +1 -0
  34. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.d.ts +2229 -0
  35. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.d.ts.map +1 -0
  36. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.js +320 -0
  37. package/dist/protocol/gnostic/openapi/v2/openapiv2_pb.js.map +1 -0
  38. package/dist/protocol/gnostic/openapi/v3/annotations_pb.d.ts +24 -0
  39. package/dist/protocol/gnostic/openapi/v3/annotations_pb.d.ts.map +1 -0
  40. package/dist/protocol/gnostic/openapi/v3/annotations_pb.js +37 -0
  41. package/dist/protocol/gnostic/openapi/v3/annotations_pb.js.map +1 -0
  42. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.d.ts +2245 -0
  43. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.d.ts.map +1 -0
  44. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.js +410 -0
  45. package/dist/protocol/gnostic/openapi/v3/openapiv3_pb.js.map +1 -0
  46. package/dist/protocol/google/api/annotations_pb.d.ts +14 -0
  47. package/dist/protocol/google/api/annotations_pb.d.ts.map +1 -0
  48. package/dist/protocol/google/api/annotations_pb.js +27 -0
  49. package/dist/protocol/google/api/annotations_pb.js.map +1 -0
  50. package/dist/protocol/google/api/client_pb.d.ts +1034 -0
  51. package/dist/protocol/google/api/client_pb.d.ts.map +1 -0
  52. package/dist/protocol/google/api/client_pb.js +338 -0
  53. package/dist/protocol/google/api/client_pb.js.map +1 -0
  54. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.d.ts +672 -0
  55. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.d.ts.map +1 -0
  56. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.js +176 -0
  57. package/dist/protocol/google/api/expr/v1alpha1/checked_pb.js.map +1 -0
  58. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.d.ts +185 -0
  59. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.d.ts.map +1 -0
  60. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.js +46 -0
  61. package/dist/protocol/google/api/expr/v1alpha1/eval_pb.js.map +1 -0
  62. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.d.ts +68 -0
  63. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.d.ts.map +1 -0
  64. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.js +32 -0
  65. package/dist/protocol/google/api/expr/v1alpha1/explain_pb.js.map +1 -0
  66. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.d.ts +796 -0
  67. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.d.ts.map +1 -0
  68. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.js +128 -0
  69. package/dist/protocol/google/api/expr/v1alpha1/syntax_pb.js.map +1 -0
  70. package/dist/protocol/google/api/expr/v1alpha1/value_pb.d.ts +224 -0
  71. package/dist/protocol/google/api/expr/v1alpha1/value_pb.d.ts.map +1 -0
  72. package/dist/protocol/google/api/expr/v1alpha1/value_pb.js +45 -0
  73. package/dist/protocol/google/api/expr/v1alpha1/value_pb.js.map +1 -0
  74. package/dist/protocol/google/api/expr/v1beta1/decl_pb.d.ts +151 -0
  75. package/dist/protocol/google/api/expr/v1beta1/decl_pb.d.ts.map +1 -0
  76. package/dist/protocol/google/api/expr/v1beta1/decl_pb.js +41 -0
  77. package/dist/protocol/google/api/expr/v1beta1/decl_pb.js.map +1 -0
  78. package/dist/protocol/google/api/expr/v1beta1/eval_pb.d.ts +203 -0
  79. package/dist/protocol/google/api/expr/v1beta1/eval_pb.d.ts.map +1 -0
  80. package/dist/protocol/google/api/expr/v1beta1/eval_pb.js +52 -0
  81. package/dist/protocol/google/api/expr/v1beta1/eval_pb.js.map +1 -0
  82. package/dist/protocol/google/api/expr/v1beta1/expr_pb.d.ts +504 -0
  83. package/dist/protocol/google/api/expr/v1beta1/expr_pb.d.ts.map +1 -0
  84. package/dist/protocol/google/api/expr/v1beta1/expr_pb.js +72 -0
  85. package/dist/protocol/google/api/expr/v1beta1/expr_pb.js.map +1 -0
  86. package/dist/protocol/google/api/expr/v1beta1/source_pb.d.ts +86 -0
  87. package/dist/protocol/google/api/expr/v1beta1/source_pb.d.ts.map +1 -0
  88. package/dist/protocol/google/api/expr/v1beta1/source_pb.js +30 -0
  89. package/dist/protocol/google/api/expr/v1beta1/source_pb.js.map +1 -0
  90. package/dist/protocol/google/api/expr/v1beta1/value_pb.d.ts +224 -0
  91. package/dist/protocol/google/api/expr/v1beta1/value_pb.d.ts.map +1 -0
  92. package/dist/protocol/google/api/expr/v1beta1/value_pb.js +46 -0
  93. package/dist/protocol/google/api/expr/v1beta1/value_pb.js.map +1 -0
  94. package/dist/protocol/google/api/field_behavior_pb.d.ts +122 -0
  95. package/dist/protocol/google/api/field_behavior_pb.d.ts.map +1 -0
  96. package/dist/protocol/google/api/field_behavior_pb.js +136 -0
  97. package/dist/protocol/google/api/field_behavior_pb.js.map +1 -0
  98. package/dist/protocol/google/api/field_info_pb.d.ts +140 -0
  99. package/dist/protocol/google/api/field_info_pb.d.ts.map +1 -0
  100. package/dist/protocol/google/api/field_info_pb.js +108 -0
  101. package/dist/protocol/google/api/field_info_pb.js.map +1 -0
  102. package/dist/protocol/google/api/http_pb.d.ts +441 -0
  103. package/dist/protocol/google/api/http_pb.d.ts.map +1 -0
  104. package/dist/protocol/google/api/http_pb.js +34 -0
  105. package/dist/protocol/google/api/http_pb.js.map +1 -0
  106. package/dist/protocol/google/api/httpbody_pb.d.ts +81 -0
  107. package/dist/protocol/google/api/httpbody_pb.d.ts.map +1 -0
  108. package/dist/protocol/google/api/httpbody_pb.js +25 -0
  109. package/dist/protocol/google/api/httpbody_pb.js.map +1 -0
  110. package/dist/protocol/google/api/launch_stage_pb.d.ts +87 -0
  111. package/dist/protocol/google/api/launch_stage_pb.d.ts.map +1 -0
  112. package/dist/protocol/google/api/launch_stage_pb.js +101 -0
  113. package/dist/protocol/google/api/launch_stage_pb.js.map +1 -0
  114. package/dist/protocol/google/api/resource_pb.d.ts +304 -0
  115. package/dist/protocol/google/api/resource_pb.d.ts.map +1 -0
  116. package/dist/protocol/google/api/resource_pb.js +116 -0
  117. package/dist/protocol/google/api/resource_pb.js.map +1 -0
  118. package/dist/protocol/google/api/routing_pb.d.ts +476 -0
  119. package/dist/protocol/google/api/routing_pb.d.ts.map +1 -0
  120. package/dist/protocol/google/api/routing_pb.js +36 -0
  121. package/dist/protocol/google/api/routing_pb.js.map +1 -0
  122. package/dist/protocol/google/api/visibility_pb.d.ts +128 -0
  123. package/dist/protocol/google/api/visibility_pb.d.ts.map +1 -0
  124. package/dist/protocol/google/api/visibility_pb.js +66 -0
  125. package/dist/protocol/google/api/visibility_pb.js.map +1 -0
  126. package/dist/protocol/google/bytestream/bytestream_pb.d.ts +278 -0
  127. package/dist/protocol/google/bytestream/bytestream_pb.d.ts.map +1 -0
  128. package/dist/protocol/google/bytestream/bytestream_pb.js +77 -0
  129. package/dist/protocol/google/bytestream/bytestream_pb.js.map +1 -0
  130. package/dist/protocol/google/geo/type/viewport_pb.d.ts +66 -0
  131. package/dist/protocol/google/geo/type/viewport_pb.d.ts.map +1 -0
  132. package/dist/protocol/google/geo/type/viewport_pb.js +26 -0
  133. package/dist/protocol/google/geo/type/viewport_pb.js.map +1 -0
  134. package/dist/protocol/google/iam/v1/iam_policy_pb.d.ts +193 -0
  135. package/dist/protocol/google/iam/v1/iam_policy_pb.d.ts.map +1 -0
  136. package/dist/protocol/google/iam/v1/iam_policy_pb.js +76 -0
  137. package/dist/protocol/google/iam/v1/iam_policy_pb.js.map +1 -0
  138. package/dist/protocol/google/iam/v1/options_pb.d.ts +42 -0
  139. package/dist/protocol/google/iam/v1/options_pb.d.ts.map +1 -0
  140. package/dist/protocol/google/iam/v1/options_pb.js +24 -0
  141. package/dist/protocol/google/iam/v1/options_pb.js.map +1 -0
  142. package/dist/protocol/google/iam/v1/policy_pb.d.ts +571 -0
  143. package/dist/protocol/google/iam/v1/policy_pb.d.ts.map +1 -0
  144. package/dist/protocol/google/iam/v1/policy_pb.js +152 -0
  145. package/dist/protocol/google/iam/v1/policy_pb.js.map +1 -0
  146. package/dist/protocol/google/longrunning/operations_pb.d.ts +398 -0
  147. package/dist/protocol/google/longrunning/operations_pb.d.ts.map +1 -0
  148. package/dist/protocol/google/longrunning/operations_pb.js +89 -0
  149. package/dist/protocol/google/longrunning/operations_pb.js.map +1 -0
  150. package/dist/protocol/google/rpc/code_pb.d.ts +228 -0
  151. package/dist/protocol/google/rpc/code_pb.d.ts.map +1 -0
  152. package/dist/protocol/google/rpc/code_pb.js +242 -0
  153. package/dist/protocol/google/rpc/code_pb.js.map +1 -0
  154. package/dist/protocol/google/rpc/context/attribute_context_pb.d.ts +560 -0
  155. package/dist/protocol/google/rpc/context/attribute_context_pb.d.ts.map +1 -0
  156. package/dist/protocol/google/rpc/context/attribute_context_pb.js +55 -0
  157. package/dist/protocol/google/rpc/context/attribute_context_pb.js.map +1 -0
  158. package/dist/protocol/google/rpc/error_details_pb.d.ts +581 -0
  159. package/dist/protocol/google/rpc/error_details_pb.d.ts.map +1 -0
  160. package/dist/protocol/google/rpc/error_details_pb.js +90 -0
  161. package/dist/protocol/google/rpc/error_details_pb.js.map +1 -0
  162. package/dist/protocol/google/rpc/status_pb.d.ts +49 -0
  163. package/dist/protocol/google/rpc/status_pb.d.ts.map +1 -0
  164. package/dist/protocol/google/rpc/status_pb.js +25 -0
  165. package/dist/protocol/google/rpc/status_pb.js.map +1 -0
  166. package/dist/protocol/google/type/calendar_period_pb.d.ts +71 -0
  167. package/dist/protocol/google/type/calendar_period_pb.d.ts.map +1 -0
  168. package/dist/protocol/google/type/calendar_period_pb.js +85 -0
  169. package/dist/protocol/google/type/calendar_period_pb.js.map +1 -0
  170. package/dist/protocol/google/type/color_pb.d.ts +176 -0
  171. package/dist/protocol/google/type/color_pb.d.ts.map +1 -0
  172. package/dist/protocol/google/type/color_pb.js +25 -0
  173. package/dist/protocol/google/type/color_pb.js.map +1 -0
  174. package/dist/protocol/google/type/date_pb.d.ts +56 -0
  175. package/dist/protocol/google/type/date_pb.d.ts.map +1 -0
  176. package/dist/protocol/google/type/date_pb.js +24 -0
  177. package/dist/protocol/google/type/date_pb.js.map +1 -0
  178. package/dist/protocol/google/type/datetime_pb.d.ts +148 -0
  179. package/dist/protocol/google/type/datetime_pb.d.ts.map +1 -0
  180. package/dist/protocol/google/type/datetime_pb.js +30 -0
  181. package/dist/protocol/google/type/datetime_pb.js.map +1 -0
  182. package/dist/protocol/google/type/dayofweek_pb.d.ts +65 -0
  183. package/dist/protocol/google/type/dayofweek_pb.d.ts.map +1 -0
  184. package/dist/protocol/google/type/dayofweek_pb.js +79 -0
  185. package/dist/protocol/google/type/dayofweek_pb.js.map +1 -0
  186. package/dist/protocol/google/type/decimal_pb.d.ts +89 -0
  187. package/dist/protocol/google/type/decimal_pb.d.ts.map +1 -0
  188. package/dist/protocol/google/type/decimal_pb.js +24 -0
  189. package/dist/protocol/google/type/decimal_pb.js.map +1 -0
  190. package/dist/protocol/google/type/expr_pb.d.ts +78 -0
  191. package/dist/protocol/google/type/expr_pb.d.ts.map +1 -0
  192. package/dist/protocol/google/type/expr_pb.js +24 -0
  193. package/dist/protocol/google/type/expr_pb.js.map +1 -0
  194. package/dist/protocol/google/type/fraction_pb.d.ts +32 -0
  195. package/dist/protocol/google/type/fraction_pb.d.ts.map +1 -0
  196. package/dist/protocol/google/type/fraction_pb.js +24 -0
  197. package/dist/protocol/google/type/fraction_pb.js.map +1 -0
  198. package/dist/protocol/google/type/interval_pb.d.ts +43 -0
  199. package/dist/protocol/google/type/interval_pb.d.ts.map +1 -0
  200. package/dist/protocol/google/type/interval_pb.js +25 -0
  201. package/dist/protocol/google/type/interval_pb.js.map +1 -0
  202. package/dist/protocol/google/type/latlng_pb.d.ts +35 -0
  203. package/dist/protocol/google/type/latlng_pb.d.ts.map +1 -0
  204. package/dist/protocol/google/type/latlng_pb.js +24 -0
  205. package/dist/protocol/google/type/latlng_pb.js.map +1 -0
  206. package/dist/protocol/google/type/localized_text_pb.d.ts +35 -0
  207. package/dist/protocol/google/type/localized_text_pb.d.ts.map +1 -0
  208. package/dist/protocol/google/type/localized_text_pb.js +24 -0
  209. package/dist/protocol/google/type/localized_text_pb.js.map +1 -0
  210. package/dist/protocol/google/type/money_pb.d.ts +43 -0
  211. package/dist/protocol/google/type/money_pb.d.ts.map +1 -0
  212. package/dist/protocol/google/type/money_pb.js +24 -0
  213. package/dist/protocol/google/type/money_pb.js.map +1 -0
  214. package/dist/protocol/google/type/month_pb.d.ts +95 -0
  215. package/dist/protocol/google/type/month_pb.d.ts.map +1 -0
  216. package/dist/protocol/google/type/month_pb.js +109 -0
  217. package/dist/protocol/google/type/month_pb.js.map +1 -0
  218. package/dist/protocol/google/type/phone_number_pb.d.ts +145 -0
  219. package/dist/protocol/google/type/phone_number_pb.d.ts.map +1 -0
  220. package/dist/protocol/google/type/phone_number_pb.js +29 -0
  221. package/dist/protocol/google/type/phone_number_pb.js.map +1 -0
  222. package/dist/protocol/google/type/postal_address_pb.d.ts +160 -0
  223. package/dist/protocol/google/type/postal_address_pb.d.ts.map +1 -0
  224. package/dist/protocol/google/type/postal_address_pb.js +24 -0
  225. package/dist/protocol/google/type/postal_address_pb.js.map +1 -0
  226. package/dist/protocol/google/type/quaternion_pb.d.ts +99 -0
  227. package/dist/protocol/google/type/quaternion_pb.d.ts.map +1 -0
  228. package/dist/protocol/google/type/quaternion_pb.js +24 -0
  229. package/dist/protocol/google/type/quaternion_pb.js.map +1 -0
  230. package/dist/protocol/google/type/timeofday_pb.d.ts +52 -0
  231. package/dist/protocol/google/type/timeofday_pb.d.ts.map +1 -0
  232. package/dist/protocol/google/type/timeofday_pb.js +24 -0
  233. package/dist/protocol/google/type/timeofday_pb.js.map +1 -0
  234. package/dist/protocol/uplim/api/v1/account_pb.d.ts +144 -0
  235. package/dist/protocol/uplim/api/v1/account_pb.d.ts.map +1 -0
  236. package/dist/protocol/uplim/api/v1/account_pb.js +100 -0
  237. package/dist/protocol/uplim/api/v1/account_pb.js.map +1 -0
  238. package/dist/protocol/uplim/api/v1/auth_pb.d.ts +231 -0
  239. package/dist/protocol/uplim/api/v1/auth_pb.d.ts.map +1 -0
  240. package/dist/protocol/uplim/api/v1/auth_pb.js +65 -0
  241. package/dist/protocol/uplim/api/v1/auth_pb.js.map +1 -0
  242. package/dist/protocol/uplim/api/v1/buckets_pb.d.ts +1920 -0
  243. package/dist/protocol/uplim/api/v1/buckets_pb.d.ts.map +1 -0
  244. package/dist/protocol/uplim/api/v1/buckets_pb.js +471 -0
  245. package/dist/protocol/uplim/api/v1/buckets_pb.js.map +1 -0
  246. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.d.ts +398 -0
  247. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.d.ts.map +1 -0
  248. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.js +79 -0
  249. package/dist/protocol/uplim/api/v1/content_type_matcher_pb.js.map +1 -0
  250. package/dist/protocol/uplim/api/v1/events_pb.d.ts +767 -0
  251. package/dist/protocol/uplim/api/v1/events_pb.d.ts.map +1 -0
  252. package/dist/protocol/uplim/api/v1/events_pb.js +242 -0
  253. package/dist/protocol/uplim/api/v1/events_pb.js.map +1 -0
  254. package/dist/protocol/uplim/api/v1/integration_admin_pb.d.ts +1059 -0
  255. package/dist/protocol/uplim/api/v1/integration_admin_pb.d.ts.map +1 -0
  256. package/dist/protocol/uplim/api/v1/integration_admin_pb.js +209 -0
  257. package/dist/protocol/uplim/api/v1/integration_admin_pb.js.map +1 -0
  258. package/dist/protocol/uplim/api/v1/integration_install_pb.d.ts +313 -0
  259. package/dist/protocol/uplim/api/v1/integration_install_pb.d.ts.map +1 -0
  260. package/dist/protocol/uplim/api/v1/integration_install_pb.js +129 -0
  261. package/dist/protocol/uplim/api/v1/integration_install_pb.js.map +1 -0
  262. package/dist/protocol/uplim/api/v1/integration_types_pb.d.ts +767 -0
  263. package/dist/protocol/uplim/api/v1/integration_types_pb.d.ts.map +1 -0
  264. package/dist/protocol/uplim/api/v1/integration_types_pb.js +221 -0
  265. package/dist/protocol/uplim/api/v1/integration_types_pb.js.map +1 -0
  266. package/dist/protocol/uplim/api/v1/integrations_pb.d.ts +807 -0
  267. package/dist/protocol/uplim/api/v1/integrations_pb.d.ts.map +1 -0
  268. package/dist/protocol/uplim/api/v1/integrations_pb.js +169 -0
  269. package/dist/protocol/uplim/api/v1/integrations_pb.js.map +1 -0
  270. package/dist/protocol/uplim/api/v1/internal_pb.d.ts +204 -0
  271. package/dist/protocol/uplim/api/v1/internal_pb.d.ts.map +1 -0
  272. package/dist/protocol/uplim/api/v1/internal_pb.js +118 -0
  273. package/dist/protocol/uplim/api/v1/internal_pb.js.map +1 -0
  274. package/dist/protocol/uplim/api/v1/metadata_pb.d.ts +265 -0
  275. package/dist/protocol/uplim/api/v1/metadata_pb.d.ts.map +1 -0
  276. package/dist/protocol/uplim/api/v1/metadata_pb.js +50 -0
  277. package/dist/protocol/uplim/api/v1/metadata_pb.js.map +1 -0
  278. package/dist/protocol/uplim/api/v1/public-buckets_pb.d.ts +64 -0
  279. package/dist/protocol/uplim/api/v1/public-buckets_pb.d.ts.map +1 -0
  280. package/dist/protocol/uplim/api/v1/public-buckets_pb.js +28 -0
  281. package/dist/protocol/uplim/api/v1/public-buckets_pb.js.map +1 -0
  282. package/dist/protocol/uplim/api/v1/public-uploads_pb.d.ts +461 -0
  283. package/dist/protocol/uplim/api/v1/public-uploads_pb.d.ts.map +1 -0
  284. package/dist/protocol/uplim/api/v1/public-uploads_pb.js +139 -0
  285. package/dist/protocol/uplim/api/v1/public-uploads_pb.js.map +1 -0
  286. package/dist/protocol/uplim/api/v1/upload-aliases_pb.d.ts +396 -0
  287. package/dist/protocol/uplim/api/v1/upload-aliases_pb.d.ts.map +1 -0
  288. package/dist/protocol/uplim/api/v1/upload-aliases_pb.js +69 -0
  289. package/dist/protocol/uplim/api/v1/upload-aliases_pb.js.map +1 -0
  290. package/dist/protocol/uplim/api/v1/uploads_pb.d.ts +3736 -0
  291. package/dist/protocol/uplim/api/v1/uploads_pb.d.ts.map +1 -0
  292. package/dist/protocol/uplim/api/v1/uploads_pb.js +732 -0
  293. package/dist/protocol/uplim/api/v1/uploads_pb.js.map +1 -0
  294. package/dist/protocol/uplim/workflow/v1/activities_pb.d.ts +394 -0
  295. package/dist/protocol/uplim/workflow/v1/activities_pb.d.ts.map +1 -0
  296. package/dist/protocol/uplim/workflow/v1/activities_pb.js +122 -0
  297. package/dist/protocol/uplim/workflow/v1/activities_pb.js.map +1 -0
  298. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.d.ts +486 -0
  299. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.d.ts.map +1 -0
  300. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.js +158 -0
  301. package/dist/protocol/uplim/workflow/v1/integration_queue_admin_pb.js.map +1 -0
  302. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.d.ts +289 -0
  303. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.d.ts.map +1 -0
  304. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.js +66 -0
  305. package/dist/protocol/uplim/workflow/v1/integration_queue_pb.js.map +1 -0
  306. package/dist/protocol/uplim/workflow/v1/workflows_pb.d.ts +602 -0
  307. package/dist/protocol/uplim/workflow/v1/workflows_pb.d.ts.map +1 -0
  308. package/dist/protocol/uplim/workflow/v1/workflows_pb.js +194 -0
  309. package/dist/protocol/uplim/workflow/v1/workflows_pb.js.map +1 -0
  310. package/dist/rpc-clients.d.ts +9 -0
  311. package/dist/rpc-clients.d.ts.map +1 -0
  312. package/dist/rpc-clients.js +24 -0
  313. package/dist/rpc-clients.js.map +1 -0
  314. package/dist/sse-client.d.ts +20 -0
  315. package/dist/sse-client.d.ts.map +1 -0
  316. package/dist/sse-client.js +68 -0
  317. package/dist/sse-client.js.map +1 -0
  318. package/dist/types.d.ts +174 -0
  319. package/dist/types.d.ts.map +1 -0
  320. package/dist/types.js +17 -0
  321. package/dist/types.js.map +1 -0
  322. package/package.json +47 -0
  323. package/src/errors.ts +14 -0
  324. package/src/index.ts +41 -0
  325. package/src/job-context.ts +244 -0
  326. package/src/pool.ts +143 -0
  327. package/src/protocol/buf/validate/expression_pb.ts +163 -0
  328. package/src/protocol/buf/validate/priv/private_pb.ts +86 -0
  329. package/src/protocol/buf/validate/validate_pb.ts +3802 -0
  330. package/src/protocol/gnostic/discovery/v1/discovery_pb.ts +1020 -0
  331. package/src/protocol/gnostic/openapi/v2/openapiv2_pb.ts +2679 -0
  332. package/src/protocol/gnostic/openapi/v3/annotations_pb.ts +55 -0
  333. package/src/protocol/gnostic/openapi/v3/openapiv3_pb.ts +2660 -0
  334. package/src/protocol/google/api/annotations_pb.ts +39 -0
  335. package/src/protocol/google/api/client_pb.ts +1183 -0
  336. package/src/protocol/google/api/expr/v1alpha1/checked_pb.ts +751 -0
  337. package/src/protocol/google/api/expr/v1alpha1/eval_pb.ts +222 -0
  338. package/src/protocol/google/api/expr/v1alpha1/explain_pb.ts +98 -0
  339. package/src/protocol/google/api/expr/v1alpha1/syntax_pb.ts +882 -0
  340. package/src/protocol/google/api/expr/v1alpha1/value_pb.ts +260 -0
  341. package/src/protocol/google/api/expr/v1beta1/decl_pb.ts +191 -0
  342. package/src/protocol/google/api/expr/v1beta1/eval_pb.ts +244 -0
  343. package/src/protocol/google/api/expr/v1beta1/expr_pb.ts +565 -0
  344. package/src/protocol/google/api/expr/v1beta1/source_pb.ts +117 -0
  345. package/src/protocol/google/api/expr/v1beta1/value_pb.ts +261 -0
  346. package/src/protocol/google/api/field_behavior_pb.ts +157 -0
  347. package/src/protocol/google/api/field_info_pb.ts +178 -0
  348. package/src/protocol/google/api/http_pb.ts +474 -0
  349. package/src/protocol/google/api/httpbody_pb.ts +108 -0
  350. package/src/protocol/google/api/launch_stage_pb.ts +118 -0
  351. package/src/protocol/google/api/resource_pb.ts +354 -0
  352. package/src/protocol/google/api/routing_pb.ts +507 -0
  353. package/src/protocol/google/api/visibility_pb.ts +169 -0
  354. package/src/protocol/google/bytestream/bytestream_pb.ts +325 -0
  355. package/src/protocol/google/geo/type/viewport_pb.ts +93 -0
  356. package/src/protocol/google/iam/v1/iam_policy_pb.ts +239 -0
  357. package/src/protocol/google/iam/v1/options_pb.ts +66 -0
  358. package/src/protocol/google/iam/v1/policy_pb.ts +644 -0
  359. package/src/protocol/google/longrunning/operations_pb.ts +460 -0
  360. package/src/protocol/google/rpc/code_pb.ts +268 -0
  361. package/src/protocol/google/rpc/context/attribute_context_pb.ts +638 -0
  362. package/src/protocol/google/rpc/error_details_pb.ts +662 -0
  363. package/src/protocol/google/rpc/status_pb.ts +76 -0
  364. package/src/protocol/google/type/calendar_period_pb.ts +102 -0
  365. package/src/protocol/google/type/color_pb.ts +204 -0
  366. package/src/protocol/google/type/date_pb.ts +82 -0
  367. package/src/protocol/google/type/datetime_pb.ts +181 -0
  368. package/src/protocol/google/type/dayofweek_pb.ts +96 -0
  369. package/src/protocol/google/type/decimal_pb.ts +113 -0
  370. package/src/protocol/google/type/expr_pb.ts +105 -0
  371. package/src/protocol/google/type/fraction_pb.ts +57 -0
  372. package/src/protocol/google/type/interval_pb.ts +69 -0
  373. package/src/protocol/google/type/latlng_pb.ts +60 -0
  374. package/src/protocol/google/type/localized_text_pb.ts +60 -0
  375. package/src/protocol/google/type/money_pb.ts +69 -0
  376. package/src/protocol/google/type/month_pb.ts +131 -0
  377. package/src/protocol/google/type/phone_number_pb.ts +171 -0
  378. package/src/protocol/google/type/postal_address_pb.ts +194 -0
  379. package/src/protocol/google/type/quaternion_pb.ts +126 -0
  380. package/src/protocol/google/type/timeofday_pb.ts +79 -0
  381. package/src/protocol/uplim/api/v1/account_pb.ts +178 -0
  382. package/src/protocol/uplim/api/v1/auth_pb.ts +278 -0
  383. package/src/protocol/uplim/api/v1/buckets_pb.ts +2214 -0
  384. package/src/protocol/uplim/api/v1/content_type_matcher_pb.ts +448 -0
  385. package/src/protocol/uplim/api/v1/events_pb.ts +874 -0
  386. package/src/protocol/uplim/api/v1/integration_admin_pb.ts +1237 -0
  387. package/src/protocol/uplim/api/v1/integration_install_pb.ts +386 -0
  388. package/src/protocol/uplim/api/v1/integration_types_pb.ts +896 -0
  389. package/src/protocol/uplim/api/v1/integrations_pb.ts +944 -0
  390. package/src/protocol/uplim/api/v1/internal_pb.ts +234 -0
  391. package/src/protocol/uplim/api/v1/metadata_pb.ts +305 -0
  392. package/src/protocol/uplim/api/v1/public-buckets_pb.ts +83 -0
  393. package/src/protocol/uplim/api/v1/public-uploads_pb.ts +543 -0
  394. package/src/protocol/uplim/api/v1/upload-aliases_pb.ts +468 -0
  395. package/src/protocol/uplim/api/v1/uploads_pb.ts +4294 -0
  396. package/src/protocol/uplim/workflow/v1/activities_pb.ts +488 -0
  397. package/src/protocol/uplim/workflow/v1/integration_queue_admin_pb.ts +594 -0
  398. package/src/protocol/uplim/workflow/v1/integration_queue_pb.ts +353 -0
  399. package/src/protocol/uplim/workflow/v1/workflows_pb.ts +746 -0
  400. package/src/rpc-clients.ts +29 -0
  401. package/src/sse-client.ts +83 -0
  402. package/src/types.ts +169 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate_pb.d.ts","sourceRoot":"","sources":["../../../../src/protocol/buf/validate/validate_pb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,223 @@
1
+ // Copyright 2023 Buf Technologies, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { enumDesc, extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
15
+ import { file_buf_validate_expression } from "./expression_pb.js";
16
+ import { file_buf_validate_priv_private } from "./priv/private_pb.js";
17
+ import { file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
18
+ /**
19
+ * Describes the file buf/validate/validate.proto.
20
+ */
21
+ export const file_buf_validate_validate = /*@__PURE__*/ fileDesc("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSJfChJNZXNzYWdlQ29uc3RyYWludHMSFQoIZGlzYWJsZWQYASABKAhIAIgBARIlCgNjZWwYAyADKAsyGC5idWYudmFsaWRhdGUuQ29uc3RyYWludEILCglfZGlzYWJsZWQiNgoQT25lb2ZDb25zdHJhaW50cxIVCghyZXF1aXJlZBgBIAEoCEgAiAEBQgsKCV9yZXF1aXJlZCLTCAoQRmllbGRDb25zdHJhaW50cxIlCgNjZWwYFyADKAsyGC5idWYudmFsaWRhdGUuQ29uc3RyYWludBIPCgdza2lwcGVkGBggASgIEhAKCHJlcXVpcmVkGBkgASgIEhgKDGlnbm9yZV9lbXB0eRgaIAEoCEICGAESJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMQoJdGltZXN0YW1wGBYgASgLMhwuYnVmLnZhbGlkYXRlLlRpbWVzdGFtcFJ1bGVzSABCBgoEdHlwZSL2FgoKRmxvYXRSdWxlcxJuCgVjb25zdBgBIAEoAkJawkhXClUKC2Zsb2F0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnSAKIAQESnwEKAmx0GAIgASgCQpABwkiMAQqJAQoIZmxvYXQubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASrwEKA2x0ZRgDIAEoAkKfAcJImwEKmAEKCWZsb2F0Lmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEu8HCgJndBgEIAEoAkLgB8JI3AcKjQEKCGZsb2F0Lmd0GoABIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKwwEKC2Zsb2F0Lmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKFWZsb2F0Lmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtMBCgxmbG9hdC5ndF9sdGUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrdAQoWZmxvYXQuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESuggKA2d0ZRgFIAEoAkKqCMJIpggKmwEKCWZsb2F0Lmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrSAQoMZmxvYXQuZ3RlX2x0GsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoWZmxvYXQuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4gEKDWZsb2F0Lmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCuwBChdmbG9hdC5ndGVfbHRlX2V4Y2x1c2l2ZRrQAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoAkJpwkhmCmQKCGZsb2F0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoAkJmwkhjCmEKDGZsb2F0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEl8KBmZpbml0ZRgIIAEoCEJPwkhMCkoKDGZsb2F0LmZpbml0ZRo6dGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJ0ILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuQggKBl9jb25zdCKHFwoLRG91YmxlUnVsZXMSbwoFY29uc3QYASABKAFCW8JIWApWCgxkb3VibGUuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJydIAogBARKgAQoCbHQYAiABKAFCkQHCSI0BCooBCglkb3VibGUubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASsAEKA2x0ZRgDIAEoAUKgAcJInAEKmQEKCmRvdWJsZS5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL0BwoCZ3QYBCABKAFC5QfCSOEHCo4BCglkb3VibGUuZ3QagAEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwrEAQoMZG91YmxlLmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKFmRvdWJsZS5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrUAQoNZG91YmxlLmd0X2x0ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCt4BChdkb3VibGUuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESvwgKA2d0ZRgFIAEoAUKvCMJIqwgKnAEKCmRvdWJsZS5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0wEKDWRvdWJsZS5ndGVfbHQawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BChdkb3VibGUuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4wEKDmRvdWJsZS5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrtAQoYZG91YmxlLmd0ZV9sdGVfZXhjbHVzaXZlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygBQmrCSGcKZQoJZG91YmxlLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoAUJnwkhkCmIKDWRvdWJsZS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJgCgZmaW5pdGUYCCABKAhCUMJITQpLCg1kb3VibGUuZmluaXRlGjp0aGlzLmlzTmFuKCkgfHwgdGhpcy5pc0luZigpID8gJ3ZhbHVlIG11c3QgYmUgZmluaXRlJyA6ICcnQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW5CCAoGX2NvbnN0Ir4UCgpJbnQzMlJ1bGVzEm4KBWNvbnN0GAEgASgFQlrCSFcKVQoLaW50MzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJydIAogBARKKAQoCbHQYAiABKAVCfMJIeQp3CghpbnQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKcAQoDbHRlGAMgASgFQowBwkiIAQqFAQoJaW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKXBwoCZ3QYBCABKAVCiAfCSIQHCnoKCGludDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqzAQoLaW50MzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrsBChVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrDAQoMaW50MzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrLAQoWaW50MzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES4wcKA2d0ZRgFIAEoBULTB8JIzwcKiAEKCWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsIBCgxpbnQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKygEKFmludDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtIBCg1pbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtoBChdpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoBUJpwkhmCmQKCGludDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoBUJmwkhjCmEKDGludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW5CCAoGX2NvbnN0IswUCgpJbnQ2NFJ1bGVzEnAKBWNvbnN0GAEgASgDQlwwAcJIVwpVCgtpbnQ2NC5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJ0gCiAEBEowBCgJsdBgCIAEoA0J+MAHCSHkKdwoIaW50NjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoA0KOATABwkiIAQqFAQoJaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKZBwoCZ3QYBCABKANCigcwAcJIhAcKegoIaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLlBwoDZ3RlGAUgASgDQtUHMAHCSM8HCogBCglpbnQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrCAQoMaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsoBChZpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrSAQoNaW50NjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwraAQoXaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdwoCaW4YBiADKANCazABwkhmCmQKCGludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEngKBm5vdF9pbhgHIAMoA0JoMAHCSGMKYQoMaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJydCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbkIICgZfY29uc3QizhQKC1VJbnQzMlJ1bGVzEm8KBWNvbnN0GAEgASgNQlvCSFgKVgoMdWludDMyLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnSAKIAQESiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdgoCaW4YBiADKA1CasJIZwplCgl1aW50MzIuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdwoGbm90X2luGAcgAygNQmfCSGQKYgoNdWludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW5CCAoGX2NvbnN0ItwUCgtVSW50NjRSdWxlcxJxCgVjb25zdBgBIAEoBEJdMAHCSFgKVgoMdWludDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnSAKIAQESjQEKAmx0GAIgASgEQn8wAcJIegp4Cgl1aW50NjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnwEKA2x0ZRgDIAEoBEKPATABwkiJAQqGAQoKdWludDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASngcKAmd0GAQgASgEQo8HMAHCSIkHCnsKCXVpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLqBwoDZ3RlGAUgASgEQtoHMAHCSNQHCokBCgp1aW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXVpbnQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3VpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOdWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHVpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ4CgJpbhgGIAMoBEJsMAHCSGcKZQoJdWludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnkKBm5vdF9pbhgHIAMoBEJpMAHCSGQKYgoNdWludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW5CCAoGX2NvbnN0Is4UCgtTSW50MzJSdWxlcxJvCgVjb25zdBgBIAEoEUJbwkhYClYKDHNpbnQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJ0gCiAEBEosBCgJsdBgCIAEoEUJ9wkh6CngKCXNpbnQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKdAQoDbHRlGAMgASgRQo0BwkiJAQqGAQoKc2ludDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASnAcKAmd0GAQgASgRQo0HwkiJBwp7CglzaW50MzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrQBCgxzaW50MzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrwBChZzaW50MzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxAEKDXNpbnQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCswBChdzaW50MzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES6AcKA2d0ZRgFIAEoEULYB8JI1AcKiQEKCnNpbnQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrDAQoNc2ludDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrLAQoXc2ludDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtMBCg5zaW50MzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrbAQoYc2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygRQmrCSGcKZQoJc2ludDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoEUJnwkhkCmIKDXNpbnQzMi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJ0ILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuQggKBl9jb25zdCLcFAoLU0ludDY0UnVsZXMScQoFY29uc3QYASABKBJCXTABwkhYClYKDHNpbnQ2NC5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJ0gCiAEBEo0BCgJsdBgCIAEoEkJ/MAHCSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp8BCgNsdGUYAyABKBJCjwEwAcJIiQEKhgEKCnNpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEp4HCgJndBgEIAEoEkKPBzABwkiJBwp7CglzaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrQBCgxzaW50NjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrwBChZzaW50NjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxAEKDXNpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCswBChdzaW50NjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES6gcKA2d0ZRgFIAEoEkLaBzABwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESeAoCaW4YBiADKBJCbDABwkhnCmUKCXNpbnQ2NC5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ5CgZub3RfaW4YByADKBJCaTABwkhkCmIKDXNpbnQ2NC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJ0ILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuQggKBl9jb25zdCLeFAoMRml4ZWQzMlJ1bGVzEnAKBWNvbnN0GAEgASgHQlzCSFkKVwoNZml4ZWQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJ0gCiAEBEowBCgJsdBgCIAEoB0J+wkh7CnkKCmZpeGVkMzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoB0KOAcJIigEKhwEKC2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAdCkgfCSI4HCnwKCmZpeGVkMzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAdC3QfCSNkHCooBCgtmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEncKAmluGAYgAygHQmvCSGgKZgoKZml4ZWQzMi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ4CgZub3RfaW4YByADKAdCaMJIZQpjCg5maXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW5CCAoGX2NvbnN0Iu0UCgxGaXhlZDY0UnVsZXMScgoFY29uc3QYASABKAZCXjABwkhZClcKDWZpeGVkNjQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJydIAogBARKPAQoCbHQYAiABKAZCgAEwAcJIewp5CgpmaXhlZDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEqABCgNsdGUYAyABKAZCkAEwAcJIigEKhwEKC2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKjBwoCZ3QYBCABKAZClAcwAcJIjgcKfAoKZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkNjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7wcKA2d0ZRgFIAEoBkLfBzABwkjZBwqKAQoLZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrEAQoOZml4ZWQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKGGZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1AEKD2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrcAQoZZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ5CgJpbhgGIAMoBkJtMAHCSGgKZgoKZml4ZWQ2NC5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ6CgZub3RfaW4YByADKAZCajABwkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJydCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbkIICgZfY29uc3Qi7hQKDVNGaXhlZDMyUnVsZXMScQoFY29uc3QYASABKA9CXcJIWgpYCg5zZml4ZWQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJ0gCiAEBEo0BCgJsdBgCIAEoD0J/wkh8CnoKC3NmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp8BCgNsdGUYAyABKA9CjwHCSIsBCogBCgxzZml4ZWQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqYHCgJndBgEIAEoD0KXB8JIkwcKfQoLc2ZpeGVkMzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrYBCg5zZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKGHNmaXhlZDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsYBCg9zZml4ZWQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs4BChlzZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLyBwoDZ3RlGAUgASgPQuIHwkjeBwqLAQoMc2ZpeGVkMzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxQEKD3NmaXhlZDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoZc2ZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1QEKEHNmaXhlZDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3QEKGnNmaXhlZDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEngKAmluGAYgAygPQmzCSGkKZwoLc2ZpeGVkMzIuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSeQoGbm90X2luGAcgAygPQmnCSGYKZAoPc2ZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJydCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbkIICgZfY29uc3Qi/RQKDVNGaXhlZDY0UnVsZXMScwoFY29uc3QYASABKBBCXzABwkhaClgKDnNmaXhlZDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnSAKIAQESkAEKAmx0GAIgASgQQoEBMAHCSHwKegoLc2ZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASoQEKA2x0ZRgDIAEoEEKRATABwkiLAQqIAQoMc2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKoBwoCZ3QYBCABKBBCmQcwAcJIkwcKfQoLc2ZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrYBCg5zZml4ZWQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKGHNmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsYBCg9zZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs4BChlzZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARL0BwoDZ3RlGAUgASgQQuQHMAHCSN4HCosBCgxzZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPc2ZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlzZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQc2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoac2ZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESegoCaW4YBiADKBBCbjABwkhpCmcKC3NmaXhlZDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnsKBm5vdF9pbhgHIAMoEEJrMAHCSGYKZAoPc2ZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJydCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbkIICgZfY29uc3QihAEKCUJvb2xSdWxlcxJtCgVjb25zdBgBIAEoCEJZwkhWClQKCmJvb2wuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJydIAIgBAUIICgZfY29uc3QisDEKC1N0cmluZ1J1bGVzEnEKBWNvbnN0GAEgASgJQl3CSFoKWAoMc3RyaW5nLmNvbnN0Gkh0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgYCVzYCcuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJydIAYgBARKFAQoDbGVuGBMgASgEQnMwAcJIbgpsCgpzdHJpbmcubGVuGl51aW50KHRoaXMuc2l6ZSgpKSAhPSBydWxlcy5sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnSAKIAQESoAEKB21pbl9sZW4YAiABKARCiQEwAcJIgwEKgAEKDnN0cmluZy5taW5fbGVuGm51aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJ0gDiAEBEp4BCgdtYXhfbGVuGAMgASgEQocBMAHCSIEBCn8KDnN0cmluZy5tYXhfbGVuGm11aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbW9zdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnSASIAQESogEKCWxlbl9ieXRlcxgUIAEoBEKJATABwkiDAQqAAQoQc3RyaW5nLmxlbl9ieXRlcxpsdWludChieXRlcyh0aGlzKS5zaXplKCkpICE9IHJ1bGVzLmxlbl9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5sZW5fYnl0ZXNdKSA6ICcnSAWIAQESqgEKCW1pbl9ieXRlcxgEIAEoBEKRATABwkiLAQqIAQoQc3RyaW5nLm1pbl9ieXRlcxp0dWludChieXRlcyh0aGlzKS5zaXplKCkpIDwgcnVsZXMubWluX2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJydIBogBARKpAQoJbWF4X2J5dGVzGAUgASgEQpABMAHCSIoBCocBChBzdHJpbmcubWF4X2J5dGVzGnN1aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgPiBydWxlcy5tYXhfYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbW9zdCAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5tYXhfYnl0ZXNdKSA6ICcnSAeIAQESkgEKB3BhdHRlcm4YBiABKAlCfMJIeQp3Cg5zdHJpbmcucGF0dGVybhplIXRoaXMubWF0Y2hlcyhydWxlcy5wYXR0ZXJuKSA/ICd2YWx1ZSBkb2VzIG5vdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJydICIgBARKJAQoGcHJlZml4GAcgASgJQnTCSHEKbwoNc3RyaW5nLnByZWZpeBpeIXRoaXMuc3RhcnRzV2l0aChydWxlcy5wcmVmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgcHJlZml4IGAlc2AnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJ0gJiAEBEocBCgZzdWZmaXgYCCABKAlCcsJIbwptCg1zdHJpbmcuc3VmZml4GlwhdGhpcy5lbmRzV2l0aChydWxlcy5zdWZmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgc3VmZml4IGAlc2AnLmZvcm1hdChbcnVsZXMuc3VmZml4XSkgOiAnJ0gKiAEBEpUBCghjb250YWlucxgJIAEoCUJ+wkh7CnkKD3N0cmluZy5jb250YWlucxpmIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnSAuIAQESnQEKDG5vdF9jb250YWlucxgXIAEoCUKBAcJIfgp8ChNzdHJpbmcubm90X2NvbnRhaW5zGmV0aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAndmFsdWUgY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJ0gMiAEBEnYKAmluGAogAygJQmrCSGcKZQoJc3RyaW5nLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgLIAMoCUJnwkhkCmIKDXN0cmluZy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxK/AQoFZW1haWwYDCABKAhCrQHCSKkBClEKDHN0cmluZy5lbWFpbBIjdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGVtYWlsIGFkZHJlc3MaHHRoaXMgPT0gJycgfHwgdGhpcy5pc0VtYWlsKCkKVAoSc3RyaW5nLmVtYWlsX2VtcHR5EjJ2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzcxoKdGhpcyAhPSAnJ0gAEsEBCghob3N0bmFtZRgNIAEoCEKsAcJIqAEKUgoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaH3RoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RuYW1lKCkKUgoVc3RyaW5nLmhvc3RuYW1lX2VtcHR5Ei12YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUaCnRoaXMgIT0gJydIABKtAQoCaXAYDiABKAhCngHCSJoBCkgKCXN0cmluZy5pcBIgdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIGFkZHJlc3MaGXRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKTgoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoKdGhpcyAhPSAnJ0gAErgBCgRpcHY0GA8gASgIQqcBwkijAQpNCgtzdHJpbmcuaXB2NBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgYWRkcmVzcxoadGhpcyA9PSAnJyB8fCB0aGlzLmlzSXAoNCkKUgoRc3RyaW5nLmlwdjRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3MaCnRoaXMgIT0gJydIABK4AQoEaXB2NhgQIAEoCEKnAcJIowEKTQoLc3RyaW5nLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaGnRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDYpClIKEXN0cmluZy5pcHY2X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBhZGRyZXNzGgp0aGlzICE9ICcnSAASowEKA3VyaRgRIAEoCEKTAcJIjwEKQwoKc3RyaW5nLnVyaRIZdmFsdWUgbXVzdCBiZSBhIHZhbGlkIFVSSRoadGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKSAoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoKdGhpcyAhPSAnJ0gAElQKB3VyaV9yZWYYEiABKAhCQcJIPgo8Cg5zdHJpbmcudXJpX3JlZhIZdmFsdWUgbXVzdCBiZSBhIHZhbGlkIFVSSRoPdGhpcy5pc1VyaVJlZigpSAAS6wEKB2FkZHJlc3MYFSABKAhC1wHCSNMBCm8KDnN0cmluZy5hZGRyZXNzEi12YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaLnRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RuYW1lKCkgfHwgdGhpcy5pc0lwKCkKYAoUc3RyaW5nLmFkZHJlc3NfZW1wdHkSPHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZSwgb3IgaXAgYWRkcmVzcxoKdGhpcyAhPSAnJ0gAEvoBCgR1dWlkGBYgASgIQukBwkjlAQqWAQoLc3RyaW5nLnV1aWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGmt0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezh9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSQnKQpKChFzdHJpbmcudXVpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVVSUQaCnRoaXMgIT0gJydIABLeAQoRaXBfd2l0aF9wcmVmaXhsZW4YGiABKAhCwAHCSLwBClwKGHN0cmluZy5pcF93aXRoX3ByZWZpeGxlbhIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBofdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoKQpcCh5zdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW5fZW1wdHkSLnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUCBwcmVmaXgaCnRoaXMgIT0gJydIABKRAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCELxAcJI7QEKdQoac3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGiB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0KQp0CiBzdHJpbmcuaXB2NF93aXRoX3ByZWZpeGxlbl9lbXB0eRJEdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjQgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaCnRoaXMgIT0gJydIABKRAgoTaXB2Nl93aXRoX3ByZWZpeGxlbhgcIAEoCELxAcJI7QEKdQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGiB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQp0CiBzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbl9lbXB0eRJEdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaCnRoaXMgIT0gJydIABLKAQoJaXBfcHJlZml4GB0gASgIQrQBwkiwAQpYChBzdHJpbmcuaXBfcHJlZml4Eh92YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgcHJlZml4GiN0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpUChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Ggp0aGlzICE9ICcnSAAS1wEKC2lwdjRfcHJlZml4GB4gASgIQr8Bwki7AQpfChJzdHJpbmcuaXB2NF9wcmVmaXgSIXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IHByZWZpeBomdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKWAoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaCnRoaXMgIT0gJydIABLXAQoLaXB2Nl9wcmVmaXgYHyABKAhCvwHCSLsBCl8KEnN0cmluZy5pcHY2X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgcHJlZml4GiZ0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2LCB0cnVlKQpYChhzdHJpbmcuaXB2Nl9wcmVmaXhfZW1wdHkSMHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IHByZWZpeBoKdGhpcyAhPSAnJ0gAEoUCCg1ob3N0X2FuZF9wb3J0GCAgASgIQusBwkjnAQqBAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSQXZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGiZ0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQphChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoKdGhpcyAhPSAnJ0gAEqgFChB3ZWxsX2tub3duX3JlZ2V4GBggASgOMhguYnVmLnZhbGlkYXRlLktub3duUmVnZXhC8QTCSO0ECvABCiNzdHJpbmcud2VsbF9rbm93bl9yZWdleC5oZWFkZXJfbmFtZRImdmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIG5hbWUaoAFydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDEgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoIWhhcyhydWxlcy5zdHJpY3QpIHx8IHJ1bGVzLnN0cmljdCA/J146P1swLTlhLXpBLVohIyQlJlwnKistLl5ffH5ceDYwXSskJyA6J15bXlx1MDAwMFx1MDAwQVx1MDAwRF0rJCcpCo0BCilzdHJpbmcud2VsbF9rbm93bl9yZWdleC5oZWFkZXJfbmFtZV9lbXB0eRI1dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIEhUVFAgaGVhZGVyIG5hbWUaKXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzICE9ICcnCucBCiRzdHJpbmcud2VsbF9rbm93bl9yZWdleC5oZWFkZXJfdmFsdWUSJ3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBIVFRQIGhlYWRlciB2YWx1ZRqVAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMiB8fCB0aGlzLm1hdGNoZXMoIWhhcyhydWxlcy5zdHJpY3QpIHx8IHJ1bGVzLnN0cmljdCA/J15bXlx1MDAwMC1cdTAwMDhcdTAwMEEtXHUwMDFGXHUwMDdGXSokJyA6J15bXlx1MDAwMFx1MDAwQVx1MDAwRF0qJCcpSAASEwoGc3RyaWN0GBkgASgISA2IAQFCDAoKd2VsbF9rbm93bkIICgZfY29uc3RCBgoEX2xlbkIKCghfbWluX2xlbkIKCghfbWF4X2xlbkIMCgpfbGVuX2J5dGVzQgwKCl9taW5fYnl0ZXNCDAoKX21heF9ieXRlc0IKCghfcGF0dGVybkIJCgdfcHJlZml4QgkKB19zdWZmaXhCCwoJX2NvbnRhaW5zQg8KDV9ub3RfY29udGFpbnNCCQoHX3N0cmljdCK6EAoKQnl0ZXNSdWxlcxJrCgVjb25zdBgBIAEoDEJXwkhUClIKC2J5dGVzLmNvbnN0GkN0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgYmUgJXgnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnSAGIAQESfwoDbGVuGA0gASgEQm0wAcJIaApmCglieXRlcy5sZW4aWXVpbnQodGhpcy5zaXplKCkpICE9IHJ1bGVzLmxlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnSAKIAQESmAEKB21pbl9sZW4YAiABKARCgQEwAcJIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJydIA4gBARKPAQoHbWF4X2xlbhgDIAEoBEJ5MAHCSHQKcgoNYnl0ZXMubWF4X2xlbhphdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ3ZhbHVlIG11c3QgYmUgYXQgbW9zdCAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5tYXhfbGVuXSkgOiAnJ0gEiAEBEpUBCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnSAWIAQEShgEKBnByZWZpeBgFIAEoDEJxwkhuCmwKDGJ5dGVzLnByZWZpeBpcIXRoaXMuc3RhcnRzV2l0aChydWxlcy5wcmVmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgcHJlZml4ICV4Jy5mb3JtYXQoW3J1bGVzLnByZWZpeF0pIDogJydIBogBARKEAQoGc3VmZml4GAYgASgMQm/CSGwKagoMYnl0ZXMuc3VmZml4GlohdGhpcy5lbmRzV2l0aChydWxlcy5zdWZmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgc3VmZml4ICV4Jy5mb3JtYXQoW3J1bGVzLnN1ZmZpeF0pIDogJydIB4gBARKIAQoIY29udGFpbnMYByABKAxCccJIbgpsCg5ieXRlcy5jb250YWlucxpaIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gJXgnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnSAiIAQESlwEKAmluGAggAygMQooBwkiGAQqDAQoIYnl0ZXMuaW4ad2R5bihydWxlcylbJ2luJ10uc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgJIAMoDEJmwkhjCmEKDGJ5dGVzLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEtEBCgJpcBgKIAEoCELCAcJIvgEKZwoIYnl0ZXMuaXASIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBhZGRyZXNzGjl0aGlzLnNpemUoKSA9PSAwIHx8IHRoaXMuc2l6ZSgpID09IDQgfHwgdGhpcy5zaXplKCkgPT0gMTYKUwoOYnl0ZXMuaXBfZW1wdHkSL3ZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUCBhZGRyZXNzGhB0aGlzLnNpemUoKSAhPSAwSAASxgEKBGlwdjQYCyABKAhCtQHCSLEBClYKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaJHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApXChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhB0aGlzLnNpemUoKSAhPSAwSAASxwEKBGlwdjYYDCABKAhCtgHCSLIBClcKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaJXRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKVwoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoQdGhpcy5zaXplKCkgIT0gMEgAQgwKCndlbGxfa25vd25CCAoGX2NvbnN0QgYKBF9sZW5CCgoIX21pbl9sZW5CCgoIX21heF9sZW5CCgoIX3BhdHRlcm5CCQoHX3ByZWZpeEIJCgdfc3VmZml4QgsKCV9jb250YWlucyKdAwoJRW51bVJ1bGVzEm0KBWNvbnN0GAEgASgFQlnCSFYKVAoKZW51bS5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJ0gAiAEBEhkKDGRlZmluZWRfb25seRgCIAEoCEgBiAEBEnQKAmluGAMgAygFQmjCSGUKYwoHZW51bS5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnQggKBl9jb25zdEIPCg1fZGVmaW5lZF9vbmx5Iq4ECg1SZXBlYXRlZFJ1bGVzEqUBCgltaW5faXRlbXMYASABKARCjAEwAcJIhgEKgwEKEnJlcGVhdGVkLm1pbl9pdGVtcxptdWludCh0aGlzLnNpemUoKSkgPCBydWxlcy5taW5faXRlbXMgPyAndmFsdWUgbXVzdCBjb250YWluIGF0IGxlYXN0ICVkIGl0ZW0ocyknLmZvcm1hdChbcnVsZXMubWluX2l0ZW1zXSkgOiAnJ0gAiAEBEqkBCgltYXhfaXRlbXMYAiABKARCkAEwAcJIigEKhwEKEnJlcGVhdGVkLm1heF9pdGVtcxpxdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfaXRlbXMgPyAndmFsdWUgbXVzdCBjb250YWluIG5vIG1vcmUgdGhhbiAlcyBpdGVtKHMpJy5mb3JtYXQoW3J1bGVzLm1heF9pdGVtc10pIDogJydIAYgBARJkCgZ1bmlxdWUYAyABKAhCT8JITApKCg9yZXBlYXRlZC51bmlxdWUSKHJlcGVhdGVkIHZhbHVlIG11c3QgY29udGFpbiB1bmlxdWUgaXRlbXMaDXRoaXMudW5pcXVlKClIAogBARIyCgVpdGVtcxgEIAEoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZENvbnN0cmFpbnRzSAOIAQFCDAoKX21pbl9pdGVtc0IMCgpfbWF4X2l0ZW1zQgkKB191bmlxdWVCCAoGX2l0ZW1zItMDCghNYXBSdWxlcxKWAQoJbWluX3BhaXJzGAEgASgEQn4wAcJIeQp3Cg1tYXAubWluX3BhaXJzGmZ1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9wYWlycyA/ICdtYXAgbXVzdCBiZSBhdCBsZWFzdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1pbl9wYWlyc10pIDogJydIAIgBARKVAQoJbWF4X3BhaXJzGAIgASgEQn0wAcJIeAp2Cg1tYXAubWF4X3BhaXJzGmV1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9wYWlycyA/ICdtYXAgbXVzdCBiZSBhdCBtb3N0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWF4X3BhaXJzXSkgOiAnJ0gBiAEBEjEKBGtleXMYBCABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50c0gCiAEBEjMKBnZhbHVlcxgFIAEoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZENvbnN0cmFpbnRzSAOIAQFCDAoKX21pbl9wYWlyc0IMCgpfbWF4X3BhaXJzQgcKBV9rZXlzQgkKB192YWx1ZXMiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIq4WCg1EdXJhdGlvblJ1bGVzEowBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJdwkhaClgKDmR1cmF0aW9uLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnSAKIAQESqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESkwEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQmzCSGkKZwoLZHVyYXRpb24uaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSlAEKBm5vdF9pbhgIIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJpwkhmCmQKD2R1cmF0aW9uLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW5CCAoGX2NvbnN0IpsXCg5UaW1lc3RhbXBSdWxlcxKOAQoFY29uc3QYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQl7CSFsKWQoPdGltZXN0YW1wLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnSAKIAQESqwEKAmx0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKAAcJIfQp7Cgx0aW1lc3RhbXAubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASvAEKA2x0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCkAHCSIwBCokBCg10aW1lc3RhbXAubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABJaCgZsdF9ub3cYByABKAhCSMJIRQpDChB0aW1lc3RhbXAubHRfbm93Gi90aGlzID4gbm93ID8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG5vdycgOiAnJ0gAEscHCgJndBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCnAfCSJgHCn4KDHRpbWVzdGFtcC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtwEKD3RpbWVzdGFtcC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKGXRpbWVzdGFtcC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrHAQoQdGltZXN0YW1wLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzwEKGnRpbWVzdGFtcC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARKTCAoDZ3RlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcELnB8JI4wcKjAEKDXRpbWVzdGFtcC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrGAQoQdGltZXN0YW1wLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrOAQoadGltZXN0YW1wLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtYBChF0aW1lc3RhbXAuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwreAQobdGltZXN0YW1wLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEl0KBmd0X25vdxgIIAEoCEJLwkhICkYKEHRpbWVzdGFtcC5ndF9ub3caMnRoaXMgPCBub3cgPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gbm93JyA6ICcnSAESvQEKBndpdGhpbhgJIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKMAcJIiAEKhQEKEHRpbWVzdGFtcC53aXRoaW4acXRoaXMgPCBub3ctcnVsZXMud2l0aGluIHx8IHRoaXMgPiBub3crcnVsZXMud2l0aGluID8gJ3ZhbHVlIG11c3QgYmUgd2l0aGluICVzIG9mIG5vdycuZm9ybWF0KFtydWxlcy53aXRoaW5dKSA6ICcnSAOIAQFCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbkIICgZfY29uc3RCCQoHX3dpdGhpbipGCgZJZ25vcmUSFgoSSUdOT1JFX1VOU1BFQ0lGSUVEEAASEAoMSUdOT1JFX0VNUFRZEAESEgoOSUdOT1JFX0RFRkFVTFQQAipuCgpLbm93blJlZ2V4EhsKF0tOT1dOX1JFR0VYX1VOU1BFQ0lGSUVEEAASIAocS05PV05fUkVHRVhfSFRUUF9IRUFERVJfTkFNRRABEiEKHUtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX1ZBTFVFEAI6XwoHbWVzc2FnZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiHCSABKAsyIC5idWYudmFsaWRhdGUuTWVzc2FnZUNvbnN0cmFpbnRzUgdtZXNzYWdliAEBOlcKBW9uZW9mEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxiHCSABKAsyHi5idWYudmFsaWRhdGUuT25lb2ZDb25zdHJhaW50c1IFb25lb2aIAQE6VwoFZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIcJIAEoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZENvbnN0cmFpbnRzUgVmaWVsZIgBAUK7AQoQY29tLmJ1Zi52YWxpZGF0ZUINVmFsaWRhdGVQcm90b1ABWkdidWYuYnVpbGQvZ2VuL2dvL2J1ZmJ1aWxkL3Byb3RvdmFsaWRhdGUvcHJvdG9jb2xidWZmZXJzL2dvL2J1Zi92YWxpZGF0ZaICA0JWWKoCDEJ1Zi5WYWxpZGF0ZcoCDEJ1ZlxWYWxpZGF0ZeICGEJ1ZlxWYWxpZGF0ZVxHUEJNZXRhZGF0YeoCDUJ1Zjo6VmFsaWRhdGViBnByb3RvMw", [file_buf_validate_expression, file_buf_validate_priv_private, file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_timestamp]);
22
+ /**
23
+ * Describes the message buf.validate.MessageConstraints.
24
+ * Use `create(MessageConstraintsSchema)` to create a new message.
25
+ */
26
+ export const MessageConstraintsSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 0);
27
+ /**
28
+ * Describes the message buf.validate.OneofConstraints.
29
+ * Use `create(OneofConstraintsSchema)` to create a new message.
30
+ */
31
+ export const OneofConstraintsSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 1);
32
+ /**
33
+ * Describes the message buf.validate.FieldConstraints.
34
+ * Use `create(FieldConstraintsSchema)` to create a new message.
35
+ */
36
+ export const FieldConstraintsSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 2);
37
+ /**
38
+ * Describes the message buf.validate.FloatRules.
39
+ * Use `create(FloatRulesSchema)` to create a new message.
40
+ */
41
+ export const FloatRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 3);
42
+ /**
43
+ * Describes the message buf.validate.DoubleRules.
44
+ * Use `create(DoubleRulesSchema)` to create a new message.
45
+ */
46
+ export const DoubleRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 4);
47
+ /**
48
+ * Describes the message buf.validate.Int32Rules.
49
+ * Use `create(Int32RulesSchema)` to create a new message.
50
+ */
51
+ export const Int32RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 5);
52
+ /**
53
+ * Describes the message buf.validate.Int64Rules.
54
+ * Use `create(Int64RulesSchema)` to create a new message.
55
+ */
56
+ export const Int64RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 6);
57
+ /**
58
+ * Describes the message buf.validate.UInt32Rules.
59
+ * Use `create(UInt32RulesSchema)` to create a new message.
60
+ */
61
+ export const UInt32RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 7);
62
+ /**
63
+ * Describes the message buf.validate.UInt64Rules.
64
+ * Use `create(UInt64RulesSchema)` to create a new message.
65
+ */
66
+ export const UInt64RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 8);
67
+ /**
68
+ * Describes the message buf.validate.SInt32Rules.
69
+ * Use `create(SInt32RulesSchema)` to create a new message.
70
+ */
71
+ export const SInt32RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 9);
72
+ /**
73
+ * Describes the message buf.validate.SInt64Rules.
74
+ * Use `create(SInt64RulesSchema)` to create a new message.
75
+ */
76
+ export const SInt64RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 10);
77
+ /**
78
+ * Describes the message buf.validate.Fixed32Rules.
79
+ * Use `create(Fixed32RulesSchema)` to create a new message.
80
+ */
81
+ export const Fixed32RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 11);
82
+ /**
83
+ * Describes the message buf.validate.Fixed64Rules.
84
+ * Use `create(Fixed64RulesSchema)` to create a new message.
85
+ */
86
+ export const Fixed64RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 12);
87
+ /**
88
+ * Describes the message buf.validate.SFixed32Rules.
89
+ * Use `create(SFixed32RulesSchema)` to create a new message.
90
+ */
91
+ export const SFixed32RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 13);
92
+ /**
93
+ * Describes the message buf.validate.SFixed64Rules.
94
+ * Use `create(SFixed64RulesSchema)` to create a new message.
95
+ */
96
+ export const SFixed64RulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 14);
97
+ /**
98
+ * Describes the message buf.validate.BoolRules.
99
+ * Use `create(BoolRulesSchema)` to create a new message.
100
+ */
101
+ export const BoolRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 15);
102
+ /**
103
+ * Describes the message buf.validate.StringRules.
104
+ * Use `create(StringRulesSchema)` to create a new message.
105
+ */
106
+ export const StringRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 16);
107
+ /**
108
+ * Describes the message buf.validate.BytesRules.
109
+ * Use `create(BytesRulesSchema)` to create a new message.
110
+ */
111
+ export const BytesRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 17);
112
+ /**
113
+ * Describes the message buf.validate.EnumRules.
114
+ * Use `create(EnumRulesSchema)` to create a new message.
115
+ */
116
+ export const EnumRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 18);
117
+ /**
118
+ * Describes the message buf.validate.RepeatedRules.
119
+ * Use `create(RepeatedRulesSchema)` to create a new message.
120
+ */
121
+ export const RepeatedRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 19);
122
+ /**
123
+ * Describes the message buf.validate.MapRules.
124
+ * Use `create(MapRulesSchema)` to create a new message.
125
+ */
126
+ export const MapRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 20);
127
+ /**
128
+ * Describes the message buf.validate.AnyRules.
129
+ * Use `create(AnyRulesSchema)` to create a new message.
130
+ */
131
+ export const AnyRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 21);
132
+ /**
133
+ * Describes the message buf.validate.DurationRules.
134
+ * Use `create(DurationRulesSchema)` to create a new message.
135
+ */
136
+ export const DurationRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 22);
137
+ /**
138
+ * Describes the message buf.validate.TimestampRules.
139
+ * Use `create(TimestampRulesSchema)` to create a new message.
140
+ */
141
+ export const TimestampRulesSchema = /*@__PURE__*/ messageDesc(file_buf_validate_validate, 23);
142
+ /**
143
+ * Specifies how FieldConstraints.ignore behaves. See the documentation for
144
+ * FieldConstraints.required for definitions of "populated" and "nullable".
145
+ *
146
+ * @generated from enum buf.validate.Ignore
147
+ */
148
+ export var Ignore;
149
+ (function (Ignore) {
150
+ /**
151
+ * Validation is only skipped if it's an unpopulated nullable fields.
152
+ *
153
+ * @generated from enum value: IGNORE_UNSPECIFIED = 0;
154
+ */
155
+ Ignore[Ignore["UNSPECIFIED"] = 0] = "UNSPECIFIED";
156
+ /**
157
+ * Validation is skipped if the field is unpopulated.
158
+ *
159
+ * @generated from enum value: IGNORE_EMPTY = 1;
160
+ */
161
+ Ignore[Ignore["EMPTY"] = 1] = "EMPTY";
162
+ /**
163
+ * Validation is skipped if the field is unpopulated or if it is a nullable
164
+ * field populated with its default value.
165
+ *
166
+ * @generated from enum value: IGNORE_DEFAULT = 2;
167
+ */
168
+ Ignore[Ignore["DEFAULT"] = 2] = "DEFAULT";
169
+ })(Ignore || (Ignore = {}));
170
+ /**
171
+ * Describes the enum buf.validate.Ignore.
172
+ */
173
+ export const IgnoreSchema = /*@__PURE__*/ enumDesc(file_buf_validate_validate, 0);
174
+ /**
175
+ * WellKnownRegex contain some well-known patterns.
176
+ *
177
+ * @generated from enum buf.validate.KnownRegex
178
+ */
179
+ export var KnownRegex;
180
+ (function (KnownRegex) {
181
+ /**
182
+ * @generated from enum value: KNOWN_REGEX_UNSPECIFIED = 0;
183
+ */
184
+ KnownRegex[KnownRegex["UNSPECIFIED"] = 0] = "UNSPECIFIED";
185
+ /**
186
+ * HTTP header name as defined by [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.2).
187
+ *
188
+ * @generated from enum value: KNOWN_REGEX_HTTP_HEADER_NAME = 1;
189
+ */
190
+ KnownRegex[KnownRegex["HTTP_HEADER_NAME"] = 1] = "HTTP_HEADER_NAME";
191
+ /**
192
+ * HTTP header value as defined by [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.2.4).
193
+ *
194
+ * @generated from enum value: KNOWN_REGEX_HTTP_HEADER_VALUE = 2;
195
+ */
196
+ KnownRegex[KnownRegex["HTTP_HEADER_VALUE"] = 2] = "HTTP_HEADER_VALUE";
197
+ })(KnownRegex || (KnownRegex = {}));
198
+ /**
199
+ * Describes the enum buf.validate.KnownRegex.
200
+ */
201
+ export const KnownRegexSchema = /*@__PURE__*/ enumDesc(file_buf_validate_validate, 1);
202
+ /**
203
+ * Rules specify the validations to be performed on this message. By default,
204
+ * no validation is performed against a message.
205
+ *
206
+ * @generated from extension: optional buf.validate.MessageConstraints message = 1159;
207
+ */
208
+ export const message = /*@__PURE__*/ extDesc(file_buf_validate_validate, 0);
209
+ /**
210
+ * Rules specify the validations to be performed on this oneof. By default,
211
+ * no validation is performed against a oneof.
212
+ *
213
+ * @generated from extension: optional buf.validate.OneofConstraints oneof = 1159;
214
+ */
215
+ export const oneof = /*@__PURE__*/ extDesc(file_buf_validate_validate, 1);
216
+ /**
217
+ * Rules specify the validations to be performed on this field. By default,
218
+ * no validation is performed against a field.
219
+ *
220
+ * @generated from extension: optional buf.validate.FieldConstraints field = 1159;
221
+ */
222
+ export const field = /*@__PURE__*/ extDesc(file_buf_validate_validate, 2);
223
+ //# sourceMappingURL=validate_pb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate_pb.js","sourceRoot":"","sources":["../../../../src/protocol/buf/validate/validate_pb.ts"],"names":[],"mappings":"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"}