@openmarket/market-data-proto 12.65.0 → 12.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/enums_pb.d.ts +10 -1
  2. package/dist/enums_pb.d.ts.map +1 -1
  3. package/dist/enums_pb.js +10 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +1 -0
  7. package/dist/option_strike_aggregation_pb.d.ts +134 -0
  8. package/dist/option_strike_aggregation_pb.d.ts.map +1 -0
  9. package/dist/option_strike_aggregation_pb.js +14 -0
  10. package/dist/point_pb.d.ts +7 -0
  11. package/dist/point_pb.d.ts.map +1 -1
  12. package/dist/point_pb.js +2 -1
  13. package/dist/tsdb-gateway/tsdb-gateway_pb.d.ts +125 -0
  14. package/dist/tsdb-gateway/tsdb-gateway_pb.d.ts.map +1 -1
  15. package/dist/tsdb-gateway/tsdb-gateway_pb.js +141 -88
  16. package/dist/tsdb-gateway/v3/common_pb.d.ts +60 -0
  17. package/dist/tsdb-gateway/v3/common_pb.d.ts.map +1 -1
  18. package/dist/tsdb-gateway/v3/common_pb.js +62 -1
  19. package/dist/tsdb-gateway/v3/crypto_pb.d.ts +31 -0
  20. package/dist/tsdb-gateway/v3/crypto_pb.d.ts.map +1 -1
  21. package/dist/tsdb-gateway/v3/crypto_pb.js +1 -1
  22. package/dist/tsdb-gateway/v3/futures_pb.d.ts +40 -3
  23. package/dist/tsdb-gateway/v3/futures_pb.d.ts.map +1 -1
  24. package/dist/tsdb-gateway/v3/futures_pb.js +13 -1
  25. package/dist/tsdb-gateway/v3/futures_point.generated_pb.d.ts +18 -0
  26. package/dist/tsdb-gateway/v3/futures_point.generated_pb.d.ts.map +1 -1
  27. package/dist/tsdb-gateway/v3/futures_point.generated_pb.js +3 -1
  28. package/dist/tsdb-gateway/v3/methods_pb.d.ts +67 -2
  29. package/dist/tsdb-gateway/v3/methods_pb.d.ts.map +1 -1
  30. package/dist/tsdb-gateway/v3/methods_pb.js +7 -2
  31. package/dist/tsdb-gateway/v3/options_pb.d.ts +8 -0
  32. package/dist/tsdb-gateway/v3/options_pb.d.ts.map +1 -1
  33. package/dist/tsdb-gateway/v3/options_pb.js +1 -1
  34. package/package.json +1 -1
@@ -8,13 +8,14 @@ import { file_protoc_gen_openapiv2_options_annotations } from "../protoc-gen-ope
8
8
  import { file_timestamp_timestamp } from "../timestamp/timestamp_pb.js";
9
9
  import { file_empty } from "../empty_pb.js";
10
10
  import { file_enums } from "../enums_pb.js";
11
+ import { file_identifier } from "../identifier_pb.js";
11
12
  import { file_ping_pong } from "../ping_pong_pb.js";
12
13
  import { file_series } from "../series_pb.js";
13
14
  import { file_transform } from "../transform_pb.js";
14
15
  /**
15
16
  * Describes the file tsdb-gateway/tsdb-gateway.proto.
16
17
  */
17
- export const file_tsdb_gateway_tsdb_gateway = /*@__PURE__*/ fileDesc("Ch90c2RiLWdhdGV3YXkvdHNkYi1nYXRld2F5LnByb3RvIkkKD0N1c3RvbVRpbWVSYW5nZRISCgpzdGFydF90aW1lGAEgASgJEhAKCGVuZF90aW1lGAIgASgJEhAKCHRpbWV6b25lGAMgASgJIugNCgtEYXRhUmVxdWVzdBITCgR0eXBlGAEgAygOMgUuVHlwZRIbCghleGNoYW5nZRgCIAMoDjIJLkV4Y2hhbmdlEhgKEG5vcm1hbGl6ZWRTeW1ib2wYAyADKAkSDAoEY29pbhgEIAMoCRIbCghjYXRlZ29yeRgFIAMoDjIJLkNhdGVnb3J5EhEKCXJhd1N5bWJvbBgGIAMoCRImCghpbnRlcnZhbBgMIAEoDjIULkFnZ3JlZ2F0aW9uSW50ZXJ2YWwSDAoEZnJvbRgOIAEoAxIOCgZwZXJpb2QYDyABKAMSEwoEc2lkZRgIIAEoDjIFLlNpZGUSFwoEa2luZBgJIAEoDjIJLlJhdGVLaW5kEh8KCm9wdGlvblR5cGUYCiABKA4yCy5PcHRpb25UeXBlEhUKBXRlbm9yGAsgASgOMgYuVGVub3ISGwoIc2tld0tpbmQYESABKA4yCS5Ta2V3S2luZBIbCgh2aXBMZXZlbBgWIAEoDjIJLlZpcExldmVsEh0KCWZ1bmRHcm91cBgXIAEoDjIKLkZ1bmRHcm91cBIhCgtncmFudWxhcml0eRgYIAEoDjIMLkdyYW51bGFyaXR5EhcKBmlzc3VlchgZIAMoDjIHLklzc3VlchIQCghtaW5QcmljZRgaIAEoARIQCghtYXhQcmljZRgbIAEoARIRCglibG9ja1NpemUYHCABKAESFAoMY29tcHV0ZVNpbmNlGB0gASgDEiUKDXNvcnREaXJlY3Rpb24YHiABKA4yDi5Tb3J0RGlyZWN0aW9uEhcKD3Ntb290aGluZ1BlcmlvZBgfIAEoAxIsCg5zeW1ib2xDcml0ZXJpYRggIAEoCzIPLlN5bWJvbENyaXRlcmlhSACIAQESHQoJdHJhbnNmb3JtGCEgASgLMgouVHJhbnNmb3JtEiQKDXNlcmllc0ZpbHRlcnMYIiADKAsyDS5TZXJpZXNGaWx0ZXISFQoFY2hhaW4YIyADKA4yBi5DaGFpbhITCgtwb29sQWRkcmVzcxgkIAMoCRIjCgxwb29sUHJvdG9jb2wYJSADKA4yDS5Qb29sUHJvdG9jb2wSGAoQYmFzZVRva2VuQWRkcmVzcxgmIAMoCRIZChFxdW90ZVRva2VuQWRkcmVzcxgnIAMoCRIWCg5mYWN0b3J5QWRkcmVzcxgoIAMoCRIQCghtYXhEZXB0aBgpIAEoAxIYChBtYXRlcmlhbGl6ZWRPbmx5GCogASgIEg0KBWxpbWl0GCsgASgDEiYKC3dhbGxSZXF1ZXN0GCwgASgLMgwuV2FsbFJlcXVlc3RIAYgBARIvChJzZWN0b3JNYWluQ2F0ZWdvcnkYLSADKA4yEy5TZWN0b3JNYWluQ2F0ZWdvcnkSLQoRc2VjdG9yU3ViQ2F0ZWdvcnkYLiADKA4yEi5TZWN0b3JTdWJDYXRlZ29yeRIRCgl0b2tlbk5hbWUYLyADKAkSDwoHZmxhdHRlbhgwIAEoCBIXCgZzb3VyY2UYMSADKA4yBy5Tb3VyY2USHwoKdHBvU2Vzc2lvbhgyIAEoDjILLlRQT1Nlc3Npb24SGwoTdHBvQmxvY2tTaXplTWludXRlcxgzIAEoBRIKCgJpZBg0IAMoCRIjCgxmcmVkQ2F0ZWdvcnkYNSADKA4yDS5GcmVkQ2F0ZWdvcnkSIQoLdHJhZGluZ0hvdXIYNiABKA4yDC5UcmFkaW5nSG91chIUCgx1bmxvY2tzTGFiZWwYNyADKAkSLgoPY3VzdG9tVGltZVJhbmdlGDggASgLMhAuQ3VzdG9tVGltZVJhbmdlSAKIAQESJwoabWFya2V0X2V2ZW50X21pbl9pbnRlbnNpdHkYOSABKAVIA4gBARInChptYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eRg6IAEoBUgEiAEBEg0KBWV2ZW50GDsgAygJEg8KB2dhcGZpbGwYPCABKAgSDwoHYWRkcmVzcxg9IAMoCRIdCglvcmRlclNpemUYPiADKA4yCi5PcmRlclNpemUSEQoJbWluQW1vdW50GD8gASgBEhYKDm1pblF1b3RlQW1vdW50GEAgASgBEh0KFXNraXBCb29rTm9ybWFsaXphdGlvbhhBIAEoCBIQCghhZGp1c3RlZBhCIAEoCBINCgVzaWRlZBhDIAEoCEIRCg9fc3ltYm9sQ3JpdGVyaWFCDgoMX3dhbGxSZXF1ZXN0QhIKEF9jdXN0b21UaW1lUmFuZ2VCHQobX21hcmtldF9ldmVudF9taW5faW50ZW5zaXR5Qh0KG19tYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eUoECAcQCEoECA0QDkoECBAQEUoECBIQFiJxCgxTZXJpZXNGaWx0ZXISHAoJZXhjaGFuZ2VzGAEgAygOMgkuRXhjaGFuZ2USEgoKcmF3U3ltYm9scxgCIAMoCRIZChFub3JtYWxpemVkU3ltYm9scxgDIAMoCRIUCgV0eXBlcxgEIAMoDjIFLlR5cGUiYgoLV2FsbFJlcXVlc3QSFAoMcHJlc2VudF9vbmx5GAEgASgIEhwKFG1pbl9kdXJhdGlvbl9zZWNvbmRzGAIgASgDEh8KF21pbl9xdWFudGl0eV9wZXJjZW50aWxlGAMgASgBIkwKDE1hcmtldEZpbHRlchIbCghjYXRlZ29yeRgBIAMoDjIJLkNhdGVnb3J5Eh8KCm1hcmtldFR5cGUYAiADKA4yCy5NYXJrZXRUeXBlIjgKGEdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZRIcCglleGNoYW5nZXMYASADKA4yCS5FeGNoYW5nZSKRCAoRR2V0TWFya2V0c1JlcXVlc3QSGwoIZXhjaGFuZ2UYASADKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAMoDjIJLkNhdGVnb3J5EhcKBnNpZ25hbBgDIAEoDjIHLlNpZ25hbBIUCgxzeW1ib2xGaWx0ZXIYBCABKAkSEAoIcGFnZVNpemUYBSABKAUSEgoKcGFnZU9mZnNldBgGIAEoBRIMCgRjb2luGAcgAygJEhMKBHR5cGUYCCADKA4yBS5UeXBlEioKDHNvcnRDcml0ZXJpYRgJIAEoCzIULk1hcmtldHNTb3J0Q3JpdGVyaWESFQoFY2hhaW4YCiADKA4yBi5DaGFpbhIjCgxwb29sUHJvdG9jb2wYCyADKA4yDS5Qb29sUHJvdG9jb2wSJAoNc2VyaWVzRmlsdGVycxgMIAMoCzINLlNlcmllc0ZpbHRlchIQCghkaXN0aW5jdBgNIAEoCBIkCg1tYXJrZXRGaWx0ZXJzGA4gAygLMg0uTWFya2V0RmlsdGVyEhAKCHRhZ1NsdWdzGA8gAygJEhcKD2V4Y2x1ZGVUYWdTbHVncxgQIAMoCRIVCg1yZWxhdGVkVG9TbHVnGBEgASgJEhoKDWV4cGlyZXNCZWZvcmUYEiABKANIAIgBARIUCgd2ZXJzaW9uGBMgASgJSAGIAQESLwoHZXhjbHVkZRgUIAEoCzIZLkdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZUgCiAEBEhUKDWV4Y2x1ZGVQcmljZXMYFSABKAgSLAoJZ3JvdXBTb3J0GBYgASgLMhkuTWFya2V0c0dyb3VwU29ydENyaXRlcmlhEikKC3ZhcmlhbnRTb3J0GBcgASgLMhQuTWFya2V0c1NvcnRDcml0ZXJpYRIbCg5yZWxldmFuY2VGaXJzdBgYIAEoCEgDiAEBEiYKCnByb2plY3Rpb24YGSABKA4yEi5NYXJrZXRzUHJvamVjdGlvbhIZCgx2YXJpYW50TGltaXQYGiABKAVIBIgBARIWCglhc3NldE5hbWUYGyABKAlIBYgBARIhCgxhc3NldENsYXNzZXMYHCADKA4yCy5Bc3NldENsYXNzEigKD3JlcHJlc2VudGF0aW9ucxgdIAMoDjIPLlJlcHJlc2VudGF0aW9uEhUKDXF1b3RlQXNzZXRJZHMYHiADKAkSEwoLZGVwbG95ZXJJZHMYHyADKAkSFQoIZ3JvdXBLZXkYICABKAlIBogBAUIQCg5fZXhwaXJlc0JlZm9yZUIKCghfdmVyc2lvbkIKCghfZXhjbHVkZUIRCg9fcmVsZXZhbmNlRmlyc3RCDwoNX3ZhcmlhbnRMaW1pdEIMCgpfYXNzZXROYW1lQgsKCV9ncm91cEtleSKtAQoUU3RyZWFtTWFya2V0c1JlcXVlc3QSKAoNc2VyaWVzRmlsdGVycxgBIAMoCzINLlNlcmllc0ZpbHRlckICGAESFwoEdHlwZRgCIAMoDjIFLlR5cGVCAhgBEioKDm1hcmtldHNSZXF1ZXN0GAQgASgLMhIuR2V0TWFya2V0c1JlcXVlc3QSFAoHdmVyc2lvbhgFIAEoCUgAiAEBQgoKCF92ZXJzaW9uSgQIAxAEIlsKE01hcmtldHNTb3J0Q3JpdGVyaWESIQoFZmllbGQYASABKA4yEi5NYXJrZXRTeW1ib2xGaWVsZBIhCglkaXJlY3Rpb24YAiABKA4yDi5Tb3J0RGlyZWN0aW9uIl8KGE1hcmtldHNHcm91cFNvcnRDcml0ZXJpYRIgCgVmaWVsZBgBIAEoDjIRLk1hcmtldEFzc2V0RmllbGQSIQoJZGlyZWN0aW9uGAIgASgOMg4uU29ydERpcmVjdGlvbiKVEAoMTWFya2V0U3ltYm9sEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAiABKA4yCS5DYXRlZ29yeRIRCglyYXdTeW1ib2wYAyABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgEIAEoCRIMCgRjb2luGAUgASgJEhYKCXNtYVNwcmVhZBgGIAEoAUgAiAEBEh0KEHZvbHVtZVNwaWtlUmF0aW8YByABKAFIAYgBARIVCghhdHJSYXRpbxgIIAEoAUgCiAEBEhgKC3JhbmdlU3ByZWFkGAkgASgBSAOIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCiABKAFIBIgBARIcCg92b2x1bWVDaGFuZ2UyNGgYCyABKAFIBYgBARIWCgl2b2x1bWUyNGgYDCABKAFIBogBARIOCgZwcmljZXMYDSADKAESFgoJbGFzdFByaWNlGA4gASgBSAeIAQESFwoGaXNzdWVyGA8gASgOMgcuSXNzdWVyEhUKBXRlbm9yGBAgASgOMgYuVGVub3ISFwoKcGN0RnJvbUFUSBgRIAEoAUgIiAEBEhUKBWNoYWluGBIgASgOMgYuQ2hhaW4SEwoLcG9vbEFkZHJlc3MYEyABKAkSIwoMcG9vbFByb3RvY29sGBQgASgOMg0uUG9vbFByb3RvY29sEhgKEGJhc2VUb2tlbkFkZHJlc3MYFSABKAkSGQoRcXVvdGVUb2tlbkFkZHJlc3MYFiABKAkSFgoOZmFjdG9yeUFkZHJlc3MYFyABKAkSDwoHZ2FwZmlsbBgYIAEoCBIYCgtvaUNoYW5nZTI0aBgZIAEoAUgJiAEBEhcKCmF0clBlcmNlbnQYGiABKAFICogBARIWCgltYXJrZXRjYXAYGyABKAFIC4gBARIKCgJpZBgcIAEoCRISCgV0aXRsZRgdIAEoCUgMiAEBEhUKCGNvaW5OYW1lGB4gASgJSA2IAQESGgoNcXVvdGVDb2luTmFtZRgfIAEoCUgOiAEBEhUKCGZ1bGxOYW1lGCAgASgJSA+IAQESFgoJbGlxdWlkaXR5GCEgASgBSBCIAQESGAoLdG90YWxWb2x1bWUYIyABKAFIEYgBARI4ChFwcmVkaWN0aW9uTWFya2V0cxglIAMoCzIdLk1hcmtldFNlYXJjaFByZWRpY3Rpb25NYXJrZXQSEwoGY2xvc2VkGCYgASgISBKIAQESFAoHaWNvblVybBgnIAEoCUgTiAEBEiQKC2F2YWlsYWJsZVRvGCggASgLMgouVGltZXN0YW1wSBSIAQESJwoOYXZhaWxhYmxlU2luY2UYKSABKAsyCi5UaW1lc3RhbXBIFYgBARIeCgR0YWdzGCogAygLMhAuTWFya2V0U2VhcmNoVGFnEhoKDXBhcmVudEV2ZW50SWQYKyABKANIFogBARIiCg9kaXNwbGF5RXhjaGFuZ2UYLCABKA4yCS5FeGNoYW5nZRIfCgphc3NldENsYXNzGC0gASgOMgsuQXNzZXRDbGFzcxInCg5yZXByZXNlbnRhdGlvbhguIAEoDjIPLlJlcHJlc2VudGF0aW9uEh4KDWNhdGFsb2dJc3N1ZXIYLyABKA4yBy5Jc3N1ZXISHQoQdW5kZXJseWluZ1N5bWJvbBgwIAEoCUgXiAEBEhsKDnVuZGVybHlpbmdJc2luGDEgASgJSBiIAQESHgoRaXNzdWVyVG9rZW5TeW1ib2wYMiABKAlIGYgBARIcCg9zaGFyZU11bHRpcGxpZXIYMyABKAFIGogBARIrChB0cmFkaW5nSG91cnNNb2RlGDQgASgOMhEuVHJhZGluZ0hvdXJzTW9kZRIWCg5pc0lzc3VlckhhbHRlZBg1IAEoCBIZCgx2b2x1bWUyNGhVc2QYNiABKAFIG4gBARIjCgp2b2x1bWVBc09mGDcgASgLMgouVGltZXN0YW1wSByIAQESGQoMcXVvdGVBc3NldElkGDggASgJSB2IAQESFwoKZGVwbG95ZXJJZBg5IAEoCUgeiAEBEhQKB2RleE5hbWUYOiABKAlIH4gBAUIMCgpfc21hU3ByZWFkQhMKEV92b2x1bWVTcGlrZVJhdGlvQgsKCV9hdHJSYXRpb0IOCgxfcmFuZ2VTcHJlYWRCEQoPX3ByaWNlQ2hhbmdlMjRoQhIKEF92b2x1bWVDaGFuZ2UyNGhCDAoKX3ZvbHVtZTI0aEIMCgpfbGFzdFByaWNlQg0KC19wY3RGcm9tQVRIQg4KDF9vaUNoYW5nZTI0aEINCgtfYXRyUGVyY2VudEIMCgpfbWFya2V0Y2FwQggKBl90aXRsZUILCglfY29pbk5hbWVCEAoOX3F1b3RlQ29pbk5hbWVCCwoJX2Z1bGxOYW1lQgwKCl9saXF1aWRpdHlCDgoMX3RvdGFsVm9sdW1lQgkKB19jbG9zZWRCCgoIX2ljb25VcmxCDgoMX2F2YWlsYWJsZVRvQhEKD19hdmFpbGFibGVTaW5jZUIQCg5fcGFyZW50RXZlbnRJZEITChFfdW5kZXJseWluZ1N5bWJvbEIRCg9fdW5kZXJseWluZ0lzaW5CFAoSX2lzc3VlclRva2VuU3ltYm9sQhIKEF9zaGFyZU11bHRpcGxpZXJCDwoNX3ZvbHVtZTI0aFVzZEINCgtfdm9sdW1lQXNPZkIPCg1fcXVvdGVBc3NldElkQg0KC19kZXBsb3llcklkQgoKCF9kZXhOYW1lSgQIIhAjSgQIJBAlIqgGChxNYXJrZXRTZWFyY2hQcmVkaWN0aW9uTWFya2V0EgwKBHNsdWcYASABKAkSEQoJbGFzdFByaWNlGAIgASgBEhAKCHF1ZXN0aW9uGAMgASgJEhYKDmdyb3VwSXRlbVRpdGxlGAQgASgJEhkKEW9uZURheVByaWNlQ2hhbmdlGAUgASgBEg4KBnByaWNlcxgGIAMoARIOCgZjbG9zZWQYByABKAgSHwoLYXZhaWxhYmxlVG8YCCABKAsyCi5UaW1lc3RhbXASIgoOYXZhaWxhYmxlU2luY2UYCSABKAsyCi5UaW1lc3RhbXASGAoLdG90YWxWb2x1bWUYCiABKAFIAIgBARIiCgxnZW9Mb2NhdGlvbnMYCyADKAsyDC5HZW9Mb2NhdGlvbhIaCg11bmlxdWVUcmFkZXJzGAwgASgBSAGIAQESGQoMYnV5Vm9sdW1lMjRIGA0gASgBSAKIAQESGgoNc2VsbFZvbHVtZTI0SBgOIAEoAUgDiAEBEhwKD3ZvbHVtZUNoYW5nZTI0SBgPIAEoAUgEiAEBEhAKCG91dGNvbWVzGBAgAygJEhsKDm9uZURheU9JQ2hhbmdlGBEgASgBSAWIAQESGQoMb3BlbkludGVyZXN0GBIgASgBSAaIAQESIgoVb3JkZXJQcmljZU1pblRpY2tTaXplGBMgASgBSAeIAQESGAoLY29uZGl0aW9uSWQYFCABKAlICIgBARIdChBzcG9ydHNNYXJrZXRUeXBlGBUgASgJSAmIAQESEQoEbGluZRgWIAEoAUgKiAEBEg8KB3Rva2VuSWQYFyABKAlCDgoMX3RvdGFsVm9sdW1lQhAKDl91bmlxdWVUcmFkZXJzQg8KDV9idXlWb2x1bWUyNEhCEAoOX3NlbGxWb2x1bWUyNEhCEgoQX3ZvbHVtZUNoYW5nZTI0SEIRCg9fb25lRGF5T0lDaGFuZ2VCDwoNX29wZW5JbnRlcmVzdEIYChZfb3JkZXJQcmljZU1pblRpY2tTaXplQg4KDF9jb25kaXRpb25JZEITChFfc3BvcnRzTWFya2V0VHlwZUIHCgVfbGluZSI6Cg9NYXJrZXRTZWFyY2hUYWcSCgoCaWQYASABKAMSDQoFbGFiZWwYAiABKAkSDAoEc2x1ZxgDIAEoCSLFAQoLTWFya2V0QXNzZXQSEQoJYXNzZXROYW1lGAEgASgJEhQKDG1heFZvbHVtZTI0aBgCIAEoARIeCgdzeW1ib2xzGAMgAygLMg0uTWFya2V0U3ltYm9sEhMKC2Fzc2V0VGlja2VyGAQgASgJEhQKDHZhcmlhbnRDb3VudBgIIAEoBRIcCg9tYXhWb2x1bWUyNGhVc2QYCSABKAFIAIgBARIQCghncm91cEtleRgKIAEoCUISChBfbWF4Vm9sdW1lMjRoVXNkImYKEkdldE1hcmtldHNSZXNwb25zZRIeCgdzeW1ib2xzGAEgAygLMg0uTWFya2V0U3ltYm9sEhIKCm5leHRPZmZzZXQYAiABKAUSHAoGYXNzZXRzGAMgAygLMgwuTWFya2V0QXNzZXQiWgoOTWFya2V0U3RhdHNLZXkSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAEoDjIJLkNhdGVnb3J5Eg4KBnN5bWJvbBgDIAEoCSJTChhTdHJlYW1NYXJrZXRTdGF0c1JlcXVlc3QSIAoHbWFya2V0cxgBIAMoCzIPLk1hcmtldFN0YXRzS2V5EhUKDWluY2x1ZGVQcmljZXMYAiABKAgiMgoTTWFya2V0U3RhdHNSZXNwb25zZRIbCgVzdGF0cxgBIAMoCzIMLk1hcmtldFN0YXRzIsAQCgtNYXJrZXRTdGF0cxIcCgNrZXkYASABKAsyDy5NYXJrZXRTdGF0c0tleRINCgVmb3VuZBgCIAEoCBIhCghsaXZlQXNPZhgDIAEoCzIKLlRpbWVzdGFtcEgAiAEBEiEKCHNsb3dBc09mGAQgASgLMgouVGltZXN0YW1wSAGIAQESFgoJbGFzdFByaWNlGAogASgBSAKIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCyABKAFIA4gBARIWCgl2b2x1bWUyNGgYDCABKAFIBIgBARIZCgx2b2x1bWUyNGhVc2QYDSABKAFIBYgBARIcCg92b2x1bWVDaGFuZ2UyNGgYDiABKAFIBogBARIOCgZwcmljZXMYDyADKAESGAoLb2lDaGFuZ2UyNGgYECABKAFIB4gBARIcCg9vcGVuSW50ZXJlc3RVc2QYFCABKAFICIgBARIYCgtmdW5kaW5nUmF0ZRgVIAEoAUgJiAEBEh4KEWZ1bmRpbmdJbnRlcnZhbE1zGBYgASgDSAqIAQESFgoJbWFya2V0Y2FwGBcgASgBSAuIAQESEAoDZmR2GBggASgBSAyIAQESHgoRY2lyY3VsYXRpbmdTdXBwbHkYGSABKAFIDYgBARIYCgt0b3RhbFN1cHBseRgaIAEoAUgOiAEBEhYKCW1heFN1cHBseRgbIAEoAUgPiAEBEh4KEXNoYXJlc091dHN0YW5kaW5nGBwgASgBSBCIAQESGwoOcHJpY2VDaGFuZ2UxMG0YKCABKAFIEYgBARIaCg1wcmljZUNoYW5nZTFoGCkgASgBSBKIAQESGgoNcHJpY2VDaGFuZ2U3ZBgqIAEoAUgTiAEBEhIKBWxvdzdkGCsgASgBSBSIAQESEwoGaGlnaDdkGCwgASgBSBWIAQESGQoMdm9sdW1lMTBtVXNkGC0gASgBSBaIAQESGAoLdm9sdW1lMWhVc2QYLiABKAFIF4gBARIeChF2b2x1bWVEZWx0YTEwbVVzZBgvIAEoAUgYiAEBEh0KEHZvbHVtZURlbHRhMWhVc2QYMCABKAFIGYgBARIeChF2b2x1bWVEZWx0YTI0aFVzZBgxIAEoAUgaiAEBEhcKCm9pQ2hhbmdlMWgYMiABKAFIG4gBARIeChFmdW5kaW5nUmF0ZUF2ZzI0aBgzIAEoAUgciAEBEhcKCmZ1bmRpbmdBcHIYNCABKAFIHYgBARIfChJsaXF1aWRhdGlvbnMyNGhVc2QYNSABKAFIHogBARIjChZsb25nTGlxdWlkYXRpb25zMjRoVXNkGDYgASgBSB+IAQESJAoXc2hvcnRMaXF1aWRhdGlvbnMyNGhVc2QYNyABKAFIIIgBARITCgZwZXJmMXcYOCABKAFIIYgBARITCgZwZXJmMW0YOSABKAFIIogBARITCgZwZXJmM20YOiABKAFII4gBARITCgZwZXJmNm0YOyABKAFIJIgBARIUCgdwZXJmWXRkGDwgASgBSCWIAQESEwoGcGVyZjF5GD0gASgBSCaIAQESFAoHaGlnaDUydxg+IAEoAUgniAEBEhMKBmxvdzUydxg/IAEoAUgoiAEBEhkKDGJ1eVZvbHVtZTI0aBhGIAEoAUgpiAEBEhoKDXNlbGxWb2x1bWUyNGgYRyABKAFIKogBARIaCg11bmlxdWVUcmFkZXJzGEggASgDSCuIAQESGAoLdG90YWxWb2x1bWUYSSABKAFILIgBARIgCgdlbmREYXRlGEogASgLMgouVGltZXN0YW1wSC2IAQESEwoGY2xvc2VkGEsgASgISC6IAQFCCwoJX2xpdmVBc09mQgsKCV9zbG93QXNPZkIMCgpfbGFzdFByaWNlQhEKD19wcmljZUNoYW5nZTI0aEIMCgpfdm9sdW1lMjRoQg8KDV92b2x1bWUyNGhVc2RCEgoQX3ZvbHVtZUNoYW5nZTI0aEIOCgxfb2lDaGFuZ2UyNGhCEgoQX29wZW5JbnRlcmVzdFVzZEIOCgxfZnVuZGluZ1JhdGVCFAoSX2Z1bmRpbmdJbnRlcnZhbE1zQgwKCl9tYXJrZXRjYXBCBgoEX2ZkdkIUChJfY2lyY3VsYXRpbmdTdXBwbHlCDgoMX3RvdGFsU3VwcGx5QgwKCl9tYXhTdXBwbHlCFAoSX3NoYXJlc091dHN0YW5kaW5nQhEKD19wcmljZUNoYW5nZTEwbUIQCg5fcHJpY2VDaGFuZ2UxaEIQCg5fcHJpY2VDaGFuZ2U3ZEIICgZfbG93N2RCCQoHX2hpZ2g3ZEIPCg1fdm9sdW1lMTBtVXNkQg4KDF92b2x1bWUxaFVzZEIUChJfdm9sdW1lRGVsdGExMG1Vc2RCEwoRX3ZvbHVtZURlbHRhMWhVc2RCFAoSX3ZvbHVtZURlbHRhMjRoVXNkQg0KC19vaUNoYW5nZTFoQhQKEl9mdW5kaW5nUmF0ZUF2ZzI0aEINCgtfZnVuZGluZ0FwckIVChNfbGlxdWlkYXRpb25zMjRoVXNkQhkKF19sb25nTGlxdWlkYXRpb25zMjRoVXNkQhoKGF9zaG9ydExpcXVpZGF0aW9uczI0aFVzZEIJCgdfcGVyZjF3QgkKB19wZXJmMW1CCQoHX3BlcmYzbUIJCgdfcGVyZjZtQgoKCF9wZXJmWXRkQgkKB19wZXJmMXlCCgoIX2hpZ2g1MndCCQoHX2xvdzUyd0IPCg1fYnV5Vm9sdW1lMjRoQhAKDl9zZWxsVm9sdW1lMjRoQhAKDl91bmlxdWVUcmFkZXJzQg4KDF90b3RhbFZvbHVtZUIKCghfZW5kRGF0ZUIJCgdfY2xvc2VkImoKFUdldE9wdGlvbkNoYWluUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSFwoKZXhwaXJ5VW5peBgDIAEoA0gAiAEBQg0KC19leHBpcnlVbml4IkQKFU9wdGlvbkNoYWluSW5zdHJ1bWVudBIRCglyYXdTeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCSJwChFPcHRpb25DaGFpblN0cmlrZRIOCgZzdHJpa2UYASABKAESJQoFY2FsbHMYAiADKAsyFi5PcHRpb25DaGFpbkluc3RydW1lbnQSJAoEcHV0cxgDIAMoCzIWLk9wdGlvbkNoYWluSW5zdHJ1bWVudCJlChFPcHRpb25DaGFpbkV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhcKD2luc3RydW1lbnRDb3VudBgCIAEoBRIjCgdzdHJpa2VzGAMgAygLMhIuT3B0aW9uQ2hhaW5TdHJpa2UiaQoWR2V0T3B0aW9uQ2hhaW5SZXNwb25zZRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSJAoIZXhwaXJpZXMYAyADKAsyEi5PcHRpb25DaGFpbkV4cGlyeSLPAQocR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhIKCnVuZGVybHlpbmcYAiABKAkSEAoIZXhwaXJpZXMYAyADKAMSHAoPbmVpZ2hib3JTdHJpa2VzGAQgASgFSACIAQESFgoOYWxsVW5kZXJseWluZ3MYBSABKAgSIgoGdGltaW5nGAYgASgOMhIuT3B0aW9uQ2hhaW5UaW1pbmdCEgoQX25laWdoYm9yU3RyaWtlcyKvBQoQT3B0aW9uQ2hhaW5RdW90ZRIOCgZzeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCRIQCgNiaWQYAyABKAFIAIgBARIQCgNhc2sYBCABKAFIAYgBARIUCgdiaWRTaXplGAUgASgBSAKIAQESFAoHYXNrU2l6ZRgGIAEoAUgDiAEBEhIKBWJpZElWGAcgASgBSASIAQESEgoFYXNrSVYYCCABKAFIBYgBARIRCgRsYXN0GAkgASgBSAaIAQESEwoGdm9sdW1lGAogASgBSAeIAQESGQoMb3BlbkludGVyZXN0GAsgASgBSAiIAQESFgoJbWFya1ByaWNlGAwgASgBSAmIAQESEwoGbWFya0lWGA0gASgBSAqIAQESEgoFZGVsdGEYDiABKAFIC4gBARISCgVnYW1tYRgPIAEoAUgMiAEBEhEKBHZlZ2EYECABKAFIDYgBARISCgV0aGV0YRgRIAEoAUgOiAEBEhAKA3JobxgSIAEoAUgPiAEBEhEKCXRpbWVzdGFtcBgTIAEoAxIcCg9zZXR0bGVtZW50UHJpY2UYFCABKAFIEIgBARIWCg5zZXR0bGVtZW50RGF0ZRgVIAEoAxIVCghmdWxsTmFtZRgWIAEoCUgRiAEBQgYKBF9iaWRCBgoEX2Fza0IKCghfYmlkU2l6ZUIKCghfYXNrU2l6ZUIICgZfYmlkSVZCCAoGX2Fza0lWQgcKBV9sYXN0QgkKB192b2x1bWVCDwoNX29wZW5JbnRlcmVzdEIMCgpfbWFya1ByaWNlQgkKB19tYXJrSVZCCAoGX2RlbHRhQggKBl9nYW1tYUIHCgVfdmVnYUIICgZfdGhldGFCBgoEX3Job0ISChBfc2V0dGxlbWVudFByaWNlQgsKCV9mdWxsTmFtZSJrChhPcHRpb25DaGFpblN1bW1hcnlTdHJpa2USDgoGc3RyaWtlGAEgASgBEh8KBGNhbGwYAiABKAsyES5PcHRpb25DaGFpblF1b3RlEh4KA3B1dBgDIAEoCzIRLk9wdGlvbkNoYWluUXVvdGUirQMKGE9wdGlvbkNoYWluU3VtbWFyeUV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhgKEHVuZGVybHlpbmdTeW1ib2wYAiABKAkSHAoPdW5kZXJseWluZ1ByaWNlGAMgASgBSACIAQESLgoMYW5jaG9yU291cmNlGAQgASgOMhguT3B0aW9uQ2hhaW5BbmNob3JTb3VyY2USFgoJYXRtU3RyaWtlGAUgASgBSAGIAQESFwoPaW5zdHJ1bWVudENvdW50GAYgASgFEioKB3N0cmlrZXMYByADKAsyGS5PcHRpb25DaGFpblN1bW1hcnlTdHJpa2USHwoSdW5kZXJseWluZ0NvaW5OYW1lGAggASgJSAKIAQESHwoSdW5kZXJseWluZ0Z1bGxOYW1lGAkgASgJSAOIAQESFwoKaW5kZXhQcmljZRgKIAEoAUgEiAEBQhIKEF91bmRlcmx5aW5nUHJpY2VCDAoKX2F0bVN0cmlrZUIVChNfdW5kZXJseWluZ0NvaW5OYW1lQhUKE191bmRlcmx5aW5nRnVsbE5hbWVCDQoLX2luZGV4UHJpY2Ui5gEKHUdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEgoKdW5kZXJseWluZxgCIAEoCRIbChNyZXF1ZXN0ZWRVbmRlcmx5aW5nGAMgASgJEisKCGV4cGlyaWVzGAQgAygLMhkuT3B0aW9uQ2hhaW5TdW1tYXJ5RXhwaXJ5EiIKBnRpbWluZxgFIAEoDjISLk9wdGlvbkNoYWluVGltaW5nEhAKCGFzT2ZVbml4GAYgASgDEhQKDGRlbGF5U2Vjb25kcxgHIAEoBSKVAgoPTWV0YWRhdGFSZXF1ZXN0EhMKBHR5cGUYASADKA4yBS5UeXBlEhsKCGV4Y2hhbmdlGAIgAygOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAyADKA4yCS5DYXRlZ29yeRIMCgRjb2luGAQgAygJEhEKCXJhd1N5bWJvbBgFIAMoCRIYChBub3JtYWxpemVkU3ltYm9sGAogAygJEgwKBGZyb20YBiABKAMSDgoGcGVyaW9kGAcgASgDEhcKBmlzc3VlchgIIAMoDjIHLklzc3VlchIRCglibG9ja1NpemUYCSADKAESFQoFdGVub3IYCyADKA4yBi5UZW5vchIXCgZzb3VyY2UYDCADKA4yBy5Tb3VyY2UiKwoMRGF0YVJlc3BvbnNlEhsKBnNlcmllcxgBIAMoCzILLlRpbWVTZXJpZXMi7wMKEE1ldGFkYXRhUmVzcG9uc2USFAoFdHlwZXMYASADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgCIAMoDjIJLkV4Y2hhbmdlEh0KCmNhdGVnb3JpZXMYAyADKA4yCS5DYXRlZ29yeRINCgVjb2lucxgEIAMoCRISCgpyYXdTeW1ib2xzGAYgAygJEhkKEW5vcm1hbGl6ZWRTeW1ib2xzGAkgAygJEhcKBmlzc3VlchgHIAMoDjIHLklzc3VlchISCgpibG9ja1NpemVzGAggAygBEhYKBnRlbm9ycxgKIAMoDjIGLlRlbm9yEi8KEmV4Y2hhbmdlQ2F0ZWdvcmllcxgLIAMoCzITLkV4Y2hhbmdlQ2F0ZWdvcmllcxJNChZjb2luRXhjaGFuZ2VSYXdTeW1ib2xzGAwgAygLMi0uTWV0YWRhdGFSZXNwb25zZS5Db2luRXhjaGFuZ2VSYXdTeW1ib2xzRW50cnkSLAoRcmVnaXN0cnlNZXRhZGF0YXMYDSADKAsyES5SZWdpc3RyeU1ldGFkYXRhGlcKG0NvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRILCgNrZXkYASABKAkSJwoFdmFsdWUYAiABKAsyGC5FeGNoYW5nZVJhd1N5bWJvbHNHcm91cDoCOAEioQQKEFJlZ2lzdHJ5TWV0YWRhdGESEwoEdHlwZRgBIAEoDjIFLlR5cGUSGwoIZXhjaGFuZ2UYAiABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgDIAEoDjIJLkNhdGVnb3J5EgwKBGNvaW4YBCABKAkSEQoJcmF3U3ltYm9sGAUgASgJEhgKEG5vcm1hbGl6ZWRTeW1ib2wYBiABKAkSEQoJYmxvY2tTaXplGAcgASgBEh8KEmNvbnRyYWN0TXVsdGlwbGllchgIIAEoAUgAiAEBEhQKB2ludmVyc2UYCSABKAhIAYgBARIXCgpwb2ludFZhbHVlGAogASgBSAKIAQESIAoTYXZhaWxhYmxlU2luY2VVbml4UxgTIAEoA0gDiAEBEh0KEGF2YWlsYWJsZVRvVW5peFMYFCABKANIBIgBAUIVChNfY29udHJhY3RNdWx0aXBsaWVyQgoKCF9pbnZlcnNlQg0KC19wb2ludFZhbHVlQhYKFF9hdmFpbGFibGVTaW5jZVVuaXhTQhMKEV9hdmFpbGFibGVUb1VuaXhTSgQICxATUgphc3NldENsYXNzUhB1bmRlcmx5aW5nU3ltYm9sUg51bmRlcmx5aW5nSXNpblIGaXNzdWVyUhFpc3N1ZXJUb2tlblN5bWJvbFIPc2hhcmVNdWx0aXBsaWVyUhB0cmFkaW5nSG91cnNNb2RlUg5pc0lzc3VlckhhbHRlZCJQChJFeGNoYW5nZUNhdGVnb3JpZXMSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRIdCgpjYXRlZ29yaWVzGAIgAygOMgkuQ2F0ZWdvcnkiRQoSRXhjaGFuZ2VSYXdTeW1ib2xzEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEgoKcmF3U3ltYm9scxgCIAMoCSJKChdFeGNoYW5nZVJhd1N5bWJvbHNHcm91cBIvChJleGNoYW5nZVJhd1N5bWJvbHMYASADKAsyEy5FeGNoYW5nZVJhd1N5bWJvbHMiKAoKQ29pbkRldGFpbBIMCgRjb2luGAEgASgJEgwKBG5hbWUYAiABKAkiNQoRR2V0U2VjdG9yUmVzcG9uc2USIAoLY29pbkRldGFpbHMYASADKAsyCy5Db2luRGV0YWlsIiIKEEdldFNlY3RvclJlcXVlc3QSDgoGc2VjdG9yGAEgASgFIkAKDFNlY3RvckRldGFpbBIKCgJpZBgBIAEoBRIMCgRuYW1lGAIgASgJEhYKDmNoaWxkU2VjdG9ySURzGAMgAygFIjQKEkdldFNlY3RvcnNSZXNwb25zZRIeCgdzZWN0b3JzGAEgAygLMg0uU2VjdG9yRGV0YWlsInYKDkdldEdhcHNSZXF1ZXN0EhgKBGZyb20YASABKAsyCi5UaW1lc3RhbXASFgoCdG8YAiABKAsyCi5UaW1lc3RhbXASFAoFdHlwZXMYAyADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgEIAMoDjIJLkV4Y2hhbmdlIjAKGU9yZGVyQm9va0ZlYXR1cmVzUmVzcG9uc2USEwoLcGVyY2VudGlsZXMYASADKAEiiwEKD0dldEdhcHNSZXNwb25zZRI4CgxleGNoYW5nZUdhcHMYASADKAsyIi5HZXRHYXBzUmVzcG9uc2UuRXhjaGFuZ2VHYXBzRW50cnkaPgoRRXhjaGFuZ2VHYXBzRW50cnkSCwoDa2V5GAEgASgJEhgKBXZhbHVlGAIgASgLMgkuVHlwZUdhcHM6AjgBIqMBChNEZWxldGVQb2ludHNSZXF1ZXN0EhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEwoEdHlwZRgCIAEoDjIFLlR5cGUSGAoEZnJvbRgDIAEoCzIKLlRpbWVzdGFtcBIWCgJ0bxgEIAEoCzIKLlRpbWVzdGFtcBITCgt0b0luY2x1c2l2ZRgFIAEoCBITCgt0YWJsZVByZWZpeBgGIAEoCSJ6ChRSZWZyZXNoUG9pbnRzUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhMKBHR5cGUYAiABKA4yBS5UeXBlEhgKBGZyb20YAyABKAsyCi5UaW1lc3RhbXASFgoCdG8YBCABKAsyCi5UaW1lc3RhbXAiNwoDR2FwEhgKBGZyb20YASABKAsyCi5UaW1lc3RhbXASFgoCdG8YAiABKAsyCi5UaW1lc3RhbXAiMgoHVHlwZUdhcBITCgR0eXBlGAEgASgOMgUuVHlwZRISCgRnYXBzGAIgAygLMgQuR2FwIiYKCFR5cGVHYXBzEhoKCHR5cGVHYXBzGAEgAygLMgguVHlwZUdhcCIsChRHZXRXYXRlcm1hcmtzUmVxdWVzdBIUCgV0eXBlcxgBIAMoDjIFLlR5cGUikwEKFUdldFdhdGVybWFya3NSZXNwb25zZRI6Cgp3YXRlcm1hcmtzGAEgAygLMiYuR2V0V2F0ZXJtYXJrc1Jlc3BvbnNlLldhdGVybWFya3NFbnRyeRo+Cg9XYXRlcm1hcmtzRW50cnkSCwoDa2V5GAEgASgJEhoKBXZhbHVlGAIgASgLMgsuV2F0ZXJtYXJrczoCOAEiQQoKV2F0ZXJtYXJrcxIzChRhZ2dJbnRlcnZhbFdhdGVybWFyaxgBIAMoCzIVLkFnZ0ludGVydmFsV2F0ZXJtYXJrImAKFEFnZ0ludGVydmFsV2F0ZXJtYXJrEikKC2FnZ0ludGVydmFsGAEgASgOMhQuQWdncmVnYXRpb25JbnRlcnZhbBIdCgl3YXRlcm1hcmsYAiABKAsyCi5UaW1lc3RhbXAi7AEKE0dldEdhcHNDb3VudFJlcXVlc3QSGAoEZnJvbRgBIAEoCzIKLlRpbWVzdGFtcBIWCgJ0bxgCIAEoCzIKLlRpbWVzdGFtcBIUCgV0eXBlcxgDIAMoDjIFLlR5cGUSHAoJZXhjaGFuZ2VzGAQgAygOMgkuRXhjaGFuZ2USKQoLYWdnSW50ZXJ2YWwYBSABKA4yFC5BZ2dyZWdhdGlvbkludGVydmFsEisKCmlkZW50aWZpZXIYBiABKA4yFy5HZXRHYXBzQ291bnRJZGVudGlmaWVyEhcKD2lkZW50aWZpZXJWYWx1ZRgHIAEoCSKmAQoUR2V0R2Fwc0NvdW50UmVzcG9uc2USRwoRZXhjaGFuZ2VHYXBzQ291bnQYASADKAsyLC5HZXRHYXBzQ291bnRSZXNwb25zZS5FeGNoYW5nZUdhcHNDb3VudEVudHJ5GkUKFkV4Y2hhbmdlR2Fwc0NvdW50RW50cnkSCwoDa2V5GAEgASgJEhoKBXZhbHVlGAIgASgLMgsuVHlwZUNvdW50czoCOAEiLAoKVHlwZUNvdW50cxIeCgp0eXBlQ291bnRzGAEgAygLMgouVHlwZUNvdW50Ii8KCVR5cGVDb3VudBITCgR0eXBlGAEgASgOMgUuVHlwZRINCgVjb3VudBgCIAEoBSL2DwoLUlBDUmVzcG9uc2USDwoCaWQYASABKANIAIgBARISCgVlcnJvchgCIAEoCUgBiAEBEhEKBHNpemUYAyABKANIAogBARIbCgZzZXJpZXMYBCADKAsyCy5UaW1lU2VyaWVzEiwKEXJlZ2lzdHJ5TWV0YWRhdGFzGAUgAygLMhEuUmVnaXN0cnlNZXRhZGF0YRIgCgtjb2luTWV0cmljcxgGIAMoCzILLkNvaW5NZXRyaWMSJAoNbWFya2V0U3ltYm9scxgHIAMoCzINLk1hcmtldFN5bWJvbBIaCgRwb25nGAggASgLMgwuUG9uZ01lc3NhZ2USLAoRcG9seW1hcmtldE1hcmtldHMYCiADKAsyES5Qb2x5bWFya2V0TWFya2V0EhgKEG1ldGFkYXRhX3N0cmluZ3MYCyADKAkSJQoSbWV0YWRhdGFfZXhjaGFuZ2VzGAwgAygOMgkuRXhjaGFuZ2USJgoTbWV0YWRhdGFfY2F0ZWdvcmllcxgNIAMoDjIJLkNhdGVnb3J5EjIKEXBvbHltYXJrZXRfb3JkZXJzGA4gAygLMhcuUG9seW1hcmtldFBhcnNlZE9yZGVycxIfChdvcmRlcl9ib29rX2Rpc3RyaWJ1dGlvbhgPIAMoARIXCg9tZXRhZGF0YV9mbG9hdHMYECADKAESOAoXcG9seW1hcmtldENhdGVnb3J5UGFpcnMYESADKAsyFy5Qb2x5bWFya2V0Q2F0ZWdvcnlQYWlyEjoKGHBvbHltYXJrZXRUcmFkZXJQcm9maWxlcxgSIAMoCzIYLlBvbHltYXJrZXRUcmFkZXJQcm9maWxlEjkKF3BvbHltYXJrZXRVc2VyUG9zaXRpb25zGBMgAygLMhguUG9seW1hcmtldFVzZXJQb3NpdGlvbnMSSAoWY29pbkV4Y2hhbmdlUmF3U3ltYm9scxgUIAMoCzIoLlJQQ1Jlc3BvbnNlLkNvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRI5Chdwb2x5bWFya2V0TWFya2V0U3VtbWFyeRgVIAMoCzIYLlBvbHltYXJrZXRNYXJrZXRTdW1tYXJ5EjQKD3VzZXJfY2F0ZWdvcmllcxgWIAMoCzIbLlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yaWVzEiIKDG1hcmtldEFzc2V0cxgXIAMoCzIMLk1hcmtldEFzc2V0Ej0KGXBvbHltYXJrZXRQbGF0Zm9ybVN1bW1hcnkYGCADKAsyGi5Qb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5EkcKHnBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbhgZIAMoCzIfLlBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbhIvChJleGNoYW5nZUNhdGVnb3JpZXMYGiADKAsyEy5FeGNoYW5nZUNhdGVnb3JpZXMSNQoQcG9seW1hcmtldEV2ZW50cxgbIAMoCzIbLkdldFBvbHltYXJrZXRFdmVudFJlc3BvbnNlEh4KB3NlY3RvcnMYHCADKAsyDS5TZWN0b3JEZXRhaWwSJgoRc2VjdG9yQ29pbkRldGFpbHMYHSADKAsyCy5Db2luRGV0YWlsEikKEHNlY3RvckNhdGVnb3JpZXMYHiADKAsyDy5TZWN0b3JDYXRlZ29yeRIkCg1mcmVkTWV0YWRhdGFzGB8gAygLMg0uRnJlZE1ldGFkYXRhEjUKFXBvbHlnb25UaWNrZXJNZXRhZGF0YRggIAMoCzIWLlBvbHlnb25UaWNrZXJNZXRhZGF0YRIzChR0b2tlblVubG9ja3NNZXRhZGF0YRghIAMoCzIVLlRva2VuVW5sb2Nrc01ldGFkYXRhEjEKD3N5bWJvbERpcmVjdG9yeRgiIAEoCzIYLlN5bWJvbERpcmVjdG9yeVJlc3BvbnNlEiwKC29wdGlvbkNoYWluGCMgASgLMhcuR2V0T3B0aW9uQ2hhaW5SZXNwb25zZRIeChFyZXRyeUFmdGVyU2Vjb25kcxgkIAEoA0gDiAEBEiwKDnJhdGVMaW1pdFVzYWdlGCUgASgLMg8uUmF0ZUxpbWl0VXNhZ2VIBIgBARIUCgd0b29rX21zGCYgASgDSAWIAQESOgoSb3B0aW9uQ2hhaW5TdW1tYXJ5GCcgASgLMh4uR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVzcG9uc2USOAoXZWNvbm9taWNTZXJpZXNNZXRhZGF0YXMYKCADKAsyFy5FY29ub21pY1Nlcmllc01ldGFkYXRhEiEKC21hcmtldFN0YXRzGCkgAygLMgwuTWFya2V0U3RhdHMSNgoWbWVtZWNvaW5UcmFkZXJQcm9maWxlcxgqIAMoCzIWLk1lbWVjb2luVHJhZGVyUHJvZmlsZRIyChRtZW1lY29pblRva2VuSG9sZGVycxgrIAMoCzIULk1lbWVjb2luVG9rZW5Ib2xkZXIaVwobQ29pbkV4Y2hhbmdlUmF3U3ltYm9sc0VudHJ5EgsKA2tleRgBIAEoCRInCgV2YWx1ZRgCIAEoCzIYLkV4Y2hhbmdlUmF3U3ltYm9sc0dyb3VwOgI4AUIFCgNfaWRCCAoGX2Vycm9yQgcKBV9zaXplQhQKEl9yZXRyeUFmdGVyU2Vjb25kc0IRCg9fcmF0ZUxpbWl0VXNhZ2VCCgoIX3Rvb2tfbXNKBAgJEAoinAEKDlJhdGVMaW1pdFVzYWdlEg0KBWxpbWl0GAEgASgDEhEKCXJlbWFpbmluZxgCIAEoAxIMCgR1c2VkGAMgASgDEg8KB3Jlc2V0QXQYBCABKAMSFQoNd2luZG93U2Vjb25kcxgFIAEoAxIoCgVkYWlseRgGIAEoCzIULlJhdGVMaW1pdERhaWx5VXNhZ2VIAIgBAUIICgZfZGFpbHkiVgoTUmF0ZUxpbWl0RGFpbHlVc2FnZRINCgVsaW1pdBgBIAEoAxIMCgR1c2VkGAIgASgDEhEKCXJlbWFpbmluZxgDIAEoAxIPCgdyZXNldEF0GAQgASgDIocCCg5TeW1ib2xDcml0ZXJpYRIeCgZleHBpcnkYASABKAsyCS5Dcml0ZXJpYUgAiAEBEiQKDGNvbnRyYWN0VHlwZRgCIAEoCzIJLkNyaXRlcmlhSAGIAQESIwoLc3RyaWtlUHJpY2UYAyABKAsyCS5Dcml0ZXJpYUgCiAEBEiIKCm9wdGlvblR5cGUYBCABKAsyCS5Dcml0ZXJpYUgDiAEBEh8KB2ludmVyc2UYBSABKAsyCS5Dcml0ZXJpYUgEiAEBQgkKB19leHBpcnlCDwoNX2NvbnRyYWN0VHlwZUIOCgxfc3RyaWtlUHJpY2VCDQoLX29wdGlvblR5cGVCCgoIX2ludmVyc2Ui/AEKCENyaXRlcmlhEhUKCGxlc3NUaGFuGAEgASgJSACIAQESGgoNbGVzc1RoYW5FcXVhbBgCIAEoCUgBiAEBEhgKC2dyZWF0ZXJUaGFuGAMgASgJSAKIAQESHQoQZ3JlYXRlclRoYW5FcXVhbBgEIAEoCUgDiAEBEhIKBWVxdWFsGAUgASgJSASIAQESFQoIbm90RXF1YWwYBiABKAlIBYgBAUILCglfbGVzc1RoYW5CEAoOX2xlc3NUaGFuRXF1YWxCDgoMX2dyZWF0ZXJUaGFuQhMKEV9ncmVhdGVyVGhhbkVxdWFsQggKBl9lcXVhbEILCglfbm90RXF1YWwiwQQKCkNvaW5NZXRyaWMSDAoEY29pbhgBIAEoCRINCgVwcmljZRgCIAEoARIlChhwcmljZVBlcmNlbnRhZ2VDaGFuZ2UyNEgYAyABKAFIAIgBARIWCg50b3RhbFZvbHVtZTI0SBgEIAEoARIhChR0b3RhbE9wZW5JbnRlcmVzdDI0SBgFIAEoAUgBiAEBEiwKH29wZW5JbnRlcmVzdFBlcmNlbnRhZ2VDaGFuZ2UyNEgYBiABKAFIAogBARIfChJvaXdhRnVuZGluZ1JhdGUyNEgYByABKAFIA4gBARIvCiJvaXdhRnVuZGluZ1JhdGVQZXJjZW50YWdlQ2hhbmdlMjRIGAggASgBSASIAQESFgoJbWFya2V0Y2FwGAkgASgBSAWIAQESMQoYbmV3bHlMaXN0ZWREYXRlQmluYW5jZTdEGAogASgLMgouVGltZXN0YW1wSAaIAQESFwoKYXRyUGVyY2VudBgLIAEoAUgHiAEBQhsKGV9wcmljZVBlcmNlbnRhZ2VDaGFuZ2UyNEhCFwoVX3RvdGFsT3BlbkludGVyZXN0MjRIQiIKIF9vcGVuSW50ZXJlc3RQZXJjZW50YWdlQ2hhbmdlMjRIQhUKE19vaXdhRnVuZGluZ1JhdGUyNEhCJQojX29pd2FGdW5kaW5nUmF0ZVBlcmNlbnRhZ2VDaGFuZ2UyNEhCDAoKX21hcmtldGNhcEIbChlfbmV3bHlMaXN0ZWREYXRlQmluYW5jZTdEQg0KC19hdHJQZXJjZW50IiYKFUdldENvaW5NZXRyaWNzUmVxdWVzdBINCgVjb2lucxgBIAMoCSI6ChZHZXRDb2luTWV0cmljc1Jlc3BvbnNlEiAKC2NvaW5NZXRyaWNzGAEgAygLMgsuQ29pbk1ldHJpYyJwCg5TZWN0b3JDYXRlZ29yeRIvChJzZWN0b3JNYWluQ2F0ZWdvcnkYASABKA4yEy5TZWN0b3JNYWluQ2F0ZWdvcnkSLQoRc2VjdG9yU3ViQ2F0ZWdvcnkYAiABKA4yEi5TZWN0b3JTdWJDYXRlZ29yeSJIChtHZXRTZWN0b3JDYXRlZ29yaWVzUmVzcG9uc2USKQoQc2VjdG9yQ2F0ZWdvcmllcxgBIAMoCzIPLlNlY3RvckNhdGVnb3J5IpEFCgxGcmVkTWV0YWRhdGESCgoCaWQYASABKAkSDQoFdGl0bGUYAiABKAkSMwoVZnJlZF91cGRhdGVfZnJlcXVlbmN5GAMgASgOMhQuRnJlZFVwZGF0ZUZyZXF1ZW5jeRI0ChNzZWFzb25hbF9hZGp1c3RtZW50GAQgASgOMhcuRnJlZFNlYXNvbmFsQWRqdXN0bWVudBITCgt1bml0c19sYWJlbBgFIAEoCRIZChFvYnNlcnZhdGlvbl9zdGFydBgGIAEoCRIXCg9vYnNlcnZhdGlvbl9lbmQYByABKAkSFAoMbGFzdF91cGRhdGVkGAggASgJEiIKFWluZ2VzdF9zdGFydF9vdmVycmlkZRgJIAEoCUgAiAEBEh8KDGRlZmF1bHRfdW5pdBgKIAEoDjIJLkZyZWRVbml0Ej8KHGRlZmF1bHRfZG93bnNhbXBsZV9mcmVxdWVuY3kYCyABKA4yFC5GcmVkVXBkYXRlRnJlcXVlbmN5SAGIAQESNQoaZGVmYXVsdF9hZ2dyZWdhdGlvbl9tZXRob2QYDCABKA4yDC5Hcm91cEJ5VHlwZUgCiAEBEhcKCnJlbGVhc2VfaWQYDSABKANIA4gBARIZChFleHBlY3RlZF9sYWdfZGF5cxgOIAEoAxISCgVub3RlcxgPIAEoCUgEiAEBEiQKDWZyZWRfY2F0ZWdvcnkYECABKA4yDS5GcmVkQ2F0ZWdvcnlCGAoWX2luZ2VzdF9zdGFydF9vdmVycmlkZUIfCh1fZGVmYXVsdF9kb3duc2FtcGxlX2ZyZXF1ZW5jeUIdChtfZGVmYXVsdF9hZ2dyZWdhdGlvbl9tZXRob2RCDQoLX3JlbGVhc2VfaWRCCAoGX25vdGVzIjUKIEdldEZyZWRNZXRhZGF0YUJ5U2VyaWVzSURSZXF1ZXN0EhEKCXNlcmllc19pZBgBIAEoCSI/ChdHZXRGcmVkTWV0YWRhdGFSZXNwb25zZRIkCg1mcmVkTWV0YWRhdGFzGAEgAygLMg0uRnJlZE1ldGFkYXRhIsIDChZFY29ub21pY1Nlcmllc01ldGFkYXRhEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USDgoGc3ltYm9sGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC3Nob3J0X3RpdGxlGAQgASgJEg8KB2NvdW50cnkYBSABKAkSEAoIY2F0ZWdvcnkYBiABKAkSEQoJZnJlcXVlbmN5GAcgASgJEg0KBXVuaXRzGAggASgJEhEKCXVuaXRfa2luZBgJIAEoCRIQCghjdXJyZW5jeRgKIAEoCRINCgVzY2FsZRgLIAEoARIbChNzZWFzb25hbF9hZGp1c3RtZW50GAwgASgJEg8KB3JlbGVhc2UYDSABKAkSEwoLc291cmNlX25hbWUYDiABKAkSEgoKc291cmNlX3VybBgPIAEoCRIPCgdsaWNlbnNlGBAgASgJEhMKC2F0dHJpYnV0aW9uGBEgASgJEg8KB2FsaWFzZXMYEiADKAkSGQoRb2JzZXJ2YXRpb25fc3RhcnQYEyABKAkSDQoFbm90ZXMYFCABKAkSEwoLc291cmNlX2tpbmQYFSABKAkSEQoJbmF0aXZlX2lkGBYgASgJIrcBCiBHZXRFY29ub21pY1Nlcmllc01ldGFkYXRhUmVxdWVzdBIgCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlSACIAQESEwoGc3ltYm9sGAIgASgJSAGIAQESFAoHY291bnRyeRgDIAEoCUgCiAEBEhUKCGNhdGVnb3J5GAQgASgJSAOIAQFCCwoJX2V4Y2hhbmdlQgkKB19zeW1ib2xCCgoIX2NvdW50cnlCCwoJX2NhdGVnb3J5Il0KIUdldEVjb25vbWljU2VyaWVzTWV0YWRhdGFSZXNwb25zZRI4ChdlY29ub21pY1Nlcmllc01ldGFkYXRhcxgBIAMoCzIXLkVjb25vbWljU2VyaWVzTWV0YWRhdGEiMQofR2V0UG9seWdvblRpY2tlck1ldGFkYXRhUmVxdWVzdBIOCgZ0aWNrZXIYASABKAkilQgKFVBvbHlnb25UaWNrZXJNZXRhZGF0YRIYChBwcmltYXJ5X2V4Y2hhbmdlGAEgASgJEh0KFXByaW1hcnlfZXhjaGFuZ2VfbmFtZRgCIAEoCRIlChhwcmltYXJ5X2V4Y2hhbmdlX2Fjcm9ueW0YAyABKAlIAIgBARIOCgZ0aWNrZXIYBCABKAkSEwoLdGlja2VyX25hbWUYBSABKAkSGAoLZGVzY3JpcHRpb24YBiABKAlIAYgBARIOCgZzZWN0b3IYByABKAkSEAoIaW5kdXN0cnkYCCABKAkSEQoEaXNpbhgJIAEoCUgCiAEBEgwKBGZpZ2kYCiABKAkSCwoDY2lrGAsgASgJEhQKB3dlYnNpdGUYDCABKAlIA4gBARIMCgR0eXBlGA0gASgJEhMKC3BvaW50X3ZhbHVlGA4gASgBEhEKCXJvdW5kX2xvdBgPIAEoARIVCg1jdXJyZW5jeV9uYW1lGBAgASgJEhEKCXRpY2tfc2l6ZRgRIAEoARIQCgh0aW1lem9uZRgTIAEoCRIZCgxwaG9uZV9udW1iZXIYFCABKAlIBIgBARIWCglhZGRyZXNzXzEYFSABKAlIBYgBARIRCgRjaXR5GBYgASgJSAaIAQESEgoFc3RhdGUYFyABKAlIB4gBARIYCgtwb3N0YWxfY29kZRgYIAEoCUgIiAEBEhwKD3RvdGFsX2VtcGxveWVlcxgZIAEoBUgJiAEBEhEKCW1hcmtldGNhcBgaIAEoARImCh5zaGFyZV9jbGFzc19zaGFyZXNfb3V0c3RhbmRpbmcYGyABKAESGQoRYnJhbmRpbmdfbG9nb191cmwYHCABKAkSGQoRYnJhbmRpbmdfaWNvbl91cmwYHSABKAkSIgoJbGlzdF9kYXRlGB4gASgLMgouVGltZXN0YW1wSAqIAQESDgoGYWN0aXZlGB8gASgIEhYKCWFkZHJlc3NfMhghIAEoCUgLiAEBEiYKDWRlbGlzdGVkX2RhdGUYIiABKAsyCi5UaW1lc3RhbXBIDIgBARITCgtwcmVfc2Vzc2lvbhgjIAEoCRIXCg9yZWd1bGFyX3Nlc3Npb24YJCABKAkSFAoMcG9zdF9zZXNzaW9uGCUgASgJQhsKGV9wcmltYXJ5X2V4Y2hhbmdlX2Fjcm9ueW1CDgoMX2Rlc2NyaXB0aW9uQgcKBV9pc2luQgoKCF93ZWJzaXRlQg8KDV9waG9uZV9udW1iZXJCDAoKX2FkZHJlc3NfMUIHCgVfY2l0eUIICgZfc3RhdGVCDgoMX3Bvc3RhbF9jb2RlQhIKEF90b3RhbF9lbXBsb3llZXNCDAoKX2xpc3RfZGF0ZUIMCgpfYWRkcmVzc18yQhAKDl9kZWxpc3RlZF9kYXRlSgQIEhATIkwKIEdldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlc3BvbnNlEigKCG1ldGFkYXRhGAEgAygLMhYuUG9seWdvblRpY2tlck1ldGFkYXRhIj8KHkdldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVxdWVzdBIPCgdzeW1ib2xzGAEgAygJEgwKBG5hbWUYAiADKAkiuwEKEVRva2VuVW5sb2NrRXZlbnRzEhMKC3VubG9ja190eXBlGAEgASgJEhUKDXVubG9ja19hbW91bnQYAiABKAESHwoLdW5sb2NrX2RhdGUYAyABKAsyCi5UaW1lc3RhbXASEAoIY2F0ZWdvcnkYBCABKAkSDQoFbGFiZWwYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSIwoPbGluZWFyX2VuZF9kYXRlGAcgASgLMgouVGltZXN0YW1wIngKFFRva2VuVW5sb2Nrc01ldGFkYXRhEg4KBnNvdXJjZRgBIAEoCRIOCgZzeW1ib2wYAiABKAkSDAoEbmFtZRgDIAEoCRIiCgZldmVudHMYBCADKAsyEi5Ub2tlblVubG9ja0V2ZW50cxIOCgZsYWJlbHMYBSADKAkiSwofR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGFSZXNwb25zZRIoCgltZXRhZGF0YXMYASADKAsyFS5Ub2tlblVubG9ja3NNZXRhZGF0YSJIChlHZXREZXhQb29sTWV0YWRhdGFSZXF1ZXN0EhUKBWNoYWluGAEgAygOMgYuQ2hhaW4SFAoMcG9vbF9hZGRyZXNzGAIgAygJIkAKGkdldERleFBvb2xNZXRhZGF0YVJlc3BvbnNlEiIKCG1ldGFkYXRhGAEgAygLMhAuRGV4UG9vbE1ldGFkYXRhIoUCCg9EZXhQb29sTWV0YWRhdGESFQoFY2hhaW4YASABKA4yBi5DaGFpbhIUCgxwb29sX2FkZHJlc3MYAiABKAkSKQoNcG9vbF9wcm90b2NvbBgDIAEoDjINLlBvb2xQcm90b2NvbEgAiAEBEiYKDWxhdW5jaGVkX2RhdGUYBCABKAsyCi5UaW1lc3RhbXBIAYgBARIWCglsaXF1aWRpdHkYBSABKAFIAogBARIYCgtpc192ZXJpZmllZBgGIAEoCEgDiAEBQhAKDl9wb29sX3Byb3RvY29sQhAKDl9sYXVuY2hlZF9kYXRlQgwKCl9saXF1aWRpdHlCDgoMX2lzX3ZlcmlmaWVkIqgDChpHZXRQb2x5bWFya2V0RXZlbnRzUmVxdWVzdBIQCghldmVudF9pZBgBIAMoAxIMCgRzbHVnGAIgAygJEhwKD3N0YXJ0X2RhdGVfZnJvbRgDIAEoA0gAiAEBEhoKDXN0YXJ0X2RhdGVfdG8YBCABKANIAYgBARIcCg9jcmVhdGVkX2F0X2Zyb20YBSABKANIAogBARIaCg1jcmVhdGVkX2F0X3RvGAYgASgDSAOIAQESEgoFbGltaXQYByABKAVIBIgBARITCgZvZmZzZXQYCCABKAVIBYgBARIMCgRsaXRlGAkgASgIEgwKBHRhZ3MYCiADKAkSEwoGY2xvc2VkGAsgASgISAaIAQESHAoPcGFyZW50X2V2ZW50X2lkGAwgASgDSAeIAQFCEgoQX3N0YXJ0X2RhdGVfZnJvbUIQCg5fc3RhcnRfZGF0ZV90b0ISChBfY3JlYXRlZF9hdF9mcm9tQhAKDl9jcmVhdGVkX2F0X3RvQggKBl9saW1pdEIJCgdfb2Zmc2V0QgkKB19jbG9zZWRCEgoQX3BhcmVudF9ldmVudF9pZCJKChtHZXRQb2x5bWFya2V0RXZlbnRzUmVzcG9uc2USKwoGZXZlbnRzGAEgAygLMhsuR2V0UG9seW1hcmtldEV2ZW50UmVzcG9uc2UiogEKGkdldFBvbHltYXJrZXRFdmVudFJlc3BvbnNlEh8KBWV2ZW50GAEgASgLMhAuUG9seW1hcmtldEV2ZW50EiIKB21hcmtldHMYAiADKAsyES5Qb2x5bWFya2V0TWFya2V0EhwKBHRhZ3MYAyADKAsyDi5Qb2x5bWFya2V0VGFnEiEKBnNlcmllcxgEIAMoCzIRLlBvbHltYXJrZXRTZXJpZXMijgEKC0dlb0xvY2F0aW9uEhQKDGNvdW50cnlfY29kZRgBIAEoCRIPCgdjb3VudHJ5GAIgASgJEg4KBnJlZ2lvbhgDIAEoCRIVCghsYXRpdHVkZRgEIAEoAUgAiAEBEhYKCWxvbmdpdHVkZRgFIAEoAUgBiAEBQgsKCV9sYXRpdHVkZUIMCgpfbG9uZ2l0dWRlIrgNCg9Qb2x5bWFya2V0RXZlbnQSCgoCaWQYASABKAMSEwoGdGlja2VyGAIgASgJSACIAQESDAoEc2x1ZxgDIAEoCRINCgV0aXRsZRgEIAEoCRIYCgtkZXNjcmlwdGlvbhgFIAEoCUgBiAEBEiMKCnN0YXJ0X2RhdGUYBiABKAsyCi5UaW1lc3RhbXBIAogBARImCg1jcmVhdGlvbl9kYXRlGAcgASgLMgouVGltZXN0YW1wSAOIAQESIQoIZW5kX2RhdGUYCCABKAsyCi5UaW1lc3RhbXBIBIgBARIjCgpjcmVhdGVkX2F0GAkgASgLMgouVGltZXN0YW1wSAWIAQESIwoKdXBkYXRlZF9hdBgKIAEoCzIKLlRpbWVzdGFtcEgGiAEBEiQKC2Nsb3NlZF90aW1lGAsgASgLMgouVGltZXN0YW1wSAeIAQESKwoSZmluaXNoZWRfdGltZXN0YW1wGAwgASgLMgouVGltZXN0YW1wSAiIAQESEgoFaW1hZ2UYDSABKAlICYgBARIRCgRpY29uGA4gASgJSAqIAQESDgoGYWN0aXZlGA8gASgIEg4KBmNsb3NlZBgQIAEoCBIQCghhcmNoaXZlZBgRIAEoCBILCgNuZXcYEiABKAgSEAoIZmVhdHVyZWQYEyABKAgSEgoKcmVzdHJpY3RlZBgUIAEoCBIYCgtjb21wZXRpdGl2ZRgVIAEoAUgLiAEBEgwKBGxpdmUYFiABKAgSDQoFZW5kZWQYFyABKAgSFgoJbGlxdWlkaXR5GBggASgBSAyIAQESEwoGdm9sdW1lGBkgASgBSA2IAQESGgoNb3Blbl9pbnRlcmVzdBgaIAEoAUgOiAEBEhkKDHZvbHVtZV8yNF9ochgbIAEoAUgPiAEBEhgKC3ZvbHVtZV8xX3drGBwgASgBSBCIAQESGAoLdm9sdW1lXzFfbW8YHSABKAFIEYgBARIbCg5saXF1aWRpdHlfY2xvYhgeIAEoAUgSiAEBEhUKCGNhdGVnb3J5GB8gASgJSBOIAQESGAoLc3ViY2F0ZWdvcnkYICABKAlIFIgBARIbCg5ob21lX3RlYW1fbmFtZRghIAEoCUgViAEBEhsKDmF3YXlfdGVhbV9uYW1lGCIgASgJSBaIAQESFAoHZ2FtZV9pZBgjIAEoBUgXiAEBEhgKC2dhbWVfc3RhdHVzGCQgASgJSBiIAQESFwoKZXZlbnRfZGF0ZRglIAEoCUgZiAEBEhcKCmV2ZW50X3dlZWsYJiABKAVIGogBARIjCgpzdGFydF90aW1lGCcgASgLMgouVGltZXN0YW1wSBuIAQESFQoIbmVnX3Jpc2sYKCABKAhIHIgBARIfChJuZWdfcmlza19tYXJrZXRfaWQYKSABKAlIHYgBARIeChFuZWdfcmlza19mZWVfYmlwcxgqIAEoA0geiAEBEhwKD2VuYWJsZV9uZWdfcmlzaxgrIAEoCEgfiAEBEh4KEXJlc29sdXRpb25fc291cmNlGCwgASgJSCCIAQESHAoPcGFyZW50X2V2ZW50X2lkGC0gASgDSCGIAQFCCQoHX3RpY2tlckIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0X2RhdGVCEAoOX2NyZWF0aW9uX2RhdGVCCwoJX2VuZF9kYXRlQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0Qg4KDF9jbG9zZWRfdGltZUIVChNfZmluaXNoZWRfdGltZXN0YW1wQggKBl9pbWFnZUIHCgVfaWNvbkIOCgxfY29tcGV0aXRpdmVCDAoKX2xpcXVpZGl0eUIJCgdfdm9sdW1lQhAKDl9vcGVuX2ludGVyZXN0Qg8KDV92b2x1bWVfMjRfaHJCDgoMX3ZvbHVtZV8xX3drQg4KDF92b2x1bWVfMV9tb0IRCg9fbGlxdWlkaXR5X2Nsb2JCCwoJX2NhdGVnb3J5Qg4KDF9zdWJjYXRlZ29yeUIRCg9faG9tZV90ZWFtX25hbWVCEQoPX2F3YXlfdGVhbV9uYW1lQgoKCF9nYW1lX2lkQg4KDF9nYW1lX3N0YXR1c0INCgtfZXZlbnRfZGF0ZUINCgtfZXZlbnRfd2Vla0INCgtfc3RhcnRfdGltZUILCglfbmVnX3Jpc2tCFQoTX25lZ19yaXNrX21hcmtldF9pZEIUChJfbmVnX3Jpc2tfZmVlX2JpcHNCEgoQX2VuYWJsZV9uZWdfcmlza0IUChJfcmVzb2x1dGlvbl9zb3VyY2VCEgoQX3BhcmVudF9ldmVudF9pZCKkBQobR2V0UG9seW1hcmtldE1hcmtldHNSZXF1ZXN0EhEKCW1hcmtldF9pZBgBIAMoAxIMCgRzbHVnGAIgAygJEh0KEGNsb3NlZF90aW1lX2Zyb20YAyABKANIAIgBARIbCg5jbG9zZWRfdGltZV90bxgEIAEoA0gBiAEBEhwKD3N0YXJ0X2RhdGVfZnJvbRgFIAEoA0gCiAEBEhoKDXN0YXJ0X2RhdGVfdG8YBiABKANIA4gBARIcCg9jcmVhdGVkX2F0X2Zyb20YByABKANIBIgBARIaCg1jcmVhdGVkX2F0X3RvGAggASgDSAWIAQESHAoPdXBkYXRlZF9hdF9mcm9tGAkgASgDSAaIAQESGgoNdXBkYXRlZF9hdF90bxgKIAEoA0gHiAEBEhMKBmNsb3NlZBgLIAEoCEgIiAEBEgwKBGxpdGUYDCABKAgSGgoNaGFzX2xvY2F0aW9ucxgNIAEoCEgJiAEBEhIKBWxpbWl0GA4gASgFSAqIAQESEwoGb2Zmc2V0GA8gASgFSAuIAQESDAoEdGFncxgQIAMoCRIUCgxjb25kaXRpb25faWQYESADKAkSFQoIYXJjaGl2ZWQYEiABKAhIDIgBAUITChFfY2xvc2VkX3RpbWVfZnJvbUIRCg9fY2xvc2VkX3RpbWVfdG9CEgoQX3N0YXJ0X2RhdGVfZnJvbUIQCg5fc3RhcnRfZGF0ZV90b0ISChBfY3JlYXRlZF9hdF9mcm9tQhAKDl9jcmVhdGVkX2F0X3RvQhIKEF91cGRhdGVkX2F0X2Zyb21CEAoOX3VwZGF0ZWRfYXRfdG9CCQoHX2Nsb3NlZEIQCg5faGFzX2xvY2F0aW9uc0IICgZfbGltaXRCCQoHX29mZnNldEILCglfYXJjaGl2ZWQiTQocR2V0UG9seW1hcmtldE1hcmtldHNSZXNwb25zZRItCgdtYXJrZXRzGAEgAygLMhwuR2V0UG9seW1hcmtldE1hcmtldFJlc3BvbnNlInAKG0dldFBvbHltYXJrZXRNYXJrZXRSZXNwb25zZRIhCgZtYXJrZXQYASABKAsyES5Qb2x5bWFya2V0TWFya2V0EiQKBWV2ZW50GAIgASgLMhAuUG9seW1hcmtldEV2ZW50SACIAQFCCAoGX2V2ZW50IsoSChBQb2x5bWFya2V0TWFya2V0EgoKAmlkGAEgASgDEhAKCHF1ZXN0aW9uGAIgASgJEhkKDGNvbmRpdGlvbl9pZBgDIAEoCUgAiAEBEgwKBHNsdWcYBCABKAkSIwoKc3RhcnRfZGF0ZRgFIAEoCzIKLlRpbWVzdGFtcEgBiAEBEiEKCGVuZF9kYXRlGAYgASgLMgouVGltZXN0YW1wSAKIAQESIwoKY3JlYXRlZF9hdBgHIAEoCzIKLlRpbWVzdGFtcEgDiAEBEiMKCnVwZGF0ZWRfYXQYCCABKAsyCi5UaW1lc3RhbXBIBIgBARIkCgtjbG9zZWRfdGltZRgJIAEoCzIKLlRpbWVzdGFtcEgFiAEBEjMKGmFjY2VwdGluZ19vcmRlcnNfdGltZXN0YW1wGAogASgLMgouVGltZXN0YW1wSAaIAQESJQoMdW1hX2VuZF9kYXRlGAsgASgLMgouVGltZXN0YW1wSAeIAQESEgoFaW1hZ2UYDCABKAlICIgBARIRCgRpY29uGA0gASgJSAmIAQESGAoLZGVzY3JpcHRpb24YDiABKAlICogBARIQCghvdXRjb21lcxgPIAMoCRIWCg5vdXRjb21lX3ByaWNlcxgQIAMoARIOCgZhY3RpdmUYESABKAgSDgoGY2xvc2VkGBIgASgIEhgKEGFjY2VwdGluZ19vcmRlcnMYEyABKAgSGQoMc3VibWl0dGVkX2J5GBQgASgJSAuIAQESGAoLcmVzb2x2ZWRfYnkYFSABKAlIDIgBARIWCglsaXF1aWRpdHkYFiABKAFIDYgBARIXCgp2b2x1bWVfbnVtGBcgASgBSA6IAQESGgoNbGlxdWlkaXR5X251bRgYIAEoAUgPiAEBEhkKDHZvbHVtZV8yNF9ochgZIAEoAUgQiAEBEhgKC3ZvbHVtZV8xX3drGBogASgBSBGIAQESGAoLdm9sdW1lXzFfbW8YGyABKAFIEogBARIYCgt2b2x1bWVfMV95chgcIAEoAUgTiAEBEh4KEXZvbHVtZV8yNF9ocl9jbG9iGB0gASgBSBSIAQESHQoQdm9sdW1lXzFfd2tfY2xvYhgeIAEoAUgViAEBEh0KEHZvbHVtZV8xX21vX2Nsb2IYHyABKAFIFogBARIdChB2b2x1bWVfMV95cl9jbG9iGCAgASgBSBeIAQESGAoLdm9sdW1lX2Nsb2IYISABKAFIGIgBARIbCg5saXF1aWRpdHlfY2xvYhgiIAEoAUgZiAEBEhYKDmNsb2JfdG9rZW5faWRzGCMgAygJEiIKFXVtYV9yZXNvbHV0aW9uX3N0YXR1cxgkIAEoCUgaiAEBEh8KF3VtYV9yZXNvbHV0aW9uX3N0YXR1c2VzGCUgAygJEhUKCGNhdGVnb3J5GCYgASgJSBuIAQESIQoUb25lX2RheV9wcmljZV9jaGFuZ2UYJyABKAFIHIgBARIdChBncm91cF9pdGVtX3RpdGxlGCggASgJSB2IAQESEwoGc3ByZWFkGCkgASgBSB6IAQESIgoVb25lX2hvdXJfcHJpY2VfY2hhbmdlGCogASgBSB+IAQESIgoVb25lX3dlZWtfcHJpY2VfY2hhbmdlGCsgASgBSCCIAQESIwoWb25lX21vbnRoX3ByaWNlX2NoYW5nZRgsIAEoAUghiAEBEh0KEGxhc3RfdHJhZGVfcHJpY2UYLSABKAFIIogBARIVCghiZXN0X2JpZBguIAEoAUgjiAEBEhUKCGJlc3RfYXNrGC8gASgBSCSIAQESGwoObmVnX3Jpc2tfb3RoZXIYMCABKAhIJYgBARIjCg1nZW9fbG9jYXRpb25zGDEgAygLMgwuR2VvTG9jYXRpb24SEAoIYXJjaGl2ZWQYMiABKAgSGgoNb3Blbl9pbnRlcmVzdBgzIAEoAUgmiAEBEjEKGG9wZW5faW50ZXJlc3RfdXBkYXRlZF9hdBg0IAEoCzIKLlRpbWVzdGFtcEgniAEBEiYKGW9yZGVyX3ByaWNlX21pbl90aWNrX3NpemUYNSABKAFIKIgBARIfChJzcG9ydHNfbWFya2V0X3R5cGUYNiABKAlIKYgBARIRCgRsaW5lGDcgASgBSCqIAQFCDwoNX2NvbmRpdGlvbl9pZEINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCDQoLX2NyZWF0ZWRfYXRCDQoLX3VwZGF0ZWRfYXRCDgoMX2Nsb3NlZF90aW1lQh0KG19hY2NlcHRpbmdfb3JkZXJzX3RpbWVzdGFtcEIPCg1fdW1hX2VuZF9kYXRlQggKBl9pbWFnZUIHCgVfaWNvbkIOCgxfZGVzY3JpcHRpb25CDwoNX3N1Ym1pdHRlZF9ieUIOCgxfcmVzb2x2ZWRfYnlCDAoKX2xpcXVpZGl0eUINCgtfdm9sdW1lX251bUIQCg5fbGlxdWlkaXR5X251bUIPCg1fdm9sdW1lXzI0X2hyQg4KDF92b2x1bWVfMV93a0IOCgxfdm9sdW1lXzFfbW9CDgoMX3ZvbHVtZV8xX3lyQhQKEl92b2x1bWVfMjRfaHJfY2xvYkITChFfdm9sdW1lXzFfd2tfY2xvYkITChFfdm9sdW1lXzFfbW9fY2xvYkITChFfdm9sdW1lXzFfeXJfY2xvYkIOCgxfdm9sdW1lX2Nsb2JCEQoPX2xpcXVpZGl0eV9jbG9iQhgKFl91bWFfcmVzb2x1dGlvbl9zdGF0dXNCCwoJX2NhdGVnb3J5QhcKFV9vbmVfZGF5X3ByaWNlX2NoYW5nZUITChFfZ3JvdXBfaXRlbV90aXRsZUIJCgdfc3ByZWFkQhgKFl9vbmVfaG91cl9wcmljZV9jaGFuZ2VCGAoWX29uZV93ZWVrX3ByaWNlX2NoYW5nZUIZChdfb25lX21vbnRoX3ByaWNlX2NoYW5nZUITChFfbGFzdF90cmFkZV9wcmljZUILCglfYmVzdF9iaWRCCwoJX2Jlc3RfYXNrQhEKD19uZWdfcmlza19vdGhlckIQCg5fb3Blbl9pbnRlcmVzdEIbChlfb3Blbl9pbnRlcmVzdF91cGRhdGVkX2F0QhwKGl9vcmRlcl9wcmljZV9taW5fdGlja19zaXplQhUKE19zcG9ydHNfbWFya2V0X3R5cGVCBwoFX2xpbmUigQIKDVBvbHltYXJrZXRUYWcSCgoCaWQYASABKAMSDQoFbGFiZWwYAiABKAkSDAoEc2x1ZxgDIAEoCRISCgpmb3JjZV9zaG93GAQgASgIEhMKC2lzX2Nhcm91c2VsGAUgASgIEiUKDHB1Ymxpc2hlZF9hdBgGIAEoCzIKLlRpbWVzdGFtcEgAiAEBEiMKCmNyZWF0ZWRfYXQYByABKAsyCi5UaW1lc3RhbXBIAYgBARIjCgp1cGRhdGVkX2F0GAggASgLMgouVGltZXN0YW1wSAKIAQFCDwoNX3B1Ymxpc2hlZF9hdEINCgtfY3JlYXRlZF9hdEINCgtfdXBkYXRlZF9hdCL5AgoQUG9seW1hcmtldFNlcmllcxIKCgJpZBgBIAEoAxITCgZ0aWNrZXIYAiABKAlIAIgBARINCgV0aXRsZRgDIAEoCRISCgVpbWFnZRgEIAEoCUgBiAEBEhEKBGljb24YBSABKAlIAogBARIOCgZhY3RpdmUYBiABKAgSDgoGY2xvc2VkGAcgASgIEhAKCGFyY2hpdmVkGAggASgIEhAKCGZlYXR1cmVkGAkgASgIEiMKCmNyZWF0ZWRfYXQYCiABKAsyCi5UaW1lc3RhbXBIA4gBARIjCgp1cGRhdGVkX2F0GAsgASgLMgouVGltZXN0YW1wSASIAQESEwoGdm9sdW1lGAwgASgBSAWIAQESFgoJbGlxdWlkaXR5GA0gASgBSAaIAQFCCQoHX3RpY2tlckIICgZfaW1hZ2VCBwoFX2ljb25CDQoLX2NyZWF0ZWRfYXRCDQoLX3VwZGF0ZWRfYXRCCQoHX3ZvbHVtZUIMCgpfbGlxdWlkaXR5Ir4QCh1HZXRQb2x5bWFya2V0QW5hbHl0aWNzUmVxdWVzdBIlCgR0eXBlGAEgASgOMhcuUG9seW1hcmtldEFuYWx5dGljVHlwZRIVCghhc3NldF9pZBgCIAEoCUgAiAEBEhUKCGV2ZW50X2lkGAMgASgJSAGIAQESFAoMY29uZGl0aW9uX2lkGAQgAygJEhMKC3VzZXJfd2FsbGV0GAUgAygJEhEKBGZyb20YBiABKANIAogBARIPCgJ0bxgHIAEoA0gDiAEBEhMKBm9mZnNldBgIIAEoA0gEiAEBEhIKBWxpbWl0GAkgASgDSAWIAQESGAoEc2lkZRgKIAEoDjIFLlNpZGVIBogBARIZCgxvdXRjb21lX25hbWUYCyABKAlIB4gBARIXCgpzaXplX2Zsb29yGAwgASgDSAiIAQESGwoOcm9pX3BlcmNlbnRhZ2UYDSABKANICYgBARIiChVtYXhfdG90YWxfdHJhZGVfY291bnQYDiABKAFICogBARIVCgh3aW5fcmF0ZRgPIAEoAUgLiAEBEh4KEWF2Z19wb3NpdGlvbl9zaXplGBAgASgBSAyIAQESGQoMdG90YWxfdm9sdW1lGBEgASgBSA2IAQESHQoQcHJpbWFyeV9jYXRlZ29yeRgSIAEoCUgOiAEBEiEKFGNhdGVnb3J5X3RyYWRlX2NvdW50GBMgASgDSA+IAQESIAoTb3Blbl9wb3NpdGlvbl9jb3VudBgUIAEoA0gQiAEBEiIKFXRpbWVfc2luY2VfbGFzdF90cmFkZRgVIAEoA0gRiAEBEh0KEGF2Z19ob2xkaW5nX3RpbWUYFiABKANIEogBARIUCgx0YWtlcl93YWxsZXQYFyADKAkSFAoMbWFrZXJfd2FsbGV0GBggAygJEiAKE2F2Z19vcGVuX2ludmVzdG1lbnQYGSABKAFIE4gBARIyCgdzb3J0X2J5GBogASgOMhwuUG9seW1hcmtldEFuYWx5dGljU29ydEZpZWxkSBSIAQESKwoOc29ydF9kaXJlY3Rpb24YGyABKA4yDi5Tb3J0RGlyZWN0aW9uSBWIAQESIgoVbWluX3RvdGFsX3RyYWRlX2NvdW50GBwgASgBSBaIAQESLQoPcG9zaXRpb25fc3RhdHVzGB0gASgOMg8uUG9zaXRpb25TdGF0dXNIF4gBARIaCg1vcGVuZWRfYmVmb3JlGB4gASgDSBiIAQESGQoMb3BlbmVkX2FmdGVyGB8gASgDSBmIAQESHQoQbWluX3JlYWxpemVkX3BubBggIAEoAUgaiAEBEh0KEG1heF9yZWFsaXplZF9wbmwYISABKAFIG4gBARIeChFtaW5fcmVhbGl6ZWRfc2l6ZRgiIAEoAUgciAEBEh4KEW1heF9yZWFsaXplZF9zaXplGCMgASgBSB2IAQESIAoTbWluX3VucmVhbGl6ZWRfc2l6ZRgkIAEoAUgeiAEBEiAKE21heF91bnJlYWxpemVkX3NpemUYJSABKAFIH4gBARIvCg5wbmxfY29tcG9uZW50cxgmIAMoDjIXLlBvbHltYXJrZXRQbmxDb21wb25lbnQSQAoUZGlzdHJpYnV0aW9uX3JhbmtfYnkYJyABKA4yHS5Qb2x5bWFya2V0RGlzdHJpYnV0aW9uUmFua0J5SCCIAQESSAoYZGlzdHJpYnV0aW9uX2JhbmRfcHJlc2V0GCggASgOMiEuUG9seW1hcmtldERpc3RyaWJ1dGlvbkJhbmRQcmVzZXRIIYgBARIkChdkaXN0cmlidXRpb25fY3VtdWxhdGl2ZRgqIAEoCEgiiAEBEicKGmRpc3RyaWJ1dGlvbl9taW5fcG9zaXRpb25zGCsgASgDSCOIAQFCCwoJX2Fzc2V0X2lkQgsKCV9ldmVudF9pZEIHCgVfZnJvbUIFCgNfdG9CCQoHX29mZnNldEIICgZfbGltaXRCBwoFX3NpZGVCDwoNX291dGNvbWVfbmFtZUINCgtfc2l6ZV9mbG9vckIRCg9fcm9pX3BlcmNlbnRhZ2VCGAoWX21heF90b3RhbF90cmFkZV9jb3VudEILCglfd2luX3JhdGVCFAoSX2F2Z19wb3NpdGlvbl9zaXplQg8KDV90b3RhbF92b2x1bWVCEwoRX3ByaW1hcnlfY2F0ZWdvcnlCFwoVX2NhdGVnb3J5X3RyYWRlX2NvdW50QhYKFF9vcGVuX3Bvc2l0aW9uX2NvdW50QhgKFl90aW1lX3NpbmNlX2xhc3RfdHJhZGVCEwoRX2F2Z19ob2xkaW5nX3RpbWVCFgoUX2F2Z19vcGVuX2ludmVzdG1lbnRCCgoIX3NvcnRfYnlCEQoPX3NvcnRfZGlyZWN0aW9uQhgKFl9taW5fdG90YWxfdHJhZGVfY291bnRCEgoQX3Bvc2l0aW9uX3N0YXR1c0IQCg5fb3BlbmVkX2JlZm9yZUIPCg1fb3BlbmVkX2FmdGVyQhMKEV9taW5fcmVhbGl6ZWRfcG5sQhMKEV9tYXhfcmVhbGl6ZWRfcG5sQhQKEl9taW5fcmVhbGl6ZWRfc2l6ZUIUChJfbWF4X3JlYWxpemVkX3NpemVCFgoUX21pbl91bnJlYWxpemVkX3NpemVCFgoUX21heF91bnJlYWxpemVkX3NpemVCFwoVX2Rpc3RyaWJ1dGlvbl9yYW5rX2J5QhsKGV9kaXN0cmlidXRpb25fYmFuZF9wcmVzZXRCGgoYX2Rpc3RyaWJ1dGlvbl9jdW11bGF0aXZlQh0KG19kaXN0cmlidXRpb25fbWluX3Bvc2l0aW9uc0oECCkQKiKcAgoWUG9seW1hcmtldFBhcnNlZE9yZGVycxIPCgd0eF9oYXNoGAEgASgJEh0KCXRpbWVzdGFtcBgCIAEoCzIKLlRpbWVzdGFtcBIQCghhc3NldF9pZBgDIAEoCRIVCg1tYWtlcl9hZGRyZXNzGAQgASgJEhUKDXRha2VyX2FkZHJlc3MYBSABKAkSDAoEc2l6ZRgHIAEoARINCgVwcmljZRgIIAEoARIMCgRzaWRlGAkgASgJEhMKC21hcmtldF9uYW1lGAogASgJEhQKDG91dGNvbWVfbmFtZRgLIAEoCRISCgpldmVudF9zbHVnGAwgASgJEhIKCm9yZGVyX2hhc2gYDSABKAkSFAoMY29uZGl0aW9uX2lkGA4gASgJIt0BCiFQb2x5bWFya2V0VHJhZGVyQ2F0ZWdvcnlCcmVha2Rvd24SFwoPbWFya2V0X2NhdGVnb3J5GAEgASgJEhsKE21hcmtldF9zdWJfY2F0ZWdvcnkYAiABKAkSDQoFY291bnQYAyABKAMSFQoNcmVhbGl6ZWRfc2l6ZRgEIAEoARIXCg91bnJlYWxpemVkX3NpemUYBSABKAESFAoMcmVhbGl6ZWRfcG5sGAYgASgBEi0KDXBubF9ieV9zb3VyY2UYByABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2UidAoaUG9seW1hcmtldFRyYWRlckNhdGVnb3JpZXMSFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSPgoSY2F0ZWdvcnlfYnJlYWtkb3duGAIgAygLMiIuUG9seW1hcmtldFRyYWRlckNhdGVnb3J5QnJlYWtkb3duIpQFChdQb2x5bWFya2V0VHJhZGVyUHJvZmlsZRIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIcChR0b3RhbF9wb3NpdGlvbl9jb3VudBgCIAEoAxIbChNvcGVuX3Bvc2l0aW9uX2NvdW50GAMgASgDEh0KFWNsb3NlZF9wb3NpdGlvbl9jb3VudBgEIAEoAxIrChdsYXRlc3Rfb3Blbl9wb3NpdGlvbl90cxgFIAEoCzIKLlRpbWVzdGFtcBISCgp0b3RhbF9zaXplGAYgASgBEhoKEnRvdGFsX3JlYWxpemVkX3BubBgHIAEoARIcChR0b3RhbF91bnJlYWxpemVkX3BubBgIIAEoARIRCgl0b3RhbF9yb2kYCSABKAESHQoVd2luX3JhdGVfYnlfcG9zaXRpb25zGAogASgBEhMKC2xhcmdlc3Rfd2luGAsgASgBEhQKDGxhcmdlc3RfbG9zcxgMIAEoARIcChRhdmdfaG9sZGluZ19kdXJhdGlvbhgNIAEoAxIcChR0b3RhbF9vcGVuX3Bvc192YWx1ZRgOIAEoARIeChZ0b3RhbF9jbG9zZWRfcG9zX3ZhbHVlGA8gASgBEi0KDXBubF9ieV9zb3VyY2UYECABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2USNQoMZXZlbnRfY291bnRzGBEgASgLMh8uUG9seW1hcmtldEFnZ3JlZ2F0ZUV2ZW50Q291bnRzEhgKEHRvdGFsX2Nvc3RfYmFzaXMYEiABKAESGwoTYXZnX29wZW5faW52ZXN0bWVudBgTIAEoARIcChR0b3RhbF9vcmRlcl9idXlfY29zdBgUIAEoARIYChB0b3RhbF9zcGxpdF9jb3N0GBUgASgBIp0FChdQb2x5bWFya2V0VXNlclBvc2l0aW9ucxIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIQCghhc3NldF9pZBgCIAEoCRIXCg91bnJlYWxpemVkX3NpemUYAyABKAESFQoNcmVhbGl6ZWRfc2l6ZRgEIAEoARIRCglhdmdfcHJpY2UYBSABKAESFgoOYXZnX2V4aXRfcHJpY2UYBiABKAESFAoMcmVhbGl6ZWRfcG5sGAcgASgBEhYKDnJlc29sdmVkX3ByaWNlGAggASgBEhYKDmxhdGVzdF9vcGVuX3RzGAkgASgDEhoKEnByZXZfaG9sZF9kdXJhdGlvbhgKIAEoAxIRCglidXlfY291bnQYCyABKAUSEgoKc2VsbF9jb3VudBgMIAEoBRITCgtzcGxpdF9jb3VudBgNIAEoBRITCgttZXJnZV9jb3VudBgOIAEoBRIZChF0cmFuc2Zlcl9pbl9jb3VudBgPIAEoBRIaChJ0cmFuc2Zlcl9vdXRfY291bnQYECABKAUSGwoTY29udmVyc2lvbl9pbl9jb3VudBgRIAEoBRIcChRjb252ZXJzaW9uX291dF9jb3VudBgSIAEoBRITCgttYXJrZXRfbmFtZRgTIAEoCRIUCgxvdXRjb21lX25hbWUYFCABKAkSEAoIY2F0ZWdvcnkYFSABKAkSFAoMc3ViX2NhdGVnb3J5GBYgASgJEhkKDGNvbmRpdGlvbl9pZBgXIAEoCUgAiAEBEi0KDXBubF9ieV9zb3VyY2UYGCABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2USFgoOb3JkZXJfYnV5X2Nvc3QYGSABKAESEgoKc3BsaXRfY29zdBgaIAEoAUIPCg1fY29uZGl0aW9uX2lkIv0BCiFQb2x5bWFya2V0T3V0Y29tZUV4Y2x1c2l2ZVN1bW1hcnkSFAoMY29uZGl0aW9uX2lkGAEgASgJEhAKCHRva2VuX2lkGAIgASgJEhQKDG91dGNvbWVfbmFtZRgDIAEoCRIgChh3ZWlnaHRlZF9hdmdfZW50cnlfcHJpY2UYBCABKAESHwoXd2VpZ2h0ZWRfYXZnX2V4aXRfcHJpY2UYBSABKAESJwofb3Blbl9wb3NfYXZnX3ByaWNlX2Rpc3RyaWJ1dGlvbhgGIAMoARIuCiZjbG9zZWRfcG9zX2F2Z19leGl0X3ByaWNlX2Rpc3RyaWJ1dGlvbhgHIAMoASL/BgoXUG9seW1hcmtldE1hcmtldFN1bW1hcnkSEAoIZXZlbnRfaWQYASABKAkSFAoMY29uZGl0aW9uX2lkGAIgAygJEhwKFHRvdGFsX29wZW5fcG9zaXRpb25zGAMgASgFEh4KFnRvdGFsX2Nsb3NlZF9wb3NpdGlvbnMYBCABKAUSGAoQdG90YWxfY29zdF9iYXNpcxgFIAEoARISCgp0b3RhbF9zaXplGAYgASgBEh0KFWxhcmdlc3Rfb3Blbl9wb3NpdGlvbhgHIAEoARIXCg90b3RhbF9idXlfY291bnQYCCABKAUSGAoQdG90YWxfc2VsbF9jb3VudBgJIAEoBRIZChF0b3RhbF9zcGxpdF9jb3VudBgKIAEoBRIZChF0b3RhbF9tZXJnZV9jb3VudBgLIAEoBRIfChd0b3RhbF90cmFuc2Zlcl9pbl9jb3VudBgMIAEoBRIgChh0b3RhbF90cmFuc2Zlcl9vdXRfY291bnQYDSABKAUSIQoZdG90YWxfY29udmVyc2lvbl9pbl9jb3VudBgOIAEoBRIiChp0b3RhbF9jb252ZXJzaW9uX291dF9jb3VudBgPIAEoBRIZChFuZXRfdHJhbnNmZXJfZmxvdxgQIAEoBRIbChNuZXRfY29udmVyc2lvbl9mbG93GBEgASgFEhwKFG1lZGlhbl9ob2xkX2R1cmF0aW9uGBIgASgBEhoKEm1lYW5faG9sZF9kdXJhdGlvbhgTIAEoARIYChByZWFsaXplZF9wbmxfbWluGBQgASgBEhgKEHJlYWxpemVkX3BubF9tYXgYFSABKAESIQoZcmVhbGl6ZWRfcG5sX2Rpc3RyaWJ1dGlvbhgWIAMoARIQCgh3aW5fcmF0ZRgXIAEoARIVCg1hdmdfYnV5X2NvdW50GBggASgBEhYKDmF2Z19zZWxsX2NvdW50GBkgASgBEhAKCGF2Z19zaXplGBogASgBEjsKD291dGNvbWVfcHJpY2luZxgbIAMoCzIiLlBvbHltYXJrZXRPdXRjb21lRXhjbHVzaXZlU3VtbWFyeRItCg1wbmxfYnlfc291cmNlGBwgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEhwKFHRvdGFsX29yZGVyX2J1eV9jb3N0GB0gASgBEhgKEHRvdGFsX3NwbGl0X2Nvc3QYHiABKAEinwQKGVBvbHltYXJrZXRQbGF0Zm9ybVN1bW1hcnkSFgoOYWNjb3VudHNfdG90YWwYASABKAMSFwoPYWNjb3VudHNfYWN0aXZlGAIgASgDEhsKE2FjY291bnRzX3Byb2ZpdGFibGUYAyABKAMSFwoPYWNjb3VudHNfbG9zaW5nGAQgASgDEhUKDWFjY291bnRzX2ZsYXQYBSABKAMSFgoOdG90YWxfd2lubmluZ3MYBiABKAESFAoMdG90YWxfbG9zc2VzGAcgASgBEg8KB25ldF9wbmwYCCABKAESKAogbGlmZXRpbWVfYnV5X25vdGlvbmFsX2luY19zcGxpdHMYCSABKAESIwobbGlmZXRpbWVfb3JkZXJfYnV5X25vdGlvbmFsGAogASgBEi0KDXBubF9ieV9zb3VyY2UYCyABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2USOAoSYWN0aXZpdHlfaGlzdG9ncmFtGAwgASgLMhwuUG9seW1hcmtldEFjdGl2aXR5SGlzdG9ncmFtEhIKCm1lZGlhbl9wbmwYDSABKAESDwoHcDkwX3BubBgOIAEoARIPCgdwOTlfcG5sGA8gASgBEg8KB21heF9wbmwYECABKAESDwoHbWluX3BubBgRIAEoARI1CgxldmVudF9jb3VudHMYEiABKAsyHy5Qb2x5bWFya2V0QWdncmVnYXRlRXZlbnRDb3VudHMi3wEKFVBvbHltYXJrZXRQbmxCeVNvdXJjZRISCgpvcmRlcl9zZWxsGAEgASgBEiEKGW9yZGVyX2J1eV9wb3N0X3Jlc29sdXRpb24YAiABKAESEgoKcmVzb2x1dGlvbhgDIAEoARISCgpjb252ZXJzaW9uGAQgASgBEg0KBW1lcmdlGAUgASgBEh0KFXNwbGl0X3Bvc3RfcmVzb2x1dGlvbhgGIAEoARIUCgx0cmFuc2Zlcl9vdXQYByABKAESIwobdHJhbnNmZXJfaW5fcG9zdF9yZXNvbHV0aW9uGAggASgBIrkBChtQb2x5bWFya2V0QWN0aXZpdHlIaXN0b2dyYW0SGAoQcG9zaXRpb25fY291bnRfMRgBIAEoAxIdChVwb3NpdGlvbl9jb3VudF8yX3RvXzUYAiABKAMSHgoWcG9zaXRpb25fY291bnRfNl90b18yMBgDIAEoAxIgChhwb3NpdGlvbl9jb3VudF8yMV90b18xMDAYBCABKAMSHwoXcG9zaXRpb25fY291bnRfb3Zlcl8xMDAYBSABKAMihQEKHlBvbHltYXJrZXRBZ2dyZWdhdGVFdmVudENvdW50cxIMCgRidXlzGAEgASgDEg0KBXNlbGxzGAIgASgDEg4KBnNwbGl0cxgDIAEoAxIOCgZtZXJnZXMYBCABKAMSEQoJdHJhbnNmZXJzGAUgASgDEhMKC2NvbnZlcnNpb25zGAYgASgDIocDChpQb2x5bWFya2V0RGlzdHJpYnV0aW9uQmFuZBIPCgdiYW5kX2lkGAEgASgFEhIKCmJhbmRfbGFiZWwYAiABKAkSFQoNYWNjb3VudF9jb3VudBgDIAEoAxIWCg5wY3RfcHJvZml0YWJsZRgEIAEoARIPCgdhdmdfcG5sGAUgASgBEhEKCXRvdGFsX3BubBgGIAEoARISCgptZWRpYW5fcG5sGAcgASgBEhYKDnJhbmtfdmFsdWVfbWluGAggASgBEhYKDnJhbmtfdmFsdWVfbWF4GAkgASgBEhkKEW1lZGlhbl9yYW5rX3ZhbHVlGAogASgBEhcKD2F2Z190cmFkZV9jb3VudBgLIAEoARIaChJhdmdfcG9zaXRpb25fY291bnQYDCABKAESHAoUYXZnX2hvbGRpbmdfZHVyYXRpb24YDSABKAESEAoId2luX3JhdGUYDiABKAESLQoNcG5sX2J5X3NvdXJjZRgPIAEoCzIWLlBvbHltYXJrZXRQbmxCeVNvdXJjZSKcAQolUG9seW1hcmtldERpc3RyaWJ1dGlvbkN1bXVsYXRpdmVQb2ludBIUCgxwY3RfZnJvbV90b3AYASABKAESGQoRY3VtdWxhdGl2ZV9tZXRyaWMYAiABKAESIQoZY3VtdWxhdGl2ZV9zaGFyZV93aW5uaW5ncxgDIAEoARIfChdjdW11bGF0aXZlX3NoYXJlX2xvc3NlcxgEIAEoASKiAQoeUG9seW1hcmtldFBsYXRmb3JtRGlzdHJpYnV0aW9uEjcKEmRpc3RyaWJ1dGlvbl9iYW5kcxgBIAMoCzIbLlBvbHltYXJrZXREaXN0cmlidXRpb25CYW5kEkcKF2Rpc3RyaWJ1dGlvbl9jdW11bGF0aXZlGAIgAygLMiYuUG9seW1hcmtldERpc3RyaWJ1dGlvbkN1bXVsYXRpdmVQb2ludCKSAwoeR2V0UG9seW1hcmtldEFuYWx5dGljc1Jlc3BvbnNlEi0KDG9yZGVyX2ZpbGxlZBgBIAMoCzIXLlBvbHltYXJrZXRQYXJzZWRPcmRlcnMSMQoPdHJhZGVyX3Byb2ZpbGVzGAIgAygLMhguUG9seW1hcmtldFRyYWRlclByb2ZpbGUSMAoOdXNlcl9wb3NpdGlvbnMYAyADKAsyGC5Qb2x5bWFya2V0VXNlclBvc2l0aW9ucxIwCg5tYXJrZXRfc3VtbWFyeRgEIAMoCzIYLlBvbHltYXJrZXRNYXJrZXRTdW1tYXJ5EjQKD3VzZXJfY2F0ZWdvcmllcxgFIAMoCzIbLlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yaWVzEjQKEHBsYXRmb3JtX3N1bW1hcnkYBiADKAsyGi5Qb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5Ej4KFXBsYXRmb3JtX2Rpc3RyaWJ1dGlvbhgHIAMoCzIfLlBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbiLBAgobR2V0TWVtZWNvaW5BbmFseXRpY3NSZXF1ZXN0EiMKBHR5cGUYASABKA4yFS5NZW1lY29pbkFuYWx5dGljVHlwZRIVCgVjaGFpbhgCIAEoDjIGLkNoYWluEhUKDXRva2VuX2FkZHJlc3MYAyABKAkSEwoLdXNlcl93YWxsZXQYBCADKAkSEwoGb2Zmc2V0GAUgASgDSACIAQESEgoFbGltaXQYBiABKANIAYgBARIwCgdzb3J0X2J5GAcgASgOMhouTWVtZWNvaW5BbmFseXRpY1NvcnRGaWVsZEgCiAEBEisKDnNvcnRfZGlyZWN0aW9uGAggASgOMg4uU29ydERpcmVjdGlvbkgDiAEBQgkKB19vZmZzZXRCCAoGX2xpbWl0QgoKCF9zb3J0X2J5QhEKD19zb3J0X2RpcmVjdGlvbiLZAgoVTWVtZWNvaW5UcmFkZXJQcm9maWxlEhYKDndhbGxldF9hZGRyZXNzGAEgASgJEhgKEHRvdGFsX2JvdWdodF91c2QYAiABKAESFgoOdG90YWxfc29sZF91c2QYAyABKAESFQoNdG9rZW5zX2JvdWdodBgEIAEoCRITCgt0b2tlbnNfc29sZBgFIAEoCRIYChByZW1haW5pbmdfdG9rZW5zGAYgASgJEhEKCWJ1eV9jb3VudBgHIAEoAxISCgpzZWxsX2NvdW50GAggASgDEhYKDmZpcnN0X3RyYWRlX3RzGAkgASgDEhcKD2xhdGVzdF90cmFkZV90cxgKIAEoAxIZChFhdmdfYnV5X3ByaWNlX3VzZBgLIAEoARIaChJ0b3RhbF9yZWFsaXplZF9wbmwYDCABKAESEQoJdG90YWxfcm9pGA0gASgBEg4KBmxhYmVscxgOIAMoCSKkAQoTTWVtZWNvaW5Ub2tlbkhvbGRlchIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIPCgdiYWxhbmNlGAIgASgJEhMKC2JhbGFuY2VfdXNkGAMgASgBEhUKDXBjdF9vZl9zdXBwbHkYBCABKAESFQoNZmlyc3RfaGVsZF90cxgFIAEoAxIhCghjYXRlZ29yeRgGIAEoDjIPLkhvbGRlckNhdGVnb3J5InYKHEdldE1lbWVjb2luQW5hbHl0aWNzUmVzcG9uc2USLwoPdHJhZGVyX3Byb2ZpbGVzGAEgAygLMhYuTWVtZWNvaW5UcmFkZXJQcm9maWxlEiUKB2hvbGRlcnMYAiADKAsyFC5NZW1lY29pblRva2VuSG9sZGVyIlEKH0dldFBvbHltYXJrZXRDYXRlZ29yaWVzUmVzcG9uc2USLgoNY2F0ZWdvcnlfcGFpchgBIAMoCzIXLlBvbHltYXJrZXRDYXRlZ29yeVBhaXIiQAoWUG9seW1hcmtldENhdGVnb3J5UGFpchIQCghjYXRlZ29yeRgBIAEoCRIUCgxzdWJfY2F0ZWdvcnkYAiABKAkihAEKFFN5bWJvbERpcmVjdG9yeVZlbnVlEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USDgoGc3ltYm9sGAIgASgJEhgKEG5vcm1hbGl6ZWRTeW1ib2wYAyABKAkSFgoOaW5zdHJ1bWVudFR5cGUYBCABKAkSDQoFcXVvdGUYBSABKAkibQoUU3ltYm9sRGlyZWN0b3J5QXNzZXQSDAoEbmFtZRgBIAEoCRIOCgZ0aWNrZXIYAiABKAkSJQoGdmVudWVzGAMgAygLMhUuU3ltYm9sRGlyZWN0b3J5VmVudWUSEAoIZ3JvdXBLZXkYBCABKAkieQoXU3ltYm9sRGlyZWN0b3J5UmVzcG9uc2USDwoHYnVpbHRBdBgBIAEoCRISCgphc3NldENvdW50GAIgASgFEhIKCnZlbnVlQ291bnQYAyABKAUSJQoGYXNzZXRzGAQgAygLMhUuU3ltYm9sRGlyZWN0b3J5QXNzZXQquwEKBlNpZ25hbBILCgdVTktOT1dOEAASDAoIVFJFTkRJTkcQARIQCgxWT0xVTUVfU1BJS0UQAhITCg9ISUdIX1ZPTEFUSUxJVFkQAxIaChZISUdIX0xPTkdfRlVORElOR19SQVRFEAQSGwoXSElHSF9TSE9SVF9GVU5ESU5HX1JBVEUQBRIVChFMQVJHRV9PSV9JTkNSRUFTRRAGEg4KClBBU1NFRF9BVEgQBxIPCgtSQU5HRV9CT1VORBAIKqUBCgpNYXJrZXRUeXBlEhcKE1VOS05PV05fTUFSS0VUX1RZUEUQABIHCgNDRVgQARIHCgNERVgQAhIKCgZUUkFERkkQAxILCgdFQ09OT01ZEAQSDgoKUFJFRElDVElPThAFEgkKBUZPUkVYEAYSDQoJQ09NTU9ESVRZEAcSCQoFU1RPQ0sQCBIJCgVJTkRFWBAJEhMKD1RPS0VOSVpFRF9TVE9DSxAKKucBChFNYXJrZXRTeW1ib2xGaWVsZBIfChtVTktOT1dOX01BUktFVF9TWU1CT0xfRklFTEQQABIUChBQUklDRV9DSEFOR0VfMjRIEAESDgoKVk9MVU1FXzI0SBACEh8KG01BUktFVF9TWU1CT0xfT0lfQ0hBTkdFXzI0SBAEEhsKF01BUktFVF9TWU1CT0xfTUFSS0VUQ0FQEAYSEwoPQVZBSUxBQkxFX1NJTkNFEAcSGAoURU5EX1JFTUFJTklOR19QRVJJT0QQCBISCg5WT0xVTUVfMjRIX1VTRBAJIgQIAxADIgQIBRAFKosBChBNYXJrZXRBc3NldEZpZWxkEh4KGlVOS05PV05fTUFSS0VUX0FTU0VUX0ZJRUxEEAASDgoKQVNTRVRfTkFNRRABEhQKEEFTU0VUX1ZPTFVNRV8yNEgQAhIYChRBU1NFVF9WT0xVTUVfMjRIX1VTRBADEhcKE0FTU0VUX1ZBUklBTlRfQ09VTlQQBCp7ChFNYXJrZXRzUHJvamVjdGlvbhIeChpVTktOT1dOX01BUktFVFNfUFJPSkVDVElPThAAEiUKIU1BUktFVFNfUFJPSkVDVElPTl9HUk9VUFNfUFJFVklFVxABEh8KG01BUktFVFNfUFJPSkVDVElPTl9WQVJJQU5UUxACKpoBChdPcHRpb25DaGFpbkFuY2hvclNvdXJjZRIfChtPUFRJT05fQ0hBSU5fQU5DSE9SX1VOS05PV04QABIdChlPUFRJT05fQ0hBSU5fQU5DSE9SX1RSQURFEAESIgoeT1BUSU9OX0NIQUlOX0FOQ0hPUl9TRVRUTEVNRU5UEAISGwoXT1BUSU9OX0NIQUlOX0FOQ0hPUl9ST1cQAypWChFPcHRpb25DaGFpblRpbWluZxIgChxPUFRJT05fQ0hBSU5fVElNSU5HX1JFQUxUSU1FEAASHwobT1BUSU9OX0NIQUlOX1RJTUlOR19ERUxBWUVEEAEqhAEKDkhvbGRlckNhdGVnb3J5Eh8KG0hPTERFUl9DQVRFR09SWV9VTlNQRUNJRklFRBAAEhgKFEhPTERFUl9DQVRFR09SWV9QT09MEAESGwoXSE9MREVSX0NBVEVHT1JZX0NSRUFUT1IQAhIaChZIT0xERVJfQ0FURUdPUllfTk9STUFMEAMy1CUKB0dhdGV3YXkSPAoJR2V0UG9pbnRzEgwuRGF0YVJlcXVlc3QaDS5EYXRhUmVzcG9uc2UiEoLT5JMCDBIKL3YxL3BvaW50cxItCgxTdHJlYW1Qb2ludHMSDC5EYXRhUmVxdWVzdBoLLlRpbWVTZXJpZXMiADABEkIKCEdldFR5cGVzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIRgtPkkwILEgkvdjEvdHlwZXMSSgoMR2V0RXhjaGFuZ2VzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIVgtPkkwIPEg0vdjEvZXhjaGFuZ2VzEkwKDUdldENhdGVnb3JpZXMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIhaC0+STAhASDi92MS9jYXRlZ29yaWVzEkIKCEdldENvaW5zEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIRgtPkkwILEgkvdjEvY29pbnMSSQoNR2V0UmF3U3ltYm9scxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiE4LT5JMCDRILL3YxL3N5bWJvbHMSWwoUR2V0Tm9ybWFsaXplZFN5bWJvbHMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIh6C0+STAhgSFi92MS9ub3JtYWxpemVkLXN5bWJvbHMSTQoNR2V0QmxvY2tTaXplcxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiF4LT5JMCERIPL3YxL2Jsb2NrLXNpemVzEkQKCUdldFRlbm9ycxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiEoLT5JMCDBIKL3YxL3Rlbm9ycxI+CgdHZXRHYXBzEg8uR2V0R2Fwc1JlcXVlc3QaEC5HZXRHYXBzUmVzcG9uc2UiEILT5JMCChIIL3YxL2dhcHMSVgoNR2V0V2F0ZXJtYXJrcxIVLkdldFdhdGVybWFya3NSZXF1ZXN0GhYuR2V0V2F0ZXJtYXJrc1Jlc3BvbnNlIhaC0+STAhASDi92MS93YXRlcm1hcmtzEmIKF0dldENhdGVnb3JpZXNCeUV4Y2hhbmdlEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIigtPkkwIcEhovdjEvY2F0ZWdvcmllcy1ieS1leGNoYW5nZRJsChtHZXRSYXdTeW1ib2xzQnlDb2luRXhjaGFuZ2USEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIiiC0+STAiISIC92MS9yYXctc3ltYm9scy1ieS1jb2luLWV4Y2hhbmdlEkcKHlN0cmVhbVJhd1N5bWJvbHNCeUNvaW5FeGNoYW5nZRIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiABJDChpTdHJlYW1DYXRlZ29yaWVzQnlFeGNoYW5nZRIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiABJKCgpHZXRNYXJrZXRzEhIuR2V0TWFya2V0c1JlcXVlc3QaEy5HZXRNYXJrZXRzUmVzcG9uc2UiE4LT5JMCDRILL3YxL21hcmtldHMSPwoNU3RyZWFtTWFya2V0cxIVLlN0cmVhbU1hcmtldHNSZXF1ZXN0GhMuR2V0TWFya2V0c1Jlc3BvbnNlIgAwARJIChFTdHJlYW1NYXJrZXRTdGF0cxIZLlN0cmVhbU1hcmtldFN0YXRzUmVxdWVzdBoULk1hcmtldFN0YXRzUmVzcG9uc2UiADABEj4KCkdldFNlY3RvcnMSBi5FbXB0eRoTLkdldFNlY3RvcnNSZXNwb25zZSITgtPkkwINEgsvdjEvc2VjdG9ycxIqCg1TdHJlYW1TZWN0b3JzEgYuRW1wdHkaDS5TZWN0b3JEZXRhaWwiADABElAKCUdldFNlY3RvchIRLkdldFNlY3RvclJlcXVlc3QaEi5HZXRTZWN0b3JSZXNwb25zZSIcgtPkkwIWEhQvdjEvc2VjdG9ycy97c2VjdG9yfRIyCgxTdHJlYW1TZWN0b3ISES5HZXRTZWN0b3JSZXF1ZXN0GgsuQ29pbkRldGFpbCIAMAESLgoMRGVsZXRlUG9pbnRzEhQuRGVsZXRlUG9pbnRzUmVxdWVzdBoGLkVtcHR5IgASLwoUU3RyZWFtQmFja2ZpbGxQb2ludHMSCy5UaW1lU2VyaWVzGgYuRW1wdHkiACgBEjAKDVJlZnJlc2hQb2ludHMSFS5SZWZyZXNoUG9pbnRzUmVxdWVzdBoGLkVtcHR5IgASTwoMRXhwb3J0UG9pbnRzEgwuRGF0YVJlcXVlc3QaFC5nb29nbGUuYXBpLkh0dHBCb2R5IhmC0+STAhMSES92MS9leHBvcnQtcG9pbnRzMAESPQoMR2V0R2Fwc0NvdW50EhQuR2V0R2Fwc0NvdW50UmVxdWVzdBoVLkdldEdhcHNDb3VudFJlc3BvbnNlIgASYQoUR2V0T3JkZXJCb29rRmVhdHVyZXMSDC5EYXRhUmVxdWVzdBoaLk9yZGVyQm9va0ZlYXR1cmVzUmVzcG9uc2UiH4LT5JMCGRIXL3YxL29yZGVyLWJvb2stZmVhdHVyZXMSWwoUR2V0UmVnaXN0cnlNZXRhZGF0YXMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIh6C0+STAhgSFi92MS9yZWdpc3RyeS1tZXRhZGF0YXMSWwoOR2V0Q29pbk1ldHJpY3MSFi5HZXRDb2luTWV0cmljc1JlcXVlc3QaFy5HZXRDb2luTWV0cmljc1Jlc3BvbnNlIhiC0+STAhISEC92MS9jb2luLW1ldHJpY3MSWgoTR2V0U2VjdG9yQ2F0ZWdvcmllcxIGLkVtcHR5GhwuR2V0U2VjdG9yQ2F0ZWdvcmllc1Jlc3BvbnNlIh2C0+STAhcSFS92MS9zZWN0b3ItY2F0ZWdvcmllcxI1ChZTdHJlYW1TZWN0b3JDYXRlZ29yaWVzEgYuRW1wdHkaDy5TZWN0b3JDYXRlZ29yeSIAMAESTgoPR2V0RnJlZE1ldGFkYXRhEgYuRW1wdHkaGC5HZXRGcmVkTWV0YWRhdGFSZXNwb25zZSIZgtPkkwITEhEvdjEvZnJlZC1tZXRhZGF0YRIvChJTdHJlYW1GcmVkTWV0YWRhdGESBi5FbXB0eRoNLkZyZWRNZXRhZGF0YSIAMAESfwoZR2V0RnJlZE1ldGFkYXRhQnlTZXJpZXNJRBIhLkdldEZyZWRNZXRhZGF0YUJ5U2VyaWVzSURSZXF1ZXN0GhguR2V0RnJlZE1ldGFkYXRhUmVzcG9uc2UiJYLT5JMCHxIdL3YxL2ZyZWQtbWV0YWRhdGEve3Nlcmllc19pZH0SVAocU3RyZWFtRnJlZE1ldGFkYXRhQnlTZXJpZXNJRBIhLkdldEZyZWRNZXRhZGF0YUJ5U2VyaWVzSURSZXF1ZXN0Gg0uRnJlZE1ldGFkYXRhIgAwARKIAQoZR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YRIhLkdldEVjb25vbWljU2VyaWVzTWV0YWRhdGFSZXF1ZXN0GiIuR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YVJlc3BvbnNlIiSC0+STAh4SHC92MS9lY29ub21pYy1zZXJpZXMtbWV0YWRhdGESXgocU3RyZWFtRWNvbm9taWNTZXJpZXNNZXRhZGF0YRIhLkdldEVjb25vbWljU2VyaWVzTWV0YWRhdGFSZXF1ZXN0GhcuRWNvbm9taWNTZXJpZXNNZXRhZGF0YSIAMAEShAEKGEdldFBvbHlnb25UaWNrZXJNZXRhZGF0YRIgLkdldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlcXVlc3QaIS5HZXRQb2x5Z29uVGlja2VyTWV0YWRhdGFSZXNwb25zZSIjgtPkkwIdEhsvdjEvcG9seWdvbi1tZXRhZGF0YS90aWNrZXISWwobU3RyZWFtUG9seWdvblRpY2tlck1ldGFkYXRhEiAuR2V0UG9seWdvblRpY2tlck1ldGFkYXRhUmVxdWVzdBoWLlBvbHlnb25UaWNrZXJNZXRhZGF0YSIAMAESgAEKF0dldFRva2VuVW5sb2Nrc01ldGFkYXRhEh8uR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGFSZXF1ZXN0GiAuR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGFSZXNwb25zZSIigtPkkwIcEhovdjEvdG9rZW4tdW5sb2Nrcy1tZXRhZGF0YRJYChpTdHJlYW1Ub2tlblVubG9ja3NNZXRhZGF0YRIfLkdldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVxdWVzdBoVLlRva2VuVW5sb2Nrc01ldGFkYXRhIgAwARJsChJHZXREZXhQb29sTWV0YWRhdGESGi5HZXREZXhQb29sTWV0YWRhdGFSZXF1ZXN0GhsuR2V0RGV4UG9vbE1ldGFkYXRhUmVzcG9uc2UiHYLT5JMCFxIVL3YxL2RleC1wb29sLW1ldGFkYXRhEm8KE0dldFBvbHltYXJrZXRFdmVudHMSGy5HZXRQb2x5bWFya2V0RXZlbnRzUmVxdWVzdBocLkdldFBvbHltYXJrZXRFdmVudHNSZXNwb25zZSIdgtPkkwIXEhUvdjEvcG9seW1hcmtldC9ldmVudHMSVgoWU3RyZWFtUG9seW1hcmtldEV2ZW50cxIbLkdldFBvbHltYXJrZXRFdmVudHNSZXF1ZXN0GhsuR2V0UG9seW1hcmtldEV2ZW50UmVzcG9uc2UiADABEnMKFEdldFBvbHltYXJrZXRNYXJrZXRzEhwuR2V0UG9seW1hcmtldE1hcmtldHNSZXF1ZXN0Gh0uR2V0UG9seW1hcmtldE1hcmtldHNSZXNwb25zZSIegtPkkwIYEhYvdjEvcG9seW1hcmtldC9tYXJrZXRzEnsKFkdldFBvbHltYXJrZXRBbmFseXRpY3MSHi5HZXRQb2x5bWFya2V0QW5hbHl0aWNzUmVxdWVzdBofLkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXNwb25zZSIggtPkkwIaEhgvdjEvcG9seW1hcmtldC9hbmFseXRpY3MSYAoZU3RyZWFtUG9seW1hcmtldEFuYWx5dGljcxIeLkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXF1ZXN0Gh8uR2V0UG9seW1hcmtldEFuYWx5dGljc1Jlc3BvbnNlIgAwARJzChRHZXRNZW1lY29pbkFuYWx5dGljcxIcLkdldE1lbWVjb2luQW5hbHl0aWNzUmVxdWVzdBodLkdldE1lbWVjb2luQW5hbHl0aWNzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL21lbWVjb2luL2FuYWx5dGljcxJaChdTdHJlYW1NZW1lY29pbkFuYWx5dGljcxIcLkdldE1lbWVjb2luQW5hbHl0aWNzUmVxdWVzdBodLkdldE1lbWVjb2luQW5hbHl0aWNzUmVzcG9uc2UiADABEk8KEkdldExhdGVzdFNuYXBzaG90cxIMLkRhdGFSZXF1ZXN0Gg0uRGF0YVJlc3BvbnNlIhyC0+STAhYSFC92MS9sYXRlc3Qtc25hcHNob3RzEjYKFVN0cmVhbUxhdGVzdFNuYXBzaG90cxIMLkRhdGFSZXF1ZXN0GgsuVGltZVNlcmllcyIAMAESZgoXR2V0UG9seW1hcmtldENhdGVnb3JpZXMSBi5FbXB0eRogLkdldFBvbHltYXJrZXRDYXRlZ29yaWVzUmVzcG9uc2UiIYLT5JMCGxIZL3YxL3BvbHltYXJrZXQtY2F0ZWdvcmllcxJBChpTdHJlYW1Qb2x5bWFya2V0Q2F0ZWdvcmllcxIGLkVtcHR5GhcuUG9seW1hcmtldENhdGVnb3J5UGFpciIAMAESWwoOR2V0T3B0aW9uQ2hhaW4SFi5HZXRPcHRpb25DaGFpblJlcXVlc3QaFy5HZXRPcHRpb25DaGFpblJlc3BvbnNlIhiC0+STAhISEC92MS9vcHRpb24tY2hhaW4SeAoVR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5Eh0uR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVxdWVzdBoeLkdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlIiCC0+STAhoSGC92MS9vcHRpb24tY2hhaW4tc3VtbWFyeUJMWgh0eXBlcy9wYpJBPxIbChV0c2RiLWdhdGV3YXkgUkVTVCBBUEkyAnYxciAKFlByb3RvY29sIERvY3VtZW50YXRpb24SBi9kb2NzL2IGcHJvdG8z", [file_google_api_annotations, file_google_api_httpbody, file_protoc_gen_openapiv2_options_annotations, file_timestamp_timestamp, file_empty, file_enums, file_ping_pong, file_series, file_transform]);
18
+ export const file_tsdb_gateway_tsdb_gateway = /*@__PURE__*/ fileDesc("Ch90c2RiLWdhdGV3YXkvdHNkYi1nYXRld2F5LnByb3RvIkkKD0N1c3RvbVRpbWVSYW5nZRISCgpzdGFydF90aW1lGAEgASgJEhAKCGVuZF90aW1lGAIgASgJEhAKCHRpbWV6b25lGAMgASgJIugNCgtEYXRhUmVxdWVzdBITCgR0eXBlGAEgAygOMgUuVHlwZRIbCghleGNoYW5nZRgCIAMoDjIJLkV4Y2hhbmdlEhgKEG5vcm1hbGl6ZWRTeW1ib2wYAyADKAkSDAoEY29pbhgEIAMoCRIbCghjYXRlZ29yeRgFIAMoDjIJLkNhdGVnb3J5EhEKCXJhd1N5bWJvbBgGIAMoCRImCghpbnRlcnZhbBgMIAEoDjIULkFnZ3JlZ2F0aW9uSW50ZXJ2YWwSDAoEZnJvbRgOIAEoAxIOCgZwZXJpb2QYDyABKAMSEwoEc2lkZRgIIAEoDjIFLlNpZGUSFwoEa2luZBgJIAEoDjIJLlJhdGVLaW5kEh8KCm9wdGlvblR5cGUYCiABKA4yCy5PcHRpb25UeXBlEhUKBXRlbm9yGAsgASgOMgYuVGVub3ISGwoIc2tld0tpbmQYESABKA4yCS5Ta2V3S2luZBIbCgh2aXBMZXZlbBgWIAEoDjIJLlZpcExldmVsEh0KCWZ1bmRHcm91cBgXIAEoDjIKLkZ1bmRHcm91cBIhCgtncmFudWxhcml0eRgYIAEoDjIMLkdyYW51bGFyaXR5EhcKBmlzc3VlchgZIAMoDjIHLklzc3VlchIQCghtaW5QcmljZRgaIAEoARIQCghtYXhQcmljZRgbIAEoARIRCglibG9ja1NpemUYHCABKAESFAoMY29tcHV0ZVNpbmNlGB0gASgDEiUKDXNvcnREaXJlY3Rpb24YHiABKA4yDi5Tb3J0RGlyZWN0aW9uEhcKD3Ntb290aGluZ1BlcmlvZBgfIAEoAxIsCg5zeW1ib2xDcml0ZXJpYRggIAEoCzIPLlN5bWJvbENyaXRlcmlhSACIAQESHQoJdHJhbnNmb3JtGCEgASgLMgouVHJhbnNmb3JtEiQKDXNlcmllc0ZpbHRlcnMYIiADKAsyDS5TZXJpZXNGaWx0ZXISFQoFY2hhaW4YIyADKA4yBi5DaGFpbhITCgtwb29sQWRkcmVzcxgkIAMoCRIjCgxwb29sUHJvdG9jb2wYJSADKA4yDS5Qb29sUHJvdG9jb2wSGAoQYmFzZVRva2VuQWRkcmVzcxgmIAMoCRIZChFxdW90ZVRva2VuQWRkcmVzcxgnIAMoCRIWCg5mYWN0b3J5QWRkcmVzcxgoIAMoCRIQCghtYXhEZXB0aBgpIAEoAxIYChBtYXRlcmlhbGl6ZWRPbmx5GCogASgIEg0KBWxpbWl0GCsgASgDEiYKC3dhbGxSZXF1ZXN0GCwgASgLMgwuV2FsbFJlcXVlc3RIAYgBARIvChJzZWN0b3JNYWluQ2F0ZWdvcnkYLSADKA4yEy5TZWN0b3JNYWluQ2F0ZWdvcnkSLQoRc2VjdG9yU3ViQ2F0ZWdvcnkYLiADKA4yEi5TZWN0b3JTdWJDYXRlZ29yeRIRCgl0b2tlbk5hbWUYLyADKAkSDwoHZmxhdHRlbhgwIAEoCBIXCgZzb3VyY2UYMSADKA4yBy5Tb3VyY2USHwoKdHBvU2Vzc2lvbhgyIAEoDjILLlRQT1Nlc3Npb24SGwoTdHBvQmxvY2tTaXplTWludXRlcxgzIAEoBRIKCgJpZBg0IAMoCRIjCgxmcmVkQ2F0ZWdvcnkYNSADKA4yDS5GcmVkQ2F0ZWdvcnkSIQoLdHJhZGluZ0hvdXIYNiABKA4yDC5UcmFkaW5nSG91chIUCgx1bmxvY2tzTGFiZWwYNyADKAkSLgoPY3VzdG9tVGltZVJhbmdlGDggASgLMhAuQ3VzdG9tVGltZVJhbmdlSAKIAQESJwoabWFya2V0X2V2ZW50X21pbl9pbnRlbnNpdHkYOSABKAVIA4gBARInChptYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eRg6IAEoBUgEiAEBEg0KBWV2ZW50GDsgAygJEg8KB2dhcGZpbGwYPCABKAgSDwoHYWRkcmVzcxg9IAMoCRIdCglvcmRlclNpemUYPiADKA4yCi5PcmRlclNpemUSEQoJbWluQW1vdW50GD8gASgBEhYKDm1pblF1b3RlQW1vdW50GEAgASgBEh0KFXNraXBCb29rTm9ybWFsaXphdGlvbhhBIAEoCBIQCghhZGp1c3RlZBhCIAEoCBINCgVzaWRlZBhDIAEoCEIRCg9fc3ltYm9sQ3JpdGVyaWFCDgoMX3dhbGxSZXF1ZXN0QhIKEF9jdXN0b21UaW1lUmFuZ2VCHQobX21hcmtldF9ldmVudF9taW5faW50ZW5zaXR5Qh0KG19tYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eUoECAcQCEoECA0QDkoECBAQEUoECBIQFiJxCgxTZXJpZXNGaWx0ZXISHAoJZXhjaGFuZ2VzGAEgAygOMgkuRXhjaGFuZ2USEgoKcmF3U3ltYm9scxgCIAMoCRIZChFub3JtYWxpemVkU3ltYm9scxgDIAMoCRIUCgV0eXBlcxgEIAMoDjIFLlR5cGUiYgoLV2FsbFJlcXVlc3QSFAoMcHJlc2VudF9vbmx5GAEgASgIEhwKFG1pbl9kdXJhdGlvbl9zZWNvbmRzGAIgASgDEh8KF21pbl9xdWFudGl0eV9wZXJjZW50aWxlGAMgASgBIkwKDE1hcmtldEZpbHRlchIbCghjYXRlZ29yeRgBIAMoDjIJLkNhdGVnb3J5Eh8KCm1hcmtldFR5cGUYAiADKA4yCy5NYXJrZXRUeXBlIjgKGEdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZRIcCglleGNoYW5nZXMYASADKA4yCS5FeGNoYW5nZSKRCAoRR2V0TWFya2V0c1JlcXVlc3QSGwoIZXhjaGFuZ2UYASADKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAMoDjIJLkNhdGVnb3J5EhcKBnNpZ25hbBgDIAEoDjIHLlNpZ25hbBIUCgxzeW1ib2xGaWx0ZXIYBCABKAkSEAoIcGFnZVNpemUYBSABKAUSEgoKcGFnZU9mZnNldBgGIAEoBRIMCgRjb2luGAcgAygJEhMKBHR5cGUYCCADKA4yBS5UeXBlEioKDHNvcnRDcml0ZXJpYRgJIAEoCzIULk1hcmtldHNTb3J0Q3JpdGVyaWESFQoFY2hhaW4YCiADKA4yBi5DaGFpbhIjCgxwb29sUHJvdG9jb2wYCyADKA4yDS5Qb29sUHJvdG9jb2wSJAoNc2VyaWVzRmlsdGVycxgMIAMoCzINLlNlcmllc0ZpbHRlchIQCghkaXN0aW5jdBgNIAEoCBIkCg1tYXJrZXRGaWx0ZXJzGA4gAygLMg0uTWFya2V0RmlsdGVyEhAKCHRhZ1NsdWdzGA8gAygJEhcKD2V4Y2x1ZGVUYWdTbHVncxgQIAMoCRIVCg1yZWxhdGVkVG9TbHVnGBEgASgJEhoKDWV4cGlyZXNCZWZvcmUYEiABKANIAIgBARIUCgd2ZXJzaW9uGBMgASgJSAGIAQESLwoHZXhjbHVkZRgUIAEoCzIZLkdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZUgCiAEBEhUKDWV4Y2x1ZGVQcmljZXMYFSABKAgSLAoJZ3JvdXBTb3J0GBYgASgLMhkuTWFya2V0c0dyb3VwU29ydENyaXRlcmlhEikKC3ZhcmlhbnRTb3J0GBcgASgLMhQuTWFya2V0c1NvcnRDcml0ZXJpYRIbCg5yZWxldmFuY2VGaXJzdBgYIAEoCEgDiAEBEiYKCnByb2plY3Rpb24YGSABKA4yEi5NYXJrZXRzUHJvamVjdGlvbhIZCgx2YXJpYW50TGltaXQYGiABKAVIBIgBARIWCglhc3NldE5hbWUYGyABKAlIBYgBARIhCgxhc3NldENsYXNzZXMYHCADKA4yCy5Bc3NldENsYXNzEigKD3JlcHJlc2VudGF0aW9ucxgdIAMoDjIPLlJlcHJlc2VudGF0aW9uEhUKDXF1b3RlQXNzZXRJZHMYHiADKAkSEwoLZGVwbG95ZXJJZHMYHyADKAkSFQoIZ3JvdXBLZXkYICABKAlIBogBAUIQCg5fZXhwaXJlc0JlZm9yZUIKCghfdmVyc2lvbkIKCghfZXhjbHVkZUIRCg9fcmVsZXZhbmNlRmlyc3RCDwoNX3ZhcmlhbnRMaW1pdEIMCgpfYXNzZXROYW1lQgsKCV9ncm91cEtleSKtAQoUU3RyZWFtTWFya2V0c1JlcXVlc3QSKAoNc2VyaWVzRmlsdGVycxgBIAMoCzINLlNlcmllc0ZpbHRlckICGAESFwoEdHlwZRgCIAMoDjIFLlR5cGVCAhgBEioKDm1hcmtldHNSZXF1ZXN0GAQgASgLMhIuR2V0TWFya2V0c1JlcXVlc3QSFAoHdmVyc2lvbhgFIAEoCUgAiAEBQgoKCF92ZXJzaW9uSgQIAxAEIlsKE01hcmtldHNTb3J0Q3JpdGVyaWESIQoFZmllbGQYASABKA4yEi5NYXJrZXRTeW1ib2xGaWVsZBIhCglkaXJlY3Rpb24YAiABKA4yDi5Tb3J0RGlyZWN0aW9uIl8KGE1hcmtldHNHcm91cFNvcnRDcml0ZXJpYRIgCgVmaWVsZBgBIAEoDjIRLk1hcmtldEFzc2V0RmllbGQSIQoJZGlyZWN0aW9uGAIgASgOMg4uU29ydERpcmVjdGlvbiKVEAoMTWFya2V0U3ltYm9sEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAiABKA4yCS5DYXRlZ29yeRIRCglyYXdTeW1ib2wYAyABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgEIAEoCRIMCgRjb2luGAUgASgJEhYKCXNtYVNwcmVhZBgGIAEoAUgAiAEBEh0KEHZvbHVtZVNwaWtlUmF0aW8YByABKAFIAYgBARIVCghhdHJSYXRpbxgIIAEoAUgCiAEBEhgKC3JhbmdlU3ByZWFkGAkgASgBSAOIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCiABKAFIBIgBARIcCg92b2x1bWVDaGFuZ2UyNGgYCyABKAFIBYgBARIWCgl2b2x1bWUyNGgYDCABKAFIBogBARIOCgZwcmljZXMYDSADKAESFgoJbGFzdFByaWNlGA4gASgBSAeIAQESFwoGaXNzdWVyGA8gASgOMgcuSXNzdWVyEhUKBXRlbm9yGBAgASgOMgYuVGVub3ISFwoKcGN0RnJvbUFUSBgRIAEoAUgIiAEBEhUKBWNoYWluGBIgASgOMgYuQ2hhaW4SEwoLcG9vbEFkZHJlc3MYEyABKAkSIwoMcG9vbFByb3RvY29sGBQgASgOMg0uUG9vbFByb3RvY29sEhgKEGJhc2VUb2tlbkFkZHJlc3MYFSABKAkSGQoRcXVvdGVUb2tlbkFkZHJlc3MYFiABKAkSFgoOZmFjdG9yeUFkZHJlc3MYFyABKAkSDwoHZ2FwZmlsbBgYIAEoCBIYCgtvaUNoYW5nZTI0aBgZIAEoAUgJiAEBEhcKCmF0clBlcmNlbnQYGiABKAFICogBARIWCgltYXJrZXRjYXAYGyABKAFIC4gBARIKCgJpZBgcIAEoCRISCgV0aXRsZRgdIAEoCUgMiAEBEhUKCGNvaW5OYW1lGB4gASgJSA2IAQESGgoNcXVvdGVDb2luTmFtZRgfIAEoCUgOiAEBEhUKCGZ1bGxOYW1lGCAgASgJSA+IAQESFgoJbGlxdWlkaXR5GCEgASgBSBCIAQESGAoLdG90YWxWb2x1bWUYIyABKAFIEYgBARI4ChFwcmVkaWN0aW9uTWFya2V0cxglIAMoCzIdLk1hcmtldFNlYXJjaFByZWRpY3Rpb25NYXJrZXQSEwoGY2xvc2VkGCYgASgISBKIAQESFAoHaWNvblVybBgnIAEoCUgTiAEBEiQKC2F2YWlsYWJsZVRvGCggASgLMgouVGltZXN0YW1wSBSIAQESJwoOYXZhaWxhYmxlU2luY2UYKSABKAsyCi5UaW1lc3RhbXBIFYgBARIeCgR0YWdzGCogAygLMhAuTWFya2V0U2VhcmNoVGFnEhoKDXBhcmVudEV2ZW50SWQYKyABKANIFogBARIiCg9kaXNwbGF5RXhjaGFuZ2UYLCABKA4yCS5FeGNoYW5nZRIfCgphc3NldENsYXNzGC0gASgOMgsuQXNzZXRDbGFzcxInCg5yZXByZXNlbnRhdGlvbhguIAEoDjIPLlJlcHJlc2VudGF0aW9uEh4KDWNhdGFsb2dJc3N1ZXIYLyABKA4yBy5Jc3N1ZXISHQoQdW5kZXJseWluZ1N5bWJvbBgwIAEoCUgXiAEBEhsKDnVuZGVybHlpbmdJc2luGDEgASgJSBiIAQESHgoRaXNzdWVyVG9rZW5TeW1ib2wYMiABKAlIGYgBARIcCg9zaGFyZU11bHRpcGxpZXIYMyABKAFIGogBARIrChB0cmFkaW5nSG91cnNNb2RlGDQgASgOMhEuVHJhZGluZ0hvdXJzTW9kZRIWCg5pc0lzc3VlckhhbHRlZBg1IAEoCBIZCgx2b2x1bWUyNGhVc2QYNiABKAFIG4gBARIjCgp2b2x1bWVBc09mGDcgASgLMgouVGltZXN0YW1wSByIAQESGQoMcXVvdGVBc3NldElkGDggASgJSB2IAQESFwoKZGVwbG95ZXJJZBg5IAEoCUgeiAEBEhQKB2RleE5hbWUYOiABKAlIH4gBAUIMCgpfc21hU3ByZWFkQhMKEV92b2x1bWVTcGlrZVJhdGlvQgsKCV9hdHJSYXRpb0IOCgxfcmFuZ2VTcHJlYWRCEQoPX3ByaWNlQ2hhbmdlMjRoQhIKEF92b2x1bWVDaGFuZ2UyNGhCDAoKX3ZvbHVtZTI0aEIMCgpfbGFzdFByaWNlQg0KC19wY3RGcm9tQVRIQg4KDF9vaUNoYW5nZTI0aEINCgtfYXRyUGVyY2VudEIMCgpfbWFya2V0Y2FwQggKBl90aXRsZUILCglfY29pbk5hbWVCEAoOX3F1b3RlQ29pbk5hbWVCCwoJX2Z1bGxOYW1lQgwKCl9saXF1aWRpdHlCDgoMX3RvdGFsVm9sdW1lQgkKB19jbG9zZWRCCgoIX2ljb25VcmxCDgoMX2F2YWlsYWJsZVRvQhEKD19hdmFpbGFibGVTaW5jZUIQCg5fcGFyZW50RXZlbnRJZEITChFfdW5kZXJseWluZ1N5bWJvbEIRCg9fdW5kZXJseWluZ0lzaW5CFAoSX2lzc3VlclRva2VuU3ltYm9sQhIKEF9zaGFyZU11bHRpcGxpZXJCDwoNX3ZvbHVtZTI0aFVzZEINCgtfdm9sdW1lQXNPZkIPCg1fcXVvdGVBc3NldElkQg0KC19kZXBsb3llcklkQgoKCF9kZXhOYW1lSgQIIhAjSgQIJBAlIqgGChxNYXJrZXRTZWFyY2hQcmVkaWN0aW9uTWFya2V0EgwKBHNsdWcYASABKAkSEQoJbGFzdFByaWNlGAIgASgBEhAKCHF1ZXN0aW9uGAMgASgJEhYKDmdyb3VwSXRlbVRpdGxlGAQgASgJEhkKEW9uZURheVByaWNlQ2hhbmdlGAUgASgBEg4KBnByaWNlcxgGIAMoARIOCgZjbG9zZWQYByABKAgSHwoLYXZhaWxhYmxlVG8YCCABKAsyCi5UaW1lc3RhbXASIgoOYXZhaWxhYmxlU2luY2UYCSABKAsyCi5UaW1lc3RhbXASGAoLdG90YWxWb2x1bWUYCiABKAFIAIgBARIiCgxnZW9Mb2NhdGlvbnMYCyADKAsyDC5HZW9Mb2NhdGlvbhIaCg11bmlxdWVUcmFkZXJzGAwgASgBSAGIAQESGQoMYnV5Vm9sdW1lMjRIGA0gASgBSAKIAQESGgoNc2VsbFZvbHVtZTI0SBgOIAEoAUgDiAEBEhwKD3ZvbHVtZUNoYW5nZTI0SBgPIAEoAUgEiAEBEhAKCG91dGNvbWVzGBAgAygJEhsKDm9uZURheU9JQ2hhbmdlGBEgASgBSAWIAQESGQoMb3BlbkludGVyZXN0GBIgASgBSAaIAQESIgoVb3JkZXJQcmljZU1pblRpY2tTaXplGBMgASgBSAeIAQESGAoLY29uZGl0aW9uSWQYFCABKAlICIgBARIdChBzcG9ydHNNYXJrZXRUeXBlGBUgASgJSAmIAQESEQoEbGluZRgWIAEoAUgKiAEBEg8KB3Rva2VuSWQYFyABKAlCDgoMX3RvdGFsVm9sdW1lQhAKDl91bmlxdWVUcmFkZXJzQg8KDV9idXlWb2x1bWUyNEhCEAoOX3NlbGxWb2x1bWUyNEhCEgoQX3ZvbHVtZUNoYW5nZTI0SEIRCg9fb25lRGF5T0lDaGFuZ2VCDwoNX29wZW5JbnRlcmVzdEIYChZfb3JkZXJQcmljZU1pblRpY2tTaXplQg4KDF9jb25kaXRpb25JZEITChFfc3BvcnRzTWFya2V0VHlwZUIHCgVfbGluZSI6Cg9NYXJrZXRTZWFyY2hUYWcSCgoCaWQYASABKAMSDQoFbGFiZWwYAiABKAkSDAoEc2x1ZxgDIAEoCSLFAQoLTWFya2V0QXNzZXQSEQoJYXNzZXROYW1lGAEgASgJEhQKDG1heFZvbHVtZTI0aBgCIAEoARIeCgdzeW1ib2xzGAMgAygLMg0uTWFya2V0U3ltYm9sEhMKC2Fzc2V0VGlja2VyGAQgASgJEhQKDHZhcmlhbnRDb3VudBgIIAEoBRIcCg9tYXhWb2x1bWUyNGhVc2QYCSABKAFIAIgBARIQCghncm91cEtleRgKIAEoCUISChBfbWF4Vm9sdW1lMjRoVXNkImYKEkdldE1hcmtldHNSZXNwb25zZRIeCgdzeW1ib2xzGAEgAygLMg0uTWFya2V0U3ltYm9sEhIKCm5leHRPZmZzZXQYAiABKAUSHAoGYXNzZXRzGAMgAygLMgwuTWFya2V0QXNzZXQiWgoOTWFya2V0U3RhdHNLZXkSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAEoDjIJLkNhdGVnb3J5Eg4KBnN5bWJvbBgDIAEoCSJTChhTdHJlYW1NYXJrZXRTdGF0c1JlcXVlc3QSIAoHbWFya2V0cxgBIAMoCzIPLk1hcmtldFN0YXRzS2V5EhUKDWluY2x1ZGVQcmljZXMYAiABKAgiMgoTTWFya2V0U3RhdHNSZXNwb25zZRIbCgVzdGF0cxgBIAMoCzIMLk1hcmtldFN0YXRzIsAQCgtNYXJrZXRTdGF0cxIcCgNrZXkYASABKAsyDy5NYXJrZXRTdGF0c0tleRINCgVmb3VuZBgCIAEoCBIhCghsaXZlQXNPZhgDIAEoCzIKLlRpbWVzdGFtcEgAiAEBEiEKCHNsb3dBc09mGAQgASgLMgouVGltZXN0YW1wSAGIAQESFgoJbGFzdFByaWNlGAogASgBSAKIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCyABKAFIA4gBARIWCgl2b2x1bWUyNGgYDCABKAFIBIgBARIZCgx2b2x1bWUyNGhVc2QYDSABKAFIBYgBARIcCg92b2x1bWVDaGFuZ2UyNGgYDiABKAFIBogBARIOCgZwcmljZXMYDyADKAESGAoLb2lDaGFuZ2UyNGgYECABKAFIB4gBARIcCg9vcGVuSW50ZXJlc3RVc2QYFCABKAFICIgBARIYCgtmdW5kaW5nUmF0ZRgVIAEoAUgJiAEBEh4KEWZ1bmRpbmdJbnRlcnZhbE1zGBYgASgDSAqIAQESFgoJbWFya2V0Y2FwGBcgASgBSAuIAQESEAoDZmR2GBggASgBSAyIAQESHgoRY2lyY3VsYXRpbmdTdXBwbHkYGSABKAFIDYgBARIYCgt0b3RhbFN1cHBseRgaIAEoAUgOiAEBEhYKCW1heFN1cHBseRgbIAEoAUgPiAEBEh4KEXNoYXJlc091dHN0YW5kaW5nGBwgASgBSBCIAQESGwoOcHJpY2VDaGFuZ2UxMG0YKCABKAFIEYgBARIaCg1wcmljZUNoYW5nZTFoGCkgASgBSBKIAQESGgoNcHJpY2VDaGFuZ2U3ZBgqIAEoAUgTiAEBEhIKBWxvdzdkGCsgASgBSBSIAQESEwoGaGlnaDdkGCwgASgBSBWIAQESGQoMdm9sdW1lMTBtVXNkGC0gASgBSBaIAQESGAoLdm9sdW1lMWhVc2QYLiABKAFIF4gBARIeChF2b2x1bWVEZWx0YTEwbVVzZBgvIAEoAUgYiAEBEh0KEHZvbHVtZURlbHRhMWhVc2QYMCABKAFIGYgBARIeChF2b2x1bWVEZWx0YTI0aFVzZBgxIAEoAUgaiAEBEhcKCm9pQ2hhbmdlMWgYMiABKAFIG4gBARIeChFmdW5kaW5nUmF0ZUF2ZzI0aBgzIAEoAUgciAEBEhcKCmZ1bmRpbmdBcHIYNCABKAFIHYgBARIfChJsaXF1aWRhdGlvbnMyNGhVc2QYNSABKAFIHogBARIjChZsb25nTGlxdWlkYXRpb25zMjRoVXNkGDYgASgBSB+IAQESJAoXc2hvcnRMaXF1aWRhdGlvbnMyNGhVc2QYNyABKAFIIIgBARITCgZwZXJmMXcYOCABKAFIIYgBARITCgZwZXJmMW0YOSABKAFIIogBARITCgZwZXJmM20YOiABKAFII4gBARITCgZwZXJmNm0YOyABKAFIJIgBARIUCgdwZXJmWXRkGDwgASgBSCWIAQESEwoGcGVyZjF5GD0gASgBSCaIAQESFAoHaGlnaDUydxg+IAEoAUgniAEBEhMKBmxvdzUydxg/IAEoAUgoiAEBEhkKDGJ1eVZvbHVtZTI0aBhGIAEoAUgpiAEBEhoKDXNlbGxWb2x1bWUyNGgYRyABKAFIKogBARIaCg11bmlxdWVUcmFkZXJzGEggASgDSCuIAQESGAoLdG90YWxWb2x1bWUYSSABKAFILIgBARIgCgdlbmREYXRlGEogASgLMgouVGltZXN0YW1wSC2IAQESEwoGY2xvc2VkGEsgASgISC6IAQFCCwoJX2xpdmVBc09mQgsKCV9zbG93QXNPZkIMCgpfbGFzdFByaWNlQhEKD19wcmljZUNoYW5nZTI0aEIMCgpfdm9sdW1lMjRoQg8KDV92b2x1bWUyNGhVc2RCEgoQX3ZvbHVtZUNoYW5nZTI0aEIOCgxfb2lDaGFuZ2UyNGhCEgoQX29wZW5JbnRlcmVzdFVzZEIOCgxfZnVuZGluZ1JhdGVCFAoSX2Z1bmRpbmdJbnRlcnZhbE1zQgwKCl9tYXJrZXRjYXBCBgoEX2ZkdkIUChJfY2lyY3VsYXRpbmdTdXBwbHlCDgoMX3RvdGFsU3VwcGx5QgwKCl9tYXhTdXBwbHlCFAoSX3NoYXJlc091dHN0YW5kaW5nQhEKD19wcmljZUNoYW5nZTEwbUIQCg5fcHJpY2VDaGFuZ2UxaEIQCg5fcHJpY2VDaGFuZ2U3ZEIICgZfbG93N2RCCQoHX2hpZ2g3ZEIPCg1fdm9sdW1lMTBtVXNkQg4KDF92b2x1bWUxaFVzZEIUChJfdm9sdW1lRGVsdGExMG1Vc2RCEwoRX3ZvbHVtZURlbHRhMWhVc2RCFAoSX3ZvbHVtZURlbHRhMjRoVXNkQg0KC19vaUNoYW5nZTFoQhQKEl9mdW5kaW5nUmF0ZUF2ZzI0aEINCgtfZnVuZGluZ0FwckIVChNfbGlxdWlkYXRpb25zMjRoVXNkQhkKF19sb25nTGlxdWlkYXRpb25zMjRoVXNkQhoKGF9zaG9ydExpcXVpZGF0aW9uczI0aFVzZEIJCgdfcGVyZjF3QgkKB19wZXJmMW1CCQoHX3BlcmYzbUIJCgdfcGVyZjZtQgoKCF9wZXJmWXRkQgkKB19wZXJmMXlCCgoIX2hpZ2g1MndCCQoHX2xvdzUyd0IPCg1fYnV5Vm9sdW1lMjRoQhAKDl9zZWxsVm9sdW1lMjRoQhAKDl91bmlxdWVUcmFkZXJzQg4KDF90b3RhbFZvbHVtZUIKCghfZW5kRGF0ZUIJCgdfY2xvc2VkImoKFUdldE9wdGlvbkNoYWluUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSFwoKZXhwaXJ5VW5peBgDIAEoA0gAiAEBQg0KC19leHBpcnlVbml4IkQKFU9wdGlvbkNoYWluSW5zdHJ1bWVudBIRCglyYXdTeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCSJwChFPcHRpb25DaGFpblN0cmlrZRIOCgZzdHJpa2UYASABKAESJQoFY2FsbHMYAiADKAsyFi5PcHRpb25DaGFpbkluc3RydW1lbnQSJAoEcHV0cxgDIAMoCzIWLk9wdGlvbkNoYWluSW5zdHJ1bWVudCJlChFPcHRpb25DaGFpbkV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhcKD2luc3RydW1lbnRDb3VudBgCIAEoBRIjCgdzdHJpa2VzGAMgAygLMhIuT3B0aW9uQ2hhaW5TdHJpa2UiaQoWR2V0T3B0aW9uQ2hhaW5SZXNwb25zZRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSJAoIZXhwaXJpZXMYAyADKAsyEi5PcHRpb25DaGFpbkV4cGlyeSLPAQocR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhIKCnVuZGVybHlpbmcYAiABKAkSEAoIZXhwaXJpZXMYAyADKAMSHAoPbmVpZ2hib3JTdHJpa2VzGAQgASgFSACIAQESFgoOYWxsVW5kZXJseWluZ3MYBSABKAgSIgoGdGltaW5nGAYgASgOMhIuT3B0aW9uQ2hhaW5UaW1pbmdCEgoQX25laWdoYm9yU3RyaWtlcyKvBQoQT3B0aW9uQ2hhaW5RdW90ZRIOCgZzeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCRIQCgNiaWQYAyABKAFIAIgBARIQCgNhc2sYBCABKAFIAYgBARIUCgdiaWRTaXplGAUgASgBSAKIAQESFAoHYXNrU2l6ZRgGIAEoAUgDiAEBEhIKBWJpZElWGAcgASgBSASIAQESEgoFYXNrSVYYCCABKAFIBYgBARIRCgRsYXN0GAkgASgBSAaIAQESEwoGdm9sdW1lGAogASgBSAeIAQESGQoMb3BlbkludGVyZXN0GAsgASgBSAiIAQESFgoJbWFya1ByaWNlGAwgASgBSAmIAQESEwoGbWFya0lWGA0gASgBSAqIAQESEgoFZGVsdGEYDiABKAFIC4gBARISCgVnYW1tYRgPIAEoAUgMiAEBEhEKBHZlZ2EYECABKAFIDYgBARISCgV0aGV0YRgRIAEoAUgOiAEBEhAKA3JobxgSIAEoAUgPiAEBEhEKCXRpbWVzdGFtcBgTIAEoAxIcCg9zZXR0bGVtZW50UHJpY2UYFCABKAFIEIgBARIWCg5zZXR0bGVtZW50RGF0ZRgVIAEoAxIVCghmdWxsTmFtZRgWIAEoCUgRiAEBQgYKBF9iaWRCBgoEX2Fza0IKCghfYmlkU2l6ZUIKCghfYXNrU2l6ZUIICgZfYmlkSVZCCAoGX2Fza0lWQgcKBV9sYXN0QgkKB192b2x1bWVCDwoNX29wZW5JbnRlcmVzdEIMCgpfbWFya1ByaWNlQgkKB19tYXJrSVZCCAoGX2RlbHRhQggKBl9nYW1tYUIHCgVfdmVnYUIICgZfdGhldGFCBgoEX3Job0ISChBfc2V0dGxlbWVudFByaWNlQgsKCV9mdWxsTmFtZSJrChhPcHRpb25DaGFpblN1bW1hcnlTdHJpa2USDgoGc3RyaWtlGAEgASgBEh8KBGNhbGwYAiABKAsyES5PcHRpb25DaGFpblF1b3RlEh4KA3B1dBgDIAEoCzIRLk9wdGlvbkNoYWluUXVvdGUirQMKGE9wdGlvbkNoYWluU3VtbWFyeUV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhgKEHVuZGVybHlpbmdTeW1ib2wYAiABKAkSHAoPdW5kZXJseWluZ1ByaWNlGAMgASgBSACIAQESLgoMYW5jaG9yU291cmNlGAQgASgOMhguT3B0aW9uQ2hhaW5BbmNob3JTb3VyY2USFgoJYXRtU3RyaWtlGAUgASgBSAGIAQESFwoPaW5zdHJ1bWVudENvdW50GAYgASgFEioKB3N0cmlrZXMYByADKAsyGS5PcHRpb25DaGFpblN1bW1hcnlTdHJpa2USHwoSdW5kZXJseWluZ0NvaW5OYW1lGAggASgJSAKIAQESHwoSdW5kZXJseWluZ0Z1bGxOYW1lGAkgASgJSAOIAQESFwoKaW5kZXhQcmljZRgKIAEoAUgEiAEBQhIKEF91bmRlcmx5aW5nUHJpY2VCDAoKX2F0bVN0cmlrZUIVChNfdW5kZXJseWluZ0NvaW5OYW1lQhUKE191bmRlcmx5aW5nRnVsbE5hbWVCDQoLX2luZGV4UHJpY2Ui5gEKHUdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEgoKdW5kZXJseWluZxgCIAEoCRIbChNyZXF1ZXN0ZWRVbmRlcmx5aW5nGAMgASgJEisKCGV4cGlyaWVzGAQgAygLMhkuT3B0aW9uQ2hhaW5TdW1tYXJ5RXhwaXJ5EiIKBnRpbWluZxgFIAEoDjISLk9wdGlvbkNoYWluVGltaW5nEhAKCGFzT2ZVbml4GAYgASgDEhQKDGRlbGF5U2Vjb25kcxgHIAEoBSKVAgoPTWV0YWRhdGFSZXF1ZXN0EhMKBHR5cGUYASADKA4yBS5UeXBlEhsKCGV4Y2hhbmdlGAIgAygOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAyADKA4yCS5DYXRlZ29yeRIMCgRjb2luGAQgAygJEhEKCXJhd1N5bWJvbBgFIAMoCRIYChBub3JtYWxpemVkU3ltYm9sGAogAygJEgwKBGZyb20YBiABKAMSDgoGcGVyaW9kGAcgASgDEhcKBmlzc3VlchgIIAMoDjIHLklzc3VlchIRCglibG9ja1NpemUYCSADKAESFQoFdGVub3IYCyADKA4yBi5UZW5vchIXCgZzb3VyY2UYDCADKA4yBy5Tb3VyY2UiKwoMRGF0YVJlc3BvbnNlEhsKBnNlcmllcxgBIAMoCzILLlRpbWVTZXJpZXMi7wMKEE1ldGFkYXRhUmVzcG9uc2USFAoFdHlwZXMYASADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgCIAMoDjIJLkV4Y2hhbmdlEh0KCmNhdGVnb3JpZXMYAyADKA4yCS5DYXRlZ29yeRINCgVjb2lucxgEIAMoCRISCgpyYXdTeW1ib2xzGAYgAygJEhkKEW5vcm1hbGl6ZWRTeW1ib2xzGAkgAygJEhcKBmlzc3VlchgHIAMoDjIHLklzc3VlchISCgpibG9ja1NpemVzGAggAygBEhYKBnRlbm9ycxgKIAMoDjIGLlRlbm9yEi8KEmV4Y2hhbmdlQ2F0ZWdvcmllcxgLIAMoCzITLkV4Y2hhbmdlQ2F0ZWdvcmllcxJNChZjb2luRXhjaGFuZ2VSYXdTeW1ib2xzGAwgAygLMi0uTWV0YWRhdGFSZXNwb25zZS5Db2luRXhjaGFuZ2VSYXdTeW1ib2xzRW50cnkSLAoRcmVnaXN0cnlNZXRhZGF0YXMYDSADKAsyES5SZWdpc3RyeU1ldGFkYXRhGlcKG0NvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRILCgNrZXkYASABKAkSJwoFdmFsdWUYAiABKAsyGC5FeGNoYW5nZVJhd1N5bWJvbHNHcm91cDoCOAEioAUKEFJlZ2lzdHJ5TWV0YWRhdGESEwoEdHlwZRgBIAEoDjIFLlR5cGUSGwoIZXhjaGFuZ2UYAiABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgDIAEoDjIJLkNhdGVnb3J5EgwKBGNvaW4YBCABKAkSEQoJcmF3U3ltYm9sGAUgASgJEhgKEG5vcm1hbGl6ZWRTeW1ib2wYBiABKAkSEQoJYmxvY2tTaXplGAcgASgBEh8KEmNvbnRyYWN0TXVsdGlwbGllchgIIAEoAUgAiAEBEhQKB2ludmVyc2UYCSABKAhIAYgBARIXCgpwb2ludFZhbHVlGAogASgBSAKIAQESIAoTYXZhaWxhYmxlU2luY2VVbml4UxgTIAEoA0gDiAEBEh0KEGF2YWlsYWJsZVRvVW5peFMYFCABKANIBIgBARIYCgtleHBpcnlVbml4UxgVIAEoA0gFiAEBEhMKBnN0cmlrZRgWIAEoAUgGiAEBEiQKCm9wdGlvblR5cGUYFyABKA4yCy5PcHRpb25UeXBlSAeIAQFCFQoTX2NvbnRyYWN0TXVsdGlwbGllckIKCghfaW52ZXJzZUINCgtfcG9pbnRWYWx1ZUIWChRfYXZhaWxhYmxlU2luY2VVbml4U0ITChFfYXZhaWxhYmxlVG9Vbml4U0IOCgxfZXhwaXJ5VW5peFNCCQoHX3N0cmlrZUINCgtfb3B0aW9uVHlwZUoECAsQE1IKYXNzZXRDbGFzc1IQdW5kZXJseWluZ1N5bWJvbFIOdW5kZXJseWluZ0lzaW5SBmlzc3VlclIRaXNzdWVyVG9rZW5TeW1ib2xSD3NoYXJlTXVsdGlwbGllclIQdHJhZGluZ0hvdXJzTW9kZVIOaXNJc3N1ZXJIYWx0ZWQisQEKDEdyaWREZWNpc2lvbhIiCgdsaXN0aW5nGAEgASgLMhEuU2VyaWVzSWRlbnRpZmllchIJCgFxGAIgASgBEhIKCmRlZmF1bHRSb3cYAyABKAESFQoNZWZmZWN0aXZlRnJvbRgEIAEoAxIRCglkZWNpZGVkQXQYBSABKAMSIwoGcmVhc29uGAYgASgOMhMuR3JpZERlY2lzaW9uUmVhc29uEg8KB2RlY2lkZXIYByABKAkiUAoSRXhjaGFuZ2VDYXRlZ29yaWVzEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USHQoKY2F0ZWdvcmllcxgCIAMoDjIJLkNhdGVnb3J5IkUKEkV4Y2hhbmdlUmF3U3ltYm9scxIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhIKCnJhd1N5bWJvbHMYAiADKAkiSgoXRXhjaGFuZ2VSYXdTeW1ib2xzR3JvdXASLwoSZXhjaGFuZ2VSYXdTeW1ib2xzGAEgAygLMhMuRXhjaGFuZ2VSYXdTeW1ib2xzIigKCkNvaW5EZXRhaWwSDAoEY29pbhgBIAEoCRIMCgRuYW1lGAIgASgJIjUKEUdldFNlY3RvclJlc3BvbnNlEiAKC2NvaW5EZXRhaWxzGAEgAygLMgsuQ29pbkRldGFpbCIiChBHZXRTZWN0b3JSZXF1ZXN0Eg4KBnNlY3RvchgBIAEoBSJACgxTZWN0b3JEZXRhaWwSCgoCaWQYASABKAUSDAoEbmFtZRgCIAEoCRIWCg5jaGlsZFNlY3RvcklEcxgDIAMoBSI0ChJHZXRTZWN0b3JzUmVzcG9uc2USHgoHc2VjdG9ycxgBIAMoCzINLlNlY3RvckRldGFpbCJ2Cg5HZXRHYXBzUmVxdWVzdBIYCgRmcm9tGAEgASgLMgouVGltZXN0YW1wEhYKAnRvGAIgASgLMgouVGltZXN0YW1wEhQKBXR5cGVzGAMgAygOMgUuVHlwZRIcCglleGNoYW5nZXMYBCADKA4yCS5FeGNoYW5nZSIwChlPcmRlckJvb2tGZWF0dXJlc1Jlc3BvbnNlEhMKC3BlcmNlbnRpbGVzGAEgAygBIosBCg9HZXRHYXBzUmVzcG9uc2USOAoMZXhjaGFuZ2VHYXBzGAEgAygLMiIuR2V0R2Fwc1Jlc3BvbnNlLkV4Y2hhbmdlR2Fwc0VudHJ5Gj4KEUV4Y2hhbmdlR2Fwc0VudHJ5EgsKA2tleRgBIAEoCRIYCgV2YWx1ZRgCIAEoCzIJLlR5cGVHYXBzOgI4ASKjAQoTRGVsZXRlUG9pbnRzUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhMKBHR5cGUYAiABKA4yBS5UeXBlEhgKBGZyb20YAyABKAsyCi5UaW1lc3RhbXASFgoCdG8YBCABKAsyCi5UaW1lc3RhbXASEwoLdG9JbmNsdXNpdmUYBSABKAgSEwoLdGFibGVQcmVmaXgYBiABKAkiegoUUmVmcmVzaFBvaW50c1JlcXVlc3QSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRITCgR0eXBlGAIgASgOMgUuVHlwZRIYCgRmcm9tGAMgASgLMgouVGltZXN0YW1wEhYKAnRvGAQgASgLMgouVGltZXN0YW1wIjcKA0dhcBIYCgRmcm9tGAEgASgLMgouVGltZXN0YW1wEhYKAnRvGAIgASgLMgouVGltZXN0YW1wIjIKB1R5cGVHYXASEwoEdHlwZRgBIAEoDjIFLlR5cGUSEgoEZ2FwcxgCIAMoCzIELkdhcCImCghUeXBlR2FwcxIaCgh0eXBlR2FwcxgBIAMoCzIILlR5cGVHYXAiLAoUR2V0V2F0ZXJtYXJrc1JlcXVlc3QSFAoFdHlwZXMYASADKA4yBS5UeXBlIpMBChVHZXRXYXRlcm1hcmtzUmVzcG9uc2USOgoKd2F0ZXJtYXJrcxgBIAMoCzImLkdldFdhdGVybWFya3NSZXNwb25zZS5XYXRlcm1hcmtzRW50cnkaPgoPV2F0ZXJtYXJrc0VudHJ5EgsKA2tleRgBIAEoCRIaCgV2YWx1ZRgCIAEoCzILLldhdGVybWFya3M6AjgBIkEKCldhdGVybWFya3MSMwoUYWdnSW50ZXJ2YWxXYXRlcm1hcmsYASADKAsyFS5BZ2dJbnRlcnZhbFdhdGVybWFyayJgChRBZ2dJbnRlcnZhbFdhdGVybWFyaxIpCgthZ2dJbnRlcnZhbBgBIAEoDjIULkFnZ3JlZ2F0aW9uSW50ZXJ2YWwSHQoJd2F0ZXJtYXJrGAIgASgLMgouVGltZXN0YW1wIuwBChNHZXRHYXBzQ291bnRSZXF1ZXN0EhgKBGZyb20YASABKAsyCi5UaW1lc3RhbXASFgoCdG8YAiABKAsyCi5UaW1lc3RhbXASFAoFdHlwZXMYAyADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgEIAMoDjIJLkV4Y2hhbmdlEikKC2FnZ0ludGVydmFsGAUgASgOMhQuQWdncmVnYXRpb25JbnRlcnZhbBIrCgppZGVudGlmaWVyGAYgASgOMhcuR2V0R2Fwc0NvdW50SWRlbnRpZmllchIXCg9pZGVudGlmaWVyVmFsdWUYByABKAkipgEKFEdldEdhcHNDb3VudFJlc3BvbnNlEkcKEWV4Y2hhbmdlR2Fwc0NvdW50GAEgAygLMiwuR2V0R2Fwc0NvdW50UmVzcG9uc2UuRXhjaGFuZ2VHYXBzQ291bnRFbnRyeRpFChZFeGNoYW5nZUdhcHNDb3VudEVudHJ5EgsKA2tleRgBIAEoCRIaCgV2YWx1ZRgCIAEoCzILLlR5cGVDb3VudHM6AjgBIiwKClR5cGVDb3VudHMSHgoKdHlwZUNvdW50cxgBIAMoCzIKLlR5cGVDb3VudCIvCglUeXBlQ291bnQSEwoEdHlwZRgBIAEoDjIFLlR5cGUSDQoFY291bnQYAiABKAUi9g8KC1JQQ1Jlc3BvbnNlEg8KAmlkGAEgASgDSACIAQESEgoFZXJyb3IYAiABKAlIAYgBARIRCgRzaXplGAMgASgDSAKIAQESGwoGc2VyaWVzGAQgAygLMgsuVGltZVNlcmllcxIsChFyZWdpc3RyeU1ldGFkYXRhcxgFIAMoCzIRLlJlZ2lzdHJ5TWV0YWRhdGESIAoLY29pbk1ldHJpY3MYBiADKAsyCy5Db2luTWV0cmljEiQKDW1hcmtldFN5bWJvbHMYByADKAsyDS5NYXJrZXRTeW1ib2wSGgoEcG9uZxgIIAEoCzIMLlBvbmdNZXNzYWdlEiwKEXBvbHltYXJrZXRNYXJrZXRzGAogAygLMhEuUG9seW1hcmtldE1hcmtldBIYChBtZXRhZGF0YV9zdHJpbmdzGAsgAygJEiUKEm1ldGFkYXRhX2V4Y2hhbmdlcxgMIAMoDjIJLkV4Y2hhbmdlEiYKE21ldGFkYXRhX2NhdGVnb3JpZXMYDSADKA4yCS5DYXRlZ29yeRIyChFwb2x5bWFya2V0X29yZGVycxgOIAMoCzIXLlBvbHltYXJrZXRQYXJzZWRPcmRlcnMSHwoXb3JkZXJfYm9va19kaXN0cmlidXRpb24YDyADKAESFwoPbWV0YWRhdGFfZmxvYXRzGBAgAygBEjgKF3BvbHltYXJrZXRDYXRlZ29yeVBhaXJzGBEgAygLMhcuUG9seW1hcmtldENhdGVnb3J5UGFpchI6Chhwb2x5bWFya2V0VHJhZGVyUHJvZmlsZXMYEiADKAsyGC5Qb2x5bWFya2V0VHJhZGVyUHJvZmlsZRI5Chdwb2x5bWFya2V0VXNlclBvc2l0aW9ucxgTIAMoCzIYLlBvbHltYXJrZXRVc2VyUG9zaXRpb25zEkgKFmNvaW5FeGNoYW5nZVJhd1N5bWJvbHMYFCADKAsyKC5SUENSZXNwb25zZS5Db2luRXhjaGFuZ2VSYXdTeW1ib2xzRW50cnkSOQoXcG9seW1hcmtldE1hcmtldFN1bW1hcnkYFSADKAsyGC5Qb2x5bWFya2V0TWFya2V0U3VtbWFyeRI0Cg91c2VyX2NhdGVnb3JpZXMYFiADKAsyGy5Qb2x5bWFya2V0VHJhZGVyQ2F0ZWdvcmllcxIiCgxtYXJrZXRBc3NldHMYFyADKAsyDC5NYXJrZXRBc3NldBI9Chlwb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5GBggAygLMhouUG9seW1hcmtldFBsYXRmb3JtU3VtbWFyeRJHCh5wb2x5bWFya2V0UGxhdGZvcm1EaXN0cmlidXRpb24YGSADKAsyHy5Qb2x5bWFya2V0UGxhdGZvcm1EaXN0cmlidXRpb24SLwoSZXhjaGFuZ2VDYXRlZ29yaWVzGBogAygLMhMuRXhjaGFuZ2VDYXRlZ29yaWVzEjUKEHBvbHltYXJrZXRFdmVudHMYGyADKAsyGy5HZXRQb2x5bWFya2V0RXZlbnRSZXNwb25zZRIeCgdzZWN0b3JzGBwgAygLMg0uU2VjdG9yRGV0YWlsEiYKEXNlY3RvckNvaW5EZXRhaWxzGB0gAygLMgsuQ29pbkRldGFpbBIpChBzZWN0b3JDYXRlZ29yaWVzGB4gAygLMg8uU2VjdG9yQ2F0ZWdvcnkSJAoNZnJlZE1ldGFkYXRhcxgfIAMoCzINLkZyZWRNZXRhZGF0YRI1ChVwb2x5Z29uVGlja2VyTWV0YWRhdGEYICADKAsyFi5Qb2x5Z29uVGlja2VyTWV0YWRhdGESMwoUdG9rZW5VbmxvY2tzTWV0YWRhdGEYISADKAsyFS5Ub2tlblVubG9ja3NNZXRhZGF0YRIxCg9zeW1ib2xEaXJlY3RvcnkYIiABKAsyGC5TeW1ib2xEaXJlY3RvcnlSZXNwb25zZRIsCgtvcHRpb25DaGFpbhgjIAEoCzIXLkdldE9wdGlvbkNoYWluUmVzcG9uc2USHgoRcmV0cnlBZnRlclNlY29uZHMYJCABKANIA4gBARIsCg5yYXRlTGltaXRVc2FnZRglIAEoCzIPLlJhdGVMaW1pdFVzYWdlSASIAQESFAoHdG9va19tcxgmIAEoA0gFiAEBEjoKEm9wdGlvbkNoYWluU3VtbWFyeRgnIAEoCzIeLkdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlEjgKF2Vjb25vbWljU2VyaWVzTWV0YWRhdGFzGCggAygLMhcuRWNvbm9taWNTZXJpZXNNZXRhZGF0YRIhCgttYXJrZXRTdGF0cxgpIAMoCzIMLk1hcmtldFN0YXRzEjYKFm1lbWVjb2luVHJhZGVyUHJvZmlsZXMYKiADKAsyFi5NZW1lY29pblRyYWRlclByb2ZpbGUSMgoUbWVtZWNvaW5Ub2tlbkhvbGRlcnMYKyADKAsyFC5NZW1lY29pblRva2VuSG9sZGVyGlcKG0NvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRILCgNrZXkYASABKAkSJwoFdmFsdWUYAiABKAsyGC5FeGNoYW5nZVJhd1N5bWJvbHNHcm91cDoCOAFCBQoDX2lkQggKBl9lcnJvckIHCgVfc2l6ZUIUChJfcmV0cnlBZnRlclNlY29uZHNCEQoPX3JhdGVMaW1pdFVzYWdlQgoKCF90b29rX21zSgQICRAKIpwBCg5SYXRlTGltaXRVc2FnZRINCgVsaW1pdBgBIAEoAxIRCglyZW1haW5pbmcYAiABKAMSDAoEdXNlZBgDIAEoAxIPCgdyZXNldEF0GAQgASgDEhUKDXdpbmRvd1NlY29uZHMYBSABKAMSKAoFZGFpbHkYBiABKAsyFC5SYXRlTGltaXREYWlseVVzYWdlSACIAQFCCAoGX2RhaWx5IlYKE1JhdGVMaW1pdERhaWx5VXNhZ2USDQoFbGltaXQYASABKAMSDAoEdXNlZBgCIAEoAxIRCglyZW1haW5pbmcYAyABKAMSDwoHcmVzZXRBdBgEIAEoAyKHAgoOU3ltYm9sQ3JpdGVyaWESHgoGZXhwaXJ5GAEgASgLMgkuQ3JpdGVyaWFIAIgBARIkCgxjb250cmFjdFR5cGUYAiABKAsyCS5Dcml0ZXJpYUgBiAEBEiMKC3N0cmlrZVByaWNlGAMgASgLMgkuQ3JpdGVyaWFIAogBARIiCgpvcHRpb25UeXBlGAQgASgLMgkuQ3JpdGVyaWFIA4gBARIfCgdpbnZlcnNlGAUgASgLMgkuQ3JpdGVyaWFIBIgBAUIJCgdfZXhwaXJ5Qg8KDV9jb250cmFjdFR5cGVCDgoMX3N0cmlrZVByaWNlQg0KC19vcHRpb25UeXBlQgoKCF9pbnZlcnNlIvwBCghDcml0ZXJpYRIVCghsZXNzVGhhbhgBIAEoCUgAiAEBEhoKDWxlc3NUaGFuRXF1YWwYAiABKAlIAYgBARIYCgtncmVhdGVyVGhhbhgDIAEoCUgCiAEBEh0KEGdyZWF0ZXJUaGFuRXF1YWwYBCABKAlIA4gBARISCgVlcXVhbBgFIAEoCUgEiAEBEhUKCG5vdEVxdWFsGAYgASgJSAWIAQFCCwoJX2xlc3NUaGFuQhAKDl9sZXNzVGhhbkVxdWFsQg4KDF9ncmVhdGVyVGhhbkITChFfZ3JlYXRlclRoYW5FcXVhbEIICgZfZXF1YWxCCwoJX25vdEVxdWFsIsEECgpDb2luTWV0cmljEgwKBGNvaW4YASABKAkSDQoFcHJpY2UYAiABKAESJQoYcHJpY2VQZXJjZW50YWdlQ2hhbmdlMjRIGAMgASgBSACIAQESFgoOdG90YWxWb2x1bWUyNEgYBCABKAESIQoUdG90YWxPcGVuSW50ZXJlc3QyNEgYBSABKAFIAYgBARIsCh9vcGVuSW50ZXJlc3RQZXJjZW50YWdlQ2hhbmdlMjRIGAYgASgBSAKIAQESHwoSb2l3YUZ1bmRpbmdSYXRlMjRIGAcgASgBSAOIAQESLwoib2l3YUZ1bmRpbmdSYXRlUGVyY2VudGFnZUNoYW5nZTI0SBgIIAEoAUgEiAEBEhYKCW1hcmtldGNhcBgJIAEoAUgFiAEBEjEKGG5ld2x5TGlzdGVkRGF0ZUJpbmFuY2U3RBgKIAEoCzIKLlRpbWVzdGFtcEgGiAEBEhcKCmF0clBlcmNlbnQYCyABKAFIB4gBAUIbChlfcHJpY2VQZXJjZW50YWdlQ2hhbmdlMjRIQhcKFV90b3RhbE9wZW5JbnRlcmVzdDI0SEIiCiBfb3BlbkludGVyZXN0UGVyY2VudGFnZUNoYW5nZTI0SEIVChNfb2l3YUZ1bmRpbmdSYXRlMjRIQiUKI19vaXdhRnVuZGluZ1JhdGVQZXJjZW50YWdlQ2hhbmdlMjRIQgwKCl9tYXJrZXRjYXBCGwoZX25ld2x5TGlzdGVkRGF0ZUJpbmFuY2U3REINCgtfYXRyUGVyY2VudCImChVHZXRDb2luTWV0cmljc1JlcXVlc3QSDQoFY29pbnMYASADKAkiOgoWR2V0Q29pbk1ldHJpY3NSZXNwb25zZRIgCgtjb2luTWV0cmljcxgBIAMoCzILLkNvaW5NZXRyaWMicAoOU2VjdG9yQ2F0ZWdvcnkSLwoSc2VjdG9yTWFpbkNhdGVnb3J5GAEgASgOMhMuU2VjdG9yTWFpbkNhdGVnb3J5Ei0KEXNlY3RvclN1YkNhdGVnb3J5GAIgASgOMhIuU2VjdG9yU3ViQ2F0ZWdvcnkiSAobR2V0U2VjdG9yQ2F0ZWdvcmllc1Jlc3BvbnNlEikKEHNlY3RvckNhdGVnb3JpZXMYASADKAsyDy5TZWN0b3JDYXRlZ29yeSKRBQoMRnJlZE1ldGFkYXRhEgoKAmlkGAEgASgJEg0KBXRpdGxlGAIgASgJEjMKFWZyZWRfdXBkYXRlX2ZyZXF1ZW5jeRgDIAEoDjIULkZyZWRVcGRhdGVGcmVxdWVuY3kSNAoTc2Vhc29uYWxfYWRqdXN0bWVudBgEIAEoDjIXLkZyZWRTZWFzb25hbEFkanVzdG1lbnQSEwoLdW5pdHNfbGFiZWwYBSABKAkSGQoRb2JzZXJ2YXRpb25fc3RhcnQYBiABKAkSFwoPb2JzZXJ2YXRpb25fZW5kGAcgASgJEhQKDGxhc3RfdXBkYXRlZBgIIAEoCRIiChVpbmdlc3Rfc3RhcnRfb3ZlcnJpZGUYCSABKAlIAIgBARIfCgxkZWZhdWx0X3VuaXQYCiABKA4yCS5GcmVkVW5pdBI/ChxkZWZhdWx0X2Rvd25zYW1wbGVfZnJlcXVlbmN5GAsgASgOMhQuRnJlZFVwZGF0ZUZyZXF1ZW5jeUgBiAEBEjUKGmRlZmF1bHRfYWdncmVnYXRpb25fbWV0aG9kGAwgASgOMgwuR3JvdXBCeVR5cGVIAogBARIXCgpyZWxlYXNlX2lkGA0gASgDSAOIAQESGQoRZXhwZWN0ZWRfbGFnX2RheXMYDiABKAMSEgoFbm90ZXMYDyABKAlIBIgBARIkCg1mcmVkX2NhdGVnb3J5GBAgASgOMg0uRnJlZENhdGVnb3J5QhgKFl9pbmdlc3Rfc3RhcnRfb3ZlcnJpZGVCHwodX2RlZmF1bHRfZG93bnNhbXBsZV9mcmVxdWVuY3lCHQobX2RlZmF1bHRfYWdncmVnYXRpb25fbWV0aG9kQg0KC19yZWxlYXNlX2lkQggKBl9ub3RlcyI1CiBHZXRGcmVkTWV0YWRhdGFCeVNlcmllc0lEUmVxdWVzdBIRCglzZXJpZXNfaWQYASABKAkiPwoXR2V0RnJlZE1ldGFkYXRhUmVzcG9uc2USJAoNZnJlZE1ldGFkYXRhcxgBIAMoCzINLkZyZWRNZXRhZGF0YSLCAwoWRWNvbm9taWNTZXJpZXNNZXRhZGF0YRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEg4KBnN5bWJvbBgCIAEoCRINCgV0aXRsZRgDIAEoCRITCgtzaG9ydF90aXRsZRgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEhAKCGNhdGVnb3J5GAYgASgJEhEKCWZyZXF1ZW5jeRgHIAEoCRINCgV1bml0cxgIIAEoCRIRCgl1bml0X2tpbmQYCSABKAkSEAoIY3VycmVuY3kYCiABKAkSDQoFc2NhbGUYCyABKAESGwoTc2Vhc29uYWxfYWRqdXN0bWVudBgMIAEoCRIPCgdyZWxlYXNlGA0gASgJEhMKC3NvdXJjZV9uYW1lGA4gASgJEhIKCnNvdXJjZV91cmwYDyABKAkSDwoHbGljZW5zZRgQIAEoCRITCgthdHRyaWJ1dGlvbhgRIAEoCRIPCgdhbGlhc2VzGBIgAygJEhkKEW9ic2VydmF0aW9uX3N0YXJ0GBMgASgJEg0KBW5vdGVzGBQgASgJEhMKC3NvdXJjZV9raW5kGBUgASgJEhEKCW5hdGl2ZV9pZBgWIAEoCSK3AQogR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YVJlcXVlc3QSIAoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZUgAiAEBEhMKBnN5bWJvbBgCIAEoCUgBiAEBEhQKB2NvdW50cnkYAyABKAlIAogBARIVCghjYXRlZ29yeRgEIAEoCUgDiAEBQgsKCV9leGNoYW5nZUIJCgdfc3ltYm9sQgoKCF9jb3VudHJ5QgsKCV9jYXRlZ29yeSJdCiFHZXRFY29ub21pY1Nlcmllc01ldGFkYXRhUmVzcG9uc2USOAoXZWNvbm9taWNTZXJpZXNNZXRhZGF0YXMYASADKAsyFy5FY29ub21pY1Nlcmllc01ldGFkYXRhIjEKH0dldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlcXVlc3QSDgoGdGlja2VyGAEgASgJIpUIChVQb2x5Z29uVGlja2VyTWV0YWRhdGESGAoQcHJpbWFyeV9leGNoYW5nZRgBIAEoCRIdChVwcmltYXJ5X2V4Y2hhbmdlX25hbWUYAiABKAkSJQoYcHJpbWFyeV9leGNoYW5nZV9hY3JvbnltGAMgASgJSACIAQESDgoGdGlja2VyGAQgASgJEhMKC3RpY2tlcl9uYW1lGAUgASgJEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAGIAQESDgoGc2VjdG9yGAcgASgJEhAKCGluZHVzdHJ5GAggASgJEhEKBGlzaW4YCSABKAlIAogBARIMCgRmaWdpGAogASgJEgsKA2NpaxgLIAEoCRIUCgd3ZWJzaXRlGAwgASgJSAOIAQESDAoEdHlwZRgNIAEoCRITCgtwb2ludF92YWx1ZRgOIAEoARIRCglyb3VuZF9sb3QYDyABKAESFQoNY3VycmVuY3lfbmFtZRgQIAEoCRIRCgl0aWNrX3NpemUYESABKAESEAoIdGltZXpvbmUYEyABKAkSGQoMcGhvbmVfbnVtYmVyGBQgASgJSASIAQESFgoJYWRkcmVzc18xGBUgASgJSAWIAQESEQoEY2l0eRgWIAEoCUgGiAEBEhIKBXN0YXRlGBcgASgJSAeIAQESGAoLcG9zdGFsX2NvZGUYGCABKAlICIgBARIcCg90b3RhbF9lbXBsb3llZXMYGSABKAVICYgBARIRCgltYXJrZXRjYXAYGiABKAESJgoec2hhcmVfY2xhc3Nfc2hhcmVzX291dHN0YW5kaW5nGBsgASgBEhkKEWJyYW5kaW5nX2xvZ29fdXJsGBwgASgJEhkKEWJyYW5kaW5nX2ljb25fdXJsGB0gASgJEiIKCWxpc3RfZGF0ZRgeIAEoCzIKLlRpbWVzdGFtcEgKiAEBEg4KBmFjdGl2ZRgfIAEoCBIWCglhZGRyZXNzXzIYISABKAlIC4gBARImCg1kZWxpc3RlZF9kYXRlGCIgASgLMgouVGltZXN0YW1wSAyIAQESEwoLcHJlX3Nlc3Npb24YIyABKAkSFwoPcmVndWxhcl9zZXNzaW9uGCQgASgJEhQKDHBvc3Rfc2Vzc2lvbhglIAEoCUIbChlfcHJpbWFyeV9leGNoYW5nZV9hY3JvbnltQg4KDF9kZXNjcmlwdGlvbkIHCgVfaXNpbkIKCghfd2Vic2l0ZUIPCg1fcGhvbmVfbnVtYmVyQgwKCl9hZGRyZXNzXzFCBwoFX2NpdHlCCAoGX3N0YXRlQg4KDF9wb3N0YWxfY29kZUISChBfdG90YWxfZW1wbG95ZWVzQgwKCl9saXN0X2RhdGVCDAoKX2FkZHJlc3NfMkIQCg5fZGVsaXN0ZWRfZGF0ZUoECBIQEyJMCiBHZXRQb2x5Z29uVGlja2VyTWV0YWRhdGFSZXNwb25zZRIoCghtZXRhZGF0YRgBIAMoCzIWLlBvbHlnb25UaWNrZXJNZXRhZGF0YSI/Ch5HZXRUb2tlblVubG9ja3NNZXRhZGF0YVJlcXVlc3QSDwoHc3ltYm9scxgBIAMoCRIMCgRuYW1lGAIgAygJIrsBChFUb2tlblVubG9ja0V2ZW50cxITCgt1bmxvY2tfdHlwZRgBIAEoCRIVCg11bmxvY2tfYW1vdW50GAIgASgBEh8KC3VubG9ja19kYXRlGAMgASgLMgouVGltZXN0YW1wEhAKCGNhdGVnb3J5GAQgASgJEg0KBWxhYmVsGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEiMKD2xpbmVhcl9lbmRfZGF0ZRgHIAEoCzIKLlRpbWVzdGFtcCJ4ChRUb2tlblVubG9ja3NNZXRhZGF0YRIOCgZzb3VyY2UYASABKAkSDgoGc3ltYm9sGAIgASgJEgwKBG5hbWUYAyABKAkSIgoGZXZlbnRzGAQgAygLMhIuVG9rZW5VbmxvY2tFdmVudHMSDgoGbGFiZWxzGAUgAygJIksKH0dldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVzcG9uc2USKAoJbWV0YWRhdGFzGAEgAygLMhUuVG9rZW5VbmxvY2tzTWV0YWRhdGEiSAoZR2V0RGV4UG9vbE1ldGFkYXRhUmVxdWVzdBIVCgVjaGFpbhgBIAMoDjIGLkNoYWluEhQKDHBvb2xfYWRkcmVzcxgCIAMoCSJAChpHZXREZXhQb29sTWV0YWRhdGFSZXNwb25zZRIiCghtZXRhZGF0YRgBIAMoCzIQLkRleFBvb2xNZXRhZGF0YSKFAgoPRGV4UG9vbE1ldGFkYXRhEhUKBWNoYWluGAEgASgOMgYuQ2hhaW4SFAoMcG9vbF9hZGRyZXNzGAIgASgJEikKDXBvb2xfcHJvdG9jb2wYAyABKA4yDS5Qb29sUHJvdG9jb2xIAIgBARImCg1sYXVuY2hlZF9kYXRlGAQgASgLMgouVGltZXN0YW1wSAGIAQESFgoJbGlxdWlkaXR5GAUgASgBSAKIAQESGAoLaXNfdmVyaWZpZWQYBiABKAhIA4gBAUIQCg5fcG9vbF9wcm90b2NvbEIQCg5fbGF1bmNoZWRfZGF0ZUIMCgpfbGlxdWlkaXR5Qg4KDF9pc192ZXJpZmllZCKoAwoaR2V0UG9seW1hcmtldEV2ZW50c1JlcXVlc3QSEAoIZXZlbnRfaWQYASADKAMSDAoEc2x1ZxgCIAMoCRIcCg9zdGFydF9kYXRlX2Zyb20YAyABKANIAIgBARIaCg1zdGFydF9kYXRlX3RvGAQgASgDSAGIAQESHAoPY3JlYXRlZF9hdF9mcm9tGAUgASgDSAKIAQESGgoNY3JlYXRlZF9hdF90bxgGIAEoA0gDiAEBEhIKBWxpbWl0GAcgASgFSASIAQESEwoGb2Zmc2V0GAggASgFSAWIAQESDAoEbGl0ZRgJIAEoCBIMCgR0YWdzGAogAygJEhMKBmNsb3NlZBgLIAEoCEgGiAEBEhwKD3BhcmVudF9ldmVudF9pZBgMIAEoA0gHiAEBQhIKEF9zdGFydF9kYXRlX2Zyb21CEAoOX3N0YXJ0X2RhdGVfdG9CEgoQX2NyZWF0ZWRfYXRfZnJvbUIQCg5fY3JlYXRlZF9hdF90b0IICgZfbGltaXRCCQoHX29mZnNldEIJCgdfY2xvc2VkQhIKEF9wYXJlbnRfZXZlbnRfaWQiSgobR2V0UG9seW1hcmtldEV2ZW50c1Jlc3BvbnNlEisKBmV2ZW50cxgBIAMoCzIbLkdldFBvbHltYXJrZXRFdmVudFJlc3BvbnNlIqIBChpHZXRQb2x5bWFya2V0RXZlbnRSZXNwb25zZRIfCgVldmVudBgBIAEoCzIQLlBvbHltYXJrZXRFdmVudBIiCgdtYXJrZXRzGAIgAygLMhEuUG9seW1hcmtldE1hcmtldBIcCgR0YWdzGAMgAygLMg4uUG9seW1hcmtldFRhZxIhCgZzZXJpZXMYBCADKAsyES5Qb2x5bWFya2V0U2VyaWVzIo4BCgtHZW9Mb2NhdGlvbhIUCgxjb3VudHJ5X2NvZGUYASABKAkSDwoHY291bnRyeRgCIAEoCRIOCgZyZWdpb24YAyABKAkSFQoIbGF0aXR1ZGUYBCABKAFIAIgBARIWCglsb25naXR1ZGUYBSABKAFIAYgBAUILCglfbGF0aXR1ZGVCDAoKX2xvbmdpdHVkZSK4DQoPUG9seW1hcmtldEV2ZW50EgoKAmlkGAEgASgDEhMKBnRpY2tlchgCIAEoCUgAiAEBEgwKBHNsdWcYAyABKAkSDQoFdGl0bGUYBCABKAkSGAoLZGVzY3JpcHRpb24YBSABKAlIAYgBARIjCgpzdGFydF9kYXRlGAYgASgLMgouVGltZXN0YW1wSAKIAQESJgoNY3JlYXRpb25fZGF0ZRgHIAEoCzIKLlRpbWVzdGFtcEgDiAEBEiEKCGVuZF9kYXRlGAggASgLMgouVGltZXN0YW1wSASIAQESIwoKY3JlYXRlZF9hdBgJIAEoCzIKLlRpbWVzdGFtcEgFiAEBEiMKCnVwZGF0ZWRfYXQYCiABKAsyCi5UaW1lc3RhbXBIBogBARIkCgtjbG9zZWRfdGltZRgLIAEoCzIKLlRpbWVzdGFtcEgHiAEBEisKEmZpbmlzaGVkX3RpbWVzdGFtcBgMIAEoCzIKLlRpbWVzdGFtcEgIiAEBEhIKBWltYWdlGA0gASgJSAmIAQESEQoEaWNvbhgOIAEoCUgKiAEBEg4KBmFjdGl2ZRgPIAEoCBIOCgZjbG9zZWQYECABKAgSEAoIYXJjaGl2ZWQYESABKAgSCwoDbmV3GBIgASgIEhAKCGZlYXR1cmVkGBMgASgIEhIKCnJlc3RyaWN0ZWQYFCABKAgSGAoLY29tcGV0aXRpdmUYFSABKAFIC4gBARIMCgRsaXZlGBYgASgIEg0KBWVuZGVkGBcgASgIEhYKCWxpcXVpZGl0eRgYIAEoAUgMiAEBEhMKBnZvbHVtZRgZIAEoAUgNiAEBEhoKDW9wZW5faW50ZXJlc3QYGiABKAFIDogBARIZCgx2b2x1bWVfMjRfaHIYGyABKAFID4gBARIYCgt2b2x1bWVfMV93axgcIAEoAUgQiAEBEhgKC3ZvbHVtZV8xX21vGB0gASgBSBGIAQESGwoObGlxdWlkaXR5X2Nsb2IYHiABKAFIEogBARIVCghjYXRlZ29yeRgfIAEoCUgTiAEBEhgKC3N1YmNhdGVnb3J5GCAgASgJSBSIAQESGwoOaG9tZV90ZWFtX25hbWUYISABKAlIFYgBARIbCg5hd2F5X3RlYW1fbmFtZRgiIAEoCUgWiAEBEhQKB2dhbWVfaWQYIyABKAVIF4gBARIYCgtnYW1lX3N0YXR1cxgkIAEoCUgYiAEBEhcKCmV2ZW50X2RhdGUYJSABKAlIGYgBARIXCgpldmVudF93ZWVrGCYgASgFSBqIAQESIwoKc3RhcnRfdGltZRgnIAEoCzIKLlRpbWVzdGFtcEgbiAEBEhUKCG5lZ19yaXNrGCggASgISByIAQESHwoSbmVnX3Jpc2tfbWFya2V0X2lkGCkgASgJSB2IAQESHgoRbmVnX3Jpc2tfZmVlX2JpcHMYKiABKANIHogBARIcCg9lbmFibGVfbmVnX3Jpc2sYKyABKAhIH4gBARIeChFyZXNvbHV0aW9uX3NvdXJjZRgsIAEoCUggiAEBEhwKD3BhcmVudF9ldmVudF9pZBgtIAEoA0ghiAEBQgkKB190aWNrZXJCDgoMX2Rlc2NyaXB0aW9uQg0KC19zdGFydF9kYXRlQhAKDl9jcmVhdGlvbl9kYXRlQgsKCV9lbmRfZGF0ZUINCgtfY3JlYXRlZF9hdEINCgtfdXBkYXRlZF9hdEIOCgxfY2xvc2VkX3RpbWVCFQoTX2ZpbmlzaGVkX3RpbWVzdGFtcEIICgZfaW1hZ2VCBwoFX2ljb25CDgoMX2NvbXBldGl0aXZlQgwKCl9saXF1aWRpdHlCCQoHX3ZvbHVtZUIQCg5fb3Blbl9pbnRlcmVzdEIPCg1fdm9sdW1lXzI0X2hyQg4KDF92b2x1bWVfMV93a0IOCgxfdm9sdW1lXzFfbW9CEQoPX2xpcXVpZGl0eV9jbG9iQgsKCV9jYXRlZ29yeUIOCgxfc3ViY2F0ZWdvcnlCEQoPX2hvbWVfdGVhbV9uYW1lQhEKD19hd2F5X3RlYW1fbmFtZUIKCghfZ2FtZV9pZEIOCgxfZ2FtZV9zdGF0dXNCDQoLX2V2ZW50X2RhdGVCDQoLX2V2ZW50X3dlZWtCDQoLX3N0YXJ0X3RpbWVCCwoJX25lZ19yaXNrQhUKE19uZWdfcmlza19tYXJrZXRfaWRCFAoSX25lZ19yaXNrX2ZlZV9iaXBzQhIKEF9lbmFibGVfbmVnX3Jpc2tCFAoSX3Jlc29sdXRpb25fc291cmNlQhIKEF9wYXJlbnRfZXZlbnRfaWQipAUKG0dldFBvbHltYXJrZXRNYXJrZXRzUmVxdWVzdBIRCgltYXJrZXRfaWQYASADKAMSDAoEc2x1ZxgCIAMoCRIdChBjbG9zZWRfdGltZV9mcm9tGAMgASgDSACIAQESGwoOY2xvc2VkX3RpbWVfdG8YBCABKANIAYgBARIcCg9zdGFydF9kYXRlX2Zyb20YBSABKANIAogBARIaCg1zdGFydF9kYXRlX3RvGAYgASgDSAOIAQESHAoPY3JlYXRlZF9hdF9mcm9tGAcgASgDSASIAQESGgoNY3JlYXRlZF9hdF90bxgIIAEoA0gFiAEBEhwKD3VwZGF0ZWRfYXRfZnJvbRgJIAEoA0gGiAEBEhoKDXVwZGF0ZWRfYXRfdG8YCiABKANIB4gBARITCgZjbG9zZWQYCyABKAhICIgBARIMCgRsaXRlGAwgASgIEhoKDWhhc19sb2NhdGlvbnMYDSABKAhICYgBARISCgVsaW1pdBgOIAEoBUgKiAEBEhMKBm9mZnNldBgPIAEoBUgLiAEBEgwKBHRhZ3MYECADKAkSFAoMY29uZGl0aW9uX2lkGBEgAygJEhUKCGFyY2hpdmVkGBIgASgISAyIAQFCEwoRX2Nsb3NlZF90aW1lX2Zyb21CEQoPX2Nsb3NlZF90aW1lX3RvQhIKEF9zdGFydF9kYXRlX2Zyb21CEAoOX3N0YXJ0X2RhdGVfdG9CEgoQX2NyZWF0ZWRfYXRfZnJvbUIQCg5fY3JlYXRlZF9hdF90b0ISChBfdXBkYXRlZF9hdF9mcm9tQhAKDl91cGRhdGVkX2F0X3RvQgkKB19jbG9zZWRCEAoOX2hhc19sb2NhdGlvbnNCCAoGX2xpbWl0QgkKB19vZmZzZXRCCwoJX2FyY2hpdmVkIk0KHEdldFBvbHltYXJrZXRNYXJrZXRzUmVzcG9uc2USLQoHbWFya2V0cxgBIAMoCzIcLkdldFBvbHltYXJrZXRNYXJrZXRSZXNwb25zZSJwChtHZXRQb2x5bWFya2V0TWFya2V0UmVzcG9uc2USIQoGbWFya2V0GAEgASgLMhEuUG9seW1hcmtldE1hcmtldBIkCgVldmVudBgCIAEoCzIQLlBvbHltYXJrZXRFdmVudEgAiAEBQggKBl9ldmVudCLKEgoQUG9seW1hcmtldE1hcmtldBIKCgJpZBgBIAEoAxIQCghxdWVzdGlvbhgCIAEoCRIZCgxjb25kaXRpb25faWQYAyABKAlIAIgBARIMCgRzbHVnGAQgASgJEiMKCnN0YXJ0X2RhdGUYBSABKAsyCi5UaW1lc3RhbXBIAYgBARIhCghlbmRfZGF0ZRgGIAEoCzIKLlRpbWVzdGFtcEgCiAEBEiMKCmNyZWF0ZWRfYXQYByABKAsyCi5UaW1lc3RhbXBIA4gBARIjCgp1cGRhdGVkX2F0GAggASgLMgouVGltZXN0YW1wSASIAQESJAoLY2xvc2VkX3RpbWUYCSABKAsyCi5UaW1lc3RhbXBIBYgBARIzChphY2NlcHRpbmdfb3JkZXJzX3RpbWVzdGFtcBgKIAEoCzIKLlRpbWVzdGFtcEgGiAEBEiUKDHVtYV9lbmRfZGF0ZRgLIAEoCzIKLlRpbWVzdGFtcEgHiAEBEhIKBWltYWdlGAwgASgJSAiIAQESEQoEaWNvbhgNIAEoCUgJiAEBEhgKC2Rlc2NyaXB0aW9uGA4gASgJSAqIAQESEAoIb3V0Y29tZXMYDyADKAkSFgoOb3V0Y29tZV9wcmljZXMYECADKAESDgoGYWN0aXZlGBEgASgIEg4KBmNsb3NlZBgSIAEoCBIYChBhY2NlcHRpbmdfb3JkZXJzGBMgASgIEhkKDHN1Ym1pdHRlZF9ieRgUIAEoCUgLiAEBEhgKC3Jlc29sdmVkX2J5GBUgASgJSAyIAQESFgoJbGlxdWlkaXR5GBYgASgBSA2IAQESFwoKdm9sdW1lX251bRgXIAEoAUgOiAEBEhoKDWxpcXVpZGl0eV9udW0YGCABKAFID4gBARIZCgx2b2x1bWVfMjRfaHIYGSABKAFIEIgBARIYCgt2b2x1bWVfMV93axgaIAEoAUgRiAEBEhgKC3ZvbHVtZV8xX21vGBsgASgBSBKIAQESGAoLdm9sdW1lXzFfeXIYHCABKAFIE4gBARIeChF2b2x1bWVfMjRfaHJfY2xvYhgdIAEoAUgUiAEBEh0KEHZvbHVtZV8xX3drX2Nsb2IYHiABKAFIFYgBARIdChB2b2x1bWVfMV9tb19jbG9iGB8gASgBSBaIAQESHQoQdm9sdW1lXzFfeXJfY2xvYhggIAEoAUgXiAEBEhgKC3ZvbHVtZV9jbG9iGCEgASgBSBiIAQESGwoObGlxdWlkaXR5X2Nsb2IYIiABKAFIGYgBARIWCg5jbG9iX3Rva2VuX2lkcxgjIAMoCRIiChV1bWFfcmVzb2x1dGlvbl9zdGF0dXMYJCABKAlIGogBARIfChd1bWFfcmVzb2x1dGlvbl9zdGF0dXNlcxglIAMoCRIVCghjYXRlZ29yeRgmIAEoCUgbiAEBEiEKFG9uZV9kYXlfcHJpY2VfY2hhbmdlGCcgASgBSByIAQESHQoQZ3JvdXBfaXRlbV90aXRsZRgoIAEoCUgdiAEBEhMKBnNwcmVhZBgpIAEoAUgeiAEBEiIKFW9uZV9ob3VyX3ByaWNlX2NoYW5nZRgqIAEoAUgfiAEBEiIKFW9uZV93ZWVrX3ByaWNlX2NoYW5nZRgrIAEoAUggiAEBEiMKFm9uZV9tb250aF9wcmljZV9jaGFuZ2UYLCABKAFIIYgBARIdChBsYXN0X3RyYWRlX3ByaWNlGC0gASgBSCKIAQESFQoIYmVzdF9iaWQYLiABKAFII4gBARIVCghiZXN0X2FzaxgvIAEoAUgkiAEBEhsKDm5lZ19yaXNrX290aGVyGDAgASgISCWIAQESIwoNZ2VvX2xvY2F0aW9ucxgxIAMoCzIMLkdlb0xvY2F0aW9uEhAKCGFyY2hpdmVkGDIgASgIEhoKDW9wZW5faW50ZXJlc3QYMyABKAFIJogBARIxChhvcGVuX2ludGVyZXN0X3VwZGF0ZWRfYXQYNCABKAsyCi5UaW1lc3RhbXBIJ4gBARImChlvcmRlcl9wcmljZV9taW5fdGlja19zaXplGDUgASgBSCiIAQESHwoSc3BvcnRzX21hcmtldF90eXBlGDYgASgJSCmIAQESEQoEbGluZRg3IAEoAUgqiAEBQg8KDV9jb25kaXRpb25faWRCDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0Qg4KDF9jbG9zZWRfdGltZUIdChtfYWNjZXB0aW5nX29yZGVyc190aW1lc3RhbXBCDwoNX3VtYV9lbmRfZGF0ZUIICgZfaW1hZ2VCBwoFX2ljb25CDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdWJtaXR0ZWRfYnlCDgoMX3Jlc29sdmVkX2J5QgwKCl9saXF1aWRpdHlCDQoLX3ZvbHVtZV9udW1CEAoOX2xpcXVpZGl0eV9udW1CDwoNX3ZvbHVtZV8yNF9ockIOCgxfdm9sdW1lXzFfd2tCDgoMX3ZvbHVtZV8xX21vQg4KDF92b2x1bWVfMV95ckIUChJfdm9sdW1lXzI0X2hyX2Nsb2JCEwoRX3ZvbHVtZV8xX3drX2Nsb2JCEwoRX3ZvbHVtZV8xX21vX2Nsb2JCEwoRX3ZvbHVtZV8xX3lyX2Nsb2JCDgoMX3ZvbHVtZV9jbG9iQhEKD19saXF1aWRpdHlfY2xvYkIYChZfdW1hX3Jlc29sdXRpb25fc3RhdHVzQgsKCV9jYXRlZ29yeUIXChVfb25lX2RheV9wcmljZV9jaGFuZ2VCEwoRX2dyb3VwX2l0ZW1fdGl0bGVCCQoHX3NwcmVhZEIYChZfb25lX2hvdXJfcHJpY2VfY2hhbmdlQhgKFl9vbmVfd2Vla19wcmljZV9jaGFuZ2VCGQoXX29uZV9tb250aF9wcmljZV9jaGFuZ2VCEwoRX2xhc3RfdHJhZGVfcHJpY2VCCwoJX2Jlc3RfYmlkQgsKCV9iZXN0X2Fza0IRCg9fbmVnX3Jpc2tfb3RoZXJCEAoOX29wZW5faW50ZXJlc3RCGwoZX29wZW5faW50ZXJlc3RfdXBkYXRlZF9hdEIcChpfb3JkZXJfcHJpY2VfbWluX3RpY2tfc2l6ZUIVChNfc3BvcnRzX21hcmtldF90eXBlQgcKBV9saW5lIoECCg1Qb2x5bWFya2V0VGFnEgoKAmlkGAEgASgDEg0KBWxhYmVsGAIgASgJEgwKBHNsdWcYAyABKAkSEgoKZm9yY2Vfc2hvdxgEIAEoCBITCgtpc19jYXJvdXNlbBgFIAEoCBIlCgxwdWJsaXNoZWRfYXQYBiABKAsyCi5UaW1lc3RhbXBIAIgBARIjCgpjcmVhdGVkX2F0GAcgASgLMgouVGltZXN0YW1wSAGIAQESIwoKdXBkYXRlZF9hdBgIIAEoCzIKLlRpbWVzdGFtcEgCiAEBQg8KDV9wdWJsaXNoZWRfYXRCDQoLX2NyZWF0ZWRfYXRCDQoLX3VwZGF0ZWRfYXQi+QIKEFBvbHltYXJrZXRTZXJpZXMSCgoCaWQYASABKAMSEwoGdGlja2VyGAIgASgJSACIAQESDQoFdGl0bGUYAyABKAkSEgoFaW1hZ2UYBCABKAlIAYgBARIRCgRpY29uGAUgASgJSAKIAQESDgoGYWN0aXZlGAYgASgIEg4KBmNsb3NlZBgHIAEoCBIQCghhcmNoaXZlZBgIIAEoCBIQCghmZWF0dXJlZBgJIAEoCBIjCgpjcmVhdGVkX2F0GAogASgLMgouVGltZXN0YW1wSAOIAQESIwoKdXBkYXRlZF9hdBgLIAEoCzIKLlRpbWVzdGFtcEgEiAEBEhMKBnZvbHVtZRgMIAEoAUgFiAEBEhYKCWxpcXVpZGl0eRgNIAEoAUgGiAEBQgkKB190aWNrZXJCCAoGX2ltYWdlQgcKBV9pY29uQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0QgkKB192b2x1bWVCDAoKX2xpcXVpZGl0eSK+EAodR2V0UG9seW1hcmtldEFuYWx5dGljc1JlcXVlc3QSJQoEdHlwZRgBIAEoDjIXLlBvbHltYXJrZXRBbmFseXRpY1R5cGUSFQoIYXNzZXRfaWQYAiABKAlIAIgBARIVCghldmVudF9pZBgDIAEoCUgBiAEBEhQKDGNvbmRpdGlvbl9pZBgEIAMoCRITCgt1c2VyX3dhbGxldBgFIAMoCRIRCgRmcm9tGAYgASgDSAKIAQESDwoCdG8YByABKANIA4gBARITCgZvZmZzZXQYCCABKANIBIgBARISCgVsaW1pdBgJIAEoA0gFiAEBEhgKBHNpZGUYCiABKA4yBS5TaWRlSAaIAQESGQoMb3V0Y29tZV9uYW1lGAsgASgJSAeIAQESFwoKc2l6ZV9mbG9vchgMIAEoA0gIiAEBEhsKDnJvaV9wZXJjZW50YWdlGA0gASgDSAmIAQESIgoVbWF4X3RvdGFsX3RyYWRlX2NvdW50GA4gASgBSAqIAQESFQoId2luX3JhdGUYDyABKAFIC4gBARIeChFhdmdfcG9zaXRpb25fc2l6ZRgQIAEoAUgMiAEBEhkKDHRvdGFsX3ZvbHVtZRgRIAEoAUgNiAEBEh0KEHByaW1hcnlfY2F0ZWdvcnkYEiABKAlIDogBARIhChRjYXRlZ29yeV90cmFkZV9jb3VudBgTIAEoA0gPiAEBEiAKE29wZW5fcG9zaXRpb25fY291bnQYFCABKANIEIgBARIiChV0aW1lX3NpbmNlX2xhc3RfdHJhZGUYFSABKANIEYgBARIdChBhdmdfaG9sZGluZ190aW1lGBYgASgDSBKIAQESFAoMdGFrZXJfd2FsbGV0GBcgAygJEhQKDG1ha2VyX3dhbGxldBgYIAMoCRIgChNhdmdfb3Blbl9pbnZlc3RtZW50GBkgASgBSBOIAQESMgoHc29ydF9ieRgaIAEoDjIcLlBvbHltYXJrZXRBbmFseXRpY1NvcnRGaWVsZEgUiAEBEisKDnNvcnRfZGlyZWN0aW9uGBsgASgOMg4uU29ydERpcmVjdGlvbkgViAEBEiIKFW1pbl90b3RhbF90cmFkZV9jb3VudBgcIAEoAUgWiAEBEi0KD3Bvc2l0aW9uX3N0YXR1cxgdIAEoDjIPLlBvc2l0aW9uU3RhdHVzSBeIAQESGgoNb3BlbmVkX2JlZm9yZRgeIAEoA0gYiAEBEhkKDG9wZW5lZF9hZnRlchgfIAEoA0gZiAEBEh0KEG1pbl9yZWFsaXplZF9wbmwYICABKAFIGogBARIdChBtYXhfcmVhbGl6ZWRfcG5sGCEgASgBSBuIAQESHgoRbWluX3JlYWxpemVkX3NpemUYIiABKAFIHIgBARIeChFtYXhfcmVhbGl6ZWRfc2l6ZRgjIAEoAUgdiAEBEiAKE21pbl91bnJlYWxpemVkX3NpemUYJCABKAFIHogBARIgChNtYXhfdW5yZWFsaXplZF9zaXplGCUgASgBSB+IAQESLwoOcG5sX2NvbXBvbmVudHMYJiADKA4yFy5Qb2x5bWFya2V0UG5sQ29tcG9uZW50EkAKFGRpc3RyaWJ1dGlvbl9yYW5rX2J5GCcgASgOMh0uUG9seW1hcmtldERpc3RyaWJ1dGlvblJhbmtCeUggiAEBEkgKGGRpc3RyaWJ1dGlvbl9iYW5kX3ByZXNldBgoIAEoDjIhLlBvbHltYXJrZXREaXN0cmlidXRpb25CYW5kUHJlc2V0SCGIAQESJAoXZGlzdHJpYnV0aW9uX2N1bXVsYXRpdmUYKiABKAhIIogBARInChpkaXN0cmlidXRpb25fbWluX3Bvc2l0aW9ucxgrIAEoA0gjiAEBQgsKCV9hc3NldF9pZEILCglfZXZlbnRfaWRCBwoFX2Zyb21CBQoDX3RvQgkKB19vZmZzZXRCCAoGX2xpbWl0QgcKBV9zaWRlQg8KDV9vdXRjb21lX25hbWVCDQoLX3NpemVfZmxvb3JCEQoPX3JvaV9wZXJjZW50YWdlQhgKFl9tYXhfdG90YWxfdHJhZGVfY291bnRCCwoJX3dpbl9yYXRlQhQKEl9hdmdfcG9zaXRpb25fc2l6ZUIPCg1fdG90YWxfdm9sdW1lQhMKEV9wcmltYXJ5X2NhdGVnb3J5QhcKFV9jYXRlZ29yeV90cmFkZV9jb3VudEIWChRfb3Blbl9wb3NpdGlvbl9jb3VudEIYChZfdGltZV9zaW5jZV9sYXN0X3RyYWRlQhMKEV9hdmdfaG9sZGluZ190aW1lQhYKFF9hdmdfb3Blbl9pbnZlc3RtZW50QgoKCF9zb3J0X2J5QhEKD19zb3J0X2RpcmVjdGlvbkIYChZfbWluX3RvdGFsX3RyYWRlX2NvdW50QhIKEF9wb3NpdGlvbl9zdGF0dXNCEAoOX29wZW5lZF9iZWZvcmVCDwoNX29wZW5lZF9hZnRlckITChFfbWluX3JlYWxpemVkX3BubEITChFfbWF4X3JlYWxpemVkX3BubEIUChJfbWluX3JlYWxpemVkX3NpemVCFAoSX21heF9yZWFsaXplZF9zaXplQhYKFF9taW5fdW5yZWFsaXplZF9zaXplQhYKFF9tYXhfdW5yZWFsaXplZF9zaXplQhcKFV9kaXN0cmlidXRpb25fcmFua19ieUIbChlfZGlzdHJpYnV0aW9uX2JhbmRfcHJlc2V0QhoKGF9kaXN0cmlidXRpb25fY3VtdWxhdGl2ZUIdChtfZGlzdHJpYnV0aW9uX21pbl9wb3NpdGlvbnNKBAgpECoinAIKFlBvbHltYXJrZXRQYXJzZWRPcmRlcnMSDwoHdHhfaGFzaBgBIAEoCRIdCgl0aW1lc3RhbXAYAiABKAsyCi5UaW1lc3RhbXASEAoIYXNzZXRfaWQYAyABKAkSFQoNbWFrZXJfYWRkcmVzcxgEIAEoCRIVCg10YWtlcl9hZGRyZXNzGAUgASgJEgwKBHNpemUYByABKAESDQoFcHJpY2UYCCABKAESDAoEc2lkZRgJIAEoCRITCgttYXJrZXRfbmFtZRgKIAEoCRIUCgxvdXRjb21lX25hbWUYCyABKAkSEgoKZXZlbnRfc2x1ZxgMIAEoCRISCgpvcmRlcl9oYXNoGA0gASgJEhQKDGNvbmRpdGlvbl9pZBgOIAEoCSLdAQohUG9seW1hcmtldFRyYWRlckNhdGVnb3J5QnJlYWtkb3duEhcKD21hcmtldF9jYXRlZ29yeRgBIAEoCRIbChNtYXJrZXRfc3ViX2NhdGVnb3J5GAIgASgJEg0KBWNvdW50GAMgASgDEhUKDXJlYWxpemVkX3NpemUYBCABKAESFwoPdW5yZWFsaXplZF9zaXplGAUgASgBEhQKDHJlYWxpemVkX3BubBgGIAEoARItCg1wbmxfYnlfc291cmNlGAcgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlInQKGlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yaWVzEhYKDndhbGxldF9hZGRyZXNzGAEgASgJEj4KEmNhdGVnb3J5X2JyZWFrZG93bhgCIAMoCzIiLlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yeUJyZWFrZG93biKUBQoXUG9seW1hcmtldFRyYWRlclByb2ZpbGUSFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSHAoUdG90YWxfcG9zaXRpb25fY291bnQYAiABKAMSGwoTb3Blbl9wb3NpdGlvbl9jb3VudBgDIAEoAxIdChVjbG9zZWRfcG9zaXRpb25fY291bnQYBCABKAMSKwoXbGF0ZXN0X29wZW5fcG9zaXRpb25fdHMYBSABKAsyCi5UaW1lc3RhbXASEgoKdG90YWxfc2l6ZRgGIAEoARIaChJ0b3RhbF9yZWFsaXplZF9wbmwYByABKAESHAoUdG90YWxfdW5yZWFsaXplZF9wbmwYCCABKAESEQoJdG90YWxfcm9pGAkgASgBEh0KFXdpbl9yYXRlX2J5X3Bvc2l0aW9ucxgKIAEoARITCgtsYXJnZXN0X3dpbhgLIAEoARIUCgxsYXJnZXN0X2xvc3MYDCABKAESHAoUYXZnX2hvbGRpbmdfZHVyYXRpb24YDSABKAMSHAoUdG90YWxfb3Blbl9wb3NfdmFsdWUYDiABKAESHgoWdG90YWxfY2xvc2VkX3Bvc192YWx1ZRgPIAEoARItCg1wbmxfYnlfc291cmNlGBAgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEjUKDGV2ZW50X2NvdW50cxgRIAEoCzIfLlBvbHltYXJrZXRBZ2dyZWdhdGVFdmVudENvdW50cxIYChB0b3RhbF9jb3N0X2Jhc2lzGBIgASgBEhsKE2F2Z19vcGVuX2ludmVzdG1lbnQYEyABKAESHAoUdG90YWxfb3JkZXJfYnV5X2Nvc3QYFCABKAESGAoQdG90YWxfc3BsaXRfY29zdBgVIAEoASKdBQoXUG9seW1hcmtldFVzZXJQb3NpdGlvbnMSFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSEAoIYXNzZXRfaWQYAiABKAkSFwoPdW5yZWFsaXplZF9zaXplGAMgASgBEhUKDXJlYWxpemVkX3NpemUYBCABKAESEQoJYXZnX3ByaWNlGAUgASgBEhYKDmF2Z19leGl0X3ByaWNlGAYgASgBEhQKDHJlYWxpemVkX3BubBgHIAEoARIWCg5yZXNvbHZlZF9wcmljZRgIIAEoARIWCg5sYXRlc3Rfb3Blbl90cxgJIAEoAxIaChJwcmV2X2hvbGRfZHVyYXRpb24YCiABKAMSEQoJYnV5X2NvdW50GAsgASgFEhIKCnNlbGxfY291bnQYDCABKAUSEwoLc3BsaXRfY291bnQYDSABKAUSEwoLbWVyZ2VfY291bnQYDiABKAUSGQoRdHJhbnNmZXJfaW5fY291bnQYDyABKAUSGgoSdHJhbnNmZXJfb3V0X2NvdW50GBAgASgFEhsKE2NvbnZlcnNpb25faW5fY291bnQYESABKAUSHAoUY29udmVyc2lvbl9vdXRfY291bnQYEiABKAUSEwoLbWFya2V0X25hbWUYEyABKAkSFAoMb3V0Y29tZV9uYW1lGBQgASgJEhAKCGNhdGVnb3J5GBUgASgJEhQKDHN1Yl9jYXRlZ29yeRgWIAEoCRIZCgxjb25kaXRpb25faWQYFyABKAlIAIgBARItCg1wbmxfYnlfc291cmNlGBggASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEhYKDm9yZGVyX2J1eV9jb3N0GBkgASgBEhIKCnNwbGl0X2Nvc3QYGiABKAFCDwoNX2NvbmRpdGlvbl9pZCL9AQohUG9seW1hcmtldE91dGNvbWVFeGNsdXNpdmVTdW1tYXJ5EhQKDGNvbmRpdGlvbl9pZBgBIAEoCRIQCgh0b2tlbl9pZBgCIAEoCRIUCgxvdXRjb21lX25hbWUYAyABKAkSIAoYd2VpZ2h0ZWRfYXZnX2VudHJ5X3ByaWNlGAQgASgBEh8KF3dlaWdodGVkX2F2Z19leGl0X3ByaWNlGAUgASgBEicKH29wZW5fcG9zX2F2Z19wcmljZV9kaXN0cmlidXRpb24YBiADKAESLgomY2xvc2VkX3Bvc19hdmdfZXhpdF9wcmljZV9kaXN0cmlidXRpb24YByADKAEi/wYKF1BvbHltYXJrZXRNYXJrZXRTdW1tYXJ5EhAKCGV2ZW50X2lkGAEgASgJEhQKDGNvbmRpdGlvbl9pZBgCIAMoCRIcChR0b3RhbF9vcGVuX3Bvc2l0aW9ucxgDIAEoBRIeChZ0b3RhbF9jbG9zZWRfcG9zaXRpb25zGAQgASgFEhgKEHRvdGFsX2Nvc3RfYmFzaXMYBSABKAESEgoKdG90YWxfc2l6ZRgGIAEoARIdChVsYXJnZXN0X29wZW5fcG9zaXRpb24YByABKAESFwoPdG90YWxfYnV5X2NvdW50GAggASgFEhgKEHRvdGFsX3NlbGxfY291bnQYCSABKAUSGQoRdG90YWxfc3BsaXRfY291bnQYCiABKAUSGQoRdG90YWxfbWVyZ2VfY291bnQYCyABKAUSHwoXdG90YWxfdHJhbnNmZXJfaW5fY291bnQYDCABKAUSIAoYdG90YWxfdHJhbnNmZXJfb3V0X2NvdW50GA0gASgFEiEKGXRvdGFsX2NvbnZlcnNpb25faW5fY291bnQYDiABKAUSIgoadG90YWxfY29udmVyc2lvbl9vdXRfY291bnQYDyABKAUSGQoRbmV0X3RyYW5zZmVyX2Zsb3cYECABKAUSGwoTbmV0X2NvbnZlcnNpb25fZmxvdxgRIAEoBRIcChRtZWRpYW5faG9sZF9kdXJhdGlvbhgSIAEoARIaChJtZWFuX2hvbGRfZHVyYXRpb24YEyABKAESGAoQcmVhbGl6ZWRfcG5sX21pbhgUIAEoARIYChByZWFsaXplZF9wbmxfbWF4GBUgASgBEiEKGXJlYWxpemVkX3BubF9kaXN0cmlidXRpb24YFiADKAESEAoId2luX3JhdGUYFyABKAESFQoNYXZnX2J1eV9jb3VudBgYIAEoARIWCg5hdmdfc2VsbF9jb3VudBgZIAEoARIQCghhdmdfc2l6ZRgaIAEoARI7Cg9vdXRjb21lX3ByaWNpbmcYGyADKAsyIi5Qb2x5bWFya2V0T3V0Y29tZUV4Y2x1c2l2ZVN1bW1hcnkSLQoNcG5sX2J5X3NvdXJjZRgcIAEoCzIWLlBvbHltYXJrZXRQbmxCeVNvdXJjZRIcChR0b3RhbF9vcmRlcl9idXlfY29zdBgdIAEoARIYChB0b3RhbF9zcGxpdF9jb3N0GB4gASgBIp8EChlQb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5EhYKDmFjY291bnRzX3RvdGFsGAEgASgDEhcKD2FjY291bnRzX2FjdGl2ZRgCIAEoAxIbChNhY2NvdW50c19wcm9maXRhYmxlGAMgASgDEhcKD2FjY291bnRzX2xvc2luZxgEIAEoAxIVCg1hY2NvdW50c19mbGF0GAUgASgDEhYKDnRvdGFsX3dpbm5pbmdzGAYgASgBEhQKDHRvdGFsX2xvc3NlcxgHIAEoARIPCgduZXRfcG5sGAggASgBEigKIGxpZmV0aW1lX2J1eV9ub3Rpb25hbF9pbmNfc3BsaXRzGAkgASgBEiMKG2xpZmV0aW1lX29yZGVyX2J1eV9ub3Rpb25hbBgKIAEoARItCg1wbmxfYnlfc291cmNlGAsgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEjgKEmFjdGl2aXR5X2hpc3RvZ3JhbRgMIAEoCzIcLlBvbHltYXJrZXRBY3Rpdml0eUhpc3RvZ3JhbRISCgptZWRpYW5fcG5sGA0gASgBEg8KB3A5MF9wbmwYDiABKAESDwoHcDk5X3BubBgPIAEoARIPCgdtYXhfcG5sGBAgASgBEg8KB21pbl9wbmwYESABKAESNQoMZXZlbnRfY291bnRzGBIgASgLMh8uUG9seW1hcmtldEFnZ3JlZ2F0ZUV2ZW50Q291bnRzIt8BChVQb2x5bWFya2V0UG5sQnlTb3VyY2USEgoKb3JkZXJfc2VsbBgBIAEoARIhChlvcmRlcl9idXlfcG9zdF9yZXNvbHV0aW9uGAIgASgBEhIKCnJlc29sdXRpb24YAyABKAESEgoKY29udmVyc2lvbhgEIAEoARINCgVtZXJnZRgFIAEoARIdChVzcGxpdF9wb3N0X3Jlc29sdXRpb24YBiABKAESFAoMdHJhbnNmZXJfb3V0GAcgASgBEiMKG3RyYW5zZmVyX2luX3Bvc3RfcmVzb2x1dGlvbhgIIAEoASK5AQobUG9seW1hcmtldEFjdGl2aXR5SGlzdG9ncmFtEhgKEHBvc2l0aW9uX2NvdW50XzEYASABKAMSHQoVcG9zaXRpb25fY291bnRfMl90b181GAIgASgDEh4KFnBvc2l0aW9uX2NvdW50XzZfdG9fMjAYAyABKAMSIAoYcG9zaXRpb25fY291bnRfMjFfdG9fMTAwGAQgASgDEh8KF3Bvc2l0aW9uX2NvdW50X292ZXJfMTAwGAUgASgDIoUBCh5Qb2x5bWFya2V0QWdncmVnYXRlRXZlbnRDb3VudHMSDAoEYnV5cxgBIAEoAxINCgVzZWxscxgCIAEoAxIOCgZzcGxpdHMYAyABKAMSDgoGbWVyZ2VzGAQgASgDEhEKCXRyYW5zZmVycxgFIAEoAxITCgtjb252ZXJzaW9ucxgGIAEoAyKHAwoaUG9seW1hcmtldERpc3RyaWJ1dGlvbkJhbmQSDwoHYmFuZF9pZBgBIAEoBRISCgpiYW5kX2xhYmVsGAIgASgJEhUKDWFjY291bnRfY291bnQYAyABKAMSFgoOcGN0X3Byb2ZpdGFibGUYBCABKAESDwoHYXZnX3BubBgFIAEoARIRCgl0b3RhbF9wbmwYBiABKAESEgoKbWVkaWFuX3BubBgHIAEoARIWCg5yYW5rX3ZhbHVlX21pbhgIIAEoARIWCg5yYW5rX3ZhbHVlX21heBgJIAEoARIZChFtZWRpYW5fcmFua192YWx1ZRgKIAEoARIXCg9hdmdfdHJhZGVfY291bnQYCyABKAESGgoSYXZnX3Bvc2l0aW9uX2NvdW50GAwgASgBEhwKFGF2Z19ob2xkaW5nX2R1cmF0aW9uGA0gASgBEhAKCHdpbl9yYXRlGA4gASgBEi0KDXBubF9ieV9zb3VyY2UYDyABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2UinAEKJVBvbHltYXJrZXREaXN0cmlidXRpb25DdW11bGF0aXZlUG9pbnQSFAoMcGN0X2Zyb21fdG9wGAEgASgBEhkKEWN1bXVsYXRpdmVfbWV0cmljGAIgASgBEiEKGWN1bXVsYXRpdmVfc2hhcmVfd2lubmluZ3MYAyABKAESHwoXY3VtdWxhdGl2ZV9zaGFyZV9sb3NzZXMYBCABKAEiogEKHlBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbhI3ChJkaXN0cmlidXRpb25fYmFuZHMYASADKAsyGy5Qb2x5bWFya2V0RGlzdHJpYnV0aW9uQmFuZBJHChdkaXN0cmlidXRpb25fY3VtdWxhdGl2ZRgCIAMoCzImLlBvbHltYXJrZXREaXN0cmlidXRpb25DdW11bGF0aXZlUG9pbnQikgMKHkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXNwb25zZRItCgxvcmRlcl9maWxsZWQYASADKAsyFy5Qb2x5bWFya2V0UGFyc2VkT3JkZXJzEjEKD3RyYWRlcl9wcm9maWxlcxgCIAMoCzIYLlBvbHltYXJrZXRUcmFkZXJQcm9maWxlEjAKDnVzZXJfcG9zaXRpb25zGAMgAygLMhguUG9seW1hcmtldFVzZXJQb3NpdGlvbnMSMAoObWFya2V0X3N1bW1hcnkYBCADKAsyGC5Qb2x5bWFya2V0TWFya2V0U3VtbWFyeRI0Cg91c2VyX2NhdGVnb3JpZXMYBSADKAsyGy5Qb2x5bWFya2V0VHJhZGVyQ2F0ZWdvcmllcxI0ChBwbGF0Zm9ybV9zdW1tYXJ5GAYgAygLMhouUG9seW1hcmtldFBsYXRmb3JtU3VtbWFyeRI+ChVwbGF0Zm9ybV9kaXN0cmlidXRpb24YByADKAsyHy5Qb2x5bWFya2V0UGxhdGZvcm1EaXN0cmlidXRpb24iwQIKG0dldE1lbWVjb2luQW5hbHl0aWNzUmVxdWVzdBIjCgR0eXBlGAEgASgOMhUuTWVtZWNvaW5BbmFseXRpY1R5cGUSFQoFY2hhaW4YAiABKA4yBi5DaGFpbhIVCg10b2tlbl9hZGRyZXNzGAMgASgJEhMKC3VzZXJfd2FsbGV0GAQgAygJEhMKBm9mZnNldBgFIAEoA0gAiAEBEhIKBWxpbWl0GAYgASgDSAGIAQESMAoHc29ydF9ieRgHIAEoDjIaLk1lbWVjb2luQW5hbHl0aWNTb3J0RmllbGRIAogBARIrCg5zb3J0X2RpcmVjdGlvbhgIIAEoDjIOLlNvcnREaXJlY3Rpb25IA4gBAUIJCgdfb2Zmc2V0QggKBl9saW1pdEIKCghfc29ydF9ieUIRCg9fc29ydF9kaXJlY3Rpb24i2QIKFU1lbWVjb2luVHJhZGVyUHJvZmlsZRIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIYChB0b3RhbF9ib3VnaHRfdXNkGAIgASgBEhYKDnRvdGFsX3NvbGRfdXNkGAMgASgBEhUKDXRva2Vuc19ib3VnaHQYBCABKAkSEwoLdG9rZW5zX3NvbGQYBSABKAkSGAoQcmVtYWluaW5nX3Rva2VucxgGIAEoCRIRCglidXlfY291bnQYByABKAMSEgoKc2VsbF9jb3VudBgIIAEoAxIWCg5maXJzdF90cmFkZV90cxgJIAEoAxIXCg9sYXRlc3RfdHJhZGVfdHMYCiABKAMSGQoRYXZnX2J1eV9wcmljZV91c2QYCyABKAESGgoSdG90YWxfcmVhbGl6ZWRfcG5sGAwgASgBEhEKCXRvdGFsX3JvaRgNIAEoARIOCgZsYWJlbHMYDiADKAkipAEKE01lbWVjb2luVG9rZW5Ib2xkZXISFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSDwoHYmFsYW5jZRgCIAEoCRITCgtiYWxhbmNlX3VzZBgDIAEoARIVCg1wY3Rfb2Zfc3VwcGx5GAQgASgBEhUKDWZpcnN0X2hlbGRfdHMYBSABKAMSIQoIY2F0ZWdvcnkYBiABKA4yDy5Ib2xkZXJDYXRlZ29yeSJ2ChxHZXRNZW1lY29pbkFuYWx5dGljc1Jlc3BvbnNlEi8KD3RyYWRlcl9wcm9maWxlcxgBIAMoCzIWLk1lbWVjb2luVHJhZGVyUHJvZmlsZRIlCgdob2xkZXJzGAIgAygLMhQuTWVtZWNvaW5Ub2tlbkhvbGRlciJRCh9HZXRQb2x5bWFya2V0Q2F0ZWdvcmllc1Jlc3BvbnNlEi4KDWNhdGVnb3J5X3BhaXIYASADKAsyFy5Qb2x5bWFya2V0Q2F0ZWdvcnlQYWlyIkAKFlBvbHltYXJrZXRDYXRlZ29yeVBhaXISEAoIY2F0ZWdvcnkYASABKAkSFAoMc3ViX2NhdGVnb3J5GAIgASgJIoQBChRTeW1ib2xEaXJlY3RvcnlWZW51ZRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEg4KBnN5bWJvbBgCIAEoCRIYChBub3JtYWxpemVkU3ltYm9sGAMgASgJEhYKDmluc3RydW1lbnRUeXBlGAQgASgJEg0KBXF1b3RlGAUgASgJIm0KFFN5bWJvbERpcmVjdG9yeUFzc2V0EgwKBG5hbWUYASABKAkSDgoGdGlja2VyGAIgASgJEiUKBnZlbnVlcxgDIAMoCzIVLlN5bWJvbERpcmVjdG9yeVZlbnVlEhAKCGdyb3VwS2V5GAQgASgJInkKF1N5bWJvbERpcmVjdG9yeVJlc3BvbnNlEg8KB2J1aWx0QXQYASABKAkSEgoKYXNzZXRDb3VudBgCIAEoBRISCgp2ZW51ZUNvdW50GAMgASgFEiUKBmFzc2V0cxgEIAMoCzIVLlN5bWJvbERpcmVjdG9yeUFzc2V0KrsBCgZTaWduYWwSCwoHVU5LTk9XThAAEgwKCFRSRU5ESU5HEAESEAoMVk9MVU1FX1NQSUtFEAISEwoPSElHSF9WT0xBVElMSVRZEAMSGgoWSElHSF9MT05HX0ZVTkRJTkdfUkFURRAEEhsKF0hJR0hfU0hPUlRfRlVORElOR19SQVRFEAUSFQoRTEFSR0VfT0lfSU5DUkVBU0UQBhIOCgpQQVNTRURfQVRIEAcSDwoLUkFOR0VfQk9VTkQQCCqlAQoKTWFya2V0VHlwZRIXChNVTktOT1dOX01BUktFVF9UWVBFEAASBwoDQ0VYEAESBwoDREVYEAISCgoGVFJBREZJEAMSCwoHRUNPTk9NWRAEEg4KClBSRURJQ1RJT04QBRIJCgVGT1JFWBAGEg0KCUNPTU1PRElUWRAHEgkKBVNUT0NLEAgSCQoFSU5ERVgQCRITCg9UT0tFTklaRURfU1RPQ0sQCirnAQoRTWFya2V0U3ltYm9sRmllbGQSHwobVU5LTk9XTl9NQVJLRVRfU1lNQk9MX0ZJRUxEEAASFAoQUFJJQ0VfQ0hBTkdFXzI0SBABEg4KClZPTFVNRV8yNEgQAhIfChtNQVJLRVRfU1lNQk9MX09JX0NIQU5HRV8yNEgQBBIbChdNQVJLRVRfU1lNQk9MX01BUktFVENBUBAGEhMKD0FWQUlMQUJMRV9TSU5DRRAHEhgKFEVORF9SRU1BSU5JTkdfUEVSSU9EEAgSEgoOVk9MVU1FXzI0SF9VU0QQCSIECAMQAyIECAUQBSqLAQoQTWFya2V0QXNzZXRGaWVsZBIeChpVTktOT1dOX01BUktFVF9BU1NFVF9GSUVMRBAAEg4KCkFTU0VUX05BTUUQARIUChBBU1NFVF9WT0xVTUVfMjRIEAISGAoUQVNTRVRfVk9MVU1FXzI0SF9VU0QQAxIXChNBU1NFVF9WQVJJQU5UX0NPVU5UEAQqewoRTWFya2V0c1Byb2plY3Rpb24SHgoaVU5LTk9XTl9NQVJLRVRTX1BST0pFQ1RJT04QABIlCiFNQVJLRVRTX1BST0pFQ1RJT05fR1JPVVBTX1BSRVZJRVcQARIfChtNQVJLRVRTX1BST0pFQ1RJT05fVkFSSUFOVFMQAiqaAQoXT3B0aW9uQ2hhaW5BbmNob3JTb3VyY2USHwobT1BUSU9OX0NIQUlOX0FOQ0hPUl9VTktOT1dOEAASHQoZT1BUSU9OX0NIQUlOX0FOQ0hPUl9UUkFERRABEiIKHk9QVElPTl9DSEFJTl9BTkNIT1JfU0VUVExFTUVOVBACEhsKF09QVElPTl9DSEFJTl9BTkNIT1JfUk9XEAMqVgoRT3B0aW9uQ2hhaW5UaW1pbmcSIAocT1BUSU9OX0NIQUlOX1RJTUlOR19SRUFMVElNRRAAEh8KG09QVElPTl9DSEFJTl9USU1JTkdfREVMQVlFRBABKqMBChJHcmlkRGVjaXNpb25SZWFzb24SIAocVU5LTk9XTl9HUklEX0RFQ0lTSU9OX1JFQVNPThAAEhIKDkdSSURfQk9PVFNUUkFQEAESFAoQR1JJRF9QUklDRV9GSU5FUhACEhYKEkdSSURfUFJJQ0VfQ09BUlNFUhADEhQKEEdSSURfVElDS19DSEFOR0UQBBITCg9HUklEX1JPV19DSEFOR0UQBSqEAQoOSG9sZGVyQ2F0ZWdvcnkSHwobSE9MREVSX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASGAoUSE9MREVSX0NBVEVHT1JZX1BPT0wQARIbChdIT0xERVJfQ0FURUdPUllfQ1JFQVRPUhACEhoKFkhPTERFUl9DQVRFR09SWV9OT1JNQUwQAzLUJQoHR2F0ZXdheRI8CglHZXRQb2ludHMSDC5EYXRhUmVxdWVzdBoNLkRhdGFSZXNwb25zZSISgtPkkwIMEgovdjEvcG9pbnRzEi0KDFN0cmVhbVBvaW50cxIMLkRhdGFSZXF1ZXN0GgsuVGltZVNlcmllcyIAMAESQgoIR2V0VHlwZXMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIhGC0+STAgsSCS92MS90eXBlcxJKCgxHZXRFeGNoYW5nZXMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIhWC0+STAg8SDS92MS9leGNoYW5nZXMSTAoNR2V0Q2F0ZWdvcmllcxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiFoLT5JMCEBIOL3YxL2NhdGVnb3JpZXMSQgoIR2V0Q29pbnMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIhGC0+STAgsSCS92MS9jb2lucxJJCg1HZXRSYXdTeW1ib2xzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSITgtPkkwINEgsvdjEvc3ltYm9scxJbChRHZXROb3JtYWxpemVkU3ltYm9scxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiHoLT5JMCGBIWL3YxL25vcm1hbGl6ZWQtc3ltYm9scxJNCg1HZXRCbG9ja1NpemVzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIXgtPkkwIREg8vdjEvYmxvY2stc2l6ZXMSRAoJR2V0VGVub3JzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSISgtPkkwIMEgovdjEvdGVub3JzEj4KB0dldEdhcHMSDy5HZXRHYXBzUmVxdWVzdBoQLkdldEdhcHNSZXNwb25zZSIQgtPkkwIKEggvdjEvZ2FwcxJWCg1HZXRXYXRlcm1hcmtzEhUuR2V0V2F0ZXJtYXJrc1JlcXVlc3QaFi5HZXRXYXRlcm1hcmtzUmVzcG9uc2UiFoLT5JMCEBIOL3YxL3dhdGVybWFya3MSYgoXR2V0Q2F0ZWdvcmllc0J5RXhjaGFuZ2USEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIiKC0+STAhwSGi92MS9jYXRlZ29yaWVzLWJ5LWV4Y2hhbmdlEmwKG0dldFJhd1N5bWJvbHNCeUNvaW5FeGNoYW5nZRIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiKILT5JMCIhIgL3YxL3Jhdy1zeW1ib2xzLWJ5LWNvaW4tZXhjaGFuZ2USRwoeU3RyZWFtUmF3U3ltYm9sc0J5Q29pbkV4Y2hhbmdlEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIAEkMKGlN0cmVhbUNhdGVnb3JpZXNCeUV4Y2hhbmdlEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIAEkoKCkdldE1hcmtldHMSEi5HZXRNYXJrZXRzUmVxdWVzdBoTLkdldE1hcmtldHNSZXNwb25zZSITgtPkkwINEgsvdjEvbWFya2V0cxI/Cg1TdHJlYW1NYXJrZXRzEhUuU3RyZWFtTWFya2V0c1JlcXVlc3QaEy5HZXRNYXJrZXRzUmVzcG9uc2UiADABEkgKEVN0cmVhbU1hcmtldFN0YXRzEhkuU3RyZWFtTWFya2V0U3RhdHNSZXF1ZXN0GhQuTWFya2V0U3RhdHNSZXNwb25zZSIAMAESPgoKR2V0U2VjdG9ycxIGLkVtcHR5GhMuR2V0U2VjdG9yc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9zZWN0b3JzEioKDVN0cmVhbVNlY3RvcnMSBi5FbXB0eRoNLlNlY3RvckRldGFpbCIAMAESUAoJR2V0U2VjdG9yEhEuR2V0U2VjdG9yUmVxdWVzdBoSLkdldFNlY3RvclJlc3BvbnNlIhyC0+STAhYSFC92MS9zZWN0b3JzL3tzZWN0b3J9EjIKDFN0cmVhbVNlY3RvchIRLkdldFNlY3RvclJlcXVlc3QaCy5Db2luRGV0YWlsIgAwARIuCgxEZWxldGVQb2ludHMSFC5EZWxldGVQb2ludHNSZXF1ZXN0GgYuRW1wdHkiABIvChRTdHJlYW1CYWNrZmlsbFBvaW50cxILLlRpbWVTZXJpZXMaBi5FbXB0eSIAKAESMAoNUmVmcmVzaFBvaW50cxIVLlJlZnJlc2hQb2ludHNSZXF1ZXN0GgYuRW1wdHkiABJPCgxFeHBvcnRQb2ludHMSDC5EYXRhUmVxdWVzdBoULmdvb2dsZS5hcGkuSHR0cEJvZHkiGYLT5JMCExIRL3YxL2V4cG9ydC1wb2ludHMwARI9CgxHZXRHYXBzQ291bnQSFC5HZXRHYXBzQ291bnRSZXF1ZXN0GhUuR2V0R2Fwc0NvdW50UmVzcG9uc2UiABJhChRHZXRPcmRlckJvb2tGZWF0dXJlcxIMLkRhdGFSZXF1ZXN0GhouT3JkZXJCb29rRmVhdHVyZXNSZXNwb25zZSIfgtPkkwIZEhcvdjEvb3JkZXItYm9vay1mZWF0dXJlcxJbChRHZXRSZWdpc3RyeU1ldGFkYXRhcxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3JlZ2lzdHJ5LW1ldGFkYXRhcxJbCg5HZXRDb2luTWV0cmljcxIWLkdldENvaW5NZXRyaWNzUmVxdWVzdBoXLkdldENvaW5NZXRyaWNzUmVzcG9uc2UiGILT5JMCEhIQL3YxL2NvaW4tbWV0cmljcxJaChNHZXRTZWN0b3JDYXRlZ29yaWVzEgYuRW1wdHkaHC5HZXRTZWN0b3JDYXRlZ29yaWVzUmVzcG9uc2UiHYLT5JMCFxIVL3YxL3NlY3Rvci1jYXRlZ29yaWVzEjUKFlN0cmVhbVNlY3RvckNhdGVnb3JpZXMSBi5FbXB0eRoPLlNlY3RvckNhdGVnb3J5IgAwARJOCg9HZXRGcmVkTWV0YWRhdGESBi5FbXB0eRoYLkdldEZyZWRNZXRhZGF0YVJlc3BvbnNlIhmC0+STAhMSES92MS9mcmVkLW1ldGFkYXRhEi8KElN0cmVhbUZyZWRNZXRhZGF0YRIGLkVtcHR5Gg0uRnJlZE1ldGFkYXRhIgAwARJ/ChlHZXRGcmVkTWV0YWRhdGFCeVNlcmllc0lEEiEuR2V0RnJlZE1ldGFkYXRhQnlTZXJpZXNJRFJlcXVlc3QaGC5HZXRGcmVkTWV0YWRhdGFSZXNwb25zZSIlgtPkkwIfEh0vdjEvZnJlZC1tZXRhZGF0YS97c2VyaWVzX2lkfRJUChxTdHJlYW1GcmVkTWV0YWRhdGFCeVNlcmllc0lEEiEuR2V0RnJlZE1ldGFkYXRhQnlTZXJpZXNJRFJlcXVlc3QaDS5GcmVkTWV0YWRhdGEiADABEogBChlHZXRFY29ub21pY1Nlcmllc01ldGFkYXRhEiEuR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YVJlcXVlc3QaIi5HZXRFY29ub21pY1Nlcmllc01ldGFkYXRhUmVzcG9uc2UiJILT5JMCHhIcL3YxL2Vjb25vbWljLXNlcmllcy1tZXRhZGF0YRJeChxTdHJlYW1FY29ub21pY1Nlcmllc01ldGFkYXRhEiEuR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YVJlcXVlc3QaFy5FY29ub21pY1Nlcmllc01ldGFkYXRhIgAwARKEAQoYR2V0UG9seWdvblRpY2tlck1ldGFkYXRhEiAuR2V0UG9seWdvblRpY2tlck1ldGFkYXRhUmVxdWVzdBohLkdldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlc3BvbnNlIiOC0+STAh0SGy92MS9wb2x5Z29uLW1ldGFkYXRhL3RpY2tlchJbChtTdHJlYW1Qb2x5Z29uVGlja2VyTWV0YWRhdGESIC5HZXRQb2x5Z29uVGlja2VyTWV0YWRhdGFSZXF1ZXN0GhYuUG9seWdvblRpY2tlck1ldGFkYXRhIgAwARKAAQoXR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGESHy5HZXRUb2tlblVubG9ja3NNZXRhZGF0YVJlcXVlc3QaIC5HZXRUb2tlblVubG9ja3NNZXRhZGF0YVJlc3BvbnNlIiKC0+STAhwSGi92MS90b2tlbi11bmxvY2tzLW1ldGFkYXRhElgKGlN0cmVhbVRva2VuVW5sb2Nrc01ldGFkYXRhEh8uR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGFSZXF1ZXN0GhUuVG9rZW5VbmxvY2tzTWV0YWRhdGEiADABEmwKEkdldERleFBvb2xNZXRhZGF0YRIaLkdldERleFBvb2xNZXRhZGF0YVJlcXVlc3QaGy5HZXREZXhQb29sTWV0YWRhdGFSZXNwb25zZSIdgtPkkwIXEhUvdjEvZGV4LXBvb2wtbWV0YWRhdGESbwoTR2V0UG9seW1hcmtldEV2ZW50cxIbLkdldFBvbHltYXJrZXRFdmVudHNSZXF1ZXN0GhwuR2V0UG9seW1hcmtldEV2ZW50c1Jlc3BvbnNlIh2C0+STAhcSFS92MS9wb2x5bWFya2V0L2V2ZW50cxJWChZTdHJlYW1Qb2x5bWFya2V0RXZlbnRzEhsuR2V0UG9seW1hcmtldEV2ZW50c1JlcXVlc3QaGy5HZXRQb2x5bWFya2V0RXZlbnRSZXNwb25zZSIAMAEScwoUR2V0UG9seW1hcmtldE1hcmtldHMSHC5HZXRQb2x5bWFya2V0TWFya2V0c1JlcXVlc3QaHS5HZXRQb2x5bWFya2V0TWFya2V0c1Jlc3BvbnNlIh6C0+STAhgSFi92MS9wb2x5bWFya2V0L21hcmtldHMSewoWR2V0UG9seW1hcmtldEFuYWx5dGljcxIeLkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXF1ZXN0Gh8uR2V0UG9seW1hcmtldEFuYWx5dGljc1Jlc3BvbnNlIiCC0+STAhoSGC92MS9wb2x5bWFya2V0L2FuYWx5dGljcxJgChlTdHJlYW1Qb2x5bWFya2V0QW5hbHl0aWNzEh4uR2V0UG9seW1hcmtldEFuYWx5dGljc1JlcXVlc3QaHy5HZXRQb2x5bWFya2V0QW5hbHl0aWNzUmVzcG9uc2UiADABEnMKFEdldE1lbWVjb2luQW5hbHl0aWNzEhwuR2V0TWVtZWNvaW5BbmFseXRpY3NSZXF1ZXN0Gh0uR2V0TWVtZWNvaW5BbmFseXRpY3NSZXNwb25zZSIegtPkkwIYEhYvdjEvbWVtZWNvaW4vYW5hbHl0aWNzEloKF1N0cmVhbU1lbWVjb2luQW5hbHl0aWNzEhwuR2V0TWVtZWNvaW5BbmFseXRpY3NSZXF1ZXN0Gh0uR2V0TWVtZWNvaW5BbmFseXRpY3NSZXNwb25zZSIAMAESTwoSR2V0TGF0ZXN0U25hcHNob3RzEgwuRGF0YVJlcXVlc3QaDS5EYXRhUmVzcG9uc2UiHILT5JMCFhIUL3YxL2xhdGVzdC1zbmFwc2hvdHMSNgoVU3RyZWFtTGF0ZXN0U25hcHNob3RzEgwuRGF0YVJlcXVlc3QaCy5UaW1lU2VyaWVzIgAwARJmChdHZXRQb2x5bWFya2V0Q2F0ZWdvcmllcxIGLkVtcHR5GiAuR2V0UG9seW1hcmtldENhdGVnb3JpZXNSZXNwb25zZSIhgtPkkwIbEhkvdjEvcG9seW1hcmtldC1jYXRlZ29yaWVzEkEKGlN0cmVhbVBvbHltYXJrZXRDYXRlZ29yaWVzEgYuRW1wdHkaFy5Qb2x5bWFya2V0Q2F0ZWdvcnlQYWlyIgAwARJbCg5HZXRPcHRpb25DaGFpbhIWLkdldE9wdGlvbkNoYWluUmVxdWVzdBoXLkdldE9wdGlvbkNoYWluUmVzcG9uc2UiGILT5JMCEhIQL3YxL29wdGlvbi1jaGFpbhJ4ChVHZXRPcHRpb25DaGFpblN1bW1hcnkSHS5HZXRPcHRpb25DaGFpblN1bW1hcnlSZXF1ZXN0Gh4uR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVzcG9uc2UiIILT5JMCGhIYL3YxL29wdGlvbi1jaGFpbi1zdW1tYXJ5QkxaCHR5cGVzL3BikkE/EhsKFXRzZGItZ2F0ZXdheSBSRVNUIEFQSTICdjFyIAoWUHJvdG9jb2wgRG9jdW1lbnRhdGlvbhIGL2RvY3MvYgZwcm90bzM", [file_google_api_annotations, file_google_api_httpbody, file_protoc_gen_openapiv2_options_annotations, file_timestamp_timestamp, file_empty, file_enums, file_identifier, file_ping_pong, file_series, file_transform]);
18
19
  /**
19
20
  * Describes the message CustomTimeRange.
20
21
  * Use `create(CustomTimeRangeSchema)` to create a new message.
@@ -180,436 +181,441 @@ export const MetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gatewa
180
181
  * Use `create(RegistryMetadataSchema)` to create a new message.
181
182
  */
182
183
  export const RegistryMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 32);
184
+ /**
185
+ * Describes the message GridDecision.
186
+ * Use `create(GridDecisionSchema)` to create a new message.
187
+ */
188
+ export const GridDecisionSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 33);
183
189
  /**
184
190
  * Describes the message ExchangeCategories.
185
191
  * Use `create(ExchangeCategoriesSchema)` to create a new message.
186
192
  */
187
- export const ExchangeCategoriesSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 33);
193
+ export const ExchangeCategoriesSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 34);
188
194
  /**
189
195
  * Describes the message ExchangeRawSymbols.
190
196
  * Use `create(ExchangeRawSymbolsSchema)` to create a new message.
191
197
  */
192
- export const ExchangeRawSymbolsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 34);
198
+ export const ExchangeRawSymbolsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 35);
193
199
  /**
194
200
  * Describes the message ExchangeRawSymbolsGroup.
195
201
  * Use `create(ExchangeRawSymbolsGroupSchema)` to create a new message.
196
202
  */
197
- export const ExchangeRawSymbolsGroupSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 35);
203
+ export const ExchangeRawSymbolsGroupSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 36);
198
204
  /**
199
205
  * Describes the message CoinDetail.
200
206
  * Use `create(CoinDetailSchema)` to create a new message.
201
207
  */
202
- export const CoinDetailSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 36);
208
+ export const CoinDetailSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 37);
203
209
  /**
204
210
  * Describes the message GetSectorResponse.
205
211
  * Use `create(GetSectorResponseSchema)` to create a new message.
206
212
  */
207
- export const GetSectorResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 37);
213
+ export const GetSectorResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 38);
208
214
  /**
209
215
  * Describes the message GetSectorRequest.
210
216
  * Use `create(GetSectorRequestSchema)` to create a new message.
211
217
  */
212
- export const GetSectorRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 38);
218
+ export const GetSectorRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 39);
213
219
  /**
214
220
  * Describes the message SectorDetail.
215
221
  * Use `create(SectorDetailSchema)` to create a new message.
216
222
  */
217
- export const SectorDetailSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 39);
223
+ export const SectorDetailSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 40);
218
224
  /**
219
225
  * Describes the message GetSectorsResponse.
220
226
  * Use `create(GetSectorsResponseSchema)` to create a new message.
221
227
  */
222
- export const GetSectorsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 40);
228
+ export const GetSectorsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 41);
223
229
  /**
224
230
  * Describes the message GetGapsRequest.
225
231
  * Use `create(GetGapsRequestSchema)` to create a new message.
226
232
  */
227
- export const GetGapsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 41);
233
+ export const GetGapsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 42);
228
234
  /**
229
235
  * Describes the message OrderBookFeaturesResponse.
230
236
  * Use `create(OrderBookFeaturesResponseSchema)` to create a new message.
231
237
  */
232
- export const OrderBookFeaturesResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 42);
238
+ export const OrderBookFeaturesResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 43);
233
239
  /**
234
240
  * Describes the message GetGapsResponse.
235
241
  * Use `create(GetGapsResponseSchema)` to create a new message.
236
242
  */
237
- export const GetGapsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 43);
243
+ export const GetGapsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 44);
238
244
  /**
239
245
  * Describes the message DeletePointsRequest.
240
246
  * Use `create(DeletePointsRequestSchema)` to create a new message.
241
247
  */
242
- export const DeletePointsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 44);
248
+ export const DeletePointsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 45);
243
249
  /**
244
250
  * Describes the message RefreshPointsRequest.
245
251
  * Use `create(RefreshPointsRequestSchema)` to create a new message.
246
252
  */
247
- export const RefreshPointsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 45);
253
+ export const RefreshPointsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 46);
248
254
  /**
249
255
  * Describes the message Gap.
250
256
  * Use `create(GapSchema)` to create a new message.
251
257
  */
252
- export const GapSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 46);
258
+ export const GapSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 47);
253
259
  /**
254
260
  * Describes the message TypeGap.
255
261
  * Use `create(TypeGapSchema)` to create a new message.
256
262
  */
257
- export const TypeGapSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 47);
263
+ export const TypeGapSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 48);
258
264
  /**
259
265
  * Describes the message TypeGaps.
260
266
  * Use `create(TypeGapsSchema)` to create a new message.
261
267
  */
262
- export const TypeGapsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 48);
268
+ export const TypeGapsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 49);
263
269
  /**
264
270
  * Describes the message GetWatermarksRequest.
265
271
  * Use `create(GetWatermarksRequestSchema)` to create a new message.
266
272
  */
267
- export const GetWatermarksRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 49);
273
+ export const GetWatermarksRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 50);
268
274
  /**
269
275
  * Describes the message GetWatermarksResponse.
270
276
  * Use `create(GetWatermarksResponseSchema)` to create a new message.
271
277
  */
272
- export const GetWatermarksResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 50);
278
+ export const GetWatermarksResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 51);
273
279
  /**
274
280
  * Describes the message Watermarks.
275
281
  * Use `create(WatermarksSchema)` to create a new message.
276
282
  */
277
- export const WatermarksSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 51);
283
+ export const WatermarksSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 52);
278
284
  /**
279
285
  * Describes the message AggIntervalWatermark.
280
286
  * Use `create(AggIntervalWatermarkSchema)` to create a new message.
281
287
  */
282
- export const AggIntervalWatermarkSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 52);
288
+ export const AggIntervalWatermarkSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 53);
283
289
  /**
284
290
  * Describes the message GetGapsCountRequest.
285
291
  * Use `create(GetGapsCountRequestSchema)` to create a new message.
286
292
  */
287
- export const GetGapsCountRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 53);
293
+ export const GetGapsCountRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 54);
288
294
  /**
289
295
  * Describes the message GetGapsCountResponse.
290
296
  * Use `create(GetGapsCountResponseSchema)` to create a new message.
291
297
  */
292
- export const GetGapsCountResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 54);
298
+ export const GetGapsCountResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 55);
293
299
  /**
294
300
  * Describes the message TypeCounts.
295
301
  * Use `create(TypeCountsSchema)` to create a new message.
296
302
  */
297
- export const TypeCountsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 55);
303
+ export const TypeCountsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 56);
298
304
  /**
299
305
  * Describes the message TypeCount.
300
306
  * Use `create(TypeCountSchema)` to create a new message.
301
307
  */
302
- export const TypeCountSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 56);
308
+ export const TypeCountSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 57);
303
309
  /**
304
310
  * Describes the message RPCResponse.
305
311
  * Use `create(RPCResponseSchema)` to create a new message.
306
312
  */
307
- export const RPCResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 57);
313
+ export const RPCResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 58);
308
314
  /**
309
315
  * Describes the message RateLimitUsage.
310
316
  * Use `create(RateLimitUsageSchema)` to create a new message.
311
317
  */
312
- export const RateLimitUsageSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 58);
318
+ export const RateLimitUsageSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 59);
313
319
  /**
314
320
  * Describes the message RateLimitDailyUsage.
315
321
  * Use `create(RateLimitDailyUsageSchema)` to create a new message.
316
322
  */
317
- export const RateLimitDailyUsageSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 59);
323
+ export const RateLimitDailyUsageSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 60);
318
324
  /**
319
325
  * Describes the message SymbolCriteria.
320
326
  * Use `create(SymbolCriteriaSchema)` to create a new message.
321
327
  */
322
- export const SymbolCriteriaSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 60);
328
+ export const SymbolCriteriaSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 61);
323
329
  /**
324
330
  * Describes the message Criteria.
325
331
  * Use `create(CriteriaSchema)` to create a new message.
326
332
  */
327
- export const CriteriaSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 61);
333
+ export const CriteriaSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 62);
328
334
  /**
329
335
  * Describes the message CoinMetric.
330
336
  * Use `create(CoinMetricSchema)` to create a new message.
331
337
  */
332
- export const CoinMetricSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 62);
338
+ export const CoinMetricSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 63);
333
339
  /**
334
340
  * Describes the message GetCoinMetricsRequest.
335
341
  * Use `create(GetCoinMetricsRequestSchema)` to create a new message.
336
342
  */
337
- export const GetCoinMetricsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 63);
343
+ export const GetCoinMetricsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 64);
338
344
  /**
339
345
  * Describes the message GetCoinMetricsResponse.
340
346
  * Use `create(GetCoinMetricsResponseSchema)` to create a new message.
341
347
  */
342
- export const GetCoinMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 64);
348
+ export const GetCoinMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 65);
343
349
  /**
344
350
  * Describes the message SectorCategory.
345
351
  * Use `create(SectorCategorySchema)` to create a new message.
346
352
  */
347
- export const SectorCategorySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 65);
353
+ export const SectorCategorySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 66);
348
354
  /**
349
355
  * Describes the message GetSectorCategoriesResponse.
350
356
  * Use `create(GetSectorCategoriesResponseSchema)` to create a new message.
351
357
  */
352
- export const GetSectorCategoriesResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 66);
358
+ export const GetSectorCategoriesResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 67);
353
359
  /**
354
360
  * Describes the message FredMetadata.
355
361
  * Use `create(FredMetadataSchema)` to create a new message.
356
362
  */
357
- export const FredMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 67);
363
+ export const FredMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 68);
358
364
  /**
359
365
  * Describes the message GetFredMetadataBySeriesIDRequest.
360
366
  * Use `create(GetFredMetadataBySeriesIDRequestSchema)` to create a new message.
361
367
  */
362
- export const GetFredMetadataBySeriesIDRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 68);
368
+ export const GetFredMetadataBySeriesIDRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 69);
363
369
  /**
364
370
  * Describes the message GetFredMetadataResponse.
365
371
  * Use `create(GetFredMetadataResponseSchema)` to create a new message.
366
372
  */
367
- export const GetFredMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 69);
373
+ export const GetFredMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 70);
368
374
  /**
369
375
  * Describes the message EconomicSeriesMetadata.
370
376
  * Use `create(EconomicSeriesMetadataSchema)` to create a new message.
371
377
  */
372
- export const EconomicSeriesMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 70);
378
+ export const EconomicSeriesMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 71);
373
379
  /**
374
380
  * Describes the message GetEconomicSeriesMetadataRequest.
375
381
  * Use `create(GetEconomicSeriesMetadataRequestSchema)` to create a new message.
376
382
  */
377
- export const GetEconomicSeriesMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 71);
383
+ export const GetEconomicSeriesMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 72);
378
384
  /**
379
385
  * Describes the message GetEconomicSeriesMetadataResponse.
380
386
  * Use `create(GetEconomicSeriesMetadataResponseSchema)` to create a new message.
381
387
  */
382
- export const GetEconomicSeriesMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 72);
388
+ export const GetEconomicSeriesMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 73);
383
389
  /**
384
390
  * Describes the message GetPolygonTickerMetadataRequest.
385
391
  * Use `create(GetPolygonTickerMetadataRequestSchema)` to create a new message.
386
392
  */
387
- export const GetPolygonTickerMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 73);
393
+ export const GetPolygonTickerMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 74);
388
394
  /**
389
395
  * Describes the message PolygonTickerMetadata.
390
396
  * Use `create(PolygonTickerMetadataSchema)` to create a new message.
391
397
  */
392
- export const PolygonTickerMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 74);
398
+ export const PolygonTickerMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 75);
393
399
  /**
394
400
  * Describes the message GetPolygonTickerMetadataResponse.
395
401
  * Use `create(GetPolygonTickerMetadataResponseSchema)` to create a new message.
396
402
  */
397
- export const GetPolygonTickerMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 75);
403
+ export const GetPolygonTickerMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 76);
398
404
  /**
399
405
  * Describes the message GetTokenUnlocksMetadataRequest.
400
406
  * Use `create(GetTokenUnlocksMetadataRequestSchema)` to create a new message.
401
407
  */
402
- export const GetTokenUnlocksMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 76);
408
+ export const GetTokenUnlocksMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 77);
403
409
  /**
404
410
  * Describes the message TokenUnlockEvents.
405
411
  * Use `create(TokenUnlockEventsSchema)` to create a new message.
406
412
  */
407
- export const TokenUnlockEventsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 77);
413
+ export const TokenUnlockEventsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 78);
408
414
  /**
409
415
  * Describes the message TokenUnlocksMetadata.
410
416
  * Use `create(TokenUnlocksMetadataSchema)` to create a new message.
411
417
  */
412
- export const TokenUnlocksMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 78);
418
+ export const TokenUnlocksMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 79);
413
419
  /**
414
420
  * Describes the message GetTokenUnlocksMetadataResponse.
415
421
  * Use `create(GetTokenUnlocksMetadataResponseSchema)` to create a new message.
416
422
  */
417
- export const GetTokenUnlocksMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 79);
423
+ export const GetTokenUnlocksMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 80);
418
424
  /**
419
425
  * Describes the message GetDexPoolMetadataRequest.
420
426
  * Use `create(GetDexPoolMetadataRequestSchema)` to create a new message.
421
427
  */
422
- export const GetDexPoolMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 80);
428
+ export const GetDexPoolMetadataRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 81);
423
429
  /**
424
430
  * Describes the message GetDexPoolMetadataResponse.
425
431
  * Use `create(GetDexPoolMetadataResponseSchema)` to create a new message.
426
432
  */
427
- export const GetDexPoolMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 81);
433
+ export const GetDexPoolMetadataResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 82);
428
434
  /**
429
435
  * Describes the message DexPoolMetadata.
430
436
  * Use `create(DexPoolMetadataSchema)` to create a new message.
431
437
  */
432
- export const DexPoolMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 82);
438
+ export const DexPoolMetadataSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 83);
433
439
  /**
434
440
  * Describes the message GetPolymarketEventsRequest.
435
441
  * Use `create(GetPolymarketEventsRequestSchema)` to create a new message.
436
442
  */
437
- export const GetPolymarketEventsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 83);
443
+ export const GetPolymarketEventsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 84);
438
444
  /**
439
445
  * Describes the message GetPolymarketEventsResponse.
440
446
  * Use `create(GetPolymarketEventsResponseSchema)` to create a new message.
441
447
  */
442
- export const GetPolymarketEventsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 84);
448
+ export const GetPolymarketEventsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 85);
443
449
  /**
444
450
  * Describes the message GetPolymarketEventResponse.
445
451
  * Use `create(GetPolymarketEventResponseSchema)` to create a new message.
446
452
  */
447
- export const GetPolymarketEventResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 85);
453
+ export const GetPolymarketEventResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 86);
448
454
  /**
449
455
  * Describes the message GeoLocation.
450
456
  * Use `create(GeoLocationSchema)` to create a new message.
451
457
  */
452
- export const GeoLocationSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 86);
458
+ export const GeoLocationSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 87);
453
459
  /**
454
460
  * Describes the message PolymarketEvent.
455
461
  * Use `create(PolymarketEventSchema)` to create a new message.
456
462
  */
457
- export const PolymarketEventSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 87);
463
+ export const PolymarketEventSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 88);
458
464
  /**
459
465
  * Describes the message GetPolymarketMarketsRequest.
460
466
  * Use `create(GetPolymarketMarketsRequestSchema)` to create a new message.
461
467
  */
462
- export const GetPolymarketMarketsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 88);
468
+ export const GetPolymarketMarketsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 89);
463
469
  /**
464
470
  * Describes the message GetPolymarketMarketsResponse.
465
471
  * Use `create(GetPolymarketMarketsResponseSchema)` to create a new message.
466
472
  */
467
- export const GetPolymarketMarketsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 89);
473
+ export const GetPolymarketMarketsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 90);
468
474
  /**
469
475
  * Describes the message GetPolymarketMarketResponse.
470
476
  * Use `create(GetPolymarketMarketResponseSchema)` to create a new message.
471
477
  */
472
- export const GetPolymarketMarketResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 90);
478
+ export const GetPolymarketMarketResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 91);
473
479
  /**
474
480
  * Describes the message PolymarketMarket.
475
481
  * Use `create(PolymarketMarketSchema)` to create a new message.
476
482
  */
477
- export const PolymarketMarketSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 91);
483
+ export const PolymarketMarketSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 92);
478
484
  /**
479
485
  * Describes the message PolymarketTag.
480
486
  * Use `create(PolymarketTagSchema)` to create a new message.
481
487
  */
482
- export const PolymarketTagSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 92);
488
+ export const PolymarketTagSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 93);
483
489
  /**
484
490
  * Describes the message PolymarketSeries.
485
491
  * Use `create(PolymarketSeriesSchema)` to create a new message.
486
492
  */
487
- export const PolymarketSeriesSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 93);
493
+ export const PolymarketSeriesSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 94);
488
494
  /**
489
495
  * Describes the message GetPolymarketAnalyticsRequest.
490
496
  * Use `create(GetPolymarketAnalyticsRequestSchema)` to create a new message.
491
497
  */
492
- export const GetPolymarketAnalyticsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 94);
498
+ export const GetPolymarketAnalyticsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 95);
493
499
  /**
494
500
  * Describes the message PolymarketParsedOrders.
495
501
  * Use `create(PolymarketParsedOrdersSchema)` to create a new message.
496
502
  */
497
- export const PolymarketParsedOrdersSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 95);
503
+ export const PolymarketParsedOrdersSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 96);
498
504
  /**
499
505
  * Describes the message PolymarketTraderCategoryBreakdown.
500
506
  * Use `create(PolymarketTraderCategoryBreakdownSchema)` to create a new message.
501
507
  */
502
- export const PolymarketTraderCategoryBreakdownSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 96);
508
+ export const PolymarketTraderCategoryBreakdownSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 97);
503
509
  /**
504
510
  * Describes the message PolymarketTraderCategories.
505
511
  * Use `create(PolymarketTraderCategoriesSchema)` to create a new message.
506
512
  */
507
- export const PolymarketTraderCategoriesSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 97);
513
+ export const PolymarketTraderCategoriesSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 98);
508
514
  /**
509
515
  * Describes the message PolymarketTraderProfile.
510
516
  * Use `create(PolymarketTraderProfileSchema)` to create a new message.
511
517
  */
512
- export const PolymarketTraderProfileSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 98);
518
+ export const PolymarketTraderProfileSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 99);
513
519
  /**
514
520
  * Describes the message PolymarketUserPositions.
515
521
  * Use `create(PolymarketUserPositionsSchema)` to create a new message.
516
522
  */
517
- export const PolymarketUserPositionsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 99);
523
+ export const PolymarketUserPositionsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 100);
518
524
  /**
519
525
  * Describes the message PolymarketOutcomeExclusiveSummary.
520
526
  * Use `create(PolymarketOutcomeExclusiveSummarySchema)` to create a new message.
521
527
  */
522
- export const PolymarketOutcomeExclusiveSummarySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 100);
528
+ export const PolymarketOutcomeExclusiveSummarySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 101);
523
529
  /**
524
530
  * Describes the message PolymarketMarketSummary.
525
531
  * Use `create(PolymarketMarketSummarySchema)` to create a new message.
526
532
  */
527
- export const PolymarketMarketSummarySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 101);
533
+ export const PolymarketMarketSummarySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 102);
528
534
  /**
529
535
  * Describes the message PolymarketPlatformSummary.
530
536
  * Use `create(PolymarketPlatformSummarySchema)` to create a new message.
531
537
  */
532
- export const PolymarketPlatformSummarySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 102);
538
+ export const PolymarketPlatformSummarySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 103);
533
539
  /**
534
540
  * Describes the message PolymarketPnlBySource.
535
541
  * Use `create(PolymarketPnlBySourceSchema)` to create a new message.
536
542
  */
537
- export const PolymarketPnlBySourceSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 103);
543
+ export const PolymarketPnlBySourceSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 104);
538
544
  /**
539
545
  * Describes the message PolymarketActivityHistogram.
540
546
  * Use `create(PolymarketActivityHistogramSchema)` to create a new message.
541
547
  */
542
- export const PolymarketActivityHistogramSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 104);
548
+ export const PolymarketActivityHistogramSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 105);
543
549
  /**
544
550
  * Describes the message PolymarketAggregateEventCounts.
545
551
  * Use `create(PolymarketAggregateEventCountsSchema)` to create a new message.
546
552
  */
547
- export const PolymarketAggregateEventCountsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 105);
553
+ export const PolymarketAggregateEventCountsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 106);
548
554
  /**
549
555
  * Describes the message PolymarketDistributionBand.
550
556
  * Use `create(PolymarketDistributionBandSchema)` to create a new message.
551
557
  */
552
- export const PolymarketDistributionBandSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 106);
558
+ export const PolymarketDistributionBandSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 107);
553
559
  /**
554
560
  * Describes the message PolymarketDistributionCumulativePoint.
555
561
  * Use `create(PolymarketDistributionCumulativePointSchema)` to create a new message.
556
562
  */
557
- export const PolymarketDistributionCumulativePointSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 107);
563
+ export const PolymarketDistributionCumulativePointSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 108);
558
564
  /**
559
565
  * Describes the message PolymarketPlatformDistribution.
560
566
  * Use `create(PolymarketPlatformDistributionSchema)` to create a new message.
561
567
  */
562
- export const PolymarketPlatformDistributionSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 108);
568
+ export const PolymarketPlatformDistributionSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 109);
563
569
  /**
564
570
  * Describes the message GetPolymarketAnalyticsResponse.
565
571
  * Use `create(GetPolymarketAnalyticsResponseSchema)` to create a new message.
566
572
  */
567
- export const GetPolymarketAnalyticsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 109);
573
+ export const GetPolymarketAnalyticsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 110);
568
574
  /**
569
575
  * Describes the message GetMemecoinAnalyticsRequest.
570
576
  * Use `create(GetMemecoinAnalyticsRequestSchema)` to create a new message.
571
577
  */
572
- export const GetMemecoinAnalyticsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 110);
578
+ export const GetMemecoinAnalyticsRequestSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 111);
573
579
  /**
574
580
  * Describes the message MemecoinTraderProfile.
575
581
  * Use `create(MemecoinTraderProfileSchema)` to create a new message.
576
582
  */
577
- export const MemecoinTraderProfileSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 111);
583
+ export const MemecoinTraderProfileSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 112);
578
584
  /**
579
585
  * Describes the message MemecoinTokenHolder.
580
586
  * Use `create(MemecoinTokenHolderSchema)` to create a new message.
581
587
  */
582
- export const MemecoinTokenHolderSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 112);
588
+ export const MemecoinTokenHolderSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 113);
583
589
  /**
584
590
  * Describes the message GetMemecoinAnalyticsResponse.
585
591
  * Use `create(GetMemecoinAnalyticsResponseSchema)` to create a new message.
586
592
  */
587
- export const GetMemecoinAnalyticsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 113);
593
+ export const GetMemecoinAnalyticsResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 114);
588
594
  /**
589
595
  * Describes the message GetPolymarketCategoriesResponse.
590
596
  * Use `create(GetPolymarketCategoriesResponseSchema)` to create a new message.
591
597
  */
592
- export const GetPolymarketCategoriesResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 114);
598
+ export const GetPolymarketCategoriesResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 115);
593
599
  /**
594
600
  * Describes the message PolymarketCategoryPair.
595
601
  * Use `create(PolymarketCategoryPairSchema)` to create a new message.
596
602
  */
597
- export const PolymarketCategoryPairSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 115);
603
+ export const PolymarketCategoryPairSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 116);
598
604
  /**
599
605
  * Describes the message SymbolDirectoryVenue.
600
606
  * Use `create(SymbolDirectoryVenueSchema)` to create a new message.
601
607
  */
602
- export const SymbolDirectoryVenueSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 116);
608
+ export const SymbolDirectoryVenueSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 117);
603
609
  /**
604
610
  * Describes the message SymbolDirectoryAsset.
605
611
  * Use `create(SymbolDirectoryAssetSchema)` to create a new message.
606
612
  */
607
- export const SymbolDirectoryAssetSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 117);
613
+ export const SymbolDirectoryAssetSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 118);
608
614
  /**
609
615
  * Describes the message SymbolDirectoryResponse.
610
616
  * Use `create(SymbolDirectoryResponseSchema)` to create a new message.
611
617
  */
612
- export const SymbolDirectoryResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 118);
618
+ export const SymbolDirectoryResponseSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_tsdb_gateway, 119);
613
619
  /**
614
620
  * @generated from enum Signal
615
621
  */
@@ -892,6 +898,53 @@ export var OptionChainTiming;
892
898
  * Describes the enum OptionChainTiming.
893
899
  */
894
900
  export const OptionChainTimingSchema = /*@__PURE__*/ enumDesc(file_tsdb_gateway_tsdb_gateway, 6);
901
+ /**
902
+ * Why a listing's VP/TPO grid changed. Carried for audit; consumers key on
903
+ * the decision itself, never on the reason.
904
+ *
905
+ * @generated from enum GridDecisionReason
906
+ */
907
+ export var GridDecisionReason;
908
+ (function (GridDecisionReason) {
909
+ /**
910
+ * @generated from enum value: UNKNOWN_GRID_DECISION_REASON = 0;
911
+ */
912
+ GridDecisionReason[GridDecisionReason["UNKNOWN_GRID_DECISION_REASON"] = 0] = "UNKNOWN_GRID_DECISION_REASON";
913
+ /**
914
+ * First decider-authored row for a listing (replaces the local bootstrap).
915
+ *
916
+ * @generated from enum value: GRID_BOOTSTRAP = 1;
917
+ */
918
+ GridDecisionReason[GridDecisionReason["GRID_BOOTSTRAP"] = 1] = "GRID_BOOTSTRAP";
919
+ /**
920
+ * Price fell: the ideal row went below the storage grid.
921
+ *
922
+ * @generated from enum value: GRID_PRICE_FINER = 2;
923
+ */
924
+ GridDecisionReason[GridDecisionReason["GRID_PRICE_FINER"] = 2] = "GRID_PRICE_FINER";
925
+ /**
926
+ * Price rose: the storage grid is far finer than needed.
927
+ *
928
+ * @generated from enum value: GRID_PRICE_COARSER = 3;
929
+ */
930
+ GridDecisionReason[GridDecisionReason["GRID_PRICE_COARSER"] = 3] = "GRID_PRICE_COARSER";
931
+ /**
932
+ * The venue changed its tick and the grid no longer sits on it.
933
+ *
934
+ * @generated from enum value: GRID_TICK_CHANGE = 4;
935
+ */
936
+ GridDecisionReason[GridDecisionReason["GRID_TICK_CHANGE"] = 4] = "GRID_TICK_CHANGE";
937
+ /**
938
+ * Only the default display row moved; the storage grid is unchanged.
939
+ *
940
+ * @generated from enum value: GRID_ROW_CHANGE = 5;
941
+ */
942
+ GridDecisionReason[GridDecisionReason["GRID_ROW_CHANGE"] = 5] = "GRID_ROW_CHANGE";
943
+ })(GridDecisionReason || (GridDecisionReason = {}));
944
+ /**
945
+ * Describes the enum GridDecisionReason.
946
+ */
947
+ export const GridDecisionReasonSchema = /*@__PURE__*/ enumDesc(file_tsdb_gateway_tsdb_gateway, 7);
895
948
  /**
896
949
  * @generated from enum HolderCategory
897
950
  */
@@ -921,7 +974,7 @@ export var HolderCategory;
921
974
  /**
922
975
  * Describes the enum HolderCategory.
923
976
  */
924
- export const HolderCategorySchema = /*@__PURE__*/ enumDesc(file_tsdb_gateway_tsdb_gateway, 7);
977
+ export const HolderCategorySchema = /*@__PURE__*/ enumDesc(file_tsdb_gateway_tsdb_gateway, 8);
925
978
  /**
926
979
  * tsdb-gateway is a service that provides access to a time-series database.
927
980
  *