@silvana-one/orderbook 1.1.18 → 1.1.20

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 (31) hide show
  1. package/dist/node/index.cjs +81 -62
  2. package/dist/node/proto/silvana/news/v1/news_pb.js +1 -1
  3. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.d.ts +196 -26
  4. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js +67 -62
  5. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  6. package/dist/node/proto/silvana/pricing/v1/pricing_pb.js +1 -1
  7. package/dist/node/proto/silvana/settlement/v1/settlement_pb.d.ts +149 -38
  8. package/dist/node/proto/silvana/settlement/v1/settlement_pb.js +12 -2
  9. package/dist/node/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
  10. package/dist/node/settlement.d.ts +15 -4
  11. package/dist/node/settlement.js +11 -1
  12. package/dist/node/settlement.js.map +1 -1
  13. package/dist/tsconfig.tsbuildinfo +1 -1
  14. package/dist/tsconfig.web.tsbuildinfo +1 -1
  15. package/dist/web/proto/silvana/news/v1/news_pb.js +1 -1
  16. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.d.ts +196 -26
  17. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js +67 -62
  18. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  19. package/dist/web/proto/silvana/pricing/v1/pricing_pb.js +1 -1
  20. package/dist/web/proto/silvana/settlement/v1/settlement_pb.d.ts +149 -38
  21. package/dist/web/proto/silvana/settlement/v1/settlement_pb.js +12 -2
  22. package/dist/web/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
  23. package/dist/web/settlement.d.ts +15 -4
  24. package/dist/web/settlement.js +11 -1
  25. package/dist/web/settlement.js.map +1 -1
  26. package/package.json +4 -4
  27. package/src/proto/silvana/news/v1/news_pb.ts +1 -1
  28. package/src/proto/silvana/orderbook/v1/orderbook_pb.ts +286 -90
  29. package/src/proto/silvana/pricing/v1/pricing_pb.ts +1 -1
  30. package/src/proto/silvana/settlement/v1/settlement_pb.ts +163 -40
  31. package/src/settlement.ts +22 -3
@@ -1,4 +1,4 @@
1
- // @generated by protoc-gen-es v2.10.1 with parameter "target=ts,js_import_style=module"
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,js_import_style=module"
2
2
  // @generated from file proto/silvana/pricing/v1/pricing.proto (package silvana.pricing.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
@@ -1,4 +1,4 @@
1
- // @generated by protoc-gen-es v2.10.1 with parameter "target=ts,js_import_style=module"
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,js_import_style=module"
2
2
  // @generated from file proto/silvana/settlement/v1/settlement.proto (package silvana.settlement.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
@@ -12,7 +12,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
12
12
  * Describes the file proto/silvana/settlement/v1/settlement.proto.
13
13
  */
14
14
  export const file_proto_silvana_settlement_v1_settlement: GenFile = /*@__PURE__*/
15
- fileDesc("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAingEKFFNldHRsZW1lbnRJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSDgoGc3ltYm9sGAIgASgJEhAKCHJlZ2lzdHJ5GAMgASgJEhAKCHF1YW50aXR5GAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSKBBAoZU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRITCgtwcm9wb3NhbF9pZBgBIAEoBBIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRITCgtidXllcl9wYXJ0eRgEIAEoCRIUCgxzZWxsZXJfcGFydHkYBSABKAkSRAoPYmFzZV9pbnN0cnVtZW50GAYgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EkUKEHF1b3RlX2luc3RydW1lbnQYByABKAsyKy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEluc3RydW1lbnQSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIzCg9hbGxvY2F0ZV9iZWZvcmUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDXNldHRsZV9iZWZvcmUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9tZXRhZGF0YSKJAgoWUHJlY29uZmlybWF0aW9uUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgBIAEoBBIVCg1zZXR0bGVtZW50X2lkGAIgASgJEkIKCHByb3Bvc2FsGAMgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USGAoQcmVxdWVzdGluZ19wYXJ0eRgEIAEoCRIuCgpyZXNwb25kX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgV0ZXJtcxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIICgZfdGVybXMivwIKF1ByZWNvbmZpcm1hdGlvbkRlY2lzaW9uEhMKC3Byb3Bvc2FsX2lkGAEgASgEEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQAoIcmVzcG9uc2UYAyABKA4yLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVzcG9uc2USHQoQcmVqZWN0aW9uX3JlYXNvbhgEIAEoCUgAiAEBEjAKCmNvbmRpdGlvbnMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESEQoJc2lnbmVkX2J5GAYgASgJEi4KCmRlY2lkZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV9yZWplY3Rpb25fcmVhc29uQg0KC19jb25kaXRpb25zItgBChJEdnBDb250cmFjdENyZWF0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAQSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIYChBkdnBfcHJvcG9zYWxfY2lkGAMgASgJEh4KFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBCABKAkSFgoOcHJvcG9zZXJfcGFydHkYBSABKAkSFAoMY291bnRlcnBhcnR5GAYgASgJEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq8BChNEdnBDb250cmFjdEFjY2VwdGVkEhMKC3Byb3Bvc2FsX2lkGAEgASgEEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIVCg1kdnBfdXBkYXRlX2lkGAQgASgJEhMKC2FjY2VwdGVkX2J5GAUgASgJEi8KC2FjY2VwdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLbAgoQQWxsb2NhdGlvblN0YXR1cxITCgtwcm9wb3NhbF9pZBgBIAEoBBIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEhAKCHBhcnR5X2lkGAQgASgJEhYKDmFsbG9jYXRpb25fY2lkGAUgASgJEhwKFGFsbG9jYXRpb25fdXBkYXRlX2lkGAYgASgJEhUKDWluc3RydW1lbnRfaWQYByABKAkSEAoIcXVhbnRpdHkYCCABKAkSFAoMaXNfYWxsb2NhdGVkGAkgASgIEhoKDWVycm9yX21lc3NhZ2UYCiABKAlIAIgBARIwCgxhbGxvY2F0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIqoCChlTZXR0bGVtZW50RXhlY3V0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgEEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYBCABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBSABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgGIAEoCRIVCg1pc19zdWNjZXNzZnVsGAcgASgIEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIAIgBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSKKAQoPVXNlclNlcnZpY2VJbmZvEhAKCHBhcnR5X2lkGAEgASgJEhgKEHVzZXJfc2VydmljZV9jaWQYAiABKAkSGwoTb3BlcmF0b3JfY29uZmlnX2NpZBgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL5AQoTU2V0dGxlbWVudEhhbmRzaGFrZRIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhEKCXBhcnR5X2lkcxgCIAMoCRI9Cg11c2VyX3NlcnZpY2VzGAMgAygLMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVzZXJTZXJ2aWNlSW5mbxIWCg5vcGVyYXRvcl9wYXJ0eRgEIAEoCRIyCgxjYXBhYmlsaXRpZXMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCDwoNX2NhcGFiaWxpdGllcyK4AQoMSGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEh0KEHJlamVjdGlvbl9yZWFzb24YAiABKAlIAIgBARISCgpzZXNzaW9uX2lkGAMgASgJEh0KFXN1cHBvcnRlZF9pbnN0cnVtZW50cxgEIAMoCRIvCgtzZXJ2ZXJfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb24iZwoJSGVhcnRiZWF0EhIKCnNlc3Npb25faWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYAyABKAQimgYKFVNlcnZlclRvQ2FudG9uTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI8Cg1oYW5kc2hha2VfYWNrGAMgASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhhbmRzaGFrZUFja0gAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJECghwcm9wb3NhbBgFIAEoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlSAASUAoXcHJlY29uZmlybWF0aW9uX3JlcXVlc3QYBiABKAsyLS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVxdWVzdEgAEkAKC2R2cF9jcmVhdGVkGAcgASgLMikuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENvbnRyYWN0Q3JlYXRlZEgAEkIKDGR2cF9hY2NlcHRlZBgIIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDb250cmFjdEFjY2VwdGVkSAASRAoRYWxsb2NhdGlvbl9zdGF0dXMYCSABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuQWxsb2NhdGlvblN0YXR1c0gAEk0KEXNldHRsZW1lbnRfc3RhdHVzGAogASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXNIABI7Cgdjb21tYW5kGAsgASgLMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kSAASNwoFcXVlcnkYDCABKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFF1ZXJ5SAASKwoHc2VudF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCQoHbWVzc2FnZSLwBQoVQ2FudG9uVG9TZXJ2ZXJNZXNzYWdlEhIKCnNlc3Npb25faWQYASABKAkSFwoPc2VxdWVuY2VfbnVtYmVyGAIgASgEEj8KCWhhbmRzaGFrZRgDIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50SGFuZHNoYWtlSAASNQoJaGVhcnRiZWF0GAQgASgLMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhlYXJ0YmVhdEgAEkkKD3ByZWNvbmZpcm1hdGlvbhgFIAEoCzIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25EZWNpc2lvbkgAEkAKDGR2cF9jcmVhdGlvbhgGIAEoCzIoLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDcmVhdGlvblJlcG9ydEgAEkQKDmR2cF9hY2NlcHRhbmNlGAcgASgLMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cEFjY2VwdGFuY2VSZXBvcnRIABI9CgphbGxvY2F0aW9uGAggASgLMicuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkFsbG9jYXRpb25SZXBvcnRIABI9CgpzZXR0bGVtZW50GAkgASgLMicuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRSZXBvcnRIABI9CghyZXNwb25zZRgKIAEoCzIpLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UmVzcG9uc2VIABIzCgVlcnJvchgLIAEoCzIiLnNpbHZhbmEuc2V0dGxlbWVudC52MS5FcnJvclJlcG9ydEgAEjUKBnN0YXR1cxgMIAEoCzIjLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TdGF0dXNVcGRhdGVIABIrCgdzZW50X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdtZXNzYWdlIqICChFEdnBDcmVhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoBBIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEiMKFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBSABKAlIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSAKIAQESLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2UigQIKE0R2cEFjY2VwdGFuY2VSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAQSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEhQKB2R2cF9jaWQYBCABKAlIAIgBARIaCg1kdnBfdXBkYXRlX2lkGAUgASgJSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgCiAEBEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfZHZwX2NpZEIQCg5fZHZwX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSLnAgoQQWxsb2NhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoBBIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEg8KB3N1Y2Nlc3MYBCABKAgSGwoOYWxsb2NhdGlvbl9jaWQYBSABKAlIAIgBARIhChRhbGxvY2F0aW9uX3VwZGF0ZV9pZBgGIAEoCUgBiAEBEhQKDGhvbGRpbmdfY2lkcxgHIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAggASgJSAKIAQESMAoMYWxsb2NhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIRCg9fYWxsb2NhdGlvbl9jaWRCFwoVX2FsbG9jYXRpb25fdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIv4CChBTZXR0bGVtZW50UmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgEEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIcCg9zZXR0bGVkX2R2cF9jaWQYBCABKAlIAIgBARIhChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCUgBiAEBEikKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBiABKAlIAogBARIVCg1hcmNoaXZlZF9jaWRzGAcgAygJEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIA4gBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEIQCg5fZXJyb3JfbWVzc2FnZSKHAgoLRXJyb3JSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAQSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USEgoKZXJyb3JfY29kZRgEIAEoCRIVCg1lcnJvcl9tZXNzYWdlGAUgASgJEi0KB2RldGFpbHMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLwoLb2NjdXJyZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9kZXRhaWxzIoYCCgxTdGF0dXNVcGRhdGUSEwoLcHJvcG9zYWxfaWQYASABKAQSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI9Cg1jdXJyZW50X3N0YWdlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZRIUCgdtZXNzYWdlGAQgASgJSACIAQESLQoHbWV0cmljcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIKCghfbWV0cmljcyLSAwoRU2V0dGxlbWVudENvbW1hbmQSSgoMY29tbWFuZF90eXBlGAEgASgOMjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kLkNvbW1hbmRUeXBlEhMKC3Byb3Bvc2FsX2lkGAIgASgEEhUKDXNldHRsZW1lbnRfaWQYAyABKAkSMAoKcGFyYW1ldGVycxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIuCgpleGVjdXRlX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLTAQoLQ29tbWFuZFR5cGUSHAoYQ09NTUFORF9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQ09NTUFORF9UWVBFX0NSRUFURV9EVlBfUFJPUE9TQUwQARIbChdDT01NQU5EX1RZUEVfQUNDRVBUX0RWUBACEhkKFUNPTU1BTkRfVFlQRV9BTExPQ0FURRADEhcKE0NPTU1BTkRfVFlQRV9TRVRUTEUQBBIXChNDT01NQU5EX1RZUEVfQ0FOQ0VMEAUSFgoSQ09NTUFORF9UWVBFX1JFVFJZEAZCDQoLX3BhcmFtZXRlcnMi3wMKD1NldHRsZW1lbnRRdWVyeRJECgpxdWVyeV90eXBlGAEgASgOMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRRdWVyeS5RdWVyeVR5cGUSFQoIcGFydHlfaWQYAiABKAlIAIgBARIYCgtjb250cmFjdF9pZBgDIAEoCUgBiAEBEhoKDWluc3RydW1lbnRfaWQYBCABKAlIAogBARIwCgpwYXJhbWV0ZXJzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBIsgBCglRdWVyeVR5cGUSGgoWUVVFUllfVFlQRV9VTlNQRUNJRklFRBAAEhsKF1FVRVJZX1RZUEVfR0VUX0hPTERJTkdTEAESHwobUVVFUllfVFlQRV9HRVRfVVNFUl9TRVJWSUNFEAISGwoXUVVFUllfVFlQRV9HRVRfQ09OVFJBQ1QQAxIkCiBRVUVSWV9UWVBFX0dFVF9BTExPQ0FUSU9OX1NUQVRVUxAEEh4KGlFVRVJZX1RZUEVfQ0hFQ0tfTElRVUlESVRZEAVCCwoJX3BhcnR5X2lkQg4KDF9jb250cmFjdF9pZEIQCg5faW5zdHJ1bWVudF9pZEINCgtfcGFyYW1ldGVycyKuAQoSU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEioKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESMAoMcmVzcG9uZGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIHCgVfZGF0YSKBAQoaR2V0UGVuZGluZ1Byb3Bvc2Fsc1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgVsaW1pdBgDIAEoDUgAiAEBQggKBl9saW1pdCJxChtHZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USQwoJcHJvcG9zYWxzGAEgAygLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USDQoFdG90YWwYAiABKA0iaAoaR2V0U2V0dGxlbWVudFN0YXR1c1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIVCg1zZXR0bGVtZW50X2lkGAIgASgJIuADChtHZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USEwoLcHJvcG9zYWxfaWQYASABKAQSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEhQKB2R2cF9jaWQYBSABKAlIAYgBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgGIAEoCUgCiAEBEiIKFWFsbG9jYXRpb25fc2VsbGVyX2NpZBgHIAEoCUgDiAEBEhwKD3NldHRsZWRfZHZwX2NpZBgIIAEoCUgEiAEBEhoKDWVycm9yX21lc3NhZ2UYCSABKAlIBYgBARIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEITChFfZHZwX3Byb3Bvc2FsX2NpZEIKCghfZHZwX2NpZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCGAoWX2FsbG9jYXRpb25fc2VsbGVyX2NpZEISChBfc2V0dGxlZF9kdnBfY2lkQhAKDl9lcnJvcl9tZXNzYWdlIpUBChxTdWJtaXRQcmVjb25maXJtYXRpb25SZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSQAoIZGVjaXNpb24YAiABKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uRGVjaXNpb24iyAcKH1VwZGF0ZVNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoBBIYChBleHBlY3RlZF92ZXJzaW9uGAMgASgEEh0KEGR2cF9wcm9wb3NhbF9jaWQYBCABKAlIAIgBARIjChZkdnBfcHJvcG9zYWxfdXBkYXRlX2lkGAUgASgJSAGIAQESFAoHZHZwX2NpZBgGIAEoCUgCiAEBEhoKDWR2cF91cGRhdGVfaWQYByABKAlIA4gBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgIIAEoCUgEiAEBEicKGmFsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkGAkgASgJSAWIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGAogASgJSAaIAQESKAobYWxsb2NhdGlvbl9zZWxsZXJfdXBkYXRlX2lkGAsgASgJSAeIAQESHAoPc2V0dGxlZF9kdnBfY2lkGAwgASgJSAiIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYDSABKAlICYgBARIpChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GA4gASgJSAqIAQESPgoJbmV3X3N0YWdlGA8gASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZUgLiAEBEhoKDWVycm9yX21lc3NhZ2UYECABKAlIDIgBARIuCghtZXRhZGF0YRgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIDYgBAUITChFfZHZwX3Byb3Bvc2FsX2NpZEIZChdfZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZEIKCghfZHZwX2NpZEIQCg5fZHZwX3VwZGF0ZV9pZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCHQobX2FsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWRCHgocX2FsbG9jYXRpb25fc2VsbGVyX3VwZGF0ZV9pZEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEIMCgpfbmV3X3N0YWdlQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YSKYAQogVXBkYXRlU2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhMKC25ld192ZXJzaW9uGAMgASgEEj0KDWN1cnJlbnRfc3RhZ2UYBCABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFN0YWdlInkKGERpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZRITCgtjb250cmFjdF9pZBgBIAEoCRITCgt0ZW1wbGF0ZV9pZBgCIAEoCRIaChJjcmVhdGVkX2V2ZW50X2Jsb2IYAyABKAkSFwoPc3luY2hyb25pemVyX2lkGAQgASgJIqsBChxTYXZlRGlzY2xvc2VkQ29udHJhY3RSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAQSQQoIY29udHJhY3QYAyABKAsyLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuRGlzY2xvc2VkQ29udHJhY3RNZXNzYWdlIkEKHVNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGAQocR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgEEhIKBW93bmVyGAMgASgJSACIAQFCCAoGX293bmVyImMKHUdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEkIKCWNvbnRyYWN0cxgBIAMoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2UqhQQKD1NldHRsZW1lbnRTdGFnZRIgChxTRVRUTEVNRU5UX1NUQUdFX1VOU1BFQ0lGSUVEEAASJgoiU0VUVExFTUVOVF9TVEFHRV9QUk9QT1NBTF9SRUNFSVZFRBABEiwKKFNFVFRMRU1FTlRfU1RBR0VfUFJFQ09ORklSTUFUSU9OX1BFTkRJTkcQAhIhCh1TRVRUTEVNRU5UX1NUQUdFX1BSRUNPTkZJUk1FRBADEioKJlNFVFRMRU1FTlRfU1RBR0VfRFZQX1BST1BPU0FMX0NSRUFUSU5HEAQSKQolU0VUVExFTUVOVF9TVEFHRV9EVlBfUFJPUE9TQUxfQ1JFQVRFRBAFEiIKHlNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVElORxAGEiEKHVNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVEVEEAcSHwobU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FUSU5HEAgSHgoaU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FURUQQCRIdChlTRVRUTEVNRU5UX1NUQUdFX1NFVFRMSU5HEAoSHAoYU0VUVExFTUVOVF9TVEFHRV9TRVRUTEVEEAsSGwoXU0VUVExFTUVOVF9TVEFHRV9GQUlMRUQQDBIeChpTRVRUTEVNRU5UX1NUQUdFX0NBTkNFTExFRBANKo0BChdQcmVjb25maXJtYXRpb25SZXNwb25zZRIoCiRQUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfVU5TUEVDSUZJRUQQABIjCh9QUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfQUNDRVBUEAESIwofUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX1JFSkVDVBACKm0KCVBhcnR5Um9sZRIaChZQQVJUWV9ST0xFX1VOU1BFQ0lGSUVEEAASFAoQUEFSVFlfUk9MRV9CVVlFUhABEhUKEVBBUlRZX1JPTEVfU0VMTEVSEAISFwoTUEFSVFlfUk9MRV9PUEVSQVRPUhADMoEHChFTZXR0bGVtZW50U2VydmljZRJyChBTZXR0bGVtZW50U3RyZWFtEiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvblRvU2VydmVyTWVzc2FnZRosLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXJ2ZXJUb0NhbnRvbk1lc3NhZ2UoATABEnwKE0dldFBlbmRpbmdQcm9wb3NhbHMSMS5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0UGVuZGluZ1Byb3Bvc2Fsc1JlcXVlc3QaMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0UGVuZGluZ1Byb3Bvc2Fsc1Jlc3BvbnNlEnwKE0dldFNldHRsZW1lbnRTdGF0dXMSMS5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFN0YXR1c1JlcXVlc3QaMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFN0YXR1c1Jlc3BvbnNlEmQKFVN1Ym1pdFByZWNvbmZpcm1hdGlvbhIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TdWJtaXRQcmVjb25maXJtYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EosBChhVcGRhdGVTZXR0bGVtZW50UHJvcG9zYWwSNi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXBkYXRlU2V0dGxlbWVudFByb3Bvc2FsUmVxdWVzdBo3LnNpbHZhbmEuc2V0dGxlbWVudC52MS5VcGRhdGVTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRKCAQoVU2F2ZURpc2Nsb3NlZENvbnRyYWN0EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNhdmVEaXNjbG9zZWRDb250cmFjdFJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVzcG9uc2USggEKFUdldERpc2Nsb3NlZENvbnRyYWN0cxIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXREaXNjbG9zZWRDb250cmFjdHNSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlQjVaM2dpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87c2V0dGxlbWVudGIGcHJvdG8z", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
15
+ fileDesc("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAingEKFFNldHRsZW1lbnRJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSDgoGc3ltYm9sGAIgASgJEhAKCHJlZ2lzdHJ5GAMgASgJEhAKCHF1YW50aXR5GAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSKBBAoZU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRITCgtidXllcl9wYXJ0eRgEIAEoCRIUCgxzZWxsZXJfcGFydHkYBSABKAkSRAoPYmFzZV9pbnN0cnVtZW50GAYgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EkUKEHF1b3RlX2luc3RydW1lbnQYByABKAsyKy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEluc3RydW1lbnQSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIzCg9hbGxvY2F0ZV9iZWZvcmUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDXNldHRsZV9iZWZvcmUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9tZXRhZGF0YSKJAgoWUHJlY29uZmlybWF0aW9uUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEkIKCHByb3Bvc2FsGAMgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USGAoQcmVxdWVzdGluZ19wYXJ0eRgEIAEoCRIuCgpyZXNwb25kX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgV0ZXJtcxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIICgZfdGVybXMivwIKF1ByZWNvbmZpcm1hdGlvbkRlY2lzaW9uEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQAoIcmVzcG9uc2UYAyABKA4yLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVzcG9uc2USHQoQcmVqZWN0aW9uX3JlYXNvbhgEIAEoCUgAiAEBEjAKCmNvbmRpdGlvbnMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESEQoJc2lnbmVkX2J5GAYgASgJEi4KCmRlY2lkZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV9yZWplY3Rpb25fcmVhc29uQg0KC19jb25kaXRpb25zItgBChJEdnBDb250cmFjdENyZWF0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIYChBkdnBfcHJvcG9zYWxfY2lkGAMgASgJEh4KFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBCABKAkSFgoOcHJvcG9zZXJfcGFydHkYBSABKAkSFAoMY291bnRlcnBhcnR5GAYgASgJEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq8BChNEdnBDb250cmFjdEFjY2VwdGVkEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIVCg1kdnBfdXBkYXRlX2lkGAQgASgJEhMKC2FjY2VwdGVkX2J5GAUgASgJEi8KC2FjY2VwdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLbAgoQQWxsb2NhdGlvblN0YXR1cxITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEhAKCHBhcnR5X2lkGAQgASgJEhYKDmFsbG9jYXRpb25fY2lkGAUgASgJEhwKFGFsbG9jYXRpb25fdXBkYXRlX2lkGAYgASgJEhUKDWluc3RydW1lbnRfaWQYByABKAkSEAoIcXVhbnRpdHkYCCABKAkSFAoMaXNfYWxsb2NhdGVkGAkgASgIEhoKDWVycm9yX21lc3NhZ2UYCiABKAlIAIgBARIwCgxhbGxvY2F0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIqoCChlTZXR0bGVtZW50RXhlY3V0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYBCABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBSABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgGIAEoCRIVCg1pc19zdWNjZXNzZnVsGAcgASgIEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIAIgBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSKKAQoPVXNlclNlcnZpY2VJbmZvEhAKCHBhcnR5X2lkGAEgASgJEhgKEHVzZXJfc2VydmljZV9jaWQYAiABKAkSGwoTb3BlcmF0b3JfY29uZmlnX2NpZBgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL5AQoTU2V0dGxlbWVudEhhbmRzaGFrZRIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhEKCXBhcnR5X2lkcxgCIAMoCRI9Cg11c2VyX3NlcnZpY2VzGAMgAygLMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVzZXJTZXJ2aWNlSW5mbxIWCg5vcGVyYXRvcl9wYXJ0eRgEIAEoCRIyCgxjYXBhYmlsaXRpZXMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCDwoNX2NhcGFiaWxpdGllcyK4AQoMSGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEh0KEHJlamVjdGlvbl9yZWFzb24YAiABKAlIAIgBARISCgpzZXNzaW9uX2lkGAMgASgJEh0KFXN1cHBvcnRlZF9pbnN0cnVtZW50cxgEIAMoCRIvCgtzZXJ2ZXJfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb24iZwoJSGVhcnRiZWF0EhIKCnNlc3Npb25faWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYAyABKAQimgYKFVNlcnZlclRvQ2FudG9uTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI8Cg1oYW5kc2hha2VfYWNrGAMgASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhhbmRzaGFrZUFja0gAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJECghwcm9wb3NhbBgFIAEoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlSAASUAoXcHJlY29uZmlybWF0aW9uX3JlcXVlc3QYBiABKAsyLS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVxdWVzdEgAEkAKC2R2cF9jcmVhdGVkGAcgASgLMikuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENvbnRyYWN0Q3JlYXRlZEgAEkIKDGR2cF9hY2NlcHRlZBgIIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDb250cmFjdEFjY2VwdGVkSAASRAoRYWxsb2NhdGlvbl9zdGF0dXMYCSABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuQWxsb2NhdGlvblN0YXR1c0gAEk0KEXNldHRsZW1lbnRfc3RhdHVzGAogASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXNIABI7Cgdjb21tYW5kGAsgASgLMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kSAASNwoFcXVlcnkYDCABKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFF1ZXJ5SAASKwoHc2VudF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCQoHbWVzc2FnZSLwBQoVQ2FudG9uVG9TZXJ2ZXJNZXNzYWdlEhIKCnNlc3Npb25faWQYASABKAkSFwoPc2VxdWVuY2VfbnVtYmVyGAIgASgEEj8KCWhhbmRzaGFrZRgDIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50SGFuZHNoYWtlSAASNQoJaGVhcnRiZWF0GAQgASgLMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhlYXJ0YmVhdEgAEkkKD3ByZWNvbmZpcm1hdGlvbhgFIAEoCzIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25EZWNpc2lvbkgAEkAKDGR2cF9jcmVhdGlvbhgGIAEoCzIoLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDcmVhdGlvblJlcG9ydEgAEkQKDmR2cF9hY2NlcHRhbmNlGAcgASgLMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cEFjY2VwdGFuY2VSZXBvcnRIABI9CgphbGxvY2F0aW9uGAggASgLMicuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkFsbG9jYXRpb25SZXBvcnRIABI9CgpzZXR0bGVtZW50GAkgASgLMicuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRSZXBvcnRIABI9CghyZXNwb25zZRgKIAEoCzIpLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UmVzcG9uc2VIABIzCgVlcnJvchgLIAEoCzIiLnNpbHZhbmEuc2V0dGxlbWVudC52MS5FcnJvclJlcG9ydEgAEjUKBnN0YXR1cxgMIAEoCzIjLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TdGF0dXNVcGRhdGVIABIrCgdzZW50X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdtZXNzYWdlIqICChFEdnBDcmVhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEiMKFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBSABKAlIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSAKIAQESLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2UigQIKE0R2cEFjY2VwdGFuY2VSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEhQKB2R2cF9jaWQYBCABKAlIAIgBARIaCg1kdnBfdXBkYXRlX2lkGAUgASgJSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgCiAEBEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfZHZwX2NpZEIQCg5fZHZwX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSLnAgoQQWxsb2NhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEg8KB3N1Y2Nlc3MYBCABKAgSGwoOYWxsb2NhdGlvbl9jaWQYBSABKAlIAIgBARIhChRhbGxvY2F0aW9uX3VwZGF0ZV9pZBgGIAEoCUgBiAEBEhQKDGhvbGRpbmdfY2lkcxgHIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAggASgJSAKIAQESMAoMYWxsb2NhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIRCg9fYWxsb2NhdGlvbl9jaWRCFwoVX2FsbG9jYXRpb25fdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIv4CChBTZXR0bGVtZW50UmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIcCg9zZXR0bGVkX2R2cF9jaWQYBCABKAlIAIgBARIhChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCUgBiAEBEikKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBiABKAlIAogBARIVCg1hcmNoaXZlZF9jaWRzGAcgAygJEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIA4gBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEIQCg5fZXJyb3JfbWVzc2FnZSKHAgoLRXJyb3JSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USEgoKZXJyb3JfY29kZRgEIAEoCRIVCg1lcnJvcl9tZXNzYWdlGAUgASgJEi0KB2RldGFpbHMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLwoLb2NjdXJyZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9kZXRhaWxzIoYCCgxTdGF0dXNVcGRhdGUSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI9Cg1jdXJyZW50X3N0YWdlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZRIUCgdtZXNzYWdlGAQgASgJSACIAQESLQoHbWV0cmljcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIKCghfbWV0cmljcyLSAwoRU2V0dGxlbWVudENvbW1hbmQSSgoMY29tbWFuZF90eXBlGAEgASgOMjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kLkNvbW1hbmRUeXBlEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhUKDXNldHRsZW1lbnRfaWQYAyABKAkSMAoKcGFyYW1ldGVycxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIuCgpleGVjdXRlX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLTAQoLQ29tbWFuZFR5cGUSHAoYQ09NTUFORF9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQ09NTUFORF9UWVBFX0NSRUFURV9EVlBfUFJPUE9TQUwQARIbChdDT01NQU5EX1RZUEVfQUNDRVBUX0RWUBACEhkKFUNPTU1BTkRfVFlQRV9BTExPQ0FURRADEhcKE0NPTU1BTkRfVFlQRV9TRVRUTEUQBBIXChNDT01NQU5EX1RZUEVfQ0FOQ0VMEAUSFgoSQ09NTUFORF9UWVBFX1JFVFJZEAZCDQoLX3BhcmFtZXRlcnMi3wMKD1NldHRsZW1lbnRRdWVyeRJECgpxdWVyeV90eXBlGAEgASgOMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRRdWVyeS5RdWVyeVR5cGUSFQoIcGFydHlfaWQYAiABKAlIAIgBARIYCgtjb250cmFjdF9pZBgDIAEoCUgBiAEBEhoKDWluc3RydW1lbnRfaWQYBCABKAlIAogBARIwCgpwYXJhbWV0ZXJzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBIsgBCglRdWVyeVR5cGUSGgoWUVVFUllfVFlQRV9VTlNQRUNJRklFRBAAEhsKF1FVRVJZX1RZUEVfR0VUX0hPTERJTkdTEAESHwobUVVFUllfVFlQRV9HRVRfVVNFUl9TRVJWSUNFEAISGwoXUVVFUllfVFlQRV9HRVRfQ09OVFJBQ1QQAxIkCiBRVUVSWV9UWVBFX0dFVF9BTExPQ0FUSU9OX1NUQVRVUxAEEh4KGlFVRVJZX1RZUEVfQ0hFQ0tfTElRVUlESVRZEAVCCwoJX3BhcnR5X2lkQg4KDF9jb250cmFjdF9pZEIQCg5faW5zdHJ1bWVudF9pZEINCgtfcGFyYW1ldGVycyKuAQoSU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEioKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESMAoMcmVzcG9uZGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIHCgVfZGF0YSKBAQoaR2V0UGVuZGluZ1Byb3Bvc2Fsc1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgVsaW1pdBgDIAEoDUgAiAEBQggKBl9saW1pdCJxChtHZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USQwoJcHJvcG9zYWxzGAEgAygLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USDQoFdG90YWwYAiABKA0iaAoaR2V0U2V0dGxlbWVudFN0YXR1c1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIVCg1zZXR0bGVtZW50X2lkGAIgASgJIuADChtHZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEhQKB2R2cF9jaWQYBSABKAlIAYgBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgGIAEoCUgCiAEBEiIKFWFsbG9jYXRpb25fc2VsbGVyX2NpZBgHIAEoCUgDiAEBEhwKD3NldHRsZWRfZHZwX2NpZBgIIAEoCUgEiAEBEhoKDWVycm9yX21lc3NhZ2UYCSABKAlIBYgBARIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEITChFfZHZwX3Byb3Bvc2FsX2NpZEIKCghfZHZwX2NpZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCGAoWX2FsbG9jYXRpb25fc2VsbGVyX2NpZEISChBfc2V0dGxlZF9kdnBfY2lkQhAKDl9lcnJvcl9tZXNzYWdlIpUBChxTdWJtaXRQcmVjb25maXJtYXRpb25SZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSQAoIZGVjaXNpb24YAiABKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uRGVjaXNpb24iyAcKH1VwZGF0ZVNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAMgASgEEh0KEGR2cF9wcm9wb3NhbF9jaWQYBCABKAlIAIgBARIjChZkdnBfcHJvcG9zYWxfdXBkYXRlX2lkGAUgASgJSAGIAQESFAoHZHZwX2NpZBgGIAEoCUgCiAEBEhoKDWR2cF91cGRhdGVfaWQYByABKAlIA4gBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgIIAEoCUgEiAEBEicKGmFsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkGAkgASgJSAWIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGAogASgJSAaIAQESKAobYWxsb2NhdGlvbl9zZWxsZXJfdXBkYXRlX2lkGAsgASgJSAeIAQESHAoPc2V0dGxlZF9kdnBfY2lkGAwgASgJSAiIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYDSABKAlICYgBARIpChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GA4gASgJSAqIAQESPgoJbmV3X3N0YWdlGA8gASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZUgLiAEBEhoKDWVycm9yX21lc3NhZ2UYECABKAlIDIgBARIuCghtZXRhZGF0YRgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIDYgBAUITChFfZHZwX3Byb3Bvc2FsX2NpZEIZChdfZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZEIKCghfZHZwX2NpZEIQCg5fZHZwX3VwZGF0ZV9pZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCHQobX2FsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWRCHgocX2FsbG9jYXRpb25fc2VsbGVyX3VwZGF0ZV9pZEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEIMCgpfbmV3X3N0YWdlQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YSKYAQogVXBkYXRlU2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhMKC25ld192ZXJzaW9uGAMgASgEEj0KDWN1cnJlbnRfc3RhZ2UYBCABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFN0YWdlInkKGERpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZRITCgtjb250cmFjdF9pZBgBIAEoCRITCgt0ZW1wbGF0ZV9pZBgCIAEoCRIaChJjcmVhdGVkX2V2ZW50X2Jsb2IYAyABKAkSFwoPc3luY2hyb25pemVyX2lkGAQgASgJIqsBChxTYXZlRGlzY2xvc2VkQ29udHJhY3RSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSQQoIY29udHJhY3QYAyABKAsyLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuRGlzY2xvc2VkQ29udHJhY3RNZXNzYWdlIkEKHVNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGAQocR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhIKBW93bmVyGAMgASgJSACIAQFCCAoGX293bmVyImMKHUdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEkIKCWNvbnRyYWN0cxgBIAMoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2UiwAEKF1JlY29yZFNldHRsZW1lbnRSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSFwoPc2V0dGxlZF9kdnBfY2lkGAMgASgJEhwKFHNldHRsZW1lbnRfdXBkYXRlX2lkGAQgASgJEiQKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBSABKAkiUwoYUmVjb3JkU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIVCg1zZXR0bGVtZW50X2lkGAMgASgJKoUECg9TZXR0bGVtZW50U3RhZ2USIAocU0VUVExFTUVOVF9TVEFHRV9VTlNQRUNJRklFRBAAEiYKIlNFVFRMRU1FTlRfU1RBR0VfUFJPUE9TQUxfUkVDRUlWRUQQARIsCihTRVRUTEVNRU5UX1NUQUdFX1BSRUNPTkZJUk1BVElPTl9QRU5ESU5HEAISIQodU0VUVExFTUVOVF9TVEFHRV9QUkVDT05GSVJNRUQQAxIqCiZTRVRUTEVNRU5UX1NUQUdFX0RWUF9QUk9QT1NBTF9DUkVBVElORxAEEikKJVNFVFRMRU1FTlRfU1RBR0VfRFZQX1BST1BPU0FMX0NSRUFURUQQBRIiCh5TRVRUTEVNRU5UX1NUQUdFX0RWUF9BQ0NFUFRJTkcQBhIhCh1TRVRUTEVNRU5UX1NUQUdFX0RWUF9BQ0NFUFRFRBAHEh8KG1NFVFRMRU1FTlRfU1RBR0VfQUxMT0NBVElORxAIEh4KGlNFVFRMRU1FTlRfU1RBR0VfQUxMT0NBVEVEEAkSHQoZU0VUVExFTUVOVF9TVEFHRV9TRVRUTElORxAKEhwKGFNFVFRMRU1FTlRfU1RBR0VfU0VUVExFRBALEhsKF1NFVFRMRU1FTlRfU1RBR0VfRkFJTEVEEAwSHgoaU0VUVExFTUVOVF9TVEFHRV9DQU5DRUxMRUQQDSqNAQoXUHJlY29uZmlybWF0aW9uUmVzcG9uc2USKAokUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX1VOU1BFQ0lGSUVEEAASIwofUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX0FDQ0VQVBABEiMKH1BSRUNPTkZJUk1BVElPTl9SRVNQT05TRV9SRUpFQ1QQAiptCglQYXJ0eVJvbGUSGgoWUEFSVFlfUk9MRV9VTlNQRUNJRklFRBAAEhQKEFBBUlRZX1JPTEVfQlVZRVIQARIVChFQQVJUWV9ST0xFX1NFTExFUhACEhcKE1BBUlRZX1JPTEVfT1BFUkFUT1IQAzL2BwoRU2V0dGxlbWVudFNlcnZpY2UScgoQU2V0dGxlbWVudFN0cmVhbRIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ub1NlcnZlck1lc3NhZ2UaLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VydmVyVG9DYW50b25NZXNzYWdlKAEwARJ8ChNHZXRQZW5kaW5nUHJvcG9zYWxzEjEuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFBlbmRpbmdQcm9wb3NhbHNSZXF1ZXN0GjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFBlbmRpbmdQcm9wb3NhbHNSZXNwb25zZRJ8ChNHZXRTZXR0bGVtZW50U3RhdHVzEjEuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRTdGF0dXNSZXF1ZXN0GjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRTdGF0dXNSZXNwb25zZRJkChVTdWJtaXRQcmVjb25maXJtYXRpb24SMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU3VibWl0UHJlY29uZmlybWF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRKLAQoYVXBkYXRlU2V0dGxlbWVudFByb3Bvc2FsEjYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVwZGF0ZVNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QaNy5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXBkYXRlU2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USggEKFVNhdmVEaXNjbG9zZWRDb250cmFjdBIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TYXZlRGlzY2xvc2VkQ29udHJhY3RSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEoIBChVHZXREaXNjbG9zZWRDb250cmFjdHMSMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBo0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXREaXNjbG9zZWRDb250cmFjdHNSZXNwb25zZRJzChBSZWNvcmRTZXR0bGVtZW50Ei4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRSZXF1ZXN0Gi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRSZXNwb25zZUI1WjNnaXRodWIuY29tL1NpbHZhbmFPbmUvY2FudG9uLWFnZW50L3Byb3RvO3NldHRsZW1lbnRiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
16
16
 
17
17
  /**
18
18
  * Canton node authentication (using Canton party JWT)
@@ -104,14 +104,14 @@ export const SettlementInstrumentSchema: GenMessage<SettlementInstrument> = /*@_
104
104
  */
105
105
  export type SettlementProposalMessage = Message<"silvana.settlement.v1.SettlementProposalMessage"> & {
106
106
  /**
107
- * Database proposal ID
107
+ * UUID v7 - single ID used everywhere
108
108
  *
109
- * @generated from field: uint64 proposal_id = 1;
109
+ * @generated from field: string proposal_id = 1;
110
110
  */
111
- proposalId: bigint;
111
+ proposalId: string;
112
112
 
113
113
  /**
114
- * Unique settlement identifier for Canton
114
+ * Same as proposal_id for DVP operations
115
115
  *
116
116
  * @generated from field: string settlement_id = 2;
117
117
  */
@@ -192,9 +192,11 @@ export const SettlementProposalMessageSchema: GenMessage<SettlementProposalMessa
192
192
  */
193
193
  export type PreconfirmationRequest = Message<"silvana.settlement.v1.PreconfirmationRequest"> & {
194
194
  /**
195
- * @generated from field: uint64 proposal_id = 1;
195
+ * UUID v7
196
+ *
197
+ * @generated from field: string proposal_id = 1;
196
198
  */
197
- proposalId: bigint;
199
+ proposalId: string;
198
200
 
199
201
  /**
200
202
  * @generated from field: string settlement_id = 2;
@@ -242,9 +244,11 @@ export const PreconfirmationRequestSchema: GenMessage<PreconfirmationRequest> =
242
244
  */
243
245
  export type PreconfirmationDecision = Message<"silvana.settlement.v1.PreconfirmationDecision"> & {
244
246
  /**
245
- * @generated from field: uint64 proposal_id = 1;
247
+ * UUID v7
248
+ *
249
+ * @generated from field: string proposal_id = 1;
246
250
  */
247
- proposalId: bigint;
251
+ proposalId: string;
248
252
 
249
253
  /**
250
254
  * @generated from field: string settlement_id = 2;
@@ -295,9 +299,11 @@ export const PreconfirmationDecisionSchema: GenMessage<PreconfirmationDecision>
295
299
  */
296
300
  export type DvpContractCreated = Message<"silvana.settlement.v1.DvpContractCreated"> & {
297
301
  /**
298
- * @generated from field: uint64 proposal_id = 1;
302
+ * UUID v7
303
+ *
304
+ * @generated from field: string proposal_id = 1;
299
305
  */
300
- proposalId: bigint;
306
+ proposalId: string;
301
307
 
302
308
  /**
303
309
  * @generated from field: string settlement_id = 2;
@@ -352,9 +358,11 @@ export const DvpContractCreatedSchema: GenMessage<DvpContractCreated> = /*@__PUR
352
358
  */
353
359
  export type DvpContractAccepted = Message<"silvana.settlement.v1.DvpContractAccepted"> & {
354
360
  /**
355
- * @generated from field: uint64 proposal_id = 1;
361
+ * UUID v7
362
+ *
363
+ * @generated from field: string proposal_id = 1;
356
364
  */
357
- proposalId: bigint;
365
+ proposalId: string;
358
366
 
359
367
  /**
360
368
  * @generated from field: string settlement_id = 2;
@@ -402,9 +410,11 @@ export const DvpContractAcceptedSchema: GenMessage<DvpContractAccepted> = /*@__P
402
410
  */
403
411
  export type AllocationStatus = Message<"silvana.settlement.v1.AllocationStatus"> & {
404
412
  /**
405
- * @generated from field: uint64 proposal_id = 1;
413
+ * UUID v7
414
+ *
415
+ * @generated from field: string proposal_id = 1;
406
416
  */
407
- proposalId: bigint;
417
+ proposalId: string;
408
418
 
409
419
  /**
410
420
  * @generated from field: string settlement_id = 2;
@@ -477,9 +487,11 @@ export const AllocationStatusSchema: GenMessage<AllocationStatus> = /*@__PURE__*
477
487
  */
478
488
  export type SettlementExecutionStatus = Message<"silvana.settlement.v1.SettlementExecutionStatus"> & {
479
489
  /**
480
- * @generated from field: uint64 proposal_id = 1;
490
+ * UUID v7
491
+ *
492
+ * @generated from field: string proposal_id = 1;
481
493
  */
482
- proposalId: bigint;
494
+ proposalId: string;
483
495
 
484
496
  /**
485
497
  * @generated from field: string settlement_id = 2;
@@ -885,9 +897,11 @@ export const CantonToServerMessageSchema: GenMessage<CantonToServerMessage> = /*
885
897
  */
886
898
  export type DvpCreationReport = Message<"silvana.settlement.v1.DvpCreationReport"> & {
887
899
  /**
888
- * @generated from field: uint64 proposal_id = 1;
900
+ * UUID v7
901
+ *
902
+ * @generated from field: string proposal_id = 1;
889
903
  */
890
- proposalId: bigint;
904
+ proposalId: string;
891
905
 
892
906
  /**
893
907
  * @generated from field: string settlement_id = 2;
@@ -934,9 +948,11 @@ export const DvpCreationReportSchema: GenMessage<DvpCreationReport> = /*@__PURE_
934
948
  */
935
949
  export type DvpAcceptanceReport = Message<"silvana.settlement.v1.DvpAcceptanceReport"> & {
936
950
  /**
937
- * @generated from field: uint64 proposal_id = 1;
951
+ * UUID v7
952
+ *
953
+ * @generated from field: string proposal_id = 1;
938
954
  */
939
- proposalId: bigint;
955
+ proposalId: string;
940
956
 
941
957
  /**
942
958
  * @generated from field: string settlement_id = 2;
@@ -983,9 +999,11 @@ export const DvpAcceptanceReportSchema: GenMessage<DvpAcceptanceReport> = /*@__P
983
999
  */
984
1000
  export type AllocationReport = Message<"silvana.settlement.v1.AllocationReport"> & {
985
1001
  /**
986
- * @generated from field: uint64 proposal_id = 1;
1002
+ * UUID v7
1003
+ *
1004
+ * @generated from field: string proposal_id = 1;
987
1005
  */
988
- proposalId: bigint;
1006
+ proposalId: string;
989
1007
 
990
1008
  /**
991
1009
  * @generated from field: string settlement_id = 2;
@@ -1044,9 +1062,11 @@ export const AllocationReportSchema: GenMessage<AllocationReport> = /*@__PURE__*
1044
1062
  */
1045
1063
  export type SettlementReport = Message<"silvana.settlement.v1.SettlementReport"> & {
1046
1064
  /**
1047
- * @generated from field: uint64 proposal_id = 1;
1065
+ * UUID v7
1066
+ *
1067
+ * @generated from field: string proposal_id = 1;
1048
1068
  */
1049
- proposalId: bigint;
1069
+ proposalId: string;
1050
1070
 
1051
1071
  /**
1052
1072
  * @generated from field: string settlement_id = 2;
@@ -1105,9 +1125,11 @@ export const SettlementReportSchema: GenMessage<SettlementReport> = /*@__PURE__*
1105
1125
  */
1106
1126
  export type ErrorReport = Message<"silvana.settlement.v1.ErrorReport"> & {
1107
1127
  /**
1108
- * @generated from field: uint64 proposal_id = 1;
1128
+ * UUID v7
1129
+ *
1130
+ * @generated from field: string proposal_id = 1;
1109
1131
  */
1110
- proposalId: bigint;
1132
+ proposalId: string;
1111
1133
 
1112
1134
  /**
1113
1135
  * @generated from field: string settlement_id = 2;
@@ -1154,9 +1176,11 @@ export const ErrorReportSchema: GenMessage<ErrorReport> = /*@__PURE__*/
1154
1176
  */
1155
1177
  export type StatusUpdate = Message<"silvana.settlement.v1.StatusUpdate"> & {
1156
1178
  /**
1157
- * @generated from field: uint64 proposal_id = 1;
1179
+ * UUID v7
1180
+ *
1181
+ * @generated from field: string proposal_id = 1;
1158
1182
  */
1159
- proposalId: bigint;
1183
+ proposalId: string;
1160
1184
 
1161
1185
  /**
1162
1186
  * @generated from field: string settlement_id = 2;
@@ -1205,9 +1229,11 @@ export type SettlementCommand = Message<"silvana.settlement.v1.SettlementCommand
1205
1229
  commandType: SettlementCommand_CommandType;
1206
1230
 
1207
1231
  /**
1208
- * @generated from field: uint64 proposal_id = 2;
1232
+ * UUID v7
1233
+ *
1234
+ * @generated from field: string proposal_id = 2;
1209
1235
  */
1210
- proposalId: bigint;
1236
+ proposalId: string;
1211
1237
 
1212
1238
  /**
1213
1239
  * @generated from field: string settlement_id = 3;
@@ -1470,9 +1496,11 @@ export const GetSettlementStatusRequestSchema: GenMessage<GetSettlementStatusReq
1470
1496
  */
1471
1497
  export type GetSettlementStatusResponse = Message<"silvana.settlement.v1.GetSettlementStatusResponse"> & {
1472
1498
  /**
1473
- * @generated from field: uint64 proposal_id = 1;
1499
+ * UUID v7
1500
+ *
1501
+ * @generated from field: string proposal_id = 1;
1474
1502
  */
1475
- proposalId: bigint;
1503
+ proposalId: string;
1476
1504
 
1477
1505
  /**
1478
1506
  * @generated from field: string settlement_id = 2;
@@ -1561,9 +1589,11 @@ export type UpdateSettlementProposalRequest = Message<"silvana.settlement.v1.Upd
1561
1589
  auth?: CantonNodeAuth;
1562
1590
 
1563
1591
  /**
1564
- * @generated from field: uint64 proposal_id = 2;
1592
+ * UUID v7
1593
+ *
1594
+ * @generated from field: string proposal_id = 2;
1565
1595
  */
1566
- proposalId: bigint;
1596
+ proposalId: string;
1567
1597
 
1568
1598
  /**
1569
1599
  * For optimistic locking - must match current version
@@ -1743,9 +1773,11 @@ export type SaveDisclosedContractRequest = Message<"silvana.settlement.v1.SaveDi
1743
1773
  auth?: CantonNodeAuth;
1744
1774
 
1745
1775
  /**
1746
- * @generated from field: uint64 proposal_id = 2;
1776
+ * UUID v7
1777
+ *
1778
+ * @generated from field: string proposal_id = 2;
1747
1779
  */
1748
- proposalId: bigint;
1780
+ proposalId: string;
1749
1781
 
1750
1782
  /**
1751
1783
  * @generated from field: silvana.settlement.v1.DisclosedContractMessage contract = 3;
@@ -1796,9 +1828,11 @@ export type GetDisclosedContractsRequest = Message<"silvana.settlement.v1.GetDis
1796
1828
  auth?: CantonNodeAuth;
1797
1829
 
1798
1830
  /**
1799
- * @generated from field: uint64 proposal_id = 2;
1831
+ * UUID v7
1832
+ *
1833
+ * @generated from field: string proposal_id = 2;
1800
1834
  */
1801
- proposalId: bigint;
1835
+ proposalId: string;
1802
1836
 
1803
1837
  /**
1804
1838
  * "buyer" or "seller", omit for all (operator only)
@@ -1834,6 +1868,85 @@ export type GetDisclosedContractsResponse = Message<"silvana.settlement.v1.GetDi
1834
1868
  export const GetDisclosedContractsResponseSchema: GenMessage<GetDisclosedContractsResponse> = /*@__PURE__*/
1835
1869
  messageDesc(file_proto_silvana_settlement_v1_settlement, 35);
1836
1870
 
1871
+ /**
1872
+ * Record a completed settlement request
1873
+ * Called by settlement operator after successful Dvp_Settle execution
1874
+ *
1875
+ * @generated from message silvana.settlement.v1.RecordSettlementRequest
1876
+ */
1877
+ export type RecordSettlementRequest = Message<"silvana.settlement.v1.RecordSettlementRequest"> & {
1878
+ /**
1879
+ * @generated from field: silvana.settlement.v1.CantonNodeAuth auth = 1;
1880
+ */
1881
+ auth?: CantonNodeAuth;
1882
+
1883
+ /**
1884
+ * UUID v7
1885
+ *
1886
+ * @generated from field: string proposal_id = 2;
1887
+ */
1888
+ proposalId: string;
1889
+
1890
+ /**
1891
+ * SettledDvp contract ID from Canton
1892
+ *
1893
+ * @generated from field: string settled_dvp_cid = 3;
1894
+ */
1895
+ settledDvpCid: string;
1896
+
1897
+ /**
1898
+ * Canton ledger update ID
1899
+ *
1900
+ * @generated from field: string settlement_update_id = 4;
1901
+ */
1902
+ settlementUpdateId: string;
1903
+
1904
+ /**
1905
+ * Canton ledger offset
1906
+ *
1907
+ * @generated from field: string settlement_completion_offset = 5;
1908
+ */
1909
+ settlementCompletionOffset: string;
1910
+ };
1911
+
1912
+ /**
1913
+ * Describes the message silvana.settlement.v1.RecordSettlementRequest.
1914
+ * Use `create(RecordSettlementRequestSchema)` to create a new message.
1915
+ */
1916
+ export const RecordSettlementRequestSchema: GenMessage<RecordSettlementRequest> = /*@__PURE__*/
1917
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 36);
1918
+
1919
+ /**
1920
+ * Record settlement response
1921
+ *
1922
+ * @generated from message silvana.settlement.v1.RecordSettlementResponse
1923
+ */
1924
+ export type RecordSettlementResponse = Message<"silvana.settlement.v1.RecordSettlementResponse"> & {
1925
+ /**
1926
+ * @generated from field: bool success = 1;
1927
+ */
1928
+ success: boolean;
1929
+
1930
+ /**
1931
+ * @generated from field: string message = 2;
1932
+ */
1933
+ message: string;
1934
+
1935
+ /**
1936
+ * UUID v7 - The proposal_id used as settlement ID
1937
+ *
1938
+ * @generated from field: string settlement_id = 3;
1939
+ */
1940
+ settlementId: string;
1941
+ };
1942
+
1943
+ /**
1944
+ * Describes the message silvana.settlement.v1.RecordSettlementResponse.
1945
+ * Use `create(RecordSettlementResponseSchema)` to create a new message.
1946
+ */
1947
+ export const RecordSettlementResponseSchema: GenMessage<RecordSettlementResponse> = /*@__PURE__*/
1948
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 37);
1949
+
1837
1950
  /**
1838
1951
  * DVP settlement stage enumeration
1839
1952
  *
@@ -2053,6 +2166,16 @@ export const SettlementService: GenService<{
2053
2166
  input: typeof GetDisclosedContractsRequestSchema;
2054
2167
  output: typeof GetDisclosedContractsResponseSchema;
2055
2168
  },
2169
+ /**
2170
+ * Record a completed settlement (updates proposal AND creates settlements table record)
2171
+ *
2172
+ * @generated from rpc silvana.settlement.v1.SettlementService.RecordSettlement
2173
+ */
2174
+ recordSettlement: {
2175
+ methodKind: "unary";
2176
+ input: typeof RecordSettlementRequestSchema;
2177
+ output: typeof RecordSettlementResponseSchema;
2178
+ },
2056
2179
  }> = /*@__PURE__*/
2057
2180
  serviceDesc(file_proto_silvana_settlement_v1_settlement, 0);
2058
2181
 
package/src/settlement.ts CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  type UpdateSettlementProposalResponse,
13
13
  type SaveDisclosedContractResponse,
14
14
  type GetDisclosedContractsResponse,
15
+ type RecordSettlementResponse,
15
16
  type DisclosedContractMessage,
16
17
  GetPendingProposalsRequestSchema,
17
18
  GetSettlementStatusRequestSchema,
@@ -19,6 +20,7 @@ import {
19
20
  UpdateSettlementProposalRequestSchema,
20
21
  SaveDisclosedContractRequestSchema,
21
22
  GetDisclosedContractsRequestSchema,
23
+ RecordSettlementRequestSchema,
22
24
  CantonToServerMessageSchema,
23
25
  type CantonNodeAuth,
24
26
  type PreconfirmationDecision,
@@ -140,7 +142,7 @@ export class SettlementClient {
140
142
  */
141
143
  async updateSettlementProposal(params: {
142
144
  auth: CantonNodeAuth;
143
- proposalId: bigint;
145
+ proposalId: string;
144
146
  expectedVersion: bigint;
145
147
  dvpProposalCid?: string;
146
148
  dvpProposalUpdateId?: string;
@@ -168,7 +170,7 @@ export class SettlementClient {
168
170
  */
169
171
  async saveDisclosedContract(params: {
170
172
  auth: CantonNodeAuth;
171
- proposalId: bigint;
173
+ proposalId: string;
172
174
  contract: DisclosedContractMessage;
173
175
  }): Promise<SaveDisclosedContractResponse> {
174
176
  return await this.wrapCall(async () => {
@@ -182,7 +184,7 @@ export class SettlementClient {
182
184
  */
183
185
  async getDisclosedContracts(params: {
184
186
  auth: CantonNodeAuth;
185
- proposalId: bigint;
187
+ proposalId: string;
186
188
  owner?: string;
187
189
  }): Promise<GetDisclosedContractsResponse> {
188
190
  return await this.wrapCall(async () => {
@@ -190,4 +192,21 @@ export class SettlementClient {
190
192
  return await this.client.getDisclosedContracts(request);
191
193
  }, 'getDisclosedContracts');
192
194
  }
195
+
196
+ /**
197
+ * Record a completed settlement (updates proposal AND creates settlements table record)
198
+ * Called by settlement operator after successful Dvp_Settle execution
199
+ */
200
+ async recordSettlement(params: {
201
+ auth: CantonNodeAuth;
202
+ proposalId: string;
203
+ settledDvpCid: string;
204
+ settlementUpdateId: string;
205
+ settlementCompletionOffset: string;
206
+ }): Promise<RecordSettlementResponse> {
207
+ return await this.wrapCall(async () => {
208
+ const request = create(RecordSettlementRequestSchema, params);
209
+ return await this.client.recordSettlement(request);
210
+ }, 'recordSettlement');
211
+ }
193
212
  }