@mochabug/adapt-sdk 0.1.14 → 0.1.16

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 (32) hide show
  1. package/dist/api.d.ts +277 -2
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/cjs/api.cjs +1 -1
  4. package/dist/cjs/api.cjs.map +4 -4
  5. package/dist/cjs/frontend.cjs +1 -1
  6. package/dist/cjs/frontend.cjs.map +3 -3
  7. package/dist/cjs/router.cjs +1 -1
  8. package/dist/cjs/router.cjs.map +4 -4
  9. package/dist/cjs/types.cjs.map +1 -1
  10. package/dist/esm/api.mjs +1 -1
  11. package/dist/esm/api.mjs.map +4 -4
  12. package/dist/esm/frontend.mjs +1 -1
  13. package/dist/esm/frontend.mjs.map +3 -3
  14. package/dist/esm/router.mjs +1 -1
  15. package/dist/esm/router.mjs.map +4 -4
  16. package/dist/genproto/mochabugapis/adapt/runtime/v1/configurator_service_pb.d.ts +947 -0
  17. package/dist/genproto/mochabugapis/adapt/runtime/v1/configurator_service_pb.d.ts.map +1 -0
  18. package/dist/genproto/mochabugapis/adapt/runtime/v1/executor_service_pb.d.ts +1155 -0
  19. package/dist/genproto/mochabugapis/adapt/runtime/v1/executor_service_pb.d.ts.map +1 -0
  20. package/dist/genproto/mochabugapis/adapt/runtime/v1/fileforge_service_pb.d.ts +3653 -0
  21. package/dist/genproto/mochabugapis/adapt/runtime/v1/fileforge_service_pb.d.ts.map +1 -0
  22. package/dist/genproto/mochabugapis/adapt/runtime/v1/incoming_pb.d.ts +1 -1
  23. package/dist/genproto/mochabugapis/adapt/runtime/v1/incoming_pb.d.ts.map +1 -1
  24. package/dist/genproto/mochabugapis/adapt/runtime/v1/plugin_service_pb.d.ts +554 -0
  25. package/dist/genproto/mochabugapis/adapt/runtime/v1/plugin_service_pb.d.ts.map +1 -0
  26. package/dist/genproto/mochabugapis/adapt/runtime/v1/store_pb.d.ts +84 -1
  27. package/dist/genproto/mochabugapis/adapt/runtime/v1/store_pb.d.ts.map +1 -1
  28. package/dist/types.d.ts +8 -0
  29. package/dist/types.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.d.ts +0 -2721
  32. package/dist/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.d.ts.map +0 -1
package/dist/esm/api.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{create as y,enumFromJson as Qn,fromJson as ge,toJson as J}from"@bufbuild/protobuf";import{FieldMaskSchema as N,timestampDate as x,timestampFromDate as z,ValueSchema as D}from"@bufbuild/protobuf/wkt";import{Code as i,ConnectError as h,createClient as P}from"@connectrpc/connect";import{fileDesc as Te,messageDesc as je}from"@bufbuild/protobuf/codegenv2";import{enumDesc as wn,extDesc as Dn,fileDesc as Qe,messageDesc as Tn}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_descriptor as ke,file_google_protobuf_duration as Ue,file_google_protobuf_field_mask as we,file_google_protobuf_timestamp as De}from"@bufbuild/protobuf/wkt";var d=Qe("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSLaFwoKRmxvYXRSdWxlcxKDAQoFY29uc3QYASABKAJCdMJIcQpvCgtmbG9hdC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEp8BCgJsdBgCIAEoAkKQAcJIjAEKiQEKCGZsb2F0Lmx0Gn0haGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0KT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEq8BCgNsdGUYAyABKAJCnwHCSJsBCpgBCglmbG9hdC5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLvBwoCZ3QYBCABKAJC4AfCSNwHCo0BCghmbG9hdC5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsMBCgtmbG9hdC5ndF9sdBqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCs0BChVmbG9hdC5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrTAQoMZmxvYXQuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3QEKFmZsb2F0Lmd0X2x0ZV9leGNsdXNpdmUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEroICgNndGUYBSABKAJCqgjCSKYICpsBCglmbG9hdC5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0gEKDGZsb2F0Lmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3AEKFmZsb2F0Lmd0ZV9sdF9leGNsdXNpdmUawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCuIBCg1mbG9hdC5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrsAQoXZmxvYXQuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKAJCc8JIcApuCghmbG9hdC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygCQmbCSGMKYQoMZmxvYXQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdQoGZmluaXRlGAggASgIQmXCSGIKYAoMZmxvYXQuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIrCgdleGFtcGxlGAkgAygCQhrCSBcKFQoNZmxvYXQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i7RcKC0RvdWJsZVJ1bGVzEoQBCgVjb25zdBgBIAEoAUJ1wkhyCnAKDGRvdWJsZS5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEqABCgJsdBgCIAEoAUKRAcJIjQEKigEKCWRvdWJsZS5sdBp9IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKwAQoDbHRlGAMgASgBQqABwkicAQqZAQoKZG91YmxlLmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvQHCgJndBgEIAEoAULlB8JI4QcKjgEKCWRvdWJsZS5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsQBCgxkb3VibGUuZ3RfbHQaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrOAQoWZG91YmxlLmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtQBCg1kb3VibGUuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3gEKF2RvdWJsZS5ndF9sdGVfZXhjbHVzaXZlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARK/CAoDZ3RlGAUgASgBQq8IwkirCAqcAQoKZG91YmxlLmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrTAQoNZG91YmxlLmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3QEKF2RvdWJsZS5ndGVfbHRfZXhjbHVzaXZlGsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrjAQoOZG91YmxlLmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCu0BChhkb3VibGUuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygBQnTCSHEKbwoJZG91YmxlLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKAFCZ8JIZApiCg1kb3VibGUubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdgoGZmluaXRlGAggASgIQmbCSGMKYQoNZG91YmxlLmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSLAoHZXhhbXBsZRgJIAMoAUIbwkgYChYKDmRvdWJsZS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50MzJSdWxlcxKDAQoFY29uc3QYASABKAVCdMJIcQpvCgtpbnQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoBUJ8wkh5CncKCGludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKAVCjAHCSIgBCoUBCglpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoBUKIB8JIhAcKegoIaW50MzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgFQtMHwkjPBwqIAQoJaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygFQnPCSHAKbgoIaW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoBUJmwkhjCmEKDGludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCCADKAVCGsJIFwoVCg1pbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50NjRSdWxlcxKDAQoFY29uc3QYASABKANCdMJIcQpvCgtpbnQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoA0J8wkh5CncKCGludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKANCjAHCSIgBCoUBCglpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoA0KIB8JIhAcKegoIaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgDQtMHwkjPBwqIAQoJaW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygDQnPCSHAKbgoIaW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDMyUnVsZXMShAEKBWNvbnN0GAEgASgNQnXCSHIKcAoMdWludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygNQnTCSHEKbwoJdWludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKA1CZ8JIZApiCg11aW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoDUIbwkgYChYKDnVpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDY0UnVsZXMShAEKBWNvbnN0GAEgASgEQnXCSHIKcAoMdWludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgEQn3CSHoKeAoJdWludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKARCjQHCSIkBCoYBCgp1aW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKARCjQfCSIkHCnsKCXVpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgEQtgHwkjUBwqJAQoKdWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygEQnTCSHEKbwoJdWludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKARCZ8JIZApiCg11aW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoBEIbwkgYChYKDnVpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDMyUnVsZXMShAEKBWNvbnN0GAEgASgRQnXCSHIKcAoMc2ludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgRQn3CSHoKeAoJc2ludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBFCjQHCSIkBCoYBCgpzaW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBFCjQfCSIkHCnsKCXNpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgRQtgHwkjUBwqJAQoKc2ludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygRQnTCSHEKbwoJc2ludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDY0UnVsZXMShAEKBWNvbnN0GAEgASgSQnXCSHIKcAoMc2ludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygSQnTCSHEKbwoJc2ludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBJCZ8JIZApiCg1zaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEkIbwkgYChYKDnNpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKvFQoMRml4ZWQzMlJ1bGVzEoUBCgVjb25zdBgBIAEoB0J2wkhzCnEKDWZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKMAQoCbHQYAiABKAdCfsJIewp5CgpmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp4BCgNsdGUYAyABKAdCjgHCSIoBCocBCgtmaXhlZDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASoQcKAmd0GAQgASgHQpIHwkiOBwp8CgpmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq1AQoNZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxQEKDmZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrNAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLtBwoDZ3RlGAUgASgHQt0HwkjZBwqKAQoLZml4ZWQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrEAQoOZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1AEKD2ZpeGVkMzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrcAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKBAQoCaW4YBiADKAdCdcJIcgpwCgpmaXhlZDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ4CgZub3RfaW4YByADKAdCaMJIZQpjCg5maXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi0KB2V4YW1wbGUYCCADKAdCHMJIGQoXCg9maXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq8VCgxGaXhlZDY0UnVsZXMShQEKBWNvbnN0GAEgASgGQnbCSHMKcQoNZml4ZWQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEowBCgJsdBgCIAEoBkJ+wkh7CnkKCmZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoBkKOAcJIigEKhwEKC2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAZCkgfCSI4HCnwKCmZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAZC3QfCSNkHCooBCgtmaXhlZDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoEBCgJpbhgGIAMoBkJ1wkhyCnAKCmZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwBUKDVNGaXhlZDMyUnVsZXMShgEKBWNvbnN0GAEgASgPQnfCSHQKcgoOc2ZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKCAQoCaW4YBiADKA9CdsJIcwpxCgtzZml4ZWQzMi5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeQoGbm90X2luGAcgAygPQmnCSGYKZAoPc2ZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoD0IdwkgaChgKEHNmaXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsAVCg1TRml4ZWQ2NFJ1bGVzEoYBCgVjb25zdBgBIAEoEEJ3wkh0CnIKDnNmaXhlZDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSjQEKAmx0GAIgASgQQn/CSHwKegoLc2ZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnwEKA2x0ZRgDIAEoEEKPAcJIiwEKiAEKDHNmaXhlZDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASpgcKAmd0GAQgASgQQpcHwkiTBwp9CgtzZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDnNmaXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYc2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD3NmaXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGXNmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEvIHCgNndGUYBSABKBBC4gfCSN4HCosBCgxzZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPc2ZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlzZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQc2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoac2ZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESggEKAmluGAYgAygQQnbCSHMKcQoLc2ZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnkKBm5vdF9pbhgHIAMoEEJpwkhmCmQKD3NmaXhlZDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKBBCHcJIGgoYChBzZml4ZWQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLHAQoJQm9vbFJ1bGVzEoIBCgVjb25zdBgBIAEoCEJzwkhwCm4KCmJvb2wuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIiiDkKC1N0cmluZ1J1bGVzEoYBCgVjb25zdBgBIAEoCUJ3wkh0CnIKDHN0cmluZy5jb25zdBpidGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSfgoDbGVuGBMgASgEQnHCSG4KbAoKc3RyaW5nLmxlbhpedWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubGVuXSkgOiAnJxKZAQoHbWluX2xlbhgCIAEoBEKHAcJIgwEKgAEKDnN0cmluZy5taW5fbGVuGm51aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKXAQoHbWF4X2xlbhgDIAEoBEKFAcJIgQEKfwoOc3RyaW5nLm1heF9sZW4abXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSmwEKCWxlbl9ieXRlcxgUIAEoBEKHAcJIgwEKgAEKEHN0cmluZy5sZW5fYnl0ZXMabHVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSAhPSBydWxlcy5sZW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKjAQoJbWluX2J5dGVzGAQgASgEQo8BwkiLAQqIAQoQc3RyaW5nLm1pbl9ieXRlcxp0dWludChieXRlcyh0aGlzKS5zaXplKCkpIDwgcnVsZXMubWluX2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSogEKCW1heF9ieXRlcxgFIAEoBEKOAcJIigEKhwEKEHN0cmluZy5tYXhfYnl0ZXMac3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9ieXRlc10pIDogJycSjQEKB3BhdHRlcm4YBiABKAlCfMJIeQp3Cg5zdHJpbmcucGF0dGVybhplIXRoaXMubWF0Y2hlcyhydWxlcy5wYXR0ZXJuKSA/ICd2YWx1ZSBkb2VzIG5vdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycShAEKBnByZWZpeBgHIAEoCUJ0wkhxCm8KDXN0cmluZy5wcmVmaXgaXiF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnByZWZpeF0pIDogJycSggEKBnN1ZmZpeBgIIAEoCUJywkhvCm0KDXN0cmluZy5zdWZmaXgaXCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAndmFsdWUgZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEpABCghjb250YWlucxgJIAEoCUJ+wkh7CnkKD3N0cmluZy5jb250YWlucxpmIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpgBCgxub3RfY29udGFpbnMYFyABKAlCgQHCSH4KfAoTc3RyaW5nLm5vdF9jb250YWlucxpldGhpcy5jb250YWlucyhydWxlcy5ub3RfY29udGFpbnMpID8gJ3ZhbHVlIGNvbnRhaW5zIHN1YnN0cmluZyBgJXNgJy5mb3JtYXQoW3J1bGVzLm5vdF9jb250YWluc10pIDogJycSgAEKAmluGAogAygJQnTCSHEKbwoJc3RyaW5nLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAAScAoHdXJpX3JlZhgSIAEoCEJdwkhaClgKDnN0cmluZy51cmlfcmVmEiN2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJIFJlZmVyZW5jZRohIXJ1bGVzLnVyaV9yZWYgfHwgdGhpcy5pc1VyaVJlZigpSAASkAIKB2FkZHJlc3MYFSABKAhC/AHCSPgBCoEBCg5zdHJpbmcuYWRkcmVzcxItdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKYAgoEdXVpZBgWIAEoCEKHAsJIgwIKpQEKC3N0cmluZy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS8AEKBXR1dWlkGCEgASgIQt4BwkjaAQpzCgxzdHJpbmcudHV1aWQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASlgIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvgBwkj0AQp4ChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SH3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLPAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKvAsJIqwIKkwEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEjV2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS8gEKCWlwX3ByZWZpeBgdIAEoCELcAcJI2AEKbAoQc3RyaW5nLmlwX3ByZWZpeBIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2NF9wcmVmaXgYHiABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY0X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAASgwIKC2lwdjZfcHJlZml4GB8gASgIQusBwkjnAQp1ChJzdHJpbmcuaXB2Nl9wcmVmaXgSIXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAErUCCg1ob3N0X2FuZF9wb3J0GCAgASgIQpsCwkiXAgqZAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSQXZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEvUBCgR1bGlkGCMgASgIQuQBwkjgAQqCAQoLc3RyaW5nLnVsaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVTElEGlchcnVsZXMudWxpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTddWzAtOUEtSEpLTU5QLVRWLVphLWhqa21ucC10di16XXsyNX0kJykKWQoRc3RyaW5nLnVsaWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVTElEGhkhcnVsZXMudWxpZCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLCEgoKQnl0ZXNSdWxlcxKAAQoFY29uc3QYASABKAxCccJIbgpsCgtieXRlcy5jb25zdBpddGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBiZSAleCcuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSpwEKAmluGAggAygMQpoBwkiWAQqTAQoIYnl0ZXMuaW4ahgFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YCSADKAxCZsJIYwphCgxieXRlcy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLrAQoCaXAYCiABKAhC3AHCSNgBCnQKCGJ5dGVzLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5AEKBGlwdjQYCyABKAhC0wHCSM8BCmUKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5QEKBGlwdjYYDCABKAhC1AHCSNABCmYKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEtUBCgR1dWlkGA8gASgIQsQBwkjAAQpeCgpieXRlcy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLUAwoJRW51bVJ1bGVzEoIBCgVjb25zdBgBIAEoBUJzwkhwCm4KCmVudW0uY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIUCgxkZWZpbmVkX29ubHkYAiABKAgSfgoCaW4YAyADKAVCcsJIbwptCgdlbnVtLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEioKB2V4YW1wbGUYBSADKAVCGcJIFgoUCgxlbnVtLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiL7AwoNUmVwZWF0ZWRSdWxlcxKeAQoJbWluX2l0ZW1zGAEgASgEQooBwkiGAQqDAQoScmVwZWF0ZWQubWluX2l0ZW1zGm11aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEqIBCgltYXhfaXRlbXMYAiABKARCjgHCSIoBCocBChJyZXBlYXRlZC5tYXhfaXRlbXMacXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ3ZhbHVlIG11c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIpkXCg1EdXJhdGlvblJ1bGVzEqEBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJ3wkh0CnIKDmR1cmF0aW9uLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESnQEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnbCSHMKcQoLZHVyYXRpb24uaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEpQBCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CacJIZgpkCg9kdXJhdGlvbi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i/QUKDkZpZWxkTWFza1J1bGVzEr8BCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCkwHCSI8BCowBChBmaWVsZF9tYXNrLmNvbnN0Gnh0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICd2YWx1ZSBtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS2QEKAmluGAIgAygJQswBwkjIAQrFAQoNZmllbGRfbWFzay5pbhqzASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICd2YWx1ZSBtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEvMBCgZub3RfaW4YAyADKAlC4gHCSN4BCtsBChFmaWVsZF9tYXNrLm5vdF9pbhrFASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ3ZhbHVlIG11c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIikhgKDlRpbWVzdGFtcFJ1bGVzEqMBCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCeMJIdQpzCg90aW1lc3RhbXAuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKrAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQoABwkh9CnsKDHRpbWVzdGFtcC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK8AQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKQAcJIjAEKiQEKDXRpbWVzdGFtcC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEmwKBmx0X25vdxgHIAEoCEJawkhXClUKEHRpbWVzdGFtcC5sdF9ub3caQShydWxlcy5sdF9ub3cgJiYgdGhpcyA+IG5vdykgPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gbm93JyA6ICcnSAASxwcKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKcB8JImAcKfgoMdGltZXN0YW1wLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq3AQoPdGltZXN0YW1wLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq/AQoZdGltZXN0YW1wLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCscBChB0aW1lc3RhbXAuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrPAQoadGltZXN0YW1wLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEpMICgNndGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQucHwkjjBwqMAQoNdGltZXN0YW1wLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsYBChB0aW1lc3RhbXAuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs4BChp0aW1lc3RhbXAuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1gEKEXRpbWVzdGFtcC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt4BCht0aW1lc3RhbXAuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESbwoGZ3Rfbm93GAggASgIQl3CSFoKWAoQdGltZXN0YW1wLmd0X25vdxpEKHJ1bGVzLmd0X25vdyAmJiB0aGlzIDwgbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBub3cnIDogJydIARK4AQoGd2l0aGluGAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQowBwkiIAQqFAQoQdGltZXN0YW1wLndpdGhpbhpxdGhpcyA8IG5vdy1ydWxlcy53aXRoaW4gfHwgdGhpcyA+IG5vdytydWxlcy53aXRoaW4gPyAndmFsdWUgbXVzdCBiZSB3aXRoaW4gJXMgb2Ygbm93Jy5mb3JtYXQoW3J1bGVzLndpdGhpbl0pIDogJycSSwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCHsJIGwoZChF0aW1lc3RhbXAuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iOQoKVmlvbGF0aW9ucxIrCgp2aW9sYXRpb25zGAEgAygLMhcuYnVmLnZhbGlkYXRlLlZpb2xhdGlvbiKfAQoJVmlvbGF0aW9uEiYKBWZpZWxkGAUgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIlCgRydWxlGAYgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDwoHZm9yX2tleRgEIAEoCEoECAEQAlIKZmllbGRfcGF0aCI9CglGaWVsZFBhdGgSMAoIZWxlbWVudHMYASADKAsyHi5idWYudmFsaWRhdGUuRmllbGRQYXRoRWxlbWVudCLpAgoQRmllbGRQYXRoRWxlbWVudBIUCgxmaWVsZF9udW1iZXIYASABKAUSEgoKZmllbGRfbmFtZRgCIAEoCRI+CgpmaWVsZF90eXBlGAMgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPAoIa2V5X3R5cGUYBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI+Cgp2YWx1ZV90eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSDwoFaW5kZXgYBiABKARIABISCghib29sX2tleRgHIAEoCEgAEhEKB2ludF9rZXkYCCABKANIABISCgh1aW50X2tleRgJIAEoBEgAEhQKCnN0cmluZ19rZXkYCiABKAlIAEILCglzdWJzY3JpcHQqoQEKBklnbm9yZRIWChJJR05PUkVfVU5TUEVDSUZJRUQQABIYChRJR05PUkVfSUZfWkVST19WQUxVRRABEhEKDUlHTk9SRV9BTFdBWVMQAyIECAIQAioMSUdOT1JFX0VNUFRZKg5JR05PUkVfREVGQVVMVCoXSUdOT1JFX0lGX0RFRkFVTFRfVkFMVUUqFUlHTk9SRV9JRl9VTlBPUFVMQVRFRCpuCgpLbm93blJlZ2V4EhsKF0tOT1dOX1JFR0VYX1VOU1BFQ0lGSUVEEAASIAocS05PV05fUkVHRVhfSFRUUF9IRUFERVJfTkFNRRABEiEKHUtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX1ZBTFVFEAI6VgoHbWVzc2FnZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiHCSABKAsyGi5idWYudmFsaWRhdGUuTWVzc2FnZVJ1bGVzUgdtZXNzYWdlOk4KBW9uZW9mEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuT25lb2ZSdWxlc1IFb25lb2Y6TgoFZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIcJIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzUgVmaWVsZDpdCgpwcmVkZWZpbmVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiICSABKAsyHS5idWYudmFsaWRhdGUuUHJlZGVmaW5lZFJ1bGVzUgpwcmVkZWZpbmVkQm4KEmJ1aWxkLmJ1Zi52YWxpZGF0ZUINVmFsaWRhdGVQcm90b1ABWkdidWYuYnVpbGQvZ2VuL2dvL2J1ZmJ1aWxkL3Byb3RvdmFsaWRhdGUvcHJvdG9jb2xidWZmZXJzL2dvL2J1Zi92YWxpZGF0ZQ",[ke,Ue,we,De]);var W=Te("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2RhdGEucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKmCgoKU2lnbmFsRGF0YRL3BQoIZmlsZW5hbWUYASABKAlC3wW6SNsFugGvAQobZmlsZW5hbWUubm9fcGF0aF9zZXBhcmF0b3JzEmNGaWxlbmFtZSBjYW5ub3QgY29udGFpbiBwYXRoIHNlcGFyYXRvcnMgKCcvJyBvciAnXCcpLiBVc2Ugb25seSB0aGUgZmlsZW5hbWUgd2l0aG91dCBkaXJlY3RvcnkgcGF0aC4aKyF0aGlzLmNvbnRhaW5zKCcvJykgJiYgIXRoaXMuY29udGFpbnMoJ1xcJym6AbsBCh5maWxlbmFtZS5ub19jb250cm9sX2NoYXJhY3RlcnMSOUZpbGVuYW1lIGNhbm5vdCBjb250YWluIGNvbnRyb2wgY2hhcmFjdGVycyBvciBudWxsIGJ5dGVzLhpeIXRoaXMuY29udGFpbnMoJ1x4MDAnKSAmJiAhdGhpcy5jb250YWlucygnXG4nKSAmJiAhdGhpcy5jb250YWlucygnXHInKSAmJiAhdGhpcy5jb250YWlucygnXHQnKboBbQonZmlsZW5hbWUubm9fbGVhZGluZ190cmFpbGluZ193aGl0ZXNwYWNlEi1GaWxlbmFtZSBjYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZS4aE3RoaXMgPT0gdGhpcy50cmltKCm6AdMBChxmaWxlbmFtZS5ub193aW5kb3dzX3Jlc2VydmVkEmpGaWxlbmFtZSBjYW5ub3QgYmUgYSBXaW5kb3dzIHJlc2VydmVkIG5hbWUgKENPTiwgUFJOLCBBVVgsIE5VTCwgQ09NMS05LCBMUFQxLTkpIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uGkchdGhpcy5tYXRjaGVzKCdeKD9pKShDT058UFJOfEFVWHxOVUx8Q09NWzEtOV18TFBUWzEtOV0pKD86XFwuW14uXSopPyQnKXIgEAEY/wEyGV5bXi88PjoifD8qXHgwMC1ceDFGXFxdKyRIAIgBARKCBAoJbWltZV90eXBlGAIgASgJQu4DukjqA7oByQEKFm1pbWVfdHlwZS5ub193aWxkY2FyZHMSmQFNSU1FIHR5cGUgd2lsZGNhcmRzIGFyZSBub3QgYWxsb3dlZCBpbiBTaWduYWxEYXRhLiBVc2UgYSBjb25jcmV0ZSBNSU1FIHR5cGUgbGlrZSAnaW1hZ2UvcG5nJyBvciAnYXBwbGljYXRpb24vcGRmJywgbm90IHdpbGRjYXJkcyBsaWtlICdpbWFnZS8qJyBvciAnKi8qJy4aEyF0aGlzLmNvbnRhaW5zKCcqJym6Ab8BChdtaW1lX3R5cGUubm9fcGFyYW1ldGVycxKOAU1JTUUgdHlwZSBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZC4gVXNlICd0ZXh0L3BsYWluJyBpbnN0ZWFkIG9mICd0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Jy4gVVRGLTggZW5jb2RpbmcgaXMgYXNzdW1lZCBmb3IgYWxsIHRleHQgZm9ybWF0cy4aEyF0aGlzLmNvbnRhaW5zKCc7JylyWBADGP8BMlFeW2EtekEtWjAtOV1bYS16QS1aMC05ISMkJlwtXl8uK117MCwxMjZ9L1thLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fSQSDAoEZGF0YRgDIAEoDEILCglfZmlsZW5hbWViBnByb3RvMw",[d]),f=je(W,0);import{fileDesc as qe,messageDesc as $e}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Pe,messageDesc as Oe}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_struct as _e}from"@bufbuild/protobuf/wkt";var _=Pe("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvanRkX3NjaGVtYS5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIsEcCglKVERTY2hlbWESegoLZGVmaW5pdGlvbnMYASADKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLkRlZmluaXRpb25zRW50cnlCL7pILJoBKQgAEOgHIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEi4KCG1ldGFkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhUKCG51bGxhYmxlGAMgASgISAGIAQESNwoDcmVmGAQgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAKIAQEScQoEdHlwZRgFIAEoCUJeukhbcllSB2Jvb2xlYW5SB2Zsb2F0MzJSB2Zsb2F0NjRSBGludDhSBXVpbnQ4UgVpbnQxNlIGdWludDE2UgVpbnQzMlIGdWludDMyUgZzdHJpbmdSCXRpbWVzdGFtcEgDiAEBEiQKBGVudW0YBiADKAlCFrpIE5IBEAgAEOgHGAEiB3IFEAEY6AcSOgoIZWxlbWVudHMYByABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hSASIAQESXAoKcHJvcGVydGllcxgIIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWEuUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEm0KE29wdGlvbmFsX3Byb3BlcnRpZXMYCSADKAsyOy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLk9wdGlvbmFsUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEiIKFWFkZGl0aW9uYWxfcHJvcGVydGllcxgKIAEoCEgFiAEBEjgKBnZhbHVlcxgLIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIBogBARIlCg1kaXNjcmltaW5hdG9yGAwgASgJQgm6SAZyBBABGGRIB4gBARJWCgdtYXBwaW5nGA0gAygLMjAubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYS5NYXBwaW5nRW50cnlCE7pIEJoBDQgAEOgHIgZyBBABGGQaVwoQRGVmaW5pdGlvbnNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hOgI4ARpWCg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaXgoXT3B0aW9uYWxQcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaUwoMTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWE6AjgBOuMRukjfERqTAwocanRkLm11dHVhbGx5X2V4Y2x1c2l2ZV9mb3JtcxKIAVNjaGVtYSBtdXN0IHVzZSBleGFjdGx5IG9uZSBmb3JtIChlbXB0eSwgcmVmLCB0eXBlLCBlbnVtLCBlbGVtZW50cywgcHJvcGVydGllcywgdmFsdWVzLCBvciBkaXNjcmltaW5hdG9yKS4gTXVsdGlwbGUgZm9ybSBrZXl3b3JkcyBmb3VuZC4a5wFbaGFzKHRoaXMucmVmKSwgaGFzKHRoaXMudHlwZSksIHNpemUodGhpcy5lbnVtKSA+IDAsIGhhcyh0aGlzLmVsZW1lbnRzKSwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwLCBoYXModGhpcy52YWx1ZXMpLCBoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMubWFwcGluZykgPiAwXS5maWx0ZXIoeCwgeCkuc2l6ZSgpIDw9IDEa+AEKGWp0ZC5wcm9wZXJ0aWVzX25vX292ZXJsYXASWFByb3BlcnRpZXMgYW5kIG9wdGlvbmFsX3Byb3BlcnRpZXMgY2Fubm90IGhhdmUgb3ZlcmxhcHBpbmcga2V5cyAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNikagAEhKHNpemUodGhpcy5wcm9wZXJ0aWVzKSA+IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID4gMCkgfHwgdGhpcy5wcm9wZXJ0aWVzLmFsbChwaywgIShwayBpbiB0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpKRqQAgoxanRkLmFkZGl0aW9uYWxfcHJvcGVydGllc19vbmx5X29uX3Byb3BlcnRpZXNfZm9ybRJ2YWRkaXRpb25hbF9wcm9wZXJ0aWVzIGNhbiBvbmx5IGJlIHNldCB3aGVuIHVzaW5nIHRoZSBwcm9wZXJ0aWVzIGZvcm0gKGhhcyBub24tZW1wdHkgcHJvcGVydGllcyBvciBvcHRpb25hbF9wcm9wZXJ0aWVzKRpjIWhhcyh0aGlzLmFkZGl0aW9uYWxfcHJvcGVydGllcykgfHwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwGsIBCiJqdGQuZGlzY3JpbWluYXRvcl9yZXF1aXJlc19tYXBwaW5nEmdkaXNjcmltaW5hdG9yIGFuZCBtYXBwaW5nIG11c3QgYXBwZWFyIHRvZ2V0aGVyIHdpdGggYXQgbGVhc3Qgb25lIG1hcHBpbmcgZW50cnkgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGjNoYXModGhpcy5kaXNjcmltaW5hdG9yKSA9PSAoc2l6ZSh0aGlzLm1hcHBpbmcpID4gMCka/QEKI2p0ZC5tYXBwaW5nX211c3RfYmVfcHJvcGVydGllc19mb3JtEk5BbGwgc2NoZW1hcyBpbiBtYXBwaW5nIG11c3QgYmUgb2YgdGhlIHByb3BlcnRpZXMgZm9ybSAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuOCkahQFzaXplKHRoaXMubWFwcGluZykgPT0gMCB8fCB0aGlzLm1hcHBpbmcuYWxsKG0sIHNpemUodGhpcy5tYXBwaW5nW21dLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMubWFwcGluZ1ttXS5vcHRpb25hbF9wcm9wZXJ0aWVzKSA+IDApGuIBCh5qdGQubWFwcGluZ19jYW5ub3RfYmVfbnVsbGFibGUSU1NjaGVtYXMgaW4gZGlzY3JpbWluYXRvciBtYXBwaW5nIGNhbm5vdCBoYXZlIG51bGxhYmxlPXRydWUgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGmtzaXplKHRoaXMubWFwcGluZykgPT0gMCB8fCB0aGlzLm1hcHBpbmcuYWxsKG0sICFoYXModGhpcy5tYXBwaW5nW21dLm51bGxhYmxlKSB8fCAhdGhpcy5tYXBwaW5nW21dLm51bGxhYmxlKRrGAgoranRkLmRpc2NyaW1pbmF0b3Jfbm90X2luX21hcHBpbmdfcHJvcGVydGllcxJwRGlzY3JpbWluYXRvciB0YWcgY2Fubm90IGFwcGVhciBpbiBwcm9wZXJ0aWVzIG9yIG9wdGlvbmFsX3Byb3BlcnRpZXMgb2YgbWFwcGluZyBzY2hlbWFzIChSRkMgODkyNyBTZWN0aW9uIDIuMi44KRqkASFoYXModGhpcy5kaXNjcmltaW5hdG9yKSB8fCB0aGlzLm1hcHBpbmcuYWxsKG0sICEodGhpcy5kaXNjcmltaW5hdG9yIGluIHRoaXMubWFwcGluZ1ttXS5wcm9wZXJ0aWVzKSAmJiAhKHRoaXMuZGlzY3JpbWluYXRvciBpbiB0aGlzLm1hcHBpbmdbbV0ub3B0aW9uYWxfcHJvcGVydGllcykpGsUCChJqdGQuZW51bV9ub25fZW1wdHkSSmVudW0gYXJyYXkgbXVzdCBiZSBub24tZW1wdHkgd2hlbiB1c2luZyBlbnVtIGZvcm0gKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjQpGuIBc2l6ZSh0aGlzLmVudW0pID4gMCAmJiAhaGFzKHRoaXMudHlwZSkgJiYgIWhhcyh0aGlzLnJlZikgJiYgIWhhcyh0aGlzLmVsZW1lbnRzKSAmJiAhaGFzKHRoaXMudmFsdWVzKSAmJiAhaGFzKHRoaXMuZGlzY3JpbWluYXRvcikgJiYgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID09IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID09IDAgPyBzaXplKHRoaXMuZW51bSkgPiAwIDogdHJ1ZUILCglfbWV0YWRhdGFCCwoJX251bGxhYmxlQgYKBF9yZWZCBwoFX3R5cGVCCwoJX2VsZW1lbnRzQhgKFl9hZGRpdGlvbmFsX3Byb3BlcnRpZXNCCQoHX3ZhbHVlc0IQCg5fZGlzY3JpbWluYXRvcmIGcHJvdG8z",[d,_e]),tt=Oe(_,0);var E=qe("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Zvcm1hdC5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIo8FCgxTaWduYWxGb3JtYXQSOQoKanRkX3NjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIABKyBAoJbWltZV90eXBlGAIgASgJQpwEukiYBLoBmwIKMG1pbWVfdHlwZS5ub190eXBlX3dpbGRjYXJkX3dpdGhfY29uY3JldGVfc3VidHlwZRK7AVR5cGUgd2lsZGNhcmQgd2l0aCBjb25jcmV0ZSBzdWJ0eXBlIChlLmcuLCAnKi9wbmcnLCAnKi9qc29uJykgaXMgbm90IGFsbG93ZWQuIFVzZSBjb25jcmV0ZSB0eXBlIChlLmcuLCAnaW1hZ2UvcG5nJyksIHR5cGUtZmFtaWx5IHdpbGRjYXJkIChlLmcuLCAnaW1hZ2UvKicpLCBvciB1bml2ZXJzYWwgd2lsZGNhcmQgKCcqLyonKS4aKSEodGhpcy5zdGFydHNXaXRoKCcqLycpICYmIHRoaXMgIT0gJyovKicpugGRAQodbWltZV90eXBlLm5vX2FwcGxpY2F0aW9uX2pzb24SR2dlbmVyaWMganNvbiBpcyBqdGQtc2NoZW1hIHdpdGggZW1wdHkgc2NoZW1hLCB0aGlzIHdpbGwgYWNjZXB0IGFueSBKU09OGid0aGlzLmxvd2VyQXNjaWkoKSAhPSAnYXBwbGljYXRpb24vanNvbidyYhADGP8BMlteKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikvKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikkSABCDwoGZm9ybWF0EgW6SAIIAWIGcHJvdG8z",[d,_]),be=$e(E,0);import{fileDesc as hn,messageDesc as Zn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as an,messageDesc as on}from"@bufbuild/protobuf/codegenv2";import{fileDesc as tn,messageDesc as sn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as en,messageDesc as nn}from"@bufbuild/protobuf/codegenv2";var L=en("CjBtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Rlc2NyaXB0b3IucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKMAgoQU2lnbmFsRGVzY3JpcHRvchIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHZm9ybWF0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDJCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxiBnByb3RvMw",[d,E]),mt=nn(L,0);var q=tn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLMAgoLVHJhbnNjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEhYKCXN0cmVhbWluZxgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfc3RyZWFtaW5nYgZwcm90bzM",[d,L]),bt=sn(q,0);var $=an("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvZXhjaGFuZ2UucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLuAwoIRXhjaGFuZ2USMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARLCAQoMdHJhbnNtaXR0ZXJzGAMgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlRyYW5zY2VpdmVyQoQBukiAAboBeAoZdHJhbnNtaXR0ZXJzX3VuaXF1ZV9uYW1lcxIpRWFjaCB0cmFuc21pdHRlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aMHRoaXMubWFwKHRyYW5zbWl0dGVyLCB0cmFuc21pdHRlci5uYW1lKS51bmlxdWUoKZIBAhAKErMBCglyZWNlaXZlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEApCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,q]),Vt=on($,0);import{fileDesc as mn,messageDesc as rn}from"@bufbuild/protobuf/codegenv2";import{enumDesc as cn,fileDesc as gn,messageDesc as ln}from"@bufbuild/protobuf/codegenv2";var U=gn("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKWBgoNU2lnbmFsQmluZGluZxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgBiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gCiAEBEhUKCG9wdGlvbmFsGAQgASgISAOIAQESQwoHYWNjZXB0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDISXgoJcmVmZXJlbmNlGAYgASgJQkm6SEZyRBj6ATI/XlswLTlhLXpdezR9L1tfJGEtekEtWl1bXyRhLXpBLVowLTldKi9bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAAS4AEKCGNvbnN0YW50GAcgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCpQG6SKEBugGdAQoZY29uc3RhbnQubWF4X3BheWxvYWRfc2l6ZRJmQ29uc3RhbnQgc2lnbmFsIGRhdGEgY2Fubm90IGV4Y2VlZCA1MEtCICg1MTIwMCBieXRlcykuIEZvciBsYXJnZXIgZGF0YSwgdXNlIHNpZ25hbCByZWZlcmVuY2VzIGluc3RlYWQuGhhzaXplKHRoaXMuZGF0YSkgPD0gNTEyMDBIABJLCgVlcnJvchgIIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxCaW5kaW5nLkVycm9yQgi6SAWCAQIgAEgEiAEBImYKBUVycm9yEhUKEUVSUk9SX1VOU1BFQ0lGSUVEEAASEQoNRVJST1JfVU5CT1VORBABEhgKFEVSUk9SX0lOVkFMSURfU09VUkNFEAISGQoVRVJST1JfU0NIRU1BX01JU01BVENIEANCCQoHYmluZGluZ0IICgZfbGFiZWxCDgoMX2Rlc2NyaXB0aW9uQgsKCV9vcHRpb25hbEIICgZfZXJyb3JiBnByb3RvMw",[d,W,E]),Wt=ln(U,0),dn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.UNBOUND=1]="UNBOUND",s[s.INVALID_SOURCE=2]="INVALID_SOURCE",s[s.SCHEMA_MISMATCH=3]="SCHEMA_MISMATCH",s))(dn||{}),Ct=cn(U,0,0);var ee=mn("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvcmVjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKlAgoIUmVjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKvAQoIYmluZGluZ3MYAyADKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsQmluZGluZ0J0ukhxugFoChViaW5kaW5nc191bmlxdWVfbmFtZXMSJUVhY2ggYmluZGluZyBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKHRoaXMubWFwKGJpbmRpbmcsIGJpbmRpbmcubmFtZSkudW5pcXVlKCmSAQMQgARCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,U]),Mt=rn(ee,0);import{enumDesc as pn,fileDesc as un,messageDesc as Gn}from"@bufbuild/protobuf/codegenv2";var H=un("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNtaXR0ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLCAwoLVHJhbnNtaXR0ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEj0KBG1vZGUYBCABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXIuTW9kZUgBiAEBIlIKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDU1PREVfU1RBTkRBUkQQARIPCgtNT0RFX1NUUkVBTRACEhAKDE1PREVfRkFJTFVSRRADQg4KDF9kZXNjcmlwdGlvbkIHCgVfbW9kZWIGcHJvdG8z",[d,L]),ft=Gn(H,0),bn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.STANDARD=1]="STANDARD",s[s.STREAM=2]="STREAM",s[s.FAILURE=3]="FAILURE",s))(bn||{}),Lt=pn(H,0,0);var ne=hn("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgihAUKDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQChIlCg1jcm9uX3NjaGVkdWxlGAYgASgJQgm6SAZyBBABGGRIAIgBAUIQCg5fY3Jvbl9zY2hlZHVsZWIGcHJvdG8z",[d,$,ee,H]),v=Zn(ne,0);import{enumDesc as Xe,fileDesc as Mn,messageDesc as o,serviceDesc as ae}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_field_mask as En,file_google_protobuf_struct as vn,file_google_protobuf_timestamp as Hn}from"@bufbuild/protobuf/wkt";import{enumDesc as Jn,fileDesc as Wn,messageDesc as m,serviceDesc as Cn}from"@bufbuild/protobuf/codegenv2";import{extDesc as _t,fileDesc as In}from"@bufbuild/protobuf/codegenv2";import{fileDesc as yn,messageDesc as jt}from"@bufbuild/protobuf/codegenv2";var he=yn("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");import{file_google_protobuf_descriptor as Vn}from"@bufbuild/protobuf/wkt";var Ze=In("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[he,Vn]);import{enumDesc as os,extDesc as cs,fileDesc as Sn,messageDesc as is}from"@bufbuild/protobuf/codegenv2";import{enumDesc as ts,fileDesc as Xn}from"@bufbuild/protobuf/codegenv2";var ye=Xn("Ch1nb29nbGUvYXBpL2xhdW5jaF9zdGFnZS5wcm90bxIKZ29vZ2xlLmFwaSqMAQoLTGF1bmNoU3RhZ2USHAoYTEFVTkNIX1NUQUdFX1VOU1BFQ0lGSUVEEAASEQoNVU5JTVBMRU1FTlRFRBAGEg0KCVBSRUxBVU5DSBAHEhAKDEVBUkxZX0FDQ0VTUxABEgkKBUFMUEhBEAISCAoEQkVUQRADEgYKAkdBEAQSDgoKREVQUkVDQVRFRBAFQloKDmNvbS5nb29nbGUuYXBpQhBMYXVuY2hTdGFnZVByb3RvUAFaLWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpO2FwaaICBEdBUEliBnByb3RvMw");import{file_google_protobuf_descriptor as Rn,file_google_protobuf_duration as An}from"@bufbuild/protobuf/wkt";var Ie=Sn("Chdnb29nbGUvYXBpL2NsaWVudC5wcm90bxIKZ29vZ2xlLmFwaSK+AQoWQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxIeChJyZWZlcmVuY2VfZG9jc191cmkYASABKAlCAhgBEjoKDGRlc3RpbmF0aW9ucxgCIAMoDjIkLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeURlc3RpbmF0aW9uEkgKGnNlbGVjdGl2ZV9nYXBpY19nZW5lcmF0aW9uGAMgASgLMiQuZ29vZ2xlLmFwaS5TZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24i+wMKFUNsaWVudExpYnJhcnlTZXR0aW5ncxIPCgd2ZXJzaW9uGAEgASgJEi0KDGxhdW5jaF9zdGFnZRgCIAEoDjIXLmdvb2dsZS5hcGkuTGF1bmNoU3RhZ2USGgoScmVzdF9udW1lcmljX2VudW1zGAMgASgIEi8KDWphdmFfc2V0dGluZ3MYFSABKAsyGC5nb29nbGUuYXBpLkphdmFTZXR0aW5ncxItCgxjcHBfc2V0dGluZ3MYFiABKAsyFy5nb29nbGUuYXBpLkNwcFNldHRpbmdzEi0KDHBocF9zZXR0aW5ncxgXIAEoCzIXLmdvb2dsZS5hcGkuUGhwU2V0dGluZ3MSMwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW5ncxIvCg1ub2RlX3NldHRpbmdzGBkgASgLMhguZ29vZ2xlLmFwaS5Ob2RlU2V0dGluZ3MSMwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncxIvCg1ydWJ5X3NldHRpbmdzGBsgASgLMhguZ29vZ2xlLmFwaS5SdWJ5U2V0dGluZ3MSKwoLZ29fc2V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3MiqAMKClB1Ymxpc2hpbmcSMwoPbWV0aG9kX3NldHRpbmdzGAIgAygLMhouZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncxIVCg1uZXdfaXNzdWVfdXJpGGUgASgJEhkKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJEhYKDmFwaV9zaG9ydF9uYW1lGGcgASgJEhQKDGdpdGh1Yl9sYWJlbBhoIAEoCRIeChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJEhYKDmRvY190YWdfcHJlZml4GGogASgJEjsKDG9yZ2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbhI7ChBsaWJyYXJ5X3NldHRpbmdzGG0gAygLMiEuZ29vZ2xlLmFwaS5DbGllbnRMaWJyYXJ5U2V0dGluZ3MSKQohcHJvdG9fcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG4gASgJEigKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJIuMBCgxKYXZhU2V0dGluZ3MSFwoPbGlicmFyeV9wYWNrYWdlGAEgASgJEkwKE3NlcnZpY2VfY2xhc3NfbmFtZXMYAiADKAsyLy5nb29nbGUuYXBpLkphdmFTZXR0aW5ncy5TZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EjIKBmNvbW1vbhgDIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxo4ChZTZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoLQ3BwU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIkEKC1BocFNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKbAgoOUHl0aG9uU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEk4KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgCIAEoCzIvLmdvb2dsZS5hcGkuUHl0aG9uU2V0dGluZ3MuRXhwZXJpbWVudGFsRmVhdHVyZXMahAEKFEV4cGVyaW1lbnRhbEZlYXR1cmVzEh0KFXJlc3RfYXN5bmNfaW9fZW5hYmxlZBgBIAEoCBInCh9wcm90b2J1Zl9weXRob25pY190eXBlc19lbmFibGVkGAIgASgIEiQKHHVudmVyc2lvbmVkX3BhY2thZ2VfZGlzYWJsZWQYAyABKAgiQgoMTm9kZVNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKqAwoORG90bmV0U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEkkKEHJlbmFtZWRfc2VydmljZXMYAiADKAsyLy5nb29nbGUuYXBpLkRvdG5ldFNldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5EksKEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkUmVzb3VyY2VzRW50cnkSGQoRaWdub3JlZF9yZXNvdXJjZXMYBCADKAkSIAoYZm9yY2VkX25hbWVzcGFjZV9hbGlhc2VzGAUgAygJEh4KFmhhbmR3cml0dGVuX3NpZ25hdHVyZXMYBiADKAkaNgoUUmVuYW1lZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo3ChVSZW5hbWVkUmVzb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJCCgxSdWJ5U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIr8BCgpHb1NldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxJFChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMisuZ29vZ2xlLmFwaS5Hb1NldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5GjYKFFJlbmFtZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEizwIKDk1ldGhvZFNldHRpbmdzEhAKCHNlbGVjdG9yGAEgASgJEjwKDGxvbmdfcnVubmluZxgCIAEoCzImLmdvb2dsZS5hcGkuTWV0aG9kU2V0dGluZ3MuTG9uZ1J1bm5pbmcSHQoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJGs0BCgtMb25nUnVubmluZxI1ChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SHQoVcG9sbF9kZWxheV9tdWx0aXBsaWVyGAIgASgCEjEKDm1heF9wb2xsX2RlbGF5GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnRvdGFsX3BvbGxfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJRChhTZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24SDwoHbWV0aG9kcxgBIAMoCRIkChxnZW5lcmF0ZV9vbWl0dGVkX2FzX2ludGVybmFsGAIgASgIKqMBChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVElPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RSRUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBypnChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT05fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFDpKChBtZXRob2Rfc2lnbmF0dXJlEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYmwggAygJUg9tZXRob2RTaWduYXR1cmU6QwoMZGVmYXVsdF9ob3N0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJkIIAEoCVILZGVmYXVsdEhvc3Q6QwoMb2F1dGhfc2NvcGVzEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJoIIAEoCVILb2F1dGhTY29wZXM6RAoLYXBpX3ZlcnNpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYwbqr+gEgASgJUgphcGlWZXJzaW9uQmkKDmNvbS5nb29nbGUuYXBpQgtDbGllbnRQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMw",[ye,Rn,An]);import{file_google_protobuf_timestamp as Bn}from"@bufbuild/protobuf/wkt";var l=Wn("CjNtb2NoYWJ1Z2FwaXMvYWRhcHQvYXV0b21hdGlvbnMvdjEvYXV0b21hdGlvbnMucHJvdG8SIW1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MSIvChVJbmhlcml0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiZQoWSW5oZXJpdFNlc3Npb25SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIq8BChFSZWFkT3V0cHV0UmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIaCglwYWdlX3NpemUYAiABKA1CB7pIBCoCGGQSKQoGdmVydGV4GAMgASgJQhS6SBFyDzINXlswLTlhLXpdezR9JEgAiAEBEiEKCm5ld2VyX3RoYW4YBCABKAlCCLpIBXIDsAEBSAGIAQFCCQoHX3ZlcnRleEINCgtfbmV3ZXJfdGhhbiLLAQoSUmVhZE91dHB1dFJlc3BvbnNlEjsKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbhI6CgdvdXRwdXRzGAIgAygLMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLk91dHB1dBInChBuZXh0X3BhZ2VfY3Vyc29yGAMgASgJQgi6SAVyA7ABAUgAiAEBQhMKEV9uZXh0X3BhZ2VfY3Vyc29yIncKD1JlYWRVcmxzUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIaCglwYWdlX3NpemUYAiABKA1CB7pIBCoCGGQSIQoKbmV3ZXJfdGhhbhgDIAEoCUIIukgFcgOwAQFIAIgBAUINCgtfbmV3ZXJfdGhhbiLDAQoQUmVhZFVybHNSZXNwb25zZRI7CgdzZXNzaW9uGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb24SNAoEdXJscxgCIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5VcmwSJwoQbmV4dF9wYWdlX2N1cnNvchgDIAEoCUIIukgFcgOwAQFIAIgBAUITChFfbmV4dF9wYWdlX2N1cnNvciLYAgoTU3RhcnRTZXNzaW9uUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxI7Cgt0cmFuc21pdHRlchgCIAEoCUIhukgechwQARhkMhZeW2EtekEtWjAtOV8tXXsxLDEwMH0kSACIAQEShQEKB3NpZ25hbHMYAyADKAsyQy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhcnRTZXNzaW9uUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKSIiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCoDyAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyImMKFFN0YXJ0U2Vzc2lvblJlc3BvbnNlEg0KBXRva2VuGAEgASgJEjAKB2V4cGlyZXMYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCCgoIX2V4cGlyZXMiLAoSU3RvcFNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIhUKE1N0b3BTZXNzaW9uUmVzcG9uc2UiKwoRR2V0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiWQoSR2V0U2Vzc2lvblJlc3BvbnNlEkMKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkIGukgDyAEBIukBCgZPdXRwdXQSDgoGdmVydGV4GAEgASgJEgwKBGZvcmsYAiABKAkSQQoEZGF0YRgDIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQuRGF0YUVudHJ5EisKB2NyZWF0ZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGlEKCURhdGFFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEiegoDVXJsEgsKA3VybBgBIAEoCRIMCgRmb3JrGAIgASgJEg4KBnZlcnRleBgDIAEoCRIMCgRkb25lGAQgASgIEisKB2NyZWF0ZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRva2VuGAYgASgJIlIKB1Nlc3Npb24SDAoEZm9yaxgBIAEoCRI5CgZzdGF0dXMYAiABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhdHVzIi4KFFN0cmVhbVNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIkkKEUFja01lc3NhZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEhwKCm1lc3NhZ2VfaWQYAiABKAlCCLpIBXIDsAEBIhQKEkFja01lc3NhZ2VSZXNwb25zZSLrAQoVU3RyZWFtU2Vzc2lvblJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARI7CgZvdXRwdXQYAiABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAMgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBCABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2Ui1AIKEVJ1blNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEjsKC3RyYW5zbWl0dGVyGAIgASgJQiG6SB5yHBABGGQyFl5bYS16QS1aMC05Xy1dezEsMTAwfSRIAIgBARKDAQoHc2lnbmFscxgDIAMoCzJBLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKSIiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCoDyAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyIrECChJSdW5TZXNzaW9uUmVzcG9uc2USFAoCaWQYASABKAlCCLpIBXIDsAEBEkcKB3N0YXJ0ZWQYAiABKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UiYAoRUnVuU2Vzc2lvblN0YXJ0ZWQSDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyIrChFSdW5Jbmhlcml0UmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AyKzAgoSUnVuSW5oZXJpdFJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARJJCglpbmhlcml0ZWQYAiABKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UiYAoRUnVuSW5oZXJpdFN0YXJ0ZWQSDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyrIAQoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEhIKDlNUQVRVU19SVU5OSU5HEAESEgoOU1RBVFVTX1NUT1BQRUQQAhITCg9TVEFUVVNfU1RPUFBJTkcQAxIUChBTVEFUVVNfQ09NUExFVEVEEAQSEgoOU1RBVFVTX0VYUElSRUQQBRISCg5TVEFUVVNfRVJST1JFRBAGEhUKEVNUQVRVU19ERUxFR0FUSU5HEAcSFAoQU1RBVFVTX0RFTEVHQVRFRBAIMtUOChFBdXRvbWF0aW9uU2VydmljZRKuAQoMU3RhcnRTZXNzaW9uEjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhcnRTZXNzaW9uUmVzcG9uc2UiLYLT5JMCJzoBKiIiL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9zdGFydBKiAQoLU3RvcFNlc3Npb24SNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RvcFNlc3Npb25SZXF1ZXN0GjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0b3BTZXNzaW9uUmVzcG9uc2UiJILT5JMCHiocL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbhK2AQoOSW5oZXJpdFNlc3Npb24SOC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuSW5oZXJpdFNlc3Npb25SZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkluaGVyaXRTZXNzaW9uUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9pbmhlcml0Ep8BCgpHZXRTZXNzaW9uEjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkdldFNlc3Npb25SZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkdldFNlc3Npb25SZXNwb25zZSIkgtPkkwIeEhwvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uEqYBCgpSZWFkT3V0cHV0EjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRPdXRwdXRSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRPdXRwdXRSZXNwb25zZSIrgtPkkwIlEiMvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL291dHB1dBKeAQoIUmVhZFVybHMSMi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUmVhZFVybHNSZXF1ZXN0GjMubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRVcmxzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi91cmxzErEBCg1TdHJlYW1TZXNzaW9uEjcubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0cmVhbVNlc3Npb25SZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0cmVhbVNlc3Npb25SZXNwb25zZSIrgtPkkwIlEiMvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL3N0cmVhbTABEqYBCgpBY2tNZXNzYWdlEjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkFja01lc3NhZ2VSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkFja01lc3NhZ2VSZXNwb25zZSIrgtPkkwIlOgEqIiAvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL2FjaxKoAQoKUnVuU2Vzc2lvbhI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9ydW4wARKwAQoKUnVuSW5oZXJpdBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0UmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9ydW4taW5oZXJpdDABGokBykEWYWRhcHQubW9jaGFidWdhcGlzLmNvbdJBbWh0dHBzOi8vd3d3Lm1vY2hhYnVnYXBpcy5jb20vYXV0aC9hZGFwdC5hdXRvbWF0aW9ucyxodHRwczovL3d3dy5tb2NoYWJ1Z2FwaXMuY29tL2F1dGgvYWRhcHQuYXV0b21hdGlvbnMuc3RhcnRiBnByb3RvMw",[d,Ze,Ie,Bn,W]),hs=m(l,0),Zs=m(l,1),ys=m(l,2),Is=m(l,3),Vs=m(l,4),Xs=m(l,5),Ss=m(l,6),Rs=m(l,7),As=m(l,8),Js=m(l,9),Ws=m(l,10),Cs=m(l,11),Bs=m(l,12),Ys=m(l,13),xs=m(l,14),Fs=m(l,15),Ms=m(l,16),Es=m(l,17),vs=m(l,18),Hs=m(l,19),zs=m(l,20),fs=m(l,21),Ls=m(l,22),Ks=m(l,23),Ns=m(l,24),Yn=(g=>(g[g.UNSPECIFIED=0]="UNSPECIFIED",g[g.RUNNING=1]="RUNNING",g[g.STOPPED=2]="STOPPED",g[g.STOPPING=3]="STOPPING",g[g.COMPLETED=4]="COMPLETED",g[g.EXPIRED=5]="EXPIRED",g[g.ERRORED=6]="ERRORED",g[g.DELEGATING=7]="DELEGATING",g[g.DELEGATED=8]="DELEGATED",g))(Yn||{}),Qs=Jn(l,0),ks=Cn(l,0);import{fileDesc as xn,messageDesc as I}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_timestamp as Fn}from"@bufbuild/protobuf/wkt";var Z=xn("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9zdG9yZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiJgoIUHV0VmFsdWUSDQoFdmFsdWUYASABKAwSCwoDdHRsGAIgASgFIlkKCEdldFZhbHVlEg0KBXZhbHVlGAEgASgMEj4KCG1ldGFkYXRhGAIgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YSJdCg1WYWx1ZU1ldGFkYXRhEgsKA3R0bBgBIAEoBRIxCg1sYXN0X21vZGlmaWVkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRldGFnGAMgASgJIuwBCg5UaW1lc3RhbXBSYW5nZRIxCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBrpIA8gBARIvCgNlbmQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESFwoPc3RhcnRfaW5jbHVzaXZlGAMgASgIEhUKDWVuZF9pbmNsdXNpdmUYBCABKAg6RrpIQxpBCgt2YWxpZF9yYW5nZRIbc3RhcnQgbXVzdCBiZSBsZXNzIHRoYW4gZW5kGhV0aGlzLnN0YXJ0IDwgdGhpcy5lbmQinwMKCFNlbGVjdE9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQESHgoFbGltaXQYBSABKAVCCrpIBxoFGOgHKABIBIgBARIXCgpwYWdlX3Rva2VuGAYgASgJSAWIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmVCCAoGX2xpbWl0Qg0KC19wYWdlX3Rva2VuIuABCg5Xcml0ZU9wZXJhdGlvbhI5CgZpbnNlcnQYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbnNlcnRPcEgAEjkKBmRlbGV0ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRlbGV0ZU9wSAASRAoMcmFuZ2VfZGVsZXRlGAMgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmFuZ2VEZWxldGVPcEgAQhIKCW9wZXJhdGlvbhIFukgCCAEiuwEKGUNvbmRpdGlvbmFsV3JpdGVPcGVyYXRpb24SRAoGaW5zZXJ0GAEgASgLMjIubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxJbnNlcnRPcEgAEkQKBmRlbGV0ZRgCIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3BIAEISCglvcGVyYXRpb24SBbpIAggBItICCg1SYW5nZURlbGV0ZU9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmUiYQoISW5zZXJ0T3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAIBI+CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlB1dFZhbHVlQga6SAPIAQEiIQoIRGVsZXRlT3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAICK2BgoTQ29uZGl0aW9uYWxJbnNlcnRPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEj4KBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUHV0VmFsdWVCBrpIA8gBARJaCgxwcmVjb25kaXRpb24YAyABKAsyPy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbEluc2VydE9wLlByZWNvbmRpdGlvbkgAiAEBGtoECgxQcmVjb25kaXRpb24SOgoUbGFzdF9tb2RpZmllZF9lcXVhbHMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAASTAoTbGFzdF9tb2RpZmllZF9yYW5nZRgCIAEoCzItLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRpbWVzdGFtcFJhbmdlSAASEQoEZXRhZxgEIAEoCUgBiAEBEhsKDmZhaWxfaWZfZXhpc3RzGAUgASgISAKIAQE63AK6SNgCGscBCiBub190aW1lc3RhbXBfd2l0aF9mYWlsX2lmX2V4aXN0cxI7ZmFpbF9pZl9leGlzdHMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGltZXN0YW1wIGNvbmRpdGlvbnMaZnRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5sYXN0X21vZGlmaWVkX2VxdWFscykgJiYgIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfcmFuZ2UpIDogdHJ1ZRqLAQobbm9fZXRhZ193aXRoX2ZhaWxfaWZfZXhpc3RzEjZmYWlsX2lmX2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBldGFnIGNvbmRpdGlvbnMaNHRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5ldGFnKSA6IHRydWVCFQoTdGltZXN0YW1wX2NvbmRpdGlvbkIHCgVfZXRhZ0IRCg9fZmFpbF9pZl9leGlzdHNCDwoNX3ByZWNvbmRpdGlvbiLeBQoTQ29uZGl0aW9uYWxEZWxldGVPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEloKDHByZWNvbmRpdGlvbhgCIAEoCzI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3AuUHJlY29uZGl0aW9uSACIAQEawgQKDFByZWNvbmRpdGlvbhIYCgttdXN0X2V4aXN0cxgBIAEoCEgBiAEBEjoKFGxhc3RfbW9kaWZpZWRfZXF1YWxzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEkwKE2xhc3RfbW9kaWZpZWRfcmFuZ2UYAyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UaW1lc3RhbXBSYW5nZUgAEhEKBGV0YWcYBCABKAlIAogBATrKArpIxgIavgEKHW5vX3RpbWVzdGFtcF93aXRoX211c3RfZXhpc3RzEjhtdXN0X2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aW1lc3RhbXAgY29uZGl0aW9ucxpjdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfZXF1YWxzKSAmJiAhaGFzKHRoaXMubGFzdF9tb2RpZmllZF9yYW5nZSkgOiB0cnVlGoIBChhub19ldGFnX3dpdGhfbXVzdF9leGlzdHMSM211c3RfZXhpc3RzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGV0YWcgY29uZGl0aW9ucxoxdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmV0YWcpIDogdHJ1ZUIVChN0aW1lc3RhbXBfY29uZGl0aW9uQg4KDF9tdXN0X2V4aXN0c0IHCgVfZXRhZ0IPCg1fcHJlY29uZGl0aW9uYgZwcm90bzM",[d,Fn]),js=I(Z,0),Ps=I(Z,1),Os=I(Z,2),te=I(Z,3),_s=I(Z,4),w=I(Z,5),qs=I(Z,6),$s=I(Z,7),ea=I(Z,8),na=I(Z,9),ta=I(Z,10),se=I(Z,10,0),sa=I(Z,11),Ve=I(Z,11,0);var a=Mn("Cittb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9ydW50aW1lLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MSK+AQolRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAi7gEKJkV4ZWN1dG9yU2VydmljZUJhdGNoV3JpdGVTdG9yZVJlc3BvbnNlEmUKCG1ldGFkYXRhGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIrYBCiBFeGVjdXRvclNlcnZpY2VXcml0ZVN0b3JlUmVxdWVzdBJLCglvcGVyYXRpb24YASABKAsyOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbFdyaXRlT3BlcmF0aW9uEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAidQohRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKPAQokRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0EiAKBGtleXMYASADKAlCErpID5IBDAgBEJBOIgVyAxiAIBJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIt4BCiVFeGVjdXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEl4KBWl0ZW1zGAEgAygLMk8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5GlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBIq4BCiFFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QSQgoJb3BlcmF0aW9uGAEgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU2VsZWN0T3BCBrpIA8gBARJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIoACCiJFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlElsKBWl0ZW1zGAEgAygLMkwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5EhcKCm5leHRfdG9rZW4YAiABKAlIAIgBARpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4AUINCgtfbmV4dF90b2tlbiI2Ch5DYW5jZWxFeGNoYW5nZU9wZXJhdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIiEKH0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2UiMwobR2V0RXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABASJeChxHZXRFeGNoYW5nZU9wZXJhdGlvblJlc3BvbnNlEj4KBGl0ZW0YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbiL3AgoXRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBI8CghyZWNlaXZlchgCIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEoUBCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QuU2lnbmFsc0VudHJ5Qi+6SCyaASkIABAyIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQgsKCV9yZWNlaXZlciJfChhEaXNwYXRjaEV4Y2hhbmdlUmVzcG9uc2USQwoJb3BlcmF0aW9uGAEgASgLMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VPcGVyYXRpb24iaAoRRXhjaGFuZ2VPcGVyYXRpb24SDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCRI5CgZzdGF0dXMYAyABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhdHVzIq0CCgtTZW5kUmVxdWVzdBI9Cgt0cmFuc21pdHRlchgBIAEoCUIjukggch4YZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiRIAIgBARJ5CgdzaWduYWxzGAIgAygLMjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU2VuZFJlcXVlc3QuU2lnbmFsc0VudHJ5Qi+6SCyaASkIABAyIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQg4KDF90cmFuc21pdHRlciIOCgxTZW5kUmVzcG9uc2UiYQocQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVxdWVzdBJBCgVuYW1lcxgBIAMoCUIyukgvkgEsCAEQ9AMYASIjciEQARiABDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQi3QEKHUJhdGNoR2V0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlElYKBWl0ZW1zGAEgAygLMkcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVzcG9uc2UuSXRlbXNFbnRyeRIQCghyZWNlaXZlchgCIAEoCRpSCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhOgI4ASKoAQoYTGlzdEFjdGl2ZVNpZ25hbHNSZXF1ZXN0EiAKCXBhZ2Vfc2l6ZRgBIAEoBUIIukgFGgMY9ANIAIgBARIdCgZjdXJzb3IYAiABKAlCCLpIBXIDGPQDSAGIAQESHQoQb3JkZXJfZGVzY2VuZGluZxgDIAEoCEgCiAEBQgwKCl9wYWdlX3NpemVCCQoHX2N1cnNvckITChFfb3JkZXJfZGVzY2VuZGluZyKFAgoZTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZRJWCgdzaWduYWxzGAEgAygLMkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZS5TaWduYWxzRW50cnkSEAoIcmVjZWl2ZXIYAiABKAkSGAoLbmV4dF9jdXJzb3IYAyABKAlIAIgBARpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQg4KDF9uZXh0X2N1cnNvciJrCiVFeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0EjMKCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrSACIAQFCDQoLX2ZpZWxkX21hc2siqwIKJkV4ZWN1dG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlEg4KBmNvbmZpZxgBIAEoDBI6CghtZXRhZGF0YRgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YRJ6ChNjb25maWd1cmVkX3NlcnZpY2VzGAMgAygLMl0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2UuQ29uZmlndXJlZFNlcnZpY2VzRW50cnkaOQoXQ29uZmlndXJlZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgIOgI4ASLkAQoaTGlzdEluY29taW5nU2lnbmFsc1JlcXVlc3QSPAoIcmVjZWl2ZXIYASABKAlCJbpIInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiRIAIgBARI3Cgdmb3JtYXRzGAIgAygLMiYubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbEZvcm1hdBIzCgpmaWVsZF9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0gBiAEBQgsKCV9yZWNlaXZlckINCgtfZmllbGRfbWFzayL2AQoQSW5jb21pbmdWZXJ0aWNlcxIKCgJpZBgBIAEoCRINCgVsYWJlbBgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjsKDHRyYW5zbWl0dGVycxgEIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlchI+Cgt2ZXJ0ZXhfdHlwZRgFIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZlcnRleFR5cGUSFAoHbG9nb19pZBgGIAEoCUgBiAEBQg4KDF9kZXNjcmlwdGlvbkIKCghfbG9nb19pZCKJAgobTGlzdEluY29taW5nU2lnbmFsc1Jlc3BvbnNlEkEKCHZlcnRpY2VzGAEgAygLMi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW5jb21pbmdWZXJ0aWNlcxJhCgx2ZXJ0ZXhfbG9nb3MYAiADKAsySy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0SW5jb21pbmdTaWduYWxzUmVzcG9uc2UuVmVydGV4TG9nb3NFbnRyeRIQCghyZWNlaXZlchgDIAEoCRoyChBWZXJ0ZXhMb2dvc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEixgEKKUNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXF1ZXN0Ek4KCm9wZXJhdGlvbnMYASADKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Xcml0ZU9wZXJhdGlvbkILukgIkgEFCAEQ9AMSSQoJbmFtZXNwYWNlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTmFtZXNwYWNlQgy6SAmCAQYgACABIAIi9gEKKkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXNwb25zZRJpCghtZXRhZGF0YRgBIAMoCzJXLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXNwb25zZS5NZXRhZGF0YUVudHJ5Gl0KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEjsKBXZhbHVlGAIgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YToCOAEivgEKJENvbmZpZ3VyYXRvclNlcnZpY2VXcml0ZVN0b3JlUmVxdWVzdBJLCglvcGVyYXRpb24YASABKAsyOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbFdyaXRlT3BlcmF0aW9uEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACInkKJUNvbmZpZ3VyYXRvclNlcnZpY2VXcml0ZVN0b3JlUmVzcG9uc2USQwoIbWV0YWRhdGEYASABKAsyLC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5WYWx1ZU1ldGFkYXRhSACIAQFCCwoJX21ldGFkYXRhIpcBCihDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0EiAKBGtleXMYASADKAlCErpID5IBDAgBEJBOIgVyAxiAIBJJCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCDLpICYIBBiAAIAEgAiLmAQopQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2USYgoFaXRlbXMYASADKAsyUy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5GlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBIrYBCiVDb25maWd1cmF0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXF1ZXN0EkIKCW9wZXJhdGlvbhgBIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNlbGVjdE9wQga6SAPIAQESSQoJbmFtZXNwYWNlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTmFtZXNwYWNlQgy6SAmCAQYgACABIAIiiAIKJkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlEl8KBWl0ZW1zGAEgAygLMlAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVzcG9uc2UuSXRlbXNFbnRyeRIXCgpuZXh0X3Rva2VuGAIgASgJSACIAQEaVQoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRWYWx1ZToCOAFCDQoLX25leHRfdG9rZW4ibwopQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1JlcXVlc3QSMwoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAIgBAUINCgtfZmllbGRfbWFzayKzAgoqQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlEg4KBmNvbmZpZxgBIAEoDBI6CghtZXRhZGF0YRgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YRJ+ChNjb25maWd1cmVkX3NlcnZpY2VzGAMgAygLMmEubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlLkNvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5GjkKF0NvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEitQIKF1Bvc3RWZXJ0ZXhDb25maWdSZXF1ZXN0EhMKBmNvbmZpZxgBIAEoDEgAiAEBEj8KCG1ldGFkYXRhGAIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlZlcnRleE1ldGFkYXRhSAGIAQESHgoRb3ZlcnJpZGVfYmluZGluZ3MYAyABKAhIAogBATp2ukhzGnEKG2NvbmZpZ19vcl9tZXRhZGF0YV9yZXF1aXJlZBIqRWl0aGVyIGNvbmZpZyBvciBtZXRhZGF0YSBtdXN0IGJlIHByb3ZpZGVkGiZoYXModGhpcy5jb25maWcpIHx8IGhhcyh0aGlzLm1ldGFkYXRhKUIJCgdfY29uZmlnQgsKCV9tZXRhZGF0YUIUChJfb3ZlcnJpZGVfYmluZGluZ3MiVgoYUG9zdFZlcnRleENvbmZpZ1Jlc3BvbnNlEjoKCG1ldGFkYXRhGAEgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlZlcnRleE1ldGFkYXRhIhoKGEdldFN5c3RlbVNlcnZpY2VzUmVxdWVzdCLFAQoZR2V0U3lzdGVtU2VydmljZXNSZXNwb25zZRJtChNjb25maWd1cmVkX3NlcnZpY2VzGAEgAygLMlAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0U3lzdGVtU2VydmljZXNSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIjIKEEF1dGhvcml6ZVJlcXVlc3QSHgoMYWNjZXNzX3Rva2VuGAEgASgJQgi6SAVyAxiQTiITChFBdXRob3JpemVSZXNwb25zZSKAAQoeQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXF1ZXN0El4KBW5hbWVzGAEgAygJQk+6SEySAUkIARBkGAEiQXI/EAEYZDI5XltfJGEtekEtWl1bXyRhLXpBLVowLTldKig/OlwuW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKSokIsEBCh9CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1Jlc3BvbnNlElgKBWl0ZW1zGAEgAygLMkkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXNwb25zZS5JdGVtc0VudHJ5GkQKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlOgI4ASJ+ChxCYXRjaEdldFVzZXJWYXJpYWJsZXNSZXF1ZXN0El4KBW5hbWVzGAEgAygJQk+6SEySAUkIARBkGAEiQXI/EAEYZDI5XltfJGEtekEtWl1bXyRhLXpBLVowLTldKig/OlwuW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKSokIr0BCh1CYXRjaEdldFVzZXJWYXJpYWJsZXNSZXNwb25zZRJWCgVpdGVtcxgBIAMoCzJHLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlLkl0ZW1zRW50cnkaRAoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6AjgBInsKGUJhdGNoR2V0VXNlclRva2Vuc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQixQEKGkJhdGNoR2V0VXNlclRva2Vuc1Jlc3BvbnNlElMKBWl0ZW1zGAEgAygLMkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2UuSXRlbXNFbnRyeRpSCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRva2VuOgI4ASJ9ChtCYXRjaEdldFN5c3RlbVRva2Vuc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQiyQEKHEJhdGNoR2V0U3lzdGVtVG9rZW5zUmVzcG9uc2USVQoFaXRlbXMYASADKAsyRi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFN5c3RlbVRva2Vuc1Jlc3BvbnNlLkl0ZW1zRW50cnkaUgoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ub2tlbjoCOAEiXwoFVG9rZW4SDAoEbmFtZRgBIAEoCRINCgV0b2tlbhgCIAEoCRIMCgR0eXBlGAMgASgJEisKB2V4cGlyZXMYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKpABCglOYW1lc3BhY2USGQoVTkFNRVNQQUNFX1VOU1BFQ0lGSUVEEAASHQoZTkFNRVNQQUNFX1ZFUlRFWF9JTlNUQU5DRRABEh0KGU5BTUVTUEFDRV9QTFVHSU5fSU5TVEFOQ0UQAhIUChBOQU1FU1BBQ0VfVkVSVEVYEAMSFAoQTkFNRVNQQUNFX1BMVUdJThAEKsEBCgpWZXJ0ZXhUeXBlEhsKF1ZFUlRFWF9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRVkVSVEVYX1RZUEVfU1RBUlQQARIWChJWRVJURVhfVFlQRV9QTFVHSU4QAhIWChJWRVJURVhfVFlQRV9PVVRQVVQQAxIYChRWRVJURVhfVFlQRV9ERUxFR0FURRAEEhcKE1ZFUlRFWF9UWVBFX0JBUlJJRVIQBRIcChhWRVJURVhfVFlQRV9FWENIQU5HRV9PVVQQBjLKDAoPRXhlY3V0b3JTZXJ2aWNlEp4BCg9HZXRWZXJ0ZXhDb25maWcSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2UShgEKEUxpc3RBY3RpdmVTaWduYWxzEjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZRKSAQoVQmF0Y2hHZXRBY3RpdmVTaWduYWxzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlEl8KBFNlbmQSKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdBorLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNlbmRSZXNwb25zZRKDAQoQRGlzcGF0Y2hFeGNoYW5nZRI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRpc3BhdGNoRXhjaGFuZ2VSZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlc3BvbnNlEo8BChRHZXRFeGNoYW5nZU9wZXJhdGlvbhI6Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVxdWVzdBo7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2USmAEKF0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXNwb25zZRKPAQoKV3JpdGVTdG9yZRI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkV4ZWN1dG9yU2VydmljZVdyaXRlU3RvcmVSZXF1ZXN0GkAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEp4BCg9CYXRjaFdyaXRlU3RvcmUSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USmwEKDkJhdGNoUmVhZFN0b3JlEkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZRKSAQoLU2VsZWN0U3RvcmUSQC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QaQS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlMtkIChNDb25maWd1cmF0b3JTZXJ2aWNlEqYBCg9HZXRWZXJ0ZXhDb25maWcSSC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVxdWVzdBpJLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZRKDAQoQUG9zdFZlcnRleENvbmZpZxI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBvc3RWZXJ0ZXhDb25maWdSZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUG9zdFZlcnRleENvbmZpZ1Jlc3BvbnNlEpcBCgpXcml0ZVN0b3JlEkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVdyaXRlU3RvcmVSZXF1ZXN0GkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVdyaXRlU3RvcmVSZXNwb25zZRKmAQoPQmF0Y2hXcml0ZVN0b3JlEkgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoV3JpdGVTdG9yZVJlcXVlc3QaSS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USowEKDkJhdGNoUmVhZFN0b3JlEkcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVxdWVzdBpILm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEpoBCgtTZWxlY3RTdG9yZRJELm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QaRS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZRKMAQoTTGlzdEluY29taW5nU2lnbmFscxI5Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkxpc3RJbmNvbWluZ1NpZ25hbHNSZXF1ZXN0GjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1Jlc3BvbnNlMtYGCg1QbHVnaW5TZXJ2aWNlEm4KCUF1dGhvcml6ZRIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkF1dGhvcml6ZVJlcXVlc3QaMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5BdXRob3JpemVSZXNwb25zZRKGAQoRR2V0U3lzdGVtU2VydmljZXMSNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRTeXN0ZW1TZXJ2aWNlc1JlcXVlc3QaOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlEpgBChdCYXRjaEdldFN5c3RlbVZhcmlhYmxlcxI9Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVmFyaWFibGVzUmVxdWVzdBo+Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVmFyaWFibGVzUmVzcG9uc2USkgEKFUJhdGNoR2V0VXNlclZhcmlhYmxlcxI7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclZhcmlhYmxlc1JlcXVlc3QaPC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJWYXJpYWJsZXNSZXNwb25zZRKJAQoSQmF0Y2hHZXRVc2VyVG9rZW5zEjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVG9rZW5zUmVxdWVzdBo5Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclRva2Vuc1Jlc3BvbnNlEo8BChRCYXRjaEdldFN5c3RlbVRva2VucxI6Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVG9rZW5zUmVxdWVzdBo7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVG9rZW5zUmVzcG9uc2ViBnByb3RvMw",[d,En,vn,Hn,l,W,E,H,ne,Z]),ua=o(a,0),Ga=o(a,1),ba=o(a,2),ha=o(a,3),Za=o(a,4),ya=o(a,5),Ia=o(a,6),Va=o(a,7),Xa=o(a,8),Sa=o(a,9),Ra=o(a,10),Aa=o(a,11),Ja=o(a,12),Wa=o(a,13),Ca=o(a,14),Ba=o(a,15),Ya=o(a,16),xa=o(a,17),Fa=o(a,18),Ma=o(a,19),Ea=o(a,20),va=o(a,21),Ha=o(a,22),za=o(a,23),fa=o(a,24),Se=o(a,25),La=o(a,26),Ka=o(a,27),Na=o(a,28),Qa=o(a,29),ka=o(a,30),Ua=o(a,31),wa=o(a,32),Da=o(a,33),Ta=o(a,34),ja=o(a,35),Pa=o(a,36),Oa=o(a,37),_a=o(a,38),qa=o(a,39),$a=o(a,40),eo=o(a,41),no=o(a,42),to=o(a,43),so=o(a,44),ao=o(a,45),oo=o(a,46),co=o(a,47),io=o(a,48),go=o(a,49),lo=o(a,50),zn=(c=>(c[c.UNSPECIFIED=0]="UNSPECIFIED",c[c.VERTEX_INSTANCE=1]="VERTEX_INSTANCE",c[c.PLUGIN_INSTANCE=2]="PLUGIN_INSTANCE",c[c.VERTEX=3]="VERTEX",c[c.PLUGIN=4]="PLUGIN",c))(zn||{}),Re=Xe(a,0),fn=(r=>(r[r.UNSPECIFIED=0]="UNSPECIFIED",r[r.START=1]="START",r[r.PLUGIN=2]="PLUGIN",r[r.OUTPUT=3]="OUTPUT",r[r.DELEGATE=4]="DELEGATE",r[r.BARRIER=5]="BARRIER",r[r.EXCHANGE_OUT=6]="EXCHANGE_OUT",r))(fn||{}),mo=Xe(a,1),oe=ae(a,0),Ae=ae(a,1),Je=ae(a,2);import{Code as V,ConnectError as X,createContextValues as We}from"@connectrpc/connect";import{compressedFlag as Ce,createClientMethodSerializers as Be,createEnvelopeReadableStream as ce,createMethodUrl as Ye,encodeEnvelope as xe,runStreamingCall as Ln,runUnaryCall as Kn}from"@connectrpc/connect/protocol";import{headerGrpcStatus as Fe,requestHeader as Me,trailerFlag as ie,trailerParse as Ee,validateResponse as ve,validateTrailer as He}from"@connectrpc/connect/protocol-grpc-web";function K(p){return{async unary(e,n,t,s,c,u){let{serialize:r,parse:k}=Be(e,!0);return Kn({interceptors:p.interceptors,signal:n,timeoutMs:t,req:{stream:!1,service:e.parent,method:e,requestMethod:"POST",url:Ye("https://runtimeapi/",e),header:Me(!0,t,s,!1),contextValues:u??We(),message:c},next:async g=>{let S=await p.fetcher.fetch(g.url,{method:g.requestMethod,headers:g.header,signal:g.signal,body:xe(0,r(g.message))}),{headerError:G}=ve(S.status,S.headers);if(!S.body)throw G!==void 0?G:new X("missing response body",V.Internal);let F=ce(S.body).getReader(),b,C;for(;;){let B=await F.read();if(B.done)break;let{flags:M,data:Y}=B.value;if((M&Ce)===Ce)throw new X("received compressed data, which is unsupported",V.Internal);if(M===ie){if(b!==void 0)throw new X("extra trailer",V.Internal);b=Ee(Y);continue}if(C!==void 0)throw new X("extra message",V.Unimplemented);C=k(Y)}if(b===void 0)throw G!==void 0?G:new X("missing trailer",S.headers.has(Fe)?V.Unimplemented:V.Unknown);if(He(b,S.headers),C===void 0)throw new X("missing message",b.has(Fe)?V.Unimplemented:V.Unknown);return{stream:!1,service:e.parent,method:e,header:S.headers,message:C,trailer:b}}})},async stream(e,n,t,s,c,u){let{serialize:r,parse:k}=Be(e,!0);async function g(G){let{value:F,done:b}=await G[Symbol.asyncIterator]().next();if(b)throw new X("missing request message",V.InvalidArgument);return xe(0,r(F))}async function*S(G,F,b,C,B){if(F){if(!(await ce(G).getReader().read()).done)throw new X("extra data for trailers-only",V.Internal);return}let M=ce(G).getReader(),Y=!1;for(;;){let O=await M.read();if(O.done)break;let{flags:Le,data:ue}=O.value;if((Le&ie)===ie){if(Y)throw new X("extra trailer",V.Internal);Y=!0;let Ge=Ee(ue);He(Ge,C),Ge.forEach((Ke,Ne)=>b.set(Ne,Ke));continue}if(Y)throw new X("extra message after trailer",V.Internal);yield k(ue)}if("throwIfAborted"in B&&B.throwIfAborted?.(),!Y)throw new X("missing trailer",V.Internal)}return Ln({interceptors:p.interceptors,signal:n,timeoutMs:t,req:{stream:!0,service:e.parent,method:e,requestMethod:"POST",url:Ye("https://runtimeapi/",e),header:Me(!0,t,s,!1),contextValues:u??We(),message:c},next:async G=>{let F=await g(G.message),b=await p.fetcher.fetch(G.url,{method:G.requestMethod,headers:G.header,signal:G.signal,body:F}),{foundStatus:C,headerError:B}=ve(b.status,b.headers);if(B)throw B;if(!b.body)throw new X("missing response body",V.Internal);let M=new Headers;return{...G,header:b.headers,trailer:M,message:S(b.body,C,M,b.headers,G.signal)}}})}}}import{fileDesc as Nn,messageDesc as R}from"@bufbuild/protobuf/codegenv2";var A=Nn("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9pbmNvbWluZy5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiOgoOSG9zdGluZ0RldGFpbHMSGAoLcHVibGljX2hvc3QYASABKAlIAIgBAUIOCgxfcHVibGljX2hvc3QiZgoVU3RhcnRFeGVjdXRpb25SZXF1ZXN0EhAKCHJlY2VpdmVyGAEgASgJEjsKBGhvc3QYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIYChZTdGFydEV4ZWN1dGlvblJlc3BvbnNlIlMKFFN0b3BFeGVjdXRpb25SZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIXChVTdG9wRXhlY3V0aW9uUmVzcG9uc2UiUQoSQ3JvblRyaWdnZXJSZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIVChNDcm9uVHJpZ2dlclJlc3BvbnNlIsgBCg5FeGNoYW5nZVJlc3VsdBITCgt0cmFuc21pdHRlchgBIAEoCRJLCgdzaWduYWxzGAIgAygLMjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VSZXN1bHQuU2lnbmFsc0VudHJ5GlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEi2AEKFUV4Y2hhbmdlUmVzdWx0UmVxdWVzdBJDCglvcGVyYXRpb24YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbhI9CgZyZXN1bHQYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZVJlc3VsdBI7CgRob3N0GAMgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSG9zdGluZ0RldGFpbHMiGAoWRXhjaGFuZ2VSZXN1bHRSZXNwb25zZWIGcHJvdG8z",[W,a]),Io=R(A,0),Vo=R(A,1),Xo=R(A,2),So=R(A,3),Ro=R(A,4),Ao=R(A,5),Jo=R(A,6),Wo=R(A,7),Co=R(A,8),Bo=R(A,9);var kn={config:"config",metadata:"metadata",configuredServices:"configured_services"};function T(p){return kn[p]??p}var j=class{env;pluginService;pluginToken;constructor(e,n){this.env=e,this.pluginToken=n,this.pluginService=P(Je,K({fetcher:this.env.plugin,interceptors:[t=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await t(s))]}))}async getSystemVariable(e){let t=(await this.pluginService.batchGetSystemVariables({names:[e]})).items[e];return t?J(D,t):void 0}async getSystemVariables(...e){let n=await this.pluginService.batchGetSystemVariables({names:e}),t={};for(let[s,c]of Object.entries(n.items))t[s]=J(D,c);return t}async getUserVariable(e){let t=(await this.pluginService.batchGetUserVariables({names:[e]})).items[e];return t?J(D,t):void 0}async getUserVariables(...e){let n=await this.pluginService.batchGetUserVariables({names:e}),t={};for(let[s,c]of Object.entries(n.items))t[s]=J(D,c);return t}async getUserToken(e){return(await this.pluginService.batchGetUserTokens({names:[e]})).items[e]}async getUserTokens(...e){return(await this.pluginService.batchGetUserTokens({names:e})).items}async getSystemToken(e){return(await this.pluginService.batchGetSystemTokens({names:[e]})).items[e]}async getSystemTokens(...e){return(await this.pluginService.batchGetSystemTokens({names:e})).items}userHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`user:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}systemHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`system:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}async authorize(e){await this.pluginService.authorize({accessToken:e})}async getSystemServices(){return(await this.pluginService.getSystemServices({})).configuredServices}async readFile(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw fe(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/octet-stream"))throw new h("Invalid file. Are you reading a directory?",i.InvalidArgument);return{content:t.body,mime:s}}async readDirectory(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw fe(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/json"))throw new h("Invalid directory. Are you reading a file?",i.InvalidArgument);return await t.json()}},le=class{result;constructor(e){this.result=e}get(e){let n=this.result[e];if(n)return{value:JSON.parse(new TextDecoder().decode(n.value)),ttl:n.metadata.ttl,lastModified:x(n.metadata.lastModified),etag:n.metadata.etag}}getBinary(e){let n=this.result[e];if(n)return{ttl:n.metadata.ttl,value:n.value,lastModified:x(n.metadata.lastModified),etag:n.metadata.etag}}},de=class{ops=[];insert(e,n,t){return this.ops.push(y(w,{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t}}}})),this}delete(e){return this.ops.push(y(w,{operation:{case:"delete",value:{key:e}}})),this}rangeDelete(e,n,t,s){return this.ops.push(y(w,{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}})),this}build(){return this.ops}},Q=class{service;namespace;constructor(e,n){this.service=e,this.namespace=Qn(Re,n)}async insert(e,n,t,s){let c;s&&(c=y(se,{}),s.failIfExists?c.failIfExists=!0:(s.etagEquals&&(c.etag=s.etagEquals),s.timestampEquals?c.timestampCondition={case:"lastModifiedEquals",value:z(s.timestampEquals)}:s.timestampRange&&(c.timestampCondition={case:"lastModifiedRange",value:y(te,{start:s.timestampRange.start?z(s.timestampRange.start):void 0,end:s.timestampRange.end?z(s.timestampRange.end):void 0,startInclusive:s.timestampRange.startInclusive,endInclusive:s.timestampRange.endInclusive})})));let u=await this.service.writeStore({operation:{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t},precondition:c}}},namespace:this.namespace});return{ttl:u.metadata.ttl,lastModified:x(u.metadata.lastModified),etag:u.metadata.etag}}async delete(e,n){let t;n&&(t=y(Ve,{}),n.mustExists?t.mustExists=!0:(n.etagEquals&&(t.etag=n.etagEquals),n.timestampEquals?t.timestampCondition={case:"lastModifiedEquals",value:z(n.timestampEquals)}:n.timestampRange&&(t.timestampCondition={case:"lastModifiedRange",value:y(te,{start:n.timestampRange.start?z(n.timestampRange.start):void 0,end:n.timestampRange.end?z(n.timestampRange.end):void 0,startInclusive:n.timestampRange.startInclusive,endInclusive:n.timestampRange.endInclusive})}))),await this.service.writeStore({operation:{operation:{case:"delete",value:{key:e,precondition:t}}},namespace:this.namespace})}async rangeDelete(e,n,t,s){await this.service.batchWriteStore({namespace:this.namespace,operations:[{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}}]})}async get(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:JSON.parse(new TextDecoder().decode(t.value)),ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:x(t.metadata.lastModified)}}async getBinary(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:x(t.metadata.lastModified)}}async selectRange(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.entries(n.items).sort(([t],[s])=>t.localeCompare(s)).map(([t,s])=>({key:t,value:JSON.parse(new TextDecoder().decode(s.value)),ttl:s.metadata.ttl,etag:s.metadata.etag,lastModified:x(s.metadata.lastModified)}))}}async selectRangeBinary(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.values(n.items).map(t=>({value:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:x(t.metadata.lastModified)}))}}async writeBatch(e){let n=await this.service.batchWriteStore({namespace:this.namespace,operations:e}),t={};for(let[s,c]of Object.entries(n.metadata))t[s]={ttl:c.ttl,lastModified:x(c.lastModified),etag:c.etag};return t}async readBatch(e){let n=await this.service.batchReadStore({namespace:this.namespace,keys:e});return new le(n.items)}async acquire(e,n){try{await this.service.writeStore({namespace:this.namespace,operation:{operation:{case:"insert",value:{key:e,value:{value:new Uint8Array([1]),ttl:n??5},precondition:y(se,{failIfExists:!0})}}}})}catch(t){if(t instanceof h&&t.code===i.FailedPrecondition)return!1;throw t}return!0}async release(e){await this.writeBatch(new de().delete(e).build())}async lock(e,n,t){let s=t?.maxRetries??5,c=t?.initialDelay??50,u=t?.maxDelay??2e3;for(let r=0;r<s;r++)if(await this.acquire(e))try{return await n()}finally{await this.release(e)}else if(r<s-1){let g=Math.min(c*2**r,u);console.log(`Acquisition failed for key: ${e}. Delaying for ${g}ms`),await new Promise(S=>setTimeout(S,g))}throw new Error("Failed to acquire lock after maximum retries")}},me=class extends j{executor;constructor(e,n){super(e,n),this.executor=P(oe,K({fetcher:e.executor,interceptors:[t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?y(N,{paths:e.map(T)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?J(v,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?y(N,{paths:e.map(T)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?J(v,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}getLocalStore(e){return new Q(this.executor,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}getSessionApi(e){return new pe(this.env,this.pluginToken,e)}},re=class extends me{sessionAuthHeader;constructor(e,n,t){super(e,n),this.sessionAuthHeader=t,this.executor=P(oe,K({fetcher:e.executor,interceptors:[s=>async c=>(c.header.set("Authorization",t),await s(c))]}))}getAuthHeader(){return this.sessionAuthHeader}getSessionStore(e){return new Q(this.executor,e==="vertex"?"NAMESPACE_VERTEX_INSTANCE":"NAMESPACE_PLUGIN_INSTANCE")}},pe=class extends re{constructor(e,n,t){super(e,n,t)}async listSignals(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async listSignalsBinary(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async continueListSignals(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async continueListSignalsBinary(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async getSignal(e){let t=(await this.executor.batchGetActiveSignals({names:[e]})).items[e];return t?JSON.parse(new TextDecoder().decode(t.data)):void 0}async getSignalBinary(e){return(await this.executor.batchGetActiveSignals({names:[e]})).items[e]}async getSignals(...e){if(e.length===0)return{};let n=await this.executor.batchGetActiveSignals({names:e});if(Object.keys(n.items).length===0)return{};let t={};for(let[s,c]of Object.entries(n.items))t[s]=JSON.parse(new TextDecoder().decode(c.data));return t}async getSignalsBinary(...e){return e.length===0?{}:(await this.executor.batchGetActiveSignals({names:e})).items}async send(e,n){await this.executor.send({transmitter:e,signals:n?Object.fromEntries(Object.entries(n).map(([t,s])=>s?.data instanceof Uint8Array&&typeof s?.mimeType=="string"&&s.mimeType?[t,y(f,{data:s.data,mimeType:s.mimeType,filename:s.filename})]:[t,y(f,{data:new TextEncoder().encode(JSON.stringify(s)),mimeType:"application/json"})])):{}})}async dispatchExchange(e,n,t){return(await this.executor.dispatchExchange({name:e,receiver:n,signals:t?Object.fromEntries(Object.entries(t).map(([c,u])=>u?.data instanceof Uint8Array&&typeof u?.mimeType=="string"&&u.mimeType?[c,y(f,{data:u.data,mimeType:u.mimeType,filename:u.filename})]:[c,y(f,{data:new TextEncoder().encode(JSON.stringify(u)),mimeType:"application/json"})])):{}})).operation}async getExchange(e){let n=await this.executor.getExchangeOperation({id:e});if(!n.item)throw new h("Exchange operation not found",i.NotFound);return n.item}async cancelExchange(e){await this.executor.cancelExchangeOperation({id:e})}},ze=class extends j{configurator;constructor(e,n){super(e,n),this.configurator=P(Ae,K({fetcher:e.configurator,interceptors:[t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?y(N,{paths:e.map(T)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?J(v,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?y(N,{paths:e.map(T)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?J(v,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}async postConfig(e){if(!e.config&&!e.metadata)throw new h("Either config or metadata must be provided",i.InvalidArgument);let n;e.config!==void 0&&(n=e.config instanceof Uint8Array?e.config:new TextEncoder().encode(JSON.stringify(e.config)));let t=await this.configurator.postVertexConfig({config:n,metadata:e.metadata?ge(v,e.metadata):void 0,overrideBindings:e?.overrideBindings});return J(v,t.metadata)}async listIncomingSignals(e,n,t){let s=await this.configurator.listIncomingSignals({receiver:e,formats:n?.map(c=>ge(be,c))??[],fieldMask:t?ge(N,t):void 0});return J(Se,s)}getLocalStore(e){return new Q(this.configurator,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}};function fe(p){switch(p){case 400:return new h("Bad Request",i.InvalidArgument);case 401:return new h("Unauthorized",i.Unauthenticated);case 403:return new h("Forbidden",i.PermissionDenied);case 404:return new h("Not Found",i.NotFound);case 409:return new h("Conflict",i.AlreadyExists);case 429:return new h("Too Many Requests",i.ResourceExhausted);case 499:return new h("Client Closed Request",i.Canceled);case 500:return new h("Internal Server Error",i.Internal);case 501:return new h("Not Implemented",i.Unimplemented);case 503:return new h("Service Unavailable",i.Unavailable);case 504:return new h("Gateway Timeout",i.DeadlineExceeded);default:return new h(`Unknown HTTP error: ${p}`,i.Unknown)}}function tc(p){switch(p.code){case i.Canceled:return 499;case i.Unknown:return 500;case i.InvalidArgument:return 400;case i.DeadlineExceeded:return 504;case i.NotFound:return 404;case i.AlreadyExists:return 409;case i.PermissionDenied:return 403;case i.ResourceExhausted:return 429;case i.FailedPrecondition:return 400;case i.Aborted:return 409;case i.OutOfRange:return 400;case i.Unimplemented:return 501;case i.Internal:return 500;case i.Unavailable:return 503;case i.DataLoss:return 500;case i.Unauthenticated:return 401;default:return 500}}export{Ms as AckMessageRequestSchema,Es as AckMessageResponseSchema,j as ApiBase,$a as AuthorizeRequestSchema,eo as AuthorizeResponseSchema,ks as AutomationService,xa as BatchGetActiveSignalsRequestSchema,Fa as BatchGetActiveSignalsResponseSchema,io as BatchGetSystemTokensRequestSchema,go as BatchGetSystemTokensResponseSchema,no as BatchGetSystemVariablesRequestSchema,to as BatchGetSystemVariablesResponseSchema,oo as BatchGetUserTokensRequestSchema,co as BatchGetUserTokensResponseSchema,so as BatchGetUserVariablesRequestSchema,ao as BatchGetUserVariablesResponseSchema,le as BatchReadResult,Xa as CancelExchangeOperationRequestSchema,Sa as CancelExchangeOperationResponseSchema,i as Code,sa as ConditionalDeleteOpSchema,Ve as ConditionalDeleteOp_PreconditionSchema,ta as ConditionalInsertOpSchema,se as ConditionalInsertOp_PreconditionSchema,qs as ConditionalWriteOperationSchema,ze as ConfiguratorApi,Ae as ConfiguratorService,ka as ConfiguratorServiceBatchReadStoreRequestSchema,Ua as ConfiguratorServiceBatchReadStoreResponseSchema,La as ConfiguratorServiceBatchWriteStoreRequestSchema,Ka as ConfiguratorServiceBatchWriteStoreResponseSchema,Ta as ConfiguratorServiceGetVertexConfigRequestSchema,ja as ConfiguratorServiceGetVertexConfigResponseSchema,wa as ConfiguratorServiceSelectStoreRequestSchema,Da as ConfiguratorServiceSelectStoreResponseSchema,Na as ConfiguratorServiceWriteStoreRequestSchema,Qa as ConfiguratorServiceWriteStoreResponseSchema,h as ConnectError,Ao as CronTriggerRequestSchema,Jo as CronTriggerResponseSchema,na as DeleteOpSchema,Ja as DispatchExchangeRequestSchema,Wa as DispatchExchangeResponseSchema,Ca as ExchangeOperationSchema,Co as ExchangeResultRequestSchema,Bo as ExchangeResultResponseSchema,Wo as ExchangeResultSchema,Vt as ExchangeSchema,me as ExecutorApi,oe as ExecutorService,Za as ExecutorServiceBatchReadStoreRequestSchema,ya as ExecutorServiceBatchReadStoreResponseSchema,ua as ExecutorServiceBatchWriteStoreRequestSchema,Ga as ExecutorServiceBatchWriteStoreResponseSchema,va as ExecutorServiceGetVertexConfigRequestSchema,Ha as ExecutorServiceGetVertexConfigResponseSchema,Ia as ExecutorServiceSelectStoreRequestSchema,Va as ExecutorServiceSelectStoreResponseSchema,ba as ExecutorServiceWriteStoreRequestSchema,ha as ExecutorServiceWriteStoreResponseSchema,Ra as GetExchangeOperationRequestSchema,Aa as GetExchangeOperationResponseSchema,Ws as GetSessionRequestSchema,Cs as GetSessionResponseSchema,_a as GetSystemServicesRequestSchema,qa as GetSystemServicesResponseSchema,Ps as GetValueSchema,Io as HostingDetailsSchema,fa as IncomingVerticesSchema,hs as InheritSessionRequestSchema,Zs as InheritSessionResponseSchema,ea as InsertOpSchema,tt as JTDSchemaSchema,Ma as ListActiveSignalsRequestSchema,Ea as ListActiveSignalsResponseSchema,za as ListIncomingSignalsRequestSchema,Se as ListIncomingSignalsResponseSchema,zn as Namespace,Re as NamespaceSchema,Bs as OutputSchema,Je as PluginService,Pa as PostVertexConfigRequestSchema,Oa as PostVertexConfigResponseSchema,js as PutValueSchema,$s as RangeDeleteOpSchema,ys as ReadOutputRequestSchema,Is as ReadOutputResponseSchema,Vs as ReadUrlsRequestSchema,Xs as ReadUrlsResponseSchema,Mt as ReceiverSchema,Ls as RunInheritRequestSchema,Ks as RunInheritResponseSchema,Ns as RunInheritStartedSchema,Hs as RunSessionRequestSchema,zs as RunSessionResponseSchema,fs as RunSessionStartedSchema,_s as SelectOpSchema,Ba as SendRequestSchema,Ya as SendResponseSchema,pe as SessionExecutorApi,xs as SessionSchema,Wt as SignalBindingSchema,dn as SignalBinding_Error,Ct as SignalBinding_ErrorSchema,f as SignalDataSchema,mt as SignalDescriptorSchema,be as SignalFormatSchema,Vo as StartExecutionRequestSchema,Xo as StartExecutionResponseSchema,Ss as StartSessionRequestSchema,Rs as StartSessionResponseSchema,Yn as Status,Qs as StatusSchema,So as StopExecutionRequestSchema,Ro as StopExecutionResponseSchema,re as StopExecutorApi,As as StopSessionRequestSchema,Js as StopSessionResponseSchema,Q as Store,Fs as StreamSessionRequestSchema,vs as StreamSessionResponseSchema,te as TimestampRangeSchema,lo as TokenSchema,bt as TransceiverSchema,ft as TransmitterSchema,bn as Transmitter_Mode,Lt as Transmitter_ModeSchema,Ys as UrlSchema,Os as ValueMetadataSchema,v as VertexMetadataSchema,fn as VertexType,mo as VertexTypeSchema,de as WriteBatchBuilder,w as WriteOperationSchema,l as file_mochabugapis_adapt_automations_v1_automations,$ as file_mochabugapis_adapt_graph_exchange,_ as file_mochabugapis_adapt_graph_jtd_schema,ee as file_mochabugapis_adapt_graph_receiver,U as file_mochabugapis_adapt_graph_signal_binding,W as file_mochabugapis_adapt_graph_signal_data,L as file_mochabugapis_adapt_graph_signal_descriptor,E as file_mochabugapis_adapt_graph_signal_format,q as file_mochabugapis_adapt_graph_transceiver,H as file_mochabugapis_adapt_graph_transmitter,ne as file_mochabugapis_adapt_graph_vertex_metadata,A as file_mochabugapis_adapt_runtime_v1_incoming,a as file_mochabugapis_adapt_runtime_v1_runtime,Z as file_mochabugapis_adapt_runtime_v1_store,tc as mapConnectErrorToHttpStatus,fe as mapHttpError};
1
+ import{create as u,enumFromJson as It,fromJson as ue,toJson as M}from"@bufbuild/protobuf";import{FieldMaskSchema as P,timestampDate as v,timestampFromDate as D,ValueSchema as ne}from"@bufbuild/protobuf/wkt";import{Code as l,ConnectError as S,createClient as O}from"@connectrpc/connect";import{fileDesc as dn,messageDesc as mn}from"@bufbuild/protobuf/codegenv2";import{enumDesc as St,extDesc as Vt,fileDesc as an,messageDesc as Rt}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_descriptor as on,file_google_protobuf_duration as gn,file_google_protobuf_field_mask as cn,file_google_protobuf_timestamp as ln}from"@bufbuild/protobuf/wkt";var d=an("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSLaFwoKRmxvYXRSdWxlcxKDAQoFY29uc3QYASABKAJCdMJIcQpvCgtmbG9hdC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEp8BCgJsdBgCIAEoAkKQAcJIjAEKiQEKCGZsb2F0Lmx0Gn0haGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0KT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEq8BCgNsdGUYAyABKAJCnwHCSJsBCpgBCglmbG9hdC5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLvBwoCZ3QYBCABKAJC4AfCSNwHCo0BCghmbG9hdC5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsMBCgtmbG9hdC5ndF9sdBqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCs0BChVmbG9hdC5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrTAQoMZmxvYXQuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3QEKFmZsb2F0Lmd0X2x0ZV9leGNsdXNpdmUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEroICgNndGUYBSABKAJCqgjCSKYICpsBCglmbG9hdC5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0gEKDGZsb2F0Lmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3AEKFmZsb2F0Lmd0ZV9sdF9leGNsdXNpdmUawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCuIBCg1mbG9hdC5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrsAQoXZmxvYXQuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKAJCc8JIcApuCghmbG9hdC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygCQmbCSGMKYQoMZmxvYXQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdQoGZmluaXRlGAggASgIQmXCSGIKYAoMZmxvYXQuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIrCgdleGFtcGxlGAkgAygCQhrCSBcKFQoNZmxvYXQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i7RcKC0RvdWJsZVJ1bGVzEoQBCgVjb25zdBgBIAEoAUJ1wkhyCnAKDGRvdWJsZS5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEqABCgJsdBgCIAEoAUKRAcJIjQEKigEKCWRvdWJsZS5sdBp9IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKwAQoDbHRlGAMgASgBQqABwkicAQqZAQoKZG91YmxlLmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvQHCgJndBgEIAEoAULlB8JI4QcKjgEKCWRvdWJsZS5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsQBCgxkb3VibGUuZ3RfbHQaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrOAQoWZG91YmxlLmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtQBCg1kb3VibGUuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3gEKF2RvdWJsZS5ndF9sdGVfZXhjbHVzaXZlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARK/CAoDZ3RlGAUgASgBQq8IwkirCAqcAQoKZG91YmxlLmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrTAQoNZG91YmxlLmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3QEKF2RvdWJsZS5ndGVfbHRfZXhjbHVzaXZlGsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrjAQoOZG91YmxlLmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCu0BChhkb3VibGUuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygBQnTCSHEKbwoJZG91YmxlLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKAFCZ8JIZApiCg1kb3VibGUubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdgoGZmluaXRlGAggASgIQmbCSGMKYQoNZG91YmxlLmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSLAoHZXhhbXBsZRgJIAMoAUIbwkgYChYKDmRvdWJsZS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50MzJSdWxlcxKDAQoFY29uc3QYASABKAVCdMJIcQpvCgtpbnQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoBUJ8wkh5CncKCGludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKAVCjAHCSIgBCoUBCglpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoBUKIB8JIhAcKegoIaW50MzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgFQtMHwkjPBwqIAQoJaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygFQnPCSHAKbgoIaW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoBUJmwkhjCmEKDGludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCCADKAVCGsJIFwoVCg1pbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50NjRSdWxlcxKDAQoFY29uc3QYASABKANCdMJIcQpvCgtpbnQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoA0J8wkh5CncKCGludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKANCjAHCSIgBCoUBCglpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoA0KIB8JIhAcKegoIaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgDQtMHwkjPBwqIAQoJaW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygDQnPCSHAKbgoIaW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDMyUnVsZXMShAEKBWNvbnN0GAEgASgNQnXCSHIKcAoMdWludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygNQnTCSHEKbwoJdWludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKA1CZ8JIZApiCg11aW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoDUIbwkgYChYKDnVpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDY0UnVsZXMShAEKBWNvbnN0GAEgASgEQnXCSHIKcAoMdWludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgEQn3CSHoKeAoJdWludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKARCjQHCSIkBCoYBCgp1aW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKARCjQfCSIkHCnsKCXVpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgEQtgHwkjUBwqJAQoKdWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygEQnTCSHEKbwoJdWludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKARCZ8JIZApiCg11aW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoBEIbwkgYChYKDnVpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDMyUnVsZXMShAEKBWNvbnN0GAEgASgRQnXCSHIKcAoMc2ludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgRQn3CSHoKeAoJc2ludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBFCjQHCSIkBCoYBCgpzaW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBFCjQfCSIkHCnsKCXNpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgRQtgHwkjUBwqJAQoKc2ludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygRQnTCSHEKbwoJc2ludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDY0UnVsZXMShAEKBWNvbnN0GAEgASgSQnXCSHIKcAoMc2ludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygSQnTCSHEKbwoJc2ludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBJCZ8JIZApiCg1zaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEkIbwkgYChYKDnNpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKvFQoMRml4ZWQzMlJ1bGVzEoUBCgVjb25zdBgBIAEoB0J2wkhzCnEKDWZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKMAQoCbHQYAiABKAdCfsJIewp5CgpmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp4BCgNsdGUYAyABKAdCjgHCSIoBCocBCgtmaXhlZDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASoQcKAmd0GAQgASgHQpIHwkiOBwp8CgpmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq1AQoNZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxQEKDmZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrNAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLtBwoDZ3RlGAUgASgHQt0HwkjZBwqKAQoLZml4ZWQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrEAQoOZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1AEKD2ZpeGVkMzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrcAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKBAQoCaW4YBiADKAdCdcJIcgpwCgpmaXhlZDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ4CgZub3RfaW4YByADKAdCaMJIZQpjCg5maXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi0KB2V4YW1wbGUYCCADKAdCHMJIGQoXCg9maXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq8VCgxGaXhlZDY0UnVsZXMShQEKBWNvbnN0GAEgASgGQnbCSHMKcQoNZml4ZWQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEowBCgJsdBgCIAEoBkJ+wkh7CnkKCmZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoBkKOAcJIigEKhwEKC2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAZCkgfCSI4HCnwKCmZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAZC3QfCSNkHCooBCgtmaXhlZDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoEBCgJpbhgGIAMoBkJ1wkhyCnAKCmZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwBUKDVNGaXhlZDMyUnVsZXMShgEKBWNvbnN0GAEgASgPQnfCSHQKcgoOc2ZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKCAQoCaW4YBiADKA9CdsJIcwpxCgtzZml4ZWQzMi5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeQoGbm90X2luGAcgAygPQmnCSGYKZAoPc2ZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoD0IdwkgaChgKEHNmaXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsAVCg1TRml4ZWQ2NFJ1bGVzEoYBCgVjb25zdBgBIAEoEEJ3wkh0CnIKDnNmaXhlZDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSjQEKAmx0GAIgASgQQn/CSHwKegoLc2ZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnwEKA2x0ZRgDIAEoEEKPAcJIiwEKiAEKDHNmaXhlZDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASpgcKAmd0GAQgASgQQpcHwkiTBwp9CgtzZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDnNmaXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYc2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD3NmaXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGXNmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEvIHCgNndGUYBSABKBBC4gfCSN4HCosBCgxzZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPc2ZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlzZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQc2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoac2ZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESggEKAmluGAYgAygQQnbCSHMKcQoLc2ZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnkKBm5vdF9pbhgHIAMoEEJpwkhmCmQKD3NmaXhlZDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKBBCHcJIGgoYChBzZml4ZWQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLHAQoJQm9vbFJ1bGVzEoIBCgVjb25zdBgBIAEoCEJzwkhwCm4KCmJvb2wuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIiiDkKC1N0cmluZ1J1bGVzEoYBCgVjb25zdBgBIAEoCUJ3wkh0CnIKDHN0cmluZy5jb25zdBpidGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSfgoDbGVuGBMgASgEQnHCSG4KbAoKc3RyaW5nLmxlbhpedWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubGVuXSkgOiAnJxKZAQoHbWluX2xlbhgCIAEoBEKHAcJIgwEKgAEKDnN0cmluZy5taW5fbGVuGm51aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKXAQoHbWF4X2xlbhgDIAEoBEKFAcJIgQEKfwoOc3RyaW5nLm1heF9sZW4abXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSmwEKCWxlbl9ieXRlcxgUIAEoBEKHAcJIgwEKgAEKEHN0cmluZy5sZW5fYnl0ZXMabHVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSAhPSBydWxlcy5sZW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKjAQoJbWluX2J5dGVzGAQgASgEQo8BwkiLAQqIAQoQc3RyaW5nLm1pbl9ieXRlcxp0dWludChieXRlcyh0aGlzKS5zaXplKCkpIDwgcnVsZXMubWluX2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSogEKCW1heF9ieXRlcxgFIAEoBEKOAcJIigEKhwEKEHN0cmluZy5tYXhfYnl0ZXMac3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9ieXRlc10pIDogJycSjQEKB3BhdHRlcm4YBiABKAlCfMJIeQp3Cg5zdHJpbmcucGF0dGVybhplIXRoaXMubWF0Y2hlcyhydWxlcy5wYXR0ZXJuKSA/ICd2YWx1ZSBkb2VzIG5vdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycShAEKBnByZWZpeBgHIAEoCUJ0wkhxCm8KDXN0cmluZy5wcmVmaXgaXiF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnByZWZpeF0pIDogJycSggEKBnN1ZmZpeBgIIAEoCUJywkhvCm0KDXN0cmluZy5zdWZmaXgaXCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAndmFsdWUgZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEpABCghjb250YWlucxgJIAEoCUJ+wkh7CnkKD3N0cmluZy5jb250YWlucxpmIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpgBCgxub3RfY29udGFpbnMYFyABKAlCgQHCSH4KfAoTc3RyaW5nLm5vdF9jb250YWlucxpldGhpcy5jb250YWlucyhydWxlcy5ub3RfY29udGFpbnMpID8gJ3ZhbHVlIGNvbnRhaW5zIHN1YnN0cmluZyBgJXNgJy5mb3JtYXQoW3J1bGVzLm5vdF9jb250YWluc10pIDogJycSgAEKAmluGAogAygJQnTCSHEKbwoJc3RyaW5nLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAAScAoHdXJpX3JlZhgSIAEoCEJdwkhaClgKDnN0cmluZy51cmlfcmVmEiN2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJIFJlZmVyZW5jZRohIXJ1bGVzLnVyaV9yZWYgfHwgdGhpcy5pc1VyaVJlZigpSAASkAIKB2FkZHJlc3MYFSABKAhC/AHCSPgBCoEBCg5zdHJpbmcuYWRkcmVzcxItdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKYAgoEdXVpZBgWIAEoCEKHAsJIgwIKpQEKC3N0cmluZy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS8AEKBXR1dWlkGCEgASgIQt4BwkjaAQpzCgxzdHJpbmcudHV1aWQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASlgIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvgBwkj0AQp4ChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SH3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLPAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKvAsJIqwIKkwEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEjV2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS8gEKCWlwX3ByZWZpeBgdIAEoCELcAcJI2AEKbAoQc3RyaW5nLmlwX3ByZWZpeBIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2NF9wcmVmaXgYHiABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY0X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAASgwIKC2lwdjZfcHJlZml4GB8gASgIQusBwkjnAQp1ChJzdHJpbmcuaXB2Nl9wcmVmaXgSIXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAErUCCg1ob3N0X2FuZF9wb3J0GCAgASgIQpsCwkiXAgqZAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSQXZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEvUBCgR1bGlkGCMgASgIQuQBwkjgAQqCAQoLc3RyaW5nLnVsaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVTElEGlchcnVsZXMudWxpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTddWzAtOUEtSEpLTU5QLVRWLVphLWhqa21ucC10di16XXsyNX0kJykKWQoRc3RyaW5nLnVsaWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVTElEGhkhcnVsZXMudWxpZCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLCEgoKQnl0ZXNSdWxlcxKAAQoFY29uc3QYASABKAxCccJIbgpsCgtieXRlcy5jb25zdBpddGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBiZSAleCcuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSpwEKAmluGAggAygMQpoBwkiWAQqTAQoIYnl0ZXMuaW4ahgFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YCSADKAxCZsJIYwphCgxieXRlcy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLrAQoCaXAYCiABKAhC3AHCSNgBCnQKCGJ5dGVzLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5AEKBGlwdjQYCyABKAhC0wHCSM8BCmUKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5QEKBGlwdjYYDCABKAhC1AHCSNABCmYKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEtUBCgR1dWlkGA8gASgIQsQBwkjAAQpeCgpieXRlcy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLUAwoJRW51bVJ1bGVzEoIBCgVjb25zdBgBIAEoBUJzwkhwCm4KCmVudW0uY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIUCgxkZWZpbmVkX29ubHkYAiABKAgSfgoCaW4YAyADKAVCcsJIbwptCgdlbnVtLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEioKB2V4YW1wbGUYBSADKAVCGcJIFgoUCgxlbnVtLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiL7AwoNUmVwZWF0ZWRSdWxlcxKeAQoJbWluX2l0ZW1zGAEgASgEQooBwkiGAQqDAQoScmVwZWF0ZWQubWluX2l0ZW1zGm11aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEqIBCgltYXhfaXRlbXMYAiABKARCjgHCSIoBCocBChJyZXBlYXRlZC5tYXhfaXRlbXMacXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ3ZhbHVlIG11c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIpkXCg1EdXJhdGlvblJ1bGVzEqEBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJ3wkh0CnIKDmR1cmF0aW9uLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESnQEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnbCSHMKcQoLZHVyYXRpb24uaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEpQBCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CacJIZgpkCg9kdXJhdGlvbi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i/QUKDkZpZWxkTWFza1J1bGVzEr8BCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCkwHCSI8BCowBChBmaWVsZF9tYXNrLmNvbnN0Gnh0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICd2YWx1ZSBtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS2QEKAmluGAIgAygJQswBwkjIAQrFAQoNZmllbGRfbWFzay5pbhqzASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICd2YWx1ZSBtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEvMBCgZub3RfaW4YAyADKAlC4gHCSN4BCtsBChFmaWVsZF9tYXNrLm5vdF9pbhrFASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ3ZhbHVlIG11c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIikhgKDlRpbWVzdGFtcFJ1bGVzEqMBCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCeMJIdQpzCg90aW1lc3RhbXAuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKrAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQoABwkh9CnsKDHRpbWVzdGFtcC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK8AQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKQAcJIjAEKiQEKDXRpbWVzdGFtcC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEmwKBmx0X25vdxgHIAEoCEJawkhXClUKEHRpbWVzdGFtcC5sdF9ub3caQShydWxlcy5sdF9ub3cgJiYgdGhpcyA+IG5vdykgPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gbm93JyA6ICcnSAASxwcKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKcB8JImAcKfgoMdGltZXN0YW1wLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq3AQoPdGltZXN0YW1wLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq/AQoZdGltZXN0YW1wLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCscBChB0aW1lc3RhbXAuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrPAQoadGltZXN0YW1wLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEpMICgNndGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQucHwkjjBwqMAQoNdGltZXN0YW1wLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsYBChB0aW1lc3RhbXAuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs4BChp0aW1lc3RhbXAuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1gEKEXRpbWVzdGFtcC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt4BCht0aW1lc3RhbXAuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESbwoGZ3Rfbm93GAggASgIQl3CSFoKWAoQdGltZXN0YW1wLmd0X25vdxpEKHJ1bGVzLmd0X25vdyAmJiB0aGlzIDwgbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBub3cnIDogJydIARK4AQoGd2l0aGluGAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQowBwkiIAQqFAQoQdGltZXN0YW1wLndpdGhpbhpxdGhpcyA8IG5vdy1ydWxlcy53aXRoaW4gfHwgdGhpcyA+IG5vdytydWxlcy53aXRoaW4gPyAndmFsdWUgbXVzdCBiZSB3aXRoaW4gJXMgb2Ygbm93Jy5mb3JtYXQoW3J1bGVzLndpdGhpbl0pIDogJycSSwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCHsJIGwoZChF0aW1lc3RhbXAuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iOQoKVmlvbGF0aW9ucxIrCgp2aW9sYXRpb25zGAEgAygLMhcuYnVmLnZhbGlkYXRlLlZpb2xhdGlvbiKfAQoJVmlvbGF0aW9uEiYKBWZpZWxkGAUgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIlCgRydWxlGAYgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDwoHZm9yX2tleRgEIAEoCEoECAEQAlIKZmllbGRfcGF0aCI9CglGaWVsZFBhdGgSMAoIZWxlbWVudHMYASADKAsyHi5idWYudmFsaWRhdGUuRmllbGRQYXRoRWxlbWVudCLpAgoQRmllbGRQYXRoRWxlbWVudBIUCgxmaWVsZF9udW1iZXIYASABKAUSEgoKZmllbGRfbmFtZRgCIAEoCRI+CgpmaWVsZF90eXBlGAMgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPAoIa2V5X3R5cGUYBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI+Cgp2YWx1ZV90eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSDwoFaW5kZXgYBiABKARIABISCghib29sX2tleRgHIAEoCEgAEhEKB2ludF9rZXkYCCABKANIABISCgh1aW50X2tleRgJIAEoBEgAEhQKCnN0cmluZ19rZXkYCiABKAlIAEILCglzdWJzY3JpcHQqoQEKBklnbm9yZRIWChJJR05PUkVfVU5TUEVDSUZJRUQQABIYChRJR05PUkVfSUZfWkVST19WQUxVRRABEhEKDUlHTk9SRV9BTFdBWVMQAyIECAIQAioMSUdOT1JFX0VNUFRZKg5JR05PUkVfREVGQVVMVCoXSUdOT1JFX0lGX0RFRkFVTFRfVkFMVUUqFUlHTk9SRV9JRl9VTlBPUFVMQVRFRCpuCgpLbm93blJlZ2V4EhsKF0tOT1dOX1JFR0VYX1VOU1BFQ0lGSUVEEAASIAocS05PV05fUkVHRVhfSFRUUF9IRUFERVJfTkFNRRABEiEKHUtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX1ZBTFVFEAI6VgoHbWVzc2FnZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiHCSABKAsyGi5idWYudmFsaWRhdGUuTWVzc2FnZVJ1bGVzUgdtZXNzYWdlOk4KBW9uZW9mEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuT25lb2ZSdWxlc1IFb25lb2Y6TgoFZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIcJIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzUgVmaWVsZDpdCgpwcmVkZWZpbmVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiICSABKAsyHS5idWYudmFsaWRhdGUuUHJlZGVmaW5lZFJ1bGVzUgpwcmVkZWZpbmVkQm4KEmJ1aWxkLmJ1Zi52YWxpZGF0ZUINVmFsaWRhdGVQcm90b1ABWkdidWYuYnVpbGQvZ2VuL2dvL2J1ZmJ1aWxkL3Byb3RvdmFsaWRhdGUvcHJvdG9jb2xidWZmZXJzL2dvL2J1Zi92YWxpZGF0ZQ",[on,gn,cn,ln]);var Y=dn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2RhdGEucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKmCgoKU2lnbmFsRGF0YRL3BQoIZmlsZW5hbWUYASABKAlC3wW6SNsFugGvAQobZmlsZW5hbWUubm9fcGF0aF9zZXBhcmF0b3JzEmNGaWxlbmFtZSBjYW5ub3QgY29udGFpbiBwYXRoIHNlcGFyYXRvcnMgKCcvJyBvciAnXCcpLiBVc2Ugb25seSB0aGUgZmlsZW5hbWUgd2l0aG91dCBkaXJlY3RvcnkgcGF0aC4aKyF0aGlzLmNvbnRhaW5zKCcvJykgJiYgIXRoaXMuY29udGFpbnMoJ1xcJym6AbsBCh5maWxlbmFtZS5ub19jb250cm9sX2NoYXJhY3RlcnMSOUZpbGVuYW1lIGNhbm5vdCBjb250YWluIGNvbnRyb2wgY2hhcmFjdGVycyBvciBudWxsIGJ5dGVzLhpeIXRoaXMuY29udGFpbnMoJ1x4MDAnKSAmJiAhdGhpcy5jb250YWlucygnXG4nKSAmJiAhdGhpcy5jb250YWlucygnXHInKSAmJiAhdGhpcy5jb250YWlucygnXHQnKboBbQonZmlsZW5hbWUubm9fbGVhZGluZ190cmFpbGluZ193aGl0ZXNwYWNlEi1GaWxlbmFtZSBjYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZS4aE3RoaXMgPT0gdGhpcy50cmltKCm6AdMBChxmaWxlbmFtZS5ub193aW5kb3dzX3Jlc2VydmVkEmpGaWxlbmFtZSBjYW5ub3QgYmUgYSBXaW5kb3dzIHJlc2VydmVkIG5hbWUgKENPTiwgUFJOLCBBVVgsIE5VTCwgQ09NMS05LCBMUFQxLTkpIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uGkchdGhpcy5tYXRjaGVzKCdeKD9pKShDT058UFJOfEFVWHxOVUx8Q09NWzEtOV18TFBUWzEtOV0pKD86XFwuW14uXSopPyQnKXIgEAEY/wEyGV5bXi88PjoifD8qXHgwMC1ceDFGXFxdKyRIAIgBARKCBAoJbWltZV90eXBlGAIgASgJQu4DukjqA7oByQEKFm1pbWVfdHlwZS5ub193aWxkY2FyZHMSmQFNSU1FIHR5cGUgd2lsZGNhcmRzIGFyZSBub3QgYWxsb3dlZCBpbiBTaWduYWxEYXRhLiBVc2UgYSBjb25jcmV0ZSBNSU1FIHR5cGUgbGlrZSAnaW1hZ2UvcG5nJyBvciAnYXBwbGljYXRpb24vcGRmJywgbm90IHdpbGRjYXJkcyBsaWtlICdpbWFnZS8qJyBvciAnKi8qJy4aEyF0aGlzLmNvbnRhaW5zKCcqJym6Ab8BChdtaW1lX3R5cGUubm9fcGFyYW1ldGVycxKOAU1JTUUgdHlwZSBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZC4gVXNlICd0ZXh0L3BsYWluJyBpbnN0ZWFkIG9mICd0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Jy4gVVRGLTggZW5jb2RpbmcgaXMgYXNzdW1lZCBmb3IgYWxsIHRleHQgZm9ybWF0cy4aEyF0aGlzLmNvbnRhaW5zKCc7JylyWBADGP8BMlFeW2EtekEtWjAtOV1bYS16QS1aMC05ISMkJlwtXl8uK117MCwxMjZ9L1thLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fSQSDAoEZGF0YRgDIAEoDEILCglfZmlsZW5hbWViBnByb3RvMw",[d]),L=mn(Y,0);import{fileDesc as Gn,messageDesc as bn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as rn,messageDesc as pn}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_struct as un}from"@bufbuild/protobuf/wkt";var oe=rn("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvanRkX3NjaGVtYS5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIsEcCglKVERTY2hlbWESegoLZGVmaW5pdGlvbnMYASADKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLkRlZmluaXRpb25zRW50cnlCL7pILJoBKQgAEOgHIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEi4KCG1ldGFkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhUKCG51bGxhYmxlGAMgASgISAGIAQESNwoDcmVmGAQgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAKIAQEScQoEdHlwZRgFIAEoCUJeukhbcllSB2Jvb2xlYW5SB2Zsb2F0MzJSB2Zsb2F0NjRSBGludDhSBXVpbnQ4UgVpbnQxNlIGdWludDE2UgVpbnQzMlIGdWludDMyUgZzdHJpbmdSCXRpbWVzdGFtcEgDiAEBEiQKBGVudW0YBiADKAlCFrpIE5IBEAgAEOgHGAEiB3IFEAEY6AcSOgoIZWxlbWVudHMYByABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hSASIAQESXAoKcHJvcGVydGllcxgIIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWEuUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEm0KE29wdGlvbmFsX3Byb3BlcnRpZXMYCSADKAsyOy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLk9wdGlvbmFsUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEiIKFWFkZGl0aW9uYWxfcHJvcGVydGllcxgKIAEoCEgFiAEBEjgKBnZhbHVlcxgLIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIBogBARIlCg1kaXNjcmltaW5hdG9yGAwgASgJQgm6SAZyBBABGGRIB4gBARJWCgdtYXBwaW5nGA0gAygLMjAubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYS5NYXBwaW5nRW50cnlCE7pIEJoBDQgAEOgHIgZyBBABGGQaVwoQRGVmaW5pdGlvbnNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hOgI4ARpWCg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaXgoXT3B0aW9uYWxQcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaUwoMTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWE6AjgBOuMRukjfERqTAwocanRkLm11dHVhbGx5X2V4Y2x1c2l2ZV9mb3JtcxKIAVNjaGVtYSBtdXN0IHVzZSBleGFjdGx5IG9uZSBmb3JtIChlbXB0eSwgcmVmLCB0eXBlLCBlbnVtLCBlbGVtZW50cywgcHJvcGVydGllcywgdmFsdWVzLCBvciBkaXNjcmltaW5hdG9yKS4gTXVsdGlwbGUgZm9ybSBrZXl3b3JkcyBmb3VuZC4a5wFbaGFzKHRoaXMucmVmKSwgaGFzKHRoaXMudHlwZSksIHNpemUodGhpcy5lbnVtKSA+IDAsIGhhcyh0aGlzLmVsZW1lbnRzKSwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwLCBoYXModGhpcy52YWx1ZXMpLCBoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMubWFwcGluZykgPiAwXS5maWx0ZXIoeCwgeCkuc2l6ZSgpIDw9IDEa+AEKGWp0ZC5wcm9wZXJ0aWVzX25vX292ZXJsYXASWFByb3BlcnRpZXMgYW5kIG9wdGlvbmFsX3Byb3BlcnRpZXMgY2Fubm90IGhhdmUgb3ZlcmxhcHBpbmcga2V5cyAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNikagAEhKHNpemUodGhpcy5wcm9wZXJ0aWVzKSA+IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID4gMCkgfHwgdGhpcy5wcm9wZXJ0aWVzLmFsbChwaywgIShwayBpbiB0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpKRqQAgoxanRkLmFkZGl0aW9uYWxfcHJvcGVydGllc19vbmx5X29uX3Byb3BlcnRpZXNfZm9ybRJ2YWRkaXRpb25hbF9wcm9wZXJ0aWVzIGNhbiBvbmx5IGJlIHNldCB3aGVuIHVzaW5nIHRoZSBwcm9wZXJ0aWVzIGZvcm0gKGhhcyBub24tZW1wdHkgcHJvcGVydGllcyBvciBvcHRpb25hbF9wcm9wZXJ0aWVzKRpjIWhhcyh0aGlzLmFkZGl0aW9uYWxfcHJvcGVydGllcykgfHwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwGsIBCiJqdGQuZGlzY3JpbWluYXRvcl9yZXF1aXJlc19tYXBwaW5nEmdkaXNjcmltaW5hdG9yIGFuZCBtYXBwaW5nIG11c3QgYXBwZWFyIHRvZ2V0aGVyIHdpdGggYXQgbGVhc3Qgb25lIG1hcHBpbmcgZW50cnkgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGjNoYXModGhpcy5kaXNjcmltaW5hdG9yKSA9PSAoc2l6ZSh0aGlzLm1hcHBpbmcpID4gMCka/QEKI2p0ZC5tYXBwaW5nX211c3RfYmVfcHJvcGVydGllc19mb3JtEk5BbGwgc2NoZW1hcyBpbiBtYXBwaW5nIG11c3QgYmUgb2YgdGhlIHByb3BlcnRpZXMgZm9ybSAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuOCkahQFzaXplKHRoaXMubWFwcGluZykgPT0gMCB8fCB0aGlzLm1hcHBpbmcuYWxsKG0sIHNpemUodGhpcy5tYXBwaW5nW21dLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMubWFwcGluZ1ttXS5vcHRpb25hbF9wcm9wZXJ0aWVzKSA+IDApGuIBCh5qdGQubWFwcGluZ19jYW5ub3RfYmVfbnVsbGFibGUSU1NjaGVtYXMgaW4gZGlzY3JpbWluYXRvciBtYXBwaW5nIGNhbm5vdCBoYXZlIG51bGxhYmxlPXRydWUgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGmtzaXplKHRoaXMubWFwcGluZykgPT0gMCB8fCB0aGlzLm1hcHBpbmcuYWxsKG0sICFoYXModGhpcy5tYXBwaW5nW21dLm51bGxhYmxlKSB8fCAhdGhpcy5tYXBwaW5nW21dLm51bGxhYmxlKRrGAgoranRkLmRpc2NyaW1pbmF0b3Jfbm90X2luX21hcHBpbmdfcHJvcGVydGllcxJwRGlzY3JpbWluYXRvciB0YWcgY2Fubm90IGFwcGVhciBpbiBwcm9wZXJ0aWVzIG9yIG9wdGlvbmFsX3Byb3BlcnRpZXMgb2YgbWFwcGluZyBzY2hlbWFzIChSRkMgODkyNyBTZWN0aW9uIDIuMi44KRqkASFoYXModGhpcy5kaXNjcmltaW5hdG9yKSB8fCB0aGlzLm1hcHBpbmcuYWxsKG0sICEodGhpcy5kaXNjcmltaW5hdG9yIGluIHRoaXMubWFwcGluZ1ttXS5wcm9wZXJ0aWVzKSAmJiAhKHRoaXMuZGlzY3JpbWluYXRvciBpbiB0aGlzLm1hcHBpbmdbbV0ub3B0aW9uYWxfcHJvcGVydGllcykpGsUCChJqdGQuZW51bV9ub25fZW1wdHkSSmVudW0gYXJyYXkgbXVzdCBiZSBub24tZW1wdHkgd2hlbiB1c2luZyBlbnVtIGZvcm0gKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjQpGuIBc2l6ZSh0aGlzLmVudW0pID4gMCAmJiAhaGFzKHRoaXMudHlwZSkgJiYgIWhhcyh0aGlzLnJlZikgJiYgIWhhcyh0aGlzLmVsZW1lbnRzKSAmJiAhaGFzKHRoaXMudmFsdWVzKSAmJiAhaGFzKHRoaXMuZGlzY3JpbWluYXRvcikgJiYgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID09IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID09IDAgPyBzaXplKHRoaXMuZW51bSkgPiAwIDogdHJ1ZUILCglfbWV0YWRhdGFCCwoJX251bGxhYmxlQgYKBF9yZWZCBwoFX3R5cGVCCwoJX2VsZW1lbnRzQhgKFl9hZGRpdGlvbmFsX3Byb3BlcnRpZXNCCQoHX3ZhbHVlc0IQCg5fZGlzY3JpbWluYXRvcmIGcHJvdG8z",[d,un]),Mt=pn(oe,0);var N=Gn("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Zvcm1hdC5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIo8FCgxTaWduYWxGb3JtYXQSOQoKanRkX3NjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIABKyBAoJbWltZV90eXBlGAIgASgJQpwEukiYBLoBmwIKMG1pbWVfdHlwZS5ub190eXBlX3dpbGRjYXJkX3dpdGhfY29uY3JldGVfc3VidHlwZRK7AVR5cGUgd2lsZGNhcmQgd2l0aCBjb25jcmV0ZSBzdWJ0eXBlIChlLmcuLCAnKi9wbmcnLCAnKi9qc29uJykgaXMgbm90IGFsbG93ZWQuIFVzZSBjb25jcmV0ZSB0eXBlIChlLmcuLCAnaW1hZ2UvcG5nJyksIHR5cGUtZmFtaWx5IHdpbGRjYXJkIChlLmcuLCAnaW1hZ2UvKicpLCBvciB1bml2ZXJzYWwgd2lsZGNhcmQgKCcqLyonKS4aKSEodGhpcy5zdGFydHNXaXRoKCcqLycpICYmIHRoaXMgIT0gJyovKicpugGRAQodbWltZV90eXBlLm5vX2FwcGxpY2F0aW9uX2pzb24SR2dlbmVyaWMganNvbiBpcyBqdGQtc2NoZW1hIHdpdGggZW1wdHkgc2NoZW1hLCB0aGlzIHdpbGwgYWNjZXB0IGFueSBKU09OGid0aGlzLmxvd2VyQXNjaWkoKSAhPSAnYXBwbGljYXRpb24vanNvbidyYhADGP8BMlteKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikvKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikkSABCDwoGZm9ybWF0EgW6SAIIAWIGcHJvdG8z",[d,oe]),Se=bn(N,0);import{fileDesc as Mn,messageDesc as En}from"@bufbuild/protobuf/codegenv2";import{fileDesc as An,messageDesc as Sn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as In,messageDesc as yn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as hn,messageDesc as Zn}from"@bufbuild/protobuf/codegenv2";var T=hn("CjBtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Rlc2NyaXB0b3IucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKMAgoQU2lnbmFsRGVzY3JpcHRvchIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHZm9ybWF0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDJCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxiBnByb3RvMw",[d,N]),Lt=Zn(T,0);var ge=In("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLMAgoLVHJhbnNjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEhYKCXN0cmVhbWluZxgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfc3RyZWFtaW5nYgZwcm90bzM",[d,T]),Tt=yn(ge,0);var ce=An("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvZXhjaGFuZ2UucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLuAwoIRXhjaGFuZ2USMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARLCAQoMdHJhbnNtaXR0ZXJzGAMgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlRyYW5zY2VpdmVyQoQBukiAAboBeAoZdHJhbnNtaXR0ZXJzX3VuaXF1ZV9uYW1lcxIpRWFjaCB0cmFuc21pdHRlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aMHRoaXMubWFwKHRyYW5zbWl0dGVyLCB0cmFuc21pdHRlci5uYW1lKS51bmlxdWUoKZIBAhAKErMBCglyZWNlaXZlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEApCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,ge]),qt=Sn(ce,0);import{fileDesc as Jn,messageDesc as Bn}from"@bufbuild/protobuf/codegenv2";import{enumDesc as Vn,fileDesc as Rn,messageDesc as Xn}from"@bufbuild/protobuf/codegenv2";var $=Rn("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKWBgoNU2lnbmFsQmluZGluZxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgBiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gCiAEBEhUKCG9wdGlvbmFsGAQgASgISAOIAQESQwoHYWNjZXB0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDISXgoJcmVmZXJlbmNlGAYgASgJQkm6SEZyRBj6ATI/XlswLTlhLXpdezR9L1tfJGEtekEtWl1bXyRhLXpBLVowLTldKi9bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAAS4AEKCGNvbnN0YW50GAcgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCpQG6SKEBugGdAQoZY29uc3RhbnQubWF4X3BheWxvYWRfc2l6ZRJmQ29uc3RhbnQgc2lnbmFsIGRhdGEgY2Fubm90IGV4Y2VlZCA1MEtCICg1MTIwMCBieXRlcykuIEZvciBsYXJnZXIgZGF0YSwgdXNlIHNpZ25hbCByZWZlcmVuY2VzIGluc3RlYWQuGhhzaXplKHRoaXMuZGF0YSkgPD0gNTEyMDBIABJLCgVlcnJvchgIIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxCaW5kaW5nLkVycm9yQgi6SAWCAQIgAEgEiAEBImYKBUVycm9yEhUKEUVSUk9SX1VOU1BFQ0lGSUVEEAASEQoNRVJST1JfVU5CT1VORBABEhgKFEVSUk9SX0lOVkFMSURfU09VUkNFEAISGQoVRVJST1JfU0NIRU1BX01JU01BVENIEANCCQoHYmluZGluZ0IICgZfbGFiZWxCDgoMX2Rlc2NyaXB0aW9uQgsKCV9vcHRpb25hbEIICgZfZXJyb3JiBnByb3RvMw",[d,Y,N]),as=Xn($,0),Wn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.UNBOUND=1]="UNBOUND",s[s.INVALID_SOURCE=2]="INVALID_SOURCE",s[s.SCHEMA_MISMATCH=3]="SCHEMA_MISMATCH",s))(Wn||{}),os=Vn($,0,0);var ie=Jn("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvcmVjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKlAgoIUmVjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKvAQoIYmluZGluZ3MYAyADKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsQmluZGluZ0J0ukhxugFoChViaW5kaW5nc191bmlxdWVfbmFtZXMSJUVhY2ggYmluZGluZyBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKHRoaXMubWFwKGJpbmRpbmcsIGJpbmRpbmcubmFtZSkudW5pcXVlKCmSAQMQgARCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,$]),ds=Bn(ie,0);import{enumDesc as Cn,fileDesc as Yn,messageDesc as Fn}from"@bufbuild/protobuf/codegenv2";var k=Yn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNtaXR0ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLCAwoLVHJhbnNtaXR0ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEj0KBG1vZGUYBCABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXIuTW9kZUgBiAEBIlIKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDU1PREVfU1RBTkRBUkQQARIPCgtNT0RFX1NUUkVBTRACEhAKDE1PREVfRkFJTFVSRRADQg4KDF9kZXNjcmlwdGlvbkIHCgVfbW9kZWIGcHJvdG8z",[d,T]),Gs=Fn(k,0),xn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.STANDARD=1]="STANDARD",s[s.STREAM=2]="STREAM",s[s.FAILURE=3]="FAILURE",s))(xn||{}),bs=Cn(k,0,0);var j=Mn("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgihAUKDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQChIlCg1jcm9uX3NjaGVkdWxlGAYgASgJQgm6SAZyBBABGGRIAIgBAUIQCg5fY3Jvbl9zY2hlZHVsZWIGcHJvdG8z",[d,ce,ie,k]),Q=En(j,0);import{enumDesc as Kn,fileDesc as Nn,messageDesc as V,serviceDesc as Qn}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_field_mask as Ln}from"@bufbuild/protobuf/wkt";import{enumDesc as fn,fileDesc as Hn,messageDesc as R}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_timestamp as vn}from"@bufbuild/protobuf/wkt";var I=Hn("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9zdG9yZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiJgoIUHV0VmFsdWUSDQoFdmFsdWUYASABKAwSCwoDdHRsGAIgASgFIlkKCEdldFZhbHVlEg0KBXZhbHVlGAEgASgMEj4KCG1ldGFkYXRhGAIgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YSJdCg1WYWx1ZU1ldGFkYXRhEgsKA3R0bBgBIAEoBRIxCg1sYXN0X21vZGlmaWVkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRldGFnGAMgASgJIuwBCg5UaW1lc3RhbXBSYW5nZRIxCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBrpIA8gBARIvCgNlbmQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESFwoPc3RhcnRfaW5jbHVzaXZlGAMgASgIEhUKDWVuZF9pbmNsdXNpdmUYBCABKAg6RrpIQxpBCgt2YWxpZF9yYW5nZRIbc3RhcnQgbXVzdCBiZSBsZXNzIHRoYW4gZW5kGhV0aGlzLnN0YXJ0IDwgdGhpcy5lbmQinwMKCFNlbGVjdE9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQESHgoFbGltaXQYBSABKAVCCrpIBxoFGOgHKABIBIgBARIXCgpwYWdlX3Rva2VuGAYgASgJSAWIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmVCCAoGX2xpbWl0Qg0KC19wYWdlX3Rva2VuIuABCg5Xcml0ZU9wZXJhdGlvbhI5CgZpbnNlcnQYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbnNlcnRPcEgAEjkKBmRlbGV0ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRlbGV0ZU9wSAASRAoMcmFuZ2VfZGVsZXRlGAMgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmFuZ2VEZWxldGVPcEgAQhIKCW9wZXJhdGlvbhIFukgCCAEiuwEKGUNvbmRpdGlvbmFsV3JpdGVPcGVyYXRpb24SRAoGaW5zZXJ0GAEgASgLMjIubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxJbnNlcnRPcEgAEkQKBmRlbGV0ZRgCIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3BIAEISCglvcGVyYXRpb24SBbpIAggBItICCg1SYW5nZURlbGV0ZU9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmUiYQoISW5zZXJ0T3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAIBI+CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlB1dFZhbHVlQga6SAPIAQEiIQoIRGVsZXRlT3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAICK2BgoTQ29uZGl0aW9uYWxJbnNlcnRPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEj4KBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUHV0VmFsdWVCBrpIA8gBARJaCgxwcmVjb25kaXRpb24YAyABKAsyPy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbEluc2VydE9wLlByZWNvbmRpdGlvbkgAiAEBGtoECgxQcmVjb25kaXRpb24SOgoUbGFzdF9tb2RpZmllZF9lcXVhbHMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAASTAoTbGFzdF9tb2RpZmllZF9yYW5nZRgCIAEoCzItLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRpbWVzdGFtcFJhbmdlSAASEQoEZXRhZxgEIAEoCUgBiAEBEhsKDmZhaWxfaWZfZXhpc3RzGAUgASgISAKIAQE63AK6SNgCGscBCiBub190aW1lc3RhbXBfd2l0aF9mYWlsX2lmX2V4aXN0cxI7ZmFpbF9pZl9leGlzdHMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGltZXN0YW1wIGNvbmRpdGlvbnMaZnRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5sYXN0X21vZGlmaWVkX2VxdWFscykgJiYgIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfcmFuZ2UpIDogdHJ1ZRqLAQobbm9fZXRhZ193aXRoX2ZhaWxfaWZfZXhpc3RzEjZmYWlsX2lmX2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBldGFnIGNvbmRpdGlvbnMaNHRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5ldGFnKSA6IHRydWVCFQoTdGltZXN0YW1wX2NvbmRpdGlvbkIHCgVfZXRhZ0IRCg9fZmFpbF9pZl9leGlzdHNCDwoNX3ByZWNvbmRpdGlvbiLeBQoTQ29uZGl0aW9uYWxEZWxldGVPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEloKDHByZWNvbmRpdGlvbhgCIAEoCzI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3AuUHJlY29uZGl0aW9uSACIAQEawgQKDFByZWNvbmRpdGlvbhIYCgttdXN0X2V4aXN0cxgBIAEoCEgBiAEBEjoKFGxhc3RfbW9kaWZpZWRfZXF1YWxzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEkwKE2xhc3RfbW9kaWZpZWRfcmFuZ2UYAyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UaW1lc3RhbXBSYW5nZUgAEhEKBGV0YWcYBCABKAlIAogBATrKArpIxgIavgEKHW5vX3RpbWVzdGFtcF93aXRoX211c3RfZXhpc3RzEjhtdXN0X2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aW1lc3RhbXAgY29uZGl0aW9ucxpjdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfZXF1YWxzKSAmJiAhaGFzKHRoaXMubGFzdF9tb2RpZmllZF9yYW5nZSkgOiB0cnVlGoIBChhub19ldGFnX3dpdGhfbXVzdF9leGlzdHMSM211c3RfZXhpc3RzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGV0YWcgY29uZGl0aW9ucxoxdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmV0YWcpIDogdHJ1ZUIVChN0aW1lc3RhbXBfY29uZGl0aW9uQg4KDF9tdXN0X2V4aXN0c0IHCgVfZXRhZ0IPCg1fcHJlY29uZGl0aW9uKpABCglOYW1lc3BhY2USGQoVTkFNRVNQQUNFX1VOU1BFQ0lGSUVEEAASHQoZTkFNRVNQQUNFX1ZFUlRFWF9JTlNUQU5DRRABEh0KGU5BTUVTUEFDRV9QTFVHSU5fSU5TVEFOQ0UQAhIUChBOQU1FU1BBQ0VfVkVSVEVYEAMSFAoQTkFNRVNQQUNFX1BMVUdJThAEYgZwcm90bzM",[d,vn]),Js=R(I,0),Bs=R(I,1),Cs=R(I,2),le=R(I,3),Ys=R(I,4),ee=R(I,5),Fs=R(I,6),xs=R(I,7),Ms=R(I,8),Es=R(I,9),fs=R(I,10),de=R(I,10,0),Hs=R(I,11),Ve=R(I,11,0),zn=(g=>(g[g.UNSPECIFIED=0]="UNSPECIFIED",g[g.VERTEX_INSTANCE=1]="VERTEX_INSTANCE",g[g.PLUGIN_INSTANCE=2]="PLUGIN_INSTANCE",g[g.VERTEX=3]="VERTEX",g[g.PLUGIN=4]="PLUGIN",g))(zn||{}),Re=fn(I,0);var A=Nn("Cjhtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9jb25maWd1cmF0b3Jfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi5AEKGkxpc3RJbmNvbWluZ1NpZ25hbHNSZXF1ZXN0EjwKCHJlY2VpdmVyGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSACIAQESNwoHZm9ybWF0cxgCIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXQSMwoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAYgBAUILCglfcmVjZWl2ZXJCDQoLX2ZpZWxkX21hc2si9gEKEEluY29taW5nVmVydGljZXMSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI7Cgx0cmFuc21pdHRlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXISPgoLdmVydGV4X3R5cGUYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5WZXJ0ZXhUeXBlEhQKB2xvZ29faWQYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CCgoIX2xvZ29faWQiiQIKG0xpc3RJbmNvbWluZ1NpZ25hbHNSZXNwb25zZRJBCgh2ZXJ0aWNlcxgBIAMoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkluY29taW5nVmVydGljZXMSYQoMdmVydGV4X2xvZ29zGAIgAygLMksubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1Jlc3BvbnNlLlZlcnRleExvZ29zRW50cnkSEAoIcmVjZWl2ZXIYAyABKAkaMgoQVmVydGV4TG9nb3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIsYBCilDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIvYBCipDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USaQoIbWV0YWRhdGEYASADKAsyVy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIr4BCiRDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QSSwoJb3BlcmF0aW9uGAEgASgLMjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxXcml0ZU9wZXJhdGlvbhJJCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCDLpICYIBBiAAIAEgAiJ5CiVDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKXAQooQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVxdWVzdBIgCgRrZXlzGAEgAygJQhK6SA+SAQwIARCQTiIFcgMYgCASSQoJbmFtZXNwYWNlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTmFtZXNwYWNlQgy6SAmCAQYgACABIAIi5gEKKUNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEmIKBWl0ZW1zGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2UuSXRlbXNFbnRyeRpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4ASK2AQolQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBJCCglvcGVyYXRpb24YASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZWxlY3RPcEIGukgDyAEBEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIogCCiZDb25maWd1cmF0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZRJfCgVpdGVtcxgBIAMoCzJQLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlLkl0ZW1zRW50cnkSFwoKbmV4dF90b2tlbhgCIAEoCUgAiAEBGlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBQg0KC19uZXh0X3Rva2VuIm8KKUNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0EjMKCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrSACIAQFCDQoLX2ZpZWxkX21hc2siswIKKkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZRIOCgZjb25maWcYASABKAwSOgoIbWV0YWRhdGEYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVmVydGV4TWV0YWRhdGESfgoTY29uZmlndXJlZF9zZXJ2aWNlcxgDIAMoCzJhLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIrUCChdQb3N0VmVydGV4Q29uZmlnUmVxdWVzdBITCgZjb25maWcYASABKAxIAIgBARI/CghtZXRhZGF0YRgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YUgBiAEBEh4KEW92ZXJyaWRlX2JpbmRpbmdzGAMgASgISAKIAQE6drpIcxpxChtjb25maWdfb3JfbWV0YWRhdGFfcmVxdWlyZWQSKkVpdGhlciBjb25maWcgb3IgbWV0YWRhdGEgbXVzdCBiZSBwcm92aWRlZBomaGFzKHRoaXMuY29uZmlnKSB8fCBoYXModGhpcy5tZXRhZGF0YSlCCQoHX2NvbmZpZ0ILCglfbWV0YWRhdGFCFAoSX292ZXJyaWRlX2JpbmRpbmdzIlYKGFBvc3RWZXJ0ZXhDb25maWdSZXNwb25zZRI6CghtZXRhZGF0YRgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YSrBAQoKVmVydGV4VHlwZRIbChdWRVJURVhfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVZFUlRFWF9UWVBFX1NUQVJUEAESFgoSVkVSVEVYX1RZUEVfUExVR0lOEAISFgoSVkVSVEVYX1RZUEVfT1VUUFVUEAMSGAoUVkVSVEVYX1RZUEVfREVMRUdBVEUQBBIXChNWRVJURVhfVFlQRV9CQVJSSUVSEAUSHAoYVkVSVEVYX1RZUEVfRVhDSEFOR0VfT1VUEAYy2QgKE0NvbmZpZ3VyYXRvclNlcnZpY2USpgEKD0dldFZlcnRleENvbmZpZxJILm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlEoMBChBQb3N0VmVydGV4Q29uZmlnEjYubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUG9zdFZlcnRleENvbmZpZ1JlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Qb3N0VmVydGV4Q29uZmlnUmVzcG9uc2USlwEKCldyaXRlU3RvcmUSQy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QaRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEqYBCg9CYXRjaFdyaXRlU3RvcmUSSC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBpJLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXNwb25zZRKjAQoOQmF0Y2hSZWFkU3RvcmUSRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2USmgEKC1NlbGVjdFN0b3JlEkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBpFLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlEowBChNMaXN0SW5jb21pbmdTaWduYWxzEjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1JlcXVlc3QaOi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0SW5jb21pbmdTaWduYWxzUmVzcG9uc2ViBnByb3RvMw",[d,Ln,N,k,j,I]),ws=V(A,0),Ds=V(A,1),Xe=V(A,2),Ts=V(A,3),js=V(A,4),Ps=V(A,5),Os=V(A,6),_s=V(A,7),qs=V(A,8),$s=V(A,9),ea=V(A,10),na=V(A,11),ta=V(A,12),sa=V(A,13),aa=V(A,14),kn=(b=>(b[b.UNSPECIFIED=0]="UNSPECIFIED",b[b.START=1]="START",b[b.PLUGIN=2]="PLUGIN",b[b.OUTPUT=3]="OUTPUT",b[b.DELEGATE=4]="DELEGATE",b[b.BARRIER=5]="BARRIER",b[b.EXCHANGE_OUT=6]="EXCHANGE_OUT",b))(kn||{}),oa=Kn(A,0),We=Qn(A,0);import{fileDesc as tt,messageDesc as h,serviceDesc as st}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_field_mask as at}from"@bufbuild/protobuf/wkt";import{enumDesc as _n,fileDesc as qn,messageDesc as G,serviceDesc as $n}from"@bufbuild/protobuf/codegenv2";import{extDesc as ma,fileDesc as wn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Un,messageDesc as ia}from"@bufbuild/protobuf/codegenv2";var Je=Un("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");import{file_google_protobuf_descriptor as Dn}from"@bufbuild/protobuf/wkt";var Be=wn("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[Je,Dn]);import{enumDesc as Ia,extDesc as ya,fileDesc as jn,messageDesc as Aa}from"@bufbuild/protobuf/codegenv2";import{enumDesc as ba,fileDesc as Tn}from"@bufbuild/protobuf/codegenv2";var Ce=Tn("Ch1nb29nbGUvYXBpL2xhdW5jaF9zdGFnZS5wcm90bxIKZ29vZ2xlLmFwaSqMAQoLTGF1bmNoU3RhZ2USHAoYTEFVTkNIX1NUQUdFX1VOU1BFQ0lGSUVEEAASEQoNVU5JTVBMRU1FTlRFRBAGEg0KCVBSRUxBVU5DSBAHEhAKDEVBUkxZX0FDQ0VTUxABEgkKBUFMUEhBEAISCAoEQkVUQRADEgYKAkdBEAQSDgoKREVQUkVDQVRFRBAFQloKDmNvbS5nb29nbGUuYXBpQhBMYXVuY2hTdGFnZVByb3RvUAFaLWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpO2FwaaICBEdBUEliBnByb3RvMw");import{file_google_protobuf_descriptor as Pn,file_google_protobuf_duration as On}from"@bufbuild/protobuf/wkt";var Ye=jn("Chdnb29nbGUvYXBpL2NsaWVudC5wcm90bxIKZ29vZ2xlLmFwaSK+AQoWQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxIeChJyZWZlcmVuY2VfZG9jc191cmkYASABKAlCAhgBEjoKDGRlc3RpbmF0aW9ucxgCIAMoDjIkLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeURlc3RpbmF0aW9uEkgKGnNlbGVjdGl2ZV9nYXBpY19nZW5lcmF0aW9uGAMgASgLMiQuZ29vZ2xlLmFwaS5TZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24i+wMKFUNsaWVudExpYnJhcnlTZXR0aW5ncxIPCgd2ZXJzaW9uGAEgASgJEi0KDGxhdW5jaF9zdGFnZRgCIAEoDjIXLmdvb2dsZS5hcGkuTGF1bmNoU3RhZ2USGgoScmVzdF9udW1lcmljX2VudW1zGAMgASgIEi8KDWphdmFfc2V0dGluZ3MYFSABKAsyGC5nb29nbGUuYXBpLkphdmFTZXR0aW5ncxItCgxjcHBfc2V0dGluZ3MYFiABKAsyFy5nb29nbGUuYXBpLkNwcFNldHRpbmdzEi0KDHBocF9zZXR0aW5ncxgXIAEoCzIXLmdvb2dsZS5hcGkuUGhwU2V0dGluZ3MSMwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW5ncxIvCg1ub2RlX3NldHRpbmdzGBkgASgLMhguZ29vZ2xlLmFwaS5Ob2RlU2V0dGluZ3MSMwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncxIvCg1ydWJ5X3NldHRpbmdzGBsgASgLMhguZ29vZ2xlLmFwaS5SdWJ5U2V0dGluZ3MSKwoLZ29fc2V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3MiqAMKClB1Ymxpc2hpbmcSMwoPbWV0aG9kX3NldHRpbmdzGAIgAygLMhouZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncxIVCg1uZXdfaXNzdWVfdXJpGGUgASgJEhkKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJEhYKDmFwaV9zaG9ydF9uYW1lGGcgASgJEhQKDGdpdGh1Yl9sYWJlbBhoIAEoCRIeChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJEhYKDmRvY190YWdfcHJlZml4GGogASgJEjsKDG9yZ2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbhI7ChBsaWJyYXJ5X3NldHRpbmdzGG0gAygLMiEuZ29vZ2xlLmFwaS5DbGllbnRMaWJyYXJ5U2V0dGluZ3MSKQohcHJvdG9fcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG4gASgJEigKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJIuMBCgxKYXZhU2V0dGluZ3MSFwoPbGlicmFyeV9wYWNrYWdlGAEgASgJEkwKE3NlcnZpY2VfY2xhc3NfbmFtZXMYAiADKAsyLy5nb29nbGUuYXBpLkphdmFTZXR0aW5ncy5TZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EjIKBmNvbW1vbhgDIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxo4ChZTZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoLQ3BwU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIkEKC1BocFNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKbAgoOUHl0aG9uU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEk4KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgCIAEoCzIvLmdvb2dsZS5hcGkuUHl0aG9uU2V0dGluZ3MuRXhwZXJpbWVudGFsRmVhdHVyZXMahAEKFEV4cGVyaW1lbnRhbEZlYXR1cmVzEh0KFXJlc3RfYXN5bmNfaW9fZW5hYmxlZBgBIAEoCBInCh9wcm90b2J1Zl9weXRob25pY190eXBlc19lbmFibGVkGAIgASgIEiQKHHVudmVyc2lvbmVkX3BhY2thZ2VfZGlzYWJsZWQYAyABKAgiQgoMTm9kZVNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKqAwoORG90bmV0U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEkkKEHJlbmFtZWRfc2VydmljZXMYAiADKAsyLy5nb29nbGUuYXBpLkRvdG5ldFNldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5EksKEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkUmVzb3VyY2VzRW50cnkSGQoRaWdub3JlZF9yZXNvdXJjZXMYBCADKAkSIAoYZm9yY2VkX25hbWVzcGFjZV9hbGlhc2VzGAUgAygJEh4KFmhhbmR3cml0dGVuX3NpZ25hdHVyZXMYBiADKAkaNgoUUmVuYW1lZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo3ChVSZW5hbWVkUmVzb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJCCgxSdWJ5U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIr8BCgpHb1NldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxJFChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMisuZ29vZ2xlLmFwaS5Hb1NldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5GjYKFFJlbmFtZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEizwIKDk1ldGhvZFNldHRpbmdzEhAKCHNlbGVjdG9yGAEgASgJEjwKDGxvbmdfcnVubmluZxgCIAEoCzImLmdvb2dsZS5hcGkuTWV0aG9kU2V0dGluZ3MuTG9uZ1J1bm5pbmcSHQoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJGs0BCgtMb25nUnVubmluZxI1ChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SHQoVcG9sbF9kZWxheV9tdWx0aXBsaWVyGAIgASgCEjEKDm1heF9wb2xsX2RlbGF5GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnRvdGFsX3BvbGxfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJRChhTZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24SDwoHbWV0aG9kcxgBIAMoCRIkChxnZW5lcmF0ZV9vbWl0dGVkX2FzX2ludGVybmFsGAIgASgIKqMBChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVElPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RSRUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBypnChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT05fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFDpKChBtZXRob2Rfc2lnbmF0dXJlEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYmwggAygJUg9tZXRob2RTaWduYXR1cmU6QwoMZGVmYXVsdF9ob3N0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJkIIAEoCVILZGVmYXVsdEhvc3Q6QwoMb2F1dGhfc2NvcGVzEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJoIIAEoCVILb2F1dGhTY29wZXM6RAoLYXBpX3ZlcnNpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYwbqr+gEgASgJUgphcGlWZXJzaW9uQmkKDmNvbS5nb29nbGUuYXBpQgtDbGllbnRQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMw",[Ce,Pn,On]);import{file_google_protobuf_timestamp as et}from"@bufbuild/protobuf/wkt";var r=qn("CjNtb2NoYWJ1Z2FwaXMvYWRhcHQvYXV0b21hdGlvbnMvdjEvYXV0b21hdGlvbnMucHJvdG8SIW1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MSIvChVJbmhlcml0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiZQoWSW5oZXJpdFNlc3Npb25SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIq8BChFSZWFkT3V0cHV0UmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIaCglwYWdlX3NpemUYAiABKA1CB7pIBCoCGGQSKQoGdmVydGV4GAMgASgJQhS6SBFyDzINXlswLTlhLXpdezR9JEgAiAEBEiEKCm5ld2VyX3RoYW4YBCABKAlCCLpIBXIDsAEBSAGIAQFCCQoHX3ZlcnRleEINCgtfbmV3ZXJfdGhhbiLLAQoSUmVhZE91dHB1dFJlc3BvbnNlEjsKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbhI6CgdvdXRwdXRzGAIgAygLMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLk91dHB1dBInChBuZXh0X3BhZ2VfY3Vyc29yGAMgASgJQgi6SAVyA7ABAUgAiAEBQhMKEV9uZXh0X3BhZ2VfY3Vyc29yIncKD1JlYWRVcmxzUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIaCglwYWdlX3NpemUYAiABKA1CB7pIBCoCGGQSIQoKbmV3ZXJfdGhhbhgDIAEoCUIIukgFcgOwAQFIAIgBAUINCgtfbmV3ZXJfdGhhbiLDAQoQUmVhZFVybHNSZXNwb25zZRI7CgdzZXNzaW9uGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb24SNAoEdXJscxgCIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5VcmwSJwoQbmV4dF9wYWdlX2N1cnNvchgDIAEoCUIIukgFcgOwAQFIAIgBAUITChFfbmV4dF9wYWdlX2N1cnNvciLYAgoTU3RhcnRTZXNzaW9uUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxI7Cgt0cmFuc21pdHRlchgCIAEoCUIhukgechwQARhkMhZeW2EtekEtWjAtOV8tXXsxLDEwMH0kSACIAQEShQEKB3NpZ25hbHMYAyADKAsyQy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhcnRTZXNzaW9uUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKSIiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCoDyAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyImMKFFN0YXJ0U2Vzc2lvblJlc3BvbnNlEg0KBXRva2VuGAEgASgJEjAKB2V4cGlyZXMYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCCgoIX2V4cGlyZXMiLAoSU3RvcFNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIhUKE1N0b3BTZXNzaW9uUmVzcG9uc2UiKwoRR2V0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiWQoSR2V0U2Vzc2lvblJlc3BvbnNlEkMKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkIGukgDyAEBIukBCgZPdXRwdXQSDgoGdmVydGV4GAEgASgJEgwKBGZvcmsYAiABKAkSQQoEZGF0YRgDIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQuRGF0YUVudHJ5EisKB2NyZWF0ZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGlEKCURhdGFFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEiegoDVXJsEgsKA3VybBgBIAEoCRIMCgRmb3JrGAIgASgJEg4KBnZlcnRleBgDIAEoCRIMCgRkb25lGAQgASgIEisKB2NyZWF0ZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRva2VuGAYgASgJIlIKB1Nlc3Npb24SDAoEZm9yaxgBIAEoCRI5CgZzdGF0dXMYAiABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhdHVzIi4KFFN0cmVhbVNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIkkKEUFja01lc3NhZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEhwKCm1lc3NhZ2VfaWQYAiABKAlCCLpIBXIDsAEBIhQKEkFja01lc3NhZ2VSZXNwb25zZSLrAQoVU3RyZWFtU2Vzc2lvblJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARI7CgZvdXRwdXQYAiABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAMgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBCABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2Ui1AIKEVJ1blNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEjsKC3RyYW5zbWl0dGVyGAIgASgJQiG6SB5yHBABGGQyFl5bYS16QS1aMC05Xy1dezEsMTAwfSRIAIgBARKDAQoHc2lnbmFscxgDIAMoCzJBLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKSIiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCoDyAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyIrECChJSdW5TZXNzaW9uUmVzcG9uc2USFAoCaWQYASABKAlCCLpIBXIDsAEBEkcKB3N0YXJ0ZWQYAiABKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UiYAoRUnVuU2Vzc2lvblN0YXJ0ZWQSDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyIrChFSdW5Jbmhlcml0UmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AyKzAgoSUnVuSW5oZXJpdFJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARJJCglpbmhlcml0ZWQYAiABKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFN0YXJ0ZWRIABI7CgZvdXRwdXQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAQgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBSABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UiYAoRUnVuSW5oZXJpdFN0YXJ0ZWQSDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyrIAQoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEhIKDlNUQVRVU19SVU5OSU5HEAESEgoOU1RBVFVTX1NUT1BQRUQQAhITCg9TVEFUVVNfU1RPUFBJTkcQAxIUChBTVEFUVVNfQ09NUExFVEVEEAQSEgoOU1RBVFVTX0VYUElSRUQQBRISCg5TVEFUVVNfRVJST1JFRBAGEhUKEVNUQVRVU19ERUxFR0FUSU5HEAcSFAoQU1RBVFVTX0RFTEVHQVRFRBAIMtUOChFBdXRvbWF0aW9uU2VydmljZRKuAQoMU3RhcnRTZXNzaW9uEjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhcnRTZXNzaW9uUmVzcG9uc2UiLYLT5JMCJzoBKiIiL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9zdGFydBKiAQoLU3RvcFNlc3Npb24SNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RvcFNlc3Npb25SZXF1ZXN0GjYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0b3BTZXNzaW9uUmVzcG9uc2UiJILT5JMCHiocL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbhK2AQoOSW5oZXJpdFNlc3Npb24SOC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuSW5oZXJpdFNlc3Npb25SZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkluaGVyaXRTZXNzaW9uUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9pbmhlcml0Ep8BCgpHZXRTZXNzaW9uEjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkdldFNlc3Npb25SZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkdldFNlc3Npb25SZXNwb25zZSIkgtPkkwIeEhwvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uEqYBCgpSZWFkT3V0cHV0EjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRPdXRwdXRSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRPdXRwdXRSZXNwb25zZSIrgtPkkwIlEiMvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL291dHB1dBKeAQoIUmVhZFVybHMSMi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUmVhZFVybHNSZXF1ZXN0GjMubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRVcmxzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi91cmxzErEBCg1TdHJlYW1TZXNzaW9uEjcubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0cmVhbVNlc3Npb25SZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0cmVhbVNlc3Npb25SZXNwb25zZSIrgtPkkwIlEiMvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL3N0cmVhbTABEqYBCgpBY2tNZXNzYWdlEjQubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkFja01lc3NhZ2VSZXF1ZXN0GjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkFja01lc3NhZ2VSZXNwb25zZSIrgtPkkwIlOgEqIiAvdjEvYXV0b21hdGlvbnMve2lkfS9zZXNzaW9uL2FjaxKoAQoKUnVuU2Vzc2lvbhI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9ydW4wARKwAQoKUnVuSW5oZXJpdBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0UmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9ydW4taW5oZXJpdDABGokBykEWYWRhcHQubW9jaGFidWdhcGlzLmNvbdJBbWh0dHBzOi8vd3d3Lm1vY2hhYnVnYXBpcy5jb20vYXV0aC9hZGFwdC5hdXRvbWF0aW9ucyxodHRwczovL3d3dy5tb2NoYWJ1Z2FwaXMuY29tL2F1dGgvYWRhcHQuYXV0b21hdGlvbnMuc3RhcnRiBnByb3RvMw",[d,Be,Ye,et,Y]),Fa=G(r,0),xa=G(r,1),Ma=G(r,2),Ea=G(r,3),fa=G(r,4),Ha=G(r,5),va=G(r,6),za=G(r,7),Ka=G(r,8),Na=G(r,9),Qa=G(r,10),La=G(r,11),ka=G(r,12),Ua=G(r,13),wa=G(r,14),Da=G(r,15),Ta=G(r,16),ja=G(r,17),Pa=G(r,18),Oa=G(r,19),_a=G(r,20),qa=G(r,21),$a=G(r,22),eo=G(r,23),no=G(r,24),nt=(a=>(a[a.UNSPECIFIED=0]="UNSPECIFIED",a[a.RUNNING=1]="RUNNING",a[a.STOPPED=2]="STOPPED",a[a.STOPPING=3]="STOPPING",a[a.COMPLETED=4]="COMPLETED",a[a.EXPIRED=5]="EXPIRED",a[a.ERRORED=6]="ERRORED",a[a.DELEGATING=7]="DELEGATING",a[a.DELEGATED=8]="DELEGATED",a))(nt||{}),to=_n(r,0),so=$n(r,0);var p=tt("CjRtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9leGVjdXRvcl9zZXJ2aWNlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MSK+AQolRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAi7gEKJkV4ZWN1dG9yU2VydmljZUJhdGNoV3JpdGVTdG9yZVJlc3BvbnNlEmUKCG1ldGFkYXRhGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIrYBCiBFeGVjdXRvclNlcnZpY2VXcml0ZVN0b3JlUmVxdWVzdBJLCglvcGVyYXRpb24YASABKAsyOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbFdyaXRlT3BlcmF0aW9uEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAidQohRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKPAQokRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0EiAKBGtleXMYASADKAlCErpID5IBDAgBEJBOIgVyAxiAIBJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIt4BCiVFeGVjdXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEl4KBWl0ZW1zGAEgAygLMk8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5GlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBIq4BCiFFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QSQgoJb3BlcmF0aW9uGAEgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU2VsZWN0T3BCBrpIA8gBARJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIoACCiJFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlElsKBWl0ZW1zGAEgAygLMkwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5EhcKCm5leHRfdG9rZW4YAiABKAlIAIgBARpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4AUINCgtfbmV4dF90b2tlbiI2Ch5DYW5jZWxFeGNoYW5nZU9wZXJhdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDsAEBIiEKH0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2UiMwobR2V0RXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyA7ABASJeChxHZXRFeGNoYW5nZU9wZXJhdGlvblJlc3BvbnNlEj4KBGl0ZW0YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbiL3AgoXRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBI8CghyZWNlaXZlchgCIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEoUBCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QuU2lnbmFsc0VudHJ5Qi+6SCyaASkIABAyIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQgsKCV9yZWNlaXZlciJfChhEaXNwYXRjaEV4Y2hhbmdlUmVzcG9uc2USQwoJb3BlcmF0aW9uGAEgASgLMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VPcGVyYXRpb24irQIKC1NlbmRSZXF1ZXN0Ej0KC3RyYW5zbWl0dGVyGAEgASgJQiO6SCByHhhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEnkKB3NpZ25hbHMYAiADKAsyNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKQgAEDIiI3IhEAEYgAQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyIg4KDFNlbmRSZXNwb25zZSJhChxCYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXF1ZXN0EkEKBW5hbWVzGAEgAygJQjK6SC+SASwIARD0AxgBIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCLdAQodQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVzcG9uc2USVgoFaXRlbXMYASADKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXNwb25zZS5JdGVtc0VudHJ5EhAKCHJlY2VpdmVyGAIgASgJGlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBIqgBChhMaXN0QWN0aXZlU2lnbmFsc1JlcXVlc3QSIAoJcGFnZV9zaXplGAEgASgFQgi6SAUaAxj0A0gAiAEBEh0KBmN1cnNvchgCIAEoCUIIukgFcgMY9ANIAYgBARIdChBvcmRlcl9kZXNjZW5kaW5nGAMgASgISAKIAQFCDAoKX3BhZ2Vfc2l6ZUIJCgdfY3Vyc29yQhMKEV9vcmRlcl9kZXNjZW5kaW5nIoUCChlMaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlElYKB3NpZ25hbHMYASADKAsyRS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlLlNpZ25hbHNFbnRyeRIQCghyZWNlaXZlchgCIAEoCRIYCgtuZXh0X2N1cnNvchgDIAEoCUgAiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX25leHRfY3Vyc29yImsKJUV4ZWN1dG9yU2VydmljZUdldFZlcnRleENvbmZpZ1JlcXVlc3QSMwoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAIgBAUINCgtfZmllbGRfbWFzayKrAgomRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2USDgoGY29uZmlnGAEgASgMEjoKCG1ldGFkYXRhGAIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlZlcnRleE1ldGFkYXRhEnoKE2NvbmZpZ3VyZWRfc2VydmljZXMYAyADKAsyXS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImgKEUV4Y2hhbmdlT3BlcmF0aW9uEgwKBG5hbWUYASABKAkSCgoCaWQYAiABKAkSOQoGc3RhdHVzGAMgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXR1czLKDAoPRXhlY3V0b3JTZXJ2aWNlEp4BCg9HZXRWZXJ0ZXhDb25maWcSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2UShgEKEUxpc3RBY3RpdmVTaWduYWxzEjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZRKSAQoVQmF0Y2hHZXRBY3RpdmVTaWduYWxzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlEl8KBFNlbmQSKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdBorLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNlbmRSZXNwb25zZRKDAQoQRGlzcGF0Y2hFeGNoYW5nZRI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRpc3BhdGNoRXhjaGFuZ2VSZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlc3BvbnNlEo8BChRHZXRFeGNoYW5nZU9wZXJhdGlvbhI6Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVxdWVzdBo7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2USmAEKF0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXNwb25zZRKPAQoKV3JpdGVTdG9yZRI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkV4ZWN1dG9yU2VydmljZVdyaXRlU3RvcmVSZXF1ZXN0GkAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEp4BCg9CYXRjaFdyaXRlU3RvcmUSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USmwEKDkJhdGNoUmVhZFN0b3JlEkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZRKSAQoLU2VsZWN0U3RvcmUSQC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QaQS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlYgZwcm90bzM",[d,at,r,Y,j,I]),po=h(p,0),uo=h(p,1),Go=h(p,2),bo=h(p,3),ho=h(p,4),Zo=h(p,5),Io=h(p,6),yo=h(p,7),Ao=h(p,8),So=h(p,9),Vo=h(p,10),Ro=h(p,11),Xo=h(p,12),Wo=h(p,13),Jo=h(p,14),Bo=h(p,15),Co=h(p,16),Yo=h(p,17),Fo=h(p,18),xo=h(p,19),Mo=h(p,20),Eo=h(p,21),fo=h(p,22),me=st(p,0);import{fileDesc as ot,messageDesc as J,serviceDesc as gt}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_struct as ct,file_google_protobuf_timestamp as it}from"@bufbuild/protobuf/wkt";var X=ot("CjJtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9wbHVnaW5fc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiGgoYR2V0U3lzdGVtU2VydmljZXNSZXF1ZXN0IsUBChlHZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlEm0KE2NvbmZpZ3VyZWRfc2VydmljZXMYASADKAsyUC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlLkNvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5GjkKF0NvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiMgoQQXV0aG9yaXplUmVxdWVzdBIeCgxhY2Nlc3NfdG9rZW4YASABKAlCCLpIBXIDGJBOIhMKEUF1dGhvcml6ZVJlc3BvbnNlIoABCh5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQiwQEKH0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzUmVzcG9uc2USWAoFaXRlbXMYASADKAsySS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1Jlc3BvbnNlLkl0ZW1zRW50cnkaRAoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6AjgBIn4KHEJhdGNoR2V0VXNlclZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQivQEKHUJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlElYKBWl0ZW1zGAEgAygLMkcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVzcG9uc2UuSXRlbXNFbnRyeRpECgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEiewoZQmF0Y2hHZXRVc2VyVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLFAQoaQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USUwoFaXRlbXMYASADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXNwb25zZS5JdGVtc0VudHJ5GlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVG9rZW46AjgBIn0KG0JhdGNoR2V0U3lzdGVtVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLJAQocQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZRJVCgVpdGVtcxgBIAMoCzJGLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVG9rZW5zUmVzcG9uc2UuSXRlbXNFbnRyeRpSCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRva2VuOgI4ASJfCgVUb2tlbhIMCgRuYW1lGAEgASgJEg0KBXRva2VuGAIgASgJEgwKBHR5cGUYAyABKAkSKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAy1gYKDVBsdWdpblNlcnZpY2USbgoJQXV0aG9yaXplEi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQXV0aG9yaXplUmVxdWVzdBowLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkF1dGhvcml6ZVJlc3BvbnNlEoYBChFHZXRTeXN0ZW1TZXJ2aWNlcxI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVzcG9uc2USmAEKF0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXNwb25zZRKSAQoVQmF0Y2hHZXRVc2VyVmFyaWFibGVzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlEokBChJCYXRjaEdldFVzZXJUb2tlbnMSOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USjwEKFEJhdGNoR2V0U3lzdGVtVG9rZW5zEjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXF1ZXN0GjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZWIGcHJvdG8z",[d,ct,it]),No=J(X,0),Qo=J(X,1),Lo=J(X,2),ko=J(X,3),Uo=J(X,4),wo=J(X,5),Do=J(X,6),To=J(X,7),jo=J(X,8),Po=J(X,9),Oo=J(X,10),_o=J(X,11),qo=J(X,12),Fe=gt(X,0);import{enumDesc as U,fileDesc as lt,messageDesc as i,serviceDesc as dt}from"@bufbuild/protobuf/codegenv2";var o=lt("CjVtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9maWxlZm9yZ2Vfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi+wEKFVJlbmRlckRvY3VtZW50UmVxdWVzdBI/CgtodG1sX3RvX3BkZhgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxUb1BkZkgAEkcKD21hcmtkb3duX3RvX3BkZhgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hcmtkb3duVG9QZGZIABJDCg1vZmZpY2VfdG9fcGRmGAMgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuT2ZmaWNlVG9QZGZIAEITCgpjb252ZXJzaW9uEgW6SAIIASJOChZSZW5kZXJEb2N1bWVudFJlc3BvbnNlEjQKBm91dHB1dBgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhIvoCCglIdG1sVG9QZGYSIAoKaW5kZXhfaHRtbBgBIAEoCUIMukgJcgcQARiAgIAFEiMKC2hlYWRlcl9odG1sGAIgASgJQgm6SAZyBBiAgEBIAIgBARIjCgtmb290ZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASAGIAQESPgoGYXNzZXRzGAQgAygLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCCLpIBZIBAhBkEkUKBnJlbmRlchgKIAEoCzIwLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxSZW5kZXJPcHRpb25zSAKIAQESRAoGb3V0cHV0GAsgASgLMi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmT3V0cHV0T3B0aW9uc0gDiAEBQg4KDF9oZWFkZXJfaHRtbEIOCgxfZm9vdGVyX2h0bWxCCQoHX3JlbmRlckIJCgdfb3V0cHV0IskDCg1NYXJrZG93blRvUGRmEiEKDHdyYXBwZXJfaHRtbBgBIAEoCUILukgIcgYQARiAgEASSAoObWFya2Rvd25fZmlsZXMYAiADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAEQMhIjCgtoZWFkZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASACIAQESIwoLZm9vdGVyX2h0bWwYBCABKAlCCbpIBnIEGICAQEgBiAEBEj4KBmFzc2V0cxgFIAMoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQgi6SAWSAQIQZBJFCgZyZW5kZXIYCiABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5IdG1sUmVuZGVyT3B0aW9uc0gCiAEBEkQKBm91dHB1dBgLIAEoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk91dHB1dE9wdGlvbnNIA4gBAUIOCgxfaGVhZGVyX2h0bWxCDgoMX2Zvb3Rlcl9odG1sQgkKB19yZW5kZXJCCQoHX291dHB1dCKPBwoLT2ZmaWNlVG9QZGYS2gUKCGRvY3VtZW50GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCoQW6SJ0FugGWBQoYdmFsaWRfZG9jdW1lbnRfZXh0ZW5zaW9uEi1kb2N1bWVudCBtdXN0IGhhdmUgYSBzdXBwb3J0ZWQgZmlsZSBleHRlbnNpb24aygR0aGlzLmZpbGVuYW1lLm1hdGNoZXMoJyg/aSlcXC4oMTIzfDYwMnxhYnd8YmlifGJtcHxjZHJ8Y2dtfGNteHxjc3Z8Y3drfGRiZnxkaWZ8ZG9jfGRvY218ZG9jeHxkb3R8ZG90bXxkb3R4fGR4ZnxlbWZ8ZXBzfGVwdWJ8Zm9kZ3xmb2RwfGZvZHN8Zm9kdHxmb3BkfGdpZnxodG18aHRtbHxod3B8anBlZ3xqcGd8a2V5fGx0eHxsd3B8bWN3fG1ldHxtbWx8bXd8bnVtYmVyc3xvZGR8b2RnfG9kbXxvZHB8b2RzfG9kdHxvdGd8b3RofG90cHxvdHN8b3R0fHBhZ2VzfHBibXxwY2R8cGN0fHBjeHxwZGJ8cGRmfHBnbXxwbmd8cG90fHBvdG18cG90eHxwcG18cHBzfHBwdHxwcHRtfHBwdHh8cHNkfHBzd3xwdWJ8cHdwfHB4bHxyYXN8cnRmfHNkYXxzZGN8c2RkfHNkcHxzZHd8c2dsfHNsa3xzbWZ8c3RjfHN0ZHxzdGl8c3R3fHN2Z3xzdm18c3dmfHN4Y3xzeGR8c3hnfHN4aXxzeG18c3h3fHRnYXx0aWZ8dGlmZnx0eHR8dW9mfHVvcHx1b3N8dW90fHZkeHx2b3J8dnNkfHZzZG18dnNkeHx3YjJ8d2sxfHdrc3x3bWZ8d3BkfHdwZ3x3cHN8eGJtfHhodG1sfHhsc3x4bHNifHhsc218eGxzeHx4bHR8eGx0bXx4bHR4fHhsd3x4bWx8eHBtfHphYncpJCcpyAEBEkcKBnJlbmRlchgKIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk9mZmljZVJlbmRlck9wdGlvbnNIAIgBARJECgZvdXRwdXQYCyABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZPdXRwdXRPcHRpb25zSAGIAQFCCQoHX3JlbmRlckIJCgdfb3V0cHV0IqQMChFIdG1sUmVuZGVyT3B0aW9ucxIdChBwcmludF9iYWNrZ3JvdW5kGAEgASgISACIAQESHAoPb21pdF9iYWNrZ3JvdW5kGAIgASgISAGIAQESIQoUcHJlZmVyX2Nzc19wYWdlX3NpemUYAyABKAhIAogBARJSChNlbXVsYXRlZF9tZWRpYV90eXBlGAQgASgOMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRW11bGF0ZWRNZWRpYVR5cGVIA4gBARIkCgtwYXBlcl93aWR0aBgFIAEoAkIKukgHCgUlAAAAAEgEiAEBEiUKDHBhcGVyX2hlaWdodBgGIAEoAkIKukgHCgUlAAAAAEgFiAEBEiMKCm1hcmdpbl90b3AYByABKAJCCrpIBwoFLQAAAABIBogBARIlCgxtYXJnaW5fcmlnaHQYCCABKAJCCrpIBwoFLQAAAABIB4gBARImCg1tYXJnaW5fYm90dG9tGAkgASgCQgq6SAcKBS0AAAAASAiIAQESJAoLbWFyZ2luX2xlZnQYCiABKAJCCrpIBwoFLQAAAABICYgBARIWCglsYW5kc2NhcGUYCyABKAhICogBARIjCgVzY2FsZRgMIAEoAkIPukgMCgodAAAAQC3NzMw9SAuIAQESRwoLcGFnZV9yYW5nZXMYDSABKAlCLbpIKnIoMiZeWzAtOV0rKC1bMC05XSspPygsWzAtOV0rKC1bMC05XSspPykqJEgMiAEBEhgKC3NpbmdsZV9wYWdlGA4gASgISA2IAQESIAoTZ2VuZXJhdGVfdGFnZ2VkX3BkZhgPIAEoCEgOiAEBOqQFukigBRraAQoXbWFyZ2luc19maXRfcGFwZXJfd2lkdGgSMmxlZnQgKyByaWdodCBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIHdpZHRoGooBKCFoYXModGhpcy5wYXBlcl93aWR0aCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9sZWZ0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3JpZ2h0KSkgfHwgKHRoaXMubWFyZ2luX2xlZnQgKyB0aGlzLm1hcmdpbl9yaWdodCA8IHRoaXMucGFwZXJfd2lkdGgpGt4BChhtYXJnaW5zX2ZpdF9wYXBlcl9oZWlnaHQSM3RvcCArIGJvdHRvbSBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIGhlaWdodBqMASghaGFzKHRoaXMucGFwZXJfaGVpZ2h0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3RvcCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9ib3R0b20pKSB8fCAodGhpcy5tYXJnaW5fdG9wICsgdGhpcy5tYXJnaW5fYm90dG9tIDwgdGhpcy5wYXBlcl9oZWlnaHQpGt8BCilvbWl0X2JhY2tncm91bmRfcmVxdWlyZXNfcHJpbnRfYmFja2dyb3VuZBI0b21pdF9iYWNrZ3JvdW5kIHJlcXVpcmVzIHByaW50X2JhY2tncm91bmQgdG8gYmUgdHJ1ZRp8IWhhcyh0aGlzLm9taXRfYmFja2dyb3VuZCkgfHwgdGhpcy5vbWl0X2JhY2tncm91bmQgPT0gZmFsc2UgfHwgKGhhcyh0aGlzLnByaW50X2JhY2tncm91bmQpICYmIHRoaXMucHJpbnRfYmFja2dyb3VuZCA9PSB0cnVlKUITChFfcHJpbnRfYmFja2dyb3VuZEISChBfb21pdF9iYWNrZ3JvdW5kQhcKFV9wcmVmZXJfY3NzX3BhZ2Vfc2l6ZUIWChRfZW11bGF0ZWRfbWVkaWFfdHlwZUIOCgxfcGFwZXJfd2lkdGhCDwoNX3BhcGVyX2hlaWdodEINCgtfbWFyZ2luX3RvcEIPCg1fbWFyZ2luX3JpZ2h0QhAKDl9tYXJnaW5fYm90dG9tQg4KDF9tYXJnaW5fbGVmdEIMCgpfbGFuZHNjYXBlQggKBl9zY2FsZUIOCgxfcGFnZV9yYW5nZXNCDgoMX3NpbmdsZV9wYWdlQhYKFF9nZW5lcmF0ZV90YWdnZWRfcGRmItINChNPZmZpY2VSZW5kZXJPcHRpb25zEh8KCHBhc3N3b3JkGAEgASgJQgi6SAVyAxiAAkgAiAEBEhYKCWxhbmRzY2FwZRgCIAEoCEgBiAEBEkcKC3BhZ2VfcmFuZ2VzGAMgASgJQi26SCpyKDImXlswLTldKygtWzAtOV0rKT8oLFswLTldKygtWzAtOV0rKT8pKiRIAogBARIbCg51cGRhdGVfaW5kZXhlcxgEIAEoCEgDiAEBEh8KEmV4cG9ydF9mb3JtX2ZpZWxkcxgFIAEoCEgEiAEBEigKG2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lcxgGIAEoCEgFiAEBEh0KEGV4cG9ydF9ib29rbWFya3MYByABKAhIBogBARIwCiNleHBvcnRfYm9va21hcmtzX3RvX3BkZl9kZXN0aW5hdGlvbhgIIAEoCEgHiAEBEiAKE2V4cG9ydF9wbGFjZWhvbGRlcnMYCSABKAhICIgBARIZCgxleHBvcnRfbm90ZXMYCiABKAhICYgBARIfChJleHBvcnRfbm90ZXNfcGFnZXMYCyABKAhICogBARIkChdleHBvcnRfb25seV9ub3Rlc19wYWdlcxgMIAEoCEgLiAEBEiMKFmV4cG9ydF9ub3Rlc19pbl9tYXJnaW4YDSABKAhIDIgBARItCiBjb252ZXJ0X29vb190YXJnZXRfdG9fcGRmX3RhcmdldBgOIAEoCEgNiAEBEicKGmV4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzGA8gASgISA6IAQESIQoUZXhwb3J0X2hpZGRlbl9zbGlkZXMYECABKAhID4gBARIdChBza2lwX2VtcHR5X3BhZ2VzGBEgASgISBCIAQESHwoSc2luZ2xlX3BhZ2Vfc2hlZXRzGBIgASgISBGIAQESLAofYWRkX29yaWdpbmFsX2RvY3VtZW50X2FzX3N0cmVhbRgTIAEoCEgSiAEBEicKGmxvc3NsZXNzX2ltYWdlX2NvbXByZXNzaW9uGBQgASgISBOIAQESHwoHcXVhbGl0eRgVIAEoBUIJukgGGgQYZCgBSBSIAQESJAoXcmVkdWNlX2ltYWdlX3Jlc29sdXRpb24YFiABKAhIFYgBARI2ChRtYXhfaW1hZ2VfcmVzb2x1dGlvbhgXIAEoBUITukgQGg4wSzCWATCsAjDYBDCwCUgWiAEBOo8CukiLAhqIAgozZXhwb3J0X29ubHlfbm90ZXNfcGFnZXNfcmVxdWlyZXNfZXhwb3J0X25vdGVzX3BhZ2VzEj5leHBvcnRfb25seV9ub3Rlc19wYWdlcyByZXF1aXJlcyBleHBvcnRfbm90ZXNfcGFnZXMgdG8gYmUgdHJ1ZRqQASFoYXModGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcykgfHwgdGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcyA9PSBmYWxzZSB8fCAoaGFzKHRoaXMuZXhwb3J0X25vdGVzX3BhZ2VzKSAmJiB0aGlzLmV4cG9ydF9ub3Rlc19wYWdlcyA9PSB0cnVlKUILCglfcGFzc3dvcmRCDAoKX2xhbmRzY2FwZUIOCgxfcGFnZV9yYW5nZXNCEQoPX3VwZGF0ZV9pbmRleGVzQhUKE19leHBvcnRfZm9ybV9maWVsZHNCHgocX2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lc0ITChFfZXhwb3J0X2Jvb2ttYXJrc0ImCiRfZXhwb3J0X2Jvb2ttYXJrc190b19wZGZfZGVzdGluYXRpb25CFgoUX2V4cG9ydF9wbGFjZWhvbGRlcnNCDwoNX2V4cG9ydF9ub3Rlc0IVChNfZXhwb3J0X25vdGVzX3BhZ2VzQhoKGF9leHBvcnRfb25seV9ub3Rlc19wYWdlc0IZChdfZXhwb3J0X25vdGVzX2luX21hcmdpbkIjCiFfY29udmVydF9vb29fdGFyZ2V0X3RvX3BkZl90YXJnZXRCHQobX2V4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzQhcKFV9leHBvcnRfaGlkZGVuX3NsaWRlc0ITChFfc2tpcF9lbXB0eV9wYWdlc0IVChNfc2luZ2xlX3BhZ2Vfc2hlZXRzQiIKIF9hZGRfb3JpZ2luYWxfZG9jdW1lbnRfYXNfc3RyZWFtQh0KG19sb3NzbGVzc19pbWFnZV9jb21wcmVzc2lvbkIKCghfcXVhbGl0eUIaChhfcmVkdWNlX2ltYWdlX3Jlc29sdXRpb25CFwoVX21heF9pbWFnZV9yZXNvbHV0aW9uIosCChBQZGZPdXRwdXRPcHRpb25zEjwKBHBkZmEYASABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SACIAQESEgoFcGRmdWEYAiABKAhIAYgBARIUCgdmbGF0dGVuGAMgASgISAKIAQESJAoNdXNlcl9wYXNzd29yZBgEIAEoCUIIukgFcgMYgAFIA4gBARIlCg5vd25lcl9wYXNzd29yZBgFIAEoCUIIukgFcgMYgAFIBIgBAUIHCgVfcGRmYUIICgZfcGRmdWFCCgoIX2ZsYXR0ZW5CEAoOX3VzZXJfcGFzc3dvcmRCEQoPX293bmVyX3Bhc3N3b3JkIrAJCg5JbWFnZU9wZXJhdGlvbhI8CgZyZXNpemUYASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJlc2l6ZUgAEjgKBGNyb3AYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUNyb3BIABI8CgZyb3RhdGUYAyABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdGF0ZUgAEjgKBGZsaXAYBCABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZsaXBIABI2CgNwYWQYBSABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVBhZEgAEjgKBHRyaW0YBiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVRyaW1IABJECgpwcm9wb3J0aW9uGAcgASgLMi4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQcm9wb3J0aW9uSAASOgoFZm9jYWwYCCABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvY2FsSAASPAoGYWRqdXN0GAkgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VBZGp1c3RIABI2CgNodWUYCiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUh1ZUgAEjYKA3JnYhgLIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUmdiSAASOAoEYmx1chgMIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlQmx1ckgAEj4KB3NoYXJwZW4YDSABKAsyKy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVNoYXJwZW5IABJHCgxyb3VuZF9jb3JuZXIYDiABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdW5kQ29ybmVySAASQgoJd2F0ZXJtYXJrGA8gASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VXYXRlcm1hcmtIABI6CgVsYWJlbBgQIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlTGFiZWxIABJDCgptYXhfZnJhbWVzGBEgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VNYXhGcmFtZXNIABI4CgRwYWdlGBIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQYWdlSAASNgoDZHBpGBMgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VEcGlIAEISCglvcGVyYXRpb24SBbpIAggBIu0BChVUcmFuc2Zvcm1JbWFnZVJlcXVlc3QSOwoFaW5wdXQYASABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIGukgDyAEBEksKCm9wZXJhdGlvbnMYAiADKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZU9wZXJhdGlvbkIIukgFkgECEDISPwoGb3V0cHV0GB4gASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VPdXRwdXRIAIgBAUIJCgdfb3V0cHV0Ik4KFlRyYW5zZm9ybUltYWdlUmVzcG9uc2USNAoGb3V0cHV0GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGEinQMKC0ltYWdlUmVzaXplEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoEdHlwZRgDIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlc2l6ZVR5cGVIAogBARIUCgdlbmxhcmdlGAQgASgISAOIAQESEwoGZXh0ZW5kGAUgASgISASIAQE6rgG6SKoBGqcBChFyZXF1aXJlX2RpbWVuc2lvbhJEYXQgbGVhc3Qgb25lIG9mIHdpZHRoIG9yIGhlaWdodCBtdXN0IGJlIHNwZWNpZmllZCBhbmQgZ3JlYXRlciB0aGFuIDAaTChoYXModGhpcy53aWR0aCkgJiYgdGhpcy53aWR0aCA+IDApIHx8IChoYXModGhpcy5oZWlnaHQpICYmIHRoaXMuaGVpZ2h0ID4gMClCCAoGX3dpZHRoQgkKB19oZWlnaHRCBwoFX3R5cGVCCgoIX2VubGFyZ2VCCQoHX2V4dGVuZCKdAgoJSW1hZ2VDcm9wEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoHZ3Jhdml0eRgDIAEoDjImLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdyYXZpdHlIAogBARIqCghvZmZzZXRfeBgEIAEoBUITukgQGg4YkE4o8LH/////////AUgDiAEBEioKCG9mZnNldF95GAUgASgFQhO6SBAaDhiQTijwsf////////8BSASIAQFCCAoGX3dpZHRoQgkKB19oZWlnaHRCCgoIX2dyYXZpdHlCCwoJX29mZnNldF94QgsKCV9vZmZzZXRfeSJmCgtJbWFnZVJvdGF0ZRIjCgVhbmdsZRgBIAEoBUIPukgMGgowADBaMLQBMI4CSACIAQESGAoLYXV0b19yb3RhdGUYAiABKAhIAYgBAUIICgZfYW5nbGVCDgoMX2F1dG9fcm90YXRlIpICCglJbWFnZUZsaXASFwoKaG9yaXpvbnRhbBgBIAEoCEgAiAEBEhUKCHZlcnRpY2FsGAIgASgISAGIAQE6uAG6SLQBGrEBChZyZXF1aXJlX2ZsaXBfZGlyZWN0aW9uEjNhdCBsZWFzdCBvbmUgb2YgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBtdXN0IGJlIHRydWUaYihoYXModGhpcy5ob3Jpem9udGFsKSAmJiB0aGlzLmhvcml6b250YWwgPT0gdHJ1ZSkgfHwgKGhhcyh0aGlzLnZlcnRpY2FsKSAmJiB0aGlzLnZlcnRpY2FsID09IHRydWUpQg0KC19ob3Jpem9udGFsQgsKCV92ZXJ0aWNhbCKVAwoISW1hZ2VQYWQSGQoDdG9wGAEgASgFQge6SAQaAigASACIAQESGwoFcmlnaHQYAiABKAVCB7pIBBoCKABIAYgBARIcCgZib3R0b20YAyABKAVCB7pIBBoCKABIAogBARIaCgRsZWZ0GAQgASgFQge6SAQaAigASAOIAQE68AG6SOwBGukBCg9yZXF1aXJlX3BhZGRpbmcSP2F0IGxlYXN0IG9uZSBwYWRkaW5nIHZhbHVlIG11c3QgYmUgc3BlY2lmaWVkIGFuZCBncmVhdGVyIHRoYW4gMBqUAShoYXModGhpcy50b3ApICYmIHRoaXMudG9wID4gMCkgfHwgKGhhcyh0aGlzLnJpZ2h0KSAmJiB0aGlzLnJpZ2h0ID4gMCkgfHwgKGhhcyh0aGlzLmJvdHRvbSkgJiYgdGhpcy5ib3R0b20gPiAwKSB8fCAoaGFzKHRoaXMubGVmdCkgJiYgdGhpcy5sZWZ0ID4gMClCBgoEX3RvcEIICgZfcmlnaHRCCQoHX2JvdHRvbUIHCgVfbGVmdCLFAQoJSW1hZ2VUcmltEicKCXRocmVzaG9sZBgBIAEoAkIPukgMCgodAACAPy0AAAAASACIAQESKwoFY29sb3IYAiABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQESFgoJZXF1YWxfaG9yGAMgASgISAKIAQESFgoJZXF1YWxfdmVyGAQgASgISAOIAQFCDAoKX3RocmVzaG9sZEIICgZfY29sb3JCDAoKX2VxdWFsX2hvckIMCgpfZXF1YWxfdmVyIs8DCgtJbWFnZUFkanVzdBIsCgpicmlnaHRuZXNzGAEgASgFQhO6SBAaDhj/ASiB/v////////8BSACIAQESJgoIY29udHJhc3QYAiABKAJCD7pIDAoKHQAAIEEtAAAAAEgBiAEBEigKCnNhdHVyYXRpb24YAyABKAJCD7pIDAoKHQAAIEEtAAAAAEgCiAEBEhYKCWdyYXlzY2FsZRgEIAEoCEgDiAEBOu4BukjqARrnAQoScmVxdWlyZV9hZGp1c3RtZW50ElphdCBsZWFzdCBvbmUgYWRqdXN0bWVudCAoYnJpZ2h0bmVzcywgY29udHJhc3QsIHNhdHVyYXRpb24sIG9yIGdyYXlzY2FsZSkgbXVzdCBiZSBzcGVjaWZpZWQadWhhcyh0aGlzLmJyaWdodG5lc3MpIHx8IGhhcyh0aGlzLmNvbnRyYXN0KSB8fCBoYXModGhpcy5zYXR1cmF0aW9uKSB8fCAoaGFzKHRoaXMuZ3JheXNjYWxlKSAmJiB0aGlzLmdyYXlzY2FsZSA9PSB0cnVlKUINCgtfYnJpZ2h0bmVzc0ILCglfY29udHJhc3RCDQoLX3NhdHVyYXRpb25CDAoKX2dyYXlzY2FsZSIrCglJbWFnZUJsdXISHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCgxJbWFnZVNoYXJwZW4SHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCghJbWFnZUh1ZRIiCgVhbmdsZRgBIAEoBUITukgQGg4YtAEozP7/////////ASJnCghJbWFnZVJnYhIdCgFyGAEgASgFQhK6SA8aDRhkKJz//////////wESHQoBZxgCIAEoBUISukgPGg0YZCic//////////8BEh0KAWIYAyABKAVCErpIDxoNGGQonP//////////ASKbAQoKSW1hZ2VGb2NhbBI8CgZyZWdpb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Gb2NhbFJlZ2lvbkgAEjoKBXBvaW50GAIgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRm9jYWxQb2ludEgAQhMKCmZvY2FsX3R5cGUSBbpIAggBIkcKC0ZvY2FsUmVnaW9uEgwKBGxlZnQYASABKAUSCwoDdG9wGAIgASgFEg0KBXJpZ2h0GAMgASgFEg4KBmJvdHRvbRgEIAEoBSIiCgpGb2NhbFBvaW50EgkKAXgYASABKAUSCQoBeRgCIAEoBSJ/ChBJbWFnZVJvdW5kQ29ybmVyEhMKAnJ4GAEgASgFQge6SAQaAiAAEhgKAnJ5GAIgASgFQge6SAQaAiAASACIAQESKwoFY29sb3IYAyABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQFCBQoDX3J5QggKBl9jb2xvciIxCg9JbWFnZVByb3BvcnRpb24SHgoKcGVyY2VudGFnZRgBIAEoBUIKukgHGgUY9AMoASLJAQoKSW1hZ2VMYWJlbBIYCgR0ZXh0GAEgASgJQgq6SAdyBRABGOgHEgkKAXgYAiABKAUSCQoBeRgDIAEoBRIYCgRzaXplGAQgASgFQgq6SAcaBRjoBygBEiYKBWNvbG9yGAUgASgJQhe6SBRyEjIQXlswLTlhLWZBLUZdezZ9JBIjCgVhbHBoYRgGIAEoAkIPukgMCgodAACAPy0AAAAASACIAQESEQoEZm9udBgHIAEoCUgBiAEBQggKBl9hbHBoYUIHCgVfZm9udCInCg5JbWFnZU1heEZyYW1lcxIVCgFuGAEgASgFQgq6SAcaBRjoBygBIiEKCUltYWdlUGFnZRIUCgNudW0YASABKAVCB7pIBBoCKAEiIwoISW1hZ2VEcGkSFwoDbnVtGAEgASgFQgq6SAcaBRjgEigBIugCCg5JbWFnZVdhdGVybWFyaxI7CgVpbWFnZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESPQoIcG9zaXRpb24YAiABKA4yJi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HcmF2aXR5SACIAQESKgoIb2Zmc2V0X3gYAyABKAVCE7pIEBoOGJBOKPCx/////////wFIAYgBARIqCghvZmZzZXRfeRgEIAEoBUITukgQGg4YkE4o8LH/////////AUgCiAEBEiUKB29wYWNpdHkYBSABKAJCD7pIDAoKHQAAgD8tAAAAAEgDiAEBEh4KBXNjYWxlGAYgASgCQgq6SAcKBSUAAAAASASIAQFCCwoJX3Bvc2l0aW9uQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCCgoIX29wYWNpdHlCCAoGX3NjYWxlIroECgtJbWFnZU91dHB1dBI/CgZmb3JtYXQYASABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvcm1hdEgAiAEBEh8KB3F1YWxpdHkYAiABKAVCCbpIBhoEGGQoAUgBiAEBEhsKDnN0cmlwX21ldGFkYXRhGAMgASgISAKIAQESMAoKYmFja2dyb3VuZBgEIAEoCUIXukgUchIyEF5bMC05YS1mQS1GXXs2fSRIA4gBARIuChBiYWNrZ3JvdW5kX2FscGhhGAUgASgCQg+6SAwKCh0AAIA/LQAAAABIBIgBARInCg9wbmdfY29tcHJlc3Npb24YBiABKAVCCbpIBhoEGAkoAEgFiAEBEhsKDnBuZ19pbnRlcmxhY2VkGAcgASgISAaIAQESHQoQanBlZ19wcm9ncmVzc2l2ZRgIIAEoCEgHiAEBEhoKDXdlYnBfbG9zc2xlc3MYCSABKAhICIgBARIfCgltYXhfYnl0ZXMYCiABKAVCB7pIBBoCIABICYgBAUIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QhEKD19zdHJpcF9tZXRhZGF0YUINCgtfYmFja2dyb3VuZEITChFfYmFja2dyb3VuZF9hbHBoYUISChBfcG5nX2NvbXByZXNzaW9uQhEKD19wbmdfaW50ZXJsYWNlZEITChFfanBlZ19wcm9ncmVzc2l2ZUIQCg5fd2VicF9sb3NzbGVzc0IMCgpfbWF4X2J5dGVzItgCChRNYW5pcHVsYXRlUGRmUmVxdWVzdBI4CgVtZXJnZRgBIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk1lcmdlSAASOAoFc3BsaXQYAiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZTcGxpdEgAEjwKB2VuY3J5cHQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZFbmNyeXB0SAASPAoHY29udmVydBgEIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkNvbnZlcnRIABI8CgdmbGF0dGVuGAUgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmRmxhdHRlbkgAQhIKCW9wZXJhdGlvbhIFukgCCAEiTgoVTWFuaXB1bGF0ZVBkZlJlc3BvbnNlEjUKB291dHB1dHMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YSLEAgoIUGRmTWVyZ2USPwoFZmlsZXMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAIQZBI8CgRwZGZhGAIgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgAiAEBEhIKBXBkZnVhGAMgASgISAGIAQESFAoHZmxhdHRlbhgEIAEoCEgCiAEBEiQKDXVzZXJfcGFzc3dvcmQYBSABKAlCCLpIBXIDGIABSAOIAQESJQoOb3duZXJfcGFzc3dvcmQYBiABKAlCCLpIBXIDGIABSASIAQFCBwoFX3BkZmFCCAoGX3BkZnVhQgoKCF9mbGF0dGVuQhAKDl91c2VyX3Bhc3N3b3JkQhEKD19vd25lcl9wYXNzd29yZCK5AwoIUGRmU3BsaXQSOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESQAoEbW9kZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNwbGl0TW9kZUIIukgFggECIAASGAoEc3BhbhgDIAEoCUIKukgHcgUQARjoBxISCgV1bmlmeRgEIAEoCEgAiAEBEjwKBHBkZmEYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SAGIAQESEgoFcGRmdWEYBiABKAhIAogBARIUCgdmbGF0dGVuGAcgASgISAOIAQESJAoNdXNlcl9wYXNzd29yZBgIIAEoCUIIukgFcgMYgAFIBIgBARIlCg5vd25lcl9wYXNzd29yZBgJIAEoCUIIukgFcgMYgAFIBYgBAUIICgZfdW5pZnlCBwoFX3BkZmFCCAoGX3BkZnVhQgoKCF9mbGF0dGVuQhAKDl91c2VyX3Bhc3N3b3JkQhEKD19vd25lcl9wYXNzd29yZCKlAQoKUGRmRW5jcnlwdBI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARIhCg11c2VyX3Bhc3N3b3JkGAIgASgJQgq6SAdyBRABGIABEiUKDm93bmVyX3Bhc3N3b3JkGAMgASgJQgi6SAVyAxiAAUgAiAEBQhEKD19vd25lcl9wYXNzd29yZCLOAgoKUGRmQ29udmVydBI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARI8CgRwZGZhGAIgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgAiAEBEhIKBXBkZnVhGAMgASgISAGIAQE6ngG6SJoBGpcBChlyZXF1aXJlX2NvbnZlcnNpb25fb3B0aW9uEi9hdCBsZWFzdCBvbmUgb2YgcGRmYSBvciBwZGZ1YSBtdXN0IGJlIHNwZWNpZmllZBpJaGFzKHRoaXMucGRmYSkgJiYgdGhpcy5wZGZhICE9IDAgfHwgaGFzKHRoaXMucGRmdWEpICYmIHRoaXMucGRmdWEgPT0gdHJ1ZUIHCgVfcGRmYUIICgZfcGRmdWEiSAoKUGRmRmxhdHRlbhI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBASp3ChFFbXVsYXRlZE1lZGlhVHlwZRIjCh9FTVVMQVRFRF9NRURJQV9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaRU1VTEFURURfTUVESUFfVFlQRV9TQ1JFRU4QARIdChlFTVVMQVRFRF9NRURJQV9UWVBFX1BSSU5UEAIqaQoKUGRmQUZvcm1hdBIcChhQREZfQV9GT1JNQVRfVU5TUEVDSUZJRUQQABITCg9QREZfQV9GT1JNQVRfMUIQARITCg9QREZfQV9GT1JNQVRfMkIQAhITCg9QREZfQV9GT1JNQVRfM0IQAyqcAQoKUmVzaXplVHlwZRIbChdSRVNJWkVfVFlQRV9VTlNQRUNJRklFRBAAEhMKD1JFU0laRV9UWVBFX0ZJVBABEhQKEFJFU0laRV9UWVBFX0ZJTEwQAhIZChVSRVNJWkVfVFlQRV9GSUxMX0RPV04QAxIVChFSRVNJWkVfVFlQRV9GT1JDRRAEEhQKEFJFU0laRV9UWVBFX0FVVE8QBSrzAQoHR3Jhdml0eRIXChNHUkFWSVRZX1VOU1BFQ0lGSUVEEAASEgoOR1JBVklUWV9DRU5URVIQARIRCg1HUkFWSVRZX05PUlRIEAISEQoNR1JBVklUWV9TT1VUSBADEhAKDEdSQVZJVFlfRUFTVBAEEhAKDEdSQVZJVFlfV0VTVBAFEhYKEkdSQVZJVFlfTk9SVEhfRUFTVBAGEhYKEkdSQVZJVFlfTk9SVEhfV0VTVBAHEhYKEkdSQVZJVFlfU09VVEhfRUFTVBAIEhYKEkdSQVZJVFlfU09VVEhfV0VTVBAJEhEKDUdSQVZJVFlfU01BUlQQCirfAQoLSW1hZ2VGb3JtYXQSHAoYSU1BR0VfRk9STUFUX1VOU1BFQ0lGSUVEEAASFQoRSU1BR0VfRk9STUFUX0pQRUcQARIUChBJTUFHRV9GT1JNQVRfUE5HEAISFQoRSU1BR0VfRk9STUFUX1dFQlAQAxIVChFJTUFHRV9GT1JNQVRfQVZJRhAEEhQKEElNQUdFX0ZPUk1BVF9HSUYQBRIVChFJTUFHRV9GT1JNQVRfVElGRhAGEhQKEElNQUdFX0ZPUk1BVF9CTVAQBxIUChBJTUFHRV9GT1JNQVRfSUNPEAgqVwoJU3BsaXRNb2RlEhoKFlNQTElUX01PREVfVU5TUEVDSUZJRUQQABIYChRTUExJVF9NT0RFX0lOVEVSVkFMUxABEhQKEFNQTElUX01PREVfUEFHRVMQAjKMAwoQRmlsZUZvcmdlU2VydmljZRJ9Cg5SZW5kZXJEb2N1bWVudBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlbmRlckRvY3VtZW50UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlbmRlckRvY3VtZW50UmVzcG9uc2USfQoOVHJhbnNmb3JtSW1hZ2USNC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UcmFuc2Zvcm1JbWFnZVJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UcmFuc2Zvcm1JbWFnZVJlc3BvbnNlEnoKDU1hbmlwdWxhdGVQZGYSMy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5NYW5pcHVsYXRlUGRmUmVxdWVzdBo0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hbmlwdWxhdGVQZGZSZXNwb25zZWIGcHJvdG8z",[d,Y]),sg=i(o,0),ag=i(o,1),xe=i(o,2),Me=i(o,3),Ee=i(o,4),og=i(o,5),gg=i(o,6),cg=i(o,7),ig=i(o,8),fe=i(o,9),lg=i(o,10),dg=i(o,11),mg=i(o,12),rg=i(o,13),pg=i(o,14),ug=i(o,15),Gg=i(o,16),bg=i(o,17),hg=i(o,18),Zg=i(o,19),Ig=i(o,20),yg=i(o,21),Ag=i(o,22),Sg=i(o,23),Vg=i(o,24),Rg=i(o,25),Xg=i(o,26),Wg=i(o,27),Jg=i(o,28),Bg=i(o,29),Cg=i(o,30),Yg=i(o,31),Fg=i(o,32),xg=i(o,33),Mg=i(o,34),He=i(o,35),ve=i(o,36),ze=i(o,37),Ke=i(o,38),Ne=i(o,39),mt=(t=>(t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SCREEN=1]="SCREEN",t[t.PRINT=2]="PRINT",t))(mt||{}),Eg=U(o,0),rt=(s=>(s[s.PDF_A_FORMAT_UNSPECIFIED=0]="PDF_A_FORMAT_UNSPECIFIED",s[s.PDF_A_FORMAT_1B=1]="PDF_A_FORMAT_1B",s[s.PDF_A_FORMAT_2B=2]="PDF_A_FORMAT_2B",s[s.PDF_A_FORMAT_3B=3]="PDF_A_FORMAT_3B",s))(rt||{}),fg=U(o,1),pt=(m=>(m[m.UNSPECIFIED=0]="UNSPECIFIED",m[m.FIT=1]="FIT",m[m.FILL=2]="FILL",m[m.FILL_DOWN=3]="FILL_DOWN",m[m.FORCE=4]="FORCE",m[m.AUTO=5]="AUTO",m))(pt||{}),Hg=U(o,2),ut=(c=>(c[c.UNSPECIFIED=0]="UNSPECIFIED",c[c.CENTER=1]="CENTER",c[c.NORTH=2]="NORTH",c[c.SOUTH=3]="SOUTH",c[c.EAST=4]="EAST",c[c.WEST=5]="WEST",c[c.NORTH_EAST=6]="NORTH_EAST",c[c.NORTH_WEST=7]="NORTH_WEST",c[c.SOUTH_EAST=8]="SOUTH_EAST",c[c.SOUTH_WEST=9]="SOUTH_WEST",c[c.SMART=10]="SMART",c))(ut||{}),vg=U(o,3),Gt=(a=>(a[a.UNSPECIFIED=0]="UNSPECIFIED",a[a.JPEG=1]="JPEG",a[a.PNG=2]="PNG",a[a.WEBP=3]="WEBP",a[a.AVIF=4]="AVIF",a[a.GIF=5]="GIF",a[a.TIFF=6]="TIFF",a[a.BMP=7]="BMP",a[a.ICO=8]="ICO",a))(Gt||{}),zg=U(o,4),Qe=(t=>(t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INTERVALS=1]="INTERVALS",t[t.PAGES=2]="PAGES",t))(Qe||{}),Kg=U(o,5),Le=dt(o,0);import{Code as W,ConnectError as B,createContextValues as ke}from"@connectrpc/connect";import{compressedFlag as Ue,createClientMethodSerializers as we,createEnvelopeReadableStream as re,createMethodUrl as De,encodeEnvelope as Te,runStreamingCall as bt,runUnaryCall as ht}from"@connectrpc/connect/protocol";import{headerGrpcStatus as je,requestHeader as Pe,trailerFlag as pe,trailerParse as Oe,validateResponse as _e,validateTrailer as qe}from"@connectrpc/connect/protocol-grpc-web";function w(Z){return{async unary(e,n,t,s,g,m){let{serialize:b,parse:q}=we(e,!0);return ht({interceptors:Z.interceptors,signal:n,timeoutMs:t,req:{stream:!1,service:e.parent,method:e,requestMethod:"POST",url:De("https://runtimeapi/",e),header:Pe(!0,t,s,!1),contextValues:m??ke(),message:g},next:async a=>{let C=await Z.fetcher.fetch(a.url,{method:a.requestMethod,headers:a.header,signal:a.signal,body:Te(0,b(a.message))}),{headerError:c}=_e(C.status,C.headers);if(!C.body)throw c!==void 0?c:new B("missing response body",W.Internal);let z=re(C.body).getReader(),y,E;for(;;){let f=await z.read();if(f.done)break;let{flags:K,data:H}=f.value;if((K&Ue)===Ue)throw new B("received compressed data, which is unsupported",W.Internal);if(K===pe){if(y!==void 0)throw new B("extra trailer",W.Internal);y=Oe(H);continue}if(E!==void 0)throw new B("extra message",W.Unimplemented);E=q(H)}if(y===void 0)throw c!==void 0?c:new B("missing trailer",C.headers.has(je)?W.Unimplemented:W.Unknown);if(qe(y,C.headers),E===void 0)throw new B("missing message",y.has(je)?W.Unimplemented:W.Unknown);return{stream:!1,service:e.parent,method:e,header:C.headers,message:E,trailer:y}}})},async stream(e,n,t,s,g,m){let{serialize:b,parse:q}=we(e,!0);async function a(c){let{value:z,done:y}=await c[Symbol.asyncIterator]().next();if(y)throw new B("missing request message",W.InvalidArgument);return Te(0,b(z))}async function*C(c,z,y,E,f){if(z){if(!(await re(c).getReader().read()).done)throw new B("extra data for trailers-only",W.Internal);return}let K=re(c).getReader(),H=!1;for(;;){let ae=await K.read();if(ae.done)break;let{flags:nn,data:ye}=ae.value;if((nn&pe)===pe){if(H)throw new B("extra trailer",W.Internal);H=!0;let Ae=Oe(ye);qe(Ae,E),Ae.forEach((tn,sn)=>y.set(sn,tn));continue}if(H)throw new B("extra message after trailer",W.Internal);yield q(ye)}if("throwIfAborted"in f&&f.throwIfAborted?.(),!H)throw new B("missing trailer",W.Internal)}return bt({interceptors:Z.interceptors,signal:n,timeoutMs:t,req:{stream:!0,service:e.parent,method:e,requestMethod:"POST",url:De("https://runtimeapi/",e),header:Pe(!0,t,s,!1),contextValues:m??ke(),message:g},next:async c=>{let z=await a(c.message),y=await Z.fetcher.fetch(c.url,{method:c.requestMethod,headers:c.header,signal:c.signal,body:z}),{foundStatus:E,headerError:f}=_e(y.status,y.headers);if(f)throw f;if(!y.body)throw new B("missing response body",W.Internal);let K=new Headers;return{...c,header:y.headers,trailer:K,message:C(y.body,E,K,y.headers,c.signal)}}})}}}import{fileDesc as Zt,messageDesc as F}from"@bufbuild/protobuf/codegenv2";var x=Zt("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9pbmNvbWluZy5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiOgoOSG9zdGluZ0RldGFpbHMSGAoLcHVibGljX2hvc3QYASABKAlIAIgBAUIOCgxfcHVibGljX2hvc3QiZgoVU3RhcnRFeGVjdXRpb25SZXF1ZXN0EhAKCHJlY2VpdmVyGAEgASgJEjsKBGhvc3QYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIYChZTdGFydEV4ZWN1dGlvblJlc3BvbnNlIlMKFFN0b3BFeGVjdXRpb25SZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIXChVTdG9wRXhlY3V0aW9uUmVzcG9uc2UiUQoSQ3JvblRyaWdnZXJSZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIVChNDcm9uVHJpZ2dlclJlc3BvbnNlIsgBCg5FeGNoYW5nZVJlc3VsdBITCgt0cmFuc21pdHRlchgBIAEoCRJLCgdzaWduYWxzGAIgAygLMjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VSZXN1bHQuU2lnbmFsc0VudHJ5GlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEi2AEKFUV4Y2hhbmdlUmVzdWx0UmVxdWVzdBJDCglvcGVyYXRpb24YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbhI9CgZyZXN1bHQYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZVJlc3VsdBI7CgRob3N0GAMgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSG9zdGluZ0RldGFpbHMiGAoWRXhjaGFuZ2VSZXN1bHRSZXNwb25zZWIGcHJvdG8z",[Y,p]),jg=F(x,0),Pg=F(x,1),Og=F(x,2),_g=F(x,3),qg=F(x,4),$g=F(x,5),ec=F(x,6),nc=F(x,7),tc=F(x,8),sc=F(x,9);var yt={config:"config",metadata:"metadata",configuredServices:"configured_services"};function te(Z){return yt[Z]??Z}var se=class{env;pluginService;pluginToken;fileforge;constructor(e,n){this.env=e,this.pluginToken=n,this.pluginService=O(Fe,w({fetcher:this.env.plugin,interceptors:[t=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await t(s))]})),this.fileforge=O(Le,w({fetcher:this.env.fileforge,interceptors:[t=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await t(s))]}))}async getSystemVariable(e){let t=(await this.pluginService.batchGetSystemVariables({names:[e]})).items[e];return t?M(ne,t):void 0}async getSystemVariables(...e){let n=await this.pluginService.batchGetSystemVariables({names:e}),t={};for(let[s,g]of Object.entries(n.items))t[s]=M(ne,g);return t}async getUserVariable(e){let t=(await this.pluginService.batchGetUserVariables({names:[e]})).items[e];return t?M(ne,t):void 0}async getUserVariables(...e){let n=await this.pluginService.batchGetUserVariables({names:e}),t={};for(let[s,g]of Object.entries(n.items))t[s]=M(ne,g);return t}async getUserToken(e){return(await this.pluginService.batchGetUserTokens({names:[e]})).items[e]}async getUserTokens(...e){return(await this.pluginService.batchGetUserTokens({names:e})).items}async getSystemToken(e){return(await this.pluginService.batchGetSystemTokens({names:[e]})).items[e]}async getSystemTokens(...e){return(await this.pluginService.batchGetSystemTokens({names:e})).items}userHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`user:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}systemHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`system:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}async authorize(e){await this.pluginService.authorize({accessToken:e})}async getSystemServices(){return(await this.pluginService.getSystemServices({})).configuredServices}async readFile(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw en(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/octet-stream"))throw new S("Invalid file. Are you reading a directory?",l.InvalidArgument);return{content:t.body,mime:s}}async readDirectory(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw en(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/json"))throw new S("Invalid directory. Are you reading a file?",l.InvalidArgument);return await t.json()}createSignalData(e){return u(L,{filename:e.filename,mimeType:"application/octet-stream",data:e.data})}extractBinaryFile(e){return{filename:e.filename??"output",data:e.data}}async htmlToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"htmlToPdf",value:u(xe,{indexHtml:e.indexHtml,headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(t=>this.createSignalData(t))??[],render:e.render,output:e.output})}});return this.extractBinaryFile(n.output)}async markdownToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"markdownToPdf",value:u(Me,{wrapperHtml:e.wrapperHtml,markdownFiles:e.markdownFiles.map(t=>this.createSignalData(t)),headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(t=>this.createSignalData(t))??[],render:e.render,output:e.output})}});return this.extractBinaryFile(n.output)}async officeToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"officeToPdf",value:u(Ee,{document:this.createSignalData(e.document),render:e.render,output:e.output})}});return this.extractBinaryFile(n.output)}async transformImage(e){let n=await this.fileforge.transformImage(u(fe,{input:this.createSignalData(e.input),operations:e.operations??[],output:e.output}));return this.extractBinaryFile(n.output)}async mergePdfs(e){let n=await this.fileforge.manipulatePdf({operation:{case:"merge",value:u(He,{files:e.files.map(t=>this.createSignalData(t)),pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(n.outputs[0])}async splitPdf(e){return(await this.fileforge.manipulatePdf({operation:{case:"split",value:u(ve,{file:this.createSignalData(e.file),mode:e.mode==="intervals"?1:2,span:e.span,unify:e.unify,pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}})).outputs.map(t=>this.extractBinaryFile(t))}async encryptPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"encrypt",value:u(ze,{file:this.createSignalData(e.file),userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(n.outputs[0])}async convertPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"convert",value:u(Ke,{file:this.createSignalData(e.file),pdfa:e.pdfa,pdfua:e.pdfua})}});return this.extractBinaryFile(n.outputs[0])}async flattenPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"flatten",value:u(Ne,{file:this.createSignalData(e.file)})}});return this.extractBinaryFile(n.outputs[0])}},Ge=class{result;constructor(e){this.result=e}get(e){let n=this.result[e];if(n)return{value:JSON.parse(new TextDecoder().decode(n.value)),ttl:n.metadata.ttl,lastModified:v(n.metadata.lastModified),etag:n.metadata.etag}}getBinary(e){let n=this.result[e];if(n)return{ttl:n.metadata.ttl,value:n.value,lastModified:v(n.metadata.lastModified),etag:n.metadata.etag}}},be=class{ops=[];insert(e,n,t){return this.ops.push(u(ee,{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t}}}})),this}delete(e){return this.ops.push(u(ee,{operation:{case:"delete",value:{key:e}}})),this}rangeDelete(e,n,t,s){return this.ops.push(u(ee,{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}})),this}build(){return this.ops}},_=class{service;namespace;constructor(e,n){this.service=e,this.namespace=It(Re,n)}async insert(e,n,t,s){let g;s&&(g=u(de,{}),s.failIfExists?g.failIfExists=!0:(s.etagEquals&&(g.etag=s.etagEquals),s.timestampEquals?g.timestampCondition={case:"lastModifiedEquals",value:D(s.timestampEquals)}:s.timestampRange&&(g.timestampCondition={case:"lastModifiedRange",value:u(le,{start:s.timestampRange.start?D(s.timestampRange.start):void 0,end:s.timestampRange.end?D(s.timestampRange.end):void 0,startInclusive:s.timestampRange.startInclusive,endInclusive:s.timestampRange.endInclusive})})));let m=await this.service.writeStore({operation:{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t},precondition:g}}},namespace:this.namespace});return{ttl:m.metadata.ttl,lastModified:v(m.metadata.lastModified),etag:m.metadata.etag}}async delete(e,n){let t;n&&(t=u(Ve,{}),n.mustExists?t.mustExists=!0:(n.etagEquals&&(t.etag=n.etagEquals),n.timestampEquals?t.timestampCondition={case:"lastModifiedEquals",value:D(n.timestampEquals)}:n.timestampRange&&(t.timestampCondition={case:"lastModifiedRange",value:u(le,{start:n.timestampRange.start?D(n.timestampRange.start):void 0,end:n.timestampRange.end?D(n.timestampRange.end):void 0,startInclusive:n.timestampRange.startInclusive,endInclusive:n.timestampRange.endInclusive})}))),await this.service.writeStore({operation:{operation:{case:"delete",value:{key:e,precondition:t}}},namespace:this.namespace})}async rangeDelete(e,n,t,s){await this.service.batchWriteStore({namespace:this.namespace,operations:[{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}}]})}async get(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:JSON.parse(new TextDecoder().decode(t.value)),ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:v(t.metadata.lastModified)}}async getBinary(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:v(t.metadata.lastModified)}}async selectRange(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.entries(n.items).sort(([t],[s])=>t.localeCompare(s)).map(([t,s])=>({key:t,value:JSON.parse(new TextDecoder().decode(s.value)),ttl:s.metadata.ttl,etag:s.metadata.etag,lastModified:v(s.metadata.lastModified)}))}}async selectRangeBinary(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.values(n.items).map(t=>({value:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:v(t.metadata.lastModified)}))}}async writeBatch(e){let n=await this.service.batchWriteStore({namespace:this.namespace,operations:e}),t={};for(let[s,g]of Object.entries(n.metadata))t[s]={ttl:g.ttl,lastModified:v(g.lastModified),etag:g.etag};return t}async readBatch(e){let n=await this.service.batchReadStore({namespace:this.namespace,keys:e});return new Ge(n.items)}async acquire(e,n){try{await this.service.writeStore({namespace:this.namespace,operation:{operation:{case:"insert",value:{key:e,value:{value:new Uint8Array([1]),ttl:n??5},precondition:u(de,{failIfExists:!0})}}}})}catch(t){if(t instanceof S&&t.code===l.FailedPrecondition)return!1;throw t}return!0}async release(e){await this.writeBatch(new be().delete(e).build())}async lock(e,n,t){let s=t?.maxRetries??5,g=t?.initialDelay??50,m=t?.maxDelay??2e3;for(let b=0;b<s;b++)if(await this.acquire(e))try{return await n()}finally{await this.release(e)}else if(b<s-1){let a=Math.min(g*2**b,m);console.log(`Acquisition failed for key: ${e}. Delaying for ${a}ms`),await new Promise(C=>setTimeout(C,a))}throw new Error("Failed to acquire lock after maximum retries")}},he=class extends se{executor;constructor(e,n){super(e,n),this.executor=O(me,w({fetcher:e.executor,interceptors:[t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?u(P,{paths:e.map(te)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?M(Q,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?u(P,{paths:e.map(te)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?M(Q,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}getLocalStore(e){return new _(this.executor,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}getSessionApi(e){return new Ie(this.env,this.pluginToken,e)}},Ze=class extends he{sessionAuthHeader;constructor(e,n,t){super(e,n),this.sessionAuthHeader=t,this.executor=O(me,w({fetcher:e.executor,interceptors:[s=>async g=>(g.header.set("Authorization",t),await s(g))]}))}getAuthHeader(){return this.sessionAuthHeader}getSessionStore(e){return new _(this.executor,e==="vertex"?"NAMESPACE_VERTEX_INSTANCE":"NAMESPACE_PLUGIN_INSTANCE")}},Ie=class extends Ze{constructor(e,n,t){super(e,n,t)}async listSignals(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async listSignalsBinary(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async continueListSignals(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async continueListSignalsBinary(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async getSignal(e){let t=(await this.executor.batchGetActiveSignals({names:[e]})).items[e];return t?JSON.parse(new TextDecoder().decode(t.data)):void 0}async getSignalBinary(e){return(await this.executor.batchGetActiveSignals({names:[e]})).items[e]}async getSignals(...e){if(e.length===0)return{};let n=await this.executor.batchGetActiveSignals({names:e});if(Object.keys(n.items).length===0)return{};let t={};for(let[s,g]of Object.entries(n.items))t[s]=JSON.parse(new TextDecoder().decode(g.data));return t}async getSignalsBinary(...e){return e.length===0?{}:(await this.executor.batchGetActiveSignals({names:e})).items}async send(e,n){await this.executor.send({transmitter:e,signals:n?Object.fromEntries(Object.entries(n).map(([t,s])=>s?.data instanceof Uint8Array&&typeof s?.mimeType=="string"&&s.mimeType?[t,u(L,{data:s.data,mimeType:s.mimeType,filename:s.filename})]:[t,u(L,{data:new TextEncoder().encode(JSON.stringify(s)),mimeType:"application/json"})])):{}})}async dispatchExchange(e,n,t){return(await this.executor.dispatchExchange({name:e,receiver:n,signals:t?Object.fromEntries(Object.entries(t).map(([g,m])=>m?.data instanceof Uint8Array&&typeof m?.mimeType=="string"&&m.mimeType?[g,u(L,{data:m.data,mimeType:m.mimeType,filename:m.filename})]:[g,u(L,{data:new TextEncoder().encode(JSON.stringify(m)),mimeType:"application/json"})])):{}})).operation}async getExchange(e){let n=await this.executor.getExchangeOperation({id:e});if(!n.item)throw new S("Exchange operation not found",l.NotFound);return n.item}async cancelExchange(e){await this.executor.cancelExchangeOperation({id:e})}},$e=class extends se{configurator;constructor(e,n){super(e,n),this.configurator=O(We,w({fetcher:e.configurator,interceptors:[t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?u(P,{paths:e.map(te)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?M(Q,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?u(P,{paths:e.map(te)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?M(Q,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}async postConfig(e){if(!e.config&&!e.metadata)throw new S("Either config or metadata must be provided",l.InvalidArgument);let n;e.config!==void 0&&(n=e.config instanceof Uint8Array?e.config:new TextEncoder().encode(JSON.stringify(e.config)));let t=await this.configurator.postVertexConfig({config:n,metadata:e.metadata?ue(Q,e.metadata):void 0,overrideBindings:e?.overrideBindings});return M(Q,t.metadata)}async listIncomingSignals(e,n,t){let s=await this.configurator.listIncomingSignals({receiver:e,formats:n?.map(g=>ue(Se,g))??[],fieldMask:t?ue(P,t):void 0});return M(Xe,s)}getLocalStore(e){return new _(this.configurator,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}};function en(Z){switch(Z){case 400:return new S("Bad Request",l.InvalidArgument);case 401:return new S("Unauthorized",l.Unauthenticated);case 403:return new S("Forbidden",l.PermissionDenied);case 404:return new S("Not Found",l.NotFound);case 409:return new S("Conflict",l.AlreadyExists);case 429:return new S("Too Many Requests",l.ResourceExhausted);case 499:return new S("Client Closed Request",l.Canceled);case 500:return new S("Internal Server Error",l.Internal);case 501:return new S("Not Implemented",l.Unimplemented);case 503:return new S("Service Unavailable",l.Unavailable);case 504:return new S("Gateway Timeout",l.DeadlineExceeded);default:return new S(`Unknown HTTP error: ${Z}`,l.Unknown)}}function Nc(Z){switch(Z.code){case l.Canceled:return 499;case l.Unknown:return 500;case l.InvalidArgument:return 400;case l.DeadlineExceeded:return 504;case l.NotFound:return 404;case l.AlreadyExists:return 409;case l.PermissionDenied:return 403;case l.ResourceExhausted:return 429;case l.FailedPrecondition:return 400;case l.Aborted:return 409;case l.OutOfRange:return 400;case l.Unimplemented:return 501;case l.Internal:return 500;case l.Unavailable:return 503;case l.DataLoss:return 500;case l.Unauthenticated:return 401;default:return 500}}export{Ta as AckMessageRequestSchema,ja as AckMessageResponseSchema,se as ApiBase,Lo as AuthorizeRequestSchema,ko as AuthorizeResponseSchema,so as AutomationService,Co as BatchGetActiveSignalsRequestSchema,Yo as BatchGetActiveSignalsResponseSchema,Oo as BatchGetSystemTokensRequestSchema,_o as BatchGetSystemTokensResponseSchema,Uo as BatchGetSystemVariablesRequestSchema,wo as BatchGetSystemVariablesResponseSchema,jo as BatchGetUserTokensRequestSchema,Po as BatchGetUserTokensResponseSchema,Do as BatchGetUserVariablesRequestSchema,To as BatchGetUserVariablesResponseSchema,Ge as BatchReadResult,Ao as CancelExchangeOperationRequestSchema,So as CancelExchangeOperationResponseSchema,l as Code,Hs as ConditionalDeleteOpSchema,Ve as ConditionalDeleteOp_PreconditionSchema,fs as ConditionalInsertOpSchema,de as ConditionalInsertOp_PreconditionSchema,Fs as ConditionalWriteOperationSchema,$e as ConfiguratorApi,We as ConfiguratorService,_s as ConfiguratorServiceBatchReadStoreRequestSchema,qs as ConfiguratorServiceBatchReadStoreResponseSchema,Ts as ConfiguratorServiceBatchWriteStoreRequestSchema,js as ConfiguratorServiceBatchWriteStoreResponseSchema,na as ConfiguratorServiceGetVertexConfigRequestSchema,ta as ConfiguratorServiceGetVertexConfigResponseSchema,$s as ConfiguratorServiceSelectStoreRequestSchema,ea as ConfiguratorServiceSelectStoreResponseSchema,Ps as ConfiguratorServiceWriteStoreRequestSchema,Os as ConfiguratorServiceWriteStoreResponseSchema,S as ConnectError,$g as CronTriggerRequestSchema,ec as CronTriggerResponseSchema,Es as DeleteOpSchema,Xo as DispatchExchangeRequestSchema,Wo as DispatchExchangeResponseSchema,mt as EmulatedMediaType,Eg as EmulatedMediaTypeSchema,fo as ExchangeOperationSchema,tc as ExchangeResultRequestSchema,sc as ExchangeResultResponseSchema,nc as ExchangeResultSchema,qt as ExchangeSchema,he as ExecutorApi,me as ExecutorService,ho as ExecutorServiceBatchReadStoreRequestSchema,Zo as ExecutorServiceBatchReadStoreResponseSchema,po as ExecutorServiceBatchWriteStoreRequestSchema,uo as ExecutorServiceBatchWriteStoreResponseSchema,Mo as ExecutorServiceGetVertexConfigRequestSchema,Eo as ExecutorServiceGetVertexConfigResponseSchema,Io as ExecutorServiceSelectStoreRequestSchema,yo as ExecutorServiceSelectStoreResponseSchema,Go as ExecutorServiceWriteStoreRequestSchema,bo as ExecutorServiceWriteStoreResponseSchema,Le as FileForgeService,Vg as FocalPointSchema,Sg as FocalRegionSchema,Vo as GetExchangeOperationRequestSchema,Ro as GetExchangeOperationResponseSchema,Qa as GetSessionRequestSchema,La as GetSessionResponseSchema,No as GetSystemServicesRequestSchema,Qo as GetSystemServicesResponseSchema,Bs as GetValueSchema,ut as Gravity,vg as GravitySchema,jg as HostingDetailsSchema,og as HtmlRenderOptionsSchema,xe as HtmlToPdfSchema,bg as ImageAdjustSchema,hg as ImageBlurSchema,mg as ImageCropSchema,Cg as ImageDpiSchema,pg as ImageFlipSchema,Ag as ImageFocalSchema,Gt as ImageFormat,zg as ImageFormatSchema,Ig as ImageHueSchema,Wg as ImageLabelSchema,Jg as ImageMaxFramesSchema,ig as ImageOperationSchema,Fg as ImageOutputSchema,ug as ImagePadSchema,Bg as ImagePageSchema,Xg as ImageProportionSchema,dg as ImageResizeSchema,yg as ImageRgbSchema,rg as ImageRotateSchema,Rg as ImageRoundCornerSchema,Zg as ImageSharpenSchema,Gg as ImageTrimSchema,Yg as ImageWatermarkSchema,Ds as IncomingVerticesSchema,Fa as InheritSessionRequestSchema,xa as InheritSessionResponseSchema,Ms as InsertOpSchema,Mt as JTDSchemaSchema,Fo as ListActiveSignalsRequestSchema,xo as ListActiveSignalsResponseSchema,ws as ListIncomingSignalsRequestSchema,Xe as ListIncomingSignalsResponseSchema,xg as ManipulatePdfRequestSchema,Mg as ManipulatePdfResponseSchema,Me as MarkdownToPdfSchema,zn as Namespace,Re as NamespaceSchema,gg as OfficeRenderOptionsSchema,Ee as OfficeToPdfSchema,ka as OutputSchema,rt as PdfAFormat,fg as PdfAFormatSchema,Ke as PdfConvertSchema,ze as PdfEncryptSchema,Ne as PdfFlattenSchema,He as PdfMergeSchema,cg as PdfOutputOptionsSchema,ve as PdfSplitSchema,Fe as PluginService,sa as PostVertexConfigRequestSchema,aa as PostVertexConfigResponseSchema,Js as PutValueSchema,xs as RangeDeleteOpSchema,Ma as ReadOutputRequestSchema,Ea as ReadOutputResponseSchema,fa as ReadUrlsRequestSchema,Ha as ReadUrlsResponseSchema,ds as ReceiverSchema,sg as RenderDocumentRequestSchema,ag as RenderDocumentResponseSchema,pt as ResizeType,Hg as ResizeTypeSchema,$a as RunInheritRequestSchema,eo as RunInheritResponseSchema,no as RunInheritStartedSchema,Oa as RunSessionRequestSchema,_a as RunSessionResponseSchema,qa as RunSessionStartedSchema,Ys as SelectOpSchema,Jo as SendRequestSchema,Bo as SendResponseSchema,Ie as SessionExecutorApi,wa as SessionSchema,as as SignalBindingSchema,Wn as SignalBinding_Error,os as SignalBinding_ErrorSchema,L as SignalDataSchema,Lt as SignalDescriptorSchema,Se as SignalFormatSchema,Qe as SplitMode,Kg as SplitModeSchema,Pg as StartExecutionRequestSchema,Og as StartExecutionResponseSchema,va as StartSessionRequestSchema,za as StartSessionResponseSchema,nt as Status,to as StatusSchema,_g as StopExecutionRequestSchema,qg as StopExecutionResponseSchema,Ze as StopExecutorApi,Ka as StopSessionRequestSchema,Na as StopSessionResponseSchema,_ as Store,Da as StreamSessionRequestSchema,Pa as StreamSessionResponseSchema,le as TimestampRangeSchema,qo as TokenSchema,Tt as TransceiverSchema,fe as TransformImageRequestSchema,lg as TransformImageResponseSchema,Gs as TransmitterSchema,xn as Transmitter_Mode,bs as Transmitter_ModeSchema,Ua as UrlSchema,Cs as ValueMetadataSchema,Q as VertexMetadataSchema,kn as VertexType,oa as VertexTypeSchema,be as WriteBatchBuilder,ee as WriteOperationSchema,r as file_mochabugapis_adapt_automations_v1_automations,ce as file_mochabugapis_adapt_graph_exchange,oe as file_mochabugapis_adapt_graph_jtd_schema,ie as file_mochabugapis_adapt_graph_receiver,$ as file_mochabugapis_adapt_graph_signal_binding,Y as file_mochabugapis_adapt_graph_signal_data,T as file_mochabugapis_adapt_graph_signal_descriptor,N as file_mochabugapis_adapt_graph_signal_format,ge as file_mochabugapis_adapt_graph_transceiver,k as file_mochabugapis_adapt_graph_transmitter,j as file_mochabugapis_adapt_graph_vertex_metadata,A as file_mochabugapis_adapt_runtime_v1_configurator_service,p as file_mochabugapis_adapt_runtime_v1_executor_service,o as file_mochabugapis_adapt_runtime_v1_fileforge_service,x as file_mochabugapis_adapt_runtime_v1_incoming,X as file_mochabugapis_adapt_runtime_v1_plugin_service,I as file_mochabugapis_adapt_runtime_v1_store,Nc as mapConnectErrorToHttpStatus,en as mapHttpError};
2
2
  //# sourceMappingURL=api.mjs.map